/* Growlancer — shared component library (light + LinkedIn blue)
   Two CTAs only, site-wide: "Book a call" (primary) + "Or get a free Signal Map" (secondary).
   No pilot language. No pricing. */

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:128px}
html,body{margin:0;padding:0;background:#fff;color:#1a1a1a;-webkit-font-smoothing:antialiased}
body{font-family:-apple-system,BlinkMacSystemFont,'Inter','Segoe UI',Helvetica,Arial,sans-serif;line-height:1.55;font-size:17px}
a{color:#0A66C2;text-decoration:none}
a:hover{color:#004182}
img{max-width:100%}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}

:root{
  --li-blue:#0A66C2; --li-blue-dark:#004182; --li-blue-soft:#E7F0FA; --li-blue-tint:#F4F8FD;
  --ink:#1a1a1a; --muted:#5f6b76; --border:#e1e5ea; --bg-soft:#f4f6f8;
  --green:#0A8D48; --amber:#B45309;
}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--li-blue);outline-offset:3px;border-radius:6px}

/* ---------- Top stat strip + sticky nav ---------- */
.topbar{background:var(--ink);color:#fff;font-size:13px}
.topbar .wrap{display:flex;gap:34px;justify-content:center;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
.topbar b{color:#fff;font-weight:800;letter-spacing:-.01em}
.topbar span{color:#b9c2cc}

.nav{padding:14px 0;border-bottom:1px solid var(--border);background:rgba(255,255,255,.97);backdrop-filter:saturate(180%) blur(8px);position:sticky;top:0;z-index:50}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:inline-flex;align-items:center}
.logo img{height:32px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:500}
.nav-links a{color:var(--ink)}
.nav-links a:hover{color:var(--li-blue)}
.nav-actions{display:flex;align-items:center;gap:12px}
.nav-ghost{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap}
.nav-ghost:hover{color:var(--li-blue)}
.nav-cta{display:inline-block;padding:10px 20px;background:var(--li-blue);color:#fff;border-radius:8px;font-weight:700;font-size:14px;white-space:nowrap;transition:background .15s ease}
.nav-cta:hover{background:var(--li-blue-dark);color:#fff}

/* ---------- Buttons ---------- */
.btn{display:inline-block;padding:15px 30px;font-weight:700;border-radius:8px;font-size:16px;transition:transform .12s ease,background .12s ease;border:1px solid transparent;text-align:center;cursor:pointer}
.btn-primary{background:var(--li-blue);color:#fff;box-shadow:0 6px 20px rgba(10,102,194,.2)}
.btn-primary:hover{background:var(--li-blue-dark);color:#fff;transform:translateY(-1px);box-shadow:0 10px 28px rgba(10,102,194,.3)}
.btn-secondary{background:#fff;color:var(--li-blue);border-color:var(--li-blue)}
.btn-secondary:hover{background:var(--li-blue-soft)}
.btn-lg{padding:18px 36px;font-size:17px;border-radius:10px}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}
.btn-row.center{justify-content:center}

/* ---------- Sections ---------- */
.section{padding:88px 0}
.section-sm{padding:64px 0}
.section-bg{background:var(--bg-soft)}
.section-tint{background:var(--li-blue-tint)}
.eyebrow{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--li-blue);font-weight:700;margin-bottom:14px}
.eyebrow.center,.section h2.center,.lede.center{text-align:center}
.section h2{font-size:40px;font-weight:800;letter-spacing:-.025em;line-height:1.12;margin:0 0 18px;color:var(--ink)}
.section h2.center{text-align:center}
.lede{color:var(--muted);font-size:18px;line-height:1.55;margin:0 0 44px;max-width:720px}
.lede.center{margin-left:auto;margin-right:auto;text-align:center}

/* ---------- Hero (split: copy + system card) ---------- */
.hero{padding:76px 0 66px;background:linear-gradient(180deg,#fff 0%,var(--bg-soft) 100%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero .badge{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--li-blue);background:var(--li-blue-soft);padding:8px 16px;border-radius:100px;margin-bottom:20px}
.hero h1{font-size:52px;font-weight:800;margin:0 0 20px;letter-spacing:-.03em;line-height:1.06}
.hero p.sub{font-size:19px;color:var(--muted);line-height:1.5;margin:0 0 28px}
.hero .trustline{font-size:14px;color:var(--muted);margin-top:18px}

/* system card */
.syscard{background:var(--ink);border-radius:16px;padding:26px 26px 20px;box-shadow:0 20px 60px rgba(10,102,194,.18)}
.syscard h3,.syscard .sc-title{margin:0 0 18px;color:#fff;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.syscard h3 span,.syscard .sc-title span{color:var(--li-blue)}
.sysstep{display:flex;gap:14px;padding:11px 0;border-top:1px solid rgba(255,255,255,.09)}
.sysstep:first-of-type{border-top:0}
.sysdot{width:8px;height:8px;border-radius:50%;background:var(--li-blue);margin-top:8px;flex-shrink:0}
.sysstep b{color:#fff;font-size:15px;font-weight:700;display:block;line-height:1.3}
.sysstep small{color:#9aa6b2;font-size:13px;line-height:1.45;display:block;margin-top:2px}

/* ---------- Stat blocks ---------- */
.stats{padding:46px 0;border-bottom:1px solid var(--border);background:#fff}
.stats .wrap{display:flex;justify-content:space-around;gap:24px;flex-wrap:wrap;text-align:center}
.stat{flex:1;min-width:190px}
.stat-num{font-size:40px;font-weight:800;color:var(--li-blue);line-height:1.05;letter-spacing:-.02em;margin-bottom:6px}
.stat-label{font-size:14px;color:var(--muted);line-height:1.45}

/* ---------- Numbered process cards ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.step{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px 20px}
.step .n{font-size:30px;font-weight:800;color:var(--li-blue);line-height:1;letter-spacing:-.02em;margin-bottom:12px}
.step h3{font-size:16px;font-weight:700;margin:0 0 8px;letter-spacing:-.01em}
.step p{font-size:14px;color:var(--muted);margin:0;line-height:1.55}

/* ---------- Cards ---------- */
.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:30px 26px;box-shadow:0 4px 16px rgba(10,102,194,.04)}
.card h3{font-size:19px;font-weight:700;margin:0 0 10px;letter-spacing:-.01em}
.card p{font-size:15px;color:var(--muted);margin:0;line-height:1.6}
.card .icon{width:44px;height:44px;background:var(--li-blue-soft);color:var(--li-blue);border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;margin-bottom:16px}
.card-link{display:inline-block;margin-top:14px;font-weight:700;font-size:14px}

/* ---------- Document mockup (the deliverable, rendered) ---------- */
.doc{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 18px 50px rgba(10,102,194,.12)}
.doc-bar{display:flex;align-items:center;gap:10px;padding:11px 16px;background:var(--bg-soft);border-bottom:1px solid var(--border)}
.doc-dots{display:flex;gap:6px}
.doc-dots i{width:10px;height:10px;border-radius:50%;background:#cfd6de;display:block}
.doc-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted)}
.doc-badge{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--li-blue);background:var(--li-blue-soft);border:1px solid #cfe0f4;padding:4px 9px;border-radius:5px}
.doc-body{padding:24px}
.doc-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.doc table{width:100%;border-collapse:collapse;font-size:13.5px}
.doc th{text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 12px 9px 0;border-bottom:1px solid var(--border)}
.doc td{padding:11px 12px 11px 0;border-bottom:1px solid #eef1f4;color:#33404d;vertical-align:top}
.doc td b{color:var(--ink)}
.doc-note{font-size:12.5px;color:var(--muted);margin-top:12px;font-style:italic}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;padding:5px 10px;border-radius:6px;border:1px solid var(--border);color:#42505e;background:#fff}
.chip.good{border-color:#bfe3cd;background:#f2fbf6;color:#0A6B39}
.chip.bad{border-color:#f3ccc9;background:#fdf5f4;color:#9B2C24;text-decoration:line-through}
.chip.hot{border-color:#f0d5ac;background:#fdf8f0;color:var(--amber)}

.callout{background:var(--li-blue-tint);border:1px solid #d6e6f7;border-left:3px solid var(--li-blue);border-radius:8px;padding:16px 18px;font-size:15px;color:#26333f;margin-top:16px}

/* ---------- Testimonials ---------- */
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tst{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px 26px;display:flex;flex-direction:column;box-shadow:0 4px 16px rgba(10,102,194,.04)}
.tst .stars{color:#E8A317;font-size:15px;letter-spacing:2px;margin-bottom:14px}
.tst blockquote{margin:0 0 18px;font-size:16.5px;line-height:1.55;color:#26333f;font-weight:500}
.tst .who{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}
.tst .who b{display:block;font-size:15px;color:var(--ink)}
.tst .who span{font-size:13.5px;color:var(--muted)}
.tst .result,.wcard .result{display:inline-block;margin-bottom:14px;font-size:13px;font-weight:700;color:var(--green);background:#f2fbf6;border:1px solid #bfe3cd;padding:5px 11px;border-radius:6px}

/* ---------- Case study cards ---------- */
.cs{background:#fff;border:1px solid var(--border);border-radius:16px;padding:30px 28px;box-shadow:0 4px 16px rgba(10,102,194,.04)}
.cs .tag{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--li-blue);margin-bottom:12px;display:block}
.cs h3{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 14px}
.cs p{font-size:15px;color:var(--muted);line-height:1.6;margin:0 0 16px}
.cs blockquote{margin:0;padding:18px 20px;background:var(--bg-soft);border-radius:10px;font-size:15.5px;line-height:1.55;color:#26333f;font-style:italic}

/* ---------- Timeline ---------- */
.tl{position:relative;padding-left:34px}
.tl:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--border)}
.tl-item{position:relative;padding-bottom:34px}
.tl-item:last-child{padding-bottom:0}
.tl-item:before{content:"";position:absolute;left:-30px;top:5px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--li-blue)}
.tl-item .ph{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.tl-item h3{font-size:20px;font-weight:700;margin:0 0 8px;letter-spacing:-.01em}
.tl-item p{font-size:15px;color:var(--muted);line-height:1.6;margin:0}

/* ---------- Inline CTA band ---------- */
.ctaband{background:var(--li-blue-soft);border:1px solid #d6e6f7;border-radius:14px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0 auto;max-width:1000px}
.ctaband p{margin:0;font-size:17px;font-weight:600;color:var(--ink)}
.ctaband p span{font-weight:400;color:var(--muted)}

/* ---------- Comparison ---------- */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:980px;margin:0 auto}
.cmp-col{background:#fff;border:1px solid var(--border);border-radius:16px;padding:30px 26px}
.cmp-col.ours{border-color:var(--li-blue);box-shadow:0 8px 24px rgba(10,102,194,.08)}
.cmp-col h3{font-size:17px;font-weight:700;margin:0 0 16px}
.cmp-col.ours h3{color:var(--li-blue)}
.cmp-col ul{list-style:none;padding:0;margin:0}
.cmp-col li{padding:9px 0 9px 27px;position:relative;font-size:15px;color:#3a3a3a;line-height:1.5}
.cmp-col.bad li:before{content:"✕";position:absolute;left:0;color:#c62828;font-weight:800}
.cmp-col.ours li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
details.faq-item{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}
details.faq-item[open]{border-color:var(--li-blue);box-shadow:0 4px 16px rgba(10,102,194,.08)}
details.faq-item summary{padding:21px 25px;cursor:pointer;font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary:after{content:"+";font-size:24px;color:var(--li-blue);font-weight:400;line-height:1;transition:transform .25s ease;flex-shrink:0}
details.faq-item[open] summary:after{transform:rotate(45deg)}
details.faq-item .ans{padding:0 25px 23px;color:#3a3a3a;font-size:16px;line-height:1.65}

/* ---------- Final CTA + footer ---------- */
.final{padding:86px 0 100px;text-align:center;background:linear-gradient(180deg,var(--bg-soft) 0%,var(--li-blue-soft) 100%)}
.final h2{font-size:44px;font-weight:800;margin:0 0 16px;letter-spacing:-.03em;line-height:1.08}
.final p{color:var(--muted);max-width:640px;margin:0 auto 32px;font-size:18px;line-height:1.5}
footer{padding:36px 0;text-align:center;color:var(--muted);font-size:13px;border-top:1px solid var(--border);background:#fff}
footer .links{display:flex;justify-content:center;gap:20px;margin-bottom:14px;flex-wrap:wrap}
footer a{color:var(--muted)}
footer a:hover{color:var(--li-blue)}

/* ---------- Long-form article ---------- */
.article{max-width:760px;margin:0 auto}
.article h2{font-size:31px;margin:46px 0 14px;text-align:left}
.article h3{font-size:21px;font-weight:700;margin:32px 0 10px;letter-spacing:-.01em}
.article p{font-size:17.5px;line-height:1.72;color:#33404d;margin:0 0 18px}
.article ul{padding-left:22px;margin:0 0 18px}
.article li{font-size:17px;line-height:1.7;color:#33404d;margin-bottom:9px}
.article .pull{border-left:3px solid var(--li-blue);padding:6px 0 6px 20px;margin:26px 0;font-size:19px;line-height:1.6;color:var(--ink);font-weight:600}

/* ---------- Video frame ---------- */
.video-frame{position:relative;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 16px 50px rgba(10,102,194,.18),0 0 0 1px var(--border);aspect-ratio:16/9}
.video-frame video{width:100%;height:100%;display:block;background:#000;object-fit:contain}
.video-frame .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;transition:opacity .25s ease}
.video-frame.playing .poster{opacity:0;visibility:hidden}
.play-overlay{position:absolute;inset:0;background:transparent;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:2}
.play-overlay svg{width:88px;height:88px;filter:drop-shadow(0 6px 24px rgba(0,0,0,.25));transition:transform .15s ease}
.play-overlay:hover svg{transform:scale(1.05)}
.video-frame.playing .play-overlay{display:none}

/* ---------- Responsive ---------- */
@media (max-width:1024px) and (min-width:761px){
  .hero .wrap{grid-template-columns:1fr;gap:40px}
  .hero h1{font-size:42px}
  .section h2{font-size:33px}
  .steps{grid-template-columns:repeat(2,1fr)}
  .grid-3,.tst-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  body{font-size:16px}
  .topbar .wrap{gap:16px;font-size:12px}
  .nav-links{display:none}
  .nav-ghost{display:none}
  .hero{padding:44px 0 44px}
  .hero .wrap{grid-template-columns:1fr;gap:34px}
  .hero h1{font-size:33px}
  .hero p.sub{font-size:17px}
  .btn-row{flex-direction:column;align-items:stretch}
  .btn-row .btn{width:100%}
  .section,.section-sm{padding:54px 0}
  .section h2{font-size:26px}
  .lede{font-size:16.5px}
  .stats .wrap{flex-direction:column;gap:24px}
  .steps,.grid-3,.grid-2,.tst-grid,.cmp{grid-template-columns:1fr}
  .doc-body{padding:16px}
  .doc table{font-size:12.5px}
  .doc th,.doc td{padding-right:8px}
  .ctaband{flex-direction:column;align-items:stretch;text-align:center}
  .final h2{font-size:29px}
  .article h2{font-size:25px}
  .article p,.article li{font-size:16.5px}
  .logo img{height:28px}
  .nav-cta{padding:9px 15px;font-size:13px}
}

/* ---------- Booking embed ---------- */
.booking-wrap{max-width:1000px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(10,102,194,.10)}
.calendly-inline-widget{width:100%}
.book-assure{max-width:1000px;margin:22px auto 0;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
@media (max-width:760px){ .booking-wrap{border-radius:12px} .calendly-inline-widget{height:1350px!important} }

/* ---------- v2 design pass (2026-08-08): benchmark-grade scale, contrast bands, pills, ghost numerals ---------- */
.section{padding:104px 0}
.section-sm{padding:72px 0}
.hero{padding:84px 0 72px}
.hero h1{font-size:57px}
.section h2{font-size:46px;letter-spacing:-.03em}
.lede{font-size:19px;color:#4c5a66}

/* pill eyebrows */
.eyebrow{display:table;background:#edf2f7;color:var(--li-blue);padding:7px 15px;border-radius:100px;font-size:11.5px;letter-spacing:.16em;margin-bottom:20px}
.eyebrow.center{margin-left:auto;margin-right:auto}

/* hero review capsule + receipts line */
.capsule{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--border);box-shadow:0 2px 12px rgba(10,102,194,.07);padding:8px 16px;border-radius:100px;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:22px}
.capsule .tp-stars{color:#00B67A;letter-spacing:1.5px;font-size:13px}
.capsule:hover{border-color:var(--li-blue)}
.receipts{display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);margin-top:18px}
.receipts b{color:var(--ink)}

/* dark contrast band */
.section-dark{background:#0e1620;color:#fff}
.section-dark h2{color:#fff}
.section-dark .lede{color:#aab6c2}
.section-dark .eyebrow{background:#1a2634;color:#7fb3e8}
.section-dark .chip{background:#151f2b;border-color:#263444;color:#aab6c2}
.section-dark .cmp-col{background:#141d28;border-color:#263444}
.section-dark .cmp-col h3{color:#fff}
.section-dark .cmp-col li{color:#c6d0da}
.section-dark .cmp-col.ours{border-color:var(--li-blue);box-shadow:0 8px 30px rgba(10,102,194,.25)}
.section-dark .cmp-col.ours h3{color:#7fb3e8}
.section-dark .callout{background:#141d28;border-color:#263444;border-left-color:var(--li-blue);color:#c6d0da}
.section-dark .callout a{color:#7fb3e8}
.section-dark .video-frame{box-shadow:0 24px 70px rgba(0,0,0,.5),0 0 0 1px #263444}

/* ghost-numeral steps (Outbound System pattern) */
.steps{gap:34px}
.step{background:transparent;border:0;padding:0 4px;border-radius:0}
.step .n{font-size:76px;font-weight:800;color:#dbe4ee;line-height:1;margin-bottom:2px;letter-spacing:-.04em}
.step h3{font-size:17px}
.step p{font-size:14.5px}

/* circled icons */
.card .icon{width:54px;height:54px;border-radius:50%;font-size:21px}
.card .icon svg{width:24px;height:24px}

/* testimonial avatars + linked stars */
.tst .who{display:flex;align-items:center;gap:12px}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--li-blue-soft);color:var(--li-blue);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.tst .stars{color:#00B67A}

/* case cards: metric-in-timeframe + secondary stat */
.cs h3{font-size:29px}
.cs .sub-stat{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--li-blue);background:var(--li-blue-tint);border:1px solid #cfe0f4;padding:5px 11px;border-radius:6px;margin-bottom:14px}

/* syscard footer: the effort asymmetry line */
.sysfoot{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);color:#9aa6b2;font-size:13.5px}
.sysfoot b{color:#fff}

/* stats scale-up */
.stats{padding:56px 0}
.stat-num{font-size:54px}

.final h2{font-size:48px}

@media (max-width:760px){
  .section{padding:64px 0}
  .hero{padding:46px 0 44px}
  .hero h1{font-size:34px}
  .section h2{font-size:28px}
  .step .n{font-size:52px}
  .stat-num{font-size:40px}
  .final h2{font-size:30px}
  .lede{font-size:16.5px}
}

/* v2.1 polish */
.hero{background:linear-gradient(180deg,#F0F6FC 0%,#fff 60%,var(--bg-soft) 100%)}
.placeholder-note{max-width:640px;margin:26px auto 0;border:1.5px dashed #c3ceda;border-radius:10px;padding:10px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#8494a3;text-align:center;background:#fbfcfe}
.doc td .chip{white-space:nowrap}
.doc td:last-child{min-width:96px}

/* v3: critique-round components */
.tp-stars{position:relative;display:inline-block;color:#d5d8e0;letter-spacing:1.5px;font-size:13px;font-style:normal}
.tp-stars i{position:absolute;left:0;top:0;width:90%;overflow:hidden;white-space:nowrap;color:#00B67A;font-style:normal;letter-spacing:1.5px}
.capsule .tp-stars{color:#d5d8e0}
.duration-badge{position:absolute;right:14px;bottom:12px;z-index:3;background:rgba(0,0,0,.72);color:#fff;font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:7px;pointer-events:none}
.founder-row{display:flex;gap:14px;align-items:center;max-width:640px;margin:28px auto 0;text-align:left}
.founder-row img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid #263444}
.founder-row b{color:#fff;font-size:14.5px;display:block;margin-bottom:2px}
.founder-row small{color:#9aa6b2;font-size:13px;line-height:1.5;display:block}
.founder-row small a{color:#7fb3e8;font-weight:600}
.receipt-strip{display:flex;justify-content:center;align-items:center;gap:46px;flex-wrap:wrap;margin:34px auto 0;padding:22px 30px;background:#fff;border:1px solid var(--border);border-radius:14px;max-width:900px;text-align:center}
.receipt-strip>div{display:flex;flex-direction:column;gap:2px}
.receipt-strip b{font-size:24px;color:var(--ink);letter-spacing:-.02em;line-height:1.1}
.receipt-strip span{font-size:12.5px;color:var(--muted)}
.receipt-strip a{display:flex;flex-direction:column;gap:2px;color:inherit}
.receipt-strip a:hover b{color:var(--li-blue)}
.band-link{font-weight:600;font-size:14.5px;white-space:nowrap}
@media (max-width:760px){
  .receipt-strip{gap:22px;padding:18px 16px}
  .receipt-strip b{font-size:20px}
  .founder-row{margin-top:22px}
}

/* v4: testimonial wall of love (Senja-style marquee, dependency-free) */
.wall{position:relative;overflow:hidden;margin-top:10px}
.wall{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent)}
.wall-track{display:flex;gap:18px;width:max-content;animation:wallscroll 52s linear infinite;padding:6px 0 16px}
.wall-rev .wall-track{animation-direction:reverse;animation-duration:61s}
.wall:hover .wall-track{animation-play-state:paused}
@keyframes wallscroll{to{transform:translateX(-50%)}}
.wcard{width:370px;flex-shrink:0;background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:10px;box-shadow:0 3px 12px rgba(10,102,194,.05)}
.wcard .stars{color:#00B67A;font-size:13px;letter-spacing:2px;margin:0}
.wcard .result{align-self:flex-start}
.wcard blockquote{margin:0;font-size:14.5px;line-height:1.55;color:#26333f}
.wcard .who{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid #eef1f4}
.wcard .who img{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0}
.wcard .who .avatar{width:38px;height:38px;font-size:13px}
.wcard .who b{display:block;font-size:13.5px;color:var(--ink);line-height:1.25}
.wcard .who b a{color:var(--ink)}
.wcard .who b a:hover{color:var(--li-blue)}
.wcard .who span{font-size:12px;color:var(--muted);display:block}
.wcard .src{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap;align-self:center}
.wcard .src a{color:var(--muted)}
.wcard .src a:hover{color:var(--li-blue)}
@media (prefers-reduced-motion: reduce){
  .wall-track{animation:none;flex-wrap:wrap;width:auto}
  .wall-track [aria-hidden="true"]{display:none}
  .wall{-webkit-mask-image:none;mask-image:none}
}
@media (max-width:760px){
  .wcard{width:300px;padding:16px 18px}
}
/* receipt strip hairlines (Stripe-style) */
.receipt-strip>div{padding:0 23px}
.receipt-strip>div+div{border-left:1px solid rgba(10,102,194,.14)}
.receipt-strip{gap:0}
@media (max-width:760px){
  .receipt-strip{gap:14px}
  .receipt-strip>div{padding:0 8px}
  .receipt-strip>div+div{border-left:0}
}
.wcard-wide{width:500px}
@media (max-width:760px){.wcard-wide{width:320px}}

/* ================= v4.1 UI-bug fixes (2026-08-08) ================= */

/* BUG 1 — CTA bands were stranded in ~208px of dead whitespace: they sat in a
   zero-padding wrapper between two 104px-padded sections, so the band glued itself
   to the section colour boundary with a large empty gap below. The band now owns its
   own breathing room and the neighbouring sections give way. */
.band-wrap{padding:52px 0}
.section:has(+ .band-wrap){padding-bottom:44px}
.band-wrap + .section{padding-top:44px}
.band-actions{align-items:center}

/* BUG 2 — the Trustpilot cell in the receipt strip ran to 3 lines while the other
   three ran to 2, pushing its number 10px off the shared baseline. Stars now sit
   inline with the number so every cell is number-over-label. */
.receipt-strip .tp-stars{font-size:12px;vertical-align:2px;margin-right:7px}
.receipt-strip b{display:flex;align-items:center;justify-content:center}

/* BUG 3 — tap targets under the 40px minimum (text links at 22px). */
.card-link,.band-link{display:inline-block;padding:9px 0}
.card-link{margin-top:5px}

/* BUG 4 — the reversed marquee row leaked its track outside its own wrapper
   (clipped only by the outer .wall). Clip it at its own level too. */
.wall-rev{overflow:hidden}

@media (max-width:760px){
  .band-wrap{padding:34px 0}
  .section:has(+ .band-wrap){padding-bottom:26px}
  .band-wrap + .section{padding-top:26px}
  /* BUG 5 — receipt strip wrapped into a ragged 2+2 with mismatched baselines and
     no dividers. Locked to a 2x2 grid with a centre hairline. */
  .receipt-strip{display:grid;grid-template-columns:1fr 1fr;gap:18px 0;padding:20px 10px;max-width:none;align-items:start}
  .receipt-strip>div{padding:0 6px}
  .receipt-strip>div+div{border-left:0}
  .receipt-strip>div:nth-child(even){border-left:1px solid rgba(10,102,194,.14)}
  /* BUG 6 — nav CTA sat at 38px, just under the tap-target floor. */
  .nav-cta{padding:11px 15px}
}

/* BUG 7 — step titles ran 1 or 2 lines, so the body copy under the five columns
   started on three different baselines (a 26px stagger). Reserve two lines. */
@media (min-width:761px){ .step h3{min-height:53px} }

/* BUG 8 — three arbitrary content measures were stacking in the same eyeline
   (1084 cards / 1000 band / 900 receipt strip / 980 comparison). Unify the
   "wide component" measure at 1000px. */
.receipt-strip{max-width:1000px}
.cmp{max-width:1000px}

/* ================= v5: the swipe file (real campaigns + real replies) ================= */
.swipe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:6px}
.swipe{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px 24px;display:flex;flex-direction:column;gap:13px;box-shadow:0 4px 16px rgba(10,102,194,.04)}
.swipe-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.swipe-tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--li-blue)}
.swipe-win{margin-left:auto;font-size:12px;font-weight:700;color:var(--green);background:#f2fbf6;border:1px solid #bfe3cd;padding:4px 10px;border-radius:6px;white-space:nowrap}
.swipe h3{font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.25;margin:0}
.swipe-why{font-size:14.5px;line-height:1.6;color:var(--muted);margin:0}
.swipe-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:13px 0;text-align:center;margin-top:auto}
.swipe-stats>div+div{border-left:1px solid var(--border)}
.swipe-stats b{display:block;font-size:19px;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.15}
.swipe-stats span{font-size:11px;color:var(--muted);line-height:1.3}
/* the reply, rendered as an inbound message rather than a screenshot: crisp at every
   viewport, responsive, and no blurred-redaction artefacts */
.thread{background:var(--bg-soft);border-radius:12px;padding:14px 15px}
.thread-label{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.bubble{margin:0;background:#fff;border:1px solid #dbe4ee;border-radius:3px 14px 14px 14px;padding:12px 14px;font-size:14.5px;line-height:1.55;color:#26333f}
.thread-who{font-size:12px;color:var(--muted);margin-top:9px}
.swipe-note{text-align:center;font-size:13px;color:var(--muted);margin:28px auto 0;max-width:720px;line-height:1.6}
@media (max-width:1024px) and (min-width:761px){ .swipe-grid{grid-template-columns:1fr} }
@media (max-width:760px){
  .swipe-grid{grid-template-columns:1fr;gap:16px}
  .swipe{padding:22px 18px}
  .swipe h3{font-size:18px}
  .swipe-win{margin-left:0}
  .swipe-stats b{font-size:17px}
  .swipe-stats span{font-size:10px}
  .bubble{font-size:14px}
}

/* ================= v6: pricing tiers (no figures — the price slot holds the
   three variables that actually move the number) ================= */
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:6px;align-items:stretch}
.tier{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;box-shadow:0 4px 16px rgba(10,102,194,.04)}
.tier-lead{border-color:var(--li-blue);box-shadow:0 10px 34px rgba(10,102,194,.13)}
.tier-name{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--li-blue);margin-bottom:12px}
/* the load line sits where a price would: the largest type in the slot */
.tier-load{font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--ink);margin:0 0 18px}
/* the dial: the three scope variables, monospace label/value rows */
.dial{margin:0 0 14px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.dial>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0}
.dial>div+div{border-top:1px solid #eef1f4}
.dial dt{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.dial dd{margin:0;font-size:13.5px;font-weight:600;color:var(--ink);text-align:right}
.tier-chip{align-self:flex-start;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:4px 9px;margin-bottom:16px}
.tier-inherit{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:11px}
.tier-list{list-style:none;padding:0;margin:0}
.tier-list li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.55;color:#3a4652;margin-bottom:11px}
.tier-list li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--li-blue)}
.tier-gloss,.tier-limits{font-size:12.5px;line-height:1.5;color:var(--muted);margin:auto 0 0;padding-top:14px}
.tier-limits{border-top:1px solid #eef1f4;margin-top:14px}
/* one CTA, this section only */
.tier-cta{text-align:center;margin-top:34px}
.tier-cta-note{max-width:620px;margin:15px auto 0;font-size:14px;line-height:1.6;color:var(--muted)}
/* always-included strip */
.always{margin-top:40px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px 26px}
.always-head{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.always-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.always-grid>div{padding:0 20px}
.always-grid>div:first-child{padding-left:0}
.always-grid>div:last-child{padding-right:0}
.always-grid>div+div{border-left:1px solid var(--border)}
.always-grid b{display:block;font-size:14px;color:var(--ink);margin-bottom:5px;line-height:1.35}
.always-grid span{font-size:12.5px;color:var(--muted);line-height:1.5;display:block}
.tier-addons{text-align:center;font-size:14px;color:var(--muted);margin:24px auto 0;max-width:720px}
@media (max-width:1024px) and (min-width:761px){
  .tier-grid{grid-template-columns:1fr}
  .always-grid{grid-template-columns:repeat(2,1fr);gap:20px 0}
  .always-grid>div:nth-child(odd){padding-left:0}
  .always-grid>div:nth-child(3){border-left:0}
}
@media (max-width:760px){
  .tier-grid{grid-template-columns:1fr;gap:16px}
  .tier{padding:24px 20px}
  .tier-load{font-size:18px}
  .always{padding:20px 18px}
  .always-grid{grid-template-columns:1fr;gap:18px}
  .always-grid>div{padding:0}
  .always-grid>div+div{border-left:0;border-top:1px solid var(--border);padding-top:18px}
}

/* v6.1 — alignment + tick colour in the pricing section */
/* load lines ran 1 vs 2 lines, so the three dials started at different heights */
@media (min-width:761px){ .tier-load{min-height:52px} }
@media (min-width:1025px){ .always-grid b{min-height:38px} }
.always-grid b:before{content:"\2713";color:var(--green);font-weight:800;margin-right:7px}

/* v6.2 — the VSL/walkthrough band is `.section-sm .section-dark`, never `.section`, so every
   design-system heading rule was scoped past it: the headline fell back to browser-default
   25.5px/700 and stayed left-aligned between a centred eyebrow and a centred lede.
   Broadened so any section variant inherits the same heading treatment. */
h2.center{text-align:center}
.section-sm h2{font-size:46px;font-weight:800;letter-spacing:-.03em;line-height:1.12;margin:0 0 18px;color:var(--ink)}
.section-dark h2{color:#fff}
@media (max-width:1024px) and (min-width:761px){ .section-sm h2{font-size:33px} }
@media (max-width:760px){ .section-sm h2{font-size:28px} }

/* ================= v7: THE CASE FILES — real campaigns, opened up =================
   Chassis: "case file" (fixed five-move skeleton, identical every slide).
   Craft: inline annotation pins + a typed note list. Transport: native CSS
   scroll-snap (no JS transforms, no sticky-inside-transform, no JS note alignment). */
.cf-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 22px}
.cf-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:#fff;border:1px solid var(--border);
  border-radius:12px;padding:13px 16px;cursor:pointer;text-align:left;font:inherit;transition:border-color .15s,box-shadow .15s}
.cf-tab:hover{border-color:#b9cfe6}
.cf-tab[aria-selected="true"]{border-color:var(--li-blue);box-shadow:0 6px 20px rgba(10,102,194,.13)}
.cf-tab-n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--muted);letter-spacing:.1em}
.cf-tab[aria-selected="true"] .cf-tab-n{color:var(--li-blue);font-weight:800}
.cf-tab-t{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.25}
.cf-tab-r{font-size:12px;color:var(--muted)}

.cf-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:4px 0 8px;margin:0 -4px;scrollbar-width:none}
.cf-track::-webkit-scrollbar{display:none}
.cf-file{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;background:#fff;border:1px solid var(--border);
  border-radius:16px;box-shadow:0 10px 34px rgba(10,102,194,.09);overflow:hidden;display:flex;flex-direction:column}
.cf-file:focus-visible{outline:3px solid var(--li-blue);outline-offset:3px}

.cf-head{background:var(--bg-soft);border-bottom:1px solid var(--border);padding:20px 30px 22px}
.cf-head-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.cf-scope{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cf-badge{margin-left:auto;font-size:12px;font-weight:700;color:var(--green);background:#f2fbf6;border:1px solid #bfe3cd;padding:4px 10px;border-radius:6px;white-space:nowrap}
.cf-brief{display:grid;grid-template-columns:1fr 1fr}
.cf-brief>div{padding-right:26px}
.cf-brief>div+div{border-left:1px solid var(--border);padding-left:26px;padding-right:0}
.cf-k{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:7px}
.cf-k-sig{color:var(--amber)}
.cf-brief b{display:block;font-size:16.5px;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin-bottom:6px}
.cf-brief p{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}
.cf-chips{margin-top:16px}

.cf-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:34px;padding:26px 30px 22px}
.cf-cap{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.cf-cap-in{margin-top:18px}
.cf-msg p{margin:0 0 10px;font-size:14.5px;line-height:1.62}
.cf-msg p:last-child{margin-bottom:0}
.cf-out{background:var(--li-blue-tint);border:1px solid #d6e6f7;border-radius:14px 14px 14px 3px;padding:14px 16px;color:#26333f}
.cf-in{background:#fff;border:1px solid var(--border);border-radius:3px 14px 14px 14px;padding:14px 16px;color:#26333f}
.cf-meta{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;color:var(--muted);margin-top:8px}
.cf-who{display:block;font-size:12px;color:var(--muted);margin-top:8px}
.cf-after{margin-top:16px;padding-top:16px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:10px}
.cf-after .cf-msg{padding:11px 14px}
.cf-after .cf-msg p{font-size:13.5px}
/* anonymisation: a descriptor, deliberately not a merge token */
.cf-sub{font-style:normal;color:#4a6d8f;background:#eef4fa;border-bottom:1px dashed #a9c4dc;border-radius:3px;padding:0 3px}
/* annotation marks: dormant until the pin is read */
.cf-mark{background:linear-gradient(transparent 64%, #dbeafe 64%);color:inherit;padding:0}
.cf-mark sup{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;color:var(--li-blue);font-weight:700;margin-left:2px;top:-.5em}

.cf-notes{border-left:1px solid var(--border);padding-left:28px}
.cf-notes-h{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.cf-note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:15px;counter-reset:none}
.cf-note{display:flex;gap:11px;align-items:flex-start}
.cf-pin{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:700;background:var(--li-blue-soft);color:var(--li-blue);margin-top:2px}
.cf-note div{font-size:13.5px;line-height:1.55;color:#3a4652}
.cf-note-kind{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.cf-s .cf-pin{background:#fdf8f0;color:var(--amber)}
.cf-s .cf-note-kind{color:var(--amber)}
.cf-f .cf-pin{background:#f2fbf6;color:var(--green)}
.cf-f .cf-note-kind{color:var(--green)}

.cf-ledger{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);padding:16px 30px;text-align:center}
.cf-ledger>div+div{border-left:1px solid var(--border)}
.cf-ledger b{display:block;font-size:25px;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.15}
.cf-ledger span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cf-proves{margin:0;padding:16px 30px 22px;background:var(--li-blue-tint);border-top:1px solid #d6e6f7;font-size:14.5px;line-height:1.6;color:#26333f}
.cf-proves b{color:var(--li-blue)}

.cf-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}
.cf-arrow{width:44px;height:44px;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:17px;color:var(--ink);transition:border-color .15s}
.cf-arrow:hover{border-color:var(--li-blue);color:var(--li-blue)}
.cf-count{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--muted)}
.cf-count b{color:var(--li-blue);font-weight:800}
.cf-foot{text-align:center;font-size:13px;color:var(--muted);margin:20px auto 0;max-width:760px;line-height:1.6}

@media (max-width:1024px){
  .cf-rail{grid-template-columns:repeat(2,1fr)}
  .cf-body{grid-template-columns:1fr;gap:24px}
  .cf-notes{border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:20px}
}
@media (max-width:760px){
  .cf-rail{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
  .cf-tab{padding:10px 12px}
  .cf-tab-t{font-size:13px}
  .cf-track{gap:14px}
  .cf-head,.cf-body,.cf-ledger,.cf-proves{padding-left:18px;padding-right:18px}
  .cf-brief{grid-template-columns:1fr;gap:16px}
  .cf-brief>div{padding-right:0}
  .cf-brief>div+div{border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:16px}
  .cf-badge{margin-left:0}
  .cf-ledger b{font-size:20px}
  .cf-ledger span{font-size:9px}
}
@media (prefers-reduced-motion:reduce){ .cf-track{scroll-behavior:auto} }
@media print{
  .cf-track{display:block;overflow:visible}
  .cf-file{page-break-inside:avoid;margin-bottom:18px;box-shadow:none}
  .cf-rail,.cf-controls{display:none}
}
/* v7.1 — the aggregate strip: connects craft to scale, which is the "woah" beat */
.cf-sum{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px 26px;margin:0 0 22px}
.cf-sum-k{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.cf-sum-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.cf-sum-grid>div+div{border-left:1px solid var(--border)}
.cf-sum-grid b{display:block;font-size:29px;font-weight:800;color:var(--li-blue);letter-spacing:-.02em;line-height:1.1}
.cf-sum-grid span{font-size:12.5px;color:var(--muted)}
.cf-sum-p{margin:16px 0 0;padding-top:15px;border-top:1px solid var(--border);font-size:14.5px;line-height:1.6;color:#3a4652;text-align:center}
@media (max-width:760px){
  .cf-sum{padding:18px 16px}
  .cf-sum-grid{grid-template-columns:1fr 1fr;gap:16px 0}
  .cf-sum-grid>div+div{border-left:0}
  .cf-sum-grid>div:nth-child(even){border-left:1px solid var(--border)}
  .cf-sum-grid b{font-size:23px}
  .cf-sum-p{font-size:13.5px}
}

/* ============ v8.1 — the thread, as a real iMessage-style conversation ============ */
.cf-thread{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff}
.cf-tbar{display:flex;align-items:center;gap:10px;padding:11px 14px;background:rgba(248,250,252,.92);border-bottom:1px solid var(--border)}
.cf-tbar-av{width:28px;height:28px;border-radius:50%;background:var(--li-blue-soft);color:var(--li-blue);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}
.cf-tbar-who{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3}
.cf-tbar-src{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-shrink:0}
.cf-chat{padding:16px 14px 18px;display:flex;flex-direction:column;gap:3px;background:#fff}
.cf-daysep{align-self:center;font-size:11px;color:var(--muted);background:var(--bg-soft);border-radius:100px;padding:4px 12px;margin-bottom:10px}
.cf-row{display:flex;margin-top:7px}
.cf-row-out{justify-content:flex-end}
.cf-row-in{justify-content:flex-start}
.cf-bub{max-width:82%;padding:11px 15px;border-radius:20px;font-size:14.5px;line-height:1.5;position:relative}
.cf-bub p{margin:0}
/* outgoing — ours, brand blue, right */
.cf-bub-out{background:var(--li-blue);color:#fff;border-bottom-right-radius:6px}
.cf-bub-out .cf-sub{color:#fff;background:rgba(255,255,255,.18);border-bottom-color:rgba(255,255,255,.55)}
.cf-bub-out .cf-mark{background:rgba(255,255,255,.16);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 -1px 0 rgba(255,255,255,.5);border-radius:3px;padding:1px 2px}
.cf-bub-out .cf-mark sup{color:#fff;background:rgba(255,255,255,.28);border-radius:50%;padding:1px 4px;margin-left:3px}
/* incoming — theirs, iMessage grey, left */
.cf-bub-in{background:#e9e9eb;color:#111;border-bottom-left-radius:6px}
.cf-bub-in .cf-mark{background:linear-gradient(transparent 62%,#cfe0f4 62%)}
.cf-bub-in .cf-mark sup{color:var(--li-blue)}
.cf-meta{display:block;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:var(--muted);margin:5px 2px 4px}
.cf-cap,.cf-cap-in,.cf-who,.cf-after{display:none}

/* ============ v8.2 — slider affordance: segmented tabs, peek, progress ============ */
.cf-rail{gap:10px}
.cf-tab{position:relative;background:#fff}
.cf-tab[aria-selected="true"]{background:var(--li-blue);border-color:var(--li-blue)}
.cf-tab[aria-selected="true"] .cf-tab-n,
.cf-tab[aria-selected="true"] .cf-tab-t{color:#fff}
.cf-tab[aria-selected="true"] .cf-tab-r{color:rgba(255,255,255,.82)}
.cf-progress{height:3px;background:var(--border);border-radius:100px;overflow:hidden;margin:0 0 20px}
.cf-progress i{display:block;height:100%;width:25%;background:var(--li-blue);border-radius:100px;transition:transform .32s ease;transform:translateX(0)}
/* peek: the next file's edge is visible, so it reads as a carousel */
.cf-file{flex:0 0 calc(100% - 56px)}
.cf-track{scroll-padding-inline:0}
.cf-controls{gap:14px}
.cf-arrow{width:46px;height:46px;font-size:18px;box-shadow:0 2px 8px rgba(10,102,194,.06)}
.cf-arrow:hover{background:var(--li-blue);border-color:var(--li-blue);color:#fff}
.cf-hint{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12.5px;color:var(--muted);margin-top:12px}
@media (max-width:760px){
  .cf-file{flex:0 0 calc(100% - 34px)}
  .cf-bub{max-width:88%;font-size:14px}
  .cf-tbar-who{font-size:12px}
}

/* ============ v8.3 — pricing cards, SaaS standard ============ */
.tier-grid{gap:20px;align-items:stretch}
.tier{position:relative;padding:0;overflow:hidden;border-radius:18px}
.tier-lead{border-width:2px;box-shadow:0 18px 46px rgba(10,102,194,.16)}
.tier-inner{padding:28px 24px 26px;display:flex;flex-direction:column;height:100%}
.tier-flag{display:block;background:var(--li-blue);color:#fff;text-align:center;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:7px 0}
.tier-spacer{display:block;height:0}
.tier-name{font-size:12.5px;margin-bottom:10px}
.tier-load{font-size:19px;min-height:auto;margin-bottom:20px}
/* the spec block replaces the price slot */
.dial{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:4px 14px;margin-bottom:14px}
.dial>div{padding:10px 0}
.dial>div+div{border-top:1px solid #e6eaef}
.tier-chip{margin-bottom:20px}
.tier-list li{position:relative;padding-left:26px;font-size:14px;margin-bottom:12px}
.tier-list li:before{content:"";position:absolute;left:0;top:3px;width:17px;height:17px;border-radius:50%;
  background:#f2fbf6;border:1px solid #bfe3cd}
.tier-list li:after{content:"";position:absolute;left:5.5px;top:7.5px;width:5px;height:8px;
  border:solid var(--green);border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}
.tier-gloss,.tier-limits{margin-top:14px;padding-top:14px;border-top:1px solid #eef1f4}
.tier-cta-card{margin-top:auto;padding-top:20px}
.tier-cta-card .btn{width:100%;padding:13px 20px;font-size:15px}
@media (max-width:760px){
  .tier-inner{padding:22px 18px 22px}
  .tier-load{font-size:18px}
}

/* v8.4 — alignment + mark refinement
   (a) the recommended card's flag was pushing its content below the other two;
       flag and spacer are now the same fixed height so all three align.
   (b) load lines wrapped 1 vs 2 lines, so the three spec blocks started at
       different heights — reserve two lines above 1024px.
   (c) annotation marks drew a box around multi-line phrases on the blue bubble,
       which read busy. Underline only. */
.tier-flag{height:30px;line-height:30px;padding:0}
.tier-spacer{height:30px}
@media (min-width:1025px){ .tier-load{min-height:50px} }
.cf-bub-out .cf-mark{background:none;box-shadow:none;border-radius:0;padding:0;
  border-bottom:1px solid rgba(255,255,255,.55)}
.cf-bub-out .cf-mark sup{background:rgba(255,255,255,.26)}
/* v8.5 — the lead card's 2px border made its interior sit 2px lower than the
   other two, cascading down every row. 1px border + shadow carries the emphasis
   (and is the more refined SaaS treatment anyway). */
.tier-lead{border-width:1px}
/* v9 — explicit client / target rows (the label fix) + a rail that holds 6 */
.cf-who2{margin:0 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cf-who2>div{padding:11px 0}
.cf-who2>div+div{border-left:1px solid var(--border);padding-left:22px}
.cf-who2>div:first-child{padding-right:22px}
.cf-who2 dt{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.cf-who2 dd{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink);font-weight:500}
.cf-rail{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
@media (max-width:760px){
  .cf-who2{grid-template-columns:1fr}
  .cf-who2>div+div{border-left:0;border-top:1px solid var(--border);padding-left:0}
  .cf-who2>div:first-child{padding-right:0}
}
/* v10 — 7 tabs auto-fit as 6+1, leaving a lone tab on row two. 4+3 is balanced. */
@media (min-width:1025px){ .cf-rail{grid-template-columns:repeat(4,1fr)} }
@media (max-width:1024px) and (min-width:761px){ .cf-rail{grid-template-columns:repeat(3,1fr)} }

/* ================================================================
   v11 — Campaign Reveal squeeze (/campaign-reveal) + magnet page
   (/the-campaign). Modeled on acquisition.com/roadmap: centered
   hero, 3-panel asset visual, staged form. */

/* ---------- Squeeze shell ---------- */
.sq-nav{padding:12px 0;background:var(--ink)}
.sq-nav .wrap{display:flex;align-items:center;justify-content:space-between}
.sq-nav .logo img{height:30px;filter:brightness(0) invert(1)}
.sq-nav .nav-cta{background:var(--li-blue)}
.sq-hero{padding:56px 0 20px;text-align:center}
.sq-hero .wrap{max-width:940px}
.sq-hero h1{font-size:39px;font-weight:800;letter-spacing:-.03em;line-height:1.12;margin:0 0 14px}
.sq-hero h1 em{font-style:normal;color:var(--li-blue)}
.sq-hero .sub{font-size:18px;color:var(--muted);line-height:1.55;max-width:680px;margin:0 auto}

/* ---------- 3-panel asset visual (the "roadmap screens" mirror) ---------- */
.panels3{display:flex;justify-content:center;align-items:center;margin:36px auto 8px;max-width:860px;perspective:1200px}
.panel{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 18px 50px rgba(16,24,32,.16);width:300px;flex-shrink:0;overflow:hidden}
.panel .p-bar{display:flex;align-items:center;gap:6px;background:var(--bg-soft);border-bottom:1px solid var(--border);padding:8px 12px}
.panel .p-bar i{width:9px;height:9px;border-radius:50%;background:#d5dbe1;display:block}
.panel .p-bar span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.06em;color:var(--muted);margin-left:4px}
.panel .p-body{padding:14px 16px;font-size:12px;line-height:1.6;color:#42505e;text-align:left}
.panel .p-body b{color:var(--ink)}
.panel .p-body .hl{background:var(--li-blue-soft);border-radius:3px;padding:0 3px}
.panel.side{transform:rotateY(18deg) scale(.86);opacity:.85;z-index:1}
.panel.blurred .p-body{filter:blur(4.5px);user-select:none;pointer-events:none}
.panel.side.r{transform:rotateY(-18deg) scale(.86)}
.panel.mid{z-index:2;margin:0 -34px;box-shadow:0 26px 70px rgba(10,102,194,.24)}
@media (max-width:760px){
  .panels3{flex-direction:column;gap:14px;perspective:none}
  .panel{width:100%;max-width:360px}
  .panel.side,.panel.side.r{transform:none;opacity:1}
  .panel.mid{margin:0}
}

/* ---------- Staged form ---------- */
.sq-formwrap{padding:26px 0 10px}
.sq-form{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 14px 44px rgba(10,102,194,.10);padding:38px 40px 32px}
.sq-form h2{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0 0 22px;text-align:center}
.sq-form h2 b{font-weight:800}
.sq-stage{display:none}
.sq-stage.on{display:block;animation:sqin .25s ease}
@keyframes sqin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sq-row{display:flex;gap:12px}
.sq-row>*{flex:1}
.sq-field{margin-bottom:14px;text-align:left}
.sq-field label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.sq-input,.sq-select{width:100%;padding:14px 16px;font-size:16px;border:1.5px solid var(--border);border-radius:9px;background:#fbfcfd;color:var(--ink);font-family:inherit;appearance:auto}
.sq-input:focus,.sq-select:focus{outline:none;border-color:var(--li-blue);background:#fff;box-shadow:0 0 0 3px var(--li-blue-soft)}
.sq-input.err{border-color:#c4423a}
.sq-error{display:none;color:#c4423a;font-size:13.5px;margin:-6px 0 12px;text-align:left}
.sq-error.on{display:block}
.sq-btn{width:100%;padding:17px;font-size:16px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:var(--li-blue);color:#fff;border:0;border-radius:100px;cursor:pointer;transition:background .15s ease,transform .12s ease;box-shadow:0 8px 24px rgba(10,102,194,.28)}
.sq-btn:hover{background:var(--li-blue-dark);transform:translateY(-1px)}
.sq-btn[disabled]{opacity:.6;cursor:wait;transform:none}
.sq-prev{display:block;text-align:center;margin-top:14px;font-size:14px;color:var(--muted);background:none;border:0;cursor:pointer;font-family:inherit}
.sq-prev:hover{color:var(--li-blue)}
.sq-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}
.sq-dots i{width:8px;height:8px;border-radius:50%;background:var(--border);display:block;transition:background .2s}
.sq-dots i.on{background:var(--li-blue)}
.sq-benefits{max-width:560px;margin:22px auto 0;text-align:center}
.sq-benefits p{display:flex;align-items:center;justify-content:center;gap:9px;font-size:15px;font-weight:700;color:var(--ink);margin:9px 0}
.sq-benefits svg{flex-shrink:0}
.sq-consent{max-width:640px;margin:20px auto 0;font-size:11.5px;color:var(--muted);line-height:1.55;text-align:center}
.sq-consent a{color:var(--muted);text-decoration:underline}

/* ---------- Proof strip + quote band ---------- */
.sq-proof{padding:54px 0;border-top:1px solid var(--border);margin-top:46px}
.sq-proof .caption{text-align:center;font-size:13px;color:var(--muted);margin-top:20px}
.quoteband{background:var(--bg-soft);padding:64px 0}
.quoteband .wrap{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:center;max-width:980px}
.quoteband blockquote{font-size:22px;line-height:1.5;font-style:italic;color:var(--ink);margin:0 0 16px;letter-spacing:-.01em}
.quoteband .attr{font-size:15px;font-weight:700;color:var(--ink)}
.quoteband .attr span{display:block;font-weight:400;color:var(--muted);font-size:14px}
.quoteband .qthumb{transform:rotate(-2deg)}
@media (max-width:820px){.quoteband .wrap{grid-template-columns:1fr;gap:28px}.quoteband .qthumb{display:none}}
.sq-disclaimer{padding:26px 0 40px;font-size:11px;color:var(--muted);line-height:1.6;text-align:center}
.sq-disclaimer .wrap{max-width:760px}

/* ---------- Magnet page (/the-campaign) ---------- */
.confirmbar{background:#f2fbf6;border-bottom:1px solid #bfe3cd;color:#0A6B39;font-size:14.5px;font-weight:600;text-align:center;padding:11px 20px}
.vsl-ph{position:relative;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#101820 0%,#1b2a3a 100%);aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;box-shadow:0 16px 50px rgba(10,102,194,.18);max-width:760px;margin:0 auto}
.vsl-ph .ph-play{width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center}
.vsl-ph .ph-play svg{margin-left:5px}
.vsl-ph p{color:#b9c2cc;font-size:14px;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}
.msgdoc{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 6px 22px rgba(16,24,32,.07)}
.msgdoc .m-bar{display:flex;align-items:center;gap:6px;background:var(--bg-soft);border-bottom:1px solid var(--border);padding:9px 14px}
.msgdoc .m-bar i{width:10px;height:10px;border-radius:50%;background:#d5dbe1;display:block}
.msgdoc .m-bar span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.06em;color:var(--muted);margin-left:6px}
.msgdoc .m-bar .m-count{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;color:var(--li-blue);background:var(--li-blue-soft);border-radius:5px;padding:3px 8px}
.msgdoc .m-body{padding:20px 24px;font-size:15.5px;line-height:1.65;color:#2a3540}
.msgdoc .m-body p{margin:0 0 12px}
.msgdoc .m-body p:last-child{margin:0}
.msgdoc .m-body .ph{background:var(--li-blue-soft);color:var(--li-blue-dark);border-radius:4px;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px}
.msgdoc+.m-note{font-size:13.5px;color:var(--muted);margin:10px 2px 0;line-height:1.55}
.msgstack{display:grid;gap:26px;max-width:720px;margin:0 auto}
.rulebox{background:var(--li-blue-tint);border:1px solid var(--li-blue-soft);border-left:4px solid var(--li-blue);border-radius:10px;padding:18px 22px;font-size:15px;line-height:1.6;margin:22px 0}
.rulebox b{color:var(--li-blue-dark)}
@media (max-width:760px){
  .sq-hero h1{font-size:27px}
  .sq-form{padding:30px 22px 26px}
  .sq-row{flex-direction:column;gap:0}
  .quoteband blockquote{font-size:18px}
}

/* ================================================================
   v12 — /the-campaign teardown components: compare cards, targeting
   stack, engine pipeline, screenshot cards, checklist. */
.compare2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}
.cmp{border-radius:14px;padding:24px 26px;border:1px solid var(--border)}
.cmp.bad{background:#fdf5f4;border-color:#f3ccc9}
.cmp.good{background:#f2fbf6;border-color:#bfe3cd}
.cmp-tag{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:6px;margin-bottom:14px}
.cmp.bad .cmp-tag{background:#f8e5e3;color:#9B2C24}
.cmp.good .cmp-tag{background:#def3e6;color:#0A6B39}
.cmp-line{font-size:16.5px;line-height:1.5;font-style:italic;color:var(--ink);margin:0 0 12px}
.cmp-why{font-size:14px;color:var(--muted);margin:0;line-height:1.55}
.cmp.good .cmp-why b,.cmp.good .cmp-why{color:#3d5a48}
@media (max-width:720px){.compare2{grid-template-columns:1fr}}

.tstack{margin:26px 0;border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden}
.tlayer{display:flex;gap:18px;padding:22px 26px;border-top:1px solid var(--border)}
.tlayer:first-child{border-top:0}
.tlayer:nth-child(odd){background:var(--li-blue-tint)}
.tnum{flex-shrink:0;width:34px;height:34px;border-radius:9px;background:var(--li-blue);color:#fff;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;margin-top:2px}
.tlayer b{font-size:16.5px;letter-spacing:-.01em}
.tlayer p{margin:6px 0 0;font-size:15px;color:var(--muted);line-height:1.6}

.engine{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:34px 0 26px}
.estep{background:#fff;border:1px solid var(--border);border-radius:13px;padding:20px 16px;position:relative;box-shadow:0 4px 14px rgba(16,24,32,.05)}
.estep .enum{width:30px;height:30px;border-radius:50%;background:var(--li-blue-soft);color:var(--li-blue);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.estep b{display:block;font-size:15.5px;margin-bottom:6px;letter-spacing:-.01em}
.estep p{margin:0;font-size:13px;color:var(--muted);line-height:1.55}
.estep::after{content:"→";position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:var(--li-blue);font-size:15px;font-weight:800;z-index:2}
.estep:last-child::after{content:none}
@media (max-width:900px){
  .engine{grid-template-columns:1fr;gap:10px}
  .estep{display:grid;grid-template-columns:30px 1fr;column-gap:14px;align-items:start}
  .estep .enum{margin-bottom:0}
  .estep b{grid-column:2}
  .estep p{grid-column:2}
  .estep::after{content:"↓";right:auto;left:27px;top:auto;bottom:-16px;transform:none}
}

.shotcard{margin:34px 0 8px}
.shotcard img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--border);box-shadow:0 14px 44px rgba(16,24,32,.12)}
.shotcard figcaption{font-size:13.5px;color:var(--muted);line-height:1.55;margin-top:12px;padding:0 4px}
.shotcard figcaption::before{content:"● LIVE";font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.1em;color:var(--green);background:#f2fbf6;border:1px solid #bfe3cd;border-radius:5px;padding:2px 7px;margin-right:9px;vertical-align:1px}

.checklist{list-style:none;margin:22px 0;padding:0}
.checklist li{position:relative;padding:11px 0 11px 38px;border-top:1px solid var(--border);font-size:15.5px;line-height:1.55}
.checklist li:first-child{border-top:0}
.checklist li::before{content:"";position:absolute;left:4px;top:14px;width:20px;height:20px;border-radius:6px;background:var(--li-blue-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.3l2.6 2.6 5.4-5.5' stroke='%230A66C2' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

/* v12b — parts index (hero) + click-to-reveal */
.toc{margin:34px auto 0;max-width:680px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 24px 18px;box-shadow:0 8px 30px rgba(10,102,194,.07);text-align:left}
.toc-title{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:12px;text-align:center}
.toc-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 22px}
.toc-grid a{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;font-size:14.5px;font-weight:600;color:var(--ink)}
.toc-grid a:hover{background:var(--li-blue-tint);color:var(--li-blue)}
.toc-grid a i{font-style:normal;flex-shrink:0;width:22px;height:22px;border-radius:6px;background:var(--li-blue-soft);color:var(--li-blue);font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
@media (max-width:600px){.toc-grid{grid-template-columns:1fr}}

.reveal{margin:22px 0;border:1.5px solid var(--li-blue-soft);border-radius:12px;background:var(--li-blue-tint);overflow:hidden}
.reveal summary{list-style:none;cursor:pointer;padding:15px 20px;font-size:15px;font-weight:700;color:var(--li-blue-dark);display:flex;align-items:center;gap:11px;user-select:none}
.reveal summary::-webkit-details-marker{display:none}
.reveal summary::before{content:"+";flex-shrink:0;width:24px;height:24px;border-radius:7px;background:var(--li-blue);color:#fff;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;transition:transform .18s ease}
.reveal[open] summary::before{content:"−"}
.reveal summary:hover{background:var(--li-blue-soft)}
.reveal .reveal-body{padding:4px 22px 18px;background:#fff;border-top:1px solid var(--li-blue-soft)}
.reveal .reveal-body ul{margin:14px 0 10px;padding-left:0;list-style:none}
.reveal .reveal-body li{padding:6px 0 6px 24px;position:relative;font-size:14.5px;line-height:1.6;color:#2a3540}
.reveal .reveal-body li::before{content:"";position:absolute;left:2px;top:13px;width:7px;height:7px;border-radius:50%;background:var(--li-blue)}
.reveal .reveal-body p{font-size:14.5px;line-height:1.6;color:#2a3540}

/* v12c — Part 1 DM duel + Part 8 call grid */
.dmduel{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}
.dmcol{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;padding:22px 24px;background:var(--bg-soft)}
.dmcol:last-child{background:var(--li-blue-tint);border-color:#c9ddf2}
.dmcol .dm-bubble{background:#fff}
.dmcol:last-child .dm-bubble{background:#fff;border-color:#c9ddf2}
.dm-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:12px}
.dmthread{display:flex;gap:10px;align-items:flex-start;flex:1}
.dm-ava{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#d5dbe1,#b9c2cc)}
.dm-bubble{background:var(--bg-soft);border:1px solid var(--border);border-radius:4px 16px 16px 16px;padding:14px 18px;font-size:15.5px;line-height:1.55;color:var(--ink)}
.dm-bubble.win{background:var(--li-blue-soft);border-color:#c9ddf2}
.dm-verdict{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:14px;line-height:1.55;color:var(--muted);padding-left:44px}
.dm-verdict span{flex-shrink:0;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:1px}
.dm-verdict.no span{background:#fdf5f4;color:#9B2C24;border:1px solid #f3ccc9}
.dm-verdict.yes span{background:#f2fbf6;color:#0A6B39;border:1px solid #bfe3cd}
.dm-verdict.yes{color:#3d5a48}
@media (max-width:720px){.dmduel{grid-template-columns:1fr}}

.callgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.callcard{background:#fff;border:1px solid var(--border);border-radius:11px;padding:15px 18px;font-size:14.5px;line-height:1.5;color:var(--ink)}
.calltag{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;border-radius:5px;padding:3px 8px;margin:0 0 8px;display:block;width:fit-content}
.calltag.r{background:var(--li-blue-soft);color:var(--li-blue-dark)}
.calltag.o{background:#f2fbf6;color:#0A6B39;border:1px solid #d9efe2}
@media (max-width:720px){.callgrid{grid-template-columns:1fr}}

/* v12d — nav resources dropdown */
.nav-drop{position:relative}
.nav-drop>a{display:inline-flex;align-items:center;gap:6px}
.nav-drop svg{opacity:.55;transition:transform .15s ease}
.nav-drop:hover svg,.nav-drop:focus-within svg{transform:rotate(180deg)}
.drop-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:14px;opacity:0;visibility:hidden;transition:opacity .15s ease;z-index:60}
.nav-drop:hover .drop-menu,.nav-drop:focus-within .drop-menu{opacity:1;visibility:visible}
.drop-menu::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#fff;border-left:1px solid var(--border);border-top:1px solid var(--border)}
.drop-menu a{display:block;width:280px;background:#fff;border:1px solid var(--border);padding:13px 18px;border-bottom:0}
.drop-menu a:first-child{border-radius:12px 12px 0 0}
.drop-menu a:last-child{border-radius:0 0 12px 12px;border-bottom:1px solid var(--border);box-shadow:0 18px 44px rgba(16,24,32,.14)}
.drop-menu a:hover{background:var(--li-blue-tint)}
.drop-menu b{display:block;font-size:14.5px;color:var(--ink);letter-spacing:-.01em}
.drop-menu a:hover b{color:var(--li-blue)}
.drop-menu span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px;font-weight:400}

/* v12e — regional calendar segmented control */
.cal-region{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:0 0 18px}
.cal-region:empty{display:none}
.cal-region .seg-label{font-size:14px;font-weight:600;color:var(--muted)}
.cal-region .seg{display:inline-flex;background:#fff;border:1.5px solid var(--border);border-radius:100px;padding:4px;gap:4px;box-shadow:0 3px 12px rgba(16,24,32,.06)}
.cal-region button{border:0;background:transparent;border-radius:100px;padding:10px 22px;font-size:14.5px;font-weight:700;color:var(--muted);cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease;min-height:42px}
.cal-region button.on{background:var(--li-blue);color:#fff;box-shadow:0 4px 14px rgba(10,102,194,.3)}
.cal-region button:not(.on):hover{color:var(--li-blue)}
.cal-region button:focus-visible{outline:3px solid var(--li-blue);outline-offset:2px}

/* v12f — squeeze proof heading (real h2 for outline/extraction, sized as an eyebrow) */
.sq-proof-h{text-align:center;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 26px}

/* v12g — the hidden attribute must beat component display rules (.badge, .btn-row,
   .vsl-ph all set display, which otherwise wins over the UA [hidden] rule). */
[hidden]{display:none!important}

/* ---- v13: consent banner (gates Clarity + LinkedIn Insight; never on /campaign-reveal) ---- */
/* Anchored bottom-RIGHT on desktop: the hero CTA is bottom-left, and a centred banner
   clipped it. Full-width only on narrow screens, where the CTA is not beside it. */
#gl-consent{position:fixed;right:1rem;bottom:1rem;left:auto;z-index:9999;
  max-width:31rem;padding:1rem 1.15rem;border-radius:14px;
  background:#0f1420;color:#e8edf7;border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 48px rgba(0,0,0,.42);
  display:flex;gap:1rem;align-items:center;flex-wrap:wrap;
  font-size:.9rem;line-height:1.5;animation:gl-consent-in .28s ease-out both}
@keyframes gl-consent-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
#gl-consent p{margin:0;flex:1 1 20rem}
#gl-consent a{color:#8fd0ff;text-decoration:underline;text-underline-offset:2px}
.gl-consent-btns{display:flex;gap:.5rem;flex:0 0 auto}
#gl-consent button{font:inherit;font-weight:600;cursor:pointer;border-radius:9px;
  padding:.55rem 1.15rem;border:1px solid transparent;white-space:nowrap}
/* Equal visual weight: a decline that is harder to find is a dark pattern. */
.gl-c-no{background:transparent;color:#e8edf7;border-color:rgba(255,255,255,.34)}
.gl-c-no:hover{background:rgba(255,255,255,.08)}
.gl-c-yes{background:#3f8cff;color:#fff}
.gl-c-yes:hover{background:#2f7cf0}
#gl-consent button:focus-visible{outline:2px solid #8fd0ff;outline-offset:2px}
@media (max-width:560px){
  #gl-consent{flex-direction:column;align-items:stretch;gap:.75rem;bottom:.75rem;
    left:.75rem;right:.75rem;max-width:none}
  .gl-consent-btns{justify-content:stretch}
  #gl-consent button{flex:1}
}
@media (prefers-reduced-motion:reduce){#gl-consent{animation:none}}
