@font-face{font-family:Fraunces Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/hanken-grotesk-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:Fraunces Fallback;src:local(Georgia),local(Times New Roman);size-adjust:104%;ascent-override:92%;descent-override:24%}@font-face{font-family:Hanken Fallback;src:local(Arial),local(Helvetica);size-adjust:97%;ascent-override:98%;descent-override:26%}:root{--char:#141619;--char-2:#1c1f23;--char-3:#0e0f11;--raise:#272b30;--ivory:#f3ece0;--text-2:#d2c8b6;--text-3:#a89e8c;--brass:#c9a15b;--brass-hi:#dbb676;--brass-lo:#9c7a3c;--copper:#b8733a;--ink:#17130a;--line:#f3ece021;--line-strong:#f3ece042;--display:"Fraunces Variable", "Fraunces Fallback", Georgia, "Times New Roman", serif;--body:"Hanken Grotesk Variable", "Hanken Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--gutter:16px;--max:1200px;--bar-h:76px;--ease:cubic-bezier(.2, .8, .2, 1);--tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23c9a15b' stroke-width='1'%3E%3Crect x='13' y='13' width='22' height='22'/%3E%3Crect x='13' y='13' width='22' height='22' transform='rotate(45 24 24)'/%3E%3Ccircle cx='24' cy='24' r='4'/%3E%3Cpath d='M0 0l8.5 8.5M48 0l-8.5 8.5M0 48l8.5-8.5M48 48l-8.5-8.5'/%3E%3C/g%3E%3C/svg%3E");color-scheme:dark}@media (width>=760px){:root{--gutter:40px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}body{background:var(--char);color:var(--ivory);font:400 17px/1.55 var(--body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}@media (width>=760px){body{font-size:18px}}img,video{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;font-variation-settings:"SOFT" 50;margin:0;font-weight:500;line-height:1.02}p,figure,dl,dd,ul{margin:0}ul{padding:0;list-style:none}:focus-visible{outline:2px solid var(--brass);outline-offset:3px;box-shadow:0 0 0 5px var(--char);border-radius:3px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:60;background:var(--brass);color:var(--ink);padding:12px 16px;font-weight:700;position:absolute;top:-80px;left:8px}.skip:focus{top:8px}.eyebrow{font:600 12.5px/1.2 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}[hidden]{display:none!important}.btn{isolation:isolate;min-height:52px;font:650 16px/1 var(--body);letter-spacing:.03em;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:10px;padding:0 24px;text-decoration:none;transition:transform 90ms ease-out,background-color .16s,color .16s,border-color .16s;display:inline-flex;position:relative;overflow:hidden}.btn-sm{min-height:48px;padding:0 18px;font-size:15px}.btn-lg{min-height:60px;padding:0 34px;font-size:18px}.btn-book{background:var(--brass);color:var(--ink)}.btn-book:before{content:"";z-index:-1;background:linear-gradient(100deg, var(--brass-hi), #f0d49b);transform-origin:0;transition:transform .11s ease-out;position:absolute;inset:0;transform:scaleX(0)}.btn-line{color:var(--ivory);border-color:var(--line-strong);background:0 0}@media (hover:hover){.btn-book:hover:before{transform:scaleX(.18)}.btn-line:hover{border-color:var(--brass);color:var(--brass-hi)}}.btn:active,.btn.is-pressed{transform:scale(.97)}.btn-book:active:before,.btn-book.is-pressed:before{transform:scaleX(1)}.btn-line:active,.btn-line.is-pressed{border-color:var(--brass);background:#c9a15b24}.ripple{z-index:-1;opacity:.8;pointer-events:none;background:#fff4d68c;border-radius:50%;animation:.42s ease-out forwards ripple;position:absolute;transform:scale(0)}@keyframes ripple{to{opacity:0;transform:scale(1)}}.ist-head{z-index:20;min-height:68px;padding:10px var(--gutter);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.ist-brand{font:500 21px/1 var(--display);letter-spacing:-.01em;white-space:nowrap;align-items:center;min-height:48px;text-decoration:none;display:inline-flex}.ist-brand em{color:var(--brass);padding:0 .12em;font-style:italic;font-weight:400}.ist-nav{gap:30px;font-size:15px;font-weight:600;display:none}.ist-nav a{min-height:48px;color:var(--text-2);background:linear-gradient(var(--brass), var(--brass)) 0 calc(100% - 10px) / 100% 1px no-repeat;transition:background-size .2s var(--ease), color .16s;background-size:0 1px;align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover){.ist-nav a:hover{color:var(--ivory);background-size:100% 1px}}.ist-nav a:active{color:var(--brass)}.brand-logo{flex:none;width:40px;height:40px;margin-right:10px}.brand-logo-foot{width:72px;height:72px;margin-right:14px}@media (width>=760px){.ist-nav{display:flex}.ist-brand{font-size:25px}.ist-head .brand-logo{width:48px;height:48px}}.hero{isolation:isolate;background:var(--char-3);flex-direction:column;justify-content:flex-end;min-height:calc(90svh - 68px);display:flex;position:relative;overflow:hidden}.hero-media{z-index:-1;position:absolute;inset:0}.hero-media img,.hero-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-video{opacity:0;transition:opacity .6s}.hero.is-playing .hero-video{opacity:1}.hero-scrim{background:linear-gradient(#0e0f111a,#0e0f1140 22%,#0e0f11d6 58%,#0e0f11f7 100%);position:absolute;inset:0}.hero-still .hero-media img{object-position:var(--hero-focus,50% 40%)}@media (prefers-reduced-motion:no-preference){.hero-still .hero-media img{animation:14s cubic-bezier(.2,.6,.2,1) both ist-settle}}@keyframes ist-settle{0%{transform:scale(1.07)}to{transform:scale(1)}}.hero-type{background:radial-gradient(120% 70% at 18% 100%, #c9a15b29, transparent 60%), radial-gradient(80% 60% at 100% 0%, #b8733a1f, transparent 70%), var(--char-3)}.hero-pattern{z-index:-1;background:var(--tile) 0 0 / 88px 88px;opacity:.1;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000008c 55%,#0000 92%);mask-image:linear-gradient(#000 0%,#0000008c 55%,#0000 92%)}.hero-type .hero-copy{padding-top:96px}.hero-copy{width:100%;max-width:var(--max);padding:150px var(--gutter) 64px;gap:16px;margin:0 auto;display:grid}.hero h1{font-size:clamp(42px,min(11.4vw,13svh),104px);font-weight:450;line-height:.98}.hero h1 .line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.hero h1 .line>span{display:inline-block}.hero h1 .brass{color:var(--brass);font-style:italic;font-weight:400}.hero-lede{max-width:32ch;color:var(--text-2);font-size:18px;line-height:1.45}.open-now{color:var(--text-2);align-items:center;gap:9px;font-size:15px;font-weight:600;display:inline-flex}.open-now:before{content:"";background:var(--text-3);border-radius:50%;width:9px;height:9px}.open-now[data-open=true]{color:var(--ivory)}.open-now[data-open=true]:before{background:#8fd6a8;box-shadow:0 0 0 4px #8fd6a82e}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.hero-actions .btn-book{flex:200px;min-height:56px;font-size:17px}.hero-actions .btn-line{flex:none;min-width:96px;min-height:56px}.tile-band{background:var(--char-3);border-top:1px solid #b8733a80;height:30px;position:absolute;bottom:0;left:0;right:0}.tile-band:before{content:"";background:var(--tile) 0 50% / 30px 30px repeat-x;opacity:.38;position:absolute;inset:0}@media (width>=760px){.hero{min-height:min(86svh,880px)}.hero-copy{padding-bottom:96px}.hero-actions .btn-book{flex:none}}.ist-section{max-width:var(--max);padding:72px var(--gutter);margin:0 auto}@media (width>=760px){.ist-section{padding:112px var(--gutter)}}.sec-head{gap:12px;margin-bottom:30px;display:grid}.sec-head h2,.about-copy h2,.book-inner h2{font-size:clamp(40px,11vw,96px)}.sec-lede{max-width:36ch;color:var(--text-2);font-size:18px}.kinetic .w{display:inline-block}#services,.about,#shop,.hours-band,.visit,.book-band{position:relative}.about:before,.hours-band:before,.book-band:before{content:"";background:var(--tile) 0 50% / 18px 18px repeat-x;opacity:.16;pointer-events:none;height:18px;position:absolute;top:0;left:0;right:0}.svc-group+.svc-group{margin-top:44px}.svc-group-name{font:500 clamp(26px, 7vw, 40px)/1.1 var(--display);border-bottom:1px solid #b8733a73;align-items:baseline;gap:12px;margin-bottom:16px;padding-bottom:10px;display:flex}.svc-group-count{font:600 13px/1 var(--body);letter-spacing:.12em;color:var(--text-3)}.voucher{background:var(--char-2);border:1px solid #c9a15b8c;border-radius:4px;gap:12px;margin-top:48px;padding:24px 20px;display:grid;position:relative;overflow:hidden}.voucher:before{content:"";background:var(--tile) 0 0 / 36px 36px;opacity:.1;pointer-events:none;position:absolute;inset:0}.voucher>*{position:relative}.voucher h3{font-size:clamp(30px,8vw,48px)}.voucher-amounts{flex-wrap:wrap;gap:10px;display:flex}.voucher-amounts li{border:1px solid var(--line-strong);min-width:88px;min-height:52px;font:500 24px/1 var(--display);color:var(--brass);border-radius:3px;justify-content:center;align-items:center;padding:0 16px;display:inline-flex}.voucher-note{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:15px;display:flex}.svc-list{gap:12px;display:grid}@media (width>=760px){.svc-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}}@media (width>=1100px){.svc-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.svc details{border:1px solid var(--line);background:var(--char-2);border-radius:4px;transition:border-color .16s,background-color .16s}.svc summary{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:4px;grid-template-columns:1fr auto 28px;grid-template-areas:"name price toggle""meta meta meta";align-items:center;gap:2px 12px;min-height:72px;padding:16px 16px 14px;list-style:none;transition:transform 90ms ease-out,background-color 90ms;display:grid}.svc summary::-webkit-details-marker{display:none}@media (hover:hover){.svc details:hover{border-color:var(--line-strong);background:#20242a}}.svc summary:active,.svc summary.is-pressed{background:#c9a15b1a;transform:scale(.985)}.svc-name{font:500 22px/1.15 var(--display);grid-area:name}.svc-meta{color:var(--text-3);flex-wrap:wrap;grid-area:meta;align-items:center;gap:4px 10px;font-size:15px;display:flex}.svc-price{font:500 24px/1 var(--display);color:var(--brass);white-space:nowrap;text-align:right;font-variant-numeric:lining-nums;grid-area:price}.svc-toggle{grid-area:toggle;justify-self:end;width:24px;height:24px;position:relative}.svc-toggle:before,.svc-toggle:after{content:"";background:var(--brass);height:2px;transition:transform .2s var(--ease);position:absolute;top:11px;left:4px;right:4px}.svc-toggle:after{transform:rotate(90deg)}.svc details[open]{border-color:#c9a15b8c}.svc details[open] .svc-toggle:after{transform:rotate(0)}.svc-body{gap:14px;padding:0 16px 18px;display:grid}.svc-desc{color:var(--text-2);font-size:15px}.svc-times{min-height:116px}.svc-day{letter-spacing:.14em;text-transform:uppercase;color:var(--brass);min-height:18px;margin-bottom:10px;font-size:13px;font-weight:650}.svc-chips{flex-wrap:wrap;gap:8px;max-height:104px;display:flex;overflow:hidden}.chip{border:1px solid var(--line-strong);min-width:76px;min-height:48px;color:var(--ivory);font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;border-radius:3px;justify-content:center;align-items:center;padding:0 14px;font-weight:650;text-decoration:none;transition:transform 90ms ease-out,background-color .14s,border-color .14s,color .14s;display:inline-flex}@media (hover:hover){.chip:hover{border-color:var(--brass);color:var(--brass-hi)}}.chip:active,.chip.is-pressed{background:var(--brass);border-color:var(--brass);color:var(--ink);transform:scale(.95)}.svc-note{color:var(--text-2);font-size:15px}.svc-note a{color:var(--brass-hi)}.svc-go{justify-self:start}.svc-empty{font-weight:600}.skel{background:linear-gradient(90deg, var(--raise) 0%, #343941 50%, var(--raise) 100%) 0 0 / 200% 100%;border-radius:3px;display:inline-block}.skel-line{vertical-align:middle;width:140px;height:14px}.skel-chip{width:76px;height:48px}.about{background:var(--char-2);border-block:1px solid var(--line)}.about-grid{align-items:center;gap:30px;display:grid}@media (width>=900px){.about-grid{grid-template-columns:1fr 1.1fr;gap:72px}}.about-copy{gap:14px;display:grid}.frame{aspect-ratio:4/5;border:1px solid var(--line);background:var(--char-3);border-radius:4px;margin:0;position:relative;overflow:hidden}.frame-tall{aspect-ratio:4/3}.frame img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.frame.has-photo img{animation:.5s both photo-in}@keyframes photo-in{0%{opacity:0}}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.gallery .frame:first-child{aspect-ratio:1;grid-column:1/-1}@media (width>=760px){.gallery{grid-template-columns:2fr 1fr 1fr;gap:16px}.gallery .frame:first-child{aspect-ratio:auto;grid-area:span 2}}.credit{color:var(--text-3);margin-top:14px;font-size:13.5px}.hours-band{background:var(--char-3);border-block:1px solid var(--line)}.hours-grid{gap:10px;display:grid}@media (width>=900px){.hours-grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:72px}}.ist-hours{display:grid}.ist-hours>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:14px 0;font-size:18px;display:flex}.ist-hours dt{font-weight:600}.ist-hours dd{font-variant-numeric:tabular-nums;color:var(--text-2)}.ist-hours>div[data-today=true]{color:var(--ink);background:var(--brass);border-bottom-color:#0000;border-radius:3px;margin:0 -12px;padding-inline:12px}.ist-hours>div[data-today=true] dd{color:var(--ink)}.ist-hours>div[data-today=true] dt:after{content:" · today";font-weight:400}.address{font:450 clamp(30px, 8.6vw, 60px)/1.05 var(--display);margin-bottom:14px}.phone{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:22px;font-size:20px;font-weight:650;display:flex}.phone a{color:var(--brass-hi);text-underline-offset:4px;align-items:center;min-height:48px;display:inline-flex}.visit-actions{flex-wrap:wrap;gap:12px;display:flex}.book-band{background:var(--char-2);border-top:1px solid var(--line)}.book-inner{justify-items:start;gap:20px;display:grid}.book-inner h2{color:var(--ivory)}.ist-foot{background:var(--char-3);padding:52px var(--gutter) calc(var(--bar-h) + 40px + env(safe-area-inset-bottom));border-top:1px solid #b8733a73}.foot-inner{max-width:var(--max);color:var(--text-2);gap:20px;margin:0 auto;font-size:15.5px;display:grid}.foot-inner .ist-brand{color:var(--ivory);font-size:28px}.ist-foot nav{flex-wrap:wrap;gap:4px 24px;display:flex}.ist-foot nav a{align-items:center;min-height:48px;text-decoration:none;display:inline-flex}@media (hover:hover){.ist-foot nav a:hover{color:var(--brass-hi)}}.ist-foot small{color:var(--text-3);font-size:13.5px}.book-bar{z-index:40;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));padding-left:max(var(--gutter), env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right));transition:transform .28s var(--ease);background:#0e0f11f5;border-top:1px solid #c9a15b80;grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%)}.book-bar.show{transform:none}.book-bar .btn{min-height:52px;padding:0 26px}.bar-slot{border-radius:3px;align-content:center;gap:2px;min-height:52px;padding:2px 4px;text-decoration:none;display:grid}.bar-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-size:12px;font-weight:650}.bar-time{font:500 19px/1.2 var(--display);color:var(--brass-hi);min-height:23px}.bar-skel{background:var(--raise);vertical-align:middle;border-radius:3px;width:120px;height:16px;display:inline-block}.bar-slot:active{transform:scale(.97)}@media (width>=760px){.book-bar{border:1px solid #c9a15b80;border-radius:6px;width:min(560px,100vw - 80px);padding:10px 12px 10px 18px;bottom:20px;left:50%;right:auto;transform:translate(-50%,calc(100% + 40px))}.book-bar.show{transform:translate(-50%)}.ist-foot{padding-bottom:120px}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-group(slot){animation-duration:.42s;animation-timing-function:var(--ease)}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}.hero h1 .line>span{animation:rise .9s var(--ease) both;animation-delay:calc(var(--n,0) * .13s + 80ms)}.hero-copy .eyebrow,.hero-lede,.open-now,.hero-actions{animation:.7s .52s both fade-up}.hero-actions{animation-delay:.64s}@keyframes rise{0%{transform:translateY(108%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}}.kinetic .w{transition:transform .7s var(--ease), opacity .7s ease;transition-delay:calc(var(--w,0) * 70ms)}.kinetic.k-wait .w{opacity:0;transform:translateY(.55em)}.svc,.frame{transition:transform .6s var(--ease), opacity .6s ease;transition-delay:calc(var(--i,0) * 50ms)}.svc.k-wait,.frame.k-wait{opacity:0;transform:translateY(28px)}.chip{animation:chip-in .36s var(--ease) both;animation-delay:calc(var(--i,0) * 40ms)}@keyframes chip-in{0%{opacity:0;transform:translateY(8px)scale(.96)}}.skel{animation:1.1s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.svc-body{animation:.26s both fade-up}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
