@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Montserrat:wght@300;400;500;600;700&display=swap');

/* Safe fallback: if JS never runs, show content anyway after 1s */
@media (prefers-reduced-motion: no-preference) {
  .reveal { animation: revealFallback 0s 1.5s forwards; }
}
@keyframes revealFallback { to { opacity:1; transform:none; } }

:root {
  --primary: #92B4B4;
  --primary-dark: #6a9898;
  --primary-light: #b5d0d0;
  --primary-xlight: #dceeed;
  --accent: #B07D62;
  --accent-dark: #8f5e43;
  --accent-light: #c9a08a;
  --bg: #FFFFFF;
  --text: #2D2D2D;
  --text-light: #5a5a5a;
  --text-muted: #8a8a8a;
  --sage-bg: #f2f7f7;
  --warm-bg: #faf5f1;
  --border: #e6e6e6;
  --shadow-sm: 0 2px 12px rgba(0,0,0,0.06);
  --shadow-md: 0 8px 32px rgba(0,0,0,0.08);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Montserrat',sans-serif;color:var(--text);background:var(--bg);line-height:1.7;overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Playfair Display',serif;line-height:1.3;}

/* ── STICKY HEADER ── */
.sticky-header{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:rgba(255,255,255,0.95);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(146,180,180,0.2);
  padding:10px 0;
  transform:translateY(-100%);
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.sticky-header.visible{transform:translateY(0);}
.sticky-header-inner{max-width:1100px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.live-pill{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text);}
.live-dot{width:9px;height:9px;border-radius:50%;background:#e74c3c;animation:pulse 1.5s infinite;flex-shrink:0;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.4);}}
.btn-sticky{background:var(--accent);color:#fff;border:none;padding:10px 22px;border-radius:50px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s;font-family:'Montserrat',sans-serif;white-space:nowrap;}
.btn-sticky:hover{background:var(--accent-dark);transform:scale(1.04);}

/* ── HERO ── */
.hero{
  position:relative;min-height:auto;display:flex;align-items:center;
  background:linear-gradient(150deg,#f0f7f7 0%,#fff 45%,#faf4f0 100%);
  overflow:hidden;
}
.hero-bg-blob{position:absolute;border-radius:50%;pointer-events:none;}
.hero-bg-blob.b1{width:600px;height:600px;top:-150px;right:-150px;background:radial-gradient(circle,rgba(146,180,180,.12) 0%,transparent 70%);animation:breathe 8s ease-in-out infinite;}
.hero-bg-blob.b2{width:400px;height:400px;bottom:-100px;left:-80px;background:radial-gradient(circle,rgba(176,125,98,.08) 0%,transparent 70%);animation:breathe 10s ease-in-out infinite reverse;}
@keyframes breathe{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}

/* Botanical decorations */
.bot{position:absolute;pointer-events:none;opacity:.18;}
.bot svg path,.bot svg ellipse,.bot svg circle{fill:currentColor;}
.bot-1{top:8%;left:2%;width:100px;color:var(--primary);animation:sway 9s ease-in-out infinite;}
.bot-2{top:20%;right:3%;width:80px;color:var(--accent-light);animation:sway 11s ease-in-out infinite reverse;}
.bot-3{bottom:12%;left:6%;width:70px;color:var(--primary-dark);animation:sway 13s ease-in-out infinite;}
.bot-4{bottom:20%;right:5%;width:90px;color:var(--accent);animation:sway 8s ease-in-out infinite reverse;}
@keyframes sway{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-18px) rotate(6deg);}}

.hero-inner{max-width:1120px;margin:0 auto;padding:90px 24px 40px;position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}

/* Hero left */
.live-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(231,76,60,.08);border:1px solid rgba(231,76,60,.2);color:#c0392b;padding:8px 18px;border-radius:50px;font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:20px;animation:fadeUp .6s ease-out both;}
.hero-eyebrow{font-size:15px;color:var(--primary-dark);font-weight:600;margin-bottom:12px;animation:fadeUp .6s .1s ease-out both;}
.hero h1{font-size:clamp(30px,4vw,48px);color:var(--text);margin-bottom:18px;animation:fadeUp .6s .15s ease-out both;}
.hero h1 em{color:var(--primary-dark);font-style:italic;}
.hero-desc{font-size:17px;color:var(--text-light);margin-bottom:8px;line-height:1.8;animation:fadeUp .6s .2s ease-out both;}
.hero-note-small{font-size:14px;color:var(--text-muted);margin-bottom:30px;animation:fadeUp .6s .25s ease-out both;}
.hero-cta-wrap{display:flex;flex-direction:column;gap:14px;animation:fadeUp .6s .3s ease-out both;}
.spots-note{font-size:13px;color:var(--accent);font-weight:600;display:flex;align-items:center;gap:6px;}
.hero-meta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;animation:fadeUp .6s .4s ease-out both;}
.meta-chip{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-light);background:rgba(255,255,255,.9);padding:8px 16px;border-radius:10px;border:1px solid var(--border);box-shadow:var(--shadow-sm);}
.meta-chip svg{width:14px;height:14px;stroke:var(--primary);flex-shrink:0;}

