/* ═══════════════════════════════════════════════════════════════
   PROBATIVE CO — app.css
   Components added for: campaign landing pages, the AI practice
   pages, pricing & checkout, the newsletter, the 2026 guide, and
   the tools.probativeco.com directory.
   Loads after site.css and uses its tokens.
   ═══════════════════════════════════════════════════════════════ */

/* ── nav variants ───────────────────────────────────────────── */
.links a.ext{color:var(--acc)}
.links a.ext::after{content:"";}
.links a.cur{color:var(--ink);background:var(--paper3)}
.logo .sub{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);background:var(--acc-bg);border:1px solid var(--acc-line);border-radius:5px;padding:3px 6px;margin-left:8px}
.burger{display:none;background:none;border:1px solid var(--line-d);border-radius:8px;width:38px;height:36px;padding:9px 8px;cursor:pointer;flex-direction:column;justify-content:space-between}
.burger span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:.2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile{display:none;border-top:1px solid var(--line);background:var(--paper);padding:14px 24px 20px}
.mobile.open{display:block}
.mobile a{display:block;padding:11px 0;font-size:15px;font-weight:600;text-decoration:none;color:var(--ink2);border-bottom:1px solid var(--line)}
.mobile a:hover{color:var(--acc)}
.mobile .m-ctas{display:flex;flex-direction:column;gap:8px;margin-top:16px}
@media(max-width:1000px){.burger{display:flex}}

/* minimal nav for landing pages (fewer exits, clearer offer) */
.lp-nav{border-bottom:1px solid var(--line);background:rgba(244,243,239,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100}
.lp-nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:18px}
.lp-nav-right{display:flex;align-items:center;gap:18px}
.lp-link{font-family:var(--mono);font-size:11px;color:var(--mut);text-decoration:none;letter-spacing:.02em}
.lp-link:hover{color:var(--acc)}
@media(max-width:640px){.lp-link{display:none}}

/* ── landing page ───────────────────────────────────────────── */
.lp-hero{padding:70px 0 56px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.lp-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:46px 46px;opacity:.4;mask-image:radial-gradient(ellipse 70% 80% at 76% 0%,#000,transparent 72%);-webkit-mask-image:radial-gradient(ellipse 70% 80% at 76% 0%,#000,transparent 72%)}
.lp-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:52px;align-items:start;position:relative}
.lp-hero h1{font-size:clamp(32px,4.4vw,50px);font-weight:900;letter-spacing:-.04em;line-height:1.07;margin-top:16px;text-wrap:balance}
.lp-hero .sub{font-size:17px;color:var(--ink2);margin-top:20px;max-width:60ch;line-height:1.75}
.lp-hero .sub b{color:var(--ink)}
.lp-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:30px}
.lp-proof{display:flex;gap:34px;flex-wrap:wrap;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.lp-proof span{font-family:var(--mono);font-size:10.5px;color:var(--mut);letter-spacing:.03em;max-width:22ch}
.lp-proof b{display:block;font-family:var(--sans);font-size:26px;font-weight:900;letter-spacing:-.04em;color:var(--ink);margin-bottom:2px}
.lp-trust{margin-top:24px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.lp-card{background:var(--paper);border:1px solid var(--line-d);border-radius:16px;padding:28px;box-shadow:var(--sh3);position:relative;overflow:hidden}
.lp-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--acc)}
.lp-card-head{margin-bottom:18px}
.lp-price{font-size:44px;font-weight:900;letter-spacing:-.05em;line-height:1}
.lp-price-unit{font-family:var(--mono);font-size:10.5px;color:var(--mut);letter-spacing:.08em;text-transform:uppercase;margin-top:8px}
.lp-card h3{font-size:16px;font-weight:800;letter-spacing:-.02em;padding-top:16px;border-top:1px solid var(--line);margin-bottom:12px}
.lp-includes{list-style:none;margin-bottom:20px}
.lp-includes li{font-size:13.5px;color:var(--ink2);padding:6px 0 6px 24px;position:relative;line-height:1.6}
.lp-includes li::before{content:"";position:absolute;left:2px;top:11px;width:13px;height:13px;border-radius:99px;background:var(--ok-bg) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230d7a43" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>') center/8px no-repeat}
.lp-card .btn{width:100%}
.pay-note{font-size:10.5px;color:var(--mut);margin-top:10px;line-height:1.6;text-align:center;font-family:var(--mono)}
.lp-note{font-size:12px;color:var(--mut);margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);line-height:1.65}
.lp-alt{font-size:12.5px;color:var(--mut);margin-top:14px;text-align:center}
.lp-alt a{color:var(--acc);font-weight:700;text-decoration:none}
.lp-problem{padding:72px 0;border-bottom:1px solid var(--line)}
.lp-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:52px;align-items:start}
.lp-split h2{font-size:clamp(24px,3.2vw,36px);font-weight:900;letter-spacing:-.04em;line-height:1.14;margin-top:12px;text-wrap:balance}
.lp-lead{font-size:16.5px;color:var(--ink2);line-height:1.8}
.lp-ticks{list-style:none;margin-top:22px}
.lp-ticks li{font-size:14.5px;color:var(--ink2);padding:9px 0 9px 26px;border-bottom:1px dashed var(--line);position:relative}
.lp-ticks li::before{content:"→";position:absolute;left:0;color:var(--acc);font-family:var(--mono);font-weight:700}
.lp-who{padding:72px 0}
.lp-who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.lp-who-card{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:0 12px 12px 0;padding:20px 22px;font-size:14px;color:var(--ink2);line-height:1.65}
.lp-process{margin-top:44px}
.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lp-step{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px}
.lp-step span{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--acc)}
.lp-step h4{font-size:16px;font-weight:800;letter-spacing:-.02em;margin-top:8px}
.lp-step p{font-size:13px;color:var(--mut);margin-top:8px;line-height:1.7}
.lp-faq{padding:72px 0;border-top:1px solid var(--line)}
.lp-faq-h{text-align:center;font-size:clamp(22px,2.8vw,30px);font-weight:900;letter-spacing:-.035em;margin:12px 0 30px}
.lp-related{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:center;margin-top:36px}
@media(max-width:900px){.lp-hero-grid,.lp-split,.lp-who-grid,.lp-steps{grid-template-columns:1fr}}

