.contact-footer{--contact-ink:var(--navy);--contact-paper:var(--amber-light);width:calc(100% - 2 * var(--respiro,32px));max-width:1280px;margin:80px auto 0;padding:0 0 28px;color:var(--color-text);font-family:var(--synapsis)}
.contact-topline,.contact-signature{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--color-border);padding-top:20px;font-size:12px;font-weight:600}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);padding:48px 0 56px;align-items:start}
.contact-kicker{font-size:12px;font-weight:600;margin-bottom:24px}
.contact-invite h2{font-size:clamp(42px,5.1vw,76px);font-weight:900;line-height:.98;letter-spacing:-.035em;text-transform:uppercase;overflow-wrap:normal;color:var(--color-display)}
.contact-invite h2>span{color:var(--color-text)}
.contact-intro{max-width:33ch;font-size:clamp(18px,1.7vw,23px);line-height:1.5;font-weight:300;margin-top:28px;text-transform:none}
.contact-route{display:grid;grid-template-columns:1fr auto;gap:12px;margin:40px 0;max-width:320px;border-top:1px solid var(--color-rule);padding-top:16px;font-size:12px}
.contact-route i{grid-row:span 2;font-style:normal;font-size:64px;line-height:1;color:var(--color-display)}
.contact-route>span:last-child{padding-left:24px}
.contact-person{font-size:14px;line-height:1.6;text-transform:none}
.contact-form{min-width:0;background:var(--contact-paper);color:var(--contact-ink);padding:clamp(20px,2.5vw,36px);border-top:4px solid var(--orange)}
.contact-intent{border:0;margin:0 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.contact-intent legend{font-size:12px;margin-bottom:16px}
.contact-intent label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}
.contact-intent label:first-of-type{font-size:18px;font-weight:900}
.contact-intent input{accent-color:var(--navy);width:18px;height:18px;flex:none}
.contact-intent input:checked+span{text-decoration:underline;text-underline-offset:5px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.contact-fields label{display:block;min-width:0;font-size:13px;font-weight:600;text-transform:none}
.contact-optional{font-weight:300;font-size:12px;margin-left:6px}
.contact-fields input,.contact-fields textarea{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:8px;padding:12px 10px;background:transparent;border:1px solid var(--navy);border-radius:0;color:var(--navy);font:400 16px/1.4 var(--synapsis);text-transform:none;box-shadow:none}
.contact-fields input::placeholder,.contact-fields textarea::placeholder{color:var(--navy);opacity:.72}
.contact-fields textarea{resize:vertical;min-height:140px;max-height:400px}
.contact-message{grid-column:1/-1}
.contact-count{display:flex;justify-content:space-between;gap:16px;margin:8px 0 24px;font-size:11px}
.contact-count output{white-space:nowrap;font-variant-numeric:tabular-nums}
.contact-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:54px;padding:14px 16px;background:var(--navy);color:var(--amber-light);font-size:16px;font-weight:600;text-align:left}
.contact-submit:hover{background:var(--navy-hover)}
.contact-submit span{font-size:24px}
.contact-note{margin-top:12px;font-size:12px;line-height:1.5;text-transform:none}
.contact-form :is(input,textarea,button,a):focus-visible{outline:2px solid var(--navy);outline-offset:4px}
.contact-signature a{color:inherit}.contact-signature>a:first-child{font-weight:900;text-transform:uppercase}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr;gap:32px;padding-top:32px}.contact-invite h2{font-size:clamp(40px,8vw,64px)}.contact-route{display:none}.contact-person{margin-top:20px}.contact-footer{margin-top:48px}.contact-topline>span:last-child{display:none}}
@media(max-width:440px){.contact-fields{grid-template-columns:1fr}.contact-count>span{max-width:22ch}.contact-intent{gap:16px}.contact-invite h2{font-size:clamp(32px,9vw,40px)}}

.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact-status:not(:empty){margin-top:16px;border-top:1px solid var(--navy);padding-top:12px;font-size:14px;line-height:1.5;text-transform:none}
.contact-submit:disabled{opacity:.65;cursor:wait}
