/* Landing only: shared assessment and brand styles remain in style.css. */
#landing figure{margin:0;min-width:0}

/* ========================================================
   CINEMATIC FULL-STAGE HERO (Clean & Natural Wall Integration)
   ======================================================== */
#landing .landing-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  max-width:100%!important;
  margin:0;
  min-height:min(88vh, 740px);
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding-block:48px;
  padding-inline-start:clamp(16px, 3.5vw, 60px)!important;
  padding-inline-end:24px;
  padding-right:clamp(16px, 3.5vw, 60px)!important;
  padding-left:24px;
  background:transparent!important;
}

.landing-hero-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  background:transparent;
}
.hero-cinematic-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:left center; /* Anchors the woman, tea, desk & Milad Tower to the LEFT */
  display:block;
}

/* Light Mode Hero Image: subtle bottom fade */
.hero-img-light{
  display:block;
  -webkit-mask-image: linear-gradient(to top, transparent 0%, #000 50px);
  mask-image: linear-gradient(to top, transparent 0%, #000 50px);
}
/* Dark Mode Hero Image: Right edge alpha fade to blend with text area & bottom fade */
.hero-img-dark{
  display:none;
  -webkit-mask-image: 
    linear-gradient(to right, 
      #000 0%, 
      #000 40%, 
      rgba(0, 0, 0, 0.85) 52%, 
      rgba(0, 0, 0, 0.45) 66%, 
      rgba(0, 0, 0, 0.12) 78%, 
      transparent 88%, 
      transparent 100%
    ),
    linear-gradient(to top, transparent 0%, #000 55px);
  -webkit-mask-composite: destination-in;
  mask-image: 
    linear-gradient(to right, 
      #000 0%, 
      #000 40%, 
      rgba(0, 0, 0, 0.85) 52%, 
      rgba(0, 0, 0, 0.45) 66%, 
      rgba(0, 0, 0, 0.12) 78%, 
      transparent 88%, 
      transparent 100%
    ),
    linear-gradient(to top, transparent 0%, #000 55px);
  mask-composite: intersect;
}

[data-theme=dark] #landing .landing-hero{
  background:transparent!important;
}
[data-theme=dark] .hero-img-light{
  display:none!important;
}
[data-theme=dark] .hero-img-dark{
  display:block!important;
}
#landing .landing-hero .hero-copy{
  position:relative;
  z-index:2;
  max-width:720px;
  width:100%;
  margin-inline-start:0;
  margin-inline-end:auto;
  margin-right:0!important;
  margin-left:auto!important;
  text-align:right;
}

#landing .landing-hero h1{
  font-size:clamp(40px,4.5vw,62px);
  line-height:1.48;
  letter-spacing:-0.5px;
  color:#0B253A;
}

#landing .landing-hero h1 .hero-line {
  padding-top: 0.16em;
  padding-bottom: 0.06em;
}

@media (min-width: 761px) {
  #landing .landing-hero h1 .hero-line {
    display: inline-block;
    white-space: nowrap;
  }
}

/* Light Mode: Shazdeh font headings in rich Navy Blue (#0B253A) */
#landing h1, #landing h2, #landing h3,
.hero h1, .hero h2,
.section-heading h2,
.landing-overview h2,
.landing-story h2,
.landing-custom-diet h2,
.landing-membership h2,
.journey h2,
#faq h2 {
  font-family: Shazde, Estedad, sans-serif;
  color: #0B253A;
}

/* Light mode dark containers: Shazdeh titles on dark backgrounds MUST be Ivory White (#F7F5EC) */
.manifesto h1, .manifesto h2, .manifesto h3,
.transition-card h1, .transition-card h2,
#assessment[data-phase=transition] .step-card h1 {
  color: #F7F5EC !important;
}

/* Dark Mode: ALL Shazdeh font headings MUST be Ivory White (#F7F5EC) */
[data-theme=dark] h1,
[data-theme=dark] h2,
[data-theme=dark] h3,
[data-theme=dark] #landing h1,
[data-theme=dark] #landing h2,
[data-theme=dark] #landing h3,
[data-theme=dark] .hero h1,
[data-theme=dark] .hero h2,
[data-theme=dark] .section-heading h2,
[data-theme=dark] .landing-overview h2,
[data-theme=dark] .landing-story h2,
[data-theme=dark] .landing-custom-diet h2,
[data-theme=dark] .landing-membership h2,
[data-theme=dark] .journey h2,
[data-theme=dark] .manifesto h2,
[data-theme=dark] #faq h2,
[data-theme=dark] .step-card h1,
[data-theme=dark] .brand-name {
  color: #F7F5EC !important;
}

/* Palette-Driven Text Gradients: Sky Blue (#82C4D2) to Teal (#165360) in Light Mode */
.gradient-text, #landing h1 em, #landing h2 em, .hero h1 em, .journey h2 em, .manifesto h2 em {
  background: linear-gradient(135deg, #82C4D2 0%, #165360 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  font-weight: 800;
  filter: drop-shadow(0 2px 8px rgba(22, 83, 96, 0.14));
}
[data-theme=dark] .gradient-text, [data-theme=dark] #landing h1 em, [data-theme=dark] #landing h2 em, [data-theme=dark] .hero h1 em, [data-theme=dark] .journey h2 em, [data-theme=dark] .manifesto h2 em {
  background: linear-gradient(135deg, #82C4D2 0%, #EED888 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 10px rgba(130, 196, 210, 0.25));
}

