/* Homepage redesign (built on /home2 2026-10-22, live 2026-11-02). Loaded only by beta/home.blade.php, after home-v1.css.
   Blocks: livelier proof strip (.ph2-proof), problem cards with their fix (.ph2-card), AI search band (.ph2-ai).
   Big blocks stay brand navy #0F172A; solid green stays on the paying buttons only. */

/* ---- Proof strip: each tile has its own accent, the AI tile is a navy feature tile ---- */
.ph2-proof .ph-proof-t{text-decoration:none!important;color:inherit}
.ph2-proof .ph-proof-t::before{opacity:1;height:3px;background:var(--acc)}
.ph2-proof .ph-proof-t::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(closest-side,var(--glow),transparent);pointer-events:none}
.ph2-proof .c1{--acc:linear-gradient(90deg,#10B981,#0c8f52);--glow:rgba(16,185,129,.14)}
.ph2-proof .c3{--acc:linear-gradient(90deg,#38bdf8,#2563eb);--glow:rgba(56,189,248,.14)}
.ph2-proof .c4{--acc:linear-gradient(90deg,#fbbf24,#f97316);--glow:rgba(251,191,36,.16)}
.ph2-proof .c3 .ph-proof-i{background:linear-gradient(135deg,rgba(56,189,248,.18),rgba(37,99,235,.06));color:#2563eb;box-shadow:inset 0 0 0 1px rgba(56,189,248,.25)}
.ph2-proof .c4 .ph-proof-i{background:linear-gradient(135deg,rgba(251,191,36,.22),rgba(249,115,22,.06));color:#c2410c;box-shadow:inset 0 0 0 1px rgba(251,191,36,.3)}
.ph2-proof .ai{--acc:linear-gradient(90deg,#a78bfa,#34d399);--glow:rgba(167,139,250,.35);background:linear-gradient(150deg,#0F172A 0%,#1b2440 60%,#1E293B 100%);border-color:#0F172A}
.ph2-proof .ai b{background:linear-gradient(90deg,#c4b5fd,#6ee7b7);-webkit-background-clip:text;background-clip:text;color:transparent}
.ph2-proof .ai > span:last-child{color:#cbd5e1}
.ph2-proof .ai .ph-proof-i{background:rgba(167,139,250,.16);color:#c4b5fd;box-shadow:inset 0 0 0 1px rgba(167,139,250,.35)}
.ph2-proof .ai:hover{border-color:#a78bfa}
html.dark .ph2-proof .c3 .ph-proof-i{color:#7dd3fc}
html.dark .ph2-proof .c4 .ph-proof-i{color:#fbbf24}

/* ---- Problem cards: illustration, pain, then the fix ---- */
.pv.ph .ph2-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px;text-align:left}
.pv.ph .ph2-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 22px 22px;transition:transform .2s ease,box-shadow .2s ease}
.pv.ph .ph2-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px -26px rgba(15,23,42,.45)}
.pv.ph .ph2-card h3{font-size:19px;font-weight:700;margin:10px 0 8px}
.pv.ph .ph2-card > p{margin:0 0 18px;color:var(--mute);font-size:15px}
.ph2-art{position:relative;height:128px;margin:0 -8px 18px;border-radius:12px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:14px 16px;overflow:hidden;
  background:linear-gradient(180deg,#f6f7fb,#eef1f6);box-shadow:inset 0 0 0 1px rgba(15,23,42,.05)}
.ph2-art::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(15,23,42,.07) 1px,transparent 1px);background-size:14px 14px;pointer-events:none}
html.dark .ph2-art{background:linear-gradient(180deg,#131c2e,#0f172a);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
html.dark .ph2-art::before{background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px)}
.ph2-art > *{position:relative}
/* 01 bounced emails */
.ph2-mail{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:9px;padding:7px 10px;font-size:13px;box-shadow:0 6px 14px -10px rgba(15,23,42,.4)}
.ph2-mail.dim{opacity:.6;margin-left:14px}
.ph2-mail .to{color:#94a3b8;font-size:12px}
.ph2-mail code{font:500 12.5px "Geist Mono",ui-monospace,monospace;color:#0f172a;text-decoration:line-through;text-decoration-color:rgba(220,38,38,.55)}
.ph2-mail .x{margin-left:auto;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fee2e2;color:#dc2626;font-size:12px}
.ph2-bounce{position:absolute!important;right:14px;bottom:10px;font:600 11px/1 Geist,system-ui;letter-spacing:.04em;text-transform:uppercase;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;padding:5px 9px}
html.dark .ph2-mail{background:#1e293b;border-color:#334155}
html.dark .ph2-mail code{color:#e2e8f0}
html.dark .ph2-bounce,html.dark .ph2-mail .x{background:rgba(220,38,38,.15);border-color:rgba(220,38,38,.35);color:#fca5a5}
/* 02 wrong desk */
.ph2-desk{display:flex;align-items:center;gap:8px;font-size:13px}
.ph2-desk .tag{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;border-radius:999px;padding:5px 10px;font-weight:600}
.ph2-desk .pitch{background:#fff;border:1px dashed #94a3b8;border-radius:9px;padding:5px 10px;color:#334155}
.ph2-desk iconify-icon{color:#94a3b8}
.ph2-inbox{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:9px;padding:8px 10px;font-size:13px;color:#64748b}
.ph2-inbox i{flex:1;height:6px;border-radius:3px;background:#eef2f7}
.ph2-inbox i:last-child{flex:.6}
html.dark .ph2-desk .tag{background:rgba(251,146,60,.12);border-color:rgba(251,146,60,.35);color:#fdba74}
html.dark .ph2-desk .pitch,html.dark .ph2-inbox{background:#1e293b;border-color:#334155;color:#cbd5e1}
html.dark .ph2-inbox i{background:#334155}
/* 03 annual contract */
.ph2-quote{display:flex;flex-direction:column;gap:2px;align-self:center;width:min(220px,100%);background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;box-shadow:0 10px 22px -16px rgba(15,23,42,.5);transform:rotate(-2deg)}
.ph2-quote > span:first-child{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}
.ph2-quote b{font-size:22px;letter-spacing:-.02em;color:#0f172a}
.ph2-steps{display:flex;gap:6px;margin-top:6px}
.ph2-steps em{font-style:normal;font-size:11.5px;color:#475569;background:#f1f5f9;border-radius:6px;padding:3px 7px}
html.dark .ph2-quote{background:#1e293b;border-color:#334155}
html.dark .ph2-quote b{color:#f1f5f9}
html.dark .ph2-steps em{background:#0f172a;color:#cbd5e1}
/* the fix */
.ph2-fix{margin-top:auto;display:flex;gap:10px;align-items:flex-start;padding-top:14px;border-top:1px dashed var(--line);font-size:14.5px;line-height:1.45;color:var(--ink);font-weight:500}
.ph2-fix iconify-icon{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:13px;margin-top:1px}
.ph2-bridge{font-size:19px!important}

/* ---- AI search band (navy, full bleed) ---- */
.pv.ph .ph2-ai{--band:#0F172A;position:relative;isolation:isolate;color:#e2e8f0;padding-top:88px;padding-bottom:88px;
  background:#0F172A;box-shadow:0 0 0 100vmax #0F172A;clip-path:inset(0 -100vmax)}
/* Glows on one layer as wide as the screen minus 20px a side, faded to transparent at both ends by a mask. A background
   on the section itself stopped at the content width (seam, Ryan 2026-10-22) and big box-shadow blurs end in a hard
   edge in Chrome. The layer stays inside the viewport, so it never adds horizontal scroll. */
.pv.ph .ph2-ai::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw + 20px);width:calc(100vw - 40px);z-index:-1;pointer-events:none;
  background:radial-gradient(45% 75% at 78% 12%,rgba(167,139,250,.24),transparent 70%),radial-gradient(40% 70% at 12% 100%,rgba(16,185,129,.15),transparent 70%);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.ph2-ai-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.ph2-ai-eyebrow{display:inline-flex;align-items:center;gap:8px;font:500 12px/1 "Geist Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:#c4b5fd;
  background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.3);border-radius:999px;padding:7px 12px}
.pv.ph .ph2-ai h2{margin:18px 0 0;font-size:clamp(30px,3.6vw,44px);line-height:1.06;letter-spacing:-.03em;font-weight:800;color:#fff;text-wrap:balance}
.ph2-ai h2 span{background:linear-gradient(90deg,#c4b5fd,#6ee7b7);-webkit-background-clip:text;background-clip:text;color:transparent}
.pv.ph .ph2-ai .ph2-ai-lead{margin:18px 0 0;font-size:18px;line-height:1.55;color:#cbd5e1;max-width:560px}
.ph2-prompt{margin-top:26px;border-radius:16px;padding:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.ph2-prompt-in{display:flex;align-items:center;gap:10px;min-height:48px;background:#fff;color:#0f172a;border-radius:11px;padding:10px 14px;font-size:16px;font-weight:500;box-shadow:0 0 0 4px rgba(167,139,250,.25)}
.ph2-prompt-in iconify-icon{flex:0 0 auto;color:#7c3aed;font-size:18px}
.ph2-prompt-in .cur{display:inline-block;width:2px;height:20px;margin-left:-6px;background:#7c3aed;animation:ph2blink .9s steps(1) infinite}
@keyframes ph2blink{50%{opacity:0}}
.ph2-prompt-out{display:flex;flex-wrap:wrap;gap:8px;min-height:72px;align-content:flex-start;padding:12px 2px 2px}
.ph2-prompt-out .chip{font-size:13.5px;color:#e2e8f0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 12px;opacity:0;transform:translateY(6px);animation:ph2chip .35s ease forwards;animation-delay:var(--d)}
@keyframes ph2chip{to{opacity:1;transform:none}}
.ph2-ai-pts{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}
.ph2-ai-pts li{display:flex;gap:10px;font-size:14.5px;line-height:1.5;color:#cbd5e1}
.ph2-ai-pts b{color:#fff;font-weight:600}
.ph2-ai-pts iconify-icon{flex:0 0 auto;font-size:18px;color:#a78bfa;margin-top:2px}
.ph2-ai-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:30px}
.ph2-ai-cta .pv-btn{width:auto;padding:13px 22px}
.pv.ph .ph2-ai-cta span{font-size:13.5px;color:#94a3b8}
.ph2-ai-shot{position:relative}
.ph2-ai-shot::before{content:"";position:absolute;inset:-30px 0;background:radial-gradient(closest-side,rgba(167,139,250,.35),transparent);filter:blur(10px);z-index:0}
.ph2-ai-shot .mt-frame{position:relative;z-index:1;border-color:rgba(255,255,255,.14);box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
.ph2-ai-img{position:relative;aspect-ratio:1/1;background:#f8fafc}
.ph2-ai-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right top}
.ph2-ai-img .ph2-d{display:none}
html.dark .ph2-ai-img{background:#0f172a}
html.dark .ph2-ai-img .ph2-d{display:block}
html.dark .ph2-ai-img .ph2-l{display:none}
/* The tour frame styles live in the app-tour partial; give the bar a navy-friendly look here too. */
.ph2-ai .mt-bar{background:#1e293b;border-color:#334155}
.ph2-ai .mt-bar i{background:#475569}
.ph2-ai .mt-bar span{background:#0f172a;color:#94a3b8}

@media (max-width:1024px){
  .ph2-ai-grid{grid-template-columns:minmax(0,1fr);gap:40px}
}
@media (max-width:900px){
  .pv.ph .ph2-cards{grid-template-columns:minmax(0,1fr)}
  /* Phones: show the AI panel side of the screenshot, larger */
}
@media (max-width:640px){
  .pv.ph .ph2-ai{padding-top:56px;padding-bottom:56px}
  .ph2-ai-pts{grid-template-columns:minmax(0,1fr)}
  .ph2-prompt-in{font-size:15px}
  .ph2-ai-lead{font-size:16.5px}
}
@media (prefers-reduced-motion:reduce){
  .pv.ph .ph2-card,.pv.ph .ph2-card:hover{transition:none;transform:none}
  .ph2-prompt-out .chip{animation:none;opacity:1;transform:none}
  .ph2-prompt-in .cur{animation:none}
}

/* ---- home2 reorder (2026-10-22) ---- */
/* "Media List gets you" card (2026-10-22): three promises in one card that straddles the top edge of the navy AI band */
.pv.ph .ph2-promise{position:relative;z-index:2;max-width:1040px;margin:48px auto -64px;padding:22px 26px 24px;border-radius:20px;text-align:center;
  background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(110deg,#a78bfa,#38bdf8 50%,#34d399) border-box;border:1.5px solid transparent;
  box-shadow:0 30px 60px -28px rgba(15,23,42,.55),0 0 0 6px rgba(167,139,250,.07)}
.ph2-promise-h{display:inline-block;margin-bottom:16px;font:500 12px/1 "Geist Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.ph2-promise-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:left}
.ph2-pp{display:flex;align-items:center;gap:14px;padding:4px 22px}
.ph2-pp + .ph2-pp{border-left:1px solid var(--line)}
.ph2-pp .ic{flex:0 0 auto;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;font-size:22px;color:#fff;box-shadow:0 10px 20px -10px var(--sh)}
.ph2-pp.p1 .ic{background:linear-gradient(135deg,#a78bfa,#7c3aed);--sh:rgba(124,58,237,.7)}
.ph2-pp.p2 .ic{background:linear-gradient(135deg,#38bdf8,#2563eb);--sh:rgba(37,99,235,.7)}
.ph2-pp.p3 .ic{background:linear-gradient(135deg,#34d399,#0c8f52);--sh:rgba(12,143,82,.7)}
.ph2-pp b{display:block;font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.ph2-pp small{display:block;margin-top:2px;font-size:13.5px;line-height:1.4;color:var(--mute)}
/* the AI band gets extra top room for the card's lower half */
.pv.ph .ph2-promise + .ph2-ai{padding-top:136px}
html.dark .pv.ph .ph2-promise{box-shadow:0 30px 60px -28px rgba(0,0,0,.8),0 0 0 6px rgba(167,139,250,.1)}
@media (max-width:900px){
  .pv.ph .ph2-promise{margin:32px auto -48px;padding:18px 16px 8px}
  .ph2-promise-row{grid-template-columns:minmax(0,1fr)}
  .ph2-pp{padding:12px 4px}
  .ph2-pp + .ph2-pp{border-left:0;border-top:1px solid var(--line)}
  .pv.ph .ph2-promise + .ph2-ai{padding-top:96px}
  /* phones: wide, short glows (a tall narrow ellipse read as a stripe) */
  .pv.ph .ph2-ai::before{background:radial-gradient(110% 35% at 85% 18%,rgba(167,139,250,.22),transparent 70%),radial-gradient(110% 30% at 10% 100%,rgba(16,185,129,.14),transparent 70%)}
}
/* risk-free points sit directly under the offer, without their own heading */
.pv.ph #offer + .pv-rf{padding-top:0}
.pv.ph #offer + .pv-rf .pv-h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---- Newsroom strip (2026-10-22): favicon per outlet and a soft pill on hover instead of the dotted underline.
   Overrides home-v1.css on the homepage only; newsroom.js rotation moves whole <li>s, so each icon stays with its name. ---- */
.pv.ph .ph-news ul{gap:8px 12px}
.pv.ph .ph-news .ph-nr-b{display:inline-flex;align-items:center;gap:9px;padding:6px 14px 6px 6px;border:1px solid transparent;border-radius:999px;
  transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.pv.ph .ph-news .ph-nr-b:hover,.pv.ph .ph-news .ph-nr.on .ph-nr-b,.pv.ph .ph-news .ph-nr-b:focus-visible{background:var(--card);border-color:var(--line);
  box-shadow:0 10px 24px -16px rgba(15,23,42,.5);transform:translateY(-1px);outline:0}
.pv.ph .ph-news .ph-nr-b:focus-visible{border-color:#12b76a}
.ph2-fav{flex:0 0 auto;width:24px;height:24px;padding:2px;border-radius:7px;background:#fff;object-fit:contain;box-shadow:0 0 0 1px rgba(15,23,42,.1),0 2px 6px -3px rgba(15,23,42,.3)}
.ph2-ini{display:grid;place-items:center;padding:0;font:700 10px/1 Geist,system-ui;letter-spacing:.02em;color:#fff;background:hsl(var(--h) 45% 38%)}
html.dark .ph2-fav{box-shadow:0 0 0 1px rgba(255,255,255,.12)}
@media (max-width:640px){
  .pv.ph .ph-news ul{gap:2px 0}
  .pv.ph .ph-news .ph-nr-b{gap:6px;padding:4px 9px 4px 4px;font-size:13.5px}
  .ph2-fav{width:20px;height:20px;padding:1.5px;border-radius:6px}
}
@media (prefers-reduced-motion:reduce){.pv.ph .ph-news .ph-nr-b{transition:none}.pv.ph .ph-news .ph-nr-b:hover{transform:none}}

/* ---- Customer stories (2026-10-22): cooler band + navy in dark mode (was green-black), soft glows, 5 gold stars ---- */
.pv.ph .ph2-tm{--band:#f5f7fb;position:relative;isolation:isolate}
.dark .pv.ph .ph2-tm{--band:#0b1222}
.pv.ph .ph2-tm::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw + 20px);width:calc(100vw - 40px);z-index:-1;pointer-events:none;
  background:radial-gradient(40% 45% at 8% 6%,rgba(167,139,250,.14),transparent 70%),radial-gradient(40% 45% at 94% 96%,rgba(52,211,153,.13),transparent 70%);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.dark .pv.ph .ph2-tm::before{background:radial-gradient(40% 40% at 8% 6%,rgba(167,139,250,.18),transparent 70%),radial-gradient(40% 40% at 94% 96%,rgba(45,212,191,.12),transparent 70%)}
.pv.ph .ph2-tm .ph-tm-card{position:relative;overflow:hidden;background:#fff;border-color:rgba(15,23,42,.07);
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 14px 34px -24px rgba(15,23,42,.28)}
.pv.ph .ph2-tm .ph-tm-card::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,#a78bfa,#38bdf8,#34d399);opacity:0;transition:opacity .2s}
.pv.ph .ph2-tm .ph-tm-card:hover{box-shadow:0 22px 44px -24px rgba(15,23,42,.38)}
.pv.ph .ph2-tm .ph-tm-card:hover::before{opacity:1}
.dark .pv.ph .ph2-tm .ph-tm-card{background:linear-gradient(180deg,#141d33 0%,#0f172a 100%);border-color:rgba(255,255,255,.07);box-shadow:0 22px 44px -30px rgba(0,0,0,.9)}
.dark .pv.ph .ph2-tm .ph-tm-card:hover{border-color:rgba(167,139,250,.3)}
.dark .pv.ph .ph2-tm .ph-tm-card blockquote{color:#cbd5e1}
.dark .pv.ph .ph2-tm .ph-tm-card figcaption{border-top-color:rgba(255,255,255,.08)}
.dark .pv.ph .ph2-tm .ph-tm-role{color:#94a3b8}
.dark .pv.ph .ph2-tm .pv-lead{color:#94a3b8}
.ph2-tm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ph2-stars{display:inline-flex;gap:3px}
.ph2-stars svg{width:17px;height:17px;fill:#f5a524;filter:drop-shadow(0 1px 1px rgba(180,110,0,.25))}
.dark .ph2-stars svg{fill:#fbbf24;filter:drop-shadow(0 0 6px rgba(251,191,36,.25))}
.pv.ph .ph2-tm .ph-tm-mark{height:auto;margin:0;font-size:48px;line-height:.6;padding-top:12px;opacity:1;
  background:linear-gradient(135deg,#a78bfa,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (max-width:900px){
  /* phones: wide, short glows (a narrow tall ellipse reads as a stripe) */
  .pv.ph .ph2-tm::before{background:radial-gradient(120% 12% at 15% 2%,rgba(167,139,250,.14),transparent 70%),radial-gradient(120% 12% at 85% 99%,rgba(52,211,153,.12),transparent 70%)}
  .dark .pv.ph .ph2-tm::before{background:radial-gradient(120% 12% at 15% 2%,rgba(167,139,250,.18),transparent 70%),radial-gradient(120% 12% at 85% 99%,rgba(45,212,191,.12),transparent 70%)}
}

/* ---- Hero copy spacing (2026-10-22, Ryan: tighten the vertical space, much smaller SEO line) ----
   The SEO phrase stays inside the H1 ("media list", "media contact database"); it is just smaller now. */
.pv.ph.ph-home .ph-hero-copy{gap:10px}
.pv.ph.ph-home .ph-hero .pv-h1 .pv-h1-kw{font-size:11px;line-height:1.2;letter-spacing:.14em;margin:0 0 6px;opacity:.9}
.pv.ph.ph-home .ph-hero .ph-lead{margin:0}
.pv.ph.ph-home .ph-hero .ph-ctas{margin-top:6px}

/* ---- Footer (2026-10-22, Ryan: better use of vertical space). Homepage only; overrides beta-chrome.css.
   Was: centered logo row, 6 link columns in a 5-column grid (Contact wrapped alone), 40px link rows -> 1017px tall.
   Now: brand column (logo, line, socials) beside all 6 link columns, tighter rows. Phones keep 40px tap targets. ---- */
footer.bf .bf-in{display:grid;grid-template-columns:240px minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"top cols" "social cols" "legal legal";
  column-gap:64px;padding:52px 24px 22px}
footer.bf .bf-top{grid-area:top;align-items:flex-start;text-align:left;gap:12px}
footer.bf .bf-logo img{width:150px}
footer.bf .bf-top p{font-size:14px;line-height:1.5;max-width:none}
footer.bf .bf-social{grid-area:social;align-self:start;justify-content:flex-start;gap:8px;margin:20px 0 0}
footer.bf .bf-social a{width:36px;height:36px;font-size:16px}
footer.bf .bf-cols{grid-area:cols;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 24px;margin:0;max-width:none}
footer.bf .bf-cols h4{margin:0 0 10px;font-size:13px;letter-spacing:.01em}
footer.bf .bf-cols a{padding:4px 0;font-size:13.5px;line-height:20px}
footer.bf .bf-legal{grid-area:legal;margin-top:40px;padding-top:18px}
@media (max-width:1100px){
  footer.bf .bf-in{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;grid-template-areas:"top social" "cols cols" "legal legal";padding:40px 24px 20px}
  footer.bf .bf-social{align-self:center;margin:0}
  footer.bf .bf-cols{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:32px}
  footer.bf .bf-legal{margin-top:32px}
}
@media (max-width:640px){
  footer.bf .bf-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "social" "cols" "legal";padding:32px 16px 18px}
  footer.bf .bf-social{justify-content:flex-start;margin-top:16px}
  footer.bf .bf-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;margin-top:24px}
  footer.bf .bf-cols a{padding:9px 0;font-size:13px;line-height:20px}
  footer.bf .bf-legal{margin-top:20px}
}

/* ---- Outlet grids (2026-10-22, Ryan): the social-proof focal point. Tabs + dots switch industry grids; each ends with
   the tab's live contact total and a trial button. Preview cards reuse .ph-nr / .ph-nr-card from home-v1.css. ---- */
.pv.ph .ph2-out{padding-top:64px;padding-bottom:40px;text-align:center}
.pv.ph .ph2-out .ph2-out-lead{margin:14px auto 0}
.ph2-out-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:28px auto 0;max-width:980px}
.ph2-out-tab{border:1px solid var(--line);background:var(--card);color:var(--body);font:600 14px/1 Geist,system-ui;padding:10px 16px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}
.ph2-out-tab:hover{border-color:#cbd5e1;color:var(--ink)}
.ph2-out-tab.on{background:#0F172A;border-color:#0F172A;color:#fff;box-shadow:0 10px 24px -14px rgba(15,23,42,.6)}
.dark .ph2-out-tab.on{background:#e2e8f0;border-color:#e2e8f0;color:#0F172A}
.ph2-out-tab:focus-visible{outline:2px solid #a78bfa;outline-offset:2px}
.pv.ph .ph2-out-box{position:relative;margin:22px auto 0;max-width:1180px;padding:26px;border-radius:24px;text-align:left;
  background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(120deg,rgba(167,139,250,.55),rgba(56,189,248,.35) 50%,rgba(52,211,153,.55)) border-box;border:1.5px solid transparent;
  box-shadow:0 40px 80px -48px rgba(15,23,42,.45)}
.pv.ph .ph-news ul.ph2-out-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-height:204px;align-content:start}
.pv.ph .ph-news .ph2-tile{opacity:1}
.pv.ph .ph2-tile-b{display:flex;align-items:center;gap:12px;width:100%;height:60px;padding:10px 14px 10px 10px;border:1px solid var(--line);border-radius:14px;background:var(--bg,#fbfcfb);
  font:600 15px/1.25 Geist,system-ui;color:var(--ink);text-align:left;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}
.pv.ph .ph2-tile-b.plain{cursor:default}
.pv.ph .ph2-tile-b .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv.ph .ph2-tile-b .go{flex:0 0 auto;font-size:15px;color:var(--faint);transition:transform .15s,color .15s}
.pv.ph .ph2-tile-b:not(.plain):hover,.pv.ph .ph-nr.on .ph2-tile-b,.pv.ph .ph2-tile-b:focus-visible{transform:translateY(-2px);background:var(--card);border-color:rgba(167,139,250,.55);box-shadow:0 14px 28px -18px rgba(15,23,42,.45);outline:0}
.pv.ph .ph-nr.on .ph2-tile-b .go{transform:rotate(180deg);color:#7c3aed}
.ph2-tile .ph2-fav{width:40px;height:40px;padding:4px;border-radius:10px}
.ph2-tile .ph2-ini{font-size:13px}
.ph2-out-foot{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;margin-top:22px;padding-top:20px;border-top:1px dashed var(--line)}
.ph2-out-num{display:flex;flex-direction:column;gap:2px;max-width:560px}
.pv.ph .ph2-out-num b{display:inline-block;font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-.03em;background:linear-gradient(90deg,#7c3aed,#2563eb 55%,#0c8f52);-webkit-background-clip:text;background-clip:text;color:transparent}
.dark .pv.ph .ph2-out-num b{background:linear-gradient(90deg,#c4b5fd,#7dd3fc 55%,#6ee7b7);-webkit-background-clip:text;background-clip:text}
.ph2-out-num span{font-size:14.5px;line-height:1.45;color:var(--mute)}
.ph2-out-cta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.ph2-out-cta .pv-btn{width:auto;padding:13px 20px}
.ph2-out-cta span{font-size:12.5px;color:var(--mute)}
.ph2-out-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.ph2-out-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:#cbd5e1;cursor:pointer;transition:width .25s,background .25s}
.ph2-out-dots button.on{width:26px;background:#7c3aed}
.dark .ph2-out-dots button{background:#334155}
.dark .ph2-out-dots button.on{background:#a78bfa}
.dark .pv.ph .ph2-tile-b{background:#0f172a;border-color:#1e293b}
.dark .pv.ph .ph2-tile-b:not(.plain):hover,.dark .pv.ph .ph-nr.on .ph2-tile-b{background:#131c30}
.dark .pv.ph .ph2-out-box{background:linear-gradient(#0b1222,#0b1222) padding-box,linear-gradient(120deg,rgba(167,139,250,.5),rgba(56,189,248,.3) 50%,rgba(52,211,153,.5)) border-box}
@media (max-width:1100px){.pv.ph .ph-news ul.ph2-out-grid{grid-template-columns:repeat(3,minmax(0,1fr));min-height:276px}}
@media (max-width:760px){
  .pv.ph .ph2-out{padding-top:44px}
  .ph2-out-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin:22px -16px 0;padding:2px 16px 6px}
  .ph2-out-tabs::-webkit-scrollbar{display:none}
  .ph2-out-tab{flex:0 0 auto;font-size:13.5px;padding:9px 14px}
  .pv.ph .ph2-out-box{padding:14px;border-radius:18px}
  .pv.ph .ph-news ul.ph2-out-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0}
  .pv.ph .ph2-tile-b{height:52px;gap:9px;padding:8px 10px 8px 8px;font-size:13.5px;border-radius:12px}
  .pv.ph .ph2-tile-b .nm{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .pv.ph .ph2-tile-b .go{display:none}
  .ph2-tile .ph2-fav{width:32px;height:32px;padding:3px;border-radius:8px}
  .ph2-out-foot{flex-direction:column;align-items:stretch;gap:14px;margin-top:16px;padding-top:16px}
  .pv.ph .ph2-out-num b{font-size:26px}
  .ph2-out-cta{align-items:stretch;text-align:center}
}
@media (prefers-reduced-motion:reduce){.ph2-tile-b,.ph2-out-dots button{transition:none}.ph2-tile-b:hover{transform:none}}

/* ---- Outlet strip under the hero (2026-10-22): stands in for "as seen in" logos. Bigger icons and type than the
   old strip so it reads as proof at a glance; each name links to the full press section. ---- */
.pv.ph .ph2-strip{margin-top:4px;padding:22px 0 8px}
.pv.ph .ph2-strip .ph-news-h{font-size:12.5px;margin-bottom:18px}
.pv.ph .ph2-strip ul{gap:12px 14px}
.pv.ph .ph2-strip .ph-nr-b{gap:11px;padding:7px 16px 7px 7px;font-size:17px;font-weight:700;text-decoration:none!important;color:var(--ink)}
.pv.ph .ph2-strip .ph2-fav{width:32px;height:32px;padding:3px;border-radius:9px}
@media (max-width:640px){
  .pv.ph .ph2-strip{padding:18px 0 4px}
  .pv.ph .ph2-strip .ph-news-h{margin-bottom:12px}
  .pv.ph .ph2-strip ul{gap:4px 2px}
  .pv.ph .ph2-strip .ph-nr-b{gap:7px;padding:5px 10px 5px 5px;font-size:14px}
  .pv.ph .ph2-strip .ph2-fav{width:24px;height:24px;padding:2px;border-radius:7px}
}

/* ---- Phone strip inside the hero (2026-10-22): above the fold on phones. Borderless scrolling row like the old
   customer logo row; the hero is navy, so light text and white icon tiles. Hidden on larger screens. ---- */
.ph2-hstrip{display:none}
@media (max-width:640px){
  .pv.ph .ph2-strip{display:none}
  .ph2-hstrip{display:block;width:100%;margin-top:4px}
  .ph2-hstrip-h{font:500 10.5px/1 "Geist Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8;margin-bottom:10px}
  .ph2-hstrip-wrap{overflow:hidden;margin:0 -16px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
  .ph2-hstrip-row{list-style:none;margin:0;padding:0 16px;display:flex;gap:8px;width:max-content;animation:ph2marq 60s linear infinite}
  .ph2-hstrip-wrap:active .ph2-hstrip-row{animation-play-state:paused}
  .ph2-hstrip-row li{margin:0}
  .ph2-hstrip-row a{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 5px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
    color:#e2e8f0!important;font:600 13.5px/1 Geist,system-ui;text-decoration:none!important;white-space:nowrap}
  .ph2-hstrip-row img{width:22px;height:22px;padding:2px;border-radius:6px;background:#fff}
  html.dark .ph2-hstrip-h{color:var(--faint)}
}
@keyframes ph2marq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ph2-hstrip-row{animation:none}.ph2-hstrip-wrap{overflow-x:auto}}
/* the name span inherits the strip size (home-v1.css sizes .ph-news spans at 12px for the old count line) */
.pv.ph .ph2-strip .ph-nr-b span{font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:-.005em}

/* ---- Podcast cards (2026-10-22): no screenshot, so a single column with topic chips under the header ---- */
.pv.ph .ph2-pod{padding-top:24px}
.ph2-pcard{width:340px}
.ph2-pcard-t{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px 2px}
.ph2-pcard-t em{font-style:normal;font-size:11.5px;font-weight:600;color:#6d28d9;background:#f3effe;border-radius:999px;padding:3px 9px}
html.dark .ph2-pcard-t em{color:#c4b5fd;background:rgba(167,139,250,.14)}

/* ---- Strip sets + dots (2026-10-22, Ryan): five sets stacked in one grid cell (height = tallest set). The active set
   comes in name by name (staggered blur, fade and lift); the old one fades out at once. Active dot = a pill whose fill
   runs for the 5s the set is shown. ---- */
.pv.ph .ph2-strip .ph2-sets{display:grid}
.pv.ph .ph2-strip .ph2-set{grid-area:1/1;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:12px 14px;pointer-events:none}
.pv.ph .ph2-strip .ph2-set li{opacity:0;transform:translateY(10px) scale(.98);filter:blur(6px);transition:opacity .25s ease,transform .25s ease,filter .25s ease}
.pv.ph .ph2-strip .ph2-set.on{pointer-events:auto}
.pv.ph .ph2-strip .ph2-set.on li{opacity:1;transform:none;filter:none;
  transition:opacity .55s cubic-bezier(.22,.8,.24,1),transform .65s cubic-bezier(.22,.8,.24,1),filter .55s ease;transition-delay:calc(var(--i) * 45ms + 120ms)}
.ph2-sdots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.ph2-sdots button{position:relative;width:8px;height:8px;padding:0;border:0;border-radius:999px;background:#d5dbe5;cursor:pointer;overflow:hidden;
  transition:width .35s cubic-bezier(.22,.8,.24,1),background .25s}
.ph2-sdots button:hover{background:#b8c1cf}
.ph2-sdots button.on{width:32px;background:#e4e0fb}
.ph2-sdots button i{position:absolute;inset:0;width:0;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#2563eb)}
.ph2-sdots button.on:not(.run) i{width:100%}
.ph2-sdots button.run i{animation:ph2fill linear forwards}
@keyframes ph2fill{from{width:0}to{width:100%}}
.ph2-sdots button:focus-visible{outline:2px solid #a78bfa;outline-offset:3px}
html.dark .ph2-sdots button{background:#283247}
html.dark .ph2-sdots button:hover{background:#3a465e}
html.dark .ph2-sdots button.on{background:#2a2350}
html.dark .ph2-sdots button i{background:linear-gradient(90deg,#a78bfa,#60a5fa)}
@media (prefers-reduced-motion:reduce){.pv.ph .ph2-strip .ph2-set li,.pv.ph .ph2-strip .ph2-set.on li{transition:opacity .2s;transform:none;filter:none}}

/* ---- Strip in dark mode (2026-10-22, Ryan: outlines too harsh): softer icon tiles, faint rules, quieter hover ---- */
html.dark .pv.ph .ph2-strip{border-color:rgba(255,255,255,.05)}
html.dark .pv.ph .ph2-strip .ph2-fav{background:#e6eaf1;box-shadow:none;filter:brightness(.9) saturate(.95)}
html.dark .pv.ph .ph2-strip .ph-nr-b{color:#d7dde7}
html.dark .pv.ph .ph2-strip .ph-nr-b:hover,html.dark .pv.ph .ph2-strip .ph-nr-b:focus-visible{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.06);box-shadow:none}
html.dark .pv.ph .ph2-hstrip-row img{filter:brightness(.9)}

/* ---- Press section v2 (2026-10-23, Ryan): outlet list left, live preview right. Previews are stacked in one grid cell
   and cross-fade (fade + slight lift + blur); the selected outlet's row carries a 5s progress line while auto-play runs. ---- */
.pv.ph .ph2-pr{padding:22px}
.ph2-pr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;align-items:start}
.ph2-pr-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}
.ph2-pr-list li{margin:0}
.ph2-pr-item{position:relative;display:flex;align-items:center;gap:11px;width:100%;padding:9px 12px 9px 9px;border:1px solid transparent;border-radius:14px;background:transparent;
  font:600 14.5px/1.25 Geist,system-ui;color:var(--body);text-align:left;cursor:pointer;overflow:hidden;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}
.ph2-pr-item .ph2-fav{width:36px;height:36px;padding:3px;border-radius:10px;flex:0 0 auto}
.ph2-pr-item .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ph2-pr-item .ct{font:500 12px/1 "Geist Mono",ui-monospace,monospace;color:var(--faint);opacity:0;transition:opacity .2s}
.ph2-pr-item:hover{background:var(--bg,#f8fafc);color:var(--ink)}
.ph2-pr-item:hover .ct,.ph2-pr-item.on .ct{opacity:1}
.ph2-pr-item.on{background:var(--card);border-color:rgba(124,58,237,.28);color:var(--ink);box-shadow:0 12px 28px -18px rgba(76,29,149,.45)}
.ph2-pr-item:focus-visible{outline:2px solid #a78bfa;outline-offset:2px}
.ph2-pr-item .pg{position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:2px;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#7c3aed,#2563eb);opacity:0}
.ph2-pr-item.run .pg{opacity:1;animation:ph2pg linear forwards}
@keyframes ph2pg{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ph2-pr-stage{display:grid;position:sticky;top:96px}
.ph2-pr-card{grid-area:1/1;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:var(--card);border:1px solid var(--line);
  box-shadow:0 30px 60px -36px rgba(15,23,42,.5);opacity:0;transform:translateY(8px) scale(.99);filter:blur(4px);pointer-events:none;
  transition:opacity .45s ease,transform .55s cubic-bezier(.22,.8,.24,1),filter .45s ease}
.ph2-pr-card.on{opacity:1;transform:none;filter:none;pointer-events:auto;transition-delay:.08s}
.ph2-pr-shot{position:relative;background:#f1f5f9;border-bottom:1px solid var(--line)}
.ph2-pr-shot .bar{display:flex;align-items:center;gap:6px;height:28px;padding:0 12px;background:#eef2f7}
.ph2-pr-shot .bar i{width:8px;height:8px;border-radius:50%;background:#cbd5e1}
.ph2-pr-shot .bar span{margin-left:8px;font-size:11.5px;color:#64748b;background:#fff;border-radius:6px;padding:2px 10px}
.ph2-pr-shot img{display:block;width:100%;height:auto;aspect-ratio:16/7.4;object-fit:cover;object-position:top}
.ph2-pr-body{padding:14px 18px 6px}
.ph2-pr-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px}
.ph2-pr-h b{display:block;font-size:19px;letter-spacing:-.01em;color:var(--ink)}
.ph2-pr-h span:not(.ph-soc){display:block;font-size:13px;color:var(--mute)}
.ph2-pr-rows{list-style:none;margin:0;padding:0}
.ph2-pr-rows li{display:flex;align-items:center;gap:11px;padding:8px 0;border-top:1px solid var(--line);margin:0}
.ph2-pr-rows .av{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font:700 12.5px/1 Geist,system-ui;color:#5b21b6;background:linear-gradient(135deg,#ede9fe,#dbeafe)}
.ph2-pr-rows .who{flex:1;min-width:0}
.ph2-pr-rows .who b{font-size:14px;font-weight:600;color:var(--ink)}
.ph2-pr-rows .who iconify-icon{font-size:12px;margin-left:5px;vertical-align:-1px}
.ph2-pr-rows .who em{display:block;font-style:normal;font-size:12.5px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph2-pr-rows .em{flex:0 0 auto;font-size:11px;letter-spacing:.05em;color:#94a3b8}
.ph2-pr-go{display:block;margin:4px -18px 0;padding:12px 18px;border-top:1px solid var(--line);font-weight:600;font-size:14.5px;color:#0c8f52!important;text-decoration:none!important}
.ph2-pr-go:hover{background:var(--green-tint)}
html.dark .ph2-pr-item:hover{background:rgba(255,255,255,.03)}
html.dark .ph2-pr-item.on{background:#131c30;border-color:rgba(167,139,250,.3);box-shadow:none}
html.dark .ph2-pr-item .ph2-fav{background:#e6eaf1;box-shadow:none;filter:brightness(.9)}
html.dark .ph2-pr-card{background:#0f172a;border-color:rgba(255,255,255,.08);box-shadow:0 30px 60px -36px rgba(0,0,0,.9)}
html.dark .ph2-pr-shot{background:#0b1222;border-color:rgba(255,255,255,.08)}
html.dark .ph2-pr-shot .bar{background:#1e293b}
html.dark .ph2-pr-shot .bar i{background:#475569}
html.dark .ph2-pr-shot .bar span{background:#0f172a;color:#94a3b8}
html.dark .ph2-pr-rows .av{color:#ddd6fe;background:linear-gradient(135deg,rgba(124,58,237,.35),rgba(37,99,235,.3))}
html.dark .ph2-pr-go{color:#34d399!important}
html.dark .ph2-pr-go:hover{background:rgba(52,211,153,.06)}
@media (max-width:1100px){.ph2-pr-list{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){
  .pv.ph .ph2-pr{padding:14px}
  .ph2-pr-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  /* phones: the outlets become one swipeable row of chips above the preview */
  .ph2-pr-list{display:flex;overflow-x:auto;gap:8px;margin:0 -14px;padding:2px 14px 6px;scrollbar-width:none;scroll-snap-type:x proximity}
  .ph2-pr-list::-webkit-scrollbar{display:none}
  .ph2-pr-list li{flex:0 0 auto;scroll-snap-align:start}
  .ph2-pr-item{width:auto;padding:6px 12px 6px 6px;border-color:var(--line);font-size:13.5px}
  .ph2-pr-item .ph2-fav{width:28px;height:28px}
  .ph2-pr-item .ct{display:none}
  .ph2-pr-stage{position:relative;top:0}
  .ph2-pr-h b{font-size:17px}
}
@media (prefers-reduced-motion:reduce){.ph2-pr-card,.ph2-pr-card.on{transition:opacity .2s;transform:none;filter:none}.ph2-pr-item.run .pg{animation:none}}

/* ---- Strip sets on a fixed 5 x 2 grid (2026-10-23, Ryan: no half-empty second rows). Each set holds exactly 10. ---- */
.pv.ph .ph2-strip .ph2-set{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 10px;justify-items:center;align-content:center;max-width:1180px;margin:0 auto;width:100%}
.pv.ph .ph2-strip .ph2-set li{min-width:0;max-width:100%}
.pv.ph .ph2-strip .ph2-set .ph-nr-b{max-width:100%}
.pv.ph .ph2-strip .ph2-set .ph-nr-b span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1100px){.pv.ph .ph2-strip .ph-nr-b{font-size:15px}}
@media (max-width:900px){.pv.ph .ph2-strip .ph2-set{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* long names wrap to two lines inside their cell instead of being cut */
.pv.ph .ph2-strip .ph2-set .ph-nr-b{font-size:16px;line-height:1.2;text-align:left}
.pv.ph .ph2-strip .ph2-set .ph-nr-b span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance}
@media (max-width:1100px){.pv.ph .ph2-strip .ph2-set .ph-nr-b{font-size:14.5px}}
/* columns sized to their names, spread across the row, so names stay on one line where there is room */
.pv.ph .ph2-strip .ph2-set{grid-template-columns:repeat(5,auto);justify-content:space-evenly;justify-items:start}
.pv.ph .ph2-strip .ph2-ini{font-size:11px}
@media (max-width:900px){.pv.ph .ph2-strip .ph2-set{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center}}

/* ---- Press section, compact (2026-10-23, Ryan: too much empty space). List and preview share one height: the preview
   is a short screenshot band plus a 2 x 2 people grid; the list stretches its tiles to the same height (one column of
   bigger tiles when a tab has 6 or fewer outlets). ---- */
.pv.ph .ph2-press{padding-top:48px;padding-bottom:24px}
.pv.ph .ph2-press .ph2-out-lead{margin-top:10px}
.pv.ph .ph2-press .ph2-out-tabs{margin-top:20px}
.pv.ph .ph2-press .ph2-out-box{margin-top:16px;padding:16px}
.ph2-pr-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:16px;align-items:stretch}
.ph2-pr-list{grid-auto-rows:minmax(48px,1fr);gap:6px;height:100%}
.ph2-pr-list.few{grid-template-columns:minmax(0,1fr)}
.ph2-pr-item{height:100%;padding:6px 12px 6px 8px;border-color:var(--line);background:var(--bg,#fbfcfb);font-size:14px}
.ph2-pr-item:hover{background:var(--card)}
.ph2-pr-item .ph2-fav{width:32px;height:32px}
.ph2-pr-item .ct{opacity:1;font-size:11.5px;color:var(--mute)}
.ph2-pr-item .ct small{display:none;font:inherit}
.ph2-pr-list.few .ph2-pr-item{font-size:16px;padding:8px 16px 8px 10px}
.ph2-pr-list.few .ph2-pr-item .ph2-fav{width:40px;height:40px}
.ph2-pr-list.few .ph2-pr-item .ct small{display:inline}
.ph2-pr-stage{position:relative;top:0}
.ph2-pr-card{box-shadow:0 20px 44px -30px rgba(15,23,42,.45)}
.ph2-pr-shot .bar{height:24px}
.ph2-pr-shot img{aspect-ratio:auto;height:168px}
.ph2-pr-body{padding:10px 14px 0}
.ph2-pr-h{padding-bottom:8px}
.ph2-pr-h b{font-size:17px}
.ph2-pr-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.ph2-pr-rows li{border:1px solid var(--line);border-radius:12px;padding:8px 10px;gap:9px}
.ph2-pr-rows .av{width:28px;height:28px;font-size:12px}
.ph2-pr-rows .who b{font-size:13.5px}
.ph2-pr-rows .who em{font-size:12px}
.ph2-pr-rows .em{display:none}
.ph2-pr-go{margin:10px -14px 0;padding:10px 14px;font-size:14px}
.pv.ph .ph2-press .ph2-out-foot{margin-top:14px;padding-top:14px}
.pv.ph .ph2-press .ph2-out-num{flex-direction:row;align-items:baseline;gap:10px}
.pv.ph .ph2-press .ph2-out-num b{font-size:28px}
html.dark .ph2-pr-item{background:#0d1526;border-color:rgba(255,255,255,.06)}
html.dark .ph2-pr-rows li{border-color:rgba(255,255,255,.07)}
@media (max-width:1100px){.ph2-pr-list:not(.few){grid-template-columns:repeat(2,minmax(0,1fr))}.ph2-pr-item .ct{display:none}}
@media (max-width:860px){
  .ph2-pr-list{height:auto}
  .ph2-pr-item{height:auto}
  .ph2-pr-shot img{height:150px}
  .ph2-pr-rows{grid-template-columns:minmax(0,1fr)}
  .pv.ph .ph2-press .ph2-out-num{flex-direction:column;gap:2px}
}
/* phones (re-stated after the compact rules above): chip row on top, preview below */
@media (max-width:860px){
  .ph2-pr-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .ph2-pr-list,.ph2-pr-list.few{display:flex;grid-template-columns:none;height:auto;overflow-x:auto;gap:8px;margin:0 -16px;padding:2px 16px 6px}
  .ph2-pr-item,.ph2-pr-list.few .ph2-pr-item{width:auto;height:auto;padding:6px 12px 6px 6px;font-size:13.5px}
  .ph2-pr-item .ph2-fav,.ph2-pr-list.few .ph2-pr-item .ph2-fav{width:28px;height:28px}
  .ph2-pr-item .ct{display:none}
}

/* ---- Press preview v3 (2026-10-23, Ryan: screenshot took the attention, outlets looked thin). Small thumbnail in the
   header, up to 8 people in a 2 x 4 grid, then "+ N more". ---- */
.ph2-pr-card{display:flex;flex-direction:column}
.ph2-pr-top{display:flex;align-items:center;gap:14px;padding:14px 16px 12px;border-bottom:1px solid var(--line)}
.ph2-pr-thumb{flex:0 0 auto;width:112px;height:70px;border-radius:9px;object-fit:cover;object-position:top;border:1px solid var(--line);box-shadow:0 8px 18px -12px rgba(15,23,42,.5)}
.ph2-pr-top .ph2-pr-h{flex:1;min-width:0;display:block;padding:0}
.ph2-pr-top .ph2-pr-h b{display:block;font-size:18px;line-height:1.2;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph2-pr-top .ph2-pr-h span{display:block;font-size:12px;color:var(--faint);margin-top:1px}
.ph2-pr-top .ph2-pr-h strong{display:block;margin-top:4px;font-size:20px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(90deg,#7c3aed,#2563eb);-webkit-background-clip:text;background-clip:text;color:transparent}
.ph2-pr-top .ph2-pr-h strong small{font-size:12.5px;font-weight:500;letter-spacing:0;color:var(--mute);-webkit-text-fill-color:var(--mute)}
.ph2-pr-top .ph-soc{align-self:flex-start}
.ph2-pr-body{flex:1;padding:12px 14px 4px}
.ph2-pr-rows{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.ph2-pr-rows li{padding:7px 9px}
.ph2-pr-more{margin:8px 2px 0;font-size:12.5px;color:var(--mute)}
.ph2-pr-go{margin:8px 0 0;padding:11px 16px}
html.dark .ph2-pr-top{border-color:rgba(255,255,255,.07)}
html.dark .ph2-pr-thumb{border-color:rgba(255,255,255,.08);filter:brightness(.92)}
html.dark .ph2-pr-top .ph2-pr-h strong{background:linear-gradient(90deg,#c4b5fd,#93c5fd);-webkit-background-clip:text;background-clip:text}
@media (max-width:860px){.ph2-pr-thumb{width:88px;height:55px}.ph2-pr-rows{grid-template-columns:minmax(0,1fr)}.ph2-pr-top .ph2-pr-h strong{font-size:18px}}

/* ---- Podcast section v3 (2026-10-23): press layout; logo instead of a thumbnail, then "more shows" chips ---- */
.ph2-pod-logo{flex:0 0 auto;width:56px;height:56px;padding:5px;border-radius:14px;background:#fff;object-fit:contain;border:1px solid var(--line);box-shadow:0 8px 18px -12px rgba(15,23,42,.5)}
html.dark .ph2-pod-logo{background:#e6eaf1;border-color:transparent;filter:brightness(.92)}
.ph2-sim-h{margin:12px 2px 6px;font:500 11px/1 "Geist Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.ph2-sim{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}
.ph2-sim li{margin:0;padding:5px 2px;border-bottom:1px dashed var(--line);min-width:0}
.ph2-sim b{display:block;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph2-sim span{display:block;font-size:11.5px;color:var(--mute)}
html.dark .ph2-sim li{border-color:rgba(255,255,255,.07)}
@media (max-width:860px){.ph2-sim{grid-template-columns:minmax(0,1fr)}}
/* podcasts: always one column of shows, so 6 to 8 rows fill the preview's height without giant tiles */
@media (min-width:861px){.ph2-pod .ph2-pr-list,.ph2-pod .ph2-pr-list:not(.few){grid-template-columns:minmax(0,1fr)}.ph2-pod .ph2-pr-item{font-size:15px}.ph2-pod .ph2-pr-item .ct small{display:inline}}

/* ---- Reorder 2 (2026-11-02, Ryan): visual rhythm down the page.
   Podcasts on a green tint with the preview on the left, so they do not read as a repeat of the press section. ---- */
.pv.ph .ph2-pod{--band:var(--green-tint);padding-top:56px;padding-bottom:48px}
.pv.ph .ph2-pod .ph2-out-box{background:var(--card)}
@media (min-width:861px){
  .pv.ph .ph2-pod .ph2-pr-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  .pv.ph .ph2-pod .ph2-pr-grid > :first-child{order:2}
}
/* Coverage check: compact, it is a quick test before the proof and the price */
.pv.ph #coverage{padding-top:56px;padding-bottom:48px}
/* Risk-free reads as part of the offer: no gap, a thin rule between them */
.pv.ph #offer{padding-bottom:20px}
.pv.ph #offer + .pv-rf{padding-top:0;padding-bottom:40px}
.pv.ph #offer + .pv-rf .pv-rf-grid{max-width:1180px;border-top:1px solid var(--line);padding-top:20px}
/* FAQ: gray card band, two columns on desktop so it is half as tall */
.pv.ph .ph2-faq{--band:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:48px;padding-bottom:48px}
@media (min-width:861px){
  .pv.ph .ph2-faq .pv-faq{max-width:1180px;columns:2;column-gap:48px;border-top:0}
  .pv.ph .ph2-faq .pv-faq details{break-inside:avoid}
  .pv.ph .ph2-faq .pv-faq summary{padding:18px 0;font-size:16px}
}
/* the final CTA needs air after the FAQ band */
.pv.ph .ph2-faq + section{padding-top:48px !important}

/* ---- AI search, 2026-11-02 (Ryan): shorter section; five result shots cross-fade in step with the typed prompts. ---- */
.pv.ph .ph2-ai{padding-top:60px;padding-bottom:60px}
.pv.ph .ph2-promise + .ph2-ai{padding-top:112px}
.ph2-ai-grid{gap:44px}
.pv.ph .ph2-ai h2{margin-top:14px}
.pv.ph .ph2-ai .ph2-ai-lead{margin-top:12px;font-size:17px}
.ph2-prompt{margin-top:18px;padding:12px}
.ph2-prompt-out{min-height:64px;padding-top:10px}
.ph2-ai-pts{margin-top:16px;gap:10px 20px}
.ph2-ai-pts li{font-size:14px;line-height:1.45}
.ph2-ai-cta{margin-top:20px}
.ph2-ai-img{aspect-ratio:1200/750;overflow:hidden}
.ph2-ai-slide{position:absolute;inset:0;opacity:0;transform:scale(1.015);filter:blur(4px);transition:opacity .7s ease,transform 1.2s ease,filter .7s ease}
.ph2-ai-slide.on{opacity:1;transform:none;filter:none}
.ph2-ai-img .ph2-ai-slide img{object-position:left top}
@media (max-width:860px){
  .pv.ph .ph2-ai{padding-top:44px;padding-bottom:44px}
  .pv.ph .ph2-promise + .ph2-ai{padding-top:84px}
  .ph2-ai-grid{gap:28px}
}
@media (prefers-reduced-motion:reduce){.ph2-ai-slide{transition:none;transform:none;filter:none}}
.ph2-ai-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
@media (max-width:1024px){.ph2-ai-grid{grid-template-columns:minmax(0,1fr)}}

/* ---- AI search panel in HTML (2026-11-02, Ryan): replaces the screenshot; fewer lines, matches the navy band. ---- */
.ph2-aip{position:relative;z-index:1;border-radius:22px;padding:18px;color:#e2e8f0;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.14);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.ph2-aip-h{display:flex;align-items:center;justify-content:space-between;padding:0 2px 14px}
.ph2-aip-h span{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:#fff}
.ph2-aip-h span iconify-icon{color:#a78bfa;font-size:17px}
.pv.ph .ph2-aip-h small{font-size:12px;color:#64748b}
.ph2-aip-q{display:flex;justify-content:flex-end;min-height:50px}
.pv.ph .ph2-aip-q p{margin:0;max-width:88%;background:#fff;color:#0f172a;border-radius:16px 16px 4px 16px;padding:12px 16px;font-size:15px;font-weight:500;line-height:1.4;
  box-shadow:0 0 0 4px rgba(167,139,250,.22),0 18px 40px -20px rgba(124,58,237,.8)}
.ph2-aip-q .cur{display:inline-block;width:2px;height:17px;margin-left:2px;vertical-align:-3px;background:#7c3aed;animation:ph2blink .9s steps(1) infinite}
.ph2-aip-f{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px;min-height:72px;padding:14px 0 0}
.ph2-aip-f .chip{font-size:12.5px;color:#ede9fe;background:rgba(167,139,250,.14);border:1px solid rgba(167,139,250,.32);border-radius:999px;padding:5px 11px;animation:ph2chip .35s ease both}
.ph2-aip-think{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#c4b5fd}
.ph2-aip-think i{width:6px;height:6px;border-radius:50%;background:#a78bfa;animation:ph2dot 1s ease-in-out infinite}
.ph2-aip-think i:nth-child(2){animation-delay:.15s}.ph2-aip-think i:nth-child(3){animation-delay:.3s;margin-right:4px}
@keyframes ph2dot{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.ph2-aip-n{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding:12px 2px;border-top:1px solid rgba(255,255,255,.08);opacity:.35;transition:opacity .4s}
.ph2-aip-n.on{opacity:1}
.ph2-aip-n > span:first-child{font-size:14px;color:#94a3b8}
.ph2-aip-n b{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-right:4px;background:linear-gradient(90deg,#c4b5fd,#6ee7b7);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.ph2-aip-n .save{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:7px 11px}
.ph2-aip-rows{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.ph2-aip-rows li{display:grid;grid-template-columns:36px minmax(0,1fr) auto 26px;align-items:center;gap:12px;padding:9px 12px 9px 9px;border-radius:14px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06);opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}
.ph2-aip-rows li.on{opacity:1;transform:none}
.ph2-aip-rows .av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:700;
  background:hsl(calc(var(--h) * 1deg) 55% 28%);color:hsl(calc(var(--h) * 1deg) 85% 86%)}
.ph2-aip-rows .who{display:flex;flex-direction:column;min-width:0}
.ph2-aip-rows .who b{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph2-aip-rows .who small{font-size:12.5px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph2-aip-rows .org{font-size:13px;font-weight:600;color:#cbd5e1;text-align:right;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph2-aip-rows .em{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:rgba(110,231,183,.12);color:#6ee7b7;font-size:14px}
.ph2-aip-dots{display:flex;justify-content:center;gap:7px;margin-top:16px}
.ph2-aip-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.25);cursor:pointer;transition:width .3s,background .3s}
.ph2-aip-dots button.on{width:24px;background:linear-gradient(90deg,#a78bfa,#6ee7b7)}
.ph2-aip-dots button:focus-visible{outline:2px solid #a78bfa;outline-offset:3px}
@media (max-width:560px){
  .ph2-aip{padding:14px;border-radius:18px}
  .ph2-aip-rows li{grid-template-columns:32px minmax(0,1fr) 24px;gap:10px}
  .ph2-aip-rows .av{width:32px;height:32px}
  .ph2-aip-rows .org{display:none}
  .ph2-aip-f{min-height:96px}
}
@media (prefers-reduced-motion:reduce){.ph2-aip-rows li{transition:none}.ph2-aip-f .chip{animation:none}}
/* rows not revealed yet show as soft shimmering placeholders, so the panel never looks empty */
.ph2-aip-rows li{opacity:1;transform:none}
.ph2-aip-rows li > *{transition:opacity .4s ease}
.ph2-aip-rows li:not(.on) > *{opacity:0}
.ph2-aip-rows li:not(.on){background:linear-gradient(90deg,rgba(255,255,255,.03) 20%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.03) 80%) 0 0/300% 100%;animation:ph2shim 1.4s linear infinite}
.ph2-aip-rows li.on{animation:ph2row .4s ease both}
@keyframes ph2shim{from{background-position:100% 0}to{background-position:0 0}}
@keyframes ph2row{from{transform:translateY(6px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.ph2-aip-rows li:not(.on),.ph2-aip-rows li.on{animation:none}}

/* ---- Press section, 2026-11-02 (Ryan): more room (the box shadow was cut off), green gradient heading, real proof row,
   and the tab total + button as a green offer card. Press and podcasts. ---- */
.pv.ph .ph2-press{padding-top:80px;padding-bottom:80px}
.pv.ph .ph2-press-h{font-size:clamp(32px,4vw,50px);line-height:1.05;letter-spacing:-.035em}
.ph2-press-h span{background:linear-gradient(90deg,#047857,#10b981 55%,#0d9488);-webkit-background-clip:text;background-clip:text;color:transparent}
.dark .ph2-press-h span{background:linear-gradient(90deg,#34d399,#6ee7b7 55%,#5eead4);-webkit-background-clip:text;background-clip:text}
.ph2-press-stats{list-style:none;margin:22px auto 0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:10px 12px}
.ph2-press-stats li{display:inline-flex;align-items:center;gap:9px;padding:9px 16px 9px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);
  box-shadow:0 10px 24px -18px rgba(15,23,42,.45);font-size:14px;color:var(--mute)}
.ph2-press-stats iconify-icon{font-size:17px;color:var(--green)}
.ph2-press-stats b{font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.pv.ph .ph2-press .ph2-out-tabs{margin-top:28px}
.pv.ph .ph2-press .ph2-out-box{margin-top:18px}
/* offer card at the bottom of each tab */
.pv.ph .ph2-press .ph2-out-foot{margin-top:16px;padding:18px 20px;border:1px solid rgba(16,185,129,.35);border-radius:16px;
  background:linear-gradient(120deg,rgba(16,185,129,.12),rgba(13,148,136,.05) 60%,transparent)}
.pv.ph .ph2-press .ph2-out-num b{font-size:32px;background:linear-gradient(90deg,#047857,#10b981);-webkit-background-clip:text;background-clip:text;color:transparent}
.dark .pv.ph .ph2-press .ph2-out-num b{background:linear-gradient(90deg,#34d399,#6ee7b7);-webkit-background-clip:text;background-clip:text}
.pv.ph .ph2-press .ph2-out-num span{color:var(--ink);opacity:.8}
.pv.ph .ph2-press .ph2-out-cta .pv-btn{padding:14px 24px;font-size:15.5px;box-shadow:0 14px 30px -14px rgba(16,185,129,.8)}
@media (max-width:640px){
  .pv.ph .ph2-press{padding-top:56px;padding-bottom:56px}
  .ph2-press-stats li{font-size:13px;padding:8px 13px 8px 10px}
  .ph2-press-stats b{font-size:15.5px}
  .pv.ph .ph2-press .ph2-out-foot{padding:16px}
  .pv.ph .ph2-press .ph2-out-num b{font-size:26px}
}
.pv.ph .ph2-press .ph2-out-num b{white-space:nowrap}

/* ---- Heading highlights (2026-11-02, Ryan): the key words of every heading in a green gradient, so no heading is plain
   white or black. Deep green on light backgrounds, mint in dark mode and on the navy final card. ---- */
.ph2-hl{background:linear-gradient(90deg,#047857,#10b981 55%,#0d9488);-webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.dark .ph2-hl,.pv-final .ph2-hl{background:linear-gradient(90deg,#34d399,#6ee7b7 55%,#5eead4);-webkit-background-clip:text;background-clip:text}

/* ---- Rhythm pass (2026-11-02, Ryan: "feel good as the user scrolls"): one spacing scale for every section, one heading size,
   the same eyebrow-to-heading gap everywhere. --gap is the space above and below each section's content. ---- */
.pv.ph{--gap:88px}
@media (max-width:1024px){.pv.ph{--gap:72px}}
@media (max-width:640px){.pv.ph{--gap:56px}}
.pv.ph .ph2-ai{padding-top:var(--gap);padding-bottom:var(--gap)}
.pv.ph .ph2-promise + .ph2-ai{padding-top:calc(var(--gap) + 48px)}   /* the promise card overlaps the band by 64px */
.pv.ph .ph2-press,.pv.ph .ph2-how,.pv.ph #customers,.pv.ph .ph2-pod,.pv.ph .ph2-faq{padding-top:var(--gap);padding-bottom:var(--gap)}
/* coverage and the offer share one white stretch, so they split one gap between them */
.pv.ph #coverage{padding-top:var(--gap);padding-bottom:calc(var(--gap) / 2)}
.pv.ph #offer{padding-top:calc(var(--gap) / 2);padding-bottom:20px}
.pv.ph #offer + .pv-rf{padding-bottom:var(--gap)}
.pv.ph .ph2-faq + section{padding-top:calc(var(--gap) * .75) !important;padding-bottom:var(--gap) !important}
/* one heading size; the eyebrow always sits 14px above it */
.pv.ph .pv-h2,.pv.ph .ph2-press-h{font-size:clamp(30px,3.6vw,44px);line-height:1.08;letter-spacing:-.03em}
.pv.ph .pv-eyebrow + .pv-h2{margin-top:14px}
.pv.ph #coverage .pv-eyebrow{margin-bottom:0}
.pv.ph #coverage .pv-h2{margin-top:0}   /* .ph-cov is a flex column with a 14px gap already */
/* final call to action: room between the heading, the line and the buttons */
.pv.ph .pv-final p{margin-top:12px}
.pv.ph .pv-final .row{margin-top:24px}

/* ---- Coverage check rebuild (2026-11-02, Ryan: "undersells us"): question + big search + topic chips on the left, a navy
   result card on the right with the count, outlets and the biggest matching newsrooms. ---- */
.ph2-cov-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:48px;align-items:center;max-width:1180px;margin:0 auto}
.ph2-cov-l{text-align:left}
.pv.ph .ph2-cov-l .pv-eyebrow{text-align:left}
.pv.ph .ph2-cov-l .pv-h2{text-align:left;margin-top:14px}
.pv.ph .ph2-cov-lead{margin:14px 0 0;font-size:17px;line-height:1.55;color:var(--mute);max-width:520px}
.ph2-cov-form{position:relative;display:flex;align-items:center;gap:8px;margin-top:24px;padding:7px 7px 7px 46px;border-radius:16px;background:var(--card);
  border:1px solid var(--line);box-shadow:0 18px 40px -26px rgba(15,23,42,.55);transition:border-color .2s,box-shadow .2s}
.ph2-cov-form:focus-within{border-color:#12b76a;box-shadow:0 0 0 4px rgba(18,183,106,.15),0 18px 40px -26px rgba(15,23,42,.55)}
.ph2-cov-form > iconify-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:19px;color:var(--mute)}
.ph2-cov-form input{flex:1;min-width:0;height:46px;border:0;outline:0;background:transparent;font:inherit;font-size:16.5px;color:var(--ink)}
.ph2-cov-form button{flex:0 0 auto;height:46px;padding:0 20px;border:0;border-radius:11px;cursor:pointer;font:inherit;font-weight:700;font-size:15px;color:#fff;
  background:linear-gradient(135deg,#12b76a,#0d9488);box-shadow:0 10px 22px -12px rgba(16,185,129,.9)}
.ph2-cov-form button:disabled{opacity:.7;cursor:progress}
.pv.ph .ph2-cov-err{margin:10px 0 0;font-size:14px;color:#b42318}
.ph2-cov-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ph2-cov-chips button{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:var(--card);
  font:inherit;font-size:13.5px;font-weight:500;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.ph2-cov-chips button iconify-icon{font-size:15px;color:var(--green)}
.ph2-cov-chips button:hover{transform:translateY(-1px);border-color:#12b76a}
.ph2-cov-chips button.on{background:var(--green-tint);border-color:#12b76a}
.pv.ph .ph2-cov-note{display:flex;align-items:center;gap:7px;margin:16px 0 0;font-size:13px;color:var(--mute)}
.ph2-cov-note iconify-icon{color:var(--green)}
/* result card: navy in both themes */
.ph2-cov-card{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;padding:24px;color:#e2e8f0;min-height:520px;display:flex;flex-direction:column;
  background:radial-gradient(90% 70% at 100% 0%,rgba(16,185,129,.22),transparent 60%),radial-gradient(70% 60% at 0% 100%,rgba(124,58,237,.18),transparent 60%),#0b1424;
  border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 80px -36px rgba(15,23,42,.8)}
.ph2-cov-top{display:flex;align-items:center;gap:10px;font-size:13px;color:#94a3b8}
.ph2-cov-top b{font-weight:600;font-size:13.5px;color:#d1fae5;background:rgba(16,185,129,.16);border:1px solid rgba(16,185,129,.35);border-radius:999px;padding:4px 12px;display:inline-block}
.ph2-cov-top b::first-letter{text-transform:uppercase}   /* "Vegan dog treats", not "Vegan Dog Treats" */
.ph2-cov-num{margin-top:14px}
.ph2-cov-num b{display:block;font-size:clamp(48px,5.4vw,68px);line-height:1;font-weight:800;letter-spacing:-.045em;font-variant-numeric:tabular-nums;
  background:linear-gradient(90deg,#fff,#6ee7b7 60%,#5eead4);-webkit-background-clip:text;background-clip:text;color:transparent}
.ph2-cov-num span{display:block;margin-top:6px;font-size:14.5px;color:#a5b4cb}
.ph2-cov-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.ph2-cov-stats div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.ph2-cov-stats iconify-icon{grid-row:span 2;font-size:20px;color:#6ee7b7}
.ph2-cov-stats b{font-size:18px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.ph2-cov-stats span{font-size:12.5px;color:#94a3b8}
.ph2-cov-lbl{margin-top:20px;font:500 11.5px/1 "Geist Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#8b9ab3}
.ph2-cov-outs{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ph2-cov-outs li{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);
  animation:ph2covin .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d)}
@keyframes ph2covin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ph2-cov-outs .rk{flex:0 0 auto;width:18px;font-size:12px;font-weight:700;color:#64748b;text-align:center}
.ph2-cov-outs .ic{position:relative;flex:0 0 auto;width:30px;height:30px;border-radius:9px;overflow:hidden;display:grid;place-items:center;
  background:hsl(calc(var(--h) * 1deg) 45% 30%);color:hsl(calc(var(--h) * 1deg) 80% 85%);font-size:11.5px;font-weight:700}
.ph2-cov-outs .ic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#e6eaf1}
.ph2-cov-outs .nm{min-width:0;font-size:13.5px;font-weight:600;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph2-cov-none{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:22px}
.ph2-cov-none iconify-icon{font-size:30px;color:#6ee7b7}
.ph2-cov-none b{font-size:20px;color:#fff}
.ph2-cov-none span{font-size:14px;color:#a5b4cb}
.ph2-cov-sk{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.ph2-cov-sk i{height:46px;border-radius:12px;background:linear-gradient(90deg,rgba(255,255,255,.04) 20%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.04) 80%) 0 0/300% 100%;animation:ph2covsh 1.3s linear infinite}
.ph2-cov-sk i.big{grid-column:span 2;height:96px}
@keyframes ph2covsh{from{background-position:100% 0}to{background-position:0 0}}
.ph2-cov-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:auto;padding-top:20px}
.ph2-cov-cta .pv-btn{width:auto;padding:14px 22px;font-size:15.5px;box-shadow:0 14px 30px -14px rgba(16,185,129,.9)}
.pv.ph .ph2-cov-cta small{font-size:13px;color:#94a3b8}
/* coverage now carries its own visual weight, so it takes a full gap below too */
.pv.ph #coverage{padding-bottom:var(--gap)}
.pv.ph #offer{padding-top:0}
@media (max-width:960px){
  .ph2-cov-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .ph2-cov-card{min-height:0}
}
@media (max-width:560px){
  .ph2-cov-form{padding-left:40px}
  .ph2-cov-form > iconify-icon{left:14px}
  .ph2-cov-form button{padding:0 14px;font-size:14px}
  .ph2-cov-card{padding:18px;border-radius:20px}
  .ph2-cov-outs{grid-template-columns:minmax(0,1fr)}
  .ph2-cov-cta .pv-btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.ph2-cov-outs li,.ph2-cov-sk i{animation:none}}
.dark .ph2-cov-card{border-color:rgba(110,231,183,.28);box-shadow:0 0 0 1px rgba(110,231,183,.06),0 40px 90px -30px rgba(16,185,129,.35)}   /* navy card on a navy page needs an edge */

/* ---- Coverage: no exact match (2026-11-02, Ryan): the parts of the phrase that do match, then the research team. ---- */
.ph2-cov-none{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.ph2-cov-none-h{display:flex;align-items:center;gap:12px}
.ph2-cov-none-h .ic,.ph2-cov-rt .ic{flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:19px;color:#fff;background:linear-gradient(135deg,#7c3aed,#10b981)}
.ph2-cov-none-h b{display:block;font-size:19px;color:#fff;letter-spacing:-.01em}
.ph2-cov-none-h span{display:block;margin-top:2px;font-size:13.5px;color:#a5b4cb}
.ph2-cov-alts{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ph2-cov-alts li{animation:ph2covin .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d)}
.ph2-cov-alts li > button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:13px;cursor:pointer;font:inherit;text-align:left;color:#e2e8f0;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);transition:background .15s,border-color .15s,transform .15s}
.ph2-cov-alts li > button:hover{background:rgba(16,185,129,.12);border-color:rgba(110,231,183,.4);transform:translateY(-1px)}
.ph2-cov-alts .lb{flex:1;min-width:0;display:flex;flex-direction:column}
.ph2-cov-alts .lb small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8b9ab3}
.ph2-cov-alts .lb b{font-size:15px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph2-cov-alts .ct{font-size:13px;color:#a5b4cb;white-space:nowrap}
.ph2-cov-alts .ct b{font-size:16px;color:#6ee7b7;font-variant-numeric:tabular-nums}
.ph2-cov-alts li > button iconify-icon{color:#6ee7b7}
.ph2-cov-alts li.pop{display:flex;flex-wrap:wrap;gap:8px;animation:none}
.ph2-cov-alts li.pop button{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;cursor:pointer;font:inherit;font-size:13px;color:#e2e8f0;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.ph2-cov-alts li.pop button iconify-icon{color:#6ee7b7}
.ph2-cov-rt{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:linear-gradient(120deg,rgba(124,58,237,.18),rgba(16,185,129,.14));border:1px solid rgba(167,139,250,.3)}
.ph2-cov-rt .ic{background:rgba(255,255,255,.1)}
.ph2-cov-rt b{display:block;font-size:15.5px;color:#fff}
.pv.ph .ph2-cov-rt p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:#cbd5e1}

/* ---- Edges (2026-11-02, Ryan: the coverage card sat indented next to the offer box). Every section's main box uses the full
   container width, so left and right edges line up down the page (same rule as the rest of the site). ---- */
.ph2-cov-grid,
.pv.ph .ph2-press .ph2-out-box,
.pv.ph .ph2-faq .pv-faq,
.pv.ph #offer + .pv-rf .pv-rf-grid,
.pv.ph .ph2-promise{max-width:none;width:100%;margin-left:0;margin-right:0}
.pv.ph .ph2-press .ph2-out-box{margin-top:18px}
.ph2-cov-alts{width:100%}

/* ---- Balanced headings (2026-11-02, Ryan): a long heading breaks into two even lines instead of one very long line. ---- */
.pv.ph .pv-h2,.pv.ph .pv-final h2,.pv.ph .ph-offer h2{text-wrap:balance}
.pv.ph .pv-h2{max-width:800px;margin-left:auto;margin-right:auto}
.pv.ph .ph2-cov-l .pv-h2{margin-left:0}
.pv.ph .pv-final h2{max-width:760px;margin-left:auto;margin-right:auto}
/* the same for the hero headline, the AI heading and the intro line under every heading */
.pv.ph h1,.pv.ph h2,.pv.ph .pv-lead,.pv.ph .ph2-cov-lead,.pv.ph .ph2-ai-lead{text-wrap:balance}
/* body text (Ryan 2026-11-02): no one or two words left alone on the last line. "pretty" fixes the last lines of longer text
   without reshaping the whole paragraph; short intro lines above stay "balance". */
.pv.ph p,.pv.ph li,.pv.ph blockquote,.pv.ph figcaption,.pv.ph small,.pv.ph .h3s-step p,.pv.ph .pv-faq p{text-wrap:pretty}
.pv.ph .pv-lead,.pv.ph .ph2-cov-lead,.pv.ph .ph2-ai-lead,.pv.ph .ph2-out-lead{text-wrap:balance}
/* a highlighted phrase never splits across lines (Ryan 2026-11-02), except on phones where the long ones would not fit */
.ph2-hl{white-space:nowrap}
@media (max-width:560px){.ph2-hl{white-space:normal}}