@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeRight{from{opacity:0;transform:translateX(40px);}to{opacity:1;transform:translateX(0);}}

/* Hero right */
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;animation:fadeRight .8s .3s ease-out both;}
.hero-blob-img{
  width:460px;height:500px;position:relative;
  border-radius:62% 38% 46% 54% / 60% 44% 56% 40%;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(146,180,180,.25),0 0 0 8px rgba(146,180,180,.08);
  animation:morphBlob 14s ease-in-out infinite;
}
.hero-blob-img .img-inner{width:100%;height:100%;background:linear-gradient(160deg,var(--primary-light) 0%,var(--primary) 40%,var(--accent-light) 100%);display:flex;align-items:center;justify-content:center;font-size:80px;}
@keyframes morphBlob{0%,100%{border-radius:62% 38% 46% 54% / 60% 44% 56% 40%;}33%{border-radius:50% 50% 38% 62% / 55% 48% 52% 45%;}66%{border-radius:44% 56% 62% 38% / 48% 60% 40% 52%;}}

.float-badge{position:absolute;background:#fff;padding:12px 18px;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.1);font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;animation:floatY 4s ease-in-out infinite;}
.float-badge.fb1{top:5%;left:-40px;animation-delay:0s;}
.float-badge.fb2{bottom:10%;right:-30px;animation-delay:2s;}
.float-badge .badge-icon{font-size:20px;}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}


/* ── VSL VIDEO SECTION ── */
.vsl-section {
  background: var(--bg);
  padding: 24px 24px 40px;
  position: relative;
  overflow: hidden;
}
.vsl-section::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 5% 50%, rgba(146,180,180,.07) 0%, transparent 55%),
    radial-gradient(ellipse at 95% 50%, rgba(176,125,98,.05) 0%, transparent 55%);
  pointer-events: none;
}
.vsl-inner {
  max-width: 820px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  position: relative;
  z-index: 1;
}
.vsl-label {
  text-align: center;
}
.vsl-heading {
  font-size: clamp(24px, 3.5vw, 36px);
  margin: 10px 0 10px;
  color: var(--text);
}
.vsl-sub {
  font-size: 16px;
  color: var(--text-light);
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.75;
}

/* Video wrapper */
.vsl-wrapper {
  width: 100%;
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow:
    0 24px 80px rgba(0,0,0,.12),
    0 0 0 1px rgba(146,180,180,.15);
  background: #0e1410;
  aspect-ratio: 16/9;
}
.vsl-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 24px;
}

/* Mute/unmute button */
.vsl-mute-btn {
  position: absolute;
  bottom: 18px;
  right: 18px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  border: 1px solid rgba(255,255,255,.2);
  padding: 10px 18px 10px 14px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
  cursor: pointer;
  transition: all .3s;
  animation: muteButtonPulse 2.5s ease-in-out 1.5s 3;
}
.vsl-mute-btn:hover {
  background: rgba(0,0,0,.75);
  transform: scale(1.05);
}
@keyframes muteButtonPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,255,255,.3); }
  50%       { box-shadow: 0 0 0 8px rgba(255,255,255,.0); }
}

