/* Vegetarian Meat — shared styles (light/summery, matches the homepage RPL look) */
:root{--bg:#fdfdf8;--cream:#f3f7ec;--green:#3a9d54;--green-d:#2c7a42;--coral:#f26d4f;--sun:#f4b740;--ink:#2b3327;--muted:#6d756a;--line:#e7eede;--white:#fff}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{width:min(1140px,calc(100% - 44px));margin:0 auto}
.narrow{width:min(800px,calc(100% - 44px));margin:0 auto}
h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.08;letter-spacing:-.01em;color:var(--ink)}
.mono{font-family:'Space Mono',monospace}
.kick{font-family:Inter;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:var(--green)}
.lead{font-size:clamp(17px,2vw,20px);color:#515a4d}
.updated{font-family:'Space Mono',monospace;font-size:12.5px;color:var(--muted)}

/* generic prose (covers the legal pages) */
.narrow p{margin:14px 0}
.narrow h2{font-size:clamp(22px,3vw,30px);margin:30px 0 8px}
.narrow h3{font-size:20px;margin:22px 0 6px}
.narrow ul{margin:12px 0 12px 22px}.narrow li{margin:6px 0}
.narrow a{color:var(--green-d);font-weight:600}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(253,253,248,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;font-family:Fraunces;font-weight:700;font-size:21px}
.brand b{color:var(--green)}
.nav nav{display:flex;gap:24px;font-size:14px;font-weight:600}
.nav nav a{color:#4c544a}.nav nav a:hover{color:var(--green-d)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;padding:14px 26px;border-radius:40px;border:1.6px solid transparent;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}
.btn-green{background:var(--green);color:#fff;box-shadow:0 12px 30px rgba(44,122,66,.22)}.btn-green:hover{transform:translateY(-2px);background:var(--green-d)}
.btn-coral{background:var(--coral);color:#fff;box-shadow:0 12px 30px rgba(242,109,79,.25)}.btn-coral:hover{transform:translateY(-2px)}
.btn-ghost{border-color:var(--green);color:var(--green-d);background:#fff}.btn-ghost:hover{transform:translateY(-2px)}
.btn-sm{padding:9px 16px;font-size:13px;border-radius:30px}

/* hero (inner pages) */
.hero{padding:60px 0 26px;position:relative}
.hero h1{font-size:clamp(32px,5vw,52px);margin:14px 0 16px;max-width:18ch}
.hero .lead{max-width:62ch}

/* sections */
.sec{padding:30px 0}
.article{}

/* comparison table */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(43,51,39,.06)}
table.cmp{width:100%;border-collapse:collapse;min-width:720px}
table.cmp th,table.cmp td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:14.5px;vertical-align:top}
table.cmp thead th{background:#26301f;color:#eaf3e0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;border-bottom:none}
table.cmp tbody tr:hover{background:var(--cream)}
table.cmp .prod{font-family:Fraunces,serif;font-weight:600;font-size:16px}
table.cmp .num{font-family:'Space Mono',monospace;font-weight:700}
.pill{display:inline-block;font-family:'Space Mono',monospace;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;letter-spacing:.03em}
.pill.vegan{background:rgba(58,157,84,.15);color:var(--green-d)}
.pill.veggie{background:rgba(242,109,79,.16);color:#c0432a}

/* product blocks */
.prodblock{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;margin:18px 0;box-shadow:0 14px 36px rgba(43,51,39,.06)}
.prodblock .top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:baseline}
.prodblock h3{font-size:24px}
.prodblock .rank{font-family:'Space Mono',monospace;color:var(--coral);font-weight:700;font-size:13.5px}
.spec{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0;font-family:'Space Mono',monospace;font-size:13px;color:#3c3f36}
.spec b{color:var(--ink)}
.verdict{border-left:3px solid var(--green);background:var(--cream);padding:12px 16px;border-radius:0 10px 10px 0;margin-top:12px;font-size:15px;color:#3a4034}
.verdict .lab{font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--green-d);font-weight:700;display:block;margin-bottom:3px}

/* callouts */
.note{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 22px;font-size:14.5px;color:#54604f}
.note b{color:var(--ink)}.note a{color:var(--green-d);font-weight:700}

/* FAQ */
.faq{margin-top:8px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:4px 22px}
.faq summary{font-family:Fraunces,serif;font-weight:600;font-size:18px;cursor:pointer;list-style:none;padding:16px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--green)}
.faq details[open] summary::after{content:"\2212"}
.faq p{color:var(--muted);padding:0 0 18px;font-size:15.5px}

/* article / prose */
.article p{margin:14px 0;font-size:17px;color:#3a4034}
.article h2{font-size:clamp(24px,3.2vw,34px);margin:34px 0 8px}
.article h3{font-size:21px;margin:26px 0 6px}
.article ul{margin:12px 0 12px 22px}.article li{margin:6px 0;color:#3a4034}
.article a{color:var(--green-d);font-weight:600}

/* footer (matches homepage) */
footer{background:#26301f;color:#c7cdbe;padding:54px 0 34px;margin-top:50px;font-size:13.5px}
footer a{color:#e6ecdb}
.foot-grid,.foot-top{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.foot-grid .brand,.foot-top .brand{color:#fff}
.foot-links{display:flex;gap:18px;flex-wrap:wrap}
.builtby{background:rgba(58,157,84,.16);border:1px solid rgba(58,157,84,.3);border-radius:12px;padding:12px 16px;margin:18px 0;font-size:13.5px;color:#d6e7d6}
.builtby a{color:#8fe0a6;font-weight:700}
.legal{border-top:1px solid #3a4531;padding-top:18px;line-height:1.8;color:#9aa291}
.legal a{color:#cdd6c2}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

@media(max-width:820px){.nav nav{gap:14px;font-size:13px}.foot-grid,.foot-top{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}*{scroll-behavior:auto}}
