:root{
  --accent:#6B7339; --secondary:#D6A664; --bg:#FAF6EC; --text:#1F2417; --muted:#6E7560;
  --line:rgba(31,36,23,0.16); --line-strong:rgba(31,36,23,0.42);
  --space-xs:7px; --space-sm:16px; --space-md:24px; --space-lg:35px; --space-xl:85px;
  --card-padding-y:21px; --card-padding-x:21px; --card-gap:23px; --card-radius:14px;
  --card-border-width:1px; --card-min-height:324px; --card-min-col-width:306px;
  --btn-padding-y:15px; --btn-padding-x:33px; --btn-radius:10px; --btn-gap-from-text:15px;
  --grid-gap:21px; --lh-heading:1.23; --lh-body:1.62; --ls-heading:0.020em;
  --rail-w:240px;
}
*,*::before,*::after{box-sizing:border-box;min-width:0}
img,svg,video{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Geist Sans','Geist',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15.5px;line-height:var(--lh-body);font-feature-settings:"ss01","cv11"}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:'Geist Sans','Geist',system-ui,-apple-system,sans-serif;font-weight:800;line-height:var(--lh-heading);letter-spacing:-0.012em;color:var(--text);margin:0 0 var(--space-sm)}
h1{font-size:clamp(34px,4.4vw,52px);letter-spacing:-0.02em}
h2{font-size:clamp(24px,2.6vw,32px)}
h3{font-size:18px;letter-spacing:-0.005em}
p{margin:0 0 var(--space-sm)}

.label-track{display:inline-block;font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted)}
.link-arrow{font-weight:600;color:var(--accent);font-size:14px}
.link-arrow:hover{text-decoration:underline}

/* Buttons */
.btn{display:inline-block;padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);font-weight:700;font-size:14px;letter-spacing:0.02em;border:1px solid transparent;cursor:pointer;text-align:center;transition:transform .12s,background .15s}
.btn--primary{background:var(--accent);color:#FAF6EC;border-color:var(--accent)}
.btn--primary:hover{background:#5a6230;text-decoration:none}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--line-strong)}
.btn--ghost:hover{background:rgba(31,36,23,0.05);text-decoration:none}
.btn--sm{padding:10px 18px;font-size:13px}

/* SHELL, side-rail RIGHT */
.shell{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);gap:var(--space-lg);max-width:1320px;margin:0 auto;padding:var(--space-lg) var(--space-lg) var(--space-xl);align-items:start}
.main{grid-column:1;grid-row:1;align-self:start;min-width:0}
.rail{grid-column:2;grid-row:1;align-self:start;position:sticky;top:var(--space-lg);max-height:calc(100vh - 70px);overflow:auto;padding:var(--space-md);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-md)}
.rail__brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:800;font-size:16px;letter-spacing:-0.01em}
.rail__brand:hover{text-decoration:none}
.rail__mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--accent);color:#FAF6EC;font-weight:800;font-size:13px}
.rail__nav{display:flex;flex-direction:column;gap:6px}
.rail__nav .label-track{margin-top:var(--space-sm);margin-bottom:4px}
.rail__nav a{padding:6px 0;color:var(--text);font-size:14px;border-bottom:1px solid var(--line)}
.rail__nav a:hover{color:var(--accent);text-decoration:none}
.rail__meta p{margin:4px 0;font-size:13px;color:var(--muted)}
.rail__age{color:var(--accent)!important;font-weight:700}

@media(max-width:920px){
  .shell{grid-template-columns:1fr;padding:var(--space-md);gap:var(--space-md)}
  .rail{grid-column:1;grid-row:2;position:static;max-height:none;border-left:none;border-top:1px solid var(--line);padding-top:var(--space-md)}
  .main{grid-row:1}
}

