/* Agency Tool Stack Guide — styles (v67)
   Goals: readable typography, consistent header, clean cards/tables, fewer one-off styles.
*/

:root{
  --bg:#070a10;
  --bg2:#05070c;
  --card: rgba(255,255,255,0.04);
  --card2: rgba(255,255,255,0.025);
  --text:#eaf2f8;
  --muted:#a9b6c4;
  --line: rgba(255,255,255,0.12);
  --accent:#7dd3fc;
  --accent2:#a78bfa;
  --shadow: 0 10px 28px rgba(0,0,0,0.34);
  --radius: 18px;
  /* Slightly wider container so the UI doesn't feel "narrow" on large screens.
     Long-form prose still uses its own max-width, so readability stays intact. */
  --max: 1320px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
html{background:var(--bg);}


body{
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, Arial, sans-serif;
  color:var(--text);
  line-height:1.65;
  letter-spacing: 0;
  background: var(--bg);
}

/* Links */
a{color:var(--accent);text-decoration:none}
a:hover{opacity:0.92;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}

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

/* Accessibility */
.skip-link{position:absolute;left:-9999px;top:12px;background:#fff;color:#000;padding:10px 12px;border-radius:10px;z-index:9999}
.skip-link:focus{left:12px}
:focus-visible{outline:2px solid rgba(125,211,252,0.45);outline-offset:3px;border-radius:10px}

/* Header */
.site-header{position:sticky;top:0;z-index:50}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding:14px 0;
  background: var(--bg);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}

/* Brand (preferred) */
.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}
.brand img{width:30px;height:30px;border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,0.60);outline:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.03)}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font-weight:850;letter-spacing:-0.02em;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-tag{font-size:12px;color:var(--muted);margin-top:2px}

/* Logo variant (older pages) */
.logo{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}
.logo .mark{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.04);font-weight:850;letter-spacing:-0.02em}
.logo .word{display:flex;flex-direction:column;line-height:1.05}
.logo .name{font-weight:850;letter-spacing:-0.02em;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.logo .tag{font-size:12px;color:var(--muted);margin-top:2px}

.links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.links a{
  color:var(--muted);
  font-weight:650;
  font-size:14px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid transparent;
}
.links a:hover{color:var(--text);text-decoration:none;border-color:rgba(255,255,255,0.12);background:rgba(255,255,255,0.04)}
.links a[aria-current="page"]{color:var(--text);border-color:rgba(125,211,252,0.28);background:rgba(125,211,252,0.08)}

/* Mobile nav: keep it compact (no multi-row wrapping) by using a horizontal
   scroll row for links. This removes the "tall header" look seen on iPhone. */
@media (max-width: 860px){
  .nav{flex-direction:column;align-items:flex-start;gap:10px}
  .links{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .links::-webkit-scrollbar{display:none}
  .links a{white-space:nowrap}
}

@media (max-width: 520px){
  .brand-tag, .logo .tag{display:none}
}

/* Hero + prose */
.hero{padding:26px 0 14px}
.hero h1{font-size:clamp(28px,4vw,44px);line-height:1.1;margin:8px 0 10px;letter-spacing:-0.02em}
.hero p{margin:0;color:var(--muted);max-width:78ch}

/* Home: Start here cards (v37) */
.start-here{margin-top:14px;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.02);border-radius:18px;padding:14px}
.start-here-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(234,242,248,0.75);font-weight:850;margin-bottom:10px}
.start-here-grid{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:860px){.start-here-grid{grid-template-columns:repeat(3,1fr)}}
.start-card{display:block;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.02);border-radius:16px;padding:12px 12px 11px;color:var(--text);text-decoration:none}
.start-card:hover{text-decoration:none;border-color:rgba(125,211,252,0.18);background:rgba(255,255,255,0.03)}
.start-card-title{font-weight:900;letter-spacing:-0.01em;margin-bottom:6px}
.start-card-sub{font-size:13px;line-height:1.45;color:var(--muted);margin-bottom:8px}
.start-card-cta{font-size:13px;font-weight:850;color:rgba(234,242,248,0.92)}


