/* Responsive composition within the approved photographic identity. */
.hero{background:#151718;isolation:isolate}
.hero-media{position:absolute;inset:0;display:block;overflow:hidden;z-index:0}
.hero-photo{position:absolute;right:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.hero-title,.hero-link{z-index:2}
.hero-title h1{letter-spacing:-.04em}
.section{padding-block:clamp(64px,7.5vw,112px)}
.section-head{align-items:start;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,80px)}
.section-head p{padding-top:8px;max-width:36ch}
#atlas>.section-head{display:block;margin-bottom:32px}
.atlas-selection-intro{margin:0 0 16px;font-size:14px;line-height:1.6;color:var(--muted);max-width:60ch}
.reviews{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(40px,8vw,130px)}
.review-row{margin:0;padding:28px 0;border-top:1px solid var(--muted)}
.review-row:first-child{padding-top:0;border-top:0}
.review-text{font-size:clamp(18px,1.6vw,24px);line-height:1.55;max-width:52ch;overflow-wrap:anywhere}
.review-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px;font-size:14px;color:var(--muted)}
.review-author{color:var(--ink)}
.review-source{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.reviews{grid-template-columns:1fr;gap:32px}}
@media(max-width:760px){.mast nav a[data-reviews-link]:not([hidden]){display:inline-flex;align-items:center;min-height:44px}.mast nav{gap:12px}}
.hero-link{gap:0;justify-content:center;text-align:center;width:max-content;max-width:calc(100% - 2 * var(--pad));padding:18px 28px;line-height:1.4;border-radius:0;white-space:normal}
@media(min-width:761px){.hero-link{min-width:0!important;min-height:56px;bottom:clamp(40px,5vw,72px)}}
@media(max-width:760px){.hero .hero-link{width:auto;justify-content:center}}
.atlas-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.description-column{max-width:540px;padding-top:4px}
.closer{grid-template-columns:1.15fr 1fr;align-items:center;background:#1b1d1e}
.closer-photo{min-height:0;overflow:visible}
.closer-photo img{height:auto;aspect-ratio:1.5;object-fit:contain}
.closer-copy{padding-block:clamp(44px,5vw,80px)}
.closer-copy p{max-width:40ch}
.questions,.contact{grid-template-columns:1fr 1.2fr;gap:clamp(40px,8vw,130px)}
.contact form{max-width:740px;width:100%;justify-self:end;min-width:0}
.contact-intro .small{margin-top:24px}
.summary-heading{align-items:start;flex-wrap:wrap;gap:8px 24px;margin-bottom:10px}
.summary-heading button{min-height:32px;text-align:left;padding:0}
#summary{min-height:128px;height:128px;margin-bottom:12px}
.footer{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;padding-block:64px}
.mast nav a{display:inline-flex;align-items:center;min-height:44px}
.footer-info a{display:flex;align-items:center;min-height:44px}
.footer>div{min-width:0}
.footer>div:first-child{container-type:inline-size}
/* Fit the configured name to its column, not the viewport. Long names retain runtime wrapping. */
.footer .footer-logo{font-size:clamp(44px,20cqi,180px);letter-spacing:-.04em}
/* Keep selection feedback a single group; the form remains the primary task. */
/* Reserve two caption lines for hover feedback; longer labels expand without clipping. */
.region-status{min-height:0;min-block-size:3.1em;line-height:1.55;margin:12px 0 4px}
.region-actions{gap:0 24px;margin:0 0 12px}
.region-chosen{margin-top:12px}
.region-evidence{margin-top:8px}
.region-evidence summary{width:auto;height:auto;min-height:36px;display:flex;gap:8px;font-size:12px;color:var(--muted)}
.region-evidence summary::after{content:'О выбранной области'}
.region-evidence summary svg{width:20px;height:20px}
.region-limit{margin-top:8px;max-width:65ch}
@media(min-width:1101px){
 .hero{height:clamp(640px,52vw,1100px);min-height:0;max-height:none}
 .hero-media{inset:0;width:100%}
 .hero-photo{width:100%;height:100%;top:0;object-fit:cover;object-position:center;transform:none;animation:none;mask-image:none}
 .hero-media:after,.hero-media:before{content:none}
 .hero-title{padding-top:clamp(48px,5vh,72px)}
 .hero h1{font-size:clamp(64px,5.6vw,96px);max-width:12ch;line-height:1.03}
 .hero-title p{max-width:29ch;font-size:16px;margin-top:28px}
 .hero-link{bottom:42px;min-width:250px;justify-content:center}
 .quick{grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);padding-block:40px}
}
@media(min-width:761px) and (max-width:1100px){
 .hero{height:820px;min-height:0;max-height:none}
 .hero-media{left:0;width:100%}
 .hero-photo{object-fit:cover;object-position:center 72%}
 .hero-title{padding-top:40px}
 .hero h1{font-size:clamp(52px,6vw,66px);max-width:13ch}
 .hero-title p{font-size:16px;max-width:30ch;margin-top:22px}
 .hero-link{bottom:32px}
 .atlas-grid,.questions,.contact{grid-template-columns:1fr;gap:32px}
 .description-column{max-width:none}
 .section-head h2,.questions h2,.contact h2{font-size:44px}
 .closer{grid-template-columns:1fr}
 .closer-photo{width:100%}
 .closer-photo img{max-height:530px}
 .closer-copy{padding:40px var(--pad) 48px;display:grid;grid-template-columns:1fr 1fr;gap:20px 40px}
 .closer-copy h2{grid-row:1/4;margin:0;font-size:44px}
 .closer-copy p+p,.closer-copy .text-link{margin:0}
 .contact form{max-width:none}
 .contact-intro{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px}
 .contact-intro h2{grid-row:1/3}
 .contact-intro>p,.contact-intro .small{margin:0}
 .footer{gap:40px;align-items:start}
 .footer-info{max-width:30ch}
}
@media(max-width:760px){
 .hero{height:auto;min-height:0;max-height:none;padding-bottom:24px;display:flex;flex-direction:column;overflow:hidden}
 .hero-media{position:relative;inset:auto;order:2;height:clamp(250px,68vw,440px);width:100%;margin-top:8px}
 .hero-photo{width:100%;height:150vw;max-height:none;object-fit:fill;top:auto;bottom:-22vw;right:0}
 .hero-media:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#151718,transparent 24px,transparent calc(100% - 24px),#151718)}
 .hero-title{padding:28px var(--pad) 0;order:1}
 .hero h1{font-size:clamp(36px,10.5vw,64px);max-width:14ch;line-height:1.04}
 .hero-title p{font-size:16px;margin-top:24px;max-width:32ch}
 .hero-link{position:relative;inset:auto;order:3;margin:8px var(--pad) 0;padding:16px 20px;min-height:58px;justify-content:space-between}
 .section-head{display:block;margin-bottom:28px}
 .section-head p{padding:0;margin-top:24px}
 .atlas-grid{grid-template-columns:1fr;gap:28px}
 .description-column>p,.quick p,.answers details p{font-size:16px}
 .quick h2{font-size:32px}
 .closer{grid-template-columns:1fr}
 .closer-copy{padding:32px var(--pad) 40px}
 .questions,.contact{grid-template-columns:1fr;gap:28px}
 .contact-intro .small{margin-top:16px}
 .contact-intro>p{margin-top:20px}
 .form-pair{grid-template-columns:1fr}
 .summary-heading{gap:4px 16px}
 #summary{height:120px;min-height:120px}
 .footer{display:block;padding-block:48px}
 .footer-info{margin-top:40px;max-width:38ch}
 .region-status{margin-top:10px}
}
/* At the narrow reflow edge, keep identity and settings together above navigation. */
@media(max-width:380px){
 .mast{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:0 12px}
 .mast .wordmark{grid-column:1;grid-row:1}
 .mast>button{grid-column:2;grid-row:1}
 .mast nav{grid-column:1/-1;grid-row:2;margin-left:0;gap:16px}
}
.reveal-ready{animation:section-arrive 600ms cubic-bezier(.16,1,.3,1) both}
@keyframes section-arrive{from{transform:translateY(18px);opacity:.65}to{transform:translateY(0);opacity:1)}}
@media(prefers-reduced-motion:reduce){.reveal-ready{animation:none}}