/* ========================================================
   DEDICATED CUSTOMIZED NUTRITION & STOP-MOTION VIDEO SECTION
   ======================================================== */
.landing-custom-diet{
  padding:80px 48px;
  background:var(--paper);
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.custom-diet-container{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(0, 1.05fr);
  gap:56px;
  align-items:center;
}
.custom-diet-copy{
  display:flex;
  flex-direction:column;
  gap:20px;
  text-align:right;
}
.custom-diet-copy h2{
  font-size:clamp(30px, 3.6vw, 46px);
  line-height:1.34;
  letter-spacing:-0.5px;
}
.custom-diet-lead{
  font-size:16px;
  line-height:1.76;
  color:var(--muted);
  margin:0;
}
.custom-diet-pillars{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-block:6px;
}
.custom-diet-pill-item{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:16px 20px;
  border-radius:18px;
  background:var(--card);
  border:1px solid var(--line);
  box-shadow:0 4px 16px rgba(11,37,58,0.04);
  transition:transform .22s ease, border-color .22s ease;
}
.custom-diet-pill-item:hover{
  transform:translateX(-4px);
  border-color:var(--primary);
}
.pill-item-icon{
  font-size:24px;
  line-height:1;
  padding:8px;
  border-radius:12px;
  background:rgba(22, 83, 96, 0.08);
  flex-shrink:0;
}
[data-theme=dark] .pill-item-icon{
  background:rgba(130, 196, 210, 0.15);
}
.custom-diet-pill-item strong{
  display:block;
  font-size:15px;
  color:var(--ink);
  margin-bottom:4px;
  font-weight:700;
}
.custom-diet-pill-item p{
  font-size:13.5px;
  line-height:1.68;
  color:var(--muted);
  margin:0;
}
.custom-diet-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
  margin-top:10px;
}
.custom-diet-action-micro{
  font-size:13px;
  color:var(--primary);
  font-weight:600;
}
[data-theme=dark] .custom-diet-action-micro{
  color:var(--sec2);
}

/* Video Showcase Frame */
.custom-diet-media{
  position:relative;
  isolation:isolate;
}
.diet-video-wrapper{
  position:relative;
}
.diet-video-glow{
  position:absolute;
  inset:-20px;
  background:radial-gradient(ellipse at center, rgba(22,83,96,0.32) 0%, rgba(238,216,136,0.18) 50%, transparent 75%);
  filter:blur(32px);
  z-index:-1;
  pointer-events:none;
}
[data-theme=dark] .diet-video-glow{
  background:radial-gradient(ellipse at center, rgba(130,196,210,0.3) 0%, rgba(22,83,96,0.2) 55%, transparent 75%);
}
.diet-video-card{
  position:relative;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  background:#0B253A;
  box-shadow:0 20px 50px -10px rgba(11,37,58,0.2), 10px 10px 0 rgba(238,216,136,0.35);
}
.diet-video-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 18px;
  background:rgba(11,37,58,0.98);
  border-bottom:1px solid rgba(255,255,255,0.12);
  color:#F7F5EC;
  font-size:12px;
}
.diet-video-dots{display:flex;gap:6px;align-items:center}
.diet-video-badge{
  font-size:12px;
  font-weight:650;
  color:#EED888;
}
.diet-sound-toggle{
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.2);
  border-radius:50%;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#F7F5EC;
  font-size:12px;
  cursor:pointer;
  transition:background .2s, transform .2s;
}
.diet-sound-toggle:hover{
  background:rgba(255,255,255,0.25);
  transform:scale(1.08);
}
.diet-video-box{
  position:relative;
  width:100%;
  aspect-ratio:1440/1072;
  overflow:hidden;
  background:#000;
}
.diet-showcase-video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.diet-play-float{
  position:absolute;
  bottom:14px;
  right:14px;
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(11,37,58,0.8);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.25);
  color:#F7F5EC;
  display:grid;
  place-items:center;
  font-size:13px;
  cursor:pointer;
  z-index:3;
  transition:all .2s;
}
.diet-play-float:hover{
  background:var(--primary);
  transform:scale(1.08);
}
.diet-video-caption{
  padding:14px 20px;
  background:rgba(247,245,236,0.96);
  border-top:1px solid var(--line);
  color:#0B253A;
  text-align:right;
}
.diet-video-caption span{
  display:block;
  font-size:12px;
  color:#165360;
  font-weight:600;
}
.diet-video-caption strong{
  display:block;
  font-size:13.5px;
  font-weight:700;
  margin-top:2px;
}
[data-theme=dark] .diet-video-caption{
  background:rgba(16,49,66,0.96);
  color:#F7F5EC;
}
[data-theme=dark] .diet-video-caption span{
  color:var(--sec2);
}
[data-theme=dark] .gradient-text, [data-theme=dark] #landing h1 em, [data-theme=dark] #landing h2 em, [data-theme=dark] .manifesto h2 em {
  background: linear-gradient(135deg, #82C4D2 0%, #EED888 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 10px rgba(130, 196, 210, 0.28));
}