/* HERO */
.hero{position:relative;padding:var(--space-xl) var(--space-lg);border:1px solid var(--line);border-radius:var(--card-radius);margin-bottom:var(--space-lg);overflow:hidden;background:linear-gradient(135deg,#6B7339 0%,#FAF6EC 45%,#D6A664 100%)}
.hero::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><circle cx='2' cy='2' r='1' fill='%231F2417' fill-opacity='0.12'/></svg>");background-size:24px 24px;pointer-events:none}
.hero>*{position:relative}
.hero__byline{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid rgba(31,36,23,0.25)}
.hero__edition{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:0.05em}
.hero h1{max-width:820px}
.hero__lead{max-width:680px;font-size:17px;color:#2a2f1d;margin-bottom:var(--space-md)}
.hero__cta{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--accent);border-bottom:2px solid var(--accent);padding:4px 0;margin-bottom:var(--space-md)}
.hero__cta:hover{text-decoration:none;color:#5a6230}
.hero__chips{list-style:none;padding:0;margin:var(--space-md) 0 0;display:flex;flex-wrap:wrap;gap:8px}
.hero__chips li{font-size:12px;font-weight:600;letter-spacing:0.04em;padding:6px 11px;border:1px solid rgba(31,36,23,0.35);border-radius:999px;background:rgba(250,246,230,0.55);color:var(--text)}
.hero--brand{background:linear-gradient(135deg,#FAF6EC 0%,#F0E8D4 100%)}
.hero--brand::before{display:none}
.hero--policy{background:#FAF6EC;border:1px solid var(--line);padding:var(--space-lg)}
.hero--policy::before{display:none}
.brand-hero{display:grid;grid-template-columns:160px 1fr;gap:var(--space-md);align-items:center}
.brand-hero__logo{padding:var(--space-sm);background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;min-height:90px}
.brand-hero__logo img{max-height:54px;width:auto}
@media(max-width:640px){.brand-hero{grid-template-columns:1fr}}

/* TRUST */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap);padding:var(--space-md);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);margin-bottom:var(--space-lg)}
.trust__item{display:flex;flex-direction:column;gap:4px}
.trust__item strong{font-family:'Geist Sans',system-ui,sans-serif;font-size:18px;font-weight:700;color:var(--text);letter-spacing:-0.01em}
@media(max-width:760px){.trust{grid-template-columns:repeat(2,1fr)}}

/* SECTIONS */
.section{margin-bottom:var(--space-xl)}
.section__head{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--line-strong)}
.section__head .label-track{display:block;margin-bottom:6px}
.section__head h2{margin-bottom:6px}
.section__lead{color:var(--muted);max-width:760px;font-size:15px}
.section__foot{font-size:13px;color:var(--muted);margin-top:var(--space-md)}

/* BRAND GRID */
.brand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap)}
@media(max-width:1100px){.brand-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.brand-grid{grid-template-columns:1fr}}
.brand{display:flex;flex-direction:column;min-height:var(--card-min-height);padding:var(--card-padding-y) var(--card-padding-x);border:var(--card-border-width) solid var(--line-strong);border-radius:var(--card-radius);background:#FFFDF6}
.brand__head{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-sm);align-items:center;padding-bottom:var(--space-sm);border-bottom:1px solid var(--line);margin-bottom:var(--space-sm)}
.brand__rank{display:flex;flex-direction:column;gap:2px}
.brand__rank-num{font-family:'Geist Sans',system-ui,sans-serif;font-size:26px;font-weight:800;letter-spacing:-0.02em;color:var(--accent)}
.brand__logo{display:flex;align-items:center;justify-content:center;min-height:48px}
.brand__logo img{max-height:36px;width:auto}
.brand__score{text-align:right;display:flex;flex-direction:column;gap:2px}
.brand__score strong{font-family:'Geist Sans',system-ui,sans-serif;font-size:24px;font-weight:800;color:var(--text);letter-spacing:-0.01em}
.brand__score strong span{font-size:12px;font-weight:500;color:var(--muted)}
.brand__blurb{font-size:14px;line-height:1.5;color:var(--text);margin-bottom:var(--space-sm)}
.brand__pills{list-style:none;padding:0;margin:0 0 var(--space-sm);display:flex;flex-wrap:wrap;gap:6px}
.brand__pills li{font-size:11px;font-weight:600;padding:4px 9px;border:1px solid var(--line-strong);border-radius:999px;color:var(--text);background:rgba(214,166,100,0.12)}
.brand__data{display:flex;flex-direction:column;gap:6px;font-size:12.5px;margin:0 0 var(--space-sm)}
.brand__data div{display:grid;grid-template-columns:78px 1fr;gap:6px;border-bottom:1px dotted var(--line);padding-bottom:5px}
.brand__data dt{color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0.04em;font-size:10.5px;padding-top:2px}
.brand__data dd{margin:0;color:var(--text)}
.brand__cta{margin-top:auto;display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding-top:var(--space-sm)}

