.contacts-page { min-width:0; overflow:hidden; color:#f4f0e7; background:radial-gradient(circle at 74% 7%,rgba(179,128,57,.13),transparent 30%),#060707; }
.contacts-page a { color:inherit; }
.contacts-screen { width:min(var(--content-width),calc(100% - 2*var(--page-gutter))); min-height:calc(100svh - 84px); margin:0 auto; padding:16px 0 20px; }
.contacts-breadcrumbs { margin:0 0 18px; }
.contacts-heading { display:flex; align-items:end; justify-content:space-between; gap:64px; margin-bottom:30px; }
.contacts-heading > div > p { margin:0 0 6px; color:#e0bd73; font:800 14px/1.2 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.contacts-heading h1 { margin:0; font:300 clamp(48px,5vw,76px)/.9 Arial,sans-serif; letter-spacing:-.06em; text-transform:uppercase; }
.contacts-heading > p { width:min(510px,42%); margin:0; color:rgba(244,240,231,.64); font:400 15px/1.5 Arial,sans-serif; }
.contacts-layout { display:grid; grid-template-columns:1.08fr .78fr 1.08fr; gap:24px; min-height:400px; }
.contacts-map,.contacts-card,.contacts-form { min-width:0; overflow:hidden; border:0; border-radius:14px; background:rgba(13,12,10,.68); box-shadow:0 24px 70px rgba(0,0,0,.2); }
.contacts-map { position:relative; }
.contacts-map iframe { display:block; width:100%; height:100%; min-height:390px; border:0; filter:grayscale(.92) sepia(.12) contrast(1.06) brightness(.72); }
.contacts-map::after { content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 0 70px rgba(0,0,0,.28); }
.contacts-map > a { position:absolute; z-index:2; right:16px; bottom:16px; display:flex; min-height:44px; align-items:center; gap:18px; padding:0 17px; border:0; border-radius:9px; color:#f2dfb6; background:rgba(8,8,7,.82); box-shadow:0 12px 32px rgba(0,0,0,.28); backdrop-filter:blur(12px); font:700 14px/1 Arial,sans-serif; text-decoration:none; }
.contacts-map > a span { color:#e0bd73; font-size:17px; }
.contacts-card { display:flex; flex-direction:column; justify-content:space-between; padding:30px 28px 26px; }
.contacts-card dl { margin:0; }
.contacts-card dl > div { padding:0 0 20px; border-bottom:0; }
.contacts-card dl > div + div { padding-top:19px; }
.contacts-card dt,.contacts-socials > p { margin:0 0 7px; color:#dcb96f; font:800 13px/1.2 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.contacts-card dd { margin:0; color:rgba(244,240,231,.78); font:400 14px/1.45 Arial,sans-serif; }
.contacts-card dd a { color:#f6f1e6; font-size:17px; font-weight:600; text-decoration:none; }
.contacts-socials { padding-top:26px; }
.contacts-socials > div { display:flex; flex-wrap:wrap; gap:7px; }
.contacts-socials a { position:relative; display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center; border:0; border-radius:50%; color:#e4c47f; background:rgba(228,196,127,.07); text-decoration:none; transition:background .2s,transform .2s; }
.contacts-socials a:hover { background:rgba(228,196,127,.16); transform:translateY(-2px); }
.contacts-socials a svg { position:absolute; top:50%; left:50%; display:block; width:18px; height:18px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; transform:translate(-50%,-50%); transform-origin:center; }
.contacts-socials a[aria-label="Telegram"] svg { width:17px; height:17px; transform:translate(-52%,-48%); }
.contacts-socials a[aria-label="Viber"] svg { transform:translate(-50%,-51%); }
.contacts-socials a[aria-label="MAX"] svg { width:19px; height:19px; transform:translate(-50%,-50%); }
.contacts-socials a[aria-label="WhatsApp"] svg { transform:translate(-50%,-51%); }
.contacts-socials a svg .avva-social-fill { fill:currentColor; stroke:none; }
.contacts-socials a > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.contacts-form { padding:30px 30px 24px; }
.contacts-form h2 { margin:0; font:300 clamp(31px,2.6vw,43px)/.95 Arial,sans-serif; letter-spacing:-.05em; text-transform:uppercase; }
.contacts-form > p { margin:12px 0 18px; color:rgba(244,240,231,.58); font:400 14px/1.5 Arial,sans-serif; }
.contacts-form form { display:grid; gap:12px; }
.contacts-form__identity,.contacts-form__dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.contacts-form label { display:grid; min-width:0; gap:5px; }
.contacts-form label > span { color:rgba(244,240,231,.68); font:700 14px/1.2 Arial,sans-serif; }
.contacts-form input[type="text"],.contacts-form input[type="tel"],.contacts-form input[type="date"] { width:100%; min-height:43px; padding:0 12px; border:1px solid rgba(222,184,107,.24); border-radius:7px; outline:0; color:#fff; color-scheme:dark; background:rgba(0,0,0,.36); font:400 14px/1 Arial,sans-serif; }
.contacts-form input:focus { border-color:#e0bd73; box-shadow:0 0 0 3px rgba(224,189,115,.09); }
.contacts-form__consent { grid-template-columns:16px 1fr; align-items:start; gap:9px!important; }
.contacts-form__consent input { width:16px; height:16px; margin:1px 0 0; accent-color:#c69e59; }
.contacts-form__consent span { color:rgba(244,240,231,.48)!important; font-weight:400!important; line-height:1.32!important; }
.contacts-form__consent a,.contacts-form__phone a { color:#e0bd73; text-decoration:none; border-bottom:1px solid rgba(224,189,115,.42); }
.contacts-form__trap { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.contacts-form button { display:flex; min-height:45px; align-items:center; justify-content:space-between; padding:0 14px 0 17px; border:1px solid #c9a45e; border-radius:7px; color:#090806; background:linear-gradient(135deg,#e1c47d,#b48643); font:900 13px/1 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.contacts-form button b { font-size:17px; font-weight:400; }
.contacts-form__phone { margin:10px 0 0!important; font-size:14px!important; }
.contacts-form__phone a { margin-left:4px; font-weight:800; white-space:nowrap; }
.contacts-form__message { margin:0 0 10px; padding:9px 11px; border-left:2px solid #e0bd73; color:#eadcbd; background:rgba(224,189,115,.08); font:400 14px/1.35 Arial,sans-serif; }
.contacts-form__message--success { border-color:#85a879; color:#dbe8d5; background:rgba(77,112,68,.16); }
.contacts-form__message--error { border-color:#b97461; color:#f1d3ca; background:rgba(120,55,39,.16); }
.contacts-legal { margin:14px 0 0; color:rgba(244,240,231,.4); font:400 13px/1.35 Arial,sans-serif; text-align:center; }
.contacts-footer { border-top:1px solid rgba(222,184,107,.22); }

@media(max-width:1180px){
  .contacts-screen { min-height:auto; padding-bottom:42px; }
  .contacts-layout { grid-template-columns:1fr 1fr; }
  .contacts-map { min-height:360px; }
  .contacts-form { grid-column:1/-1; }
  .contacts-form__identity,.contacts-form__dates { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px){
  .contacts-screen { width:min(100% - 32px,var(--content-width)); padding-top:14px; }
  .contacts-heading { align-items:flex-start; flex-direction:column; gap:14px; }
  .contacts-heading > p { width:100%; }
  .contacts-layout { grid-template-columns:1fr; }
  .contacts-map,.contacts-card,.contacts-form { grid-column:auto; }
  .contacts-map,.contacts-map iframe { min-height:340px; }
  .contacts-form__identity,.contacts-form__dates { grid-template-columns:1fr; }
  .contacts-card,.contacts-form { padding:22px 18px; }
}