/* Big unmute overlay */
.vsl-unmute-overlay {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: rgba(0,0,0,0);
  border: none;
  cursor: pointer;
  transition: opacity .5s ease;
}
.vsl-unmute-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}
.vsl-unmute-circle {
  width: 120px; height: 120px;
  border-radius: 50%;
  background: rgba(0,0,0,.5);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 3px solid rgba(255,255,255,.5);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 0 0 0 rgba(255,255,255,.4);
  animation: unmuteRing 2s ease-out infinite;
  transition: transform .2s, background .2s;
}
.vsl-unmute-overlay:hover .vsl-unmute-circle {
  transform: scale(1.08);
  background: rgba(0,0,0,.65);
}
@keyframes unmuteRing {
  0%   { box-shadow: 0 0 0 0   rgba(255,255,255,.45); }
  70%  { box-shadow: 0 0 0 22px rgba(255,255,255,.0); }
  100% { box-shadow: 0 0 0 0   rgba(255,255,255,.0); }
}
.vsl-unmute-label {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: .3px;
  text-shadow: 0 2px 8px rgba(0,0,0,.6);
  background: rgba(0,0,0,.35);
  padding: 8px 20px;
  border-radius: 50px;
  backdrop-filter: blur(4px);
}

/* Play button (shown when autoplay blocked) */
.vsl-play-btn {
  position: absolute;
  inset: 0;
  z-index: 9;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.35);
  border: none;
  cursor: pointer;
  transition: background .3s;
}
.vsl-play-btn:hover { background: rgba(0,0,0,.5); }
.vsl-play-btn svg {
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.4));
  transition: transform .3s;
}
.vsl-play-btn:hover svg { transform: scale(1.1); }

/* Pulsing watch ring (top-left corner) */
.vsl-watch-ring {
  position: absolute;
  top: 16px;
  left: 18px;
  z-index: 10;
  width: 12px;
  height: 12px;
}
.vsl-watch-pulse {
  width: 12px; height: 12px;
  border-radius: 50%;
  background: #e74c3c;
  box-shadow: 0 0 0 0 rgba(231,76,60,.5);
  animation: livePulse 2s ease-out infinite;
}
@keyframes livePulse {
  0%   { box-shadow: 0 0 0 0 rgba(231,76,60,.5); }
  70%  { box-shadow: 0 0 0 10px rgba(231,76,60,.0); }
  100% { box-shadow: 0 0 0 0 rgba(231,76,60,.0); }
}

/* CTA below video */
.vsl-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.vsl-cta .btn-primary svg { width: 16px; height: 16px; }

/* ── TRUST STRIP ── */
.trust-strip{background:var(--primary-dark);padding:18px 24px;color:white;}

.trust-strip-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:40px;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;}
.trust-item .t-num{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;}

/* ── WAVE DIVIDERS ── */
.wave-divider{display:block;width:100%;overflow:hidden;line-height:0;margin:0;}
.wave-divider svg{display:block;width:100%;height:60px;}

/* ── SECTION BASE ── */
.section{padding:90px 24px;position:relative;}
.section-inner{max-width:1040px;margin:0 auto;}
.section-label{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--primary-dark);margin-bottom:14px;position:relative;padding-left:20px;}
.section-label::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:12px;height:2px;background:var(--primary);}
.section-title{font-size:clamp(26px,3.5vw,40px);margin-bottom:14px;}
.section-subtitle{font-size:16px;color:var(--text-light);max-width:580px;line-height:1.8;}
.text-center{text-align:center;}
.text-center .section-label{padding-left:0;}
.text-center .section-label::before{display:none;}
.text-center .section-subtitle{margin-left:auto;margin-right:auto;}