/* Review hero (standardized) */
.review-hero{padding:28px 0 18px}
.review-hero .meta-row{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:6px 0 10px}
.review-hero .meta-row p{margin:0}
.review-hero .disclosure{color:var(--muted)}
.review-hero .updated{color:var(--muted);opacity:0.9}
.review-hero .lede{margin-top:6px}
.review-hero .lede p{margin:10px 0 0;color:var(--muted);font-size:16px;line-height:1.55}
.review-hero .hero-ctas{margin-top:14px}
.review-hero .fast-answer{margin-top:14px}
.review-hero .fast-answer ul{margin:0;padding-left:1.2em}
.review-hero .fast-answer p{margin:0 0 8px;color:var(--text)}
.btn.primary{border-color:rgba(125,211,252,0.35);background:rgba(125,211,252,0.12)}
.btn.primary:hover{border-color:rgba(125,211,252,0.55);filter:brightness(1.08)}
/* Review hero layout + top pick card (v33) */
.review-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.review-hero-aside{position:relative}
@media (max-width: 980px){
  .review-hero-grid{grid-template-columns:1fr}
  .review-hero-aside{order:2}
}
.pick-card{
  border:1px solid rgba(255,255,255,0.12);
  border-radius:22px;
  background:rgba(255,255,255,0.03);
  box-shadow:0 10px 26px rgba(0,0,0,0.26);
  padding:16px;
}
.pick-card__kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:rgba(234,242,248,0.85)}
.pick-card__title{margin:8px 0 6px;font-size:18px;font-weight:850;letter-spacing:-0.01em;color:var(--text)}
.pick-card__meta{margin:10px 0 12px;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pick-card__meta li{border:1px solid rgba(255,255,255,0.10);border-radius:16px;padding:10px 10px;background:rgba(255,255,255,0.02)}
.pick-card__meta span{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}
.pick-card__meta strong{font-size:13px;color:var(--text)}
.pick-card .btn{width:100%;justify-content:center}
.pick-card .btn + .btn{margin-top:10px}
.pick-card__note{margin-top:10px;color:var(--muted)}

.pick-card__audit{margin-top:10px;border-top:1px solid rgba(255,255,255,0.10);padding-top:10px}
.pick-card__audit div{display:flex;gap:8px;justify-content:space-between;align-items:baseline}
.pick-card__audit strong{color:rgba(234,242,248,0.92)}
.pick-card__shot{margin-top:10px;border:1px solid rgba(255,255,255,0.10);border-radius:16px;overflow:hidden;background:rgba(255,255,255,0.02)}
.pick-card__shot img{display:block;width:100%;height:auto}
.pick-card__shot-placeholder{padding:8px 10px;display:flex;gap:8px;align-items:flex-start;line-height:1.35;font-size:12.5px}
.pick-card__shot-placeholder .muted{color:var(--muted)}
.pick-card__shot-placeholder .shot-label{flex:0 0 auto;padding:2px 8px;border:1px solid rgba(255,255,255,0.12);border-radius:999px;background:rgba(255,255,255,0.03);font-weight:600;font-size:11px;letter-spacing:0.02em;color:rgba(234,242,248,0.88)}
.pick-card__shot-placeholder .shot-text{color:rgba(234,242,248,0.82)}
.pick-card__shot.has-img .pick-card__shot-placeholder{display:none}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Tables: top pick star + subtle highlight (v37) */
.top-star{display:inline-block;margin-left:8px;font-size:13px;line-height:1;vertical-align:middle;color:var(--accent)}
.table-wrap tr.is-top-pick td{background:rgba(125,211,252,0.06)}
.table-wrap tr.is-top-pick td:first-child{position:relative}
.table-wrap tr.is-top-pick td:first-child::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:rgba(125,211,252,0.45)}

.review-hero .fast-answer{border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.02);border-radius:22px;padding:12px 14px}
.review-hero .fast-answer li{margin:8px 0;line-height:1.45}
.review-hero .fast-answer strong{color:var(--text)}

.review-hero .fast-answer details{margin-top:6px}
.review-hero .fast-answer summary{cursor:pointer;color:rgba(234,242,248,0.92);font-weight:800}
.review-hero .fast-answer summary:hover{text-decoration:underline;text-underline-offset:3px}

/* Elite verdict box (3-pick) */
.verdict-box{margin-top:14px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.02);border-radius:22px;padding:12px 14px}
.verdict-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.verdict-title{font-weight:900;letter-spacing:-0.01em}
.verdict-sub{color:rgba(234,242,248,0.88)}
.verdict-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.verdict-card{display:flex;flex-direction:column;gap:6px;padding:12px 12px 10px;border:1px solid rgba(255,255,255,0.10);border-radius:18px;background:rgba(0,0,0,0.12);text-decoration:none}
.verdict-card:hover{transform:translateY(-1px)}
.verdict-kicker{font-size:12px;font-weight:800;color:rgba(234,242,248,0.86)}
.verdict-name{font-size:16px;font-weight:900;letter-spacing:-0.01em;color:var(--text)}
.verdict-desc{font-size:13px;line-height:1.35;color:rgba(234,242,248,0.86)}
.verdict-cta{margin-top:auto;font-size:13px;font-weight:900}
.review-hero .fast-answer.is-verdict-hidden{display:none}
@media (max-width: 860px){
  .verdict-grid{grid-template-columns:1fr}
  .verdict-head{flex-direction:column;align-items:flex-start}
}



.prose{max-width:78ch;font-size:16px}
.prose h2{margin-top:28px;line-height:1.2;letter-spacing:-0.01em}
.prose h3{margin-top:18px;line-height:1.25}
.prose ul{padding-left:1.2em}
.prose li{margin:6px 0}

.small{font-size:13px;color:var(--muted)}
.meta{margin-top:6px;color:var(--muted)}

/* Cards */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin:18px 0 26px}
.card{
  grid-column:span 12;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  background:rgba(255,255,255,0.035);
  box-shadow:0 8px 22px rgba(0,0,0,0.22);
  transform:translateY(0);
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
@media(min-width:860px){.card{grid-column:span 6}}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:rgba(125,211,252,0.16)}
.card.is-link{cursor:pointer;position:relative}

.badge{
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(125,211,252,0.22);
  background:rgba(125,211,252,0.10);
  font-size:12px;
  color:var(--text);
  font-weight:750;
  margin-bottom:10px;
}

/* Make whole card clickable (stretched link) */
.card.is-link h2 a::after, .card.is-link h3 a::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
}
.card.is-link h2 a, .card.is-link h3 a{color:var(--text)}
.card.is-link h2 a:hover, .card.is-link h3 a:hover{text-decoration:none}

/* Article blocks */
.article{
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
  background:linear-gradient(180deg,var(--card),var(--card2));
  box-shadow:0 10px 30px rgba(0,0,0,0.24);
}
.article h1{margin-top:0;line-height:1.15}

/* When using in-page anchors with the sticky header, ensure headings don't
   hide under the header after navigation. */
