@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b64bfffbf346612f.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ef549d9ec978f04d.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb407b189f36a608.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.__className_b38384{font-family:Big Shoulders;font-style:normal}.__variable_b38384{--font-display:"Big Shoulders"}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo Fallback;src:local("Arial");ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.00%;size-adjust:98.70%}.__className_325f6d{font-family:Archivo,Archivo Fallback;font-style:normal}.__variable_325f6d{--font-sans:"Archivo","Archivo Fallback"}:root{--bg:oklch(0 0 0);--surface:oklch(0.175 0.006 27);--surface-2:oklch(0.125 0.006 27);--ink:oklch(1 0 0);--ink-2:oklch(0.8 0.004 27);--muted:oklch(0.655 0.006 27);--line:oklch(0.265 0.008 27);--line-strong:oklch(0.485 0.008 27);--accent:oklch(0.6 0.205 27);--accent-dim:oklch(0.265 0.085 27);--display:var(--font-display),"Arial Narrow",sans-serif;--sans:var(--font-sans),Arial,sans-serif;--gutter:5.6%;--radius:2px;--ease:cubic-bezier(0.22,1,0.36,1);--grid-line:var(--line);--grid-line-lit:color-mix(in oklab,var(--accent) 32%,var(--line));--fast:0.16s var(--ease);--slow:0.22s var(--ease);--z-sticky:10;--z-overlay:20;--z-toast:30;color-scheme:dark}*{box-sizing:border-box}body,html{background:var(--bg)}body{margin:0;color:var(--ink-2);font-family:var(--sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.button:disabled{opacity:1;background:transparent;border-color:var(--line);color:var(--muted)}a,button{transition:background var(--fast),border-color var(--fast),color var(--fast)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-variation-settings:"opsz" 60;font-weight:600;color:var(--ink);text-transform:uppercase;text-wrap:balance}h1{font-size:clamp(3.5rem,8vw,6rem);line-height:.92;letter-spacing:-.02em}h2{font-size:clamp(2rem,3.4vw,2.75rem);line-height:.98;letter-spacing:-.015em}h3{font-size:1.45rem;line-height:1.1;letter-spacing:-.01em}p{text-wrap:pretty}svg{flex-shrink:0}::selection{background:var(--accent);color:var(--bg)}::placeholder{color:var(--muted);opacity:1}input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);min-height:46px;transition:border-color var(--fast),background var(--fast)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--ink-2)}textarea{resize:vertical;min-height:112px;line-height:1.6}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 19px) calc(50% + 1px),calc(100% - 14px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}label{display:grid;gap:8px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}label input,label select,label textarea{font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink)}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--accent)}input[type=file]{font-size:12px;padding:10px;border-style:dashed}input[type=file]::file-selector-button{margin-right:12px;padding:7px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--ink);font:inherit;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--fast),border-color var(--fast),color var(--fast)}input[type=file]::file-selector-button:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.55;cursor:pointer}:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--ink);color:var(--bg);padding:15px 26px;border:1px solid var(--ink);border-radius:var(--radius);font-weight:650;font-size:12px;letter-spacing:.1em;text-transform:uppercase;min-height:48px;white-space:nowrap}.button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--bg)}.button:active:not(:disabled){transform:translateY(1px)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}.button.secondary:hover:not(:disabled){background:transparent;border-color:var(--ink);color:var(--ink)}.button.small{min-height:36px;padding:8px 14px;gap:8px;font-size:11px}.text-link{display:inline-flex;gap:14px;align-items:center;color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line-strong);padding:10px 0}.text-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.muted,.note{color:var(--muted)}.note{font-size:11px;margin-top:15px}.rule{display:block;height:2px;width:44px;background:var(--accent);margin-bottom:26px}.stack{display:grid;gap:18px}.inline{gap:10px}.checkbox,.inline{display:flex;align-items:center}.checkbox{gap:8px;font-size:12px;letter-spacing:0;text-transform:none;color:var(--ink-2)}.danger-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);background:transparent;border:0;padding:0;font-size:12px;text-decoration:underline;text-underline-offset:3px}.danger-link:hover:not(:disabled){color:var(--ink)}.logo{display:inline-block;width:max-content;line-height:0}.logo img{height:auto;width:auto;max-width:100%}.logo:hover{opacity:.78}.public-header{position:sticky;top:0;z-index:var(--z-sticky);height:92px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--gutter);background:var(--bg);border-bottom:1px solid var(--line)}.public-header .logo img{height:34px}.public-header nav{display:flex;align-items:center;gap:34px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.public-header nav a{color:var(--muted)}.public-header nav a:hover{color:var(--ink)}.public-header nav a.nav-book{color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius);padding:11px 16px}.public-header nav a.nav-book:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.magnetic{display:inline-flex;will-change:transform}.nav-links{display:contents}.nav-sheet,.nav-toggle{display:none}.hero{display:grid;grid-template-columns:46% 54%;min-height:min(76vh,660px);border-bottom:1px solid var(--line)}.hero-copy{padding:78px var(--gutter) 70px 12.2%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.hero-copy p{font-size:15px;line-height:1.75;max-width:42ch;margin:28px 0 34px;color:var(--ink-2)}.hero-note{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:30px}.hero-photo{position:relative;min-height:460px;overflow:hidden;background:var(--surface-2)}.hero-photo img{object-fit:cover;object-position:44% center;filter:grayscale(1) contrast(1.12)}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0,color-mix(in oklab,var(--bg),transparent 100%) 26%);pointer-events:none}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.services-section{padding:76px var(--gutter) 84px;display:grid;grid-template-columns:1fr 2.8fr;gap:70px}.section-intro p{font-size:12px;letter-spacing:.04em;color:var(--muted);margin-top:14px}.section-intro .rule{width:26px;margin-bottom:20px}.service-list{border-top:1px solid var(--line)}.service-row{display:flex;align-items:center;gap:26px;padding:26px 0;border-bottom:1px solid var(--line);color:var(--ink-2)}.service-row:hover{color:var(--ink)}.service-row:hover h3{color:var(--accent)}.service-row>svg{color:var(--muted)}.service-row:hover>svg{color:var(--accent)}.service-row div{flex:1 1;min-width:0}.service-row p{font-size:12px;color:var(--muted);margin-top:8px}.service-row p span{margin-left:12px}.service-row p span:before{content:"·";margin-right:12px}.service-row strong{font-family:var(--display);font-variation-settings:"opsz" 32;font-size:22px;font-weight:600;color:var(--ink);white-space:nowrap}.service-index{font-family:var(--display);font-size:13px;font-weight:600;color:var(--accent);align-self:flex-start;margin-top:9px}.anim [data-anim=stack]>*,.anim [data-anim]:not([data-anim=stack]){opacity:0}.grid-bg{position:absolute;inset:0;pointer-events:none;background-size:20px 20px;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);-webkit-mask-image:radial-gradient(ellipse at center,#000 5%,color-mix(in oklab,#000 35%,transparent) 55%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 5%,color-mix(in oklab,#000 35%,transparent) 55%,transparent 78%);transition:background-image .7s var(--ease)}.lit .grid-bg{background-image:linear-gradient(to right,var(--grid-line-lit) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line-lit) 1px,transparent 1px)}.rail{left:calc(var(--gutter) / 2);top:0;bottom:0;width:1px;background:var(--line);pointer-events:none;z-index:1}.rail,.rail-beam{position:absolute}.rail-beam{inset:0;transform-origin:top center;background:linear-gradient(to bottom,transparent,var(--accent) 12%,var(--accent))}.rail i{position:absolute;left:50%;translate:-50% 0;width:7px;height:7px;border-radius:50%;background:var(--bg);border:1px solid var(--line-strong);transition:background var(--slow),border-color var(--slow),scale var(--slow)}.rail i.on{background:var(--accent);border-color:var(--accent);scale:1.25}main{position:relative}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding:76px var(--gutter) 84px;border-top:1px solid var(--line)}.about-copy p{font-size:15px;line-height:1.75;max-width:46ch;margin-top:22px;color:var(--ink-2)}.about-copy .rule{width:26px;margin-bottom:20px}.about-copy .text-link{margin-top:30px}.about-photo{position:relative;aspect-ratio:4/3;border:1px solid var(--line);overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}.gallery-section,.steps-section,.team-section,.visit{padding:76px var(--gutter) 84px;display:grid;grid-template-columns:1fr 2.8fr;gap:70px;border-top:1px solid var(--line)}.gallery-frame{position:relative}.gallery-scale{position:absolute;background-image:repeating-linear-gradient(45deg,var(--line) 0 1px,transparent 1px 9px);pointer-events:none}.gallery-scale.left,.gallery-scale.right{top:-6%;height:112%;width:20px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent)}.gallery-scale.left{left:-30px}.gallery-scale.right{right:-30px}.gallery-scale.bottom,.gallery-scale.top{left:-3%;width:106%;height:20px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.gallery-scale.top{top:-30px}.gallery-scale.bottom{bottom:-30px}.gallery{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery figure{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 0 color-mix(in oklab,var(--ink) 6%,transparent) inset}.gallery img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);transition:scale var(--slow),filter var(--slow)}.gallery figure:hover img{scale:1.04;filter:none}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.team-card{border:1px solid var(--line);padding:24px;background:var(--surface)}.team-card h3{font-size:1.3rem;margin-top:18px}.team-portrait{display:grid;place-items:center;width:86px;height:86px;border-radius:50%;overflow:hidden;background:var(--surface-2);border:1px solid var(--line-strong);font-family:var(--display);font-size:30px;color:var(--muted)}.team-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}.team-card ul{list-style:none;margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}.team-card li{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);padding:5px 9px}.step-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.step-list li{background:var(--bg);padding:28px}.step-list h3{font-size:1.25rem;margin-top:14px}.step-list p{font-size:13px;line-height:1.7;color:var(--ink-2);margin-top:10px;max-width:34ch}.step-index{font-family:var(--display);font-size:13px;font-weight:600;color:var(--accent)}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.visit-card{border:1px solid var(--line);background:var(--surface);padding:24px}.visit-card>svg{color:var(--accent)}.visit-card h3{font-size:1.2rem;margin:14px 0 12px}.visit-card p{font-size:13px;line-height:1.7;color:var(--ink-2)}.visit-card .text-link{margin-top:16px}.hours div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.hours div:last-child{border-bottom:0}.hours dt{color:var(--muted)}.hours dd{color:var(--ink)}.closing{position:relative;isolation:isolate;overflow:hidden;padding:72px var(--gutter);display:flex;gap:56px;align-items:center;border-bottom:1px solid var(--line)}.closing-mark{position:absolute;right:-3%;top:50%;translate:0 -50%;width:min(42%,520px);opacity:.07;pointer-events:none}.closing h2{flex:1 1;max-width:18ch}.closing .text-link,.closing h2,footer{position:relative}footer{isolation:isolate;padding:70px var(--gutter) 34px;display:grid;gap:48px;border-top:1px solid var(--line)}footer>:not(.grid-bg){position:relative}.footer-top{display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:start}.footer-brand{display:grid;justify-items:start;gap:18px}footer .logo img{height:34px;opacity:.9}.footer-brand p{color:var(--ink-2);font-size:13px;letter-spacing:.04em;max-width:28ch}.footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,17rem));justify-content:space-between;gap:40px}.footer-cols h3{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--line)}.footer-lead{display:block;font-family:var(--display);font-variation-settings:"opsz" 30;font-size:24px;font-weight:600;line-height:1.2;color:var(--ink);margin:0}a.footer-lead:hover{color:var(--accent)}.footer-note{font-size:13px;line-height:1.7;color:var(--ink-2);margin-top:10px}.footer-cols a:not(.footer-lead){display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--line);padding-bottom:4px}.footer-cols a:not(.footer-lead):hover{color:var(--accent);border-color:var(--accent)}.footer-hours div{display:flex;justify-content:space-between;gap:18px;padding:6px 0;font-size:13px}.footer-hours dt{color:var(--muted)}.footer-hours dd{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.footer-legal{display:flex;justify-content:space-between;gap:24px;padding-top:22px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.04em}.footer-legal,.footer-legal a{align-items:center;color:var(--muted)}.footer-legal a{display:inline-flex;gap:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.footer-legal a:hover{color:var(--ink)}.map{height:340px;width:100%;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}.map-pin{display:block;width:13px;height:13px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--bg) 70%,transparent)}.map .maplibregl-ctrl-group{background:var(--surface);border:1px solid var(--line);box-shadow:none}.map .maplibregl-ctrl-group button+button{border-top:1px solid var(--line)}.map .maplibregl-ctrl-group button span{filter:invert(1);opacity:.7}.map .maplibregl-ctrl-attrib,.map .maplibregl-ctrl-attrib a{background:color-mix(in oklab,var(--bg) 70%,transparent);color:var(--muted);font-size:10px}.map-popup .maplibregl-popup-content{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:16px 18px;box-shadow:0 18px 40px rgb(0 0 0/.55)}.map-popup .maplibregl-popup-tip{border-top-color:var(--line-strong);border-bottom-color:var(--line-strong)}.map-popup .maplibregl-popup-close-button{top:4px;right:6px;font-size:18px;color:var(--muted);background:none}.map-popup .maplibregl-popup-close-button:hover{color:var(--accent);background:none}.map-card{min-width:220px}.map-card h3{font-family:var(--display);font-variation-settings:"opsz" 28;font-size:20px;font-weight:600;color:var(--ink);margin-bottom:8px}.map-card p{font-size:12px;line-height:1.6;color:var(--ink-2)}.map-card p.map-card-hours{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted)}.map-card-crew{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.page-width{max-width:1240px;margin:0 auto;padding:54px 45px 90px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;gap:28px}.page-heading h1{font-size:clamp(2.6rem,5vw,3.6rem);line-height:.96}.page-heading p{color:var(--muted);font-size:13px;margin-top:14px}.steps{display:flex;gap:22px;list-style:none;margin:0;padding:0}.steps li{display:flex;flex-direction:column;align-items:center;gap:9px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.steps span{display:grid;place-items:center;width:30px;height:30px;font-family:var(--display);font-size:15px;font-weight:600;border:1px solid var(--line-strong);border-radius:50%;transition:background var(--fast),border-color var(--fast),color var(--fast)}.steps .active{color:var(--ink)}.steps .active span{background:var(--accent);border-color:var(--accent);color:var(--bg)}.booking-grid{display:grid;grid-template-columns:1fr 300px;gap:55px}.booking-main{min-width:0}.booking-main h2{font-size:1.8rem;margin-bottom:26px}.choice{display:flex;align-items:center;gap:18px;background:transparent;border:1px solid var(--line);width:100%;padding:20px 22px;text-align:left;margin-bottom:10px;border-radius:var(--radius);color:var(--ink-2)}.choice:hover{border-color:var(--line-strong)}.choice.selected{border-color:var(--accent);background:var(--accent-dim);color:var(--ink)}.choice .radio{width:18px;height:18px;border:1px solid var(--line-strong);border-radius:50%;flex-shrink:0;transition:border var(--fast)}.choice.selected .radio{border:5px solid var(--accent)}.choice h3{font-size:1.25rem}.choice p{font-size:12px;color:var(--muted);margin-top:5px}.choice.selected p{color:var(--ink-2)}.choice .price{margin-left:auto;white-space:nowrap;font-family:var(--display);font-variation-settings:"opsz" 32;font-size:20px;font-weight:600;color:var(--ink)}.field-label{display:block;margin-bottom:8px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.date-picker{position:relative;max-width:320px}.date-trigger{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:12px 14px;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);text-align:left}.date-trigger:hover{border-color:var(--ink-2)}.date-trigger svg{color:var(--muted)}.date-popover{position:absolute;z-index:var(--z-overlay);top:calc(100% + 8px);left:0;right:0;padding:12px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius)}.date-popover table{white-space:normal}.date-popover thead{background:none}.date-popover td,.date-popover th{padding:0;border:0;font-size:inherit}.date-popover tbody tr:hover td{background:none}.date-popover .rdp-root{--rdp-accent-color:var(--accent);--rdp-accent-background-color:var(--accent-dim);--rdp-selected-border:0;--rdp-today-color:var(--accent);--rdp-day-height:min(34px,11vw);--rdp-day-width:min(34px,11vw);--rdp-disabled-opacity:0.3;--rdp-outside-opacity:0.35;--rdp-weekday-opacity:1;font-size:13px;color:var(--ink-2)}.date-popover .rdp-month_caption{margin-bottom:6px}.date-popover .rdp-caption_label{font-family:var(--display);font-size:17px;font-weight:600;text-transform:uppercase;color:var(--ink)}.date-popover .rdp-weekday{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.date-popover .rdp-day_button{border:0;border-radius:var(--radius);color:var(--ink-2)}.date-popover .rdp-day_button:hover:not(:disabled){background:color-mix(in oklab,var(--ink) 10%,transparent);color:var(--ink)}.date-popover .rdp-today:not(.rdp-selected) .rdp-day_button{color:var(--accent);font-weight:650}.date-popover .rdp-selected{font-size:inherit}.date-popover .rdp-selected .rdp-day_button{background:var(--accent);color:var(--bg);font-weight:650;font-size:inherit}.date-popover .rdp-chevron{fill:var(--ink-2)}.date-popover .rdp-button_next,.date-popover .rdp-button_previous{border-radius:var(--radius)}.date-popover .rdp-button_next:hover:not(:disabled) .rdp-chevron,.date-popover .rdp-button_previous:hover:not(:disabled) .rdp-chevron{fill:var(--accent)}.date-popover .rdp-dropdown:focus-visible~.rdp-caption_label{outline:2px solid var(--accent);outline-offset:2px}.date-popover .rdp-dropdown_root select{min-height:34px;padding:4px 8px;font-size:12px;background-image:none}.date-popover .rdp-month,.date-popover .rdp-months{width:100%}.suggestions{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.suggestions h3{font-size:1.1rem;margin-bottom:4px}.slot.suggestion{display:grid;gap:3px;padding:11px 8px;border-style:dashed;border-color:var(--line-strong)}.slot.suggestion strong{font-weight:500;color:var(--ink)}.slot.suggestion small{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.slot.suggestion:hover{border-style:solid;border-color:var(--accent);background:var(--accent-dim)}.barbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:10px}.barber{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:20px;background:transparent;border:1px solid var(--line);border-radius:var(--radius);text-align:left;color:var(--ink-2)}.barber:hover:not(:disabled){border-color:var(--line-strong)}.barber.selected{border-color:var(--accent);background:var(--accent-dim);color:var(--ink)}.barber h3{font-size:1.3rem}.barber-portrait{display:grid;place-items:center;width:64px;height:64px;overflow:hidden;border-radius:50%;background:var(--surface);border:1px solid var(--line-strong);font-family:var(--display);font-size:28px;font-weight:600;color:var(--muted)}.barber.selected .barber-portrait{border-color:var(--accent)}.barber-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}.barber.selected .barber-portrait img{filter:none}.barber-skills{list-style:none;margin:-4px 0 0;padding:0;display:grid;gap:7px;font-size:12px;color:var(--muted)}.barber.selected .barber-skills{color:var(--ink-2)}.barber-skills li{display:flex;align-items:baseline;gap:9px}.barber-skills li:before{content:"";flex-shrink:0;width:4px;height:4px;border-radius:50%;background:var(--accent);transform:translateY(-2px)}.portrait-row{display:flex;align-items:center;gap:20px;margin-bottom:22px}.portrait-preview{display:grid;place-items:center;flex-shrink:0;width:84px;height:84px;overflow:hidden;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-strong);font-size:10px;text-align:center}.portrait-preview img{width:100%;height:100%;object-fit:cover}.portrait-row .stack{gap:10px;min-width:0}.slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin:22px 0}.slot{border:1px solid var(--line);padding:14px 8px;background:transparent;border-radius:var(--radius);color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slot:hover{border-color:var(--line-strong);color:var(--ink)}.slot.selected{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}.summary{border-left:1px solid var(--line);padding-left:30px;align-self:start;position:sticky;top:112px}.summary h3{font-size:1.1rem;margin-bottom:24px}.summary dl{margin:0}.summary dt{font-size:10px;letter-spacing:.14em;color:var(--muted);margin-top:22px}.summary dd{margin:7px 0 0;font-size:14px;color:var(--ink)}.summary .total{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}.summary .total span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.summary .total strong{font-family:var(--display);font-variation-settings:"opsz" 40;font-size:30px;font-weight:600;color:var(--ink)}.summary .muted{font-size:11px;margin-top:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.field{margin-bottom:22px}.actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:34px}.actions>.muted{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.actions>.muted:hover{color:var(--ink)}.notice{padding:15px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);line-height:1.6;margin:20px 0;font-size:13px;color:var(--ink-2)}.notice.error{background:var(--accent-dim);border-color:var(--accent);color:var(--ink)}.success{padding:50px 0;max-width:600px}.success h1{margin:24px 0 18px;font-size:clamp(2.8rem,6vw,4.2rem)}.success p{color:var(--ink-2);max-width:48ch}.success-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 16px}.uploader{display:grid;gap:10px;align-content:start}.uploader>small{font-size:10px;color:var(--muted)}.uploader .notice{margin:0}.drop{position:relative;border:1px dashed var(--line-strong);border-radius:var(--radius);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:14px 14px;background-position:50%;transition:border-color var(--slow),background-color var(--slow)}.drop.over{border-color:var(--accent);background-color:var(--accent-dim)}.drop-target{display:grid;justify-items:center;gap:6px;padding:30px 18px;text-align:center;cursor:pointer}.drop-target svg{color:var(--muted);transition:color var(--slow),translate var(--slow)}.drop.over .drop-target svg,.drop:hover .drop-target svg{color:var(--accent);translate:0 -2px}.drop-target strong{font-family:var(--display);font-size:17px;font-weight:600;color:var(--ink)}.drop-target>span{font-size:11px;color:var(--muted)}.drop-target input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.drop.filled .drop-target{padding:16px 18px 10px}.drop.filled .drop-target>span{display:none}.file-card{display:flex;align-items:center;gap:14px;margin:0 12px 12px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:translate var(--slow),border-color var(--slow)}.file-card:hover{translate:0 -2px;border-color:var(--line-strong)}.file-card img{width:54px;height:54px;object-fit:cover;border-radius:var(--radius);background:var(--surface-2);filter:grayscale(1) contrast(1.08)}.file-meta{flex:1 1;min-width:0;display:grid;gap:5px}.file-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.file-row b{font-size:12px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row span{font-size:10px;color:var(--ink-2);white-space:nowrap}.file-row small{font-size:10px;letter-spacing:.06em;color:var(--muted)}.file-remove{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:none;flex:none}.file-remove:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.login{max-width:420px;margin:90px auto;padding:30px}.login .logo img{height:54px}.login h1{font-size:clamp(2.6rem,7vw,3.4rem);margin:38px 0 14px}.login>p{color:var(--muted);margin-bottom:32px}.login label{margin-bottom:20px}.login .button{width:100%}.admin-shell{display:grid;grid-template-columns:218px 1fr;min-height:100vh}.sidebar{background:var(--surface-2);border-right:1px solid var(--line);padding:34px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .logo{margin:0 12px 46px}.sidebar .logo img{height:26px}.sidebar nav{display:grid;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:var(--radius);color:var(--muted);font-size:12px;font-weight:500}.sidebar nav a:hover{background:color-mix(in oklab,var(--ink) 6%,transparent);color:var(--ink)}.sidebar nav a.selected{background:var(--surface);color:var(--ink);font-weight:650}.sidebar nav a.selected:after{content:"";width:5px;height:5px;margin-left:auto;border-radius:50%;background:var(--accent)}.sidebar-bottom{margin-top:auto;display:grid;gap:10px;padding:20px 14px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.sidebar-bottom a:hover,.sidebar-bottom button:hover{color:var(--ink)}.sidebar-bottom button{background:transparent;border:0;text-align:left;color:inherit;padding:6px 0}.admin-main{padding:38px 44px 70px;min-width:0}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-bottom:26px;margin-bottom:30px;border-bottom:1px solid var(--line)}.admin-top h1{font-size:2.4rem;line-height:1}.admin-top p{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:10px}.avatar{display:grid;place-items:center;width:36px;height:36px;background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);border-radius:50%;font-family:var(--display);font-size:18px;font-weight:700}.staff-name{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--ink);text-align:left}.staff-name small{font-size:10px}.scope{display:flex;margin-bottom:26px}.scope a,.scope button{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--line);background:transparent;color:var(--muted)}.scope>:first-child{border-radius:var(--radius) 0 0 var(--radius)}.scope>:last-child{border-radius:0 var(--radius) var(--radius) 0;margin-left:-1px}.scope a:hover,.scope button:hover{color:var(--ink)}.scope .selected{background:var(--accent);border-color:var(--accent);color:var(--bg)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:24px 0 38px}.stat{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.stat p{color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.stat strong{font-family:var(--display);font-variation-settings:"opsz" 60;font-size:54px;font-weight:600;line-height:1;color:var(--ink);display:block;margin:14px 0 10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat small{font-size:10px;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:26px 0 18px}.toolbar h2{font-size:1.5rem}.toolbar form{display:flex;gap:10px;align-items:center}.toolbar input,.toolbar select{font-size:12px;max-width:210px;min-height:38px;padding:8px 10px}.toolbar select{padding-right:34px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}thead{background:var(--surface-2)}th{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:13px 14px}td,th{border-bottom:1px solid var(--line)}td{font-size:12px;color:var(--ink);padding:16px 14px}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface)}td small{display:block;color:var(--muted);font-size:10px;margin-top:4px}td a:hover{color:var(--accent)}.status{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:var(--radius);border:1px solid var(--line-strong);color:var(--ink-2)}.status.completed{background:var(--surface);border-color:var(--line);color:var(--muted)}.status.cancelled,.status.no_show{background:var(--accent-dim);border-color:var(--accent);color:var(--ink)}.empty{padding:70px 20px;text-align:center;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius)}.empty h3{margin-bottom:10px}.table-wrap>.empty{border:0;border-top:1px solid var(--line);border-radius:0}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:20px;background:var(--surface)}.panel h2{font-size:1.5rem;margin-bottom:24px}.panel h3{font-size:1.15rem;margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.admin-main details{padding:16px 0;border-bottom:1px solid var(--line)}.admin-main summary{cursor:pointer;margin-bottom:15px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.admin-main summary::marker{color:var(--accent)}.photo-links{display:flex;gap:15px;flex-wrap:wrap}.photo-links img{max-width:240px;max-height:200px;object-fit:contain;background:var(--surface-2);border:1px solid var(--line)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}.calendar-day{min-height:150px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;font-size:11px}.calendar-day:nth-child(7n){border-right:0}.calendar-day b{display:block;margin-bottom:10px;font-family:var(--display);font-size:15px;color:var(--ink)}.calendar-entry{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:7px;margin:5px 0;font-size:10px;color:var(--ink-2)}.calendar-entry:hover{border-color:var(--accent);color:var(--ink)}@media (min-width:1500px){.hero{min-height:min(78vh,760px)}.hero-copy{padding-top:100px;padding-bottom:100px}}@media (max-width:1050px){.hero-copy{padding:58px 7% 58px 8%}.gallery-section,.services-section,.steps-section,.team-section,.visit{gap:38px}.about{grid-template-columns:1fr;gap:40px}.team,.visit-grid{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:184px 1fr}.admin-main{padding:30px 26px 60px}.sidebar{padding:28px 12px}.booking-grid{gap:32px;grid-template-columns:1fr 250px}.page-width{padding:40px 30px 70px}.steps{gap:14px}}@media (max-width:700px){.public-header{height:76px;padding:0 6%}.public-header .logo img{height:28px}.public-header nav{gap:12px;font-size:10px}.nav-links,.public-header nav .magnetic{display:none}.nav-toggle{display:grid;place-items:center;width:42px;height:42px;background:none;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink)}.nav-toggle[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.nav-sheet{position:fixed;inset:76px 0 0;z-index:var(--z-overlay);display:flex;flex-direction:column;gap:4px;padding:30px 7% calc(30px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);animation:rise .28s var(--ease) both}.nav-sheet[hidden]{display:none}.nav-sheet>a{font-family:var(--display);font-size:30px;font-weight:600;letter-spacing:normal;text-transform:uppercase;color:var(--ink);padding:14px 0;border-bottom:1px solid var(--line)}.nav-sheet>a:active{color:var(--accent)}.nav-sheet>a.button{margin-top:26px;justify-content:center;font-size:11px;border-bottom:0}.nav-book{padding:10px 13px}.desktop-break{display:none}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:52px 7% 46px;order:2}.hero-copy p{font-size:14px;margin:22px 0 28px}.hero-note{margin-top:24px}.hero-photo{order:1;min-height:330px}.hero-photo:after{background:linear-gradient(180deg,color-mix(in oklab,var(--bg),transparent 100%) 55%,var(--bg) 100%)}.gallery-section,.services-section,.steps-section,.team-section,.visit{display:block;padding:48px 7% 56px}.about{padding:48px 7% 56px}.section-intro{margin-bottom:30px}.rail{display:none}.gallery{grid-template-columns:1fr 1fr;gap:10px}.gallery-scale.left,.gallery-scale.right{display:none}.step-list,.team,.visit-grid{grid-template-columns:1fr}.step-list li,.team-card,.visit-card{padding:20px}.service-row{gap:15px;padding:22px 0}.service-row h3{font-size:1.3rem}.service-row strong{font-size:19px}.service-index{display:none}.service-row p{font-size:11px}.service-row p span{display:block;margin-left:0;margin-top:3px}.service-row p span:before{content:none}.closing{padding:48px 7%;gap:26px;flex-direction:column;align-items:flex-start}.closing-mark{width:62%;right:-8%}footer{padding:44px 7% 30px;gap:32px}.footer-top{grid-template-columns:1fr;gap:32px}.footer-cols{grid-template-columns:1fr 1fr;gap:26px 20px}.footer-cols>div:last-child{grid-column:span 2}.footer-lead{font-size:21px}.footer-legal{flex-direction:column;align-items:flex-start;gap:12px}.map{height:240px}.page-width{padding:32px 22px 60px}.page-heading{display:block;margin-bottom:32px}.steps{justify-content:space-between;margin-top:30px}.booking-grid{display:flex;flex-direction:column}.summary{position:static;border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.booking-main h2{font-size:1.6rem}.choice{padding:16px;gap:13px}.choice h3{font-size:1.15rem}.choice .price{font-size:17px}.form-row{grid-template-columns:1fr}.slots{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.date-picker{max-width:none}.date-popover{left:50%;translate:-50% 0}.barbers{grid-template-columns:1fr}.barber{flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap;padding:16px}.barber-portrait{width:52px;height:52px;font-size:22px}.barber-skills{flex-basis:100%}.portrait-row{gap:14px}.admin-shell{display:block}.sidebar{height:auto;position:static;flex-direction:row;align-items:center;gap:14px;padding:14px 18px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .logo{margin:0}.sidebar .logo img{height:20px}.sidebar nav{display:flex;overflow-x:auto;gap:2px;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav a{padding:10px 11px;font-size:11px;gap:7px;white-space:nowrap}.sidebar nav a svg{width:15px;height:15px}.sidebar-bottom{display:none}.admin-main{padding:24px 18px 56px}.admin-top{gap:12px}.admin-top h1{font-size:1.9rem}.staff-name>span:not(.avatar){display:none}.stats{grid-template-columns:repeat(3,1fr);gap:8px}.stat{padding:14px 11px}.stat strong{font-size:34px;margin:10px 0 6px}.stat p,.stat small{font-size:9px;letter-spacing:.1em}.toolbar{align-items:flex-start;flex-direction:column;gap:13px}.toolbar form{flex-wrap:wrap}.detail-grid{grid-template-columns:1fr}.panel{padding:20px 16px}.calendar-grid{grid-template-columns:repeat(7,130px)}.login{margin:46px auto;padding:26px 22px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:active:not(:disabled){transform:none}}