*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --gold: #B8860B;
  --gold-light: #D4A843;
  --gold-pale: #F5E6C8;
  --deep: #0C0C0C;
  --charcoal: #1A1A1A;
  --warm-gray: #8A8279;
  --light-gray: #EBE6E0;
  --cream: #FAF7F2;
  --heading: 'Cormorant Garamond', Georgia, serif;
  --body: 'DM Sans', -apple-system, sans-serif;
}

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--body);
  background: var(--deep);
  color: var(--cream);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

#particles-canvas {
  position: fixed; top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 0; pointer-events: none;
}

/* ── NAV ── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 1.25rem clamp(1.15rem, 4vw, 3rem);
  display: flex; justify-content: space-between; align-items: center;
  transition: all 0.4s ease;
  background: rgba(12,12,12,0.92);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(184,134,11,0.12);
}
nav.scrolled {
  background: rgba(12,12,12,0.92);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(184,134,11,0.12);
  padding: 0.85rem clamp(1.15rem, 4vw, 3rem);
}
.nav-logo {
  font-family: var(--heading); font-size: 1.8rem; font-weight: 700;
  color: var(--gold-light); letter-spacing: 0.06em; text-decoration: none;
}
.nav-cta {
  font-family: var(--body); font-size: 0.95rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold); text-decoration: none;
  padding: 0.7rem 1.8rem;
  border: 1px solid rgba(184,134,11,0.5);
  transition: all 0.3s ease;
}
.nav-cta:hover { background: var(--gold); color: var(--deep); }

/* ── ORBS ── */
.orb {
  position: absolute; border-radius: 50%; filter: blur(80px);
  animation: orbFloat 20s ease-in-out infinite;
  pointer-events: none; z-index: 0;
}
.orb-1 { width:500px;height:500px;background:radial-gradient(circle,rgba(184,134,11,0.12) 0%,transparent 70%);top:-10%;right:-5%;opacity:0.6; }
.orb-2 { width:400px;height:400px;background:radial-gradient(circle,rgba(184,134,11,0.08) 0%,transparent 70%);bottom:10%;left:-8%;animation-delay:-7s;opacity:0.5; }
.orb-3 { width:350px;height:350px;background:radial-gradient(circle,rgba(212,168,67,0.06) 0%,transparent 70%);top:40%;right:-10%;animation-delay:-14s;opacity:0.4; }
@keyframes orbFloat {
  0%,100%{transform:translate(0,0) scale(1);opacity:0.4;}
  25%{transform:translate(30px,-40px) scale(1.1);opacity:0.6;}
  50%{transform:translate(-20px,20px) scale(0.95);opacity:0.5;}
  75%{transform:translate(40px,30px) scale(1.05);opacity:0.7;}
}

/* ══════════════════════════════════════════
   HERO SECTION
   ══════════════════════════════════════════ */
.hero {
  min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden; padding: clamp(4.5rem, 9vw, 6rem) clamp(1.15rem, 5vw, 2rem);
}

