/* ══════════════════════════════════════════════════════
   ANGIE'S MOTION — SHARED DESIGN SYSTEM
   Phase 2 · Built by BCG LLC
══════════════════════════════════════════════════════ */

/* ── THEME VARIABLES ── */
:root {
  --primary:      #C01B36;
  --primary-dk:   #8A0F24;
  --primary-lt:   #E05070;
  --primary-faint:#FDF0F2;
  --gold:         #C8984A;
  --gold-lt:      #DEBB7A;
  --navy:         #101828;
  --navy-lt:      #1E2D40;
  --bg:           #FAF8F5;
  --surface:      #FFFFFF;
  --surface2:     #F5F0EB;
  --text:         #0F0B08;
  --text-muted:   #6B5F58;
  --border:       rgba(192,27,54,0.12);
  --ticker-bg:    linear-gradient(90deg,#8A0F24,#C01B36);
}
[data-theme="blue"] {
  --primary:      #3A7EC8; --primary-dk:   #1F5A9E;
  --primary-lt:   #6AA8E8; --primary-faint:#EFF5FD;
  --ticker-bg:    linear-gradient(90deg,#1F5A9E,#3A7EC8);
}
[data-theme="pink"] {
  --primary:      #D44F82; --primary-dk:   #A03060;
  --primary-lt:   #E888AB; --primary-faint:#FDF0F5;
  --ticker-bg:    linear-gradient(90deg,#A03060,#D44F82);
}
[data-theme="gold"] {
  --primary:      #C8984A; --primary-dk:   #9A7030;
  --primary-lt:   #DEBB7A; --primary-faint:#FBF4E8;
  --ticker-bg:    linear-gradient(90deg,#9A7030,#C8984A);
}

/* ── BASE ── */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body {
  background:var(--bg); color:var(--text);
  font-family:'Lato',sans-serif; font-size:16px;
  overflow-x:hidden; transition:background .5s,color .4s;
}
img { display:block; max-width:100%; }
a { text-decoration:none; -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }

/* ── ICON BASE ── */
.ico { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.ico svg { stroke:currentColor; fill:none; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }

/* ── CONTAINER ── */
.container { max-width:1240px; margin:0 auto; width:100%; padding:0 24px; }

/* ── TWO-COLUMN RESPONSIVE GRID ── */
.two-col-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; min-width:0; }

/* ── BLOG PILLAR FILTER GRID ── */
.pillar-filter-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }

/* ── RULE STRIP ── */
.rule-strip { background:var(--primary); padding:22px max(60px,calc((100vw - 1200px)/2)); }
.rule-strip-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.rule-strip-link { font-family:'Raleway',sans-serif; font-size:.65rem; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:#fff; display:flex; align-items:center; gap:8px; white-space:nowrap; }
.rule-strip-link:visited { color:#fff; }

/* ── SECTION PADDING UTILITY ── */
.sec-pad    { padding:100px max(60px,calc((100vw - 1200px)/2)); }
.sec-pad-sm { padding:80px  max(60px,calc((100vw - 1200px)/2)); }
.ladder-top-sec { padding:0 max(60px,calc((100vw - 1200px)/2)) 100px; }

/* ── REVEAL ANIMATIONS ── */
.rv  { opacity:0; transform:translateY(40px); transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1); }
.rvl { opacity:0; transform:translateX(-40px); transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1); }
.rvr { opacity:0; transform:translateX(40px);  transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1); }
.rv.on,.rvl.on,.rvr.on { opacity:1; transform:translate(0); }
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}
.d4{transition-delay:.4s}.d5{transition-delay:.5s}

@keyframes up      { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn  { from{opacity:0} to{opacity:1} }
@keyframes tick    { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes orbPulse{ 0%,100%{opacity:.5;transform:translateY(-50%) scale(1)} 50%{opacity:.9;transform:translateY(-50%) scale(1.14)} }
@keyframes scrollDrop{ 0%{top:-100%} 60%{top:100%} 100%{top:100%} }
@keyframes counterUp{ from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
@keyframes shake   { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-7px)} 75%{transform:translateX(7px)} }
@keyframes pulse   { 0%,100%{transform:scale(1);opacity:.6} 50%{transform:scale(1.3);opacity:0} }

/* ═══════════════════════════════════════
   NAV
═══════════════════════════════════════ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:300;
  padding:22px 56px;
  display:flex; justify-content:space-between; align-items:center;
  transition:padding .4s cubic-bezier(.16,1,.3,1), background .5s, box-shadow .5s;
}
nav .n-nav-center a   { color:rgba(255,255,255,.9); }
nav .n-nav-center a::after { background:#fff; }
nav .n-cta { background:transparent; border:1.5px solid rgba(255,255,255,.55); color:#fff; }
nav .n-cta:hover { background:linear-gradient(45deg,var(--primary),#d4355a); border-color:transparent; box-shadow:0 6px 20px rgba(192,27,54,.42); }
nav .n-menu .ico { color:rgba(255,255,255,.85); }
nav.stuck {
  padding:14px 56px;
  background:color-mix(in srgb,var(--bg) 96%,transparent);
  backdrop-filter:blur(28px); box-shadow:0 1px 0 rgba(0,0,0,.06);
}
nav.stuck .n-nav-center a { color:var(--text-muted); }
nav.stuck .n-nav-center a:hover { color:var(--primary); }
nav.stuck .n-nav-center a::after { background:var(--primary); }
nav.stuck .n-cta { background:var(--primary); border-color:var(--primary); color:#fff; }
nav.stuck .n-menu .ico { color:var(--text); }
nav.stuck .n-wm-top  { color:var(--text-muted); }
nav.stuck .n-wm-main { color:var(--text); }
nav.stuck .n-logo-mark { box-shadow:0 2px 10px rgba(0,0,0,.12); }

.n-brand { display:flex; align-items:center; gap:11px; transition:opacity .3s; color:rgba(255,255,255,.9); }
.n-brand:hover { opacity:.85; }
.n-logo-mark {
  width:42px; height:42px; border-radius:50%; background:var(--primary);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  box-shadow:0 2px 14px rgba(0,0,0,.3); transition:background .4s;
}
.n-logo-mark svg { width:38px; height:38px; }
.n-wordmark { display:flex; flex-direction:column; line-height:1; gap:2px; }
.n-wm-top  { font-family:'Raleway',sans-serif; font-size:.5rem; font-weight:700; letter-spacing:3.5px; text-transform:uppercase; color:rgba(255,255,255,.45); display:block; transition:color .4s; }
.n-wm-main { font-family:'Bebas Neue',sans-serif; font-size:1.15rem; letter-spacing:3px; color:#fff; display:block; transition:color .4s; }

.n-nav-center {
  display:flex; gap:36px; list-style:none; align-items:center;
}
.n-nav-center a {
  font-family:'Raleway',sans-serif; font-size:.63rem; font-weight:700;
  letter-spacing:2.5px; text-transform:uppercase; opacity:.75;
  position:relative; transition:color .3s,opacity .3s;
}
.n-nav-center a::after {
  content:''; position:absolute; bottom:-4px; left:0; right:0;
  height:1.5px; background:currentColor;
  transform:scaleX(0); transform-origin:left; transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.n-nav-center a:hover { opacity:1; }
.n-nav-center a:hover::after { transform:scaleX(1); }
.n-nav-center a.active { opacity:1; color:var(--primary); }
.n-nav-center a.active::after { transform:scaleX(1); background:var(--primary); }

.n-right { display:flex; align-items:center; gap:16px; }
.n-portal-link {
  font-family:'Raleway',sans-serif; font-size:.6rem; font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.5);
  transition:color .2s; white-space:nowrap;
}
.n-portal-link:hover { color:var(--gold); }
nav.stuck .n-portal-link { color:var(--text-muted); }
nav.stuck .n-portal-link:hover { color:var(--primary); }
.n-cta {
  font-family:'Raleway',sans-serif; font-size:.63rem; font-weight:800;
  letter-spacing:2px; text-transform:uppercase;
  border-radius:3px; padding:11px 22px;
  display:inline-block; transition:background .3s,border-color .3s,color .3s,transform .25s;
}
.n-cta:hover { transform:translateY(-1px); }
.n-menu {
  background:transparent; border:none;
  padding:4px; display:none; flex-direction:column;
  justify-content:center; align-items:center; gap:5px;
}
.n-menu .bar { display:block; width:22px; height:1.5px; background:currentColor; transition:transform .3s,opacity .3s; }
.n-menu.open .bar:first-child { transform:translateY(3.25px) rotate(45deg); }
.n-menu.open .bar:last-child  { transform:translateY(-3.25px) rotate(-45deg); }

/* Mobile nav panel */
.mobile-nav {
  position:fixed; inset:0; z-index:290; background:var(--navy);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:32px; transform:translateX(100%); transition:transform .45s cubic-bezier(.16,1,.3,1);
}
.mobile-nav.open { transform:translateX(0); }
.mobile-nav a {
  font-family:'Bebas Neue',sans-serif; font-size:2.6rem; letter-spacing:4px;
  color:#fff; opacity:.75; transition:opacity .2s,color .2s;
}
.mobile-nav a:hover { opacity:1; color:var(--primary); }
.mobile-nav .m-cta {
  margin-top:20px; font-family:'Raleway',sans-serif; font-size:.75rem; font-weight:800;
  letter-spacing:2px; text-transform:uppercase; background:var(--primary); color:#fff;
  border:none; border-radius:3px; padding:14px 32px;
}

/* ═══════════════════════════════════════
   BUTTONS
═══════════════════════════════════════ */
.btn-solid {
  font-family:'Raleway',sans-serif; font-size:.72rem; font-weight:800;
  letter-spacing:2.5px; text-transform:uppercase;
  background:var(--primary); color:#fff;
  border:2px solid var(--primary); border-radius:3px;
  padding:15px 32px; display:inline-flex; align-items:center; gap:10px;
  transition:background .3s,border-color .3s,transform .3s,box-shadow .3s;
  position:relative; overflow:hidden;
}
.btn-solid::after { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent); transition:left .5s; }
.btn-solid:hover::after { left:100%; }
.btn-solid:hover { background:linear-gradient(45deg,var(--primary),#d4355a); border-color:transparent; transform:translateY(-2px); box-shadow:0 8px 32px rgba(192,27,54,.52),0 14px 36px rgba(0,0,0,.25); }

.btn-wire {
  font-family:'Raleway',sans-serif; font-size:.72rem; font-weight:700;
  letter-spacing:2.5px; text-transform:uppercase;
  background:transparent; color:rgba(255,255,255,.8);
  border:2px solid rgba(255,255,255,.22); border-radius:3px; padding:15px 32px;
  display:inline-flex; align-items:center; gap:10px;
  transition:border-color .3s,color .3s,background .3s;
}
.btn-wire:hover { border-color:rgba(255,255,255,.55); color:#fff; }

.btn-wire-dark {
  font-family:'Raleway',sans-serif; font-size:.72rem; font-weight:700;
  letter-spacing:2.5px; text-transform:uppercase;
  background:transparent; color:var(--primary);
  border:2px solid var(--border); border-radius:3px; padding:15px 32px;
  display:inline-flex; align-items:center; gap:10px;
  transition:border-color .3s,color .3s,background .3s,transform .3s;
}
.btn-wire-dark:hover { border-color:var(--primary); background:var(--primary-faint); transform:translateY(-1px); }

/* ── Billing toggle ── */
.billing-controls {
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:20px; margin:40px 0 48px;
}
.billing-badge {
  font-family:'Raleway',sans-serif; font-size:.58rem; font-weight:800;
  letter-spacing:3px; text-transform:uppercase; color:var(--text-muted);
}
.billing-toggle {
  display:inline-flex; background:rgba(0,0,0,.07); border:1px solid rgba(0,0,0,.06);
  border-radius:100px; padding:3px; gap:0;
}
.billing-btn {
  font-family:'Raleway',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:2px;
  text-transform:uppercase; padding:10px 22px; border-radius:100px;
  border:none; cursor:pointer; background:transparent; color:var(--text-muted);
  transition:background .3s,color .3s,box-shadow .3s;
}
.billing-btn.active {
  background:var(--primary); color:#fff;
  box-shadow:0 4px 14px rgba(192,27,54,.35);
}

/* Price slide animation */
@keyframes price-slide {
  from { opacity:0; transform:translateY(10px); }
  to   { opacity:1; transform:translateY(0); }
}
.price-slide { animation:price-slide .2s ease-out forwards; }

/* ── Shine border (video cards, media embeds) ── */
@keyframes shine-move {
  0%   { background-position:0% 0%; }
  50%  { background-position:100% 100%; }
  100% { background-position:0% 0%; }
}
.shine-border {
  position:relative; border-radius:12px;
}
.shine-border::before {
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1.5px; z-index:0; pointer-events:none;
  background-image:radial-gradient(transparent,transparent,var(--primary),var(--gold),transparent,transparent);
  background-size:300% 300%;
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  animation:shine-move 14s linear infinite;
}
/* children stay above ::before via DOM paint order — no override needed */

/* ═══════════════════════════════════════
   HERO — HOME
═══════════════════════════════════════ */
.hero {
  position:relative; min-height:100vh; width:100%; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  z-index:1; padding:160px 40px 180px; /* extra top clears fixed nav + ticker */
}
.hero-bg { position:absolute; inset:0; background:#0a0204; z-index:0; }
.hero-bg::before {
  content:''; position:absolute; inset:0; z-index:2;
  background:
    radial-gradient(ellipse at 50% 38%,rgba(180,20,45,.38) 0%,transparent 58%),
    radial-gradient(ellipse at 10% 60%,rgba(200,152,74,.1) 0%,transparent 42%),
    radial-gradient(ellipse at 90% 60%,rgba(200,152,74,.08) 0%,transparent 42%),
    radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.85) 0%,transparent 55%);
  pointer-events:none;
}
.hero-bg::after {
  content:''; position:absolute; inset:0; z-index:3;
  background-image:linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse at 50% 50%,black 20%,transparent 70%);
  pointer-events:none;
}

/* ── Animated gradient layers ── */
.grad-layer {
  position:absolute; inset:0; z-index:1;
  opacity:0; transition:opacity 2.5s ease-in-out; pointer-events:none;
}
.grad-layer.active { opacity:1; }
.gl1 { background:linear-gradient(135deg,#0a0204 0%,#101828 100%); }
.gl2 { background:linear-gradient(135deg,#0d0115 0%,#1a0408 100%); }
.gl3 { background:linear-gradient(135deg,#1a0408 0%,#080c18 100%); }
.gl4 { background:linear-gradient(135deg,#060d18 0%,#15040a 100%); }
.gl5 { background:linear-gradient(135deg,#100208 0%,#0d1520 100%); }

/* ── Gooey morphing text ── */
.gooey-svg-defs { position:absolute; width:0; height:0; overflow:hidden; }
.gooey-wrap { position:relative; display:block; height:clamp(7rem,16vw,14rem); width:100%; }
.gooey-filter-layer { position:absolute; inset:0; filter:url(#gooey-threshold); }
.gooey-t1,.gooey-t2 {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:'Bebas Neue',sans-serif; font-size:clamp(7rem,16vw,14rem);
  letter-spacing:8px; color:#fff; user-select:none; line-height:1; white-space:nowrap;
  will-change:filter,opacity;
}
.hero-orb-l,.hero-orb-r {
  position:absolute; top:50%; transform:translateY(-50%);
  width:300px; height:300px; border-radius:50%; filter:blur(90px); pointer-events:none; z-index:1;
}
.hero-orb-l { left:-80px; background:color-mix(in srgb,var(--primary) 22%,transparent); animation:orbPulse 6s ease-in-out infinite; }
.hero-orb-r { right:-80px; background:color-mix(in srgb,var(--gold) 15%,transparent); animation:orbPulse 6s ease-in-out infinite -3s; }


.hero-content {
  position:relative; z-index:2; text-align:center; max-width:780px; width:100%; padding:0 20px;
}
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Raleway',sans-serif; font-size:.6rem; font-weight:700; letter-spacing:3px; text-transform:uppercase;
  color:rgba(255,255,255,.45); margin-bottom:26px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1); border-radius:40px; padding:8px 18px;
  opacity:0; animation:up .9s cubic-bezier(.16,1,.3,1) .05s forwards;
}
.hero-eyebrow .dot { width:6px; height:6px; border-radius:50%; background:var(--primary); display:block; }

.hero-h1 { line-height:.92; margin-bottom:8px; opacity:0; animation:up .9s cubic-bezier(.16,1,.3,1) .2s forwards; }
.hero-h1 .word-move {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(7rem,16vw,14rem); letter-spacing:8px; color:#fff; display:block;
}
.hero-h1 .word-through {
  font-family:'Bebas Neue',sans-serif; font-style:normal;
  font-size:clamp(2.8rem,6vw,6rem); color:rgba(200,152,74,.9); letter-spacing:6px;
  display:block; line-height:1.1; padding-bottom:6px;
  opacity:0; transform:translateY(20px); animation:up .9s cubic-bezier(.16,1,.3,1) .55s forwards;
}
.hero-tagline {
  font-family:'Raleway',sans-serif; font-size:clamp(.9rem,1.8vw,1.15rem); font-weight:300;
  letter-spacing:6px; text-transform:uppercase; color:var(--gold-lt);
  display:block; margin-bottom:24px;
  opacity:0; animation:up .9s cubic-bezier(.16,1,.3,1) .72s forwards;
}
.hero-divider {
  display:flex; align-items:center; justify-content:center; gap:16px;
  margin:20px auto 18px; max-width:320px;
  opacity:0; animation:up .9s cubic-bezier(.16,1,.3,1) .42s forwards;
}
.hero-divider-line { flex:1; height:1px; background:rgba(200,152,74,.4); }
.hero-divider-text { font-family:'Raleway',sans-serif; font-size:.58rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--gold-lt); opacity:.6; white-space:nowrap; }
.hero-verse {
  font-family:'Lato',sans-serif; font-size:.92rem; font-style:italic; font-weight:300; line-height:1.82;
  color:rgba(255,255,255,.45); max-width:500px; margin:0 auto;
  opacity:0; animation:up .9s cubic-bezier(.16,1,.3,1) .5s forwards;
}
.hero-verse-ref { display:block; font-family:'Raleway',sans-serif; font-size:.58rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--gold); font-style:normal; margin-top:8px; }
.hero-btns {
  display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:34px;
  opacity:0; animation:up .9s cubic-bezier(.16,1,.3,1) .68s forwards;
}
.hero-stats-bar {
  position:absolute; bottom:0; left:0; right:0; z-index:3;
  display:flex; border-top:1px solid rgba(255,255,255,.07);
  opacity:0; animation:up .9s cubic-bezier(.16,1,.3,1) .9s forwards;
}
.hsb-item { flex:1; padding:18px 32px; border-right:1px solid rgba(255,255,255,.07); display:flex; align-items:center; gap:16px; }
.hsb-item:last-child { border-right:none; }
.hsb-num { font-family:'Bebas Neue',sans-serif; font-size:1.9rem; color:#fff; letter-spacing:2px; line-height:1; }
.hsb-label { font-family:'Raleway',sans-serif; font-size:.56rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.32); line-height:1.6; }
.scroll-cue { position:absolute; bottom:92px; right:56px; z-index:3; display:flex; flex-direction:column; align-items:center; gap:8px; opacity:0; animation:fadeIn 1s ease 1.2s forwards; }
.scroll-cue-text { font-family:'Raleway',sans-serif; font-size:.54rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,.22); writing-mode:vertical-rl; }
.scroll-cue-line { width:1px; height:48px; background:rgba(255,255,255,.15); position:relative; overflow:hidden; }
.scroll-cue-line::after { content:''; position:absolute; top:-100%; left:0; right:0; height:100%; background:var(--primary); animation:scrollDrop 2s ease-in-out infinite; }

/* ═══════════════════════════════════════
   PAGE HERO (inner pages)
═══════════════════════════════════════ */
.page-hero {
  position:relative; min-height:52vh; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  padding:140px max(60px,calc((100vw - 1200px)/2)) 80px;
  background:#0a0204;
}
.page-hero::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 50% 60%,rgba(180,20,45,.32) 0%,transparent 55%),
    radial-gradient(ellipse at 0% 50%,rgba(200,152,74,.07) 0%,transparent 40%);
}
.ph-content { position:relative; z-index:1; text-align:center; max-width:680px; }
.ph-eyebrow { font-family:'Raleway',sans-serif; font-size:.6rem; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:20px; opacity:0; animation:up .8s cubic-bezier(.16,1,.3,1) .1s forwards; }
.ph-h1 { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,7vw,6rem); letter-spacing:5px; color:#fff; line-height:.95; margin-bottom:18px; opacity:0; animation:up .8s cubic-bezier(.16,1,.3,1) .25s forwards; }
.ph-h1 em { font-family:'Bebas Neue',sans-serif; font-style:normal; color:var(--gold-lt); letter-spacing:5px; font-size:1em; }
.ph-sub { font-family:'Lato',sans-serif; font-size:1rem; font-weight:300; line-height:1.8; color:rgba(255,255,255,.85); max-width:520px; margin:0 auto; opacity:0; animation:up .8s cubic-bezier(.16,1,.3,1) .4s forwards; }

/* ═══════════════════════════════════════
   TICKER
═══════════════════════════════════════ */
.ticker { background:var(--ticker-bg); padding:13px 0; overflow:hidden; white-space:nowrap; position:fixed; top:0; left:0; right:0; z-index:299; transition:top .4s cubic-bezier(.16,1,.3,1); }
.t-track { display:inline-flex; animation:tick 36s linear infinite; }
.t-item {
  font-family:'Raleway',sans-serif; font-size:.72rem; font-weight:700;
  letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,.8);
  padding:0 36px; display:inline-flex; align-items:center; gap:14px;
}
.t-sep { width:4px; height:4px; border-radius:50%; background:rgba(255,255,255,.3); display:block; }

/* ═══════════════════════════════════════
   SECTION CHROME
═══════════════════════════════════════ */
.eyebrow {
  font-family:'Raleway',sans-serif; font-size:.63rem; font-weight:800;
  letter-spacing:4px; text-transform:uppercase; color:var(--primary);
  margin-bottom:18px; display:flex; align-items:center; gap:14px;
}
.eyebrow::before { content:''; width:28px; height:1.5px; background:var(--gold); }
.eyebrow-light {
  font-family:'Raleway',sans-serif; font-size:.62rem; font-weight:700;
  letter-spacing:4px; text-transform:uppercase; 
  margin-bottom:18px; display:flex; align-items:center; gap:14px;
}
.eyebrow-light::before { content:''; width:28px; height:1.5px; background:rgba(200,152,74,.4); }
.sec-h { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,5vw,5rem); line-height:1; color:var(--text); letter-spacing:4px; }
.sec-h .ac  { color:var(--gold); }
.sec-h .it  { color:var(--gold); font-style:normal; }
.sec-h-light { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,5vw,5rem); line-height:1; color:#fff; letter-spacing:4px; }
.sec-h-light .ac { color:var(--gold-lt); }
.sec-h-light .it { color:var(--gold-lt); font-style:normal; }
.sec-p { font-family:'Lato',sans-serif; font-size:.98rem; line-height:1.9; color:var(--text-muted); }
.sec-p-light { font-family:'Lato',sans-serif; font-size:.98rem; line-height:1.9; color:rgba(255,255,255,.82); }
.gold-bar { display:inline-block; width:44px; height:3px; background:var(--gold); border-radius:2px; margin:22px 0; }

/* ═══════════════════════════════════════
   SCRIPTURE / QUOTE STRIP
═══════════════════════════════════════ */
.scripture {
  padding:100px max(60px,calc((100vw - 1200px)/2));
  background:var(--surface2); text-align:center; position:relative; overflow:hidden;
}
.scr-cross {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  opacity:.025; color:var(--primary); pointer-events:none;
}
.scr-q { font-family:'Lato',sans-serif; font-weight:300; font-style:italic; font-size:clamp(1.4rem,2.4vw,2rem); color:var(--text); line-height:1.76; max-width:720px; margin:0 auto 20px; position:relative; z-index:1; }
.scr-ref { font-family:'Raleway',sans-serif; font-size:.65rem; font-weight:800; letter-spacing:4px; text-transform:uppercase; color:var(--gold); position:relative; z-index:1; }

/* ═══════════════════════════════════════
   BRAND PILLARS
═══════════════════════════════════════ */
.pillars-sec {
  padding:120px max(60px,calc((100vw - 1200px)/2));
  background:var(--surface);
}
.pillars-header { max-width:540px; margin-bottom:72px; }
.pillars-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
.pillar-card {
  background:var(--bg); border:1px solid rgba(192,27,54,.1);
  border-radius:12px; padding:40px 32px; position:relative; overflow:hidden;
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .35s;
  min-width:0;
}
.pillar-card::before { content:''; position:absolute; top:0; left:0; width:3px; height:0; background:var(--primary); border-radius:0 0 3px 0; transition:height .45s cubic-bezier(.16,1,.3,1); }
.pillar-card:hover { transform:translateY(-6px); box-shadow:0 20px 60px rgba(192,27,54,.1); border-color:rgba(192,27,54,.22); }
.pillar-card:hover::before { height:100%; }
.pillar-featured { background:var(--navy); border-color:transparent; }
.pillar-featured .pillar-num  { color:rgba(255,255,255,.2); }
.pillar-featured .pillar-icon { background:rgba(192,27,54,.18); color:var(--primary-lt); }
.pillar-featured .pillar-name { color:#fff; }
.pillar-featured .pillar-desc { color:rgba(255,255,255,.5); }
.pillar-num { font-family:'Bebas Neue',sans-serif; font-size:.9rem; letter-spacing:3px; color:rgba(192,27,54,.3); margin-bottom:20px; }
.pillar-icon {
  width:52px; height:52px; border-radius:12px; background:var(--primary-faint);
  display:flex; align-items:center; justify-content:center; color:var(--primary);
  margin-bottom:22px;
}
.pillar-name { font-family:'Bebas Neue',sans-serif; font-size:1.6rem; color:var(--text); margin-bottom:12px; line-height:1; letter-spacing:2px; }
.pillar-featured .pillar-desc { color:rgba(255,255,255,.8); }
.pillar-desc { font-family:'Lato',sans-serif; font-size:.9rem; line-height:1.85; color:var(--text-muted); }
.pillar-wide { grid-column:span 2; }

/* ═══════════════════════════════════════
   LEAD MAGNET SECTION
═══════════════════════════════════════ */
.lead-sec {
  padding:120px max(60px,calc((100vw - 1200px)/2));
  background:var(--navy); position:relative; overflow:hidden;
}
.lead-sec::before {
  content:''; position:absolute; top:-200px; right:-200px;
  width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle,rgba(192,27,54,.12) 0%,transparent 70%);
  pointer-events:none;
}
.lead-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.lead-left {}
.lead-kicker { font-family:'Raleway',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.lead-h { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.8rem,4.5vw,4.5rem); color:#fff; line-height:1; letter-spacing:4px; margin-bottom:20px; }
.lead-h em { font-style:normal; color:var(--gold-lt); }
.lead-desc { font-family:'Lato',sans-serif; font-size:.95rem; line-height:1.9; color:rgba(255,255,255,.82); margin-bottom:36px; }
.lead-keywords { display:flex; flex-wrap:wrap; gap:10px; }
.kw-pill {
  font-family:'Raleway',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:2.5px; text-transform:uppercase;
  border:1.5px solid rgba(255,255,255,.15); border-radius:40px; padding:8px 18px;
  color:rgba(255,255,255,.55); background:transparent; cursor:pointer;
  display:inline-flex; align-items:center; gap:6px;
  transition:border-color .25s,color .25s,background .25s,transform .2s;
}
.kw-pill:hover { border-color:var(--primary); color:var(--primary-lt); transform:translateY(-1px); }
.kw-pill.active { border-color:var(--primary); background:rgba(192,27,54,.18); color:#fff; }
.kw-what { display:none; margin-top:14px; font-family:'Lato',sans-serif; font-size:.84rem; font-style:italic; color:rgba(255,255,255,.4); padding-left:4px; }
.kw-what.show { display:block; }

.lead-form {
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:16px; padding:44px;
}
.form-title { font-family:'Bebas Neue',sans-serif; font-size:1.5rem; letter-spacing:3px; color:#fff; margin-bottom:6px; }
.form-sub { font-family:'Lato',sans-serif; font-size:.85rem; color:rgba(255,255,255,.75); margin-bottom:32px; }
.form-fields { display:flex; flex-direction:column; gap:14px; }
.form-field {
  position:relative;
}
.form-field input {
  width:100%; background:rgba(255,255,255,.07); border:1.5px solid rgba(255,255,255,.12);
  border-radius:8px; padding:14px 16px 14px 46px;
  font-family:'Lato',sans-serif; font-size:.95rem; color:#fff;
  outline:none; transition:border-color .25s,background .25s;
}
.form-field input::placeholder { color:rgba(255,255,255,.3); }
.form-field input:focus { border-color:var(--primary); background:rgba(255,255,255,.1); }
.form-field-icon {
  position:absolute; left:15px; top:50%; transform:translateY(-50%);
  color:rgba(255,255,255,.3); pointer-events:none;
}
.form-field-icon svg { width:18px; height:18px; }
.form-submit {
  margin-top:20px; width:100%; font-family:'Raleway',sans-serif; font-size:.72rem; font-weight:800;
  letter-spacing:2.5px; text-transform:uppercase; background:var(--primary); color:#fff;
  border:none; border-radius:8px; padding:16px; display:flex; align-items:center; justify-content:center; gap:10px;
  transition:background .3s,transform .25s,box-shadow .25s; cursor:pointer;
}
.form-submit:hover { background:var(--primary-dk); transform:translateY(-2px); box-shadow:0 14px 36px rgba(192,27,54,.35); }
.form-submit.shake { animation:shake .5s cubic-bezier(.36,.07,.19,.97); }
.form-privacy { font-family:'Lato',sans-serif; font-size:.75rem; color:rgba(255,255,255,.25); text-align:center; margin-top:14px; }
#selectedKeywordDisplay { font-family:'Raleway',sans-serif; font-size:.62rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:12px; display:none; }
#selectedKeywordDisplay.show { display:block; }

/* ═══════════════════════════════════════
   PRODUCT CARDS
═══════════════════════════════════════ */
.products-sec {
  padding:120px max(60px,calc((100vw - 1200px)/2));
  background:var(--bg);
}
.products-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:60px; }
.products-header .view-all { font-family:'Raleway',sans-serif; font-size:.65rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--primary); display:flex; align-items:center; gap:8px; transition:gap .3s; }
.products-header .view-all:hover { gap:14px; }
.products-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.prod-card {
  background:var(--surface); border:1px solid rgba(0,0,0,.07);
  border-radius:16px; overflow:hidden; min-width:0;
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;
}
.prod-card:hover { transform:translateY(-8px); box-shadow:0 28px 72px rgba(0,0,0,.12); }
.prod-featured { border-color:var(--primary); position:relative; }
.prod-featured-badge {
  position:absolute; top:20px; right:20px; z-index:2;
  font-family:'Raleway',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:2px; text-transform:uppercase;
  background:var(--primary); color:#fff; border-radius:40px; padding:5px 12px;
}
.prod-band {
  height:8px; background:var(--surface2);
}
.prod-band-primary { background:linear-gradient(90deg,var(--primary),var(--primary-lt)); }
.prod-band-gold    { background:linear-gradient(90deg,var(--gold),var(--gold-lt)); }
.prod-body { padding:32px 28px 28px; }
.prod-tier { font-family:'Raleway',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--text-muted); margin-bottom:12px; }
.prod-name { font-family:'Bebas Neue',sans-serif; font-size:1.6rem; color:var(--text); line-height:1; margin-bottom:10px; letter-spacing:2px; }
.prod-desc { font-family:'Lato',sans-serif; font-size:.88rem; line-height:1.8; color:var(--text-muted); margin-bottom:20px; }
.prod-includes { list-style:none; display:flex; flex-direction:column; gap:8px; margin-bottom:24px; }
.prod-includes li { font-family:'Lato',sans-serif; font-size:.84rem; color:var(--text-muted); display:flex; align-items:center; gap:10px; }
.prod-includes li .chk { color:var(--primary); flex-shrink:0; }
.prod-price-row { display:flex; align-items:baseline; gap:8px; margin-bottom:22px; }
.prod-price { font-family:'Bebas Neue',sans-serif; font-size:2.2rem; letter-spacing:2px; color:var(--text); }
.prod-price-mo { font-family:'Raleway',sans-serif; font-size:.62rem; font-weight:700; letter-spacing:2px; color:var(--text-muted); text-transform:uppercase; }
.prod-cta { display:block; width:100%; text-align:center; font-family:'Raleway',sans-serif; font-size:.68rem; font-weight:800; letter-spacing:2px; text-transform:uppercase; background:var(--primary); color:#fff; border:none; border-radius:8px; padding:14px; transition:background .3s,transform .2s; }
.prod-cta:hover { background:var(--primary-dk); transform:translateY(-1px); }
.prod-cta-wire { background:transparent; color:var(--primary); border:1.5px solid var(--border); }
.prod-cta-wire:hover { background:var(--primary-faint); border-color:var(--primary); }

/* Full product ladder (programs page) */
.ladder-sec { padding:100px max(60px,calc((100vw - 1200px)/2)); background:var(--bg); }
.ladder-tier {
  display:grid; grid-template-columns:80px 1fr auto; gap:36px; align-items:start;
  padding:48px 0; border-bottom:1px solid rgba(0,0,0,.07); min-width:0;
}
.ladder-tier:last-child { border-bottom:none; }
.lt-num { font-family:'Bebas Neue',sans-serif; font-size:3.5rem; letter-spacing:3px; color:rgba(192,27,54,.15); line-height:1; }
.lt-body { min-width:0; }
.lt-tier-label { font-family:'Raleway',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--text-muted); margin-bottom:10px; }
.lt-name { font-family:'Bebas Neue',sans-serif; font-size:2.2rem; color:var(--text); margin-bottom:10px; letter-spacing:3px; line-height:1; }
.lt-desc { font-family:'Lato',sans-serif; font-size:.92rem; line-height:1.85; color:var(--text-muted); max-width:560px; margin-bottom:16px; }
.lt-tags { display:flex; flex-wrap:wrap; gap:8px; }
.lt-tag { font-family:'Raleway',sans-serif; font-size:.6rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; background:var(--primary-faint); color:var(--primary); border-radius:40px; padding:4px 14px; }
.lt-price-block { text-align:right; flex-shrink:0; }
.lt-price { font-family:'Bebas Neue',sans-serif; font-size:2.8rem; letter-spacing:2px; color:var(--text); line-height:1; }
.lt-price-suffix { font-family:'Raleway',sans-serif; font-size:.6rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-bottom:14px; display:block; }
.lt-cta { display:block; font-family:'Raleway',sans-serif; font-size:.65rem; font-weight:800; letter-spacing:2px; text-transform:uppercase; background:var(--primary); color:#fff; border:none; border-radius:6px; padding:12px 22px; white-space:nowrap; transition:background .3s,transform .2s; cursor:pointer; }
.lt-cta:hover { background:var(--primary-dk); transform:translateY(-1px); }
.lt-cta-wire { background:transparent; color:var(--primary); border:1.5px solid var(--border); }
.lt-cta-wire:hover { background:var(--primary-faint); border-color:var(--primary); }
.lt-featured .lt-num { color:var(--primary); opacity:.8; }
.lt-featured .lt-name { color:var(--primary-dk); }

/* ═══════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════ */
.testi-sec {
  padding:120px max(60px,calc((100vw - 1200px)/2));
  background:var(--navy); position:relative; overflow:hidden;
}
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:60px; }
.testi-card {
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
  border-radius:16px; padding:36px 30px; min-width:0;
  transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s;
}
.testi-card:hover { transform:translateY(-4px); border-color:rgba(192,27,54,.3); }
.testi-stars { display:flex; gap:4px; margin-bottom:20px; }
.testi-stars svg { color:var(--gold); }
.testi-text { font-family:'Lato',sans-serif; font-size:.94rem; line-height:1.88; color:rgba(255,255,255,.78); font-style:italic; margin-bottom:24px; }
.testi-author { display:flex; align-items:center; gap:14px; }
.testi-avatar { width:42px; height:42px; border-radius:50%; background:var(--primary); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:1.1rem; color:#fff; flex-shrink:0; }
.testi-name { font-family:'Raleway',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#fff; }
.testi-handle { font-family:'Lato',sans-serif; font-size:.78rem; color:rgba(255,255,255,.65); }

/* ═══════════════════════════════════════
   STORY PAGE
═══════════════════════════════════════ */
.story-intro {
  padding:100px max(60px,calc((100vw - 1200px)/2));
  background:var(--surface);
}
.story-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; min-width:0; }
.story-quote {
  font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,3.5vw,3.2rem);
  font-style:normal; line-height:1.15; color:var(--text); letter-spacing:3px;
  border-left:3px solid var(--gold); padding-left:28px;
}
.story-quote span { color:var(--gold); }
.story-timeline { display:flex; flex-direction:column; gap:0; margin-top:60px; }
.timeline-item { display:grid; grid-template-columns:56px 1fr; gap:24px; position:relative; min-width:0; }
.timeline-item::before { content:''; position:absolute; left:27px; top:56px; bottom:-30px; width:1px; background:rgba(192,27,54,.2); }
.timeline-item:last-child::before { display:none; }
.tl-dot { width:56px; height:56px; border-radius:50%; background:var(--primary-faint); border:2px solid rgba(192,27,54,.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; z-index:1; }
.tl-dot.accent { background:var(--primary); border-color:var(--primary); color:#fff; }
.tl-content { padding-bottom:48px; }
.tl-period { font-family:'Raleway',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--primary); margin-bottom:8px; }
.tl-heading { font-family:'Bebas Neue',sans-serif; font-size:1.8rem; color:var(--text); margin-bottom:10px; letter-spacing:2px; line-height:1; }
.tl-body { font-family:'Lato',sans-serif; font-size:.92rem; line-height:1.85; color:var(--text-muted); }

/* ═══════════════════════════════════════
   RECIPES / CONTENT CARDS
═══════════════════════════════════════ */
.content-sec { padding:100px max(60px,calc((100vw - 1200px)/2)); background:var(--bg); }
.content-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; }
.content-card {
  background:var(--surface); border:1px solid rgba(0,0,0,.07);
  border-radius:14px; overflow:hidden; min-width:0;
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;
}
.content-card:hover { transform:translateY(-6px); box-shadow:0 20px 56px rgba(0,0,0,.1); }
.content-card-img {
  height:200px; background:var(--surface2); display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.content-card-img-bg { position:absolute; inset:0; opacity:.12; }
.content-card-category { font-family:'Raleway',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--primary); margin-bottom:12px; }
.content-card-body { padding:24px; }
.content-card-title { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; color:var(--text); margin-bottom:10px; line-height:1.1; letter-spacing:2px; }
.content-card-desc { font-family:'Lato',sans-serif; font-size:.86rem; line-height:1.8; color:var(--text-muted); margin-bottom:18px; }
.content-card-meta { display:flex; justify-content:space-between; align-items:center; padding-top:14px; border-top:1px solid rgba(0,0,0,.06); }
.content-card-tag { font-family:'Raleway',sans-serif; font-size:.58rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; background:var(--primary-faint); color:var(--primary); border-radius:40px; padding:4px 12px; }
.content-card-arrow { color:var(--primary); }

/* ═══════════════════════════════════════
   RESULTS / BEFORE-AFTER
═══════════════════════════════════════ */
.results-stats {
  padding:80px max(60px,calc((100vw - 1200px)/2));
  background:var(--primary);
}
.results-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:40px; }
.rs-stat { text-align:center; min-width:0; }
.rs-num { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.5rem,4vw,4rem); color:#fff; letter-spacing:2px; }
.rs-label { font-family:'Raleway',sans-serif; font-size:.62rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.6); margin-top:6px; }

.social-proof-sec { padding:100px max(60px,calc((100vw - 1200px)/2)); background:var(--bg); }
.sp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; }
.sp-card {
  background:var(--surface); border:1px solid rgba(0,0,0,.07);
  border-radius:14px; padding:32px 28px; min-width:0;
  transition:transform .3s,box-shadow .3s;
}
.sp-card:hover { transform:translateY(-4px); box-shadow:0 16px 48px rgba(0,0,0,.09); }
.sp-platform { font-family:'Raleway',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--text-muted); margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.sp-text { font-family:'Lato',sans-serif; font-size:.92rem; line-height:1.88; color:var(--text); margin-bottom:24px; }
.sp-result { font-family:'Bebas Neue',sans-serif; font-size:2rem; color:var(--primary); letter-spacing:3px; margin-bottom:6px; line-height:1; }
.sp-result-label { font-family:'Raleway',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:2.5px; text-transform:uppercase; color:var(--text-muted); }

/* ═══════════════════════════════════════
   BLOG
═══════════════════════════════════════ */
.blog-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:56px; }
.blog-card-featured { grid-column:span 2; display:grid; grid-template-columns:1fr 1fr; gap:0; min-width:0; background:var(--surface); border-radius:16px; overflow:hidden; border:1px solid rgba(0,0,0,.07); transition:transform .35s,box-shadow .35s; }
.blog-card-featured:hover { transform:translateY(-4px); box-shadow:0 20px 60px rgba(0,0,0,.1); }
.blog-card-featured .blog-img { height:100%; min-height:280px; background:var(--navy); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; border-radius:16px 0 0 16px; }
.blog-card .blog-img { border-radius:14px 14px 0 0; }
.blog-card .blog-img.shine-border, .blog-card-featured .blog-img.shine-border { border-radius:inherit; }
.blog-card-featured .blog-body { padding:48px 44px; display:flex; flex-direction:column; justify-content:center; }
.blog-card { background:var(--surface); border-radius:14px; overflow:hidden; border:1px solid rgba(0,0,0,.07); min-width:0; transition:transform .35s,box-shadow .35s; }
.blog-card:hover { transform:translateY(-4px); box-shadow:0 16px 48px rgba(0,0,0,.09); }
.blog-card .blog-img { height:180px; background:var(--surface2); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.blog-card .blog-body { padding:28px 24px; }
.blog-category { font-family:'Raleway',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--primary); margin-bottom:12px; }
.blog-title { font-family:'Bebas Neue',sans-serif; font-size:1.5rem; color:var(--text); margin-bottom:10px; line-height:1.1; letter-spacing:2px; }
.blog-excerpt { font-family:'Lato',sans-serif; font-size:.88rem; line-height:1.85; color:var(--text-muted); margin-bottom:18px; }
.blog-read-more { font-family:'Raleway',sans-serif; font-size:.62rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--primary); display:flex; align-items:center; gap:8px; transition:gap .3s; }
.blog-read-more:hover { gap:14px; }

