
*{box-sizing:border-box}
:root{
  --ink:#161514;
  --paper:#f3eee4;
  --cream:#fbf8f1;
  --tan:#c8b18a;
  --rust:#a44e34;
  --line:#cfc5b4;
  --muted:#6c675f;
  --white:#fff;
  --shadow:0 20px 55px rgba(37,30,24,.12);
}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(1240px,calc(100% - 42px));margin:auto}

.topbar{
  background:var(--ink);
  color:#eee5d8;
  padding:8px 0;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  overflow:hidden;
}
.marquee{
  display:flex;
  gap:42px;
  white-space:nowrap;
  justify-content:center;
}
.header{
  border-bottom:1px solid var(--line);
  background:rgba(243,238,228,.95);
  backdrop-filter:blur(12px);
  position:sticky;
  top:0;
  z-index:50;
}
.nav{
  min-height:86px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
}
.nav-left,.nav-right{display:flex;gap:24px;align-items:center}
.nav-right{justify-content:flex-end}
.nav a{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.brand{
  text-align:center;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.45rem;
  line-height:1;
  letter-spacing:-.04em;
}
.brand small{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  margin-top:5px;
  font-size:.52rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--muted);
}
.book-btn{
  padding:12px 17px;
  background:var(--rust);
  color:#fff;
  border-radius:2px;
}
.menu-toggle{display:none;border:0;background:none;font-size:1.4rem}

.hero{
  min-height:720px;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  border-bottom:1px solid var(--line);
}
.hero-copy{
  padding:78px max(34px,calc((100vw - 1240px)/2)) 68px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:1px solid var(--line);
}
.kicker{
  font-size:.73rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:var(--rust);
}
.hero h1,.display,.page-hero h1{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  letter-spacing:-.055em;
}
.hero h1{
  margin:18px 0 22px;
  font-size:clamp(4.5rem,8vw,8.3rem);
  line-height:.82;
  max-width:790px;
}
.hero h1 em{
  display:block;
  font-style:italic;
  color:var(--rust);
}
.hero-copy>p{
  max-width:570px;
  font-size:1.03rem;
  color:var(--muted);
  margin:0 0 30px;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:48px;
  padding:0 20px;
  border:1px solid var(--ink);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.7rem;
  font-weight:900;
}
.btn-dark{background:var(--ink);color:#fff}
.btn-rust{background:var(--rust);border-color:var(--rust);color:#fff}
.hero-art{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(22,21,20,.06),rgba(22,21,20,.48)),
    url("hero-barber-chair.png");
  background-size:cover;
  background-position:center;
}
.hero-art::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(18,16,15,.12),rgba(18,16,15,.35)),
    linear-gradient(90deg,rgba(18,16,15,.08),transparent 40%);
}
.hero-art::after{
  content:"";
  position:absolute;
  inset:24px;
  border:1px solid rgba(255,255,255,.16);
  pointer-events:none;
}
.hero-note{
  position:absolute;
  left:28px;bottom:28px;
  width:min(320px,calc(100% - 56px));
  background:var(--cream);
  padding:20px;
  border-left:5px solid var(--rust);
  box-shadow:var(--shadow);
}
.hero-note strong{display:block;font-family:Georgia,serif;font-size:1.25rem;font-weight:400}
.hero-note span{display:block;color:var(--muted);font-size:.84rem;margin-top:5px}

.quick-strip{
  border-bottom:1px solid var(--line);
  background:var(--cream);
}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.quick-item{
  padding:24px 24px;
  border-right:1px solid var(--line);
}
.quick-item:last-child{border-right:0}
.quick-item small{display:block;color:var(--rust);font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:.65rem}
.quick-item strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:1.05rem;margin-top:5px}

.section{padding:98px 0}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:42px;
}
.section-head .display{font-size:clamp(3.2rem,6vw,6rem);line-height:.88;margin:12px 0 0;max-width:760px}
.section-head p{max-width:470px;color:var(--muted);margin:0}