/* trust bar */
.trustbar{display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:center;padding:22px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);margin-top:56px}
.trustbar span{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.trustbar svg{width:11px;height:11px;color:var(--ok);flex:none}

/* ── generic page bits used across new pages ────────────────── */
.crumbs{font-family:var(--mono);font-size:10.5px;color:var(--mut);letter-spacing:.03em;padding:22px 0 0}
.crumbs a{color:var(--mut);text-decoration:none}
.crumbs a:hover{color:var(--acc)}
.crumbs b{color:var(--ink2)}
.pad{padding:24px}
.muted{color:var(--mut);font-size:13.5px;line-height:1.7}
.small{font-size:12.5px;color:var(--mut);line-height:1.7}
.lead{font-size:16.5px;color:var(--ink2);line-height:1.8}
.m-hero{padding:56px 0 40px;border-bottom:1px solid var(--line);margin-bottom:44px}
.m-hero h1{font-size:clamp(30px,4vw,44px);font-weight:900;letter-spacing:-.04em;line-height:1.1;margin-top:14px}
.m-hero .sub{font-size:16.5px;color:var(--ink2);margin-top:18px;max-width:62ch;line-height:1.8}
.m-ctas{display:flex;gap:12px;flex-wrap:wrap}
.band .pts{list-style:none;margin-top:20px}
.band .pts li{padding:6px 0 6px 26px;position:relative}
.band .pts li::before{content:"";position:absolute;left:2px;top:14px;width:7px;height:7px;border-radius:2px;background:var(--acc)}
.cta-actions{display:flex;flex-direction:column;gap:10px;justify-content:center}
.btn.on-dark{background:#fff;color:var(--ink);font-weight:800}
.btn.on-dark:hover{background:#8ea0ff;color:#fff}
.btn.ghost-dark{border:1px solid rgba(255,255,255,.28);color:#fff;background:transparent}
.btn.ghost-dark:hover{background:rgba(255,255,255,.08)}
.cta-note{font-size:11.5px;color:#7f8998;text-align:center;font-family:var(--mono);letter-spacing:.02em}
.cta-note a{color:#fff;text-decoration:none;border-bottom:1px solid #3d4657}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:820px){.two{grid-template-columns:1fr}}

/* ── pricing page ───────────────────────────────────────────── */
.price-hero{padding:64px 0 48px;border-bottom:1px solid var(--line)}
.price-hero h1{font-size:clamp(32px,4.4vw,50px);font-weight:900;letter-spacing:-.04em;line-height:1.08;max-width:24ch;margin-top:14px}
.price-hero .sub{font-size:17px;color:var(--ink2);margin-top:18px;max-width:60ch;line-height:1.75}
.price-group{margin-top:56px}
.price-group-head{display:flex;align-items:baseline;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:6px}
.price-group-head h2{font-size:22px;font-weight:900;letter-spacing:-.03em}
.price-group-head span{font-family:var(--mono);font-size:10.5px;color:var(--mut);letter-spacing:.08em;text-transform:uppercase;margin-left:auto}
.price-row{display:grid;grid-template-columns:minmax(0,1fr) 132px 190px;gap:22px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line)}
.price-row:hover{background:var(--paper)}
.price-row h3{font-size:17px;font-weight:800;letter-spacing:-.02em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.price-row .tag{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);background:var(--acc-bg);border:1px solid var(--acc-line);border-radius:5px;padding:3px 7px}
.price-row .desc{font-size:13.5px;color:var(--mut);margin-top:8px;line-height:1.7;max-width:62ch}
.price-row .inc{list-style:none;margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:4px 22px}
.price-row .inc li{font-size:12.5px;color:var(--ink2);padding-left:18px;position:relative;line-height:1.6}
.price-row .inc li::before{content:"·";position:absolute;left:4px;color:var(--acc);font-weight:900}
.price-row .num{text-align:right}
.price-row .num b{font-size:24px;font-weight:900;letter-spacing:-.04em;display:block;white-space:nowrap}
.price-row .num small{font-family:var(--mono);font-size:10px;color:var(--mut);letter-spacing:.04em;display:block;margin-top:4px}
.price-row .num .meta{font-size:11px;color:var(--mut);margin-top:8px;line-height:1.6}
.price-row .buy{display:flex;flex-direction:column;gap:8px}
.price-row .buy .btn{width:100%}
@media(max-width:900px){
  .price-row{grid-template-columns:1fr;gap:12px}
  .price-row .num{text-align:left}
  .price-row .inc{grid-template-columns:1fr}
}
.vat-note{font-size:12px;color:var(--mut);margin-top:26px;padding:18px 20px;border:1px dashed var(--line-d);border-radius:12px;background:var(--paper2);line-height:1.7}

/* ── checkout ───────────────────────────────────────────────── */
.checkout-wrap{max-width:760px;margin:0 auto;padding:64px 24px 40px}
.checkout-card{background:var(--paper);border:1px solid var(--line-d);border-radius:18px;padding:34px;box-shadow:var(--sh2)}
.checkout-card .co-mark{width:44px;height:44px;border-radius:12px;background:var(--ok-bg);border:1px solid var(--ok-line);display:grid;place-items:center;color:var(--ok);font-size:20px}
.checkout-card h1{font-size:28px;font-weight:900;letter-spacing:-.035em;margin-top:18px;line-height:1.15}
.checkout-card p{color:var(--ink2);margin-top:14px;line-height:1.75;font-size:15px}
.checkout-steps{list-style:none;margin-top:24px;border-top:1px solid var(--line)}
.checkout-steps li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink2);line-height:1.65}
.checkout-steps .n{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--acc);flex:none;padding-top:2px}
.checkout-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.checkout-ref{font-family:var(--mono);font-size:11px;color:var(--mut);margin-top:20px;padding-top:16px;border-top:1px dashed var(--line);letter-spacing:.04em}

/* ── newsletter page ────────────────────────────────────────── */
.nl-hero{padding:64px 0 48px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.nl-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:46px 46px;opacity:.35;mask-image:radial-gradient(ellipse 60% 80% at 80% 0%,#000,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 60% 80% at 80% 0%,#000,transparent 70%)}
.nl-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:52px;align-items:center;position:relative}
.nl-hero h1{font-size:clamp(32px,4.4vw,50px);font-weight:900;letter-spacing:-.04em;line-height:1.07;margin-top:14px}
.nl-hero .sub{font-size:17px;color:var(--ink2);margin-top:20px;line-height:1.75;max-width:56ch}
.nl-signup{background:var(--paper);border:1px solid var(--line-d);border-radius:16px;padding:28px;box-shadow:var(--sh3)}
.nl-signup h3{font-size:18px;font-weight:800;letter-spacing:-.02em}
.nl-signup p{font-size:13px;color:var(--mut);margin-top:8px;line-height:1.7}
.nl-form-lg{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.nl-form-lg input[type=email]{background:var(--paper2);border:1px solid var(--line-d);border-radius:9px;padding:13px 14px;font-size:14.5px;font-family:var(--sans);color:var(--ink);outline:none}
.nl-form-lg input[type=email]:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-bg);background:#fff}
.nl-interests{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.nl-interests label{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--ink2);background:var(--paper2);border:1px solid var(--line);border-radius:8px;padding:9px 11px;cursor:pointer}
.nl-fine{font-size:10.5px;color:var(--mut);line-height:1.6;margin-top:6px}
.nl-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:34px}
.nl-benefit{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px}
.nl-benefit h4{font-size:15px;font-weight:800;letter-spacing:-.02em}
.nl-benefit p{font-size:13px;color:var(--mut);margin-top:8px;line-height:1.7}
.issue-list{border-top:1px solid var(--line);margin-top:20px}
.issue{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start;text-decoration:none;color:inherit}
.issue:hover{background:var(--paper2)}
.issue .inum{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--acc);letter-spacing:.06em}
.issue .idate{font-family:var(--mono);font-size:10px;color:var(--mut);margin-top:4px}
.issue h4{font-size:16.5px;font-weight:800;letter-spacing:-.02em;line-height:1.35}
.issue p{font-size:13px;color:var(--mut);margin-top:7px;line-height:1.7;max-width:70ch}
.issue .imeta{text-align:right;font-family:var(--mono);font-size:10px;color:var(--mut);white-space:nowrap}
.issue .itags{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
@media(max-width:800px){.nl-hero-grid{grid-template-columns:1fr}.nl-benefits{grid-template-columns:1fr}.issue{grid-template-columns:1fr;gap:8px}.issue .imeta{text-align:left}}

/* ── AI practice hub + architecture diagrams ─────────────────── */
.ai-hero{padding:70px 0 56px;border-bottom:1px solid var(--line)}
.ai-hero h1{font-size:clamp(34px,4.8vw,54px);font-weight:900;letter-spacing:-.045em;line-height:1.05;max-width:20ch;margin-top:16px;text-wrap:balance}
.ai-hero .sub{font-size:17.5px;color:var(--ink2);margin-top:20px;max-width:64ch;line-height:1.8}
.ai-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.pillar{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px;position:relative;overflow:hidden;transition:.25s var(--ease);text-decoration:none;color:inherit;display:block}
.pillar:hover{border-color:var(--acc);box-shadow:var(--sh3);transform:translateY(-3px)}
.pillar .pk{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
.pillar h3{font-size:21px;font-weight:900;letter-spacing:-.03em;margin-top:10px}
.pillar p{font-size:13.5px;color:var(--mut);margin-top:10px;line-height:1.7;min-height:5em}
.pillar ul{list-style:none;margin-top:14px;border-top:1px dashed var(--line);padding-top:14px}
.pillar li{font-size:12.5px;color:var(--ink2);padding:4px 0 4px 16px;position:relative}
.pillar li::before{content:"—";position:absolute;left:0;color:var(--acc)}
.pillar .pp{font-family:var(--mono);font-size:10.5px;color:var(--mut);margin-top:16px;letter-spacing:.04em}
@media(max-width:900px){.ai-pillars{grid-template-columns:1fr}}

.arch{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px;margin-top:24px}
.arch-row{display:grid;gap:10px}
.arch-layer{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:center;background:var(--paper2);border:1px solid var(--line);border-radius:10px;padding:14px 18px}
.arch-layer .al-k{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.arch-layer .al-v{font-size:13.5px;color:var(--ink2);line-height:1.6}
.arch-layer.out{background:var(--bad-bg);border-color:var(--bad-line)}
.arch-layer.out .al-k{color:var(--bad)}
.arch-layer.in{background:var(--ok-bg);border-color:var(--ok-line)}
.arch-layer.in .al-k{color:var(--ok)}
.arch-arrow{text-align:center;font-family:var(--mono);color:var(--mut);font-size:13px}
@media(max-width:700px){.arch-layer{grid-template-columns:1fr;gap:6px}}

/* ── guide ──────────────────────────────────────────────────── */
.guide-layout{display:grid;grid-template-columns:224px minmax(0,1fr);gap:52px;align-items:start;padding-top:44px}
.guide-toc{position:sticky;top:calc(var(--nav-h) + 20px);border-left:2px solid var(--line);padding-left:18px}
.guide-toc .gt{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-bottom:12px}
.guide-toc a{display:block;font-size:12.5px;color:var(--mut);text-decoration:none;padding:5px 0;line-height:1.45;border-left:2px solid transparent;margin-left:-20px;padding-left:18px}
.guide-toc a:hover{color:var(--ink)}
.guide-toc a.on{color:var(--acc);border-left-color:var(--acc);background:linear-gradient(90deg,var(--acc-bg),transparent 80%)}
.guide-toc .gcta{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
.guide-body{max-width:720px}
.guide-body h1{font-size:clamp(32px,4.6vw,48px);font-weight:900;letter-spacing:-.045em;line-height:1.08;text-wrap:balance}
.guide-body h2{font-size:27px;font-weight:900;letter-spacing:-.035em;line-height:1.2;margin-top:64px;padding-top:26px;border-top:1px solid var(--line);scroll-margin-top:110px}
.guide-body h2 .gn{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--acc);display:block;margin-bottom:8px;letter-spacing:.16em}
.guide-body h3{font-size:19px;font-weight:800;letter-spacing:-.02em;margin-top:36px;scroll-margin-top:110px}
.guide-body p{font-size:16.5px;line-height:1.85;color:#22262c;margin-top:20px;text-wrap:pretty}
.guide-body p b{font-weight:700}
.guide-body ul,.guide-body ol{margin-top:18px;padding-left:24px;font-size:15.5px;line-height:1.85;color:#22262c}
.guide-body li{margin-top:8px}
.guide-body .deck{font-size:18.5px;color:var(--ink2);line-height:1.7;margin-top:20px}
.guide-body table{margin-top:24px}
.guide-body hr{border:none;border-top:1px solid var(--line);margin-top:44px}
.fig{margin-top:32px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px}
.fig .fig-h{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.fig-cap{font-size:12px;color:var(--mut);margin-top:14px;line-height:1.65;font-family:var(--mono);letter-spacing:.02em}
.guide-cta{background:var(--ink);color:#fff;border-radius:16px;padding:30px;margin-top:44px;display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}
.guide-cta h3{font-size:20px;font-weight:900;letter-spacing:-.03em;color:#fff}
.guide-cta p{color:#a8b1bf;font-size:13.5px;margin-top:10px;line-height:1.7}
.guide-cta .m-ctas{flex-direction:column}
@media(max-width:980px){.guide-layout{grid-template-columns:1fr}.guide-toc{position:static;border-left:none;border-top:1px solid var(--line);padding:18px 0 0}.guide-toc a{margin-left:0;padding-left:0}.guide-cta{grid-template-columns:1fr}}

/* ── tools directory ────────────────────────────────────────── */
.tools-nav .mobile a{color:var(--ink2)}
.dir-hero{padding:64px 0 44px;border-bottom:1px solid var(--line)}
.dir-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:44px;align-items:start}
.dir-hero h1{font-size:clamp(32px,4.4vw,48px);font-weight:900;letter-spacing:-.045em;line-height:1.07;margin-top:14px;text-wrap:balance}
.dir-hero .sub{font-size:16.5px;color:var(--ink2);margin-top:18px;line-height:1.8;max-width:62ch}
.dir-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.dir-stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10.5px;color:var(--mut);letter-spacing:.05em;text-transform:uppercase}
.dir-stats b{display:block;font-family:var(--sans);font-size:24px;font-weight:900;letter-spacing:-.04em;color:var(--ink);text-transform:none;margin-bottom:2px}
.dir-note{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:14px;padding:22px}
.dir-note .lab{color:var(--warn)}
.dir-note p{font-size:12.5px;color:#5c4a2a;line-height:1.7;margin-top:8px}
.dir-note .small{color:#6b5533}
.dir-note a{color:#5c4a2a}
.dir-method-strip{padding:44px 0;background:var(--paper);border-bottom:1px solid var(--line);margin-bottom:44px}
.method-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:18px}
.mcell{background:var(--paper2);border:1px solid var(--line);border-radius:12px;padding:18px}
.mcell .w{font-family:var(--mono);font-size:20px;font-weight:700;letter-spacing:-.03em;color:var(--acc)}
.mcell h4{font-size:13px;font-weight:800;letter-spacing:-.015em;margin-top:6px;line-height:1.35}
.mcell p{font-size:11px;color:var(--mut);margin-top:5px;line-height:1.5}
.dir-tier-note{margin-top:22px;font-size:13.5px;color:var(--ink2);background:var(--acc-bg);border:1px solid var(--acc-line);border-radius:12px;padding:16px 20px;line-height:1.7}
.dir-tier-note b{color:var(--acc-h)}
.dir-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.dir-search{flex:1;min-width:260px;background:var(--paper);border:1px solid var(--line-d);border-radius:10px;padding:12px 15px;font-size:14px;font-family:var(--sans);color:var(--ink);outline:none}
.dir-search:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-bg)}
.dir-sort{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.08em}
.dir-sort select{background:var(--paper);border:1px solid var(--line-d);border-radius:9px;padding:10px 12px;font-size:13px;font-family:var(--sans);color:var(--ink);text-transform:none;letter-spacing:0}
.filterbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:26px}
.fbtn{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:8px 14px;cursor:pointer;transition:.15s;display:inline-flex;gap:7px;align-items:center}
.fbtn:hover{color:var(--ink);border-color:var(--line-d)}
.fbtn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.fbtn .fc{font-size:9px;opacity:.7}
.fcount{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--mut);letter-spacing:.05em}
.dirgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tool{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;transition:.25s var(--ease);text-decoration:none;color:inherit;position:relative}
.tool:hover{border-color:var(--acc);box-shadow:var(--sh3);transform:translateY(-3px)}
.tool.hide{display:none}
.t-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.tool h3{font-size:17px;font-weight:800;letter-spacing:-.03em}
.tool .vendor{font-size:11.5px;color:var(--mut);margin-top:3px}
.tool .score{text-align:right;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.tool .score b{font-family:var(--mono);font-size:24px;font-weight:700;letter-spacing:-.04em;line-height:1}
.tool .score small{font-family:var(--mono);font-size:8.5px;color:var(--mut);letter-spacing:.06em}
.t-cat{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin-top:12px}
.tool .use{font-size:13px;color:var(--ink2);margin-top:10px;line-height:1.65;flex:1}
.tool .crit{margin:14px 0;border-top:1px dashed var(--line);padding-top:12px}
.tool .cr{display:grid;grid-template-columns:104px 1fr 24px;gap:8px;align-items:center;font-family:var(--mono);font-size:8.5px;font-weight:600;color:var(--mut);letter-spacing:.04em;text-transform:uppercase;padding:2.5px 0}
.meter{height:5px;border-radius:99px;background:var(--paper3);overflow:hidden;display:block}
.meter i{display:block;height:100%;border-radius:99px;background:var(--acc)}
.meter i.g{background:var(--ok)}.meter i.y{background:var(--warn)}.meter i.r{background:var(--bad)}
.tool .cr .sc{text-align:right;color:var(--ink2)}
.tool .foot{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--line);font-family:var(--mono);font-size:9px;color:var(--mut);letter-spacing:.05em;text-transform:uppercase}
.tool .foot .go{color:var(--acc)}
.tier{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.08em;padding:2.5px 6px;border-radius:4px;border:1px solid;text-transform:uppercase}
.tier.a{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-line)}
.tier.b{color:var(--acc-h);background:var(--acc-bg);border-color:var(--acc-line)}
.tier.c{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-line)}
.tier.d{color:var(--bad);background:var(--bad-bg);border-color:var(--bad-line)}
.dir-empty{margin-top:26px;padding:24px;border:1px dashed var(--line-d);border-radius:14px;font-size:14px;color:var(--mut);text-align:center;background:var(--paper2)}
.dir-footer-blocks{margin-top:56px}
@media(max-width:980px){.dirgrid{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:1fr 1fr}.dir-hero-grid{grid-template-columns:1fr}}
@media(max-width:620px){.dirgrid{grid-template-columns:1fr}.method-grid{grid-template-columns:1fr}}

/* tool review page */
.status-chip{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--warn);background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:4px;padding:3px 7px}
.tool-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:44px;align-items:start;padding:26px 0 44px;border-bottom:1px solid var(--line)}
.tool-hero h1{font-size:clamp(34px,4.6vw,50px);font-weight:900;letter-spacing:-.045em;line-height:1.05;margin-top:14px}
.tool-vendor{font-size:14px;color:var(--mut);margin-top:8px}
.tool-summary{font-size:17px;color:var(--ink2);margin-top:18px;line-height:1.75;max-width:58ch}
.tool-verdict-box{margin-top:24px;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:0 12px 12px 0;padding:20px 24px}
.tv-label{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:8px}
.tool-verdict-box p{font-size:14.5px;color:var(--ink2);line-height:1.75}
.tool-scorecard{background:var(--paper);border:1px solid var(--line-d);border-radius:16px;padding:24px;box-shadow:var(--sh2)}
.sc-top{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.sc-num{font-family:var(--mono);font-size:44px;font-weight:700;letter-spacing:-.05em;line-height:1}
.sc-num small{font-size:14px;color:var(--mut)}
.tier-badge{text-align:right}
.tier-badge b{display:block;font-size:15px;font-weight:900;letter-spacing:-.02em}
.tier-badge span{font-size:11px;color:var(--mut)}
.tier-badge.a b{color:var(--ok)}.tier-badge.b b{color:var(--acc)}.tier-badge.c b{color:var(--warn)}.tier-badge.d b{color:var(--bad)}
.sc-bars{margin-top:16px}
.sc-row{display:grid;grid-template-columns:118px 1fr 46px;gap:10px;align-items:center;padding:6px 0;font-size:11.5px;color:var(--ink2)}
.sc-lab{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);line-height:1.3}
.sc-pts{font-family:var(--mono);font-size:11px;font-weight:700;text-align:right;color:var(--ink)}
.sc-pts small{color:var(--mut);font-weight:400}
.sc-foot{font-size:10.5px;color:var(--mut);margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);line-height:1.6}
.sc-foot a{color:var(--acc)}
.tool-body{padding-top:44px}
.tool-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.tool-main h2{font-size:22px;font-weight:900;letter-spacing:-.03em;margin-top:44px;scroll-margin-top:110px}
.tool-main h2:first-child{margin-top:0}
.tool-main p{font-size:15.5px;color:#22262c;line-height:1.85;margin-top:16px}
.pro-list,.con-list{list-style:none;margin-top:18px}
.pro-list li,.con-list li{font-size:14.5px;color:var(--ink2);padding:10px 0 10px 28px;border-bottom:1px dashed var(--line);position:relative;line-height:1.65}
.pro-list li::before{content:"✓";position:absolute;left:2px;top:10px;color:var(--ok);font-weight:700}
.con-list li::before{content:"✕";position:absolute;left:2px;top:10px;color:var(--bad);font-weight:700;font-size:13px}
.posture-tbl td:first-child{width:190px}
.fit{border-radius:12px;padding:18px 20px;border:1px solid var(--line)}
.fit.yes{background:var(--ok-bg);border-color:var(--ok-line)}
.fit.no{background:var(--bad-bg);border-color:var(--bad-line)}
.fit-h{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.fit.yes .fit-h{color:var(--ok)}.fit.no .fit-h{color:var(--bad)}
.fit p{font-size:13.5px;margin:0;color:var(--ink2)}
.tool-disclaimer{margin-top:44px;background:var(--paper2);border:1px dashed var(--line-d);border-radius:12px;padding:20px 22px;font-size:12.5px;color:var(--mut);line-height:1.75}
.tool-disclaimer b{color:var(--ink2)}
.tool-disclaimer a{color:var(--acc)}
.tool-side{position:sticky;top:calc(var(--nav-h) + 20px);display:flex;flex-direction:column;gap:14px}
.side-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px}
.side-card h4{font-size:15px;font-weight:800;letter-spacing:-.02em;margin-top:8px}
.side-card p{font-size:12.5px;color:var(--mut);margin-top:8px;line-height:1.7}
.side-card .btn{width:100%;margin-top:12px}
.side-card .btn + .btn{margin-top:8px}
.side-list{list-style:none;margin-top:12px}
.side-list li{font-size:12.5px;color:var(--ink2);padding:5px 0 5px 18px;position:relative;line-height:1.6}
.side-list li::before{content:"·";position:absolute;left:4px;color:var(--acc);font-weight:900}
.side-card .btnline{display:inline-block;margin-top:12px;font-size:12.5px}
@media(max-width:1000px){.tool-hero,.tool-cols{grid-template-columns:1fr}.tool-side{position:static}}

/* category pages */
.cat-hero{padding:44px 0 32px;border-bottom:1px solid var(--line);margin-bottom:34px}
.cat-hero h1{font-size:clamp(28px,3.6vw,40px);font-weight:900;letter-spacing:-.04em;margin-top:12px}
.cat-hero .sub{font-size:16px;color:var(--ink2);margin-top:14px;max-width:64ch;line-height:1.75}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cat-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;text-decoration:none;color:inherit;transition:.25s var(--ease)}
.cat-card:hover{border-color:var(--acc);box-shadow:var(--sh2);transform:translateY(-3px)}
.cat-card h3{font-size:18px;font-weight:800;letter-spacing:-.025em}
.cat-card p{font-size:13px;color:var(--mut);margin-top:10px;line-height:1.7;min-height:4.6em}
.cat-card .cat-n{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);display:block;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.cat-after{margin-top:44px}
.crit-detail{margin-top:26px;border-top:1px solid var(--line)}
.cd-row{padding:22px 0;border-bottom:1px solid var(--line)}
.cd-head{display:flex;gap:16px;align-items:baseline}
.cd-w{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--acc);letter-spacing:-.03em;min-width:44px}
.cd-row h3{font-size:17px;font-weight:800;letter-spacing:-.02em}
.cd-row p{font-size:14.5px;color:var(--ink2);line-height:1.8;margin-top:10px}
.cd-row p b{color:var(--ink)}
.submit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.submit-grid h3{font-size:19px;font-weight:900;letter-spacing:-.03em;margin-top:8px}
.submit-grid .muted{margin-top:10px}
.submit-list{margin-top:16px;padding-left:20px;font-size:13.5px;color:var(--ink2);line-height:1.75}
.submit-list.plain{list-style:none;padding-left:0}
.submit-list.plain li{padding:8px 0 8px 20px;position:relative;border-bottom:1px dashed var(--line)}
.submit-list.plain li::before{content:"→";position:absolute;left:0;color:var(--acc);font-family:var(--mono);font-size:11px}
.submit-list li{margin-top:8px}
.submit-grid .btn{margin-top:18px}
@media(max-width:900px){.cat-grid{grid-template-columns:1fr 1fr}.submit-grid{grid-template-columns:1fr}}
@media(max-width:620px){.cat-grid{grid-template-columns:1fr}}

