@font-face{font-family:Italiana;src:url(/assets/fonts/Italiana-Regular.woff) format("woff");font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/InstrumentSans-Regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/InstrumentSans-Bold.woff) format("woff");font-weight:700;font-display:swap}
:root{--butter:#fff2a8;--blush:#ffc9dc;--orchid:#f7a8f0;--gold:#6f5610;--mandala:#a0832a;--bone:#cec5a6;--ink:#000;--paper:#fffafc;--line:#e9d9c9;--err:#a3121f;--display:Italiana,"Times New Roman",serif;--body:"Instrument Sans",system-ui,sans-serif;--wrap:72rem}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:6rem}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--body);overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.1;margin:0 0 .5em}
h1{font-size:clamp(2.5rem,7vw,4rem)}h2{font-size:clamp(2rem,5vw,3.25rem)}h3{font-size:1.75rem}
p{margin:0 0 1em;max-width:66ch}
a{color:inherit;text-underline-offset:.18em}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 3px #fff}
.on-dark :focus-visible,.site-foot :focus-visible,.notice :focus-visible{outline-color:var(--butter);box-shadow:0 0 0 3px #000}
h1:focus{outline:none}
.wrap{width:min(100% - 2rem,var(--wrap));margin-inline:auto}
.skip{position:absolute;left:-999rem;top:.5rem;background:#fff;padding:.75rem 1rem;z-index:50}.skip:focus{left:.5rem}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-head{position:sticky;top:0;z-index:30;background:#000;color:var(--bone)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font:400 1.3rem/1.1 var(--display);color:var(--bone);min-height:44px}
.brand img{width:52px;height:52px;border-radius:50%}
#site-nav ul{display:flex;gap:.25rem;list-style:none;margin:0;padding:0;align-items:center}
#site-nav a{display:flex;align-items:center;min-height:44px;padding:.25rem .9rem;text-decoration:none;color:var(--bone)}
#site-nav a:hover,#site-nav a[aria-current=page]{color:var(--butter);text-decoration:underline}
#site-nav a.nav-book{background:var(--butter);color:#000;border-radius:2rem;font-weight:700;text-decoration:none;margin-left:.5rem}
.nav-toggle{display:none;width:48px;height:48px;background:none;border:1px solid var(--bone);border-radius:50%;padding:0;cursor:pointer;position:relative}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{position:absolute;left:12px;width:22px;height:2px;background:var(--bone);content:"";transition:transform .2s}
.nav-toggle span{top:22px}.nav-toggle span::before{left:0;top:-7px}.nav-toggle span::after{left:0;top:7px}
.nav-toggle[aria-expanded=true] span{background:transparent}.nav-toggle[aria-expanded=true] span::before{transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] span::after{transform:translateY(-7px) rotate(-45deg)}
@media (max-width:52rem){.nav-toggle{display:block}#site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#000;padding:.5rem 1rem 1.25rem;border-top:1px solid #333}#site-nav.open{display:block}#site-nav ul{flex-direction:column;align-items:stretch}#site-nav a.nav-book{margin:.5rem 0 0;justify-content:center}}
.hero{background:linear-gradient(90deg,var(--butter),#ffd6c8 45%,var(--blush) 62%,var(--orchid));overflow:hidden;position:relative}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem;min-height:min(44rem,82vh);padding-block:3rem}
.hero h1{font-size:clamp(3.75rem,11vw,8.5rem);line-height:.95;margin-bottom:.3em}
.hero p{font-size:1.3rem;line-height:1.45;max-width:30ch}
.medal{position:relative;display:grid;place-items:center;aspect-ratio:1}
.medal .mandala{position:absolute;inset:-14%;width:128%;max-width:none;animation:turn 1.8s cubic-bezier(.2,.7,.2,1) both}
.medal .logo{position:relative;width:74%;border-radius:50%}
@keyframes turn{from{transform:rotate(-40deg);opacity:0}to{transform:none;opacity:1}}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.btn,.btn-ghost,.btn-quiet{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:.7rem 1.6rem;border-radius:3rem;font:700 1.0625rem/1.25 var(--body);text-decoration:none;cursor:pointer;border:2px solid #000}
.btn{background:#000;color:var(--butter)}.btn:hover{background:#2b2200}.btn[disabled]{opacity:.65;cursor:progress}
.btn-ghost{background:transparent;color:#000}.btn-ghost:hover{background:#fff8}
.btn-quiet{background:none;border-color:transparent;text-decoration:underline;color:inherit}
.notice{background:#000;color:var(--bone);padding-block:clamp(2.5rem,7vw,5rem)}
.notice p{max-width:none;margin:0;font-family:var(--display);line-height:1.08}
.notice strong{display:block;font-weight:400;color:var(--butter);font-size:clamp(3rem,12.2vw,10.5rem);line-height:1}
.notice span{display:block;margin-top:.5em;font-size:clamp(1.75rem,4.6vw,3.75rem)}
.notice.small strong{font-size:clamp(2.5rem,8vw,6rem)}.notice.small span{font-size:clamp(1.5rem,3.4vw,2.75rem)}.notice.small{padding-block:clamp(1.75rem,4vw,3rem)}
section.band{padding-block:clamp(3.5rem,8vw,6.5rem)}
.lede{font-size:1.2rem;max-width:44ch}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.checker{background:linear-gradient(90deg,var(--butter),var(--blush),var(--orchid));padding:clamp(1.25rem,4vw,2.5rem);border-radius:1.25rem 1.25rem 1.25rem 0}
.checker .field{margin-bottom:1rem}.checker-row{display:grid;grid-template-columns:2fr 1fr;gap:.75rem}
.chk-price{font:400 clamp(3.5rem,10vw,5.5rem)/1 var(--display);margin:.5rem 0 .1em}
.field label,legend{display:block;font-weight:700;margin-bottom:.3rem}
input:not([type=radio],[type=checkbox]),select,textarea{width:100%;min-height:48px;padding:.6rem .8rem;font:inherit;font-size:1rem;background:#fff;color:#000;border:1.5px solid #000;border-radius:.5rem}
textarea{min-height:5rem;resize:vertical}
.hint{font-size:.95rem;margin:0 0 .35rem;color:#463f33}
.field{margin-bottom:1.15rem}
.field-err,.form-error{color:var(--err);font-weight:700;margin:.35rem 0 0}.form-error{border-left:4px solid var(--err);padding:.6rem .9rem;margin:0 0 1rem;background:#fff0f1}
[aria-invalid=true]{border-color:var(--err)!important;border-width:2px}
.menu{list-style:none;margin:0;padding:0;border-top:1px solid #000}
.menu li{border-bottom:1px solid #0003}
.menu a{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.9rem 0;text-decoration:none;min-height:44px}
.menu a:hover .simple-name{text-decoration:underline}
.simple-name{font:400 1.55rem/1.15 var(--display)}.simple-name small{display:block;font:400 .95rem/1.4 var(--body);color:#463f33;margin-top:.15rem}
.simple-price{font-weight:700;white-space:nowrap}
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.steps li{counter-increment:s}.steps li::before{content:counter(s);display:block;font:400 4.5rem/1 var(--display);color:var(--butter)}
.steps h3{margin:.3rem 0}
.on-dark{background:#000;color:var(--bone)}.on-dark h2,.on-dark h3{color:var(--butter)}.on-dark .btn{background:var(--butter);color:#000;border-color:var(--butter)}
.gallery{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.5rem}.gallery img{aspect-ratio:4/5;object-fit:cover;width:100%}
.social{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1rem 0 0;padding:0}.social a{display:inline-flex;align-items:center;min-height:44px;padding:.3rem 1rem;border:1.5px solid currentColor;border-radius:2rem;text-decoration:none}.social a:hover{background:#0001}
.style-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:2rem;padding-block:2.25rem;border-bottom:1px solid #0003}
.style-row:first-child{border-top:1px solid #000}
.style-copy h3{font-size:clamp(2rem,4.2vw,3rem);margin-bottom:.15em}.badge{display:inline-block;background:#000;color:var(--butter);padding:.1rem .7rem;border-radius:2rem;font-size:.9rem;font-weight:700;margin:0 0 .6rem}
.strands{display:flex;gap:clamp(.75rem,3vw,2.5rem);border-top:5px solid var(--mandala);padding:0 .5rem;align-items:flex-start}
.strand-link{display:flex;flex-direction:column;align-items:center;width:5.25rem;text-decoration:none;padding-bottom:.25rem}
.strand{display:block;width:13px;border-radius:0 0 7px 7px;background:repeating-linear-gradient(118deg,#000 0 5px,#4a3a0b 5px 7px);transform-origin:top;transition:transform .2s}
.strand-link:hover .strand{transform:scaleX(1.5)}
.len-16{height:8rem}.len-18{height:9rem}.len-24{height:12rem}.len-10,.len-12{height:6rem}.len-14{height:7rem}.len-20{height:10rem}.len-22{height:11rem}.len-26,.len-28,.len-30{height:13rem}
.strand-price{font:400 1.9rem/1 var(--display);margin-top:.5rem}.strand-len{font-size:.92rem}
.split-tips dt{font-weight:700}.split-tips dd{margin:0 0 1rem}
.hours div,.ticket div,.summary dl div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid #0002}
.on-dark .hours div{border-color:#fff3}
dl{margin:0}dd{margin:0;text-align:right}.split-tips dd{text-align:left}
.prose{max-width:44rem;padding-block:3rem 5rem}.prose h1{font-size:clamp(2.5rem,7vw,3.75rem)}.prose h2{font-size:1.9rem;margin-top:1.6em}.prose ul{padding-left:1.25rem}.prose li{margin-bottom:.4rem}.updated{color:#463f33}
.faq details{border-bottom:1px solid #0003;padding:.25rem 0}.faq summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}.faq details p{margin:.25rem 0 1rem}
.site-foot{background:#000;color:var(--bone);padding-block:3.5rem 1.5rem}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2rem}
.site-foot h2{font-size:1.45rem;margin-bottom:.6rem;color:var(--butter)}.site-foot ul{list-style:none;margin:0;padding:0}.site-foot li a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.site-foot li a:hover{text-decoration:underline}
.foot-logo{display:inline-block;border-radius:50%}.foot-logo img{width:96px;height:96px;border-radius:50%}
.foot-legal{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid #fff3;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;font-size:.9rem}.foot-legal p{margin:0}
.credit{color:#b5ad92}.credit a{display:inline-block;padding-block:.75rem;margin-block:-.75rem;text-decoration:none}.credit a:hover{text-decoration:underline}
.page-title{padding-block:clamp(2.5rem,6vw,4rem) 1.5rem}
.booker{padding-block:2rem 5rem}
.progress progress{width:100%;height:10px;display:block;appearance:none;border:0;border-radius:5px;overflow:hidden;background:#f1e5d8}
.progress progress::-webkit-progress-bar{background:#f1e5d8}.progress progress::-webkit-progress-value{background:linear-gradient(90deg,var(--mandala),#000)}.progress progress::-moz-progress-bar{background:#000}
.progress ol{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;list-style:none;margin:.65rem 0 2rem;padding:0;font-size:.92rem}
.progress li{display:flex;align-items:center;gap:.4rem;color:#544c3e}.progress .now{color:#000;font-weight:700}.progress .done{color:#000}
.tick{flex:none;display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;border:1.5px solid currentColor;font-size:.85rem}.done .tick{background:#000;color:var(--butter);border-color:#000}
@media (max-width:34rem){.progress li span:last-child{display:none}.progress .now span:last-child{display:inline}.progress ol{grid-template-columns:auto auto auto 1fr}.progress .now{order:0}}
.book-grid{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:3rem;align-items:start}
.book-one{max-width:40rem}
.summary{position:sticky;top:6rem;background:#000;color:var(--bone);padding:1.5rem;border-radius:1.25rem 1.25rem 1.25rem 0}
.summary h2{font-size:1.9rem;color:var(--butter);margin-bottom:.1em}.summary-price{font:400 3.25rem/1 var(--display);margin:0 0 .75rem}
.summary dl div{border-color:#fff3}.hair-note{margin:.85rem 0 0;color:var(--butter);font-weight:700}
fieldset{border:0;padding:0;margin:0 0 1.5rem;min-width:0}
.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));gap:.5rem}.choices legend{float:left;width:100%;margin-bottom:.5rem}.choices legend+*{clear:both}
.choices.lengths{grid-template-columns:repeat(3,minmax(0,1fr))}.choices.two{grid-template-columns:repeat(2,minmax(0,1fr))}.choices.dates{grid-template-columns:repeat(auto-fill,minmax(5.4rem,1fr));max-height:17rem;overflow-y:auto;padding:4px}.choices.times{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr))}
.choice{position:relative}.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.choice label{display:flex;flex-direction:column;justify-content:center;height:100%;min-height:56px;padding:.55rem .8rem;border:1.5px solid #000;border-radius:.6rem;background:#fff}
.choice-title{font-weight:700}.choice-sub{font-size:.92rem}
.choice input:hover+label{background:#fff6cf}.choice input:checked+label{background:#000;color:var(--butter)}.choice input:focus-visible+label{outline:3px solid #000;outline-offset:3px}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1rem}
.consent{display:flex;gap:.65rem;align-items:flex-start;margin-top:.5rem;font-size:.98rem}.consent input{width:24px;height:24px;flex:none;margin:.15rem 0 0;accent-color:#000}
.hp{position:absolute;left:-999rem}
.ticket{margin:1.75rem 0}.links{display:flex;flex-wrap:wrap;gap:1.5rem}.links a{display:inline-flex;align-items:center;min-height:44px}
dialog{border:0;border-radius:1rem;padding:1.75rem;max-width:min(30rem,calc(100vw - 2rem))}dialog::backdrop{background:#0009}
.e404{text-align:center;padding-block:5rem}.e404 img{margin:0 auto 1.5rem;width:12rem}.e404 p{margin-inline:auto}
@media (max-width:52rem){.hero-in{grid-template-columns:1fr;min-height:0;text-align:left}.medal{order:-1;width:min(70vw,20rem);margin:1rem auto}.split,.book-grid{grid-template-columns:1fr}.summary{position:static;order:-1}.book-main{order:2}.foot-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.style-row{grid-template-columns:1fr}}
@media (max-width:30rem){.foot-grid{grid-template-columns:1fr}.strand-link{width:auto;flex:1}.strands{justify-content:space-between}.checker-row{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
[hidden]{display:none!important}
.choices legend{grid-column:1/-1}
.on-dark .simple-name small{color:var(--bone)}.on-dark .menu{border-color:var(--bone)}.on-dark .menu li{border-color:#fff4}
@media (max-width:52rem){.summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 1rem;padding:.9rem 1.1rem}.summary h2{font-size:1.5rem;margin:0}.summary-price{font-size:2.25rem;margin:0}.summary dl{display:none}.hair-note{grid-column:1/-1;margin-top:.25rem}}
