:root{--gutter:clamp(18px, 4.5vw, 64px);--section:clamp(64px, 9vw, 128px);--ease:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--ground);min-height:100vh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}h1,h2,h3,p,figure,dl,dd,ol,ul{margin:0}ol,ul{padding:0;list-style:none}h1,h2,h3{letter-spacing:-.03em;text-wrap:balance;font-weight:450;line-height:1.04}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:var(--radius-xs)}::selection{background:var(--accent);color:var(--on-accent)}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:var(--on-accent);padding:12px 16px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}.muted{color:var(--text-2)}em.ed,.ed{font-family:var(--font-editorial);letter-spacing:-.02em;font-style:italic;font-weight:500}.btn{border-radius:var(--radius-pill);background:var(--accent);min-height:56px;color:var(--on-accent);letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;justify-content:center;align-items:center;gap:12px;padding:12px 24px;font-size:14px;font-weight:600;transition:background .16s,transform .16s,border-color .16s;display:inline-flex}.btn:hover{background:var(--accent-hover)}.btn:active{transform:translateY(1px)}.btn-ghost{color:var(--text);border-color:var(--line-strong);background:0 0}.btn-ghost:hover{background:var(--ground-2);border-color:var(--accent)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;pointer-events:none}.text-link{border-bottom:1px solid var(--line-strong);align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:550;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.site-header{z-index:40;padding:10px var(--gutter);background:color-mix(in srgb, var(--ground) 88%, transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.07em;white-space:nowrap;align-items:center;min-height:44px;font-size:20px;font-weight:650;display:flex}.site-nav{color:var(--text-2);gap:30px;font-size:14px;display:none}.site-nav a{align-items:center;min-height:44px;display:flex}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text)}.header-book{min-height:42px;padding:8px 16px;font-size:12.5px}@media (width>=760px){.site-nav{display:flex}.brand{font-size:24px}}.section{padding:var(--section) var(--gutter);max-width:1320px;margin:0 auto}.section-head{gap:14px;margin-bottom:clamp(28px,4vw,52px);display:grid}.section-head h2{letter-spacing:-.05em;font-size:clamp(38px,6.4vw,78px)}.section-head p{color:var(--text-2);max-width:46ch}.rule{border:0;border-top:1px solid var(--line);margin:0 var(--gutter)}.hero{padding:clamp(36px, 7vw, 96px) var(--gutter) clamp(28px, 4vw, 48px);max-width:1320px;margin:0 auto}.hero h1{letter-spacing:-.06em;max-width:11em;margin-top:18px;font-size:clamp(46px,8.4vw,128px);font-weight:450;line-height:.98}.hero h1 .ed{color:var(--accent);margin-top:.06em;font-size:.72em;line-height:1.08;display:block}.hero-foot{gap:26px;margin-top:clamp(24px,4vw,44px);display:grid}.hero-lede{color:var(--text-2);max-width:40ch;font-size:17px}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.open-now{color:var(--text-2);align-items:center;gap:10px;min-height:24px;margin-top:18px;font-size:14px;display:inline-flex}.open-now:before{content:"";background:var(--text-3);border-radius:50%;width:8px;height:8px}.open-now[data-open=true]:before{background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 16%, transparent)}@media (width>=900px){.hero-foot{grid-template-columns:1fr auto;align-items:end}}.scene{max-width:1320px;padding:0 var(--gutter);margin:0 auto}.scene figure{background:var(--ground-2);border-radius:var(--radius);position:relative;overflow:hidden}.scene img{object-fit:cover;width:100%;height:100%}.scene-hero figure,figure.scene-hero{aspect-ratio:4/3;max-height:72vh}figure.scene-hero{width:calc(100% - 2 * var(--gutter));border-radius:var(--radius);background:var(--ground-2);padding:0;overflow:hidden}.scene-pair{gap:12px;display:grid}.scene-pair .pair-a{aspect-ratio:4/5}.scene-pair .pair-b{aspect-ratio:4/5;border:6px solid var(--ground);justify-self:end;width:62%;margin-top:-18%}.scene-duo{grid-template-columns:1fr 1fr;gap:10px;display:grid}.scene-duo figure{aspect-ratio:4/5}@media (width>=900px){figure.scene-hero{aspect-ratio:16/10}.scene-pair{grid-template-columns:1.35fr 1fr;align-items:start;gap:28px}.scene-pair .pair-b{border:0;width:100%;margin-top:22%}.scene-duo{gap:28px}}.statement{gap:22px;display:grid}.statement blockquote{font-family:var(--font-editorial);letter-spacing:-.02em;max-width:22ch;margin:0;font-size:clamp(30px,4.4vw,64px);font-style:italic;font-weight:500;line-height:1.12}.statement-cite{color:var(--text-2);font-size:14px}.menu{border-top:1px solid var(--line);counter-reset:none}.menu-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;grid-template-areas:"num main price""num main book";align-items:baseline;gap:2px 14px;padding:18px 0;display:grid}.menu-num{color:var(--accent);font-variant-numeric:tabular-nums;grid-area:num;padding-top:4px;font-size:11px}.menu-main{grid-area:main;min-width:0}.menu-main h3{letter-spacing:-.025em;font-size:clamp(19px,2.4vw,25px)}.menu-meta{color:var(--text-2);flex-wrap:wrap;gap:4px 10px;margin-top:3px;font-size:13px;display:flex}.menu-note{color:var(--text-3)}.menu-only{color:var(--accent)}.menu-desc{color:var(--text-2);margin-top:4px;font-size:13px}.menu-price{font-variant-numeric:tabular-nums;text-align:right;letter-spacing:-.02em;grid-area:price;font-size:clamp(19px,2.4vw,24px)}.menu-book{color:var(--accent);grid-area:book;justify-self:end;align-items:center;min-height:32px;font-size:13px;font-weight:600;display:inline-flex}.menu-book:hover{text-underline-offset:4px;text-decoration:underline}@media (width>=760px){.menu{border-top:0;grid-template-columns:1fr 1fr;column-gap:56px;display:grid}.menu-row:nth-child(-n+2){border-top:1px solid var(--line)}}.team{grid-template-columns:1fr 1fr;gap:26px 12px;display:grid}@media (width>=760px){.team{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:32px 22px}}@media (width<=759px){.team-body h3{font-size:22px}.team-body p{font-size:13.5px}}.team-card{align-content:start;gap:16px;display:grid}.team-photo{aspect-ratio:4/5;border-radius:var(--radius);background:var(--ground-2);place-items:center;display:grid;overflow:hidden}.team-photo img{object-fit:cover;filter:saturate(.92);width:100%;height:100%}.team-initial{font:500 italic 120px var(--font-editorial);color:var(--accent)}.team-body h3{letter-spacing:-.04em;font-size:28px}.team-body p{color:var(--text-2);margin-top:6px;font-size:14.5px}.team-days{letter-spacing:.02em;color:var(--text)!important;font-size:13px!important}.team-body .text-link{margin-top:8px}.gallery{columns:2;column-gap:10px}.gallery button{border-radius:var(--radius);background:var(--ground-2);break-inside:avoid;border:0;width:100%;margin:0 0 10px;padding:0;display:block;overflow:hidden}.gallery img{width:100%;height:auto;transition:transform .5s var(--ease), opacity .3s}.gallery button:hover img{transform:scale(1.03)}@media (width>=760px){.gallery{columns:3;column-gap:16px}.gallery button{margin-bottom:16px}}@media (width>=1100px){.gallery{columns:4}}.lightbox{border:1px solid var(--line);border-radius:var(--radius);background:var(--ground-3);width:min(100vw - 24px,1000px);max-height:calc(100dvh - 24px);color:var(--text);padding:0}.lightbox::backdrop{background:var(--scrim)}.credit{color:var(--text-3);max-width:60ch;margin-top:18px;font-size:13px}.lightbox img{object-fit:contain;width:100%;max-height:calc(100dvh - 110px)}.lightbox-bar{color:var(--text-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.lightbox-bar div{gap:8px;display:flex}.icon-btn{border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:0 0;min-width:44px;min-height:44px;font-size:18px}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.visit-band{border-top:1px solid var(--line)}.visit-grid{gap:40px;display:grid}.hours-note{color:var(--text-2);margin-top:14px;font-size:13px}.hours>div{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;padding:13px 0;display:flex}.hours>div:first-child{border-top:1px solid var(--line)}.hours dt{color:var(--text-2)}.hours>div[data-today=true] dt,.hours>div[data-today=true] dd{color:var(--text);font-weight:650}.hours>div[data-today=true] dt:after{content:"Today";border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);letter-spacing:.04em;vertical-align:2px;margin-left:10px;padding:2px 8px;font-size:11px;font-weight:700}.hours-closures{color:var(--warn);margin-top:16px;font-size:14px}.address{letter-spacing:-.02em;margin:14px 0 22px;font-size:clamp(22px,3vw,30px);line-height:1.3}.visit-actions{flex-wrap:wrap;gap:10px;display:flex}.map{border-radius:var(--radius);border:1px solid var(--line);aspect-ratio:4/3;background:var(--ground-2);margin-top:26px;position:relative;overflow:hidden}.map iframe{filter:grayscale(.35)contrast(1.02);border:0;width:100%;height:100%}.map-note{color:var(--text-3);margin-top:8px;font-size:12px}@media (width>=900px){.visit-grid{grid-template-columns:1fr 1fr;align-items:start;gap:72px}}.cta{text-align:left;padding-bottom:calc(var(--section) + 40px);gap:22px;display:grid}.cta h2{letter-spacing:-.06em;font-size:clamp(44px,9vw,112px);line-height:.98}.site-footer{border-top:1px solid var(--line);background:var(--ground-3);padding:40px var(--gutter) calc(28px + env(safe-area-inset-bottom))}.footer-inner{gap:28px;max-width:1320px;margin:0 auto;display:grid}.footer-name{letter-spacing:-.06em;font-size:clamp(34px,7vw,72px);font-weight:500;line-height:1}.footer-grid{color:var(--text-2);gap:24px;font-size:14px;display:grid}.footer-grid nav{flex-direction:column;align-items:flex-start;display:flex}.footer-grid nav a{align-items:center;min-height:40px;display:flex}.footer-grid nav a:hover{color:var(--text)}.footer-bottom{color:var(--text-3);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:12px;display:flex}@media (width>=760px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr}}.demo-banner{background:var(--accent);color:var(--on-accent);padding:8px var(--gutter);text-align:center;font-size:13px;line-height:1.4}.demo-banner p{max-width:1320px;margin:0 auto}.demo-banner a{text-underline-offset:3px;font-weight:700;text-decoration:underline}.footer-demo{border-top:1px solid var(--line);color:var(--text-2);gap:8px;max-width:80ch;padding-top:20px;font-size:13px;display:grid}.book-bar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;transition:transform .3s var(--ease);display:flex;position:fixed;transform:translateY(140%)}.book-bar.show{transform:none}.book-bar .btn{flex:1;box-shadow:0 12px 30px #00000073}@media (width>=900px){.book-bar{display:none}}.page{padding:clamp(40px, 8vw, 96px) var(--gutter);max-width:760px;margin:0 auto}.page h1{letter-spacing:-.055em;margin:14px 0 22px;font-size:clamp(44px,9vw,88px)}.page h2{margin:34px 0 10px;font-size:24px}.page p,.page li{color:var(--text-2);margin-bottom:12px}.page ul{padding-left:20px;list-style:outside}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
