/* ============================================================
   IAM University — Global Stylesheet
   Fonts: Fraunces (serif) + Outfit (sans)
   ============================================================ */

:root {
  --ink:        #1C1711;
  --ink-soft:   #6B5E52;
  --cream:      #F9F4EE;
  --sand:       #E8DDD2;
  --terra:      #8B5E3C;
  --gold:       #C8962A;
  --gold-lt:    #E3B55A;
  --sage:       #8A9E89;
  --sage-deep:  #5C7A5A;
  --spiritual:  #6B4E9B;
  --personal:   #2E7D52;
  --business:   #8B5E3C;
  --anchor:     #1A5F7A;
  --radius:     10px;
  --nav-h:      68px;
}

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

html { scroll-behavior: smooth; }

body {
  font-family: 'Outfit', system-ui, sans-serif;
  background: var(--cream);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ── Typography ──────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 { line-height: 1.15; font-weight: 600; }
h1 { font-family: 'Fraunces', Georgia, serif; font-size: clamp(36px, 5.5vw, 64px); font-weight: 500; }
h2 { font-family: 'Fraunces', Georgia, serif; font-size: clamp(26px, 3.5vw, 40px); font-weight: 500; }
h3 { font-size: clamp(18px, 2vw, 22px); font-weight: 600; }
h4 { font-size: 18px; font-weight: 600; }
h5 { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-soft); margin-bottom: 14px; }
p { color: var(--ink-soft); }
a { color: var(--ink); text-decoration: none; }
em { font-style: italic; }
.serif { font-family: 'Fraunces', Georgia, serif; }
small { font-size: 11px; }

/* ── Layout utilities ─────────────────────────────────────── */
.wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 28px;
}

section {
  padding: 80px 0;
}

.tint { background: #F3EDE5; }

.dark {
  background: var(--ink);
  color: var(--cream);
}
.dark p { color: var(--sand); }
.dark h2, .dark h3 { color: var(--cream); }

/* ── Navigation ──────────────────────────────────────────── */
.nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(249,244,238,.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0,0,0,.07);
  height: var(--nav-h);
}

.nav-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 28px;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 32px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
}
.brand .mark { width: 36px; height: 36px; display: flex; align-items: center; }
.brand .mark img { width: 36px; height: 36px; object-fit: contain; }
.brand .name {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.1;
  display: flex;
  flex-direction: column;
}
.brand .name small {
  font-family: 'Outfit', sans-serif;
  font-size: 9.5px;
  font-weight: 400;
  color: var(--ink-soft);
  letter-spacing: .05em;
  text-transform: uppercase;
}

nav.links {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-left: auto;
}
nav.links a {
  font-size: 15.5px;
  font-weight: 500;
  color: var(--ink-soft);
  transition: color .2s;
}
nav.links a:hover,
nav.links a.active { color: var(--ink); }
nav.links a.cta {
  background: var(--ink);
  color: var(--cream);
  padding: 10px 22px;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 600;
  transition: background .2s;
}
nav.links a.cta:hover { background: var(--terra); }

.burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  margin-left: auto;
}
.burger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--ink);
  border-radius: 2px;
  transition: all .2s;
}

@media (max-width: 720px) {
  .burger { display: flex; }
  nav.links {
    display: none;
    position: absolute;
    top: var(--nav-h);
    left: 0; right: 0;
    background: var(--cream);
    flex-direction: column;
    padding: 24px 28px 32px;
    border-bottom: 1px solid var(--sand);
    gap: 18px;
    align-items: flex-start;
  }
  nav.links.open { display: flex; }
  nav.links a.cta { align-self: flex-start; }
}

/* ── Eyebrow / label ─────────────────────────────────────── */
.eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 14px;
}
.eyebrow.gold { color: var(--gold); }

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 13px 26px;
  border-radius: 50px;
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  border: 2px solid transparent;
  text-decoration: none;
  transition: all .2s;
  white-space: nowrap;
}
.btn-primary {
  background: var(--ink);
  color: var(--cream);
  border-color: var(--ink);
}
.btn-primary:hover { background: var(--terra); border-color: var(--terra); }
.btn-ghost {
  background: transparent;
  color: var(--ink);
  border-color: var(--ink);
}
.btn-ghost:hover { background: var(--ink); color: var(--cream); }

/* ── Hero section ─────────────────────────────────────────── */
.hero {
  background: var(--ink);
  color: var(--cream);
  padding: 80px 0;
}
.hero-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 64px 28px;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 64px;
  align-items: center;
}
.hero h1 { color: var(--cream); }
.hero .eyebrow { color: var(--gold); }
.hero p.lead {
  font-size: clamp(16px, 1.8vw, 19px);
  color: var(--sand);
  margin: 18px 0 32px;
  max-width: 540px;
}
.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }

.hero-figure .panel {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  aspect-ratio: 1;
}
.hero-figure .panel img { width: 100%; max-width: 280px; object-fit: contain; }

@media (max-width: 900px) {
  .hero-inner { grid-template-columns: 1fr; }
  .hero-figure { display: none; }
}

