/* FatTonic — premium metabolic-intelligence design system */
:root{
  --ink:#0d1b17; --ink-2:#33463f; --mut:#6b7d76; --line:#e4ebe7;
  --bg:#ffffff; --bg-2:#f5f8f6; --bg-3:#eef4f0;
  --emerald:#0f7a5a; --emerald-d:#0a5c43; --amber:#e08a2b; --amber-d:#c4741d;
  --exc:#0f9b6c; --good:#5cae54; --mod:#e0a52b; --poor:#e07a3a; --avoid:#d0483f;
  --shadow:0 1px 2px rgba(13,27,23,.04),0 8px 30px rgba(13,27,23,.06);
  --radius:16px; --maxw:1080px;
  --serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
a{color:var(--emerald);text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.15;letter-spacing:-.01em;color:var(--ink)}
em{font-style:italic;color:var(--emerald)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
.center{text-align:center}
img{max-width:100%}

/* nav */
.nav{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;
  padding:.85rem clamp(1rem,4vw,2rem);background:rgba(255,255,255,.86);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line)}
.brand{font-family:var(--serif);font-weight:700;font-size:1.35rem;color:var(--ink);letter-spacing:-.02em}
.mark{color:var(--emerald)}
.nav nav{display:flex;gap:clamp(.6rem,2vw,1.6rem);align-items:center}
.nav nav a{color:var(--ink-2);font-size:.95rem;font-weight:500}
.nav nav a:hover{color:var(--emerald)}
.cta-sm{background:var(--emerald);color:#fff!important;padding:.5rem .9rem;border-radius:999px;font-weight:600}
.cta-sm:hover{background:var(--emerald-d)}

/* hero */
.hero{background:linear-gradient(170deg,#f3f9f5 0%,#eaf3ed 55%,#e4f0e9 100%);padding:clamp(3rem,9vw,6rem) 0 clamp(3rem,8vw,5rem);position:relative;overflow:hidden}
.hero:after{content:"◐";position:absolute;right:-4rem;top:-3rem;font-size:26rem;color:rgba(15,122,90,.05);pointer-events:none}
.hero-in{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1rem,4vw,2rem);position:relative}
.eyebrow{font-size:.78rem;letter-spacing:.18em;font-weight:700;color:var(--emerald);margin-bottom:1rem}
.hero h1{font-size:clamp(2.4rem,6.5vw,4.4rem);line-height:1.04}
.lede{font-size:clamp(1.05rem,2vw,1.28rem);color:var(--ink-2);max-width:38ch;margin:1.3rem 0}
.hero .lede{max-width:44ch}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.cta{background:var(--emerald);color:#fff!important;padding:.95rem 1.6rem;border-radius:999px;font-weight:650;font-size:1.02rem;box-shadow:0 6px 20px rgba(15,122,90,.25);transition:transform .12s,box-shadow .12s}
.cta:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(15,122,90,.32);background:var(--emerald-d)}
.cta-ghost{border:1.5px solid var(--emerald);color:var(--emerald)!important;padding:.9rem 1.5rem;border-radius:999px;font-weight:600}
.cta-ghost:hover{background:var(--emerald);color:#fff!important}
.microtrust{font-size:.86rem;color:var(--mut);margin-top:1.2rem}

/* bands */
.band{background:var(--bg-2);padding:clamp(2.5rem,6vw,4rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:0}
.threeup{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.pill{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}
.pill h3{font-size:1.25rem;margin-bottom:.5rem}
.pill p{color:var(--ink-2);font-size:.98rem;margin-bottom:.9rem}
.pill a{font-weight:600;font-size:.95rem}

/* section titles */
.sec-title{font-size:clamp(1.6rem,4vw,2.2rem);margin:2.6rem 0 .3rem}
.sec-title span{color:var(--emerald);font-style:italic}
.sec-sub{color:var(--mut);margin-bottom:1.4rem}

/* food cards */
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem}
.fcard{display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;box-shadow:var(--shadow);transition:transform .12s,border-color .12s}
.fcard:hover{transform:translateY(-2px);border-color:var(--emerald)}
.fscore{font-family:var(--serif);font-weight:700;font-size:1.5rem;width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;border-radius:12px;color:#fff}
.fmeta{display:flex;flex-direction:column;line-height:1.25}
.fmeta strong{color:var(--ink);font-size:1.02rem}
.fmeta span{color:var(--mut);font-size:.85rem}
.b-exc{background:var(--exc)}.b-good{background:var(--good)}.b-mod{background:var(--mod)}.b-poor{background:var(--poor)}.b-avoid{background:var(--avoid)}
.center{margin-top:2rem}

/* science band */
.science{background:linear-gradient(180deg,#0d1b17,#12241d);border:none}
.science .sec-title{color:#fff}
.glist{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1.4rem}
.gcard{background:#152b23;border:1px solid #1f3c31;border-radius:14px;padding:1.4rem;transition:transform .12s,border-color .12s}
.science .gcard:hover{transform:translateY(-3px);border-color:var(--emerald)}
.gcard h3{color:#eaf4ef;font-size:1.12rem;margin:.5rem 0}
.gcard p{color:#9fbcb0;font-size:.92rem}
.gtag{font-size:.72rem;letter-spacing:.1em;color:var(--amber);font-weight:700}
/* guides on light bg */
.pagehead+section .glist .gcard,section.wrap .glist .gcard{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
section.wrap .glist .gcard h3{color:var(--ink)}
section.wrap .glist .gcard p{color:var(--ink-2)}
section.wrap .glist .gcard:hover{border-color:var(--emerald);transform:translateY(-3px)}

/* final cta */
.finalcta{background:linear-gradient(160deg,#0f7a5a,#0a5c43);color:#fff;padding:clamp(3rem,7vw,4.5rem) 0;margin-top:3rem;text-align:center}
.finalcta h2{color:#fff;font-size:clamp(1.8rem,4.5vw,2.6rem)}
.finalcta .lede{color:#cdeadf;margin:1rem auto}
.finalcta .cta{background:#fff;color:var(--emerald-d)!important}
.finalcta .cta:hover{background:#eafaf3}

/* page head */
.pagehead{background:var(--bg-2);border-bottom:1px solid var(--line);padding:clamp(2rem,6vw,3.4rem) 0}
.pagehead h1{font-size:clamp(2rem,5vw,3rem)}

/* controls / index */
.controls{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.6rem 0 1rem}
#q{flex:1;min-width:220px;padding:.85rem 1.1rem;border:1.5px solid var(--line);border-radius:12px;font-size:1rem;font-family:var(--sans)}
#q:focus{outline:none;border-color:var(--emerald)}
#cat{padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:12px;font-size:1rem;background:#fff}
.legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:var(--mut);margin-bottom:1.2rem;align-items:center}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:.25rem;vertical-align:middle}
.flist{display:flex;flex-direction:column;gap:.5rem}
.frow{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;box-shadow:var(--shadow);transition:border-color .12s,transform .1s}
.frow:hover{border-color:var(--emerald);transform:translatex(3px)}
.frow .fscore{width:48px;height:48px;flex:0 0 48px;font-size:1.25rem;border-radius:10px}
.frow-name{flex:1;display:flex;flex-direction:column;line-height:1.3}
.frow-name strong{color:var(--ink)}
.frow-name em{color:var(--mut);font-size:.83rem;font-style:normal}
.frow-band{font-size:.78rem;font-weight:700;color:#fff;padding:.2rem .6rem;border-radius:999px}
.noresult{color:var(--mut);text-align:center;padding:2rem}
.methodbox{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;margin-top:2.5rem}
.methodbox h2{font-size:1.3rem;margin-bottom:.5rem}
.methodbox p{color:var(--ink-2);font-size:.98rem}

/* food page */
.crumb{max-width:var(--maxw);margin:1.2rem auto 0;padding:0 clamp(1rem,4vw,2rem);font-size:.86rem;color:var(--mut)}
.crumb a{color:var(--emerald)}
.foodhead{display:flex;gap:1.6rem;align-items:center;padding-top:1.4rem;padding-bottom:1.4rem;flex-wrap:wrap}
.fh-score{width:112px;height:112px;flex:0 0 112px;border-radius:20px;color:#fff;display:grid;place-items:center;font-family:var(--serif);box-shadow:var(--shadow)}
.fh-score b{font-size:2.6rem;line-height:1}
.fh-score span{font-size:.9rem;opacity:.85}
.fh-body h1{font-size:clamp(2rem,5vw,2.8rem)}
.verdict{margin:.6rem 0;font-size:1.05rem;color:var(--ink-2)}
.tag{color:#fff;padding:.15rem .6rem;border-radius:999px;font-size:.82rem;font-weight:700}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1rem}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}
.panel.light{background:var(--bg-2)}
.panel h2{font-size:1.3rem;margin-bottom:.3rem}
.panel-sub{color:var(--mut);font-size:.88rem;margin-bottom:1.1rem}
.statline{display:flex;align-items:center;gap:.8rem;margin:.7rem 0;font-size:.9rem}
.statline span{width:110px;color:var(--ink-2)}
.statline b{width:32px;text-align:right;font-variant-numeric:tabular-nums}
.track{flex:1;height:9px;background:var(--bg-3);border-radius:999px;overflow:hidden}
.fill{height:100%;border-radius:999px}
.fill.g{background:var(--exc)}.fill.r{background:var(--poor)}
.fineprint{margin-top:1.1rem;font-size:.82rem;color:var(--mut);border-top:1px solid var(--line);padding-top:.9rem}
.inline-cta{display:inline-block;margin-top:1rem;font-weight:650}

/* article */
.article{max-width:720px;margin:1.5rem auto;padding:0 clamp(1rem,4vw,2rem)}
.article h1{font-size:clamp(1.9rem,5vw,2.7rem);margin:.4rem 0 1.2rem}
.article h2{font-size:1.4rem;margin:2rem 0 .5rem}
.article p{color:var(--ink-2);margin-bottom:1rem}
.article-cta{background:var(--bg-2);border:1px solid var(--line);border-left:4px solid var(--emerald);border-radius:12px;padding:1.6rem;margin:2.5rem 0}
.article-cta h3{font-size:1.3rem;margin-bottom:.4rem}
.article-cta p{margin-bottom:1rem}

/* method steps */
.steps{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}
.step{display:flex;gap:1.2rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.6rem;box-shadow:var(--shadow)}
.stepno{font-family:var(--serif);font-size:2rem;color:var(--emerald);font-weight:700;flex:0 0 auto}
.step h3{font-size:1.2rem;margin-bottom:.2rem}
.step p{color:var(--ink-2);font-size:.98rem}

/* quiz */
.quizwrap{max-width:640px;margin:2.5rem auto;padding:0 1rem}
.quizcard{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.qprogress{height:6px;background:var(--bg-3)}
.qbar{height:100%;width:0;background:var(--emerald);transition:width .35s}
#qstage{padding:clamp(1.6rem,5vw,2.6rem)}
.qq{font-family:var(--serif);font-size:clamp(1.4rem,4vw,1.9rem);margin-bottom:.4rem}
.qsub{color:var(--mut);margin-bottom:1.4rem}
.qopts{display:flex;flex-direction:column;gap:.6rem}
.qopt{text-align:left;background:var(--bg-2);border:1.5px solid var(--line);border-radius:12px;padding:.95rem 1.1rem;font-size:1rem;cursor:pointer;font-family:var(--sans);color:var(--ink);transition:border-color .1s,background .1s}
.qopt:hover{border-color:var(--emerald);background:#fff}
.qeyebrow{font-size:.76rem;letter-spacing:.16em;color:var(--emerald);font-weight:700;margin-bottom:.8rem}
.resultscore{text-align:center;margin:1rem 0}
.resultscore .big{font-family:var(--serif);font-size:4.5rem;font-weight:700;line-height:1;display:inline-grid;place-items:center;width:140px;height:140px;border-radius:50%;color:#fff;margin-bottom:.6rem}
.rprofile{font-family:var(--serif);font-size:1.5rem;text-align:center;margin-bottom:.3rem}
.rblurb{color:var(--ink-2);text-align:center;margin-bottom:1.4rem}
.rfix{background:var(--bg-2);border-left:4px solid var(--amber);border-radius:10px;padding:1.2rem;margin-bottom:1.4rem}
.rfix strong{color:var(--amber-d)}
.emailform{display:flex;flex-direction:column;gap:.6rem}
.emailform input{padding:.9rem 1.1rem;border:1.5px solid var(--line);border-radius:12px;font-size:1rem}
.emailform input:focus{outline:none;border-color:var(--emerald)}
.emailform button{background:var(--emerald);color:#fff;border:none;padding:.9rem;border-radius:12px;font-size:1rem;font-weight:650;cursor:pointer}
.emailform button:hover{background:var(--emerald-d)}
.qskip{display:block;text-align:center;margin-top:.8rem;color:var(--mut);font-size:.88rem}

/* footer */
.foot{background:#0d1b17;color:#9fbcb0;padding:3rem 0 2rem;margin-top:0}
.foot-grid{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1rem,4vw,2rem);display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.foot h4{color:#eaf4ef;font-size:.95rem;margin-bottom:.7rem;font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em}
.foot a{display:block;color:#9fbcb0;font-size:.92rem;padding:.2rem 0}
.foot a:hover{color:#fff}
.foot .mark{font-size:1.1rem}
.foot p{font-size:.9rem;margin-top:.4rem;max-width:34ch}
.disc{max-width:var(--maxw);margin:2.2rem auto 0;padding:1.4rem clamp(1rem,4vw,2rem) 0;border-top:1px solid #1f3c31;font-size:.8rem;color:#7a968b;max-width:var(--maxw)}

@media(max-width:820px){.threeup{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}.nav nav a:not(.cta-sm){display:none}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}.foodhead{gap:1rem}.fh-score{width:88px;height:88px;flex:0 0 88px}.fh-score b{font-size:2rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
