@font-face{font-family:"Inter Tight";src:url("./fonts/InterTight-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("./fonts/InterTight-Medium.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("./fonts/InterTight-SemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("./fonts/InterTight-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("./fonts/InstrumentSerif-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
:root{--night:#211e1a;--cream:#fbf9f5;--paper:#f1eee7;--sage:#a2b791;--green:#324d3d;--ink:#211e1a;--muted:#665f55;--line:#ddd8cf;--dark-line:rgba(255,255,255,.17)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Inter Tight",Arial,sans-serif;font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased}
body:has(.film-dialog[open]){overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{letter-spacing:-.06em;line-height:1.03;font-weight:700}
h2 em{font-style:normal;color:var(--green)}
::selection{background:var(--sage);color:var(--night)}
:focus-visible{outline:2px solid var(--sage);outline-offset:4px}
section[id],.section-anchor{scroll-margin-top:80px}
.skip-link{position:absolute;left:16px;top:-60px;z-index:999;padding:10px 14px;background:#fff;color:var(--night)}
.skip-link:focus{top:12px}
.section-shell{width:min(100% - 2*clamp(22px,5vw,72px),1296px);margin-inline:auto}
.section-label,.eyebrow,.card-kicker{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.section-label{color:var(--green);margin-bottom:24px}
.section-lede{max-width:620px;font-size:clamp(18px,1.75vw,22px);line-height:1.46;color:var(--muted)}
.site-header{height:80px;position:sticky;top:0;z-index:100;background:rgba(33,30,26,.97);color:var(--cream);border-bottom:1px solid var(--dark-line);backdrop-filter:blur(16px)}
.site-header.is-scrolled{box-shadow:0 8px 26px rgba(0,0,0,.14)}
.header-inner{max-width:1440px;height:100%;margin:auto;padding:0 clamp(24px,5vw,72px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;width:max-content;text-decoration:none;font-size:22px;font-weight:700;letter-spacing:-.035em}
.brand img,.footer-brand img{border-radius:10px}
.site-nav{display:flex;align-items:center;gap:30px}
.site-nav a{text-decoration:none;color:#d8d4cd;font-size:14px;font-weight:600;transition:color .2s}
.site-nav a:hover{color:var(--sage)}
.header-cta{justify-self:end;padding:9px 15px;border:1px solid rgba(255,255,255,.32);border-radius:99px;font-size:12px;font-weight:600;white-space:nowrap}
.menu-button{display:none;justify-self:end;width:42px;height:42px;border:1px solid var(--dark-line);border-radius:12px;background:transparent;color:var(--cream);padding:10px}
.menu-button span{display:block;border-top:2px solid currentColor;margin:5px 1px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border-radius:99px;text-decoration:none;font-size:15px;font-weight:700;white-space:nowrap}
.button-light{background:var(--cream);color:var(--night)}
.hero{overflow:hidden;background:var(--night);color:var(--cream)}
.hero-inner{width:min(100% - 2*clamp(24px,5vw,72px),1296px);min-height:750px;margin:auto;display:grid;grid-template-columns:minmax(0,1.07fr) minmax(380px,.93fr);align-items:center;gap:clamp(30px,4vw,64px)}
.hero-copy{position:relative;z-index:2;padding:76px 0 86px;animation:hero-enter .7s both}
.eyebrow{color:var(--sage);margin-bottom:26px}
.hero h1{font-size:clamp(55px,5.35vw,80px);line-height:1.045;letter-spacing:-.035em;white-space:normal}
.hero h1 span{color:#c9ddbb}
.hero-lede{max-width:600px;margin-top:30px;color:#e9e5df;font-size:clamp(20px,1.8vw,25px);line-height:1.48;letter-spacing:0}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:34px}
.text-button{display:inline-flex;align-items:center;gap:10px;padding:12px 0;background:none;color:var(--cream);border:0;border-bottom:1px solid rgba(255,255,255,.55);font-weight:650;cursor:pointer;transition:color .2s,border-color .2s}
.text-button:hover{color:var(--sage);border-color:var(--sage)}
.play-glyph{display:grid;place-items:center;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;font-size:9px;padding-left:2px}
.hero-platforms{margin-top:30px;color:#aaa49a;font-size:13px;letter-spacing:.04em}
.hero-media{position:relative;justify-self:center;align-self:end;width:min(100%,520px);height:750px;overflow:hidden;isolation:isolate;animation:hero-rise .9s .08s both}
.hero-media::before{content:"";position:absolute;inset:12% 0 4%;background:radial-gradient(ellipse,rgba(162,183,145,.17),transparent 65%);filter:blur(30px)}
.hero-poster,.hero-video{position:absolute;inset:0;width:100%;height:100%}
.hero-poster img{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 24px 40px rgba(0,0,0,.36))}
.hero-video{z-index:1;display:none;object-fit:contain;background:var(--night)}
.hero-media.is-playing .hero-video{display:block}
.hero-media-note{position:absolute;z-index:2;left:50%;bottom:12px;transform:translateX(-50%);white-space:nowrap;padding:8px 13px;border:1px solid rgba(255,255,255,.16);border-radius:99px;background:rgba(33,30,26,.74);color:#eee9df;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.capabilities-section{padding:58px clamp(22px,5vw,72px) 54px;border-bottom:1px solid var(--line);background:var(--cream)}
.capabilities-inner{max-width:1296px;margin:auto}
.capabilities-inner>.section-label{margin-bottom:25px}
.outcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:39px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.outcome-grid>div{padding:0 clamp(20px,3vw,48px);border-left:1px solid var(--line)}
.outcome-grid>div:first-child{padding-left:0;border-left:0}
.outcome-grid>div:last-child{padding-right:0}
.outcome-grid h2{font-size:clamp(27px,2.5vw,36px);line-height:1.08}
.outcome-grid p{max-width:335px;margin-top:12px;color:var(--muted);font-size:clamp(15px,1.3vw,17px);line-height:1.45}
.capabilities-kicker{margin-bottom:17px;color:var(--green);font-size:13px;font-weight:700;letter-spacing:.07em}
.capabilities-list{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0;padding:0}
.capabilities-list li{display:flex;align-items:center;min-height:38px;padding:7px 16px;border:1px solid #e5e0d8;border-radius:99px;background:#fff;color:var(--ink);box-shadow:0 7px 19px -12px rgba(33,30,26,.32),0 1px 3px rgba(33,30,26,.05);font-size:14px;font-weight:650;line-height:1.2;white-space:nowrap}
.progress-copy h2,.watch-copy h2,.devices-heading h2,.trust-copy h2{font-size:clamp(55px,5.2vw,78px);margin-bottom:27px}
.detail-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:29px}
.detail-list span{padding:8px 12px;border:1px solid #c9c9bf;border-radius:99px;color:var(--green);font-size:13px;font-weight:600}
.do-section{padding:clamp(90px,8vw,130px) 0;background:var(--cream)}

.food-copy h2,.story-copy h2{font-size:clamp(55px,5.3vw,80px);margin-bottom:27px}
.food-copy .section-lede{max-width:560px}
.food-methods{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:500px;margin-top:34px;padding-top:27px;border-top:1px solid var(--line)}
.food-methods>div{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0;padding:0 7px;border-left:1px solid var(--line);color:var(--ink);font-size:14px;font-weight:700}
.food-methods>div:first-child{border-left:0}
.food-methods svg{width:31px;height:31px}
.food-proof{max-width:515px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.55}
.food-proof strong{color:var(--green)}

.training-section,.context-section{padding:clamp(94px,8vw,132px) 0;background:var(--night);color:var(--cream);overflow:hidden}
.story-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(36px,5vw,80px);align-items:center}
.story-copy .section-label{color:var(--sage)}
.story-copy h2{max-width:530px}
.story-copy .section-lede{max-width:530px;color:#d4cec5}
.story-points{list-style:none;margin:34px 0 0;padding:0;border-top:1px solid var(--dark-line)}
.story-points li{padding:13px 0;border-bottom:1px solid var(--dark-line);font-size:15px;font-weight:650;color:#d9e4d2}
.story-support{max-width:520px;margin-top:26px;font-size:16px;line-height:1.5;color:#bbb5aa}
.story-frame-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}
.story-frame-gallery figure{min-width:0}
.story-frame-gallery img{width:100%;height:auto}
.story-frame-gallery figcaption{margin-top:9px;color:#c9c2b8;font-size:12px;font-weight:700;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.nutrition-section{padding:clamp(94px,8vw,132px) 0;background:#f1eee8;overflow:hidden}
.nutrition-layout{grid-template-columns:minmax(0,1.23fr) minmax(0,.77fr)}
.nutrition-section .story-copy .section-label{color:var(--green)}
.nutrition-section .story-copy .section-lede{color:var(--muted)}
.nutrition-section .story-support{color:var(--green)}
.nutrition-section .story-frame-gallery figcaption{color:var(--green)}
.context-section{border-top:1px solid var(--dark-line)}
.watch-section{border-top:1px solid var(--dark-line)}
.watch-section{padding:clamp(105px,9vw,145px) 0;background:var(--night);color:var(--cream);overflow:hidden}
.watch-layout{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:45px;align-items:center}
.watch-copy .section-label{color:var(--sage)}
.watch-copy h2 em,.devices-heading h2 em{color:var(--sage)}
.watch-copy .section-lede{color:#ccc7bf}
.watch-hint{margin-top:30px;color:var(--sage);font-size:13px;font-weight:650;letter-spacing:.03em}
.watch-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;align-items:end}
.watch-item{min-width:0;text-align:center}
.watch-item picture{display:block;width:100%;filter:drop-shadow(0 25px 27px rgba(0,0,0,.36))}
.watch-item img{width:100%}
.watch-item figcaption{margin-top:8px;color:#d6d0c6;font-size:12px;font-weight:600}
.progress-section{padding:clamp(100px,9vw,145px) 0;background:#dae2d4;overflow:hidden}

.progress-copy h2 em{color:var(--ink)}
.progress-copy .section-label{color:var(--ink)}

.progress-asides{margin-top:35px;border-top:1px solid #afbfaa}
.progress-asides>div{display:grid;grid-template-columns:125px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid #afbfaa;font-size:14px}
.progress-asides strong{color:var(--ink)}
.progress-asides span{color:#435246}
.devices-section{padding:clamp(100px,9vw,145px) 0;background:var(--night);color:var(--cream);overflow:hidden}
.devices-heading{max-width:850px;margin:0 auto 45px;text-align:center}
.devices-heading .section-label{color:var(--sage)}
.devices-heading p:last-child{max-width:690px;margin:auto;color:#d0cac1;font-size:20px;line-height:1.45}
.devices-art{margin:auto;max-width:1230px}
.devices-art picture{display:block}
.devices-art img{width:100%}
.platform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:38px;padding-top:26px;border-top:1px solid var(--dark-line)}
.platform-grid div{display:flex;flex-direction:column;gap:5px}
.platform-grid strong{color:var(--cream);font-size:16px}
.platform-grid span{color:#bcb7ae;font-size:13px}
.reports-section{padding:clamp(95px,8vw,130px) 0;background:#eee9e0;overflow:hidden}
.reports-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(44px,6vw,90px);align-items:center}
.reports-copy h2{max-width:590px;margin-bottom:26px;font-size:clamp(52px,4.8vw,74px)}
.reports-copy h2 em{color:var(--green)}
.reports-copy .section-lede{max-width:550px}
.reports-list-label{margin:32px 0 9px;color:var(--green);font-size:12px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.reports-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;list-style:none;margin:0;padding:0;border-top:1px solid #d2ccc1}
.reports-topics li{padding:12px 0;border-bottom:1px solid #d2ccc1;color:var(--ink);font-size:15px;font-weight:650}
.reports-formats{max-width:500px;margin-top:24px;color:var(--muted);font-size:14px;line-height:1.5}
.reports-formats strong{color:var(--ink)}
.reports-art{width:100%;max-width:660px;justify-self:center;filter:drop-shadow(0 32px 38px rgba(34,29,23,.18))}
.reports-art img{width:100%}
.trust-section{padding:clamp(95px,8vw,132px) 0;background:var(--cream)}
.trust-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(45px,9vw,140px)}
.trust-copy p:not(.section-label){max-width:550px;color:var(--muted);font-size:18px;line-height:1.5}
.inline-link{display:inline-flex;gap:8px;margin-top:25px;padding-bottom:5px;border-bottom:1px solid var(--green);color:var(--green);text-decoration:none;font-weight:650;font-size:15px}
.trust-answers{align-self:center;border-top:1px solid var(--line)}
.trust-answers details{padding:24px 0;border-bottom:1px solid var(--line)}
.trust-answers summary{position:relative;list-style:none;padding-right:35px;cursor:pointer;font-size:19px;font-weight:650;letter-spacing:-.02em}
.trust-answers summary::-webkit-details-marker{display:none}
.trust-answers summary::after{content:"+";position:absolute;top:-2px;right:0;color:var(--green);font-size:26px;font-weight:400}
.trust-answers details[open] summary::after{content:"−"}
.trust-answers details p{max-width:620px;margin-top:15px;color:var(--muted);font-size:15px;line-height:1.5}
.closing-section{text-align:center;background:var(--night);color:var(--cream);padding:103px 24px 112px}
.closing-section>img{margin:0 auto 28px;border-radius:18px}
.closing-section .section-label{color:var(--sage)}
.closing-section h2{font-size:clamp(54px,6.6vw,95px)}
.closing-section h2 em{color:var(--sage)}
.closing-section>p:not(.section-label){margin:22px auto 30px;color:#c5c0b8;font-size:18px}
.site-footer{max-width:1440px;margin:auto;padding:52px clamp(24px,5vw,72px);display:grid;grid-template-columns:1fr auto;gap:17px;align-items:center;color:var(--muted);font-size:13px}
.footer-brand{display:flex;align-items:center;gap:9px;color:var(--night);font-size:18px}
.site-footer>p{grid-row:2}
.site-footer nav{grid-column:2;grid-row:1;display:flex;gap:24px}
.site-footer nav a{text-decoration:none}
.site-footer nav a:hover{color:var(--green)}
.site-footer small{grid-column:2;grid-row:2;text-align:right}
.film-dialog{max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;padding:0;border:0;background:rgba(10,9,8,.96);color:var(--cream)}
.film-dialog::backdrop{background:rgba(0,0,0,.92)}
.film-dialog-inner{height:100%;display:grid;place-items:center;padding:62px 18px 18px}
.film-dialog video{height:min(100%,calc(100dvh - 85px));max-width:100%;aspect-ratio:9/16;object-fit:contain;background:#000;border-radius:12px}
.film-close{position:absolute;top:16px;right:clamp(18px,5vw,60px);z-index:2;display:flex;align-items:center;gap:12px;padding:8px 0;border:0;background:none;color:var(--cream);font-weight:650;cursor:pointer}
.film-close span{font-size:30px;line-height:1}
.reveal{opacity:1;transform:none}
.reveal-ready .reveal{opacity:0;transform:translateY(17px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.65,.3,1)}
.reveal-ready .reveal.is-visible{opacity:1;transform:none}
@keyframes hero-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes hero-rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .watch-item picture,.story-frame-gallery figure,.food-review,.devices-art picture,.reports-art img,.hero-media:not(.is-playing) .hero-poster img{transition:transform .3s ease}
  .watch-item:hover picture,.story-frame-gallery figure:hover,.food-review:hover,.devices-art:hover picture,.reports-art:hover img,.hero-media:not(.is-playing):hover .hero-poster img{transform:translateY(-8px)}
  .inline-link,.text-button{transition:transform .25s ease,box-shadow .25s ease,color .25s ease}
}
@media(max-width:1100px){.header-inner{grid-template-columns:1fr auto}.site-nav{display:none;position:absolute;top:80px;left:0;right:0;padding:22px 24px 26px;background:var(--night);border-bottom:1px solid var(--dark-line);flex-direction:column;align-items:flex-start;gap:19px}.site-nav.is-open{display:flex}.header-cta{display:none}.menu-button{display:block}.hero-inner{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:25px}.hero-media{height:660px}.hero h1{font-size:clamp(52px,5.8vw,70px)}.watch-layout{grid-template-columns:1fr}.watch-copy{max-width:750px}.watch-gallery{max-width:850px;margin:auto}}
@media(max-width:850px){.hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:0}.hero-copy{max-width:720px;padding:68px 0 24px}.hero h1{font-size:clamp(52px,7vw,72px)}.hero-media{align-self:center;width:min(100%,400px);height:auto;aspect-ratio:9/16}.food-layout,.story-layout,.progress-layout,.reports-layout,.trust-layout{grid-template-columns:1fr;gap:38px}.food-copy,.story-copy,.progress-copy{max-width:720px}.nutrition-layout .story-frame-gallery{order:2}.reports-copy{max-width:720px}.reports-art{max-width:680px}.story-frame-gallery{max-width:720px}.platform-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.site-header{height:68px}.header-inner{padding:0 22px}.site-nav{top:68px}.brand{font-size:19px}.brand img{width:34px;height:34px}.hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:0;width:calc(100% - 44px)}.hero-copy{padding:38px 0 21px}.eyebrow{margin-bottom:19px;font-size:10px}.hero h1{font-size:clamp(42px,11vw,61px);white-space:normal}.hero h1 br:nth-of-type(2){display:none}.hero-lede{margin-top:18px;font-size:18px;line-height:1.48}.hero-actions{gap:16px;margin-top:23px}.button{min-height:46px;padding:0 19px;font-size:13px}.text-button{font-size:13px}.hero-platforms{display:none}.hero-media{align-self:center;width:min(100%,310px);height:auto;aspect-ratio:9/16}.hero-poster img{object-fit:contain;object-position:center bottom;filter:none}.hero-media-note{bottom:10px;font-size:10px}.capabilities-section{padding:38px 22px 38px}.capabilities-inner>.section-label{margin-bottom:19px}.outcome-grid{grid-template-columns:1fr;padding-bottom:20px;margin-bottom:20px}.outcome-grid>div{padding:17px 0;border-left:0;border-top:1px solid var(--line)}.outcome-grid>div:first-child{padding-top:0;border-top:0}.outcome-grid>div:last-child{padding-right:0}.outcome-grid h2{font-size:29px}.outcome-grid p{max-width:480px;margin-top:5px;font-size:15px}.capabilities-kicker{margin-bottom:14px}.capabilities-list{gap:7px}.capabilities-list li{min-height:34px;padding:6px 12px;font-size:12px}.do-section,.training-section,.watch-section,.nutrition-section,.context-section,.progress-section,.devices-section,.reports-section,.trust-section{padding:77px 0}.food-copy h2,.story-copy h2,.progress-copy h2,.watch-copy h2,.devices-heading h2,.reports-copy h2,.trust-copy h2{font-size:clamp(45px,11vw,62px)}.section-lede,.devices-heading p:last-child{font-size:17px}.food-methods{margin-top:26px;padding-top:20px}.food-methods>div{gap:6px;font-size:12px}.food-methods svg{width:27px;height:27px}.story-frame-gallery{display:flex;width:calc(100% + 22px);max-width:none;margin-right:-22px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;gap:12px;padding:0 22px 12px 0}.story-frame-gallery figure{flex:0 0 min(78vw,330px);scroll-snap-align:start}.watch-layout{gap:24px}.watch-gallery{display:flex;width:calc(100% + 22px);margin-right:-22px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:0 22px 12px 0;gap:10px}.watch-item{flex:0 0 215px;scroll-snap-align:start}.watch-item figcaption{font-size:12px}.progress-asides>div{grid-template-columns:100px 1fr}.devices-heading{margin-bottom:22px}.reports-layout{gap:28px}.reports-topics{gap:0 15px}.reports-topics li{font-size:13px;padding:11px 0}.reports-art{width:min(100%,500px)}.platform-grid{gap:20px 10px}.platform-grid strong{font-size:14px}.platform-grid span{font-size:12px}.trust-layout{gap:30px}.trust-copy p:not(.section-label){font-size:16px}.closing-section{padding:83px 22px 90px}.closing-section h2{font-size:clamp(48px,11vw,68px)}.site-footer{padding:42px 22px;display:block}.site-footer>p{margin:16px 0}.site-footer nav{display:flex;flex-wrap:wrap;gap:13px 20px}.site-footer small{display:block;margin-top:20px;text-align:left}}
@media(max-width:370px){.hero h1{font-size:41px}.hero-actions{gap:11px}.button{font-size:12px;padding:0 14px}.text-button{gap:5px;font-size:12px}.hero-media{height:auto;width:min(100%,265px)}.watch-item{flex-basis:205px}}
@media(max-width:650px) and (orientation:landscape){.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;align-items:center}.hero-copy{padding:28px 0}.hero h1{font-size:42px}.hero-media{height:auto;width:min(100%,270px)}.hero-lede{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy,.hero-media{animation:none}.reveal-ready .reveal{opacity:1;transform:none;transition:none}.watch-item picture{transition:none!important}}

/* Phase 1: real meal recognition beside the editable Review. */
.food-layout { display:grid; align-items:center; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(36px,4vw,64px); }
.food-showcase { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:28px; min-height:0; }
.food-capture,.food-review { min-width:0; }
.food-review { align-self:center; position:static; filter:drop-shadow(0 20px 22px rgba(33,30,26,.16)); }
.food-review img { width:100%; height:auto; max-width:100%; }
.food-photo { position:relative; aspect-ratio:1; border-radius:22px; overflow:hidden; }
.food-photo>img { width:100%; height:100%; object-fit:cover; object-position:55% center; }
.capture-corners { position:absolute; inset:7%; background:linear-gradient(#fff,#fff) left top/24px 2px,linear-gradient(#fff,#fff) left top/2px 24px,linear-gradient(#fff,#fff) right top/24px 2px,linear-gradient(#fff,#fff) right top/2px 24px,linear-gradient(#fff,#fff) left bottom/24px 2px,linear-gradient(#fff,#fff) left bottom/2px 24px,linear-gradient(#fff,#fff) right bottom/24px 2px,linear-gradient(#fff,#fff) right bottom/2px 24px; background-repeat:no-repeat; }
.recognised-foods { margin:0; padding:0; list-style:none; }
.recognised-foods li { position:absolute; display:flex; align-items:center; gap:5px; padding:6px 8px; border-radius:8px; background:rgba(25,23,20,.88); color:#fff; font-size:clamp(12px,1vw,14px); font-weight:700; line-height:1.2; white-space:nowrap; }
.recognised-foods li>span { color:#e4ddd3; font-weight:500; }
.recognised-foods small { border-radius:3px; padding:3px 4px; background:#375342; color:#fff; font-size:8px; font-weight:700; letter-spacing:.025em; text-transform:uppercase; }
.recognised-foods .recognised-lemon small { background:#805611; }
.recognised-lemon { top:19%; right:9%; }
.recognised-salmon { top:35%; left:9%; }
.recognised-eggs { top:52%; left:6%; }
.recognised-toast { top:69%; left:9%; }
.capture-sources { position:absolute; bottom:7%; left:50%; transform:translateX(-50%); padding:6px 9px; border-radius:6px; background:rgba(25,23,20,.84); color:#fff; font-size:12px; font-weight:700; white-space:nowrap; }
.capture-sources span { color:#e4ddd3; font-weight:500; }
.food-showcase figcaption { display:flex; flex-direction:column; gap:5px; margin-top:20px; color:var(--muted); font-size:13px; line-height:1.4; }
.food-showcase figcaption strong { font-size:16px; color:var(--ink); }
.food-review figcaption { text-align:center; }
@media(max-width:1100px) {
  .food-layout { grid-template-columns:1fr; }
  .food-copy { max-width:720px; }
  .food-showcase { width:100%; max-width:800px; margin-inline:auto; gap:48px; }
  .recognised-foods li { font-size:14px; }
}
@media(max-width:650px) {
  .food-showcase { grid-template-columns:1fr; gap:44px; }
  .food-capture { width:100%; max-width:390px; margin-inline:auto; }
  .food-review { width:100%; max-width:360px; justify-self:center; }
  .food-photo { border-radius:18px; }
  .food-showcase figcaption { margin-top:16px; }
}


/* Restore the sixth logging route beside the photographed meal and Review. */
.food-inputs { display:grid; gap:28px; }
.food-watch { width:168px; justify-self:center; filter:drop-shadow(0 15px 20px rgba(33,30,26,.15)); }
.food-watch img { width:100%; }
.food-watch figcaption { text-align:center; }
.food-watch figcaption strong { font-size:14px; }

/* Use complete phone screens with the App Store campaign's training story. */
.training-story { display:grid; gap:clamp(65px,7vw,100px); }
.training-row { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:clamp(45px,8vw,115px); }
.training-row .story-copy { min-width:0; }
.training-row .story-copy h2,.training-row .story-copy h3 { max-width:650px; font-size:clamp(50px,4.65vw,70px); margin-bottom:27px; }
.training-row .story-copy h2 em,.training-row .story-copy h3 em { font-style:normal; color:var(--sage); }
.training-row .story-copy .section-lede { max-width:550px; }
.training-row .story-support { color:var(--sage); font-size:20px; }
.training-phone { width:100%; max-width:355px; justify-self:center; filter:drop-shadow(0 24px 28px rgba(0,0,0,.25)); }
.training-phone img { width:100%; }
.training-workout-row { grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); gap:clamp(35px,4vw,60px); }
.training-week { min-width:0; width:100%; max-width:650px; margin:24px 0 0; }
.training-week-view { width:100%; min-width:0; overflow-x:auto; border-radius:15px; }
.training-week-view img { width:100%; max-width:none; }
.training-week figcaption { margin-top:18px; text-align:center; color:#c8c1b7; font-size:14px; }
.training-week figcaption span { display:none; }
@media(max-width:650px) {
  .training-week-view img { min-width:600px; }
  .training-week figcaption span { display:inline; }
}
.training-phones { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:24px; }
.training-phones .training-phone { max-width:335px; }
.training-phone figcaption { margin-top:20px; text-align:center; color:#c8c1b7; font-size:14px; }
.training-activities { display:flex; flex-wrap:wrap; gap:12px 22px; padding:20px 0; margin:24px 0 0; list-style:none; border-block:1px solid rgba(245,241,233,.18); color:var(--cream); font-size:15px; font-weight:650; }
.training-workout { max-width:335px; }

/* Show the weight trend and daily report together at a readable device size. */
.progress-layout { display:grid; grid-template-columns:1fr; gap:60px; }
.progress-copy { max-width:850px; }
.progress-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:48px; width:100%; max-width:1100px; margin-inline:auto; }
.progress-art { width:min(100%,470px); justify-self:center; filter:drop-shadow(0 36px 38px rgba(27,47,32,.27)) drop-shadow(0 8px 12px rgba(27,47,32,.13)); }
.progress-art picture { display:block; }
.progress-art img { width:100%; }
.progress-art figcaption { margin-top:25px; text-align:center; color:#435246; font-size:15px; font-weight:600; }
@media(max-width:1100px) {
  .training-workout-row { grid-template-columns:1fr; gap:38px; }
  .training-workout-row .story-copy { order:0; }
  .training-phones { order:1; width:100%; max-width:710px; margin-inline:auto; gap:35px; }
}
@media(max-width:850px) {
  .training-row,.training-workout-row,.progress-layout { grid-template-columns:1fr; gap:38px; }
  .training-workout-row .story-copy { order:0; }
  .training-phones { order:1; }
  .training-row .story-copy { max-width:720px; }
  .progress-art { width:min(100%,430px); }
}
@media(max-width:650px) {
  .food-inputs { display:contents; }
  .food-capture { order:0; }
  .food-review { order:1; }
  .food-watch { order:2; width:180px; }
  .training-row .story-copy h2,.training-row .story-copy h3 { font-size:clamp(45px,11vw,62px); }
  .training-phone { max-width:340px; }
  .training-phones { grid-template-columns:1fr; gap:44px; }
  .training-phones .training-phone { max-width:320px; }
  .progress-gallery { grid-template-columns:1fr; gap:44px; }
  .progress-art { width:min(100%,430px); }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .food-capture,.food-watch img,.training-phone img,.progress-art picture { transition:transform .3s ease; }
  .food-capture:hover,.food-watch:hover img,.training-phone:hover img,.progress-art:hover picture { transform:translateY(-8px); }
}

/* Give nutrient detail and practical meal planning their own product stories. */
.nutrition-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(45px,6vw,85px); }
.nutrition-art { width:100%; max-width:470px; justify-self:center; }
.nutrition-art img { width:100%; border-radius:20px; }
.nutrition-section .inline-link { margin-top:28px; }
.meal-planning-section { padding:clamp(94px,8vw,132px) 0; background:var(--cream); border-top:1px solid var(--line); overflow:hidden; }
.meal-planning-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:clamp(35px,4vw,60px); align-items:center; }
.meal-planning-section .story-copy { min-width:0; }
.meal-planning-section .story-copy h2 { max-width:none; font-size:clamp(45px,4.2vw,62px); }
.meal-planning-section .section-label { color:var(--green); }
.meal-planning-section .section-lede { color:var(--muted); }
.meal-planning-section .story-support { color:var(--green); }
.planning-points { padding:0; margin:30px 0 0; list-style:none; border-top:1px solid var(--line); }
.planning-points li { padding:14px 0; border-bottom:1px solid var(--line); font-size:15px; font-weight:650; color:var(--green); }
.meal-planning-visuals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; justify-items:center; gap:24px; min-width:0; }
.meal-plan-phone { width:100%; max-width:350px; filter:drop-shadow(0 24px 28px rgba(33,30,26,.15)); }
.meal-plan-phone img { width:100%; }
.meal-plan-phone figcaption { margin-top:20px; text-align:center; color:var(--muted); font-size:14px; font-weight:600; }
@media(max-width:1100px) {
  .meal-planning-layout { grid-template-columns:1fr; gap:38px; }
  .meal-planning-layout .story-copy { max-width:720px; }
  .meal-planning-visuals { width:100%; max-width:724px; margin-inline:auto; }
}
@media(max-width:850px) {
  .nutrition-layout,.meal-planning-layout { grid-template-columns:1fr; gap:38px; }
  .nutrition-art { order:1; }
  .nutrition-layout .story-copy,.meal-planning-layout .story-copy { max-width:720px; }
}
@media(max-width:650px) {
  .meal-planning-section { padding:77px 0; }
  .nutrition-art { max-width:390px; }
  .meal-planning-visuals { grid-template-columns:1fr; gap:44px; }
  .meal-plan-phone { max-width:340px; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .nutrition-art img,.meal-plan-phone img { transition:transform .3s ease; }
  .nutrition-art:hover img,.meal-plan-phone:hover img { transform:translateY(-8px); }
}

/* Daily Home views: a clean light–dark–light device composition. */
.home-day-section { padding:clamp(94px,8vw,132px) 0; background:var(--night); color:var(--cream); }
.home-day-heading { max-width:780px; margin:0 auto 62px; text-align:center; }
.home-day-heading .section-label { color:var(--sage); }
.home-day-heading h2 { margin-bottom:26px; font-size:clamp(52px,5.3vw,78px); }
.home-day-heading h2 em { color:var(--sage); }
.home-day-heading .section-lede { margin-inline:auto; color:#d3cdc4; }
.home-day-phones { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(28px,4vw,60px); max-width:1120px; margin:auto; }
.home-day-item { min-width:0; }
.home-day-item img { width:100%; max-width:320px; margin-inline:auto; filter:drop-shadow(0 25px 28px rgba(0,0,0,.22)); }
.home-day-item figcaption { max-width:320px; margin:28px auto 0; text-align:center; }
.home-day-item h3 { min-height:2.24em; font-size:23px; line-height:1.12; letter-spacing:-.035em; }
.home-day-item p { margin-top:12px; color:#d3cdc4; font-size:16px; line-height:1.5; }
@media(max-width:850px) {
  .home-day-phones { display:flex; width:calc(100% + clamp(22px,5vw,72px)); padding:8px clamp(22px,5vw,72px) 20px 0; gap:28px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; }
  .home-day-item { flex:0 0 300px; scroll-snap-align:start; }
}
@media(max-width:650px) {
  .home-day-section { padding:77px 0; }
  .home-day-heading { margin-bottom:38px; text-align:left; }
  .home-day-heading h2 { font-size:clamp(45px,11vw,62px); }
  .home-day-heading .section-lede { font-size:17px; }
  .home-day-phones { width:calc(100% + 22px); gap:22px; padding-right:22px; }
  .home-day-item { flex-basis:min(80vw,310px); }
  .home-day-item h3 { font-size:22px; }
  .home-day-item p { font-size:15px; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .home-day-item img { transition:transform .3s ease; }
  .home-day-item:hover img { transform:translateY(-8px); }
}

/* Start the training story with plan creation, followed by the active plan. */
.training-plan-row { grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr); gap:clamp(35px,4vw,60px); }
@media(max-width:1100px) {
  .training-plan-row { grid-template-columns:1fr; gap:38px; }
}

/* Keep the training benefits directly beneath the activity line. */
.training-plan-row .story-points { margin-top:0; border-top:0; }
.training-plan-row .story-points li { padding:20px 0; color:var(--cream); line-height:1.45; }

/* Overview → Focus → Progress, with the story above the three devices. */
.training-workout-row { display:block; min-width:0; }
.training-workout-row .story-copy { max-width:820px; margin:0 auto 56px; text-align:center; }
.training-workout-row .story-copy h3 { max-width:none; }
.training-workout-row .story-copy .section-lede { max-width:700px; margin-inline:auto; }
.training-workout-row .story-support { max-width:650px; margin-inline:auto; font-size:16px; color:#c8c1b7; }
.workout-flow-phones { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(28px,4vw,60px); max-width:1120px; margin-inline:auto; }
.workout-flow-phones .training-phone { max-width:320px; }
@media(max-width:850px) {
  .training-workout-row .story-copy { max-width:720px; }
  .workout-flow-phones { display:flex; width:calc(100% + clamp(22px,5vw,72px)); max-width:none; padding:8px clamp(22px,5vw,72px) 20px 0; gap:28px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; }
  .workout-flow-phones .training-phone { flex:0 0 300px; scroll-snap-align:start; }
}
@media(max-width:650px) {
  .training-workout-row .story-copy { margin-bottom:38px; text-align:left; }
  .workout-flow-phones { width:calc(100% + 22px); padding-right:22px; gap:22px; }
  .workout-flow-phones .training-phone { flex-basis:min(80vw,310px); }
}
