:root{--cream:#f5efe5;--ivory:#fbf8f2;--sand:#e7dac7;--gold:#bd8b3b;--gold2:#e0b868;--ink:#1c1b19;--muted:#6d665d;--white:#fff;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--shadow:0 18px 60px rgba(37,27,14,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.75rem 1rem;z-index:999}.skip:focus{top:1rem}.nav{height:86px;padding:0 clamp(1.2rem,4vw,4rem);display:flex;align-items:center;gap:2rem;background:rgba(251,248,242,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(28,27,25,.08)}.brand{width:170px;flex:none}.brand img{object-fit:contain}.desktop-nav{display:flex;gap:clamp(1rem,2vw,2rem);margin:auto}.desktop-nav a{text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.11em;position:relative}.desktop-nav a:after{content:"";position:absolute;height:1px;background:var(--gold);left:0;right:100%;bottom:-8px;transition:.3s}.desktop-nav a:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.5rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;font-size:.76rem;border-radius:2px;transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(54,37,13,.18)}.button-gold{background:linear-gradient(145deg,var(--gold2),#a87327);color:#17120c}.button-dark{background:var(--ink);color:#fff}.icon-mini{margin-right:.55rem}.menu,.mobile-panel{display:none}.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:.9fr 1.1fr;align-items:stretch;background:var(--cream)}.hero-copy{padding:clamp(4rem,8vw,8rem) clamp(2rem,6vw,7rem);align-self:center}.eyebrow{text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.24em;color:#9a6e2d;margin:0 0 1.5rem;display:flex;align-items:center;gap:.8rem}.eyebrow:before{content:"";width:36px;height:1px;background:currentColor}.eyebrow.light{color:#d9ae66}h1,h2{font-family:var(--serif);font-weight:500;line-height:.98;letter-spacing:-.035em;margin:0}h1{font-size:clamp(3.4rem,6vw,7rem)}h2{font-size:clamp(2.7rem,5vw,5.3rem)}h1 em,h2 em{font-weight:500;color:var(--gold);font-style:italic}.lede{font-size:1.08rem;color:var(--muted);max-width:560px;margin:2rem 0}.actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.text-link{font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;border-bottom:1px solid #b8aa94;padding:.5rem 0}.text-link span{color:var(--gold);font-size:1rem;margin-left:.4rem}.est{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;margin-top:3rem;color:#857d72}.hero-media{position:relative;min-height:660px;overflow:hidden}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,19,13,.02),rgba(24,19,13,.1))}.hero-media img{object-position:center 35%}.script-note{position:absolute;left:5%;bottom:9%;z-index:2;color:#fff;font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.8rem);font-style:italic;line-height:1.05;text-shadow:0 3px 18px rgba(0,0,0,.5);transform:rotate(-5deg)}.hero-seal{position:absolute;right:6%;top:8%;z-index:2;width:110px;height:110px;border-radius:50%;background:rgba(25,22,17,.86);border:1px solid #d3a85d;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow)}.hero-seal span,.hero-seal small{font-size:.52rem;letter-spacing:.2em}.hero-seal strong{font-family:var(--serif);font-size:1.6rem;color:#d4a95d}.benefits{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid #e4ddd2;padding:2rem clamp(1rem,5vw,5rem)}.benefits div{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem;border-right:1px solid #e6ded2}.benefits div:last-child{border:0}.benefits i,.craft-list i,.service-grid i{font-style:normal;color:#d1a254;text-shadow:1px 1px 0 #875f21,0 6px 12px rgba(113,73,17,.25);font-size:1.7rem}.benefits span{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700}.section{padding:clamp(5rem,9vw,9rem) clamp(1.3rem,7vw,8rem)}.experience{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(3rem,7vw,8rem);align-items:center}.experience-collage{height:650px;position:relative}.photo-main{margin:0;width:78%;height:88%;box-shadow:var(--shadow)}.photo-main img{object-position:center}.photo-small{position:absolute;right:0;bottom:0;margin:0;width:45%;height:45%;border:10px solid var(--ivory);box-shadow:var(--shadow)}.round-mark{position:absolute;right:4%;top:3%;width:105px;height:105px;border-radius:50%;background:var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-size:2.4rem;box-shadow:var(--shadow)}.round-mark span{font-family:var(--sans);font-size:.5rem;letter-spacing:.2em}.experience-copy>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;max-width:520px;margin:2rem 0}.craft-list{margin:2rem 0}.craft-list>div{display:flex;gap:1.2rem;padding:1rem 0;border-bottom:1px solid #ded5c9}.craft-list p{display:flex;flex-direction:column;margin:0}.craft-list strong{text-transform:uppercase;font-size:.78rem;letter-spacing:.12em}.craft-list span{color:var(--muted);font-size:.9rem}.services{background:#fff}.section-heading{text-align:center;max-width:750px;margin:0 auto 4rem}.section-heading .eyebrow{justify-content:center}.section-heading p:last-child{color:var(--muted);max-width:560px;margin:1.5rem auto}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#ded5c7;border:1px solid #ded5c7}.service-grid article{background:var(--ivory);padding:2.2rem 1.6rem;min-height:280px;display:flex;flex-direction:column;transition:.3s}.service-grid article:hover{transform:translateY(-8px);box-shadow:var(--shadow);position:relative;z-index:2}.service-grid h3{font-family:var(--serif);font-size:1.45rem;margin:1.1rem 0 .6rem}.service-grid p{font-size:.9rem;color:var(--muted);margin:0}.service-grid strong{font-family:var(--serif);font-size:1.6rem;color:var(--gold);margin-top:auto}.featured-service{background:#24211d!important;color:#fff}.featured-service p{color:#c9c1b7!important}.cash-note{text-align:center;margin-top:2rem;font-size:.86rem}.cash-note span{color:var(--gold)}.family{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,8rem);align-items:center;background:var(--cream)}.family-image{height:630px;position:relative}.family-image img{object-position:center 25%}.family-badge{position:absolute;right:-30px;bottom:45px;width:130px;height:130px;border-radius:50%;background:#fff;border:1px solid #d9c69f;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;line-height:.95;font-family:var(--serif);font-size:1.25rem;box-shadow:var(--shadow)}.family-badge span{font-family:var(--sans);font-size:.48rem;letter-spacing:.18em;color:var(--gold);margin-top:.4rem}.family-copy>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;max-width:520px;margin:2rem 0}.family-points{display:grid;gap:.8rem;margin-bottom:2rem}.family-points span:before{content:"✓";color:var(--gold);margin-right:.75rem}.gallery{background:#fff}.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3rem}.filters{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.filters button{border:0;background:transparent;padding:.6rem .8rem;text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;font-weight:700;cursor:pointer;border-bottom:2px solid transparent}.filters button.active{border-color:var(--gold);color:#9a6e2d}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:1rem}.gallery-grid figure{margin:0;overflow:hidden;background:#ddd}.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(6){grid-row:span 2}.gallery-grid figure img{transition:transform .7s}.gallery-grid figure:hover img{transform:scale(1.045)}.gallery-grid figure.hidden{display:none}.story{background:#211f1b;color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center;padding-right:0;overflow:hidden}.story-copy{padding-right:2rem}.story-copy>p:not(.eyebrow){color:#c8c1b7;max-width:620px;margin:2rem 0}.story>img{height:650px}.story-stats{display:flex;gap:3rem;border-top:1px solid #4a4640;padding-top:2rem}.story-stats div{display:flex;flex-direction:column}.story-stats strong{font-family:var(--serif);font-size:1.5rem;color:#d8ae67}.story-stats span{text-transform:uppercase;font-size:.6rem;letter-spacing:.14em;color:#a8a198}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.review-grid blockquote{margin:0;background:#fff;padding:2.5rem;box-shadow:0 10px 40px rgba(34,25,14,.07)}.review-grid blockquote div{color:var(--gold);letter-spacing:.2em}.review-grid blockquote p{font-family:var(--serif);font-size:1.35rem;line-height:1.5}.review-grid cite{font-style:normal;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;color:var(--muted)}.booking{background:var(--cream)}.booking-card{background:#22201d;color:#fff;min-height:420px;padding:clamp(3rem,7vw,7rem);display:flex;align-items:end;justify-content:space-between;gap:3rem;position:relative;overflow:hidden}.booking-card:after{content:"R";position:absolute;font-family:var(--serif);font-size:24rem;color:rgba(255,255,255,.025);right:4%;top:-9rem}.booking-card p:not(.eyebrow){color:#c9c2b8}.booking-actions{display:flex;flex-direction:column;gap:1rem;min-width:250px;position:relative;z-index:2;text-align:center}.booking-actions>a:last-child{font-size:.82rem;text-decoration:underline;color:#d7cec2}.contact{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.address{font-size:1.2rem;margin:2rem 0}.serving{color:var(--muted);margin-top:2rem}.hours{background:#fff;padding:3rem;box-shadow:var(--shadow)}.hours h3{font-family:var(--serif);font-size:2rem;margin-top:0}.hours dl div{display:flex;justify-content:space-between;border-bottom:1px solid #e4ddd2;padding:.8rem 0}.hours dd{font-weight:700}.hours>a{display:block;font-family:var(--serif);font-size:1.6rem;color:var(--gold);margin-top:2rem}.hours p{color:var(--muted)}footer{background:#171614;color:#bcb4aa;text-align:center;padding:4rem 1rem}footer img{width:150px;height:100px;object-fit:contain;margin:auto}footer>p{font-family:var(--serif);font-style:italic;font-size:1.25rem}.footer-links{display:flex;justify-content:center;gap:2rem;margin:2rem 0}.footer-links a{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:#fff}.mobile-book{display:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.desktop-nav{display:none}.nav{justify-content:space-between}.menu{display:flex;width:44px;height:44px;border:0;background:transparent;flex-direction:column;gap:5px;justify-content:center;align-items:center}.menu span{width:22px;height:2px;background:#222}.mobile-panel{display:flex;position:fixed;z-index:49;top:86px;left:0;right:0;background:var(--ivory);padding:2rem;flex-direction:column;gap:1.2rem;transform:translateY(-140%);transition:.35s;box-shadow:var(--shadow)}.mobile-panel.open{transform:none}.mobile-panel a{font-weight:700;text-transform:uppercase;letter-spacing:.1em}.service-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.nav{height:72px;padding:0 1rem}.brand{width:135px}.nav-book{display:none}.mobile-panel{top:72px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:4rem 1.3rem}.hero-media{min-height:510px;order:-1}.hero-media img{object-position:center 30%}.hero-seal{width:84px;height:84px}.hero-seal strong{font-size:1.25rem}h1{font-size:3.65rem}.benefits{grid-template-columns:1fr 1fr;padding:1rem}.benefits div{justify-content:flex-start;border-bottom:1px solid #e6ded2}.benefits div:nth-child(2){border-right:0}.experience,.family,.contact,.story{grid-template-columns:1fr}.experience-collage{height:480px}.experience{padding-top:6rem}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:210px}.family-image{height:500px}.family-badge{right:12px}.gallery-head{align-items:start;flex-direction:column}.filters{justify-content:flex-start}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(6){grid-row:span 1}.story{padding-right:1.3rem}.story>img{height:450px}.story-stats{gap:1.4rem;flex-wrap:wrap}.review-grid{grid-template-columns:1fr}.booking-card{align-items:start;flex-direction:column}.contact{gap:3rem}.hours{padding:2rem}.mobile-book{display:block;position:fixed;left:1rem;right:1rem;bottom:1rem;background:linear-gradient(145deg,var(--gold2),#a87327);color:#17120c;text-align:center;padding:1rem;text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.12em;z-index:40;box-shadow:0 8px 30px rgba(25,18,8,.28)}footer{padding-bottom:6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}

/* Refined editorial direction: quiet luxury, disciplined type, no novelty icons. */
:root{--cream:#f4f1eb;--ivory:#faf9f6;--sand:#ddd6c9;--gold:#b89455;--gold2:#d2b173;--ink:#121212;--muted:#66625b;--sans:"Manrope",Arial,sans-serif;--shadow:0 20px 60px rgba(18,18,18,.10)}
.nav{background:rgba(250,249,246,.96);border-bottom-color:rgba(18,18,18,.12)}
.button{border-radius:0;letter-spacing:.13em;box-shadow:none;background-image:none}
.button-gold{background:var(--gold);color:#111}.button-gold:hover{background:#c9a665;box-shadow:none}
.hero{grid-template-columns:.88fr 1.12fr;border-bottom:1px solid #ded9d0}
.eyebrow{font-size:.68rem;letter-spacing:.28em;color:#84672f}
h1{font-size:clamp(3.4rem,6vw,6.7rem)}h2{font-size:clamp(2.7rem,5vw,5rem)}
.hero-media:after{background:linear-gradient(90deg,rgba(0,0,0,.04),rgba(0,0,0,.18))}
.hero-seal{background:rgba(18,18,18,.9);border-color:var(--gold);box-shadow:none}
.benefits{background:var(--ink);color:#fff;padding:1.65rem clamp(1rem,5vw,5rem)}
.benefits div{padding:.75rem 1rem;border-right-color:#363636}.benefits b,.craft-list b{font-size:.62rem;letter-spacing:.15em;color:var(--gold);font-weight:700}
.craft-list>div{align-items:center}.craft-list b{min-width:28px}
.service-grid{gap:0;background:#d8d3ca;border-color:#d8d3ca}.service-grid article{padding:2.4rem 1.7rem;min-height:290px;border-right:1px solid #d8d3ca}.service-grid article:last-child{border-right:0}.service-no{font-size:.68rem;font-weight:700;letter-spacing:.18em;color:var(--gold)}
.featured-service{background:#1b1b1b!important}.story,.booking-card{background:#1b1b1b}.booking-card:after{opacity:.45}
.filters button{letter-spacing:.13em}.gallery-grid{gap:.75rem}
footer{background:#0f0f0f}.barber-team,.barber-grid,.review-grid{display:none}
@media(max-width:760px){.hero-copy{padding-top:4.5rem;padding-bottom:4.5rem}.benefits div{border-bottom-color:#363636}.service-grid article{border-right:0;border-bottom:1px solid #d8d3ca}.gallery-grid{gap:.6rem}.booking-card:after{font-size:17rem}}
.mobile-book{background:var(--gold);background-image:none;border-radius:0}

/* Dark, faded finish */
:root{--cream:#1b1a18;--ivory:#23211f;--sand:#36322d;--gold:#b99658;--gold2:#ceb074;--ink:#f2eee7;--muted:#b7afa4;--white:#f7f4ee;--shadow:0 24px 70px rgba(0,0,0,.34)}
body{background:#171614;color:var(--ink)}
.nav{background:rgba(18,17,16,.94);border-bottom-color:rgba(255,255,255,.11)}.brand img{filter:brightness(0) invert(1)}
.desktop-nav a,.mobile-panel a{color:#f2eee7}.menu span{background:#f2eee7}.mobile-panel{background:#1a1917}
.hero{background:#1b1a18;border-bottom-color:#36322d}.hero-media:after{background:linear-gradient(90deg,rgba(13,12,11,.48),rgba(13,12,11,.2)),linear-gradient(0deg,rgba(13,12,11,.32),transparent 55%)}
.hero-media img,.experience-collage img,.family-image img,.gallery-grid img,.story>img{filter:saturate(.72) contrast(.96) brightness(.82)}
.hero-copy .lede,.experience-copy>p:not(.eyebrow),.family-copy>p:not(.eyebrow),.section-heading p:last-child,.serving,.hours p{color:var(--muted)}
.benefits{background:#0f0f0e}.benefits div{border-color:#302e2a}
.experience,.family,.booking,.contact{background:#1b1a18}.services,.gallery{background:#12110f}
.photo-small{border-color:#1b1a18}.round-mark{color:#171614;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.craft-list>div,.hours dl div{border-color:#403b35}
.service-grid{background:#3a3631;border-color:#3a3631}.service-grid article{background:#211f1c;border-color:#3a3631}.service-grid p{color:#b7afa4}.featured-service{background:#0e0e0d!important}
.family-badge{background:#171614;border-color:#8f7548;color:#f2eee7}.gallery-grid figure{background:#25221f;position:relative}.gallery-grid figure:after{content:"";position:absolute;inset:0;background:rgba(17,16,14,.17);pointer-events:none;transition:background .35s}.gallery-grid figure:hover:after{background:rgba(17,16,14,.04)}
.story{background:#0e0e0d}.story>img{opacity:.78}.booking-card{background:#0e0e0d;border:1px solid #37332d}
.hours{background:#211f1c;box-shadow:none;border:1px solid #3a3631}.hours dd{color:#eee8de}
.text-link{border-color:#5c554b}.cash-note{color:#d2cbc1}footer{background:#090909;border-top:1px solid #2b2926}
@media(max-width:760px){.benefits div{border-bottom-color:#302e2a}.service-grid article{border-bottom-color:#3a3631}}

/* Full charcoal palette — no cream surfaces. */
:root{--cream:#151513;--ivory:#1c1b19;--sand:#302d29;--ink:#f3efe8;--muted:#aaa39a}
main,.hero,.experience,.family,.booking,.contact{background:#151513}.services,.gallery{background:#0f0f0e}
.service-grid article,.hours{background:#1c1b19}.photo-small{border-color:#151513}
.button-dark{background:var(--gold);border-color:var(--gold);color:#111}.button-dark:hover{background:#c9a665}
.family-badge{background:#11110f}.cash-note span{color:var(--gold)}
.mobile-book{color:#111;box-shadow:0 10px 32px rgba(0,0,0,.42)}

/* Primary brand mark */
.brand{width:70px;height:70px;display:flex;align-items:center;justify-content:flex-start}.brand img{width:100%;height:100%;object-fit:contain;object-position:left center;filter:none;mix-blend-mode:screen}
@media(max-width:760px){.brand{width:58px;height:58px}}

/* Owner profile */
.owner-profile{position:relative;overflow:hidden;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)}
.owner-portrait{height:700px;max-width:560px;border-radius:280px 280px 18px 18px;overflow:visible;isolation:isolate}
.owner-portrait:before{content:"";position:absolute;inset:-14px;border:1px solid rgba(185,150,88,.56);border-radius:294px 294px 24px 24px;z-index:-1}
.owner-portrait img{border-radius:280px 280px 18px 18px;object-position:center 18%;filter:saturate(.92) contrast(1.01) brightness(.92)}
.owner-portrait img{width:100%;max-width:none;height:100%;margin:0;object-fit:cover;object-position:center 16%;border-radius:280px 280px 18px 18px;filter:none;clip-path:none}
.owner-portrait .family-badge{right:-34px;bottom:54px;width:132px;height:132px;background:#11110f;border-color:#8f7548;color:#f2eee7;z-index:2}
.owner-portrait .family-badge span{max-width:86px;line-height:1.35}
.owner-copy h2{font-size:clamp(2.6rem,4.4vw,4.8rem)}
.owner-copy>p:not(.eyebrow){margin:1.25rem 0;max-width:650px;font-size:1rem;line-height:1.75}
.owner-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:2rem 0;border-top:1px solid #403b35;border-bottom:1px solid #403b35}
.owner-highlights span{padding:1rem .85rem 1rem 0;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#d2cbc1}
.owner-highlights span:before{content:"";display:block;width:24px;height:1px;background:var(--gold);margin-bottom:.65rem}
@media(max-width:900px){.owner-profile{grid-template-columns:1fr}.owner-portrait{width:min(100%,540px);margin:0 auto}.owner-copy{max-width:700px}.owner-highlights{grid-template-columns:1fr}.owner-highlights span{border-bottom:1px solid #403b35}.owner-highlights span:last-child{border-bottom:0}}
@media(max-width:760px){.owner-portrait{height:560px;border-radius:220px 220px 14px 14px}.owner-portrait:before,.owner-portrait img{border-radius:220px 220px 14px 14px}.owner-portrait .family-badge{right:8px;bottom:22px;width:110px;height:110px}.owner-copy h2{font-size:2.75rem}}

/* Full-width shop hero */
.hero{position:relative;display:flex;align-items:center;min-height:calc(100svh - 86px);isolation:isolate;overflow:hidden;background:#0d0d0c}
.hero-media{position:absolute;inset:0;min-height:0;z-index:-1}.hero-media img{object-position:center 46%;filter:saturate(.68) contrast(1.04) brightness(.7)}
.hero-media:after{z-index:1;background:linear-gradient(90deg,rgba(7,7,6,.88) 0%,rgba(7,7,6,.68) 38%,rgba(7,7,6,.28) 72%,rgba(7,7,6,.42) 100%),linear-gradient(0deg,rgba(7,7,6,.56),transparent 58%)}
.hero-copy{position:relative;z-index:2;width:min(760px,100%);padding:clamp(5rem,9vw,9rem) clamp(1.3rem,7vw,8rem);color:#fff}.hero-copy .lede{color:#d4cec5;max-width:600px}.hero-copy .text-link{color:#fff;border-color:rgba(255,255,255,.48)}.hero-copy .est{color:#bdb6ad}
.hero-seal{right:clamp(1.5rem,5vw,5rem);top:clamp(1.5rem,5vw,4rem)}
@media(max-width:760px){.hero{min-height:calc(100svh - 72px);display:flex}.hero-copy{padding:6rem 1.3rem 4.5rem;align-self:flex-end}.hero-media{position:absolute;inset:0;min-height:0;order:initial}.hero-media img{object-position:58% center}.hero-media:after{background:linear-gradient(90deg,rgba(7,7,6,.74),rgba(7,7,6,.32)),linear-gradient(0deg,rgba(7,7,6,.82) 0%,rgba(7,7,6,.28) 70%)}.hero-seal{top:1.25rem;right:1rem}}

/* Barber directory */
.team{background:#0d0d0c;color:#f3efe8}.team-heading{display:flex;align-items:end;justify-content:space-between;gap:4rem;margin-bottom:3.5rem}.team-heading>p{max-width:480px;color:#aaa39a;margin:0 0 .5rem}.team-heading h2 em{color:var(--gold)}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#3a3631;border:1px solid #3a3631}.team-card{display:flex;min-width:0;flex-direction:column;background:#171614;transition:background .3s,transform .3s}.team-card:hover{background:#201e1b;position:relative;z-index:2}.team-photo{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#24211e}.team-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,9,.3),transparent 48%);pointer-events:none}.team-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.72) contrast(1.02);transform:scale(1.58);transform-origin:center top;transition:filter .4s,transform .55s}.team-card:hover .team-photo img{filter:saturate(.9) contrast(1.02);transform:scale(1.62)}
.team-info{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1.4rem}.team-info>span{display:flex;flex-direction:column}.team-info small{color:var(--gold);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.team-info strong{font-family:var(--serif);font-size:1.8rem;font-weight:500}.team-info>b{font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;text-align:right;color:#c8c0b6}.team-info i{font-style:normal;color:var(--gold);margin-left:.2rem}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.team-heading{display:block}.team-heading>p{margin-top:1.5rem}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-info{display:block}.team-info>b{display:block;text-align:left;margin-top:.7rem}.team-info strong{font-size:1.55rem}}@media(max-width:480px){.team-grid{grid-template-columns:1fr}.team-photo{aspect-ratio:4/4.5}}

/* Blend the unoccupied final grid space into the section. */
.team-grid{background:#0d0d0c;border-color:#0d0d0c}.team-card{outline:1px solid #3a3631;outline-offset:-1px}

/* Uniform Our Work gallery */
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:1rem}.gallery-grid figure,.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(6){grid-row:auto;aspect-ratio:4/3}.gallery-grid figure img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.gallery-grid{grid-template-columns:1fr}.gallery-grid figure{aspect-ratio:4/3}}

/* Cinematic hero slideshow */
.hero-media{background:#090909}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s;will-change:opacity;background-position:center;background-size:cover;overflow:hidden}
.hero-slide.active{opacity:1;visibility:visible}
.hero-slide img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.7) contrast(1.04) brightness(.68);transform:scale(1.025);transition:transform 7s ease}
.hero-slide.active img{transform:scale(1)}
.hero-slide.portrait:before{content:"";position:absolute;z-index:0;inset:-5%;background:inherit;background-position:center;background-size:cover;filter:blur(26px) saturate(.65) brightness(.45);transform:scale(1.08)}
.hero-slide.portrait img{object-fit:contain;object-position:center;filter:saturate(.74) contrast(1.03) brightness(.72)}
.hero-logo{position:absolute;z-index:3;right:clamp(2rem,7vw,7rem);top:50%;width:clamp(280px,30vw,480px);height:auto;object-fit:contain;transform:translateY(-52%);filter:drop-shadow(0 18px 35px rgba(0,0,0,.65));mix-blend-mode:screen;opacity:.96;pointer-events:none}
.hero-controls{position:absolute;z-index:4;right:clamp(1.3rem,4vw,4rem);bottom:clamp(1.25rem,3vw,2.5rem);display:flex;align-items:center;gap:.85rem;color:#fff}
.hero-arrow{width:42px;height:42px;border:1px solid rgba(255,255,255,.42);background:rgba(8,8,7,.45);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .25s,border-color .25s}
.hero-arrow:hover,.hero-arrow:focus-visible{background:var(--gold);border-color:var(--gold);color:#111;outline:none}
.hero-dots{display:flex;align-items:center;gap:.38rem}.hero-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.42);cursor:pointer;transition:background .25s,transform .25s}.hero-dot.active{background:var(--gold);transform:scale(1.45)}.hero-count{min-width:54px;font-size:.66rem;font-weight:700;letter-spacing:.12em;color:#fff;text-shadow:0 2px 10px #000}
@media(max-width:1050px){.hero-logo{right:2rem;width:clamp(210px,28vw,310px);opacity:.82}}
@media(max-width:760px){.hero-logo{top:1.5rem;left:1.3rem;right:auto;width:150px;transform:none;opacity:.92}.hero-controls{left:1rem;right:1rem;bottom:1rem;gap:.55rem}.hero-arrow{width:38px;height:38px;flex:none}.hero-dots{gap:.28rem;flex:1;justify-content:center}.hero-dot{width:5px;height:5px}.hero-count{display:none}.hero-slide img,.hero-slide.portrait img{object-fit:cover;object-position:center 38%}.hero-slide.portrait:before{display:none}}
@media(max-width:760px){
  .hero{min-height:max(calc(100svh - 72px),700px)}
  .hero-logo{top:1rem;left:50%;right:auto;width:min(34vw,132px);max-height:104px;transform:translateX(-50%);opacity:.95}
  .hero-copy{padding:9rem 1.3rem 5.25rem}
  .hero-copy h1{font-size:clamp(2.75rem,12.5vw,3.45rem);line-height:1.02}
  .hero-copy .eyebrow{font-size:.65rem;letter-spacing:.18em}
}
@media(max-width:380px){
  .hero-logo{width:112px;max-height:88px}
  .hero-copy{padding-top:8rem}
  .hero-copy h1{font-size:2.6rem}
}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide img{transition:none}.hero-slide img{transform:none}}

/* Circular barber portraits */
.team-photo{width:calc(100% - 3rem);margin:1.5rem 1.5rem 0;aspect-ratio:1;border-radius:50%;border:1px solid rgba(185,150,88,.55);background:#201e1b}
.team-photo:after{border-radius:50%}
.team-card:hover .team-photo{border-color:var(--gold)}
@media(max-width:760px){.team-photo{width:calc(100% - 2rem);margin:1rem 1rem 0;aspect-ratio:1}}
.team-photo img{object-position:center 18%;filter:saturate(.9) contrast(1.02);transform:scale(1.18)}
.team-card:hover .team-photo img{filter:saturate(1) contrast(1.03);transform:scale(1.22)}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-grid article,.service-grid .featured-service,.service-grid .service-note-card{background:#1c1b19!important}
.service-note-card{justify-content:center}
.service-note-card h3{color:#f2eee7;line-height:1.25;margin-bottom:1rem}
.service-note-card h3 span{color:var(--gold);font-size:.8rem;vertical-align:middle;margin-right:.35rem}
.service-note-card p{max-width:28rem}
@media(max-width:760px){.service-grid{grid-template-columns:1fr}}
.nav-actions{display:flex;align-items:center;gap:.65rem;flex:none}
.mobile-header-call{display:none}
.button-call{min-height:50px;border:1px solid rgba(224,184,104,.7);color:#f2eee7;background:rgba(255,255,255,.03)}
.button-call:hover,.button-call:focus-visible{background:#f2eee7;color:#17120c;border-color:#f2eee7;outline:none}
.mobile-panel .button-call{color:#f2eee7}
.mobile-panel .button-gold{color:#17120c}
@media(max-width:760px){
  .nav{gap:.55rem}
  .nav-actions{display:none}
  .mobile-header-call{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-left:auto;padding:.65rem .85rem;border:1px solid rgba(224,184,104,.72);color:#f2eee7;background:#24211d;text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;font-weight:800;white-space:nowrap;pointer-events:auto;touch-action:manipulation}
}
.gallery-carousel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem}
.gallery-viewport{min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.gallery-viewport::-webkit-scrollbar{display:none}
.gallery-grid{display:flex!important;gap:1rem;background:transparent;border:0}
.gallery-grid figure,.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(6){flex:0 0 calc((100% - 2rem)/3);aspect-ratio:4/3;grid-row:auto;scroll-snap-align:start}
.gallery-arrow{width:46px;height:46px;border:1px solid rgba(224,184,104,.58);border-radius:50%;background:#1c1b19;color:#f2eee7;display:grid;place-items:center;cursor:pointer;font-size:1.1rem;transition:background .25s,color .25s,border-color .25s}
.gallery-arrow:hover,.gallery-arrow:focus-visible{background:var(--gold);border-color:var(--gold);color:#111;outline:none}
@media(max-width:900px){.gallery-grid figure,.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(6){flex-basis:calc((100% - 1rem)/2)}}
@media(max-width:600px){.gallery-carousel{gap:.55rem}.gallery-arrow{width:38px;height:38px}.gallery-grid figure,.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(6){flex-basis:100%}}
.team-days{display:block;color:#c8c0b6;font-size:.85rem;line-height:1.4;margin-top:.25rem}
.team.section{padding-top:clamp(3.5rem,6vw,6rem);padding-bottom:clamp(3.5rem,6vw,6rem)}
.team-heading{margin-bottom:2.25rem}
.team-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;background:transparent;border:0}
.team-card{outline:1px solid #3a3631}
.team-photo{width:calc(100% - 2rem);margin:1rem 1rem 0}
.team-photo img{object-position:center 18%;transform:scale(1.08)}
.team-card:hover .team-photo img{transform:scale(1.12)}
.team-info{padding:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}
.team-info strong{font-size:1.45rem}
.team-info>b{text-align:left}
.team-days{font-size:.76rem;line-height:1.3}
@media(min-width:961px){
  .team-grid{grid-template-columns:repeat(10,minmax(0,1fr))}
  .team-card{grid-column:span 2}
  .team-card:nth-child(6){grid-column:2/span 2}
}
@media(max-width:960px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-card,.team-card:nth-child(6){grid-column:auto}}
@media(max-width:680px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.team-heading{margin-bottom:1.75rem}.team-info{padding:.85rem}.team-info strong{font-size:1.3rem}}
@media(max-width:430px){.team-grid{grid-template-columns:1fr}.team-card{max-width:330px;width:100%;margin-inline:auto}}
.service-grid{gap:1rem;background:transparent;border:0}
.service-grid article,.service-grid article:last-child{border:1px solid #3a3631}
@media(max-width:760px){.service-grid{gap:.75rem}.service-grid article{border:1px solid #3a3631}}

/* Tighter, consistent section rhythm */
.section{padding-top:clamp(3.75rem,6vw,6rem);padding-bottom:clamp(3.75rem,6vw,6rem)}
.team.section{padding-top:clamp(3.75rem,6vw,6rem);padding-bottom:clamp(3.75rem,6vw,6rem)}
.section-heading{margin-bottom:clamp(2.25rem,4vw,3rem)}
.gallery-head{margin-bottom:clamp(2rem,3vw,2.5rem)}
@media(max-width:760px){
  .section,.team.section{padding-top:3.25rem;padding-bottom:3.25rem}
  .experience{padding-top:3.25rem}
  .gallery-head{margin-bottom:1.75rem;gap:1.5rem}
}

/* Mobile quick-action bar */
.mobile-actions{display:none}
@media(max-width:760px){
  .mobile-actions{position:fixed;left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:.45rem;background:rgba(24,23,20,.94);border:1px solid rgba(224,184,104,.34);box-shadow:0 10px 32px rgba(0,0,0,.42);backdrop-filter:blur(12px)}
  .mobile-action{min-height:50px;display:flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.1em}
  .mobile-action-call{position:relative;z-index:2;pointer-events:auto;touch-action:manipulation;color:#f2eee7;border:1px solid rgba(224,184,104,.72);background:#24211d}
  .mobile-action-book{color:#17120c;background:linear-gradient(145deg,var(--gold2),#a87327)}
  footer{padding-bottom:7rem}
}

/* Services menu */
.service-grid{display:grid;grid-template-columns:1fr;gap:0;max-width:980px;margin-inline:auto;background:transparent;border-top:1px solid #cfc5b7;border-bottom:1px solid #cfc5b7}
.service-grid article,.service-grid article:last-child{display:grid;grid-template-columns:3.25rem minmax(0,1fr) auto;grid-template-areas:"number title price" "number description price";column-gap:1.2rem;align-items:center;min-height:0;padding:1.35rem .5rem;background:transparent;border:0;border-bottom:1px solid #ded5c9;color:var(--ink)}
.service-grid article:hover{transform:none;box-shadow:none}
.service-grid .service-no{grid-area:number;align-self:start;padding-top:.38rem;color:var(--gold)}
.service-grid h3{grid-area:title;margin:0;font-size:1.4rem;line-height:1.25}
.service-grid p{grid-area:description;margin:.25rem 0 0;font-size:.9rem;line-height:1.5}
.service-grid strong{grid-area:price;align-self:center;margin:0;padding-left:1.5rem;font-size:1.55rem;white-space:nowrap}
.service-grid .featured-service{background:transparent!important;color:var(--ink)}
.service-grid .featured-service p{color:var(--muted)!important}
.service-grid .service-note-card{grid-template-columns:1fr;grid-template-areas:"number" "title" "description";gap:.35rem;margin-top:1rem;padding:1.35rem 1.5rem;background:#24211d;color:#fff;border:0}
.service-grid .service-note-card .service-no{padding:0;color:var(--gold2)}
.service-grid .service-note-card h3{font-family:var(--sans);font-size:1rem;letter-spacing:.01em}
.service-grid .service-note-card p{color:#c9c1b7}
@media(max-width:760px){
  .service-grid article,.service-grid article:last-child{grid-template-columns:2.2rem minmax(0,1fr) auto;column-gap:.7rem;padding:1.1rem 0}
  .service-grid h3{font-size:1.16rem}
  .service-grid p{font-size:.82rem;line-height:1.4}
  .service-grid strong{font-size:1.25rem;padding-left:.5rem}
  .service-grid .service-note-card{display:grid;padding:1.2rem;margin-top:.75rem}
}

/* Services heading and spacing refinement */
.services .section-heading{max-width:840px;margin-bottom:3.25rem}
.services .section-heading .eyebrow{font-size:.88rem;letter-spacing:.22em;margin-bottom:1.25rem}
.services .section-heading h2{font-size:clamp(3.25rem,5.6vw,6rem)}
.services .section-heading p:last-child{margin-top:1.35rem}
.service-grid article,.service-grid article:last-child{padding:1.5rem .75rem;column-gap:1.35rem}
.service-grid h3{line-height:1.2}
.service-grid p{margin-top:.35rem}
.service-grid strong{line-height:1}
@media(max-width:760px){
  .services .section-heading{margin-bottom:2.25rem}
  .services .section-heading .eyebrow{font-size:.78rem;margin-bottom:1rem}
  .services .section-heading h2{font-size:clamp(2.85rem,13vw,4rem)}
  .services .section-heading p:last-child{margin-top:1.1rem}
  .service-grid article,.service-grid article:last-child{padding:1.2rem 0;column-gap:.75rem}
  .service-grid .service-note-card{padding:1.2rem}
}

/* Customer reviews and contact actions */
.reviews{background:#0e0e0d;color:#fff}
.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:2.5rem;margin-bottom:2.75rem}
.reviews-heading .button{flex:none}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.testimonials-grid blockquote{margin:0;padding:2rem;background:#1c1b19;border:1px solid #3a3631}
.testimonials-grid blockquote div{color:var(--gold2);letter-spacing:.16em}
.testimonials-grid blockquote p{min-height:5.5rem;margin:1rem 0 1.5rem;font-family:var(--serif);font-size:1.3rem;line-height:1.45;color:#f2eee7}
.testimonials-grid cite{font-style:normal;text-transform:uppercase;font-size:.66rem;font-weight:700;letter-spacing:.12em;color:#a9a198}
.hours .hours-book{display:flex;width:100%;margin:0 0 2rem;padding:.85rem 1.25rem;font-family:var(--sans);font-size:.76rem;font-style:normal;color:#17120c;letter-spacing:.09em}
.hours .hours-phone{display:block;margin-top:2rem;font-family:var(--sans);font-size:1.35rem;font-weight:700;font-style:normal;line-height:1.2;letter-spacing:.01em;color:var(--gold2);transform:none}
.instagram-follow{display:inline-flex;align-items:center;gap:.8rem;margin-top:1.25rem;padding:.8rem 1.1rem;border:1px solid rgba(224,184,104,.48);color:#f2eee7;text-transform:uppercase;letter-spacing:.09em;font-size:.76rem;font-weight:700;transition:background .25s,color .25s,border-color .25s,transform .25s}
.instagram-follow svg{width:25px;height:25px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}
.instagram-follow .instagram-dot{fill:currentColor;stroke:none}
.instagram-follow:hover,.instagram-follow:focus-visible{background:var(--gold2);border-color:var(--gold2);color:#17120c;transform:translateY(-2px);outline:none}
@media(max-width:760px){.instagram-follow{width:100%;justify-content:center;margin-top:1.5rem}}
@media(max-width:760px){
  .reviews-heading{align-items:flex-start;flex-direction:column;margin-bottom:2rem}
  .reviews-heading .button{width:100%}
  .testimonials-grid{grid-template-columns:1fr}
  .testimonials-grid blockquote{padding:1.5rem}
  .testimonials-grid blockquote p{min-height:0;font-size:1.2rem}
}

/* Unified services panel */
.service-grid{padding:0 1.5rem;background:#1c1b19;border:1px solid #3a3631;border-bottom:0}
.service-grid article,.service-grid article:last-child{background:#1c1b19!important}
.service-grid article:last-child{border-bottom:0}
.service-grid .service-note-card{grid-template-columns:3.25rem minmax(0,1fr);grid-template-areas:"number title" "number description";column-gap:1.35rem;row-gap:0;margin:0;padding:1.5rem .75rem;background:transparent!important;color:var(--ink);border:0}
.service-grid .service-note-card .service-no{padding-top:.38rem;color:var(--gold)}
.service-grid .service-note-card h3{font-family:var(--serif);font-size:1.4rem;line-height:1.2;letter-spacing:normal;color:var(--ink)}
.service-grid .service-note-card p{margin-top:.35rem;color:var(--muted)}
@media(max-width:760px){
  .service-grid{padding:0 1rem;background:#1c1b19;border-color:#45413b}
  .service-grid .service-note-card{grid-template-columns:2.2rem minmax(0,1fr);column-gap:.75rem;padding:1.2rem 0}
  .service-grid .service-note-card h3{font-size:1.16rem}
  .service-grid .service-note-card p{font-size:.82rem;line-height:1.4}
}

/* Match gallery filter controls to Rigby's dark and gold palette. */
.gallery .filters button{color:#d7cec2}
.gallery .filters button:hover,.gallery .filters button:focus-visible{color:var(--gold2)}
.gallery .filters button.active{color:var(--gold2);border-bottom-color:var(--gold2)}

#services .section-heading h2{font-size:clamp(2.25rem,3.5vw,3.8rem)}

/* Keep the full supplied mark visible in the Our Story image column. */
.story>img.story-logo{object-fit:contain;object-position:center;width:100%;height:auto;max-height:650px;padding:clamp(1.5rem,3vw,3rem);background:transparent;filter:none;opacity:1}
@media(max-width:760px){.story>img.story-logo{height:auto;max-height:none;padding:1.5rem}}

/* Complete the outline around the Services & Pricing menu card. */
.service-grid{border-bottom:1px solid #45413b}

/* Keep the new hero headline readable within narrow mobile viewports. */
@media(max-width:760px){.hero-copy h1{font-size:clamp(2.6rem,10vw,3.65rem)}}

/* Give the shop name clear prominence above the hero headline. */
.hero-brand{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.2;letter-spacing:.1em;margin-bottom:1.5rem}
.hero-brand:before{width:28px}
@media(max-width:760px){.hero-brand{font-size:clamp(1.2rem,5vw,1.55rem);letter-spacing:.08em}}
