fovea-contact { display:block; color:#f5f3ef; background:#040404; scroll-margin-top:24px; }
.contact {
 position:relative;
 display:grid;
 place-items:center;
 min-height:min(900px,100svh);
 overflow:hidden;
 isolation:isolate;
 padding:clamp(110px,14vh,180px) var(--gutter) clamp(92px,11vh,140px);
 background:#040404;
}
.contact-video-layer { position:absolute; z-index:-1; inset:0; overflow:hidden; pointer-events:none; background:#040404; }
.contact-video { position:absolute; inset:-2%; width:104%; height:104%; display:block; object-fit:cover; object-position:center; opacity:.3; filter:brightness(.62) saturate(.7); transform:scale(1.02); }
.contact-video-vignette { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 43%,rgb(4 4 4 / .12),rgb(4 4 4 / .52) 82%),linear-gradient(90deg,rgb(4 4 4 / .35),transparent 50%,rgb(4 4 4 / .35)); }
.contact-video-fade { position:absolute; left:0; right:0; height:clamp(130px,22vh,220px); }
.contact-video-fade--top { top:0; background:linear-gradient(to bottom,#040404 0%,rgb(4 4 4 / .8) 23%,transparent 100%); }
.contact-video-fade--bottom { bottom:0; background:linear-gradient(to top,#040404 0%,rgb(4 4 4 / .78) 25%,transparent 100%); }
.contact-content { width:min(100%,1240px); margin:auto; text-align:center; }
.contact-meta { position:absolute; top:clamp(28px,5vh,54px); left:var(--gutter); right:var(--gutter); display:flex; justify-content:space-between; gap:24px; color:rgb(255 255 255 / .58); font:500 9px/1.5 'Encode Sans Semi Expanded',sans-serif; letter-spacing:.15em; text-align:left; }
.contact-meta span:last-child { text-align:right; }
.contact h2 { max-width:1800px; margin:0 auto; color:#f7f5f1; font:500 clamp(48px,7vw,126px)/.91 'Kumbh Sans','Encode Sans Semi Expanded',sans-serif; letter-spacing:-.06em; }
.contact h2 span { display:block; }
.contact h2 span + span { margin-top:.04em; }
.contact-description { max-width:620px; margin:clamp(22px,3vh,34px) auto 0; color:rgb(245 243 239 / .72); font:400 clamp(14px,1.2vw,17px)/1.8 'Scope One',serif; }
.contact-workspace { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:clamp(30px,5vh,56px); margin:clamp(40px,6vh,72px) auto 0; text-align:left; }
.contact-workspace__label { display:flex; justify-content:space-between; gap:16px; padding-bottom:16px; color:rgb(245 243 239 / .5); border-bottom:1px solid rgb(255 255 255 / .16); font:500 9px/1.4 'Encode Sans Semi Expanded',sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.contact-services { display:grid; grid-template-columns:1fr; padding:0; margin:0; list-style:none; text-align:left; }
.contact-service { display:grid; grid-template-columns:42px minmax(0,1fr) 28px; align-items:center; gap:clamp(10px,1.3vw,20px); min-height:clamp(66px,5.2vw,82px); padding:12px 4px; border-bottom:1px solid rgb(255 255 255 / .12); transition:background .35s ease,padding .35s ease; }
.contact-service:last-child { border-bottom:1px solid rgb(255 255 255 / .16); }
.contact-service:hover { padding-inline:10px; background:linear-gradient(90deg,rgb(255 255 255 / .035),transparent 78%); }
.contact-service__number { color:rgb(245 243 239 / .42); font:400 9px/1 'Encode Sans Semi Expanded',sans-serif; letter-spacing:.08em; }
.contact-service__name { color:#f5f3ef; font:500 clamp(17px,1.65vw,24px)/1.14 'Kumbh Sans',sans-serif; letter-spacing:-.035em; text-transform:uppercase; }
.contact-service__icon { width:24px; height:24px; color:#d2b06f; justify-self:end; transition:transform .35s ease,filter .35s ease; }
.contact-service__link { grid-column:1/-1; display:grid; grid-template-columns:42px minmax(0,1fr) 28px; align-items:center; gap:clamp(10px,1.3vw,20px); color:inherit; text-decoration:none; }
.contact-service__link:focus-visible { outline:1px solid #d2b06f; outline-offset:5px; }
.contact-service--linked { cursor:pointer; }
.contact-service--linked .contact-service__name { transition:color .3s ease; }
.contact-service--linked:hover .contact-service__name { color:#d2b06f; }
.contact-service:hover .contact-service__icon { transform:scale(1.08); filter:drop-shadow(0 0 7px rgb(210 176 111 / .42)); }
.contact-form-card { width:min(100%,920px); margin:0 auto; padding:clamp(22px,3vw,38px); border:1px solid rgb(255 255 255 / .12); border-radius:16px; background:linear-gradient(145deg,rgb(255 255 255 / .065),rgb(255 255 255 / .025) 58%,rgb(255 255 255 / .04)); -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); box-shadow:inset 0 1px 0 rgb(255 255 255 / .08),0 24px 70px rgb(0 0 0 / .2); }
.contact-form-card__heading { margin-bottom:24px; }
.contact-form-card__heading > span { color:#f5f3ef; font:500 clamp(22px,2vw,30px)/1.1 'Kumbh Sans',sans-serif; letter-spacing:-.035em; }
.contact-form-card__heading p { margin:9px 0 0; color:rgb(245 243 239 / .58); font:400 13px/1.65 'Scope One',serif; }
.contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; width:100%; margin:0; text-align:left; }
.contact-field { display:grid; gap:7px; color:rgb(245 243 239 / .72); font:400 9px/1.4 'Encode Sans Semi Expanded',sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.contact-field--wide { grid-column:1/-1; }
.contact-field input,.contact-field select,.contact-field textarea { width:100%; min-height:45px; padding:11px 13px; border:1px solid rgb(255 255 255 / .16); border-radius:3px; outline:none; color:#f7f5f1; background:rgb(255 255 255 / .035); font:400 13px/1.5 'Scope One',serif; letter-spacing:normal; text-transform:none; transition:border-color .25s,background .25s; }
.contact-field textarea { min-height:86px; resize:vertical; }
.contact-field select:invalid { color:rgb(245 243 239 / .55); }
.contact-field select option { color:#111; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { border-color:rgb(255 255 255 / .52); background:rgb(255 255 255 / .07); }
.contact-consent { grid-column:1/-1; display:flex; align-items:flex-start; gap:9px; color:rgb(245 243 239 / .62); font:400 11px/1.6 'Scope One',serif; cursor:pointer; }
.contact-turnstile { grid-column:1/-1; min-height:65px; }
.contact-consent input { flex:0 0 auto; width:14px; height:14px; margin:2px 0 0; accent-color:#d2b06f; }
.contact-field :focus-visible { outline:1px solid transparent; }
.contact-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.contact-form__submit { justify-self:start; min-width:190px; }
.contact-form__submit:disabled { cursor:not-allowed; opacity:.48; transform:none; }
.contact-form__status { align-self:center; min-height:1.5em; margin:0; color:rgb(245 243 239 / .64); font:400 11px/1.5 'Scope One',serif; }
.contact-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:14px; margin-top:clamp(28px,4vh,42px); }
.contact-button { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:52px; padding:0 22px; overflow:hidden; border-radius:4px; font:500 10px/1.2 'Kumbh Sans',sans-serif; letter-spacing:.1em; text-decoration:none; transition:background .3s,border-color .3s,color .3s,box-shadow .5s,transform .3s; }
.contact-button:hover { transform:translateY(-2px); }
.contact-button:focus-visible { outline:1px solid #fff; outline-offset:5px; }
.contact-button--glass { color:#f7f5f1; border:1px solid rgb(255 255 255 / .2); background:rgb(255 255 255 / .035); -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px); box-shadow:inset 0 1px 0 rgb(255 255 255 / .22),0 8px 32px rgb(0 0 0 / .24); }
.contact-button--glass::before { content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; background:linear-gradient(180deg,rgb(255 255 255 / .46),rgb(255 255 255 / .12) 28%,transparent 50%,rgb(255 255 255 / .1) 74%,rgb(255 255 255 / .36)); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.contact-button--glass:hover { background:rgb(255 255 255 / .11); border-color:rgb(255 255 255 / .38); box-shadow:inset 0 1px 0 rgb(255 255 255 / .26),0 10px 38px rgb(0 0 0 / .34); }
.contact-button--solid { color:#111; border:1px solid rgb(255 255 255 / .9); background:#f3f1ed; }
.contact-button--solid:hover { background:#fff; box-shadow:0 0 22px rgb(255 255 255 / .14); }
.contact-button-arrow { font:400 18px/1 'Scope One',serif; letter-spacing:0; }
.contact-location { margin:clamp(28px,5vh,56px) 0 0; color:rgb(245 243 239 / .48); font:400 9px/1.5 'Encode Sans Semi Expanded',sans-serif; letter-spacing:.12em; text-transform:uppercase; }
@media(max-width:700px) {
 .contact { min-height:min(760px,94svh); padding:120px var(--gutter) 96px; }
 .contact-meta { top:max(22px,env(safe-area-inset-top)); font-size:8px; letter-spacing:.1em; }
 .contact-meta span:last-child { max-width:48%; }
 .contact h2 { font-size:clamp(42px,11vw,78px); line-height:.94; letter-spacing:-.055em; }
 .contact-description { max-width:500px; font-size:14px; }
 .contact-workspace { grid-template-columns:1fr; gap:28px; margin-top:34px; }
 .contact-workspace__label { font-size:8px; }
 .contact-service { grid-template-columns:32px minmax(0,1fr) 26px; gap:10px; min-height:64px; padding:11px 2px; }
 .contact-service:hover { padding-inline:6px; }
 .contact-service__number { font-size:8px; }
 .contact-service__name { font-size:clamp(16px,4.7vw,22px); line-height:1.16; letter-spacing:-.035em; }
 .contact-service__icon { width:23px; height:23px; }
 .contact-service__link { grid-template-columns:32px minmax(0,1fr) 26px; gap:10px; }
 .contact-form-card { padding:22px 18px; border-radius:13px; }
 .contact-form-card__heading { margin-bottom:20px; }
 .contact-form { grid-template-columns:1fr; gap:12px; }
 .contact-field--wide { grid-column:auto; }
 .contact-form__submit { justify-self:stretch; }
 .contact-form__status { min-height:0; }
 .contact-actions { gap:10px; }
 .contact-button { min-height:48px; gap:14px; padding:0 14px; font-size:9px; letter-spacing:.07em; }
 .contact-location { line-height:1.8; }
}
@media(min-width:701px) and (max-width:900px) {
 .contact-workspace { gap:32px; }
 .contact-workspace__services { max-width:100%; }
}
@media(max-width:380px) {
 .contact h2 { font-size:clamp(36px,10.5vw,46px); }
 .contact-button { padding:0 11px; font-size:8px; }
}
@media(prefers-reduced-motion:reduce) { .contact-button,.contact-field input,.contact-field select,.contact-field textarea { transition:none; } }
