body.contact-page{margin:0;background:#161616;color:#161616;font-family:Onest,Arial,sans-serif}
.contact-page main{overflow:clip}
.contact-page .contact-intro{grid-template-columns:1fr 1fr;gap:7vw;padding:clamp(56px,6vw,96px) max(22px,5vw) 80px;background:radial-gradient(ellipse 85% 85% at 0 20%,#343434b3,transparent 78%),radial-gradient(ellipse 70% 80% at 100% 80%,#25252599,transparent 80%),#161616}
.contact-intro .inquiry-contact-heading{padding-top:8px;min-width:0}
.contact-intro h1{font:500 clamp(48px,5.6vw,88px)/1.04 Onest,Arial,sans-serif;letter-spacing:-.06em;white-space:pre-line;margin:26px 0 30px;color:#f1f2ed}
.contact-intro .inquiry-contact-heading>p:not(.inquiry-label){font-size:18px;line-height:1.6;max-width:37ch}
.contact-intro .inquiry-text-link{font-size:18px;margin-top:22px;gap:44px}
.contact-intro .inquiry-contact-heading>.contact-based{margin-top:64px;max-width:34ch;font-size:14px;color:#bdbfba}
.contact-location-link{display:inline-flex;align-items:center;gap:18px;margin-top:18px;font-size:14px;padding-block:8px;border-bottom:1px solid #ffffff38}
.contact-intro .inquiry-form{background:#ffffff04;padding:34px;gap:22px}
.contact-intro .inquiry-form-row{grid-template-columns:1fr 1fr}
.contact-locations{background:#f1f2ed;padding:80px max(22px,5vw) 72px;scroll-margin-top:116px}
.contact-city-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-city{border:1px solid #16161620;border-radius:20px;background:#e8e8e5;padding:30px}
.contact-city:nth-child(2){background:#dededb}
.contact-city-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#62665f}
.contact-city-top>span:last-child{font-size:24px;color:#161616}
.contact-city h3{font-size:clamp(32px,3.5vw,50px);font-weight:500;letter-spacing:-.05em;line-height:1.12;margin:36px 0 48px}
.contact-city-time{border-top:1px solid #16161625;padding-top:20px;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.contact-city-time>span{font-size:13px;color:#62665f}
.contact-city-time time{font-size:28px;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.contact-location-close{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:40px;font-size:15px}
.contact-location-close>p{color:#62665f}
.contact-location-close>a{display:inline-flex;gap:32px;padding-block:12px;border-bottom:1px solid #16161660}
.contact-page :is(a,button,input,textarea,select):focus-visible{outline:2px solid #93968d;outline-offset:5px}
@media(min-width:1600px){.contact-page .contact-intro,.contact-locations{padding-inline:calc((100vw - 1440px)/2)}}
@media(max-width:1000px){
 .contact-page .contact-intro{gap:36px;grid-template-columns:1fr 1.1fr}
 .contact-intro h1{font-size:clamp(44px,5.3vw,64px)}
 .contact-intro .inquiry-form{padding:26px}
 .contact-intro .inquiry-form-row{grid-template-columns:1fr}
}
@media(max-width:700px){
 .contact-page .contact-intro{grid-template-columns:1fr;padding:40px 22px 48px;gap:32px}
 .contact-intro h1{font-size:clamp(44px,11.5vw,66px);margin:22px 0 24px}
 .contact-intro .inquiry-contact-heading>p:not(.inquiry-label){font-size:16px}
 .contact-intro .inquiry-text-link{font-size:16px;margin-top:16px}
 .contact-intro .inquiry-contact-heading>.contact-based{margin-top:28px;font-size:13px}
 .contact-intro .inquiry-form{padding:24px 20px}
 .contact-locations{padding:48px 22px;scroll-margin-top:96px}
 .contact-city-grid{grid-template-columns:1fr;gap:16px}
 .contact-city{padding:24px}
 .contact-city h3{font-size:36px;margin:24px 0 32px}
 .contact-location-close{display:block;margin-top:28px;font-size:14px}
 .contact-location-close>a{margin-top:12px;gap:24px}
}

/* The same moving grain wash as Home, with a legible paper form surface. */
.contact-page .contact-intro{isolation:isolate;background:#f1f2ed;color:#161616}
.contact-grain-wave{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#e0e5d7 0%,#f1f2ed 68%);mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 70%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 70%,transparent)}
.contact-grain-wave canvas{display:block;width:100%;height:100%;opacity:0}
.contact-page .contact-intro h1{color:#161616}
.contact-page .contact-intro :is(.inquiry-label,.inquiry-contact-heading>p:not(.inquiry-label),.inquiry-optional,.inquiry-form-submit>p){color:#62665f}
.contact-page .contact-intro .inquiry-form{background:#ffffff70;border-color:#16161626;backdrop-filter:blur(6px)}
.contact-page .contact-intro :is(.inquiry-form legend,.inquiry-form label){color:#161616}
.contact-page .contact-intro .inquiry-form :is(input:not([type=checkbox]),textarea,select){color:#161616;border-color:#16161650}
.contact-page .contact-intro .inquiry-form :is(input,textarea,select)::placeholder{color:#62665f}
.contact-page .contact-intro .inquiry-interest-options span{border-color:#16161640}
.contact-page .contact-intro .inquiry-interest-options input:checked+span{background:linear-gradient(135deg,#353535,#161616);border-color:#161616;color:#f1f2ed}
.contact-page .contact-intro .inquiry-button{background:linear-gradient(135deg,#353535,#161616);color:#f1f2ed;border-color:#161616}
.contact-page .contact-intro .inquiry-button:hover{background:linear-gradient(135deg,#444,#242424)}
.contact-page .contact-intro .inquiry-text-link{border-color:#16161650}
.contact-page .contact-intro #inquiry-status{color:#343b2a}
.contact-page .contact-intro #inquiry-status.is-error{color:#9a3028}
.contact-socials{display:flex;align-items:center;gap:12px;margin-top:12px}
.contact-socials a{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;transition:background .2s,transform .2s}
.contact-socials a:hover{background:#1616160b;transform:translateY(-2px)}
.contact-socials svg{display:block;width:23px;height:23px}
.contact-page .contact-intro .inquiry-contact-heading>.contact-based{margin-top:28px}
@media(prefers-reduced-motion:reduce){.contact-socials a{transition:none}.contact-socials a:hover{transform:none}}
.contact-page .contact-intro .inquiry-form{color-scheme:light}
.contact-page .contact-intro .inquiry-services-hint{color:#62665f}
.contact-page .contact-intro .inquiry-field-error{color:#9a3028}
.contact-page .contact-intro .inquiry-form [aria-invalid=true]{border-bottom-color:#9a3028}

.contact-page .inquiry-required-note { color: #62665f; }
.contact-page .inquiry-form select option { background: #f1f2ed; color: #161616; }
.contact-page .inquiry-phone { border-color: #16161650; }
.contact-page .contact-intro .inquiry-phone input { border-bottom: 0; }
