/* Shared inner-page styles */
.page-hero,
section:not(.hero) {
  scroll-margin-top: calc(var(--bar-h) + var(--nav-h));
}
.page-hero {
  padding-top: calc(var(--bar-h) + var(--nav-h) + 4rem);
}
/* ── PAGE HERO ── */
  .page-hero {
    min-height: 60vh;
    display: flex; flex-direction: column; justify-content: flex-end;
    padding: 10rem 3rem 4rem;
    background: var(--dark2);
    border-bottom: 1px solid var(--border);
    position: relative;
    overflow: hidden;
  }
  .page-hero-bg {
    position: absolute; right: 0; top: 0; bottom: 0; width: 45%;
    background: var(--dark3);
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0% 100%);
    z-index: 0;
  }
  .page-hero-img {
    position: absolute; right: 0; top: 0; bottom: 0; width: 45%;
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0% 100%);
    z-index: 1;
    display: flex; align-items: center; justify-content: center;
    background: var(--dark4);
    border-left: 1px solid var(--border);
  }
  .page-hero-img-placeholder {
    font-family: 'Playfair Display', serif;
    font-size: 10rem; font-weight: 900;
    color: var(--gold); opacity: 0.07; user-select: none;
  }
  .page-hero-img-label {
    position: absolute; bottom: 2rem; left: 3rem;
    font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase;
    color: var(--muted); background: rgba(13,13,13,0.85);
    padding: 0.4rem 0.85rem; border-radius: 1px;
  }
  .page-hero-content { position: relative; z-index: 2; max-width: 55%; }
  .eyebrow {
    font-size: 0.68rem; letter-spacing: 0.28em; text-transform: uppercase;
    color: var(--gold); font-weight: 600; margin-bottom: 1.25rem;
    display: flex; align-items: center; gap: 0.75rem;
  }
  .eyebrow::before { content: ''; display: block; width: 32px; height: 1px; background: var(--gold); }
  .page-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.8rem, 6vw, 5.5rem);
    font-weight: 900; line-height: 1.0;
    color: var(--text); margin-bottom: 1.5rem;
  }
  .page-title em { color: var(--gold); font-style: italic; }
  .page-intro {
    font-size: 1.1rem; color: var(--text2);
    max-width: 46ch; line-height: 1.75; font-weight: 300;
  }

  /* ── SECTIONS ── */
  .section-label {
    font-size: 0.65rem; letter-spacing: 0.28em; text-transform: uppercase;
    color: var(--gold); font-weight: 600; margin-bottom: 0.75rem;
    display: flex; align-items: center; gap: 0.75rem;
  }
  .section-label::before { content: ''; display: block; width: 24px; height: 1px; background: var(--gold); }
  .section-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 700; line-height: 1.15; color: var(--text); margin-bottom: 1rem;
  }
  .gold-bar { width: 44px; height: 2px; background: var(--gold); margin-bottom: 2rem; }

  /* ── ORIGIN STORY ── */
  .origin { background: var(--dark); padding: 6rem 3rem; }
  .origin-inner { max-width: 1100px; margin: 0 auto; }
  .origin-grid {
    display: grid; grid-template-columns: 1fr 1.8fr;
    gap: 5rem; align-items: start; margin-top: 1rem;
  }
  .origin-sidebar {}
  .origin-pull {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.3rem, 2vw, 1.7rem);
    font-style: italic; font-weight: 700;
    color: var(--gold); line-height: 1.5;
    border-left: 2px solid var(--gold);
    padding-left: 1.5rem; margin-bottom: 2rem;
  }
  .origin-facts { display: flex; flex-direction: column; gap: 1.25rem; }
  .fact-item { border-top: 1px solid var(--border); padding-top: 1rem; }
  .fact-label { font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); font-weight: 600; margin-bottom: 0.3rem; }
  .fact-value { font-size: 0.92rem; color: var(--text2); font-weight: 300; line-height: 1.5; }
  .origin-body p {
    font-size: 1.05rem; color: var(--text2);
    line-height: 1.9; font-weight: 300; margin-bottom: 1.75rem;
  }
  .origin-body p:last-child { margin-bottom: 0; }
  .origin-body strong { color: var(--text); font-weight: 500; }

  /* ── JEREMIAH MOMENT ── */
  .jeremiah {
    background: var(--dark3);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 6rem 3rem;
  }
  .jeremiah-inner { max-width: 900px; margin: 0 auto; }
  .scripture-block {
    background: var(--dark4);
    border: 1px solid var(--border2);
    border-left: 3px solid var(--gold);
    border-radius: 3px;
    padding: 2.5rem 3rem;
    margin: 3rem 0;
    position: relative;
  }
  .scripture-block::before {
    content: '\201C';
    font-family: 'Playfair Display', serif;
    font-size: 7rem; color: var(--gold); opacity: 0.08;
    position: absolute; top: -1rem; left: 1.5rem;
    line-height: 1; pointer-events: none;
  }
  .scripture-ref {
    font-size: 0.65rem; letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--gold); font-weight: 600; margin-bottom: 1.25rem;
  }
  .scripture-text {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1rem, 1.8vw, 1.2rem);
    font-style: italic; line-height: 1.85;
    color: var(--text2);
  }
  .scripture-text span { color: var(--text); font-weight: 700; font-style: normal; }
  .jeremiah-body p {
    font-size: 1.05rem; color: var(--text2);
    line-height: 1.9; font-weight: 300; margin-bottom: 1.75rem;
  }
  .jeremiah-body p:last-child { margin-bottom: 0; }
  .jeremiah-body strong { color: var(--text); font-weight: 500; }

  /* ── JOURNEY TIMELINE ── */
  .journey { background: var(--dark2); padding: 6rem 3rem; }
  .journey-inner { max-width: 1000px; margin: 0 auto; }
  .timeline { margin-top: 3rem; position: relative; }
  .timeline::before {
    content: ''; position: absolute;
    left: 120px; top: 0; bottom: 0;
    width: 1px; background: var(--border2);
  }
  .timeline-item {
    display: grid; grid-template-columns: 120px 1fr;
    gap: 3rem; margin-bottom: 3rem; position: relative;
  }
  .timeline-item:last-child { margin-bottom: 0; }
  .timeline-year {
    font-family: 'Playfair Display', serif;
    font-size: 1.1rem; font-weight: 700;
    color: var(--gold); text-align: right;
    padding-right: 1.5rem; padding-top: 0.1rem;
    position: relative;
  }
  .timeline-year::after {
    content: ''; position: absolute;
    right: -5px; top: 0.45rem;
    width: 9px; height: 9px;
    border-radius: 50%; background: var(--gold);
    border: 2px solid var(--dark2);
  }
  .timeline-content {}
  .timeline-title { font-size: 1rem; font-weight: 600; color: var(--text); margin-bottom: 0.4rem; }
  .timeline-body { font-size: 0.92rem; color: var(--text2); line-height: 1.75; font-weight: 300; }

  /* ── INFLUENCES ── */
  .influences { background: var(--dark); padding: 6rem 3rem; }
  .influences-inner { max-width: 1100px; margin: 0 auto; }
  .influence-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.25rem; margin-top: 3rem;
  }
  .influence-card {
    background: var(--dark3); border: 1px solid var(--border);
    border-radius: 3px; padding: 2rem;
    transition: border-color 0.25s;
  }
  .influence-card:hover { border-color: var(--gold); }
  .influence-initial {
    width: 52px; height: 52px; border-radius: 50%;
    background: var(--dark5); border: 1px solid var(--border2);
    display: flex; align-items: center; justify-content: center;
    font-family: 'Playfair Display', serif;
    font-size: 1.1rem; font-weight: 700; color: var(--gold);
    margin-bottom: 1rem;
  }
  .influence-name { font-size: 1rem; font-weight: 600; color: var(--text); margin-bottom: 0.3rem; }
  .influence-role { font-size: 0.7rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); font-weight: 600; margin-bottom: 0.75rem; }
  .influence-desc { font-size: 0.88rem; color: var(--text2); line-height: 1.7; font-weight: 300; }

  /* ── HEART STATEMENT ── */
  .heart {
    background: var(--dark4);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 6rem 3rem;
  }
  .heart-inner { max-width: 860px; margin: 0 auto; text-align: center; }
  .heart-quote {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.6rem, 3vw, 2.5rem);
    font-weight: 700; line-height: 1.45;
    color: var(--text); margin-bottom: 1.5rem;
    position: relative;
  }
  .heart-quote em { color: var(--gold); font-style: italic; }
  .heart-body {
    font-size: 1.05rem; color: var(--text2);
    line-height: 1.85; font-weight: 300;
    max-width: 58ch; margin: 0 auto 2.5rem;
  }

  /* ── CTA ── */
  .about-cta { background: var(--dark2); padding: 5rem 3rem; }
  .about-cta-inner {
    max-width: 1000px; margin: 0 auto;
    display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem;
  }
  .cta-card {
    background: var(--dark3); border: 1px solid var(--border);
    border-radius: 3px; padding: 2.5rem;
    transition: border-color 0.25s, transform 0.25s;
    text-decoration: none; color: inherit; display: block;
  }
  .cta-card:hover { border-color: var(--gold); transform: translateY(-3px); }
  .cta-card::before { content: ''; display: block; width: 100%; height: 2px; background: linear-gradient(90deg, var(--gold), transparent); margin-bottom: 1.5rem; }
  .cta-eyebrow { font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); font-weight: 600; margin-bottom: 0.5rem; }
  .cta-title { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 700; color: var(--text); margin-bottom: 0.75rem; }
  .cta-desc { font-size: 0.9rem; color: var(--text2); line-height: 1.7; font-weight: 300; margin-bottom: 1.5rem; }
  .cta-link { font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); font-weight: 600; }

  /* ── ANIMATIONS ── */
  @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
  .page-hero-content > * { opacity: 0; animation: fadeUp 0.7s ease forwards; }
  .eyebrow { animation-delay: 0.1s; }
  .page-title { animation-delay: 0.25s; }
  .page-intro { animation-delay: 0.4s; }

  /* ── RESPONSIVE ── */
  @media (max-width: 900px) {
    nav { padding: 0 1.5rem; }
    .page-hero { padding: 8rem 1.5rem 3rem; }
    .page-hero-bg, .page-hero-img { display: none; }
    .page-hero-content { max-width: 100%; }
    .origin-grid { grid-template-columns: 1fr; gap: 3rem; }
    .timeline::before { left: 80px; }
    .timeline-item { grid-template-columns: 80px 1fr; gap: 2rem; }
    .about-cta-inner { grid-template-columns: 1fr; }
    .footer-top { grid-template-columns: 1fr 1fr; gap: 2rem; }
    section, .origin, .jeremiah, .journey, .influences, .heart, .about-cta { padding: 4rem 1.5rem; }
  }
  @media (max-width: 600px) {
    .nav-links { display: none; }
    .footer-top { grid-template-columns: 1fr; }
    .influence-grid { grid-template-columns: 1fr; }
  }