.contact-page{--contact-ink:#cab6e9;padding-bottom:6rem}html[data-theme=light] .contact-page{--contact-ink:#79579b}.contact-hero{padding-top:clamp(3.5rem,7vw,6rem);text-align:center}.contact-hero h1{margin:0;font:600 clamp(3rem,6.8vw,6rem)/1.03 var(--font-sans);letter-spacing:-.065em;text-wrap:balance;overflow-wrap:anywhere}.contact-hero h1 span{display:block;color:var(--text-2)}.contact-hero p{max-width:38rem;margin:1.5rem auto 0;color:var(--text-soft);font-size:1.15rem;line-height:1.6;text-wrap:pretty}.contact-shell{max-width:54rem;margin-top:3rem}.contact-form{padding:clamp(1.25rem,4vw,2.5rem);border:1px solid rgba(var(--fg-rgb),.14);border-radius:1.75rem;background:rgba(var(--panel-rgb),.48);box-shadow:inset 0 1px rgba(var(--fg-rgb),.06),0 1.5rem 4rem rgba(var(--shadow-rgb),.06);backdrop-filter:blur(18px)saturate(.8);scroll-margin-top:6rem}html[data-theme=light] .contact-form{background:rgba(255,255,255,.65)}.contact-types{border:0;padding:0;margin:0 0 2rem;min-width:0}.contact-types legend{font:570 1.15rem/1.4 var(--font-sans);margin-bottom:1rem;letter-spacing:-.025em}.contact-types__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.contact-type{position:relative;cursor:pointer;min-width:0}.contact-type input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.contact-type__body{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:3.6rem;border:1px solid var(--border-strong);border-radius:.95rem;padding:.75rem .6rem;color:var(--text-soft);font:550 .9rem/1.25 var(--font-sans);transition:background .2s,border-color .2s}.contact-type__body svg{flex:none;width:1.15rem;height:1.15rem;color:var(--contact-ink)}.contact-type__body i{display:none;font-size:.75rem;font-style:normal;color:var(--contact-ink)}.contact-type input:checked+.contact-type__body{background:color-mix(in srgb,var(--contact-ink) 10%,transparent);border-color:var(--contact-ink);color:var(--text-1)}.contact-type input:checked+.contact-type__body i{display:block}.contact-type input:focus-visible+.contact-type__body{outline:2px solid var(--contact-ink);outline-offset:4px}.contact-type:hover .contact-type__body{border-color:var(--contact-ink)}.contact-type-hint{color:var(--text-2);font-size:.9rem;line-height:1.6;margin:1rem 0 0;min-height:2.9em}.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem 1rem}.contact-field{display:flex;flex-direction:column;gap:.5rem;min-width:0}.contact-field[hidden]{display:none}.contact-field--wide{grid-column:1/-1}.contact-field label{color:var(--text-1);font-size:.9rem;font-weight:550}.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-width:0;border:1px solid rgba(var(--fg-rgb),.15);border-radius:.75rem;background:rgba(var(--fg-rgb),.025);padding:.85rem .95rem;color:var(--text-1);font:1rem/1.5 var(--font-sans);color-scheme:dark}html[data-theme=light] .contact-field :is(input,select,textarea){color-scheme:light}.contact-field textarea{resize:vertical;min-height:8rem}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--text-3);opacity:1}.contact-field :is(input,select,textarea):focus-visible{outline:2px solid var(--contact-ink);outline-offset:2px;border-color:var(--contact-ink)}.contact-field select option{background:var(--surface);color:var(--text-1)}.contact-field small{color:var(--text-2);font-size:.78rem;line-height:1.5}.contact-form__footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.contact-form__footer p{max-width:26rem;margin:0;color:var(--text-2);font-size:.78rem;line-height:1.6}.contact-form__footer a{color:var(--text-soft);text-underline-offset:.2em}.contact-submit{display:inline-flex;align-items:center;justify-content:center;gap:1rem;flex:none;min-height:3.3rem;padding:.85rem 1.5rem;border:1px solid transparent;border-radius:999px;background:var(--text-1);color:var(--surface);font:560 .92rem/1.3 var(--font-sans);cursor:pointer;transition:transform .2s,opacity .2s}.contact-submit:hover{transform:translateY(-2px)}.contact-submit:focus-visible{outline:2px solid var(--contact-ink);outline-offset:4px}.contact-submit:disabled{opacity:.55;cursor:wait;transform:none}.contact-status{margin:1.5rem 0 0;padding:1rem 1.2rem;border:1px solid var(--border-strong);border-radius:.85rem;color:var(--text-1);line-height:1.6;font-size:.95rem}.contact-status.is-success{border-color:var(--contact-ink)}.contact-status.is-error{border-color:#c88181}@media(prefers-reduced-motion:no-preference){.contact-field:not([hidden]){animation:contact-field-in .22s ease-out both}@keyframes contact-field-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}@media(max-width:640px){.contact-hero h1{font-size:clamp(2.8rem,12vw,4rem)}.contact-hero p{font-size:1.05rem}.contact-shell{margin-top:2.2rem}.contact-types__grid{grid-template-columns:1fr}.contact-type__body{justify-content:flex-start;padding:.8rem 1rem;min-height:3.3rem}.contact-type__body i{margin-left:auto}.contact-types{margin-bottom:1.5rem}.contact-type-hint{min-height:3.2em}.contact-fields{grid-template-columns:1fr;gap:1.15rem}.contact-form__footer{flex-direction:column;align-items:stretch;gap:1rem}.contact-submit{width:100%}}@media(forced-colors:active){.contact-type input:checked+.contact-type__body{outline:2px solid Highlight}.contact-submit{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}}