/* TABLE */
.table-wrap{overflow-x:auto;border:1px solid var(--line-strong);border-radius:8px}
.ctable{width:100%;border-collapse:collapse;font-size:13.5px;background:#FFFDF6}
.ctable th,.ctable td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.ctable thead th{background:var(--text);color:#FAF6EC;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;font-weight:700}
.ctable tbody th{font-weight:700;color:var(--text);background:rgba(214,166,100,0.08)}
.ctable tbody tr:last-child td,.ctable tbody tr:last-child th{border-bottom:none}

/* METHODOLOGY CARDS — refactored from 3D flip-buttons to always-visible
   static cards. The flip pattern was rendering broken on touch and at
   typical widths because the buttons collapsed below their intended
   height and the absolute-positioned faces overlapped the section foot. */
.flip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--card-gap)}
@media(max-width:1100px){.flip-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.flip-grid{grid-template-columns:1fr}}
.flip{display:flex;flex-direction:column;gap:14px;background:#FFFDF6;border:var(--card-border-width) solid var(--text);border-radius:var(--card-radius);padding:var(--card-padding-y) var(--card-padding-x);text-align:left;font:inherit;color:inherit;cursor:default;min-height:280px}
.flip__inner{display:flex;flex-direction:column;gap:14px;flex:1}
.flip__face{display:flex;flex-direction:column;gap:8px}
.flip__face--front{padding-bottom:14px;border-bottom:1px dashed rgba(31,34,32,0.2)}
.flip__face--back{flex:1}
.flip__face--back .label-track{color:var(--accent)}
.flip__face--back p{color:var(--text);font-size:13.5px;line-height:1.55;margin:0}
.flip__title{font-family:'Geist Sans',system-ui,sans-serif;font-weight:800;font-size:20px;letter-spacing:-0.01em;color:var(--text);margin:0}
.flip__hint{font-size:12px;color:var(--accent);font-weight:600;margin:0}

/* TWO COL */
.section--two-col .twocol{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-lg)}
.twocol{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-lg)}
@media(max-width:820px){.twocol{grid-template-columns:1fr}}
.reg-list{list-style:none;padding:0;margin:var(--space-sm) 0}
.reg-list li{padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.reg-foot{font-size:13px;color:var(--muted);margin-top:var(--space-sm)}

/* STEPS */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--card-gap)}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.steps li{display:grid;grid-template-columns:54px 1fr;gap:var(--space-sm);padding:var(--card-padding-y) var(--card-padding-x);border:1px solid var(--line-strong);border-radius:var(--card-radius);background:#FFFDF6}
.steps__num{font-family:'Geist Sans',system-ui,sans-serif;font-size:32px;font-weight:800;color:var(--secondary);letter-spacing:-0.02em;line-height:1}
.steps li h3{margin-bottom:6px}
.steps li p{font-size:13.5px;color:var(--muted);margin:0}

/* FAQ inline-stacked-bold-Q */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md) var(--space-lg);column-rule:1px solid var(--line)}
@media(max-width:820px){.faq{grid-template-columns:1fr}}
.faq__item{padding:var(--space-sm) 0;border-bottom:1px solid var(--line)}
.faq__item p{margin:0;font-size:14px;line-height:1.6;color:var(--text)}
.faq__item strong{display:inline;font-weight:800;color:var(--accent);margin-right:6px}

/* PROSE */
.prose p{font-size:15px;max-width:74ch}
.prose h2{margin-top:var(--space-lg);font-size:22px}
.prose ul{padding-left:20px}
.prose ul li{margin-bottom:6px}

