/* A studio conversation, with the same quiet type and green as the architecture. */
.contact-section.contact-page{background:var(--paper);padding-block:90px 40px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(55px,9vw,156px)}
.contact-studio>.eyebrow,.contact-form-heading .eyebrow{font-size:10px;letter-spacing:.12em}
.contact-symbol{display:block;width:clamp(158px,17vw,248px);height:auto;margin:30px 0 24px;mix-blend-mode:multiply}
.contact-page .contact-studio h2{font-size:clamp(30px,3.1vw,48px);font-weight:500;line-height:1.35;letter-spacing:-.06em;color:var(--ink);margin:0 0 18px}
.contact-statement{font-size:14px;line-height:1.9;color:var(--muted)}
.contact-address{font-style:normal;margin-top:42px;font-size:12px;line-height:1.9}
.contact-address p{margin:0}.contact-address p span{color:var(--muted);margin-left:12px}
.contact-direct{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:14px}.contact-direct a{padding:5px 0;border-bottom:1px solid var(--line)}
.contact-direct a:hover{color:var(--accent);border-color:var(--accent)}
.contact-signature{font:9px var(--mono);letter-spacing:.09em;color:var(--muted);margin-top:32px}
.contact-compose{min-width:0;padding-top:2px}
.contact-form-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid var(--ink)}
.contact-form-heading h3{font-size:36px;font-weight:500;letter-spacing:-.05em;margin:12px 0 0;line-height:1.3}
.contact-form-heading>span{font-size:10px;color:var(--muted);padding-bottom:4px}
.contact-fields,.contact-types{border:0;margin:0;padding:0;min-width:0}
.contact-types legend{font-size:12px;padding:0;margin-bottom:12px}
.contact-types>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.contact-types label{position:relative;cursor:pointer}
.contact-types input{position:absolute;opacity:0;width:1px;height:1px}
.contact-types span{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--line);font-size:12px;transition:background .15s,color .15s,border-color .15s}
.contact-types input:checked+span{background:var(--accent);border-color:var(--accent);color:white}
.contact-types input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.contact-types label:hover span{border-color:var(--accent)}
.contact-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;margin-top:26px}
.contact-field{display:block;min-width:0;font-size:12px;line-height:1.6}
.contact-field small{font-size:10px;color:var(--muted);margin-left:4px}
.contact-field input,.contact-field textarea{display:block;width:100%;border:1px solid var(--line);border-radius:0;background:var(--white);padding:13px 14px;margin-top:9px;color:var(--ink);font:14px/1.5 var(--sans);box-shadow:none}
.contact-field input{height:48px}.contact-field textarea{resize:vertical;min-height:138px;max-height:450px}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#777;opacity:1}
.contact-field input:focus,.contact-field textarea:focus{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:0}
.contact-message{margin-top:24px}
.contact-delivery-note{font-size:11px;color:var(--muted);line-height:1.8;margin:14px 0 20px}
.contact-actions{display:flex;align-items:center;gap:24px}
.contact-submit{display:flex;align-items:center;justify-content:space-between;gap:42px;min-height:52px;padding:12px 20px;border:1px solid var(--accent);background:var(--accent);color:white;font-size:13px}
.contact-submit:hover{background:#004c32}.contact-submit>span{font-size:20px}
.contact-copy{border:0;border-bottom:1px solid var(--line);padding:8px 0;min-height:44px;background:transparent;font-size:12px;color:var(--muted);display:flex;gap:20px;align-items:center}
.contact-copy:hover{color:var(--accent);border-color:var(--accent)}
.contact-fields:disabled{opacity:.65}.contact-copy:disabled{opacity:.5;cursor:wait}
.contact-status{font-size:12px;line-height:1.7;color:var(--accent);margin:16px 0 0;overflow-wrap:anywhere}
.contact-status:empty{margin:0}
.contact-draft{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.contact-draft>label{font-size:12px}.contact-draft textarea{display:block;margin:10px 0 16px;width:100%;padding:14px;background:var(--white);border:1px solid var(--line);border-radius:0;color:var(--ink);font:12px/1.8 var(--sans);resize:vertical}
.contact-draft .text-link{font-size:12px}.contact-draft>p{font-size:11px;line-height:1.8;color:var(--muted);margin-top:12px}
.contact-page .page-end{margin-top:56px}
@media(max-width:1100px){.contact-layout{gap:45px}.contact-types>div{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
 .contact-section.contact-page{padding-block:64px 24px}.contact-layout{grid-template-columns:1fr;gap:44px}
 .contact-symbol{width:128px;margin:24px 0}.contact-page .contact-studio h2{font-size:34px}
 .contact-statement{font-size:13px}.contact-address{margin-top:26px}.contact-signature{margin-top:22px}
 .contact-form-heading{margin-bottom:24px;padding-bottom:20px}.contact-form-heading h3{font-size:30px}
 .contact-field input,.contact-field textarea{font-size:16px}.contact-input-grid{gap:20px 12px}
 .contact-types span{font-size:13px}.contact-actions{gap:20px}.contact-submit{flex:1;gap:16px}
 .contact-delivery-note{font-size:11px}.contact-page .page-end{margin-top:40px}
}
@media(max-width:420px){.contact-input-grid{grid-template-columns:1fr}.contact-direct{gap:8px 20px}}
@media(prefers-reduced-motion:reduce){.contact-types span{transition:none}}