/* ── VIDEO LAYER ── */
.hero-video-layer {
  position: absolute; inset: 0; z-index: 1;
  transition: opacity 3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.hero-video-layer.faded-out {
  opacity: 0;
  pointer-events: none;
}

.hero-video {
  position: absolute;
  top: 50%; left: 50%;
  min-width: 100%; min-height: 100%;
  width: auto; height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

/* Video overlay — lighter so lion shows through prominently */
.hero-video-overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(to bottom,
      rgba(12,12,12,0.15) 0%,
      rgba(12,12,12,0.1) 40%,
      rgba(12,12,12,0.35) 70%,
      rgba(12,12,12,0.85) 92%,
      rgba(12,12,12,1) 100%
    ),
    radial-gradient(ellipse 80% 70% at 50% 50%,
      rgba(12,12,12,0.05) 0%,
      rgba(12,12,12,0.3) 100%
    );
}

/* ── DARK ATMOSPHERIC LAYER (underneath, revealed on fade) ── */
.hero-dark-layer {
  position: absolute; inset: 0; z-index: 0;
}

.hero-dark-bg {
  position: absolute; inset: 0;
  background: var(--deep);
}

.hero-geo-grid {
  position: absolute; inset: 0; pointer-events: none; overflow: hidden; opacity: 0.03;
}
.hero-geo-grid::before {
  content: ''; position: absolute; inset: -50%;
  background-image:
    linear-gradient(rgba(184,134,11,0.5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184,134,11,0.5) 1px, transparent 1px);
  background-size: 80px 80px;
  animation: gridDrift 40s linear infinite;
}
@keyframes gridDrift {
  0% { transform: rotate(0deg) translate(0,0); }
  100% { transform: rotate(2deg) translate(40px,40px); }
}

.hero-dark-orb-1 {
  position: absolute; width: 500px; height: 500px; border-radius: 50%;
  filter: blur(80px); top: -10%; right: -5%;
  background: radial-gradient(circle, rgba(184,134,11,0.12) 0%, transparent 70%);
  animation: orbFloat 20s ease-in-out infinite; opacity: 0.6;
}
.hero-dark-orb-2 {
  position: absolute; width: 400px; height: 400px; border-radius: 50%;
  filter: blur(80px); bottom: 10%; left: -8%;
  background: radial-gradient(circle, rgba(184,134,11,0.08) 0%, transparent 70%);
  animation: orbFloat 20s ease-in-out infinite; animation-delay: -7s; opacity: 0.5;
}

/* Streaks (visible in both states, z-index above both layers) */
.hero-streaks {
  position: absolute; inset: 0; overflow: hidden;
  pointer-events: none; z-index: 2;
}
.hero-streaks::before, .hero-streaks::after {
  content: ''; position: absolute; width: 1px; height: 200%;
  background: linear-gradient(to bottom, transparent, rgba(184,134,11,0.1), transparent);
  animation: streakFall 8s linear infinite;
}
.hero-streaks::before { left:25%; transform:rotate(15deg); }
.hero-streaks::after { left:70%; animation-delay:-4s; transform:rotate(-12deg); }
@keyframes streakFall {
  0%{top:-100%;opacity:0;} 10%{opacity:1;} 90%{opacity:1;} 100%{top:100%;opacity:0;}
}

.hero-line {
  position: absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:1px; height:100px;
  background:linear-gradient(to bottom, transparent, var(--gold));
  opacity:0.4; z-index:3;
  animation: linePulse 3s ease-in-out infinite;
}
@keyframes linePulse { 0%,100%{opacity:0.3;height:100px;} 50%{opacity:0.6;height:120px;} }

/* Gold wash over everything */
.hero-gold-wash {
  position: absolute; inset: 0; z-index: 2;
  background: radial-gradient(ellipse 70% 50% at 50% 40%, rgba(184,134,11,0.05) 0%, transparent 70%);
  mix-blend-mode: overlay; pointer-events: none;
}

/* ── HERO CONTENT ── */
.hero-content {
  max-width: 1000px; text-align: center;
  position: relative; z-index: 10;
}

.hero-content h1 {
  font-family: var(--heading);
  font-size: clamp(2.4rem, 5vw, 3.6rem);
  font-weight: 600; line-height: 1.2;
  color: #fff; margin-bottom: 2rem;
  text-shadow:
    0 2px 8px rgba(0,0,0,0.7),
    0 4px 30px rgba(0,0,0,0.5),
    0 0 80px rgba(0,0,0,0.4);
  transition: text-shadow 3s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.hero-content h1 em {
  font-style: italic; color: var(--gold-light);
  text-shadow:
    0 2px 8px rgba(0,0,0,0.7),
    0 0 30px rgba(184,134,11,0.4),
    0 0 80px rgba(0,0,0,0.4);
}

/* Softer shadows once video fades */
.hero.dark-mode h1 {
  text-shadow:
    0 2px 20px rgba(0,0,0,0.5),
    0 0 60px rgba(0,0,0,0.3);
}

.hero-word {
  display: inline-block; opacity: 0; transform: translateY(25px);
  animation: wordReveal 0.5s ease forwards; animation-play-state: paused;
}
@keyframes wordReveal { to { opacity:1; transform:translateY(0); } }

.hero-sub {
  font-family: var(--body); font-size: clamp(1.3rem,2.6vw,1.65rem);
  color: #FFFFFF; font-weight:600; max-width: 850px;
  margin: 0 auto 1.5rem; line-height: 1.85;
  opacity: 0; transform: translateY(20px);
  animation: fadeUp 1s ease forwards 1.8s;
  text-shadow: 0 2px 12px rgba(0,0,0,0.6), 0 0 40px rgba(0,0,0,0.3);
  transition: color 3s cubic-bezier(0.25, 0.1, 0.25, 1), text-shadow 3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.hero.dark-mode .hero-sub {
  color: var(--light-gray);
  text-shadow: none;
}

.hero-ctas {
  display: flex; gap: 1.5rem; justify-content: center; flex-wrap: wrap;
  opacity: 0; transform: translateY(20px);
  animation: fadeUp 1s ease forwards 2.2s;
}

.btn-primary {
  display: inline-block; font-family: var(--body);
  font-size: 0.82rem; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--deep); background: var(--gold);
  padding: 1rem 2.4rem; text-decoration: none;
  transition: all 0.3s ease; position: relative; overflow: hidden;
  box-shadow: 0 4px 20px rgba(184,134,11,0.3);
}
.btn-primary::before {
  content: ''; position: absolute; top:0; left:-100%;
  width:100%; height:100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  transition: left 0.5s ease;
}
.btn-primary:hover::before { left: 100%; }
.btn-primary:hover {
  background: var(--gold-light); transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(184,134,11,0.4);
}

.btn-secondary {
  display: inline-block; font-family: var(--body);
  font-size: 0.82rem; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: #fff; padding: 1rem 2.4rem; text-decoration: none;
  border: 1px solid rgba(255,255,255,0.4);
  transition: all 0.3s ease;
  backdrop-filter: blur(8px); background: rgba(0,0,0,0.25);
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}
.btn-secondary:hover {
  border-color: var(--gold); color: var(--gold);
  background: rgba(0,0,0,0.4); transform: translateY(-2px);
}

.hero.dark-mode .btn-secondary {
  color: var(--gold);
  border-color: rgba(184,134,11,0.5);
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
}

/* ══════════════════════════════════════════
   BODY SECTIONS
   ══════════════════════════════════════════ */
section { padding: clamp(3.5rem, 8vw, 7rem) clamp(1.15rem, 5vw, 2rem); position: relative; overflow: hidden; }
.founders-section-tight { padding-top: 3rem; }
.section-inner { max-width: 800px; margin: 0 auto; position: relative; z-index: 2; }

.section-divider {
  display: flex; align-items: center; justify-content: center;
  gap: 1.5rem; margin-bottom: 3.5rem;
}
.section-divider::before, .section-divider::after {
  content: ''; height: 1px; width: 60px;
  background: linear-gradient(to right, transparent, var(--gold));
}
.section-divider::after { background: linear-gradient(to left, transparent, var(--gold)); }
.section-divider .diamond {
  width:8px;height:8px;background:var(--gold);
  transform:rotate(45deg);flex-shrink:0;
  animation: diamondPulse 3s ease-in-out infinite;
}
@keyframes diamondPulse { 0%,100%{box-shadow:0 0 0 0 rgba(184,134,11,0);} 50%{box-shadow:0 0 12px 3px rgba(184,134,11,0.3);} }

.section-head {
  font-family:var(--heading);font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:500;line-height:1.25;color:var(--cream);
  text-align:center;margin-bottom:3rem;
}
.section-head em { font-style:italic;color:var(--gold-light); }

.body-text {
  font-family:var(--body);font-size:1.35rem;
  color:#EBE6E0;line-height:2.05;margin-bottom:2.1rem;text-align:center;
}
.body-text strong { color:var(--cream);font-weight:600; }

.section-dark { background:var(--deep); }
.section-dark-alt { background:var(--charcoal); }

.section-bg-lines { position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0; }
.section-bg-lines .line {
  position:absolute;width:1px;height:100%;
  background:linear-gradient(to bottom, transparent 0%, rgba(184,134,11,0.06) 50%, transparent 100%);
}
.section-bg-lines .line:nth-child(1){left:10%;animation:lineShimmer 6s ease-in-out infinite;}
.section-bg-lines .line:nth-child(2){left:30%;animation:lineShimmer 6s ease-in-out infinite 1.5s;}
.section-bg-lines .line:nth-child(3){left:50%;animation:lineShimmer 6s ease-in-out infinite 3s;}
.section-bg-lines .line:nth-child(4){left:70%;animation:lineShimmer 6s ease-in-out infinite 4.5s;}
.section-bg-lines .line:nth-child(5){left:90%;animation:lineShimmer 6s ease-in-out infinite 2s;}
@keyframes lineShimmer { 0%,100%{opacity:0;} 50%{opacity:1;} }

.feature-block{border-top:2px solid var(--gold);padding:2.5rem 2.5rem;margin:0;position:relative;transition:all 0.6s ease;text-align:left;width:100%;background:rgba(184,134,11,0.015);opacity:0;transform:scale(0.95);}
.feature-block.visible{opacity:1;transform:scale(1);}
.feature-block:hover{border-top-color:var(--gold-light);background:rgba(184,134,11,0.04);transform:scale(1) translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,0.2);}
.feature-block::before{content:'';position:absolute;left:50%;top:-6px;transform:translateX(-50%) rotate(45deg);width:10px;height:10px;background:var(--gold);border-radius:0;transition:box-shadow 0.4s ease;}
.feature-block:hover::before{box-shadow:0 0 12px 3px rgba(184,134,11,0.4);}
.feature-title{font-family:var(--heading);font-size:2.2rem;font-weight:700;color:#F0D78C;margin-bottom:1.2rem;text-align:center;letter-spacing:0.01em;}
.feature-text{font-family:var(--body);font-size:1.2rem;color:#EBE6E0;line-height:1.95;text-align:center;}

.trait-list{margin:2.5rem 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem 2.5rem;}
.trait-item{padding:1.8rem 1.5rem;border-bottom:none;border-top:2px solid rgba(184,134,11,0.25);border-left:none;font-family:var(--body);font-size:1.28rem;color:#EBE6E0;line-height:2.05;position:relative;transition:all 0.3s ease;text-align:left;}
.trait-item:hover{border-top-color:var(--gold);background:rgba(184,134,11,0.03);}
.trait-item::before{content:'';position:absolute;left:50%;top:-5px;transform:translateX(-50%) rotate(45deg);width:8px;height:8px;background:var(--gold);transition:all 0.3s ease;}
.trait-item:hover::before{box-shadow:0 0 10px 3px rgba(184,134,11,0.3);}

.bridge{text-align:center;padding:3rem 2rem 2.5rem;background:var(--deep);position:relative;}
.bridge::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:60px;background:linear-gradient(to bottom, transparent, var(--gold));opacity:0.4;}
.bridge::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:1px;height:40px;background:linear-gradient(to top, transparent, var(--gold));opacity:0.4;}
.bridge-text{font-family:var(--heading);font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:400;font-style:italic;text-align:center;color:#EBE6E0;max-width:680px;margin:0 auto;line-height:1.8;}

.founders-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1300px;margin:0 auto;}
.founder-card{border:1px solid rgba(184,134,11,0.15);padding:3rem 3.5rem;position:relative;background:rgba(26,26,26,0.5);transition:all 0.5s ease;overflow:hidden;}
.founder-card::before{content:'';position:absolute;top:-1px;left:2rem;width:60px;height:3px;background:var(--gold);transition:width 0.5s ease;}
.founder-card:hover::before{width:120px;}
.founder-card::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top left, rgba(184,134,11,0.03) 0%, transparent 60%);opacity:0;transition:opacity 0.5s ease;pointer-events:none;}
.founder-card:hover::after{opacity:1;}
.founder-card:hover{border-color:rgba(184,134,11,0.3);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.3);}
.founder-name{font-family:var(--heading);font-size:2rem;font-weight:600;color:var(--gold-light);margin-bottom:0.5rem;}
.founder-tagline{font-family:var(--heading);font-size:1.55rem;font-weight:600;font-style:italic;color:#E8D9A8;margin-bottom:0.5rem;line-height:1.45;}
.founder-tagline-2{font-family:var(--heading);font-size:1.35rem;font-weight:500;font-style:italic;color:#DCCB94;margin-bottom:2rem;line-height:1.5;}
.founder-body{font-family:var(--body);font-size:1.28rem;color:#EBE6E0;line-height:2.05;margin-bottom:1.4rem;text-align:center;}

.moral-section{background:var(--charcoal);text-align:center;position:relative;}
.moral-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 50% 40% at 50% 50%, rgba(184,134,11,0.05) 0%, transparent 70%);animation:moralGlow 8s ease-in-out infinite;}
@keyframes moralGlow{0%,100%{opacity:0.5;}50%{opacity:1;}}
.moral-body{font-family:var(--body);font-size:1.3rem;color:#F5F1EC;line-height:2.05;max-width:740px;margin:0 auto 2.1rem;text-align:center;}
.scripture{font-family:var(--heading);font-size:1.65rem;font-style:italic;color:#FFF8E7;max-width:700px;margin:2.5rem auto 0;line-height:1.7;padding:2.5rem;border-top:2px solid rgba(184,134,11,0.5);border-bottom:2px solid rgba(184,134,11,0.5);position:relative;}
.scripture::before,.scripture::after{content:'';position:absolute;width:20px;height:20px;border:1px solid rgba(184,134,11,0.2);}
.scripture::before{top:-10px;left:-10px;border-right:0;border-bottom:0;}
.scripture::after{bottom:-10px;right:-10px;border-left:0;border-top:0;}
.scripture-ref{display:block;margin-top:1.5rem;font-family:var(--heading);font-style:normal;font-size:1.85rem;font-weight:600;color:#E8C65A;letter-spacing:0.03em;}

.closing{text-align:center;padding:8rem 2rem 2rem;background:var(--deep);position:relative;overflow:hidden;}
.closing-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 50%, rgba(184,134,11,0.05) 0%, transparent 70%);pointer-events:none;}
.closing-rings{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;}
.closing-rings .ring{position:absolute;border:1px solid rgba(184,134,11,0.06);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);animation:ringExpand 12s ease-in-out infinite;}
.closing-rings .ring:nth-child(1){width:200px;height:200px;}
.closing-rings .ring:nth-child(2){width:400px;height:400px;animation-delay:-3s;}
.closing-rings .ring:nth-child(3){width:600px;height:600px;animation-delay:-6s;}
.closing-rings .ring:nth-child(4){width:800px;height:800px;animation-delay:-9s;}
@keyframes ringExpand{0%,100%{opacity:0;transform:translate(-50%,-50%) scale(0.95);}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05);}}