/* Typing Effect Container */
.typing-container{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 18px;
  background:linear-gradient(135deg,rgba(11,37,58,0.05) 0%,rgba(130,196,210,0.14) 100%);
  border:1px solid rgba(130,196,210,0.4);
  border-radius:30px;
  margin:18px 0 10px;
  font-size:14px;
  color:var(--primary);
  font-weight:600;
  box-shadow:0 3px 14px rgba(11,37,58,0.05);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
[data-theme=dark] .typing-container{
  background:linear-gradient(135deg,rgba(130,196,210,0.15) 0%,rgba(16,49,66,0.85) 100%);
  border-color:rgba(130,196,210,0.35);
  box-shadow:0 4px 16px rgba(0,0,0,0.25);
}
.typing-prefix{color:var(--primary);font-weight:750}
.typing-dynamic{color:#0B253A;font-weight:700;min-height:1.4em;letter-spacing:0}
[data-theme=dark] .typing-dynamic{color:#F7F5EC}
.typing-cursor{
  display:inline-block;
  color:var(--primary);
  font-weight:400;
  animation:blinkCursor .9s infinite;
  margin-inline-start:2px;
}
@keyframes blinkCursor{0%,100%{opacity:1}50%{opacity:0}}

/* Hero Load-In Fade Up Animations */
@keyframes heroFadeUp{
  0%{opacity:0;transform:translateY(40px)}
  100%{opacity:1;transform:translateY(0)}
}
.hero-anim-1{animation:heroFadeUp .85s cubic-bezier(0.16,1,0.3,1) .05s both}
.hero-anim-2{animation:heroFadeUp .85s cubic-bezier(0.16,1,0.3,1) .2s both}
.hero-anim-3{animation:heroFadeUp .85s cubic-bezier(0.16,1,0.3,1) .35s both}
.hero-anim-4{animation:heroFadeUp .85s cubic-bezier(0.16,1,0.3,1) .5s both}
.hero-anim-photo{animation:heroFadeUp 1s cubic-bezier(0.16,1,0.3,1) .25s both}

#landing .landing-hero .hero-description{font-size:16px;line-height:1.72;margin-block:18px 26px}
#landing .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px}
#landing .hero-actions>.text-button{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:6px;transition:opacity .18s,transform .18s}
#landing .hero-actions>.text-button:hover{opacity:.8;transform:translateX(-4px)}
#landing .micro{font-size:12px;line-height:1.65;max-width:48ch}

/* ========================================================
   PRO HERO VIDEO SHOWCASE FRAME
   ======================================================== */
.landing-hero-video-frame{
  position:relative;
  isolation:isolate;
  margin:0;
  min-width:0;
  transition:transform .35s cubic-bezier(0.16,1,0.3,1),box-shadow .35s cubic-bezier(0.16,1,0.3,1);
}
.landing-hero-video-frame:hover{
  transform:translateY(-5px);
}
.video-ambient-glow{
  position:absolute;
  inset:-18px -12px;
  background:radial-gradient(ellipse at center,rgba(22,83,96,0.38) 0%,rgba(57,127,145,0.22) 45%,rgba(238,216,136,0.18) 70%,transparent 85%);
  filter:blur(30px);
  z-index:-1;
  pointer-events:none;
  opacity:.88;
}
[data-theme=dark] .video-ambient-glow{
  background:radial-gradient(ellipse at center,rgba(130,196,210,0.38) 0%,rgba(92,166,181,0.25) 50%,transparent 80%);
}
.video-mockup-wrapper{
  position:relative;
  border:1px solid rgba(22,83,96,0.18);
  border-radius:24px;
  overflow:hidden;
  background:#0B253A;
  box-shadow:0 18px 50px -10px rgba(11,37,58,0.22),12px 12px 0 rgba(238,216,136,0.45);
}
.video-header-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:11px 18px;
  background:rgba(11,37,58,0.96);
  border-bottom:1px solid rgba(255,255,255,0.12);
  color:#F7F5EC;
  font-size:12px;
}
.video-controls-dots{display:flex;gap:6px;align-items:center}
.v-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.dot-red{background:#ff5f56}
.dot-yellow{background:#ffbd2e}
.dot-green{background:#27c93f}
.video-title-pill{font-size:11px;color:#EED888;font-weight:650;letter-spacing:0}
.video-sound-toggle{
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.2);
  border-radius:50%;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#F7F5EC;
  font-size:13px;
  padding:0;
  cursor:pointer;
  transition:background-color .18s,transform .18s;
}
.video-sound-toggle:hover{background:rgba(255,255,255,0.25);transform:scale(1.1)}
.video-media-box{
  position:relative;
  width:100%;
  aspect-ratio:1440/1072;
  overflow:hidden;
  background:#000;
}
.hero-video-player{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border:0;
}
.video-play-overlay{
  position:absolute;
  bottom:16px;
  right:16px;
  width:40px;
  height:40px;
  border-radius:50%;
  background:rgba(11,37,58,0.78);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.25);
  color:#F7F5EC;
  display:grid;
  place-items:center;
  font-size:14px;
  cursor:pointer;
  z-index:4;
  opacity:.85;
  transition:opacity .2s,transform .2s,background-color .2s;
}
.video-play-overlay:hover{opacity:1;transform:scale(1.08);background:rgba(22,83,96,0.92)}
.landing-hero-video-frame figcaption{
  margin-top:14px;
  padding:13px 20px;
  border-radius:16px;
  background:rgba(247,245,236,0.94);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:#0B253A;
  box-shadow:0 4px 18px rgba(11,37,58,0.06);
  border:1px solid rgba(22,83,96,0.14);
}
.landing-hero-video-frame figcaption span{display:block;font-size:12px;color:#165360;font-weight:550}
.landing-hero-video-frame figcaption strong{display:block;font-size:14px;font-weight:700;margin-top:2px}
[data-theme=dark] .landing-hero-video-frame figcaption{
  background:rgba(16,49,66,0.95);
  border-color:rgba(130,196,210,0.3);
  color:#F7F5EC;
  box-shadow:0 8px 25px rgba(0,0,0,0.4);
}
[data-theme=dark] .landing-hero-video-frame figcaption span{color:#82C4D2}
[data-theme=dark] .landing-hero-video-frame figcaption strong{color:#F7F5EC}

/* Floating Badges */
.floating-badge-top{
  position:absolute;
  top:16px;
  right:16px;
  padding:9px 16px;
  border-radius:30px;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:#0B253A;
  font-size:12px;
  font-weight:650;
  display:flex;
  align-items:center;
  gap:8px;
  box-shadow:0 8px 25px rgba(11,37,58,0.12);
  border:1px solid rgba(255,255,255,0.85);
  z-index:2;
  animation:floatSlow 4.5s ease-in-out infinite;
}
[data-theme=dark] .floating-badge-top{
  background:rgba(16,49,66,0.94);
  color:#82C4D2;
  border-color:rgba(130,196,210,0.35);
  box-shadow:0 8px 25px rgba(0,0,0,0.4);
}
.pulse-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,0.7);
  animation:pulseGreen 2s infinite;
}
@keyframes pulseGreen{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,0.7)}
  70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}
}
@keyframes floatSlow{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

.floating-badge-bottom{
  position:absolute;
  bottom:16px;
  left:16px;
  padding:9px 15px;
  border-radius:14px;
  background:rgba(11,37,58,0.9);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  color:#F7F5EC;
  font-size:12px;
  display:flex;
  align-items:center;
  gap:7px;
  box-shadow:0 12px 30px rgba(11,37,58,0.22);
  border:1px solid rgba(238,216,136,0.35);
  z-index:2;
}
.floating-badge-bottom span{color:#EED888;font-weight:750}

/* Enhanced Landing Promises Cards (Glassmorphism & Layered Depth) */
.landing-promises{
  max-width:1104px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  padding:20px 0 35px;
  border-block:0;
}
.landing-promises>div{
  text-align:center;
  padding:28px 24px;
  border-radius:24px;
  background:rgba(255,255,255,0.78);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.95);
  box-shadow:
    0 4px 6px -1px rgba(11,37,58,0.03),
    0 12px 28px -4px rgba(11,37,58,0.06),
    inset 0 1px 1px 0 rgba(255,255,255,0.9);
  transition:transform .28s cubic-bezier(0.16,1,0.3,1),box-shadow .28s ease,border-color .28s ease,background-color .28s ease;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.landing-promises>div:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,0.9);
  border-color:rgba(130,196,210,0.6);
  box-shadow:
    0 8px 14px -2px rgba(11,37,58,0.04),
    0 22px 42px -6px rgba(22,83,96,0.14),
    inset 0 1px 1px 0 rgba(255,255,255,1);
}
.landing-promises>div::before{
  content:'';
  position:absolute;
  top:0;
  left:22%;
  right:22%;
  height:3px;
  background:linear-gradient(90deg,transparent,#0B253A 30%,#82C4D2 70%,transparent);
  border-radius:0 0 4px 4px;
  z-index:3;
}
.landing-promises strong{
  display:block;
  color:#0B253A;
  font-size:16.5px;
  font-weight:750;
  line-height:1.5;
  position:relative;
  z-index:2;
}
.landing-promises span{
  display:block;
  font-size:13.5px;
  color:#556567;
  margin-top:8px;
  line-height:1.6;
  position:relative;
  z-index:2;
}

/* Dark Mode Upside Promise Boxes: Light Blue & Light Gold with Dark Navy Text for Maximum Contrast */
[data-theme=dark] .landing-promises>div{
  background:linear-gradient(135deg,rgba(130,196,210,0.88) 0%,rgba(104,180,196,0.92) 100%);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1.5px solid rgba(238,216,136,0.65);
  box-shadow:0 14px 35px -4px rgba(0,0,0,0.5),inset 0 1px 2px 0 rgba(255,255,255,0.35);
}
[data-theme=dark] .landing-promises>div:nth-child(2){
  background:linear-gradient(135deg,rgba(238,216,136,0.9) 0%,rgba(219,193,106,0.94) 100%);
  border:1.5px solid rgba(130,196,210,0.65);
}
[data-theme=dark] .landing-promises>div::before{
  background:linear-gradient(90deg,transparent,#0B253A,transparent);
}
[data-theme=dark] .landing-promises>div:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 45px -6px rgba(0,0,0,0.65),inset 0 1px 2px 0 rgba(255,255,255,0.5);
}
[data-theme=dark] .landing-promises strong{
  color:#0B253A !important;
  font-weight:800;
  font-size:16.5px;
}
[data-theme=dark] .landing-promises span{
  color:#0B253A !important;
  font-weight:600;
  opacity:0.95;
}

#landing .section h2{font-size:clamp(34px,3.5vw,48px);line-height:1.38;letter-spacing:-0.5px}
#landing .section-heading>p{font-size:14px;line-height:1.7;max-width:38ch}
.landing-section-lead{font-size:16px;line-height:1.75;color:var(--muted);max-width:84ch;margin-top:24px}

/* Enhanced 3 Pillars Cards (Glassmorphism & Depth) */
.landing-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}
.landing-pillars article{
  border:1px solid rgba(255,255,255,0.85);
  border-radius:26px;
  background:rgba(255,255,255,0.76);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  padding:34px 28px;
  box-shadow:
    0 4px 6px -1px rgba(11,37,58,0.03),
    0 14px 30px -5px rgba(11,37,58,0.06),
    inset 0 1px 1px 0 rgba(255,255,255,0.85);
  transition:transform .3s cubic-bezier(0.16,1,0.3,1),box-shadow .3s cubic-bezier(0.16,1,0.3,1),border-color .3s ease,background-color .3s ease;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.landing-pillars article:hover{
  transform:translateY(-7px);
  background:rgba(255,255,255,0.92);
  box-shadow:
    0 8px 14px -2px rgba(11,37,58,0.04),
    0 24px 44px -8px rgba(22,83,96,0.14),
    inset 0 1px 1px 0 rgba(255,255,255,1);
  border-color:rgba(130,196,210,0.6);
}
.pillar-number{
  display:inline-grid;
  place-items:center;
  min-width:46px;
  height:46px;
  background:linear-gradient(135deg,rgba(11,37,58,0.08) 0%,rgba(130,196,210,0.25) 100%);
  color:#0B253A;
  border:1px solid rgba(130,196,210,0.4);
  border-radius:15px;
  font-size:15px;
  font-weight:750;
  margin-bottom:22px;
  box-shadow:0 4px 12px rgba(11,37,58,0.05);
  position:relative;
  z-index:2;
}
.landing-pillars h3{
  font-size:19px;
  line-height:1.45;
  font-weight:750;
  color:#0B253A;
  position:relative;
  z-index:2;
}
.landing-pillars p{
  font-size:14.5px;
  line-height:1.75;
  color:#556567;
  margin-top:12px;
  position:relative;
  z-index:2;
}

/* 3 Pillars Dark Mode */
[data-theme=dark] .landing-pillars article{
  background:rgba(16,49,66,0.72);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-color:rgba(130,196,210,0.22);
  box-shadow:
    0 4px 10px rgba(0,0,0,0.3),
    0 16px 36px -6px rgba(0,0,0,0.5),
    inset 0 1px 1px 0 rgba(130,196,210,0.15);
}
[data-theme=dark] .landing-pillars article:hover{
  background:rgba(16,49,66,0.85);
  border-color:#82C4D2;
  box-shadow:
    0 8px 16px rgba(0,0,0,0.4),
    0 24px 48px -6px rgba(0,0,0,0.65),
    inset 0 1px 1px 0 rgba(130,196,210,0.3);
}
[data-theme=dark] .landing-pillars h3{color:#82C4D2}
[data-theme=dark] .landing-pillars p{color:#D5E4E8}
[data-theme=dark] .pillar-number{
  background:rgba(130,196,210,0.18);
  color:#82C4D2;
  border:1px solid rgba(130,196,210,0.35);
  box-shadow:none;
}

/* Story Sections */
#landing .landing-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;align-items:center;border-top:1px solid var(--line)}
#landing .landing-story-photo{overflow:hidden;border:1px solid rgba(22,83,96,0.14);border-radius:24px;background:var(--card);box-shadow:0 12px 35px -6px rgba(11,37,58,0.09);transition:transform .3s ease}
#landing .landing-story-photo:hover{transform:translateY(-4px)}
.landing-story-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.landing-story-photo figcaption{padding:16px 20px;font-size:13px;line-height:1.6;color:var(--muted);background:var(--card)}
.landing-story-copy{min-width:0}
#landing .landing-story-copy .large-copy{font-size:21px;line-height:1.55;margin-top:22px;color:var(--ink);font-weight:650}
.landing-story-copy>p:not(.large-copy){font-size:15px;line-height:1.72;color:var(--muted);margin-top:18px}
.landing-checklist{list-style:none;padding:0;margin:24px 0 16px;display:grid;gap:14px}
.landing-checklist li{display:flex;align-items:baseline;gap:12px;font-size:14px;line-height:1.65}
.landing-checklist li:before{content:'';flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px rgba(22,83,96,0.15)}
#landing .landing-story-evening{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
#landing .landing-story .approach-topics span{font-size:12px;padding:7px 16px;background:var(--soft);border-radius:20px;color:var(--primary);border:1px solid rgba(22,83,96,0.14);font-weight:600}

/* Story Sections Dark Mode */
[data-theme=dark] #landing .landing-story-photo{border-color:rgba(130,196,210,0.25);background:#103142;box-shadow:0 12px 35px -6px rgba(0,0,0,0.4)}
[data-theme=dark] .landing-story-photo figcaption{background:#103142;color:#D5E4E8;border-top:1px solid rgba(130,196,210,0.2)}
[data-theme=dark] #landing .landing-story .approach-topics span{background:#173f4b;color:#82C4D2;border-color:rgba(130,196,210,0.3)}
[data-theme=dark] .landing-checklist li:before{background:#82C4D2;box-shadow:0 0 0 3px rgba(130,196,210,0.2)}

/* Membership Grid (Glassmorphism & Depth) */
.landing-membership{border-block:1px solid var(--line)}
.landing-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:36px}
.landing-service-grid>div{
  padding:26px 22px;
  border-top:3.5px solid var(--primary);
  border-radius:20px;
  background:rgba(255,255,255,0.76);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-inline:1px solid rgba(255,255,255,0.85);
  border-bottom:1px solid rgba(255,255,255,0.85);
  box-shadow:
    0 4px 6px -1px rgba(11,37,58,0.03),
    0 12px 26px -4px rgba(11,37,58,0.05),
    inset 0 1px 1px 0 rgba(255,255,255,0.85);
  transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease,border-color .25s ease;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.landing-service-grid>div:hover{
  transform:translateY(-5px);
  background:rgba(255,255,255,0.92);
  box-shadow:
    0 8px 12px -2px rgba(11,37,58,0.04),
    0 20px 38px -6px rgba(22,83,96,0.13),
    inset 0 1px 1px 0 rgba(255,255,255,1);
  border-color:rgba(130,196,210,0.5);
  border-top-color:var(--primary);
}
.landing-service-grid strong{
  font-size:16.5px;
  color:#0B253A;
  line-height:1.5;
  display:block;
  font-weight:750;
  position:relative;
  z-index:2;
}
.landing-service-grid p{
  font-size:14px;
  color:#556567;
  line-height:1.72;
  margin-top:10px;
  position:relative;
  z-index:2;
}
.landing-membership-note{font-size:13px;line-height:1.7;color:var(--muted);margin-top:28px}

/* Membership Grid Dark Mode */
[data-theme=dark] .landing-service-grid>div{
  background:rgba(16,49,66,0.72);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-inline-color:rgba(130,196,210,0.2);
  border-bottom-color:rgba(130,196,210,0.2);
  border-top:3.5px solid #82C4D2;
  box-shadow:0 8px 24px -4px rgba(0,0,0,0.35),inset 0 1px 1px 0 rgba(130,196,210,0.15);
}
[data-theme=dark] .landing-service-grid>div:hover{
  background:rgba(16,49,66,0.85);
  border-color:#82C4D2;
  border-top-color:#EED888;
  box-shadow:0 18px 38px -6px rgba(0,0,0,0.55),inset 0 1px 1px 0 rgba(130,196,210,0.28);
}
[data-theme=dark] .landing-service-grid strong{color:#82C4D2}
[data-theme=dark] .landing-service-grid p{color:#D5E4E8}

/* ========================================================
   JOURNEY SECTION - 3-STEP CLEAN GRID
   ======================================================== */
#landing .journey{border-top:0}
#landing .journey-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  margin-top:40px;
}
#landing .journey-steps article{
  display:flex;
  flex-direction:column;
  padding:28px 24px;
  border-radius:22px;
  background:rgba(255,255,255,0.76);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.85);
  box-shadow:
    0 4px 6px -1px rgba(11,37,58,0.03),
    0 12px 28px -4px rgba(11,37,58,0.06),
    inset 0 1px 1px 0 rgba(255,255,255,0.85);
  transition:transform .28s cubic-bezier(0.16,1,0.3,1),box-shadow .28s ease,border-color .28s ease,background-color .28s ease;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
#landing .journey-steps article:hover{
  transform:translateY(-5px);
  background:rgba(255,255,255,0.92);
  box-shadow:
    0 8px 14px -2px rgba(11,37,58,0.04),
    0 22px 42px -6px rgba(22,83,96,0.14),
    inset 0 1px 1px 0 rgba(255,255,255,1);
  border-color:rgba(130,196,210,0.6);
}
#landing .journey-steps article>*{position:relative;z-index:2}
#landing .journey-steps .step-number{
  font-size:36px;
  font-family:Shazde,Estedad,sans-serif;
  color:var(--primary);
  border-bottom:1px solid var(--line);
  padding-bottom:14px;
  line-height:1;
}
#landing .journey-steps h3{
  margin-top:20px;
  font-size:20px;
  line-height:1.4;
  font-family:Shazde,Estedad,sans-serif;
  font-weight:700;
  color:#0B253A;
}
#landing .journey-steps p{
  font-size:14px;
  line-height:1.7;
  color:#556567;
  margin-top:10px;
}

/* Journey Steps Dark Mode */
[data-theme=dark] #landing .journey-steps article{
  background:rgba(16,49,66,0.72);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-color:rgba(130,196,210,0.22);
  box-shadow:
    0 4px 10px rgba(0,0,0,0.3),
    0 16px 36px -6px rgba(0,0,0,0.5),
    inset 0 1px 1px 0 rgba(130,196,210,0.15);
}
[data-theme=dark] #landing .journey-steps article:hover{
  background:rgba(16,49,66,0.85);
  border-color:#82C4D2;
  box-shadow:
    0 8px 16px rgba(0,0,0,0.4),
    0 24px 48px -6px rgba(0,0,0,0.65),
    inset 0 1px 1px 0 rgba(130,196,210,0.3);
}
[data-theme=dark] #landing .journey-steps .step-number{
  color:#EED888;
  border-color:rgba(130,196,210,0.22);
}
[data-theme=dark] #landing .journey-steps h3{color:#82C4D2}
[data-theme=dark] #landing .journey-steps p{color:#D5E4E8}

