@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--ink:#16211f;--forest:#22332d;--cream:#f5f0e7;--paper:#fbf9f4;--tan:#c49a6c;--line:#ded7cb;--muted:#6f746f;--white:#fff;--shadow:0 22px 60px rgba(20,32,29,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:#9b7046}.display{font-family:'Playfair Display',serif;font-size:clamp(3rem,5vw,5.7rem);line-height:.95;letter-spacing:-.04em;margin:.25em 0}.display em{color:var(--tan);font-weight:600}.lead{font-size:1.08rem;color:var(--muted);max-width:620px}.section{padding:100px 0}.section.alt{background:var(--cream)}.section.dark{background:var(--forest);color:white}.section.dark .lead{color:#c9d0cc}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-head .display{font-size:clamp(2.5rem,4vw,4.5rem)}
.nav{position:sticky;top:0;z-index:50;background:rgba(251,249,244,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(22,33,31,.08)}.nav-inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.08em}.brand-mark{width:43px;height:43px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:1.35rem}.brand small{display:block;font-size:.54rem;color:#9b7046;letter-spacing:.22em}.links{display:flex;gap:28px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.links a{position:relative}.links a:after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--tan);transition:.25s}.links a:hover:after,.links a.active:after{right:0}.nav-actions{display:flex;align-items:center;gap:12px}.phone{font-size:.78rem;font-weight:700}.menu{display:none;background:none;border:0;font-size:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 21px;border-radius:999px;border:1px solid transparent;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:white}.btn-primary:hover{background:var(--tan);color:var(--ink)}.btn-light{background:white;color:var(--ink)}.btn-outline{border-color:rgba(255,255,255,.35);color:white}.btn-outline:hover{background:white;color:var(--ink)}
.hero{min-height:730px;display:grid;grid-template-columns:47% 53%;background:var(--cream)}.hero-copy{display:flex;align-items:center;padding:70px max(40px,calc((100vw - 1180px)/2)) 70px max(40px,calc((100vw - 1180px)/2));padding-right:55px}.hero-copy .display{font-size:clamp(4rem,6vw,6.7rem)}.hero-copy p{max-width:520px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-media{position:relative;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-badge{position:absolute;left:28px;bottom:28px;background:rgba(251,249,244,.92);backdrop-filter:blur(8px);padding:18px 22px;border-radius:14px;box-shadow:var(--shadow)}.hero-badge strong{display:block}.hero-badge span{font-size:.72rem;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);background:white}.stat{padding:25px;text-align:center;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{display:block;font-family:'Playfair Display',serif;font-size:1.4rem}.stat span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:30px;transition:.3s}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.card .num{font-family:'Playfair Display',serif;color:var(--tan);font-size:1.8rem}.card h3{font-family:'Playfair Display',serif;font-size:1.5rem;margin:.7em 0 .3em}.card p{color:var(--muted);font-size:.93rem}.card .price{margin-top:22px;font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.visual{min-height:560px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.visual img{width:100%;height:100%;object-fit:cover}.checklist{display:grid;gap:16px;margin:28px 0}.check{display:flex;gap:14px;align-items:flex-start}.check i{color:var(--tan);margin-top:5px}.check strong{display:block}.check span{font-size:.9rem;color:var(--muted)}
.barbers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.barber{background:#fff;border-radius:18px;overflow:hidden}.barber .portrait{height:370px;background:linear-gradient(145deg,#d7c6b0,#7d6652);display:flex;align-items:end;padding:25px;color:white;position:relative}.barber .portrait:before{content:'✂';font-size:5rem;position:absolute;right:25px;top:20px;opacity:.18}.barber-info{padding:24px}.barber-info h3{margin:0;font-family:'Playfair Display',serif;font-size:1.5rem}.barber-info p{margin:4px 0;color:var(--muted);font-size:.9rem}
.gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.gallery-main,.gallery-small{border-radius:18px;overflow:hidden}.gallery-main{min-height:600px}.gallery-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}.gallery-small{min-height:290px}.gallery img{width:100%;height:100%;object-fit:cover}.quote{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.3vw,3.7rem);line-height:1.2;max-width:900px;margin:auto;text-align:center}.quote span{display:block;font:700 .7rem 'DM Sans';letter-spacing:.16em;text-transform:uppercase;color:var(--tan);margin-top:25px}.cta{padding:70px 0;background:var(--tan);color:var(--ink)}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,4vw,4.2rem);line-height:1;margin:0}.footer{background:#101916;color:#dbe0dc;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:45px}.footer h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#c49a6c}.footer a,.footer p{display:block;color:#aeb9b4;font-size:.84rem;margin:8px 0}.footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;font-size:.72rem;color:#78867f}.page-hero{padding:115px 0 80px;background:var(--cream)}.page-hero .display{max-width:850px}.service-list{display:grid;gap:0;border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:1.2fr 2fr auto;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.service-row h3{font-family:'Playfair Display',serif;font-size:1.45rem;margin:0}.service-row p{color:var(--muted);margin:0}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px}.form{display:grid;gap:15px}.form input,.form textarea,.form select{width:100%;padding:15px 16px;border:1px solid var(--line);background:white;border-radius:10px;font:inherit}.form textarea{min-height:140px}.info-box{background:var(--forest);color:white;padding:42px;border-radius:20px}.info-box p{color:#c9d0cc}.info-item{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12)}.info-item strong{display:block;color:#d9ad7a;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:900px){.links{position:fixed;top:86px;left:0;right:0;background:var(--paper);display:none;flex-direction:column;padding:28px 30px;border-bottom:1px solid var(--line)}.links.open{display:flex}.menu{display:block}.phone{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 30px}.hero-media{min-height:560px}.stats{grid-template-columns:1fr 1fr}.cards,.barbers{grid-template-columns:1fr 1fr}.split,.contact-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:1fr}.section-head,.cta-inner{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.container{width:min(100% - 28px,1180px)}.section{padding:75px 0}.nav-inner{height:76px}.links{top:76px}.brand span{font-size:.78rem}.nav-actions .btn{display:none}.hero{min-height:auto}.hero-copy{padding:58px 22px}.hero-copy .display{font-size:3.6rem}.hero-media{min-height:450px}.stats,.cards,.barbers,.footer-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.gallery-main{min-height:430px}.gallery-side{grid-template-rows:auto}.gallery-small{min-height:300px}.footer-bottom{flex-direction:column;gap:8px}}

/* UX refinement: deliberate image crops */
.hero-media img{object-position:62% center}
.visual img{object-position:center center}
.media-frame{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);background:#e9e1d6}
.media-frame img{width:100%;height:100%;object-fit:cover;object-position:center}
.media-frame.landscape{height:470px}
.media-frame.portrait{height:600px}
.process-grid,.values-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.process-card,.value-card,.feature-card{padding:32px;border:1px solid var(--line);border-radius:18px;background:white}
.process-card .step{font-family:'Playfair Display',serif;color:var(--tan);font-size:2rem}
.process-card h3,.value-card h3,.feature-card h3{font-family:'Playfair Display',serif;font-size:1.45rem;margin:.55em 0 .3em}
.process-card p,.value-card p,.feature-card p{color:var(--muted);margin:0}
.editorial{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.editorial-copy{max-width:560px}
.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pill{padding:9px 13px;border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;background:white}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.journal-card{padding:30px;border-radius:18px;background:var(--forest);color:white;min-height:270px;display:flex;flex-direction:column;justify-content:flex-end}
.journal-card span{color:var(--tan);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.journal-card h3{font-family:'Playfair Display',serif;font-size:1.6rem;line-height:1.1;margin:10px 0}
.journal-card p{color:#c9d0cc;font-size:.9rem}
@media(max-width:900px){.process-grid,.values-grid,.feature-grid,.journal-grid{grid-template-columns:1fr 1fr}.editorial{grid-template-columns:1fr}}
@media(max-width:600px){.process-grid,.values-grid,.feature-grid,.journal-grid{grid-template-columns:1fr}.media-frame.landscape,.media-frame.portrait{height:420px}}

/* V3 inner-page hero system */
.page-hero.split-hero{padding:0;background:var(--cream);overflow:hidden}
.split-hero .split-wrap{max-width:none;margin:0;display:grid;grid-template-columns:48% 52%;min-height:520px}
.split-hero .split-copy{padding:86px max(42px,calc((100vw - 1180px)/2));padding-right:58px;display:flex;flex-direction:column;justify-content:center}
.split-hero .split-media{position:relative;min-height:520px;overflow:hidden;background:#d9d0c4}
.split-hero .split-media img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.split-hero .split-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,40,34,.08),transparent 28%)}
.split-hero.about-hero .split-media img{object-position:center 53%}
.split-hero.services-hero .split-media img{object-position:center 44%}
.split-hero.barbers-hero .split-media img{object-position:center 28%}
.split-hero.experience-hero .split-media img{object-position:center 54%}
.split-hero.journal-hero .split-media img{object-position:center 42%}

/* Fix every major photo frame: no unused placeholder area */
.visual,.story-visual,.about-visual,.media-frame{position:relative;overflow:hidden}
.visual img,.story-visual img,.about-visual img,.media-frame img{width:100%;height:100%;min-height:100%;object-fit:cover;display:block}
.visual{min-height:520px}
.visual img{position:absolute;inset:0;object-position:center 52%}

/* Journal */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.article-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:32px;min-height:310px;display:flex;flex-direction:column}
.article-card .kicker{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tan);font-weight:800}
.article-card h2{font-family:'Playfair Display',serif;font-size:1.65rem;line-height:1.08;margin:18px 0 12px}
.article-card p{color:var(--muted)}
.article-card a{margin-top:auto;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:900px){
 .split-hero .split-wrap{grid-template-columns:1fr;min-height:0}
 .split-hero .split-copy{padding:64px 28px}
 .split-hero .split-media{min-height:430px}
 .article-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){.article-grid{grid-template-columns:1fr}.split-hero .split-media{min-height:360px}}

/* V4 logo, image focus and contact refinements */
.logo-brand{display:flex!important;align-items:center!important;width:245px!important;min-width:245px!important;height:72px!important;padding:0!important}
.logo-brand img{display:block!important;width:100%!important;height:62px!important;object-fit:contain!important;object-position:left center!important}
.footer .logo-brand{width:220px!important;min-width:220px!important}
.footer .logo-brand img{height:58px!important}
.contact-hero .split-media img{object-fit:cover!important;object-position:center!important}

/* Explicit focal points: subject is intentionally framed, not generically centered */
.hero-media img{object-fit:cover!important;object-position:66% 38%!important}
.atmosphere-visual{min-height:560px!important}
.atmosphere-visual img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 48%!important}
.about-hero .split-media img{object-position:50% 52%!important}
.services-hero .split-media img{object-position:52% 42%!important}
.barbers-hero .split-media img{object-position:50% 24%!important}
.experience-hero .split-media img{object-position:50% 48%!important}
.journal-hero .split-media img{object-position:63% 38%!important}