:where(h2,h3,h4){scroll-margin-top:96px}
@media(max-width:860px){:where(h2,h3,h4){scroll-margin-top:118px}}

.callout{
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(125,211,252,0.18);
  background:rgba(125,211,252,0.07);
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.04);
  color:var(--text);
  font-weight:800;
  text-decoration:none;
  transition:transform .14s ease, filter .14s ease, background .14s ease, border-color .14s ease;
}
.btn:hover{text-decoration:none;filter:brightness(1.05);transform:translateY(-1px);border-color:rgba(255,255,255,0.22)}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 14px}

.btn-primary{
  background:linear-gradient(135deg, rgba(96,165,250,1), rgba(139,92,246,1));
  border:1px solid transparent;
  color:#061018;
}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,0.16)}

/* Tables */
.table-wrap{overflow:auto;border-radius:var(--radius);border:1px solid var(--line);background:rgba(255,255,255,0.02);box-shadow:0 8px 22px rgba(0,0,0,0.18)}
.table-wrap table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px}
.table-wrap thead th{
  position:sticky;top:0;z-index:2;
  background:rgba(7,10,16,0.92);
    text-align:left;
  font-weight:850;
  color:var(--text);
  border-bottom:1px solid var(--line);
}
.table-wrap th, .table-wrap td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,0.08);vertical-align:top}
.table-wrap tbody tr:nth-child(odd) td{background:rgba(255,255,255,0.01)}
.table-wrap tbody tr:hover td{background:rgba(125,211,252,0.06)}

hr.sep{border:0;border-top:1px solid var(--line);margin:18px 0}

/* Tools directory */
.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
@media (max-width:980px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.tool-grid{grid-template-columns:1fr}}
.tool-card{
  display:block;
  padding:16px;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:var(--radius);
  background:rgba(255,255,255,0.03);
  text-decoration:none;
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
}
.tool-card:hover{transform:translateY(-1px);border-color:rgba(255,255,255,0.18);background:rgba(255,255,255,0.05)}
.tool-card__title{font-weight:800;letter-spacing:-.01em;margin-bottom:6px;color:var(--text)}
.tool-card__desc{color:var(--muted);font-size:.95rem;line-height:1.35;margin-bottom:10px}
.tool-card__cta{font-size:.9rem;color:rgba(255,255,255,.85)}

/* Footer */
.footer{
  border-top:1px solid var(--line);
  margin-top:28px;
  padding:18px 0 6px;
  color:var(--muted);
  font-size:13px;
}

/* TOC (auto-inserted) */
.toc{
  margin:14px 0 10px;
  padding:0;
  border-radius:14px;
  border:none;
  background:transparent;
}
.toc strong{display:block;margin-bottom:8px}
.toc a{color:var(--text)}
.toc a:hover{color:var(--accent)}
.toc ul{margin:0;padding-left:1.1em}
.toc li{margin:6px 0;color:var(--muted)}




/* Callout tweaks */
.callout--spaced{margin-top:18px}
.callout--compact{padding:12px 14px}
.callout-title{margin:0 0 10px}
.callout-list{margin:0;padding-left:1.1em}
.callout-list li{margin:6px 0}

/* Table scroll polish */
.table-wrap{position:relative; scrollbar-width:thin; scrollbar-color: rgba(255,255,255,0.18) transparent;}
.table-wrap::-webkit-scrollbar{height:10px;width:10px}
.table-wrap::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.16);border-radius:999px}
.table-wrap::-webkit-scrollbar-track{background:transparent}
.table-wrap::before,.table-wrap::after{
  content:"";
  position:sticky;
  top:0;
  width:24px;
  height:100%;
  pointer-events:none;
  z-index:3;
  display:block;
}
.table-wrap::before{left:0; background:linear-gradient(90deg, rgba(7,10,16,0.90), transparent);}
.table-wrap::after{right:0; background:linear-gradient(270deg, rgba(7,10,16,0.90), transparent);}

/* Home hero bits (used on index) */
.hero-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.hero-meta-text{color:var(--muted);font-size:14px;line-height:1.25}
.top-picks{margin-top:18px;padding:14px 16px;border:1px solid rgba(255,255,255,0.10);border-radius:16px;background:rgba(255,255,255,0.02)}
.top-picks-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.top-picks-list{list-style:none;margin:0;padding:0;display:flex;gap:14px;flex-wrap:wrap}
.top-picks-list a{color:var(--text);text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.18)}
.top-picks-list a:hover{border-bottom-color:rgba(255,255,255,0.42)}
.hero-foot{margin-top:12px;color:var(--muted);font-size:12.5px;opacity:0.9}
.hero-foot a{color:var(--accent2);text-decoration:underline;text-underline-offset:3px}

/* v32: TOC on review pages (compact, below hero) */
.toc{margin:14px 0 26px}
.toc .toc-box{
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:16px;
  padding:10px 12px;
  box-shadow:none;
}
.toc .toc-box > summary{
  list-style:none;
  cursor:pointer;
  font-weight:700;
  color:var(--text);
  opacity:0.95;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:14px;
  padding:2px 0;
}
.toc .toc-box > summary::after{content:'▾'; opacity:0.7; font-weight:800;}
.toc .toc-box[open] > summary::after{content:'▴';}

.toc .toc-box > summary::-webkit-details-marker{display:none}
.toc ul{margin:10px 0 0;padding-left:18px;columns:2;column-gap:28px}
.toc li{break-inside:avoid;padding:2px 0}
.toc a{color:var(--text);opacity:0.92;text-decoration:none}
.toc a:hover{text-decoration:underline;opacity:1}
@media (max-width: 860px){
  .toc ul{columns:1}
}