/* footer newsletter strip */
.nl-strip{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding-bottom:40px;border-bottom:1px solid #232834;margin-bottom:40px}
.nl-strip h4{font-size:22px;font-weight:900;letter-spacing:-.03em;color:#fff;margin-top:8px}
.nl-strip p{color:#7f8998;font-size:13px;margin-top:10px;line-height:1.7;max-width:52ch}
.nl-strip p b{color:#cdd5e0}
.lab.light{color:#8ea0ff}
.nl-inline{display:flex;flex-direction:column;gap:8px}
.nl-row{display:flex;gap:8px}
.nl-inline input[type=email]{flex:1;background:#171c26;border:1px solid #2b3242;border-radius:8px;color:#fff;padding:11px 13px;font-size:13.5px;font-family:var(--sans);outline:none}
.nl-inline input[type=email]:focus{border-color:#8ea0ff;box-shadow:0 0 0 3px rgba(142,160,255,.15)}
.nl-small{font-size:9.5px;color:#5d6779;font-family:var(--mono);letter-spacing:.05em;line-height:1.6}
.nl-small a{color:#8b96a8}
.stamp.on-dark{border-color:#8ea0ff;color:#8ea0ff;background:transparent;display:inline-block;margin-top:16px}
.form-err{display:none;font-size:11.5px;color:var(--bad);margin-top:10px}
.form-err.show{display:block}
.m-list{list-style:none;margin-top:16px;position:relative}
.m-list li{font-size:12.5px;color:#a5afbd;padding:6px 0 6px 20px;position:relative;line-height:1.6}
.m-list li::before{content:"·";position:absolute;left:4px;color:#8ea0ff;font-weight:900}
.m-ok-tip{font-size:11.5px;color:var(--mut);margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);line-height:1.7}
@media(max-width:900px){.nl-strip{grid-template-columns:1fr;gap:22px}}

/* print */
@media print{
  .lp-nav,.nl-strip,.m-ctas,.lp-card .btn,.band{display:none}
  .guide-toc{display:none}
}

/* ── service detail pages ───────────────────────────────────── */
.svc-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;align-items:start;padding:34px 0 48px;border-bottom:1px solid var(--line)}
.svc-hero h1{font-size:clamp(32px,4.4vw,50px);font-weight:900;letter-spacing:-.045em;line-height:1.06;margin-top:16px;text-wrap:balance}
.svc-hero .sub{font-size:17px;color:var(--ink2);margin-top:20px;line-height:1.78;max-width:60ch}
.svc-prices{display:flex;flex-direction:column;gap:12px}
.svc-price-card{background:var(--paper);border:1px solid var(--line-d);border-radius:14px;padding:20px 22px;box-shadow:var(--sh1);transition:.2s}
.svc-price-card:hover{border-color:var(--acc);box-shadow:var(--sh2)}
.spc-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.spc-num{font-size:28px;font-weight:900;letter-spacing:-.045em}
.spc-unit{font-family:var(--mono);font-size:9.5px;color:var(--mut);text-align:right;letter-spacing:.04em;line-height:1.4}
.spc-name{font-size:14px;font-weight:800;letter-spacing:-.02em;margin-top:6px}
.spc-meta{font-family:var(--mono);font-size:9.5px;color:var(--mut);margin-top:4px;letter-spacing:.04em}
.svc-price-card .btn{width:100%;margin-top:12px}
.svc-price-card .pay-note{margin-top:8px}
.svc-price-foot{font-size:10.5px;color:var(--mut);line-height:1.65;padding-top:6px}
.svc-why{padding:64px 0;border-bottom:1px solid var(--line)}
.svc-h2{font-size:clamp(24px,3.2vw,36px);font-weight:900;letter-spacing:-.04em;line-height:1.14;margin-top:12px;max-width:24ch}
.svc-deliver{padding:64px 0;border-bottom:1px solid var(--line)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.svc-cell{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px;transition:.2s}
.svc-cell:hover{border-color:var(--line-d);box-shadow:var(--sh2)}
.svc-cell h3{font-size:15.5px;font-weight:800;letter-spacing:-.02em}
.svc-cell p{font-size:13px;color:var(--mut);margin-top:9px;line-height:1.72}
.svc-process{padding:64px 0;border-bottom:1px solid var(--line)}
.svc-process .lp-steps{margin-top:34px}
.svc-pricing{padding:64px 0;border-bottom:1px solid var(--line)}
.svc-tbl td{vertical-align:top}
.svc-tbl td:first-child{font-family:var(--sans);font-size:14px;font-weight:800;letter-spacing:-.015em;text-transform:none;color:var(--ink);white-space:normal;min-width:170px}
.svc-tbl td b{font-size:19px;font-weight:900;letter-spacing:-.03em;display:block}
.svc-tbl td small{display:block;font-family:var(--mono);font-size:9px;color:var(--mut);margin-top:3px;letter-spacing:.04em}
.svc-blurb{font-size:12.5px;color:var(--mut);line-height:1.65;display:block}
.svc-inc{list-style:none;margin-top:10px}
.svc-inc li{font-size:12.5px;color:var(--ink2);padding:3px 0 3px 16px;position:relative;line-height:1.55}
.svc-inc li::before{content:"·";position:absolute;left:4px;color:var(--acc);font-weight:900}
.svc-buy{width:230px}
.svc-buy .btn{width:100%}
.svc-who{padding:64px 0 20px}
.svc-who-list{list-style:none;margin-top:20px}
.svc-who-list li{font-size:14.5px;color:var(--ink2);padding:10px 0 10px 26px;border-bottom:1px dashed var(--line);position:relative;line-height:1.65}
.svc-who-list li::before{content:"→";position:absolute;left:0;color:var(--acc);font-family:var(--mono);font-weight:700}
.svc-faq{margin-top:20px}
.svc-faq details{border-radius:11px}
.svc-faq summary{font-size:14px;padding:14px 18px}
.svc-faq .da{padding:0 18px 16px 48px;font-size:13.5px}
.form-done{text-align:center;padding:30px 10px}
.form-done .fd-mark{width:44px;height:44px;border-radius:99px;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center;margin:0 auto;font-size:20px}
.form-done h3{font-size:18px;font-weight:800;letter-spacing:-.02em;margin-top:14px}
.form-done p{font-size:13.5px;color:var(--mut);margin-top:10px;line-height:1.7}
@media(max-width:960px){.svc-hero{grid-template-columns:1fr}.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.svc-grid{grid-template-columns:1fr}}

/* ── AI practice detail blocks ──────────────────────────────── */
.pillar-detail{margin-top:56px;border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:30px;box-shadow:var(--sh1)}
.pd-head{display:flex;gap:22px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:22px}
.pd-num{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--acc);background:var(--acc-bg);border:1px solid var(--acc-line);border-radius:8px;padding:6px 10px;flex:none}
.pd-head h3{font-size:clamp(21px,2.6vw,28px);font-weight:900;letter-spacing:-.035em;line-height:1.15}
.pd-lead{font-size:15px;color:var(--ink2);margin-top:12px;line-height:1.8;max-width:76ch}
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.pd-cell{background:var(--paper2);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.pd-cell h4{font-size:14px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.pd-cell p{font-size:13px;color:var(--mut);margin-top:8px;line-height:1.7}
@media(max-width:860px){.pd-grid{grid-template-columns:1fr}.pd-head{flex-direction:column;gap:12px}}

/* ── about / security / terms prose pages ───────────────────── */
.page-prose{max-width:760px}
.page-prose h2{font-size:24px;font-weight:900;letter-spacing:-.03em;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.page-prose h2:first-child{margin-top:0;border-top:none;padding-top:0}
.page-prose h3{font-size:17px;font-weight:800;letter-spacing:-.02em;margin-top:28px}
.page-prose p{font-size:15.5px;color:#22262c;line-height:1.85;margin-top:16px}
.page-prose p b{font-weight:700}
.page-prose ul,.page-prose ol{margin-top:16px;padding-left:24px;font-size:15px;line-height:1.85;color:#22262c}
.page-prose li{margin-top:8px}
.page-prose .tiny{font-size:12.5px;color:var(--mut);line-height:1.7}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}
.fact{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.fact .k{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.fact .v{font-size:14.5px;color:var(--ink);margin-top:6px;line-height:1.6;font-weight:600}
@media(max-width:700px){.facts{grid-template-columns:1fr}}

/* ── contact + form pages ───────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:44px;align-items:start}
.contact-aside{display:flex;flex-direction:column;gap:14px}
.contact-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px}
.contact-card h4{font-size:15px;font-weight:800;letter-spacing:-.02em}
.contact-card p{font-size:13px;color:var(--mut);margin-top:8px;line-height:1.7}
.contact-card a{color:var(--acc)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* ── tools comparison table ─────────────────────────────────── */
.cmp-shell{overflow-x:auto}
.cmp-tbl{min-width:1000px}
.cmp-tbl td:first-child{font-family:var(--sans);font-size:14px;font-weight:800;letter-spacing:-.02em;text-transform:none;color:var(--ink);white-space:nowrap}
.cmp-tbl td:first-child small{display:block;font-family:var(--mono);font-size:9px;font-weight:500;color:var(--mut);margin-top:2px;letter-spacing:.02em;text-transform:none}
.cmp-tbl td a{text-decoration:none;color:var(--ink);border-bottom:1px solid var(--acc-line)}
.cmp-tbl td a:hover{color:var(--acc)}
.cmp-tbl th.num,.cmp-tbl td.num{text-align:right}
.cmp-tbl th.num small{display:block;font-size:8px;color:var(--mut);font-weight:500}
.cmp-tbl td.num{font-family:var(--mono);font-size:12px;color:var(--ink2)}
.cmp-tbl td.num small{font-size:8.5px;color:var(--mut)}
.cmp-tbl td.tot{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--ink)}
.cmp-tbl th.cat,.cmp-tbl td.cat{font-family:var(--mono);font-size:9px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}

/* ── onboarding forms ───────────────────────────────────────── */
.ob-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:44px;align-items:start;padding:30px 0 40px;border-bottom:1px solid var(--line)}
.ob-hero h1{font-size:clamp(28px,3.8vw,42px);font-weight:900;letter-spacing:-.04em;line-height:1.1;margin-top:14px}
.ob-hero .sub{font-size:16.5px;color:var(--ink2);margin-top:16px;line-height:1.8;max-width:62ch}
.ob-meta{display:flex;flex-direction:column;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.ob-meta span{font-size:12.5px;color:var(--mut);line-height:1.65;padding-left:18px;position:relative}
.ob-meta span::before{content:"·";position:absolute;left:4px;color:var(--acc);font-weight:900;font-size:16px;top:-1px}
.ob-meta b{color:var(--ink2)}
.ob-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--nav-h) + 20px)}
.ob-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px}
.ob-card .muted{font-size:12.5px;margin-top:10px}
.ob-after{list-style:none;counter-reset:o;margin-top:12px}
.ob-after li{font-size:12.5px;color:var(--ink2);line-height:1.65;padding:8px 0 8px 26px;position:relative;border-bottom:1px dashed var(--line)}
.ob-after li:last-child{border-bottom:none}
.ob-after li::before{counter-increment:o;content:counter(o);position:absolute;left:0;top:8px;width:17px;height:17px;border-radius:99px;background:var(--acc-bg);color:var(--acc);font-family:var(--mono);font-size:9px;font-weight:700;display:grid;place-items:center}
.ob-form{margin-top:44px}
.ob-progress{height:3px;background:var(--paper3);border-radius:99px;overflow:hidden;margin-bottom:26px}
.ob-bar{display:block;height:100%;width:0;background:var(--acc);transition:width .3s var(--ease)}
.ob-step{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:26px 28px;margin-bottom:16px;box-shadow:var(--sh1)}
.ob-step legend{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:0 0 14px;border-bottom:1px solid var(--line);width:100%}
.ob-num{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--acc);background:var(--acc-bg);border:1px solid var(--acc-line);border-radius:6px;padding:3px 8px;flex:none}
.ob-t{font-size:18px;font-weight:900;letter-spacing:-.03em}
.ob-hint{font-size:12.5px;color:var(--mut);flex-basis:100%;line-height:1.6}
.ob-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin-top:22px}
.ob-field[data-type="textarea"],.ob-field[data-type="radios"],.ob-field[data-type="checks"]{grid-column:1/-1}
.ob-field .fl{display:block;font-size:13.5px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin-bottom:7px}
.ob-field .req{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rust);background:#f6ece5;border-radius:4px;padding:2px 6px;margin-left:6px;vertical-align:1px}
.ob-field .fhint{display:block;font-size:12px;color:var(--mut);margin:-3px 0 8px;line-height:1.6}
.ob-field input[type=text],.ob-field input[type=email],.ob-field input[type=tel],.ob-field input[type=date],.ob-field input[type=number],.ob-field textarea,.ob-field select{width:100%;background:var(--paper2);border:1px solid var(--line-d);border-radius:9px;padding:11px 13px;font-size:14px;font-family:var(--sans);color:var(--ink);outline:none;transition:.15s}
.ob-field textarea{resize:vertical;line-height:1.6}
.ob-field input:focus,.ob-field textarea:focus,.ob-field select:focus{border-color:var(--acc);background:#fff;box-shadow:0 0 0 3px var(--acc-bg)}
.ob-field input.bad,.ob-field select.bad,.ob-field textarea.bad{border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-bg)}
.ob-opts{display:flex;flex-wrap:wrap;gap:8px}
.ob-opts label{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink2);background:var(--paper2);border:1px solid var(--line);border-radius:9px;padding:9px 13px;cursor:pointer;transition:.15s;line-height:1.4}
.ob-opts label:hover{border-color:var(--line-d);background:#fff}
.ob-opts input{accent-color:var(--acc);flex:none}
.ob-opts.checks label{background:var(--paper2)}
.ob-opts label:has(input:checked){border-color:var(--acc);background:var(--acc-bg);color:var(--ink);font-weight:600}
.ob-consent legend{border-bottom:none;padding-bottom:0}
.ob-check{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:var(--ink2);line-height:1.65;padding:9px 0;cursor:pointer}
.ob-check input{accent-color:var(--acc);margin-top:3px;flex:none}
.ob-submit{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}
.ob-note{font-size:12.5px;color:var(--mut);flex-basis:100%}
.ob-fallback{margin-top:18px;padding:18px 20px;border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:12px;font-size:13.5px;color:#5c4a2a}
.ob-fallback p{margin-bottom:12px}
.ob-fallback .btn{margin-right:8px}
.ob-tail{margin:52px 0 80px}
.ob-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ob-link{font-size:13px;font-weight:600;color:var(--ink2);background:var(--paper2);border:1px solid var(--line);border-radius:99px;padding:8px 14px;text-decoration:none;transition:.15s}
.ob-link:hover{border-color:var(--acc);color:var(--acc)}
.ob-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.ob-card-link{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;text-decoration:none;color:inherit;transition:.25s var(--ease)}
.ob-card-link:hover{border-color:var(--acc);box-shadow:var(--sh2);transform:translateY(-3px)}
.ob-card-link .ob-service{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.ob-card-link h3{font-size:18px;font-weight:900;letter-spacing:-.03em;margin-top:10px;line-height:1.25}
.ob-card-link p{font-size:13px;color:var(--mut);margin-top:10px;line-height:1.7;flex:1}
.ob-card-link .ob-foot{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}
.ob-card-link .ob-foot b{color:var(--acc)}
@media(max-width:960px){.ob-hero{grid-template-columns:1fr}.ob-side{position:static}.ob-fields{grid-template-columns:1fr}.ob-grid{grid-template-columns:1fr}}

/* onboarding success panel */
.ob-done{text-align:center;padding:34px 20px}
.ob-done h2{font-size:clamp(22px,2.8vw,30px);font-weight:900;letter-spacing:-.035em;margin-top:14px}
.ob-done>p{font-size:15px;color:var(--ink2);margin-top:12px;line-height:1.75;max-width:60ch;margin-inline:auto}
.ob-done-list{list-style:none;margin:24px auto 0;max-width:56ch;text-align:left}
.ob-done-list li{font-size:13.5px;color:var(--ink2);padding:10px 0 10px 26px;border-bottom:1px dashed var(--line);position:relative;line-height:1.65}
.ob-done-list li::before{content:"✓";position:absolute;left:2px;top:10px;color:var(--ok);font-weight:700}
.ob-ref{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--mut);margin-top:22px;padding-top:16px;border-top:1px dashed var(--line)}
.ob-done .m-ctas{justify-content:center;margin-top:22px}
@media print{
  .ob-side,.ob-progress,.ob-submit,.ob-tail,footer.site,nav.site,.announce,.modal-veil{display:none}
  .ob-step{break-inside:avoid;box-shadow:none}
  .ob-hero{grid-template-columns:1fr}
}

/* ── to-be-completed markers for company details ─────────────── */
.tbc{display:inline-block;font-family:var(--mono);font-size:.86em;letter-spacing:.01em;color:var(--warn);background:var(--warn-bg);border:1px dashed var(--warn-line);border-radius:5px;padding:1px 7px;white-space:nowrap}
/* legal documents */
.legal-doc{max-width:790px}
.legal-doc h2{font-size:21px;font-weight:900;letter-spacing:-.025em;margin-top:44px;padding-top:22px;border-top:1px solid var(--line);display:flex;gap:12px;align-items:baseline}
.legal-doc h2 .cl{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--acc);flex:none;min-width:34px}
.legal-doc h3{font-size:16px;font-weight:800;letter-spacing:-.015em;margin-top:26px}
.legal-doc p,.legal-doc li{font-size:15px;line-height:1.8;color:#22262c}
.legal-doc p{margin-top:14px}
.legal-doc ul,.legal-doc ol{margin-top:12px;padding-left:22px}
.legal-doc li{margin-top:7px}
.legal-doc table{margin-top:18px}
.legal-meta{display:flex;flex-wrap:wrap;gap:8px 26px;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);border-block:1px solid var(--line);padding:14px 0;margin:28px 0 8px}
.legal-meta b{color:var(--ink2)}
.legal-note{margin-top:24px;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:0 12px 12px 0;padding:18px 22px;font-size:13.5px;color:var(--ink2);line-height:1.75}
.legal-note b{color:var(--ink)}
.sched{margin-top:22px;background:var(--paper2);border:1px solid var(--line);border-radius:12px;padding:20px 24px}
.sched h3{margin-top:0}