/* ═══════════════════════════════════════
   CTA BANNER
═══════════════════════════════════════ */
.cta-banner {
  padding:100px max(60px,calc((100vw - 1200px)/2));
  background:linear-gradient(135deg,#8A0F24,#C01B36,#D44050);
  text-align:center; position:relative; overflow:hidden;
}
.cta-banner::before {
  content:''; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:60px 60px;
}
.cta-eyebrow { font-family:'Raleway',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,.75); margin-bottom:20px; position:relative; z-index:1; }
.cta-h { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,5vw,5rem); color:#fff; line-height:1; letter-spacing:4px; margin-bottom:22px; position:relative; z-index:1; }
.cta-sub { font-family:'Lato',sans-serif; font-size:.98rem; font-weight:300; line-height:1.85; color:rgba(255,255,255,.85); max-width:520px; margin:0 auto 40px; position:relative; z-index:1; }
.cta-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; position:relative; z-index:1; }
.btn-white { font-family:'Raleway',sans-serif; font-size:.72rem; font-weight:800; letter-spacing:2.5px; text-transform:uppercase; background:#fff; color:var(--primary); border:2px solid #fff; border-radius:3px; padding:15px 32px; display:inline-flex; align-items:center; gap:10px; transition:background .3s,transform .3s,box-shadow .3s; }
.btn-white:hover { background:rgba(255,255,255,.9); transform:translateY(-2px); box-shadow:0 12px 32px rgba(0,0,0,.2); }

/* ═══════════════════════════════════════
   THANK YOU PAGE
═══════════════════════════════════════ */
.ty-page {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:120px 24px; background:var(--navy); text-align:center;
  position:relative; overflow:hidden;
}
.ty-page::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 40%,rgba(192,27,54,.18) 0%,transparent 60%);
}
.ty-content { position:relative; z-index:1; max-width:520px; }
.ty-icon { width:80px; height:80px; border-radius:50%; background:rgba(192,27,54,.18); border:2px solid rgba(192,27,54,.3); display:flex; align-items:center; justify-content:center; margin:0 auto 32px; color:var(--primary-lt); }
.ty-eyebrow { font-family:'Raleway',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.ty-h { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.5rem,6vw,4.5rem); letter-spacing:5px; color:#fff; margin-bottom:18px; line-height:.95; }
.ty-sub { font-family:'Lato',sans-serif; font-size:.98rem; line-height:1.9; color:rgba(255,255,255,.82); margin-bottom:36px; }
.ty-guide-tag { font-family:'Raleway',sans-serif; font-size:.65rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--primary-lt); background:rgba(192,27,54,.15); border:1px solid rgba(192,27,54,.25); border-radius:40px; padding:8px 18px; display:inline-block; margin-bottom:36px; }

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
footer {
  background:var(--navy);
  padding:80px max(60px,calc((100vw - 1200px)/2)) 40px;
  position:relative;
}
footer::before {
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:33%; height:128px; pointer-events:none;
  background:radial-gradient(35% 128px at 50% 0%,rgba(255,255,255,.08),transparent);
}
footer::after {
  content:''; position:absolute; top:0; left:50%;
  transform:translateX(-50%) translateY(-50%);
  width:33%; height:1px; border-radius:999px;
  background:rgba(255,255,255,.22); filter:blur(1px); pointer-events:none;
}

