:root{--ink: #54382f;--ink-deep: #35231f;--plum: #774e4d;--rose: #bd7766;--apricot: #e9a979;--peach: #f2c7a6;--cream: #fff8ee;--paper: #fbf0e3;--blush: #f5ded4;--sage: #bac5ae;--green: #66745d;--line: rgba(84, 56, 47, .18);--display: Georgia, "Times New Roman", serif;--sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ink);background:var(--cream);font-family:var(--sans);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--cream)}a{color:inherit}button,input,select,textarea{font:inherit}button,label,select{-webkit-tap-highlight-color:transparent}fieldset{min-width:0;padding:0;margin:0;border:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:-4rem;left:1rem;padding:.75rem 1rem;background:var(--ink-deep);color:#fff;transition:top .2s ease}.skip-link:focus{top:1rem}.announcement{display:flex;justify-content:center;align-items:center;gap:.7rem 1.4rem;min-height:2.6rem;padding:.55rem 1rem;background:var(--plum);color:#fff9f0;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.announcement>span:first-child{color:var(--peach)}.announcement a{text-underline-offset:.25em}.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:1540px;margin:0 auto;padding:1.25rem clamp(1.2rem,5vw,5rem);background:var(--cream)}.wordmark{display:flex;align-items:center;gap:.8rem;color:var(--ink);font:700 1rem/.95 var(--display);letter-spacing:.025em;text-decoration:none;text-transform:uppercase}.wordmark em{color:var(--rose);font-weight:400}.wordmark small{display:block;margin-top:.45rem;font:700 .54rem/1 var(--sans);letter-spacing:.16em}.wordmark__mark{display:grid;width:2.7rem;height:2.7rem;place-items:center;border-radius:50% 50% 48% 52%/56% 45% 55% 44%;background:var(--rose);color:var(--cream);font:italic 1.4rem var(--display);transform:rotate(-5deg)}.site-nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.4rem);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.site-nav>a:not(.button){position:relative;text-decoration:none}.site-nav>a:not(.button):after{content:"";position:absolute;right:0;bottom:-.4rem;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.site-nav>a:not(.button):hover:after,.site-nav>a:not(.button):focus-visible:after{transform:scaleX(1);transform-origin:left}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:3.35rem;padding:.1rem 1.45rem 0;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:#fffaf2;font-size:.7rem;font-weight:800;letter-spacing:.1em;line-height:1.2;text-align:center;text-decoration:none;text-transform:uppercase;transition:background .2s ease,color .2s ease,transform .2s ease}.button:hover,.button:focus-visible{background:var(--rose);border-color:var(--rose);color:#fff;transform:translateY(-2px)}.button--small{min-height:2.8rem;padding-inline:1.15rem}.button--light{border-color:var(--cream);background:var(--cream);color:var(--ink)}.button--light:hover,.button--light:focus-visible{border-color:var(--peach);background:var(--peach);color:var(--ink)}.button--disabled,.button--disabled:hover{cursor:not-allowed;border-color:#c9c5c3;background:#d8d4d2;color:#6c6866;transform:none}.text-link,.text-button{display:inline-flex;align-items:center;gap:.55rem;width:fit-content;padding:.25rem 0;border:0;background:transparent;color:inherit;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-decoration:underline;text-decoration-color:var(--rose);text-decoration-thickness:1px;text-underline-offset:.35em;text-transform:uppercase;cursor:pointer}.text-link:hover,.text-link:focus-visible,.text-button:hover,.text-button:focus-visible{color:var(--rose)}.eyebrow,.kicker,.section-number{margin:0;color:var(--green);font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.kicker--light,.section-number--light{color:var(--peach)}h1,h2,h3,h4{font-family:var(--display);font-weight:400;letter-spacing:-.045em}.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(470px,.92fr);min-height:min(790px,calc(100vh - 8rem));background:var(--cream)}.hero__copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(4rem,7.5vw,8rem) clamp(1.35rem,7.5vw,8.5rem)}h1{max-width:840px;margin:1.25rem 0 1.4rem;font-size:clamp(3.7rem,6.5vw,7.3rem);line-height:.9}h1 em,h2 em{color:var(--rose);font-weight:400}.hero__intro{max-width:34rem;margin:0;font-size:1.03rem;line-height:1.72}.hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.25rem 1.6rem;margin-top:2.15rem}.hero__welcome{display:grid;grid-template-columns:auto 1fr;gap:.5rem;max-width:31rem;padding-top:1.6rem;margin-top:2.4rem;border-top:1px solid var(--line);color:var(--plum)}.hero__welcome>span{color:var(--apricot);font:italic 2.6rem/.8 var(--display)}.hero__welcome p{margin:0;font:italic 1rem/1.45 var(--display)}.hero__art{position:relative;min-height:690px;overflow:hidden;background:var(--blush);color:var(--green)}.hero__glow{position:absolute;top:7%;right:9%;width:min(33vw,460px);aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#f5c592,var(--apricot));box-shadow:0 0 0 30px #fff8ee47}.hero__arch{position:absolute;right:10%;bottom:-8%;width:min(37vw,510px);height:min(49vw,640px);border:clamp(18px,2vw,30px) solid rgba(255,248,238,.82);border-bottom:0;border-radius:500px 500px 0 0}.hero__cloth{position:absolute;right:-11%;bottom:0;width:79%;height:23%;border-radius:70% 0 0;background:var(--plum);transform:rotate(-4deg);transform-origin:bottom right}.hero__stone{position:absolute;border-radius:49% 51% 45% 55%;box-shadow:0 17px 22px #54382f1a}.hero__stone--one{right:15%;bottom:14%;width:28%;aspect-ratio:1.7;background:var(--paper);transform:rotate(-8deg)}.hero__stone--two{right:28%;bottom:23%;width:19%;aspect-ratio:1.75;background:var(--rose);transform:rotate(6deg)}.hero__botanical{position:absolute;bottom:-4%;left:1%;width:min(32vw,350px);filter:drop-shadow(0 12px 15px rgba(84,56,47,.08))}.hero__seal{position:absolute;top:9%;left:8%;display:grid;width:9.5rem;height:9.5rem;place-content:center;border:1px solid rgba(84,56,47,.34);border-radius:50%;background:#fff8eed6;text-align:center;transform:rotate(-7deg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero__seal span{font-size:.57rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.hero__seal strong{margin:.25rem 0;color:var(--rose);font:italic 1.4rem var(--display)}.section{padding:clamp(5rem,9vw,8.5rem) clamp(1.35rem,7vw,8rem)}.welcome{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:clamp(3rem,10vw,11rem);align-items:center;max-width:1400px;margin:0 auto}.portrait-art{position:relative;min-height:540px;overflow:hidden;border-radius:48% 48% 2rem 2rem;background:var(--sage)}.portrait-art__sun{position:absolute;top:8%;left:14%;width:72%;aspect-ratio:1;border-radius:50%;background:var(--peach)}.portrait-art__figure{position:absolute;right:13%;bottom:-4%;width:72%;height:77%;border-radius:52% 48% 0 0;background:var(--plum);transform:rotate(5deg)}.portrait-art__figure:after{content:"";position:absolute;top:-13%;left:28%;width:45%;aspect-ratio:.83;border-radius:52% 48% 46% 54%;background:var(--rose)}.portrait-art>span{position:absolute;bottom:7%;left:8%;color:var(--cream);font:italic clamp(2.8rem,5vw,5rem)/1 var(--display)}.welcome__copy{max-width:690px}.welcome h2,.services h2,.booking h2,.first-visit h2,.visit h2,.site-footer h2{margin:.8rem 0 1.4rem;font-size:clamp(3rem,5.2vw,5.7rem);line-height:.93}.welcome__copy>p:not(.section-number,.kicker){max-width:37rem;margin:0 0 1.15rem;font-size:1rem;line-height:1.72}.welcome__copy .kicker{margin-top:2.2rem}.welcome__copy .text-link{margin-top:1.1rem}.services{background:var(--ink-deep);color:var(--cream)}.services__heading{display:grid;grid-template-columns:.75fr 1.25fr .7fr;gap:clamp(1.5rem,5vw,5rem);align-items:end;max-width:1440px;margin:0 auto 3.5rem}.services__heading h2{margin:0;color:var(--cream)}.services__heading>p{max-width:20rem;margin:0;color:#e5d7ce;font-size:.94rem;line-height:1.7}.services__heading .kicker{margin-top:1.5rem}.service-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;max-width:1440px;margin:0 auto;background:#fff8ee38;border:1px solid rgba(255,248,238,.22)}.service-card{display:flex;flex-direction:column;min-height:390px;padding:1.75rem;background:var(--ink-deep)}.service-card--feature{background:var(--plum)}.service-card__number{margin:0 auto auto 0;padding:.45rem .7rem;border:1px solid rgba(255,248,238,.27);border-radius:999px;color:var(--peach);font-size:.59rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.service-card h3{margin:3.4rem 0 1rem;font-size:clamp(1.75rem,2.2vw,2.45rem);line-height:.98}.service-card>p:not(.service-card__number){min-height:4.6rem;margin:0;color:#e8dad1;font-size:.88rem;line-height:1.6}.service-card__meta{display:flex;justify-content:space-between;gap:1rem;padding:1.1rem 0;margin-top:1.25rem;border-top:1px solid rgba(255,248,238,.22);font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.service-card a{display:inline-flex;gap:.55rem;margin-top:.9rem;color:var(--peach);font-size:.66rem;font-weight:800;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.service-card a:hover,.service-card a:focus-visible{text-decoration:underline;text-underline-offset:.3em}.booking{background:var(--paper)}.booking__intro{display:grid;grid-template-columns:.4fr 1.25fr .75fr;gap:clamp(1.5rem,5vw,5rem);align-items:end;max-width:1440px;margin:0 auto 3.25rem}.booking__intro h2{margin:0}.booking__intro>p:not(.section-number,.kicker){max-width:24rem;margin:0;line-height:1.7}.booking__intro .kicker{grid-column:2;margin-bottom:-3.4rem;align-self:start}.booking__trust{grid-column:2 / -1;display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;margin-top:-1.1rem;color:var(--green);font-size:.72rem;font-weight:700}.booking__trust span{display:flex;align-items:center;gap:.45rem}.booking__trust b{display:grid;width:1.25rem;height:1.25rem;place-items:center;border-radius:50%;background:var(--sage);color:var(--ink);font-size:.7rem}.booking-shell{max-width:1180px;margin:0 auto;overflow:hidden;border:1px solid var(--line);border-radius:1.7rem;background:var(--cream);box-shadow:0 26px 70px #54382f1a}.preview-note{display:flex;align-items:center;justify-content:center;gap:.65rem 1rem;padding:.7rem 1.2rem;background:var(--plum);color:#fff7ee;font-size:.72rem;line-height:1.4}.preview-note strong{color:var(--peach);font-size:.61rem;letter-spacing:.12em;text-transform:uppercase}.booking-steps{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0;border-bottom:1px solid var(--line);list-style:none}.booking-steps li{position:relative;display:flex;align-items:center;justify-content:center;gap:.55rem;padding:1.35rem .7rem;color:#987c71;font-size:.67rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.booking-steps li:not(:last-child):after{content:"";position:absolute;top:50%;right:0;width:1px;height:1.6rem;background:var(--line);transform:translateY(-50%)}.booking-steps span{display:grid;width:1.8rem;height:1.8rem;place-items:center;border:1px solid currentColor;border-radius:50%}.booking-steps .is-active{color:var(--plum);background:var(--blush)}.booking-steps .is-active span{background:var(--plum);color:#fff}.booking-steps .is-complete{color:var(--green)}.booking-steps .is-complete span{border-color:var(--sage);background:var(--sage);font-size:0}.booking-steps .is-complete span:before{content:"✓";font-size:.75rem}.booking-panel{padding:clamp(1.5rem,4vw,3.5rem)}.booking-panel.is-active{animation:panel-in .3s ease-out both}.panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding-bottom:1.5rem;margin-bottom:1.6rem;border-bottom:1px solid var(--line)}.panel-heading p{margin:0 0 .4rem;color:var(--rose);font-size:.63rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.panel-heading h3{margin:0;font-size:clamp(2rem,3.2vw,3.1rem);line-height:1}.panel-heading>span{max-width:17rem;color:#836c63;font-size:.69rem;line-height:1.45;text-align:right}.choice-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.choice-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:center;min-height:6rem;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:1rem;background:#fffdfa;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.choice-card:hover{border-color:var(--rose);transform:translateY(-2px)}.choice-card:has(input:checked){border-color:var(--plum);background:var(--blush);box-shadow:0 0 0 1px var(--plum)}.choice-card--featured:after{content:"First visit";position:absolute;top:.7rem;right:.7rem;padding:.28rem .5rem;border-radius:999px;background:var(--peach);color:var(--ink);font-size:.5rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.choice-card input{position:absolute;opacity:0;pointer-events:none}.choice-card__check{display:grid;width:1.4rem;height:1.4rem;place-items:center;border:1px solid #aa9187;border-radius:50%}.choice-card input:checked+.choice-card__check{border:5px solid var(--plum);background:#fff}.choice-card input:focus-visible+.choice-card__check{outline:3px solid var(--apricot);outline-offset:3px}.choice-card small,.choice-card strong,.choice-card em{display:block}.choice-card small{margin-bottom:.3rem;color:var(--green);font-size:.57rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.choice-card strong{padding-right:4rem;font:1.15rem/1.2 var(--display)}.choice-card em{margin-top:.3rem;color:var(--rose);font-size:.7rem;font-style:normal;font-weight:800}.booking-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:1.4rem;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--line)}.field{display:flex;flex-direction:column;gap:.55rem}.field>span,.field-legend,.add-on-picker legend{color:var(--ink);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.field>span em{color:#8a746b;font-style:normal;font-weight:600}.field input,.field select,.field textarea{width:100%;min-height:3.2rem;padding:.75rem .9rem;border:1px solid var(--line);border-radius:.65rem;background:#fffdfa;color:var(--ink)}.field textarea{resize:vertical}.field select:disabled{cursor:not-allowed;color:#918079;background:#eee7e0}.add-on-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.add-on-picker legend{grid-column:1 / -1;margin-bottom:.55rem}.add-on-picker label{position:relative;display:flex;align-items:center;min-height:3.2rem;padding:.7rem;border:1px solid var(--line);border-radius:.65rem;background:#fffdfa;cursor:pointer}.add-on-picker label:has(input:checked){border-color:var(--plum);background:var(--blush)}.add-on-picker input{margin-right:.55rem;accent-color:var(--plum)}.add-on-picker span{font-size:.67rem;line-height:1.3}.add-on-picker b{display:block;color:var(--rose)}.panel-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--line)}.form-error{min-height:1.35rem;margin:1rem 0 -1rem;color:#a03831;font-size:.78rem;font-weight:700}.field-legend{margin-bottom:.8rem}.date-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:.55rem}.date-option,.time-option{position:relative;cursor:pointer}.date-option input,.time-option input{position:absolute;opacity:0;pointer-events:none}.date-option>span{display:grid;min-height:6.3rem;place-content:center;border:1px solid var(--line);border-radius:.8rem;background:#fffdfa;text-align:center;transition:.2s ease}.date-option small,.date-option em{font-size:.58rem;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.date-option strong{margin:.25rem 0;font:1.7rem var(--display)}.date-option input:checked+span,.time-option input:checked+span{border-color:var(--plum);background:var(--plum);color:#fff;box-shadow:0 0 0 1px var(--plum)}.date-option input:focus-visible+span,.time-option input:focus-visible+span{outline:3px solid var(--apricot);outline-offset:3px}.time-picker{display:flex;flex-wrap:wrap;gap:.55rem;min-height:3.1rem;margin-top:1.3rem}.time-option span{display:grid;min-width:7.2rem;min-height:3rem;place-items:center;padding:.5rem;border:1px solid var(--line);border-radius:999px;background:#fffdfa;font-size:.7rem;font-weight:800}.empty-state{margin:.6rem 0;color:#8b756c;font-size:.8rem}.calendar-note{margin:1.3rem 0 0;color:var(--green);font-size:.72rem}.calendar-note span{margin-right:.35rem}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.field--full{grid-column:1 / -1}.consent{display:flex;gap:.65rem;align-items:flex-start;max-width:48rem;margin-top:1.25rem;color:#755f56;font-size:.75rem;line-height:1.5;cursor:pointer}.consent input{margin-top:.2rem;accent-color:var(--plum)}.checkout-layout{display:grid;grid-template-columns:1fr .85fr;gap:1.2rem}.appointment-summary,.payment-preview{padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--line);border-radius:1rem}.appointment-summary{background:var(--blush)}.summary-kicker{margin:0 0 .6rem;color:var(--rose);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.appointment-summary h4{margin:0 0 1.5rem;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1}.appointment-summary dl{margin:0}.appointment-summary dl div,.price-list li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-top:1px solid var(--line);font-size:.75rem}.appointment-summary dt,.appointment-summary dd{margin:0}.appointment-summary dd{font-weight:800;text-align:right}.price-list{padding:0;margin:1.3rem 0 0;list-style:none}.summary-total{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;margin-top:.4rem;border-top:2px solid var(--ink);font-weight:800}.summary-total strong{font:1.5rem var(--display)}.payment-preview{background:#fffdfa}.payment-preview__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.67rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.stripe-word{color:#635bff;font:800 1.1rem var(--sans);letter-spacing:-.04em;text-transform:lowercase}.payment-placeholder{display:grid;grid-template-columns:1fr .35fr .3fr;gap:.55rem;padding:1rem;margin:1.2rem 0;border:1px dashed #b8b1ad;border-radius:.7rem;background:#f4f1ef}.payment-placeholder span{height:2.3rem;border-radius:.3rem;background:#ded9d6}.payment-preview p{color:#766a65;font-size:.78rem;line-height:1.55}.payment-preview .button{width:100%;margin-top:.6rem}.payment-preview small{display:block;margin-top:.8rem;color:#857771;font-size:.65rem;line-height:1.45;text-align:center}.first-visit{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(0,1.15fr);gap:clamp(3rem,10vw,12rem);align-items:center;max-width:1440px;margin:0 auto}.first-visit__art{position:relative;min-height:420px;overflow:hidden;border-radius:2rem;background:var(--apricot)}.first-visit__ring{position:absolute;top:12%;left:14%;width:64%;aspect-ratio:1;border:2px solid rgba(84,56,47,.36);border-radius:50%}.first-visit__ring--two{top:25%;left:30%;width:55%;border-color:var(--cream);background:var(--rose)}.first-visit__art p{position:absolute;z-index:1;bottom:9%;left:9%;margin:0;color:var(--cream);font:italic clamp(2.8rem,5vw,5rem)/.85 var(--display)}.first-visit__copy{max-width:620px}.first-visit__copy .kicker{margin-top:2.2rem}.first-visit__copy>p:not(.section-number,.kicker){max-width:36rem;margin:0 0 1.8rem;line-height:1.7}.visit{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,9vw,10rem);align-items:end;max-width:1440px;margin:0 auto;border-top:1px solid var(--line)}.visit .kicker{margin-top:2.2rem}.visit address{font-style:normal}.visit address a{color:var(--ink);font:clamp(1.15rem,1.8vw,1.65rem)/1.4 var(--display);text-decoration:none}.visit address a:hover,.visit address a:focus-visible{text-decoration:underline;text-underline-offset:.25em}.hours{padding:clamp(1.5rem,4vw,2.5rem);border-radius:1.4rem;background:var(--blush)}.hours__title{margin:0 0 1.25rem;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hours dl{margin:0 0 1.2rem}.hours dl div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line);font-size:.8rem}.hours dt,.hours dd{margin:0}.hours dd{text-align:right}.site-footer{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;padding:clamp(4rem,8vw,7rem) clamp(1.35rem,7vw,8rem) 2rem;background:var(--ink-deep);color:var(--cream)}.site-footer .eyebrow{color:var(--peach)}.site-footer h2{margin-top:1rem;color:var(--cream)}.site-footer h2 em{color:var(--apricot)}.site-footer__links{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding-top:.6rem}.site-footer__links p{margin:0;color:var(--peach);font:italic 1.25rem var(--display)}.site-footer__links>a{color:#eadcd3;font-size:.84rem;text-underline-offset:.26em}.site-footer__links>a:hover,.site-footer__links>a:focus-visible{color:#fff}.site-footer__legal{grid-column:1 / -1;margin:2rem 0 0;padding-top:1.25rem;border-top:1px solid rgba(255,248,238,.2);color:#cbbcb4;font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}:focus-visible{outline:3px solid var(--apricot);outline-offset:4px}@keyframes panel-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-reduced-motion:no-preference){.hero__copy,.hero__art,.welcome__copy{animation:panel-in .65s both ease-out}.hero__art{animation-delay:.1s}}@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero__copy{min-height:650px}.hero__art{min-height:570px}.hero__glow{width:430px}.hero__arch{width:470px;height:580px}.hero__botanical{width:315px}.services__heading,.booking__intro{grid-template-columns:1fr 1fr}.services__heading>div,.booking__intro .section-number{grid-column:1 / -1}.booking__intro .kicker{grid-column:1;margin:0 0 -2.9rem}.booking__trust{grid-column:1 / -1;margin-top:0}.service-list{grid-template-columns:repeat(2,1fr)}.service-card{min-height:340px}.checkout-layout{grid-template-columns:1fr}}@media(max-width:760px){.announcement{flex-wrap:wrap;gap:.25rem .65rem;font-size:.57rem;letter-spacing:.055em}.site-header{padding-block:1rem}.menu-toggle{display:grid;width:2.8rem;height:2.8rem;padding:.7rem;place-content:center;gap:.35rem;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink)}.menu-toggle span:not(.sr-only){display:block;width:1.15rem;height:1px;background:currentColor;transition:transform .2s ease}.menu-open .menu-toggle span:nth-child(2){transform:translateY(3px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-3px) rotate(-45deg)}.site-nav{position:absolute;z-index:10;top:5rem;right:0;left:0;display:none;align-items:stretch;gap:0;padding:1rem 1.35rem 1.4rem;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 14px 20px #54382f17}.menu-open .site-nav{display:flex;flex-direction:column}.site-nav>a:not(.button){padding:.85rem 0}.site-nav .button{margin-top:.75rem}.hero__copy{min-height:590px;padding-top:4.5rem;padding-bottom:4rem}h1{font-size:clamp(3.35rem,15vw,5rem)}.hero__art{min-height:450px}.hero__glow{width:290px}.hero__arch{width:315px;height:430px}.hero__botanical{width:220px}.hero__seal{width:7.5rem;height:7.5rem}.section{padding-block:4.75rem}.welcome,.services__heading,.booking__intro,.first-visit,.visit,.site-footer{grid-template-columns:1fr}.welcome,.first-visit,.visit{gap:2.8rem}.portrait-art{min-height:430px;max-width:520px}.welcome h2,.services h2,.booking h2,.first-visit h2,.visit h2,.site-footer h2{font-size:clamp(2.8rem,12vw,4.2rem)}.services__heading>div,.booking__intro .section-number,.booking__intro .kicker,.booking__trust{grid-column:auto}.booking__intro .kicker{margin:.2rem 0 -.9rem}.service-list{grid-template-columns:1fr}.service-card{min-height:0}.service-card h3{margin-top:2.6rem}.service-card>p:not(.service-card__number){min-height:0}.preview-note{align-items:flex-start;flex-direction:column}.booking-steps li{gap:.3rem;padding:1rem .25rem;font-size:.51rem;letter-spacing:.04em}.booking-steps li:not(:last-child):after{height:1.2rem}.booking-steps span{width:1.45rem;height:1.45rem}.panel-heading{align-items:flex-start;flex-direction:column;gap:.7rem}.panel-heading>span{max-width:none;text-align:left}.choice-list,.booking-grid,.details-grid,.add-on-picker{grid-template-columns:1fr}.date-picker{grid-template-columns:repeat(3,1fr)}.date-option>span{min-height:5.5rem}.field--full{grid-column:auto}.panel-actions{align-items:stretch;flex-direction:column-reverse}.panel-actions>.button{width:100%}.text-button{align-self:center}.first-visit__art{min-height:340px}.site-footer{gap:2.7rem}}@media(max-width:420px){.wordmark{font-size:.86rem}.wordmark__mark{width:2.3rem;height:2.3rem}.hero__welcome{margin-top:1.8rem}.choice-card strong{padding-right:0}.choice-card--featured:after{display:none}.time-option{flex:1 1 calc(50% - .55rem)}.time-option span{min-width:0}}