.closing-head{font-family:var(--heading);font-size:clamp(2rem,4vw,2.8rem);font-weight:600;color:#D4A843;margin-bottom:1rem;position:relative;}
.closing-body{font-family:var(--body);font-size:1.5rem;color:#EBE6E0;max-width:920px;margin:0 auto 1.7rem;line-height:2.05;position:relative;text-align:center;}
.closing-selective{font-family:var(--body);font-size:1.3rem;color:#EBE6E0;font-style:italic;margin-bottom:3rem;position:relative;text-align:center;}
.closing-ctas{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;position:relative;}
.closing-learn{font-family:var(--body);font-size:1.25rem;color:#D9D3CB;margin-top:2.5rem;position:relative;text-align:center;}
.closing-learn a{color:#E8D9A8;text-decoration:none;border-bottom:1px solid rgba(184,134,11,0.4);transition:all 0.3s ease;font-weight:600;}
.closing-learn a:hover{border-color:var(--gold);text-shadow:0 0 12px rgba(184,134,11,0.3);}

.reveal{opacity:0;transition:opacity 0.9s ease, transform 0.9s ease;}
.reveal.visible{opacity:1;transform:none !important;}
.reveal-up{transform:translateY(45px);}
.reveal-left{transform:translateX(-50px);}
.reveal-right{transform:translateX(50px);}
.reveal-scale{transform:scale(0.92);}
.reveal-fade{transform:none;}
.stagger-1{transition-delay:0.05s;}.stagger-2{transition-delay:0.1s;}.stagger-3{transition-delay:0.15s;}.stagger-4{transition-delay:0.2s;}.stagger-5{transition-delay:0.25s;}.stagger-6{transition-delay:0.3s;}

.parallax-text{will-change:transform;transition:transform 0.1s linear;}

@keyframes fadeUp{to{opacity:1;transform:translateY(0);}}

footer{padding:2rem 2rem;text-align:center;border-top:1px solid rgba(184,134,11,0.1);background:var(--deep);position:relative;z-index:2;}

@media (max-width:768px) {
  .feature-block{padding-left:0;}
  .founder-card{padding:2rem 1.5rem;}
  .hero-ctas,.closing-ctas{flex-direction:column;align-items:center;}
  .orb,.hero-dark-orb-1,.hero-dark-orb-2{display:none;}
  .founders-grid{grid-template-columns:1fr;max-width:800px;}
  .trait-list{grid-template-columns:1fr;}
}
@media (min-width:769px) and (max-width:1100px) {
  .trait-list{grid-template-columns:1fr 1fr 1fr;}

}

/* ── SMALL PHONES (<=480px) ── */
@media (max-width:480px) {
  /* Tighten type so headings/body do not crowd the viewport edges */
  .body-text{font-size:1.12rem;line-height:1.85;}
  .feature-title{font-size:1.75rem;}
  .feature-text{font-size:1.05rem;}
  .trait-item{font-size:1.1rem;padding:1.4rem 1.1rem;}
  .trait-header{font-size:1.6rem;}
  .founder-name{font-size:1.6rem;}
  .founder-tagline{font-size:1.25rem;}
  .founder-body{font-size:1.1rem;}
  .moral-body{font-size:1.1rem;}
  .scripture{font-size:1.25rem;padding:1.75rem;}
  .scripture-ref{font-size:1.4rem;}
  .closing-body{font-size:1.15rem;}

  /* Card and component padding scaled down for narrow screens */
  .feature-block{padding:1.75rem 1.25rem;}
  .founder-card{padding:1.75rem 1.25rem;}
  .section-divider{margin-bottom:2.5rem;gap:1rem;}
  .section-divider::before,.section-divider::after{width:40px;}

  /* Decorative watermarks: keep on-canvas and lighter so they never force overflow */
  .lion-watermark-left,.lion-watermark-right{width:75%;}
  .lion-watermark-center{width:80%;height:70%;}
  .story-emblem-1,.story-emblem-2,.story-emblem-3{width:45%;}

  /* Comfortable tap targets for buttons */
  .btn-primary,.btn-secondary,.nav-cta{padding-top:0.9rem;padding-bottom:0.9rem;}
}

/* ── TOPOGRAPHIC BACKGROUND PATTERNS ── */





/* ── LION WATERMARK ── */
.lion-watermark {
  position:absolute;pointer-events:none;z-index:0;opacity:0.12;
  background-image:url('assets/images/lion-crest.png');background-image:image-set(url('assets/images/lion-crest.webp') type('image/webp'),url('assets/images/lion-crest.png') type('image/png'));
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
}
.lion-watermark-left {
  left:-5%;top:5%;width:55%;height:90%;
}
.lion-watermark-right {
  right:-5%;top:5%;width:50%;height:90%;
}
.lion-watermark-center {
  left:50%;top:50%;transform:translate(-50%,-50%);width:45%;height:80%;
}



/* ── HEADSHOT PLACEHOLDER ── */
.headshot-placeholder {
  width:120px;height:120px;border-radius:50%;
  border:2px solid rgba(184,134,11,0.5);
  background:rgba(184,134,11,0.1);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.5rem;
  font-family:var(--heading);font-size:2.5rem;color:rgba(184,134,11,0.6);
}


/* ── CROSSES BACKGROUND FOR MORAL SECTION ── */
.crosses-bg {
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:url('assets/images/three-crosses.png');background-image:image-set(url('assets/images/three-crosses.webp') type('image/webp'),url('assets/images/three-crosses.png') type('image/png'));
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  opacity:0.25;
}


/* ── STAGGERED STORY EMBLEMS FOR INDUSTRY SECTION ── */
.story-emblem {
  position:absolute;pointer-events:none;z-index:0;
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  opacity:0;
  transition:opacity 1.5s ease;
}
.story-emblem.visible {
  opacity:0.25;
}
.story-emblem-1 {
  background-image:url('assets/images/emblem-1-caged.png');background-image:image-set(url('assets/images/emblem-1-caged.webp') type('image/webp'),url('assets/images/emblem-1-caged.png') type('image/png'));
  left:0;top:2%;width:35%;height:30%;
}
.story-emblem-2 {
  background-image:url('assets/images/emblem-2-awakening.png');background-image:image-set(url('assets/images/emblem-2-awakening.webp') type('image/webp'),url('assets/images/emblem-2-awakening.png') type('image/png'));
  right:0;top:27%;width:35%;height:30%;
}
.story-emblem-3 {
  background-image:url('assets/images/emblem-3-breaking.png');background-image:image-set(url('assets/images/emblem-3-breaking.webp') type('image/webp'),url('assets/images/emblem-3-breaking.png') type('image/png'));
  left:0;top:52%;width:35%;height:30%;
}
.story-emblem-4 {
  background-image:url('assets/images/emblem-4-ascent.png');background-image:image-set(url('assets/images/emblem-4-ascent.webp') type('image/webp'),url('assets/images/emblem-4-ascent.png') type('image/png'));
  left:15%;right:15%;top:75%;width:70%;height:25%;
  background-position:center;
}


/* ── PILLARS TWO-COLUMN GRID ── */
.pillars-grid {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:2.5rem;
  margin:3rem 0;
}
@media (max-width:768px) {
  .pillars-grid { grid-template-columns:1fr; }
}
@media (min-width:769px) and (max-width:1100px) {
  .pillars-grid { grid-template-columns:1fr 1fr; }
}


/* ── TRAIT HEADERS ── */
.trait-header {
  display:block;
  font-family:var(--heading);
  font-size:2rem;
  font-weight:700;
  color:#F0D78C;
  margin-bottom:0.8rem;
  letter-spacing:0.01em;
  text-align:center;
}


/* ── HERO SUB STRUCTURED TREATMENT ── */
.hero-sub-wrapper {
  max-width:950px;
  transition:all 3s cubic-bezier(0.25, 0.1, 0.25, 1);
  margin:0 auto 3rem;
  text-align:center;
  opacity:0;
  transform:translateY(20px);
  animation:fadeUp 1s ease forwards 1.8s;
}
.hero-sub-context {
  font-family:var(--body);
  font-size:clamp(1.05rem,2vw,1.25rem);
  color:rgba(255,255,255,0.88);
  line-height:1.85;
  margin-bottom:0.8rem;
  text-shadow:0 2px 12px rgba(0,0,0,0.6), 0 0 40px rgba(0,0,0,0.3);
}
.hero-declaration-line {
  font-family:var(--heading);
  font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:700;
  color:#F0D78C;
  text-shadow:0 2px 10px rgba(0,0,0,0.6), 0 0 40px rgba(184,134,11,0.3);
  letter-spacing:0.03em;
  margin:1.5rem 0 1rem;
  text-align:center;
}
.hero-declaration-final {
  font-family:var(--body);
  font-size:clamp(1.1rem,2.2vw,1.35rem);
  font-weight:400;
  color:rgba(255,255,255,0.9);
  text-shadow:0 2px 12px rgba(0,0,0,0.6), 0 0 40px rgba(0,0,0,0.3);
  text-align:center;
  margin:0;
  line-height:1.85;
  font-style:italic;
}


/* ── HERO INLINE GOLD PHRASE ── */
.hero-gold-phrase {
  color:#F0D78C;
  font-weight:700;
  font-size:1.15em;
  letter-spacing:0.02em;
}
.hero-gold-line {
  font-family:var(--heading);
  font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:700;
  color:#FFF2C4;
  text-align:center;
  margin:1rem 0 0.6rem;
  line-height:1.3;
  letter-spacing:0.03em;
  text-shadow:0 2px 10px rgba(0,0,0,0.6), 0 0 30px rgba(212,168,67,0.3);
  white-space:nowrap;
}


/* ── HERO CLOSING DECLARATION ── */
.hero-closing-declaration {
  font-family:var(--heading);
  font-size:clamp(1.6rem,3vw,2.2rem);
  font-weight:700;
  color:#FFFFFF;
  text-align:center;
  margin-top:0.4rem;
  line-height:1.3;
  text-shadow:0 2px 10px rgba(0,0,0,0.6), 0 0 40px rgba(0,0,0,0.3);
  opacity:0;
  animation:fadeUp 1s ease forwards 2.4s;
}
.hero-closing-contrast {
  color:#FFF2C4;
  text-shadow:0 2px 10px rgba(0,0,0,0.6), 0 0 30px rgba(255,242,196,0.3);
}


/* ── HERO DARK MODE — TEXT LEFT, LION RIGHT ── */
.hero-lion-face {
  position:absolute;
  right:5%;top:0;bottom:0;width:48%;
  z-index:1;
  background-image:url('assets/images/lion-face-hero.png');background-image:image-set(url('assets/images/lion-face-hero.webp') type('image/webp'),url('assets/images/lion-face-hero.png') type('image/png'));
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  opacity:0;
  transition:opacity 3.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  pointer-events:none;
}

.hero-lion-face-overlay {
  position:absolute;inset:0;
  background:linear-gradient(to right, var(--deep) 0%, rgba(12,12,12,0.5) 25%, rgba(12,12,12,0.05) 50%, rgba(12,12,12,0) 65%, rgba(12,12,12,0) 100%);
}

.hero.dark-mode .hero-lion-face {
  opacity:0.35;
}

.hero.dark-mode .hero-content {
  text-align:center;
  transform:translateX(-28%);
  transition:all 3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.hero.dark-mode .hero-sub-wrapper {
  text-align:center;
}

.hero.dark-mode .hero-sub {
  text-align:center;
}

.hero.dark-mode .hero-gold-line {
  text-align:center;
}

.hero.dark-mode .hero-closing-declaration {
  text-align:center;
}

.hero.dark-mode .hero-ctas {
  justify-content:center;
}

/* Ensure smooth transition for hero content position */
.hero-content {
  transition:transform 3s cubic-bezier(0.25, 0.1, 0.25, 1), text-align 0s;
}

@media (max-width:768px) {
  /* Video plays on mobile too; the lion-face illustration stays hidden (too cramped at phone widths) */
  .hero-lion-face { display:none; }

  /* Kill ALL hero transitions and animations */
  .hero-content,
  .hero.dark-mode .hero-content {
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    transform:none !important;
    transition:none !important;
  }

  /* Make all text immediately visible — no fade delays */
  .hero-word {
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
  }
  .hero-sub-wrapper {
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
    transition:none !important;
  }
  .hero-sub {
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
    transition:none !important;
    color:var(--cream) !important;
    text-shadow:0 2px 12px rgba(0,0,0,0.75) !important;
  }
  .hero-gold-line {
    white-space:normal;
  }
  .hero-closing-declaration {
    opacity:1 !important;
    animation:none !important;
  }
  .hero-ctas {
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
  }

  /* Dark mode overrides — no movement */
  .hero.dark-mode .hero-sub-wrapper,
  .hero.dark-mode .hero-sub,
  .hero.dark-mode .hero-gold-line,
  .hero.dark-mode .hero-closing-declaration {
    text-align:center;
  }
  .hero.dark-mode .hero-ctas {
    justify-content:center;
  }
}


/* ── FOUNDER TOGGLE CARDS ── */
.founder-card {
  cursor:pointer;
}

.founder-preview {
  text-align:center;
}

.founder-toggle-hint {
  font-family:var(--body);
  font-size:0.9rem;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:0.1em;
  margin-top:1.5rem;
  opacity:0.7;
  transition:opacity 0.3s ease;
}

.founder-card:hover .founder-toggle-hint {
  opacity:1;
}

.founder-toggle-icon {
  display:inline-block;
  transition:transform 0.4s ease;
  margin-left:0.3rem;
}

.founder-card.expanded .founder-toggle-icon {
  transform:rotate(180deg);
}

.founder-bio-content {
  max-height:0;
  overflow:hidden;
  transition:max-height 0.8s cubic-bezier(0.25, 0.1, 0.25, 1), opacity 0.6s ease, margin 0.6s ease;
  opacity:0;
  margin-top:0;
}

.founder-card.expanded .founder-bio-content {
  max-height:800px;
  opacity:1;
  margin-top:1.5rem;
}

.founder-card.expanded .founder-toggle-hint span {
  display:none;
}

.founder-card.expanded .founder-toggle-hint::after {
  content:'Read Less';
}


/* ── PILLAR TOGGLE SYSTEM ── */
.feature-block {
  cursor:pointer;
}

.feature-preview {
  font-family:var(--body);
  font-size:1.35rem;
  color:#EBE6E0;
  line-height:1.7;
  text-align:center;
  margin-bottom:0;
  font-style:italic;
}

.pillar-toggle-hint {
  font-family:var(--body);
  font-size:0.85rem;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:0.1em;
  text-align:center;
  margin-top:1rem;
  opacity:0.7;
  transition:opacity 0.3s ease;
}

.feature-block:hover .pillar-toggle-hint {
  opacity:1;
}

.pillar-toggle-icon {
  display:inline-block;
  transition:transform 0.4s ease;
  margin-left:0.3rem;
}

.feature-block.expanded .pillar-toggle-icon {
  transform:rotate(180deg);
}

.pillar-body-content {
  max-height:0;
  overflow:hidden;
  transition:max-height 0.8s cubic-bezier(0.25, 0.1, 0.25, 1), opacity 0.6s ease, margin 0.6s ease;
  opacity:0;
  margin-top:0;
}

.feature-block.expanded .pillar-body-content {
  max-height:600px;
  opacity:1;
  margin-top:1.2rem;
}

.feature-block.expanded .feature-preview {
  display:none;
}

.feature-block.expanded .pillar-toggle-hint span:first-child {
  display:none;
}

.feature-block.expanded .pillar-toggle-hint::before {
  content:'Read Less';
}


/* ── TRAIT TOGGLE SYSTEM ── */
.trait-item {
  cursor:pointer;
}

.trait-preview {
  font-family:var(--body);
  font-size:1.35rem;
  color:#EBE6E0;
  line-height:1.7;
  margin-top:0.5rem;
  margin-bottom:0;
  font-style:italic;
  text-align:center;
}

.trait-toggle-hint {
  font-family:var(--body);
  font-size:0.85rem;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:0.1em;
  margin-top:0.8rem;
  opacity:0.7;
  transition:opacity 0.3s ease;
  text-align:center;
}

.trait-item:hover .trait-toggle-hint {
  opacity:1;
}

.trait-toggle-icon {
  display:inline-block;
  transition:transform 0.4s ease;
  margin-left:0.3rem;
}

.trait-item.trait-expanded .trait-toggle-icon {
  transform:rotate(180deg);
}

.trait-body-content {
  max-height:0;
  overflow:hidden;
  transition:max-height 0.8s cubic-bezier(0.25, 0.1, 0.25, 1), opacity 0.6s ease, margin 0.6s ease;
  opacity:0;
  margin-top:0;
  font-family:var(--body);
  font-size:1.2rem;
  color:#EBE6E0;
  line-height:1.9;
  text-align:center;
}

.trait-item.trait-expanded .trait-body-content {
  max-height:400px;
  opacity:1;
  margin-top:1rem;
}

.trait-item.trait-expanded .trait-preview {
  display:none;
}

.trait-item.trait-expanded .trait-toggle-hint span:first-child {
  display:none;
}

.trait-item.trait-expanded .trait-toggle-hint::before {
  content:'Read Less';
}


/* ══════════════════════════════════════════
   EXPANDED NAVIGATION
   ══════════════════════════════════════════ */
.nav-links {
  display:flex;align-items:center;gap:2rem;
}
.nav-link {
  font-family:var(--body);font-size:0.95rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--cream);text-decoration:none;
  transition:color 0.3s ease;
  padding:0.3rem 0;
  position:relative;
}
.nav-link::after {
  content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;
  background:var(--gold);transition:width 0.3s ease;
}
.nav-link:hover {
  color:var(--gold-light);
}
.nav-link:hover::after {
  width:100%;
}
.nav-link.active {
  color:var(--gold);
}
.nav-link.active::after {
  width:100%;
}

/* Hamburger menu button */
.nav-hamburger {
  display:none;
  background:none;border:none;cursor:pointer;
  padding:0.5rem;z-index:101;
  flex-direction:column;gap:5px;
}
.nav-hamburger span {
  display:block;width:24px;height:2px;
  background:var(--gold);transition:all 0.3s ease;
}
.nav-hamburger.active span:nth-child(1) {
  transform:rotate(45deg) translate(5px,5px);
}
.nav-hamburger.active span:nth-child(2) {
  opacity:0;
}
.nav-hamburger.active span:nth-child(3) {
  transform:rotate(-45deg) translate(5px,-5px);
}

/* Mobile nav */
@media (max-width:768px) {
  .nav-hamburger {
    display:flex;
  }
  .nav-links {
    display:none;
    /* nav has backdrop-filter, which makes IT the containing block for any
       position:fixed descendant — so inset:0 would only fill the nav bar, not
       the screen. Size with viewport units to force a true full-screen overlay
       (dvh accounts for mobile browser chrome; vh is the fallback). */
    position:fixed;top:0;left:0;
    width:100vw;height:100vh;height:100dvh;
    background:rgba(10,10,10,0.98);
    backdrop-filter:blur(20px);
    flex-direction:column;
    align-items:center;justify-content:center;
    gap:2.5rem;
    z-index:100;
    overflow-y:auto;
  }
  .nav-links.open {
    display:flex;
  }
  .nav-link {
    font-size:1.1rem;letter-spacing:0.14em;
  }
  .nav-links .nav-cta {
    font-size:1rem;padding:0.8rem 2rem;
  }
}


/* ══════════════════════════════════════════
   EXPANDED FOOTER
   ══════════════════════════════════════════ */
.footer-inner {
  max-width:800px;margin:0 auto;
}
.footer-brand {
  margin-bottom:1.5rem;
}
.footer-logo {
  font-family:var(--heading);font-size:2.4rem;font-weight:700;
  color:#FFF2C4;letter-spacing:0.06em;
  display:block;margin-bottom:0.2rem;
}
.footer-tagline {
  font-family:var(--heading);font-size:1.75rem;font-weight:700;
  color:#FFFFFF;font-style:italic;
}
.footer-nav {
  display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;
  margin-bottom:2rem;
}
.footer-nav a {
  font-family:var(--body);font-size:0.95rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--cream);text-decoration:none;
  transition:color 0.3s ease;
}
.footer-nav a:hover {
  color:var(--gold);
}
.footer-copy {
  font-family:var(--body);font-size:0.8rem;color:var(--warm-gray);letter-spacing:0.08em;
}


/* ══════════════════════════════════════════
   COMING SOON PAGE
   ══════════════════════════════════════════ */
.coming-soon-hero {
  min-height:80vh;
  display:flex;align-items:center;justify-content:center;
  background:var(--deep);
  position:relative;overflow:hidden;
  padding:8rem 2rem;
}
.coming-soon-hero .section-inner {
  text-align:center;
}
.coming-soon-hero .section-head em {
  font-style:italic;
}
.coming-soon-hero .body-text {
  max-width:680px;margin:0 auto 2.5rem;
}


/* ══════════════════════════════════════════
   INNER PAGE HERO (no video)
   ══════════════════════════════════════════ */
.page-hero {
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;padding:6rem 2rem 2rem;
  padding-top:0;padding-bottom:7.5vh;
}
.page-hero .hero-content {
  max-width:1100px;text-align:center;
  position:relative;z-index:10;
  margin-right:auto;margin-left:8%;
}
.page-hero .hero-content h1 {
  font-family:var(--heading);
  font-size:clamp(2.4rem,5vw,3.6rem);
  font-weight:600;line-height:1.15;
  color:#fff;margin-bottom:1.2rem;
  text-shadow:0 2px 20px rgba(0,0,0,0.5), 0 0 60px rgba(0,0,0,0.3);
}
.page-hero .hero-content h1 em {
  font-style:italic;color:var(--gold-light);
  text-shadow:0 2px 8px rgba(0,0,0,0.7), 0 0 30px rgba(184,134,11,0.4);
}
.page-hero .hero-sub {
  color:var(--light-gray);text-shadow:none;
}

/* Hero with background image */
.page-hero-bg {
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  background-repeat:no-repeat;
}
.page-hero-overlay {
  position:absolute;inset:0;z-index:1;
}
.page-hero-hiw .page-hero-bg {
  background-image:url('assets/images/lion-ridge-hero.jpg');background-image:image-set(url('assets/images/lion-ridge-hero.webp') type('image/webp'),url('assets/images/lion-ridge-hero.jpg') type('image/jpeg'));
}
.page-hero-hiw .page-hero-overlay {
  background:
    linear-gradient(to right,
      rgba(12,12,12,0.7) 0%,
      rgba(12,12,12,0.4) 30%,
      rgba(12,12,12,0.15) 55%,
      rgba(12,12,12,0) 70%
    ),
    linear-gradient(to bottom,
      rgba(12,12,12,0.6) 0%,
      rgba(12,12,12,0.3) 30%,
      rgba(12,12,12,0.25) 50%,
      rgba(12,12,12,0.5) 75%,
      rgba(12,12,12,0.95) 95%,
      rgba(12,12,12,1) 100%
    );
}
.page-hero-hiw .hero-content h1 {
  color:#FFF2C4;
  text-shadow:0 2px 8px rgba(0,0,0,0.7), 0 4px 30px rgba(0,0,0,0.5), 0 0 80px rgba(0,0,0,0.4);
}
.page-hero-hiw .hero-content h1 em {
  color:#ECE8E2;
  text-shadow:0 2px 8px rgba(0,0,0,0.7), 0 4px 30px rgba(0,0,0,0.5), 0 0 80px rgba(0,0,0,0.4);
}
.page-hero-hiw .hero-sub {
  color:#FFFFFF;
  text-shadow:0 2px 12px rgba(0,0,0,0.6), 0 0 40px rgba(0,0,0,0.3);
}

/* ── Three-column layout ── */
.three-col-grid {
  display:flex;
  gap:0;
  margin-top:2rem;
}
.three-col-item {
  flex:1;
  padding:0 2.5rem;
}
.three-col-divider {
  width:1px;
  background:linear-gradient(to bottom, transparent, var(--gold), transparent);
  flex-shrink:0;
}
.three-col-header {
  font-family:var(--heading);
  font-size:2.1rem;font-weight:700;
  color:#F0D78C;
  margin-bottom:1.2rem;
  text-align:center;
}
.three-col-body {
  font-family:var(--body);
  font-size:1.2rem;
  color:#EBE6E0;
  line-height:2.05;
  text-align:center;
}

@media (max-width:768px) {
  .three-col-grid {
    flex-direction:column;
    gap:0;
  }
  .three-col-item {
    padding:2rem 0;
  }
  .three-col-divider {
    width:100%;height:1px;
    background:linear-gradient(to right, transparent, var(--gold), transparent);
  }
}

/* ── Two-column layout ── */
.two-col-layout {
  display:flex;
  align-items:center;
  gap:0;
  margin-top:2rem;
}
.two-col-left {
  flex:1.4;
  padding-right:2.5rem;
}
.two-col-left .body-text:last-child {
  margin-bottom:0;
}
.two-col-divider {
  width:1px;
  align-self:stretch;
  background:linear-gradient(to bottom, transparent, var(--gold), transparent);
  flex-shrink:0;
}
.two-col-right {
  flex:0.8;
  display:flex;
  align-items:center;
  padding-left:2.5rem;
}
.two-col-pullquote {
  font-family:var(--heading);
  font-size:clamp(1.8rem,3.5vw,2.4rem);
  font-weight:700;
  font-style:italic;
  color:#F0D78C;
  line-height:1.4;
  text-align:center;
}

@media (max-width:768px) {
  .two-col-layout {
    flex-direction:column;
    gap:2rem;
  }
  .two-col-left {
    padding-right:0;
  }
  .two-col-left .body-text {
    text-align:center !important;
  }
  .two-col-divider {
    width:100%;height:1px;
    background:linear-gradient(to right, transparent, var(--gold), transparent);
  }
  .two-col-right {
    padding-left:0;
  }
}

/* ── Column icon and label ── */
.col-icon {
  display:block;
  margin:0 auto 1.2rem;
  border-radius:4px;
  /* The lion mark is wider than tall; contain keeps its proportions inside the
     square box (leftover space is transparent) instead of squishing it. */
  object-fit:contain;
}
.col-label {
  display:block;
  font-family:var(--body);
  font-size:0.85rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gold);
  text-align:center;
  margin-bottom:1.2rem;
}

/* ── Section gold rule and declaration ── */
.section-gold-rule {
  height:1px;
  background:linear-gradient(to right, transparent, rgba(184,134,11,0.3), transparent);
  margin:3rem 0 2.5rem;
}
.section-declaration {
  font-family:var(--heading);
  font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:500;
  font-style:italic;
  color:var(--cream);
  text-align:center;
  line-height:1.4;
}
.section-declaration em {
  color:var(--gold-light);
  font-style:italic;
}

/* ── Industry Problem Beats ── */
.beat-block {
  padding:1.5rem 0;
}
.beat-content {
  max-width:820px;
  margin:0 auto;
}
.beat-header {
  font-family:var(--heading);
  font-size:clamp(1.6rem,3vw,2.2rem);
  font-weight:600;
  color:var(--cream);
  text-align:left;
  margin-bottom:1.5rem;
  line-height:1.3;
}
.beat-body {
  font-family:var(--body);
  font-size:1.35rem;
  color:#EBE6E0;
  line-height:2.05;
  text-align:left;
}
.beat-statement {
  padding:2rem 0;
  text-align:center;
}
.beat-statement-rule {
  height:1px;
  background:linear-gradient(to right, transparent, rgba(184,134,11,0.25), transparent);
  max-width:400px;
  margin:0 auto;
}
.beat-statement-text {
  font-family:var(--heading);
  font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:600;
  font-style:italic;
  color:#D4A843;
  line-height:1.4;
  max-width:800px;
  margin:1.2rem auto;
}
.beat-closing {
  text-align:center;
  padding-bottom:3rem;
}
.beat-closing-text {
  font-family:var(--heading);
  font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:700;
  font-style:italic;
  color:#D4A843;
  line-height:1.4;
  max-width:900px;
  margin:0 auto;
}
.beat-closing-text + .beat-closing-text {
  margin-top:0.5rem;
  color:#fff;
}

/* ── Contact page hero ── */
.page-hero-contact .page-hero-bg {
  background-image:url('assets/images/contact-hero.jpg');background-image:image-set(url('assets/images/contact-hero.webp') type('image/webp'),url('assets/images/contact-hero.jpg') type('image/jpeg'));
  background-position:center right;
}
.page-hero-contact .page-hero-overlay {
  background:
    linear-gradient(to right,
      rgba(12,12,12,0.85) 0%,
      rgba(12,12,12,0.6) 30%,
      rgba(12,12,12,0.2) 55%,
      rgba(12,12,12,0.05) 75%
    ),
    linear-gradient(to bottom,
      rgba(12,12,12,0.5) 0%,
      rgba(12,12,12,0.2) 30%,
      rgba(12,12,12,0.15) 50%,
      rgba(12,12,12,0.5) 75%,
      rgba(12,12,12,0.95) 95%,
      rgba(12,12,12,1) 100%
    );
}
.page-hero-contact .hero-content {
  text-align:left;
  margin-left:6%;
  margin-right:auto;
  max-width:700px;
}
.page-hero-contact .hero-content h1 {
  color:#FFF2C4;
  font-weight:700;
  text-shadow:0 2px 8px rgba(0,0,0,0.7), 0 4px 30px rgba(0,0,0,0.5), 0 0 80px rgba(0,0,0,0.4);
}
.page-hero-contact .hero-content h1 em {
  color:#ECE8E2;
  text-shadow:0 2px 8px rgba(0,0,0,0.7), 0 4px 30px rgba(0,0,0,0.5), 0 0 80px rgba(0,0,0,0.4);
}
.page-hero-contact .hero-sub {
  color:#FFFFFF;
  font-weight:700;
  text-shadow:0 2px 12px rgba(0,0,0,0.6), 0 0 40px rgba(0,0,0,0.3);
  margin-left:0;
}
.page-hero-contact .hero-sub-wrapper {
  text-align:left;
}

/* ── Contact form ── */
.contact-form {
  margin-top:2rem;
}
.form-status {
  margin-top:1.4rem;
  font-family:var(--body);
  font-size:1.1rem;
  line-height:1.6;
  text-align:center;
  min-height:1em;
}
.form-status.success { color:var(--gold-light); }
.form-status.error { color:#E2A07A; }
.form-group {
  margin-bottom:1.8rem;
}
.form-group label {
  display:block;
  font-family:var(--body);
  font-size:1.15rem;
  font-weight:600;
  color:var(--light-gray);
  letter-spacing:0.04em;
  margin-bottom:0.6rem;
}
.form-group input,
.form-group select,
.form-group textarea {
  width:100%;
  font-family:var(--body);
  font-size:1.15rem;
  color:var(--cream);
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(184,134,11,0.25);
  padding:0.9rem 1.1rem;
  transition:border-color 0.3s ease, background 0.3s ease;
  outline:none;
  -webkit-appearance:none;
  appearance:none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color:var(--gold);
  background:rgba(184,134,11,0.05);
}
.form-group input::placeholder,
.form-group textarea::placeholder {
  color:var(--warm-gray);
}
.form-group select {
  color:var(--light-gray);
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23B8860B' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 1rem center;
  padding-right:2.5rem;
}
.form-group select option {
  background:var(--deep);
  color:var(--cream);
}
.form-group textarea {
  resize:vertical;
  min-height:120px;
}

/* ── Column gold line draw ── */
.col-gold-line {
  height:2px;
  background:var(--gold);
  margin:0 auto 1.5rem;
  width:0;
  transition:width 0.8s ease;
}
.col-gold-line.drawn {
  width:80px;
}

/* ── Column stagger reveal ── */
.col-stagger {
  opacity:0;
  transform:translateY(40px);
  transition:opacity 0.9s ease, transform 0.9s ease;
}
.col-stagger.col-visible {
  opacity:1;
  transform:translateY(0);
}
@media (max-width:768px) {
  .col-stagger {
    opacity:1;transform:none;transition:none;
  }
}

/* ── Compensation page hero ── */
.page-hero-comp .page-hero-bg {
  background-image:url('assets/images/compensation-hero.jpg');background-image:image-set(url('assets/images/compensation-hero.webp') type('image/webp'),url('assets/images/compensation-hero.jpg') type('image/jpeg'));
  background-position:center 40%;
}
.page-hero-comp .page-hero-overlay {
  background:
    linear-gradient(to right,
      rgba(12,12,12,0.75) 0%,
      rgba(12,12,12,0.5) 25%,
      rgba(12,12,12,0.2) 50%,
      rgba(12,12,12,0.05) 70%
    ),
    linear-gradient(to bottom,
      rgba(12,12,12,0.5) 0%,
      rgba(12,12,12,0.2) 25%,
      rgba(12,12,12,0.15) 50%,
      rgba(12,12,12,0.5) 75%,
      rgba(12,12,12,0.95) 95%,
      rgba(12,12,12,1) 100%
    );
}
.page-hero-comp .hero-content h1 {
  color:#FFF2C4;
  text-shadow:0 2px 8px rgba(0,0,0,0.7), 0 4px 30px rgba(0,0,0,0.5), 0 0 80px rgba(0,0,0,0.4);
}
.page-hero-comp .hero-content h1 em {
  color:#ECE8E2;
  text-shadow:0 2px 8px rgba(0,0,0,0.7), 0 4px 30px rgba(0,0,0,0.5), 0 0 80px rgba(0,0,0,0.4);
}
.page-hero-comp .hero-sub {
  color:#FFFFFF;
  font-size:clamp(1.5rem,3vw,1.9rem);
  max-width:1100px;
  text-shadow:0 2px 12px rgba(0,0,0,0.6), 0 0 40px rgba(0,0,0,0.3);
}


/* ══════════════════════════════════════════
   PROCESS STEP CARDS
   ══════════════════════════════════════════ */
.steps-grid {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:2.5rem;
  margin:3.5rem 0 0;
}
.step-card {
  border-top:2px solid var(--gold);
  padding:2.5rem 2rem;
  position:relative;
  background:rgba(184,134,11,0.015);
  transition:all 0.5s ease;
  text-align:center;
}
.step-card::before {
  content:'';position:absolute;left:50%;top:-6px;
  transform:translateX(-50%) rotate(45deg);
  width:10px;height:10px;background:var(--gold);
  transition:box-shadow 0.4s ease;
}
.step-card:hover {
  border-top-color:var(--gold-light);
  background:rgba(184,134,11,0.05);
  transform:translateY(-5px);
  box-shadow:0 12px 40px rgba(0,0,0,0.3), 0 0 20px rgba(184,134,11,0.08);
}
.step-card:hover::before {
  box-shadow:0 0 12px 3px rgba(184,134,11,0.4);
}
.step-card:hover .step-number {
  color:rgba(212,168,67,0.85);
}
.step-card:hover .step-label {
  color:#FFF2C4;
}
.step-header {
  display:flex;align-items:baseline;justify-content:center;
  gap:0.8rem;margin-bottom:1rem;
}
.step-number {
  font-family:var(--heading);font-size:2.2rem;font-weight:700;
  color:rgba(212,168,67,0.6);letter-spacing:0.02em;
  line-height:1;transition:color 0.4s ease;
}
.step-label {
  font-family:var(--heading);font-size:1.8rem;font-weight:700;
  color:#F0D78C;line-height:1.3;transition:color 0.4s ease;
}
.step-body {
  font-family:var(--body);font-size:1.2rem;
  color:#EBE6E0;line-height:1.95;
}

@media (max-width:1100px) {
  .steps-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
  .steps-grid { grid-template-columns:1fr; }
  .page-hero { min-height:60vh;padding:7rem 1.5rem 5rem; }
}


/* ══════════════════════════════════════════
   COMPREHENSIVE MOBILE OVERRIDES
   ══════════════════════════════════════════ */
@media (max-width:768px) {

  /* Nav hamburger above overlay */
  .nav-hamburger { z-index:101; }

  /* Page hero — center text, reset left offset */
  .page-hero .hero-content {
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    max-width:100%;
    padding:0 1rem;
  }
  .page-hero .hero-content h1 {
    font-size:clamp(1.6rem,7vw,2.2rem);
  }
  .page-hero .hero-sub {
    margin-left:auto;
    margin-right:auto;
    font-size:clamp(1rem,4vw,1.3rem);
  }
  .page-hero .hero-sub-wrapper {
    text-align:center !important;
  }
  .page-hero-contact .hero-content {
    text-align:left !important;
  }
  .page-hero-contact .hero-sub-wrapper {
    text-align:left !important;
  }

  /* Beat layout — homepage industry section */
  .beat-content { max-width:100%;padding:0 0.5rem; }
  .beat-header { text-align:center;font-size:clamp(1.4rem,5vw,1.8rem); }
  .beat-body { text-align:center;font-size:1.15rem; }
  .beat-statement-text { font-size:clamp(1.4rem,5vw,2rem); }
  .beat-closing-text { font-size:clamp(1.4rem,5vw,2rem); }

  /* Step cards — How It Works */
  .step-header { flex-direction:column;gap:0.3rem; }

  /* Three-col headers */
  .three-col-header { font-size:1.6rem; }
  .three-col-body { font-size:1.1rem; }

  /* Two-col pullquote */
  .two-col-pullquote { font-size:clamp(1.4rem,5vw,2rem); }

  /* Section declarations */
  .section-declaration { font-size:clamp(1.4rem,5vw,2rem); }

  /* Contact page hero padding */
  .page-hero-contact { padding-top:6rem !important; }

  /* Contact form */
  .form-group label { font-size:1rem; }
  .form-group input,
  .form-group select,
  .form-group textarea { font-size:1rem;padding:0.8rem; }

  /* Closing body */
  .closing-head { font-size:clamp(1.6rem,6vw,2.2rem); }
  .closing-body { font-size:1.2rem;max-width:100%; }
  .closing-selective { font-size:1.1rem; }

  /* Footer */
  .footer-logo { font-size:1.8rem; }
  .footer-tagline { font-size:1.3rem; }
  .footer-nav { flex-direction:column;align-items:center;gap:1rem; }
}

/* ── KEYBOARD FOCUS VISIBILITY ── */
.feature-block:focus-visible,
.trait-item:focus-visible,
.founder-card:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 3px;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 2px;
}
.feature-block[role="button"],
.trait-item[role="button"],
.founder-card[role="button"] { cursor: pointer; }

/* ── REDUCED MOTION ── */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
  /* Ensure scroll-reveal content is shown even though transitions are off */
  .reveal { opacity: 1 !important; transform: none !important; }
  .hero-word { opacity: 1 !important; transform: none !important; }
  .hero-sub-wrapper, .hero-sub, .hero-ctas, .hero-closing-declaration { opacity: 1 !important; transform: none !important; }
  .feature-block { opacity: 1 !important; transform: none !important; }
  .story-emblem.visible { opacity: 0.25 !important; }
}