.toc .toc-box > summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
.toc .toc-box > summary:after{content:"▾";opacity:0.75;font-weight:700}
.toc .toc-box[open] > summary:after{transform:rotate(180deg)}

/* Table: highlight top pick row */
.table-wrap tbody tr.is-top-pick td{
  background:rgba(125,211,252,0.08) !important;
}
.table-wrap tbody tr.is-top-pick td:first-child{
  /* Keep the highlight, but avoid extra "RECOMMENDED" pills in the tool cell */
  position:relative;
  box-shadow:inset 3px 0 0 rgba(125,211,252,0.55);
}

/* Badges inside tables should be compact (the global .badge is tuned for cards) */
.table-wrap .badge{
  margin-bottom:0;
  padding:3px 8px;
  font-size:11px;
  line-height:1.1;
  border-color:rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.04);
  font-weight:650;
}
.table-wrap tbody tr.is-top-pick .badge{
  border-color:rgba(125,211,252,0.38);
  background:rgba(125,211,252,0.10);
}

/* Trust + next steps + FAQ (v33) */
.trust-box, .next-steps{
  margin:18px 0;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:22px;
  background:rgba(255,255,255,0.02);
}
.trust-box h3, .next-steps h3{margin:0 0 10px;letter-spacing:-.01em}
.trust-box ul{margin:0;padding-left:1.2em}
.next-steps-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.pill-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.02);
  color:var(--text);
  text-decoration:none;
  font-weight:700;
  font-size:13px;
}
.pill-link:hover{border-color:rgba(125,211,252,0.35);background:rgba(125,211,252,0.06);text-decoration:none}

.faq{margin-top:24px}
.faq details{
  border:1px solid rgba(255,255,255,0.10);
  border-radius:18px;
  padding:12px 14px;
  background:rgba(255,255,255,0.02);
  margin:10px 0;
}
.faq summary{cursor:pointer;font-weight:800;color:var(--text);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";float:right;opacity:0.7;font-weight:900}
.faq details[open] summary:after{content:"–"}
.faq p{margin:10px 0 0;color:var(--muted)}


/* v34: Premium polish (cleaner dark, calmer glow, better rhythm) */
:root{
  --bg:#0b0f1a;
  --bg2:#070a12;
  --card: rgba(255,255,255,0.035);
  --card2: rgba(255,255,255,0.02);
  --muted:#b1becc;
  --line: rgba(255,255,255,0.10);
  --shadow: 0 10px 28px rgba(0,0,0,0.35);
}

/* Calmer background */
body{
  background:
    radial-gradient(1100px 520px at 50% -12%, rgba(125,211,252,0.032), transparent 62%),
    radial-gradient(900px 520px at 50% 0%, rgba(167,139,250,0.026), transparent 64%),
    linear-gradient(180deg, var(--bg), var(--bg2) 86%);
}

/* More breathing room */
.wrap{padding:28px}
@media (max-width: 520px){.wrap{padding:20px}}

/* Header: slightly lighter + less heavy */
.nav{
  background: rgba(11,15,26,0.62);
  border-bottom:1px solid rgba(255,255,255,0.08);
}

/* Review hero: reduce "wide empty space" feel */
.review-hero{padding:22px 0 14px}
.review-hero-grid{gap:22px;grid-template-columns:minmax(0,1fr) 340px}
@media (max-width: 980px){.review-hero-grid{grid-template-columns:1fr}}
.review-hero .meta-row{gap:8px 14px;margin:8px 0 8px}
.review-hero .lede p{font-size:16px;line-height:1.6;max-width:75ch}

/* Buttons: slightly more solid primary */
.btn.primary{
  background:rgba(125,211,252,0.16);
  border-color:rgba(125,211,252,0.42);
}
.btn.primary:hover{border-color:rgba(125,211,252,0.62)}

/* Pick card: less glossy */
.pick-card{
  background:rgba(255,255,255,0.03);
  border-color:rgba(255,255,255,0.10);
  box-shadow:0 12px 30px rgba(0,0,0,0.28);
}
.pick-card__meta li{background:rgba(255,255,255,0.015)}

/* TOC: make it quieter (it should never steal the hero) */
.toc{margin:10px 0 22px}
.toc .toc-box{
  box-shadow:none;
  background:rgba(255,255,255,0.025);
  border-color:rgba(255,255,255,0.10);
  padding:12px 14px;
}
.toc .toc-box > summary{opacity:0.9;font-weight:800}
.toc a{opacity:0.88}
.toc a:hover{opacity:1}

/* Changelog (trust-box details) */
.changelog{
  margin-top:10px;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:16px;
  padding:10px 12px;
  background:rgba(255,255,255,0.015);
}
.changelog > summary{
  cursor:pointer;
  list-style:none;
  font-weight:800;
  color:var(--text);
  opacity:0.92;
}
.changelog > summary::-webkit-details-marker{display:none}
.changelog > summary:after{content:"▾";float:right;opacity:0.7}
.changelog[open] > summary:after{transform:rotate(180deg)}
.changelog ul{margin:10px 0 0;padding-left:1.2em}


/* High-intent chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}


/* Mini affiliate link under tool names (quick comparison tables) */
.tool-mini { margin-top: 6px; }
a.mini-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  line-height: 1;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.92);
  text-decoration: none;
}
a.mini-link:hover {
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.22);
  text-decoration: none;
}
a.mini-link:focus { outline: 2px solid rgba(255,255,255,0.25); outline-offset: 2px; }



