/* ============================================================
   MOCKINGBIRD SONGBOOK — brand layer (loads after style.css)
   Signature motif: the Texas mockingbird + songbook numbering.
   ============================================================ */

/* ---------- Readability hardening ---------- */
.body, .lead { color: var(--ink-soft); }
.section--blush .body, .section--blush .lead { color: #4A352B; }
.section--dark .lead, .section--dark .body { color: rgba(248,242,234,0.82); }
em, .em { color: var(--rose-deep); }
.section--dark em, .section--dark .em { color: var(--blush); }
.eyebrow--champagne { color: var(--champagne-deep); }
.eyebrow--rose { color: var(--rose-deep); opacity: 1; font-family: var(--mono); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; }

/* ---------- Mockingbird brand mark ---------- */
.bird { display: inline-block; width: 34px; height: 34px; color: var(--rose-deep); flex-shrink: 0; }
.nav__brand .bird { color: var(--rose-deep); }
.brand-wordmark { display: flex; flex-direction: column; line-height: 1; }
.brand-wordmark .bw-name {
  font-family: var(--serif); font-variation-settings: "SOFT" 40, "opsz" 96;
  font-size: 19px; letter-spacing: 0.01em; color: var(--ink);
}
.brand-wordmark .bw-sub {
  font-family: var(--mono); font-size: 8.5px; letter-spacing: 0.32em;
  text-transform: uppercase; color: var(--champagne-deep); margin-top: 3px;
}

/* songbook verse numbering — replaces generic plate-num where used */
.verse-tag { font-family: var(--mono); font-size: 10px; letter-spacing: 0.26em; text-transform: uppercase; color: var(--rose-deep); }

/* a hairline branch motif used to top sections */
.branch-rule { display: flex; align-items: center; gap: 16px; margin: 0 0 46px; color: var(--champagne); }
.branch-rule::before, .branch-rule::after { content: ""; height: 1px; background: var(--rule-strong); flex: 1; }
.branch-rule .bird { width: 22px; height: 22px; color: var(--rose-deep); }

/* ---------- Hero refinements ---------- */
.hero__badge {
  background: var(--rose-deep) !important; color: var(--ivory) !important;
  font-variation-settings: "SOFT" 40;
}
.hero__image img { filter: saturate(1.02); }
.hero__title em { color: var(--rose-deep); }

/* ---------- Dallas heritage band ---------- */
.dallas-band {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 1fr 1fr; align-items: stretch;
  background: var(--ink); color: var(--ivory);
}
.dallas-band__media { position: relative; min-height: 440px; overflow: hidden; }
.dallas-band__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.dallas-band__copy { padding: clamp(48px,6vw,96px) clamp(28px,5vw,72px); display: flex; flex-direction: column; justify-content: center; }
.dallas-band__copy h2 { color: var(--ivory); }
.dallas-band__copy .lead { color: rgba(248,242,234,0.84); }
.dallas-band__copy .eyebrow { color: var(--blush); display:block; margin-bottom: 14px; }
.dallas-band__cap { margin-top: 26px; font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
@media (max-width: 860px){ .dallas-band { grid-template-columns: 1fr; } .dallas-band__media { min-height: 320px; } }

/* ---------- Showroom proof strip ---------- */
.proof { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 18px; }
.proof figure { margin: 0; position: relative; overflow: hidden; aspect-ratio: 3/4; background: var(--ivory-deep); }
.proof img { width:100%; height:100%; object-fit: cover; transition: transform 600ms ease; }
.proof figure:hover img { transform: scale(1.05); }
.proof figcaption {
  position:absolute; left:0; right:0; bottom:0; padding: 10px 12px;
  font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ivory); background: linear-gradient(transparent, rgba(42,27,22,0.72));
}
@media (max-width: 860px){ .proof { grid-template-columns: repeat(2,1fr); } }

/* ---------- Editorial real-photo gallery (masonry-ish) ---------- */
.songgrid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 16px; }
.songgrid figure { margin:0; position: relative; overflow: hidden; background: var(--ivory-deep); }
.songgrid img { width:100%; height:100%; object-fit: cover; transition: transform 700ms ease; }
.songgrid figure:hover img { transform: scale(1.045); }
.songgrid .tall { grid-row: span 2; }
.songgrid .wide { grid-column: span 2; }
.songgrid figcaption {
  position:absolute; left:14px; bottom:12px;
  font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ivory); text-shadow: 0 1px 8px rgba(42,27,22,0.6);
}
@media (max-width: 980px){ .songgrid { grid-template-columns: repeat(2,1fr); grid-auto-rows: 200px; } .songgrid .wide{ grid-column: span 2; } }
@media (max-width: 560px){ .songgrid { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; } .songgrid .tall{ grid-row: span 1; } .songgrid .wide{ grid-column: span 2; } }

/* ---------- Reveal engine (fail-open) ---------- */
.reveal--hidden { opacity: 0; transform: translateY(28px); }
.reveal--show { opacity: 1; transform: none; transition: opacity 800ms cubic-bezier(.2,.7,.2,1), transform 800ms cubic-bezier(.2,.7,.2,1); }
[data-reveal-stagger] > * { opacity: 1; transform: none; }
[data-reveal-stagger].is-staggered > * { opacity: 1; transform: none; transition: opacity 700ms ease, transform 700ms ease; }
.img-reveal { position: relative; overflow: hidden; }
.img-reveal img { transform: scale(1.08); transition: transform 1200ms cubic-bezier(.2,.7,.2,1); }
.img-reveal.is-revealed img { transform: scale(1); }
@media (prefers-reduced-motion: reduce){
  .reveal--hidden { opacity:1 !important; transform:none !important; }
  .img-reveal img { transform:none !important; }
}

/* ---------- Marquee tint ---------- */
.marquee { background: var(--rose-deep); color: var(--ivory); }
.marquee__item { color: var(--ivory); }
.marquee__item::after { color: var(--champagne); }

/* ---------- Section--rose accent ---------- */
.section--rose { background: var(--rose-deep); color: var(--ivory); }
.section--rose h1,.section--rose h2,.section--rose h3 { color: var(--ivory); }
.section--rose .lead { color: rgba(248,242,234,0.9); }
.section--rose em { color: var(--blush); }

/* ---------- Mobile hero: keep premium image but lift headline toward the fold ---------- */
@media (max-width: 860px){
  .hero__image { min-height: 50vh !important; }
  .hero__copy { padding-top: 30px !important; padding-bottom: 64px !important; }
  .hero__masthead { margin-bottom: 30px !important; }
  .hero__title { font-size: clamp(40px, 13vw, 60px) !important; }
  .hero__badge { top: 70px !important; }
}

/* hanging-quote heritage pull */
.heritage-quote { font-family: var(--serif); font-style: italic; font-variation-settings:"SOFT" 100,"opsz" 144;
  font-size: clamp(26px,3.4vw,46px); line-height: 1.25; color: var(--ink); max-width: 22ch; }
.section--rose .heritage-quote, .section--dark .heritage-quote { color: var(--ivory); }