/* ── Footer reveal animation ── */
@keyframes foot-in {
  from { opacity:0; transform:translateY(-8px); filter:blur(4px); }
  to   { opacity:1; transform:translateY(0);    filter:blur(0); }
}
.fv { opacity:0; }
.fv.on { animation:foot-in .8s cubic-bezier(.16,1,.3,1) both; }
.fv.fd1 { animation-delay:.12s; }
.fv.fd2 { animation-delay:.24s; }
.fv.fd3 { animation-delay:.36s; }
.footer-main { display:grid; grid-template-columns:2fr 1fr 1fr; gap:60px; margin-bottom:56px; min-width:0; }
.footer-brand { }
.footer-logo { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.footer-logo-mark { width:40px; height:40px; border-radius:50%; background:var(--primary); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.footer-logo-mark svg { width:36px; height:36px; }
.footer-wm-top  { font-family:'Raleway',sans-serif; font-size:.48rem; font-weight:700; letter-spacing:3.5px; text-transform:uppercase; color:rgba(255,255,255,.4); display:block; }
.footer-wm-main { font-family:'Bebas Neue',sans-serif; font-size:1.1rem; letter-spacing:3px; color:rgba(255,255,255,.85); display:block; }
.footer-desc { font-family:'Lato',sans-serif; font-size:.86rem; line-height:1.85; color:rgba(255,255,255,.72); max-width:320px; margin-bottom:28px; }
.footer-social { display:flex; gap:14px; }
.footer-social-link { width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.45); transition:border-color .25s,color .25s,background .25s; }
.footer-social-link:hover { border-color:var(--primary); color:var(--primary); background:rgba(192,27,54,.1); }
.footer-social-link svg { width:16px; height:16px; }
.footer-nav-col h4 { font-family:'Raleway',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,.3); margin-bottom:22px; }
.footer-nav-col ul { list-style:none; display:flex; flex-direction:column; gap:12px; }
.footer-nav-col a { font-family:'Lato',sans-serif; font-size:.88rem; color:rgba(255,255,255,.45); transition:color .25s; }
.footer-nav-col a:hover { color:rgba(255,255,255,.85); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.06); padding-top:32px; display:flex; justify-content:space-between; align-items:center; }
.footer-copy { font-family:'Lato',sans-serif; font-size:.78rem; color:rgba(255,255,255,.25); }
.footer-handle { font-family:'Raleway',sans-serif; font-size:.62rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.3); }
.footer-handle span { color:var(--primary); }