/* ── BUTTONS ── */
.btn-primary{display:inline-flex;align-items:center;gap:9px;background:var(--accent);color:#fff;border:none;padding:17px 38px;border-radius:50px;font-size:15px;font-weight:700;cursor:pointer;transition:all .35s cubic-bezier(.22,1,.36,1);font-family:'Montserrat',sans-serif;box-shadow:0 6px 24px rgba(176,125,98,.35);letter-spacing:.3px;position:relative;overflow:hidden;}
.btn-primary::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent);opacity:0;transition:opacity .3s;}
.btn-primary:hover{background:var(--accent-dark);transform:translateY(-3px) scale(1.02);box-shadow:0 10px 36px rgba(176,125,98,.45);}
.btn-primary:hover::after{opacity:1;}
.btn-primary svg{width:16px;height:16px;transition:transform .3s;flex-shrink:0;}
.btn-primary:hover svg{transform:translateX(4px);}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--accent);border:2px solid var(--accent);padding:14px 30px;border-radius:50px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;font-family:'Montserrat',sans-serif;}
.btn-secondary:hover{background:var(--accent);color:#fff;transform:translateY(-2px);}
.btn-white{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--accent);border:none;padding:18px 42px;border-radius:50px;font-size:16px;font-weight:700;cursor:pointer;transition:all .35s;font-family:'Montserrat',sans-serif;box-shadow:0 10px 40px rgba(0,0,0,.15);}
.btn-white:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 50px rgba(0,0,0,.2);}
.btn-white svg{width:16px;height:16px;}

/* ── AUDIENCE SECTION ── */
.audience-section{background:var(--sage-bg);}
.audience-layout{
  display:grid;
  grid-template-columns:1fr 220px 1fr;
  gap:24px;
  margin-top:50px;
  align-items:start;
}
.audience-card{background:#fff;border-radius:24px;padding:40px;border:1px solid rgba(146,180,180,.15);transition:all .3s;position:relative;overflow:hidden;}
.audience-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;}
.audience-card.for-you::before{background:linear-gradient(90deg,var(--primary),var(--primary-light));}
.audience-card.not-for-you::before{background:linear-gradient(90deg,var(--accent-light),var(--accent));}
.audience-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.audience-card h3{font-size:19px;margin-bottom:22px;display:flex;align-items:center;gap:10px;font-family:'Playfair Display',serif;}
.audience-card h3 svg{flex-shrink:0;}
.audience-card ul{list-style:none;}
.audience-card li{padding:10px 0;font-size:14px;color:var(--text-light);display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid rgba(0,0,0,.04);line-height:1.6;}
.audience-card li:last-child{border-bottom:none;}
.check-icon{width:20px;height:20px;border-radius:50%;background:var(--primary-xlight);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;font-size:11px;color:var(--primary-dark);font-weight:700;}
.cross-icon{width:20px;height:20px;border-radius:50%;background:#fef0eb;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;font-size:11px;color:var(--accent);font-weight:700;}

/* Insight box inside the not-for-you card */
.insight-box{
  margin-top:24px;
  background:var(--warm-bg);
  border-radius:14px;
  padding:16px 18px;
  display:flex;
  gap:12px;
  align-items:flex-start;
  border:1px solid rgba(176,125,98,.12);
}
.insight-box .insight-icon{font-size:22px;flex-shrink:0;}
.insight-box p{font-size:13px;color:var(--text-light);line-height:1.6;font-style:italic;}

/* Center image column */
.audience-center-img{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  position:relative;
}
.audience-img-blob{
  width:100%;
  aspect-ratio:3/4;
  border-radius:50% 50% 46% 54% / 55% 48% 52% 45%;
  overflow:hidden;
  background:linear-gradient(160deg,var(--primary-xlight),var(--primary-light),rgba(176,125,98,.15));
  box-shadow:0 16px 50px rgba(146,180,180,.2);
  animation:morphBlob 14s ease-in-out infinite;
  position:relative;
}
.audience-img-blob img{
  width:100%;height:100%;object-fit:cover;
  position:absolute;inset:0;
}
.audience-img-fallback{
  width:100%;height:100%;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:8px;
}
.audience-img-fallback svg{width:70%;height:auto;}
.fallback-label{
  font-size:10px;font-weight:600;letter-spacing:1px;
  color:var(--text-muted);text-transform:uppercase;
  background:rgba(255,255,255,.7);padding:4px 10px;
  border-radius:20px;backdrop-filter:blur(4px);
}
.audience-quote-chip{
  background:#fff;
  border:1px solid rgba(146,180,180,.2);
  border-radius:50px;
  padding:10px 18px;
  font-size:13px;
  font-weight:600;
  color:var(--primary-dark);
  display:flex;
  align-items:center;
  gap:8px;
  box-shadow:var(--shadow-sm);
  white-space:nowrap;
}
.audience-quote-chip .chip-mark{
  font-family:'Playfair Display',serif;
  font-size:20px;
  color:var(--primary);
  line-height:1;
}
/* Full-width banner image (new horizontal layout) */
.audience-banner-img {
  width: 100%;
  margin-top: 40px;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  aspect-ratio: 16/6;
  background: linear-gradient(160deg, var(--primary-xlight), var(--primary-light), rgba(176,125,98,.12));
  box-shadow: 0 16px 50px rgba(146,180,180,.2);
}
.audience-banner-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center center;
  position: absolute; inset: 0;
  display: block;
}
.audience-banner-img .audience-img-fallback {
  position: absolute; inset: 0;
  display: none; /* hidden by default — only shown via JS onerror */
  flex-direction: column;
  align-items: center; justify-content: center;
  gap: 10px;
}
.audience-banner-img .audience-img-fallback svg { width: 60%; height: auto; }
.audience-banner-img .audience-quote-chip {
  position: absolute;
  bottom: 16px; right: 20px;
}

