:root{--void:#000;--bone:#fff;--ash:#9a9a9a;--silver:#bdbdbd;--iris:#8052ff;--saffron:#ffb829;--verdant:#15846e;--bg:var(--void);--text:var(--bone);--muted:var(--silver);--accent:var(--iris);--line:#ffffff14;--font-display:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body:var(--font-display);--w-light:200;--w-regular:400;--w-semibold:600;--text-caption:.75rem;--text-nav:.875rem;--text-body:clamp(1rem, .95rem + .25vw, 1.125rem);--text-lead:clamp(1.125rem, 1rem + .6vw, 1.5rem);--text-h2xs:clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--text-hxs:clamp(1.4rem, 1.25rem + .7vw, 1.6875rem);--text-sub:clamp(1.6rem, 1.3rem + 1.4vw, 2.25rem);--text-hsm:clamp(2rem, 1.5rem + 2.2vw, 2.625rem);--text-h:clamp(2.25rem, 1.6rem + 2.8vw, 3rem);--text-hlg:clamp(2.75rem, 1.4rem + 5.6vw, 4.875rem);--text-display:clamp(3.25rem, 1.1rem + 8.6vw, 7.0625rem);--track-display:-.04em;--track-nav:.025em;--sp-6:.375rem;--sp-12:.75rem;--sp-18:1.125rem;--sp-24:1.5rem;--sp-30:1.875rem;--sp-36:2.25rem;--sp-60:3.75rem;--sp-96:6rem;--sp-120:7.5rem;--radius:24px;--radius-sm:12px;--radius-pill:9999px;--container:1280px;--gutter:clamp(1.25rem, 5vw, 3rem);--section:clamp(3.75rem, 8vw, 7.5rem);--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--void);color:var(--bone);font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--w-light);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--w-regular);letter-spacing:var(--track-display);margin:0;line-height:1.1}p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:0 0;border:0}::selection{background:var(--iris);color:var(--bone)}:focus-visible{outline:2px solid var(--saffron);outline-offset:4px;border-radius:2px}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section)}.split{gap:var(--sp-36) var(--sp-60);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=900px){.split{gap:var(--sp-96);grid-template-columns:1.1fr 1fr}.split--tight{grid-template-columns:1fr .85fr}}.eyebrow{font-size:var(--text-nav);font-weight:var(--w-semibold);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--saffron);margin-bottom:var(--sp-24)}.lede{font-size:var(--text-lead);font-weight:var(--w-light);color:var(--bone);max-width:34ch;line-height:1.5}.body-muted{font-weight:var(--w-light);color:var(--silver);max-width:52ch}.h-display{font-size:var(--text-display)}.h-lg{font-size:var(--text-hlg)}.h-md{font-size:var(--text-h)}.h-sm{font-size:var(--text-hsm)}em{color:var(--saffron);font-style:normal}.btn{align-items:center;gap:var(--sp-12);border-radius:var(--radius-pill);background:var(--iris);color:var(--bone);font-size:var(--text-nav);font-weight:var(--w-semibold);letter-spacing:var(--track-nav);text-transform:uppercase;cursor:pointer;transition:background-color .3s var(--ease);padding:.9rem 1.5rem;display:inline-flex}.btn:hover{background:#8f66ff}.btn:active{transform:scale(.97)}.ghost{align-items:center;gap:var(--sp-6);font-size:var(--text-nav);font-weight:var(--w-regular);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--ash);cursor:pointer;transition:color .25s var(--ease);display:inline-flex}.ghost:hover{color:var(--bone)}.ghost__arrow{transition:transform .25s ease-out;display:inline-block}.ghost:hover .ghost__arrow{transform:translate(6px)}.nav{inset-inline:0;z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#000000eb,#0000);position:fixed;top:0}.nav__inner{justify-content:space-between;align-items:center;gap:var(--sp-24);padding-block:var(--sp-18);display:flex}.nav__brand{align-items:center;gap:var(--sp-12);font-size:var(--text-nav);font-weight:var(--w-semibold);letter-spacing:var(--track-nav);text-transform:uppercase;display:inline-flex}.nav__links{gap:var(--sp-30);display:none}@media (width>=900px){.nav__links{display:flex}}.nav__link{font-size:var(--text-nav);font-weight:var(--w-semibold);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--ash);transition:color .25s var(--ease);position:relative}.nav__link:hover{color:var(--bone)}.nav__link:after{content:"";background:var(--iris);transform-origin:0;width:100%;height:1px;transition:transform .3s var(--ease);position:absolute;bottom:-6px;left:0;transform:scaleX(0)}.nav__link:hover:after{transform:scaleX(1)}.nav__cta{font-size:var(--text-nav);font-weight:var(--w-semibold);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--bone);white-space:nowrap;transition:color .25s var(--ease)}.nav__cta:hover{color:var(--saffron)}.mark--dot{background:var(--iris);width:6px;height:6px;margin-right:var(--sp-12);vertical-align:middle;border-radius:50%;display:inline-block}.hero{min-height:100svh;padding-block:clamp(6rem, 12vh, 8.5rem) var(--sp-60);align-items:center;display:flex;position:relative;overflow:hidden}.hero__floor{z-index:0;pointer-events:none;perspective:520px;perspective-origin:50% 100%;position:absolute;inset:0}.hero__floor:before{content:"";transform-origin:50% 100%;background-image:conic-gradient(#ffffff16 0 25%, transparent 0 50%, #ffffff16 0 75%, transparent 0);background-size:120px 120px;height:190%;animation:30s linear infinite tile-drift;position:absolute;bottom:0;left:-50%;right:-50%;transform:rotateX(70deg);-webkit-mask-image:linear-gradient(#0000 28%,#0000004d 58%,#000 100%);mask-image:linear-gradient(#0000 28%,#0000004d 58%,#000 100%)}@keyframes tile-drift{to{background-position:0 120px}}.spotlight:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(460px circle at var(--x,70%) var(--y,40%), #8052ff29, transparent 62%);transition:opacity .4s var(--ease);position:absolute;inset:0}.hero__inner{z-index:2;width:100%;position:relative}.hero__grid{gap:var(--sp-36);grid-template-columns:1fr;align-items:end;display:grid}@media (width>=1000px){.hero__grid{gap:var(--sp-60);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}.hero__title{font-size:var(--text-display);letter-spacing:var(--track-display);text-wrap:balance;max-width:11ch;line-height:.98}.hero__aside{gap:var(--sp-30);padding-bottom:var(--sp-12);flex-direction:column;display:flex}.hero__actions{align-items:center;gap:var(--sp-24);flex-wrap:wrap;display:flex}.hero__where{font-size:var(--text-nav);font-weight:var(--w-regular);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--ash);line-height:1.9}.hero__figures{gap:var(--sp-36) var(--sp-60);margin:var(--sp-36) 0 0;flex-wrap:wrap;display:flex}@media (width>=700px){.hero__figures{margin-top:var(--sp-60);gap:var(--sp-96)}}.figure__label{font-size:var(--text-caption);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--ash);margin-bottom:var(--sp-12)}.figure__value{align-items:baseline;gap:var(--sp-12);font-size:var(--text-hsm);font-weight:var(--w-regular);letter-spacing:var(--track-display);color:var(--bone);font-variant-numeric:tabular-nums;margin:0;line-height:1;display:flex}.figure__stars{font-size:var(--text-caption);letter-spacing:.15em;color:var(--saffron)}.ticker{padding-block:var(--sp-24);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.ticker__track{gap:var(--sp-36);width:max-content;animation:44s linear infinite ticker-scroll;display:flex}.ticker__item{align-items:center;gap:var(--sp-18);white-space:nowrap;font-size:var(--text-nav);font-weight:var(--w-semibold);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--ash);display:inline-flex}.ticker__item:after{content:"";background:var(--iris);border-radius:50%;width:5px;height:5px}@keyframes ticker-scroll{to{transform:translate(-50%)}}.trust{gap:var(--sp-36) var(--sp-24);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=900px){.trust{gap:var(--sp-36);grid-template-columns:repeat(4,minmax(0,1fr))}}.trust__value{font-size:var(--text-sub);font-weight:var(--w-regular);letter-spacing:var(--track-display);line-height:1}.trust__label{margin-top:var(--sp-12);font-size:var(--text-caption);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--ash);line-height:1.5}.prices{gap:var(--sp-60);grid-template-columns:1fr;display:grid}@media (width>=800px){.prices{gap:var(--sp-96);grid-template-columns:repeat(2,minmax(0,1fr))}}.price-list__title{font-size:var(--text-hxs);font-weight:var(--w-regular);letter-spacing:var(--track-display)}.price-list__note{margin-top:var(--sp-6);font-size:var(--text-caption);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--ash)}.price-list__items{margin-top:var(--sp-36)}.price-row{align-items:baseline;gap:var(--sp-12);padding-block:var(--sp-12);transition:opacity .22s var(--ease);display:flex}@media (pointer:fine){.price-list__items:hover .price-row{opacity:.35}.price-list__items .price-row:hover{opacity:1}}.price-row__lead{height:1px;min-width:var(--sp-24);background-image:radial-gradient(circle,#ffffff47 1px,#0000 1px);background-repeat:repeat-x;background-size:6px 1px;flex:1;transform:translateY(-3px)}.price-row__name{font-weight:var(--w-light);color:var(--bone)}.price-row__price{font-variant-numeric:tabular-nums;font-weight:var(--w-regular);color:var(--bone)}.price-note{margin-top:var(--sp-36);font-size:var(--text-caption);color:var(--ash);max-width:46ch;line-height:1.6}.media{border-radius:var(--radius);overflow:hidden}.media img{object-fit:cover;width:100%;height:100%}.media--tall{aspect-ratio:3/4}.media--wide{aspect-ratio:16/10}.media--square{aspect-ratio:1}.gallery{gap:var(--sp-18);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=900px){.gallery{gap:var(--sp-24);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr}.gallery>:first-child{grid-area:span 2/span 2}}.gallery .media{aspect-ratio:1}.gallery>:first-child .media{aspect-ratio:auto;height:100%}.steps{gap:var(--sp-60);grid-template-columns:1fr;display:grid}@media (width>=900px){.steps{gap:var(--sp-60);grid-template-columns:repeat(3,minmax(0,1fr))}}.step__num{font-size:var(--text-caption);letter-spacing:var(--track-nav);color:var(--iris);margin-bottom:var(--sp-18)}.step__title{font-size:var(--text-h2xs);font-weight:var(--w-regular);letter-spacing:var(--track-display);margin-bottom:var(--sp-18)}.reviews{gap:var(--sp-36);grid-template-columns:1fr;display:grid}@media (width>=700px){.reviews{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1050px){.reviews{gap:var(--sp-60) var(--sp-36);grid-template-columns:repeat(3,minmax(0,1fr))}}.review{gap:var(--sp-18);flex-direction:column;display:flex}.review__stars{color:var(--saffron);font-size:var(--text-caption);letter-spacing:.2em}.review__quote{font-weight:var(--w-light);color:var(--bone);line-height:1.55}.review__meta{font-size:var(--text-caption);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--ash);margin-top:auto}.review__meta strong{font-weight:var(--w-regular);color:var(--silver);margin-bottom:var(--sp-6);display:block}.review-cta{justify-content:space-between;gap:var(--sp-24);padding:var(--sp-30);border-radius:var(--radius);background:var(--bone);color:var(--void);transition:transform .4s var(--ease);flex-direction:column;display:flex}.review-cta:hover{transform:translateY(-4px)}.review-cta__rating{align-items:baseline;gap:var(--sp-12);display:flex}.review-cta__score{font-size:var(--text-sub);font-weight:var(--w-regular);letter-spacing:var(--track-display);line-height:1}.review-cta__stars{color:#e8a200;letter-spacing:.15em;font-size:var(--text-caption)}.review-cta__count{font-size:var(--text-h2xs);font-weight:var(--w-regular);letter-spacing:var(--track-display);line-height:1.2}.review-cta__link{align-items:center;gap:var(--sp-6);font-size:var(--text-nav);font-weight:var(--w-semibold);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--void);display:inline-flex}.review-cta__link .ghost__arrow{transition:transform .25s ease-out}.review-cta:hover .ghost__arrow{transform:translate(6px)}.visit{gap:var(--sp-60);grid-template-columns:1fr;display:grid}@media (width>=900px){.visit{gap:var(--sp-96);grid-template-columns:1fr 1fr}}.hours{max-width:26rem}.hours__row{align-items:baseline;gap:var(--sp-12);padding-block:var(--sp-12);font-size:var(--text-nav);letter-spacing:var(--track-nav);text-transform:uppercase;display:flex}.hours__row[data-today=true]{color:var(--saffron)}.hours__row[data-today=false]{color:var(--ash)}.hours__lead{height:1px;min-width:var(--sp-24);background-image:radial-gradient(circle,#fff3 1px,#0000 1px);background-repeat:repeat-x;background-size:6px 1px;flex:1;transform:translateY(-3px)}.contact-line{font-size:var(--text-hsm);font-weight:var(--w-regular);letter-spacing:var(--track-display);transition:color .25s var(--ease);line-height:1.2;display:block}.contact-line:hover{color:var(--saffron)}.contact-label{font-size:var(--text-caption);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--ash);margin-bottom:var(--sp-12)}.footer{padding-block:var(--sp-60) var(--sp-36)}.footer__inner{justify-content:space-between;align-items:center;gap:var(--sp-24);font-size:var(--text-caption);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--ash);flex-wrap:wrap;display:flex}.footer__links{gap:var(--sp-24);flex-wrap:wrap;display:flex}.footer a:hover{color:var(--bone)}.mark{background:repeating-linear-gradient(-35deg, var(--iris) 0 4px, transparent 4px 8px), linear-gradient(to bottom, var(--verdant), var(--iris));border-radius:3px;flex:none;width:14px;height:22px}.reveal-mask{vertical-align:bottom;display:inline-block;overflow:hidden}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:var(--gutter);top:var(--sp-12);z-index:100;padding:var(--sp-12) var(--sp-18);background:var(--bone);color:var(--void);border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero__floor:before,.ticker__track{animation:none}}