/* ═══════════════════════════════════════
   ABOUT STRIP (home page)
═══════════════════════════════════════ */
.about-strip {
  padding:120px max(60px,calc((100vw - 1200px)/2));
  background:var(--surface);
}
.about-strip-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; min-width:0; }
.about-chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.chip {
  font-family:'Raleway',sans-serif; font-size:.62rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  background:var(--primary-faint); color:var(--primary); border-radius:40px; padding:7px 16px;
  display:inline-flex; align-items:center; gap:7px;
}
.about-image-block { position:relative; border-radius:20px; }
.about-image-placeholder {
  aspect-ratio:4/5; border-radius:20px; background:linear-gradient(145deg,var(--primary-dk),var(--navy));
  display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative;
}
.about-image-placeholder img { width:100%; height:100%; object-fit:cover; object-position:center 18%; display:block; }
.aip-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom,transparent 40%,rgba(10,2,4,.7) 100%);
}
.aip-badge {
  position:absolute; bottom:24px; left:24px; right:24px;
  background:rgba(255,255,255,.1); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.15); border-radius:12px; padding:16px 20px;
}
.aip-badge-text { font-family:'Lato',sans-serif; font-size:.82rem; font-style:italic; color:#fff; line-height:1.6; }
.aip-badge-ref { font-family:'Raleway',sans-serif; font-size:.58rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-top:6px; display:block; }

/* ═══════════════════════════════════════
   MOBILE RESPONSIVE
═══════════════════════════════════════ */
@media(max-width:768px) {
  nav { padding:18px 24px; }
  nav.stuck { padding:12px 24px; }
  .n-nav-center { display:none; }
  .n-portal-link { display:none; }
  .n-menu { display:flex; }

  .hero { padding:100px 24px 160px; }
  .hero-stats-bar .hsb-item { padding:14px 18px; }
  .hsb-num { font-size:1.4rem; }
  .scroll-cue { display:none; }

  .page-hero { padding:120px 24px 60px; min-height:44vh; }

  .pillars-grid { grid-template-columns:1fr; }
  .pillar-wide { grid-column:span 1; }

  .lead-inner { grid-template-columns:1fr; gap:44px; }
  .lead-form { padding:28px; }

  .products-grid { grid-template-columns:1fr; }
  .products-header { flex-direction:column; gap:16px; align-items:flex-start; }

  .testi-grid { grid-template-columns:1fr; }

  .about-strip-grid { grid-template-columns:1fr; gap:44px; }

  .story-intro-grid { grid-template-columns:1fr; gap:44px; }

  .content-grid { grid-template-columns:1fr; }

  .ladder-tier { grid-template-columns:1fr; gap:20px; }
  .lt-price-block { text-align:left; }
  .lt-num { font-size:2.2rem; }

  .results-stats-grid { grid-template-columns:repeat(2,1fr); gap:28px; }

  .sp-grid { grid-template-columns:1fr; }

  .blog-grid { grid-template-columns:1fr; }
  .blog-card-featured { grid-column:span 1; grid-template-columns:1fr; }
  .blog-card-featured .blog-img { min-height:200px; }
  .blog-card-featured .blog-body { padding:32px 24px; }

  .footer-main { grid-template-columns:1fr; gap:36px; }
  .footer-bottom { flex-direction:column; gap:14px; text-align:center; }

  .cta-btns { flex-direction:column; align-items:center; }

  .mobile-nav a { font-size:2rem; }

  /* ── Blog pillar filter grid ── */
  .pillar-filter-grid { grid-template-columns:repeat(2,1fr); }

  /* ── Fix horizontal slide animations — prevent off-screen shift on mobile ── */
  .rvl { transform:translateY(40px); }
  .rvr { transform:translateY(40px); }

  /* ── Hero bottom space — remove dead space when stats bar hidden ── */
  .hero { padding-bottom:80px; }

  /* ── Section horizontal padding — override max(60px,...) to 24px ── */
  .scripture    { padding-left:24px; padding-right:24px; }
  .pillars-sec  { padding-left:24px; padding-right:24px; }
  .lead-sec     { padding-left:24px; padding-right:24px; }
  .products-sec { padding-left:24px; padding-right:24px; }
  .testi-sec    { padding-left:24px; padding-right:24px; }
  .about-strip  { padding-left:24px; padding-right:24px; }
  .content-sec  { padding-left:24px; padding-right:24px; }
  .social-proof-sec { padding-left:24px; padding-right:24px; }
  .results-stats { padding-left:24px; padding-right:24px; }
  .cta-banner   { padding-left:24px; padding-right:24px; }
  .ladder-sec   { padding-left:24px; padding-right:24px; }
  .story-intro  { padding-left:24px; padding-right:24px; }
  footer        { padding-left:24px; padding-right:24px; }

  /* ── Utility class overrides for mobile ── */
  .sec-pad      { padding:70px 24px; }
  .sec-pad-sm   { padding:56px 24px; }
  .ladder-top-sec { padding:0 24px 70px; }

  /* ── Two-col grid collapse ── */
  .two-col-grid { grid-template-columns:1fr; gap:44px; }

  /* ── Rule strip stacks on mobile ── */
  .rule-strip { padding:16px 24px; }
  .rule-strip-inner { flex-direction:column; align-items:flex-start; gap:12px; }
  .rule-strip-link { white-space:normal; }

  /* ── About image — shorter aspect ratio on mobile ── */
  .about-image-placeholder { aspect-ratio:16/10; }

  /* ── Page hero ── */
  .page-hero { min-height:auto; }
}

@media(max-width:480px) {
  .hero-h1 .word-move { font-size:5.5rem; }
  .hero-stats-bar { display:none; }
  .hsb-item { padding:12px; }
  .lead-keywords { gap:8px; }
  .kw-pill { font-size:.58rem; padding:7px 14px; }
}