/* Affiliate-first: mobile sticky CTA bar (v46) */
.has-sticky-affiliate{padding-bottom:78px}


/* Elite money pass: Why these picks + Next steps */
.why-picks{margin:16px 0 10px;border:1px solid rgba(255,255,255,0.10);border-radius:22px;background:rgba(255,255,255,0.02);padding:14px}
.why-picks__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.why-picks__title{margin:0;font-size:18px;font-weight:950;letter-spacing:-0.01em}
.why-picks__sub{color:rgba(234,242,248,0.82)}
.why-picks__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.why-pick-card{border:1px solid rgba(255,255,255,0.10);border-radius:18px;background:rgba(0,0,0,0.12);padding:12px}
.why-pick-card__kicker{font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(234,242,248,0.72)}
.why-pick-card__name{font-size:16px;font-weight:950;letter-spacing:-0.01em;margin:4px 0 8px 0}
.why-pick-card__list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.why-pick-card__list li{color:rgba(234,242,248,0.92)}
.why-pick-card__actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.why-pick-card__jump{color:rgba(234,242,248,0.86);text-decoration:none}
.why-pick-card__jump:hover{text-decoration:underline}
.why-pick-card__cta{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,0.16);background:rgba(255,255,255,0.04);font-weight:950;text-decoration:none;color:var(--text)}
.why-pick-card__cta:hover{transform:translateY(-1px)}
.next-steps{margin:16px 0 10px;border:1px solid rgba(255,255,255,0.10);border-radius:22px;background:rgba(255,255,255,0.02);padding:14px}
.next-steps__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.next-steps__title{font-weight:950;letter-spacing:-0.01em}
.next-steps__sub{color:rgba(234,242,248,0.82)}
.next-steps__links{display:flex;flex-wrap:wrap;gap:10px}
.next-steps__link{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,0.12);background:rgba(0,0,0,0.10);text-decoration:none;color:var(--text);font-weight:900}
.next-steps__link:hover{transform:translateY(-1px)}
@media (max-width:860px){
  .why-picks__grid{grid-template-columns:1fr}
  .why-pick-card__actions{flex-direction:column;align-items:stretch}
  .why-pick-card__cta{width:100%}
  .next-steps__head{flex-direction:column;align-items:flex-start}
  .why-picks__head{flex-direction:column;align-items:flex-start}
  .next-steps__link{width:100%}
}

.sticky-affiliate{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:60;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(7,10,16,0.86);
  backdrop-filter: blur(10px);
  border-top:1px solid rgba(255,255,255,0.10);
  transform:translateY(120%);
  transition:transform .18s ease;
}
.sticky-affiliate.is-visible{transform:translateY(0)}
.sticky-affiliate__inner{
  max-width:var(--max);
  margin:0 auto;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
}
.sticky-affiliate__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(125,211,252,0.35);
  background:rgba(125,211,252,0.14);
  color:var(--text);
  font-weight:900;
  text-decoration:none;
  flex:1;
}
.sticky-affiliate__btn:hover{text-decoration:none;filter:brightness(1.06);border-color:rgba(125,211,252,0.55)}
.sticky-affiliate__link{
  color:var(--muted);
  font-weight:850;
  text-decoration:none;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.03);
  white-space:nowrap;
}
.sticky-affiliate__link:hover{text-decoration:none;color:var(--text);border-color:rgba(255,255,255,0.14)}
@media (min-width: 861px){
  .sticky-affiliate{display:none}
  .has-sticky-affiliate{padding-bottom:0}
}


/* Table tool link */
.table-wrap table td a{color:var(--text)}
.table-wrap table td a:hover{opacity:.96}

/* Affiliate-first CTA strip under the quick comparison table */
.cta-strip{margin:14px 0 18px 0;}
.cta-strip__inner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 12px;border:1px solid rgba(255,255,255,0.10);border-radius:16px;background:rgba(255,255,255,0.03)}
.cta-strip__label{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(234,242,248,0.78)}
.cta-strip__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid rgba(255,255,255,0.12);text-decoration:none;font-weight:900;color:var(--text);background:rgba(255,255,255,0.02)}
.cta-strip__btn.primary{background:linear-gradient(180deg, rgba(125,211,252,0.22), rgba(125,211,252,0.10));border-color:rgba(125,211,252,0.35)}
.cta-strip__btn:hover{opacity:.98;border-color:rgba(255,255,255,0.18)}
.cta-strip__hint{margin-left:auto;font-weight:850;color:rgba(234,242,248,0.82);text-decoration:none;padding:8px 10px;border-radius:999px;border:1px dashed rgba(255,255,255,0.18)}
.cta-strip__hint:hover{color:var(--text);border-color:rgba(255,255,255,0.26)}

@media (max-width: 620px){
  .cta-strip__inner{gap:8px}
  .cta-strip__hint{margin-left:0}
  .cta-strip__btn{width:100%}
}

/* v53: Flat background to eliminate visible seams on wide screens */
html{background:var(--bg);}
body{
  background: linear-gradient(180deg, var(--bg), var(--bg2) 100%);
}

/* v54: Force a truly flat, uniform background (removes glow seams on some displays) */
html, body{background:var(--bg) !important;}
body{background-image:none !important; background-attachment:initial !important;}
.nav{background:var(--bg) !important; backdrop-filter:none !important;}



/* --- Elite affiliate tweaks (v55) --- */
.bestfor-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin: 10px 0 14px;
}

.bestfor-chips .chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.03);
  color: var(--text);
  font-size: 13px;
  line-height: 1;
  cursor:pointer;
  user-select:none;
}

