@font-face{font-family:Archivo;src:url(archivo.woff2) format('woff2');font-weight:400 900;font-stretch:62% 125%;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:#fafaf8;color:#111;font:16px/1.65 Archivo,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-weight:900;font-stretch:90%;letter-spacing:-.04em;line-height:.99}h1{font-size:clamp(60px,8.8vw,126px)}h2{font-size:clamp(36px,4vw,58px)}h3{font-size:27px;line-height:1.2;letter-spacing:-.02em}p{color:#686868}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #9a5b23;outline-offset:5px}.wrap{width:calc(100% - 128px);max-width:1440px;margin-inline:auto}.eyebrow{display:block;font-size:11px;line-height:1.5;font-weight:800;letter-spacing:.2em}.sr-only{position:absolute!important;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip{position:fixed;top:-100px;left:20px;z-index:50;background:#111;color:white;padding:14px}.skip:focus{top:10px}.header{height:106px;display:flex;align-items:center;justify-content:space-between;gap:32px}.logo{width:74px;height:74px;flex:none}.desktop-nav{display:flex;gap:30px;margin-left:auto;font-size:13px;font-weight:700}.desktop-nav a{padding-block:8px;border-bottom:1px solid transparent}.desktop-nav a[aria-current=page]{border-color:#111}.nav-actions{display:flex;gap:28px;align-items:center}.phone{font-size:12px;font-weight:800;letter-spacing:.12em}.circle{width:50px;height:50px;border-radius:50%;border:1px solid currentColor;background:transparent;display:flex;justify-content:center;align-items:center;font-size:24px;flex:none;transition:background .2s,color .2s,transform .2s}.circle:hover{background:#111;color:white}.menu-toggle{flex-direction:column;gap:6px}.menu-toggle span{display:block;width:20px;height:2px;background:currentColor}.hero{padding-top:14px}.hero-meta{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}.hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hero-card{position:relative;height:clamp(430px,44.5vw,640px);border-radius:18px;overflow:hidden;background:#e8e6e1}.hero-card img{object-position:50% 30%;transition:transform .8s}.hero-card:first-child img{object-position:55% 50%}.hero-card:hover img{transform:scale(1.035)}.hero-label{position:absolute;bottom:16px;left:16px;right:16px;background:white;border-radius:14px;padding:22px;box-shadow:0 12px 32px #0002}.hero-label h2{font-size:19px;letter-spacing:-.01em;text-transform:uppercase;line-height:1.2;margin-bottom:8px}.hero-label p{font-size:14px;line-height:1.5}.scroll{display:flex;justify-content:center;gap:14px;padding:32px 0 0}.section{padding-block:112px}.about{display:grid;grid-template-columns:1.7fr 1fr;gap:7%}.section .eyebrow{margin-bottom:24px}.about-images{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px}.about-images img{height:400px;border-radius:18px}.about-copy{padding-top:54px;display:flex;flex-direction:column;gap:24px}.about-copy p{line-height:1.75}.highlights{list-style:none;padding:24px 0;margin:8px 0;border-block:1px solid #e4e2dd;display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:13px;font-weight:700}.highlights li{display:flex;align-items:center;gap:8px}.highlights li:before{content:'✓';background:#111;color:white;border-radius:50%;width:22px;height:22px;text-align:center;flex:none}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:#111;color:#fff;border:1px solid #111;padding:18px 28px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.12em;line-height:1.3;min-height:54px;transition:background .2s,transform .2s}.button:hover{background:#383838;transform:translateY(-2px)}.button.light{background:white;color:#111;border-color:white}.text-link{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.12em;border-bottom:1px solid;padding-bottom:4px;line-height:1.6}.text-link:hover{color:#686868}.ticker{background:#0a0a0a;color:white;overflow:hidden;padding:25px 0}.track{display:flex;width:max-content;animation:marquee 32s linear infinite}.track span{display:block;white-space:nowrap;padding-right:36px;font-size:26px;font-weight:900}.track b{font-size:20px;margin-inline:30px}.ticker:hover .track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}.section-heading{display:grid;grid-template-columns:1.7fr 1fr;gap:7%;align-items:end;margin-bottom:50px}.section-heading p{max-width:480px}.section-heading .text-link{margin-top:20px}.services-grid{display:grid;grid-template-columns:1fr 1fr 1.75fr;gap:24px;align-items:start}.services-grid>img{height:460px;border-radius:18px}.fine{font-size:12px;line-height:1.6;margin-top:20px}details{border-top:2px solid #111}details:last-of-type{border-bottom:2px solid #111}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:18px;font-weight:900;padding:20px 0;cursor:pointer;line-height:1.4}summary::-webkit-details-marker{display:none}summary span{display:flex;align-items:center;gap:16px;font-size:11px;font-weight:700;color:#686868}summary b{display:inline-flex;width:28px;height:28px;border:1px solid #111;border-radius:50%;align-items:center;justify-content:center;font-size:20px;font-weight:500;flex:none}details[open] summary b{transform:rotate(45deg)}details dl{margin:0 0 16px}details dl div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e4e2dd;padding:13px 0;line-height:1.4;font-size:14px}dt{font-weight:600}dd{margin:0;font-weight:800;white-space:nowrap}details>p{padding-bottom:22px}.visit-strip{background:#fff;border-radius:16px;padding:42px;display:grid;grid-template-columns:1.2fr 1fr 1.35fr 1fr;gap:30px;box-shadow:0 10px 40px #1111}.visit-strip>div+div{border-left:1px solid #e8e8e5;padding-left:28px}.visit-strip .eyebrow{margin-bottom:16px}.visit-strip h3{font-size:17px;line-height:1.4}.visit-strip p{font-size:13px;margin-top:10px}.visit-strip .text-link{font-size:10px;margin-top:16px}.hours{width:100%;border-collapse:collapse;font-size:13px;line-height:1.5}.hours th{font-weight:700;text-align:left}.hours td{text-align:right;color:#686868;white-space:nowrap}.hours td,.hours th{padding:4px 0}.review{text-align:center;padding-block:112px;max-width:960px}.review h3{margin-top:20px}.quote-mark{display:block;font-size:100px;font-weight:900;line-height:.8;margin-top:36px}.review blockquote{margin:0 0 26px;font-size:clamp(22px,2.1vw,30px);line-height:1.45;letter-spacing:-.02em}.review p{font-size:13px;margin:5px 0 24px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-card{position:relative;padding:0;border:0;border-radius:16px;overflow:hidden;aspect-ratio:3/4;background:#e8e6e1;text-align:left}.gallery-card img{object-position:50% 30%;transition:transform .6s}.gallery-card:hover img{transform:scale(1.04)}.gallery-card>span{position:absolute;bottom:0;left:0;right:0;padding:50px 24px 22px;background:linear-gradient(transparent,#000b);color:white;display:flex;justify-content:space-between;font-size:16px;font-weight:800}.gallery-card[hidden]{display:none}.preview .gallery-card{aspect-ratio:1/1}.cta{padding:96px 0 112px;border-top:1px solid #e4e2dd;text-align:center}.cta h2{font-size:clamp(52px,7vw,100px);margin:24px 0}.cta p{margin-bottom:28px}.cta .actions{justify-content:center}footer{background:#0a0a0a;color:white;padding:80px 0 32px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:60px}.wordmark{font-size:38px;font-weight:900;line-height:.9;letter-spacing:-.03em}.wordmark small{display:block;font-size:11px;letter-spacing:.4em;margin-top:8px}.footer-grid .eyebrow{color:#a3a3a3;margin-bottom:18px}.footer-grid a:not(.wordmark){display:block;font-size:14px;margin-bottom:10px}.footer-grid p{font-size:13px;max-width:260px;margin-top:22px;color:#a3a3a3}.footer-title{font-size:clamp(24px,8.3vw,150px);line-height:.85;font-weight:900;font-stretch:86%;letter-spacing:-.055em;white-space:nowrap;margin:88px 0 30px}.footer-bottom{border-top:1px solid #2a2a2a;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#aaa}.page-intro{padding:66px 0 74px}.page-intro h1{margin:24px 0 32px}.intro-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.intro-bottom p{max-width:440px}.gallery-section{padding-bottom:100px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}.filters button{padding:11px 22px;border:1px solid #d4d4d0;border-radius:999px;background:transparent;font-size:12px;font-weight:700;min-height:44px}.filters button[aria-pressed=true]{background:#111;color:white;border-color:#111}.gallery-note{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #ddd;padding-top:32px;margin-top:44px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;padding-bottom:90px}.contact-photo{position:relative;min-height:580px;border-radius:18px;overflow:hidden}.photo-tag{position:absolute;bottom:24px;left:24px;right:24px;background:white;border-radius:12px;padding:22px;font-weight:800;font-size:14px;letter-spacing:.08em}.contact-details{padding:28px 0}.contact-details h2{font-size:32px;line-height:1.2;margin:22px 0}.contact-details>p{margin-bottom:24px}.contact-hours{padding:30px 0;margin-top:24px;border-top:1px solid #ddd}.contact-hours .hours{font-size:16px;margin-top:20px}.contact-hours td,.contact-hours th{padding:10px 0}.faq{display:grid;grid-template-columns:1fr 1fr;gap:7%;border-top:1px solid #ddd}.faq summary{font-size:16px}.menu{inset:0 0 auto auto;width:min(640px,100%);max-width:100%;max-height:100dvh;margin:0;padding:36px 48px;background:#111;color:white;border:0;overflow:auto}.menu::backdrop,.lightbox::backdrop{background:#000a;backdrop-filter:blur(6px)}.menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:44px}.menu nav{display:flex;flex-direction:column;gap:12px}.menu nav a{font-size:clamp(36px,5vw,64px);font-weight:900;letter-spacing:-.03em;line-height:1.1}.menu nav a:hover{color:#aaa}.menu p{color:#aaa;font-size:13px;margin:40px 0 24px}.menu .circle:hover,.lightbox .circle:hover{background:white;color:#111}.lightbox{width:min(1000px,96vw);height:min(900px,95dvh);max-width:none;max-height:none;padding:18px 24px;margin:auto;background:#111;color:white;border:0;border-radius:16px;overflow:hidden}.lightbox[open]{display:flex;flex-direction:column;gap:12px}.lightbox-top,.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none}.lightbox-top p{color:white;font-weight:700}.lightbox>img{min-height:0;flex:1;object-fit:contain}.lightbox-controls{justify-content:center;font-size:13px}.mobile-call{display:none}.reveal{opacity:1}.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.motion-ready .reveal.is-visible{opacity:1;transform:none}
@media(min-width:1600px){.hero-card{height:700px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.about,.section-heading{gap:5%;grid-template-columns:1.45fr 1fr}.about-images img{height:330px}.services-grid{grid-template-columns:1fr 1fr;gap:20px}.services-grid>div{grid-column:1/-1;margin-top:20px}.services-grid>img{height:380px}.visit-strip{grid-template-columns:1fr 1fr;gap:30px}.visit-strip>div+div{padding-left:0;border:0}.footer-grid{gap:30px}.hero-label{padding:18px;bottom:12px;left:12px;right:12px}.hero-label h2{font-size:17px}.hero-label p{font-size:12px}.hero-meta{font-size:9px}.section{padding-block:88px}.contact-grid{gap:5%}.contact-details h2{font-size:26px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:88px;gap:16px}.logo{width:62px;height:62px}.desktop-nav{display:none}.nav-actions{gap:16px}.phone{font-size:10px;letter-spacing:.04em}.circle{height:46px;width:46px}.hero-meta{flex-direction:column;gap:6px;font-size:9px;margin-bottom:18px}.hero-grid{gap:12px;grid-template-columns:1fr 1fr}.hero-card{height:360px}.hero-card:first-child{grid-column:1/-1;height:520px}.hero-card:first-child .hero-label{padding:22px}.hero-card:first-child .hero-label h2{font-size:21px}.hero-card:first-child .hero-label p{font-size:14px}.hero-label{padding:14px;left:9px;right:9px;bottom:9px;border-radius:10px}.hero-label h2{font-size:14px}.hero-label p{font-size:12px}.section{padding-block:64px}.about,.section-heading,.contact-grid,.faq{grid-template-columns:1fr;gap:32px}.about h2 br,.section-heading h2 br{display:none}.about-images{margin-top:30px;gap:12px}.about-images img{height:280px}.about-copy{padding-top:0}.about-copy h3{font-size:25px}.highlights{font-size:12px}.actions{gap:18px}.button{padding:17px 23px;font-size:10px}.track span{font-size:22px}.ticker{padding:20px 0}.section-heading{margin-bottom:32px}.services-grid>img{height:300px}.visit-strip{padding:26px;gap:28px;width:calc(100% - 40px)}.hours{font-size:11px}.visit-strip h3{font-size:15px}.visit-strip .eyebrow{font-size:9px}.review{padding-block:72px}.gallery-grid{grid-template-columns:1fr 1fr;gap:14px}.gallery-card>span{font-size:12px;padding:40px 14px 16px}.preview .gallery-card:last-child{grid-column:1/-1;aspect-ratio:1.5}.cta{padding:64px 0}.cta p{font-size:14px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 24px}.footer-title{margin-top:56px;font-size:8.4vw}.footer-bottom{flex-direction:column;gap:8px}footer{padding:56px 0 90px}.page-intro{padding:42px 0 48px}.intro-bottom,.gallery-note{align-items:flex-start;flex-direction:column;gap:22px}.page-intro h1{font-size:clamp(52px,10vw,78px)}.filters{gap:8px}.filters button{padding:10px 17px;font-size:11px}.gallery-section{padding-bottom:64px}.contact-photo{min-height:380px;height:420px}.contact-grid{padding-bottom:64px}.contact-details{padding:0}.contact-details h2{font-size:29px}.faq{gap:32px}.menu{padding:24px}.menu-top{margin-bottom:32px}.menu nav a{font-size:44px}.mobile-call{display:block;position:fixed;bottom:14px;left:20px;right:20px;background:#111;color:white;padding:15px;border-radius:999px;text-align:center;font-size:12px;font-weight:800;letter-spacing:.12em;z-index:5;box-shadow:0 3px 16px #0003}.lightbox{padding:14px}.lightbox-top p{font-size:13px}.contact-hours .hours{font-size:14px}}
@media(max-width:380px){.hero-card{height:320px}.hero-label p{font-size:11px}.hero-label h2{font-size:12px}.visit-strip{grid-template-columns:1fr}.gallery-grid{gap:10px}.contact-details h2{font-size:25px}.phone{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}

.social-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}.social-links a{font-size:12px;font-weight:800;letter-spacing:.08em;border-bottom:1px solid currentColor;padding:7px 0;min-height:38px}.social-links a:hover{color:#686868}.about-images img[src*=barber-portrait]{object-position:50% 22%}

/* Keep the barber portrait complete at every screen size. */
.about-images{align-items:start}
.about-images img{height:auto;aspect-ratio:2/3}
.about-images img[src*="barber-portrait"]{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.gallery-card[data-photo*="barber-portrait"]{aspect-ratio:auto;align-self:start}
.gallery-card[data-photo*="barber-portrait"] img{height:auto;object-fit:contain;object-position:center}
.gallery-card[data-photo*="barber-portrait"]>span{position:static;background:#fff;color:#111;padding:16px 20px}

/* Full-screen navigation, matching the shop's black-and-white identity. */
.menu{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;padding:32px clamp(24px,4.45vw,90px);margin:0;background:#0a0a0a;overflow:auto;overscroll-behavior:contain;border-radius:0}
.menu[open]{display:flex;flex-direction:column}
.menu::backdrop{background:#0a0a0a;backdrop-filter:none}
.menu-top{margin:0 0 30px;min-height:58px;flex:none}
.menu .wordmark{font-size:34px}
.menu .wordmark small{font-size:10px}
.menu-close{display:flex;align-items:center;gap:14px;background:none;border:0;padding:0;color:#fff}
.close-label{font-size:10px;font-weight:800;letter-spacing:.18em}
.menu-close .circle{font-size:32px;border-color:#ffffff55}
.menu-body{display:grid;grid-template-columns:1.65fr 1fr;gap:8%;align-items:center;flex:1;padding:20px 0 36px}
.menu nav{gap:0}
.menu nav a{display:flex;align-items:center;gap:24px;padding:12px 0;color:white;font-size:clamp(48px,min(6.9vw,9vh),104px);font-weight:900;line-height:1.04;letter-spacing:-.04em;opacity:0;transform:translateY(18px);transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transition-delay:calc(65ms + var(--menu-order)*50ms)}
.menu.menu-entered nav a{opacity:1;transform:translateY(0)}
.menu.menu-closing nav a{transition-delay:0ms;transition-duration:.18s}
.menu-number{font-size:10px;font-weight:600;color:#777;letter-spacing:.08em;align-self:center;width:18px;flex:none}
.menu-link-name{transition:transform .3s cubic-bezier(.22,1,.36,1),color .3s}
.menu-arrow{margin-left:auto;color:#666;font-size:.48em;transition:color .3s,transform .3s}
.menu nav a:hover .menu-link-name{transform:translateX(8px);color:#d0d0d0}
.menu nav a:hover .menu-arrow{color:white;transform:translate(3px,-3px)}
.menu nav a[aria-current=page] .menu-number{color:#fff}
.menu-info{border-left:1px solid #ffffff22;padding-left:50px;opacity:0;transform:translateY(14px);transition:opacity .55s .18s,transform .6s .18s}
.menu-entered .menu-info{opacity:1;transform:none}
.menu-info>.eyebrow{color:#777;font-size:9px;margin-bottom:22px}
.menu-info h2{font-size:clamp(28px,3.5vw,48px);line-height:1.04}
.menu-address{margin:42px 0 24px}
.menu-address .eyebrow{color:#777;font-size:9px;margin-bottom:10px}
.menu-address>a{font-size:14px;line-height:1.6}
.menu-info .button{font-size:10px;margin-bottom:30px}
.menu-info .social-links{gap:14px 22px}
.menu-info .social-links a{font-size:10px;color:#bbb;border-color:#555;letter-spacing:.06em}
.menu-info .social-links a:hover{color:white}
.menu-bottom{display:flex;justify-content:space-between;gap:14px;padding-top:20px;border-top:1px solid #ffffff22;font-size:9px;font-weight:700;letter-spacing:.16em;color:#777;flex:none}
@media(max-width:760px){
 .menu{padding:24px;}
 .menu-top{margin-bottom:24px;min-height:46px}
 .menu .wordmark{font-size:26px}
 .menu .wordmark small{font-size:8px}
 .menu-body{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:0 0 24px;flex:1}
 .menu nav a{font-size:clamp(38px,7.8vh,64px);padding:8px 0;gap:16px}
 .menu-info{border-left:0;border-top:1px solid #ffffff22;padding:22px 0 0;margin-top:auto}
 .menu-info>.eyebrow,.menu-info h2,.menu-address .eyebrow{display:none}
 .menu-address{margin:0 0 16px}
 .menu-address>a{font-size:12px}
 .menu-info .button{padding:14px 20px;min-height:46px;margin-bottom:18px}
 .menu-info .social-links{gap:14px 26px}
 .menu-bottom{font-size:8px;letter-spacing:.09em;padding-top:16px}
 .close-label{display:none}
}
@media(max-height:620px) and (min-width:761px){.menu{padding-top:20px;padding-bottom:20px}.menu-top{margin-bottom:8px}.menu nav a{font-size:8vh;padding:7px 0}.menu-address{margin-top:20px}.menu-info .button{margin-bottom:14px}.menu-bottom{padding-top:12px}}
@media(prefers-reduced-motion:reduce){.menu nav a,.menu-info{opacity:1;transform:none;transition:none}}
@media(max-width:760px) and (max-height:700px){
 .menu{padding:18px 22px}
 .menu-top{margin-bottom:16px;min-height:44px}
 .menu-body{gap:16px;padding-bottom:14px}
 .menu nav a{font-size:clamp(32px,6.6vh,44px);padding:5px 0}
 .menu-info{padding-top:14px}
 .menu-address{display:none}
 .menu-info .button{min-height:42px;padding:12px 18px;margin-bottom:12px}
 .menu-info .social-links a{min-height:30px;padding:4px 0}
 .menu-bottom{padding-top:12px;font-size:7px}
}
.menu-link-name{white-space:nowrap}
@media(max-width:760px) and (min-height:701px){.menu nav a{font-size:clamp(38px,7.2vh,56px)}}
.gallery-card.gallery-full-photo{aspect-ratio:auto;align-self:start}
.gallery-card.gallery-full-photo img{height:auto;object-fit:contain}
.gallery-card.gallery-full-photo>span{position:static;background:#fff;color:#111;padding:16px 20px}
.visit-strip .hours{font-size:11px}
