.home-hero { position: relative; min-height: min(780px, calc(100vh - var(--nav-height))); display: grid; align-items: end; overflow: hidden; color: #fff; background-color: var(--coal); background-position: center; background-size: cover; }
.home-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,6,5,.94) 0%, rgba(7,6,5,.72) 45%, rgba(7,6,5,.18) 100%); }
.home-hero::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0, rgba(255,255,255,.018) 1px, transparent 1px, transparent 8px); pointer-events: none; }
.home-hero__inner { position: relative; z-index: 1; width: 100%; min-width: 0; padding-block: clamp(5rem, 11vw, 8rem); }
.home-hero__content { max-width: 790px; min-width: 0; }
.home-hero .eyebrow { color: var(--brass); }
.home-hero h1 { margin-bottom: 1.35rem; font-family: var(--display); font-size: clamp(5rem, 11vw, 9.2rem); font-weight: 700; line-height: .78; letter-spacing: .005em; text-transform: uppercase; }
.home-hero h1 span { color: var(--copper); }
.home-hero__lead { max-width: 600px; margin-bottom: 2rem; color: rgba(255,255,255,.84); font-size: clamp(1.1rem, 2vw, 1.35rem); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; }

.shop-ribbon { color: var(--paper-light); background: var(--burgundy); border-bottom: 1px solid #7a3933; }
.shop-ribbon__inner { min-height: 62px; display: flex; flex-wrap: wrap; gap: .6rem 2.4rem; align-items: center; justify-content: space-between; font-family: var(--display); font-size: .9rem; font-weight: 600; letter-spacing: .085em; text-transform: uppercase; }
.shop-ribbon__inner span::before { content: "✦"; margin-right: .55rem; color: var(--brass); }
.shop-ribbon a { color: #fff; }

.menu-preview { background-color: var(--paper); background-image: repeating-linear-gradient(0deg, rgba(73,62,50,.025) 0, rgba(73,62,50,.025) 1px, transparent 1px, transparent 6px); }
.menu-preview__intro { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(280px,.65fr); gap: clamp(2rem,8vw,8rem); align-items: end; margin-bottom: 3.5rem; }
.menu-preview__intro h2, .shop-story h2, .family-section h2, .reputation-band h2, .home-cta h2 { margin: 0; font-family: var(--display); font-size: clamp(3.2rem,7vw,6rem); font-weight: 700; line-height: .86; letter-spacing: .005em; text-transform: uppercase; }
.menu-preview__intro > p { margin: 0; color: var(--text-muted); font-size: 1.12rem; }
.barber-menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: clamp(2.5rem,6vw,6rem); border-top: 2px solid var(--ink); }
.barber-menu__item { min-height: 150px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1.5rem; align-items: center; padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.barber-menu__item h3 { margin: 0 0 .25rem; font-family: var(--display); font-size: 1.65rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.barber-menu__item p { max-width: 400px; margin: 0; color: var(--text-muted); font-size: .98rem; }
.barber-menu__price { display: flex; flex-direction: column; align-items: end; white-space: nowrap; }
.barber-menu__price strong { color: var(--copper-dark); font-family: var(--display); font-size: 1.25rem; letter-spacing: .04em; }
.barber-menu__price span { color: var(--text-muted); font-family: var(--ui); font-size: .75rem; text-transform: uppercase; }
.menu-preview__footer { margin-top: 2.5rem; display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; }
.plain-link { font-family: var(--display); font-weight: 700; letter-spacing: .065em; text-decoration: none; text-transform: uppercase; }
.plain-link--light { color: var(--brass); }
.plain-link--light:hover { color: #fff; }

.shop-story { padding: clamp(4.5rem,9vw,9rem) 0; color: var(--paper-light); background: var(--coal); }
.shop-story__grid { display: grid; grid-template-columns: minmax(300px,.75fr) minmax(0,1fr); gap: clamp(3rem,9vw,9rem); align-items: center; }
.shop-story__portrait { position: relative; padding: 0 0 1.5rem 1.5rem; border-left: 1px solid var(--copper); border-bottom: 1px solid var(--copper); }
.shop-story__portrait img { width: 100%; aspect-ratio: .82 / 1; display: block; object-fit: cover; filter: saturate(.72) contrast(1.08); }
.shop-story__portrait p { margin: 1rem 0 0; color: rgba(255,255,255,.6); font-size: .9rem; font-style: italic; }
.shop-story .eyebrow { color: var(--brass); }
.shop-story h2 { max-width: 780px; margin-bottom: 2rem; }
.shop-story__lead { max-width: 700px; margin-bottom: 1.25rem; color: #fff; font-size: clamp(1.2rem,2.3vw,1.55rem); }
.shop-story__copy > p:not(.eyebrow):not(.shop-story__lead) { max-width: 650px; color: rgba(255,255,255,.66); }

.family-section { background: var(--paper-light); }
.family-section__grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(320px,.75fr); gap: clamp(3rem,9vw,9rem); align-items: center; }
.family-section h2 { margin-bottom: 1.5rem; }
.family-section__copy > p:not(.eyebrow) { max-width: 590px; margin-bottom: 2rem; color: var(--text-muted); font-size: 1.1rem; }
.family-section img { width: 100%; aspect-ratio: .86 / 1; object-fit: cover; border: 12px solid var(--paper); outline: 1px solid var(--line); filter: saturate(.82); }

.reputation-band { padding: 3.5rem 0; color: #fff; background: var(--burgundy); border-block: 1px solid #7a3933; }
.reputation-band__inner { display: grid; grid-template-columns: auto 1fr auto; gap: clamp(2rem,6vw,6rem); align-items: center; }
.reputation-band__score { padding-right: clamp(2rem,5vw,5rem); border-right: 1px solid rgba(255,255,255,.25); }
.reputation-band__score strong { display: block; font-family: var(--display); font-size: clamp(4.5rem,8vw,7rem); line-height: .8; }
.reputation-band__score span { color: var(--brass); font-size: .9rem; letter-spacing: .12em; }
.reputation-band .eyebrow { color: var(--brass); }
.reputation-band h2 { max-width: 620px; font-size: clamp(2.2rem,4.5vw,4.2rem); }

.review-widget-loader { height: 1px; overflow: visible; background: var(--brass); }

.home-cta { padding: clamp(4.5rem,8vw,7rem) 0; background: var(--brass); }
.home-cta .eyebrow { color: var(--burgundy); }
.home-cta__inner { display: flex; justify-content: space-between; gap: 2rem; align-items: end; }
.home-cta h2 { max-width: 860px; font-size: clamp(3rem,6vw,5.5rem); }
.home-cta .btn { flex: 0 0 auto; }

@media (max-width: 991.98px) {
  .shop-ribbon__inner { justify-content: flex-start; padding-block: 1rem; }
  .menu-preview__intro, .shop-story__grid, .family-section__grid, .reputation-band__inner { grid-template-columns: 1fr; }
  .menu-preview__intro { gap: 1.5rem; }
  .barber-menu { grid-template-columns: 1fr; }
  .shop-story__portrait, .family-section img { max-width: 620px; }
  .reputation-band__score { padding: 0 0 1.5rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.25); }
  .home-cta__inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 575.98px) {
  .home-hero { min-height: 660px; background-position: 43% center; }
  .home-hero__shade { background: linear-gradient(180deg, rgba(7,6,5,.48), rgba(7,6,5,.9)); }
  .home-hero__inner { padding-block: 4.5rem; }
  .home-hero__content { text-align: center; }
  .home-hero .eyebrow, .home-hero__lead { margin-inline: auto; }
  .home-hero h1 { font-size: clamp(3.4rem,16vw,4.7rem); }
  .home-hero__actions, .home-hero__actions .btn, .menu-preview__footer .btn, .family-section .btn, .home-cta .btn { width: 100%; }
  .shop-ribbon__inner { display: grid; gap: .4rem; }
  .barber-menu__item { grid-template-columns: 1fr; gap: .6rem; }
  .barber-menu__price { align-items: flex-start; }
  .shop-story__portrait { padding: 0 0 1rem 1rem; }
  .family-section img { border-width: 7px; }
  .reputation-band__inner, .home-cta__inner { align-items: center; text-align: center; }
  .reputation-band__score { width: 100%; }
}
