:root{--ink:#372442;--muted:#604b6a;--deep:#56336b;--line:#75568755;--paper:#fff6fbee;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font:15px/1.75 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#aa8fbe;isolation:isolate}.aura{position:fixed;inset:0;z-index:-1;background:#aa8fbe url(aura.jpeg) center/cover no-repeat;pointer-events:none}.wrap{width:min(1220px,calc(100% - 64px));margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}a{color:inherit;text-underline-offset:5px}.wordmark{font:32px var(--serif);letter-spacing:-1.1px;text-decoration:none}.tiktok-link{font-size:12px}.hero{padding:44px 0 27px;max-width:800px}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:650;margin:0 0 13px;color:var(--deep)}h1{font:clamp(49px,7vw,80px)/1.1 var(--serif);letter-spacing:-2.5px;font-weight:400;margin:12px 0 20px}em{font-weight:400}p{margin:0 0 18px}.hero>p:not(.eyebrow){font-size:16px}.availability{display:flex;align-items:start;gap:20px;padding:21px 24px;border:1px solid #9476a780;border-radius:10px;background:#fbf0f9de;margin-bottom:30px}.availability-mark{display:grid;place-items:center;border:1px solid #8f6aa1;border-radius:50%;width:27px;height:27px;flex-shrink:0;font:italic 20px var(--serif)}.availability h2{font:20px/1.3 var(--serif);letter-spacing:0;margin:1px 0 8px}.availability p{font-size:12px;margin:0;max-width:980px}h2{font:34px/1.2 var(--serif);letter-spacing:-.8px;font-weight:400;margin:0 0 18px}h3{font:25px/1.25 var(--serif);font-weight:400;margin:0 0 12px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:15px}.section-head h2{margin:0}.small{font-size:11px;color:var(--muted)}.categories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}button,.primary{font:inherit;cursor:pointer;min-height:44px;border:1px solid #9574a8;border-radius:7px;background:#fbf0fa;color:var(--deep);padding:10px 17px;font-size:12px}button:hover{background:#efdeef}.categories button{border-radius:30px}.categories button[aria-pressed=true]{background:var(--deep);color:white;border-color:var(--deep)}button:focus-visible,a:focus-visible{outline:3px solid #65417d;outline-offset:4px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--deep);color:white;text-decoration:none;text-align:center}.primary:hover{background:#684282}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.menu-group{border:1px solid #9274a380;border-radius:12px;background:var(--paper);overflow:hidden}.group-head{padding:24px 23px 19px;border-bottom:1px solid var(--line)}.group-head .eyebrow{font-size:9px;margin-bottom:10px}.group-head h3{font-size:29px;letter-spacing:-.8px;margin-bottom:8px}.group-head>p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0}.menu-items{list-style:none;padding:0 23px;margin:0}.menu-item{padding:16px 0;border-bottom:1px solid var(--line)}.menu-item:last-child{border-bottom:0}.item-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.item-title h4{font-size:13px;line-height:1.5;font-weight:600;margin:0}.price{font-size:13px;font-weight:650;white-space:nowrap}.menu-item p{font-size:11px;color:var(--muted);line-height:1.75;margin:6px 0 0}.group-booking{padding:18px 23px 24px;border-top:1px solid var(--line)}.group-booking .primary{width:100%}.group-booking p{font-size:10px;color:var(--muted);margin:10px 0 0}.menu-grid.single{grid-template-columns:minmax(0,750px);justify-content:center}.before{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;margin-top:40px;padding:35px 0;border-top:1px solid var(--line)}.before>div>p:not(.eyebrow){font-size:13px;max-width:420px}.steps{list-style:none;counter-reset:step;margin:0;padding:0}.steps li{counter-increment:step;position:relative;padding-left:40px;margin-bottom:22px}.steps li:before{content:'0' counter(step);position:absolute;left:0;top:0;font:italic 21px var(--serif);color:#7d5a92}.steps h3{font-size:23px;margin-bottom:7px}.steps p{font-size:12px;margin:0}.care{padding:29px;border:1px solid #9274a380;border-radius:12px;background:#fbf0f9de;margin-bottom:30px}.care h2{font-size:30px}.care-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.care-grid p{font-size:12px;margin:0}.care-grid strong{display:block;margin-bottom:6px}.private-option{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:30px 0;border-top:1px solid var(--line)}.private-option h2{font-size:30px}.private-option p:not(.eyebrow){font-size:13px;max-width:660px;margin:0}.private-option .primary{flex-shrink:0}footer{display:flex;justify-content:space-between;gap:55px;border-top:1px solid var(--line);padding:27px 0 36px;margin-top:10px}footer .wordmark{font-size:27px}footer p{font-size:10px;color:var(--muted);max-width:630px;margin:0 0 10px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;background:white;padding:10px;z-index:5}[hidden]{display:none!important}@media(max-width:1000px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-group:last-child{grid-column:1/-1}.menu-grid.single .menu-group{grid-column:auto}.before{gap:30px}.private-option{display:block}.private-option .primary{margin-top:22px}.care-grid{gap:20px}}@media(max-width:600px){.wrap{width:calc(100% - 32px)}header{padding:22px 0}.wordmark{font-size:27px}.tiktok-link{font-size:10px}.hero{padding:31px 0 21px}.hero h1{font-size:55px;letter-spacing:-2px}.hero>p:not(.eyebrow){font-size:14px}.hero br{display:none}.availability{padding:19px;gap:13px}.availability h2{font-size:21px}.section-head{display:block}.section-head h2{font-size:30px;margin-bottom:8px}.categories{gap:7px}.categories button{font-size:11px;padding:9px 12px}.menu-grid,.menu-grid.single{grid-template-columns:1fr}.menu-group:last-child{grid-column:auto}.item-title h4,.price{font-size:14px}.menu-item p{font-size:12px}.group-head{padding:23px}.group-head h3{font-size:31px}.group-head>p:not(.eyebrow){font-size:13px}.group-booking p{font-size:11px}.group-booking .primary{font-size:13px}.before{grid-template-columns:1fr;gap:8px;margin-top:30px;padding-top:29px}.before h2{font-size:31px}.before>div>p:not(.eyebrow){font-size:14px}.steps p{font-size:13px}.care{padding:23px}.care-grid{grid-template-columns:1fr;gap:20px}.care-grid p{font-size:13px}.private-option h2{font-size:29px}footer{display:block}footer>div{margin-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Readable phone layouts, including smaller 320px-wide screens. */
header{gap:16px}.menu-grid>*,.before>*,.availability>div,.care-grid>*{min-width:0}.item-title h4{min-width:0;overflow-wrap:anywhere}.price{flex-shrink:0;font-variant-numeric:tabular-nums}.primary{overflow-wrap:anywhere}.tiktok-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
@media(max-width:600px){
 body{line-height:1.75;-webkit-text-size-adjust:100%}
 .hero{padding-top:25px}.hero h1{font-size:clamp(43px,10.5vw,55px);line-height:1.12}
 header{padding:15px 0;flex-wrap:wrap;gap:8px 14px}.wordmark{font-size:28px}.tiktok-link{font-size:12px}
 .availability{padding:19px 17px;gap:12px;margin-bottom:22px}.availability p{font-size:14px;line-height:1.7}.availability h2{font-size:23px}
 .before{margin-top:24px;padding:25px 0 24px;gap:10px}.before>div>p:not(.eyebrow),.steps p{font-size:14px}.steps li{padding-left:35px;margin-bottom:22px}.steps h3{font-size:24px}
 .categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.categories button{min-width:0;min-height:48px;font-size:13px;padding:10px 9px;line-height:1.4}
 .small{font-size:12px}.menu-grid{gap:20px}.group-head{padding:24px 21px 20px}.group-head .eyebrow{font-size:11px}.group-head>p:not(.eyebrow){font-size:14px}
 .menu-items{padding:0 21px}.menu-item{padding:18px 0}.item-title{gap:13px}.item-title h4{font-size:16px;line-height:1.5}.price{font-size:16px}.menu-item p{font-size:14px;line-height:1.75;margin-top:8px}
 .group-booking{padding:21px}.group-booking .primary,.private-option .primary{min-height:50px;width:100%;font-size:14px;padding:12px 16px}.group-booking p{font-size:12px;line-height:1.7}
 .care{padding:23px}.care-grid p{font-size:14px}.care h2{font-size:31px}.private-option p:not(.eyebrow){font-size:14px}.private-option .primary{margin-top:20px}
 footer p{font-size:12px;line-height:1.75}footer{padding-bottom:max(30px,env(safe-area-inset-bottom))}
}
@media(max-width:359px){header{align-items:flex-start;flex-direction:column;gap:0}.tiktok-link{justify-content:flex-start}.group-head,.group-booking{padding-left:17px;padding-right:17px}.menu-items{padding-left:17px;padding-right:17px}.availability{display:block}.availability-mark{margin-bottom:12px}.item-title{gap:10px}.item-title h4,.price{font-size:15px}}

.private-booking{display:inline-flex;margin-top:12px;padding:8px 13px;min-height:44px;font-size:11px;gap:8px}.hero h1{font-size:clamp(43px,6vw,70px)}@media(max-width:600px){.hero h1{font-size:clamp(40px,9.8vw,53px)}.private-booking{width:100%;min-height:48px;font-size:13px}.private-option{padding-bottom:30px}}
