/* =========================================================================
   PURE VAPE REVIEWS — shared design system
   Editorial magazine · ink navy + per-category accents · Newsreader/Hanken
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400;1,6..72,500&family=Hanken+Grotesk:wght@400;500;600;700;800&display=swap');

:root{
  /* ink / paper */
  --ink:#0b1220;          /* near-black navy: masthead, footer, headlines */
  --navy:#0f1c30;         /* secondary navy */
  --ink-70:#33425a;
  --muted:#5d6b80;        /* body secondary */
  --paper:#ffffff;
  --paper-2:#f5f7fb;      /* light section bg */
  --paper-3:#eef2f8;
  --line:#e4e9f1;         /* hairline borders */
  --line-2:#d7deea;

  /* brand */
  --primary:#1f63e6;      /* trustworthy blue */
  --primary-ink:#1850c4;
  --sky:#38bdf8;
  --indigo:#6366f1;

  /* category accents */
  --c-vape:#1f63e6;
  --c-eliquid:#7c5cff;
  --c-cannabis:#2f9e44;
  --c-delta8:#e08c10;
  --c-cbd:#0fa39a;
  --c-guides:#475569;
  --c-news:#e5484d;
  --c-deals:#d6409f;

  /* type */
  --serif:'Newsreader', Georgia, 'Times New Roman', serif;
  --sans:'Hanken Grotesk', system-ui, -apple-system, sans-serif;

  /* layout */
  --wrap:1240px;
  --wrap-narrow:760px;
  --gap:32px;
  --radius:4px;
  --radius-lg:10px;
  --shadow-sm:0 1px 2px rgba(11,18,32,.06), 0 1px 1px rgba(11,18,32,.04);
  --shadow-md:0 6px 24px -10px rgba(11,18,32,.18);
  --shadow-lg:0 24px 60px -28px rgba(11,18,32,.32);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4,h5{margin:0;font-family:var(--serif);font-weight:600;letter-spacing:-.01em;line-height:1.12;color:var(--ink);}
p{margin:0;text-wrap:pretty;}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px;}
.narrow{max-width:var(--wrap-narrow);margin:0 auto;padding:0 28px;}

/* ---------- eyebrow / kicker / labels ---------- */
.kicker{
  font-family:var(--sans);
  font-weight:700;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--primary);
}
.eyebrow{
  font-family:var(--sans);
  font-weight:700;
  font-size:11.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}

