:root{--ink:#141313;--panel:#1d1b1b;--paper:#f2ede5;--muted:#b7b0a8;--red:#dc3036;--line:#3b3535;--display:'Barlow Condensed',Impact,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);text-transform:uppercase;line-height:.96;font-weight:700}h1{font-size:clamp(65px,7.5vw,116px);letter-spacing:-1.5px;margin-bottom:25px}h2{font-size:clamp(42px,4.5vw,68px);margin-bottom:0}h3{font-size:35px;line-height:1.1;margin:22px 0 16px}.skip{position:absolute;top:-100px;background:white;color:black;z-index:10;padding:12px}.skip:focus{top:0}.topline{display:flex;justify-content:space-between;padding:8px 5%;font-size:9px;letter-spacing:2px;border-bottom:1px solid var(--line);color:var(--muted)}.header{display:flex;align-items:center;justify-content:space-between;padding:22px 5%;gap:25px}.brand{display:flex;flex-direction:column;width:max-content;line-height:1}.brand-name{font-family:var(--display);font-size:28px;font-weight:800;letter-spacing:.5px}.brand-name span{color:var(--red)}.brand-sub{font-size:8px;letter-spacing:3.1px;text-align:center;margin-top:8px}.header nav{display:flex;gap:35px;font-size:12px;font-weight:600}.header nav a:hover,.text-link:hover{color:var(--red)}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--red);color:white;padding:15px 27px;min-height:50px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border:1px solid var(--red);transition:background .2s,color .2s}.button:hover{background:#b71d25;border-color:#b71d25}.header-book{padding:11px 20px;min-height:44px}.hero{position:relative;display:grid;grid-template-columns:1.3fr 1fr;min-height:610px;max-width:1600px;margin:auto}.hero-copy{padding:65px 0 70px 8%;z-index:1;align-self:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.1px;color:var(--red);margin-bottom:23px}.hero h1 span{color:var(--red)}.hero-intro{color:var(--muted);font-size:17px;line-height:1.8}.hero-actions{display:flex;gap:30px;align-items:center;margin:30px 0 37px}.text-link{font-size:12px;border-bottom:1px solid #716665;padding-bottom:6px}.micro{font-size:9px;letter-spacing:1.25px;color:var(--muted);margin:0}.micro span{color:var(--red);padding:0 10px}.hero-photo{position:relative;margin:15px 9% 35px 30px;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}.hero-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7))}.photo-caption{position:absolute;bottom:22px;left:24px;z-index:1;font-size:9px;letter-spacing:2px}.logo-seal{position:absolute;width:155px;height:155px;left:calc(56.5% - 64px);bottom:48px;z-index:2;background:white;border-radius:50%;overflow:hidden;box-shadow:0 0 0 8px var(--ink);transform:rotate(-8deg)}.logo-seal img{width:100%;height:100%;object-fit:cover}.stripe{height:16px;background:repeating-linear-gradient(125deg,var(--red) 0,var(--red) 18px,var(--ink) 18px,var(--ink) 36px);border-top:1px solid var(--red);border-bottom:1px solid var(--red)}.section{padding:85px 5%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-heading>p{max-width:390px;color:var(--muted);font-size:14px;margin:0}.section-heading .eyebrow{margin-bottom:16px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article{padding:35px 35px 38px 0}.service-grid article+article{border-left:1px solid var(--line);padding-left:35px}.service-label{font-size:9px;letter-spacing:1.6px;color:var(--muted)}.service-grid p{color:var(--muted);max-width:330px;font-size:14px;min-height:72px}.service-grid a{font-size:11px;font-weight:600;border-bottom:1px solid var(--red);padding-bottom:7px}.service-grid a:hover{color:var(--red)}.service-note{font-size:11px;color:var(--muted);margin:20px 0 0}.shop-section{display:grid;grid-template-columns:1fr 1fr;background:var(--panel)}.shop-image{min-height:500px;overflow:hidden}.shop-image img{height:100%;width:100%;object-fit:cover}.shop-copy{align-self:center;padding:65px 12%}.shop-copy h2{font-size:clamp(42px,4.2vw,64px);margin-bottom:30px}.shop-copy h2 span{color:var(--red)}.shop-copy p:not(.eyebrow){color:var(--muted);max-width:440px;font-size:14px}.outline{background:transparent;border-color:#82736d;margin-top:15px}.gallery-section h2{font-size:clamp(38px,4vw,56px)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{display:block}.gallery img{width:100%;aspect-ratio:1;object-fit:contain;background:white}.gallery-item span{display:block;font-family:var(--display);text-transform:uppercase;font-size:22px;padding-top:14px}.gallery-item:hover span{color:var(--red)}.visit{background:#ba252b;max-width:none;display:grid;grid-template-columns:1.2fr 1fr;gap:10%;padding:70px 8%}.visit .eyebrow{color:#ffe0d9}.visit h2{font-size:clamp(56px,6vw,90px);margin-bottom:26px}.visit h2 span{color:#161313}.visit p{font-size:14px}.light{background:var(--paper);color:var(--ink);border-color:var(--paper);margin-top:12px}.light:hover{background:white;border-color:white}.visit-details{display:flex;flex-direction:column;justify-content:center;gap:30px}.visit-details .eyebrow{font-size:9px;margin-bottom:10px}.phone{font-family:var(--display);font-size:clamp(28px,3.5vw,46px);font-weight:600;line-height:1.1}.visit-details p:not(.eyebrow){margin:12px 0 0;color:#f8d8d5;font-size:12px}.visit dl{margin:0;max-width:360px}.visit dl>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #df7376;font-size:13px}.visit dd{margin-left:20px}.footer-stripe{height:12px}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer>a:last-child{font-size:11px;color:var(--muted);margin:0}dialog{border:1px solid var(--line);padding:50px 20px 15px;background:var(--ink);color:var(--paper);max-width:min(760px,95vw);max-height:95dvh}dialog::backdrop{background:#000d;backdrop-filter:blur(4px)}dialog img{max-height:72dvh;object-fit:contain;margin:auto}dialog p{font-size:12px;text-align:center;margin:15px 0 0}.close-dialog{position:absolute;right:17px;top:12px;background:none;color:white;border:0;font:inherit;font-size:12px;cursor:pointer}body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.hero-copy{padding-left:80px}}@media(max-width:1000px){.hero{min-height:550px;grid-template-columns:1.2fr 1fr}.hero-copy{padding-top:40px;padding-bottom:45px}h1{font-size:74px}.hero-photo{margin-left:0}.logo-seal{width:120px;height:120px;left:calc(54% - 50px)}.micro{max-width:275px;line-height:2}.shop-copy{padding:45px 9%}.section{padding:65px 5%}.service-grid article{padding-right:20px}.service-grid article+article{padding-left:20px}.service-grid h3{font-size:29px}.visit{padding:60px 6%}}@media(max-width:700px){html{scroll-padding-top:20px}.topline{font-size:8px;letter-spacing:1px}.topline span:last-child{display:none}.header{padding:22px 6%;flex-wrap:wrap;gap:22px 10px}.brand-name{font-size:26px}.header-book{font-size:9px;padding:10px 14px}.header nav{order:3;width:100%;justify-content:center;gap:40px;border-top:1px solid var(--line);padding-top:17px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:28px 6% 36px}.hero h1{font-size:clamp(64px,14vw,96px);letter-spacing:-1px}.hero .eyebrow{font-size:9px;margin-bottom:20px}.hero-intro{font-size:15px}.hero-actions{margin:25px 0}.micro{max-width:none;font-size:8px;letter-spacing:.6px}.hero-photo{height:410px;margin:0 6% 25px}.hero-photo>img{object-position:center 38%}.logo-seal{width:118px;height:118px;left:auto;right:10%;bottom:45px}.photo-caption{max-width:170px;left:17px;font-size:8px}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:25px}.section-heading>.text-link{display:inline-block;margin-top:25px}h2{font-size:48px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{padding:28px 0;border-left:0}.service-grid article+article{border-top:1px solid var(--line)}.service-grid h3{font-size:34px;margin-top:12px}.service-grid p{min-height:0;max-width:none}.shop-section{grid-template-columns:1fr}.shop-image{min-height:0;aspect-ratio:1}.shop-copy{padding:45px 6%}.gallery{grid-template-columns:1fr;gap:30px}.gallery-item span{font-size:23px}.visit{grid-template-columns:1fr;gap:42px}.visit h2{font-size:66px}.visit-details{gap:30px}.phone{font-size:40px}footer{padding:32px 6%;flex-wrap:wrap}footer p{order:3;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
:root{--pole-width:32px}
body{padding-left:var(--pole-width)}
.barber-pole{position:fixed;inset:0 auto 0 0;width:var(--pole-width);overflow:hidden;pointer-events:none;z-index:3;background:#141313}
.barber-pole:before{content:'';position:absolute;inset:0 0 -80px;background:url('assets/pole-stripes.svg?v=2') repeat-y;background-size:100% 80px;animation:pole-rise 3.75s linear infinite;will-change:transform}
.barber-pole:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000b 0%,#0004 15%,transparent 35%,#ffffff30 45%,#ffffff0d 57%,#0003 78%,#000c 100%)}
@keyframes pole-rise{to{transform:translateY(-80px)}}
.hero-logo{align-self:center;margin:25px 9% 40px 30px}
.hero-logo img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(4px 0 0 #fff) drop-shadow(-4px 0 0 #fff) drop-shadow(0 4px 0 #fff) drop-shadow(0 -4px 0 #fff)}
@media(max-width:700px){:root{--pole-width:14px}.hero-logo{margin:0 6% 35px}.hero h1{font-size:clamp(58px,13.5vw,96px)}}
@media(prefers-reduced-motion:reduce){.barber-pole:before{animation:none;will-change:auto}}
:root{scroll-padding-bottom:110px}
body{padding-bottom:100px}
.visit address{font-style:normal;font-size:20px;margin:25px 0 15px}
.visit-actions,.contact-options{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero-actions{flex-wrap:wrap;gap:14px;margin-bottom:24px}
.hero-directions{margin-top:0}
.hero-location{border-left:3px solid var(--red);padding:3px 0 3px 18px;margin-right:20px}
.hero-location>strong{display:block;font-family:var(--display);font-size:25px;letter-spacing:1px;line-height:1.2}
.hero-location address{font-style:normal;font-size:13px;color:var(--muted);margin:10px 0}
.hero-location .micro{max-width:none}
.contact-options .button{margin-top:15px;border-color:var(--paper)}
#booking{scroll-margin-top:30px;scroll-margin-bottom:110px}
@media(max-width:700px){.topline{font-size:8px;letter-spacing:.5px}.header-book{font-size:8px;letter-spacing:.6px;padding:10px}.hero-actions .button{font-size:10px;letter-spacing:.7px;padding:14px 16px}.booking-dock .button{font-size:9px;letter-spacing:.4px}.hero-location>strong{font-size:23px}.visit address{font-size:18px}.hero-copy{min-width:0}.hero h1{font-size:clamp(46px,13vw,90px)}}
.visit-actions .button{margin-top:12px}
.visit-actions .outline{border-color:var(--paper)}
.booking-dock{position:fixed;bottom:20px;right:24px;z-index:5;display:flex;align-items:center;gap:12px;padding:12px;background:#141313f5;border:1px solid #5b4949;box-shadow:0 6px 30px #0008}
.booking-dock>span{font-size:9px;letter-spacing:1px;padding:0 12px;color:var(--muted)}
.booking-dock .dock-directions{background:transparent;border-color:#b7b0a8}
.booking-dock .dock-directions:hover{background:#383030}
@media(max-width:700px){.booking-dock{bottom:0;left:var(--pole-width);right:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px}.booking-dock>span{display:none}.booking-dock .button{flex:1;padding:13px 10px;font-size:10px;letter-spacing:.8px}body{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.visit h2{font-size:clamp(44px,10vw,66px)}}
:root{color-scheme:dark;scrollbar-color:#dc3036 #141313}
*{scrollbar-color:#dc3036 #141313}
/* Keep native scrolling; decorative buttons are a progressive enhancement. */
@supports selector(::-webkit-scrollbar){
  *{scrollbar-color:auto;scrollbar-width:auto}
  ::-webkit-scrollbar{width:16px;height:16px;background:#141313}
  ::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:#141313}
  ::-webkit-scrollbar-thumb{background:#dc3036;border:3px solid #141313;border-radius:10px;min-height:40px}
  ::-webkit-scrollbar-thumb:hover{background:#ed454b}
  ::-webkit-scrollbar-thumb:active{background:#ba252b}
  ::-webkit-scrollbar-button{display:none}
  ::-webkit-scrollbar-button:vertical:single-button{display:block;height:24px;background-color:#141313;background-repeat:no-repeat;background-position:center;background-size:14px 20px}
  ::-webkit-scrollbar-button:vertical:single-button:decrement{background-image:url('assets/scroll-pitchfork-up.svg')}
  ::-webkit-scrollbar-button:vertical:single-button:increment{background-image:url('assets/scroll-pitchfork-down.svg')}
}
