@keyframes contact-rise{0%{opacity:0;transform:translateY(.85rem)}to{opacity:1;transform:translateY(0)}}@keyframes contact-line-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes contact-glow{0%,to{opacity:.45}50%{opacity:.8}}.contact-page{--contact-measure:36rem;--contact-ink:color-mix(in srgb, var(--foreground) 94%, var(--brand-primary))}.contact-masthead{isolation:isolate;background:linear-gradient(165deg, color-mix(in srgb, var(--brand-primary) 9%, transparent) 0%, transparent 42%), radial-gradient(ellipse 55% 45% at 0% 100%, color-mix(in srgb, var(--brand-accent) 10%, transparent), transparent 65%), var(--background);padding-block:clamp(6.5rem,14vw,8.75rem) clamp(2.75rem,6vw,4rem);position:relative;overflow:clip}.dark .contact-masthead,html.dark .contact-masthead{background:linear-gradient(165deg, color-mix(in srgb, var(--brand-primary) 14%, transparent) 0%, transparent 45%), var(--background)}.contact-masthead__orb{pointer-events:none;inset-inline-end:-12%;background:radial-gradient(circle, color-mix(in srgb, var(--brand-primary) 16%, transparent), transparent 68%);filter:blur(10px);border-radius:9999px;width:min(32rem,78vw);height:min(32rem,78vw);animation:10s ease-in-out infinite contact-glow;position:absolute;top:-10%}.contact-masthead__kicker{letter-spacing:.04em;color:var(--marketing-emphasis);margin:0;font-size:.8125rem;font-weight:700;animation:.7s ease-out both contact-rise}.contact-masthead__title{letter-spacing:-.035em;max-width:14em;color:var(--contact-ink);text-wrap:balance;margin:.85rem 0 0;font-size:clamp(1.85rem,.7rem + 3.2vw,3rem);font-weight:800;line-height:1.15;animation:.75s ease-out 60ms both contact-rise}.contact-masthead__lead{max-width:34rem;color:var(--muted-foreground);margin:1.1rem 0 0;font-size:clamp(.95rem,.85rem + .4vw,1.1rem);line-height:1.85;animation:.8s ease-out .12s both contact-rise}.contact-masthead__rule{width:min(12rem,40vw);height:2px;transform-origin:inline-start;background:linear-gradient(to right, var(--marketing-emphasis), color-mix(in srgb, var(--brand-primary) 40%, transparent));margin-block:1.75rem 0;animation:.9s ease-out .2s both contact-line-draw}.contact-body{padding-block:clamp(2rem,5vw,3.5rem) clamp(4rem,9vw,6rem)}.contact-layout{gap:clamp(2.5rem,5vw,4rem);display:grid}@media (min-width:960px){.contact-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(2.5rem,4vw,4.5rem)}}.contact-channels{animation:.85s ease-out .15s both contact-rise}.contact-channels__heading{letter-spacing:-.025em;color:var(--contact-ink);margin:0;font-size:clamp(1.2rem,.85rem + 1vw,1.45rem);font-weight:700}.contact-channels__intro{max-width:28rem;color:var(--muted-foreground);margin:.65rem 0 0;font-size:.9375rem;line-height:1.75}.contact-channel{border-block-start:1px solid color-mix(in srgb, var(--border) 85%, transparent);margin-block-start:1.75rem;padding-block-start:1.5rem}.contact-channel__label{letter-spacing:.06em;text-transform:uppercase;color:var(--marketing-emphasis);margin:0;font-size:.75rem;font-weight:700}.contact-channel__list{flex-direction:column;gap:.45rem;margin:.7rem 0 0;padding:0;list-style:none;display:flex}.contact-channel__link,.contact-channel__text{letter-spacing:-.02em;color:var(--foreground);margin:0;font-size:clamp(1.05rem,.9rem + .55vw,1.35rem);font-weight:600;line-height:1.35;text-decoration:none;transition:color .2s}.contact-channel__link:hover{color:var(--brand-primary)}.contact-channel__link:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:.25rem}.contact-channel__meta{color:var(--muted-foreground);margin:.55rem 0 0;font-size:.875rem;line-height:1.7}.contact-channel--address .contact-channel__text{letter-spacing:-.01em;max-width:28rem;font-size:.975rem;font-weight:500;line-height:1.75}.contact-channel--hours .contact-channel__text{font-size:1.05rem;font-weight:600}.contact-form-shell{animation:.9s ease-out .22s both contact-rise;position:relative}.contact-form-shell:before{content:"";pointer-events:none;background:linear-gradient(145deg, color-mix(in srgb, var(--brand-primary) 28%, transparent), color-mix(in srgb, var(--border) 70%, transparent) 40%, color-mix(in srgb, var(--brand-accent) 18%, transparent));opacity:.55;border-radius:1.35rem;position:absolute;inset:-1px}.contact-form-shell>*{position:relative}.contact-form{background:linear-gradient(180deg, color-mix(in srgb, var(--card) 92%, var(--brand-primary)), var(--card));border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:1.3rem;flex-direction:column;gap:1.15rem;padding:clamp(1.25rem,3vw,1.75rem);display:flex}.contact-form__title{letter-spacing:-.02em;color:var(--contact-ink);margin:0;font-size:1.125rem;font-weight:700}.contact-form__hint{color:var(--muted-foreground);margin:-.35rem 0 0;font-size:.875rem;line-height:1.65}.contact-field{flex-direction:column;gap:.45rem;display:flex}.contact-field__row{gap:1rem;display:grid}@media (min-width:560px){.contact-field__row{grid-template-columns:1fr 1fr}}.contact-input,.contact-select,.contact-textarea{border:0;border-block-end:1.5px solid color-mix(in srgb, var(--border) 90%, var(--foreground));width:100%;min-width:0;color:var(--foreground);background:0 0;border-radius:0;outline:none;padding:.55rem .1rem;font-size:1rem;transition:border-color .18s,box-shadow .18s}.contact-input::placeholder,.contact-textarea::placeholder{color:color-mix(in srgb, var(--muted-foreground) 85%, transparent)}.contact-input:focus-visible,.contact-select:focus-visible,.contact-textarea:focus-visible{border-block-end-color:var(--brand-primary);box-shadow:0 1px 0 0 var(--brand-primary)}.contact-input[aria-invalid=true],.contact-select[aria-invalid=true],.contact-textarea[aria-invalid=true]{border-block-end-color:var(--destructive);box-shadow:0 1px 0 0 var(--destructive)}.contact-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted-foreground) 50%), linear-gradient(135deg, var(--muted-foreground) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 12px) calc(50% - 2px),calc(100% - 7px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px;padding-inline-end:1.5rem}[dir=rtl] .contact-select{background-position:12px calc(50% - 2px),7px calc(50% - 2px);padding-inline:1.5rem .1rem}.contact-textarea{resize:vertical;min-height:8.5rem;line-height:1.65}.contact-error{color:var(--destructive);margin:0;font-size:.8125rem}.contact-notice{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:color-mix(in srgb, var(--muted) 55%, transparent);color:var(--muted-foreground);border-radius:.75rem;margin:0;padding:.75rem .9rem;font-size:.875rem;line-height:1.65}.contact-submit{margin-block-start:.25rem}
