:root{--bone:#efeae4;--paper:#f7f4ef;--espresso:#2a2421;--muted:#7a6f68;--clay:#b07d6b;--line:#2a242124;--serif:"Instrument Serif", Georgia, serif;--sans:"Geist", system-ui, sans-serif;--gutter:clamp(1rem, 4vw, 3.5rem);--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--bone);color:var(--espresso);-webkit-text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{font-family:var(--sans);background:var(--bone);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;font-weight:400;line-height:1.6;overflow-x:clip}body.is-loading{overflow:hidden}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p,figure,dl,dd,ol,ul{margin:0}ul,ol{padding:0;list-style:none}em{font-family:var(--serif);font-style:italic;font-weight:400}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--clay);outline-offset:3px}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.wrap{width:min(1320px, 100% - 2 * var(--gutter));margin-inline:auto}.label{letter-spacing:.04em;color:var(--muted);font-size:.78rem}.title{font-family:var(--serif);letter-spacing:-.01em;margin-top:.75rem;font-size:clamp(2.8rem,6.5vw,6rem);font-weight:400;line-height:.95}.muted{color:var(--muted)}.small{font-size:.85rem}.section-head{margin-bottom:clamp(2.5rem,6vw,5rem)}.pill{border:1px solid var(--espresso);cursor:pointer;min-height:2.75rem;transition:background .4s var(--ease), color .4s var(--ease), transform .4s var(--ease);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0 1.4rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.pill:hover,.pill-dark{background:var(--espresso);color:var(--bone)}.pill-dark:hover{background:var(--clay);border-color:var(--clay)}.pill-light{border-color:var(--bone);background:var(--bone);color:var(--espresso)}.pill-light:hover{color:var(--bone);background:0 0}.round{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:3.25rem;height:3.25rem;font-size:1.1rem;transition:background .3s;display:grid}.round:hover{background:var(--espresso);color:var(--bone)}.link{cursor:pointer;text-underline-offset:4px;background:0 0;border:0;text-decoration:underline}.curtain{z-index:100;background:var(--espresso);color:var(--bone);place-items:center;display:grid;position:fixed;inset:0}.curtain-word{font-family:var(--serif);font-size:clamp(4rem,14vw,11rem);font-style:italic;line-height:1;overflow:hidden}.curtain-word span{display:inline-block}.cursor{z-index:90;background:var(--espresso);pointer-events:none;width:12px;height:12px;transition:width .4s var(--ease), height .4s var(--ease), margin .4s var(--ease), background .4s;border-radius:50%;place-items:center;margin:-6px 0 0 -6px;display:grid;position:fixed;top:0;left:0}.cursor.is-big{background:var(--clay);width:84px;height:84px;margin:-42px 0 0 -42px}.cursor-label{color:var(--paper);opacity:0;font-size:.75rem;font-weight:500;transition:opacity .3s}.cursor.is-big .cursor-label{opacity:1}@media (pointer:coarse){.cursor{display:none}}.nav{z-index:50;padding:1.1rem var(--gutter);color:var(--espresso);transition:background .5s var(--ease), color .5s var(--ease), padding .5s var(--ease);align-items:center;gap:2rem;display:flex;position:fixed;inset:0 0 auto}.nav.is-scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#efeae4db;padding-block:.75rem}.nav.is-dark{color:var(--bone)}.nav.is-dark.is-scrolled{background:#2a2421b8}.nav .pill{border-color:currentColor}.nav .pill:hover{background:currentColor}.nav .pill:hover span{color:var(--bone)}.nav.is-dark .pill:hover span{color:var(--espresso)}.logo{font-family:var(--serif);font-size:1.6rem;line-height:1;text-decoration:none}.nav nav{margin-left:auto}.nav-links{gap:2rem;font-size:.9rem;display:flex}.nav-links a{text-decoration:none}.menu-button{cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:.95rem;display:none}.menu{z-index:45;padding:var(--gutter);background:var(--bone);flex-direction:column;justify-content:center;gap:.5rem;display:flex;position:fixed;inset:0}.menu[hidden]{display:none}.menu a:not(.pill){font-family:var(--serif);font-size:3.2rem;line-height:1.1;text-decoration:none}.menu .pill{align-self:flex-start;margin-top:1.5rem}@media (width<=820px){.nav nav,.nav>.pill{display:none}.menu-button{display:block}}.hero-stage{height:100svh;position:relative;overflow:hidden}.hero-meta{inset:5.5rem var(--gutter) auto;color:var(--muted);justify-content:space-between;gap:1rem;font-size:.85rem;display:flex;position:absolute}.hero-title{padding:0 var(--gutter);font-family:var(--serif);letter-spacing:-.02em;pointer-events:none;justify-content:space-between;align-items:center;font-size:clamp(5rem,17vw,17rem);font-weight:400;line-height:.9;display:flex;position:absolute;inset:0}.hero-word{display:block}.hero-media{--iy:30%;--ix:42%;--r:999px;clip-path:inset(var(--iy) var(--ix) var(--iy) var(--ix) round var(--r));will-change:clip-path;position:absolute;inset:0}.hero-media img{object-fit:cover;width:100%;height:100%;transform:scale(.55)}.hero-over{inset:auto var(--gutter) clamp(2rem, 6vh, 4rem);color:var(--paper);opacity:0;visibility:hidden;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex;position:absolute}.hero-over-title{font-family:var(--serif);text-shadow:0 2px 30px #00000040;font-size:clamp(2.6rem,6vw,5.5rem);line-height:.95}@media (width<=820px){.hero-meta{flex-direction:column;gap:.25rem}.hero-title{flex-direction:column;justify-content:center;gap:42vh;font-size:25vw}.hero-media{--iy:35%;--ix:30%}}.intro{padding:clamp(6rem,14vw,12rem) 0}.intro-grid{grid-template-columns:1fr 3fr;gap:2rem;display:grid}.statement{font-family:var(--serif);font-size:clamp(2rem,4.2vw,4rem);font-weight:400;line-height:1.08}.statement .w{opacity:.15}.figures{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:clamp(3rem,6vw,5rem);padding-top:2rem;display:grid}.figures dt{font-family:var(--serif);font-size:clamp(3rem,6vw,5.5rem);line-height:1}.figures dd{color:var(--muted);margin-top:.5rem}@media (width<=820px){.intro-grid{grid-template-columns:1fr}.figures{grid-template-columns:1fr 1fr}}.marquee{border-block:1px solid var(--line);padding:1.5rem 0;overflow:hidden}.marquee-track{width:max-content;font-family:var(--serif);white-space:nowrap;gap:3rem;font-size:clamp(3.5rem,10vw,9rem);line-height:1;display:flex}.marquee-track .o{color:var(--clay);font-style:italic}.services{padding:clamp(6rem,12vw,10rem) 0}.service-list{border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line);transition:opacity .4s, padding .5s var(--ease);grid-template-columns:4rem 1.4fr 1.6fr 8rem;align-items:center;gap:1.5rem;padding:1.8rem 0;display:grid}.service-list:hover .service:not(:hover){opacity:.35}.service:hover{padding-left:1rem}.service-num{color:var(--muted);font-size:.8rem}.service-name{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,4rem);font-weight:400;line-height:1}.service-desc{color:var(--muted)}.service-price{text-align:right;font-size:.9rem}.service-thumb{display:none}.service-float{z-index:30;aspect-ratio:4/5;pointer-events:none;opacity:0;border-radius:.5rem;width:18rem;position:fixed;top:0;left:0;overflow:hidden;transform:translate(-50%,-50%)scale(.6)}.service-float img{object-fit:cover;width:100%;height:100%}@media (width<=820px){.service{grid-template-columns:5rem 1fr;grid-template-areas:"thumb name""thumb desc""thumb price";gap:.25rem 1rem}.service-num{display:none}.service-thumb{aspect-ratio:4/5;object-fit:cover;border-radius:.4rem;grid-area:thumb;width:5rem;display:block}.service-name{grid-area:name}.service-desc{grid-area:desc;font-size:.9rem}.service-price{text-align:left;grid-area:price}.service-float{display:none}}.work{background:var(--espresso);color:var(--bone)}.work .label{color:#efeae499}.work-pin{flex-direction:column;justify-content:center;gap:3rem;height:100svh;display:flex;overflow:hidden}.work-head{padding:0 var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.work-head .title{flex:1}.work-count{font-family:var(--serif);font-size:2rem}.work-track{width:max-content;padding:0 var(--gutter);gap:clamp(1rem,2vw,2rem);display:flex}.work-item{width:clamp(16rem,26vw,24rem)}.work-frame{aspect-ratio:3/4;border-radius:.4rem;overflow:hidden}.work-frame img{object-fit:cover;width:120%;max-width:none;height:100%}.work-item figcaption{justify-content:space-between;margin-top:.9rem;font-size:.9rem;display:flex}.work-item figcaption span:last-child{color:#efeae499}@media (width<=820px){.work-pin{height:auto;padding:5rem 0}.work-track{scroll-snap-type:x mandatory;scrollbar-width:none;width:auto;overflow-x:auto}.work-item{scroll-snap-align:center;flex:0 0 72vw}.work-frame img{width:100%}}.ritual{padding:clamp(6rem,12vw,10rem) 0}.stack{gap:2rem;display:grid}.stack-card{background:var(--paper);border:1px solid var(--line);transform-origin:top;border-radius:1rem;grid-template-columns:1fr 1.2fr;gap:2rem;min-height:70vh;padding:clamp(1.25rem,3vw,2.5rem);display:grid;position:sticky;top:12vh}.stack-card:nth-child(2){top:calc(12vh + 1.5rem)}.stack-card:nth-child(3){top:calc(12vh + 3rem)}.stack-text{flex-direction:column;justify-content:space-between;gap:2rem;display:flex}.stack-num{color:var(--muted);font-size:.85rem}.stack-text h3{font-family:var(--serif);font-size:clamp(3rem,7vw,6.5rem);font-weight:400;line-height:.9}.stack-text p{max-width:26rem;color:var(--muted);font-size:1.05rem}.stack-card img{object-fit:cover;border-radius:.6rem;width:100%;height:100%;min-height:18rem}@media (width<=820px){.stack-card{grid-template-columns:1fr;min-height:auto}.stack-card img{height:14rem;min-height:0}}.team{background:var(--paper);padding:clamp(6rem,12vw,10rem) 0}.team-grid{grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.75rem);display:grid}.member-photo{aspect-ratio:4/5;border-radius:.4rem;overflow:hidden}.member-photo img{object-fit:cover;filter:grayscale();width:100%;height:100%;transition:filter .8s var(--ease), transform .8s var(--ease);transform:scale(1.04)}.member:hover .member-photo img{filter:grayscale(0);transform:scale(1.1)}.member h3{font-family:var(--serif);margin-top:1rem;font-size:1.8rem;font-weight:400;line-height:1.1}.member p{color:var(--muted);font-size:.9rem}@media (width<=820px){.team-grid{grid-template-columns:1fr 1fr}.member-photo img{filter:none}}.prices{padding:clamp(6rem,12vw,10rem) 0}.prices-grid{grid-template-columns:1fr 1.3fr;gap:clamp(2rem,6vw,6rem);display:grid}.prices .muted{max-width:24rem;margin-top:1.5rem}.tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.tab{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:.55rem 1.1rem;font-size:.9rem;transition:all .3s}.tab[aria-selected=true]{background:var(--espresso);border-color:var(--espresso);color:var(--bone)}.price-row{border-bottom:1px solid var(--line);animation:rise .6s var(--ease) both;align-items:baseline;gap:1rem;padding:1.1rem 0;font-size:1.05rem;display:flex}.price-row .dots{border-bottom:1px dotted #2a242159;flex:1;transform:translateY(-.3rem)}.price-row strong{font-family:var(--serif);font-size:1.5rem;font-weight:400}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@media (width<=820px){.prices-grid{grid-template-columns:1fr}}.reviews{border-top:1px solid var(--line);text-align:center;padding:clamp(6rem,12vw,10rem) 0}.review{max-width:62rem;min-height:14rem;margin:2.5rem auto 0}.review blockquote{font-family:var(--serif);margin:0;font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.1}.review figcaption{color:var(--muted);margin-top:1.75rem}.review-controls{justify-content:center;align-items:center;gap:1.25rem;margin-top:2.5rem;display:flex}.review-count{min-width:3rem;color:var(--muted);font-size:.9rem}.book{background:var(--paper);padding:clamp(6rem,12vw,10rem) 0}.book-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.steps{counter-reset:step;gap:.75rem;margin-top:2.5rem;display:grid}.steps li{color:var(--muted);align-items:center;gap:.9rem;transition:color .3s;display:flex}.steps li:before{counter-increment:step;content:counter(step);border:1px solid var(--line);border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.8rem;transition:all .3s;display:grid}.steps li.is-active,.steps li.is-done{color:var(--espresso)}.steps li.is-active:before{background:var(--espresso);border-color:var(--espresso);color:var(--bone)}.steps li.is-done:before{content:"✓";border-color:var(--clay);color:var(--clay)}.booking{border:1px solid var(--line);background:var(--bone);border-radius:1rem;padding:clamp(1.25rem,3vw,2.5rem)}.step{border:0;min-width:0;margin:0;padding:0;display:none}.step.is-active{animation:rise .5s var(--ease) both;gap:1rem;display:grid}.step legend{font-family:var(--serif);margin-bottom:1rem;font-size:2.2rem;line-height:1}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem;display:grid}.choice{border:1px solid var(--line);background:var(--paper);cursor:pointer;transition:border-color .3s, transform .3s var(--ease);border-radius:.75rem;gap:.6rem;padding:.6rem;display:grid;position:relative}.choice:hover{transform:translateY(-2px)}.choice:has(:checked){border-color:var(--espresso);box-shadow:inset 0 0 0 1px var(--espresso)}.choice:has(:focus-visible){outline:2px solid var(--clay);outline-offset:2px}.choice input{opacity:0;position:absolute}.choice img{aspect-ratio:4/3;object-fit:cover;border-radius:.5rem;width:100%}.choice-any{aspect-ratio:4/3;background:var(--bone);font-family:var(--serif);border-radius:.5rem;place-items:center;font-size:2rem;display:grid}.choice strong{font-size:.95rem;font-weight:500}.choice small{color:var(--muted);display:block}.days,.times{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid var(--line);background:var(--paper);text-align:center;cursor:pointer;border-radius:.75rem;place-items:center;min-width:4.5rem;padding:.6rem .9rem;font-size:.9rem;line-height:1.25;transition:all .25s;display:grid;position:relative}.chip input{opacity:0;position:absolute}.chip:has(:checked){background:var(--espresso);border-color:var(--espresso);color:var(--bone)}.chip:has(:focus-visible){outline:2px solid var(--clay);outline-offset:2px}.chip small{opacity:.7;font-size:.72rem;display:block}.booking label:not(.choice):not(.chip){color:var(--muted);gap:.4rem;font-size:.85rem;display:grid}.booking input:not([type=radio]){border:1px solid var(--line);background:var(--paper);min-height:3rem;font:1rem var(--sans);color:var(--espresso);border-radius:.75rem;padding:0 1rem}.booking input:focus{border-color:var(--espresso);outline:none}.summary{background:var(--paper);border-radius:.75rem;padding:1rem;font-size:.95rem}.done{gap:.75rem}.done-title{font-family:var(--serif);font-size:3rem;line-height:1}.done-title em{color:var(--clay)}.form-error{color:#a23b2a;margin-top:1rem;font-size:.9rem}.form-nav{justify-content:space-between;align-items:center;gap:1rem;margin-top:1.75rem;display:flex}.form-nav [data-next]{margin-left:auto}@media (width<=820px){.book-grid{grid-template-columns:1fr}.steps{grid-template-columns:repeat(4,auto);justify-content:start;gap:1rem;font-size:.85rem}.choice-grid{grid-template-columns:1fr 1fr}}.footer{background:var(--espresso);color:var(--bone);padding:clamp(4rem,8vw,6rem) 0 2rem;overflow:hidden}.footer .label{color:#efeae48c;margin-bottom:.5rem}.footer-top{grid-template-columns:repeat(3,1fr) auto;align-items:start;gap:2rem;display:grid}.footer-word{font-family:var(--serif);text-align:center;white-space:nowrap;letter-spacing:-.02em;margin:clamp(3rem,8vw,6rem) 0 1rem;font-size:clamp(5rem,21vw,22rem);line-height:.85}.footer-bottom{color:#efeae4a6;border-top:1px solid #efeae426;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;padding-bottom:3rem;font-size:.85rem;display:flex}.made-by{color:var(--bone);text-decoration:none}@media (width<=820px){.footer-top{grid-template-columns:1fr 1fr}}.demo-badge{z-index:60;background:var(--espresso);color:var(--bone);border-radius:999px;padding:.55rem .95rem;font-size:.75rem;text-decoration:none;position:fixed;bottom:1rem;left:1rem;box-shadow:0 10px 30px #2a242140}@media (width<=820px){.demo-badge{bottom:.75rem;left:auto;right:.75rem}.badge-long{display:none}.demo-badge strong:before{content:"By ";font-weight:400}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