#landing .journey>.text-button{margin-top:30px}

/* Manifesto */
#landing .manifesto h2{font-size:clamp(38px,4.5vw,58px);line-height:1.35}
#landing .manifesto p{font-size:15px;line-height:1.7}

/* FAQ Guide Section */
#landing .faq-list summary,#landing .guide-question{font-size:14px}
#landing .faq-list details p,#landing .guide-answer p{font-size:14px;line-height:1.7}
#landing .guide-answer h3{font-size:16px;line-height:1.5}
#landing .guide-intro{font-size:14px;line-height:1.65}
.guide-answer{
  padding:32px 28px;
  border-radius:24px;
  background:rgba(255,255,255,0.78)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.9)!important;
  box-shadow:
    0 4px 6px -1px rgba(11,37,58,0.03),
    0 16px 36px -6px rgba(11,37,58,0.07),
    inset 0 1px 1px 0 rgba(255,255,255,0.9);
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.guide-answer>*{position:relative;z-index:2}

/* FAQ Dark Mode */
[data-theme=dark] .guide-answer{
  background:rgba(16,49,66,0.76)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(130,196,210,0.25)!important;
  box-shadow:
    0 4px 10px rgba(0,0,0,0.3),
    0 18px 38px -6px rgba(0,0,0,0.55),
    inset 0 1px 1px 0 rgba(130,196,210,0.18);
}
[data-theme=dark] .guide-answer h3{color:#82C4D2}
[data-theme=dark] .guide-answer p{color:#F7F5EC}
[data-theme=dark] .guide-question{
  background:#103142;
  border-color:rgba(130,196,210,0.25);
  color:#F7F5EC;
}
[data-theme=dark] .guide-question:hover{
  border-color:#82C4D2;
  background:#173f4b;
}
[data-theme=dark] .guide-question[aria-pressed=true]{
  background:#173f4b;
  border-color:#82C4D2;
  color:#82C4D2;
  font-weight:700;
}

/* ========================================================
   SPOTLIGHT MOUSE GLOW (Interactive Cursor Tracking)
   ======================================================== */
.landing-promises>div::after,
.landing-pillars article::after,
.landing-service-grid>div::after,
#landing .journey-steps article::after,
.guide-answer::after {
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  transition:opacity .35s ease;
  background:radial-gradient(380px circle at var(--mouse-x, -999px) var(--mouse-y, -999px), rgba(130, 196, 210, 0.24), transparent 65%);
  z-index:1;
}

.landing-promises>div:hover::after,
.landing-pillars article:hover::after,
.landing-service-grid>div:hover::after,
#landing .journey-steps article:hover::after,
.guide-answer:hover::after {
  opacity:1;
}

[data-theme=dark] .landing-promises>div::after,
[data-theme=dark] .landing-pillars article::after,
[data-theme=dark] .landing-service-grid>div::after,
[data-theme=dark] #landing .journey-steps article::after,
[data-theme=dark] .guide-answer::after {
  background:radial-gradient(420px circle at var(--mouse-x, -999px) var(--mouse-y, -999px), rgba(130, 196, 210, 0.28), rgba(238, 216, 136, 0.1) 40%, transparent 70%);
}

/* ========================================================
   HIGH-IMPACT SCROLL REVEAL (FADE IN FROM DOWN TO UP)
   ======================================================== */
.reveal-init{
  opacity:0;
  transform:translateY(48px) scale(0.98);
  transition:opacity .75s cubic-bezier(0.16,1,0.3,1),transform .75s cubic-bezier(0.16,1,0.3,1);
  will-change:opacity,transform;
}
.reveal-init.revealed{
  opacity:1;
  transform:translateY(0) scale(1);
}
.stagger-1{transition-delay:80ms}
.stagger-2{transition-delay:180ms}
.stagger-3{transition-delay:280ms}
.stagger-4{transition-delay:380ms}

@media(prefers-reduced-motion:reduce){
  .reveal-init{opacity:1!important;transform:none!important;transition:none!important}
  .hero-anim-1,.hero-anim-2,.hero-anim-3,.hero-anim-4,.hero-anim-photo{animation:none!important}
}

/* Responsive queries */
@media(min-width:761px) and (max-width:1140px){
 #landing .landing-hero{padding:40px 32px;min-height:580px;gap:24px}
 #landing .landing-hero .hero-copy{
   max-width:480px;
   background:rgba(247, 245, 236, 0.76);
   backdrop-filter:blur(12px);
   -webkit-backdrop-filter:blur(12px);
   padding:28px 30px;
   border-radius:24px;
   border:1px solid rgba(22,83,96,0.14);
   box-shadow:0 14px 40px -10px rgba(11,37,58,0.10);
 }
 [data-theme=dark] #landing .landing-hero .hero-copy{
   background:rgba(9, 31, 48, 0.82);
   border-color:rgba(130,196,210,0.22);
 }
 #landing .landing-hero h1{font-size:38px;line-height:1.35}
 #landing .landing-story{gap:32px}
 .landing-promises{margin-inline:32px;grid-template-columns:repeat(3,minmax(0,1fr))}
 .custom-diet-container{grid-template-columns:minmax(0,1fr);gap:40px}
 .landing-pillars{gap:16px}.landing-pillars article{padding:24px 20px}
 .landing-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #landing .journey-steps{gap:18px}
}
@media(max-width:760px){
 #landing .landing-hero{
  display:flex;
  flex-direction:column;
  gap:20px;
  padding:32px 20px 40px;
  min-height:auto;
  justify-content:flex-start;
 }
 .landing-hero-backdrop{
  position:relative;
  inset:auto;
  width:100%;
  height:320px;
  border-radius:20px;
  margin-top:16px;
  box-shadow:0 12px 35px -8px rgba(11,37,58,0.16);
  border:1px solid rgba(22,83,96,0.15);
  order:2;
 }
 .hero-cinematic-img{
  object-position:18% center;
  -webkit-mask-image:none;
  mask-image:none;
 }
 #landing .landing-hero .hero-copy{
  max-width:none;
  margin:0;
  order:1;
  padding:0;
  text-align:right;
 }
 #landing .landing-hero .eyebrow,#landing .landing-story .eyebrow,#landing .landing-membership>.eyebrow{justify-content:flex-start;font-size:12px}
 #landing .landing-hero h1{font-size:clamp(34px,8.6vw,46px);line-height:1.35;margin-block:16px}
 .typing-container{font-size:12px;padding:6px 14px;margin-top:10px}
 #landing .landing-hero .hero-description{font-size:15px;line-height:1.7;margin-block:16px 22px}
 #landing .hero-actions{gap:12px;align-items:stretch;flex-direction:column;width:100%}
 #landing .hero-actions .primary{min-height:52px;font-size:15px;width:100%;border-radius:14px}
 #landing .hero-actions>.text-button{align-self:center;font-size:13px;min-height:44px;display:inline-flex;align-items:center;gap:10px}
 #landing .micro{font-size:12px;max-width:none;margin-top:12px;line-height:1.65}
 
 /* Custom Diet Section Mobile */
 .landing-custom-diet{padding:54px 20px}
 .custom-diet-container{grid-template-columns:minmax(0,1fr);gap:32px}
 .custom-diet-pill-item{padding:14px 16px}
 .diet-video-card{border-radius:20px}
 .diet-video-topbar{padding:10px 14px;font-size:11px}
 
 .landing-promises{margin-inline:20px;grid-template-columns:minmax(0,1fr);padding-block:8px;gap:14px}
 .landing-promises>div{text-align:start;padding:18px 16px}
 .landing-promises strong{font-size:15px;line-height:1.5}.landing-promises span{font-size:13px;line-height:1.6}
 #landing .section{padding:46px 20px}
 #landing .section h2{font-size:30px;line-height:1.4}
 #landing .section-heading>p{font-size:14px;max-width:none;line-height:1.7}
 .landing-section-lead{font-size:15px;margin-top:20px;line-height:1.72}
 .landing-pillars{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:24px}
 .landing-pillars article{padding:24px;border-radius:20px}.pillar-number{margin-bottom:14px}
 #landing .landing-story,#landing .landing-story-evening{grid-template-columns:minmax(0,1fr);gap:26px}
 #landing .landing-story-copy{grid-row:1}
 #landing .landing-story-copy .large-copy{font-size:18px;margin-top:16px;line-height:1.6}
 .landing-story-copy>p:not(.large-copy){font-size:15px;margin-top:14px;line-height:1.7}
 .landing-checklist li{font-size:14px;line-height:1.65}
 #landing .landing-story-photo{max-width:430px;width:100%;margin-inline:auto}
 .landing-service-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:24px}
 .landing-service-grid strong{font-size:15px;line-height:1.5}.landing-service-grid p{font-size:14px;line-height:1.7}
 #landing .journey-steps{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:24px}
 #landing .journey-steps article{display:grid;grid-template-columns:50px 1fr;padding:18px;gap:16px;align-items:center}
 #landing .journey-steps .step-number{border-bottom:0;border-left:1px solid var(--line);grid-row:span 2;padding-bottom:0;padding-left:14px;font-size:30px}
 #landing .journey-steps h3{margin-top:0;font-size:18px}
 #landing .journey-steps p{margin-top:4px;font-size:13px}
 #landing .manifesto{padding:48px 20px}
 #landing .manifesto h2{font-size:34px;line-height:1.35}
 #landing .manifesto p{font-size:14px;line-height:1.7}
 #landing .faq .guide-question{min-height:48px}
}