.bestfor-chips .chip:hover{
  background: rgba(255,255,255,0.055);
  border-color: rgba(125,211,252,0.35);
}

.bestfor-chips .chip:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(125,211,252,0.18);
}

.bestfor-chips .chip .k{
  color: var(--muted);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.bestfor-chips .chip .v{
  font-weight: 700;
}

.table-wrap table tbody tr.is-row-highlight td{
  background: rgba(125,211,252,0.06);
  box-shadow: inset 0 0 0 1px rgba(125,211,252,0.22);
}

@media (max-width: 760px){
  .bestfor-chips{ gap:8px; }
  .bestfor-chips .chip{ padding: 7px 10px; font-size: 12.5px; }
}


/* --- ATSG interactive modules (v64) --- */
.input{
  width:100%;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03);
  color: var(--text);
  font-size: 15px;
}
.input:focus{
  outline: none;
  border-color: rgba(125,211,252,0.35);
  box-shadow: 0 0 0 3px rgba(125,211,252,0.14);
}

.atsg-finder{
  margin: 14px 0 18px;
  padding: 14px 14px 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03);
  border-radius: 16px;
}
.atsg-finder-head{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.atsg-finder-title{ font-weight: 800; letter-spacing: -0.01em; }
.atsg-finder-sub{ font-size: 13px; color: var(--muted); margin-top: 2px; }
.pill-row{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.pill{
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.02);
  color: var(--text);
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  cursor:pointer;
  user-select:none;
}
.pill:hover{ border-color: rgba(125,211,252,0.25); background: rgba(255,255,255,0.04); }
.pill.is-active{
  border-color: rgba(125,211,252,0.45);
  box-shadow: 0 0 0 3px rgba(125,211,252,0.12);
}
.atsg-finder-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
  margin-top: 12px;
}
.atsg-pick{
  display:flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.18);
}
.atsg-pick-k{ font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.atsg-pick-name{ font-weight: 800; }
.atsg-pick-meta{ font-size: 13px; color: var(--muted); }
.atsg-pick-actions{ display:flex; flex-wrap:wrap; gap: 8px; margin-top: 2px; }
.atsg-mini{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.02);
  color: var(--text);
  font-weight: 700;
  font-size: 13px;
}
.atsg-mini:hover{ border-color: rgba(125,211,252,0.25); background: rgba(255,255,255,0.04); }

.atsg-compare{
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.atsg-compare-row{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  align-items:center;
}
.atsg-compare-row select{
  background: rgba(255,255,255,0.03);
  color: var(--text);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  padding: 10px 12px;
}
.atsg-compare-out{
  margin-top: 10px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  overflow:hidden;
}
.atsg-compare-out table{
  width:100%;
  border-collapse: collapse;
}
.atsg-compare-out td, .atsg-compare-out th{
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  vertical-align: top;
}
.atsg-compare-out th{ text-align:left; color: var(--muted); font-weight: 700; width: 160px; }
.atsg-compare-out tr:last-child td, .atsg-compare-out tr:last-child th{ border-bottom: none; }

.framework-callout{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  margin: 14px 0 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(125,211,252,0.04);
  border-radius: 16px;
}
.framework-kicker{
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.framework-title{ margin-bottom: 4px; }

.stack-builder{
  margin-top: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03);
  border-radius: 18px;
  padding: 14px;
}
.stack-steps{ display:grid; gap: 12px; }
.stack-step-title{ font-weight: 800; margin-bottom: 6px; }
.stack-output{ margin-top: 14px; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 14px; }
.stack-output-head{ display:flex; align-items:center; justify-content: space-between; gap: 10px; }
.stack-output-title{ font-weight: 900; }
.stack-grid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.stack-card{
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: rgba(0,0,0,0.18);
  padding: 12px;
}
.stack-card h3{ margin: 0 0 6px 0; font-size: 16px; }
.stack-card ul{ margin: 0; padding-left: 18px; }
.stack-card .stack-links{ margin-top: 10px; display:flex; flex-wrap:wrap; gap: 8px; }

.stack-rec{ border-top: 1px solid rgba(255,255,255,0.10); margin-top: 10px; padding-top: 10px; }
.stack-rec-name{ font-size: 14px; margin-top: 2px; }
.stack-rec-why{ margin-top: 4px; color: var(--muted); }

@media (max-width: 900px){
  .atsg-finder-grid{ grid-template-columns: 1fr; }
  .stack-grid{ grid-template-columns: 1fr; }
  .framework-callout{ flex-direction: column; align-items: flex-start; }
}


/* Use-case blocks (v65) */

.usecase{margin:20px 0;padding:18px;border:1px solid var(--bd);border-radius:16px;background:var(--bg2)}
.usecase-head{max-width:70ch}
.usecase-eyebrow{margin:0 0 6px;color:var(--muted);font-size:13px}
.usecase-head h2{margin:0 0 6px;font-size:18px}
.usecase-sub{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.usecase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.usecase-card{padding:14px;border:1px solid var(--bd);border-radius:14px;background:var(--bg);box-shadow:0 1px 0 rgba(0,0,0,.03)}
.usecase-card h3{margin:0 0 8px;font-size:15px;line-height:1.3}
.usecase-card ul{margin:0;padding-left:18px;color:var(--text);font-size:14px;line-height:1.5}
.usecase-card li{margin:4px 0}
.usecase-best{margin:10px 0 0;font-size:14px}
.usecase-kicker{color:var(--muted)}
.usecase-note{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
@media (max-width:820px){
  .usecase-grid{grid-template-columns:1fr}
}


/* Path quiz (v66) */


/* ─────────────────────────────────────────────────────────────
   Quick path picker (pre-rendered quiz)
   Dark-theme, table highlight, and accessible states
   ───────────────────────────────────────────────────────────── */

.path-quiz{margin:18px 0 22px}
.pq-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(180deg,var(--card),var(--card2));
  box-shadow:0 10px 28px rgba(0,0,0,.26);
  padding:14px 14px 12px
}
.pq-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.pq-title{font-weight:800;letter-spacing:.2px}
.pq-sub{color:var(--muted);margin-top:2px;max-width:62ch}

.pq-reset{
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--text);
  border-radius:999px;
  padding:8px 12px;
  font-weight:700;
  cursor:pointer;
  transition:transform .08s ease, border-color .12s ease, background .12s ease
}
.pq-reset:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22)}
.pq-reset:active{transform:translateY(1px)}

