:root{--bg:#fbf8f2;--paper:#fff;--ink:#1c2420;--mute:#5d6863;--line:#e7e1d4;--g:#0f5132;--g2:#16704a;--gl:#e6f1eb;--a:#f0a020;--al:#fff3dc;--r:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Inter,system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3{font-family:Outfit,system-ui,sans-serif;line-height:1.15;margin:0 0 .5em;color:#10261b}
h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:800}h2{font-size:1.6rem;margin-top:1.4em}h3{font-size:1.1rem}
a{color:var(--g2)}img{max-width:100%}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.small{font-size:.9rem;color:var(--mute)}
.eyebrow{font:600 .78rem Outfit,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--g2);margin:0 0 .6em}
.lead{font-size:1.12rem;color:#34403a}
.btn{display:inline-block;background:var(--g);color:#fff;text-decoration:none;font:600 .95rem Outfit,sans-serif;padding:.7em 1.2em;border-radius:999px;border:2px solid var(--g)}
.btn:hover{background:var(--g2)}.btn.ghost{background:transparent;color:var(--g)}.btn.ghost:hover{background:var(--gl)}
.top{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:.55em;font:800 1.2rem Outfit,sans-serif;color:var(--g);text-decoration:none}
.mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--g);color:var(--a);font-size:.85rem}
.nav{display:flex;gap:1.4em}.nav a{color:var(--ink);text-decoration:none;font:500 .98rem Outfit,sans-serif}
.nav a[aria-current],.nav a:hover{color:var(--g);box-shadow:inset 0 -2px var(--a)}
.menu-cb{position:absolute;opacity:0;pointer-events:none}.menu-btn{display:none;cursor:pointer;padding:8px}
.menu-btn span{display:block;width:22px;height:2px;background:var(--g);margin:5px 0}
.hero{background:linear-gradient(180deg,var(--paper),var(--bg));border-bottom:1px solid var(--line);padding:56px 0 48px}
.hero-in{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center}
.hero-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.podium{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.podium li{display:flex;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px}
.podium li:first-child{border-color:var(--a);background:var(--al)}
.podium b{font-family:Outfit;flex:1}.podium em{font:700 1.1rem Outfit;color:var(--g);font-style:normal}
.rank{font:800 2.6rem/1 Outfit,sans-serif;color:transparent;-webkit-text-stroke:1.6px var(--g);min-width:2.2ch}
.rank.sm{font-size:1.9rem;min-width:1.2ch}.rank.big{font-size:4.4rem}
.board-wrap{display:grid;grid-template-columns:200px 1fr;gap:32px;padding-top:40px;padding-bottom:20px}
.jump{position:sticky;top:84px;align-self:start;display:flex;flex-direction:column;gap:2px}
.jump a{display:flex;gap:10px;padding:6px 10px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:.92rem}
.jump a:hover{background:var(--gl)}.jump em{font:700 .9rem Outfit;color:var(--a);font-style:normal;min-width:1.6em}
.sec-head{margin:28px 0 14px}.sec-head h2{margin:0 0 .2em}
.row{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;scroll-margin-top:84px}
.row[open]{border-color:#bcd6c7;box-shadow:0 6px 18px rgba(15,81,50,.07)}
.row summary{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;list-style:none}
.row summary::-webkit-details-marker{display:none}
.logo{width:44px;height:44px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid var(--line);padding:4px;flex:none}
.logo.lg{width:72px;height:72px}
.who{flex:1;min-width:0}.who strong{display:block;font:700 1.15rem Outfit}.who small{color:var(--mute)}
.pill{background:var(--g);color:#fff;font:700 1.05rem Outfit;padding:.35em .75em;border-radius:999px}
.chev{width:10px;height:10px;border-right:2px solid var(--mute);border-bottom:2px solid var(--mute);transform:rotate(45deg);transition:.2s;flex:none}
.row[open] .chev{transform:rotate(-135deg)}
.row-body{padding:0 18px 18px;border-top:1px dashed var(--line)}
.row-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.row-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.crit{list-style:none;margin:0;padding:0}.crit li{display:grid;grid-template-columns:1fr 90px 26px;align-items:center;gap:10px;padding:5px 0;font-size:.93rem}
.crit.wide li{grid-template-columns:1fr 160px 30px;border-bottom:1px solid var(--line);padding:10px 0}
.crit small{display:block;color:var(--mute);font-size:.82rem}
.meter{height:8px;background:var(--gl);border-radius:9px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--g),var(--g2))}
.crit b{font-family:Outfit;text-align:right}
.plus,.minus{margin:0;padding:0;list-style:none}.plus li,.minus li{padding:4px 0 4px 26px;position:relative}
.plus li:before{content:"+";position:absolute;left:0;color:var(--g);font-weight:700}
.minus li:before{content:"\2013";position:absolute;left:0;color:#b4610a;font-weight:700}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.tbl{border-collapse:collapse;width:100%;min-width:640px;font-size:.94rem}
.tbl th,.tbl td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line)}
.tbl th{font:600 .82rem Outfit;text-transform:uppercase;letter-spacing:.06em;background:var(--gl);color:var(--g)}
.tbl .n{font:700 1rem Outfit;color:var(--a)}.tbl .tot{font:700 1.05rem Outfit;color:var(--g)}
.tbl tr:last-child td{border-bottom:0}
.faq{padding-bottom:40px}.qa{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;padding:0 18px}
.qa summary{cursor:pointer;font:600 1.05rem Outfit;padding:14px 0}.qa p{margin:0 0 14px;color:#34403a}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.rev{padding-top:24px;padding-bottom:40px}.crumbs{margin-bottom:18px}
.rev-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px}
.rev-head h1{margin:0}.rev-head>div:nth-child(3){flex:1;min-width:200px}
.score-box{background:var(--g);color:#fff;border-radius:var(--r);padding:12px 18px;text-align:center}
.score-box b{display:block;font:800 2.2rem/1 Outfit;color:var(--a)}.score-box span{font-size:.8rem}
.rev-grid{display:grid;grid-template-columns:1fr 320px;gap:32px}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.facts{align-self:start;margin-top:28px;position:sticky;top:84px}
.facts dl{margin:0 0 16px}.facts dt{font:600 .78rem Outfit;text-transform:uppercase;letter-spacing:.08em;color:var(--mute);margin-top:10px}.facts dd{margin:0}
.prevnext{display:flex;justify-content:space-between;gap:12px;margin-top:36px}
.pn{flex:1;max-width:48%;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;text-decoration:none;font:700 1.05rem Outfit;color:var(--g)}
.pn small{display:block;font:500 .8rem Inter;color:var(--mute)}.pn.nx{text-align:right}
.prose{max-width:780px;padding-top:24px;padding-bottom:48px}
.steps li{margin-bottom:8px}.op{margin:12px 0 4px}
.nf{text-align:center}
.foot{background:#0e2a1d;color:#d6e3dc;margin-top:40px;padding:40px 0 24px}
.foot .brand{color:#fff}.foot h3{color:var(--a);font-size:.95rem;text-transform:uppercase;letter-spacing:.1em}
.foot a{color:#fff}.foot .small{color:#b8c9c0}
.foot-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:30px}
.links a{display:block}
.disclosure{border-top:1px solid #24493a;margin-top:28px;padding-top:18px;font-size:.84rem;color:#a9bdb3}
@media(max-width:900px){.hero-in,.rev-grid,.foot-grid{grid-template-columns:1fr}.board-wrap{grid-template-columns:1fr}
.jump{position:static;flex-direction:row;overflow-x:auto;padding-bottom:6px;align-items:center}.jump .eyebrow{display:none}.jump a{white-space:nowrap;background:var(--paper);border:1px solid var(--line)}
.facts{position:static}}
@media(max-width:720px){.menu-btn{display:block}
.nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);flex-direction:column;gap:0;border-bottom:1px solid var(--line)}
.nav a{padding:14px 20px;border-top:1px solid var(--line)}.menu-cb:checked~.nav{display:flex}
.row-cols,.pc{grid-template-columns:1fr}.rank{font-size:2rem}.rank.big{font-size:3.2rem}
.row summary{gap:10px;padding:12px}.who small{display:none}.logo{width:36px;height:36px}
.crit.wide li{grid-template-columns:1fr 80px 26px}.pn{max-width:none}.prevnext{flex-direction:column}.pn.nx{text-align:left}}