/* ── Lead text ───────────────────────────────────────────── */
.lead {
  font-size: clamp(16px, 1.8vw, 19px);
  color: var(--ink-soft);
  line-height: 1.65;
}

/* ── Section head ─────────────────────────────────────────── */
.sec-head { margin-bottom: 48px; }
.sec-head.center { text-align: center; }
.sec-head h2 { margin: 10px 0 14px; }
.sec-head p { max-width: 580px; font-size: 17px; }
.sec-head.center p { margin: 0 auto; }

/* ── Pillar cards ─────────────────────────────────────────── */
.pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

@media (max-width: 900px) {
  .pillars { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .pillars { grid-template-columns: 1fr; }
}

.pillar {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.07);
  background: var(--cream);
  transition: transform .2s, box-shadow .2s;
}
.pillar:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.1); }

.pillar .cap {
  height: 6px;
}
.c-spiritual .cap { background: var(--spiritual); }
.c-personal  .cap { background: var(--personal); }
.c-business  .cap { background: var(--business); }
.c-anchor    .cap { background: var(--anchor); }

.pillar .inner { padding: 24px; }
.pillar .ic {
  font-size: 28px;
  margin-bottom: 12px;
  display: block;
}
.pillar .tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 50px;
  margin-bottom: 10px;
}
.c-spiritual .tag { background: #EDE6F8; color: var(--spiritual); }
.c-personal  .tag { background: #E4F2EA; color: var(--personal); }
.c-business  .tag { background: #F5EDE6; color: var(--business); }
.c-anchor    .tag { background: #E3EEF4; color: var(--anchor); }

.pillar h3 { font-size: 17px; margin-bottom: 8px; }
.pillar p { font-size: 14px; color: var(--ink-soft); margin-bottom: 18px; }
.pillar .more {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-soft);
  transition: color .2s;
}
.pillar .more:hover { color: var(--ink); }

/* ── Through-line two-col ────────────────────────────────── */
.through {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
@media (max-width: 720px) {
  .through { grid-template-columns: 1fr; gap: 40px; }
}

.through ul { list-style: none; display: flex; flex-direction: column; gap: 22px; }
.through li {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
.through li .n {
  font-size: 12px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .06em;
  padding-top: 3px;
  min-width: 24px;
}
.through li b { display: block; font-weight: 600; font-size: 15px; margin-bottom: 3px; }
.through li span { font-size: 14px; color: var(--ink-soft); }

.dark .through li b { color: var(--cream); }
.dark .through li .n { color: var(--gold-lt); }

.big { font-size: clamp(20px, 2.5vw, 26px); line-height: 1.45; color: var(--sand) !important; }

/* ── Journey steps ───────────────────────────────────────── */
.journey {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  position: relative;
}
@media (max-width: 900px) {
  .journey { grid-template-columns: repeat(2, 1fr); }
  .journey .jstep:last-child { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .journey { grid-template-columns: 1fr; }
  .journey .jstep:last-child { grid-column: auto; }
}

.jstep {
  text-align: center;
  padding: 28px 16px 22px;
  background: var(--cream);
  border: 1px solid rgba(0,0,0,.07);
  border-radius: var(--radius);
}
.jstep .num {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--ink);
  color: var(--cream);
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
}
.jstep b { display: block; font-size: 15px; margin-bottom: 6px; }
.jstep p { font-size: 13px; color: var(--ink-soft); }

/* ── Band / CTA strip ─────────────────────────────────────── */
.band {
  background: var(--terra);
  border-radius: 18px;
  padding: 52px 48px;
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}
.band h2 { color: var(--cream); font-size: clamp(22px, 3vw, 34px); flex: 1; min-width: 200px; }
.band p { color: rgba(249,244,238,.8); flex: 2; min-width: 200px; font-size: 16px; }
.band .btn-primary { background: var(--cream); color: var(--ink); border-color: var(--cream); white-space: nowrap; }
.band .btn-primary:hover { background: var(--gold); border-color: var(--gold); }
@media (max-width: 720px) {
  .band { padding: 36px 28px; flex-direction: column; align-items: flex-start; gap: 20px; }
}

/* ── Resource grid ───────────────────────────────────────── */
.res-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media (max-width: 640px) {
  .res-grid { grid-template-columns: 1fr; }
}

.res {
  display: flex;
  gap: 20px;
  padding: 28px;
  background: var(--cream);
  border: 1px solid rgba(0,0,0,.07);
  border-radius: var(--radius);
}
.res .badge {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.b-spiritual { background: #EDE6F8; }
.b-personal  { background: #E4F2EA; }
.b-business  { background: #F5EDE6; }
.b-anchor    { background: #E3EEF4; }

.res h4 { font-size: 16px; margin: 6px 0 8px; }
.res p { font-size: 14px; color: var(--ink-soft); margin-bottom: 12px; }
.res a { font-size: 13px; font-weight: 600; transition: opacity .2s; }
.res a:hover { opacity: .7; }

.tag { font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.t-spiritual { color: var(--spiritual); }
.t-personal  { color: var(--personal); }
.t-business  { color: var(--business); }
.t-anchor    { color: var(--anchor); }

/* ── Tiers / pricing cards ───────────────────────────────── */
.tiers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 720px) {
  .tiers { grid-template-columns: 1fr; }
}

.tier {
  border: 1px solid rgba(0,0,0,.09);
  border-radius: var(--radius);
  background: var(--cream);
  overflow: hidden;
}
.tier.feat {
  border-color: var(--gold);
  box-shadow: 0 0 0 1px var(--gold);
}
.tier .th {
  padding: 22px 22px 16px;
  background: rgba(0,0,0,.02);
  border-bottom: 1px solid rgba(0,0,0,.07);
  position: relative;
}
.tier.feat .th { background: rgba(200,150,42,.08); }
.tier h3 { font-size: 16px; margin-bottom: 4px; }
.tier .price { font-size: 13px; color: var(--ink-soft); }
.badge2 {
  display: inline-block;
  background: var(--gold);
  color: var(--ink);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 50px;
  margin-bottom: 6px;
}
.tier .bd { padding: 18px 22px 22px; }
.tier .bd ul { list-style: none; display: flex; flex-direction: column; gap: 9px; }
.tier .bd li {
  font-size: 14px;
  color: var(--ink-soft);
  padding-left: 18px;
  position: relative;
}
.tier .bd li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 700;
}

/* ── Capture / form section ──────────────────────────────── */
.capture {
  background: var(--ink);
  padding: 80px 28px;
}
.capture h2 { color: var(--cream); }
.field { margin-bottom: 12px; }
.field input {
  width: 100%;
  padding: 14px 18px;
  border-radius: 8px;
  border: 1px solid var(--sand);
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  color: var(--ink);
  background: var(--cream);
  outline: none;
  transition: border-color .2s;
}
.field input:focus { border-color: var(--gold); }
.field input::placeholder { color: var(--ink-soft); }

/* ── Footer ──────────────────────────────────────────────── */
.ft {
  background: var(--ink);
  padding: 64px 0 0;
}
.ft-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 800px) {
  .ft-top { grid-template-columns: 1fr 1fr; }
  .ft-brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .ft-top { grid-template-columns: 1fr; }
}

.ft-brand .brand .name { color: var(--cream); }
.ft-brand p { font-size: 14px; color: rgba(249,244,238,.55); margin-top: 14px; }
.ft-col h5 { color: rgba(249,244,238,.45); }
.ft-col a {
  display: block;
  font-size: 14px;
  color: rgba(249,244,238,.65);
  margin-bottom: 10px;
  transition: color .2s;
}
.ft-col a:hover { color: var(--cream); }

.ft-bottom {
  padding: 22px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: rgba(249,244,238,.35);
  flex-wrap: wrap;
  gap: 8px;
}
.ft-bottom .serif {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
}

/* ── Scroll reveal animations ─────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal.in {
  opacity: 1;
  transform: none;
}
.d1 { transition-delay: .1s !important; }
.d2 { transition-delay: .2s !important; }
.d3 { transition-delay: .3s !important; }
.d4 { transition-delay: .4s !important; }

/* ============================================================
   REDESIGN — ET-inspired cinematic layout
   ============================================================ */

/* ── New Nav (dark, authoritative) ─────────────────────────── */
.nav-dark {
  background: var(--ink) !important;
  border-bottom-color: rgba(255,255,255,.08) !important;
}
.nav-dark .brand .name { color: var(--cream) !important; }
.nav-dark .brand .name small { color: rgba(249,244,238,.45) !important; }
.nav-dark nav.links a { color: rgba(249,244,238,.6); }
.nav-dark nav.links a:hover,
.nav-dark nav.links a.active { color: var(--cream); }
.nav-dark nav.links a.cta {
  background: var(--gold);
  color: var(--ink);
  border: none;
}
.nav-dark nav.links a.cta:hover { background: var(--gold-lt); }
.nav-dark .burger span { background: var(--cream); }

/* ── Cinematic Hero ─────────────────────────────────────────── */
.hero-cinema {
  background: var(--ink);
  min-height: 100svh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding: 0;
}
.hero-cinema::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 70% 50%, rgba(139,94,60,.18) 0%, transparent 70%),
    radial-gradient(ellipse 40% 60% at 20% 80%, rgba(200,150,42,.08) 0%, transparent 60%);
  pointer-events: none;
}

.hero-cinema-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 120px 48px 100px;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 1;
  width: 100%;
}
@media (max-width: 960px) {
  .hero-cinema-inner { grid-template-columns: 1fr; gap: 56px; padding: 100px 28px 80px; }
  .hero-cinema-photo { order: -1; }
}

.hero-cinema-text .kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 28px;
}
.hero-cinema-text .kicker::before {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: var(--gold);
}

.hero-cinema-text h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(42px, 6.5vw, 78px);
  font-weight: 600;
  color: var(--cream);
  line-height: 1.08;
  letter-spacing: -.02em;
  margin-bottom: 28px;
}
.hero-cinema-text h1 em {
  color: var(--gold);
  font-style: italic;
}
.hero-cinema-text .hero-sub {
  font-size: clamp(16px, 1.8vw, 20px);
  color: rgba(249,244,238,.65);
  line-height: 1.65;
  max-width: 520px;
  margin-bottom: 44px;
}
.hero-cinema-cta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.btn-gold {
  background: var(--gold);
  color: var(--ink);
  border-color: var(--gold);
}
.btn-gold:hover { background: var(--gold-lt); border-color: var(--gold-lt); }

.btn-outline-white {
  background: transparent;
  color: var(--cream);
  border: 2px solid rgba(255,255,255,.3);
}
.btn-outline-white:hover {
  border-color: var(--cream);
  background: rgba(255,255,255,.07);
}

/* Hero photo frame */
.hero-cinema-photo {
  display: flex;
  justify-content: center;
}
.cinema-photo-frame {
  width: 380px;
  height: 480px;
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.04);
}
.cinema-photo-frame img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.cinema-photo-placeholder {
  width: 100%; height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-align: center;
  padding: 32px;
}
.cinema-photo-placeholder .ph-ring {
  width: 88px; height: 88px;
  border-radius: 50%;
  border: 2px dashed rgba(200,150,42,.5);
  display: flex; align-items: center; justify-content: center;
  font-size: 36px;
  color: var(--gold);
}
.cinema-photo-placeholder p {
  font-size: 13px;
  color: rgba(249,244,238,.3);
  line-height: 1.5;
}
/* Corner accent on photo frame */
.cinema-photo-frame::after {
  content: '';
  position: absolute;
  bottom: -1px; right: -1px;
  width: 80px; height: 80px;
  border-bottom: 3px solid var(--gold);
  border-right: 3px solid var(--gold);
  border-radius: 0 0 24px 0;
  pointer-events: none;
}

/* Scroll indicator */
.hero-scroll {
  position: absolute;
  bottom: 36px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(249,244,238,.3);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 600;
  animation: scrollBob 2s ease-in-out infinite;
}
.hero-scroll::before {
  content: '';
  display: block;
  width: 1px;
  height: 44px;
  background: linear-gradient(to bottom, rgba(200,150,42,.5), transparent);
}
@keyframes scrollBob {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(6px); }
}

/* ── Mission strip ──────────────────────────────────────────── */
.mission-strip {
  background: var(--terra);
  padding: 56px 0;
  text-align: center;
}
.mission-strip p {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(20px, 3vw, 32px);
  font-weight: 500;
  font-style: italic;
  color: var(--cream);
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.45;
  padding: 0 28px;
}
.mission-strip p em {
  font-style: normal;
  color: rgba(249,244,238,.7);
}

/* ── Program tiles ──────────────────────────────────────────── */
.programs-section {
  background: var(--ink);
  padding: 100px 0;
}
.programs-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
}
.programs-section h2 {
  color: var(--cream);
  margin-bottom: 56px;
}