@media(max-width:980px){.logo-brand{width:205px!important;min-width:205px!important}.logo-brand img{height:54px!important}}
@media(max-width:700px){.logo-brand{width:178px!important;min-width:178px!important;height:60px!important}.logo-brand img{height:48px!important}}

/* ===== V5 HOME EXPERIENCE: cinematic scroll + differentiated previews ===== */
html{scroll-behavior:smooth}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
.home-hero .hero-media img{object-position:64% 38%!important}
.home-intro{padding:110px 0}
.home-intro-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:90px;align-items:end}
.text-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:5px}
.text-link i{transition:transform .25s}.text-link:hover i{transform:translateX(5px)}

.cinematic{min-height:78vh;position:relative;background-size:cover;background-position:center;background-attachment:fixed;display:flex;align-items:center;color:white;overflow:hidden}
.cinematic-about{background-position:center 48%}
.cinematic-standard{background-position:center 36%}
.cinematic-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,34,28,.88),rgba(12,34,28,.50) 48%,rgba(12,34,28,.20))}
.cinematic-inner{position:relative;z-index:2;max-width:1180px;width:100%}
.cinematic-inner>*{max-width:680px}.cinematic .display{font-size:clamp(3.4rem,6vw,6.8rem);color:white}.cinematic .display em{color:#d3a36b}.cinematic p:not(.eyebrow){max-width:560px;color:#e3e8e5;font-size:1.08rem}
.btn-light{background:#f7f1e8;color:#163128;margin-top:22px}.btn-light:hover{background:#d3a36b;color:#163128}

.home-services{padding:120px 0}
.service-rail{border-top:1px solid var(--line)}
.service-tile{display:grid;grid-template-columns:90px 1fr 50px;gap:25px;align-items:center;padding:34px 6px;border-bottom:1px solid var(--line);transition:padding .3s,background .3s}
.service-tile:hover{padding-left:22px;padding-right:22px;background:#fff}
.service-tile>span{font-family:'Playfair Display',serif;font-size:2rem;color:#c9955b}.service-tile small{color:#9a6a3d;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.service-tile h3{font-family:'Playfair Display',serif;font-size:2rem;margin:4px 0}.service-tile p{color:var(--muted);margin:0}.service-tile>i{justify-self:end}

/* ===== BARBERS · THE PEOPLE — FINAL RESPONSIVE PHOTO COMPOSITION ===== */
.home-barbers{display:grid;grid-template-columns:52% 48%;min-height:560px;background:#163128;color:white;align-items:stretch}
.home-barbers-media{
    display:grid;
    grid-template-rows:62% 38%;
    width:100%;
    height:auto;
    min-height:0;
    overflow:hidden;
    gap:4px;
    align-self:stretch;
}
.barber-main,.barber-chair,.barber-detail{position:relative;overflow:hidden;min-width:0;min-height:0}
.barber-main img,.barber-chair img,.barber-detail img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;transform:none}
.barber-main img{object-position:50% 30%}
.barber-bottom{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-height:0;overflow:hidden}
.barber-chair img{object-position:50% 50%}
.barber-detail img{object-position:50% 50%}
.home-barbers-copy{padding:90px max(45px,calc((100vw - 1180px)/2));padding-left:75px;display:flex;flex-direction:column;justify-content:center}.home-barbers-copy .display{color:white;font-size:clamp(3rem,4.7vw,5.5rem)}.home-barbers-copy .display em{color:#d3a36b}.home-barbers-copy .lead{color:#cbd5d1}.mini-points{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 30px}.mini-points span{border:1px solid rgba(255,255,255,.18);padding:9px 12px;border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}

.home-experience{padding:120px 0}.timeline{display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin-top:35px}.timeline:before{content:"";position:absolute;left:6%;right:6%;top:32px;height:1px;background:#d5c8b8}.timeline-item{position:relative;padding:0 24px 25px}.timeline-item b{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#f7f1e8;border:1px solid #c9b9a5;color:#a86f3e;position:relative;z-index:2;font-family:'Playfair Display',serif;font-size:1.2rem}.timeline-item h3{font-family:'Playfair Display',serif;font-size:1.55rem;margin:22px 0 8px}.timeline-item p{color:var(--muted)}.center-link{text-align:center;margin-top:28px}

.home-blog{padding:120px 0}.blog-preview{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.blog-feature,.blog-mini{border:1px solid var(--line);border-radius:20px;background:white}.blog-feature{padding:48px;min-height:390px;display:flex;flex-direction:column}.blog-feature span,.blog-mini span{color:#a56e3d;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.blog-feature h3{font-family:'Playfair Display',serif;font-size:2.8rem;line-height:1.03;margin:26px 0 16px}.blog-feature p{color:var(--muted);max-width:580px}.blog-feature b{margin-top:auto;text-transform:uppercase;font-size:.75rem;letter-spacing:.07em}.blog-stack{display:grid;gap:22px}.blog-mini{padding:34px;display:grid;grid-template-columns:1fr auto;align-content:center}.blog-mini span{grid-column:1/-1}.blog-mini h3{font-family:'Playfair Display',serif;font-size:1.7rem;line-height:1.1;margin:16px 0 0}.blog-mini i{align-self:end}

.home-contact{display:grid;grid-template-columns:55% 45%;background:#e9dfd1;min-height:620px}.home-contact-copy{padding:90px max(45px,calc((100vw - 1180px)/2));padding-right:70px;display:flex;flex-direction:column;justify-content:center}.home-contact-copy .display{font-size:clamp(3rem,4.8vw,5.6rem)}.home-contact-media{position:relative;overflow:hidden}.home-contact-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0 4px}.btn-outline-dark{border:1px solid #163128;color:#163128;background:transparent}.btn-outline-dark:hover{background:#163128;color:white}

@media(max-width:900px){
 .home-intro-grid,.home-barbers,.blog-preview,.home-contact{grid-template-columns:1fr}
 .home-barbers{min-height:0;align-items:stretch}
 .home-barbers-media{width:100%;height:500px;min-height:0;grid-template-rows:58% 42%;align-self:auto}
 .home-barbers-copy,.home-contact-copy{padding:70px 28px}
 .home-contact-media{min-height:460px}.timeline{grid-template-columns:1fr 1fr;gap:25px}.timeline:before{display:none}
 .cinematic{background-attachment:scroll;min-height:650px}
 .barber-main img{object-position:50% 38%}
 .barber-chair img,.barber-detail img{object-position:50% 50%}
}
@media(max-width:600px){
 .home-intro{padding:75px 0}.home-intro-grid{gap:35px}.service-tile{grid-template-columns:58px 1fr 25px;gap:12px}.service-tile h3{font-size:1.55rem}
 .timeline{grid-template-columns:1fr}.blog-feature{padding:30px}.blog-feature h3{font-size:2rem}.cinematic .display{font-size:3.2rem}
 .home-barbers{grid-template-columns:1fr;min-height:0}
 .home-barbers-media{width:100%;height:auto;min-height:0;grid-template-rows:280px 180px;gap:4px;aspect-ratio:auto}
 .barber-bottom{grid-template-columns:1fr 1fr;gap:4px}
 .barber-main img{object-fit:cover;object-position:50% 38%}
 .barber-chair img,.barber-detail img{object-fit:cover;object-position:50% 50%}
 .home-barbers-copy{padding:55px 28px 65px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.service-tile,.text-link i{transition:none}}

/* ===== V6 PREMIUM OPENING SEQUENCE ===== */
.executive-intro{
 position:fixed;inset:0;z-index:99999;background:#163128;
 display:grid;place-items:center;overflow:hidden;
 transition:opacity .55s cubic-bezier(.4,0,.2,1),visibility .55s;
}
.executive-intro::before,.executive-intro::after{
 content:"";position:absolute;border:1px solid rgba(211,163,107,.12);border-radius:50%;
 width:540px;height:540px;
}
.executive-intro::before{left:-310px;top:-310px}
.executive-intro::after{right:-340px;bottom:-340px}
.intro-stage{text-align:center;color:#f7f1e8;position:relative;z-index:2;min-width:310px}
.intro-mark{
 width:98px;height:98px;border:1px solid #d3a36b;border-radius:50%;
 margin:0 auto 25px;display:grid;place-items:center;
 opacity:0;transform:scale(.72) rotate(-7deg);
 animation:introMark .55s .12s cubic-bezier(.2,.8,.2,1) forwards;
}
.intro-mark::before{content:"";position:absolute;width:80px;height:80px;border:1px solid rgba(211,163,107,.28);border-radius:50%}
.intro-mark span{font-family:'Playfair Display',Georgia,serif;font-size:4.1rem;line-height:1;color:#d3a36b;font-style:italic}
.intro-rule{height:1px;width:0;background:#d3a36b;margin:0 auto 20px;animation:introRule .55s .48s ease forwards}
.intro-name{font-family:'Playfair Display',Georgia,serif;font-size:2.35rem;letter-spacing:.16em;margin-left:.16em;opacity:0;transform:translateY(12px);animation:introText .48s .72s ease forwards}
.intro-sub{font-size:.67rem;font-weight:800;letter-spacing:.55em;margin:10px 0 0 .55em;color:#d3a36b;opacity:0;animation:introText .42s .9s ease forwards}
.intro-location{font-size:.56rem;letter-spacing:.23em;color:#aebdb7;margin-top:24px;opacity:0;animation:introText .4s 1.08s ease forwards}
.executive-intro.intro-exit{opacity:0;visibility:hidden;pointer-events:none}
body.intro-lock{overflow:hidden}
@keyframes introMark{to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes introRule{to{width:190px}}
@keyframes introText{to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.intro-mark{width:82px;height:82px}.intro-mark::before{width:66px;height:66px}.intro-mark span{font-size:3.45rem}.intro-name{font-size:1.8rem}.intro-sub{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){.executive-intro{display:none!important}}

/* ===== V7 CONSTRUCTED LOGO INTRO ===== */
.intro-logo-draw{width:126px;height:126px;display:block;margin:0 auto 22px;overflow:visible}
.intro-circle,.intro-circle-inner,.intro-e{fill:none;stroke:#d3a36b;stroke-linecap:round;stroke-linejoin:round}
.intro-circle{stroke-width:2;stroke-dasharray:365;stroke-dashoffset:365;animation:drawOuter .72s .08s ease forwards}
.intro-circle-inner{stroke-width:1;opacity:.38;stroke-dasharray:308;stroke-dashoffset:308;animation:drawInner .55s .58s ease forwards}
.intro-e{stroke-width:5;stroke-dasharray:255;stroke-dashoffset:255;animation:drawE .72s .86s cubic-bezier(.3,.7,.2,1) forwards}
.intro-word{display:flex;justify-content:center;align-items:center}
.intro-word span{display:inline-block;opacity:0;transform:translateY(9px);animation:formLetter .28s ease forwards}
.intro-executive{font-family:'Playfair Display',Georgia,serif;font-size:2.25rem;letter-spacing:.14em;margin-left:.14em;color:#f7f1e8}
.intro-executive span:nth-child(1){animation-delay:1.22s}.intro-executive span:nth-child(2){animation-delay:1.28s}.intro-executive span:nth-child(3){animation-delay:1.34s}.intro-executive span:nth-child(4){animation-delay:1.40s}.intro-executive span:nth-child(5){animation-delay:1.46s}.intro-executive span:nth-child(6){animation-delay:1.52s}.intro-executive span:nth-child(7){animation-delay:1.58s}.intro-executive span:nth-child(8){animation-delay:1.64s}.intro-executive span:nth-child(9){animation-delay:1.70s}
.intro-barber{font-size:.67rem;font-weight:800;letter-spacing:.46em;margin:12px 0 0 .46em;color:#d3a36b}
.intro-barber span:nth-child(1){animation-delay:1.76s}.intro-barber span:nth-child(2){animation-delay:1.80s}.intro-barber span:nth-child(3){animation-delay:1.84s}.intro-barber span:nth-child(4){animation-delay:1.88s}.intro-barber span:nth-child(5){animation-delay:1.92s}.intro-barber span:nth-child(6){animation-delay:1.96s}.intro-barber span:nth-child(7){animation-delay:2.00s}.intro-barber span:nth-child(8){animation-delay:2.04s}.intro-barber span:nth-child(9){animation-delay:2.08s}.intro-barber span:nth-child(10){animation-delay:2.12s}.intro-barber span:nth-child(11){animation-delay:2.16s}
.intro-location{animation:none!important;opacity:0;transform:translateY(7px);animation:formLetter .35s 2.28s ease forwards!important}
@keyframes drawOuter{to{stroke-dashoffset:0}}
@keyframes drawInner{to{stroke-dashoffset:0}}
@keyframes drawE{to{stroke-dashoffset:0}}
@keyframes formLetter{to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.intro-logo-draw{width:105px;height:105px}.intro-executive{font-size:1.72rem}.intro-barber{font-size:.57rem;letter-spacing:.36em;margin-left:.36em}}

/* ===== V8: TRUE LOGO-CONSTRUCTION OPENING ===== */
.executive-intro{background:#163128}
.logo-reveal{width:min(78vw,760px);position:relative;z-index:2}
.logo-reveal-svg{display:block;width:100%;height:auto;overflow:visible}
.draw-ring circle,.draw-ring path,.draw-crown path,.draw-e path,.draw-divider{
 stroke-dasharray:420;stroke-dashoffset:420;
}
.draw-ring circle{animation:logoStroke .7s .08s ease forwards}
.draw-ring path{animation:logoStroke .7s .30s ease forwards}
.draw-crown path{animation:logoStroke .48s .62s ease forwards}
.draw-e path{stroke-dasharray:240;stroke-dashoffset:240;animation:logoStroke .58s .78s ease forwards}
.draw-swoosh{opacity:0;transform-origin:73px 84px;transform:scale(.65);animation:logoFill .36s 1.08s ease forwards}
.draw-divider{stroke-dasharray:110;stroke-dashoffset:110;animation:logoStroke .38s 1.12s ease forwards}
.logo-word{opacity:0}
.executive-word{animation:wordReveal .65s 1.32s ease forwards}
.barber-word{animation:wordReveal .52s 1.72s ease forwards}
.intro-tagline{text-align:center;color:#aebdb7;font-size:.58rem;font-weight:700;letter-spacing:.27em;margin-top:24px;opacity:0;transform:translateY(7px);animation:tagReveal .4s 2.02s ease forwards}
.logo-reveal{animation:logoSettle .42s 2.28s ease forwards}
.executive-intro.intro-exit .logo-reveal{transform:scale(1.035);opacity:0;transition:transform .55s ease,opacity .42s ease}
@keyframes logoStroke{to{stroke-dashoffset:0}}
@keyframes logoFill{to{opacity:1;transform:scale(1)}}
@keyframes wordReveal{0%{opacity:0;filter:blur(5px);transform:translateY(5px)}100%{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes tagReveal{to{opacity:1;transform:none}}
@keyframes logoSettle{50%{filter:drop-shadow(0 0 13px rgba(210,162,100,.20))}100%{filter:none}}
@media(max-width:650px){.logo-reveal{width:91vw}.intro-tagline{font-size:.48rem;letter-spacing:.18em}}
@media(prefers-reduced-motion:reduce){.executive-intro{display:none!important}}

/* ===== V9 CLIENT REFINEMENTS ===== */

/* Opening identity: exact visual centering and aligned construction */
.executive-intro{display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important}
.logo-reveal{width:min(760px,88vw)!important;margin:0 auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;transform-origin:center center!important}
.logo-reveal-svg{width:100%!important;max-width:760px!important;margin:0 auto!important;display:block!important}
.intro-tagline{width:100%;text-align:center!important;margin:22px auto 0!important;padding-left:.27em;box-sizing:border-box}

/* Footer logo is purpose-built: white E + EXECUTIVE, no Barber Shop side lines */
.footer .logo-brand{width:245px!important;min-width:245px!important}
.footer .logo-brand img{height:64px!important}

/* Home closing CTA now belongs to the forest/ivory/gold palette */
.home-final-cta{background:#d9c9b4!important;color:#173229!important;border-top:1px solid #c6b49d}
.home-final-cta .eyebrow{color:#7b5838!important}
.home-final-cta h2{color:#173229!important}
.home-final-cta .btn-primary{background:#173229!important;color:#fff!important;border-color:#173229!important}
.home-final-cta .btn-primary:hover{background:#b47d4b!important;border-color:#b47d4b!important}

/* Home cards: darker high-contrast hover */
.cards article,.service-tile,.blog-feature,.blog-mini,.feature-card,.process-card{transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease}
.page-home .cards article:hover,.page-home .service-tile:hover,.page-home .blog-feature:hover,.page-home .blog-mini:hover{
 background:#173229!important;color:#fff!important;border-color:#173229!important;transform:translateY(-4px);box-shadow:0 18px 45px rgba(23,50,41,.16)
}
.page-home .cards article:hover p,.page-home .service-tile:hover p,.page-home .blog-feature:hover p,.page-home .blog-mini:hover p{color:#d5ddd9!important}
.page-home .cards article:hover small,.page-home .service-tile:hover small,.page-home .blog-feature:hover span,.page-home .blog-mini:hover span{color:#d9ad7a!important}

/* Blog cards: dark contrast on hover */
.article-card{transition:background .32s ease,color .32s ease,border-color .32s ease,transform .32s ease,box-shadow .32s ease}
.article-card:hover{background:#173229;color:#fff;border-color:#173229;transform:translateY(-5px);box-shadow:0 20px 48px rgba(23,50,41,.17)}
.article-card:hover p{color:#d3dcd7}.article-card:hover .kicker,.article-card:hover a{color:#d9ad7a}

/* Google reviews + embedded map */
.reputation-section{background:#f1eadf}
.reputation-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:60px;align-items:center}
.google-review-mark{display:flex;align-items:center;gap:16px;margin:28px 0 20px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:14px;width:max-content;max-width:100%}
.google-review-mark i{font-size:1.8rem;color:#4285f4}.google-review-mark div{display:flex;flex-direction:column;gap:3px}.google-review-mark strong{font-family:'Playfair Display',serif;font-size:1.1rem}.google-review-mark span{font-size:.78rem;color:var(--muted)}
.map-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 18px 55px rgba(27,45,38,.09)}
.map-card iframe{display:block;width:100%;height:430px;border:0}.map-address{display:flex;gap:15px;align-items:flex-start;padding:22px 25px}.map-address i{color:var(--tan);margin-top:4px}.map-address div{display:flex;flex-direction:column;gap:4px}.map-address span{color:var(--muted);font-size:.86rem;line-height:1.5}

/* Expanded services remain readable despite longer descriptions */
.service-row{align-items:start!important;padding-top:28px!important;padding-bottom:28px!important}
.service-row p{max-width:700px;line-height:1.72!important}
.services-hero .lead{max-width:700px!important;line-height:1.72!important}

/* Footer navigation has clearer link affordance */
.footer h4{margin-bottom:15px}.footer-grid>div>a:not(.brand){display:block;margin:7px 0;transition:color .2s,transform .2s}.footer-grid>div>a:not(.brand):hover{color:#d9ad7a;transform:translateX(3px)}

@media(max-width:900px){.reputation-grid{grid-template-columns:1fr}.map-card iframe{height:360px}}
@media(max-width:600px){.logo-reveal{width:94vw!important}.intro-tagline{font-size:.44rem!important;letter-spacing:.16em!important}.map-card iframe{height:310px}}

/* ===== V10 POLISH ===== */
/* Slightly larger navbar identity */
.navbar .logo-brand,.nav .logo-brand,.site-header .logo-brand{width:270px!important;min-width:270px!important}
.navbar .logo-brand img,.nav .logo-brand img,.site-header .logo-brand img{height:70px!important;max-height:70px!important}

/* About > Our Philosophy: photograph dissolves into the section */
.philosophy-merged{position:relative;overflow:hidden;padding-top:0!important;padding-bottom:0!important;min-height:650px}
.philosophy-merged .container.split{max-width:none!important;width:100%!important;min-height:650px;display:grid!important;grid-template-columns:52% 48%!important;gap:0!important;padding:0!important}
.philosophy-merged .split-media{position:relative;min-height:650px;overflow:hidden}
.philosophy-merged .split-media img{width:100%;height:100%;object-fit:cover}
.philosophy-merged .split-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 67%,var(--paper,#f4f0e8) 100%);pointer-events:none}
.philosophy-merged .split-copy{padding:85px 7vw 85px 5vw!important;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;margin-left:-1px}

/* Same closing treatment as Home, now used throughout inner pages */
.inner-final-cta{background:#d9c9b4!important;color:#173229!important;border-top:1px solid #c6b49d!important}
.inner-final-cta .eyebrow{color:#7b5838!important}
.inner-final-cta h2,.inner-final-cta .display{color:#173229!important}
.inner-final-cta p{color:#53635c!important}
.inner-final-cta .btn-primary{background:#173229!important;color:#fff!important;border-color:#173229!important}
.inner-final-cta .btn-primary:hover{background:#b47d4b!important;border-color:#b47d4b!important}

/* Map survives; reviews removed */
.location-section{background:#f1eadf}
.location-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:center}

/* Contact image crop */
.contact-hero img,.page-hero-media img{object-position:center 55%!important}

@media(max-width:900px){
 .navbar .logo-brand,.nav .logo-brand,.site-header .logo-brand{width:235px!important;min-width:235px!important}
 .philosophy-merged .container.split{grid-template-columns:1fr!important}
 .philosophy-merged .split-media{min-height:470px}
 .philosophy-merged .split-media:after{background:linear-gradient(0deg,var(--paper,#f4f0e8),transparent 32%)}
 .philosophy-merged .split-copy{padding:55px 7vw 75px!important}
 .location-grid{grid-template-columns:1fr}
}

/* ===== V11 EXACT CORRECTIONS ===== */

/* Our Philosophy — actual V8 markup, merged image only for this section */
.philosophy-merged{
  padding:0!important;
  background:#f4efe6!important;
  overflow:hidden;
  min-height:660px;
}
.philosophy-merged>.container.split{
  max-width:none!important;
  width:100%!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:54% 46%!important;
  gap:0!important;
  align-items:stretch!important;
  min-height:660px;
}
.philosophy-merged .philosophy-copy{
  padding:90px 7vw!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:3;
  background:linear-gradient(90deg,#f4efe6 0%,#f4efe6 88%,rgba(244,239,230,.93) 100%);
}
.philosophy-merged .philosophy-photo{
  position:relative!important;
  min-height:660px!important;
  overflow:hidden!important;
  margin:0!important;
  border-radius:0!important;
}
.philosophy-merged .philosophy-photo img{
  width:100%!important;
  height:100%!important;
  min-height:660px!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
.philosophy-merged .philosophy-photo:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(90deg,#f4efe6 0%,rgba(244,239,230,.78) 12%,rgba(244,239,230,.25) 28%,transparent 52%);
}
.philosophy-merged .checklist{max-width:620px}

/* Contact hero — let the reception image read clearly */
.contact-hero .split-media img{
  object-fit:cover!important;
  object-position:center 50%!important;
  filter:saturate(.88) contrast(1.02);
}

/* Navbar logo gets the requested slightly stronger presence */
.nav .logo-brand{width:282px!important;min-width:282px!important}
.nav .logo-brand img{height:73px!important;max-height:73px!important}

@media(max-width:900px){
 .philosophy-merged>.container.split{grid-template-columns:1fr!important}
 .philosophy-merged .philosophy-copy{padding:65px 7vw!important}
 .philosophy-merged .philosophy-photo,.philosophy-merged .philosophy-photo img{min-height:440px!important}
 .philosophy-merged .philosophy-photo:before{background:linear-gradient(0deg,#f4efe6 0%,rgba(244,239,230,.35) 20%,transparent 45%)}
 .nav .logo-brand{width:245px!important;min-width:245px!important}
}

/* V12 sketch corrections */
.nav .logo-brand{width:268px!important;min-width:268px!important}.footer .logo-brand{width:232px!important;min-width:232px!important}
.philosophy-merged>.container.split{grid-template-columns:54% 46%!important;grid-template-areas:"photo copy"!important}
.philosophy-merged .philosophy-photo{grid-area:photo!important;order:1!important}
.philosophy-merged .philosophy-copy{grid-area:copy!important;order:2!important;padding:90px 7vw 90px 5vw!important;background:#f4efe6!important}
.philosophy-merged .philosophy-photo:before{background:linear-gradient(90deg,transparent 0%,transparent 66%,rgba(244,239,230,.18) 78%,rgba(244,239,230,.72) 92%,#f4efe6 100%)!important}
@media(max-width:900px){.philosophy-merged>.container.split{grid-template-columns:1fr!important;grid-template-areas:"photo" "copy"!important}.philosophy-merged .philosophy-copy{padding:58px 7vw 75px!important}.philosophy-merged .philosophy-photo:before{background:linear-gradient(0deg,#f4efe6 0%,rgba(244,239,230,.55) 16%,transparent 40%)!important}.nav .logo-brand{width:235px!important;min-width:235px!important}}


/* ===== V12 MOBILE SCROLL FIX ===== */
html,body{min-height:100%;overscroll-behavior-y:auto}
html.intro-lock,body.intro-lock{overflow:hidden!important;height:100%!important;touch-action:none}
.reveal{will-change:opacity,transform}
.reveal.is-visible{will-change:auto}

@media(max-width:900px){
  /* Fixed background attachment is unreliable on mobile; JS supplies the parallax movement. */
  .cinematic{
    background-attachment:scroll!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    min-height:72svh;
  }
  /* Keep reveal travel elegant but short enough to trigger visibly on a phone. */
  .reveal{
    transform:translate3d(0,18px,0);
    transition-duration:.62s;
  }
  .reveal.is-visible{transform:translate3d(0,0,0)}
}

@media(max-width:600px){
  .cinematic{min-height:68svh}
}

/* Older mobile browsers without svh support */
@supports not (height:1svh){
  @media(max-width:900px){.cinematic{min-height:620px}}
}

/* FINAL hero focal refinement only — all other design remains locked */
.home-hero .hero-media img{object-position:70% 31%!important}
@media(max-width:900px){.home-hero .hero-media img{object-position:78% 29%!important}}




/* ===== LOCKED HERO PHOTO ROTATION — imagery only ===== */
.home-hero .hero-slideshow{position:relative;overflow:hidden;background:#101916}
.home-hero .hero-slideshow .hero-slide{
  position:absolute!important;inset:0;width:100%;height:100%;display:block;
  object-fit:cover!important;opacity:0;z-index:0;
  transition:opacity 1.45s cubic-bezier(.4,0,.2,1);
  will-change:opacity;
}
.home-hero .hero-slideshow .hero-slide.is-active{opacity:1;z-index:1}
.home-hero .hero-slideshow .hero-badge{z-index:3}
/* Individual desktop focal positions: never stretch the photography. */
.home-hero .hero-slideshow .hero-slide-chair{object-position:50% 50%!important}
.home-hero .hero-slideshow .hero-slide-exterior{object-position:50% 50%!important}
.home-hero .hero-slideshow .hero-slide-barber{object-position:70% 31%!important}
@media(max-width:900px){
 .home-hero .hero-slideshow .hero-slide-chair{object-position:50% 50%!important}
 .home-hero .hero-slideshow .hero-slide-exterior{object-position:52% 50%!important}
 .home-hero .hero-slideshow .hero-slide-barber{object-position:78% 29%!important}
}
@media(max-width:600px){
 .home-hero .hero-slideshow .hero-slide-chair{object-position:50% 50%!important}
 .home-hero .hero-slideshow .hero-slide-exterior{object-position:55% 50%!important}
 .home-hero .hero-slideshow .hero-slide-barber{object-position:72% 30%!important}
}
@media(prefers-reduced-motion:reduce){
 .home-hero .hero-slideshow .hero-slide{transition:none!important}
}

/* Barber team cards: scoped update only */
.barber-team-grid .barber-photo{position:relative;overflow:hidden;background:#26352f;padding:0;isolation:isolate}
.barber-team-grid .barber-photo:before{display:none}
.barber-team-grid .barber-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:-2}
.barber-team-grid .barber-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(16,32,27,.82) 0%,rgba(16,32,27,.25) 42%,rgba(16,32,27,.02) 72%);z-index:-1}
.barber-team-grid .barber-photo>div{padding:25px;align-self:flex-end;width:100%;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.barber-team-grid .barber:nth-child(1) .barber-photo img{object-position:50% 30%}
.barber-team-grid .barber:nth-child(2) .barber-photo img{object-position:50% 28%}
.barber-team-grid .barber:nth-child(3) .barber-photo img{object-position:50% 30%}
.barber-team-grid .barber:nth-child(4) .barber-photo img{object-position:50% 28%}
.barber-team-grid .barber:nth-child(5) .barber-photo img{object-position:50% 25%}
.barber-book-card{background:#fff}
.barber-book-card .portrait{background:linear-gradient(145deg,#173a31,#101f1b);position:relative}
.barber-book-card .portrait:before{content:'✂';font-size:5rem;position:absolute;right:25px;top:20px;opacity:.14}
.barber-book-card .barber-info .btn{margin-top:18px}

/* ===== BARBERS PAGE HERO — THREE INDEPENDENT IMAGES ===== */
.barbers-hero .barber-hero-triptych{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:50% 50%;
  gap:3px;
  background:var(--paper,#f4f0e8);
  min-height:520px;
}
.barbers-hero .barber-hero-triptych:after{display:none}
.barbers-hero .barber-hero-triptych>div{position:relative;overflow:hidden;min-width:0;min-height:0}
.barbers-hero .barber-hero-main{grid-column:1/-1}
.barbers-hero .barber-hero-triptych img{
  position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;
}
.barbers-hero .barber-hero-main img{object-position:50% 44%!important}
.barbers-hero .barber-hero-chair img{object-position:50% 55%!important}
.barbers-hero .barber-hero-detail img{object-position:50% 46%!important}
@media(max-width:900px){
 .barbers-hero .barber-hero-triptych{min-height:430px}
}
@media(max-width:600px){
 .barbers-hero .barber-hero-triptych{min-height:360px;grid-template-rows:52% 48%;gap:2px}
 .barbers-hero .barber-hero-main img{object-position:50% 42%!important}
 .barbers-hero .barber-hero-chair img{object-position:50% 50%!important}
 .barbers-hero .barber-hero-detail img{object-position:50% 44%!important}
}

/* ===== V16 BARBERS HERO — 2-COLUMN EDITORIAL GRID ===== */
.barbers-hero .barber-hero-triptych{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:3px;
  min-height:535px;
}
.barbers-hero .barber-hero-main{
  grid-column:1;
  grid-row:1 / 3;
}
.barbers-hero .barber-hero-chair{
  grid-column:2;
  grid-row:1;
}
.barbers-hero .barber-hero-detail{
  grid-column:2;
  grid-row:2;
}
.barbers-hero .barber-hero-main img{object-position:54% 50%!important}
.barbers-hero .barber-hero-chair img{object-position:50% 52%!important}
.barbers-hero .barber-hero-detail img{object-position:50% 45%!important}
@media(max-width:900px){
 .barbers-hero .barber-hero-triptych{min-height:460px}
}
@media(max-width:600px){
 .barbers-hero .barber-hero-triptych{
   min-height:560px;
   grid-template-columns:1fr 1fr;
   grid-template-rows:58% 42%;
   gap:2px;
 }
 .barbers-hero .barber-hero-main{grid-column:1 / -1;grid-row:1}
 .barbers-hero .barber-hero-chair{grid-column:1;grid-row:2}
 .barbers-hero .barber-hero-detail{grid-column:2;grid-row:2}
 .barbers-hero .barber-hero-main img{object-position:52% 44%!important}
}

/* Photography Final: approved asset focal positions only */
.services-hero .split-media img{object-position:center 38%}
.barbers-hero~.section.alt .visual img{object-position:center 32%}
.journal-hero .split-media img{object-position:center 34%}
@media(max-width:900px){
 .services-hero .split-media img{object-position:center 30%}
 .journal-hero .split-media img{object-position:center 30%}
}

/* ===== Final content pass: booking card, article pages, spacing rhythm ===== */
.cinematic-standard{background-position:center 42%}
.book-card-premium{height:100%;min-height:100%;padding:38px 30px 30px;background:radial-gradient(circle at 18% 8%,#165242 0,#0e3b31 38%,#082d26 100%);color:#fbf7ef;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.book-card-premium .book-scissors{position:absolute;right:-30px;top:20px;font-size:12rem;line-height:1;opacity:.10;transform:rotate(-12deg)}
.book-card-premium h2{font-family:'Playfair Display',serif;font-size:clamp(3rem,4.2vw,4.8rem);line-height:.78;letter-spacing:-.045em;margin:0 0 22px;position:relative;z-index:1}
.book-card-premium h2 em{font-weight:600;color:#d9a565}.book-rule{width:55px;height:3px;background:#d9a565;margin-bottom:20px}.book-card-premium .eyebrow{color:#e3b16f;margin:0 0 8px}.book-note{font-size:.9rem;color:#e6e9e6;margin:0 0 22px}.book-now{display:flex;align-items:center;justify-content:space-between;width:min(100%,230px);padding:13px 18px;border-radius:999px;background:#d9a565;color:#0b3129;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800}.book-now span{font-size:1.2rem}.barber-book-card{min-height:100%}
.article-hero{padding:130px 0 70px;background:var(--cream);border-bottom:1px solid var(--line)}.article-narrow{max-width:820px}.article-hero .display{font-size:clamp(3rem,5.5vw,5.8rem);line-height:.98}.article-body{padding:70px 0 100px}.article-body section{padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid var(--line)}.article-body h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;margin:0 0 14px}.article-body p{font-size:1.08rem;color:#4f5b56}.article-return{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:10px}
main>.section+ .section{margin-top:0}.page-hero+.section{margin-top:0}.section+.cta,.section+.inner-final-cta{margin-top:0}
@media(max-width:900px){.cinematic-standard{background-position:58% center}.article-return{align-items:flex-start;flex-direction:column}.book-card-premium h2{font-size:3.7rem}}
@media(max-width:600px){.article-hero{padding:105px 0 52px}.article-body{padding:55px 0 75px}.book-card-premium{min-height:430px;padding:30px 24px}.book-card-premium h2{font-size:3.35rem}.book-card-premium .book-scissors{font-size:9rem;right:-20px}}


/* ===== Booking Phase 1 — premium five-step appointment flow ===== */
.booking-hero{padding:145px 0 70px;background:linear-gradient(135deg,#f4eee5,#ebe0d2);border-bottom:1px solid var(--line)}
.booking-hero-inner{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:end}.booking-hero .display{font-size:clamp(3.6rem,6vw,6.8rem);line-height:.9}.booking-hero-note{justify-self:end;background:#0b332a;color:white;border-radius:22px;padding:28px;min-width:280px;display:grid;gap:7px}.booking-hero-note i{font-size:1.5rem;color:#d9a565;margin-bottom:8px}.booking-hero-note span{color:#cbd5d1;font-size:.88rem}
.booking-section{padding:72px 0 110px}.booking-shell{max-width:1080px}.booking-progress{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;margin-bottom:28px}.progress-step{appearance:none;border:0;border-right:1px solid var(--line);background:#fff;padding:18px 12px;display:flex;align-items:center;gap:10px;text-align:left;color:#75807b;cursor:default}.progress-step:last-child{border-right:0}.progress-step b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eee8df;color:#7d6a57;font-size:.78rem}.progress-step span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.progress-step.active,.progress-step.done{color:#14372e}.progress-step.active b{background:#14372e;color:white}.progress-step.done b{background:#d9a565;color:#14372e}
.booking-wizard{background:#fff;border:1px solid var(--line);border-radius:24px;padding:42px;box-shadow:0 18px 55px rgba(35,49,43,.06)}.booking-step{display:none}.booking-step.active{display:block}.booking-step-head{max-width:720px;margin-bottom:30px}.booking-step-head h2,.booking-success h2{font-family:'Playfair Display',serif;font-size:clamp(2.3rem,4vw,3.6rem);line-height:1;margin:7px 0 12px}.booking-step-head>p:last-child{color:var(--muted)}
.booking-fields,.date-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-fields label,.date-time-grid label{display:grid;gap:8px}.booking-fields .wide,.date-time-grid .wide{grid-column:1/-1}.booking-fields span,.date-time-grid label>span,.field-label{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#31443d}.booking-wizard input[type=text],.booking-wizard input[type=email],.booking-wizard input[type=tel],.booking-wizard input[type=date],.booking-wizard input:not([type]),.booking-wizard textarea{width:100%;border:1px solid #d9d3ca;border-radius:12px;background:#fbfaf7;padding:15px 16px;font:inherit;color:#17352d;outline:none}.booking-wizard input:focus,.booking-wizard textarea:focus{border-color:#b88a57;box-shadow:0 0 0 3px rgba(184,138,87,.12)}
.barber-select-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.barber-select-card{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fbfaf7;cursor:pointer}.barber-select-card>input{position:absolute;opacity:0}.barber-photo{display:block;height:220px;overflow:hidden;background:#eee}.barber-photo img{width:100%;height:100%;object-fit:cover;display:block}.barber-select-card:nth-child(1) img{object-position:center 35%}.barber-select-card:nth-child(2) img{object-position:center 30%}.barber-select-card:nth-child(3) img{object-position:center 30%}.barber-select-card:nth-child(4) img{object-position:center 30%}.barber-select-card:nth-child(5) img{object-position:center 25%}.barber-select-copy{padding:15px 16px;display:grid;gap:3px}.barber-select-copy strong{font-family:'Playfair Display',serif;font-size:1.25rem}.barber-select-copy small{color:var(--muted)}.barber-select-card>i{position:absolute;right:12px;top:12px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:white;color:#14372e;opacity:0;box-shadow:0 4px 16px #0002}.barber-select-card:has(input:checked){border-color:#b88a57;box-shadow:0 0 0 2px rgba(184,138,87,.2)}.barber-select-card:has(input:checked)>i{opacity:1}.any-barber{min-height:290px;background:#12392f;color:white;display:flex;flex-direction:column;justify-content:flex-end}.any-barber .any-icon{position:absolute;inset:0;display:grid;place-items:center;font-size:6rem;color:#d9a565;opacity:.17}.any-barber .barber-select-copy{position:relative}.any-barber small{color:#cbd5d1}
.service-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.service-choice{position:relative;border:1px solid var(--line);border-radius:15px;padding:19px 18px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;cursor:pointer;background:#fbfaf7}.service-choice input{position:absolute;opacity:0}.service-choice span{display:grid;gap:4px}.service-choice strong{font-family:'Playfair Display',serif;font-size:1.28rem}.service-choice small{color:var(--muted)}.service-choice b{color:#a56e3d}.service-choice:has(input:checked){border-color:#b88a57;background:#f8f1e7;box-shadow:0 0 0 2px rgba(184,138,87,.15)}
.time-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:8px}.time-slot{border:1px solid #d9d3ca;border-radius:10px;background:#fbfaf7;padding:12px 8px;font:inherit;font-size:.84rem;cursor:pointer}.time-slot:hover,.time-slot.selected{background:#14372e;color:white;border-color:#14372e}.booking-nav{display:flex;justify-content:space-between;gap:12px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}.booking-nav .booking-next,.booking-nav .booking-submit{margin-left:auto}.booking-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:25px 0}.summary-item{background:#fbfaf7;padding:18px}.summary-item small{display:block;text-transform:uppercase;letter-spacing:.08em;color:#8a7460;font-size:.65rem;font-weight:800;margin-bottom:5px}.summary-item strong{font-size:1rem}.booking-consent{display:flex;gap:10px;align-items:flex-start;color:#43534d;font-size:.9rem}.booking-consent input{margin-top:3px}.booking-success{max-width:700px;margin:auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:55px 45px;box-shadow:0 18px 55px rgba(35,49,43,.06)}.success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#14372e;color:white;margin:0 auto 20px;font-size:1.4rem}.booking-success>p:not(.eyebrow){color:var(--muted);max-width:560px;margin:0 auto 24px}.booking-success .booking-summary{text-align:left}.booking-success .text-link{display:block;margin:22px auto 0;border:0;background:none;cursor:pointer}
.booking-error{margin-top:14px;color:#9a3f35;font-size:.88rem;font-weight:700}
@media(max-width:900px){.booking-hero-inner{grid-template-columns:1fr}.booking-hero-note{justify-self:start}.booking-progress{grid-template-columns:repeat(5,1fr)}.progress-step{justify-content:center}.progress-step span{display:none}.barber-select-grid{grid-template-columns:1fr 1fr}.service-select-grid{grid-template-columns:1fr}.time-slots{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.booking-hero{padding:115px 0 55px}.booking-section{padding:45px 0 75px}.booking-wizard{padding:26px 18px;border-radius:18px}.booking-progress{border-radius:14px}.progress-step{padding:12px 6px}.progress-step b{width:28px;height:28px}.booking-fields,.date-time-grid{grid-template-columns:1fr}.booking-fields .wide,.date-time-grid .wide{grid-column:auto}.barber-select-grid{grid-template-columns:1fr 1fr;gap:10px}.barber-photo{height:165px}.any-barber{min-height:235px}.service-choice{padding:16px 14px}.time-slots{grid-template-columns:repeat(2,1fr)}.booking-summary{grid-template-columns:1fr}.booking-nav{flex-wrap:wrap}.booking-nav .btn{flex:1}.booking-success{padding:38px 20px}}

/* ===== Booking UX locked refinements ===== */
.booking-nav .btn{transition:background-color .25s ease,color .25s ease,border-color .25s ease,opacity .25s ease}
.booking-nav .btn:disabled{cursor:not-allowed;opacity:.52}
.booking-nav .booking-next.btn-primary:not(:disabled),.booking-nav .booking-submit.btn-primary:not(:disabled){background:#14372e;color:#fff;border-color:#14372e}
.booking-nav .btn-outline-dark{background:#fff;color:#163128;border:1px solid #163128}
.booking-nav .btn-outline-dark:disabled{background:#fff;color:#75817d;border-color:#cbd1ce;opacity:.7}
.marketing-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;text-transform:none!important;letter-spacing:0!important;color:#53615c;font-size:.88rem;font-weight:500!important}
.marketing-consent input{width:auto!important;margin-top:3px}.marketing-consent span{text-transform:none!important;letter-spacing:0!important;color:#53615c!important;font-size:.88rem!important;font-weight:500!important}
.has-error>span:first-child,.has-error>.field-label,.booking-consent.has-error span{color:#b3261e!important}.has-error input:not([type=radio]):not([type=checkbox]),.has-error textarea{border-color:#b3261e!important;box-shadow:0 0 0 3px rgba(179,38,30,.08)!important}.field-error{display:block;color:#b3261e;font-size:.78rem;font-weight:700;margin-top:7px;letter-spacing:0;text-transform:none}.barber-select-grid.has-error,.service-select-grid.has-error{padding-bottom:4px}.booking-consent.has-error{border-left:3px solid #b3261e;padding-left:10px}.booking-consent .field-error{flex-basis:100%}.booking-consent.has-error{flex-wrap:wrap}

/* Mobile navigation booking CTA */
.mobile-book-link{display:none}
@media(max-width:600px){
  .links .mobile-book-link{display:flex;margin-top:6px;background:var(--ink);color:#fff!important;border-radius:999px;padding:14px 18px;justify-content:center;align-items:center}
  .links .mobile-book-link:after{display:none}
}

/* V15.2: About-page-only refinements based on client walkthrough video. */
@media(min-width:901px){
 .about-page .philosophy-merged,
 .about-page .philosophy-merged>.container.split{min-height:520px!important}
 .about-page .philosophy-merged .philosophy-photo,
 .about-page .philosophy-merged .philosophy-photo img{min-height:520px!important}
 .about-page .philosophy-merged .philosophy-copy{padding-top:54px!important;padding-bottom:54px!important}
}
.about-page main>.section.alt,
.about-page main>.section:not(.philosophy-merged),
.about-page main+.section{padding-top:66px;padding-bottom:66px}
.about-page .section-head{margin-bottom:32px}
@media(max-width:600px){
 .about-page main>.section.alt,
 .about-page main>.section:not(.philosophy-merged),
 .about-page main+.section{padding-top:52px;padding-bottom:52px}
 .about-page .philosophy-merged .philosophy-copy{padding-top:45px!important;padding-bottom:48px!important}
}

/* V15.3: restrained barber-and-client editorial illustration on About only */
.vector-editorial{background:#0b251d;color:#f8f3e7;padding:clamp(38px,5vw,76px) 0}.vector-editorial-grid{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:clamp(20px,4vw,65px);align-items:center}.vector-editorial-copy .display{color:#f8f3e7;font-size:clamp(2.4rem,4.4vw,5rem)}.vector-editorial-copy .display em{color:#d8b477}.vector-editorial-copy>p:not(.eyebrow){max-width:420px;line-height:1.8;color:#e4e0d4;margin:20px 0 26px}.vector-editorial-art{overflow:hidden;border-radius:4px}.vector-editorial-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}@media(max-width:760px){.vector-editorial-grid{grid-template-columns:1fr}.vector-editorial{padding:42px 0}.vector-editorial-art{order:-1}}

/* V15.4: lightweight About illustration reveal */
.vector-editorial-animated{animation:ebsEditorialIn .9s ease-out both}
@keyframes ebsEditorialIn{from{opacity:0;transform:translate3d(24px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.vector-editorial-animated{animation:none}}

/* V15.5: preserve complete barber and client composition, without cropping */
.vector-editorial-art{overflow:visible; background:#0b251d; border-radius:6px;}
.vector-editorial-art img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center; border-radius:6px;}
@media(max-width:760px){.vector-editorial-art{overflow:hidden}.vector-editorial-art img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}}
