.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.contact-section{padding-bottom:90px}
.contact-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(40px,6vw,100px);align-items:start;margin-top:75px}
.contact-intro{padding-top:18px}
.contact-intro h2{font-size:clamp(42px,4.8vw,78px);line-height:1.08;letter-spacing:-.055em}
.contact-intro h2 em{color:var(--accent);font-size:1.1em}
.contact-intro-copy{color:#b7b1c2;max-width:350px;margin:30px 0 50px;font-size:16px;line-height:1.75}
.contact-direct{display:flex;flex-direction:column;gap:12px}
.contact-direct>span{font-size:14px;color:#aaa2b6}
.contact-direct>a{font-size:clamp(18px,1.9vw,28px);letter-spacing:-.025em;overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-color:#726482}
.contact-direct>a:hover{color:var(--accent)}
.contact-copy-address{font:inherit;font-size:14px;line-height:1.5;text-align:left;align-self:flex-start;color:var(--paper);padding:9px 0;background:none;border:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px}
.contact-copy-address:hover{color:var(--accent)}
.contact-copy-address:focus-visible,.form-copy-message:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.contact-copy-status{font-size:14px;line-height:1.6;color:#d5cbdc;max-width:350px}
.contact-copy-value{font:inherit;font-size:16px;max-width:100%;width:320px;color:var(--paper);background:#241c2e;border:1px solid #8b70ac;padding:12px}
.contact-social{display:inline-block;font-size:14px;color:#b7b1c2;margin-top:30px;padding:8px 0}
.contact-social:hover{color:var(--paper)}
.contact-form{min-width:0;padding:clamp(26px,3.2vw,50px);background:var(--paper);color:var(--ink);border-radius:4px;position:relative}
.form-heading{margin-bottom:34px}
.form-index{font-size:12px;letter-spacing:.13em;color:#7a668e;display:block;margin-bottom:22px}
.form-heading h3{font-size:clamp(25px,2.4vw,36px);line-height:1.2;letter-spacing:-.04em}
.form-heading>p{font-size:13px;line-height:1.6;color:#716976;margin-top:12px}
.contact-form fieldset{min-width:0;padding:0;margin:0;border:0}
.contact-fields-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:27px 24px}
.form-field{min-width:0;display:flex;flex-direction:column}
.form-field-wide{grid-column:1/-1}
.form-field label{font-size:14px;line-height:1.5;margin-bottom:10px;font-weight:500}
.field-optional{font-size:12px;font-weight:400;color:#716976}
.form-field input,.form-field select,.form-field textarea{font:inherit;font-size:16px;line-height:1.5;width:100%;min-width:0;border:0;border-bottom:1px solid #aea6b7;border-radius:0;color:#211a2b;background:transparent;padding:10px 0 13px;transition:border-color .2s;min-height:48px}
.form-field select{cursor:pointer;padding-right:14px}
.form-field select option{color:#211a2b;background:#f4f3ee}
.form-field select:has(option[value=""]:checked){color:#706579}
.form-field input::placeholder,.form-field textarea::placeholder{color:#706579;opacity:1}
.form-field textarea{resize:vertical;min-height:145px;max-height:480px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #8b70ac;outline-offset:4px;border-bottom-color:transparent;border-radius:1px}
.form-field [aria-invalid=true]{border-bottom-color:#a33b50}
.field-error{font-size:13px;line-height:1.5;color:#a03045;margin-top:9px}
.form-privacy{font-size:12px;line-height:1.7;color:#706577;margin-top:28px}
.form-privacy a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap;color:#59406f}
.contact-submit{width:100%;gap:12px;background:#21172e;color:#f9f6ff;margin-top:24px;min-height:56px}
.contact-submit:hover{background:#49335f;transform:none}
.contact-submit:disabled{opacity:.7;cursor:wait}
.submit-spinner{height:16px;width:16px;border:2px solid #ffffff50;border-top-color:currentColor;border-radius:50%;animation:submit-spin .8s linear infinite}
@keyframes submit-spin{to{transform:rotate(360deg)}}
.form-status{font-size:14px;line-height:1.65;margin-top:20px;padding:14px 16px;background:#e6deef;color:#3e2853;border-left:2px solid #8c6bad}
.form-status[data-state=error],.form-status[data-state=invalid]{background:#f1e1e4;color:#833447;border-color:#a7465c}
.form-status[data-state=sending]{padding:0;border:0;background:none;color:#706577}
.form-recovery{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:16px}
.form-email-fallback,.form-copy-message{display:inline-flex;align-items:center;min-height:44px;font:inherit;font-size:14px;line-height:1.6;color:#593a77;text-decoration:underline;text-underline-offset:4px}
.form-copy-message{background:none;border:0;padding:0;text-align:left;cursor:pointer}
.form-recovery-help{flex-basis:100%;font-size:14px;line-height:1.6;color:#62536e}
.form-copy-value{width:100%;font:inherit;font-size:16px;line-height:1.5;padding:12px;border:1px solid #8b70ac;border-radius:2px;background:#faf8fd;color:#211a2b;resize:vertical}
.form-honeypot{display:none}
@media(max-width:1050px){.contact-layout{gap:35px;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.contact-intro h2{font-size:48px}.contact-form{padding:28px}.contact-fields-grid{column-gap:19px}.contact-direct>a{font-size:21px}}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:40px;margin-top:45px}.contact-intro{padding-top:0}.contact-intro h2{font-size:clamp(46px,8vw,66px);max-width:600px}.contact-intro-copy{max-width:480px;margin:24px 0 28px}.contact-direct>span{font-size:13px}.contact-direct>a{font-size:24px}.contact-social{margin-top:16px}.contact-form{padding:34px}.contact-section{padding-bottom:60px}.form-heading h3{font-size:32px}}
@media(max-width:520px){.contact-layout{gap:32px}.contact-intro h2{font-size:clamp(40px,10vw,52px)}.contact-fields-grid{grid-template-columns:1fr;gap:25px}.contact-form{padding:27px 22px}.form-heading{margin-bottom:28px}.form-heading h3{font-size:28px}.form-index{margin-bottom:18px}.contact-direct>a{font-size:22px}.form-heading>p{font-size:13px}.form-privacy{font-size:12px}}
@media(prefers-reduced-motion:reduce){.submit-spinner{animation:none}}
