:root {
  --home-max: 1240px;
  --home-radius: 22px;
  --home-radius-sm: 14px;
  --home-line: rgba(255,255,255,.1);
  --home-glass: rgba(13,36,21,.72);
  --home-glass-strong: rgba(10,31,17,.9);
  --home-green: #4AC678;
  --home-green-soft: #A1F0AA;
  --home-amber: #F5B84B;
}

.home-page { background: #08160d; }
.home-page .nav-inner,
.home-page .hero-inner,
.home-page .section,
.home-page .proof-inner,
.home-page .footer-inner,
.home-page .footer-bottom { width: min(var(--home-max), calc(100% - 48px)); }
.home-page .logo-link { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.home-page .logo-wordmark { font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 700; letter-spacing: -.04em; }
.home-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: rgba(5,15,8,.64); border-color: rgba(255,255,255,.08); backdrop-filter: blur(24px); transition: background .3s ease, box-shadow .3s ease; }
.home-nav.is-scrolled { background: rgba(5,15,8,.9); box-shadow: 0 18px 46px rgba(0,0,0,.2); }
.home-nav .nav-inner { min-height: 76px; }
.home-nav .nav-links { gap: 4px; }
.home-nav .nav-links a { padding: 9px 10px; color: rgba(255,255,255,.62); font-size: 10px; letter-spacing: .7px; text-transform: uppercase; }
.home-nav .nav-links .nav-cta { margin-left: 9px; padding: 11px 16px; border-radius: 999px; color: #06120a; background: var(--home-green-soft); box-shadow: 0 12px 32px rgba(74,198,120,.18); }

.hero { position: relative; min-height: 900px; isolation: isolate; display: grid; align-items: center; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.08); background: #07150b; }
.hero-media { position: absolute; inset: 0; z-index: -4; overflow: hidden; background: #06120a; }
.hero-media::before { content: ""; position: absolute; inset: -8%; background: url("hero-poster.jpg") center / cover no-repeat; filter: blur(28px) saturate(1.04); opacity: .36; transform: scale(1.12); }
/* .hero-video { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; object-position: center; opacity: 1; filter: saturate(1.22) contrast(1.06) brightness(1.28); }
.hero-video-wash { position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg, rgba(5,16,8,.96) 0%, rgba(5,16,8,.78) 36%, rgba(5,16,8,.16) 68%, rgba(5,16,8,.08) 100%), linear-gradient(180deg, rgba(5,16,8,.04), rgba(5,16,8,.3)); }
*/
.hero-grid { position: absolute; z-index: 3; inset: 0; opacity: .55; background: linear-gradient(90deg, rgba(139,225,169,.045) 1px, transparent 1px), linear-gradient(rgba(139,225,169,.04) 1px, transparent 1px); background-size: 84px 84px; mask-image: linear-gradient(90deg, #000, rgba(0,0,0,.4), transparent); }
.hero-orb { position: absolute; z-index: -1; border-radius: 50%; filter: blur(2px); opacity: .8; pointer-events: none; }
.hero-orb-one { width: 520px; height: 520px; top: 10%; right: -120px; background: radial-gradient(circle, rgba(74,198,120,.2), transparent 68%); animation: orb-float 11s ease-in-out infinite alternate; }
.hero-orb-two { width: 380px; height: 380px; bottom: -140px; left: 35%; background: radial-gradient(circle, rgba(245,184,75,.11), transparent 68%); animation: orb-float 15s ease-in-out -4s infinite alternate-reverse; }
.hero-inner { margin: 0 auto; padding: 144px 0 112px; display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,.78fr); gap: 64px; align-items: center; }
.hero-copy-block { min-width: 0; }
.hero .eyebrow { margin-bottom: 20px; }
.hero h1 { max-width: 760px; margin-bottom: 24px; font-size: clamp(56px,6.45vw,96px); line-height: .94; letter-spacing: -.075em; }
.hero h1 span { display: block; color: var(--home-green-soft); background: linear-gradient(125deg,#d2ffd6 0%,#7ee18c 58%,#4ac678 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.hero-copy { max-width: 650px; margin-bottom: 32px; color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.72; }
.home-page .btn { min-height: 54px; padding: 0 23px; border-radius: 999px; font-size: 13px; letter-spacing: .1px; }
.home-page .btn-primary { color: #06120a; background: var(--home-green-soft); box-shadow: 0 16px 42px rgba(74,198,120,.18); }
.home-page .btn-primary:hover { box-shadow: 0 20px 52px rgba(74,198,120,.3); }
.home-page .btn-secondary { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.045); }
.trust-chips { max-width: 670px; margin-top: 30px; gap: 8px; }
.trust-chips span { padding: 6px 10px; border-color: rgba(255,255,255,.11); background: rgba(255,255,255,.045); color: rgba(255,255,255,.65); font-size: 10px; letter-spacing: .1px; }
.hero-bottom-note { position: absolute; bottom: 0; left: 0; right: 0; padding: 12px 20px; color: rgba(255,255,255,.48); border-top: 1px solid rgba(255,255,255,.07); background: rgba(3,12,6,.5); font-size: 11px; letter-spacing: .45px; text-align: center; }

.hero-video {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  opacity: 1;
  filter: saturate(1.22) contrast(1.06) brightness(1.28);
}

.hero-video-wash {
  position: absolute;
  z-index: 2;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(5,16,8,.72) 0%,
      rgba(5,16,8,.48) 36%,
      rgba(5,16,8,.08) 68%,
      rgba(5,16,8,.02) 100%
    ),
    linear-gradient(
      180deg,
      rgba(5,16,8,.02),
      rgba(5,16,8,.14)
    );
}
.hero-product { position: relative; min-width: 0; }
.product-halo { position: absolute; inset: 4% -14%; z-index: -1; border-radius: 50%; background: radial-gradient(circle, rgba(74,198,120,.23), transparent 66%); filter: blur(14px); }
.app-window { position: relative; overflow: hidden; border: 1px solid rgba(161,240,170,.3); border-radius: var(--home-radius); background: linear-gradient(150deg,rgba(16,54,29,.86),rgba(8,26,14,.91)); box-shadow: 0 44px 110px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.07); backdrop-filter: blur(16px); }
.app-topbar,.app-bottom { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--home-line); background: rgba(255,255,255,.028); }
.app-topbar small,.app-bottom small,.app-label,.app-filters small,.impact-card small,.story-meal-card small,.story-controls small { display: block; color: rgba(255,255,255,.43); font-size: 9px; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase; }
.app-topbar strong { display: block; margin-top: 3px; font-size: 14px; }
.ai-pill { display: inline-flex; gap: 6px; align-items: center; padding: 5px 9px; border: 1px solid rgba(161,240,170,.26); border-radius: 999px; color: var(--home-green-soft); background: rgba(74,198,120,.08); font-size: 9px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; white-space: nowrap; }
.ai-pill i,.score-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--home-green); box-shadow: 0 0 14px rgba(74,198,120,.7); }
.app-content { padding: 20px; }
.app-label { margin: 0 0 10px; }
.ingredient-list { display: flex; flex-wrap: wrap; gap: 7px; }
.ingredient-list span,.mini-chips span,.feature-chips span { display: inline-flex; padding: 6px 10px; border: 1px solid rgba(161,240,170,.18); border-radius: 999px; color: var(--home-green-soft); background: rgba(74,198,120,.08); font-size: 11px; font-weight: 700; }
.ingredient-list .ingredient-add { color: var(--home-amber); border-color: rgba(245,184,75,.26); background: rgba(245,184,75,.08); }
.hero-ingredients span { animation: chip-float 5s ease-in-out var(--chip-delay) infinite alternate; }
.app-filters,.story-controls { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 18px 0; }
.app-filters div,.story-controls div { padding: 11px 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: rgba(255,255,255,.025); }
.app-filters strong,.story-controls strong { display: block; margin-top: 3px; font-size: 13px; }
.meal-result { padding: 16px; border: 1px solid rgba(161,240,170,.28); border-radius: 14px; background: linear-gradient(145deg,rgba(74,198,120,.12),rgba(255,255,255,.018)); animation: card-breathe 5.5s ease-in-out infinite alternate; }
.meal-result-head,.meal-meta,.cook-action { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.meal-result-head > span:first-child { color: var(--home-green-soft); font-size: 9px; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase; }
.meal-result h2 { margin: 14px 0 6px; font-size: 26px; line-height: 1; letter-spacing: -.055em; }
.meal-result p { margin-bottom: 15px; color: rgba(255,255,255,.6); font-size: 12px; line-height: 1.55; }
.meal-meta { justify-content: flex-start; color: rgba(255,255,255,.48); font-size: 11px; font-weight: 700; }
.meal-meta span + span::before { content: ""; display: inline-block; width: 4px; height: 4px; margin-right: 8px; border-radius: 50%; background: var(--home-green); vertical-align: middle; }
.cook-action { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.09); color: var(--home-amber); font-size: 12px; font-weight: 800; text-shadow: 0 0 18px rgba(245,184,75,.24); }
.app-bottom { border-top: 1px solid var(--home-line); border-bottom: 0; }
.app-bottom div:last-child { text-align: right; }
.app-bottom strong { display: block; margin-top: 3px; color: var(--home-green-soft); font-size: 13px; }
.floating-card { position: absolute; z-index: 3; padding: 12px 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(10,32,17,.86); box-shadow: 0 20px 46px rgba(0,0,0,.26); backdrop-filter: blur(18px); animation: floating-card 6s ease-in-out infinite alternate; }
.floating-card small,.floating-card span { display: block; color: rgba(255,255,255,.48); font-size: 9px; font-weight: 700; letter-spacing: .75px; text-transform: uppercase; }
.floating-card strong { display: block; margin: 3px 0; color: var(--home-green-soft); font-size: 21px; }
.floating-card-protein { right: -44px; top: -54px; }
.floating-card-score { left: -58px; bottom: 46px; display: flex; gap: 9px; align-items: center; animation-delay: -2s; }
.floating-card-score strong { font-size: 14px; }
.hero-video-signal { position: relative; align-self: end; width: min(100%,340px); margin: 0 6px 64px auto; overflow: hidden; border: 1px solid rgba(161,240,170,.28); border-radius: 18px; background: rgba(7,24,13,.68); box-shadow: 0 26px 70px rgba(0,0,0,.28); backdrop-filter: blur(14px); }
.signal-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; border-bottom: 1px solid rgba(255,255,255,.09); }
.signal-topline p,.signal-topline small { margin: 0; color: rgba(255,255,255,.56); font-size: 9px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.signal-topline p { display: flex; gap: 7px; align-items: center; color: var(--home-green-soft); }
.signal-topline p span { width: 6px; height: 6px; border-radius: 50%; background: var(--home-green); box-shadow: 0 0 14px rgba(74,198,120,.7); }
.signal-ingredients { display: flex; flex-wrap: wrap; gap: 6px; padding: 14px 14px 0; }
.signal-ingredients span { padding: 5px 8px; border: 1px solid rgba(161,240,170,.17); border-radius: 999px; color: var(--home-green-soft); background: rgba(74,198,120,.08); font-size: 10px; font-weight: 700; animation: chip-float 5s ease-in-out infinite alternate; }
.signal-ingredients span:nth-child(2) { animation-delay: -.9s; }
.signal-ingredients span:nth-child(3) { animation-delay: -1.7s; }
.signal-result { margin: 12px 14px 14px; padding: 13px; border: 1px solid rgba(161,240,170,.2); border-radius: 12px; background: rgba(74,198,120,.08); }
.signal-result small { display: block; color: rgba(255,255,255,.42); font-size: 8px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.signal-result strong { display: block; margin-top: 7px; font-size: 18px; letter-spacing: -.04em; }
.signal-result p { display: flex; gap: 8px; align-items: center; margin: 7px 0 0; color: rgba(255,255,255,.5); font-size: 10px; font-weight: 700; }
.signal-result b { color: var(--home-green-soft); }
.signal-result span::before { content: ""; display: inline-block; width: 4px; height: 4px; margin-right: 7px; border-radius: 50%; background: rgba(161,240,170,.5); vertical-align: middle; }

.proof-strip { border-block: 1px solid rgba(255,255,255,.07); background: #07150b; }
.proof-inner { margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); }
.proof-inner div { padding: 27px 20px; border-right: 1px solid rgba(255,255,255,.07); text-align: center; }
.proof-inner div:first-child { border-left: 1px solid rgba(255,255,255,.07); }
.proof-inner strong { display: block; color: var(--home-green-soft); font-family: Georgia,serif; font-size: 27px; letter-spacing: -.03em; }
.proof-inner span { display: block; margin-top: 3px; color: rgba(255,255,255,.4); font-size: 9px; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase; }

.home-page .section { margin-inline: auto; padding: 120px 0; }
.home-page .section-head { max-width: 840px; margin-bottom: 48px; }
.home-page .section-head p:last-child { max-width: 690px; color: rgba(255,255,255,.67); font-size: 16px; line-height: 1.7; }
.home-page h2 { font-size: clamp(43px,5.1vw,70px); line-height: .98; letter-spacing: -.065em; }
.quick-flow { display: grid; grid-template-columns: 1fr 48px 1fr 48px 1fr; align-items: stretch; }
.quick-card { position: relative; min-height: 238px; padding: 24px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: var(--home-radius); background: linear-gradient(150deg,rgba(18,53,29,.86),rgba(9,28,15,.93)); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.quick-card:hover { transform: translateY(-6px); border-color: rgba(161,240,170,.28); box-shadow: 0 22px 56px rgba(0,0,0,.22); }
.quick-number,.story-step > span,.problem-grid span,.goal-grid article > span { color: rgba(255,255,255,.3); font-size: 10px; font-weight: 800; letter-spacing: 1.4px; }
.quick-icon,.feature-icon { width: 40px; height: 40px; display: grid; place-items: center; margin: 18px 0 14px; border-radius: 12px; color: var(--home-green); background: rgba(74,198,120,.1); font-size: 21px; font-weight: 800; transition: transform .25s ease, background .25s ease; }
.quick-card:hover .quick-icon,.feature-card:hover .feature-icon { transform: rotate(-8deg) scale(1.08); background: rgba(74,198,120,.18); }
.quick-card h3 { font-size: 19px; letter-spacing: -.035em; }
.quick-card-result strong { display: block; margin: 8px 0 10px; }
.quick-arrow { display: grid; place-items: center; color: rgba(161,240,170,.46); font-size: 23px; }
.builder-quote { display: flex; gap: 18px; align-items: center; max-width: 850px; margin: 58px auto 0; }
.builder-quote p { margin: 0; color: var(--home-amber); font-family: Georgia,serif; font-size: clamp(20px,2.2vw,29px); font-style: italic; text-align: center; white-space: nowrap; }
.quote-line { width: 100%; height: 1px; background: linear-gradient(90deg,transparent,rgba(245,184,75,.35)); }
.quote-line:last-child { transform: rotate(180deg); }

.story-section { border-top: 1px solid rgba(255,255,255,.07); }
.story-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(430px,1.1fr); gap: 78px; align-items: start; }
.story-steps { display: grid; }
.story-step { min-height: 230px; padding: 28px 0 28px 22px; border-left: 1px solid rgba(255,255,255,.1); opacity: .45; transition: opacity .35s ease, border-color .35s ease, transform .35s ease; }
.story-step.is-active { border-left-color: var(--home-green); opacity: 1; transform: translateX(6px); }
.story-step h3 { margin: 18px 0 8px; font-size: 28px; letter-spacing: -.05em; }
.story-step p { max-width: 440px; color: rgba(255,255,255,.56); font-size: 15px; line-height: 1.65; }
.story-visual-wrap { position: sticky; top: 112px; }
.story-visual { position: relative; padding: 20px; border: 1px solid rgba(161,240,170,.18); border-radius: 30px; background: radial-gradient(circle at 50% 10%,rgba(74,198,120,.14),transparent 48%),rgba(255,255,255,.018); }
.story-progress { height: 3px; margin-bottom: 17px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.07); }
.story-progress span { display: block; width: var(--story-progress,25%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--home-green),var(--home-green-soft)); transition: width .42s ease; }
.story-device { max-width: 430px; margin: 0 auto; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; background: rgba(7,24,13,.94); box-shadow: 0 32px 86px rgba(0,0,0,.38); }
.story-device-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.08); }
.story-device-top > span:first-child { color: rgba(255,255,255,.47); font-size: 10px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; }
.story-screen { padding: 18px; }
.story-screen h3 { margin: 10px 0 5px; font-size: 27px; letter-spacing: -.055em; }
.story-screen > p:not(.app-label) { margin-bottom: 15px; color: rgba(255,255,255,.58); font-size: 13px; }
.story-meal-card { padding: 15px; border: 1px solid rgba(161,240,170,.22); border-radius: 14px; background: rgba(74,198,120,.07); transition: transform .35s ease, background .35s ease; }
.story-meal-card.is-refreshing { transform: translateY(7px); background: rgba(74,198,120,.16); }
.story-meal-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.story-meal-card h4 { margin: 12px 0 5px; font-size: 20px; letter-spacing: -.04em; }
.story-meal-card p { margin-bottom: 0; color: rgba(255,255,255,.55); font-size: 12px; line-height: 1.5; }
.story-caption { display: flex; gap: 10px; align-items: center; margin-top: 15px; padding: 0 10px; }
.story-caption span { width: 24px; height: 1px; background: var(--home-amber); }
.story-caption p { margin: 0; color: rgba(255,255,255,.46); font-size: 11px; letter-spacing: .25px; }

