:root {
  --bg: #102e26; /* Bottle-green shopfront */
  --ink: #f3ead7; /* Warm cream text and ticket stock */
  --accent: #d4b474; /* Polished brass and gold-leaf type */
  --surface: #193d32; /* Raised green board */
  --deep: #0a211b; /* Shadow behind painted lettering */
  --muted: #b9c6b5; /* Secondary text on green */
  --line: #75866a; /* Legible rules and boundaries */
  --paper-ink: #17382d; /* Dark text on cream */
  --paper-muted: #4f594a; /* Secondary text on cream */
  --paper-line: #81846d; /* Rules on ticket stock */
  --oxblood: #622c32; /* Review panel, a touch of upholstery */
  --font-display: 'Alfa Slab One', Rockwell, Georgia, serif; /* Sign-writer slab */
  --font-body: 'Libre Franklin', Arial, sans-serif; /* Quiet, readable shop type */
  --gutter: clamp(22px, 5vw, 80px); /* Page breathing room */
  --section-gap: clamp(58px, 8vw, 112px); /* Vertical section rhythm */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--font-body);-webkit-font-smoothing:antialiased;padding-bottom:76px}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px;touch-action:manipulation}
a:hover{text-decoration-color:var(--accent)}
button,input,select,textarea{font:inherit;color:inherit}
button,a,summary,label,input,select{-webkit-tap-highlight-color:transparent}
button,summary{cursor:pointer}
:focus-visible{outline:3px solid var(--accent);outline-offset:5px;box-shadow:0 0 0 2px var(--bg)}
.paper :focus-visible,.ticket :focus-visible{outline-color:var(--paper-ink);box-shadow:0 0 0 2px var(--ink)}
::selection{background:var(--accent);color:var(--deep)}
h1,h2,h3,p,figure,blockquote{margin:0}
h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.14;letter-spacing:-.025em;overflow-wrap:break-word}
h1{font-size:clamp(42px,7.5vw,106px)}
h2{font-size:clamp(32px,4.4vw,62px)}
h3{font-size:clamp(23px,2.3vw,31px)}
p+p{margin-top:18px}
address{font-style:normal}
img{display:block;width:100%;height:auto}
.photo{object-fit:cover;aspect-ratio:5/6}
.section{padding:var(--section-gap) max(var(--gutter),calc((100vw - 1440px)/2));border-bottom:1px solid var(--line)}
.paper{background:var(--ink);color:var(--paper-ink);border-color:var(--paper-line)}
.eyebrow{font:600 12px/1.5 var(--font-body);letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px;color:var(--accent)}
.paper .eyebrow,.ticket .eyebrow{color:var(--paper-muted)}
.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:14px;margin-top:18px;text-decoration:none;border-bottom:1px solid currentColor;gap:14px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:14px 22px;min-height:52px;background:var(--accent);color:var(--deep);border:1px solid var(--accent);font-weight:600;text-decoration:none;transition:background .18s,transform .18s}
.button:hover{background:var(--ink);transform:translateY(-2px)}
.button span{font-size:21px;line-height:1}
.skip{position:fixed;z-index:30;top:12px;left:12px;padding:12px 20px;background:var(--ink);color:var(--bg);transform:translateY(-180%)}
.skip:focus{transform:translateY(0)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.shop-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 var(--gutter);background:var(--deep);color:var(--muted);font-size:12px}
.shop-strip a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;letter-spacing:.035em;color:var(--ink)}
.header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px var(--gutter);position:relative;z-index:10;border-bottom:3px double var(--line)}
.wordmark{font:400 32px/1.3 var(--font-display);text-decoration:none;color:var(--accent);letter-spacing:-.025em;min-height:44px;display:inline-flex;align-items:center;gap:14px}
.wordmark span{font-size:18px}
.desktop-nav{display:none}
.mobile-nav summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:44px;font-size:14px}
.mobile-nav summary::-webkit-details-marker{display:none}
.mobile-nav summary span{font-size:23px;color:var(--accent)}
.mobile-nav[open] summary span{transform:rotate(45deg)}
.mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:var(--deep);border-bottom:1px solid var(--accent);padding:16px var(--gutter) 24px;display:grid;box-shadow:0 20px 30px var(--deep)}
.mobile-nav nav a{min-height:48px;padding:12px 0;text-decoration:none;border-bottom:1px solid var(--line)}
.header [aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:8px}
.nav-cta{font-weight:600}
.mobile-actions{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:1.2fr 1fr 1fr;background:var(--deep);border-top:1px solid var(--accent);padding-bottom:env(safe-area-inset-bottom,0px)}
.mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:60px;text-decoration:none;font-size:14px;font-weight:600;border-right:1px solid var(--line)}
.mobile-actions a:first-child{background:var(--accent);color:var(--deep)}
.mobile-actions a:last-child{border:0}
.shopfront{margin:20px 14px 30px;padding:20px 18px 16px;position:relative;border:1px solid var(--accent);outline:1px solid var(--line);outline-offset:5px;background:repeating-linear-gradient(90deg,transparent 0,transparent 35px,var(--surface) 35px,var(--surface) 36px)}
.front-meta,.front-bottom{display:flex;justify-content:space-between;gap:16px;font-size:13px;letter-spacing:.07em;line-height:1.5}
.front-meta{border-bottom:3px double var(--line);padding-bottom:14px}
.front-meta span:last-child{text-align:right}
.front-grid{position:relative;padding:26px 0}
.front-lettering .eyebrow{font-size:12px;margin-bottom:14px;letter-spacing:.1em}
.front-lettering h1{font-size:clamp(54px,19.8vw,96px);letter-spacing:-.055em;line-height:1.08;color:var(--accent);text-shadow:2px 2px 0 var(--deep),3px 3px 0 var(--accent),5px 5px 0 var(--deep);margin-left:-2px;margin-bottom:25px}
.sign-sub{font:400 clamp(25px,7vw,36px)/1.25 var(--font-display);letter-spacing:-.03em;max-width:70%}
.front-copy{position:relative;max-width:none;font-size:16px;line-height:1.6;margin:20px 0 24px}
.front-copy br{display:none}
.front-lettering .button{position:relative;z-index:2;min-width:205px}
.walk-note{font-size:13px;margin-top:12px;color:var(--muted)}
.hero-chair{position:static;width:min(70%,260px);margin:24px auto 0;transform:rotate(3deg)}
.hero-chair .photo{border-radius:45% 45% 0 0;aspect-ratio:5/6;border:1px solid var(--line)}
.hero-chair figcaption{font-size:13px;text-align:center;letter-spacing:.08em;margin-top:12px;line-height:1.4}
.front-bottom{border-top:3px double var(--line);padding-top:14px;font-size:13px;color:var(--muted)}
.front-bottom span:last-child{text-align:right}
.craft{display:grid;gap:36px;align-items:center}
.tool-frame{padding:10px;border:3px double var(--paper-line);transform:rotate(-2deg)}
.tool-frame .photo{aspect-ratio:3/2}
.craft h2,.home-gallery h2,.shave-section h2,.concessions h2,.walkins h2,.arrival-notes h2{margin-bottom:24px}
.craft p:not(.eyebrow){max-width:470px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-bottom:32px}
.section-heading .eyebrow{margin-bottom:16px}
.section-heading .text-link{margin-top:0;flex-shrink:0}
.ticket-pair{display:grid;gap:24px}
.ticket{display:grid;grid-template-columns:minmax(0,1fr) 104px;background:var(--ink);color:var(--paper-ink);position:relative;border:1px solid var(--paper-line);filter:drop-shadow(4px 4px 0 var(--deep))}
.ticket:before,.ticket:after{content:"";position:absolute;right:95px;width:18px;height:9px;background:var(--bg);border:1px solid var(--paper-line)}
.ticket:before{top:-1px;border-top:0;border-radius:0 0 12px 12px}
.ticket:after{bottom:-1px;border-bottom:0;border-radius:12px 12px 0 0}
.ticket-copy{padding:25px 18px}
.ticket-copy .eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:16px;display:block}
.ticket-copy h3{margin-bottom:14px}
.ticket-copy p{font-size:16px;line-height:1.6}
.duration{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;margin-top:20px;text-transform:uppercase}
.ticket-price{border-left:1px dashed var(--paper-line);padding:24px 12px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.ticket-price>span{font-size:20px}
.ticket-price strong{font:400 40px/1.3 var(--font-display);letter-spacing:-.04em}
.ticket-price a{font-size:13px;line-height:1.5;padding-top:10px;min-height:44px;margin-top:20px;text-decoration:none;display:flex;flex-direction:column}
.board{background:var(--surface);border-block:3px double var(--line)}
.day-filter{margin:0 0 28px;padding:0;border:0;display:flex;gap:6px;flex-wrap:wrap;position:relative}
.day-filter legend{font-size:16px;margin-bottom:14px;float:none;width:100%}
.day-filter input{position:absolute;opacity:0;width:1px;height:1px}
.day-filter label{cursor:pointer;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--line);font-size:14px;transition:background .15s}
.day-filter input:checked+label{background:var(--accent);border-color:var(--accent);color:var(--deep)}
.day-filter input:focus-visible+label{outline:3px solid var(--ink);outline-offset:3px}
.board table{width:100%;border-collapse:collapse;font-size:16px}
.board caption{text-align:left;font-size:12px;color:var(--muted);padding:0 0 18px;letter-spacing:.04em}
.board thead{display:none}
.board tbody,.board tbody tr{display:block}
.board tbody tr{padding:22px 0;border-top:1px solid var(--line)}
.board tbody th,.board td{display:block;text-align:left;font-weight:400;padding:3px 0}
.board tbody th{font:400 23px/1.4 var(--font-display);color:var(--accent);margin-bottom:8px}
.board td:last-child{font-size:14px;margin-top:9px;color:var(--muted)}
.board:has(#day-mon:checked) tbody tr:not(.mon),.board:has(#day-tue:checked) tbody tr:not(.tue),.board:has(#day-wed:checked) tbody tr:not(.wed),.board:has(#day-thu:checked) tbody tr:not(.thu),.board:has(#day-fri:checked) tbody tr:not(.fri),.board:has(#day-sat:checked) tbody tr:not(.sat){display:none}
.board-note{font-size:12px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);min-height:58px}
.shop-note{display:grid;grid-template-columns:35px 1fr;gap:22px;background:var(--oxblood);padding:50px var(--gutter);border-block:3px double var(--accent)}
.note-ornament{font-size:32px;color:var(--accent)}
.shop-note blockquote{font:400 clamp(22px,3vw,38px)/1.45 var(--font-display);letter-spacing:-.015em;max-width:1020px}
.shop-note cite{display:block;font:400 12px/1.6 var(--font-body);letter-spacing:.04em;margin-top:26px}
.home-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.home-gallery>div{grid-column:1/-1;margin-bottom:20px}
.home-gallery figure:nth-child(3){margin-top:44px}
.home-gallery .photo{border:1px solid var(--line);padding:6px}
figcaption{font-size:12px;letter-spacing:.08em;margin-top:12px}
.visit-ribbon{text-align:center;position:relative}
.visit-ribbon h2{margin-bottom:20px}
.visit-ribbon address a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}
.closing{text-align:center;background:repeating-linear-gradient(90deg,var(--bg) 0,var(--bg) 58px,var(--surface) 58px,var(--surface) 59px);border-bottom:3px double var(--accent)}
.closing h2{font-size:clamp(35px,5vw,70px);color:var(--accent)}
.closing p:not(.eyebrow){max-width:440px;margin:24px auto 28px}
.footer{padding:48px var(--gutter) 38px;display:grid;gap:28px;background:var(--deep);font-size:15px;color:var(--muted)}
.footer .wordmark{font-size:43px;margin-bottom:8px}
.footer a:not(.wordmark):not(.button){display:flex;align-items:center;min-height:44px;text-decoration:none;max-width:420px}
.footer p{margin:0 0 8px}
.footer address{min-width:0;overflow-wrap:anywhere}
.footer-last{border-top:1px solid var(--line);padding-top:26px}
.footer-last .button{margin-top:16px}
.page-mast{background:repeating-linear-gradient(90deg,var(--bg) 0,var(--bg) 66px,var(--surface) 66px,var(--surface) 67px);position:relative;padding-top:50px;padding-bottom:54px;border-bottom:3px double var(--accent)}
.page-mast h1{color:var(--accent);margin-bottom:26px;text-shadow:2px 2px var(--deep)}
.page-mast .lede{max-width:585px;margin-bottom:28px;font-size:16px}
.mast-seal{display:none}
.price-sheet{display:grid;gap:36px}
.price-heading p:last-child{max-width:330px;margin-top:22px}
.price-tickets{display:grid;gap:22px}
.price-sheet .ticket{filter:none;background:var(--ink)}
.price-sheet .ticket:before,.price-sheet .ticket:after{background:var(--ink)}
.shave-section{display:grid;gap:40px;align-items:center}
.shave-section .photo{aspect-ratio:3/2;border:3px double var(--line);padding:8px}
.rate-list{margin:26px 0 0}
.rate-list>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.rate-list dt{font-weight:600;font-size:16px}
.rate-list dd{margin:0;display:flex;align-items:center;gap:14px;flex-shrink:0}
.rate-list dd span{font-size:12px}
.rate-list strong{font:400 24px/1.3 var(--font-display);font-variant-numeric:tabular-nums}
.concessions{display:grid;gap:20px}
.concessions .rate-list{margin-top:0;margin-bottom:22px}
.paper .rate-list>div{border-color:var(--paper-line)}
.barber-roster{display:grid;gap:60px}
.barber-profile{display:grid;gap:30px}
.portrait-frame{padding:8px;border:3px double var(--accent);background:var(--surface)}
.portrait-frame .photo{aspect-ratio:4/5}
.portrait-frame figcaption{text-align:center;padding:4px 0}
.barber-copy h2{margin-bottom:20px;color:var(--accent)}
.speciality{font-size:14px;letter-spacing:.035em;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}
.barber-copy .days{font-size:14px;padding:18px 0 24px}
.shop-etiquette{display:grid;gap:24px}
.shop-etiquette .eyebrow{margin:0}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 16px}
.gallery-grid figure{min-width:0}
.gallery-grid .photo{padding:6px;border:1px solid var(--accent)}
.gallery-grid figcaption h2{font:600 12px/1.6 var(--font-body);letter-spacing:.025em;text-transform:uppercase;color:var(--accent)}
.gallery-grid figcaption p{font-size:16px;letter-spacing:0;margin-top:8px}
.gallery-large:first-child{grid-column:1/-1}
.gallery-small:nth-child(2){grid-column:1/-1;width:76%;justify-self:end}
.gallery-wide{grid-column:1/-1;margin:12px 0}
.gallery-wide .photo{aspect-ratio:8/5}
.gallery-tools .photo{aspect-ratio:3/2}
.gallery-tools{align-self:end}
.reference-note{display:grid;gap:20px}
.reference-note .eyebrow{margin:0}
.reference-note .text-link{justify-self:start;margin:0}
.booking-layout{display:grid;gap:44px}
.booking-card{padding:28px 20px;border:3px double var(--paper-line)}
.booking-card h2{font-size:clamp(29px,3.8vw,52px);margin-bottom:26px}
.booking-card p:not(.eyebrow){margin-bottom:24px}
.booking-card .button{background:var(--paper-ink);color:var(--ink);border-color:var(--paper-ink);width:100%}
.booking-card .button:hover{background:var(--surface)}
.booking-phone{display:flex;justify-content:center;align-items:center;min-height:52px;font-weight:600;font-size:20px;margin-top:14px}
.booking-card p.fine{font-size:12px;margin:18px 0 0;text-align:center}
.booking-aside h2{font-size:clamp(30px,3vw,42px)}
.booking-aside ul{padding-left:18px;margin-top:24px}
.booking-aside li{padding:9px 0}
.walkins{display:grid;gap:32px;align-items:center}
.walkins figure{max-width:340px;justify-self:center}
.walkins figcaption{text-align:center}
.booking-form{display:grid;gap:12px;max-width:680px;background:var(--ink);color:var(--paper-ink);padding:32px}
.booking-form h2{font-size:32px}
.booking-form label{font-weight:600;margin-top:12px}
.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-height:48px;border:1px solid var(--paper-line);border-radius:0;background:var(--ink);padding:12px}
.booking-form textarea{resize:vertical}
.booking-form input:focus-visible,.booking-form select:focus-visible,.booking-form textarea:focus-visible{outline-color:var(--paper-ink)}
.booking-form p{font-size:14px;margin:8px 0}
.booking-form button{margin-top:18px;font-weight:600;cursor:pointer}
.visit-grid{display:grid;gap:48px}
.address-card h2{font-size:58px;margin-bottom:20px}
.address-card address a{display:flex;align-items:center;min-height:44px;margin-bottom:26px;max-width:310px}
.address-card .text-link{display:flex;max-width:max-content;margin-top:20px}
.opening-card h2{font-size:clamp(30px,3vw,44px)}
.hours-list{margin:28px 0 24px}
.hours-list>div{display:flex;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid var(--paper-line);font-variant-numeric:tabular-nums}
.hours-list dd{margin:0;flex-shrink:0;font-weight:600}
.visit-scene{display:grid;gap:44px}
.visit-scene>figure .photo{aspect-ratio:8/5;border:1px solid var(--line);padding:6px}
.arrival-notes details{border-bottom:1px solid var(--line)}
.arrival-notes summary{display:flex;justify-content:space-between;align-items:center;list-style:none;min-height:60px;font-weight:600;padding:15px 0;gap:14px}
.arrival-notes summary:after{content:"+";font-size:22px;color:var(--accent)}
.arrival-notes details[open] summary:after{content:"−"}
.arrival-notes summary::-webkit-details-marker{display:none}
.arrival-notes details p{padding:6px 0 22px}
.privacy-layout{display:grid;gap:38px}
.privacy-index{border-bottom:1px solid var(--paper-line);padding-bottom:20px}
.privacy-index a{display:flex;align-items:center;min-height:48px;text-decoration:none}
.privacy-copy section{max-width:700px;margin-bottom:42px}
.privacy-copy section:last-child{margin-bottom:0}
.privacy-copy h2{font-size:26px;margin-bottom:24px}
.lost-page{display:grid;gap:32px;align-items:center}
.lost-page h1{color:var(--accent);margin-bottom:28px}
.lost-page p:not(.eyebrow){margin-bottom:28px}
.lost-page .text-link{display:flex;width:max-content;margin-top:22px}
.lost-page figure .photo{aspect-ratio:3/2;border:3px double var(--line);padding:8px}
@media(min-width:600px){
 .shopfront{margin:30px var(--gutter) 50px;padding:24px 32px}
 .front-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;align-items:center;padding:35px 0}
 .front-lettering h1{font-size:clamp(66px,10.5vw,180px)}
 .sign-sub{max-width:none;font-size:clamp(30px,3.4vw,54px)}
 .front-copy{max-width:390px;font-size:16px}
 .hero-chair{position:static;width:100%;margin:0;transform:none}
 .hero-chair figcaption{font-size:13px}
 .hero-chair .photo{border-radius:46% 46% 0 0}
 .home-gallery>div{max-width:590px}
 .ticket-pair{grid-template-columns:1fr 1fr}
 .ticket-pair .ticket{grid-template-columns:minmax(0,1fr) 85px}
 .ticket-pair .ticket:before,.ticket-pair .ticket:after{right:76px}
 .gallery-large:first-child{grid-column:1}
 .gallery-small:nth-child(2){grid-column:2;width:100%;margin-top:120px}
 .gallery-grid{gap:56px 30px}
 .gallery-grid .gallery-large:first-child .photo{aspect-ratio:5/6}
 .gallery-tools{margin-top:80px}
 .gallery-grid figcaption h2{font-size:14px}
 .footer{grid-template-columns:1fr 1.5fr}
 .footer-last{padding-top:0;border:0}
 .barber-profile{grid-template-columns:1fr 1.3fr;align-items:center;gap:40px}
 .barber-profile:nth-child(2){grid-template-columns:1.3fr 1fr}
 .barber-profile:nth-child(2) figure{grid-column:2;grid-row:1}
 .barber-profile:nth-child(2) .barber-copy{grid-column:1;grid-row:1}
 .barber-copy h2{font-size:40px}
}
@media(min-width:960px){
 body{padding-bottom:0}
 .mobile-actions,.mobile-nav{display:none}
 .desktop-nav{display:flex;gap:clamp(18px,2vw,34px);align-items:center;font-size:14px}
 .desktop-nav a{display:flex;align-items:center;min-height:44px;text-decoration:none}
 .desktop-nav .nav-cta{padding:10px 20px;border:1px solid var(--accent);color:var(--accent)}
 .desktop-nav .nav-cta:hover{background:var(--accent);color:var(--deep)}
 .header{padding-block:22px}
 .shopfront{padding:22px 52px;margin-top:28px;margin-bottom:60px}
 .front-grid{grid-template-columns:1.5fr 1fr;gap:40px;padding:32px 0 36px}
 .front-lettering h1{font-size:clamp(80px,8vw,135px);margin-bottom:24px}
 .front-lettering .eyebrow{margin-bottom:18px;letter-spacing:.16em}
 .front-copy{font-size:16px;max-width:400px;margin:24px 0 25px}
 .front-copy br{display:block}
 .hero-chair{max-width:355px;justify-self:end}
 .hero-chair .photo{padding:10px;outline:1px solid var(--accent);outline-offset:6px;aspect-ratio:5/6}
 .hero-chair figcaption{margin-top:22px}
 .front-meta,.front-bottom{font-size:14px;letter-spacing:.15em}
 .craft{grid-template-columns:1fr 1.1fr;gap:9%}
 .tool-frame{max-width:560px}
 .ticket-pair{gap:32px}
 .ticket{grid-template-columns:minmax(0,1fr) 118px}
 .ticket-copy{padding:32px 28px}
 .ticket:before,.ticket:after{right:109px}
 .ticket-pair .ticket{grid-template-columns:minmax(0,1fr) 118px}
 .ticket-pair .ticket:before,.ticket-pair .ticket:after{right:109px}
 .ticket-price{padding:26px 18px}
 .ticket-price strong{font-size:54px}
 .board table{table-layout:fixed}
 .board thead{display:table-header-group}
 .board tbody{display:table-row-group}
 .board tbody tr{display:table-row}
 .board tbody th,.board td{display:table-cell;padding:26px 16px 26px 0;vertical-align:middle}
 .board th:nth-child(1){width:26%}
 .board th:nth-child(2){width:36%}
 .board thead th{text-align:left;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:14px 16px 14px 0;border-top:1px solid var(--line)}
 .board td:last-child{font-size:14px;margin:0}
 .day-filter{gap:10px}
 .day-filter label{padding-inline:22px}
 .shop-note{grid-template-columns:90px 1fr;gap:40px;padding-block:70px}
 .note-ornament{font-size:72px;line-height:1.2}
 .home-gallery{grid-template-columns:1.3fr 1fr .85fr;gap:36px;align-items:center}
 .home-gallery>div{grid-column:auto;margin:0;padding-right:18px}
 .home-gallery figure:nth-child(3){margin-top:95px}
 .visit-ribbon{display:grid;grid-template-columns:1.5fr 1fr;gap:15px 70px;text-align:left;align-items:center}
 .visit-ribbon .eyebrow{grid-column:1/-1;margin-bottom:0}
 .visit-ribbon h2{grid-column:1;margin:0}
 .visit-ribbon address{grid-column:2;grid-row:2;font-size:18px}
 .visit-ribbon .text-link{grid-column:2;justify-self:start}
 .footer{grid-template-columns:1fr 1.45fr 1fr 1.3fr;gap:35px;padding-block:54px}
 .footer .wordmark{font-size:50px}
 .page-mast{display:flex;align-items:center;justify-content:space-between;gap:60px;padding-block:70px}
 .page-mast .lede{font-size:18px}
 .mast-seal{display:flex;flex-direction:column;justify-content:center;align-items:center;width:225px;height:225px;flex-shrink:0;border:3px double var(--accent);border-radius:50%;outline:1px solid var(--line);outline-offset:10px;transform:rotate(-12deg);font:400 24px/1.5 var(--font-display);letter-spacing:.04em;color:var(--accent)}
 .mast-seal span{font-size:32px;line-height:1.2;margin-top:8px}
 .price-sheet{grid-template-columns:.85fr 1.3fr;gap:8%}
 .price-heading{align-self:start;position:sticky;top:35px}
 .price-tickets{gap:30px}
 .shave-section{grid-template-columns:.9fr 1.15fr;gap:9%}
 .shave-section figure{transform:rotate(-4deg)}
 .concessions{grid-template-columns:1fr 1fr;gap:10%}
 .concessions>div:first-child p:not(.eyebrow){max-width:430px}
 .barber-roster{padding-inline:max(calc(var(--gutter) + 60px),calc((100vw - 1300px)/2));gap:100px}
 .barber-profile{grid-template-columns:.8fr 1.2fr;gap:90px}
 .barber-profile:nth-child(2){grid-template-columns:1.2fr .8fr}
 .barber-copy h2{font-size:58px}
 .barber-copy p{max-width:500px}
 .portrait-frame{max-width:390px;transform:rotate(-2deg)}
 .barber-profile:nth-child(2) .portrait-frame{transform:rotate(2deg)}
 .shop-etiquette{grid-template-columns:1.2fr 1fr;gap:24px 70px}
 .shop-etiquette .eyebrow{grid-column:1/-1}
 .gallery-grid{grid-template-columns:1.15fr .85fr;gap:72px 90px;padding-inline:max(calc(var(--gutter) + 45px),calc((100vw - 1350px)/2))}
 .gallery-small:nth-child(2){margin-top:160px}
 .gallery-small:nth-child(4){width:80%}
 .gallery-tools{margin-top:100px}
 .reference-note{grid-template-columns:1.4fr 1fr;column-gap:80px}
 .reference-note .eyebrow{grid-column:1/-1}
 .reference-note h2{grid-row:2/4}
 .reference-note .text-link{grid-column:2;margin-top:10px}
 .booking-layout{grid-template-columns:1.1fr .8fr;gap:10%;align-items:center}
 .booking-card{padding:48px}
 .booking-card .button{max-width:350px}
 .booking-phone{justify-content:start}
 .booking-card p.fine{text-align:left}
 .walkins{grid-template-columns:1.25fr .7fr;gap:10%;padding-inline:max(calc(var(--gutter) + 80px),calc((100vw - 1300px)/2))}
 .walkins>div p:not(.eyebrow){max-width:470px}
 .walkins figure{width:100%;transform:rotate(2deg)}
 .visit-grid{grid-template-columns:1fr 1fr;gap:10%}
 .address-card{border-right:1px solid var(--paper-line)}
 .address-card h2{font-size:72px}
 .visit-scene{grid-template-columns:1.1fr .9fr;gap:8%;align-items:center}
 .privacy-layout{grid-template-columns:.65fr 1.35fr;gap:10%}
 .privacy-index{align-self:start;position:sticky;top:35px;border-bottom:0;border-top:3px double var(--paper-line);padding-top:25px}
 .privacy-copy h2{font-size:31px}
 .lost-page{grid-template-columns:1.1fr .85fr;gap:8%}
 .lost-page figure{transform:rotate(-4deg)}
}
@media(min-width:1500px){.shopfront{max-width:1440px;margin-inline:auto}.front-grid{padding-block:48px}.hero-chair{max-width:395px}}
@media(max-width:359px){.shop-strip{font-size:12px;gap:6px;padding-inline:14px}.shopfront{padding-inline:14px}.sign-sub{font-size:24px}.ticket-copy{padding-inline:14px}.ticket-copy h3{font-size:23px}.rate-list dd{gap:7px}.rate-list strong{font-size:22px}.front-meta{font-size:13px;letter-spacing:0}.front-bottom{font-size:13px;letter-spacing:0}.gallery-grid{column-gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
