/* Stonehenge homepage hero refinement: photography-led mobile first viewport. */
.hero-home {
  grid-template-columns: minmax(0,.92fr) minmax(440px,1.08fr);
  grid-template-areas: "copy image";
}
.hero-home .hero-image { grid-area: image; }
.hero-home .hero-copy { grid-area: copy; }
.hero-home .hero-cred {
  position: absolute;
  z-index: 3;
  left: 28px;
  top: 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 999px;
  background: rgba(20,23,20,.70);
  color: #fff;
  backdrop-filter: blur(10px);
  font-size: .72rem;
  font-weight: 760;
  letter-spacing: .03em;
}
.hero-home .hero-copy h1 { max-width: 690px; }
.hero-home .hero-copy .lede { max-width: 560px; margin-bottom: 24px; }
.hero-home .hero-primary { align-self: flex-start; }

/* The official logo already contains the Stonehenge wordmark. Keep one cohesive lockup. */
.site-header .brand { min-width: 0; }
.site-header .brand img { width: 132px; height: 84px; }
.site-header .brand-fallback { display: none; }
.site-header .brand.logo-failed .brand-fallback { display: block; }

@media (max-width: 1120px) {
  .hero-home { grid-template-areas: "image" "copy"; }
}

@media (max-width: 780px) {
  .site-header .navbar { min-height: 96px; }
  .site-header .brand img { width: 126px; height: 78px; }
  .hero-home {
    display: block;
    min-height: 0;
    position: relative;
    background: var(--ink);
  }
  .hero-home .hero-image {
    min-height: clamp(520px, 72svh, 650px);
    height: clamp(520px, 72svh, 650px);
  }
  .hero-home .hero-image::after {
    background: linear-gradient(180deg, rgba(0,0,0,.08) 18%, rgba(0,0,0,.18) 48%, rgba(8,12,8,.88) 100%);
  }
  .hero-home .hero-image img { object-position: center center; }
  .hero-home .hero-copy {
    position: absolute;
    z-index: 4;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0 22px 30px;
    color: #fff;
    background: transparent;
  }
  .hero-home .hero-copy .eyebrow {
    margin-bottom: 11px;
    color: #efe5d7;
    font-size: .66rem;
    letter-spacing: .14em;
  }
  .hero-home .hero-copy .eyebrow::before { width: 24px; }
  .hero-home .hero-copy h1 {
    max-width: 11ch;
    color: #fff;
    font-size: clamp(2.55rem, 11vw, 3.75rem);
    line-height: .96;
    text-wrap: balance;
  }
  .hero-home .hero-copy .lede {
    max-width: 34rem;
    margin: 15px 0 20px;
    color: rgba(255,255,255,.88);
    font-size: .98rem;
    line-height: 1.48;
  }
  .hero-home .hero-primary {
    min-height: 46px;
    padding: 10px 16px;
    background: #f7f3e8;
    color: var(--ink);
    border-color: #f7f3e8;
    font-size: .88rem;
  }
  .hero-home .hero-primary:hover { background: #fff; color: var(--ink); }
  .hero-home .hero-cred {
    left: 18px;
    top: 18px;
    max-width: calc(100% - 36px);
    gap: 6px;
    padding: 8px 10px;
    font-size: .64rem;
    line-height: 1.25;
  }
}

@media (max-width: 540px) {
  .site-header .navbar { min-height: 92px; }
  .site-header .brand img { width: 120px; height: 74px; }
  .hero-home .hero-image {
    min-height: clamp(500px, 70svh, 600px);
    height: clamp(500px, 70svh, 600px);
  }
  .hero-home .hero-copy { padding: 0 18px 24px; }
  .hero-home .hero-copy h1 { font-size: clamp(2.4rem, 10.6vw, 3.2rem); }
  .hero-home .hero-copy .lede { max-width: 30rem; font-size: .94rem; margin: 13px 0 18px; }
  .hero-home .hero-cred { left: 14px; top: 14px; max-width: calc(100% - 28px); }
}