/* 2-col cards row below banner */
.audience-cards-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 24px;
}
.audience-cta{text-align:center;margin-top:40px;}

/* ── LEARN SECTION ── */
.learn-section{background:#fff;}

/* New split layout */
.learn-split{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:48px;
  align-items:start;
  margin-top:20px;
}
.learn-img-col{
  position:sticky;
  top:100px;
}
.learn-img-frame{
  width:100%;
  aspect-ratio:3/4;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(160deg,var(--sage-bg),var(--primary-xlight),rgba(176,125,98,.1));
  box-shadow:0 20px 60px rgba(146,180,180,.2);
  position:relative;
}
.learn-img-frame img{
  width:100%;height:100%;object-fit:cover;
  position:absolute;inset:0;
}
.learn-img-fallback{
  width:100%;height:100%;
  display:none; /* hidden by default — shown via onerror */
  flex-direction:column;
  align-items:center;justify-content:center;
  gap:12px;
  padding:20px;
}
.learn-img-fallback svg{width:80%;height:auto;}
.learn-stat-badge{
  margin-top:16px;
  background:linear-gradient(135deg,var(--primary-dark),var(--primary));
  color:#fff;
  border-radius:18px;
  padding:16px 20px;
  display:flex;
  align-items:center;
  gap:14px;
  box-shadow:0 8px 24px rgba(146,180,180,.3);
}
.learn-stat-badge .stat-num{
  font-family:'Playfair Display',serif;
  font-size:36px;
  font-weight:700;
  line-height:1;
}
.learn-stat-badge .stat-label{
  font-size:13px;
  font-weight:600;
  opacity:.9;
  line-height:1.4;
}
.learn-deco-ring{
  width:80px;height:80px;
  border-radius:50%;
  border:2px dashed rgba(146,180,180,.3);
  position:absolute;
  bottom:-20px;
  right:-20px;
  pointer-events:none;
}
.learn-content-col{}
.learn-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:0;}
.learn-card{background:var(--sage-bg);border-radius:20px;padding:28px;border:1px solid rgba(146,180,180,.12);transition:all .35s;position:relative;overflow:hidden;}
.learn-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--primary-light));transform:scaleX(0);transform-origin:left;transition:transform .4s;}
.learn-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.learn-card:hover::after{transform:scaleX(1);}
.learn-card-icon{width:48px;height:48px;border-radius:14px;background:white;display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:var(--shadow-sm);color:var(--primary-dark);}
.learn-card-icon svg{width:22px;height:22px;stroke:var(--primary-dark);}
.learn-card .num{font-family:'Playfair Display',serif;font-size:12px;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;}
.learn-card p{font-size:14px;color:var(--text-light);line-height:1.7;}
.learn-cta{text-align:left;}