.prog-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3px;
}
@media (max-width: 900px) {
  .prog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .prog-grid { grid-template-columns: 1fr; }
}

.prog-tile {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px 24px;
  background: rgba(255,255,255,.04);
  transition: transform .3s;
}
.prog-tile:hover { transform: scale(1.01); z-index: 2; }
.prog-tile::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(28,23,17,.92) 0%, rgba(28,23,17,.3) 60%, transparent 100%);
  z-index: 1;
}
.prog-tile-bg {
  position: absolute;
  inset: 0;
  background: var(--tile-bg, #2a2218);
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 72px;
  opacity: .18;
  transition: opacity .3s;
}
.prog-tile:hover .prog-tile-bg { opacity: .28; }
.prog-tile-body {
  position: relative;
  z-index: 2;
}
.prog-tile-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--tile-accent, var(--gold));
  margin-bottom: 8px;
  padding: 3px 10px;
  border: 1px solid var(--tile-accent, var(--gold));
  border-radius: 50px;
}
.prog-tile h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 600;
  color: var(--cream);
  margin-bottom: 10px;
  line-height: 1.15;
}
.prog-tile p {
  font-size: 13px;
  color: rgba(249,244,238,.6);
  line-height: 1.55;
  margin-bottom: 18px;
}
.prog-tile-link {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tile-accent, var(--gold));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap .2s;
}
.prog-tile:hover .prog-tile-link { gap: 10px; }

