.contact-page main { background:#faf9f6; }
.contact-shell { width:min(1280px,calc(100% - var(--gutter)*2)); margin-inline:auto; padding-block:64px 100px; }
.contact-intro { display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:70px; margin-bottom:54px; }
.contact-kicker { color:#526553; font-size:10px; font-weight:600; letter-spacing:.16em; margin-bottom:20px; }
.contact-intro h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(48px,5.4vw,76px); line-height:1.08; letter-spacing:-.035em; margin-bottom:22px; }
.contact-deck { max-width:430px; color:#62675e; font-size:16px; line-height:1.8; }
.contact-art { width:100%; height:240px; object-fit:cover; object-position:center 58%; }
.contact-tabs { display:flex; flex-wrap:wrap; align-items:center; gap:18px 42px; margin-bottom:56px; }
.contact-tabs button { position:relative; padding:10px 0; border:0; background:transparent; color:#777b71; font:inherit; font-size:14px; font-weight:450; cursor:pointer; }
.contact-tabs button[aria-selected="true"] { color:#243c2e; font-weight:650; }
.contact-tabs button[aria-selected="true"]::before { content:''; display:inline-block; width:5px; height:5px; margin-right:10px; border-radius:50%; background:#45664d; vertical-align:middle; }
.contact-tabs button:hover { color:#243c2e; }
.contact-tabs button:focus-visible { outline:2px solid #728e78; outline-offset:5px; }
.request-panel[hidden] { display:none; }
.contact-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(40px,8vw,120px); align-items:start; }
.contact-layout > * { min-width:0; }
.contact-info { display:grid; gap:26px; max-width:330px; }
.contact-info h2 { font-family:Georgia,'Times New Roman',serif; font-size:34px; font-weight:400; line-height:1.2; letter-spacing:-.02em; margin-bottom:20px; }
.contact-info p { color:#63685f; font-size:14px; line-height:1.85; margin:0; }
.contact-info .request-note { font-size:12px; line-height:1.8; color:#7b8075; max-width:290px; }
.contact-link { display:inline-flex; align-items:center; gap:8px; color:#36533f; font-size:13px; font-weight:600; margin-top:20px; }
.contact-link:hover { color:var(--ink); }
.contact-panel { padding:0; background:transparent; }
.form-intro { font-size:11px; color:#7b8075; margin-bottom:20px; }
.contact-panel .contact-form { color:#333c34; gap:24px; }
.contact-panel .contact-form label { font-size:12px; }
.contact-panel .field-row { gap:24px; }
.contact-panel input,.contact-panel textarea,.contact-panel select { background:#fff; border:1px solid #d9ddd4; border-radius:0; color:var(--ink); }
.contact-panel .contact-form input:not([type="hidden"]) { height:48px; min-height:48px; max-height:48px; flex-basis:48px; }
.contact-panel textarea { min-height:136px; }
.contact-panel input::placeholder,.contact-panel textarea::placeholder { color:#9a9e94; font-size:13px; }
.contact-panel select { width:100%; min-height:48px; padding:11px 12px; font:inherit; font-size:14px; }
.contact-panel input:focus,.contact-panel textarea:focus,.contact-panel select:focus { outline:2px solid #78917d; outline-offset:2px; }
.contact-panel .contact-form input[type="file"] { height:auto; max-height:none; min-height:48px; flex:0 0 auto; padding:10px; font-size:12px; }
.contact-panel input[type="file"]::file-selector-button { border:0; background:#eef1e9; padding:6px 12px; margin-right:12px; color:#354a3b; font:inherit; }
.contact-panel small { font-size:11px; color:#7b8075; }
.contact-privacy { color:#81867b; font-size:11px; line-height:1.7; margin:0; max-width:500px; }
.contact-privacy a { color:#526553; text-decoration:underline; text-underline-offset:3px; }
.contact-panel .contact-form .button { justify-self:start; min-width:180px; min-height:46px; padding:12px 22px; border-radius:0; background:#293e30; font-size:12px; font-weight:550; gap:8px; }
.contact-panel .contact-form .button:hover { background:#3b5544; }
.contact-status { color:#36533f; font-size:13px; margin:0; }
@media(max-width:900px) { .contact-intro { gap:36px; }.contact-art { height:210px; }.contact-layout { gap:44px; }.contact-tabs { gap:14px 30px; } }
@media(max-width:700px) { .contact-shell { padding-block:36px 60px; }.contact-intro { grid-template-columns:1fr; gap:0; margin-bottom:30px; }.contact-art { display:none; }.contact-intro h1 { font-size:52px; }.contact-deck { font-size:15px; max-width:360px; }.contact-tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px 18px; margin-bottom:36px; }.contact-tabs button { text-align:left; font-size:13px; }.contact-layout { grid-template-columns:1fr; gap:28px; }.contact-info { max-width:100%; gap:14px; }.contact-info h2 { font-size:30px; margin-bottom:12px; }.contact-info .request-note { max-width:100%; }.contact-panel .field-row { gap:18px; } }
@media(max-width:440px) { .contact-panel .field-row { grid-template-columns:1fr; }.contact-panel .contact-form { gap:20px; } }

/* Full-width Contact Us artwork, with the content aligned to the page gutter. */
.contact-page .contact-intro { position:relative; isolation:isolate; display:flex; align-items:center; min-height:min(480px,calc(100svh - 220px)); margin:0; padding:64px max(var(--gutter),calc((100% - 1280px)/2)); overflow:hidden; }
.contact-page .contact-intro::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(250,249,246,.97) 0%,rgba(250,249,246,.9) 30%,rgba(250,249,246,.3) 63%,rgba(250,249,246,.04) 100%); }
.contact-page .contact-art { display:block; position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.contact-page .contact-intro-copy { max-width:580px; }
.contact-page .contact-shell { padding-top:38px; }
@media(max-width:700px) { .contact-page .contact-intro { padding-block:44px; }.contact-page .contact-intro::before { background:linear-gradient(90deg,rgba(250,249,246,.94),rgba(250,249,246,.78)); }.contact-page .contact-shell { padding-top:26px; } }

.contact-form .request-type { min-width:0; padding:0; margin:0; border:0; }
.contact-form .request-type legend { padding:0; margin-bottom:14px; font-size:12px; line-height:20px; }
.contact-form .request-type-options { display:flex; flex-wrap:wrap; gap:12px 30px; }
.contact-form .request-type-options label { display:inline-flex; flex-direction:row; align-items:center; gap:10px; min-height:32px; cursor:pointer; font-size:13px; color:#63685f; }
.contact-panel .contact-form .request-type input[type="radio"] { appearance:none; width:16px; height:16px; min-height:16px; max-height:16px; flex:0 0 16px; padding:0; margin:0; border:1px solid #9ba89b; border-radius:50%; background:transparent; display:grid; place-content:center; }
.contact-panel .request-type input[type="radio"]::before { content:""; width:8px; height:8px; border-radius:50%; background:#36533f; transform:scale(0); }
.contact-panel .request-type input[type="radio"]:checked::before { transform:scale(1); }
.contact-panel .request-type input[type="radio"]:checked { border-color:#36533f; }
.contact-panel .request-type input[type="radio"]:checked + span { color:#263e2e; }

@media(max-width:760px) { .contact-page .contact-intro { min-height:360px; padding-block:44px; } }
