.header a[aria-current="page"]{background:var(--ink);color:var(--white)}
.contact-hero{min-height:620px;padding:110px max(4vw,24px);display:grid;grid-template-columns:.62fr 1.38fr;gap:7vw;align-items:start;background:var(--paper)}
.contact-hero>div{max-width:1050px}
.contact-hero h1{margin:0;font:400 clamp(4.5rem,8vw,9rem)/.88 Georgia,serif;letter-spacing:-.055em}
.contact-hero h1 em{color:var(--accent);font-weight:400}
.contact-hero div>p{max-width:620px;margin:42px 0 0;color:var(--muted);font-size:1.12rem;line-height:1.75}
.contact-options{width:min(calc(100% - 8vw),var(--max));margin:0 auto 110px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.contact-option{min-height:280px;padding:26px 30px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background-color .25s,color .25s,transform .25s}
.contact-option:hover{background:var(--ink);color:var(--white)}
.contact-option.featured{background:#d9e7e3}
.contact-option.featured:hover{background:var(--accent)}
.option-top{display:flex;align-items:center;gap:15px}
.option-top svg{width:36px;height:36px;fill:none;stroke:var(--accent);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.contact-option.featured .option-top svg{stroke:var(--ink)}
.option-top span{color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.contact-option.featured .option-top span{color:var(--ink)}
.option-copy strong{display:block;max-width:300px;font:400 1.65rem/1.15 Georgia,serif}
.option-copy p{max-width:310px;min-height:3.2em;margin:14px 0 24px;color:var(--muted);font-size:.9rem;line-height:1.6}
.contact-option:hover .option-copy p{color:#b8c2c0}
.contact-option.featured .option-copy p{color:#465553}
.option-copy b{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid currentColor;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}
.option-copy i{color:var(--accent);font-style:normal;font-size:1rem}
.contact-option.featured .option-copy i,.contact-option.featured:hover .option-copy i{color:var(--ink)}
.contact-form-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;background:var(--ink);color:var(--white);scroll-margin-top:88px}
.form-heading{position:sticky;top:130px;align-self:start}
.form-heading h2{margin:0;font:400 clamp(3.5rem,5vw,6rem)/.95 Georgia,serif;letter-spacing:-.05em}
.form-heading>p:not(.eyebrow){max-width:470px;margin:32px 0;color:#aeb8b6;line-height:1.75}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px}
.field{display:flex;flex-direction:column;gap:10px}
.field-wide{grid-column:1/-1}
.field label{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#c4ccca}
.field label span{font-weight:400;color:#7f8b89}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #52605e;border-radius:0;padding:14px 0;background:transparent;color:var(--white);font:400 1.1rem Arial,sans-serif;outline:none}
.field select{color:#dce1df}
.field select option{color:var(--ink)}
.field textarea{resize:vertical;line-height:1.55}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#55b7b4}
.upload-field>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.upload-zone{width:min(100%,760px);box-sizing:border-box;min-height:190px;padding:28px;border:1px dashed #63706e;display:grid;grid-template-columns:48px 1fr;gap:7px 20px;align-content:center;cursor:pointer;transition:border-color .25s,background-color .25s}
.upload-zone:hover,.upload-zone:focus-within{border-color:#55b7b4;background:#202a2a}
.upload-zone svg{grid-row:1/4;width:42px;fill:none;stroke:#55b7b4;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.upload-zone strong{font:400 1.25rem Georgia,serif;text-transform:none;letter-spacing:0;color:var(--white)}
.upload-zone span,.upload-zone small{font-size:.8rem;line-height:1.5;text-transform:none;letter-spacing:0;color:#9faaa8}
.file-list{grid-column:1/-1;margin:0;padding:0;list-style:none}
.file-list li{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid #465050;color:#cbd2d0;font-size:.82rem}
.file-list li span:last-child{color:#7f8b89;white-space:nowrap}
.privacy-check{display:flex;align-items:flex-start;gap:10px;color:#aeb8b6;font-size:.82rem;line-height:1.5}
.privacy-check input{margin-top:3px;accent-color:#55b7b4}
.privacy-check a{color:var(--white);border-bottom:1px solid #61706e}
.field-honeypot{position:absolute;left:-9999px}
.submit-button{grid-column:1/-1;justify-self:start;margin-top:10px;padding:16px 22px;border:0;border-radius:999px;background:#55b7b4;color:var(--ink);font-weight:700;cursor:pointer}
.submit-button:disabled{opacity:.55;cursor:wait}
.submit-button span{margin-left:28px}
.form-status{grid-column:1/-1;min-height:1.3em;margin:0;color:#aeb8b6;font-size:.85rem}
.form-status.success{color:#75d2aa}.form-status.error{color:#ff9d91}
@media(max-width:900px){.contact-hero,.contact-form-section{grid-template-columns:1fr}.contact-options{grid-template-columns:1fr 1fr}.form-heading{position:static}}
@media(max-width:600px){.contact-hero{min-height:auto;padding:75px 20px}.contact-options{width:calc(100% - 40px);margin-bottom:75px}.contact-options,.contact-form{grid-template-columns:1fr}.contact-option{min-height:250px}.field-wide,.submit-button,.form-status{grid-column:auto}}