/* Tile accent colors */
.prog-tile.t-speaking  { --tile-bg: #1a1428; --tile-accent: #a78bdf; }
.prog-tile.t-coaching  { --tile-bg: #0d1f18; --tile-accent: #5bbf8a; }
.prog-tile.t-business  { --tile-bg: #2a1a10; --tile-accent: #D4905A; }
.prog-tile.t-university { --tile-bg: #0d1e2a; --tile-accent: #5aA8D4; }

/* ── Meet Demorrious ─────────────────────────────────────────── */
.meet-section {
  background: var(--cream);
  padding: 0;
}
.meet-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 480px 1fr;
  min-height: 640px;
}
@media (max-width: 920px) {
  .meet-inner { grid-template-columns: 1fr; }
  .meet-photo-col { height: 460px; }
}

.meet-photo-col {
  background: var(--ink);
  position: relative;
  overflow: hidden;
  display: flex; align-items: flex-end;
}
.meet-photo-col img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  position: absolute; inset: 0;
}
.meet-photo-placeholder {
  width: 100%;
  height: 100%;
  min-height: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: linear-gradient(135deg, #1C1711 0%, #2e2418 100%);
}
.meet-photo-placeholder .big-initial {
  width: 120px; height: 120px;
  border-radius: 50%;
  background: rgba(200,150,42,.12);
  border: 2px dashed rgba(200,150,42,.4);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 52px;
  font-weight: 600;
  color: var(--gold);
}
.meet-photo-placeholder span {
  font-size: 12px;
  color: rgba(249,244,238,.3);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.meet-text-col {
  padding: 72px 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 920px) {
  .meet-text-col { padding: 56px 28px; }
}
.meet-text-col .meet-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.meet-text-col h2 {
  font-size: clamp(32px, 4vw, 50px);
  line-height: 1.1;
  margin-bottom: 22px;
  color: var(--ink);
}
.meet-text-col p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--ink-soft);
  margin-bottom: 16px;
}
.meet-text-col p strong { color: var(--ink); font-weight: 600; }
.meet-creds {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  margin: 28px 0 36px;
  padding: 24px 0;
  border-top: 1px solid rgba(0,0,0,.08);
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.meet-cred { display: flex; flex-direction: column; gap: 3px; }
.meet-cred .c-num {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 32px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1;
}
.meet-cred .c-label { font-size: 12px; color: var(--ink-soft); }

/* ── Stats band ─────────────────────────────────────────────── */
.stats-band {
  background: var(--ink);
  padding: 72px 0;
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
}
@media (max-width: 720px) { .stats-grid { grid-template-columns: repeat(2, 1fr); } }

.stat-block {
  padding: 40px 32px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.06);
}
.stat-block:last-child { border-right: none; }
.stat-block .s-num {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 600;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 8px;
}
.stat-block .s-label {
  font-size: 13px;
  color: rgba(249,244,238,.5);
  letter-spacing: .04em;
  line-height: 1.4;
}

/* ── Testimonials ───────────────────────────────────────────── */
.testimonials-section {
  background: var(--cream);
  padding: 100px 0;
  overflow: hidden;
}
.testimonials-section h2 { margin-bottom: 56px; }

.testi-featured {
  background: var(--ink);
  border-radius: 20px;
  padding: 56px 64px;
  margin-bottom: 32px;
  position: relative;
  overflow: hidden;
}
.testi-featured::before {
  content: '\201C';
  position: absolute;
  top: -20px; left: 32px;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 200px;
  color: rgba(200,150,42,.1);
  line-height: 1;
  pointer-events: none;
}
.testi-featured blockquote {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(20px, 2.8vw, 32px);
  font-weight: 500;
  font-style: italic;
  color: var(--cream);
  line-height: 1.5;
  position: relative;
  z-index: 1;
  margin-bottom: 28px;
}
.testi-featured cite {
  display: flex;
  align-items: center;
  gap: 14px;
  font-style: normal;
  position: relative;
  z-index: 1;
}
.testi-featured cite .c-avatar {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: rgba(200,150,42,.15);
  border: 1px solid rgba(200,150,42,.3);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  color: var(--gold);
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  flex-shrink: 0;
}
.testi-featured cite .c-info strong { display: block; font-size: 14px; font-weight: 600; color: var(--cream); }
.testi-featured cite .c-info span { font-size: 12px; color: rgba(249,244,238,.45); }
@media (max-width: 720px) {
  .testi-featured { padding: 40px 28px; }
  .testi-featured blockquote { font-size: 18px; }
}

.testi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 760px) {
  .testi-grid { grid-template-columns: 1fr; }
}
.testi-card {
  padding: 28px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: #fff;
}
.testi-card blockquote {
  font-size: 15px;
  color: var(--ink-soft);
  line-height: 1.65;
  font-style: italic;
  margin-bottom: 18px;
}
.testi-card cite {
  display: flex; align-items: center; gap: 10px;
  font-style: normal;
}
.testi-card cite .tc-avatar {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--sand);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 700; color: var(--ink-soft);
}
.testi-card cite strong { font-size: 13px; font-weight: 600; color: var(--ink); display: block; }
.testi-card cite span { font-size: 11px; color: var(--ink-soft); }

