@font-face{font-family:Manrope;src:url('assets/manrope-latin.woff') format('woff');font-weight:200 800;font-style:normal;font-display:swap}
:root{--ink:#171916;--cream:#f0ede5;--paper:#e6e2d8;--muted:#696b61;--red:#ba3a2d;--line:#cbc6bb;--night:#111210;--ease:cubic-bezier(.2,.75,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:var(--cream);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:default}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}figure,h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{letter-spacing:-.055em;line-height:1.08}h1 em,h2 em,.footer-top em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}h2{font-size:clamp(38px,4.1vw,68px)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:6px}::selection{background:var(--red);color:white}[hidden]{display:none!important}.skip-link{position:fixed;z-index:99;top:8px;left:8px;padding:12px 20px;background:var(--cream);color:var(--ink);transform:translateY(-160%)}.skip-link:focus{transform:none}.preview-bar{height:29px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 4.2vw;background:var(--paper);font-size:9px;letter-spacing:.07em}.preview-bar>span:first-child{font-weight:700}.preview-bar i{font-weight:400;font-style:normal;margin-left:12px;color:#5b5f54}.preview-bar>span:last-child{font-size:8px;color:#52574d}header{position:absolute;top:29px;left:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:27px 4.2vw;color:var(--cream);border-bottom:1px solid #f0ede529}.wordmark{display:inline-flex;align-items:center;gap:13px}.wordmark b{font-family:Georgia,serif;font-size:48px;font-weight:400;letter-spacing:-4px;line-height:1}.wordmark>span{font-size:9px;letter-spacing:.1em;line-height:1.5;text-transform:uppercase}nav{display:flex;gap:40px;font-size:12px}nav a{padding:12px 0;position:relative}nav a::after{content:'';position:absolute;left:0;right:100%;bottom:5px;background:var(--cream);height:1px;transition:right .3s}nav a:hover::after{right:0}.nav-book{background:transparent;color:inherit;border:1px solid #dcded15c;padding:12px 18px;display:flex;align-items:center;gap:30px;font-size:11px;transition:color .3s,background .3s}.nav-book span{font-size:20px}.nav-book:hover{background:var(--cream);color:var(--ink)}
.hero{min-height:780px;height:calc(100svh - 29px);max-height:1080px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 73% 42%,#3a3330 0,#1e201d 21%,#111210 55%);color:var(--cream)}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#11121040,transparent 55%),linear-gradient(0deg,#111210 0,transparent 18%);pointer-events:none;z-index:1}.hero-grain{position:absolute;inset:0;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");pointer-events:none;z-index:3}.hero-coordinate{position:absolute;right:4%;top:6%;font-family:Georgia,serif;font-size:clamp(210px,33vw,530px);letter-spacing:-.08em;line-height:1.4;color:transparent;-webkit-text-stroke:1px #c8cebc12;pointer-events:none;z-index:0}.hero-copy{position:relative;z-index:4;width:61%;padding:clamp(210px,28vh,305px) 0 130px 7.2vw;pointer-events:none}.hero-copy>*{pointer-events:auto}.eyebrow{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.095em;line-height:1.6}.red-dash{display:inline-block;vertical-align:middle;width:27px;height:2px;background:var(--red);flex:none}.hero h1{font-size:clamp(62px,6.6vw,108px);line-height:1.06;margin:28px 0 27px}.hero h1 em{color:#dcd4c6}.hero-description{font-size:14px;line-height:1.9;letter-spacing:.01em;color:#c6c8bd}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:53px;padding:16px 24px;font-size:11px;letter-spacing:.015em;transition:background .25s,color .25s,transform .35s var(--ease)}.button>span{font-size:21px;line-height:1}.button:hover{transform:translateY(-2px)}.cream{background:var(--cream);color:var(--ink)}.cream:hover{background:#fff}.dark{background:var(--ink);color:var(--cream)}.dark:hover{background:var(--red)}.text-link{display:inline-flex;gap:28px;align-items:center;font-size:11px;padding:10px 0}.text-link span{font-size:19px}.hero-small{font-size:10px;color:#91968a;margin-top:33px}.chair-stage{position:absolute;z-index:2;right:-3%;top:100px;bottom:75px;width:63%;isolation:isolate}.chair-stage canvas{display:block;width:100%;height:100%;position:absolute;inset:0;opacity:0;transition:opacity .8s}.chair-fallback{position:absolute;inset:0;object-position:72% center;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent),linear-gradient(0deg,transparent,#000 15%,#000 85%,transparent);mask-composite:intersect;opacity:.85}.chair-stage[data-scene=ready] canvas{opacity:1}.chair-stage[data-scene=ready] .chair-fallback{opacity:0}.stage-halo{position:absolute;z-index:-1;width:68%;height:72%;top:3%;left:19%;border-radius:50%;background:radial-gradient(ellipse,#fff4d21c,transparent 65%);filter:blur(25px)}.stage-ring{position:absolute;width:67%;height:29%;bottom:4%;left:18%;border:1px solid #c3c4b12a;border-radius:50%;transform:rotate(-9deg);pointer-events:none}.ring-two{width:58%;height:25%;bottom:6%;left:22%;border-color:#c73b2926}.scene-controls{position:absolute;z-index:3;bottom:0;right:13%;left:21%;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:8px;letter-spacing:.05em;color:#b0b4a4}.scene-controls>span::before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--red);vertical-align:middle;margin-right:8px}.scene-controls button{background:transparent;border-bottom:1px solid #999e8d70;color:inherit;min-height:38px;padding:8px 0;font-size:9px}.hero-baseline{position:absolute;z-index:4;left:4.2vw;right:4.2vw;bottom:22px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #c6cbb329;padding-top:19px;color:#a4aa98;font-size:9px;letter-spacing:.04em}.hero-baseline a{color:var(--cream);display:flex;gap:25px}.hero-baseline>span:last-child{font-size:8px}
.section-pad{padding:100px 7.2vw}.section-kicker{display:flex;gap:20px;align-items:center;margin-bottom:25px}.chapter-number{font-size:9px;letter-spacing:.07em;color:var(--red);border:1px solid #a1a590;width:31px;height:31px;display:flex;align-items:center;justify-content:center;border-radius:50%}.intro{display:grid;grid-template-columns:1fr 2.1fr .7fr;gap:40px;align-items:start;position:relative}.intro>.section-kicker{margin-top:7px;gap:15px}.intro .eyebrow{max-width:105px}.intro h2{font-size:clamp(33px,3.4vw,54px)}.intro p{font-size:13px;line-height:1.95;color:var(--muted);max-width:450px;margin-top:26px}.intro-stamp{margin-left:auto;width:130px;height:130px;border:1px solid #969a88;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-10deg);position:relative}.intro-stamp::after{content:'';position:absolute;inset:6px;border:1px solid #babdad;border-radius:50%}.intro-stamp>span{font-family:Georgia,serif;font-size:41px;letter-spacing:-3px;line-height:1}.intro-stamp small{font-size:8px;margin-top:6px;letter-spacing:.13em}.intro-stamp i{font-size:6px;font-style:normal;letter-spacing:.12em;margin-top:8px}.atelier{height:620px;position:relative;overflow:hidden;background:#201f1b;color:var(--cream);isolation:isolate}.atelier-image{position:absolute;inset:-9% 0;z-index:-2}.depth-panel picture{display:block;width:100%;height:100%}.atelier-image img{object-position:center 55%;transform:scale(1.06)}.atelier-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#090b09aa,transparent 60%),linear-gradient(0deg,#090b09c9,transparent 55%)}.atelier-content{position:absolute;left:7.2vw;top:100px}.atelier .eyebrow{color:#e0e1d6}.atelier h2{font-size:clamp(48px,6.2vw,96px);margin-top:30px}.atelier-footer{position:absolute;bottom:45px;left:7.2vw;right:7.2vw;display:flex;justify-content:space-between;align-items:end;gap:20px;border-top:1px solid #e2e6ce40;padding-top:22px}.atelier-footer p{font-size:12px;line-height:1.9;color:#dddccf}.image-note{font-size:8px;line-height:1.8;letter-spacing:.05em;color:#c7c9b9}.atelier-footer .image-note{text-align:right}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:52px}.section-heading>p{font-size:13px;line-height:1.9;color:var(--muted);padding-bottom:4px;min-width:160px}.service-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:7.5vw;align-items:start}.service-image{height:555px;position:relative;overflow:hidden;background:#272820}.service-image img{object-position:57% center;transform:scale(1.08)}.service-image::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 30%,transparent 60%,#0003);pointer-events:none}.service-image figcaption{position:absolute;z-index:2;left:25px;right:25px;bottom:25px;display:flex;justify-content:space-between;gap:10px;color:#dedfd2;font-size:8px;letter-spacing:.03em}.image-corner{position:absolute;top:25px;left:25px;color:#f0ede5;font-family:Georgia,serif;font-size:28px;line-height:1;z-index:1}.image-corner small{display:block;font-family:Manrope,Arial,sans-serif;font-size:7px;letter-spacing:.07em;margin-top:8px}.service-list{border-top:1px solid var(--line)}.service-list article{display:flex;align-items:start;gap:22px;padding:28px 0 30px;border-bottom:1px solid var(--line)}.service-number{font-size:9px;color:var(--red);padding-top:10px}.service-list h3{font-size:27px;letter-spacing:-.04em;line-height:1.3}.service-list p{font-size:12px;line-height:1.85;color:var(--muted);margin:13px 0 17px}.service-list small{font-size:8px;letter-spacing:.04em;color:#777b6d}.service-list article button{width:45px;height:45px;flex:none;border:1px solid #a5aa98;border-radius:50%;background:transparent;color:var(--ink);margin-left:auto;display:grid;place-items:center;transition:background .3s,color .3s,transform .3s}.service-list article button span{font-size:23px}.service-list article button:hover{background:var(--red);color:var(--cream);border-color:var(--red);transform:rotate(45deg)}.service-list .service-note{font-size:10px;margin-top:22px;max-width:350px;color:#767b6b}
.team{background:#e3e0d7;border-top:1px solid #cec9be;border-bottom:1px solid #cec9be}.team .section-heading{margin-bottom:28px}.team-context{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:32px}.team-note{font-size:11px;color:#626956;max-width:560px;line-height:1.85}.swipe-hint{display:none;font-size:9px;white-space:nowrap}.swipe-hint span{font-size:17px;margin-left:12px}.team-selection{font-size:12px;color:#872e25;margin:0 0 22px;min-height:0}.team-selection:empty{display:none}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.team-card{min-width:0}.profile-placeholder{position:relative;height:250px;background:radial-gradient(ellipse at 55% 20%,#3a3a35 0,#242520 40%,#171914 80%);overflow:hidden;color:#c1c6b4;display:flex;align-items:center;justify-content:center}.profile-placeholder::before{content:'';position:absolute;inset:18px;border:1px solid #b8c0a51b;border-radius:45% 45% 0 0}.profile-placeholder::after{content:'';position:absolute;left:-30%;bottom:0;width:170%;height:45%;border:1px solid #e5e8d21f;border-radius:50%;transform:rotate(-28deg)}.profile-index{font-family:Georgia,serif;font-size:79px;font-weight:400;letter-spacing:-.065em;line-height:1;color:#ccd0bc66;transform:translateY(-10px);transition:transform .7s var(--ease),color .7s}.profile-caption{position:absolute;bottom:21px;left:18px;right:18px;text-align:center;font-size:7px;letter-spacing:.08em;color:#a7af97;z-index:1}.profile-placeholder i{position:absolute;width:40px;height:1px;background:var(--red);top:23px;left:calc(50% - 20px)}.team-card:nth-child(even) .profile-placeholder{background:radial-gradient(ellipse at 55% 20%,#433730,#27241e 40%,#191914 80%)}.team-card:hover .profile-index{transform:translateY(-14px);color:#dde1ce99}.team-card-copy{padding:22px 0 0}.small-label{font-size:8px;letter-spacing:.07em;color:#69705d}.team-card h3{font-size:25px;letter-spacing:-.045em;line-height:1.35;margin:8px 0 11px}.team-card p{font-size:10px;line-height:1.8;color:#646d58}.team-book{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 0 12px;border-bottom:1px solid #9ba58d;background:none;color:var(--ink);font-size:8px;white-space:nowrap;text-align:left;margin-top:11px;transition:color .3s,border-color .3s}.team-book>span{font-size:22px}.team-book:hover{color:var(--red);border-color:var(--red)}.team-bottom{display:flex;align-items:center;gap:20px;border-top:1px solid #c1bbaf;padding-top:28px;margin-top:45px;font-size:10px;color:#626d54}.team-bottom>span:last-child{font-size:8px;margin-left:auto;color:#6b755e}
.brand-section{background:#111310;color:var(--cream);min-height:580px;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;padding:70px 7.2vw;overflow:hidden;position:relative}.brand-section::before{content:'';position:absolute;right:-12%;top:-20%;width:50%;height:150%;background:radial-gradient(ellipse,#7133221f,transparent 60%);pointer-events:none}.brand-copy{position:relative;z-index:2}.brand-copy .eyebrow{font-size:9px;color:#a6af99}.brand-copy h2{font-size:clamp(36px,3.55vw,57px);margin:28px 0}.brand-copy>p{max-width:340px;font-size:12px;line-height:1.9;color:#b6b3a7}.brand-copy .text-link{margin-top:24px;color:#dde3ce}.brand-stage{height:440px;position:relative;perspective:900px;display:flex;align-items:center;justify-content:center;isolation:isolate}.brand-orbit{position:absolute;bottom:22px;width:100%;height:90px;border:1px solid #bbc3ac22;border-radius:50%;background:radial-gradient(ellipse,#8f3b2729,transparent 65%);transform:rotate(-7deg)}.brand-sign{position:relative;transform-style:preserve-3d;transform:rotateY(-15deg) rotateX(5deg);width:350px;height:330px;max-width:90%;box-shadow:0 40px 45px #000b}.brand-sign::before{content:'';position:absolute;inset:-3px;border:1px solid #c9d0ba60;transform:translateZ(-12px)}.brand-sign-edge{position:absolute;inset:-1px;border:1px solid #6f7665;background:linear-gradient(120deg,#e0e6d3,#626b5c 15%,#151913 40%,#a0a88d 70%,#30372a);transform:translateZ(-6px)}.logo-window{position:absolute;inset:0;overflow:hidden;background:#000;border:1px solid #777e6c}.logo-window img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}.brand-caption{position:absolute;bottom:-4px;text-align:center;font-size:8px;color:#848e78;letter-spacing:.06em}
.booking-story{position:relative}.booking-story .section-heading{margin-bottom:50px}.booking-story h2{font-size:clamp(38px,4.5vw,72px)}.booking-story-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:12vw;align-items:start}.booking-steps{padding:0;list-style:none;margin:0}.booking-steps li{display:flex;align-items:start;gap:27px;padding:24px 0;border-bottom:1px solid var(--line)}.booking-steps li:first-child{padding-top:0}.booking-steps li>span{font-size:10px;color:var(--red);padding-top:6px}.booking-steps h3{font-size:22px;letter-spacing:-.035em}.booking-steps p{font-size:11px;line-height:1.8;color:var(--muted);margin-top:9px}.booking-box{border:1px solid #bdc3ac;padding:35px;background:#e8e4da}.booking-box .small-label{color:#61734e}.booking-box h3{font-size:29px;letter-spacing:-.04em;line-height:1.3;margin:18px 0 26px}.booking-box .button{width:100%}.booking-box small{display:block;color:#616d52;font-size:10px;line-height:1.8;margin-top:20px}.booking-box-rule{display:flex;align-items:center;gap:20px;margin-top:28px;color:#7b8969}.booking-box-rule span{font-family:Georgia,serif;font-size:24px;letter-spacing:-2px}.booking-box-rule i{height:1px;flex:1;background:#c2c9b3}.visit{display:grid;grid-template-columns:1fr 1fr;background:#22221f;color:var(--cream);min-height:680px}.visit-image{position:relative;overflow:hidden;background:#161b12}.visit-image picture{position:absolute;inset:0}.visit-image img{object-position:72% center;transform:scale(1.08)}.visit-image::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0008,transparent 25%);pointer-events:none}.visit-image>.image-note{position:absolute;bottom:30px;left:35px;right:25px;z-index:1;font-size:7px}.visit-copy{padding:80px 6vw;display:flex;align-items:start;flex-direction:column;justify-content:center}.visit .chapter-number{border-color:#798368;color:#c4b298}.visit .eyebrow{color:#b7c3a7}.visit h2{font-size:clamp(39px,3.8vw,61px);margin:0 0 32px}.visit-place{font-size:16px;line-height:1.85}.visit-place>span{font-size:12px;color:#bcc6ae}.visit-details{max-width:350px;border-top:1px solid #59654b;margin-top:28px;padding-top:21px}.visit-details .small-label{color:#bac7a7;font-size:8px}.visit-details p{font-size:11px;color:#aebba1;line-height:1.85;margin:12px 0 26px}.visit .button{min-width:205px}footer{background:#121210;color:var(--cream);padding:65px 7.2vw 25px}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:30px;border-bottom:1px solid #424d36;padding-bottom:50px}.footer-top>p{font-size:26px;letter-spacing:-.03em;line-height:1.35}.footer-top em{font-size:30px;letter-spacing:-.02em;color:#c8ceb7}.back-top{font-size:9px;display:flex;align-items:center;gap:25px;padding:10px 0}.back-top>span{font-size:20px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:24px;font-size:8px;color:#a2b091}.footer-bottom button{background:none;color:inherit;font-size:9px;padding:10px 0;border-bottom:1px solid #6d7b5b}.mobile-reserve{display:none}
/* Booking remains a local, in-memory demonstration. */
dialog{padding:0;border:1px solid #aeb89c;color:var(--ink);background:var(--cream);max-width:none;max-height:90svh}dialog::backdrop{background:#070a07bc;backdrop-filter:blur(8px)}#booking{width:min(1000px,94vw);overflow-y:auto}.dialog-shell{display:grid;grid-template-columns:.76fr 1.24fr;min-height:640px}.booking-aside{padding:38px;background:linear-gradient(0deg,#131a10df,#11140ee0),url('assets/chair-vision-mobile.webp') 72% center/cover;color:var(--cream);display:flex;flex-direction:column;justify-content:space-between}.booking-aside>.wordmark{align-self:start}.booking-aside .eyebrow{font-size:8px;color:#aab99a}.booking-aside h2{font-size:41px;margin-top:20px}.booking-aside p{font-size:10px;line-height:1.8;color:#9eaf8d}.booking-main{padding:40px;position:relative;display:flex;flex-direction:column;min-width:0}.close-dialog,.close-info{position:absolute;right:17px;top:10px;background:none;font-size:29px;font-weight:300;color:#58664b;width:40px;height:40px;display:grid;place-items:center}.booking-topline{display:flex;justify-content:space-between;gap:10px;margin-top:16px;font-size:8px;letter-spacing:.04em;color:#687858}.progress{height:2px;background:#ccd3bf;margin:18px 0 32px}.progress i{height:100%;display:block;width:33.333%;background:var(--red);transition:width .35s}.booking-main h2{font-size:34px;line-height:1.15;letter-spacing:-.045em}.booking-main h2:focus{outline:0}.selected-barber{font-size:11px;color:#983d30;margin:14px 0 10px}.step-description{font-size:11px;color:#69735f;line-height:1.8;margin-top:15px;margin-bottom:24px}.choice-grid{display:flex;flex-direction:column;gap:10px}.choice{display:flex;align-items:center;gap:15px;width:100%;text-align:left;padding:18px 16px;border:1px solid #c4cbb7;background:transparent;color:var(--ink);transition:border-color .2s,background .2s}.choice:hover,.choice.selected{border-color:var(--red);background:#e9dfd2}.choice.selected{box-shadow:inset 3px 0 var(--red)}.choice strong{font-size:14px;font-weight:500;line-height:1.4;display:block}.choice small{display:block;font-size:10px;line-height:1.6;color:#6d775f;margin-top:5px}.choice .dot{margin-left:auto;flex-shrink:0;width:16px;height:16px;border:1px solid #94a180;border-radius:50%}.choice.selected .dot{border:5px solid var(--red)}.booking-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:25px;margin-top:auto}.booking-controls #booking-back{background:none;font-size:11px;padding:13px 0;color:#58664b;min-width:62px;text-align:left}.booking-controls .button{padding:14px 20px;min-height:49px;font-size:11px}.booking-controls button:disabled{opacity:.4;cursor:not-allowed;transform:none}.booking-privacy{font-size:9px;color:#6d7d5b;margin-top:20px;line-height:1.7}.date-row{display:flex;gap:7px;margin-bottom:25px}.date-option{flex:1;border:1px solid #bfc9af;background:none;padding:12px 3px;color:var(--ink);text-align:center}.date-option small{display:block;font-size:8px;letter-spacing:.04em}.date-option strong{display:block;font-family:Georgia,serif;font-size:26px;font-weight:400;margin:6px 0}.date-option.selected,.time-option.selected{background:var(--ink);color:var(--cream);border-color:var(--ink)}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}.time-option{padding:14px 5px;font-size:11px;border:1px solid #bfc9af;background:transparent;color:var(--ink)}.time-option:disabled{color:#858e7a;text-decoration:line-through;cursor:not-allowed;opacity:.65}.summary{border:1px solid #bbc6aa;padding:16px 20px;margin:25px 0}.summary>div{display:flex;justify-content:space-between;gap:20px;font-size:11px;padding:11px 0;border-bottom:1px solid #cdd5c0}.summary>div:last-child{border:0}.summary span{color:#6c7b5c}.summary b{font-weight:500;text-align:right}.confirm-icon{width:48px;height:48px;border:1px solid #7a8f66;color:#526e3c;font-size:25px;border-radius:50%;display:grid;place-items:center;margin-bottom:22px}.demo-warning{padding:15px;font-size:10px;line-height:1.8;border-left:2px solid var(--red);background:#e6dccc;color:#6b5947}.square-note{font-size:10px;line-height:1.8;color:#6d7a5e;margin-top:19px}#info{position:relative;width:min(600px,92vw);padding:52px}#info>.eyebrow{font-size:9px}#info h2{font-size:37px;margin:25px 0}#info p{font-size:12px;line-height:1.9;margin-bottom:20px;color:#637254}#info .button{margin-top:10px}
/* Content is visible first; motion only progressively enhances it. */
.reveal{opacity:1;transform:none}body.motion-ready .reveal{opacity:0;transform:translate3d(0,22px,0);transition:opacity .85s var(--ease),transform 1s var(--ease)}body.motion-ready .reveal.visible{opacity:1;transform:none}.depth-panel img{will-change:transform}.brand-sign{will-change:transform}html[data-motion=paused] body.motion-ready .reveal{opacity:1;transform:none}
@media(min-width:1700px){.hero-copy{padding-left:10vw}.section-pad{padding-left:10vw;padding-right:10vw}.hero h1{font-size:110px}.brand-section{padding-left:10vw;padding-right:10vw}}
@media(max-width:1200px){.team-grid{gap:14px}.profile-placeholder{height:210px}.team-book{font-size:7px;letter-spacing:-.01em}.team-card h3{font-size:23px}.intro{grid-template-columns:.8fr 2.1fr .65fr;gap:25px}.intro-stamp{width:110px;height:110px}.intro-stamp>span{font-size:34px}.intro .section-kicker{align-items:start}.intro .chapter-number{flex:none}.hero-copy{width:64%}.hero h1{font-size:clamp(58px,6.7vw,84px)}.service-layout{gap:5vw}.service-list h3{font-size:24px}.service-list article{gap:17px}.brand-sign{width:310px;height:300px}.booking-story-grid{gap:8vw}.visit-copy{padding:65px 5vw}.visit h2{font-size:43px}}
@media(max-width:950px){.hero{min-height:740px;max-height:1000px}.hero-copy{padding-top:230px;padding-left:6vw;width:68%}.hero h1{font-size:62px}.chair-stage{right:-14%;width:72%;top:150px;bottom:100px;opacity:.8}.hero-copy .eyebrow{font-size:9px}.hero-actions{gap:20px}.hero-description{font-size:13px}.hero .text-link{font-size:10px}.hero-small{max-width:260px}.scene-controls{right:25%;left:27%}.hero-baseline>span:last-child{display:none}.hero-baseline{left:6vw;right:6vw}.intro{grid-template-columns:.8fr 2fr}.intro-stamp{display:none}.section-pad{padding:80px 6vw}.atelier{height:530px}.atelier-content{left:6vw;top:85px}.atelier-footer{left:6vw;right:6vw}.section-heading{gap:25px}.section-heading>p{font-size:12px;min-width:120px}.service-image{height:510px}.service-list article{gap:13px;padding-top:25px;padding-bottom:25px}.service-list h3{font-size:22px}.service-list p{font-size:11px}.service-list article button{width:41px;height:41px}.service-number{font-size:8px}.team-grid{display:flex;overflow-x:auto;gap:21px;scroll-snap-type:x mandatory;padding-bottom:15px;scrollbar-width:thin;scrollbar-color:#8d9a7b transparent;scroll-padding-inline:1px}.team-card{flex:0 0 230px;scroll-snap-align:start}.profile-placeholder{height:245px}.team-book{font-size:9px}.team-card h3{font-size:26px}.swipe-hint{display:block}.team-context{align-items:end}.team-note{max-width:490px}.brand-section{padding:60px 6vw;gap:3vw;min-height:510px}.brand-stage{height:380px}.brand-sign{width:270px;height:270px}.brand-copy h2{font-size:36px}.brand-copy>p{font-size:11px}.brand-copy .eyebrow{font-size:8px}.booking-box{padding:28px}.booking-box h3{font-size:25px}.booking-story-grid{gap:6vw}.booking-steps h3{font-size:19px}.booking-steps li{gap:20px}.visit{min-height:640px}.visit h2{font-size:37px}.visit-copy{padding:60px 5vw}.dialog-shell{grid-template-columns:.7fr 1.3fr}.booking-aside{padding:30px}.booking-aside h2{font-size:34px}.booking-main{padding:33px}.booking-main h2{font-size:31px}}
@media(max-width:700px){html{scroll-padding-top:22px}.preview-bar{padding:0 22px;height:28px;font-size:8px}.preview-bar i{margin-left:7px}.preview-bar>span:last-child{font-size:7px;max-width:153px;text-align:right;line-height:1.3}header{top:28px;padding:20px 24px 15px;flex-wrap:wrap;gap:19px}.wordmark b{font-size:43px}.wordmark>span{font-size:8px}.wordmark{gap:11px}.nav-book{font-size:9px;gap:18px;padding:9px 12px;min-height:43px}.nav-book span{font-size:18px}nav{order:3;width:100%;justify-content:space-between;gap:25px;font-size:10px;border-top:1px solid #a6b29a29;padding-top:8px}nav a{padding:7px 0}nav a::after{bottom:2px}.hero{height:auto;min-height:1000px;max-height:none;display:flex;flex-direction:column;background:radial-gradient(ellipse at 70% 68%,#30352b 0,#151a12 28%,#111210 55%)}.hero-coordinate{top:46%;font-size:66vw;right:6%;line-height:1.2}.hero-copy{width:100%;padding:200px 25px 0;z-index:4}.hero h1{font-size:clamp(48px,11.5vw,76px);letter-spacing:-.06em;margin:23px 0 20px}.hero-copy .eyebrow{font-size:8px;gap:11px}.red-dash{width:20px}.hero-description{font-size:12px;line-height:1.9}.hero-actions{gap:25px;margin-top:26px;flex-wrap:wrap}.button{font-size:10px;padding:15px 19px;gap:30px;min-height:50px}.hero .text-link{font-size:9px;gap:18px}.hero-small{font-size:8px;margin-top:21px;max-width:none}.chair-stage{position:relative;top:auto;right:auto;bottom:auto;left:-5%;width:110%;height:430px;margin-top:-5px;opacity:1;z-index:2;flex:none}.chair-fallback{object-position:75% center}.stage-ring{bottom:4%;height:26%;width:72%;left:14%}.ring-two{width:63%;left:18.5%;bottom:5%}.scene-controls{left:12%;right:12%;bottom:0;font-size:7px}.scene-controls button{font-size:8px;min-height:38px}.hero-baseline{position:relative;left:auto;right:auto;bottom:auto;z-index:4;margin:25px 25px 23px;padding-top:17px;gap:15px;font-size:8px}.hero-baseline a{gap:15px}.hero::after{background:linear-gradient(0deg,#111210 0,transparent 18%)}.section-pad{padding:62px 25px}.section-kicker{gap:14px;margin-bottom:25px}.chapter-number{width:28px;height:28px;font-size:8px}.eyebrow{font-size:9px}.intro{display:block}.intro>.section-kicker{margin:0 0 28px}.intro .eyebrow{max-width:none}.intro h2{font-size:clamp(33px,8.7vw,49px)}.intro p{font-size:12px;line-height:1.95;margin-top:24px}.atelier{height:540px}.atelier-image{inset:-7% -15%}.atelier-image img{object-position:56% center}.atelier-content{left:25px;top:55px}.atelier .eyebrow{font-size:8px}.atelier h2{font-size:55px;margin-top:25px}.atelier-footer{left:25px;right:25px;bottom:29px;padding-top:19px;gap:20px}.atelier-footer p{font-size:10px}.atelier-footer .image-note{font-size:6px;max-width:125px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:clamp(36px,9.5vw,55px)}.section-heading>p{font-size:11px;margin-top:22px}.service-layout{display:flex;flex-direction:column;gap:30px}.service-image{height:370px;width:100%}.service-image img{object-position:center center}.service-image figcaption{left:20px;right:20px;bottom:20px;font-size:7px}.image-corner{left:20px;top:20px;font-size:24px}.image-corner small{font-size:6px}.service-list{width:100%}.service-list article{padding:26px 0;gap:17px}.service-list h3{font-size:25px}.service-list p{font-size:11px;margin:12px 0 14px}.service-list small{font-size:7px}.service-list article button{width:44px;height:44px}.service-list .service-note{font-size:10px;max-width:none;margin-top:20px}.team .section-heading{margin-bottom:22px}.team-context{display:block;margin-bottom:26px}.team-note{font-size:10px;max-width:470px}.swipe-hint{font-size:8px;margin-top:13px;display:block}.team-grid{gap:18px;overflow: auto;padding-bottom:16px;scroll-padding-left:0}.team-card{flex-basis:calc(100% - 40px)}.profile-placeholder{height:270px}.profile-index{font-size:103px}.profile-caption{font-size:8px;bottom:25px}.team-card-copy{padding-top:24px}.team-card .small-label{font-size:8px}.team-card h3{font-size:29px;margin:8px 0 11px}.team-card p{font-size:12px}.team-book{font-size:10px;padding-top:18px;min-height:52px}.team-bottom{flex-wrap:wrap;gap:14px;margin-top:26px;padding-top:23px;font-size:9px}.team-bottom>span:last-child{margin-left:34px;width:100%;font-size:7px}.brand-section{display:flex;flex-direction:column;align-items:stretch;padding:60px 25px 40px;gap:10px}.brand-copy .eyebrow{font-size:8px}.brand-copy h2{font-size:clamp(33px,8.7vw,48px);margin:25px 0}.brand-copy>p{font-size:11px;max-width:330px}.brand-copy .text-link{margin-top:17px;font-size:10px}.brand-stage{height:370px;margin-top:10px}.brand-sign{width:285px;height:280px}.brand-orbit{bottom:30px;width:95%;height:75px}.brand-caption{bottom:8px;font-size:7px}.booking-story h2{font-size:clamp(32px,8.3vw,48px)}.booking-story .section-heading{margin-bottom:35px}.booking-story-grid{display:block}.booking-steps h3{font-size:22px}.booking-steps p{font-size:11px;margin-top:7px}.booking-steps li{gap:25px;padding:23px 0}.booking-box{margin-top:37px;padding:28px}.booking-box h3{font-size:28px}.booking-box small{font-size:10px}.visit{display:flex;flex-direction:column;min-height:0}.visit-image{height:390px}.visit-image>.image-note{left:25px;bottom:24px;font-size:6px}.visit-image img{object-position:73% center}.visit-copy{padding:55px 25px 60px}.visit h2{font-size:clamp(36px,9.7vw,55px);margin-bottom:27px}.visit-place{font-size:16px}.visit-place>span{font-size:12px}.visit-details p{font-size:11px}.visit-details{max-width:390px;margin-top:26px}.visit .button{min-width:210px}footer{padding:42px 25px 112px}.footer-top{flex-wrap:wrap;gap:28px;padding-bottom:32px;align-items:start}.footer-top>.wordmark{order:1}.footer-top>p{order:3;width:100%;font-size:28px}.footer-top .back-top{order:2;margin-left:auto;font-size:8px;gap:18px}.footer-bottom{flex-wrap:wrap;gap:20px 10px;font-size:7px;padding-top:20px}.footer-bottom p:nth-child(2){order:3;width:100%;font-size:7px}.footer-bottom button{font-size:8px;margin-left:auto}.mobile-reserve{position:fixed;display:flex;z-index:20;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;gap:15px;padding:11px 22px;padding-bottom:max(11px,env(safe-area-inset-bottom));background:#151512f2;color:var(--cream);border-top:1px solid #bacaa33d;backdrop-filter:blur(14px);transform:translateY(110%);transition:transform .4s var(--ease)}.mobile-reserve.visible{transform:none}.mobile-reserve>span{font-family:Georgia,serif;font-size:24px;letter-spacing:-1.5px;display:flex;align-items:center;gap:10px}.mobile-reserve small{font-family:Manrope,Arial,sans-serif;font-size:7px;letter-spacing:.04em}.mobile-reserve button{font-size:9px;background:var(--cream);color:var(--ink);min-height:43px;padding:10px 17px;display:flex;gap:15px;align-items:center}.mobile-reserve button>span{font-size:19px}.dialog-shell{display:block;min-height:0}.booking-aside{display:none}#booking{width:100%;max-width:100vw;max-height:100svh;height:100svh;margin:0;border:0}.booking-main{padding:31px 24px 26px;min-height:100svh;padding-bottom:max(26px,env(safe-area-inset-bottom))}.booking-topline{margin-top:29px;font-size:8px}.progress{margin:20px 0 30px}.booking-main h2{font-size:33px}.selected-barber{font-size:11px}.step-description{font-size:11px;margin-bottom:24px}.choice{padding:17px 14px;min-height:78px}.choice strong{font-size:14px}.choice small{font-size:10px}.booking-controls{padding-top:26px}.booking-controls .button{min-height:50px;font-size:10px}.booking-privacy{font-size:8px;margin-top:20px}.date-row{gap:6px}.date-option{padding:12px 3px}.time-option{font-size:10px;padding:14px 3px}.summary{padding:12px 15px}.summary>div{font-size:11px;gap:15px;padding:13px 0}.summary b{max-width:68%}.demo-warning{font-size:10px}.square-note{font-size:10px}#info{padding:49px 25px 30px;max-height:90svh;overflow:auto}#info h2{font-size:33px}#info p{font-size:11px}#info .button{width:100%;gap:20px;font-size:10px}.close-dialog,.close-info{right:12px;top:9px}.brand-sign,.depth-panel img{will-change:auto}}
@media(max-width:370px){.hero h1{font-size:45px}.hero-copy{padding-top:190px}.hero-actions{gap:19px}.hero-actions .button{padding:15px 17px;gap:22px;font-size:9px}.hero .text-link{font-size:8px;gap:12px}.chair-stage{height:390px}.hero{min-height:940px}.team-card{flex-basis:calc(100% - 22px)}.profile-placeholder{height:250px}.service-list h3{font-size:22px}.service-list article{gap:13px}.service-list p{font-size:10px}.service-list small{font-size:6px}.booking-story h2{font-size:30px}.booking-box{padding:24px}.booking-box h3{font-size:25px}.booking-main{padding-left:20px;padding-right:20px}.booking-main h2{font-size:30px}.mobile-reserve small{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}body.motion-ready .reveal{opacity:1;transform:none}.depth-panel img{transform:none!important;will-change:auto}.brand-sign{transform:none!important;will-change:auto}.chair-stage canvas{display:none}.chair-stage .chair-fallback{opacity:1!important}.stage-ring{transform:none}}
/* Owner-supplied service menu and the confirmed three-barber team. */
.service-image{position:sticky;top:35px;height:670px}.priced-menu article{padding:21px 0;align-items:center;gap:15px}.priced-menu h3{font-size:20px;line-height:1.35;max-width:295px}.priced-menu .service-number{padding-top:0;align-self:start;margin-top:4px}.priced-menu .service-duration{font-size:10px;line-height:1.6;margin:9px 0 0;color:#737b67}.priced-menu article>div{flex:1;min-width:0}.service-price{font-size:24px;letter-spacing:-.04em;white-space:nowrap;margin-left:auto;text-align:right;line-height:1.15}.service-price small{display:block;font-size:6px;letter-spacing:.1em;color:#79816d;margin-top:6px}.priced-menu article button{width:38px;height:38px;margin-left:2px}.priced-menu article button span{font-size:20px}.team-grid{gap:28px}.profile-placeholder{height:330px}.profile-index{font-size:113px}.team-card-copy{padding:26px 0 0}.team-book{font-size:10px}.team-card h3{font-size:29px}.team-card p{font-size:12px}
@media(max-width:1200px){.priced-menu h3{font-size:18px}.service-price{font-size:22px}.service-layout{gap:5vw;grid-template-columns:.85fr 1.15fr}.service-image{height:650px}.team-grid{gap:23px}.profile-placeholder{height:290px}.profile-index{font-size:101px}}
@media(max-width:950px){.priced-menu article{gap:12px}.priced-menu h3{font-size:16px}.service-price{font-size:19px}.priced-menu article button{width:36px;height:36px}.service-image{height:650px}.team-grid{gap:21px}.team-card{flex-basis:250px}.profile-placeholder{height:280px}.team-book{font-size:9px}}
@media(max-width:700px){.service-image{position:relative;top:auto;height:350px}.priced-menu article{padding:21px 0;gap:12px}.priced-menu h3{font-size:17px;max-width:none}.priced-menu .service-number{font-size:7px;margin-top:5px}.priced-menu .service-duration{font-size:9px}.service-price{font-size:21px}.service-price small{font-size:6px}.priced-menu article button{width:40px;height:40px;margin-left:0}.priced-menu article button span{font-size:20px}.team-card{flex-basis:calc(100% - 40px)}.profile-placeholder{height:280px}.team-card-copy{padding:24px 0 0}.team-book{font-size:10px}.team-card h3{font-size:29px}.team-card p{font-size:12px}}
@media(max-width:370px){.priced-menu h3{font-size:15px}.priced-menu article{gap:10px}.priced-menu article button{width:37px;height:37px}.service-price{font-size:19px}.team-card{flex-basis:calc(100% - 25px)}}
/* A long service menu stays usable inside a short phone viewport. */
.choice-grid{max-height:min(350px,42svh);overflow-y:auto;overscroll-behavior:contain;padding:2px 6px 5px 3px;margin-left:-3px;scrollbar-width:thin;scrollbar-color:#8a8c7d transparent}.choice{flex:none;min-height:74px}.choice .service-meta{display:flex;gap:15px;margin-top:7px;font-size:10px;color:#6e6a5f}.choice .choice-price{margin-left:auto;font-size:16px;white-space:nowrap}.choice .dot{margin-left:10px}.booking-main{min-height:640px}.booking-controls{flex-shrink:0}.booking-privacy{flex-shrink:0}
@media(max-width:700px){.booking-main{min-height:100svh}.choice-grid{max-height:42svh}.choice{min-height:80px}.choice strong{font-size:12px}.choice .choice-price{font-size:14px}.choice small{font-size:9px}}
@media(max-height:650px) and (min-width:701px){.dialog-shell,.booking-main{min-height:590px}.choice-grid{max-height:230px}}
.choice .dot{margin-left:auto}.choice>div{min-width:0}.choice strong{overflow-wrap:anywhere}
.selection-status{font-size:10px;line-height:1.7;color:#943b2e;margin:-10px 0 16px}.team-grid{overflow-y:hidden}#team-title:focus{outline:0}.choice-grid{max-height:min(320px,38svh)}
@media(max-width:700px){nav a{min-height:40px;font-size:11px}.team-card.reveal{opacity:1!important;transform:none!important}.priced-menu article button{width:44px;height:44px}.time-option{min-height:44px}.choice-grid{max-height:38svh}.selection-status{font-size:10px}.scene-controls button{min-height:44px}}
