.portal{position:relative}.portal-map{transition:transform .6s cubic-bezier(.4,0,.2,1),filter .6s}.portal--contact .portal-map{filter:blur(8px)brightness(.82);pointer-events:none;transform:translateY(8vh)scale(.9)}.portal-contact{z-index:600;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;background:#f9f6eed1;transition:opacity .45s;position:fixed;inset:0;overflow-y:auto}.portal--contact .portal-contact{opacity:1;pointer-events:auto}.portal-contact .contact-page{transition:transform .5s cubic-bezier(.34,1.1,.64,1);transform:translateY(28px)}.portal--contact .portal-contact .contact-page{transform:translateY(0)}.contact-back{letter-spacing:.02em;color:var(--muted);align-items:center;gap:.35rem;margin-bottom:1.25rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .15s,transform .18s;display:inline-flex}.contact-back:hover{color:var(--foreground);transform:translate(-3px)}@media (prefers-reduced-motion:reduce){.portal-map,.portal-contact,.portal-contact .contact-page{transition:none}.portal--contact .portal-map{filter:brightness(.82);transform:none}}.contact-page{width:100%;max-width:1080px;min-height:100dvh;margin:0 auto;padding:calc(64px + clamp(2rem,5vw,4rem)) clamp(1.25rem,4vw,2.5rem) clamp(3rem,6vw,5rem)}.contact-hero{max-width:640px;margin-bottom:clamp(2rem,5vw,3.25rem)}.contact-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.85rem;font-size:.75rem;font-weight:700}.contact-heading{letter-spacing:-.04em;color:var(--foreground);font-size:clamp(2.25rem,6vw,3.5rem);font-weight:800;line-height:1.02}.contact-lede{color:#45433e;margin-top:1rem;font-size:1.0625rem;line-height:1.6}.contact-group-links{flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:1.35rem;display:flex}.contact-group-link{color:var(--foreground);border-bottom:1.5px solid #14141433;padding-bottom:1px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:border-color .18s,opacity .18s}.contact-group-link:hover{border-bottom-color:var(--foreground);opacity:.85}.contact-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}.contact-form{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:clamp(1.25rem,3vw,2rem)}.contact-form-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem;font-size:.75rem;font-weight:700}.contact-fields{flex-wrap:wrap;column-gap:1rem;display:flex}.contact-field{flex-direction:column;gap:.4rem;width:100%;margin-bottom:1rem;display:flex}.contact-field--half{width:calc(50% - .5rem)}.contact-field label{letter-spacing:.02em;color:var(--foreground);font-size:.8125rem;font-weight:600}.contact-field input,.contact-field textarea{width:100%;font:inherit;color:var(--foreground);background:#ffffffbf;border:1.5px solid #14141424;border-radius:10px;padding:.7rem .85rem;font-size:.9375rem;transition:border-color .18s,box-shadow .18s,background .18s}.contact-field textarea{resize:vertical;min-height:7rem;line-height:1.5}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#9a978f}.contact-field input:focus,.contact-field textarea:focus{background:#fff;border-color:#14141466;outline:none;box-shadow:0 0 0 3px #1414140f}.contact-turnstile{margin:.25rem 0 1rem}.contact-error{color:#b42318;margin-bottom:.85rem;font-size:.875rem;font-weight:600}.contact-actions{margin-top:.5rem}.contact-submit{cursor:pointer;width:auto;min-width:9rem;font:inherit}.contact-submit:disabled{cursor:not-allowed;opacity:.5;box-shadow:none;transform:none!important}.contact-submit:disabled:hover{box-shadow:none;transform:none!important}.contact-confirm{text-align:center;padding:1.5rem .5rem}.contact-confirm-mark{background:var(--foreground);width:52px;height:52px;color:var(--background);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;font-size:1.5rem;display:flex}.contact-confirm h3{letter-spacing:-.03em;color:var(--foreground);margin-bottom:.5rem;font-size:1.5rem;font-weight:800}.contact-confirm p{color:var(--muted);font-size:.9375rem;line-height:1.6}.contact-locs-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;font-size:.75rem;font-weight:700}.contact-loc-list{flex-direction:column;gap:.85rem;list-style:none;display:flex}.contact-loc{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:1rem 1.1rem;transition:transform .24s cubic-bezier(.34,1.2,.64,1),box-shadow .24s,border-color .24s}.contact-loc:hover{box-shadow:var(--shadow-hover);border-color:#1414141f;transform:translateY(-3px)}.contact-loc-name{letter-spacing:-.03em;color:var(--foreground);margin-bottom:.35rem;font-size:1.0625rem;font-weight:700}.contact-loc-address{color:#45433e;margin-bottom:.35rem;font-size:.8125rem;line-height:1.45}.contact-loc-phone{color:var(--foreground);font-size:.9rem;font-weight:700;text-decoration:none;transition:opacity .15s;display:inline-block}.contact-loc-phone:hover{opacity:.7}.contact-loc-link{letter-spacing:.02em;color:var(--muted);border-top:1px solid #14141412;margin-top:.6rem;padding-top:.6rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .15s;display:block}.contact-loc-link:hover{color:var(--foreground)}@media (max-width:820px){.contact-grid{grid-template-columns:1fr}}@media (max-width:480px){.contact-field--half{width:100%}}