/* ── How We Work (3 lanes) ──────────────────────────────────── */
.how-section {
  background: #F0E9E0;
  padding: 100px 0;
}
.how-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  margin-top: 56px;
}
@media (max-width: 760px) {
  .how-grid { grid-template-columns: 1fr; gap: 20px; }
}
.how-lane {
  background: var(--cream);
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
  gap: 0;
  transition: background .2s;
}
.how-lane:hover { background: var(--ink); }
.how-lane:hover h3 { color: var(--cream); }
.how-lane:hover p { color: rgba(249,244,238,.6); }
.how-lane:hover .lane-num { color: rgba(249,244,238,.15); }
.how-lane:hover .lane-cta { color: var(--gold); border-color: rgba(200,150,42,.4); }

.lane-num {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 80px;
  font-weight: 600;
  color: rgba(0,0,0,.06);
  line-height: 1;
  margin-bottom: 20px;
  transition: color .2s;
}
.how-lane h3 { font-size: 22px; margin-bottom: 14px; transition: color .2s; }
.how-lane p { font-size: 15px; color: var(--ink-soft); line-height: 1.7; flex: 1; transition: color .2s; margin-bottom: 28px; }
.lane-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-soft);
  text-decoration: none;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(0,0,0,.15);
  transition: color .2s, border-color .2s;
  width: fit-content;
}

