:root{
  --g:#0e3b2c; --g2:#155b43; --lime:#c8f031; --ink:#13201b; --mut:#5d6b64; --bg:#f5f6f1; --card:#fff; --line:#e3e7df; --ok:#178a4c; --err:#c0392b;
  --r:14px; --sh:0 1px 2px rgba(14,59,44,.06),0 6px 20px rgba(14,59,44,.06);
  --fh:'Sora',system-ui,sans-serif; --fb:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;font:16px/1.65 var(--fb);color:var(--ink);background:var(--bg)}
img,svg{max-width:100%}
a{color:var(--g2)}
h1,h2,h3{font-family:var(--fh);line-height:1.25;letter-spacing:-.01em;color:var(--g)}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.narrow{max-width:780px}
.wrap.narrow{width:min(780px,100% - 32px)}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;z-index:99;background:#fff;padding:8px 12px}
.small{font-size:13px;opacity:.8}

/* header */
.hdr{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hdr-in{display:flex;align-items:center;gap:20px;height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 21px var(--fh);color:var(--g);letter-spacing:-.02em;flex-shrink:0}
.logo b{color:var(--g2);font-weight:800}
.logo-w,.logo-w b{color:#fff}
.hdr-search{flex:1;display:flex;max-width:440px;background:var(--bg);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.hdr-search input{flex:1;border:0;background:transparent;padding:10px 16px;font:inherit;font-size:15px;min-width:0;outline:0}
.hdr-search button{border:0;background:transparent;padding:0 14px;color:var(--g);cursor:pointer}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{text-decoration:none;color:var(--ink);font-weight:500;font-size:15px;padding:8px 12px;border-radius:8px}
.nav a:hover{background:var(--bg)}
.nav-btn{display:none;margin-left:auto;background:none;border:0;width:40px;height:40px;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.nav-btn span{display:block;width:22px;height:2px;background:var(--g);border-radius:2px}
.catbar{background:var(--g);overflow-x:auto;scrollbar-width:none}
.catbar::-webkit-scrollbar{display:none}
.catbar .wrap{display:flex;gap:6px;white-space:nowrap;padding:8px 0}
.catbar a{color:#e3f5c0;text-decoration:none;font-size:14px;padding:4px 12px;border-radius:999px}
.catbar a:hover{background:rgba(200,240,49,.15);color:var(--lime)}

.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:14px 0 0;margin:0;font-size:13px;color:var(--mut)}
.crumbs li+li::before{content:"›";margin-right:6px}
.crumbs a{color:var(--mut);text-decoration:none}
.crumbs a:hover{color:var(--g2)}

/* common */
.eyebrow{font:600 13px var(--fb);text-transform:uppercase;letter-spacing:.08em;color:var(--g2);margin:0 0 8px}
.eyebrow.light{color:var(--lime)}
.lead{font-size:18px;color:var(--mut);max-width:720px}
.btn,.btn-ghost{font:600 15px var(--fb);border-radius:10px;padding:10px 18px;cursor:pointer;border:2px solid var(--g)}
.btn{background:var(--g);color:#fff}.btn:hover{background:var(--g2)}
.btn-ghost{background:transparent;color:var(--g)}
.sec{margin:48px 0}
.sec-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.sec-top a{font-weight:600;text-decoration:none}
.sec-h{font-size:clamp(22px,2.6vw,28px);margin:0 0 18px}

/* hero */
.hero{background:radial-gradient(1200px 400px at 85% -10%,#1d6b4f 0,transparent 60%),var(--g);color:#fff;padding:56px 0 64px}
.hero-in{display:grid;grid-template-columns:1.4fr .8fr;gap:48px;align-items:center}
.hero h1{color:#fff;font-size:clamp(30px,4.6vw,52px);margin:0 0 14px;font-weight:800}
.hero .lead{color:#cfe0d7}
.big-search{display:flex;gap:8px;margin:24px 0 18px;max-width:560px;background:#fff;border-radius:14px;padding:6px}
.big-search input{flex:1;border:0;font:inherit;font-size:16px;padding:12px 14px;outline:0;min-width:0;border-radius:10px}
.big-search button{border:0;background:var(--lime);color:var(--g);font:700 16px var(--fh);padding:0 22px;border-radius:10px;cursor:pointer}
.phead .big-search{border:1px solid var(--line)}
.hero-stats{list-style:none;display:flex;flex-wrap:wrap;gap:22px;padding:0;margin:0;color:#cfe0d7}
.hero-stats b{color:var(--lime);font:800 22px var(--fh);margin-right:4px}
.hero-card{background:#fff;color:var(--g);border-radius:20px;padding:26px;transform:rotate(3deg);box-shadow:0 30px 60px rgba(0,0,0,.25);position:relative}
.hero-card::before,.hero-card::after{content:"";position:absolute;width:26px;height:26px;border-radius:50%;background:var(--g);top:50%;margin-top:-13px}
.hero-card::before{left:-13px}.hero-card::after{right:-13px}
.hc-row{display:flex;justify-content:space-between;font-size:14px;color:var(--mut)}
.hc-row b{color:var(--g);letter-spacing:.2em}
.hc-big{font:800 84px/1.1 var(--fh);text-align:center;margin:18px 0;border-block:2px dashed var(--line);padding:12px 0}

/* tables */
.tbl{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.tbl table{width:100%;border-collapse:collapse;font-size:15px}
.tbl th{background:#eef2e8;text-align:left;font:600 13px var(--fb);text-transform:uppercase;letter-spacing:.05em;color:var(--mut);padding:12px 14px}
.tbl td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:middle}
.tb-brand{display:flex;align-items:center;gap:10px;font-weight:600;text-decoration:none;color:var(--ink);white-space:nowrap}
.mini-btn{display:inline-block;background:var(--g);color:#fff;text-decoration:none;font-weight:600;font-size:14px;padding:7px 12px;border-radius:8px;white-space:nowrap}
.tbl code{font-family:ui-monospace,monospace;background:#eef2e8;padding:2px 6px;border-radius:5px}

/* avatars */
.bavatar{--bc:#0e3b2c;display:inline-grid;place-items:center;width:56px;height:56px;border-radius:14px;background:var(--bc);color:#fff;font:800 20px var(--fh);flex-shrink:0;letter-spacing:-.02em}
.bavatar.sm{width:40px;height:40px;font-size:15px;border-radius:10px}
.bavatar.xs{width:28px;height:28px;font-size:11px;border-radius:7px}

/* category tiles & brand grid */
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.cat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;text-decoration:none;display:flex;flex-direction:column;gap:4px;transition:.15s}
.cat b{font:700 17px var(--fh);color:var(--g)}
.cat span{color:var(--mut);font-size:14px}
.cat:hover{border-color:var(--g2);transform:translateY(-2px)}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:24px 0}
.bcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 12px;text-align:center;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:8px;transition:.15s}
.bcard b{font-weight:600}
.bcard small{color:var(--mut);font-size:13px}
.bcard:hover{box-shadow:var(--sh);border-color:var(--g2)}

/* page head */
.phead{padding:28px 0 8px}
.phead h1{font-size:clamp(28px,3.8vw,42px);margin:0 0 10px}

/* brand hero */
.bhero{padding:26px 0 6px}
.bhero-in{display:flex;gap:22px;align-items:flex-start}
.bhero .bavatar{width:88px;height:88px;font-size:30px;border-radius:20px}
.bhero h1{font-size:clamp(26px,3.6vw,40px);margin:0 0 8px}
.bhero .lead{margin:0 0 14px;font-size:17px}
.stats{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.stats li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:14px;color:var(--mut)}
.stats b{color:var(--g)}
.answer{background:#fbffe9;border:1px solid #dcef9e;border-left:5px solid var(--lime);border-radius:10px;padding:14px 18px;margin:22px 0;font-size:15.5px}

/* coupon rows */
.cplist{display:flex;flex-direction:column;gap:12px;margin:10px 0 36px}
.cp{display:grid;grid-template-columns:130px 1fr 210px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.cp-val{--bc:#0e3b2c;background:var(--g);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:16px 10px;position:relative;border-right:2px dashed rgba(255,255,255,.35)}
.cp-val b{font:800 22px/1.15 var(--fh);color:var(--lime)}
.cp-val span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-top:6px;opacity:.85}
.is-deal .cp-val{background:#2b4a3f}
.is-deal .cp-val b{color:#fff}
.cp-body{padding:16px 18px}
.cp-t{font:700 17px/1.35 var(--fh);margin:0 0 6px;color:var(--ink)}
.cp-c{margin:0 0 8px;color:var(--mut);font-size:15px}
.cp-m{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;padding:0;margin:0;font-size:13px;color:var(--mut)}
.cp-m .ok{color:var(--ok);font-weight:600}
.cp-act{padding:16px;display:flex;flex-direction:column;justify-content:center;gap:10px;border-left:1px solid var(--line)}
.cp-btn{position:relative;display:flex;align-items:center;justify-content:flex-end;height:46px;border:2px dashed var(--g2);border-radius:10px;background:#f2f8ef;font:700 16px var(--fb);color:var(--g);cursor:pointer;overflow:hidden;text-decoration:none;padding-right:12px;letter-spacing:.08em}
.cp-btn .cp-lbl{position:absolute;inset:0 34px 0 0;background:var(--g);color:#fff;display:grid;place-items:center;letter-spacing:0;clip-path:polygon(0 0,100% 0,88% 100%,0 100%);transition:.2s}
.cp-btn:hover .cp-lbl{inset-inline-end:44px}
.cp-btn.shown{justify-content:center;padding:0;letter-spacing:.06em}
.cp-btn.shown .cp-lbl,.cp-btn.shown .cp-hide{display:none}
.cp-deal{justify-content:center;padding:0;border-style:solid;background:var(--lime);border-color:var(--lime);letter-spacing:0}
.vote{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--mut);justify-content:center}
.vote button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:2px 9px;font-size:12px;cursor:pointer;color:var(--ink)}
.vote button:hover{border-color:var(--g2)}
.vote.done{color:var(--ok)}

/* layout */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;align-items:start;margin:30px 0 60px}
.prose{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,4vw,40px);font-size:17px}
.prose.narrow{margin:30px auto 60px}
.prose h2{font-size:clamp(21px,2.4vw,26px);margin:1.8em 0 .6em;scroll-margin-top:110px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:19px;margin:1.4em 0 .4em}
.prose p{margin:0 0 1em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin:.35em 0}
.prose .tbl{margin:0 0 1.6em;font-size:15px}
.prose .faq-title{border-top:1px solid var(--line);padding-top:1.4em}
.prose .faq-q{font-size:17px;color:var(--g)}
.updated{font-size:14px;color:var(--mut);border-top:1px solid var(--line);padding-top:14px;margin-top:28px}
.side{position:sticky;top:120px;display:flex;flex-direction:column;gap:16px}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.box-h{font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;color:var(--mut);font-family:var(--fb)}
.toc{margin:0;padding-left:1.2em;font-size:14.5px}
.toc li{margin:5px 0}
.toc a{text-decoration:none;color:var(--ink)}
.toc a:hover{color:var(--g2)}
.rel{list-style:none;margin:0;padding:0}
.rel li{border-top:1px solid var(--line)}
.rel li:first-child{border:0}
.rel a{display:flex;gap:10px;align-items:center;padding:9px 0;text-decoration:none;color:var(--ink);font-size:15px}
.rel a:hover{color:var(--g2)}
.go{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);background:var(--lime);border-color:var(--lime)}

/* A-Z */
.az{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.az a{width:34px;height:34px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-weight:700;color:var(--g)}
.azlist{columns:4 220px;column-gap:28px;margin:30px 0}
.azlist section{break-inside:avoid;margin-bottom:22px}
.azlist h2{font-size:22px;border-bottom:3px solid var(--lime);display:inline-block;margin:0 0 6px}
.azlist ul{list-style:none;padding:0;margin:0}
.azlist a{display:flex;justify-content:space-between;padding:6px 0;text-decoration:none;color:var(--ink);border-bottom:1px dashed var(--line)}
.azlist small{color:var(--mut)}

/* guides */
.glist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:24px 0}
.gcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px}
.gcard h2{font-size:20px;margin:0}
.gcard p{margin:0;color:var(--mut);font-size:15px}
.gcard small{color:var(--mut)}
.gcard span{font-weight:600;color:var(--g2);margin-top:auto}

/* form */
.form{display:grid;gap:14px;margin:0 0 26px}
.form label{display:grid;gap:6px;font-weight:600;font-size:14px}
.form input,.form select,.form textarea{font:inherit;font-weight:400;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fbfcf9}
.form .btn{justify-self:start}
.hp{position:absolute;left:-9999px}
.note{padding:12px 16px;border-radius:10px}.note.ok{background:#e8f6ee;color:var(--ok)}.note.err{background:#fdecea;color:var(--err)}

/* ads */
.ad{margin:24px auto;text-align:center;min-height:100px}
.ad-label{display:block;font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}

/* footer */
.ftr{background:var(--g);color:#cfe0d7;margin-top:60px;padding:50px 0 20px}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.ftr-h{color:#fff;font-size:15px;margin:0 0 12px;font-family:var(--fb);text-transform:uppercase;letter-spacing:.06em}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr li{margin:6px 0}
.ftr a{color:#cfe0d7;text-decoration:none;font-size:15px}
.ftr a:hover{color:var(--lime)}
.ftr-about p{font-size:15px}
.ftr-bot{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:16px;font-size:13px;opacity:.75}

/* cookie, toast */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;max-width:620px;margin:auto;background:#fff;border:1px solid var(--line);box-shadow:0 10px 40px rgba(0,0,0,.15);border-radius:14px;padding:16px 18px;z-index:90;display:flex;gap:14px;align-items:center;font-size:14px}
.cookie[hidden]{display:none}
.cookie p{margin:0}
.cookie div{display:flex;gap:8px;flex-shrink:0}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,160px);visibility:hidden;background:var(--g);color:#fff;padding:12px 18px;border-radius:10px;font-weight:600;transition:.25s;z-index:95}
.toast.on{transform:translate(-50%,0);visibility:visible}

@media (max-width:980px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .side{position:static}
  .hero-in{grid-template-columns:1fr}
  .hero-card{display:none}
  .ftr-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .hdr-in{height:60px;gap:12px}
  .hdr-search{display:none}
  .nav-btn{display:flex}
  .nav{display:none;position:absolute;top:60px;left:0;right:0;background:#fff;flex-direction:column;padding:10px 16px;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .cp{grid-template-columns:96px 1fr}
  .cp-act{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}
  .cp-val b{font-size:18px}
  .bhero-in{flex-direction:column}
  .bhero .bavatar{width:64px;height:64px;font-size:22px}
  .tbl-codes td:nth-child(2){min-width:200px}
  .cookie{flex-direction:column;align-items:stretch}
  .ftr-grid{grid-template-columns:1fr}
}
