.contact-page{background:var(--white)}.contact-hero{background:radial-gradient(circle at 86% 16%, var(--pink-pale) 0, #ffe7ed00 31%), var(--surface-page);position:relative;overflow:hidden}.contact-hero-grid{align-items:center;gap:var(--layout-gap);grid-template-columns:minmax(0,1.08fr) minmax(22rem,.78fr);min-height:35rem;display:grid}.contact-hero-copy h1{max-width:14ch;margin:1rem 0 1.5rem}.contact-hero-copy>p{max-width:39rem;color:var(--text-muted);margin:0;font-size:clamp(1rem,1.3vw,1.1rem)}.contact-hero-actions{margin-top:var(--button-content-gap);flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.contact-hero-visual{justify-self:end;width:min(100%,29rem);padding-bottom:2.5rem;position:relative}.contact-photo{--contact-plane-top:1.5rem;--contact-plane-right:2.8rem;--contact-plane-bottom:1.5rem;--contact-plane-left:3rem;aspect-ratio:.92;position:relative}.contact-photo:before{content:"";inset:var(--contact-plane-top) var(--contact-plane-right) var(--contact-plane-bottom) var(--contact-plane-left);translate:var(--hero-backdrop-offset) var(--hero-backdrop-offset);border-radius:var(--radius-feature);background:var(--pink-pale);position:absolute}.contact-portrait-crop{inset:calc(var(--contact-plane-top) + var(--hero-backdrop-offset)) calc(var(--contact-plane-right) - var(--hero-backdrop-offset)) calc(var(--contact-plane-bottom) - var(--hero-backdrop-offset)) calc(var(--contact-plane-left) + var(--hero-backdrop-offset));border-radius:var(--radius-feature);position:absolute;overflow:hidden}.contact-portrait-image{inset:calc(-1 * var(--hero-backdrop-offset));position:absolute}.contact-photo img{object-fit:cover;object-position:center 30%;filter:saturate(.84)}.contact-photo:not([data-photo-state=error]):before{content:none}.contact-photo .hero-portrait-photo{z-index:0}.contact-photo .hero-portrait-photo img{object-fit:contain;object-position:center bottom;filter:none}.contact-hero-caption{border-radius:var(--radius-panel);background:var(--white);border:1px solid #2c303b14;gap:.2rem;width:min(20rem,100% - 1.5rem);padding:1rem 1.1rem;display:grid;position:absolute;bottom:0;right:-1.25rem;box-shadow:0 16px 45px #1f202421}.contact-hero-caption strong{font-size:.82rem}.contact-hero-caption span{color:var(--text-muted);font-size:.7rem}.contact-main{background:var(--surface-soft)}.contact-main-grid{align-items:start;gap:var(--layout-gap);grid-template-columns:minmax(0,1.22fr) minmax(18rem,.62fr);display:grid}.contact-form{border:1px solid var(--line);border-radius:var(--radius-feature);background:var(--white);grid-area:1/1;min-width:0;padding:clamp(1.5rem,3vw,2.5rem);scroll-margin-top:112px;box-shadow:0 10px 30px #1f20240a}.contact-form-heading{border-bottom:1px solid var(--line);padding-bottom:2rem}.contact-form-heading h2{max-width:18ch;margin:.8rem 0 .75rem}.contact-form-heading p{max-width:38rem;color:var(--text-muted);margin:0;font-size:.84rem}.contact-form-help{color:var(--text-muted);margin:1rem 0 0;font-size:.75rem}.contact-fields{gap:1.5rem;margin-top:1.5rem;display:grid}.contact-field{min-width:0;color:var(--ink);gap:.55rem;font-size:.76rem;font-weight:700;display:grid}.contact-field b{color:var(--pink-strong)}.contact-field-help{color:var(--text-muted);font-size:.75rem;font-weight:400}.contact-message-count{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;display:flex}.contact-field input,.contact-field textarea{border-radius:var(--radius-control);background:var(--surface-page);width:100%;color:var(--ink);font:inherit;border:1px solid #d9dbe0;font-size:1rem;font-weight:400;line-height:1.6;transition:border-color .2s,background .2s,box-shadow .2s}.contact-field input{min-height:3.5rem;padding:.8rem 1rem}.contact-field textarea{resize:vertical;min-height:11rem;padding:1rem}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#858993;opacity:1}.contact-field input:hover,.contact-field textarea:hover{border-color:#bfc2c9}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--pink-strong);background:var(--white);outline:3px solid var(--pink-strong);outline-offset:4px}.contact-consent{color:var(--text-muted);align-items:flex-start;gap:.75rem;font-size:.72rem;line-height:1.6;display:flex}.contact-consent input{width:1.15rem;height:1.15rem;accent-color:var(--pink-strong);flex:none;margin:.05rem 0 0}.contact-consent a{color:var(--pink-strong);font-weight:700}.contact-honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-security{min-width:0;margin-top:1.5rem}.contact-security-widget{width:100%;min-width:0}.contact-security p{color:var(--text-muted);margin:.5rem 0 0;font-size:.75rem}.contact-security[data-state=error] p{color:var(--pink-strong)}.contact-security button{font:inherit;cursor:pointer;font-size:.75rem}.contact-form-footer{align-items:center;gap:1.25rem;margin-top:2rem;display:flex}.contact-form-footer button{cursor:pointer}.contact-form-footer button:disabled{cursor:wait;opacity:.65;box-shadow:none;transform:none}.contact-form-status{min-height:1.35rem;color:var(--text-muted);margin:.75rem 0 0;font-size:.875rem;font-weight:600}.contact-submit-spinner{animation:.9s linear infinite contact-submit-spin}@keyframes contact-submit-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.contact-submit-spinner{animation:none}}.contact-form-status[data-state=error]{color:var(--pink-strong)}.contact-form-status a{color:inherit;text-underline-offset:.15em;text-decoration:underline}.contact-sidebar{border-left:1px solid #dfe0e3;grid-area:1/2;min-width:0;padding-left:clamp(2rem,4vw,3.5rem);position:sticky;top:8rem}.contact-sidebar-intro h2{max-width:14ch;margin:.8rem 0 1rem}.contact-sidebar-intro p{color:var(--text-muted);margin:0;font-size:.84rem}.contact-faq{background:var(--white)}.contact-faq-grid{align-items:start;gap:var(--layout-gap);grid-template-columns:.7fr 1.3fr;display:grid}.contact-faq-intro{position:sticky;top:8rem}.contact-faq-intro h2{max-width:16ch;margin:1rem 0 1.25rem}.contact-faq-intro h2 span{color:var(--pink-strong)}.contact-faq-intro p{max-width:29rem;color:var(--text-muted);margin:0}.contact-faq-list{border-top:1px solid var(--line)}.contact-faq-list details{border-bottom:1px solid var(--line)}.contact-faq-list summary{cursor:pointer;grid-template-columns:1fr 2rem;align-items:center;gap:1rem;padding:1.5rem .25rem;font-weight:700;line-height:1.5;list-style:none;display:grid}.contact-faq-list summary::-webkit-details-marker{display:none}.contact-faq-list summary span{aspect-ratio:1;width:2rem;color:var(--pink-strong);place-items:center;font-size:1.35rem;font-weight:400;transition:transform .2s;display:grid}.contact-faq-list details[open] summary span{transform:rotate(45deg)}.contact-faq-list details p{max-width:43rem;color:var(--text-muted);margin:-.25rem 3rem 1.5rem .25rem;font-size:.82rem}.contact-faq-list details p a{color:var(--pink-strong);text-underline-offset:.15em;font-weight:700;text-decoration:underline}@media (max-width:850px){.contact-hero-grid,.contact-main-grid,.contact-faq-grid{grid-template-columns:1fr}.contact-hero-grid{min-height:0}.contact-hero-visual{justify-self:center;width:min(100%,32rem)}.contact-form,.contact-sidebar{grid-area:auto}.contact-sidebar{border-left:0;padding:0;position:static}.contact-sidebar-intro{max-width:33rem}.contact-faq-intro{position:static}}@media (max-width:600px){.contact-form{scroll-margin-top:92px}.contact-hero-copy h1{max-width:13ch}.contact-hero-actions{flex-direction:column;align-items:flex-start;gap:1rem}.contact-photo{--contact-plane-left:1.25rem;--contact-plane-right:1.25rem}.contact-photo img{object-position:center top}.contact-hero-caption{right:-.25rem}.contact-form-footer{flex-direction:column;align-items:flex-start}.contact-faq-list summary{padding:1.25rem 0;font-size:.84rem}.contact-faq-list details p{margin:-.1rem 2.5rem 1.25rem 0;font-size:.78rem}}