/* ── ABOUT SECTION ── */
.about-section{background:var(--warm-bg);overflow:hidden;}
.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center;margin-top:20px;}
.about-img-wrap{position:relative;}
.about-img-blob{
  width:100%;aspect-ratio:4/5;
  border-radius:46% 54% 60% 40% / 50% 40% 60% 50%;
  overflow:hidden;
  background:linear-gradient(160deg,var(--primary-light),var(--primary),var(--primary-dark));
  box-shadow:0 24px 70px rgba(146,180,180,.3);
  display:flex;align-items:center;justify-content:center;
  font-size:100px;
  position:relative;
}
.about-deco-circle{position:absolute;bottom:-30px;right:-30px;width:140px;height:140px;border-radius:50%;background:linear-gradient(135deg,var(--accent-light),var(--accent));opacity:.15;z-index:0;}
.about-deco-ring{position:absolute;top:-20px;left:-20px;width:100px;height:100px;border-radius:50%;border:3px solid var(--primary-light);opacity:.3;}
.about-text p{font-size:15px;color:var(--text-light);margin-bottom:14px;line-height:1.85;}
.about-text .hero-quote{font-size:18px;color:var(--text);font-family:'Playfair Display',serif;font-style:italic;border-left:3px solid var(--primary);padding-left:20px;margin-bottom:24px;line-height:1.7;}
.credentials{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0;}
.cred-badge{background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px 14px;font-size:12px;font-weight:600;color:var(--primary-dark);display:flex;align-items:center;gap:6px;box-shadow:var(--shadow-sm);}
.cred-badge::before{content:'✦';color:var(--accent);font-size:10px;}
.about-signature{font-family:'Playfair Display',serif;font-size:24px;color:var(--primary-dark);font-style:italic;margin-top:24px;}

