/* Контакты «Мегатираж» — navy / gold / cream. */
.contact-page{background:var(--paper)}
.contact-page h1,.contact-page h2,.contact-page h3{margin:0;color:var(--navy);font-family:var(--serif);line-height:1.08;text-wrap:balance}
.contact-page p{margin:0;color:var(--muted)}
.contact-section{padding:88px 0}

/* Hero */
.contact-hero{position:relative;padding:32px 0 0;color:#fff;background:var(--navy-deep);overflow:hidden}
.contact-hero::before{content:"";position:absolute;inset:22px;border:1px solid rgba(217,189,141,.14);pointer-events:none}
.contact-breadcrumbs{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin-bottom:28px;color:rgba(255,255,255,.58);font:500 10px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.contact-breadcrumbs a{text-decoration:none}.contact-breadcrumbs a:hover{color:var(--gold-soft)}
.contact-breadcrumbs span[aria-current]{color:#fff}
.contact-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);gap:72px;align-items:center;padding-bottom:62px}
.contact-hero .mt-kicker{color:var(--gold-soft)}
.contact-hero h1{max-width:720px;margin:14px 0 22px;color:#fff;font-size:clamp(42px,5.2vw,68px);letter-spacing:-.035em}
.contact-hero__copy>p{max-width:59ch;color:#D8DEEC;font-size:16px;line-height:1.75}
.contact-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.contact-hero__scheme{position:relative;padding:28px 30px 24px;border:1px solid rgba(255,255,255,.18);background:var(--navy);overflow:hidden}
.contact-hero__scheme::before{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.1);pointer-events:none}
.contact-hero__scheme-label{position:relative;z-index:1;color:var(--gold-soft);font:600 9px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.contact-hero__scheme svg{position:relative;z-index:1;display:block;width:100%;height:auto;margin-top:8px}
.contact-hero__scheme rect{fill:var(--navy-deep);stroke:var(--gold-soft);stroke-width:1.4;rx:12}
.contact-hero__scheme path:not(.contact-route),.contact-hero__scheme circle{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-hero__scheme .contact-route{fill:none;stroke:rgba(217,189,141,.58);stroke-width:1.5;stroke-dasharray:6 6}
.contact-hero__scheme text{fill:#fff;font:600 10px var(--mono);text-anchor:middle;letter-spacing:.05em}
.contact-hero__scheme>p{position:relative;z-index:1;max-width:47ch;margin-top:-6px;color:rgba(255,255,255,.58);font-size:12px;line-height:1.6}
.contact-rail{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.16);border-bottom:0}
.contact-rail>a,.contact-rail>div{display:flex;min-height:124px;flex-direction:column;justify-content:center;padding:22px 24px;color:inherit;background:var(--navy);border-right:1px solid rgba(255,255,255,.16);text-decoration:none;transition:background-color .2s ease}
.contact-rail>*:last-child{border-right:0}
.contact-rail>a:hover{background:var(--navy-soft)}
.contact-rail span{margin-bottom:6px;color:var(--gold-soft);font:600 9px/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase}
.contact-rail strong{color:#fff;font:700 21px/1.2 var(--serif)}
.contact-rail small{margin-top:7px;color:rgba(255,255,255,.54);font:500 10px/1.45 var(--mono)}

/* Shared header */
.contact-head{display:flex;align-items:flex-end;justify-content:space-between;gap:52px;margin-bottom:42px}
.contact-head>div{max-width:740px}
.contact-head h2,.contact-office h2,.contact-form-card h2,.contact-brief h2{margin-top:11px;font-size:clamp(34px,4.1vw,52px);letter-spacing:-.025em}
.contact-head>p{max-width:52ch;font-size:14px;line-height:1.7}
.contact-head--light h2{color:#fff}.contact-head--light .mt-kicker{color:var(--gold-soft)}

/* Main request form */
.contact-request{background:var(--cream);border-bottom:1px solid var(--line)}
.contact-request__grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(330px,.72fr);gap:20px;align-items:start}
.contact-form-card{padding:42px 44px;background:var(--white);border:1px solid var(--line);box-shadow:0 18px 70px rgba(15,27,61,.07)}
.contact-form-card__head{max-width:700px;margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.contact-form-card__head>p{margin-top:12px;font-size:13.5px;line-height:1.65}
.contact-fields{display:grid;gap:15px;margin-bottom:15px}
.contact-fields--two{grid-template-columns:1fr 1fr}
.contact-fields--compact{grid-template-columns:.72fr 1.28fr}
.contact-fields label{display:grid;gap:7px}
.contact-fields label>span{color:var(--muted);font:600 10px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase}
.contact-fields input,.contact-fields select,.contact-fields textarea{width:100%;min-height:52px;padding:13px 14px;color:var(--ink);background:#fff;border:1px solid #CFCAC0;border-radius:4px;font:500 15px/1.4 var(--body);transition:border-color .18s ease,box-shadow .18s ease}
.contact-fields textarea{min-height:116px;resize:vertical;line-height:1.55}
.contact-fields select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23886A3B' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.contact-fields input:focus,.contact-fields select:focus,.contact-fields textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,146,84,.13)}
.contact-fields input::placeholder,.contact-fields textarea::placeholder{color:#9298A5}
.contact-form-card__footer{display:flex;align-items:center;gap:22px;margin-top:23px}
.contact-form-card__footer>p{max-width:39ch;font-size:10.5px;line-height:1.55}
.contact-form-card__footer a{color:var(--gold-dark)}
.contact-form-card button[disabled]{opacity:.58;cursor:wait;transform:none}
.contact-status{min-height:22px;margin-top:15px;padding:0;color:var(--muted);font:600 12px/1.5 var(--mono)}
.contact-status:not(:empty){padding:12px 14px;border-left:3px solid var(--gold);background:var(--cream)}
.contact-status--success{color:#345E40!important;border-left-color:#4F7A5A!important}.contact-status--error{color:#8C3E34!important;border-left-color:#C85B4A!important}.contact-status--progress{color:var(--navy)!important}

.contact-brief{position:sticky;top:100px;padding:34px 31px;color:#fff;background:var(--navy);border:1px solid var(--navy)}
.contact-brief .mt-kicker{color:var(--gold-soft)}
.contact-brief h2{color:#fff;font-size:36px}
.contact-brief__list{display:grid;margin-top:30px;border-top:1px solid rgba(255,255,255,.16)}
.contact-brief__list>div{display:grid;grid-template-columns:28px 1fr;gap:13px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.contact-brief__list b{color:var(--gold-soft);font:700 10px/1.5 var(--mono)}
.contact-brief__list span{color:#C8D0E0;font-size:12.5px;line-height:1.55}.contact-brief__list strong{display:block;color:#fff;font-size:13.5px}
.contact-brief blockquote{margin:26px 0 0;padding:19px 20px;color:var(--navy);background:var(--gold-bg);border-left:3px solid var(--gold);font:600 16px/1.5 var(--serif)}

/* Office */
.contact-office{background:var(--white)}
.contact-office__grid{display:grid;grid-template-columns:minmax(440px,1.05fr) minmax(0,.95fr);gap:72px;align-items:center}
.contact-office__visual{border:1px solid var(--line);background:var(--navy-deep)}
.contact-office__visual svg{display:block;width:100%;height:auto}
.contact-office__visual .contact-map-line{fill:none;stroke:rgba(217,189,141,.5);stroke-width:1.5;stroke-dasharray:7 7}
.contact-office__visual>svg>circle{fill:var(--gold);stroke:var(--gold-soft);stroke-width:2}
.contact-pin{fill:var(--gold);stroke:var(--gold-soft);stroke-width:1.5}.contact-pin-core{fill:var(--navy-deep)}
.contact-office__visual text{fill:#fff;font:600 10px var(--mono);text-anchor:middle;letter-spacing:.1em}
.contact-office__address{margin-top:17px!important;color:var(--navy)!important;font:600 21px/1.4 var(--serif)}
.contact-office__copy>p:not(.contact-office__address){margin-top:15px;font-size:14px;line-height:1.75}
.contact-office dl{display:grid;margin:30px 0 0;border-top:1px solid var(--line)}
.contact-office dl>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}
.contact-office dt{color:var(--gold-dark);font:700 9px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.contact-office dd{margin:0;color:var(--navy);font-size:13.5px}.contact-office dd a{text-decoration:none}.contact-office dd a:hover{color:var(--gold-dark)}
.contact-map-link{display:inline-flex;align-items:center;gap:10px;margin-top:24px;color:var(--navy);font:700 10px/1.4 var(--mono);letter-spacing:.05em;text-decoration:none;text-transform:uppercase}
.contact-map-link span{color:var(--gold-dark);font-size:17px;transition:transform .2s ease}.contact-map-link:hover span{transform:translateX(4px)}

/* Response */
.contact-response{background:var(--paper);border-block:1px solid var(--line)}
.contact-response__grid{counter-reset:response;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff}
.contact-response article{position:relative;min-height:260px;padding:29px 27px;border-right:1px solid var(--line)}
.contact-response article:last-child{border-right:0}
.contact-response article>span{display:block;margin-bottom:55px;color:var(--gold-dark);font:700 10px/1 var(--mono);letter-spacing:.12em}
.contact-response article h3{margin-bottom:11px;font-size:24px}.contact-response article p{font-size:13.5px;line-height:1.7}

/* FAQ */
.contact-faq{background:var(--navy-deep)}
.contact-faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.contact-faq details{border:1px solid rgba(255,255,255,.18);background:var(--navy);overflow:hidden;transition:border-color .2s ease}
.contact-faq details:hover,.contact-faq details[open]{border-color:var(--gold)}
.contact-faq summary{display:flex;align-items:flex-start;gap:14px;padding:20px 22px;color:#fff;list-style:none;font:600 18px/1.4 var(--serif);cursor:pointer}
.contact-faq summary::-webkit-details-marker{display:none}
.contact-faq summary::after{content:"+";margin-left:auto;color:var(--gold-soft);font:400 22px/1 var(--body)}
.contact-faq details[open] summary::after{content:"–"}
.contact-faq details>div{padding:0 22px 21px}.contact-faq details p{color:#C8D0E0;font-size:13.5px;line-height:1.75}

/* Final email CTA */
.contact-final{position:relative;padding:66px 0;color:#fff;background:var(--navy);border-top:1px solid rgba(217,189,141,.28);overflow:hidden}
.contact-final::after{content:"";position:absolute;right:7%;top:-100px;width:240px;height:240px;border:1px solid rgba(217,189,141,.22);border-radius:50%}
.contact-final__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.contact-final .mt-kicker{color:var(--gold-soft)}
.contact-final h2{max-width:720px;margin:10px 0;color:#fff;font-size:clamp(32px,4vw,48px)}
.contact-final p{max-width:65ch;color:#D8DEEC;font-size:14px;line-height:1.7}

@keyframes contactHeroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.contact-hero__copy,.contact-hero__scheme{animation:contactHeroIn .65s ease-out both}.contact-hero__scheme{animation-delay:.12s}
@supports (animation-timeline:view()){
  @keyframes contactReveal{from{opacity:.25;transform:translateY(26px)}to{opacity:1;transform:none}}
  [data-contact-reveal]{animation:contactReveal linear both;animation-timeline:view();animation-range:entry 8% cover 24%}
}

@media (max-width:1060px){
  .contact-hero__grid{grid-template-columns:1fr;gap:42px}.contact-hero__copy{max-width:760px}
  .contact-request__grid{grid-template-columns:1fr}.contact-brief{position:static}
  .contact-office__grid{grid-template-columns:1fr 1fr;gap:42px}
}
@media (max-width:780px){
  .contact-section{padding:68px 0}.contact-rail{grid-template-columns:repeat(2,1fr)}
  .contact-rail>*:nth-child(2){border-right:0}.contact-rail>*:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}
  .contact-head{align-items:flex-start;flex-direction:column;gap:18px}
  .contact-office__grid{grid-template-columns:1fr}.contact-office__visual{order:2}
  .contact-response__grid{grid-template-columns:1fr}.contact-response article{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.contact-response article:last-child{border-bottom:0}
  .contact-response article>span{margin-bottom:30px}
  .contact-faq__grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .contact-page h1,.contact-page h2,.contact-page h3{text-wrap:wrap;overflow-wrap:break-word}
  .contact-hero{padding-top:22px}.contact-hero::before{inset:10px}.contact-breadcrumbs{margin-bottom:12px}
  .contact-hero__grid{padding-bottom:42px}.contact-hero h1{font-size:clamp(36px,11vw,46px)}
  .contact-hero__actions{display:grid}.contact-hero__actions .mt-btn{width:100%}
  .contact-hero__scheme{padding:22px 16px 20px}.contact-hero__scheme>p{margin-top:0}
  .contact-rail{grid-template-columns:1fr}.contact-rail>*{min-height:100px;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.16)}.contact-rail>*:last-child{border-bottom:0}
  .contact-section{padding:54px 0}.contact-head h2,.contact-office h2,.contact-form-card h2{font-size:34px}
  .contact-form-card{padding:30px 20px}.contact-fields--two,.contact-fields--compact{grid-template-columns:1fr}
  .contact-form-card__footer{align-items:stretch;flex-direction:column}.contact-form-card__footer .mt-btn{width:100%}
  .contact-brief{padding:29px 22px}.contact-brief h2{font-size:32px}
  .contact-office dl>div{grid-template-columns:1fr;gap:5px}
  .contact-faq summary{padding:18px 16px;font-size:17px}.contact-faq details>div{padding:0 16px 18px}
  .contact-final__inner{grid-template-columns:1fr}.contact-final__inner .mt-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.contact-page *,.contact-page *::before,.contact-page *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
