.contact-page{background:var(--paper);min-height:calc(100svh - 80px);color:var(--chocolate);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);display:grid}.contact-intro{color:var(--paper);background:radial-gradient(120% 70% at 0 0,#09c4b938,#0000 60%),radial-gradient(90% 60% at 100% 100%,#f36b9b29,#0000 60%),#073c48;padding:clamp(96px,9vw,120px) clamp(28px,4vw,64px) clamp(150px,14vw,190px) max(28px,50vw - 600px);position:relative;overflow:hidden}.contact-bunting{opacity:.85;width:100%;height:64px;position:absolute;top:0;left:0}.contact-confetti{opacity:.55;pointer-events:none;position:absolute;inset:70px 0 0}.contact-float{pointer-events:none;position:absolute}.contact-float svg{width:100%;height:auto;display:block}.contact-float--bar{width:38px;top:18%;right:8%;rotate:14deg}.contact-float--pop{opacity:.9;width:30px;bottom:30%;right:30%;rotate:-12deg}.contact-float--star{width:26px;top:46%;right:5%}.contact-intro-inner{z-index:1;max-width:500px;position:relative}.contact-kicker{letter-spacing:.16em;text-transform:uppercase;color:#ffc2d8;background:#f36b9b29;border:1px solid #f36b9b8c;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700;display:inline-flex}.contact-intro h1{max-width:11ch;font-family:var(--font-display);letter-spacing:-.04em;margin-top:22px;font-size:clamp(44px,5vw,76px);font-weight:700;line-height:.98}.contact-intro h1 span{color:var(--strawberry)}.contact-lede{color:#d4ece9;max-width:42ch;margin-top:20px;font-size:1.0625rem;line-height:1.65}.contact-methods{gap:10px;margin-top:34px;display:grid}.contact-methods a{transition:background-color .2s, transform .25s var(--ease-out);border-radius:18px;align-items:center;gap:16px;margin-left:-10px;padding:10px 14px 10px 10px;display:flex}.contact-methods a:hover{background:#ffffff12;transform:translate(4px)}.contact-methods a:focus-visible{outline:3px solid var(--strawberry);outline-offset:2px}.contact-method-icon{background:#ffffff14;border:1px solid #ffffff24;border-radius:16px;flex:none;place-items:center;width:50px;height:50px;transition:background-color .2s,border-color .2s;display:grid}.contact-methods a:hover .contact-method-icon{background:var(--billy-teal);border-color:#0000}.contact-method-icon svg{fill:none;stroke:#8fe9e3;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.contact-methods a:hover .contact-method-icon svg{stroke:#fff}.contact-methods small{letter-spacing:.14em;text-transform:uppercase;color:#9fcfcb;font-size:11px;font-weight:700;display:block}.contact-methods strong{font-family:var(--font-display);margin-top:2px;font-size:21px;font-weight:600;line-height:1.2;display:block}.contact-methods .contact-email{overflow-wrap:anywhere;font-size:18px}.contact-book{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:440px;transition:background-color .2s, border-color .2s, transform .25s var(--ease-out);background:#ffffff12;border:1px solid #ffffff24;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;margin-top:34px;padding:18px 18px 18px 22px;display:flex}.contact-book:hover{background:#ffffff1c;border-color:#09c4b999;transform:translateY(-2px)}.contact-book:focus-visible{outline:3px solid var(--strawberry);outline-offset:3px}.contact-book strong{font-family:var(--font-display);font-size:18px;font-weight:600;display:block}.contact-book small{color:#b9dcd8;margin-top:3px;font-size:14px;display:block}.contact-book-arrow{background:var(--strawberry);color:#fff;width:44px;height:44px;transition:transform .25s var(--ease-pop);border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:700;display:grid;box-shadow:0 10px 20px -8px #f36b9bcc}.contact-book:hover .contact-book-arrow{transform:translate(4px)scale(1.05)}.contact-billy{z-index:2;width:128px;position:absolute;bottom:-14px;right:clamp(18px,4vw,56px)}.contact-billy .billy-bubble{white-space:nowrap;--bubble-origin:100% 100%;font-size:15px;position:absolute;top:6%;right:86%}.contact-panel{background:radial-gradient(70% 50% at 100% 0%, #00a9df14, transparent 70%), var(--paper);align-items:center;padding:clamp(64px,7vw,104px) max(28px,50vw - 600px) clamp(64px,7vw,104px) clamp(28px,6vw,96px);display:flex}.contact-panel-inner{width:100%;max-width:600px}.contact-panel-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--billy-teal-deep);font-size:12px;font-weight:700}.contact-panel h2{font-family:var(--font-display);letter-spacing:-.035em;margin-top:12px;font-size:clamp(34px,3.6vw,52px);font-weight:600;line-height:1.04}.contact-panel h2 span{color:var(--strawberry)}.contact-panel-lede{color:var(--chocolate-soft);margin-top:10px;font-size:1.0625rem;line-height:1.6}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px;display:grid}.contact-field{align-content:start;gap:7px;display:grid}.contact-field--wide{grid-column:1/-1}.contact-field label{color:var(--chocolate);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.contact-field label span{background:var(--cream);color:#9a7a66;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.contact-field input,.contact-field textarea{width:100%;font:inherit;color:var(--chocolate);background:#fff;border:2px solid #ecdcc6;border-radius:14px;outline:none;padding:13px 16px;font-size:16px;transition:border-color .2s,box-shadow .2s,background-color .2s}.contact-field textarea{resize:vertical;min-height:150px;line-height:1.55}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#b9a291}.contact-field input:hover,.contact-field textarea:hover{border-color:#dcc4a6}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--billy-teal);box-shadow:0 0 0 4px #09c4b92e}.contact-field [aria-invalid=true]{background:#fff8f9;border-color:#d6455d}.contact-field [aria-invalid=true]:focus{box-shadow:0 0 0 4px #d6455d29}.contact-error{color:#b3261e;font-size:13px;font-weight:600}.contact-field-foot{justify-content:space-between;gap:12px;display:flex}.contact-count{color:#a2826f;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.contact-trap{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-alert{color:#8c1d2c;background:#fff1f3;border:1px solid #f3c2c9;border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.55}.contact-alert a{text-underline-offset:3px;font-weight:700;text-decoration:underline}.contact-submit{flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:6px;display:flex}.contact-submit p{color:var(--chocolate-soft);font-size:14px}.contact-submit p a{color:var(--billy-teal-deep);font-weight:700}.contact-submit p a:hover{text-underline-offset:3px;text-decoration:underline}.contact-send{background:var(--billy-teal-deep);letter-spacing:.02em;min-height:54px;color:var(--paper);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 28px;font-size:16px;font-weight:700;display:inline-flex;box-shadow:0 14px 26px -14px #0a6a86e6}.contact-send:hover{background:#08566d}.contact-send:focus-visible{outline:3px solid var(--strawberry);outline-offset:3px}.contact-send:disabled{cursor:progress;opacity:.85;transform:none}.contact-send .btn-arrow{margin-left:2px}.contact-spinner{border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite contact-spin}@keyframes contact-spin{to{transform:rotate(360deg)}}.contact-sent{background:#effbf9;border:2px solid #c9efe9;border-radius:24px;justify-items:start;gap:12px;margin-top:30px;padding:32px;display:grid}.contact-sent-badge{background:var(--billy-teal);border-radius:50%;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 12px 24px -12px #09c4b9e6}.contact-sent-badge svg{fill:none;stroke:#fff;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.contact-sent h3{font-family:var(--font-display);font-size:28px;font-weight:600}.contact-sent p{color:var(--chocolate-soft);font-size:16px;line-height:1.6}.contact-sent strong{color:var(--chocolate);overflow-wrap:anywhere}.contact-link-button{color:var(--billy-teal-deep);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;margin-top:4px;padding:0;font-weight:700;text-decoration:underline}html[data-motion] .contact-float{animation:6s ease-in-out infinite alternate balloon-float}html[data-motion] .contact-float--pop{animation-duration:7s;animation-delay:-3s}html[data-motion] .contact-intro-inner>*,html[data-motion] .contact-panel-inner>*{animation:hero-up .6s var(--ease-pop) backwards}html[data-motion] .contact-intro-inner>:nth-child(2){animation-delay:60ms}html[data-motion] .contact-intro-inner>:nth-child(3){animation-delay:.12s}html[data-motion] .contact-intro-inner>:nth-child(4){animation-delay:.18s}html[data-motion] .contact-intro-inner>:nth-child(5){animation-delay:.26s}html[data-motion] .contact-intro-inner>:nth-child(6){animation-delay:.34s}html[data-motion] .contact-panel-inner>:nth-child(2){animation-delay:.1s}html[data-motion] .contact-panel-inner>:nth-child(3){animation-delay:.16s}html[data-motion] .contact-panel-inner>:nth-child(4){animation-delay:.24s}html[data-motion] .contact-sent{animation:hero-up .5s var(--ease-pop) both}html[data-motion] .contact-sent-badge{animation:contact-badge .6s .1s var(--ease-pop) backwards}@keyframes contact-badge{0%{opacity:0;rotate:-30deg;scale:.4}}@media (prefers-reduced-motion:reduce){.contact-spinner{animation-duration:2s}}@media (max-width:1023px){.contact-page{grid-template-columns:1fr;min-height:0}.contact-intro{padding:92px 28px 150px}.contact-intro-inner{max-width:620px}.contact-panel{padding:56px 28px 88px}.contact-panel-inner{max-width:640px;margin:0 auto}}@media (max-width:599px){.contact-intro{padding:84px 20px 140px}.contact-intro h1{font-size:clamp(40px,12vw,52px)}.contact-float--bar,.contact-float--pop{display:none}.contact-methods strong{font-size:19px}.contact-methods .contact-email{font-size:16px}.contact-method-icon{border-radius:14px;width:46px;height:46px}.contact-billy{width:108px;right:12px}.contact-panel{padding:44px 20px 96px}.contact-form{grid-template-columns:1fr;gap:16px}.contact-send{width:100%}.contact-submit{text-align:center;justify-content:center}.contact-sent{padding:24px}}
