.contact-page .section-rail{border-bottom:1px solid var(--line);background:var(--page)}.contact-page .rail-inner{min-height:60px;display:flex;align-items:center;gap:var(--s2);font-family:Manrope,system-ui,sans-serif;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.contact-page .rail-inner i{font-style:normal}.contact-page .rail-inner b{font-weight:700;opacity:.4}.contact-page .rail-index{color:var(--accent);font-weight:800}.contact-page .contact-hero{position:relative;background:var(--page)}.contact-page .contact-hero-shell{position:relative;z-index:1;padding-block:clamp(48px,6vw,84px) clamp(32px,4vw,52px);text-align:center}.contact-page .contact-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(120% 90% at 50% 0,#000 0,transparent 72%);mask-image:radial-gradient(120% 90% at 50% 0,#000 0,transparent 72%)}.contact-page .contact-hero h1{max-width:18ch;margin-inline:auto;font-size:clamp(2.3rem,4.4vw,3.9rem)}.contact-page .contact-eyebrow{margin-bottom:var(--s4);font-family:Manrope,system-ui,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.contact-page .contact-lead{max-width:60ch;margin:var(--s6) auto 0;color:var(--body);font-size:1.05rem;line-height:1.7}.contact-page .contact-body{background:var(--page)}.contact-page .contact-grid{padding-block:clamp(40px,5vw,72px) clamp(56px,7vw,96px);display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:start;gap:clamp(32px,5vw,72px)}.contact-page .contact-aside{display:grid;gap:var(--s5);align-content:start;position:sticky;top:calc(72px + var(--s8))}.contact-page .contact-aside h2{font-size:clamp(1.9rem,3vw,2.7rem)}.contact-page .contact-aside-lead{color:var(--body);font-size:.98rem;line-height:1.7}.contact-page .contact-points{display:grid;gap:var(--s3);margin-top:var(--s2)}.contact-page .contact-points li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--s3);align-items:start;color:var(--body);font-size:.9rem;line-height:1.55}.contact-page .contact-points svg{width:18px;height:18px;margin-top:2px;color:var(--accent)}.contact-page .contact-card{padding:clamp(20px,3vw,36px);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--card)}.contact-page .form-status:empty{display:none}.contact-page .form-alert{margin-bottom:var(--s6);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-md);font-size:.9rem;line-height:1.6}.contact-page .form-alert.is-success{border-color:var(--mint);background:var(--mint-wash);color:var(--accent)}.contact-page .form-alert.is-error{border-color:var(--danger);background:var(--danger-wash);color:var(--heading)}.contact-page .contact-form{display:grid;gap:var(--s6)}.contact-page .form-legend{font-family:Manrope,system-ui,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.contact-page .form-legend+*{margin-top:calc(var(--s3) * -1)}.contact-page .field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}.contact-page .field{display:grid;gap:var(--s2)}.contact-page .field label{font-family:Manrope,system-ui,sans-serif;font-size:.82rem;font-weight:700;color:var(--heading)}.contact-page .field .req{color:var(--accent)}.contact-page .field input,.contact-page .field select,.contact-page .field textarea{width:100%;min-height:46px;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);color:var(--ink);font-family:DM Sans,system-ui,sans-serif;font-size:.92rem;line-height:1.5;transition:border-color .18s var(--ease),background .18s var(--ease)}.contact-page .field textarea{min-height:132px;resize:vertical}.contact-page .field input::placeholder,.contact-page .field textarea::placeholder{color:var(--muted)}.contact-page .field input:hover,.contact-page .field select:hover,.contact-page .field textarea:hover{border-color:var(--line-strong)}.contact-page .field input:focus-visible,.contact-page .field select:focus-visible,.contact-page .field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent);background:var(--surface)}.contact-page .field select{cursor:pointer;appearance:none;padding-right:var(--s8);background-image:linear-gradient(45deg,transparent 50%,var(--line-strong) 50%),linear-gradient(135deg,var(--line-strong) 50%,transparent 50%);background-position:right 22px center,right 16px center;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.contact-page .field select option{color:var(--ink);background:var(--card)}.contact-page .phone-control{display:flex;align-items:stretch;min-height:46px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);overflow:hidden;transition:border-color .18s var(--ease),background .18s var(--ease)}.contact-page .phone-control:hover{border-color:var(--line-strong)}.contact-page .phone-control:has(:focus-visible){outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent);background:var(--surface)}.contact-page .phone-control:has([aria-invalid=true]){border-color:var(--danger)}.contact-page .phone-prefix-field{position:relative;flex:0 0 auto;display:flex;align-items:center;border-right:1px solid var(--line)}.contact-page .phone-prefix-value{display:inline-flex;align-items:center;gap:var(--s2);padding:0 var(--s3) 0 var(--s4);color:var(--ink);font-size:.92rem;line-height:1.5;white-space:nowrap}.contact-page .phone-prefix-value:after{content:"";width:6px;height:6px;margin-left:var(--s1);border-right:1.5px solid var(--line-strong);border-bottom:1.5px solid var(--line-strong);transform:translateY(-2px) rotate(45deg)}.contact-page .field .phone-control .phone-prefix{position:absolute;inset:0;width:100%;min-height:0;padding:0;border:0;border-radius:0;background:none;background-image:none;opacity:0;cursor:pointer}.contact-page .field .phone-control input{flex:1 1 auto;min-width:0;min-height:0;padding-left:var(--s3);border:0;border-radius:0;background:none}.contact-page .field .phone-control .phone-prefix:hover,.contact-page .field .phone-control input:hover{border-color:transparent}.contact-page .field .phone-control .phone-prefix:focus-visible,.contact-page .field .phone-control input:focus-visible{outline:none;border-color:transparent;background:none}.contact-page .field-error{color:var(--danger);font-size:.76rem;line-height:1.5}.contact-page .field-count{color:var(--muted);font-size:.74rem;text-align:right}.contact-page .consent-block{display:grid;gap:var(--s3)}.contact-page .consent-note{padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--body);font-size:.78rem;line-height:1.6}.contact-page .consent-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--s3);align-items:start}.contact-page .consent-row input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;accent-color:var(--mint);border:1px solid var(--line-strong);border-radius:var(--r-sm);cursor:pointer}.contact-page .consent-row input[type=checkbox].is-invalid{outline:2px solid var(--danger);outline-offset:2px}.contact-page .consent-link{padding:0;border:0;background:none;text-align:left;cursor:pointer;color:var(--body);font-size:.82rem;line-height:1.6}.contact-page .consent-link span:first-of-type{font-weight:700;color:var(--accent);text-underline-offset:2px}.contact-page .consent-link:hover span:first-of-type{text-decoration:underline}.contact-page .consent-link .req{color:var(--accent)}.contact-page .submit-button{width:100%}.contact-page .submit-button[disabled]{cursor:not-allowed;opacity:.7}.contact-page .spinner{width:16px;height:16px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:contact-spin .7s linear infinite}@keyframes contact-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.contact-page .spinner{animation-duration:2.4s}}.contact-page .privacy-overlay{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:var(--s5)}.contact-page .privacy-scrim{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:var(--announce-bg);opacity:.6;cursor:pointer}.contact-page .privacy-modal{position:relative;width:min(100%,620px);max-height:90vh;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--card);box-shadow:var(--shadow-lg);overflow:hidden}.contact-page .privacy-modal-head{padding:var(--s6);display:flex;align-items:start;justify-content:space-between;gap:var(--s4);border-bottom:1px solid var(--line)}.contact-page .privacy-modal-head h2{font-size:1.25rem}.contact-page .privacy-close{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--muted);cursor:pointer;transition:color .18s var(--ease),border-color .18s var(--ease)}.contact-page .privacy-close:hover{color:var(--heading);border-color:var(--line-strong)}.contact-page .privacy-close svg{width:16px;height:16px}.contact-page .privacy-modal-body{padding:var(--s6);display:grid;gap:var(--s3);overflow-y:auto;color:var(--body);font-size:.85rem;line-height:1.7}.contact-page .privacy-modal-body strong{color:var(--heading);font-weight:700}.contact-page .privacy-modal-body ul{margin-left:var(--s5);display:grid;gap:var(--s1);list-style:disc}.contact-page .privacy-modal-body a{font-weight:700;color:var(--accent);word-break:break-all}.contact-page .privacy-modal-body a:hover{text-decoration:underline}.contact-page .privacy-contact{padding-top:var(--s3);border-top:1px solid var(--line)}.contact-page .privacy-ack{padding:var(--s3) var(--s4);border-radius:var(--r-sm);background:var(--surface-2);color:var(--heading);font-weight:700}@media (max-width:900px){.contact-page .contact-grid{grid-template-columns:1fr}.contact-page .contact-aside{position:static}}@media (max-width:600px){.contact-page .field-row{grid-template-columns:1fr}}.contact-page input[aria-invalid=true],.contact-page select[aria-invalid=true],.contact-page textarea[aria-invalid=true]{border-color:var(--danger)}