@layer reset{*,:before,:after{box-sizing:border-box}html,body,h1,h2,h3,p,ol,ul{margin:0}img,picture,video{max-width:100%;display:block}button,a{font:inherit}}@layer tokens{:root{color-scheme:dark;--navy-950:#0b1720;--navy-900:#10232b;--navy-800:#18333a;--ink:#10232b;--muted:#aebeb9;--cream:#f4efdf;--cream-muted:#d7d4c5;--leaf:#c3dc72;--leaf-deep:#8fab4d;--line:#f4efdf29;--sky:#8fc1e3;--display:"Avenir Next", "Segoe UI", sans-serif;--body:"Avenir Next", "Segoe UI", sans-serif;--serif:Iowan Old Style, Baskerville, "Times New Roman", serif;--radius-lg:1.5rem;--radius-md:.9rem;--shadow-deep:0 2rem 5rem #00000047}@media (prefers-color-scheme:light){:root{color-scheme:light;--navy-950:#f4efdf;--navy-900:#ebe6d5;--navy-800:#dedac8;--ink:#10232b;--muted:#53656a;--cream:#10232b;--cream-muted:#364b50;--leaf:#91b34d;--leaf-deep:#6d8a38;--line:#10232b29;--sky:#4f88ae;--shadow-deep:0 2rem 5rem #10232b24}}}@layer base{html{background:var(--navy-950);font-family:var(--body);scroll-behavior:smooth;scroll-padding-top:4.5rem}body{background:radial-gradient(circle at 82% 16%, #c3dc7212, transparent 28rem), var(--navy-950);min-width:320px;color:var(--cream);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:1rem;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;border:0}:focus-visible{outline:3px solid var(--leaf);outline-offset:4px}}@layer components{.site-header{z-index:50;background:linear-gradient(#0b1720d9,#0b172000);justify-content:center;align-items:center;min-height:4.5rem;padding:0 clamp(1.25rem,3vw,2.5rem);display:flex;position:fixed;top:0;left:0;right:0}.site-header__inner{justify-content:space-between;align-items:center;gap:2rem;width:min(100%,90rem);display:flex}.brand{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:.7rem;font-size:.98rem;font-weight:700;display:inline-flex}.brand-mark{background:var(--leaf);width:2rem;height:2rem;color:var(--ink);font-family:var(--serif);border:1px solid #c3dc7280;border-radius:.7rem .7rem .7rem .2rem;place-items:center;font-size:1.1rem;font-style:italic;font-weight:700;display:grid}.brand-byline{color:var(--muted);letter-spacing:0;font-size:.72em;font-weight:500}.primary-nav{color:var(--muted);align-items:center;gap:clamp(1rem,2vw,2.2rem);font-size:.9rem;display:flex}.primary-nav a,.mobile-menu__panel a{transition:color .18s}.primary-nav a:hover,.primary-nav a:focus-visible,.mobile-menu__panel a:hover,.mobile-menu__panel a:focus-visible{color:var(--cream)}.mobile-menu{display:none;position:relative}.mobile-menu summary{color:var(--cream);padding:.5rem 0;font-size:.9rem;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:after{content:"";border-bottom:1px solid;border-right:1px solid;width:.45rem;height:.45rem;margin-left:.6rem;display:inline-block;transform:translateY(-.15rem)rotate(45deg)}.mobile-menu[open] summary:after{transform:translateY(.1rem)rotate(225deg)}.mobile-menu__panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--navy-900);min-width:12rem;box-shadow:var(--shadow-deep);padding:.6rem;display:grid;position:absolute;top:calc(100% + .8rem);right:0}.mobile-menu__panel a{color:var(--muted);padding:.65rem .75rem}.nav-cta{background:var(--leaf);border-radius:999px;justify-content:center;align-items:center;min-height:2.35rem;padding:.5rem 1rem;font-size:.82rem;font-weight:700;transition:background-color .18s,transform .18s;display:inline-flex;color:var(--ink)!important}.nav-cta:hover,.nav-cta:focus-visible{background:#d2e995;transform:translateY(-1px)}.hero-scrub{position:relative}.hero-scrub__pin{background:var(--navy-950);width:100%;height:100dvh;position:relative;overflow:hidden}.hero-scrub__visual{opacity:var(--visual-opacity,1);position:absolute;inset:0}.hero-scrub__fallback,.hero-scrub__canvas{object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.hero-scrub__canvas{opacity:0}.hero-scrub__canvas.is-ready{opacity:1}.hero-scrub__fallback.is-hidden{opacity:0}.hero-scrub__scrim{z-index:1;pointer-events:none;background:linear-gradient(90deg,#0b1720a8,#0b17201f 48%,#0b172057 100%),linear-gradient(#0000 66%,#0b172094),linear-gradient(#0b17207a,#0000 26%);position:absolute;inset:0}.insight-cards{z-index:2;pointer-events:none;position:absolute;inset:0}.insight-card{opacity:0;border-radius:var(--radius-md);color:var(--cream);backdrop-filter:blur(14px)saturate(115%);background:#10232be0;border:1px solid #f4efdf3d;transition:opacity .46s cubic-bezier(.22,1,.36,1),transform .46s cubic-bezier(.22,1,.36,1);position:absolute;transform:translate(-16px,10px)scale(.98);box-shadow:0 1rem 2.5rem #00000042}.insight-card.is-visible{opacity:1;transform:translate(0,0)scale(1)}.hero-scrub:not(.hero-scrub--active) .insight-card:not(.insight-card--pattern){display:none}.hero-scrub:not(.hero-scrub--active) .insight-card--pattern{width:auto;max-width:30rem;inset:auto clamp(1.5rem,6vw,5rem) clamp(1.5rem,5vh,3rem)}.insight-card__label{color:var(--cream-muted);letter-spacing:.13em;text-transform:uppercase;font-size:.65rem;font-weight:700;line-height:1.25}.insight-card__value{letter-spacing:-.05em;margin-top:.45rem;font-size:clamp(1.55rem,2.4vw,2.15rem);font-weight:700;line-height:1}.insight-card__value span{color:var(--leaf);letter-spacing:0;font-size:.52em;font-weight:600}.insight-card__detail{color:var(--cream-muted);margin-top:.45rem;font-size:.76rem}.insight-card--calories{z-index:1;width:clamp(9.5rem,15vw,13rem);padding:.95rem 1rem;top:15%;left:5%}.insight-card--macros{z-index:2;width:clamp(12rem,19vw,17rem);padding:.9rem 1rem .95rem;top:31%;left:12%}.macro-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.8rem;display:grid}.macro-grid span{gap:.15rem;display:grid}.macro-grid strong{letter-spacing:-.04em;font-size:.98rem}.macro-grid small{color:var(--cream-muted);font-size:.62rem}.insight-card--fodmap{z-index:3;width:clamp(12.5rem,18vw,16rem);padding:.95rem 1rem;top:47%;left:6%}.insight-card--fodmap .insight-card__value{letter-spacing:-.04em;font-size:clamp(1.15rem,2vw,1.5rem)}.insight-card--pattern{z-index:5;background:var(--cream);width:clamp(18rem,26vw,27rem);color:var(--ink);border-color:#c3dc72c7;padding:1rem 1.15rem 1.05rem;top:61%;left:10%;box-shadow:0 1.5rem 3rem #00000052}.insight-card--pattern .insight-card__label{color:var(--leaf-deep)}.insight-card__insight{letter-spacing:-.025em;max-width:28ch;margin-top:.6rem;font-size:clamp(.95rem,1.3vw,1.1rem);font-weight:650;line-height:1.25}.insight-card__link{color:var(--leaf-deep);margin-top:.8rem;font-size:.75rem;font-weight:750}.insight-card__link span{margin-left:.25rem}.hero-scrub__intro{z-index:4;max-width:38rem;opacity:var(--intro-opacity,1);transform:translateY(var(--intro-shift,0px));position:absolute;top:clamp(6.5rem,17vh,9.5rem);left:clamp(1.5rem,6vw,5rem)}.hero-scrub__kicker{color:var(--leaf);letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.1rem;font-size:.72rem;font-weight:700;line-height:1.2}.hero-scrub__intro h1{font-family:var(--display);letter-spacing:-.065em;text-shadow:0 2px 28px #0006;text-wrap:balance;font-size:clamp(2.6rem,4.6vw,4.6rem);font-weight:650;line-height:1.02}.hero-scrub__lede{max-width:30rem;color:var(--cream-muted);text-shadow:0 1px 16px #00000059;margin-top:1.3rem;font-size:clamp(1rem,1.15vw,1.15rem);line-height:1.6}.hero-scrub__actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2rem;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:.75rem 1.2rem;font-size:.9rem;font-weight:700;line-height:1;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.button span{margin-left:.45rem;font-size:1.05em}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--leaf);color:var(--ink)}.button--primary:hover,.button--primary:focus-visible{background:#d2e995}.button--quiet{color:var(--cream);border-color:#f4efdf73}.button--quiet:hover,.button--quiet:focus-visible{background:#c3dc7214;border-color:#c3dc72a6}.hero-scrub__motion{z-index:6;opacity:var(--visual-opacity,1);min-height:2.3rem;color:var(--cream);backdrop-filter:blur(10px);background:#0b1720a8;border:1px solid #f4efdf47;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .75rem;font-size:.7rem;font-weight:700;transition:background-color .18s,border-color .18s;display:inline-flex;position:absolute;bottom:1rem;right:1rem}.hero-scrub__motion[hidden]{display:none}.hero-scrub__motion:hover,.hero-scrub__motion:focus-visible{background:#0b1720db;border-color:#c3dc72b8}.hero-scrub__motion-icon{letter-spacing:-.15em;font-size:.76rem}.section{width:min(100% - 3rem,90rem);margin:0 auto;padding:0 0 clamp(5rem,12vw,10rem)}.section__head{border-top:1px solid var(--line);max-width:44rem;padding-top:clamp(3rem,6vw,5rem)}.section__head h2{max-width:13ch;font-family:var(--display);letter-spacing:-.065em;font-size:clamp(2.3rem,4.5vw,4.4rem);line-height:.98}.section__head p{max-width:36rem;color:var(--muted);margin-top:1.35rem;font-size:1.05rem;line-height:1.65}.steps{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:3.5rem;padding-top:1rem;display:grid}.step{border-top:2px solid var(--leaf);padding-top:1rem}.step strong{letter-spacing:-.025em;font-size:1.1rem;display:block}.step p{color:var(--muted);margin-top:.55rem;font-size:.9rem;line-height:1.55}.value-list{border-bottom:1px solid var(--line);margin-top:3.5rem}.value-item{border-top:1px solid var(--line);grid-template-columns:minmax(4.5rem,7rem) 1fr;align-items:baseline;gap:2rem;padding:2rem 0;display:grid}.value-item__index{font-family:var(--serif);color:var(--leaf-deep);font-size:2.25rem;font-style:italic;font-weight:600;line-height:1}.value-item h3{letter-spacing:-.02em;font-size:1.35rem;font-weight:700}.value-item p{max-width:42rem;color:var(--muted);margin-top:.6rem;font-size:1rem;line-height:1.6}.proof-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;margin-top:3.5rem;display:grid}.proof-cell{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--navy-900);grid-column:span 12;padding:clamp(1.75rem,3vw,2.25rem)}.proof-cell h3{letter-spacing:-.02em;font-size:1.2rem;font-weight:700}.proof-cell p{max-width:34rem;color:var(--muted);margin-top:.75rem;font-size:.95rem;line-height:1.6}.proof-cell--featured{background:linear-gradient(135deg, #c3dc721f, transparent 65%), var(--navy-900);border-color:#c3dc7261}.proof-cell--accent{background:linear-gradient(135deg, #8fc1e31f, transparent 65%), var(--navy-900);border-color:#8fc1e361}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.5rem,5vw,4rem);margin-top:3.5rem;display:grid}.trust-column__title{border-bottom:2px solid var(--leaf);letter-spacing:-.01em;padding-bottom:1rem;font-size:1rem;font-weight:700}.trust-column ul{margin:0;padding:0;list-style:none}.trust-item{border-bottom:1px solid var(--line);padding:1.5rem 0}.trust-item:last-child{border-bottom:none}.trust-item h4{letter-spacing:-.01em;font-size:1rem;font-weight:700}.trust-item p{color:var(--muted);margin-top:.5rem;font-size:.92rem;line-height:1.55}.trust-column__link{color:var(--leaf-deep);align-items:center;gap:.35rem;margin-top:1.5rem;font-size:.9rem;font-weight:700;transition:color .18s;display:inline-flex}.trust-column__link:hover,.trust-column__link:focus-visible{color:var(--leaf)}.faq-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 2rem;margin-top:3.5rem;display:grid}.faq-item h3{letter-spacing:-.015em;font-size:1.05rem;font-weight:700;line-height:1.3}.faq-item p{color:var(--muted);margin-top:.75rem;font-size:.92rem;line-height:1.6}.final-cta{border-top:1px solid var(--line);text-align:center;background:radial-gradient(circle at 50% 0,#c3dc7217,#0000 62%);width:100%;padding:clamp(5rem,12vw,8rem) clamp(1.5rem,6vw,3rem)}.final-cta h2{max-width:20ch;font-family:var(--display);letter-spacing:-.06em;text-wrap:balance;margin:0 auto;font-size:clamp(2.6rem,6vw,5rem);font-weight:650;line-height:1}.final-cta p{max-width:30rem;color:var(--muted);margin:1.25rem auto 0;font-size:1.05rem}.final-cta .button{margin-top:2rem}.policy{width:min(100% - 3rem,48rem);margin:0 auto;padding:clamp(6rem,12vh,8rem) 0 clamp(5rem,12vw,8rem)}.policy__header h1{font-family:var(--display);letter-spacing:-.05em;font-size:clamp(2.6rem,6vw,4rem);font-weight:650;line-height:1.02}.policy__meta{color:var(--leaf-deep);letter-spacing:.01em;margin-top:.75rem;font-size:.85rem;font-weight:700}.policy__header p:not(.policy__meta){max-width:60ch;color:var(--muted);margin-top:1.25rem;font-size:1.05rem;line-height:1.65}.policy__summary{border-radius:var(--radius-lg);background:#c3dc720f;border:1px solid #c3dc724d;margin-top:3rem;padding:1.75rem 2rem}.policy__summary h2,.policy__toc h2{letter-spacing:.08em;text-transform:uppercase;color:var(--leaf-deep);font-size:.8rem;font-weight:700}.policy__toc h2{color:var(--muted)}.policy__summary ul{gap:.65rem;margin-top:1rem;padding-left:1.2rem;display:grid}.policy__summary li{color:var(--cream);font-size:.98rem;line-height:1.55}.policy__summary-note{color:var(--muted);margin-top:1rem;font-size:.82rem}.policy__toc{border-top:1px solid var(--line);margin-top:3rem;padding-top:2rem}.policy__toc ol{columns:2;column-gap:2rem;margin-top:1rem;padding-left:0;list-style:none}.policy__toc li{break-inside:avoid;margin-bottom:.6rem}.policy__toc a{color:var(--cream);border-bottom:1px solid #0000;font-size:.92rem;transition:border-color .18s,color .18s}.policy__toc a:hover,.policy__toc a:focus-visible{color:var(--leaf);border-color:currentColor}.policy__section{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:2.5rem}.policy__section h2{font-family:var(--display);letter-spacing:-.02em;scroll-margin-top:5.5rem;font-size:clamp(1.4rem,2.6vw,1.85rem);font-weight:700}.policy__section p{max-width:68ch;color:var(--muted);margin-top:1rem;font-size:1rem;line-height:1.7}.policy__section ul{gap:.75rem;max-width:68ch;margin-top:1rem;padding-left:1.2rem;display:grid}.policy__section li{color:var(--muted);font-size:1rem;line-height:1.65}.policy__section li strong{color:var(--cream)}.policy__section a{color:var(--leaf-deep);text-underline-offset:.15em;text-decoration:underline}.policy__section a:hover,.policy__section a:focus-visible{color:var(--leaf)}.policy__table{border-collapse:collapse;width:100%;max-width:40rem;margin-top:1.5rem;font-size:.92rem}.policy__table th,.policy__table td{border-bottom:1px solid var(--line);text-align:left;padding:.75rem 1rem}.policy__table th{color:var(--cream);letter-spacing:.02em;font-weight:700}.policy__table td{color:var(--muted)}.policy__section--disclaimer{border-radius:var(--radius-lg);background:#c3dc720d;border:1px solid #c3dc724d;padding:2rem}.policy__section--disclaimer p,.policy__section--disclaimer li{max-width:none}.site-footer{border-top:1px solid var(--line);width:min(100% - 3rem,90rem);margin:0 auto;padding:clamp(3rem,6vw,4.5rem) 0 clamp(2.5rem,5vw,3.5rem)}.site-footer__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;padding-bottom:clamp(2rem,4vw,2.75rem);display:flex}.site-footer__brand{gap:.9rem;display:grid}.site-footer__tagline{max-width:22rem;color:var(--muted);font-size:.92rem;line-height:1.5}.site-footer__nav{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.site-footer__nav a:not(.nav-cta){color:var(--muted);font-size:.9rem;transition:color .18s}.site-footer__nav a:not(.nav-cta):hover,.site-footer__nav a:not(.nav-cta):focus-visible{color:var(--cream)}.site-footer__bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-top:clamp(1.5rem,3vw,2rem);font-size:.78rem;display:flex}}@layer utilities{.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--leaf);color:var(--ink);border-radius:.4rem;padding:.6rem .8rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}}@media (width<=960px){.site-header__inner,.section,.policy,.site-footer{width:min(100% - 2.5rem,48rem)}.hero-scrub__intro{max-width:30rem}.hero-scrub__intro h1{font-size:clamp(2.4rem,6.5vw,3.6rem)}}@media (width>=961px){.proof-cell:first-child{grid-column:span 7}.proof-cell:nth-child(2),.proof-cell:nth-child(3){grid-column:span 5}.proof-cell:nth-child(4){grid-column:span 7}}@media (width<=720px){.site-header__inner,.section,.policy,.site-footer{width:min(100% - 2rem,42rem)}.policy__toc ol{columns:1}.site-header{min-height:4rem}.primary-nav{display:none}.mobile-menu{display:block}.hero-scrub__intro{max-width:none;top:clamp(5.5rem,14vh,7rem);left:1.25rem;right:1.25rem}.hero-scrub__intro h1{font-size:clamp(2.3rem,9vw,3.2rem)}.hero-scrub__lede{max-width:26rem;margin-top:1.1rem;font-size:.95rem}.hero-scrub__actions{margin-top:1.5rem}.insight-card--macros{display:none}.insight-card--calories{width:46%;top:14%;left:5%}.insight-card--fodmap{width:48%;top:38%;left:5%}.insight-card--pattern{width:90%;padding:.75rem .85rem .8rem;top:54%;left:5%}.hero-scrub__motion{padding-inline:.65rem;bottom:.7rem;right:.7rem}.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem;margin-top:2.75rem}.value-item{grid-template-columns:1fr;gap:.6rem}.value-item__index{font-size:1.5rem}.proof-grid{margin-top:2.75rem}.trust-grid{grid-template-columns:1fr;gap:2.5rem;margin-top:2.75rem}.faq-grid{grid-template-columns:1fr;gap:2rem;margin-top:2.75rem}.final-cta{padding:4rem 1.5rem}.site-footer__top{flex-direction:column;gap:1.75rem}.site-footer__bottom{flex-direction:column;gap:.4rem}}@media (width<=430px){.hero-scrub__actions{flex-direction:column;align-items:stretch}.button{width:100%}.insight-card--calories{width:50%}.insight-card--fodmap{width:52%}.insight-card--pattern{width:94%;padding:.7rem .85rem .75rem}.insight-card__insight{font-size:.84rem}.steps{grid-template-columns:1fr}}@media (prefers-reduced-transparency:reduce){.insight-card,.hero-scrub__motion,.mobile-menu__panel{background:var(--navy-900);backdrop-filter:none}.insight-card--pattern{background:var(--cream)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-scrub__intro,.button,.primary-nav a,.mobile-menu__panel a,.hero-scrub__motion,.insight-card{transition:none;animation:none}.hero-scrub__canvas{opacity:0!important}.insight-card{opacity:1;transform:none}}
