/* Contact only: retain the approved text/layout and the original landscape crop. */
.contact-hero .contact-universe { background:#030303; }
.contact-hero .contact-universe::before { background-image:linear-gradient(90deg,#030303 0%,#030303 46%,transparent 72%),url('../images/hero-cinematic/space.webp'); opacity:.035; }
.contact-hero .contact-universe::after { z-index:3; pointer-events:none; }
.contact-universe > .lp-hero-shell { position:relative; z-index:5; }
.contact-environment,
.contact-terrain,
.contact-fallback,
.contact-valley-fog { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.contact-environment { z-index:0; opacity:0; transition:opacity .5s ease; mask-image:linear-gradient(90deg,transparent 42%,#000 52%); }
.contact-universe[data-scene="ready"] .contact-environment { opacity:1; }
.contact-terrain { z-index:1; background:url('../images/bg/footerbg.webp') center/cover no-repeat;
 mask:url('../images/hero-cinematic/contact-horizon-mask.svg') center/cover no-repeat;
 -webkit-mask:url('../images/hero-cinematic/contact-horizon-mask.svg') center/cover no-repeat; }
.contact-valley-fog { z-index:2; opacity:0; transition:opacity .5s ease; }
.contact-universe[data-scene="ready"] .contact-valley-fog { opacity:1; }
.contact-fallback { display:none; z-index:0; background:url('../images/bg/footerbg.webp') center/cover no-repeat; }
.contact-universe[data-scene="fallback"] .contact-fallback { display:block; }
.contact-universe[data-scene="fallback"] .contact-environment,
.contact-universe[data-scene="fallback"] .contact-valley-fog { display:none; }
@media(prefers-reduced-motion:reduce) {
 .contact-environment,.contact-valley-fog { transition:none; }
 .contact-hero .lp-hero-scroll,.contact-hero .lp-hero-scroll * { animation:none; }
}

/* The shared shell may widen; the input and introduction measures do not. */
@media(min-width:1600px) {
 #contacts .contact-inner { width:min(100%,720px); margin-left:auto; }
 #contacts .section-head { max-width:500px; }
}

/* Final Horizon: all optical layers remain behind the approved copy. */
.contact-hero .contact-universe {background:#000;--horizon-progress:0}
.contact-universe[data-scene="ready"] .contact-environment {opacity:calc(1 - var(--horizon-progress)*.80)}
.contact-hero .contact-universe::after {background:linear-gradient(180deg,transparent 60%,#000 100%)}
.contact-hero .contact-universe[data-scene="ready"]::before {opacity:.11!important}
.contact-terrain {filter:brightness(.87);mask-image:url('../images/hero-cinematic/contact-horizon-mask.svg');-webkit-mask-image:url('../images/hero-cinematic/contact-horizon-mask.svg')}
#contacts .contact-inner {position:relative;isolation:isolate}
#contacts .contact-inner::before {content:"";position:absolute;inset:-24px;z-index:-1;pointer-events:none;border-radius:24px;background:radial-gradient(ellipse at 80% 0%,rgba(192,132,71,.025),transparent 68%)}
#contacts .contact-form .input-field:focus,#contacts #contact-topic:focus-visible {border-color:#b18452;outline:1px solid rgba(196,145,80,.35);outline-offset:2px;box-shadow:0 0 0 3px rgba(212,155,80,.035)}
#contacts .contact-form .input-field:-webkit-autofill { -webkit-text-fill-color:#f4f1ed;box-shadow:0 0 0 1000px #080a0c inset;caret-color:#f4f1ed}
#contacts #contact-form button[type="submit"]:focus-visible {outline:2px solid #dba85f;outline-offset:5px}
#contacts #contact-form button[type="submit"]:active:not(:disabled) {background:#15130f;border-color:#ad8b5d}
#contacts a:focus-visible {outline:2px solid #dba85f;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.contact-universe .contact-environment{transition:none}}
