/* Approved Veil composition. Typography is anchored to the viewport, not image crop. */
.hero.hero--poster{min-height:720px;height:100svh}
.hero--poster .hero-picture{inset:0;width:100%;height:100%}
.hero--poster .hero-picture img{width:100%;height:100%;object-fit:cover;object-position:left center;transform:none}
.hero-veil{position:absolute;z-index:3;right:4.5%;top:20%;width:49%;color:#fff2df;background:#34251d5c;border:1px solid #ffead51c;box-shadow:0 20px 70px #2d160c18}
.hero-veil-inner{position:relative;padding:42px 48px 38px 36px}
.hero.hero--poster .hero-veil h1{position:static;inset:auto;width:auto;height:auto;transform:none;margin:0;font-weight:400;text-align:left}
.hero.hero--poster .hero-veil .veil-name{position:static;display:block;white-space:nowrap;font-size:8.6vw;line-height:1.04;letter-spacing:-.04em;opacity:.84}
.hero.hero--poster .hero-veil .veil-number{position:static;display:block;font-size:10vw;line-height:1;margin-top:15px;color:#f58d61;font-variant-numeric:lining-nums}
.veil-caption{font:10px/1.6 var(--font-ui);letter-spacing:.05em;margin:24px 0 0}
.veil-rule{position:absolute;right:18px;top:42px;bottom:40px;width:2px;background:#f58d61;transform-origin:top}
.veil-underline{display:block;width:60%;height:1px;background:#f58d61;margin-top:24px;transform-origin:left}
.veil-name{animation:veil-arrive 750ms cubic-bezier(.16,1,.3,1) both}
.veil-number,.veil-caption{animation:veil-arrive 750ms 130ms cubic-bezier(.16,1,.3,1) both}
.veil-rule{animation:veil-rule 700ms 100ms cubic-bezier(.16,1,.3,1) both}
.veil-underline{animation:veil-line 650ms 230ms cubic-bezier(.16,1,.3,1) both}
@keyframes veil-arrive{from{opacity:0;filter:blur(5px);transform:translateY(8px)}to{filter:blur(0);transform:translateY(0)}}
@keyframes veil-rule{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes veil-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:700px){
 .hero.hero--poster{min-height:740px}
 .hero--poster .hero-picture img{width:100%;object-position:center}
 .hero-veil{top:15%;right:5%;width:85%}
 .hero-veil-inner{padding:24px}
 .hero.hero--poster .hero-veil .veil-name{font-size:15vw}
 .hero.hero--poster .hero-veil .veil-number{font-size:22vw;margin-top:8px}
 .veil-caption{font-size:9px;margin-top:16px}
 .veil-rule{right:12px;top:24px;bottom:24px}
 .veil-underline{margin-top:16px}
}
@media(min-width:701px) and (max-height:760px){.hero-veil{top:16%}.hero-veil-inner{padding-top:24px;padding-bottom:24px}.veil-number{font-size:9vw;margin-top:0}.veil-caption{margin-top:12px}.veil-underline{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.hero-veil *{animation:none!important;filter:none!important}}
.contact-photo{position:absolute;inset:0}
.gallery-stage,[data-lots]{touch-action:pan-y}
.compare-rule{touch-action:none}
.contact-photo img{width:100%;height:100%;object-fit:cover;object-position:66% center}
@media(max-width:700px){
 .contact-scene.section{display:block;padding:0 0 55px}
 .contact-photo{position:relative;display:block;height:auto;aspect-ratio:3/4}
 .contact-photo img{display:block;object-position:center}
 .contact-scene .contact-copy{padding:36px 24px 0}
 .project-form input:not([type=radio],[type=checkbox]),.project-form textarea{font-size:16px}
 .black-atlas-lead-contact__options label{min-height:44px}
 #lead-dialog [data-selection-card] .plan-compare{height:170px}
 #lead-dialog [data-selection-card] .plan-compare img{height:100%}
 #lead-dialog [data-selection-card] h3{font-size:28px;margin:12px 0}
 #lead-dialog [data-selection-card] p{margin:8px 0}
 #lead-dialog .lead-layout{display:flex;flex-direction:column;gap:20px}
 #lead-dialog h2{font-size:32px;margin-bottom:20px}
 dialog{overscroll-behavior:contain;scroll-padding-bottom:24px}
}
