:root{--paper:#f3efe8;--paper-2:#ece6dc;--paper-3:#e3dbcd;--ink:#191512;--ink-2:#4a423b;--ink-3:#857a6f;--lacquer:#6d1f2c;--lacquer-2:#92303f;--blush:#d9b7ad;--line:color-mix(in srgb, var(--ink) 14%, transparent);--line-soft:color-mix(in srgb, var(--ink) 8%, transparent);--display:"Fraunces", "Iowan Old Style", Georgia, serif;--sans:"Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--gutter:clamp(1.25rem, 4vw, 3.5rem);--shell:1680px;--sec-y:clamp(5.5rem, 12vh, 11rem);--ease:cubic-bezier(.22, .61, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;margin:0;font-size:clamp(.975rem,.92rem + .22vw,1.075rem);line-height:1.6;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3,p,dl,dd,figure,ul,ol{margin:0}ul,ol{padding:0;list-style:none}::selection{background:var(--lacquer);color:var(--paper)}:focus-visible{outline:2px solid var(--lacquer);outline-offset:3px;border-radius:2px}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:200;background:var(--ink);color:var(--paper);letter-spacing:.06em;text-transform:uppercase;transition:transform .25s var(--ease);padding:.65rem 1rem;font-size:.8rem;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip:focus-visible{transform:none}.display{font-family:var(--display);letter-spacing:-.028em;font-variation-settings:"opsz" 144;text-wrap:balance;font-size:clamp(2.9rem,1rem + 8.6vw,10.5rem);font-weight:300;line-height:.94}.display-2{font-family:var(--display);letter-spacing:-.022em;font-variation-settings:"opsz" 96;text-wrap:balance;font-size:clamp(2rem,1rem + 3.4vw,4.4rem);font-weight:300;line-height:1.02}.label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:.6875rem;font-weight:500;line-height:1.4}.lede{color:var(--ink-2);max-width:34ch;font-size:clamp(1rem,.94rem + .32vw,1.2rem);line-height:1.5}.body{color:var(--ink-2);max-width:60ch;line-height:1.68}.ico{flex:none;width:1em;height:1em}.btn{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:background-color .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease);border:1px solid #0000;border-radius:999px;align-items:center;gap:.6em;padding:.85em 1.35em;font-size:.78rem;font-weight:500;text-decoration:none;display:inline-flex}.btn .ico{transition:transform .35s var(--ease)}.btn:hover .ico{transform:translate(.15em,-.15em)}.btn--ink{background:var(--ink);color:var(--paper)}.btn--ink:hover{background:var(--lacquer)}.btn--ghost{border-color:var(--line);color:var(--ink)}.btn--ghost:hover{border-color:var(--ink);background:color-mix(in srgb, var(--ink) 5%, transparent)}.btn--paper{background:var(--paper);color:var(--ink)}.btn--paper:hover{background:var(--blush)}.btn--ghostLight{border-color:color-mix(in srgb, var(--paper) 32%, transparent);color:var(--paper)}.btn--ghostLight:hover{border-color:var(--paper);background:color-mix(in srgb, var(--paper) 10%, transparent)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.btn:hover{transform:translateY(-2px)}}.site-head{z-index:100;align-items:center;gap:var(--gutter);padding:clamp(.9rem, 2vw, 1.5rem) var(--gutter);mix-blend-mode:normal;transition:background-color .5s var(--ease), border-color .5s var(--ease);border-bottom:1px solid #0000;grid-template-columns:auto 1fr auto;display:grid;position:fixed;inset:0 0 auto}.site-head[data-stuck=true]{background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line-soft)}.site-head[data-hidden=true]{transform:translateY(-100%)}.site-head{transition:transform .5s var(--ease), background-color .5s var(--ease), border-color .5s var(--ease)}.wordmark{align-items:baseline;gap:.6rem;line-height:1;text-decoration:none;display:flex}.wordmark__g{font-family:var(--display);letter-spacing:-.02em;font-size:1.6rem;font-weight:400}.wordmark__sub{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.6rem;line-height:1.25}.nav{justify-self:center}.nav__list{gap:clamp(1rem,2.4vw,2.4rem);display:flex}.nav__list a{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);font-size:.78rem;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.nav__list a:after{content:"";background:var(--ink);transform-origin:100%;height:1px;transition:transform .45s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav__list a:hover{color:var(--ink)}.nav__list a:hover:after{transform-origin:0;transform:scaleX(1)}.head__actions{align-items:center;gap:1rem;display:flex}.tel{letter-spacing:.06em;color:var(--ink-2);transition:color .3s var(--ease);font-size:.78rem;text-decoration:none}.tel:hover{color:var(--lacquer)}.menu-toggle{border:1px solid var(--line);cursor:pointer;width:2.9rem;height:2.9rem;color:var(--ink);background:0 0;border-radius:999px;justify-content:center;align-items:center;display:none}.menu-toggle__bars{gap:5px;width:18px;display:grid}.menu-toggle__bars i{height:1px;transition:transform .35s var(--ease), opacity .35s var(--ease);background:currentColor;display:block}.menu-toggle[aria-expanded=true] .menu-toggle__bars i:first-child{transform:translateY(3px)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle__bars i:last-child{transform:translateY(-3px)rotate(-45deg)}.mobile-menu{z-index:99;background:var(--paper);padding:6rem var(--gutter) 3rem;flex-direction:column;justify-content:center;display:flex;position:fixed;inset:0}.mobile-menu[hidden]{display:none}.mobile-menu ul{gap:.35rem;display:grid}.mobile-menu nav a{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(2.2rem,11vw,3.4rem);font-weight:300;line-height:1.1;text-decoration:none}.mobile-menu__foot{border-top:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:1.5rem;margin-top:auto;padding-top:2.5rem;font-size:.8rem;display:flex}.mobile-menu__foot a{color:var(--ink-2);letter-spacing:.1em;transition:color .3s var(--ease);font-size:.78rem;text-decoration:none}.mobile-menu__foot a:hover{color:var(--lacquer)}.hero{min-height:100svh;padding:8rem var(--gutter) clamp(1.5rem, 4vh, 3rem);flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.hero__media{z-index:0;position:absolute;inset:0}.hero__media img{object-fit:cover;object-position:58% 46%;will-change:transform;width:100%;height:100%}.hero__scrim{background:linear-gradient(to top, color-mix(in srgb, var(--paper) 92%, transparent) 0%, color-mix(in srgb, var(--paper) 55%, transparent) 32%, color-mix(in srgb, var(--paper) 10%, transparent) 62%), linear-gradient(to right, color-mix(in srgb, var(--paper) 62%, transparent) 0%, transparent 46%);position:absolute;inset:0}.hero__grid{z-index:1;gap:0 var(--gutter);width:100%;max-width:var(--shell);grid-template-columns:repeat(12,1fr);align-items:end;margin-inline:auto;display:grid;position:relative}.hero__eyebrow{color:var(--ink-2);grid-column:1/-1;align-items:center;gap:.75rem;margin-bottom:clamp(1rem,3vh,2rem);display:flex}.hero__eyebrow .dot{background:var(--lacquer);border-radius:50%;width:4px;height:4px}.hero__title{grid-column:1/span 8;margin-bottom:clamp(1.5rem,4vh,3rem)}.hero__aside{grid-column:9/-1;align-content:end;gap:1.6rem;padding-bottom:clamp(1.5rem,4vh,3.2rem);display:grid}.hero__cta{flex-wrap:wrap;gap:.75rem;display:flex}.hero__meta{gap:var(--gutter);border-top:1px solid var(--line);grid-column:1/span 8;grid-template-columns:repeat(3,minmax(0,1fr));max-width:46rem;padding-top:1.4rem;display:grid}.hero__meta dt{margin-bottom:.4rem}.hero__meta dd{color:var(--ink-2);font-size:.9rem}.hero__scrollcue{z-index:1;max-width:var(--shell);margin-top:clamp(1.5rem,4vh,3rem);align-items:center;gap:.75rem;width:100%;margin-inline:auto;display:flex;position:relative}.hero__scrollcue .rule{background:var(--line);flex:1;height:1px;position:relative;overflow:hidden}.hero__scrollcue .rule:after{content:"";background:var(--lacquer);transform-origin:0;animation:cue 3.4s var(--ease) infinite;position:absolute;inset:0}.hero[data-past=true] .hero__scrollcue .rule:after{animation-play-state:paused}@keyframes cue{0%{transform-origin:0;transform:scaleX(0)}45%{transform-origin:0;transform:scaleX(1)}55%{transform-origin:100%;transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}.statement{border-block:1px solid var(--line);padding:clamp(1.6rem,4vh,2.8rem) 0;overflow:hidden}.marquee{display:flex}.marquee__track{white-space:nowrap;will-change:transform;gap:3.5rem;display:flex}.marquee__track span{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(1.7rem,5.2vw,4.2rem);font-weight:300;line-height:1}.marquee__track em{color:var(--lacquer);font-style:italic}.section{padding:var(--sec-y) var(--gutter)}.grid{gap:clamp(2rem, 5vh, 4rem) var(--gutter);max-width:var(--shell);grid-template-columns:repeat(12,1fr);margin-inline:auto;display:grid}.col-mark{grid-column:1/span 2;padding-top:.5rem}.studio__copy{grid-column:3/span 6;align-content:start;gap:1.6rem;display:grid}.studio__figure{grid-column:10/-1}.facts{border-top:1px solid var(--line);gap:0;margin-top:1rem;display:grid}.facts li{border-bottom:1px solid var(--line-soft);grid-template-columns:3rem 1fr;gap:1rem;padding:.95rem 0;display:grid}.facts p{color:var(--ink-2);margin:0;font-size:.95rem}figure img{width:100%}.studio__figure img,.ritual__figure img{filter:saturate(.94);will-change:transform}.studio__figure>*,.ritual__figure>*{display:block}.studio__figure figcaption,.ritual__figure figcaption{margin-top:.9rem}.studio__figure,.ritual__figure{overflow:hidden}.studio__figure img,.ritual__figure img{transform-origin:50%}.services__head{padding-bottom:clamp(2rem,5vh,3.5rem)}.services__head .display-2{grid-column:3/span 6}.services__note{grid-column:10/-1;align-self:end;font-size:.9rem}.menu{max-width:var(--shell);border-top:1px solid var(--line);margin-inline:auto;position:relative}.menu__group{gap:0 var(--gutter);border-bottom:1px solid var(--line);grid-template-columns:repeat(12,1fr);padding:clamp(2rem,4vh,3.2rem) 0;display:grid}.menu__groupHead{grid-column:1/span 3}.menu__groupTitle{font-family:var(--display);letter-spacing:-.02em;margin-bottom:.5rem;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:300;line-height:1}.menu__rows{grid-column:5/-1}.menu__row{border-bottom:1px solid var(--line-soft);transition:padding-left .4s var(--ease), border-color .4s var(--ease);grid-template-columns:minmax(9rem,1.1fr) minmax(0,2fr) auto;align-items:baseline;gap:1.5rem;padding:.85rem 0;display:grid}.menu__row:last-child{border-bottom:0}.menu__name{font-weight:500}.menu__desc{color:var(--ink-3);font-size:.9rem}.menu__price{font-family:var(--display);color:var(--lacquer);font-variant-numeric:tabular-nums;justify-self:end;font-size:1.15rem}@media (hover:hover){.menu__row:hover{border-color:var(--line);padding-left:.75rem}.menu__row:hover .menu__desc{color:var(--ink-2)}}.menu__preview{z-index:5;aspect-ratio:3/4;pointer-events:none;opacity:0;will-change:transform, opacity;width:clamp(200px,17vw,300px);position:absolute;top:0;left:0;overflow:hidden;transform:translate(-50%,-50%)scale(.94)}.menu__preview img{object-fit:cover;width:100%;height:100%}@media (hover:none),(width<=900px){.menu__preview{display:none}}.ritual{background:var(--paper-2)}.ritual__head{padding-bottom:clamp(2rem,5vh,3.5rem)}.ritual__head .display-2{grid-column:3/span 7}.steps{max-width:var(--shell);gap:var(--gutter);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-inline:auto;padding-top:2rem;display:grid}.step{align-content:start;gap:.7rem;display:grid}.step__no{color:var(--lacquer);letter-spacing:.2em}.step__title{font-family:var(--display);letter-spacing:-.015em;font-size:clamp(1.4rem,2.2vw,2rem);font-weight:300;line-height:1}.step p{color:var(--ink-2);font-size:.92rem}.ritual__figure{max-width:var(--shell);width:min(100%,46rem);margin:clamp(3rem,8vh,6rem) auto 0}.visit__hours{grid-column:3/span 6;align-content:start;gap:2rem;display:grid}.visit__card{grid-column:10/-1;align-content:start;gap:2rem;font-style:normal;display:grid}.hours{border-collapse:collapse;width:100%}.hours th,.hours td{text-align:left;border-bottom:1px solid var(--line-soft);padding:.75rem 0;font-size:.95rem;font-weight:400}.hours th{color:var(--ink);width:12rem}.hours td{color:var(--ink-2);font-variant-numeric:tabular-nums}.hours td.is-closed{color:var(--ink-3)}.hours tr[data-current] th,.hours tr[data-current] td{color:var(--lacquer)}.hours tr[data-current] th:after{content:"· today";letter-spacing:.16em;text-transform:uppercase;color:var(--lacquer);margin-left:.5rem;font-size:.65rem}.contact{gap:1.1rem;display:grid}.contact li{grid-template-columns:1.5rem 1fr;align-items:start;gap:.75rem;display:grid}.contact .ico{width:1.15rem;height:1.15rem;color:var(--lacquer);margin-top:.15rem}.contact a{color:var(--ink-2);transition:color .3s var(--ease);text-decoration:none}.contact a:hover{color:var(--lacquer)}.visit__links{border-top:1px solid var(--line);gap:1.5rem;padding-top:1.25rem;display:flex}.visit__links a{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);transition:color .3s var(--ease);font-size:.72rem;text-decoration:none}.visit__links a:hover{color:var(--ink)}.cta{background:var(--ink);color:var(--paper);padding:clamp(5rem, 14vh, 10rem) var(--gutter);text-align:center;justify-items:center;gap:1.75rem;display:grid}.cta .body{color:color-mix(in srgb, var(--paper) 72%, transparent)}.cta__title{max-width:14ch}.cta__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.site-foot{padding:clamp(2.5rem, 6vh, 4rem) var(--gutter)}.foot__grid{max-width:var(--shell);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem 2rem;margin-inline:auto;display:flex}.foot__name{font-family:var(--display);font-size:1.15rem;font-weight:400}.foot__legal{margin-left:auto}[data-split] .word{display:inline-block}[data-split] .word__inner{will-change:transform;display:inline-block}[data-split] .line{display:block;overflow:hidden}.js [data-fade],.js [data-stagger]>*{opacity:0}@media (width<=1180px){.hero__title{grid-column:1/span 9}.hero__aside{grid-column:1/span 7;margin-top:1rem;padding-bottom:0}.hero__meta{grid-column:1/-1}.studio__copy,.services__head .display-2,.visit__hours{grid-column:3/span 9}.studio__figure{grid-column:3/span 6}.services__note,.visit__card,.ritual__head .display-2{grid-column:3/span 9}.steps{grid-template-columns:repeat(2,1fr);row-gap:2.5rem}.menu__groupHead{grid-column:1/span 12;margin-bottom:1.25rem}.menu__rows{grid-column:1/-1}}@media (width<=860px){.nav,.tel{display:none}.menu-toggle{display:inline-flex}.col-mark,.studio__copy,.studio__figure,.services__head .display-2,.services__note,.ritual__head .display-2,.visit__hours,.visit__card{grid-column:1/-1}.hero{padding-top:7rem}.hero__title,.hero__aside{grid-column:1/-1}.hero__meta{grid-template-columns:1fr 1fr;gap:1.25rem}.hero__meta>:last-child{display:none}.menu__row{grid-template-columns:1fr auto;row-gap:.3rem}.menu__desc{grid-column:1/-1}.steps{grid-template-columns:1fr}.hours th{width:8rem}.foot__legal{margin-left:0}}@media (width<=560px){.wordmark__sub{display:none}.site-head{gap:.75rem}.head__actions .btn{padding:.8em 1.05em;font-size:.72rem}.hero__eyebrow{letter-spacing:.12em;font-size:.62rem}}@media (width<=400px){.head__actions .btn .ico{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js [data-fade],.js [data-stagger]>*{opacity:1}.hero__scrollcue .rule:after{display:none}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
