:root{
  --bg:#0b132b; --bg2:#0f1b3d; --panel:#13224a; --ink:#1a2238;
  --brand:#16c79a; --brand2:#1ee0b0; --accent:#5b8cff;
  --text:#e8edf7; --muted:#9aa6c2; --line:rgba(255,255,255,.10);
  --card:#0f1a38; --radius:16px; --maxw:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:'Inter',-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;-webkit-font-smoothing:antialiased;
}
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}
a{color:var(--brand2);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;font-weight:800;letter-spacing:-.02em}
h1{font-size:clamp(2rem,5vw,3.4rem)}
h2{font-size:clamp(1.5rem,3vw,2.1rem)}
.lead{font-size:1.18rem;color:#cdd6ec}
.maxw{max-width:680px}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.center{text-align:center}
.eyebrow{display:inline-block;color:var(--brand);font-weight:700;font-size:.8rem;
  letter-spacing:.18em;text-transform:uppercase;margin-bottom:.5rem}
.grad{background:linear-gradient(90deg,var(--brand),var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(11,19,43,.82);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:64px;height:auto;gap:18px;padding:8px 0}
.brand{font-weight:800;font-size:1.2rem;color:#fff;letter-spacing:-.02em}
.brand span{color:var(--brand)}
.links{display:flex;align-items:center;gap:14px 16px;flex-wrap:wrap;justify-content:flex-end}
.links a{color:var(--text);font-weight:500;font-size:.9rem}
.links a:hover{color:var(--brand2);text-decoration:none}
.navtoggle,.hamburger{display:none}

/* Buttons */
.btn{display:inline-block;background:linear-gradient(90deg,var(--brand),var(--brand2));
  color:#04231b;font-weight:700;padding:12px 22px;border-radius:12px;border:0;
  cursor:pointer;font-size:1rem;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(22,199,154,.30);text-decoration:none}
.btn-sm{padding:8px 16px;font-size:.9rem}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--brand);box-shadow:none;color:#fff}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.link-arrow{font-weight:600}
.link-arrow.back{display:inline-block;margin-bottom:14px}

/* Hero */
.hero{padding:72px 0 40px;background:
  radial-gradient(900px 400px at 80% -10%,rgba(91,140,255,.18),transparent),
  radial-gradient(700px 380px at 0% 10%,rgba(22,199,154,.16),transparent)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero-copy h1{margin-top:.2em}
.term{background:#06101f;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.45)}
.term-bar{display:flex;gap:7px;padding:12px 14px;background:#0a1830;border-bottom:1px solid var(--line)}
.term-bar span{width:12px;height:12px;border-radius:50%;background:#33405f}
.term-bar span:first-child{background:#ff5f57}
.term-bar span:nth-child(2){background:#febc2e}
.term-bar span:nth-child(3){background:#28c840}
.term pre{margin:0;padding:18px;font-family:'JetBrains Mono',monospace;font-size:.92rem;color:#cfe7ff;overflow:auto}
.term .c{color:var(--accent)} .term .g{color:var(--brand2)}

/* Sections */
.section{padding:56px 0}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}
.narrow{max-width:720px;margin:0 auto}

/* Feature cards */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.feature:hover{border-color:rgba(22,199,154,.5)}
.ficon{font-size:2rem;margin-bottom:10px}
.ficon.big{font-size:2.6rem}
.feature h3{margin:.2em 0 .3em}

/* Post cards */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.post-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.post-card:hover{transform:translateY(-3px);border-color:rgba(22,199,154,.5)}
.post-card h3{font-size:1.18rem}
.post-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;
  padding-top:14px;color:var(--muted);font-size:.88rem}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.tag{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--brand2);background:rgba(22,199,154,.12);border:1px solid rgba(22,199,154,.3);
  padding:3px 9px;border-radius:999px}

/* Blog gate */
.blog-stage{position:relative}
.blog-stage.is-gated{min-height:42rem}
.post-grid.locked{filter:blur(7px);pointer-events:none;user-select:none;opacity:.6}
.gate{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:20px}
.gate-card{background:rgba(15,26,56,.96);border:1px solid var(--line);border-radius:18px;
  padding:34px;max-width:440px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.gate-card .ficon{font-size:2.4rem}
.gate-form{display:flex;flex-direction:column;gap:12px;margin:18px 0 8px}
.gate-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92rem;color:#cdd6ec;text-align:left}

/* Forms */
input,textarea,select{width:100%;background:#0a1834;border:1px solid var(--line);
  color:var(--text);padding:12px 14px;border-radius:10px;font-size:1rem;font-family:inherit}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(22,199,154,.18)}
.stack-form{display:flex;flex-direction:column;gap:14px;margin-top:18px;text-align:left}
.stack-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92rem;color:#cdd6ec}
.newsletter-opt-in{display:flex;flex-direction:column;gap:4px}
.stack-form label.newsletter-opt-in-label{flex-direction:row;align-items:flex-start;gap:10px;font-weight:600;cursor:pointer}
.newsletter-opt-in-label input[type="checkbox"]{width:1.15rem;height:1.15rem;min-width:1.15rem;margin:0.2rem 0 0;padding:0;accent-color:var(--brand);flex:0 0 auto}
.newsletter-opt-in-note{margin:0 0 0 1.75rem}
.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.alert{background:rgba(255,95,87,.12);border:1px solid rgba(255,95,87,.4);color:#ffd9d6;
  padding:12px 16px;border-radius:10px;margin:14px 0}
.alert.success{background:rgba(22,199,154,.12);border-color:rgba(22,199,154,.45);color:#bff4e4}

/* About */
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}
.photo-frame{aspect-ratio:4/5;border-radius:18px;overflow:hidden;border:1px solid var(--line);
  background:linear-gradient(160deg,#13224a,#0a1834);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:6px;color:var(--muted)}
.photo-frame.placeholder span{font-weight:700;color:#cdd6ec}
.photo-frame img{width:100%;height:100%;object-fit:cover}

/* Services */
.service-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:34px 0}
.service-block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px}
ul.check{list-style:none;padding:0;margin:14px 0 0}
ul.check li{padding:7px 0 7px 28px;position:relative;color:#cdd6ec}
ul.check li::before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:800}
.how{margin:48px 0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.step .num{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;
  background:rgba(22,199,154,.15);border:1px solid rgba(22,199,154,.4);color:var(--brand2);
  border-radius:50%;font-weight:800;margin-bottom:10px}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;
  background:linear-gradient(120deg,#13224a,#0c1733);border:1px solid var(--line);
  border-radius:var(--radius);padding:30px;margin-top:34px}

/* Podcast */
.latest-title{margin:28px 0 0;font-size:1.35rem}
.latest-watch{margin:0 0 8px}
.video-wrap{position:relative;padding-top:56.25%;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);margin:26px 0 10px;background:#06101f}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.panel.sponsor{background:linear-gradient(160deg,#11244b,#0c1a3a);border-color:rgba(91,140,255,.3)}

/* Welcome */
.welcome-card{background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:38px;text-align:center;max-width:560px;margin:0 auto}
.welcome-card .ficon{font-size:2.6rem}
.divider{display:flex;align-items:center;gap:14px;color:var(--muted);margin:26px 0;font-size:.8rem;
  letter-spacing:.12em;text-transform:uppercase}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}

/* Prose */
.prose{font-size:1.06rem;color:#dde4f3;max-width:720px}
.prose h2{margin-top:1.4em;font-size:1.4rem}
.prose code{background:#0a1834;border:1px solid var(--line);padding:2px 6px;border-radius:6px;
  font-family:'JetBrains Mono',monospace;font-size:.9em;color:#bdf3e4}
.post-single{max-width:760px}
.post-byline{margin-top:-.4em}

/* Footer */
.footer{border-top:1px solid var(--line);padding:36px 0 26px;margin-top:40px;background:#08112440}
.footer-inner{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-bottom:14px}
.social{display:flex;gap:20px;align-items:center}
.social a{color:var(--muted)} .social a:hover{color:var(--brand2)}

/* Responsive */
@media(max-width:860px){
  .hero-grid,.about-grid,.service-split,.two-col{grid-template-columns:1fr}
  .cards-3,.post-grid,.steps{grid-template-columns:1fr 1fr}
  .links{position:fixed;inset:64px 0 auto 0;flex-direction:column;background:#0b132b;
    border-bottom:1px solid var(--line);padding:18px 22px;gap:16px;align-items:flex-start;
    transform:translateY(-120%);transition:transform .25s;height:auto}
  .navtoggle:checked ~ .links{transform:translateY(0)}
  .hamburger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
  .hamburger span{width:24px;height:2px;background:var(--text);border-radius:2px}
}
@media(max-width:560px){
  .cards-3,.post-grid,.steps{grid-template-columns:1fr}
  .hero{padding:48px 0 28px}
}

/* ── P1/P2/P3 additions ─────────────────────────────────────── */

/* Hero animated background */
.hero{position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;background:
  radial-gradient(600px 300px at 80% 0%,rgba(91,140,255,.20),transparent),
  radial-gradient(520px 280px at 5% 20%,rgba(22,199,154,.18),transparent);
  animation:floaty 14s ease-in-out infinite alternate}
@keyframes floaty{from{transform:translateY(-10px) scale(1)}to{transform:translateY(10px) scale(1.05)}}
.hero .container{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.hero-bg{animation:none}}

/* Logo strip */
.logo-strip{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center;
  padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:8px 0}
.logo-label{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}
.logos{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.logo-chip{color:#aab6d3;font-weight:700;letter-spacing:.02em;opacity:.8;
  border:1px solid var(--line);padding:7px 14px;border-radius:10px;font-size:.9rem}

/* Testimonials */
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quote-card{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.quote-card blockquote{margin:0 0 14px;font-size:1.04rem;color:#e3e9f6;line-height:1.55}
.quote-card figcaption{display:flex;flex-direction:column;color:var(--muted);font-size:.9rem}
.quote-card figcaption strong{color:#fff}

/* Credentials */
.creds{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.creds.wide{margin:24px 0 8px}
.cred{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:12px 16px;min-width:120px}
.cred-label{font-weight:800;color:var(--brand2)}
.cred-note{font-size:.8rem;color:var(--muted)}

/* Contact booking */
.booking{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  background:linear-gradient(120deg,#13224a,#0c1733);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px 24px;margin:22px 0}

/* Listen chips */
.listen-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 8px}
.listen-label{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}
.listen-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);
  background:var(--card);color:var(--text);padding:8px 14px;border-radius:999px;font-weight:600;font-size:.9rem}
.listen-chip:hover{border-color:var(--brand);color:#fff;text-decoration:none}

/* Sponsor stats */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:center}
.stat-val{font-size:1.7rem;font-weight:800;color:var(--brand2)}
.stat-label{color:var(--muted);font-size:.86rem;margin-top:4px}
/* Public /sponsors audience grid. Six cards, no inline styles (CSP).
   Desktop: 3 columns, 2 rows, equal height. Tablet: 2 columns.
   Mobile: 2 columns. Both narrower layouts fill every row. */
.audience-stat-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:1fr;gap:16px;margin:28px 0 0;align-items:stretch;
}
.audience-stat-grid > .stat{
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  min-width:0;min-height:168px;height:100%;
}
.audience-stat-grid .stat-val{line-height:1.15}
.audience-stat-grid .stat-label{line-height:1.35;max-width:28em}
.audience-stat-note{margin:14px 0 0;line-height:1.45}
.audience-stat-note + .audience-stat-note{margin-top:4px}
.audience{margin-top:8px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.chip{background:rgba(91,140,255,.12);border:1px solid rgba(91,140,255,.32);color:#cdd9ff;
  padding:7px 14px;border-radius:999px;font-size:.88rem;font-weight:600}
.format-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}
.format-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.format-card h3{font-size:1.05rem;margin:0 0 .35em}
.format-card p{margin:0}
.packet{background:#f4f6f8;color:#1a2238;border-radius:16px;padding:18px;margin-top:12px}
.packet-inner h2,.packet-inner h3{color:#0b132b}
.packet-inner p,.packet-inner li{color:#1a2238}
.joe-flag{border:1px dashed rgba(254,188,46,.75);background:rgba(254,188,46,.08);
  color:#ffe7a3;padding:12px 14px;border-radius:12px;margin:16px 0;font-size:.92rem}

/* On-page pricing cards */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:14px}
.price-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.price-card.featured{border:2px solid var(--brand);box-shadow:0 14px 40px rgba(22,199,154,.18)}
.price-badge{position:absolute;top:-12px;left:24px;background:var(--brand);color:#04231b;
  font-size:.72rem;font-weight:800;letter-spacing:.04em;padding:4px 12px;border-radius:999px;text-transform:uppercase}
.price-name{font-weight:700;font-size:1.05rem}
.price-amt{font-size:2rem;font-weight:800;color:#fff;margin:6px 0 4px}
.price-amt span{font-size:.9rem;color:var(--muted);font-weight:500}

/* Episode page */
.video-placeholder{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:#06101f;border:1px dashed var(--line);border-radius:var(--radius);padding:28px;margin:22px 0;color:var(--muted)}
.transcript{white-space:pre-line;color:#c5cfe6}
.ep-nav{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:30px 0;
  padding-top:18px;border-top:1px solid var(--line)}

/* Footer columns */
.footer-cols{display:flex;gap:48px;flex-wrap:wrap}
.footer-col{display:flex;flex-direction:column;gap:8px}
.footer-col h4{margin:0 0 4px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.footer-col a{color:#aab6d3;font-size:.92rem}
.footer-col a:hover{color:var(--brand2)}

@media(max-width:860px){
  .testimonials,.stat-grid,.price-grid,.format-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .testimonials,.stat-grid,.price-grid,.format-grid{grid-template-columns:1fr}
}
/* Tablet: two columns, three even rows. 768px lands here. */
@media(max-width:900px){
  .audience-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audience-stat-grid > .stat{min-height:156px}
}
/* Mobile: two columns, three even rows. No single leftover card. */
@media(max-width:560px){
  .audience-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .audience-stat-grid > .stat{min-height:148px;padding:16px 12px}
  .audience-stat-grid .stat-val{font-size:1.35rem}
}

/* ── Scrolling sponsor logo marquee ─────────────────────────────── */
.sponsor-marquee,
.sponsor-logo-strip{margin:28px 0}
.sponsor-marquee-label{
  text-align:center;font-size:.78rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);margin-bottom:16px;
}
.marquee-viewport{
  position:relative;overflow:hidden;width:100%;
  /* fade the edges so logos slide in/out softly */
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee-track{
  display:flex;width:max-content;
  animation:marquee-scroll var(--marquee-speed,40s) linear infinite;
}
.marquee-viewport:hover .marquee-track,
.marquee-viewport:focus-within .marquee-track{animation-play-state:paused}
.marquee-item a{display:inline-flex;align-items:center;line-height:0;border-radius:4px}
.marquee-item a:focus-visible{
  outline:2px solid var(--text);outline-offset:4px;
}
.marquee-group{display:flex;align-items:center}
.marquee-item{
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;padding:0 28px;height:60px;
}
.marquee-item img{
  max-height:42px;max-width:150px;width:auto;object-fit:contain;
  /* uniform look for mixed logos on the dark theme */
  filter:grayscale(100%) brightness(1.6) opacity(.75);
  transition:filter .25s ease,transform .25s ease;
}
.marquee-item:hover img,
.marquee-item a:hover img{filter:none;transform:translateY(-2px)}
.marquee-chip{
  display:inline-flex;align-items:center;height:40px;padding:0 22px;
  border:1px solid var(--line);border-radius:10px;background:var(--card);
  color:var(--muted);font-weight:700;font-size:.95rem;white-space:nowrap;
  transition:color .25s ease,border-color .25s ease;
}
.marquee-item a:hover .marquee-chip{color:var(--text);border-color:var(--brand)}
/* Real sponsor marks share one height. Black source files are stored as
   white so they stay visible on the dark page. Fastly stays red, so
   grayscale turns it gray and hover restores the red. */
.sponsor-logo-strip .marquee-item{height:72px}
.sponsor-logo-strip .marquee-item img{
  height:36px;max-height:36px;max-width:220px;width:auto;
  filter:grayscale(100%);opacity:.9;
}
.sponsor-logo-strip .marquee-item:hover img,
.sponsor-logo-strip .marquee-item a:hover img,
.sponsor-logo-strip .marquee-item a:focus-visible img{
  filter:none;opacity:1;
}
@keyframes marquee-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}   /* exactly one group width */
}
@media(prefers-reduced-motion:reduce){
  .marquee-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%;min-width:0}
  .marquee-group{flex-wrap:wrap;justify-content:center;width:100%;max-width:100%;min-width:0}
  .marquee-group[aria-hidden="true"]{display:none}
  .marquee-viewport{overflow:visible;-webkit-mask-image:none;mask-image:none}
}
.consent-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:80;
  display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
  max-width:760px;margin:0 auto;padding:16px 18px;
  background:var(--panel);color:var(--text);
  border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:0 16px 40px rgba(0,0,0,.45);
}
.consent-banner[hidden]{display:none}
.consent-banner h2{font-size:1rem;margin:0 0 4px}
.consent-banner p{margin:0;color:var(--text)}
.consent-actions{display:flex;gap:10px;flex-wrap:wrap}
.consent-banner .btn:focus-visible,
.consent-banner .btn-ghost:focus-visible{outline:2px solid var(--brand2);outline-offset:2px}
.footer-col .js-consent-settings,
.prose .js-consent-settings{
  background:none;border:0;padding:0;font:inherit;text-align:left;cursor:pointer;
}
.footer-col .js-consent-settings{color:#aab6d3;font-size:.92rem}
.footer-col .js-consent-settings:hover{color:var(--brand2)}
.prose .js-consent-settings{color:var(--brand2);text-decoration:underline}
.footer-col .js-consent-settings:focus-visible,
.prose .js-consent-settings:focus-visible{outline:2px solid var(--brand2);outline-offset:2px}
.choice-status{
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;margin:18px 0;
}
.privacy-opt-out{white-space:normal;max-width:100%;text-align:center}
.privacy-opt-out:focus-visible{outline:2px solid var(--brand2);outline-offset:2px}

/* Per-sponsor landing page. The logo stays inside the column on a phone.
   .section's padding shorthand would otherwise clear the container gutter. */
.sponsor-landing{padding-left:22px;padding-right:22px}
.sponsor-landing-logo{margin:8px 0 18px;max-width:100%}
.sponsor-landing-logo a{display:inline-flex;max-width:100%;border-radius:8px;line-height:0}
.sponsor-landing-logo a:focus-visible{outline:2px solid var(--brand2);outline-offset:4px}
.sponsor-landing-logo img{
  display:block;width:auto;max-width:min(280px,100%);height:auto;
  background:#fff;border-radius:12px;padding:14px 18px;box-sizing:border-box;
}
.sponsor-landing .panel{margin-top:36px}
.sponsor-landing h1{font-size:clamp(1.7rem,4vw,2.6rem)}
.sponsor-landing .prose h2{font-size:1.45rem}
.sponsor-landing .prose h3{font-size:1.12rem;margin-top:1.15em}
.sponsor-landing .prose p{margin:0 0 1em}
.sponsor-landing .prose ul{margin:0 0 1em;padding-left:1.25em}
.sponsor-landing .prose li{margin:.4em 0}
.sponsor-landing .prose blockquote{
  margin:0 0 1.2em;padding:14px 16px;
  border-left:3px solid var(--brand);
  background:rgba(22,199,154,.08);
  border-radius:0 12px 12px 0;
}
.sponsor-landing .prose blockquote p{margin:0}
.sponsor-landing .prose .video-wrap{margin:18px 0 22px}
.sponsor-landing .prose strong{color:#fff}
.sponsor-todo{
  border:1px dashed rgba(22,199,154,.55);border-radius:12px;
  padding:12px 14px;color:var(--muted);margin:0 0 18px;
}
