.contact-page{--contact-gutter:clamp(1.25rem, 5vw, 6rem);z-index:2;min-height:100svh;padding:clamp(5rem, 8svh, 6rem) var(--contact-gutter) clamp(5rem, 10svh, 8rem);color:var(--color-ink);background:0 0;position:relative;overflow:hidden}.contact-page:before{content:"";aspect-ratio:1;background:radial-gradient(circle, color-mix(in oklch, var(--color-accent) 15%, transparent), transparent 68%);pointer-events:none;border-radius:50%;width:min(52rem,72vw);position:absolute;top:0;right:-18%}.contact-page__hero,.contact-page__content{width:min(100%,92rem);margin-inline:auto;position:relative}.contact-page__hero{align-content:end;min-height:0;padding-bottom:0;display:grid}.contact-page__details h2{color:color-mix(in oklch, var(--color-ink) 58%, transparent);text-transform:uppercase;margin:0;font-size:.78rem;font-weight:650}.contact-page__title{width:100%;font-family:var(--font-sans);margin:0;font-size:clamp(3.25rem,5.7vw,5.25rem);line-height:.9}.contact-page__title span{white-space:nowrap;display:block}.contact-page__title span+span{margin-top:.08em}.contact-page__title-lead{font-variation-settings:"wght" 330;font-weight:330}.contact-page__title-accent{font-variation-settings:"wght" 720;font-weight:720}.contact-page__content{background:var(--color-shadow);box-shadow:0 1.75rem 5rem color-mix(in oklch, var(--color-shadow) 38%, transparent);border-radius:clamp(1.25rem,2.6vw,2rem);align-items:start;gap:clamp(3rem,6vw,6rem);margin-top:clamp(2.5rem,5svh,4rem);padding:clamp(2rem,3.2vw,3.5rem);display:grid}.contact-page__details{align-self:start;position:relative}.contact-page__details a,.contact-page__details p{color:color-mix(in oklch, var(--color-ink) 72%, transparent);margin:0;line-height:1.55;display:block}.contact-page__details a{width:fit-content;color:var(--color-ink);text-decoration-color:var(--color-ink);text-underline-offset:.3em;margin-top:1.5rem;font-size:clamp(1.15rem,1.7vw,1.45rem)}.contact-page__details .copy-email{margin-top:1.5rem}.contact-page__details p:first-of-type{margin-top:2rem}.contact-page__signal{background:linear-gradient(90deg, var(--color-warm-orange), var(--color-accent));width:3.5rem;height:.35rem;margin-top:.75rem;display:block}.contact-form__title{font-family:var(--font-sans);font-variation-settings:"wght" 430;margin:0 0 clamp(2rem,3.5vw,3rem);font-size:clamp(2.2rem,3.8vw,3.75rem);font-weight:430;line-height:.98}.contact-form{justify-self:center;width:min(100%,42rem)}.contact-form__grid{gap:1.5rem clamp(1.5rem,3vw,3rem);display:grid}.contact-field{gap:.5rem;display:grid;position:relative}.contact-preference{border:0;min-width:0;margin:0;padding:0}.contact-preference legend{color:color-mix(in oklch, var(--color-ink) 58%, transparent);text-transform:uppercase;margin-bottom:.55rem;padding:0;font-size:.76rem;font-weight:620}.contact-preference__control{border:1px solid color-mix(in oklch, var(--color-ink) 20%, transparent);background:color-mix(in oklch, var(--color-surface-raised) 48%, transparent);border-radius:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));min-height:2.45rem;padding:.2rem;display:grid;position:relative}.contact-preference--full .contact-preference__control{max-width:26rem}.contact-preference__indicator{background:linear-gradient(112deg, var(--color-warm-gold), var(--color-warm-orange) 42%, var(--color-accent));border-radius:.45rem;width:calc(50% - .2rem);transition:transform .36s cubic-bezier(.16,1,.3,1);position:absolute;top:.2rem;bottom:.2rem;left:.2rem}.contact-form[data-contact-method=phone] .contact-preference__indicator{transform:translate(100%)}.contact-preference label{z-index:1;cursor:pointer;place-items:center;min-width:0;display:grid;position:relative}.contact-preference input{opacity:0;width:1px;height:1px;position:absolute}.contact-preference label span{color:color-mix(in oklch, var(--color-ink) 64%, transparent);font-size:.83rem;font-weight:580;transition:color .24s}.contact-preference input:checked+span{color:var(--color-shadow)}.contact-preference input:focus-visible+span{outline:2px solid var(--color-ink);outline-offset:.18rem}.contact-form__contact-fields{min-width:0;display:grid}.contact-field--contact{grid-area:1/1;transition:opacity .26s cubic-bezier(.16,1,.3,1),transform .36s cubic-bezier(.16,1,.3,1),visibility .26s}.contact-field--contact[aria-hidden=true]{visibility:hidden;pointer-events:none;opacity:0;transform:translateY(.45rem)}.contact-field>span{color:color-mix(in oklch, var(--color-ink) 58%, transparent);text-transform:uppercase;font-size:.76rem;font-weight:620}.contact-field input,.contact-field select,.contact-field textarea{border:0;border-bottom:1px solid color-mix(in oklch, var(--color-ink) 24%, transparent);width:100%;color:var(--color-ink);font:inherit;background:0 0;border-radius:0;outline:0;font-size:clamp(1rem,1.2vw,1.15rem);transition:border-color .26s}.contact-field input,.contact-field select{min-height:2.8rem;padding:0 2.25rem .5rem 0}.contact-field select{appearance:none;cursor:pointer}.contact-field select option{background:var(--color-surface);color:var(--color-ink)}.contact-field textarea{resize:vertical;min-height:7.5rem;padding:.35rem 0 1rem;line-height:1.55}.contact-field input::placeholder,.contact-field textarea::placeholder{color:color-mix(in oklch, var(--color-ink) 38%, transparent)}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--color-warm-orange)}.sent{z-index:350;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.sent__scrim{background:color-mix(in oklch, var(--color-shadow) 72%, transparent);opacity:0;transition:opacity .26s;position:absolute;inset:0}.sent[data-open=true] .sent__scrim{opacity:1}.sent__panel{border:1px solid color-mix(in oklch, var(--color-ink) 14%, transparent);border-radius:var(--radius-card);background:var(--color-surface);text-align:center;opacity:0;width:min(26rem,100%);padding:clamp(1.75rem,4vw,2.4rem);transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .38s cubic-bezier(.16,1,.3,1);position:relative;transform:translateY(1rem)scale(.97)}.sent[data-open=true] .sent__panel{opacity:1;transform:translate(0,0)scale(1)}.sent__mark{background:linear-gradient(112deg, var(--color-warm-gold), var(--color-warm-orange) 34%, var(--color-accent-bright) 70%, var(--color-warm-rose));border-radius:999px;place-items:center;width:3.25rem;height:3.25rem;margin:0 auto 1.1rem;display:grid}.sent__mark svg{width:1.6rem;height:1.6rem;stroke:var(--color-surface);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.sent__title{font-variation-settings:"wght" 640;margin:0 0 .6rem;font-size:clamp(1.3rem,2.2vw,1.6rem);font-weight:640;line-height:1.15}.sent__body{color:var(--color-muted);text-wrap:pretty;margin:0 0 1.6rem;font-size:.95rem;line-height:1.55}.sent__close{border:1px solid color-mix(in oklch, var(--color-ink) 34%, transparent);min-height:2.7rem;color:var(--color-ink);cursor:pointer;font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;background:0 0;border-radius:999px;padding:.8rem 2rem;font-size:.82rem;font-weight:660;transition:background-color .24s,color .24s,border-color .24s}.sent__close:focus-visible{outline:2px solid var(--color-warm-orange);outline-offset:3px}@media (hover:hover){.sent__close:hover{background-color:var(--color-ink);color:var(--color-surface);border-color:#0000}}@media (prefers-reduced-motion:reduce){.sent__scrim,.sent__panel{transition:none}}.contact-field[data-invalid=true],.field--select[data-invalid=true]{animation:.46s cubic-bezier(.36,.07,.19,.97) field-nudge;position:relative}.contact-field[data-invalid=true] input,.contact-field[data-invalid=true] textarea,.field--select[data-invalid=true] .field__trigger{border-bottom-color:var(--color-accent-bright)}.contact-field[data-invalid=true] .contact-field__required,.field--select[data-invalid=true] .field__required{animation:.38s cubic-bezier(.16,1,.3,1) field-pop}.contact-field__error{z-index:1;max-width:60%;color:var(--color-accent-bright);text-transform:none;white-space:nowrap;pointer-events:none;align-items:center;gap:.35rem;font-size:.7rem;line-height:1.2;display:flex;position:absolute;top:0;right:0;overflow:hidden}.contact-field__error:before{content:"!";background:var(--color-accent-bright);width:1.05rem;height:1.05rem;color:var(--color-surface);border-radius:999px;flex:none;place-items:center;font-size:.7rem;font-weight:800;line-height:1;display:grid}.field--select{position:relative}@media (width<=700px){.contact-field__error{gap:0;max-width:1.05rem}}@keyframes field-nudge{0%,to{transform:translate(0)}18%{transform:translate(-4px)}38%{transform:translate(4px)}58%{transform:translate(-2px)}78%{transform:translate(2px)}}@keyframes field-pop{0%{transform:scale(1)}45%{transform:scale(1.6)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.contact-field[data-invalid=true],.field--select[data-invalid=true],.contact-field[data-invalid=true] .contact-field__required,.field--select[data-invalid=true] .field__required{animation:none}}.contact-field__required,.field__required{color:var(--color-accent-bright);margin-left:.28em;font-weight:700}.field--select{gap:.55rem;display:grid;position:relative}.field__label{color:color-mix(in oklch, var(--color-ink) 58%, transparent);text-transform:uppercase;font-size:.76rem;font-weight:620}.field--select[data-enhanced=true] .field__native{opacity:0;pointer-events:none;width:1px;height:1px;padding:0;position:absolute;bottom:0;left:0}.field__trigger{border:0;border-bottom:1px solid color-mix(in oklch, var(--color-ink) 24%, transparent);width:100%;min-height:2.8rem;color:var(--color-ink);cursor:pointer;font:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:1rem;padding:0 0 .5rem;font-size:clamp(1rem,1.2vw,1.15rem);transition:border-color .26s;display:flex}.field__trigger [data-placeholder]{color:color-mix(in oklch, var(--color-ink) 38%, transparent)}.field__trigger svg{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.2rem;height:1.2rem;transition:transform .28s cubic-bezier(.16,1,.3,1)}.field__trigger[aria-expanded=true]{border-color:var(--color-warm-orange)}.field__trigger[aria-expanded=true] svg{transform:rotate(180deg)}.field__trigger:focus-visible{outline:2px solid var(--color-warm-orange);outline-offset:4px}.field__list{z-index:5;border:1px solid color-mix(in oklch, var(--color-ink) 14%, transparent);border-radius:var(--radius-card);background:var(--color-surface-raised);max-height:15rem;box-shadow:0 1.25rem 2.5rem color-mix(in oklch, var(--color-shadow) 55%, transparent);margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow-y:auto}.field__list:focus-visible{outline:none}.field__option{border-radius:calc(var(--radius-card) - .15rem);color:color-mix(in oklch, var(--color-ink) 82%, transparent);cursor:pointer;padding:.6rem .75rem;font-size:.95rem;line-height:1.3;transition:background-color .16s,color .16s}.field__option.is-active{background:color-mix(in oklch, var(--color-ink) 8%, transparent);color:var(--color-ink)}.field__option[aria-selected=true]{color:var(--color-ink);font-weight:620}.field__option[aria-selected=true]:after{content:"";float:right;background:linear-gradient(112deg, var(--color-warm-gold), var(--color-warm-orange) 45%, var(--color-accent-bright));border-radius:999px;width:.42rem;height:.42rem;margin-top:.42em}@media (prefers-reduced-motion:reduce){.field__trigger svg,.field__option{transition:none}}.contact-field--select svg{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:1.2rem;height:1.2rem;position:absolute;bottom:1.05rem;right:0}.contact-field--message{grid-column:1/-1}.contact-field>.contact-field__heading{text-transform:none;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.contact-field__label{color:color-mix(in oklch, var(--color-ink) 46%, transparent);text-transform:uppercase;font-size:.76rem;font-weight:620;line-height:1.3}.contact-field__progress{color:color-mix(in oklch, var(--color-ink) 52%, transparent);text-transform:none;justify-content:flex-end;align-items:baseline;gap:.55rem;font-size:.76rem;font-weight:560;line-height:1.3;display:inline-flex}.contact-field__count{color:var(--color-accent-bright);font-variant-numeric:tabular-nums;flex:none;font-weight:680;transition:color .26s}.contact-field__progress[data-stage=started] .contact-field__count{color:var(--color-warm-rose)}.contact-field__progress[data-stage=halfway] .contact-field__count{color:var(--color-warm-orange)}.contact-field__progress[data-stage=nearly] .contact-field__count{color:var(--color-warm-gold)}.contact-field__progress[data-stage=perfect] .contact-field__count{color:var(--color-ink)}.contact-form__footer{justify-content:space-between;align-items:center;gap:2rem;margin-top:clamp(1.75rem,3vw,2.5rem);display:flex}.contact-form__status{color:var(--color-warm-orange);min-height:1.3em;margin:.75rem 0 0;font-size:.88rem;line-height:1.45}.contact-form__status:empty{display:none}.contact-form__status[data-state=success]{color:var(--color-warm-gold)}.contact-form__status[data-state=error]{color:var(--color-accent-bright)}.contact-form__hp{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact-consent{cursor:pointer;align-items:flex-start;gap:.7rem;margin-top:clamp(1.5rem,2.6vw,2rem);display:flex}.contact-consent input{opacity:0;cursor:pointer;width:1.15rem;height:1.15rem;margin:0;position:absolute}.contact-consent__box{border:1px solid color-mix(in oklch, var(--color-ink) 34%, transparent);border-radius:.25rem;flex:none;place-items:center;width:1.15rem;height:1.15rem;margin-top:.1rem;transition:border-color .2s,background .2s;display:grid}.contact-consent__box svg{width:.8rem;height:.8rem;stroke:var(--color-surface);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .18s,transform .24s cubic-bezier(.16,1,.3,1);transform:scale(.7)}.contact-consent input:checked+.contact-consent__box{background:linear-gradient(112deg, var(--color-warm-gold), var(--color-warm-orange) 34%, var(--color-accent-bright) 70%, var(--color-warm-rose));border-color:#0000}.contact-consent input:checked+.contact-consent__box svg{opacity:1;transform:scale(1)}.contact-consent input:focus-visible+.contact-consent__box{outline:2px solid var(--color-warm-orange);outline-offset:3px}.contact-consent__text{color:color-mix(in oklch, var(--color-ink) 68%, transparent);text-wrap:pretty;font-size:.84rem;line-height:1.5}.contact-consent__text a{color:var(--color-ink);text-decoration:underline;text-decoration-color:color-mix(in oklch, var(--color-warm-orange) 60%, transparent);text-underline-offset:.18em;transition:color .2s}.contact-form__recaptcha{color:color-mix(in oklch, var(--color-ink) 46%, transparent);text-wrap:pretty;margin:1rem 0 0;font-size:.74rem;line-height:1.5}.contact-form__recaptcha a{color:inherit;text-underline-offset:.18em;text-decoration:underline;transition:color .2s}.contact-form[data-sending=true]{opacity:.72;pointer-events:none}@media (hover:hover){.contact-consent__text a:hover,.contact-form__recaptcha a:hover{color:var(--color-warm-orange)}}@media (width>=58rem){.contact-page{padding-top:clamp(7rem,12svh,9rem)}.contact-page__content{grid-template-columns:minmax(14rem,.45fr) minmax(42rem,1.55fr);gap:clamp(2.5rem,4vw,4rem);margin-top:clamp(2rem,4svh,3.5rem);padding:clamp(2.35rem,3.6svh,3.15rem) 2rem}.contact-page__details{align-self:start;position:static}.contact-form__title{margin-bottom:1.8rem;font-size:clamp(2.25rem,3vw,3rem)}.contact-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem 1.5rem}.contact-field--name,.contact-preference--full{grid-column:1/-1}.contact-field--name input{max-width:26rem}.contact-field input,.contact-field select{min-height:2.45rem}.contact-field textarea{height:6.25rem;min-height:6.25rem}.contact-form__footer{margin-top:1.5rem}.contact-form__status{margin-top:.4rem}}@media (width<=42rem){.contact-page{padding-top:6.5rem}.contact-page__hero{min-height:0;padding-bottom:0}.contact-page__title{max-width:100%;font-size:clamp(1.6rem,6.7vw,2rem)}.contact-page__content{flex-direction:column;gap:3rem;margin-top:3.5rem;padding:1.5rem;display:flex}.contact-form{order:1}.contact-form__title{white-space:nowrap;margin-bottom:2rem;font-size:clamp(1.3rem,6.7vw,2rem)}.contact-page__details{border-top:1px solid color-mix(in oklch, var(--color-ink) 16%, transparent);order:2;width:100%;padding-top:2.25rem}.contact-field>.contact-field__heading{gap:.5rem}.contact-field__label{white-space:nowrap;font-size:.69rem}.contact-field__progress{white-space:nowrap;gap:.35rem;font-size:.69rem}.contact-form__footer{flex-direction:column;align-items:flex-start}.contact-form__footer .gradient-cta{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){.contact-preference__indicator,.contact-preference label span,.contact-field--contact,.contact-field__progress,.contact-field__count{transition:none}}.copy-email[data-astro-cid-psllz2q5]{--copy-x:50%;--copy-y:0px;width:fit-content;max-width:100%;color:inherit;cursor:pointer;font-family:var(--font-sans);font-variation-settings:"wght" 380;text-align:left;background:0 0;border:0;padding:0;font-size:clamp(1.35rem,2vw,2.2rem);font-weight:380;line-height:1;display:inline-grid;position:relative}.copy-email--compact[data-astro-cid-psllz2q5]{font-size:clamp(1.1rem,1.55vw,1.4rem)}.copy-email__text[data-astro-cid-psllz2q5]{white-space:nowrap;text-decoration-line:underline;text-decoration-color:var(--color-ink);text-underline-offset:.16em;text-decoration-thickness:.055em;display:inline-block}.copy-email__popover[data-astro-cid-psllz2q5]{z-index:4;pointer-events:none;transform:translate3d(var(--copy-x), var(--copy-y), 0);display:grid;position:absolute;inset:0 auto auto 0}.copy-email__popover-stack[data-astro-cid-psllz2q5]{background:var(--color-ink);min-width:max-content;color:var(--color-paper);font-variation-settings:"wght" 560;opacity:0;font-size:.8rem;font-weight:560;line-height:1.2;transition:opacity .22s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);display:grid;overflow:hidden;transform:translate(-50%,-150%)scale(.86)}.copy-email[data-astro-cid-psllz2q5]:hover .copy-email__popover-stack[data-astro-cid-psllz2q5],.copy-email[data-astro-cid-psllz2q5]:focus-visible .copy-email__popover-stack[data-astro-cid-psllz2q5],.copy-email[data-astro-cid-psllz2q5][data-copied=true] .copy-email__popover-stack[data-astro-cid-psllz2q5]{opacity:1;transform:translate(-50%,-150%)scale(1)}.copy-email__popover-line[data-astro-cid-psllz2q5]{white-space:nowrap;opacity:0;grid-area:1/1;justify-content:center;align-items:center;gap:.45rem;min-height:2.1rem;padding:.5rem .65rem;transition:opacity .22s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);display:inline-flex;transform:translateY(72%)}.copy-email[data-astro-cid-psllz2q5]:hover .copy-email__popover-line--copy[data-astro-cid-psllz2q5],.copy-email[data-astro-cid-psllz2q5]:focus-visible .copy-email__popover-line--copy[data-astro-cid-psllz2q5]{opacity:1;transform:translate(0,0)}.copy-email[data-astro-cid-psllz2q5][data-copied=true] .copy-email__popover-line--copy[data-astro-cid-psllz2q5]{opacity:0;transform:translateY(-72%)}.copy-email[data-astro-cid-psllz2q5][data-copied=true] .copy-email__popover-line--copied[data-astro-cid-psllz2q5]{opacity:1;transform:translate(0,0)}.copy-email__popover-line[data-astro-cid-psllz2q5] svg[data-astro-cid-psllz2q5]{stroke-width:1.6px;stroke-linecap:square;stroke-linejoin:miter;width:1.05em;height:1.05em}.copy-email__sr-only[data-astro-cid-psllz2q5]{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.copy-email__popover-stack[data-astro-cid-psllz2q5],.copy-email__popover-line[data-astro-cid-psllz2q5]{transition:none}}