/* category chip */
.cat{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--sans);font-weight:700;
  font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--cat,#1f63e6);
}
.cat::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.cat-tag{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--sans);font-weight:700;
  font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;background:var(--cat,#1f63e6);
  padding:5px 10px;border-radius:3px;
}
.c-vape{--cat:var(--c-vape);} .c-eliquid{--cat:var(--c-eliquid);}
.c-cannabis{--cat:var(--c-cannabis);} .c-delta8{--cat:var(--c-delta8);}
.c-cbd{--cat:var(--c-cbd);} .c-guides{--cat:var(--c-guides);}
.c-news{--cat:var(--c-news);} .c-deals{--cat:var(--c-deals);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--sans);font-weight:700;font-size:13.5px;
  letter-spacing:.04em;text-transform:uppercase;
  padding:13px 24px;border-radius:3px;border:1.5px solid transparent;
  transition:.18s ease;white-space:nowrap;
}
.btn-primary{background:var(--ink);color:#fff;}
.btn-primary:hover{background:var(--primary);}
.btn-accent{background:var(--primary);color:#fff;}
.btn-accent:hover{background:var(--primary-ink);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2);}
.btn-ghost:hover{border-color:var(--ink);background:var(--ink);color:#fff;}
.btn-sm{padding:9px 16px;font-size:12px;}
.btn-light{background:#fff;color:var(--ink);}
.btn-light:hover{background:var(--primary);color:#fff;}

.link-arrow{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font-family:var(--sans);font-weight:700;font-size:12.5px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink);
}
.link-arrow svg{transition:transform .18s ease;}
.link-arrow:hover{color:var(--primary);}
.link-arrow:hover svg{transform:translateX(4px);}

/* =========================================================================
   HEADER / MASTHEAD
   ========================================================================= */
.utility{background:var(--ink);color:#c7d2e4;}
.utility .wrap{display:flex;align-items:center;justify-content:space-between;height:38px;}
.utility .u-date{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#94a3bd;white-space:nowrap;}
.utility .u-tag{
  display:flex;align-items:center;gap:18px;
  font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;
}
.utility .u-tag .star{color:var(--sky);}
.utility .u-social{display:flex;gap:14px;align-items:center;}
.utility .u-social a{color:#94a3bd;transition:.15s;}
.utility .u-social a:hover{color:#fff;}

.masthead{background:var(--paper);border-bottom:1px solid var(--line);}
.masthead .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-top:26px;padding-bottom:24px;}
.mh-left{display:flex;align-items:center;gap:18px;}
.mh-right{display:flex;align-items:center;justify-content:flex-end;gap:14px;}

.wordmark{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;}
.wordmark .mark{display:flex;align-items:center;gap:11px;}
.wordmark .logo-badge{width:38px;height:38px;flex:none;}
.wordmark .name{font-family:var(--serif);font-weight:700;font-size:34px;letter-spacing:-.02em;color:var(--ink);line-height:1;}
.wordmark .name b{color:var(--primary);font-weight:700;}
.wordmark .tag{
  font-family:var(--sans);font-weight:700;font-size:9.5px;
  letter-spacing:.34em;text-transform:uppercase;color:var(--muted);
  padding-top:2px;
}

.mh-search{
  display:flex;align-items:center;gap:9px;
  border:1.5px solid var(--line-2);border-radius:3px;
  padding:9px 13px;color:var(--muted);width:210px;background:var(--paper-2);
  font-size:13px;
}
.mh-search svg{flex:none;}
.icon-btn{
  width:42px;height:42px;border:1.5px solid var(--line-2);border-radius:3px;
  display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--ink);
  transition:.15s;
}
.icon-btn:hover{border-color:var(--ink);background:var(--ink);color:#fff;}

/* category nav */
.catnav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--line);}
.catnav .wrap{display:flex;align-items:center;justify-content:center;gap:4px;height:54px;}
.catnav a{
  position:relative;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  font-family:var(--sans);font-weight:700;font-size:12px;
  letter-spacing:.07em;text-transform:uppercase;color:var(--ink);
  padding:0 13px;height:54px;line-height:54px;transition:.15s;
}
.catnav a .dot{width:7px;height:7px;border-radius:50%;background:var(--cat,var(--primary));opacity:.0;transition:.15s;}
.catnav a:hover .dot,.catnav a.active .dot{opacity:1;}
.catnav a:hover,.catnav a.active{color:var(--cat,var(--primary));}
.catnav a.active::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2.5px;background:var(--cat,var(--primary));}

/* =========================================================================
   CARDS
   ========================================================================= */
.card{display:flex;flex-direction:column;gap:13px;}
/* ---------- duotone vapor art thumbnails ---------- */
.thumb,.hero-media,.figure{
  position:relative;
  --g1:#1b2740;--g2:#0b1220;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84'%3E%3Cg fill='none' stroke='white' stroke-opacity='0.10' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M22 64c0-8 7-9 7-16s-7-9-7-17'/%3E%3Cpath d='M43 68c0-9 8-10 8-18s-8-10-8-18'/%3E%3Cpath d='M64 64c0-8 7-9 7-16'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(135deg,var(--g1) 0%,var(--g2) 100%);
  background-size:84px 84px, cover;
}
.thumb[data-tone=vape],.figure[data-tone=vape],.hero-media[data-tone=vape],[data-tone=vape]{--g1:#2f6fe6;--g2:#0a2256;}
[data-tone=eliquid]{--g1:#8b6dff;--g2:#3a2a8f;}
[data-tone=cannabis]{--g1:#37ab50;--g2:#13502a;}
[data-tone=delta8]{--g1:#eb9a1d;--g2:#7a4a05;}
[data-tone=cbd]{--g1:#13b3a8;--g2:#08534f;}
[data-tone=guides]{--g1:#52627a;--g2:#1e293b;}
[data-tone=news]{--g1:#ef5a5f;--g2:#7a1f22;}
[data-tone=deals]{--g1:#e054ad;--g2:#6e1f53;}
[data-tone=ink]{--g1:#243353;--g2:#0b1220;}
.thumb .art-ico{position:absolute;inset:0;background-repeat:no-repeat;background-position:center;background-size:62px 62px;opacity:.92;}
.lead .thumb .art-ico,.feature .thumb .art-ico{background-size:94px 94px;}
/* featured images (WordPress) sit above the duotone, below the score badge */
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;display:block;transition:transform .5s ease;}
.thumb:hover img{transform:scale(1.05);}
.thumb .badge-tl,.thumb .art-ico{z-index:2;}
.card .thumb{position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:3/2;}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.card:hover .thumb img{transform:scale(1.05);}
.card .thumb .badge-tl{position:absolute;top:11px;left:11px;z-index:2;}
.card .meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.card .meta .date{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.02em;white-space:nowrap;}
.card .meta .dot-sep{width:3px;height:3px;border-radius:50%;background:var(--line-2);}
.card h3{font-size:21px;line-height:1.2;}
.card h3 a{transition:.15s;}
.card:hover h3 a{color:var(--primary);}
.card p.dek{color:var(--muted);font-size:15px;line-height:1.55;}
.card .byline{font-size:12.5px;color:var(--muted);font-weight:600;}
.card .byline b{color:var(--ink);font-weight:700;}

.card-sm h3{font-size:16.5px;}
.card-sm .thumb{aspect-ratio:16/10;}

/* horizontal list item */
.hitem{display:grid;grid-template-columns:128px 1fr;gap:16px;align-items:start;}
.hitem .thumb{aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;background:var(--paper-3);}
.hitem .thumb img{width:100%;height:100%;object-fit:cover;}
.hitem h4{font-size:16px;line-height:1.22;}
.hitem h4 a:hover{color:var(--primary);}
.hitem .meta{font-size:11.5px;color:var(--muted);font-weight:600;letter-spacing:.02em;margin-top:6px;}

/* sponsored flag */
.flag-sponsored{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#9a6b00;background:#fff6e0;border:1px solid #f4dba0;
  padding:3px 8px;border-radius:3px;
}

/* score pill on cards */
.score-pill{
  display:inline-flex;align-items:baseline;gap:2px;
  background:var(--ink);color:#fff;border-radius:3px;
  padding:5px 9px;font-family:var(--sans);font-weight:800;font-size:14px;letter-spacing:-.01em;
}
.score-pill small{font-size:9.5px;font-weight:700;opacity:.65;letter-spacing:.02em;}

/* =========================================================================
   SECTION HEADERS
   ========================================================================= */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px;padding-bottom:14px;border-bottom:2px solid var(--ink);}
.sec-head .sh-l{display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-width:0;}
.sec-head .link-arrow{flex:none;}
.sec-head h2{font-size:27px;letter-spacing:-.015em;}
.sec-head .sh-sub{font-size:14px;color:var(--muted);}

.rule-soft{border:0;border-top:1px solid var(--line);margin:0;}

/* =========================================================================
   AD SLOTS
   ========================================================================= */
.ad{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  background:repeating-linear-gradient(135deg,var(--paper-2),var(--paper-2) 14px,#eef1f7 14px,#eef1f7 28px);
  border:1px solid var(--line);border-radius:var(--radius);
  color:#9aa6b8;text-align:center;
}
.ad .ad-label{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#aab3c4;}
.ad .ad-dim{font-size:12px;font-weight:600;color:#b7bfcd;}
.ad-leaderboard{height:120px;}
.ad-mrec{height:280px;}
.ad-inline{height:104px;}

/* =========================================================================
   NEWSLETTER
   ========================================================================= */
.newsletter{background:var(--ink);color:#fff;border-radius:var(--radius-lg);overflow:hidden;}
.newsletter .nl-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:46px 48px;}
.newsletter h2{color:#fff;font-size:30px;}
.newsletter p{color:#aebbd0;margin-top:12px;font-size:15.5px;}
.nl-form{display:flex;gap:10px;}
.nl-form input{
  flex:1;background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.16);
  border-radius:3px;padding:14px 16px;color:#fff;font-family:var(--sans);font-size:15px;
}
.nl-form input::placeholder{color:#8493ab;}
.nl-tiny{font-size:12px;color:#7e8ca5;margin-top:14px;}

/* =========================================================================
   FOOTER
   ========================================================================= */
.footer{background:var(--ink);color:#aab6cb;margin-top:80px;}
.footer .f-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding:62px 0 48px;}
.footer h4{color:#fff;font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;}
.footer .f-brand .name{font-family:var(--serif);font-size:25px;color:#fff;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.footer .f-brand p{font-size:14.5px;line-height:1.65;color:#93a1ba;max-width:330px;}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.footer ul a{font-size:14px;color:#aab6cb;transition:.15s;}
.footer ul a:hover{color:#fff;}
.footer .f-bot{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.footer .f-bot p{font-size:12.5px;color:#7e8ca5;}
.footer .f-bot .f-links{display:flex;gap:22px;}
.footer .f-bot .f-links a{font-size:12.5px;color:#93a1ba;}
.footer .f-bot .f-links a:hover{color:#fff;}
.f-social{display:flex;gap:10px;margin-top:20px;}
.f-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.16);border-radius:3px;display:inline-flex;align-items:center;justify-content:center;color:#aab6cb;transition:.15s;}
.f-social a:hover{background:#fff;color:var(--ink);border-color:#fff;}

/* compliance line */
.disclaim{background:#080d18;color:#6b788f;font-size:11.5px;line-height:1.6;padding:16px 0;text-align:center;}
.disclaim .wrap{display:block;}

/* =========================================================================
   UTIL
   ========================================================================= */
.grid{display:grid;gap:var(--gap);}
.g-3{grid-template-columns:repeat(3,1fr);}
.g-4{grid-template-columns:repeat(4,1fr);}
.g-2{grid-template-columns:repeat(2,1fr);}
.divider-v{width:1px;background:var(--line);}
.tac{text-align:center;}
.mt-0{margin-top:0;} .mb-0{margin-bottom:0;}

@media (max-width:1080px){
  .footer .f-top{grid-template-columns:1fr 1fr;}
  .g-4{grid-template-columns:repeat(2,1fr);}
  .newsletter .nl-inner{grid-template-columns:1fr;gap:24px;}
}
@media (max-width:720px){
  .masthead .wrap{grid-template-columns:1fr;justify-items:center;}
  .mh-left,.mh-right{display:none;}
  .catnav .wrap{justify-content:flex-start;overflow-x:auto;}
  .g-3,.g-2{grid-template-columns:1fr;}
}


/* =========================================================================
   TEMPLATE / PAGE STYLES (consolidated from page designs)
   ========================================================================= */

/* ---- Homepage ---- */
/* ---- homepage-specific ---- */
.hero-grid{display:grid;grid-template-columns:1.62fr 1fr;gap:46px;align-items:start;}
.lead .thumb{aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;display:block;position:relative;margin-bottom:20px;}
.lead .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.lead .thumb:hover img{transform:scale(1.04);}
.lead .badge-tl{position:absolute;top:14px;left:14px;}
.lead-title{font-size:40px;line-height:1.08;margin:12px 0 14px;letter-spacing:-.02em;}
.lead-title a{transition:.15s;}
.lead-title a:hover{color:var(--primary);}
.lead-dek{font-size:18px;line-height:1.5;color:var(--ink-70);max-width:42em;margin-bottom:14px;}

.hero-side{display:flex;flex-direction:column;gap:22px;}
.promise{background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:28px 28px 26px;}
.promise-h{color:#fff;font-size:25px;line-height:1.15;margin:10px 0 20px;}
.promise-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);}
.promise-stats b{display:block;font-family:var(--serif);font-size:26px;color:var(--sky);font-weight:700;line-height:1;}
.promise-stats span{display:block;font-size:11px;color:#9fb0c9;margin-top:6px;letter-spacing:.02em;}
.promise-cta{display:flex;gap:10px;margin-top:20px;}
.hsec{display:flex;flex-direction:column;gap:8px;}
.hsec h3{font-size:18px;line-height:1.22;transition:.15s;}
.hsec:hover h3{color:var(--primary);}

.ticker{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ticker .wrap{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;height:54px;font-size:13px;font-weight:600;color:var(--ink-70);}
.tk-dot{width:4px;height:4px;border-radius:50%;background:var(--line-2);}

.band-soft{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.cat-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.ctile{background:#fff;border:1px solid var(--line);border-top:3px solid var(--cat);border-radius:var(--radius);padding:22px 18px;display:flex;flex-direction:column;gap:5px;transition:.18s;}
.ctile:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.ct-glyph{font-size:24px;line-height:1;margin-bottom:8px;}
.ctile h4{font-family:var(--serif);font-size:18px;}
.ctile span{font-size:12px;color:var(--muted);font-weight:600;}

.main-grid{display:grid;grid-template-columns:1fr 320px;gap:50px;align-items:start;}
.feature{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;align-items:center;}
.feature .thumb{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;display:block;}
.feature .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.feature:hover .thumb img{transform:scale(1.04);}
.feature h3{font-size:25px;line-height:1.15;margin:10px 0 12px;}
.feature h3 a:hover{color:var(--primary);}

.sponsor-card{display:grid;grid-template-columns:1fr 160px;gap:24px;align-items:center;margin-top:34px;background:#fffdf7;border:1px solid #f1e3bf;border-radius:var(--radius);padding:24px 26px;}
.sponsor-card h3{font-size:20px;margin:12px 0 8px;}
.sponsor-card p{font-size:14.5px;color:var(--ink-70);margin-bottom:14px;}
.sp-thumb{aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;}

.sidebar{display:flex;flex-direction:column;gap:30px;position:sticky;top:70px;}
.side-head{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:16px;}
.rank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.rank-list li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid var(--line);}
.rank-list li:last-child{border-bottom:0;}
.rank-list .rk{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--line-2);line-height:1;}
.rank-list a{font-size:14.5px;font-weight:600;line-height:1.3;transition:.15s;}
.rank-list a:hover{color:var(--primary);}
.tagcloud{display:flex;flex-wrap:wrap;gap:8px;}
.tagcloud a{font-size:12px;font-weight:600;color:var(--ink-70);background:var(--paper-2);border:1px solid var(--line);padding:6px 11px;border-radius:30px;transition:.15s;}
.tagcloud a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.side-mini-nl{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.side-mini-nl h4{font-family:var(--serif);font-size:19px;margin-bottom:6px;}
.side-mini-nl p{font-size:13.5px;color:var(--muted);margin-bottom:14px;}
.mini-nl-form{display:flex;gap:8px;}
.mini-nl-form input{flex:1;min-width:0;border:1.5px solid var(--line-2);border-radius:3px;padding:10px 12px;font-family:var(--sans);font-size:13.5px;}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:34px;}
  .lead-title{font-size:32px;}
  .main-grid{grid-template-columns:1fr;}
  .sidebar{position:static;}
  .cat-tiles{grid-template-columns:repeat(3,1fr);}
  .feature{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .cat-tiles{grid-template-columns:repeat(2,1fr);}
  .sponsor-card{grid-template-columns:1fr;}
}

/* ---- Category ---- */
.cat-hero{background:var(--paper-2);border-bottom:1px solid var(--line);position:relative;overflow:hidden;}
.cat-hero::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--cat);}
.cat-hero .wrap{padding:46px 28px 40px;position:relative;}
.crumb{font-size:12.5px;font-weight:600;color:var(--muted);letter-spacing:.02em;margin-bottom:18px;}
.crumb a:hover{color:var(--primary);}
.crumb span{margin:0 8px;color:var(--line-2);}
.cat-hero h1{font-size:48px;letter-spacing:-.02em;margin:14px 0 14px;}
.cat-hero p{font-size:17px;color:var(--ink-70);max-width:60ch;line-height:1.55;}
.cat-meta{margin-top:20px;font-size:13.5px;color:var(--muted);font-weight:600;}
.cat-meta b{color:var(--ink);}

.toolbar{border-bottom:1px solid var(--line);position:sticky;top:54px;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);z-index:30;}
.toolbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:62px;}
.chips{display:flex;gap:9px;flex-wrap:wrap;}
.chip{font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--ink-70);padding:8px 15px;border:1.5px solid var(--line-2);border-radius:30px;transition:.15s;white-space:nowrap;}
.chip:hover{border-color:var(--ink);}
.chip.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.sortbox{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap;}
.sortbox select{font-family:var(--sans);font-weight:600;font-size:13.5px;color:var(--ink);border:1.5px solid var(--line-2);border-radius:3px;padding:8px 12px;background:#fff;}

.listing-grid{display:grid;grid-template-columns:1fr 320px;gap:50px;align-items:start;}
.feat-h{display:grid;grid-template-columns:300px 1fr;gap:26px;align-items:center;padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--line);}
.feat-h .thumb{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;display:block;}
.feat-h .badge-tl{position:absolute;top:12px;left:12px;}
.feat-h h2{font-size:27px;line-height:1.12;margin:10px 0 12px;}
.feat-h h2 a:hover{color:var(--primary);}
.feat-h .dek{font-size:15.5px;color:var(--ink-70);margin-bottom:12px;}

.cards .card .thumb{position:relative;}
.cards .card .badge-tl{position:absolute;top:11px;left:11px;}
.sponsored-card{background:#fffdf7;border:1px solid #f1e3bf;border-radius:var(--radius);padding:14px;}
.sponsored-card .thumb{margin:-14px -14px 0;border-radius:var(--radius) var(--radius) 0 0;}

.pager{display:flex;align-items:center;gap:8px;margin-top:42px;}
.pg{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--line-2);border-radius:3px;font-weight:700;font-size:14px;color:var(--ink);transition:.15s;padding:0 14px;}
.pg:hover{border-color:var(--ink);}
.pg.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.pg-gap{color:var(--muted);padding:0 4px;}
.pg-next{gap:8px;letter-spacing:.04em;text-transform:uppercase;font-size:12.5px;}

.sidebar{display:flex;flex-direction:column;gap:30px;position:sticky;top:130px;}
.side-head{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:16px;}
.rank-list{list-style:none;margin:0;padding:0;}
.rank-list li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);}
.rank-list li:last-child{border-bottom:0;}
.rank-list .rk{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--line-2);line-height:1;}
.rank-list a{font-size:14.5px;font-weight:600;transition:.15s;}
.rank-list a:hover{color:var(--primary);}
.tagcloud{display:flex;flex-wrap:wrap;gap:8px;}
.tagcloud a{font-size:12px;font-weight:600;color:var(--ink-70);background:var(--paper-2);border:1px solid var(--line);padding:6px 11px;border-radius:30px;transition:.15s;}
.tagcloud a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.side-mini-nl{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.side-mini-nl h4{font-family:var(--serif);font-size:19px;margin-bottom:6px;}
.side-mini-nl p{font-size:13.5px;color:var(--muted);margin-bottom:14px;}
.mini-nl-form{display:flex;gap:8px;}
.mini-nl-form input{flex:1;min-width:0;border:1.5px solid var(--line-2);border-radius:3px;padding:10px 12px;font-family:var(--sans);font-size:13.5px;}

@media (max-width:980px){
  .listing-grid{grid-template-columns:1fr;}
  .sidebar{position:static;}
  .cat-hero h1{font-size:36px;}
  .feat-h{grid-template-columns:1fr;}
  .toolbar .wrap{height:auto;padding:14px 28px;flex-direction:column;align-items:flex-start;}
}

/* ---- Product Review ---- */
.article{padding-top:30px;}
.art-head{max-width:880px;}
.crumb{font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:20px;}
.crumb a:hover{color:var(--primary);}
.crumb span{margin:0 8px;color:var(--line-2);}
.art-head h1{font-size:44px;line-height:1.08;letter-spacing:-.02em;margin:14px 0 18px;}
.standfirst{font-size:20px;line-height:1.5;color:var(--ink-70);font-family:var(--serif);font-style:italic;}
.art-byrow{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;}
.author{display:flex;align-items:center;gap:13px;}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;letter-spacing:.03em;flex:none;}
.avatar.lg{width:64px;height:64px;font-size:19px;}
.a-name{font-size:15px;}
.a-meta{font-size:13px;color:var(--muted);margin-top:2px;}
.share{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);}
.share a{color:var(--ink);transition:.15s;}
.share a:hover{color:var(--primary);}

.art-hero{aspect-ratio:21/9;border-radius:var(--radius-lg);overflow:hidden;margin:30px 0 10px;}
.caption{font-size:13px;color:var(--muted);font-style:italic;margin-bottom:6px;}

.art-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start;margin-top:30px;}
.art-body{max-width:720px;}
.art-body h2{font-size:29px;margin:38px 0 14px;letter-spacing:-.01em;}
.art-body p{font-size:18px;line-height:1.68;color:#26303f;margin-bottom:18px;}
.art-body p a{color:var(--primary);text-decoration:underline;text-underline-offset:2px;}

/* score box */
.scorebox{background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:30px 32px;margin-bottom:26px;box-shadow:var(--shadow-lg);}
.sb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
.sb-kicker{font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--sky);}
.sb-rec{font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#0b1220;background:var(--sky);padding:6px 12px;border-radius:30px;}
.sb-main{display:grid;grid-template-columns:200px 1fr;gap:34px;align-items:center;}
.sb-score{text-align:center;border-right:1px solid rgba(255,255,255,.14);padding-right:10px;}
.sb-num{font-family:var(--serif);font-size:72px;font-weight:700;line-height:.9;color:#fff;letter-spacing:-.02em;}
.sb-num span{font-size:24px;color:#7e8ca5;font-weight:600;}
.sb-label{font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--sky);margin-top:12px;}
.sb-note{font-size:12px;color:#8493ab;margin-top:8px;}
.sb-bars{display:flex;flex-direction:column;gap:13px;}
.bar{display:grid;grid-template-columns:128px 1fr 34px;gap:14px;align-items:center;}
.b-label{font-size:13px;font-weight:600;color:#c7d2e4;}
.b-track{height:7px;border-radius:30px;background:rgba(255,255,255,.12);overflow:hidden;}
.b-fill{display:block;height:100%;border-radius:30px;background:linear-gradient(90deg,var(--sky),var(--indigo));}
.b-val{font-weight:800;font-size:14px;text-align:right;color:#fff;}
.sb-summary{margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:15px;line-height:1.6;color:#c7d2e4;}
.sb-summary strong{color:#fff;}

.proscons{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 14px;}
.pc{border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;}
.pc h4{font-family:var(--sans);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:9px;margin-bottom:14px;}
.pc-ico{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#fff;flex:none;}
.pc-pro{background:#f3faf5;border-color:#cfecd8;}
.pc-pro h4{color:#1c7a3c;}
.pc-pro .pc-ico{background:#2f9e44;}
.pc-con{background:#fdf5f5;border-color:#f1d5d6;}
.pc-con h4{color:#b23338;}
.pc-con .pc-ico{background:#e5484d;}
.pc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.pc li{font-size:14.5px;line-height:1.4;color:#33425a;padding-left:18px;position:relative;}
.pc li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4;}

.pullquote{margin:34px 0;padding:6px 0 6px 26px;border-left:4px solid var(--primary);}
.pullquote blockquote{margin:0;font-family:var(--serif);font-size:25px;line-height:1.3;color:var(--ink);font-style:italic;}

.authorbio{display:flex;gap:18px;align-items:flex-start;margin-top:44px;padding-top:28px;border-top:2px solid var(--ink);}
.ab-name{font-family:var(--serif);font-size:21px;font-weight:700;}
.ab-role{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin:3px 0 10px;}
.authorbio p{font-size:15px!important;line-height:1.6;color:var(--ink-70);margin:0!important;}

/* sidebar */
.sidebar{display:flex;flex-direction:column;gap:28px;position:sticky;top:74px;}
.side-head{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:4px;}
.specbox{border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 18px;}
.specs{margin:14px 0 0;}
.specs div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);}
.specs dt{font-size:13px;color:var(--muted);font-weight:600;margin:0;white-space:nowrap;}
.specs dd{font-size:14px;color:var(--ink);font-weight:700;margin:0;white-space:nowrap;text-align:right;}
.spec-score{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.rank-list{list-style:none;margin:0;padding:0;}
.rank-list li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);}
.rank-list li:last-child{border-bottom:0;}
.rank-list .rk{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--line-2);}
.rank-list a{font-size:14px;font-weight:600;}
.rank-list a:hover{color:var(--primary);}

.related{margin-top:64px;}

@media (max-width:980px){
  .art-grid{grid-template-columns:1fr;gap:36px;}
  .sidebar{position:static;}
  .art-head h1{font-size:32px;}
  .sb-main{grid-template-columns:1fr;gap:24px;}
  .sb-score{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:20px;}
  .proscons{grid-template-columns:1fr;}
  .bar{grid-template-columns:110px 1fr 30px;}
}

/* ---- Article ---- */
.article{padding-top:30px;}
.art-head{max-width:880px;}
.crumb{font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:20px;}
.crumb a:hover{color:var(--primary);}
.crumb span{margin:0 8px;color:var(--line-2);}
.art-head h1{font-size:44px;line-height:1.08;letter-spacing:-.02em;margin:14px 0 18px;}
.standfirst{font-size:20px;line-height:1.5;color:var(--ink-70);font-family:var(--serif);font-style:italic;}
.art-byrow{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;}
.author{display:flex;align-items:center;gap:13px;}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex:none;}
.avatar.lg{width:64px;height:64px;font-size:19px;}
.a-name{font-size:15px;}
.a-meta{font-size:13px;color:var(--muted);margin-top:2px;}
.share{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);}
.share a{color:var(--ink);transition:.15s;}
.share a:hover{color:var(--c-cannabis);}

.art-hero{aspect-ratio:21/9;border-radius:var(--radius-lg);overflow:hidden;margin:30px 0 10px;}
.caption{font-size:13px;color:var(--muted);font-style:italic;margin-bottom:6px;}

.art-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start;margin-top:30px;}
.art-body{max-width:720px;}
.art-body h2{font-size:29px;margin:38px 0 14px;letter-spacing:-.01em;}
.art-body > p{font-size:18px;line-height:1.68;color:#26303f;margin-bottom:18px;}

.takeaways{background:#f3faf5;border:1px solid #cfecd8;border-left:4px solid var(--c-cannabis);border-radius:var(--radius);padding:22px 26px;margin-bottom:30px;}
.takeaways h4{font-family:var(--sans);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#1c7a3c;margin-bottom:12px;}
.takeaways ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:9px;}
.takeaways li{font-size:15px;line-height:1.5;color:#26303f;}

.steps{list-style:none;counter-reset:step;margin:14px 0 8px;padding:0;display:flex;flex-direction:column;gap:6px;}
.steps li{position:relative;padding:18px 0 18px 64px;border-top:1px solid var(--line);counter-increment:step;}
.steps li::before{content:counter(step);position:absolute;left:0;top:18px;width:42px;height:42px;border-radius:50%;background:var(--c-cannabis);color:#fff;font-family:var(--serif);font-weight:700;font-size:19px;display:flex;align-items:center;justify-content:center;}
.steps h3{font-size:19px;margin-bottom:6px;}
.steps p{font-size:16px!important;line-height:1.6;color:var(--ink-70);margin:0!important;}

.figure-wide{margin:34px 0;}
.fig-art{aspect-ratio:16/7;border-radius:var(--radius);overflow:hidden;}
.figure-wide figcaption{font-size:13px;color:var(--muted);font-style:italic;margin-top:10px;}

.authorbio{display:flex;gap:18px;align-items:flex-start;margin-top:44px;padding-top:28px;border-top:2px solid var(--ink);}
.ab-name{font-family:var(--serif);font-size:21px;font-weight:700;}
.ab-role{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--c-cannabis);margin:3px 0 10px;}
.authorbio p{font-size:15px!important;line-height:1.6;color:var(--ink-70);margin:0!important;}

.sidebar{display:flex;flex-direction:column;gap:28px;position:sticky;top:74px;}
.side-head{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:6px;}
.toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.toc li{border-bottom:1px solid var(--line);}
.toc li:last-child{border-bottom:0;}
.toc a{display:block;padding:11px 0;font-size:14.5px;font-weight:600;color:var(--ink-70);transition:.15s;}
.toc a:hover{color:var(--c-cannabis);padding-left:6px;}
.rank-list{list-style:none;margin:0;padding:0;}
.rank-list li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);}
.rank-list li:last-child{border-bottom:0;}
.rank-list .rk{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--line-2);}
.rank-list a{font-size:14px;font-weight:600;}
.rank-list a:hover{color:var(--c-cannabis);}
.side-mini-nl{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.side-mini-nl h4{font-family:var(--serif);font-size:19px;margin-bottom:6px;}
.side-mini-nl p{font-size:13.5px;color:var(--muted);margin-bottom:14px;}
.mini-nl-form{display:flex;gap:8px;}
.mini-nl-form input{flex:1;min-width:0;border:1.5px solid var(--line-2);border-radius:3px;padding:10px 12px;font-family:var(--sans);font-size:13.5px;}

.related{margin-top:64px;}

@media (max-width:980px){
  .art-grid{grid-template-columns:1fr;gap:36px;}
  .sidebar{position:static;}
  .art-head h1{font-size:32px;}
}

/* ---- Search ---- */
.search-hero{background:var(--ink);color:#fff;}
.search-hero .wrap{padding:48px 28px 44px;}
.search-bar{display:flex;align-items:center;gap:14px;background:#fff;border-radius:5px;padding:8px 8px 8px 18px;margin:16px 0 18px;max-width:760px;box-shadow:var(--shadow-lg);}
.search-bar svg{color:var(--muted);flex:none;}
.search-bar input{flex:1;border:0;outline:0;font-family:var(--serif);font-size:24px;color:var(--ink);background:transparent;min-width:0;}
.search-meta{font-size:15px;color:#aebbd0;}
.search-meta b{color:#fff;}
.search-meta .q{color:var(--sky);font-weight:700;}

.toolbar{border-bottom:1px solid var(--line);position:sticky;top:54px;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);z-index:30;}
.toolbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:62px;}
.chips{display:flex;gap:9px;flex-wrap:wrap;}
.chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--ink-70);padding:8px 15px;border:1.5px solid var(--line-2);border-radius:30px;transition:.15s;white-space:nowrap;}
.chip em{font-style:normal;font-size:11px;color:var(--muted);background:var(--paper-2);padding:1px 7px;border-radius:20px;}
.chip:hover{border-color:var(--ink);}
.chip.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.chip.active em{background:rgba(255,255,255,.16);color:#fff;}
.sortbox{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap;}
.sortbox select{font-family:var(--sans);font-weight:600;font-size:13.5px;color:var(--ink);border:1.5px solid var(--line-2);border-radius:3px;padding:8px 12px;background:#fff;}

.search-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:50px;align-items:start;}
.results{display:flex;flex-direction:column;gap:0;}
.result{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);}
.result:first-child{padding-top:0;}
.result .thumb{aspect-ratio:3/2;border-radius:var(--radius);overflow:hidden;display:block;position:relative;}
.result .badge-tl{position:absolute;top:10px;left:10px;}
.result h3{font-size:23px;line-height:1.15;margin:8px 0 9px;}
.result h3 a:hover{color:var(--primary);}
.result mark{background:#fff3c4;color:inherit;padding:0 2px;border-radius:2px;}
.result .dek{font-size:15.5px;color:var(--ink-70);line-height:1.5;margin-bottom:10px;}
.result .byline{font-size:12.5px;color:var(--muted);font-weight:600;}
.result .byline b{color:var(--ink);}

.pager{display:flex;align-items:center;gap:8px;margin-top:32px;}
.pg{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--line-2);border-radius:3px;font-weight:700;font-size:14px;color:var(--ink);transition:.15s;padding:0 14px;}
.pg:hover{border-color:var(--ink);}
.pg.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.pg-gap{color:var(--muted);padding:0 4px;}
.pg-next{gap:8px;letter-spacing:.04em;text-transform:uppercase;font-size:12.5px;}

.sidebar{display:flex;flex-direction:column;gap:30px;position:sticky;top:130px;}
.side-head{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:8px;}
.facets{list-style:none;margin:0;padding:0;}
.facets li{border-bottom:1px solid var(--line);}
.facets a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;font-size:14.5px;font-weight:600;color:var(--ink-70);transition:.15s;white-space:nowrap;}
.facets a:hover{color:var(--primary);}
.facets em{font-style:normal;font-size:12px;color:var(--muted);background:var(--paper-2);padding:2px 9px;border-radius:20px;}
.tagcloud{display:flex;flex-wrap:wrap;gap:8px;}
.tagcloud a{font-size:12px;font-weight:600;color:var(--ink-70);background:var(--paper-2);border:1px solid var(--line);padding:6px 11px;border-radius:30px;transition:.15s;white-space:nowrap;}
.tagcloud a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

@media (max-width:980px){
  .search-grid{grid-template-columns:1fr;}
  .sidebar{position:static;}
  .search-bar input{font-size:18px;}
}
@media (max-width:620px){
  .result{grid-template-columns:1fr;}
}

/* ---- About ---- */
.about-hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;}
.about-hero::after{content:"";position:absolute;right:-120px;top:-80px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.18),transparent 70%);}
.about-hero .wrap{padding:66px 28px 60px;max-width:1000px;position:relative;z-index:1;}
.about-hero h1{color:#fff;font-size:44px;line-height:1.1;letter-spacing:-.02em;margin:16px 0 22px;max-width:20ch;}
.about-hero p{font-size:18.5px;line-height:1.55;color:#aebbd0;max-width:62ch;}
.ah-cta{display:flex;gap:12px;margin-top:30px;}

.stats-band{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:44px 28px;border-bottom:1px solid var(--line);}
.stats-band div{text-align:center;}
.stats-band b{display:block;font-family:var(--serif);font-size:46px;font-weight:700;color:var(--ink);line-height:1;letter-spacing:-.02em;}
.stats-band span{display:block;font-size:13.5px;color:var(--muted);font-weight:600;margin-top:10px;}

.mission{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;padding-top:70px;padding-bottom:20px;align-items:start;}
.mission h2{font-size:34px;line-height:1.12;margin-top:12px;letter-spacing:-.015em;}
.mission .ms-r p{font-size:18.5px;line-height:1.62;color:#26303f;margin-bottom:18px;}
.mission .ms-r p:last-child{margin-bottom:0;}

.band-soft{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:60px;}
.process{margin-bottom:14px;}
.proc{background:#fff;border:1px solid var(--line);border-top:3px solid var(--primary);border-radius:var(--radius);padding:26px 24px;}
.proc-n{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--primary);line-height:1;}
.proc h4{font-family:var(--serif);font-size:20px;margin:14px 0 10px;}
.proc p{font-size:14.5px;line-height:1.55;color:var(--ink-70);}
.criteria{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:34px;padding-top:26px;border-top:1px solid var(--line-2);}
.crit-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.crit-chips{display:flex;gap:10px;flex-wrap:wrap;}
.crit-chips span{font-size:13px;font-weight:700;color:var(--ink);background:#fff;border:1.5px solid var(--line-2);padding:8px 15px;border-radius:30px;white-space:nowrap;}
.member h4{white-space:nowrap;}

.promise-band{display:flex;align-items:center;gap:28px;background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:40px 44px;margin-top:70px;}
.promise-band .pb-ico{font-size:46px;line-height:1;flex:none;}
.promise-band h2{color:#fff;font-size:30px;margin-bottom:12px;}
.promise-band p{font-size:16px;line-height:1.6;color:#aebbd0;max-width:70ch;}
.promise-band p em{color:#fff;font-style:italic;}

.team{margin-top:74px;}
.member{display:flex;flex-direction:column;align-items:flex-start;}
.m-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;letter-spacing:.02em;margin-bottom:16px;}
.member h4{font-family:var(--serif);font-size:21px;}
.m-role{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin:5px 0 10px;}
.member p{font-size:14.5px;line-height:1.55;color:var(--ink-70);}

.work-band{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;background:linear-gradient(135deg,#16223c,#0b1220);color:#fff;border-radius:var(--radius-lg);padding:48px 48px;align-items:center;}
.work-band h2{color:#fff;font-size:31px;line-height:1.15;margin:12px 0 16px;}
.work-band .wb-l p{font-size:16px;line-height:1.6;color:#aebbd0;margin-bottom:24px;}
.wb-r{display:flex;flex-direction:column;gap:14px;}
.wb-stat{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:18px 20px;}
.wb-stat b{display:block;font-family:var(--serif);font-size:18px;color:#fff;margin-bottom:4px;}
.wb-stat span{font-size:13.5px;color:#9fb0c9;}

@media (max-width:980px){
  .about-hero h1{font-size:36px;}
  .stats-band{grid-template-columns:repeat(2,1fr);gap:32px 16px;}
  .mission{grid-template-columns:1fr;gap:20px;}
  .process{grid-template-columns:repeat(2,1fr);}
  .grid.g-4{grid-template-columns:repeat(2,1fr);}
  .work-band{grid-template-columns:1fr;gap:28px;padding:34px;}
  .promise-band{flex-direction:column;align-items:flex-start;gap:18px;padding:32px;}
}
@media (max-width:560px){
  .process{grid-template-columns:1fr;}
  .grid.g-4{grid-template-columns:1fr;}
}

/* ---- theme helpers ---- */
.pvr-searchform{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--line-2);border-radius:4px;padding:6px 6px 6px 14px;}
.pvr-searchform svg{color:var(--muted);flex:none;}
.pvr-searchform input{flex:1;border:0;outline:0;font-family:var(--sans);font-size:15px;color:var(--ink);background:transparent;min-width:0;}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.catnav.is-open .wrap{flex-wrap:wrap;height:auto;padding:8px 28px;}
.pvr-cover{width:100%;height:100%;object-fit:cover;}
.wp-pagenavi,.pvr-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:42px;}
.pvr-pagination .page-numbers{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--line-2);border-radius:3px;font-weight:700;font-size:14px;color:var(--ink);padding:0 14px;}
.pvr-pagination .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink);}
.pvr-pagination a.page-numbers:hover{border-color:var(--ink);}
.art-body .wp-block-image,.art-body figure{margin:30px 0;}
.art-body ul,.art-body ol{font-size:18px;line-height:1.68;color:#26303f;margin:0 0 18px;padding-left:24px;}
.art-body li{margin-bottom:8px;}
.art-body h2{scroll-margin-top:120px;}
.art-body blockquote{margin:34px 0;padding:6px 0 6px 26px;border-left:4px solid var(--primary);font-family:var(--serif);font-size:24px;line-height:1.3;font-style:italic;color:var(--ink);}
.comments-area{max-width:720px;margin:50px 0 0;}
