*,:before,:after{box-sizing:border-box;border-radius:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-kerning:normal;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:clamp(1rem,.96rem + .2vw,1.125rem);line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.call-bar a:focus-visible{outline-color:var(--on-accent);outline-offset:-4px}.lightbox :focus-visible{outline-color:var(--paper)}h1,h2,h3{overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;font-family:var(--font-display);font-weight:var(--heading-weight);text-transform:var(--heading-case);letter-spacing:var(--heading-tracking);text-wrap:balance;margin:0;line-height:1.04}.cta-number{display:none}@media (hover:hover) and (min-width:60rem){.cta-number{display:inline}}h1{font-size:clamp(2.75rem,1.5rem + 5.2vw,6.25rem)}h2{font-size:clamp(2rem,1.3rem + 2.8vw,3.75rem)}h3{font-size:clamp(1.25rem,1.1rem + .6vw,1.625rem);line-height:1.2}p{text-wrap:pretty;max-width:62ch;margin:0 0 1em}.wrap{width:100%;max-width:84rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,3.5rem)}.skip{position:absolute;left:-999px}.skip:focus{z-index:100;background:var(--paper);padding:.5rem 1rem;top:1rem;left:1rem}.button{background:var(--accent);color:var(--on-accent);font-weight:var(--body-strong);border:1px solid var(--accent);align-items:center;gap:.75em;padding:1.05em 1.6em;text-decoration:none;transition:background .25s,color .25s,border-color .25s;display:inline-flex}.button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.button .arrow{transition:transform .25s}.button:hover .arrow{transform:translate(4px)}.text-link{font-weight:var(--body-strong);border-bottom:1px solid;align-items:center;gap:.6em;padding-bottom:.2em;text-decoration:none;display:inline-flex}.text-link .arrow{transition:transform .25s}.text-link:hover .arrow{transform:translate(4px)}.notice{color:var(--muted);border-bottom:1px solid var(--rule);padding:.55rem 0;font-size:.8125rem}.notice p{max-width:none;margin:0}.notice a{color:var(--accent)}.header{z-index:40;background:var(--paper);border-bottom:1px solid var(--rule);padding:1.15rem 0;transition:padding .3s;position:sticky;top:0}.header.is-scrolled{padding:.65rem 0}.header .wrap{align-items:center;gap:2rem;display:flex}.wordmark{font-family:var(--font-display);margin-right:auto;font-size:1.375rem;line-height:1.1;text-decoration:none}.wordmark img{width:auto;max-height:3rem;transition:max-height .3s}.header.is-scrolled .wordmark img{max-height:2.25rem}.header nav{gap:2rem;font-size:.9375rem;display:flex}.header nav a{text-decoration:none;position:relative}.header nav a:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .3s;position:absolute;bottom:-.3em;left:0;right:0;transform:scaleX(0)}.header nav a:hover:after{transform:scaleX(1)}.header .button{padding:.7em 1.15em;font-size:.9375rem}:root{--tint:color-mix(in srgb, var(--accent) 6%, var(--paper))}
.hero{--edge:calc(max(0px, (100cqw - 84rem) / 2) + clamp(1.25rem, 4vw, 3.5rem));position:relative;overflow:hidden;container-type:inline-size}.hero-title .word,.hero-title .word>span{overflow-wrap:anywhere;max-width:100%}.hero-title .word{vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:hidden}.hero-title .word>span{animation:.9s cubic-bezier(.2,.7,.1,1) both rise;animation-delay:calc(.12s + var(--i) * 60ms);display:inline-block}.hero .kicker,.hero .lead{animation:.9s cubic-bezier(.2,.7,.1,1) both fade-up}.hero .lead{animation-delay:.45s}.kicker{text-wrap:balance;font-size:.8125rem;font-weight:var(--body-strong);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}.hero .kicker{align-items:baseline;gap:.9rem;margin-bottom:1.5rem;display:flex}.hero .kicker:before{content:"";background:currentColor;flex:none;align-self:center;width:2.25rem;height:1px}.hero .lead{max-width:38ch;margin:1.75rem 0 2.5rem;font-size:clamp(1.125rem,1rem + .5vw,1.375rem)}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;display:flex}.hero-photo{background:var(--rule);position:relative;overflow:hidden}.hero-photo img{object-fit:cover;width:100%;height:100%;animation:2.6s cubic-bezier(.2,.7,.1,1) both settle}.hero--cover{align-items:flex-end;min-height:min(92vh,60rem);display:flex}.hero--cover .hero-photo{position:absolute;inset:0}.hero--cover .hero-panel{background:var(--paper);max-width:44rem;margin:0 0 0 var(--edge);padding:clamp(1.75rem,3vw,3rem) clamp(1.5rem,3vw,3rem) clamp(1.5rem,2.5vw,2.5rem);animation:1s cubic-bezier(.2,.7,.1,1) both panel-in;position:relative}.hero--split .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(88vh,56rem);display:grid}.hero--split .hero-copy{padding:clamp(3rem, 6vw, 5rem) clamp(1.5rem, 4vw, 4rem) clamp(3rem, 6vw, 5rem) var(--edge);flex-direction:column;justify-content:center;display:flex}.hero--split .hero-photo{min-height:100%;animation:1.2s cubic-bezier(.7,0,.2,1) .1s both unveil}.hero--split h1,.hero--cover h1{font-size:clamp(2.75rem,1.1rem + 4.6vw,6.25rem);line-height:1}.hero--person .hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);min-height:min(86vh,54rem)}.hero--person .hero-photo img{object-position:50% 20%}.hero-figure{flex-direction:column;margin:0;display:flex}.hero-frame{isolation:isolate;flex:1;position:relative}.hero-frame .hero-photo{height:100%}.hero-figure figcaption{color:var(--muted);font-size:.875rem;line-height:1.4;animation:.9s cubic-bezier(.2,.7,.1,1) .9s both fade-up}.hero-name{font-family:var(--font-display);font-weight:var(--heading-weight);color:var(--ink);font-size:clamp(1.125rem,1rem + .4vw,1.375rem);display:block}.hero--person:not(.hero--small-photo) figcaption{background:var(--paper);padding:1rem 1.5rem .9rem;position:absolute;bottom:0;left:0}.hero--person:not(.hero--small-photo) .hero-figure{position:relative}.hero--small-photo .hero-figure{width:min(100% - var(--edge), 30rem);margin:3.5rem var(--edge) 3.5rem 0;place-self:center end}.hero--small-photo .hero-frame{flex:none}.hero--small-photo .hero-photo{aspect-ratio:4/5;min-height:0}.hero--small-photo .hero-frame:before{content:"";z-index:-1;background:var(--accent);animation:1.1s cubic-bezier(.2,.7,.1,1) .55s both block-in;position:absolute;inset:22% 18% -1.5rem -1.5rem}.hero--small-photo figcaption{margin-top:2.5rem}.hero--type{padding:clamp(4rem,10vw,8rem) 0 clamp(3rem,6vw,5rem)}.hero--quote .wrap{grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:end;gap:clamp(2rem,5vw,5rem);display:grid}.hero-quote{border-top:2px solid var(--accent);font-family:var(--font-display);margin:0;padding:1.75rem 0 0;font-size:clamp(1.125rem,1rem + .5vw,1.375rem);line-height:1.45}.hero-quote p{margin:0}.hero-quote footer{font-family:var(--font-body);color:var(--muted);margin-top:1rem;font-size:.9375rem}.hero--type h1{max-width:16ch;font-size:clamp(3rem,1.5rem + 6.5vw,7.5rem)}.hero-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:clamp(3rem,6vw,5rem);display:grid}.hero-strip .hero-photo{aspect-ratio:4/3}.facts-band{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.facts-band :is(dl,ul){grid-template-columns:repeat(var(--count,3), minmax(0, 1fr));margin:0;padding:0;list-style:none;display:grid}.facts-band :is(dl,ul)>*{padding:1.75rem clamp(1.25rem,3vw,2.5rem) 1.75rem 0}.facts-band :is(dl,ul)>*+*{border-left:1px solid var(--rule);padding-left:clamp(1.25rem,3vw,2.5rem)}.facts-band dt{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.8125rem}.facts-band dd{margin:0}.fact-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-top:.5rem;font-size:clamp(1.25rem,1.1rem + .6vw,1.625rem);line-height:1.25}.fact-value a{text-decoration:none}.fact-note{color:var(--muted);margin-top:.35rem;font-size:.9375rem}.fact-note a{color:var(--ink)}.highlights li{font-family:var(--font-display);text-wrap:balance;font-size:clamp(1.0625rem,1rem + .35vw,1.25rem);line-height:1.35}.proof-value,.fact-value--score{font-family:var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums lining-nums;font-size:clamp(2.75rem,2rem + 2.4vw,4.25rem);line-height:.95;display:block}.proof-value{margin-bottom:.6rem}.proof-label{font-family:var(--font-body);color:var(--muted);font-size:.9375rem;display:block}@media (max-width:64rem){.facts-band [data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.facts-band [data-count="4"]>:nth-child(odd){border-left:0;padding-left:0}.facts-band [data-count="4"]>:nth-child(n+3){border-top:1px solid var(--rule)}}.open-now{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:.6rem;margin:1.75rem 0 0;font-size:.9375rem;animation:.9s cubic-bezier(.2,.7,.1,1) .75s both fade-up;display:flex}.open-now.is-known:before{content:"";background:currentColor;flex:none;width:.5rem;height:.5rem}.open-now.is-open{color:var(--ink)}.open-now.is-open:before{background:var(--accent)}@media (max-width:60rem){.hero--person .hero-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);min-height:auto}.hero--person .hero-figure,.hero--small-photo .hero-figure{width:min(100% - var(--edge), 22rem);margin:3rem var(--edge) 3rem 0;place-self:center end;position:static}.hero--person .hero-frame{flex:none}.hero--person .hero-photo{aspect-ratio:4/5;min-height:0}.hero--person figcaption,.hero--person:not(.hero--small-photo) figcaption{background:0 0;margin-top:2.25rem;padding:0;position:static}.hero--person .hero-frame:before{content:"";z-index:-1;background:var(--accent);position:absolute;inset:22% 18% -1.25rem -1.25rem}.hero--split .hero-copy{padding:3rem clamp(1rem, 3vw, 2rem) 3rem var(--edge)}.hero--split:not(.hero--person) .hero-grid{grid-template-columns:minmax(0,1fr);min-height:auto}.hero--split:not(.hero--person) .hero-photo{aspect-ratio:3/2;order:-1;min-height:0}.hero--split:not(.hero--person) .hero-copy{padding:2rem var(--edge) 3rem}.hero--cover{flex-direction:column;align-items:stretch;min-height:auto}.hero--cover .hero-photo{aspect-ratio:4/3;position:relative}.hero--cover .hero-panel{max-width:none;padding:2rem var(--edge);margin:0}.hero--quote .wrap{grid-template-columns:1fr}.hero-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-strip .hero-photo:nth-child(3){display:none}.facts-band :is(dl,ul)>*{padding-block:1.25rem}}@media (max-width:40rem){.hero--person .hero-grid{grid-template-columns:minmax(0,1fr)}.hero--person .hero-figure,.hero--small-photo .hero-figure{width:auto;margin:1.75rem var(--edge) 0;order:-1;grid-template-columns:minmax(0,11fr) minmax(0,9fr);justify-self:stretch;align-items:end;column-gap:1.75rem;display:grid}.hero--person .hero-frame:before{inset:22% -.9rem -.9rem 18%}.hero--person figcaption,.hero--person:not(.hero--small-photo) figcaption{margin:0 0 .25rem}.hero--split .hero-copy{padding:2.25rem var(--edge) 3rem}.hero .kicker{margin-bottom:1rem}.hero .lead{margin:1.25rem 0 2rem}.facts-band [data-count]{grid-template-columns:minmax(0,1fr)}.facts-band [data-count]>*+*{border-left:0;border-top:1px solid var(--rule);padding-left:0}}
.section{padding:clamp(5rem,11vw,9.5rem) 0}.section+.section{border-top:1px solid var(--rule)}.section-head{grid-template-columns:minmax(0,1fr);align-items:end;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.section-head:has(p){grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.section-head p{color:var(--muted);margin:0}.story{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.story>.story-photo{position:sticky;top:8rem}.split{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.split>.section-head{margin-bottom:0}.price-teaser{margin:1.75rem 0 0;font-size:1.125rem}.story--text{grid-template-columns:minmax(0,1fr)}.story--text>div{max-width:46rem}.story .intro{font-family:var(--font-display);max-width:30ch;margin-bottom:1.5rem;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.25rem);line-height:1.3}.story-photo{aspect-ratio:4/5;background:var(--rule);overflow:hidden}.story-photo img{object-fit:cover;width:100%;height:100%}.ledger{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.ledger li{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:1.5rem;padding:1.75rem 0;display:grid;position:relative}.ledger li:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .5s cubic-bezier(.2,.7,.1,1);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.ledger li:hover:after{transform:scaleX(1)}.ledger :is(h2,h3){font-size:clamp(1.25rem,1.1rem + .6vw,1.625rem);line-height:1.2;transition:transform .4s cubic-bezier(.2,.7,.1,1)}.ledger li:hover :is(h2,h3){transform:translate(.4rem)}.ledger p{color:var(--muted);margin:.5rem 0 0}.ledger .price{font-variant-numeric:tabular-nums;font-weight:var(--body-strong);white-space:nowrap}.gallery{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(9rem,16vw,15rem);gap:clamp(.5rem,1vw,1rem);display:grid}.gallery button{background:var(--rule);grid-column:span 4;position:relative;overflow:hidden}.gallery button:nth-child(6n+1){grid-area:span 2/span 7}.gallery button:nth-child(6n+2),.gallery button:nth-child(6n+3){grid-column:span 5}.gallery img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.7,.1,1)}.gallery button:hover img{transform:scale(1.04)}.lightbox{z-index:60;background:var(--ink);color:var(--paper);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.lightbox-bar{justify-content:space-between;align-items:center;padding:1rem clamp(1.25rem,4vw,3.5rem);font-size:.875rem;display:flex}.lightbox-stage{justify-content:center;align-items:center;padding:0 clamp(1rem,4vw,3.5rem);display:flex;position:relative;overflow:hidden}.lightbox-stage img{object-fit:contain;width:auto;max-width:100%;max-height:100%}.lightbox-caption{justify-content:space-between;gap:1rem;padding:1rem clamp(1.25rem,4vw,3.5rem) 1.5rem;font-size:.9375rem;display:flex}.lightbox button{padding:.5rem 0}.price-list{border-top:1px solid var(--ink);margin:3rem 0 0}.price-list>div{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:1.5rem;padding:1.25rem 0;display:grid}.price-list dt{font-weight:var(--body-strong)}.price-note{color:var(--muted);margin-top:.25rem;font-weight:400;display:block}.price-list dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem)}.steps{counter-reset:step;grid-template-columns:repeat(var(--count,3), minmax(0, 1fr));gap:2rem clamp(1.5rem,3vw,3rem);margin:0;padding:0;list-style:none;display:grid}.steps li{grid-row:span 3;grid-template-rows:subgrid;counter-increment:step;border-top:1px solid var(--ink);align-content:start;row-gap:0;padding-top:1.25rem;display:grid}.steps li:before{content:counter(step, decimal-leading-zero);font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent);margin-bottom:1rem;font-size:1.125rem;display:block}.steps h3{text-wrap:balance}.steps p{color:var(--muted);margin:.75rem 0 0}.service-grid{grid-template-columns:repeat(var(--count,3), minmax(0, 1fr));gap:clamp(2.5rem,4vw,3.5rem) clamp(2rem,4vw,4.5rem);margin:0;padding:0;list-style:none;display:grid}.service-grid[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid li{border-top:1px solid var(--ink);flex-direction:column;padding-top:1.5rem;display:flex;position:relative}.service-grid li:before{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .6s cubic-bezier(.2,.7,.1,1);position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.service-grid li:hover:before{transform:scaleX(1)}.service-grid h3{font-size:clamp(1.5rem,1.2rem + 1vw,2.125rem);line-height:1.12}.service-grid p{color:var(--muted);max-width:48ch;margin:.9rem 0 0}.service-grid .service-price{color:var(--ink);font-weight:var(--body-strong);font-variant-numeric:tabular-nums;margin-top:auto;padding-top:1rem}.price-strip{grid-template-columns:repeat(var(--count,3), minmax(0, 1fr));background:var(--tint);border-top:1px solid var(--ink);margin:clamp(3rem,6vw,4.5rem) 0 0;display:grid}.price-strip>div{flex-direction:column;gap:.75rem;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.price-strip>div+div{border-left:1px solid var(--rule)}.price-strip dd{font-family:var(--font-display);font-weight:var(--heading-weight);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;order:-1;margin:0;font-size:clamp(2.25rem,1.6rem + 2vw,3.5rem);line-height:1}.price-strip dt{color:var(--muted);max-width:32ch;font-size:.9375rem}.quote-band{background:var(--accent);color:var(--on-accent);padding:clamp(4.5rem,10vw,8.5rem) 0}.quote-band blockquote{margin:0}.quote-band p{max-width:28ch;font-family:var(--font-display);font-weight:var(--heading-weight);text-wrap:balance;margin:0;font-size:clamp(1.75rem,1.15rem + 2.3vw,3.25rem);line-height:1.2;position:relative}.quote-band [data-short] p{max-width:22ch;font-size:clamp(2.25rem,1.3rem + 3.8vw,4.75rem);line-height:1.1}.quote-band p:before,.quote p:before{content:"“";padding-right:.06em;position:absolute;right:100%}.quote-band p:after,.quote p:after{content:"”"}.quote-band footer{align-items:center;gap:.9rem;margin-top:clamp(1.75rem,3vw,2.5rem);font-size:.9375rem;display:flex}.quote-band footer:before{content:"";background:currentColor;flex:none;width:2.25rem;height:1px}.quote-band :focus-visible{outline-color:var(--on-accent)}.story--mirror{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center}.story--mirror>.story-photo{position:static}@media (max-width:80rem){.steps[data-count="5"],.steps[data-count="6"]{grid-template-columns:minmax(0,1fr);gap:0}.steps[data-count="5"] li,.steps[data-count="6"] li{border-top:1px solid var(--rule);grid-row:auto;grid-template-rows:none;grid-template-columns:3.5rem minmax(0,1fr);padding:1.25rem 0 1.5rem}.steps[data-count="5"] li:before,.steps[data-count="6"] li:before{grid-row:span 2;margin:0;line-height:1.4}.steps[data-count="5"] li>*,.steps[data-count="6"] li>*{grid-column:2}}@media (max-width:64rem){.steps[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.5rem}}@media (max-width:48rem){.steps[data-count="3"],.service-grid[data-count="3"]{grid-template-columns:minmax(0,1fr)}}@media (max-width:40rem){.steps[data-count],.service-grid[data-count],.price-strip[data-count]{grid-template-columns:minmax(0,1fr)}.steps[data-count] li{border-top:1px solid var(--rule);grid-row:auto;grid-template-rows:none;grid-template-columns:3rem minmax(0,1fr);padding:1.25rem 0 1.5rem}.steps[data-count] li:before{grid-row:span 2;margin:0;line-height:1.4}.steps[data-count] li>*{grid-column:2}.steps[data-count]{gap:0}.price-strip>div+div{border-left:0;border-top:1px solid var(--rule)}}
.booking{border-top:1px solid var(--ink);grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);display:grid}.booking-step{padding:1.75rem clamp(1rem,2vw,2rem) 2rem 0}.booking-step+.booking-step{border-left:1px solid var(--rule);padding-left:clamp(1rem,2vw,2rem)}.booking-step-title{font-size:.8125rem;font-weight:var(--body-strong);letter-spacing:.12em;text-transform:uppercase;gap:.75rem;margin:0 0 1.25rem;display:flex}.booking .option{border:1px solid var(--rule);font-variant-numeric:tabular-nums;text-align:left;justify-content:space-between;align-items:center;gap:1rem;min-height:3rem;padding:.6rem .9rem;transition:border-color .2s,background .2s,color .2s;display:flex}.booking .option:hover{border-color:var(--ink)}.booking .option[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.booking-services{gap:.5rem;display:grid}.booking-services .price{color:inherit;opacity:.75}.booking-days{grid-template-columns:repeat(auto-fill,minmax(6.25rem,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.booking-days .option{white-space:nowrap;justify-content:center}.booking-times{grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr));gap:.5rem;display:grid}.booking-times .option{justify-content:center}.booking-summary{font-family:var(--font-display);margin:0 0 1.5rem;font-size:clamp(1.25rem,1.1rem + .6vw,1.625rem);line-height:1.3}.booking .button:disabled{opacity:.4;cursor:not-allowed}.booking-done p{margin:0 0 1.25rem}
.reviews{background:var(--ink);color:var(--paper)}.reviews-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem 4rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:flex}.reviews-head h2{max-width:16ch}.rating{align-items:flex-end;gap:1.25rem;display:flex}.rating-value{font-family:var(--font-display);font-weight:var(--heading-weight);font-variant-numeric:tabular-nums lining-nums;font-size:clamp(4rem,2.5rem + 5vw,7.5rem);line-height:.8}.rating-label{max-width:17ch;color:color-mix(in srgb, var(--paper) 80%, transparent);flex-direction:column;align-items:flex-start;gap:.6rem;font-size:.9375rem;display:flex}.reviews-all{color:var(--paper);padding-block:.5rem}.reviews a:focus-visible{outline-color:var(--paper)}.reviews-list{grid-template-columns:repeat(var(--count,3), minmax(0, 1fr));align-items:start;gap:2.5rem clamp(2rem,4vw,4rem);display:grid}.reviews-list[data-count="1"]{max-width:48rem}.quote{border-top:1px solid color-mix(in srgb, var(--paper) 35%, transparent);margin:0;padding-top:1.5rem}.quote p{max-width:60ch;margin:0 0 1rem;font-size:1.0625rem;line-height:1.6;position:relative}.quote footer{color:color-mix(in srgb, var(--paper) 75%, transparent);font-size:.9375rem}@media (max-width:64rem){.reviews-list[data-count="3"]{grid-template-columns:minmax(0,1fr)}}@media (max-width:48rem){.reviews-list[data-count]{grid-template-columns:minmax(0,1fr)}}.contact{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,6vw,6rem);display:grid}.big-link{font-family:var(--font-display);border-bottom:2px solid var(--accent);margin:1rem 0 2rem;font-size:clamp(2rem,1.4rem + 2.6vw,3.75rem);line-height:1.1;text-decoration:none;display:inline-block}.contact-facts{grid-template-columns:max-content minmax(0,1fr);gap:.75rem 2rem;margin:0;display:grid}.contact-facts dd{overflow-wrap:anywhere}.contact-facts dt{color:var(--muted)}.contact-facts dd{margin:0}.contact-row{display:contents}.contact-cta{margin:2.5rem 0 0}.contact .small-head:first-child{margin-top:0}.closing{background:var(--tint)}.closing-grid{grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.closing-grid:has(.closing-photo){grid-template-columns:minmax(0,4fr) minmax(0,7fr)}.closing h2{max-width:14ch;font-size:clamp(2.5rem,1.4rem + 4vw,5.5rem);line-height:1}.closing-lead{max-width:44ch;color:var(--muted);margin:1.5rem 0 0;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem)}.closing-photo{aspect-ratio:4/5;background:var(--rule);max-width:24rem;overflow:hidden}.closing-photo img{object-fit:cover;object-position:50% 20%;width:100%;height:100%}.hours{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:1rem}.hours td{border-bottom:1px solid var(--rule);padding:.8rem 0}.hours td+td{text-align:right}.hours tr.is-today td{color:var(--accent);font-weight:var(--body-strong)}.footer{border-top:1px solid var(--rule);color:var(--muted);padding:clamp(3.5rem,7vw,6rem) 0 3rem;font-size:.875rem}.footer a{color:var(--ink)}.call-bar{display:none}.js [data-reveal]{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.1,1),transform .9s cubic-bezier(.2,.7,.1,1);transition-delay:calc(var(--d,0) * 80ms);transform:translateY(28px)}.js [data-reveal].is-visible{opacity:1;transform:none}@keyframes rise{0%{transform:translateY(105%)}to{transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes settle{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes unveil{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes block-in{0%{opacity:0;transform:translate(1.5rem,-1.5rem)}to{opacity:1;transform:none}}@keyframes panel-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.page-head{border-bottom:1px solid var(--rule);padding:clamp(3.5rem,8vw,6.5rem) 0 clamp(2rem,4vw,3rem)}.page-head h1{max-width:18ch;margin-top:1rem;font-size:clamp(2.5rem,1.6rem + 3.6vw,5rem)}.page-head .lead{max-width:46ch;color:var(--muted);margin:1.5rem 0 0;font-size:clamp(1.125rem,1rem + .5vw,1.375rem)}.section--page .wrap>.ledger:first-child{border-top:0}.section--page{padding-top:clamp(3rem,6vw,5rem)}.page-cta{margin-top:clamp(2.5rem,5vw,4rem)}.header nav a[aria-current=page]{color:var(--accent)}.header nav a[aria-current=page]:after{transform:scaleX(1)}.more{margin:clamp(2rem,4vw,3rem) 0 0}.small-head{margin:4rem 0 1.5rem;font-size:clamp(1.375rem,1.2rem + .8vw,1.875rem)}.contact-lead{max-width:46ch}.gallery-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.5rem,1.2vw,1rem);display:grid}.gallery-preview a{aspect-ratio:4/5;background:var(--rule);display:block;overflow:hidden}.gallery-preview img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.1,1)}.gallery-preview a:hover img{transform:scale(1.03)}.faq{max-width:52rem;margin-top:clamp(3.5rem,7vw,6rem)}.faq details{border-top:1px solid var(--rule)}.faq details:last-child{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;font-weight:var(--body-strong);padding:1.25rem 2.5rem 1.25rem 0;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--accent);font-size:1.25rem;position:absolute;top:1.1rem;right:0}.faq details[open] summary:after{content:"−"}.faq details p{max-width:60ch;margin:0 0 1.5rem}.footer-grid{grid-template-columns:minmax(0,2fr) minmax(0,2fr) auto;align-items:start;gap:2rem;display:grid}.footer-grid p{margin:0 0 .35rem}.footer .footer-name{border-bottom:1px solid var(--rule);max-width:none;font-family:var(--font-display);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);text-transform:var(--heading-case);color:var(--ink);margin:0 0 clamp(2rem,4vw,3rem);padding-bottom:clamp(2rem,4vw,3rem);font-size:clamp(2.5rem,1.2rem + 5vw,6.5rem);line-height:1}.footer-grid nav{flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.footer-credit{justify-self:end}
@media (max-width:60rem){.header .button{display:none}.split{grid-template-columns:minmax(0,1fr)}.split>.section-head{margin-bottom:.5rem}.story>.story-photo{order:-1;position:static}.story>.story-photo--upright{aspect-ratio:4/5;width:min(100%,26rem)}.footer-grid p a,.contact a:not(.button,.text-link){padding-block:.7rem;display:inline-block}.header .wrap{flex-wrap:wrap;row-gap:.5rem}.header nav a,.footer nav a{padding-block:.7rem;display:inline-block}.header nav{flex-wrap:wrap;order:3;gap:.35rem 1.25rem;width:100%;padding-bottom:.45em;font-size:.875rem}.gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-preview a:nth-child(3){display:none}.footer-grid{grid-template-columns:minmax(0,1fr)}.footer-credit{justify-self:start}.footer{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.header{padding:.85rem 0;position:static}.wordmark{font-size:1.25rem}.notice{font-size:.75rem}:is(.section-head,.section-head:has(p),.story,.story--mirror,.contact,.booking){grid-template-columns:minmax(0,1fr)}.booking-step+.booking-step{border-left:0;border-top:1px solid var(--rule);padding-left:0}.story-photo{aspect-ratio:3/2}.contact-facts{align-items:baseline}.contact .small-head:first-child{margin-top:1.5rem}.ledger li{grid-template-columns:minmax(0,1fr)}.ledger .price{grid-column:1}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:11rem}.gallery button,.gallery button:nth-child(n){grid-area:span 1/span 1}.gallery button:nth-child(3n+1){grid-area:span 1/span 2}.closing-grid:has(.closing-photo){grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:end}.call-bar{z-index:50;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--accent);color:var(--on-accent);font-weight:var(--body-strong);transition:transform .35s cubic-bezier(.2,.7,.1,1);display:flex;position:fixed;bottom:0;left:0;right:0}.hero-actions-in-view .call-bar{transform:translateY(100%)}.call-bar a{flex:1;justify-content:center;align-items:center;min-height:3.5rem;padding:0 1.25rem;text-decoration:none;display:flex}.call-bar a+a{border-left:1px solid color-mix(in srgb, var(--on-accent) 35%, transparent);flex:none}}@media (max-width:40rem){.story>.story-photo--upright{width:min(64%,18rem)}.closing-grid:has(.closing-photo){grid-template-columns:minmax(0,1fr)}.closing-photo{width:min(60%,14rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.js [data-reveal]{opacity:1;transform:none}}@media print{.notice,.header nav,.button,.call-bar{display:none}.js [data-reveal]{opacity:1;transform:none}}