/* ── TESTIMONIALS ── */
.testimonials-section{background:#fff;}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;margin-top:50px;}
.testimonial-card{background:var(--sage-bg);border-radius:22px;padding:32px;border:1px solid rgba(146,180,180,.12);transition:all .3s;position:relative;}
.testimonial-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.stars{display:flex;gap:3px;margin-bottom:16px;}
.stars span{color:#f4c430;font-size:16px;}
.t-quote{font-size:15px;color:var(--text-light);font-style:italic;line-height:1.8;margin-bottom:20px;position:relative;}
.t-quote::before{content:'\201C';font-family:'Playfair Display',serif;font-size:48px;color:var(--primary-light);position:absolute;top:-12px;left:-8px;line-height:1;pointer-events:none;}
.t-author{font-size:14px;font-weight:700;color:var(--text);padding-left:8px;border-left:3px solid var(--accent-light);}

/* ── FINAL CTA SECTION ── */
.final-cta-section{
  background:linear-gradient(140deg,var(--primary-dark) 0%,var(--primary) 60%,#7aacac 100%);
  color:#fff;text-align:center;position:relative;overflow:hidden;
}
.final-cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 25% 80%,rgba(255,255,255,.08) 0%,transparent 55%),radial-gradient(ellipse at 75% 20%,rgba(255,255,255,.05) 0%,transparent 55%);}
.final-cta-section .section-inner{position:relative;z-index:1;}
.final-cta-section h2{color:#fff;font-size:clamp(28px,4vw,44px);margin-bottom:16px;}
.final-cta-section .sub{color:rgba(255,255,255,.85);font-size:17px;max-width:520px;margin:0 auto 36px;line-height:1.8;}
.final-note{margin-top:20px;font-size:13px;color:rgba(255,255,255,.65);}
.urgency-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;padding:8px 20px;border-radius:50px;font-size:13px;font-weight:600;margin-bottom:28px;backdrop-filter:blur(4px);}

/* ── FOOTER ── */
.footer{background:#f5f5f5;text-align:center;padding:32px 24px;font-size:13px;color:var(--text-muted);border-top:1px solid var(--border);}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;z-index:999;background:rgba(20,20,20,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:all .35s;}
.modal-overlay.active{opacity:1;visibility:visible;}
.modal{background:#fff;border-radius:28px;max-width:480px;width:100%;overflow:hidden;position:relative;transform:translateY(36px) scale(.95);transition:transform .4s cubic-bezier(.22,1,.36,1);box-shadow:0 40px 100px rgba(0,0,0,.22);}
.modal-overlay.active .modal{transform:translateY(0) scale(1);}
.modal-banner{background:linear-gradient(135deg,var(--primary-dark),var(--primary));padding:28px 36px;color:#fff;text-align:center;position:relative;overflow:hidden;}
.modal-banner::before{content:'';position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.08);}
.modal-banner::after{content:'';position:absolute;bottom:-30px;left:-30px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.06);}
.modal-banner .event-label{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.7);margin-bottom:8px;font-weight:600;}
.modal-banner h2{font-size:22px;color:#fff;margin-bottom:6px;}
.modal-banner p{font-size:14px;color:rgba(255,255,255,.8);}
.modal-body{padding:32px 36px;}
.modal-close{position:absolute;top:14px;right:14px;z-index:10;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.2);border:none;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;color:#fff;}
.modal-close:hover{background:rgba(255,255,255,.35);transform:rotate(90deg);}
.modal-form{display:flex;flex-direction:column;gap:14px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-group{display:flex;flex-direction:column;gap:5px;}
.form-group label{font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;}
.form-group input{width:100%;padding:13px 16px;border:2px solid var(--border);border-radius:12px;font-size:15px;font-family:'Montserrat',sans-serif;transition:border-color .3s,box-shadow .3s;outline:none;background:var(--sage-bg);}
.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(146,180,180,.15);background:#fff;}
.gdpr-row{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--text-muted);}
.gdpr-row input[type="checkbox"]{width:17px;height:17px;flex-shrink:0;margin-top:2px;accent-color:var(--primary);}
.btn-submit{width:100%;padding:17px;background:var(--accent);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;font-family:'Montserrat',sans-serif;transition:all .3s;box-shadow:0 6px 20px rgba(176,125,98,.35);letter-spacing:.3px;margin-top:4px;}
.btn-submit:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 10px 30px rgba(176,125,98,.45);}
.privacy-note{text-align:center;font-size:11px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:5px;}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(28px);transition:all .75s cubic-bezier(.22,1,.36,1);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.1s;}
.reveal-delay-2{transition-delay:.2s;}
.reveal-delay-3{transition-delay:.3s;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;text-align:center;padding-top:80px;padding-bottom:30px;}
  .live-badge{margin:0 auto 20px;}
  .hero-cta-wrap{align-items:center;}
  .hero-meta-row{justify-content:center;}
  .hero-visual{order:-1;}
  .hero-blob-img{width:260px;height:290px;}
  .float-badge{display:none;}
  /* Audience: stack cards on mobile */
  .audience-layout{display:block;}
  .audience-banner-img{aspect-ratio:16/9;}
  .audience-cards-row{grid-template-columns:1fr;}
  /* Learn: stack image + grid */
  .learn-split{grid-template-columns:1fr;}
  .learn-img-col{position:static;max-width:280px;margin:0 auto;}
  .learn-grid{grid-template-columns:1fr;}
  .learn-cta{text-align:center;}
  .about-grid{grid-template-columns:1fr;}
  .about-img-wrap{max-width:400px;margin:0 auto;}
  .form-row{grid-template-columns:1fr;}
  .modal-body{padding:24px;}
  .modal-banner{padding:24px;}
}