.con-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.con-list li{padding:10px 14px;border-left:3px solid var(--secondary);background:rgba(214,166,100,0.10);font-size:14px;border-radius:0 8px 8px 0}

/* AGE GATE & COOKIES */
.age-gate{position:fixed;inset:0;z-index:9999;background:rgba(20,24,12,0.78);display:flex;align-items:center;justify-content:center;padding:var(--space-md)}
.age-gate[hidden]{display:none!important}
.age-gate__panel{max-width:480px;background:#FAF6EC;border:2px solid var(--text);border-radius:var(--card-radius);padding:var(--space-lg);text-align:left}
.age-gate__panel h2{font-size:24px;margin:8px 0 var(--space-sm)}
.age-gate__panel p{font-size:14.5px;color:var(--muted)}
.age-gate__actions{display:flex;gap:10px;flex-wrap:wrap;margin:var(--space-sm) 0}
.age-gate__foot{font-size:11.5px;color:var(--muted);margin-top:var(--space-sm)}

.cookie-banner{position:fixed;left:var(--space-md);right:var(--space-md);bottom:var(--space-md);z-index:9000;background:var(--text);color:#FAF6EC;border-radius:var(--card-radius);padding:var(--space-sm) var(--space-md);box-shadow:0 6px 18px rgba(0,0,0,0.18)}
.cookie-banner[hidden]{display:none!important}
.cookie-banner__inner{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;justify-content:space-between}
.cookie-banner p{margin:0;font-size:13.5px;flex:1;min-width:240px;color:#FAF6EC}
.cookie-banner a{color:var(--secondary)}
.cookie-banner__actions{display:flex;gap:8px;flex-wrap:wrap}
.cookie-banner .btn--ghost{color:#FAF6EC;border-color:rgba(250,246,230,0.4)}
.cookie-banner .btn--ghost:hover{background:rgba(250,246,230,0.1)}

/* FOOTER, wide horizontal strip */
.footer{background:var(--text);color:#FAF6EC;padding:var(--space-xl) var(--space-lg) var(--space-lg)}
.footer .label-track{color:#D6A664}
.footer__lead{max-width:1320px;margin:0 auto var(--space-lg);text-align:center}
.footer__lead p{margin:6px 0 0;font-size:18px;color:#FAF6EC}
.footer__regs{max-width:1320px;margin:0 auto var(--space-lg);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-lg);padding:var(--space-md) 0;border-top:1px solid rgba(250,246,230,0.18);border-bottom:1px solid rgba(250,246,230,0.18)}
.footer__regs a{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;background:transparent;border:none;border-radius:8px;transition:background .15s}
.footer__regs a:hover{background:rgba(250,246,230,0.06)}
.footer__regs img{max-height:56px;width:auto;background:transparent;border:none;padding:0;opacity:0.95}
.footer__cols{max-width:1320px;margin:0 auto var(--space-lg);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}
@media(max-width:760px){.footer__cols{grid-template-columns:1fr}}
.footer__cols ul{list-style:none;padding:0;margin:8px 0 0}
.footer__cols li{padding:4px 0;font-size:13.5px;color:#E6E0CD}
.footer__cols a{color:#FAF6EC}
.footer__cols a:hover{color:var(--secondary)}
.footer__legal{max-width:1320px;margin:0 auto;padding-top:var(--space-md);border-top:1px solid rgba(250,246,230,0.18);font-size:12.5px;color:#C5BFAB;text-align:center}
.footer__legal p{margin:6px 0}
.footer__legal strong{color:#FAF6EC}

/* SOLO (menores) */
.body--solo{background:var(--bg)}
.solo{max-width:640px;margin:0 auto;padding:var(--space-xl) var(--space-lg)}
.solo h1{margin:var(--space-sm) 0}
.solo__list{list-style:none;padding:0}
.solo__list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.solo__cta{margin:var(--space-lg) 0}
.solo__foot{margin-top:var(--space-xl);font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:var(--space-md)}

@media(prefers-reduced-motion:reduce){.flip__inner{transition:none}}