.menu-list{border-top:1px solid var(--ink)}
.service-row{
  display:grid;
  grid-template-columns:80px 1fr auto 140px;
  align-items:center;
  gap:24px;
  padding:28px 6px;
  border-bottom:1px solid var(--line);
  transition:.18s ease;
}
.service-row:hover{background:var(--cream);padding-left:18px;padding-right:18px}
.service-num{font-family:Georgia,serif;font-style:italic;color:var(--rust);font-size:1.3rem}
.service-name{font-family:Georgia,serif;font-size:1.65rem}
.service-desc{color:var(--muted);font-size:.9rem}
.service-price{text-align:right;font-weight:900}

.dark-section{
  background:var(--ink);
  color:#f5edde;
  padding:100px 0;
}
.dark-section .kicker{color:#d38b70}
.barber-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:16px}
.barber-card{
  min-height:470px;
  position:relative;
  overflow:hidden;
  border:1px solid #45413d;
  background:#2a2826;
}
.barber-card:nth-child(1){
  background:linear-gradient(145deg,#7e6b58,#23211f 70%);
}
.barber-card:nth-child(2){
  background:linear-gradient(145deg,#3b3936,#93785d);
}
.barber-card:nth-child(3){
  background:linear-gradient(145deg,#9a8268,#2c2926 72%);
}
.barber-card::before{
  content:"";
  position:absolute;
  width:45%;height:56%;
  left:27%;top:11%;
  background:radial-gradient(circle at 50% 33%,#c5a68b 0 14%,#3a2f27 15% 19%,transparent 20%),linear-gradient(180deg,transparent 0 30%,#1d1b1a 31% 100%);
  border-radius:48% 48% 22% 22%;
  opacity:.78;
}
.barber-info{
  position:absolute;
  left:18px;right:18px;bottom:18px;
  border-top:1px solid rgba(255,255,255,.28);
  padding-top:15px;
}
.barber-info strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:400}
.barber-info span{display:block;color:#bdb3a5;font-size:.79rem;margin-top:4px}
.barber-info b{display:inline-block;margin-top:10px;color:#f0b19a;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}

.gallery-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr .75fr;
  grid-template-rows:290px 290px;
  gap:12px;
}
.gallery-item{position:relative;overflow:hidden;background:#a38c70}
.gallery-item:first-child{grid-row:1/3}
.gallery-item:nth-child(1){background:linear-gradient(145deg,#5e4a39,#b09572)}
.gallery-item:nth-child(2){background:linear-gradient(145deg,#c1aa8c,#40362d)}
.gallery-item:nth-child(3){background:linear-gradient(145deg,#252322,#8a725d)}
.gallery-item:nth-child(4){background:linear-gradient(145deg,#927358,#d0b18f)}
.gallery-item:nth-child(5){background:linear-gradient(145deg,#4a4038,#ba9c79)}
.gallery-item::after{
  content:"";
  position:absolute;
  inset:14%;
  border:1px solid rgba(255,255,255,.45);
}
.gallery-item span{
  position:absolute;
  left:16px;bottom:14px;
  color:#fff;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
  z-index:2;
}

.quote{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.quote-copy{
  padding:70px max(34px,calc((100vw - 1240px)/2));
  border-right:1px solid var(--line);
  background:var(--cream);
}
.quote-copy .display{font-size:clamp(3rem,5vw,5rem);line-height:.92;margin:12px 0 20px}
.quote-copy p{color:var(--muted);max-width:500px}
.quote-form{padding:70px 60px;background:#e8dfd0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
input,select,textarea{
  display:block;width:100%;margin-top:7px;
  padding:14px 12px;
  border:0;border-bottom:1px solid #9c907e;
  background:transparent;
  outline:none;
}
textarea{resize:vertical}
.form-full{grid-column:1/-1}
.form-note{display:none;margin-top:14px;font-weight:800;color:#5f442f}

.page-hero{
  padding:90px 0 64px;
  border-bottom:1px solid var(--line);
}
.page-hero h1{
  font-size:clamp(4rem,8vw,8rem);
  line-height:.86;
  margin:14px 0 20px;
  max-width:1000px;
}
.page-hero p{max-width:700px;color:var(--muted);font-size:1.04rem}

.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.hours-list{border-top:1px solid var(--ink)}
.hours-row{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}

.location-card{
  background:var(--ink);color:#fff;padding:40px;
  min-height:360px;
  display:flex;flex-direction:column;justify-content:space-between
}
.location-card h3{font-family:Georgia,serif;font-weight:400;font-size:2rem;margin:0}
.location-card p{color:#bfb7aa}

footer{background:#0f0e0d;color:#e8dfd0;padding:60px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:50px}
.footer-brand{font-family:Georgia,serif;font-size:2rem}
.footer-grid h4{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:#9d9386}
.footer-grid a,.footer-grid p{display:block;color:#c9c0b3;font-size:.88rem;margin:8px 0}
.footer-bottom{border-top:1px solid #2b2926;margin-top:40px;padding-top:20px;color:#6f6962;font-size:.75rem;display:flex;justify-content:space-between}

@media(max-width:980px){
  .nav{grid-template-columns:1fr auto}.brand{text-align:left}.nav-left,.nav-right{display:none}.menu-toggle{display:block}
  .hero{grid-template-columns:1fr}.hero-copy{border-right:0;border-bottom:1px solid var(--line)}.hero-art{min-height:530px}
  .quick-grid{grid-template-columns:1fr 1fr}.quick-item:nth-child(2){border-right:0}
  .barber-grid{grid-template-columns:1fr 1fr}.barber-card:first-child{grid-column:1/-1}
  .quote{grid-template-columns:1fr}.quote-copy{border-right:0;border-bottom:1px solid var(--line)}
}
@media(max-width:700px){
  .container{width:min(100% - 28px,1240px)}
  .topbar{font-size:.6rem}
  .hero-copy{padding:58px 22px}
  .hero h1{font-size:clamp(4rem,18vw,6rem)}
  .hero-art{min-height:430px}
  .quick-grid{grid-template-columns:1fr}.quick-item{border-right:0;border-bottom:1px solid var(--line)}
  .section{padding:72px 0}.section-head{display:block}.section-head p{margin-top:24px}
  .service-row{grid-template-columns:48px 1fr auto}.service-desc{grid-column:2/4}.service-price{align-self:start}
  .barber-grid{grid-template-columns:1fr}.barber-card:first-child{grid-column:auto}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 220px}.gallery-item:first-child{grid-column:1/-1;grid-row:auto}
  .quote-copy,.quote-form{padding:54px 24px}.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}
  .hours-grid,.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}
}


.hero-note{
  background:rgba(251,248,241,.96);
  backdrop-filter:blur(10px);
}


/* Realistic gallery/service photography */
.gallery-item {
  background:#1f1c19;
}

.gallery-item img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.gallery-item::after {
  content:"";
  position:absolute;
  inset:0;
  border:0;
  background:linear-gradient(180deg,rgba(15,13,12,.04) 35%,rgba(15,13,12,.68) 100%);
  pointer-events:none;
}

.gallery-item span {
  z-index:3;
}

.service-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.service-photo-card{
  position:relative;
  min-height:340px;
  overflow:hidden;
  background:#1c1917;
}

.service-photo-card img{
  width:100%;
  height:100%;
  min-height:340px;
  object-fit:cover;
}

.service-photo-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(12,10,9,.03) 30%,rgba(12,10,9,.76) 100%);
}

.service-photo-copy{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  z-index:2;
  color:#fff;
}

.service-photo-copy strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  font-weight:400;
}

.service-photo-copy span{
  display:block;
  margin-top:5px;
  font-size:.82rem;
  color:rgba(255,255,255,.78);
}

@media(max-width:760px){
  .service-photo-grid{
    grid-template-columns:1fr;
  }
}


/* High-resolution photo grid refinement */
.service-photo-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  align-items:stretch;
}

.service-photo-card{
  position:relative;
  min-height:360px;
  border-radius:0;
  overflow:hidden;
  background:#1b1714;
  box-shadow:none;
}

.service-photo-card img{
  width:100%;
  height:100%;
  min-height:360px;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:translateZ(0);
}

.service-photo-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(10,8,7,.10) 10%, rgba(10,8,7,.55) 100%);
  pointer-events:none;
}

.service-photo-copy{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  z-index:2;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}

.service-photo-copy strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.55rem;
  line-height:1.05;
  font-weight:500;
  margin-bottom:6px;
}

.service-photo-copy span{
  display:block;
  font-size:.9rem;
  line-height:1.45;
  color:rgba(255,255,255,.88);
}

@media (max-width: 980px){
  .service-photo-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px){
  .service-photo-grid{
    grid-template-columns:1fr;
  }
  .service-photo-card,
  .service-photo-card img{
    min-height:320px;
  }
}


/* Editorial inside-the-shop tile layout */
.editorial-tile-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  align-items:stretch;
}

.editorial-tile{
  position:relative;
  min-height:420px;
  overflow:hidden;
  background:#120f0d;
}

.editorial-tile img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  object-position:center;
  display:block;
}

.editorial-tile::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(8,6,5,.12) 0%, rgba(8,6,5,.18) 24%, rgba(8,6,5,.58) 100%);
  pointer-events:none;
}

.editorial-copy{
  position:absolute;
  left:28px;
  top:26px;
  right:28px;
  z-index:2;
  color:#fff;
  max-width:240px;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}

.editorial-copy strong{
  display:block;
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.15rem;
  line-height:1;
  font-weight:500;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.editorial-copy .accent{
  width:34px;
  height:3px;
  margin:12px 0 14px;
  background:#c46c43;
}

.editorial-copy span{
  display:block;
  font-family:Georgia, "Times New Roman", serif;
  font-size:1rem;
  line-height:1.35;
  color:rgba(255,255,255,.96);
}

.editorial-copy small{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.82);
  font-size:.82rem;
  line-height:1.4;
}

@media (max-width: 900px){
  .editorial-tile-grid{
    grid-template-columns:1fr;
  }
  .editorial-tile,
  .editorial-tile img{
    min-height:360px;
  }
}

@media (max-width: 600px){
  .editorial-copy{
    left:20px;
    top:20px;
    right:20px;
    max-width:220px;
  }
  .editorial-copy strong{
    font-size:1.02rem;
  }
  .editorial-copy span{
    font-size:.92rem;
  }
  .editorial-copy small{
    font-size:.76rem;
  }
}


/* Clean front-lobby image treatment */
.editorial-tile img[src="the-shop.png"]{
  object-position:center 48%;
}

.editorial-tile:has(img[src="the-shop.png"]) .editorial-copy{
  max-width:215px;
  padding:14px 16px;
  background:linear-gradient(90deg, rgba(10,8,7,.66), rgba(10,8,7,.18), transparent);
  border-radius:2px;
}

@media(max-width:700px){
  .editorial-tile:has(img[src="the-shop.png"]) .editorial-copy{
    max-width:200px;
  }
}


/* Barber portraits */
.barber-photo-card{
  background:#1a1715 !important;
}

.barber-photo-card::before{
  display:none !important;
}

.barber-photo-card img{
  width:100%;
  height:100%;
  min-height:470px;
  object-fit:cover;
  object-position:center top;
  display:block;
}

.barber-photo-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(10,8,7,.02) 38%, rgba(10,8,7,.78) 100%);
  pointer-events:none;
}

.barber-photo-card .barber-info{
  z-index:2;
}

@media(max-width:700px){
  .barber-photo-card img{
    min-height:440px;
  }
}


/* Force visible barber portraits on homepage and barbers page */
.barber-card.barber-photo-card{
  padding:0;
  min-height:470px;
}

.barber-card.barber-photo-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  z-index:0;
}

.barber-card.barber-photo-card .barber-info{
  z-index:2;
}

.barber-card.barber-photo-card::after{
  z-index:1;
}