/* ── Final CTA (dark, cinematic) ────────────────────────────── */
.final-cta {
  background: var(--ink);
  padding: 120px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.final-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(200,150,42,.07) 0%, transparent 70%);
  pointer-events: none;
}
.final-cta-inner {
  position: relative;
  z-index: 1;
  max-width: 680px;
  margin: 0 auto;
  padding: 0 28px;
}
.final-cta .eyebrow { color: var(--gold); }
.final-cta h2 {
  color: var(--cream);
  font-size: clamp(32px, 5vw, 56px);
  margin: 16px 0 20px;
  line-height: 1.1;
}
.final-cta p {
  color: rgba(249,244,238,.55);
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 40px;
}
.final-cta-btns {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* ============================================================
   PILLARS PAGE — High-conversion layout
   ============================================================ */

/* ── Sticky pillar sub-nav ──────────────────────────────────── */
.pillar-subnav {
  position: sticky;
  top: var(--nav-h);
  z-index: 90;
  background: var(--ink);
  border-bottom: 1px solid rgba(255,255,255,.07);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.pillar-subnav::-webkit-scrollbar { display: none; }
.pillar-subnav-inner {
  display: flex;
  align-items: stretch;
  min-width: max-content;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 28px;
}
.pnav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 24px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(249,244,238,.45);
  text-decoration: none;
  letter-spacing: .03em;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
  white-space: nowrap;
}
.pnav-link .pnav-icon { font-size: 16px; }
.pnav-link:hover { color: var(--cream); }
.pnav-link.active { color: var(--cream); }
.pnav-link.s-spiritual.active  { border-color: var(--spiritual); color: #a78bdf; }
.pnav-link.s-personal.active   { border-color: var(--personal);  color: #5bbf8a; }
.pnav-link.s-business.active   { border-color: var(--business);  color: #D4905A; }
.pnav-link.s-anchor.active     { border-color: var(--anchor);    color: #5aA8D4; }

/* ── Pillar section header band ─────────────────────────────── */
.pillar-header {
  position: relative;
  overflow: hidden;
  padding: 52px 0 48px;
}
/* Left accent stripe */
.pillar-header::after {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 5px;
  background: var(--ph-accent, rgba(255,255,255,.2));
}
.pillar-header-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 48px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 32px;
  position: relative;
  z-index: 1;
}
@media (max-width: 640px) {
  .pillar-header-inner { grid-template-columns: 1fr; padding: 0 28px; }
  .pillar-big-num { display: none; }
}
.pillar-header .pillar-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 12px;
  opacity: .8;
}
.pillar-header h2 {
  font-size: clamp(30px, 4.2vw, 50px);
  font-weight: 600;
  line-height: 1.08;
  margin-bottom: 16px;
}
.pillar-header p {
  font-size: 17px;
  line-height: 1.7;
  opacity: 1;
  max-width: 560px;
  margin: 0;
  font-weight: 400;
}
.pillar-big-num {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(100px, 13vw, 160px);
  font-weight: 600;
  line-height: 1;
  opacity: .45;
  user-select: none;
  letter-spacing: -.04em;
}

/* Header color themes */
.ph-spiritual { background: linear-gradient(125deg, #120a22 0%, #2d1a52 60%, #1e1040 100%); color: #ece0ff; --ph-accent: #9b6de0; }
.ph-spiritual .pillar-big-num { color: #c09ef5; }
.ph-personal  { background: linear-gradient(125deg, #061510 0%, #0f3320 60%, #0a2518 100%); color: #d8f0e0; --ph-accent: #3dbf72; }
.ph-personal  .pillar-big-num { color: #5dd890; }
.ph-business  { background: linear-gradient(125deg, #180a02 0%, #3a1e0a 60%, #2a1408 100%); color: #faeee0; --ph-accent: #d4803a; }
.ph-business  .pillar-big-num { color: #e89a55; }
.ph-anchor    { background: linear-gradient(125deg, #030e1a 0%, #082338 60%, #052040 100%); color: #cce8f5; --ph-accent: #2a9fd4; }
.ph-anchor    .pillar-big-num { color: #4ab8e8; }

/* ── Pillar content area ────────────────────────────────────── */
.pillar-section {
  padding: 72px 0 80px;
}
.pillar-section.bg-alt { background: #F3EDE5; }

.pillar-content-grid {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 64px;
  align-items: start;
  margin-bottom: 64px;
}
@media (max-width: 900px) {
  .pillar-content-grid { grid-template-columns: 1fr; gap: 40px; }
}

/* ── Resource card — painkiller visual redesign ─────────────── */
.resource-card {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  box-shadow: 0 12px 48px rgba(0,0,0,.12);
}

/* ─ Visual hero — dominant focal image ─ */
.rc-visual {
  position: relative;
  height: 300px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* Painkiller art layer (CSS visual per pillar) */
.rc-art {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

/* Spiritual: light breaking through darkness */
.rc-art-spiritual {
  background: radial-gradient(ellipse 50% 70% at 50% 100%, #6b3fa8 0%, #2d1a52 40%, #0d0818 100%);
}
.rc-art-spiritual::before {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 60%;
  background: linear-gradient(to top, rgba(200,160,255,.9), transparent);
  box-shadow: 0 0 40px 20px rgba(160,100,255,.3), 0 0 80px 40px rgba(120,60,200,.15);
}
.rc-art-spiritual::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 160px; height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(180,140,255,.25) 0%, transparent 70%);
}

/* Personal Dev: upward breakthrough motion */
.rc-art-personal {
  background: linear-gradient(160deg, #051a0e 0%, #0a3320 50%, #1a6640 100%);
}
.rc-art-personal::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, transparent 30%, rgba(46,180,90,.08) 50%, transparent 70%),
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 24px,
      rgba(46,160,80,.06) 24px,
      rgba(46,160,80,.06) 25px
    );
}
.rc-art-personal::after {
  content: '';
  position: absolute;
  bottom: -20px; left: 50%;
  transform: translateX(-50%);
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(60,200,100,.2) 0%, transparent 65%);
}

/* Business: blueprint / architectural grid */
.rc-art-business {
  background: linear-gradient(160deg, #150800 0%, #2a1200 50%, #4a2008 100%);
}
.rc-art-business::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(200,120,50,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200,120,50,.12) 1px, transparent 1px);
  background-size: 32px 32px;
}
.rc-art-business::after {
  content: '';
  position: absolute;
  bottom: 0; right: 0;
  width: 180px; height: 180px;
  border-top: 2px solid rgba(210,140,80,.3);
  border-left: 2px solid rgba(210,140,80,.3);
  border-radius: 2px;
}

/* Anchor: rising bars / wealth building */
.rc-art-anchor {
  background: linear-gradient(160deg, #020c14 0%, #041e34 50%, #082e52 100%);
}
.rc-art-anchor::before {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 100%; height: 100%;
  background:
    linear-gradient(to top, rgba(30,120,200,.15) 0%, transparent 60%);
}
.rc-art-anchor::after {
  content: '';
  position: absolute;
  bottom: 28px; left: 50%;
  transform: translateX(-50%);
  width: 180px; height: 90px;
  background:
    linear-gradient(to top, rgba(60,160,255,.5) 0%, transparent 100%);
  clip-path: polygon(0 100%, 20% 60%, 40% 75%, 60% 30%, 80% 45%, 100% 5%, 100% 100%);
}

/* Gradient overlay so title pops */
.rc-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(0,0,0,.15) 40%,
    rgba(0,0,0,.75) 100%
  );
  z-index: 1;
}

/* Title overlaid on visual — the focal text */
.rc-title-overlay {
  position: relative;
  z-index: 2;
  padding: 24px 24px 22px;
}
.rc-title-overlay .rc-pillar-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
  margin-bottom: 8px;
}
.rc-title-overlay h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
  text-shadow: 0 2px 12px rgba(0,0,0,.5);
  margin: 0;
}

/* Painkiller statement — the emotional hook */
.rc-pain {
  position: absolute;
  top: 20px; left: 24px; right: 24px;
  z-index: 2;
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(13px, 1.6vw, 15px);
  font-style: italic;
  color: rgba(255,255,255,.5);
  line-height: 1.4;
}

/* ─ Info box below visual ─ */
.rc-info-box {
  padding: 18px 22px 22px;
}
.rc-info-box .rc-includes {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}
.rc-info-box .rc-includes li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.4;
}
.rc-info-box .rc-includes li .ck {
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}
.rc-info-box .rc-free-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--sand);
  margin-bottom: 14px;
}
.rc-info-box .rc-price-tag {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.rc-info-box .rc-price-tag strong {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 22px;
  color: var(--ink);
}
.rc-info-box .rc-price-tag span {
  font-size: 12px;
  color: var(--ink-soft);
  text-decoration: line-through;
}
.rc-info-box .rc-badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 50px;
}

/* Badge colors per pillar */
.rc-s .rc-badge { background: #EDE6F8; color: var(--spiritual); }
.rc-s .rc-includes li .ck { color: var(--spiritual); }
.rc-p .rc-badge { background: #E4F2EA; color: var(--personal); }
.rc-p .rc-includes li .ck { color: var(--personal); }
.rc-b .rc-badge { background: #F5EDE6; color: var(--business); }
.rc-b .rc-includes li .ck { color: var(--business); }
.rc-a .rc-badge { background: #E3EEF4; color: var(--anchor); }
.rc-a .rc-includes li .ck { color: var(--anchor); }

/* ── Pillar attribute list ───────────────────────────────────── */
.pillar-attrs {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pillar-attr {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 20px 0;
  border-bottom: 1px solid rgba(0,0,0,.07);
}
.pillar-attr:first-child { border-top: 1px solid rgba(0,0,0,.07); }
.attr-num {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  padding-top: 3px;
  min-width: 24px;
  flex-shrink: 0;
}
.attr-body h4 { font-size: 16px; font-weight: 600; margin-bottom: 4px; }
.attr-body p { font-size: 14px; color: var(--ink-soft); line-height: 1.55; margin: 0; }

/* ── Tier cards redesign ─────────────────────────────────────── */
.tiers-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 720px) { .tiers-v2 { grid-template-columns: 1fr; } }

.tier-v2 {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  display: flex;
  flex-direction: column;
  transition: transform .2s, box-shadow .2s;
}
.tier-v2:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.1);
}
.tier-v2.featured {
  border: 2px solid var(--tier-accent, var(--gold));
  box-shadow: 0 0 0 1px var(--tier-accent, var(--gold)), 0 8px 32px rgba(0,0,0,.1);
}
.tier-v2-head {
  padding: 28px 28px 20px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.tier-v2.featured .tier-v2-head {
  background: linear-gradient(135deg, var(--tier-bg-lt, #faf5e8), #fff);
}
.tv2-popular {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 50px;
  margin-bottom: 10px;
  background: var(--tier-accent, var(--gold));
  color: var(--ink);
}
.tier-v2-head h3 { font-size: 18px; margin-bottom: 6px; }
.tier-v2-head .tv2-price {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 28px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1;
}
.tier-v2-head .tv2-price span {
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: var(--ink-soft);
  vertical-align: middle;
}
.tier-v2-head .tv2-sub { font-size: 13px; color: var(--ink-soft); margin-top: 4px; }
.tier-v2-body { padding: 20px 28px 28px; flex: 1; display: flex; flex-direction: column; gap: 0; }
.tier-v2-body ul { list-style: none; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.tier-v2-body li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.45;
}
.tier-v2-body li .ck { font-weight: 700; flex-shrink: 0; }
.tier-v2-body .tier-cta {
  display: block;
  text-align: center;
  padding: 13px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  margin-top: 22px;
  transition: all .2s;
}
.tier-v2-body .tier-cta.primary {
  background: var(--tier-accent, var(--ink));
  color: #fff;
}
.tier-v2-body .tier-cta.primary:hover { filter: brightness(1.1); }
.tier-v2-body .tier-cta.ghost {
  border: 1.5px solid rgba(0,0,0,.15);
  color: var(--ink);
}
.tier-v2-body .tier-cta.ghost:hover { border-color: var(--tier-accent, var(--ink)); color: var(--tier-accent, var(--ink)); }

/* Tier accent overrides per pillar */
.tiers-spiritual .tier-v2.featured { --tier-accent: var(--spiritual); --tier-bg-lt: #f0eaf8; }
.tiers-spiritual .tier-v2-body .ck { color: var(--spiritual); }
.tiers-personal  .tier-v2.featured { --tier-accent: var(--personal);  --tier-bg-lt: #e8f5ec; }
.tiers-personal  .tier-v2-body .ck { color: var(--personal); }
.tiers-business  .tier-v2.featured { --tier-accent: var(--business);  --tier-bg-lt: #f5ede6; }
.tiers-business  .tier-v2-body .ck { color: var(--business); }
.tiers-anchor    .tier-v2.featured { --tier-accent: var(--anchor);    --tier-bg-lt: #e3eef4; }
.tiers-anchor    .tier-v2-body .ck { color: var(--anchor); }

/* ── Pillar bottom CTA strip ────────────────────────────────── */
.pillar-cta-strip {
  margin-top: 56px;
  padding: 40px 48px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}
.pillar-cta-strip h3 { font-size: clamp(18px, 2.5vw, 24px); flex: 1; min-width: 200px; }
.pillar-cta-strip .cta-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.pcs-spiritual { background: linear-gradient(135deg, #1a0f2e, #2d1a52); }
.pcs-spiritual h3 { color: #e0d4f5; }
.pcs-personal  { background: linear-gradient(135deg, #0a1f14, #0f3320); }
.pcs-personal  h3 { color: #c8e8d4; }
.pcs-business  { background: linear-gradient(135deg, #1e0f05, #3a1e0a); }
.pcs-business  h3 { color: #f0d5bc; }
.pcs-anchor    { background: linear-gradient(135deg, #041420, #082338); }
.pcs-anchor    h3 { color: #c0dce8; }
@media (max-width: 640px) {
  .pillar-cta-strip { padding: 28px 24px; flex-direction: column; align-items: flex-start; }
}

/* ── Marquee / logo bar ─────────────────────────────────────── */
.marquee-section {
  background: var(--sand);
  padding: 24px 0;
  overflow: hidden;
  border-top: 1px solid rgba(0,0,0,.06);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.marquee-track {
  display: flex;
  gap: 64px;
  animation: marquee 20s linear infinite;
  white-space: nowrap;
  align-items: center;
}
.marquee-track span {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-soft);
  opacity: .6;
  flex-shrink: 0;
}
.marquee-track .dot {
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--gold);
  display: inline-block;
  flex-shrink: 0;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