.pq-steps{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:900px){.pq-steps{grid-template-columns:1fr 1fr 1fr}}
.pq-step{
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(0,0,0,.18);
  padding:10px 10px 9px
}
.pq-q{font-weight:800;margin:0 0 8px;display:flex;gap:8px;align-items:center}
.pq-num{
  width:22px;height:22px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:var(--text);
  font-size:12px
}

.pq-opts{display:flex;flex-wrap:wrap;gap:8px}
.pq-opt{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  color:var(--text);
  border-radius:999px;
  padding:7px 10px;
  font-weight:700;
  cursor:pointer;
  transition:transform .08s ease, border-color .12s ease, background .12s ease, box-shadow .12s ease
}
.pq-opt:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.22)
}
.pq-opt:active{transform:translateY(1px)}
.pq-opt.is-active{
  border-color:rgba(125,211,252,.55);
  box-shadow:0 0 0 3px rgba(125,211,252,.10);
  background:rgba(125,211,252,.06)
}

.pq-result{
  margin-top:10px;
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:10px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center
}
.pq-result .pq-best{
  font-weight:800
}
.pq-result .pq-note{color:var(--muted)}
.pq-jump{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  color:var(--text);
  border-radius:999px;
  padding:7px 10px;
  font-weight:800;
  cursor:pointer
}
.pq-jump:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22)}

/* table highlighting */
.pq-hot{
  outline:2px solid rgba(125,211,252,.65);
  outline-offset:-2px;
  background:rgba(125,211,252,.05)
}
.pq-dim{opacity:.45}

/* best bet line (always visible) */
.pq-bestline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:10px 0 12px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(0,0,0,.18)
}
.pq-bestline-left{display:flex;flex-direction:column;gap:2px}
.pq-bestline-kicker{color:var(--muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:11px}
.pq-bestline-name{font-weight:900;font-size:16px;line-height:1.1}
.pq-bestline .pq-jump{white-space:nowrap}



/* v85: Review width consistency (Option A) */
/* Allow review article container to use full content width, while keeping paragraphs readable. */
.prose.article{max-width:var(--max)}
.prose.article > p,
.prose.article > ul,
.prose.article > ol,
.prose.article > blockquote,
.prose.article > h2,
.prose.article > h3,
.prose.article > h4,
.prose.article > .small,
.prose.article > .callout,
.prose.article > .faq,
.prose.article > .faq-grid{max-width:78ch}
.prose.article > .table-wrap,
.prose.article > .cta-strip,
.prose.article > .tool-grid,
.prose.article > .card-grid{max-width:none}

/* v85: Review width consistency (Option A)
   Problem: some sections (use-case blocks, path picker) use the main content width,
   while the quick comparison table is constrained by .prose max-width.
   Fix: let the review article container span the same content width as other sections,
   but keep text elements readable by constraining them back to ~78ch.
*/
.prose.article{max-width:var(--max)}

/* Keep text blocks readable */
.prose.article > p,
.prose.article > ul,
.prose.article > ol,
.prose.article > blockquote,
.prose.article > h2,
.prose.article > h3,
.prose.article > h4,
.prose.article > .small,
.prose.article > .callout,
.prose.article > .faq,
.prose.article > .faq-grid,
.prose.article > .related,
.prose.article > .related-grid{
  max-width:78ch;
}

/* Ensure common headings anchor in the same column */
.prose.article > h2,
.prose.article > h3,
.prose.article > h4{margin-left:0;margin-right:0}

/* Let rich elements (tables, grids, tool cards) use full content width */
.prose.article .table-wrap,
.prose.article .tool-grid,
.prose.article .compare-grid,
.prose.article .cta-strip{
  max-width:none;
}

/* v86: Stack Builder should use full content width on large screens */
.prose.article .stack-builder,
.prose.article .stack-grid{
  max-width:none;
}


/* Hub page helpers */
.hero-sub{max-width:72ch;color:var(--muted);font-size:1.05rem;line-height:1.55;margin-top:10px}
.link-list{margin:12px 0 0;padding-left:18px}
.link-list li{margin:8px 0}


/* --- Quick picks table polish (readability + responsive) --- */
.atg-quickpicks .atg-table{
  width:100%;
  table-layout:fixed;
  min-width:0; /* override global min-width that can cause overflow in 2-col layouts */
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
}
.atg-quickpicks .atg-table th,
.atg-quickpicks .atg-table td{
  padding:12px 14px;
  vertical-align:top;
}
.atg-quickpicks .atg-table th{
  font-size:0.9rem;
  letter-spacing:0.01em;
}
.atg-quickpicks .atg-table tr + tr td{
  border-top:1px solid var(--line);
}
.atg-quickpicks .atg-table th:nth-child(1),
.atg-quickpicks .atg-table td:nth-child(1){
  width:22%;
  white-space:nowrap;
}
.atg-quickpicks .atg-table th:nth-child(3),
.atg-quickpicks .atg-table td:nth-child(3){
  width:20%;
  text-align:right;
  white-space:nowrap;
}
.atg-quickpicks .atg-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:10px; /* fixes 'MondayPick #1' look */
  padding:2px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:0.8rem;
  color:var(--muted);
  background:rgba(125,211,252,0.05);
}
.atg-quickpicks .atg-table td:nth-child(2){
  color:var(--muted);
}
.atg-quickpicks .atg-table td:nth-child(3) a{
  display:inline-block;
}

