/* ---------- Hero: Editorial (dark painterly) ---------- */
.hero-editorial {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}
.hero-editorial-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 30% 40%, rgba(154, 126, 74, 0.28), transparent 55%),
    radial-gradient(ellipse at 80% 70%, rgba(154, 126, 74, 0.18), transparent 60%),
    linear-gradient(180deg, #1a1310 0%, #241a13 45%, #2e2015 100%);
}
.hero-editorial-bg::before {
  content: "";
  position: absolute; inset: 0;
  background-image: url("assets/placeholder-painting.svg");
  background-size: cover;
  background-position: center;
  opacity: 0.35;
  mix-blend-mode: overlay;
}
.hero-editorial-inner {
  position: relative;
  padding: 80px 48px 60px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  gap: 60px;
}
.hero-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.hero-meta { color: var(--muted); }
.hero-headline {
  font-size: clamp(64px, 11vw, 180px);
  color: var(--ivory);
  margin: 24px 0 0;
}
.hero-rule {
  width: 120px; height: 1px; background: var(--editorial-gold-mist); opacity: 0.9;
  margin: 24px 0 0;
}
.hero-deck {
  font-size: clamp(18px, 1.6vw, 24px);
  color: var(--ivory-soft);
  max-width: 640px;
  line-height: 1.45;
  margin: 0;
}
.hero-foot {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  padding-top: 40px;
  border-top: 1px solid rgba(241,232,212,0.15);
  margin-top: 16px;
}
.hero-datum-val {
  margin-top: 10px;
  font-family: var(--font-display-serif);
  font-weight: 400;
  font-size: 20px;
  color: var(--ivory);
  line-height: 1.3;
}
.hero-cta-row { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 8px; }
.hero-brand-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(241,232,212,0.15);
  padding-top: 20px;
  margin-top: 8px;
  gap: 16px;
  flex-wrap: wrap;
}
@media (max-width: 720px) {
  .hero-foot { grid-template-columns: 1fr; gap: 28px; }
  .hero-editorial-inner { padding: 60px 24px 40px; gap: 40px; }
}

/* ---------- Hero: Typographic (cream) ---------- */
.hero-typographic-inner {
  padding: 80px 48px 80px;
}
.hero-big {
  font-size: clamp(72px, 14vw, 220px);
  color: var(--type-charcoal);
  margin: 40px 0 56px;
  line-height: 0.92;
}
.hero-big em { color: var(--badge-orange); }
.hero-typographic-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  padding-top: 40px;
  border-top: 1px solid rgba(26,22,19,0.2);
}
.typographic-copy {
  margin-top: 14px;
  font-family: var(--font-display-serif);
  font-size: 19px;
  line-height: 1.5;
  color: var(--type-charcoal);
  max-width: 460px;
}
@media (max-width: 720px) {
  .hero-typographic-columns { grid-template-columns: 1fr; gap: 40px; }
  .hero-typographic-inner { padding: 60px 24px; }
}

/* ---------- Hero: Portrait ---------- */
.hero-portrait {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: flex-end;
  color: var(--ivory);
  overflow: hidden;
  background: var(--editorial-dark);
}
.hero-portrait-media { position: absolute; inset: 0; }
.hero-portrait-media img {
  width: 100%; height: 100%; object-fit: cover;
  filter: contrast(1.05) brightness(0.75);
}
.hero-portrait-scrim {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(26,19,16,0.3) 0%, rgba(26,19,16,0.85) 90%);
}
.hero-portrait-inner {
  position: relative;
  padding: 80px 48px 60px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.hero-portrait-headline {
  font-size: clamp(64px, 10vw, 160px);
  color: var(--ivory);
  margin: 20px 0 0;
}
.hero-portrait-deck {
  font-size: clamp(18px, 1.5vw, 22px);
  color: var(--ivory-soft);
  max-width: 580px;
  line-height: 1.5;
  margin: 0;
}
@media (max-width: 720px) { .hero-portrait-inner { padding: 60px 24px 40px; } }
