/* Contact uses the newsletter's two-column editorial layout and global palette. */
.contact-page{min-height:100vh;display:flex;flex-direction:column}
.contact-main{width:100%;flex:1;padding:64px 28px 76px}
.contact-intro{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:start;gap:clamp(34px,5vw,76px);padding-bottom:68px}
.contact-copy{padding-top:38px;max-width:620px}
.contact-eyebrow{margin:0 0 20px;color:var(--rust-dark);font:15px/1.5 var(--serif)}
.contact-copy h1{margin:0 0 25px;font:400 clamp(42px,4.2vw,62px)/1.13 var(--serif);letter-spacing:-1.5px}
.contact-period{color:var(--sage)}
.contact-lede{max-width:530px;margin:0 0 18px;font:21px/1.56 var(--serif);color:#59564d}
.contact-detail{max-width:530px;margin:0 0 40px;font:17px/1.65 var(--serif);color:#59564d}
.contact-addresses{display:grid;gap:21px;border-top:1px solid var(--line);padding-top:26px}
.contact-addresses>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.contact-address-label{color:var(--muted);font:12px/1.6 var(--sans);letter-spacing:.03em}
.contact-main a{color:var(--rust-dark);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;overflow-wrap:anywhere}
.contact-main a:hover{text-decoration-color:currentColor}
.contact-main a:focus-visible{outline:2px solid var(--rust);outline-offset:4px}
.contact-card{min-width:0;background:#fffdf8;border:1px solid var(--line);padding:32px clamp(22px,3vw,38px) 28px}
.contact-card h2{font:400 30px/1.25 var(--serif);margin:0 0 7px}
.contact-card-lede{color:#59564d;font:16px/1.55 var(--serif);margin:0 0 25px}
.contact-card form{display:flex;flex-direction:column}
.contact-card label{display:block;margin:15px 0 7px;font:14px/1.45 var(--sans);color:var(--ink)}
.contact-card label:first-child{margin-top:0}
.contact-card input,.contact-card select,.contact-card textarea{width:100%;max-width:100%;min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:16px/1.5 var(--serif);appearance:auto}
.contact-card textarea{resize:vertical;min-height:130px}
.contact-card input::placeholder,.contact-card textarea::placeholder{color:#817b70;opacity:1}
.contact-card input:focus-visible,.contact-card select:focus-visible,.contact-card textarea:focus-visible,.contact-submit:focus-visible{outline:2px solid var(--rust);outline-offset:2px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-fields>div{min-width:0}
.contact-optional{color:var(--muted);font-weight:400}
.contact-routing{margin:9px 0 2px;font:13px/1.5 var(--sans);color:var(--sage)}
.contact-submit{margin:22px 0 0;display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:46px;padding:12px 22px;border:1px solid var(--rust-dark);border-radius:0;background:var(--rust-dark);color:white;cursor:pointer;font:16px/1.3 var(--serif)}
.contact-submit:hover{background:#653321}
.contact-submit:disabled{opacity:.7;cursor:wait}
.contact-status{margin:12px 0 0;font:14px/1.55 var(--sans);color:var(--sage)}
.contact-status:empty{display:none}
.contact-status[data-state="error"]{color:#963d32}
.contact-privacy{color:var(--muted);font:12px/1.6 var(--sans);margin:17px 0 0}
.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-bottom{border-top:1px solid var(--line);padding-top:28px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start}
.contact-bottom h2{font:400 29px/1.3 var(--serif);margin:0}
.contact-bottom p{font:17px/1.65 var(--serif);color:#59564d;margin:0;max-width:680px}
.contact-noscript{font:14px/1.6 var(--sans);color:#963d32}
@media(max-width:1000px){.contact-intro{gap:28px}.contact-copy{padding-top:12px}.contact-card{padding:26px 22px}}
@media(max-width:760px){.contact-main{padding:32px 17px 48px}.contact-intro{grid-template-columns:1fr;gap:28px;padding-bottom:38px}.contact-copy{padding-top:0}.contact-copy h1{font-size:clamp(38px,8vw,52px)}.contact-lede{font-size:19px}.contact-detail{margin-bottom:24px}.contact-addresses{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contact-card{max-width:620px;width:100%;margin:0 auto}.contact-bottom{grid-template-columns:1fr;gap:12px}.contact-bottom h2{font-size:27px}}
@media(max-width:440px){.contact-fields,.contact-addresses{grid-template-columns:1fr}.contact-card{padding:23px 17px}.contact-copy h1{letter-spacing:-.8px}}