/* Responsive: make the table wrap nicely on narrow screens */
@media (max-width: 900px){
  .atg-quickpicks .atg-table,
  .atg-quickpicks .atg-table thead,
  .atg-quickpicks .atg-table tbody,
  .atg-quickpicks .atg-table tr,
  .atg-quickpicks .atg-table th,
  .atg-quickpicks .atg-table td{
    display:block;
    width:100%;
  }
  .atg-quickpicks .atg-table thead{
    display:none;
  }
  .atg-quickpicks .atg-table tr{
    border-top:1px solid var(--line);
    padding:10px 0;
  }
  .atg-quickpicks .atg-table tr:first-child{
    border-top:none;
    padding-top:0;
  }
  .atg-quickpicks .atg-table td{
    border:none;
    padding:6px 14px;
    text-align:left !important;
    white-space:normal;
  }
  .atg-quickpicks .atg-table td:nth-child(3){
    padding-top:10px;
  }
}


/* --- Hub link-list + click safety --- */
.link-list a{position:relative;z-index:2;pointer-events:auto}
.link-list li{position:relative}
/* If cards use overlay pseudo-elements, ensure they don't block clicks */
.card::before,.card::after{pointer-events:none}


/* Link-list note styling */
.link-list .muted{opacity:.85}

/* Link list readability */
.link-list li{line-height:1.45}
.link-list a{display:inline}


/* --- Pass2: formatting + click safety + readability --- */
.link-list{margin:0;padding-left:1.1rem}
.link-list li{line-height:1.5;margin:.35rem 0}
.link-list a{position:relative;z-index:2;pointer-events:auto}
.link-list .note::before{content:" — ";opacity:.85}
.link-list .note{opacity:.85;font-size:.95em}
.card::before,.card::after{pointer-events:none}
/* Make long labels wrap nicely */
.link-list a, .quick-picks a{word-break:break-word;overflow-wrap:anywhere}


/* --- Pass3: accessibility + polish --- */
.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  left:1rem; top:1rem; width:auto; height:auto; padding:.75rem 1rem;
  border-radius:12px; background:rgba(255,255,255,.12); outline:2px solid rgba(255,255,255,.25);
  z-index:9999;
}
:focus-visible{ outline: 2px solid rgba(255,255,255,.28); outline-offset: 2px; }

/* Quick picks table: consistent spacing + alignment */
.quick-picks table{ width:100%; border-collapse:separate; border-spacing:0 .35rem; }
.quick-picks th{ text-align:left; font-weight:600; opacity:.9; padding:.25rem .5rem; }
.quick-picks td{ padding:.4rem .5rem; vertical-align:top; }
.quick-picks tr{ background:rgba(255,255,255,.03); border-radius:14px; }
.quick-picks tr td:first-child{ border-top-left-radius:14px; border-bottom-left-radius:14px; }
.quick-picks tr td:last-child{ border-top-right-radius:14px; border-bottom-right-radius:14px; }

/* Prevent cramped "ToolPick #1" look */
.quick-picks a{ display:inline-flex; gap:.4rem; align-items:baseline; flex-wrap:wrap; }
.quick-picks .badge, .quick-picks .pill{ margin-left:.15rem; }

/* Improve hub lists */
.link-list li{ margin:.4rem 0; }
.link-list a{ text-underline-offset: 3px; }


/* Anchor stubs to prevent broken #links (Pass3b) */
.anchor-stub{ display:block; position:relative; top:-90px; height:0; visibility:hidden; }
.anchor-stubs{ height:0; }


/* --- Pass4: quick-picks visual fix + CTA behavior --- */
.quick-picks table{ table-layout: fixed; }
.quick-picks th:nth-child(1), .quick-picks td:nth-child(1){ width: 22%; }
.quick-picks th:nth-child(2), .quick-picks td:nth-child(2){ width: 56%; }
.quick-picks th:nth-child(3), .quick-picks td:nth-child(3){ width: 22%; text-align:right; }
.quick-picks td:nth-child(1) a{ font-weight:600; }
.quick-picks td{ word-wrap:break-word; overflow-wrap:anywhere; }
.quick-picks .pill, .quick-picks .badge{ white-space:nowrap; }
a.btn, .btn, a.button, .button{ cursor:pointer; }

/* --- Pass5: Quick picks table layout + tool cell spacing --- */
.quick-picks table td:nth-child(1){
  display:flex;
  align-items:center;
  gap:10px;
}
.quick-picks table td:nth-child(2){ line-height:1.45; }
.quick-picks table td:nth-child(3) a{ white-space:nowrap; }

/* --- Pass6: Quick picks tool wrapper --- */
.qp-tool{ display:inline-flex; align-items:center; gap:10px; }
.qp-tool a{ white-space:nowrap; }
.qp-tool .pill, .qp-tool .badge, .qp-tool .tag{ white-space:nowrap; }