.problem-section { border-top: 1px solid rgba(255,255,255,.07); }
.problem-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; overflow: hidden; border: 1px solid rgba(255,255,255,.08); border-radius: var(--home-radius); background: rgba(255,255,255,.08); }
.problem-grid article { min-height: 218px; padding: 27px; border: 0; border-radius: 0; background: #091b10; transition: background .25s ease, transform .25s ease; }
.problem-grid article:hover { background: #0d2717; }
.problem-grid h3 { margin-top: 62px; font-size: 18px; line-height: 1.4; letter-spacing: -.035em; }

.comparison-section { border-top: 1px solid rgba(255,255,255,.07); }
.comparison-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.comparison-card { padding: 31px; border: 1px solid rgba(255,255,255,.11); border-radius: var(--home-radius); background: rgba(255,255,255,.018); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.comparison-card:hover { transform: translateY(-6px); }
.comparison-card.fitraho { border-color: rgba(161,240,170,.3); background: radial-gradient(circle at 100% 0,rgba(74,198,120,.2),transparent 44%),linear-gradient(145deg,rgba(74,198,120,.12),rgba(255,255,255,.025)); box-shadow: 0 26px 66px rgba(0,0,0,.18); }
.comparison-label,.feature-kicker { color: rgba(255,255,255,.43); font-size: 10px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; }
.comparison-card.fitraho .comparison-label,.feature-kicker { color: var(--home-green-soft); }
.comparison-card h3 { margin: 12px 0 22px; font-size: 31px; letter-spacing: -.05em; }
.comparison-card ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.comparison-card li { color: rgba(255,255,255,.63); font-size: 14px; }
.comparison-card li::before { content: "-"; display: inline-block; width: 22px; color: rgba(255,255,255,.3); }
.comparison-card.fitraho li::before { content: "+"; color: var(--home-green); }

.feature-section { border-top: 1px solid rgba(255,255,255,.07); }
.feature-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.feature-card { position: relative; overflow: hidden; padding: 27px; border: 1px solid rgba(255,255,255,.1); border-radius: var(--home-radius); background: linear-gradient(150deg,rgba(16,45,25,.78),rgba(9,28,15,.88)); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.feature-card::after { content: ""; position: absolute; inset: 0; opacity: 0; pointer-events: none; background: radial-gradient(circle at var(--pointer-x,80%) var(--pointer-y,10%),rgba(74,198,120,.15),transparent 34%); transition: opacity .25s ease; }
.feature-card:hover { transform: translateY(-6px); border-color: rgba(161,240,170,.26); box-shadow: 0 24px 56px rgba(0,0,0,.2); }
.feature-card:hover::after { opacity: 1; }
.feature-card > * { position: relative; z-index: 1; }
.feature-card h3 { font-size: 23px; letter-spacing: -.05em; }
.feature-card p { max-width: 560px; margin-bottom: 0; color: rgba(255,255,255,.6); font-size: 14px; line-height: 1.66; }
.feature-primary { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr minmax(210px,.7fr); gap: 20px; align-items: center; border-color: rgba(161,240,170,.25); background: radial-gradient(circle at 90% 10%,rgba(74,198,120,.2),transparent 34%),linear-gradient(130deg,rgba(18,59,32,.94),rgba(8,28,15,.95)); }
.feature-primary .feature-icon { margin: 0; width: 52px; height: 52px; }
.feature-primary h3 { margin: 4px 0 6px; font-size: 29px; }
.feature-chips { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }

.impact-section { border-block: 1px solid rgba(255,255,255,.07); }
.impact-grid { display: grid; grid-template-columns: 1fr .92fr; gap: 66px; align-items: center; }
.impact-grid p { color: rgba(255,255,255,.62); }
.impact-legend { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.impact-card { display: grid; grid-template-columns: 152px 1fr; gap: 22px; align-items: center; padding: 25px; border: 1px solid rgba(161,240,170,.2); border-radius: var(--home-radius); background: radial-gradient(circle at 0 0,rgba(74,198,120,.16),transparent 45%),rgba(13,36,21,.8); }
.impact-ring { position: relative; width: 142px; height: 142px; }
.impact-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.impact-ring circle { fill: none; stroke: rgba(255,255,255,.08); stroke-width: 8; }
.impact-ring .impact-ring-progress { stroke: var(--home-green); stroke-linecap: round; stroke-dasharray: 308; stroke-dashoffset: 308; transition: stroke-dashoffset 1.2s cubic-bezier(.2,.75,.25,1); filter: drop-shadow(0 0 6px rgba(74,198,120,.4)); }
.impact-card.in-view .impact-ring-progress { stroke-dashoffset: 58; }
.impact-ring > div { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.impact-ring strong { color: var(--home-green-soft); font-size: 20px; }
.impact-ring span { color: rgba(255,255,255,.42); font-size: 9px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.impact-card h3 { margin: 8px 0 7px; font-size: 25px; letter-spacing: -.04em; }
.impact-card p { margin: 0; color: rgba(255,255,255,.58); font-size: 13px; }

.goals-section { border-bottom: 1px solid rgba(255,255,255,.07); }
.goal-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.goal-grid article { min-height: 188px; padding: 20px; border: 1px solid rgba(255,255,255,.09); border-radius: 18px; background: rgba(13,36,21,.68); transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.goal-grid article:hover { transform: translateY(-5px); border-color: rgba(161,240,170,.23); background: rgba(18,54,30,.8); }
.goal-grid h3 { margin: 31px 0 8px; color: var(--home-green-soft); font-size: 18px; letter-spacing: -.04em; }
.goal-grid p { margin: 0; color: rgba(255,255,255,.56); font-size: 13px; line-height: 1.55; }

.safety-section { padding-top: 28px !important; }
.safety-panel { display: grid; grid-template-columns: 1.1fr .9fr; gap: 42px; padding: 34px; border: 1px solid rgba(245,184,75,.24); border-radius: var(--home-radius); background: radial-gradient(circle at 100% 0,rgba(245,184,75,.1),transparent 42%),rgba(13,36,21,.7); }
.safety-panel p { max-width: 680px; margin-bottom: 0; color: rgba(255,255,255,.64); }
.trust-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; align-content: center; }
.trust-grid span { display: flex; align-items: center; min-height: 74px; padding: 15px; border: 1px solid rgba(245,184,75,.15); border-radius: 13px; color: rgba(255,255,255,.68); background: rgba(245,184,75,.04); font-size: 13px; font-weight: 700; }
.trust-grid span::before { content: "+"; margin-right: 8px; color: var(--home-amber); font-size: 18px; }

.cta-section { padding: 0 0 112px; }
.home-page .cta-panel { width: min(var(--home-max),calc(100% - 48px)); padding: 82px 24px; border: 1px solid rgba(161,240,170,.22); border-radius: 28px; background: radial-gradient(circle at 50% 0,rgba(161,240,170,.2),transparent 45%),linear-gradient(140deg,#0b2917,#0e3c22 54%,#092115); }
.home-page .cta-panel h2 { font-size: clamp(42px,5vw,68px); }
.home-page .cta-panel .btn-primary { background: #d4ffd8; }

[data-reveal] { opacity: 1; transform: none; }
.js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .68s ease var(--reveal-delay,0s), transform .68s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0s); }
.js [data-reveal][data-reveal-side="left"] { transform: translateX(-28px); }
.js [data-reveal][data-reveal-side="right"] { transform: translateX(28px); }
.js [data-reveal].in-view { opacity: 1; transform: translate(0); }
.js .hero-enter { opacity: 0; transform: translateY(22px); }
.js .hero-enter-visual { transform: translateX(26px) scale(.98); }
.js .is-ready .hero-enter { opacity: 1; transform: translate(0) scale(1); transition: opacity .75s ease, transform .82s cubic-bezier(.2,.75,.25,1); }
.js .is-ready .hero-enter-1 { transition-delay: .05s; }
.js .is-ready .hero-enter-2 { transition-delay: .13s; }
.js .is-ready .hero-enter-3 { transition-delay: .22s; }
.js .is-ready .hero-enter-4 { transition-delay: .32s; }
.js .is-ready .hero-enter-5 { transition-delay: .42s; }
.js .is-ready .hero-enter-visual { transition-delay: .25s; }

@keyframes hero-drift { from { transform: scale(1.08) translate3d(-1%,0,0); } to { transform: scale(1.13) translate3d(1.5%,-1%,0); } }
@keyframes orb-float { from { transform: translate3d(0,-12px,0) scale(.96); } to { transform: translate3d(-18px,18px,0) scale(1.04); } }
@keyframes chip-float { from { transform: translateY(0); } to { transform: translateY(-4px); } }
@keyframes card-breathe { from { box-shadow: 0 0 0 rgba(74,198,120,0); } to { box-shadow: 0 0 28px rgba(74,198,120,.1); } }
@keyframes floating-card { from { transform: translate3d(0,-7px,0); } to { transform: translate3d(0,8px,0); } }
@keyframes badge-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(74,198,120,0); } 50% { box-shadow: 0 0 0 5px rgba(74,198,120,.09); } }
.badge-pulse { animation: badge-pulse 3.4s ease-in-out infinite; }

@media (max-width: 1120px) {
  .hero-inner { grid-template-columns: minmax(0,1fr) minmax(370px,.78fr); gap: 32px; }
  .floating-card { display: none; }
  .story-layout { gap: 42px; }
  .goal-grid { grid-template-columns: repeat(3,1fr); }
}
@media (min-width: 1121px) {
  .hero-inner { grid-template-columns: minmax(0,1fr) minmax(380px,.7fr); gap: 38px; }
  .hero-media {
    left: 45%;
    border-left: 1px solid rgba(161,240,170,.14);
    box-shadow: -30px 0 90px rgba(5,16,8,.42);
  }
  .hero-media::after {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0;
    background: linear-gradient(90deg,rgba(5,16,8,.5),transparent 34%,rgba(5,16,8,.12));
    pointer-events: none;
  }
  .hero-video-wash { background: linear-gradient(90deg,rgba(5,16,8,.38),rgba(5,16,8,.06) 48%,rgba(5,16,8,.12)),linear-gradient(180deg,rgba(5,16,8,.02),rgba(5,16,8,.2)); }
  .hero-video-signal { right: 24px; }
}
@media (max-width: 900px) {
  .hero { min-height: auto; }
  .hero-inner { display: block; padding: 130px 0 80px; }
  .hero-video-signal { width: min(100%,390px); margin: 42px 0 0; }
  .quick-flow { grid-template-columns: 1fr; gap: 10px; }
  .quick-arrow { height: 25px; transform: rotate(90deg); }
  .story-layout { display: block; }
  .story-step { min-height: auto; padding: 20px 0 20px 18px; }
  .story-step h3 { margin-top: 10px; }
  .story-visual-wrap { position: static; margin-top: 32px; }
  .problem-grid { grid-template-columns: repeat(2,1fr); }
  .impact-grid,.safety-panel { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 780px) {
  .home-page .nav-inner,.home-page .hero-inner,.home-page .section,.home-page .proof-inner,.home-page .footer-inner,.home-page .footer-bottom { width: min(var(--home-max),calc(100% - 30px)); }
  .home-nav .nav-inner { min-height: 66px; }
  .home-nav .nav-links a:not(.nav-cta) { display: none; }
  .home-nav .nav-links .nav-cta { margin: 0; padding: 9px 11px; font-size: 10px; }
  .home-page .logo-mark { width: 32px; height: 32px; }
  .home-page .logo-wordmark { font-size: 19px; }
  .hero-inner { padding: 108px 0 72px; }
  .hero h1 { font-size: clamp(46px,12.4vw,64px); }
  .hero-copy { font-size: 15px; }
  .hero .actions { display: grid; }
  .hero .btn { width: 100%; }
  .hero-video-signal { margin-top: 34px; }
  .app-window { border-radius: 17px; }
  .app-topbar,.app-bottom { padding: 14px; }
  .app-content { padding: 14px; }
  .meal-result { padding: 13px; }
  .meal-result h2 { font-size: 22px; }
  .proof-inner { grid-template-columns: repeat(2,1fr); width: 100% !important; }
  .proof-inner div { padding: 21px 12px; }
  .proof-inner strong { font-size: 23px; }
  .home-page .section { padding: 86px 0; }
  .home-page h2 { font-size: clamp(39px,10.4vw,54px); }
  .builder-quote p { white-space: normal; }
  .quote-line { display: none; }
  .story-visual { padding: 12px; border-radius: 22px; }
  .story-device { border-radius: 18px; }
  .story-screen { padding: 15px; }
  .problem-grid,.comparison-grid,.feature-grid,.goal-grid { grid-template-columns: 1fr; }
  .problem-grid article { min-height: 165px; }
  .problem-grid h3 { margin-top: 35px; }
  .feature-primary { grid-column: auto; display: block; }
  .feature-primary .feature-icon { margin-bottom: 18px; }
  .feature-chips { justify-content: flex-start; margin-top: 18px; }
  .impact-card { grid-template-columns: 1fr; }
  .safety-panel { padding: 23px; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-grid span { min-height: auto; }
  .cta-section { padding-bottom: 76px; }
  .home-page .cta-panel { width: calc(100% - 30px); padding: 56px 18px; border-radius: 22px; }
}
@media (max-width: 390px) {
  .hero h1 { font-size: 45px; }
  .app-topbar strong { font-size: 12px; }
  .app-filters strong,.story-controls strong { font-size: 11px; }
  .ingredient-list span,.mini-chips span,.feature-chips span { padding: 5px 8px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-video,.hero-orb,.hero-ingredients span,.meal-result,.floating-card,.badge-pulse { animation: none !important; }
  .js .hero-enter,.js [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
}
