/* Standfile — see src/brand/tokens.ts for the source of truth */
:root{
  --ground:#f4f7f7; --surface:#fff; --surface-sunk:#eaf1f1; --ink:#0b1416; --ink-soft:#4a5b5f;
  --ink-faint:#76888c; --rule:#dbe4e5; --accent:#0e4f5c; --accent-soft:#e2edef; --accent-glow:#0e4f5c1a;
  --action:#a86a00; --action-ink:#fff; --critical:#a63232; --critical-soft:#fbecec;
  --warning:#8a5d00; --warning-soft:#fbf2e2; --good:#1c7256; --good-soft:#e4f2ed;
  --shadow:0 1px 2px rgba(11,20,22,.05),0 10px 30px -14px rgba(11,20,22,.22);
  --shadow-lift:0 2px 4px rgba(11,20,22,.05),0 24px 60px -28px rgba(11,20,22,.4);
  --measure:64ch; --r:5px; color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#080f11; --surface:#111a1d; --surface-sunk:#0d1517; --ink:#e9eff0; --ink-soft:#a5b5b8;
  --ink-faint:#7b8d91; --rule:#222f32; --accent:#63bccc; --accent-soft:#11262b; --accent-glow:#63bccc1f;
  --action:#e39a2b; --action-ink:#1a1204; --critical:#e98d8d; --critical-soft:#2a1618;
  --warning:#dcab55; --warning-soft:#251e12; --good:#63c3a3; --good-soft:#10241e;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px -16px rgba(0,0,0,.8);
  --shadow-lift:0 2px 6px rgba(0,0,0,.5),0 30px 70px -30px rgba(0,0,0,1); color-scheme:dark;
}}
:root[data-theme="dark"]{
  --ground:#080f11; --surface:#111a1d; --surface-sunk:#0d1517; --ink:#e9eff0; --ink-soft:#a5b5b8;
  --ink-faint:#7b8d91; --rule:#222f32; --accent:#63bccc; --accent-soft:#11262b; --accent-glow:#63bccc1f;
  --action:#e39a2b; --action-ink:#1a1204; --critical:#e98d8d; --critical-soft:#2a1618;
  --warning:#dcab55; --warning-soft:#251e12; --good:#63c3a3; --good-soft:#10241e;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px -16px rgba(0,0,0,.8);
  --shadow-lift:0 2px 6px rgba(0,0,0,.5),0 30px 70px -30px rgba(0,0,0,1); color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);
  font-family:"Public Sans",ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}
h1,h2,h3{font-family:Newsreader,Georgia,serif;font-weight:600;letter-spacing:-0.018em;text-wrap:balance;margin:0}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}

/* ── nav ───────────────────────────────────────────────── */
.sitenav{border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--surface) 86%,transparent);
  backdrop-filter:blur(12px);position:sticky;top:0;z-index:50}
.sitenav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:13px}
.brand{display:inline-flex;align-items:center;gap:9px;color:var(--accent);text-decoration:none}
.brand .word{font-family:Newsreader,Georgia,serif;font-size:21px;font-weight:600;color:var(--ink);letter-spacing:-0.025em}
.navlinks{display:flex;gap:24px;align-items:center;font-size:14.5px;color:var(--ink-soft)}
.navlinks a{text-decoration:none;transition:color .16s ease}
.navlinks a:hover{color:var(--ink)}
@media(max-width:700px){.navlinks a{display:none}}

/* ── buttons ───────────────────────────────────────────── */
.btn{background:var(--action);color:var(--action-ink);padding:10px 17px;border-radius:7px;
  font-weight:600;font-size:14.5px;line-height:1.35;white-space:nowrap;
  display:inline-block;text-align:center;text-decoration:none;
  transition:transform .16s cubic-bezier(.3,.9,.4,1),box-shadow .2s ease,background .16s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px -9px var(--action)}
.btn:active{transform:translateY(0)}
.btn:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}

/* Secondary: a real alternative, still clearly below the primary. */
.btn-secondary{background:var(--accent-soft);color:var(--accent);font-weight:600;box-shadow:none}
.btn-secondary:hover{background:color-mix(in srgb,var(--accent) 16%,transparent);box-shadow:none}

/* Tertiary: dismissals and escapes. Should read as a way out, not a choice. */
.btn-ghost{background:none;color:var(--ink-soft);border:1px solid var(--rule);font-weight:500;
  box-shadow:none}
.btn-ghost:hover{color:var(--ink);border-color:var(--ink-faint);background:var(--surface-sunk);
  box-shadow:none}
.btn-quiet{background:none;color:var(--ink-soft);font-weight:500;padding:10px 12px;box-shadow:none}
.btn-quiet:hover{color:var(--ink);background:var(--surface-sunk);box-shadow:none;transform:none}

/* ── hero ──────────────────────────────────────────────── */
/* No overflow:hidden here. The aurora blobs are already contained by .aurora,
   and clipping the hero also clips the search dropdown, which overhangs into
   the section below by design. */
.hero{padding-block:70px 60px;position:relative}
.aurora{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.aurora i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;
  animation:drift 22s ease-in-out infinite}
.aurora i:nth-child(1){width:440px;height:440px;top:-190px;left:-130px;background:var(--accent-glow)}
.aurora i:nth-child(2){width:360px;height:360px;top:120px;right:-110px;
  background:color-mix(in srgb,var(--action) 13%,transparent);animation-delay:-8s}
.aurora i:nth-child(3){width:300px;height:300px;bottom:-150px;left:38%;
  background:color-mix(in srgb,var(--good) 11%,transparent);animation-delay:-15s}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(26px,-22px) scale(1.07)}
  66%{transform:translate(-20px,18px) scale(.95)}}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:52px;align-items:center}
@media(max-width:940px){.hero .wrap{grid-template-columns:1fr;gap:44px}}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--accent);margin:0 0 16px;display:flex;align-items:center;gap:9px}
.eyebrow::before{content:"";width:22px;height:1.5px;background:currentColor}
.hero h1{font-size:clamp(38px,5.6vw,60px);line-height:1.04;max-width:15ch;margin-bottom:20px}
.hero .lede{font-size:clamp(17px,1.9vw,19.5px);color:var(--ink-soft);max-width:48ch;margin:0 0 32px}

/* ── search ────────────────────────────────────────────── */
.search{position:relative;max-width:520px;z-index:30}
.search-field{display:flex;align-items:center;gap:10px;background:var(--surface);
  border:1.5px solid var(--rule);border-radius:var(--r);padding:4px 4px 4px 15px;box-shadow:var(--shadow);
  transition:border-color .18s ease,box-shadow .24s ease}
.search-field:focus-within{border-color:var(--accent);box-shadow:var(--shadow-lift)}
.search-field input{flex:1;min-width:0;border:0;background:none;color:inherit;font:inherit;padding:13px 0;outline:none}
.search-field input::placeholder{color:var(--ink-faint)}
.hint{font-size:13.5px;color:var(--ink-faint);margin:12px 0 0}
.results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);
  border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--shadow-lift);z-index:40;
  max-height:312px;overflow-y:auto;animation:pop .16s cubic-bezier(.3,.9,.4,1)}
@keyframes pop{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.results[hidden]{display:none}
.result{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 15px;
  border-bottom:1px solid var(--rule);transition:background .13s ease}
.result:last-child{border-bottom:0}
.result:hover,.result[aria-selected="true"]{background:var(--surface-sunk)}
.result b{font-weight:600;font-size:14.5px;display:block;line-height:1.35}
.result small{color:var(--ink-faint);font-size:12px}
.result .num{margin-left:auto;font-size:11.5px;color:var(--ink-faint)}
.result .mini{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500;
  padding:2px 7px;border-radius:3px}
.empty{padding:15px;font-size:14px;color:var(--ink-faint)}
.strip{display:flex;flex-wrap:wrap;gap:11px 28px;margin-top:34px;font-size:13.5px;color:var(--ink-soft)}
.strip span{display:inline-flex;align-items:center;gap:7px}
.tick{width:15px;height:15px;flex:none;color:var(--good)}

/* ── hero card ─────────────────────────────────────────── */
.heroart{position:relative}
.filecard{background:var(--surface);border:1px solid var(--rule);border-radius:10px;
  padding:24px 24px 20px;box-shadow:var(--shadow-lift);animation:cardin .8s cubic-bezier(.22,.9,.3,1) both}
@keyframes cardin{from{opacity:0;transform:translateY(18px) rotateX(5deg)}to{opacity:1;transform:none}}
.filecard .head{display:flex;justify-content:space-between;align-items:center;
  font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);
  padding-bottom:14px;border-bottom:1px solid var(--rule)}
.filecard .head .live{display:inline-flex;align-items:center;gap:6px;color:var(--good)}
.filecard .head .live::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;
  animation:blip 2s ease-in-out infinite}
@keyframes blip{0%,100%{opacity:1;box-shadow:0 0 0 0 currentColor}50%{opacity:.55;box-shadow:0 0 0 4px transparent}}
.gaugerow{display:flex;align-items:center;gap:20px;padding-block:20px}
.gauge{position:relative;width:128px;height:128px;flex:none}
.gauge svg{transform:rotate(-90deg)}
.gauge .mid{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.gauge .mid b{font-family:Newsreader,Georgia,serif;font-size:40px;font-weight:600;line-height:1;
  font-variant-numeric:tabular-nums;color:var(--good)}
.gauge .mid small{font-size:10px;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase}
.gaugeinfo h3{font-size:19px;margin-bottom:4px}
.gaugeinfo p{margin:0;font-size:13.5px;color:var(--ink-soft)}
.risechip{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:12px;font-weight:700;
  padding:4px 9px;border-radius:99px;background:var(--good-soft);color:var(--good);
  animation:chipin .5s cubic-bezier(.3,1.4,.5,1) 1.5s both}
@keyframes chipin{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
.sparkwrap{border-top:1px solid var(--rule);padding-top:16px}
.sparkwrap .lbl{font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-faint);display:block;margin-bottom:9px}
.spark{width:100%;height:66px;overflow:visible;display:block}
.spark .ln{stroke:var(--good);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.5s cubic-bezier(.4,0,.2,1) .5s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.spark .ar{fill:var(--good-soft);opacity:0;animation:fadein .7s ease 1.5s forwards}
@keyframes fadein{to{opacity:1}}
.spark circle{opacity:0;animation:dotin .35s cubic-bezier(.3,1.5,.5,1) forwards}
@keyframes dotin{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
.marks{display:flex;justify-content:space-between;font-size:10.5px;color:var(--ink-faint);margin-top:7px}
.floatnote{position:absolute;background:var(--surface);border:1px solid var(--rule);border-radius:6px;
  padding:9px 12px;box-shadow:var(--shadow);font-size:12.5px;display:flex;align-items:center;gap:8px;
  animation:cardin .7s cubic-bezier(.22,.9,.3,1) both}
.floatnote b{font-weight:600}
.floatnote.a{top:-16px;right:-8px;animation-delay:1.9s}
.floatnote.b{bottom:34px;left:-22px;animation-delay:2.3s}
@media(max-width:940px){.floatnote{display:none}}
.floatnote .dot{width:7px;height:7px;border-radius:50%;flex:none}

/* ── sections ──────────────────────────────────────────── */
section.band{border-top:1px solid var(--rule);padding-block:70px;background:var(--surface)}
section.band.alt{background:var(--ground)}
h2.sec{font-size:clamp(27px,3.5vw,36px);margin-bottom:12px;max-width:20ch}
p.sec{color:var(--ink-soft);max-width:var(--measure);margin:0 0 36px;font-size:17px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
.step{background:var(--surface);padding:26px 23px;transition:background .2s ease}
section.band.alt .step{background:var(--ground)}
.step:hover{background:var(--surface-sunk)}

.step h3{font-size:18.5px;margin-bottom:7px}
.step p{margin:0;font-size:14.5px;color:var(--ink-soft)}

/* ── projection studio ─────────────────────────────────── */
.studio{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:26px;align-items:start}
@media(max-width:880px){.studio{grid-template-columns:1fr}}
.fixlist{display:grid;gap:8px}
.fix{display:flex;gap:13px;align-items:flex-start;padding:15px 16px;background:var(--surface);
  border:1.5px solid var(--rule);border-radius:var(--r);text-align:left;width:100%;
  transition:border-color .18s ease,background .18s ease,transform .18s cubic-bezier(.3,.9,.4,1)}
section.band.alt .fix{background:var(--surface)}
.fix:hover{border-color:var(--accent);transform:translateX(3px)}
.fix[aria-pressed="true"]{border-color:var(--good);background:var(--good-soft)}
.box{width:21px;height:21px;flex:none;border:1.8px solid var(--ink-faint);border-radius:4px;margin-top:2px;
  display:grid;place-items:center;transition:background .2s ease,border-color .2s ease}
.fix[aria-pressed="true"] .box{background:var(--good);border-color:var(--good)}
.box svg{opacity:0;transform:scale(.5);transition:opacity .2s ease,transform .25s cubic-bezier(.3,1.5,.5,1);color:#fff}
.fix[aria-pressed="true"] .box svg{opacity:1;transform:none}
.fix .txt{flex:1;min-width:0}
.fix .txt b{display:block;font-size:15px;font-weight:600;line-height:1.35}
.fix .txt small{display:block;font-size:12.5px;color:var(--ink-faint);margin-top:2px}
.fix .plus{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--good);font-weight:500;
  flex:none;margin-top:2px}
.fix.key .plus{color:var(--critical)}
.panel{background:var(--surface);border:1px solid var(--rule);border-radius:8px;
  padding:26px 24px;box-shadow:var(--shadow);position:sticky;top:78px}
.panel .lbl{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}
.bignum{font-family:Newsreader,Georgia,serif;font-size:72px;font-weight:600;line-height:.95;
  font-variant-numeric:tabular-nums;transition:color .5s ease;margin:6px 0 4px}
.bignum small{font-size:17px;color:var(--ink-faint);font-family:"Public Sans",sans-serif;font-weight:400}
.bandpill{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  padding:5px 12px;border-radius:4px;transition:background .4s ease,color .4s ease}
.bg-good{background:var(--good-soft);color:var(--good)}
.bg-warning{background:var(--warning-soft);color:var(--warning)}
.bg-critical{background:var(--critical-soft);color:var(--critical)}
.gearbar{display:flex;gap:3px;margin:18px 0 14px}
.gearbar i{flex:1;height:26px;border-radius:3px;background:var(--rule);
  transition:background .45s cubic-bezier(.3,.9,.4,1),transform .3s ease;transform-origin:bottom}
.delta{font-size:14.5px;color:var(--ink-soft);min-height:23px;margin:0}
.delta b{color:var(--good)}
.locknote{font-size:13px;background:var(--critical-soft);color:var(--critical);padding:11px 13px;
  border-radius:4px;margin-top:14px;border-left:3px solid var(--critical);animation:pop .3s ease}
.locknote[hidden]{display:none}
.path{margin-top:22px;padding-top:20px;border-top:1px solid var(--rule)}
.path svg{width:100%;height:120px;overflow:visible;display:block;margin-top:9px}
.path .ln{transition:d .55s cubic-bezier(.3,.9,.4,1)}
.pathlabels{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-faint);margin-top:8px}
.disclaim{font-size:11.5px;color:var(--ink-faint);margin:14px 0 0;line-height:1.5}

/* ── feed ──────────────────────────────────────────────── */
.feed{display:grid;gap:10px;max-width:680px}
.tip{display:flex;gap:15px;padding:17px 19px;background:var(--surface);border:1px solid var(--rule);
  border-radius:var(--r);align-items:flex-start;transition:transform .2s ease,box-shadow .2s ease}
.tip:hover{transform:translateX(3px);box-shadow:var(--shadow)}
.tip .when{font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--ink-faint);flex:none;
  width:56px;padding-top:2px}
.tip .body b{display:block;font-size:15.5px;font-weight:600;margin-bottom:3px}
.tip .body p{margin:0;font-size:14px;color:var(--ink-soft)}
.chip{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:3px 8px;
  border-radius:4px;flex:none;align-self:flex-start}
.chip-act{background:var(--warning-soft);color:var(--warning)}
.chip-win{background:var(--good-soft);color:var(--good)}
.chip-watch{background:var(--accent-soft);color:var(--accent)}

/* ── comparison & faq ──────────────────────────────────── */







.faq{max-width:var(--measure);display:grid;gap:2px;border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
.faq details{background:var(--surface)}
.faq summary{padding:17px 20px;font-weight:600;font-size:15.5px;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:"IBM Plex Mono",monospace;color:var(--accent);font-size:19px;flex:none}
.faq details[open] summary::after{content:"−"}
.faq .ans{padding:0 20px 18px;font-size:14.5px;color:var(--ink-soft)}
.faq .ans p{margin:0 0 10px}.faq .ans p:last-child{margin:0}

/* ── pricing ───────────────────────────────────────────── */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(252px,1fr));gap:16px}
.tier{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:26px 24px;
  display:flex;flex-direction:column;gap:14px;transition:transform .22s cubic-bezier(.3,.9,.4,1),box-shadow .22s ease}
.tier:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.tier.featured{border-color:var(--accent);border-width:1.5px;box-shadow:var(--shadow)}
.tier .tag{font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--accent)}
.tier .price{font-family:Newsreader,Georgia,serif;font-size:40px;font-weight:600;line-height:1}
.tier .price small{font-size:14px;color:var(--ink-faint);font-family:"Public Sans",sans-serif;font-weight:400}
.tier ul{margin:0;padding:0;list-style:none;display:grid;gap:9px;font-size:14.5px;color:var(--ink-soft);flex:1}
.tier li{display:flex;gap:9px;align-items:flex-start}
.tier li svg{flex:none;margin-top:4px;color:var(--good)}
.sitefoot{border-top:1px solid var(--rule);padding-block:34px;font-size:13px;color:var(--ink-faint);background:var(--surface)}
.sitefoot .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}

/* ── funnel overlay ────────────────────────────────────── */
.overlay{position:fixed;inset:0;background:var(--ground);z-index:100;overflow-y:auto;animation:fade .25s ease}
.overlay[hidden]{display:none}
@keyframes fade{from{opacity:0}to{opacity:1}}
.obar{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--rule);z-index:5}
.obar .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-block:13px}
.progress{height:2px;background:var(--rule)}
.progress i{display:block;height:100%;background:var(--accent);width:0;
  transition:width .5s cubic-bezier(.4,0,.2,1)}
.stage{max-width:640px;margin:0 auto;padding:56px 20px 80px;animation:stagein .35s cubic-bezier(.22,.9,.3,1)}
@keyframes stagein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.stage[hidden]{display:none}
.stage h2{font-size:clamp(27px,4.2vw,36px);margin-bottom:10px}
.stage .sub{color:var(--ink-soft);margin:0 0 28px;font-size:16.5px}
.choices{display:grid;gap:9px}
.choice{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:17px 18px;
  background:var(--surface);border:1.5px solid var(--rule);border-radius:var(--r);font-size:16px;font-weight:500;
  transition:border-color .16s ease,transform .18s cubic-bezier(.3,.9,.4,1)}
.choice:hover{border-color:var(--accent);transform:translateX(4px)}
.choice .ic{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:6px;
  background:var(--accent-soft);color:var(--accent)}
.choice small{display:block;font-weight:400;font-size:13px;color:var(--ink-faint);margin-top:1px}
.emailrow{display:flex;gap:9px;flex-wrap:wrap}
.emailrow input{flex:1;min-width:190px;padding:14px 15px;border:1.5px solid var(--rule);border-radius:var(--r);
  background:var(--surface);color:inherit;font:inherit;outline:none}
.emailrow input:focus{border-color:var(--accent)}
.fineprint{font-size:12.5px;color:var(--ink-faint);margin-top:13px}
.linkish{text-decoration:underline;padding:0;font-size:inherit;color:inherit}
.analysing{text-align:center;padding-top:56px}
.pulse{width:62px;height:62px;margin:0 auto 26px;color:var(--accent);animation:breathe 1.7s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.4;transform:scale(.92)}50%{opacity:1;transform:scale(1.02)}}
.tasks{display:grid;gap:10px;max-width:340px;margin:0 auto;text-align:left;font-size:14.5px}
.task{display:flex;gap:11px;align-items:center;color:var(--ink-faint);opacity:.35;
  transition:opacity .35s ease,color .35s ease,transform .35s cubic-bezier(.3,.9,.4,1)}
.task.on{opacity:1;color:var(--ink);transform:translateX(3px)}
.task .dot{width:7px;height:7px;border-radius:99px;background:currentColor;flex:none}
.reveal{text-align:center}
.dial{position:relative;width:216px;height:216px;margin:6px auto 22px}
.dial svg{transform:rotate(-90deg)}
.dial .val{position:absolute;inset:0;display:grid;place-content:center;gap:2px}
.dial .num{font-family:Newsreader,Georgia,serif;font-size:66px;font-weight:600;line-height:1;
  font-variant-numeric:tabular-nums}
.dial .of{font-size:13px;color:var(--ink-faint)}
.t-good{color:var(--good)}.t-warning{color:var(--warning)}.t-critical{color:var(--critical)}
.reveal .outlook{color:var(--ink-soft);max-width:52ch;margin:0 auto 26px;text-wrap:balance}
/* These are single sentences, not paragraphs, so the 46ch reading measure that
   suits body copy only forced them to wrap and orphan the number they end on.
   Wide enough for one line on a desktop, balanced if it has to wrap at all. */
.callout{padding:15px 18px;border-radius:var(--r);border-left:3px solid;text-align:left;
  max-width:58ch;margin:0 auto 14px;font-size:15px;line-height:1.55;text-wrap:balance}
.callout.cap{background:var(--critical-soft);border-color:var(--critical)}
.callout.gain{background:var(--accent-soft);border-color:var(--accent)}
.rep{max-width:760px;margin:0 auto;padding:40px 20px 80px}
.rep .sub{color:var(--ink-soft);font-size:15px;margin:0 0 20px}
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:1px;background:var(--rule);
  border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;margin:0 0 40px}
.figs>div{background:var(--surface);padding:15px 17px}
.figs dt{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-faint);margin-bottom:5px}
.figs dd{margin:0;font-size:20px;font-weight:500}
.figs dd.neg{color:var(--critical)}
.finds{display:grid;gap:2px;border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;margin-bottom:40px}
.find{background:var(--surface);padding:19px 21px 19px 18px;border-left:3px solid var(--rule);
  animation:rise .45s cubic-bezier(.22,.9,.3,1) backwards}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.find.s-critical{border-left-color:var(--critical)}.find.s-warning{border-left-color:var(--warning)}
.find.s-good{border-left-color:var(--good)}.find.s-neutral{border-left-color:var(--ink-faint)}
.find header{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:8px}
.find h3{font-size:16.5px}
.sev{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;
  border-radius:3px;order:-1}
.s-critical .sev{background:var(--critical-soft);color:var(--critical)}
.s-warning .sev{background:var(--warning-soft);color:var(--warning)}
.s-good .sev{background:var(--good-soft);color:var(--good)}
.s-neutral .sev{background:var(--rule);color:var(--ink-soft)}
.pts{margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:13.5px;font-variant-numeric:tabular-nums}
.pts.dn{color:var(--critical)}.pts.up{color:var(--good)}
.find .what{margin:0 0 7px;font-size:15px}
.find .why{margin:0;font-size:13.5px;color:var(--ink-soft)}
.find ul{margin:11px 0 0;padding:0;list-style:none;display:grid;gap:3px;
  font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--ink-faint)}
.find li{padding-left:13px;position:relative;overflow-wrap:anywhere}
.find li::before{content:"›";position:absolute;left:0}
ol.plan{margin:0 0 40px;padding:0;list-style:none;counter-reset:s;display:grid;gap:2px;
  border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
ol.plan li{counter-increment:s;background:var(--surface);padding:19px 21px 19px 57px;position:relative}
ol.plan li::before{content:counter(s);position:absolute;left:21px;top:19px;
  font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--accent);background:var(--accent-soft);
  width:23px;height:23px;display:grid;place-items:center;border-radius:4px}
.plan .ph{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap;margin-bottom:5px}
.plan h3{font-size:15.5px}
.plan .gainpts{margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--good)}
.plan p{margin:0;font-size:14.5px}
.plan .tf{margin-top:5px;font-size:12.5px;color:var(--ink-faint)}
.basis{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:21px}
.basis h3{font-family:"Public Sans",sans-serif;font-size:14.5px;font-weight:700;margin:0 0 9px}
.basis p{margin:0 0 9px;font-size:13.5px;color:var(--ink-soft)}
.basis p:last-child{margin:0}
.conf{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;margin-bottom:9px}
.conf::before{content:"";width:7px;height:7px;border-radius:99px;background:currentColor}
.upsell{margin-top:34px;background:var(--accent-soft);border-radius:8px;padding:28px 24px;text-align:center}
.upsell h3{font-size:22px;margin-bottom:8px}
.upsell p{color:var(--ink-soft);font-size:15px;margin:0 auto 18px;max-width:42ch}
@media(max-width:560px){.pts,.plan .gainpts,.fix .plus{margin-left:0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}
  .spark .ln{stroke-dashoffset:0}.spark .ar,.spark circle{opacity:1}}

@keyframes sweep{to{stroke-dashoffset:91}}

/* ── split sections: fill the width instead of leaving a dead margin ── */
.split{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:44px;align-items:start}
.split.flip{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr)}
@media(max-width:900px){.split,.split.flip{grid-template-columns:1fr;gap:32px}}
.split .lead{position:sticky;top:78px}
@media(max-width:900px){.split .lead{position:static}}
.split h2.sec{margin-bottom:14px}
.split p.sec{margin-bottom:22px}

/* annotated points */
.points{display:grid;gap:18px;margin:0;padding:0;list-style:none}
.points li{display:flex;gap:13px}
.points .pin{width:26px;height:26px;flex:none;border-radius:6px;background:var(--accent-soft);
  color:var(--accent);display:grid;place-items:center;font-family:"IBM Plex Mono",monospace;
  font-size:11.5px;font-weight:500;margin-top:1px}
.points b{display:block;font-size:15.5px;font-weight:600;margin-bottom:2px}
.points p{margin:0;font-size:14.5px;color:var(--ink-soft)}

/* report preview */
.preview{border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:var(--surface);
  box-shadow:var(--shadow-lift)}
.preview .chrome{display:flex;align-items:center;gap:8px;padding:11px 14px;background:var(--surface-sunk);
  border-bottom:1px solid var(--rule)}
.preview .chrome i{width:9px;height:9px;border-radius:50%;background:var(--rule)}
.preview .chrome span{margin-left:8px;font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--ink-faint)}
.preview .body{padding:22px}
.pvhead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:16px;
  border-bottom:2px solid var(--ink);margin-bottom:18px}
.pvhead b{font-family:Newsreader,Georgia,serif;font-size:21px;font-weight:600}
.pvhead .n{font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--ink-faint)}
.pvscore{display:flex;align-items:center;gap:15px;margin-bottom:20px}
.pvscore .v{font-family:Newsreader,Georgia,serif;font-size:46px;font-weight:600;line-height:1;
  color:var(--warning);font-variant-numeric:tabular-nums}
.pvbar{flex:1;height:7px;background:var(--rule);border-radius:99px;overflow:hidden}
.pvbar i{display:block;height:100%;width:51%;background:var(--warning);border-radius:99px}

/* mid-page call to action */
.ctaband{border-top:1px solid var(--rule);background:var(--accent);color:#fff;padding-block:52px;
  position:relative;overflow:hidden}
:root[data-theme="dark"] .ctaband,
:root:not([data-theme="light"]) .ctaband{color:var(--ground)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .ctaband{color:#fff}}
.ctaband .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.ctaband h2{font-size:clamp(24px,3vw,32px);max-width:18ch;color:inherit}
.ctaband p{margin:8px 0 0;opacity:.82;font-size:16px;max-width:44ch}
.ctaband .btn{background:var(--action);color:var(--action-ink)}

/* pricing polish */
.tier.featured{position:relative;transform:translateY(-6px)}
@media(max-width:820px){.tier.featured{transform:none}}
.tier.featured::before{content:"Most popular";position:absolute;top:-11px;left:24px;
  background:var(--accent);color:var(--surface);font-size:10px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:4px 10px;border-radius:99px}
:root:not([data-theme="light"]) .tier.featured::before{color:var(--ground)}
.tier .note{font-size:12.5px;color:var(--ink-faint);margin:0}

/* footer */
.sitefoot{padding-block:46px 30px}
.footgrid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:32px;
  padding-bottom:30px;border-bottom:1px solid var(--rule)}
@media(max-width:760px){.footgrid{grid-template-columns:1fr 1fr;gap:26px}}
.footgrid h4{font-family:"Public Sans",sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-faint);margin:0 0 12px}
.footgrid ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:13.5px}
.footgrid a{color:var(--ink-soft);text-decoration:none}
.footgrid a:hover{color:var(--ink)}
.footblurb{font-size:13.5px;color:var(--ink-soft);margin:14px 0 0;max-width:36ch}
.footbase{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:12.5px}

/* ── house illustrations ───────────────────────────────────────────────── */
/* Engraved line-work, the vernacular of share certificates and stamped
   ledgers. Hatching shades as an engraver's burin would, so the set reads as
   documents rather than as generic flat iconography. */
.art{width:104px;height:84px;display:block;margin-bottom:18px;color:var(--accent);overflow:visible}
.step:hover .art{animation:nudge .5s cubic-bezier(.3,.9,.4,1)}
@keyframes nudge{50%{transform:translateY(-3px)}}

/* ── versus: a sealed record beside a legible one ──────────────────────── */
.versus{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
@media(max-width:780px){.versus{grid-template-columns:1fr}}
.vcol{border:1px solid var(--rule);border-radius:9px;padding:24px 22px;display:flex;flex-direction:column;
  transition:transform .22s cubic-bezier(.3,.9,.4,1),box-shadow .22s ease}
.vcol header{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:4px;
  border-bottom:1px solid var(--rule)}
.vcol header svg{width:28px;height:28px;flex:none;padding:5px;border-radius:7px}
.vcol header b{display:block;font-size:16.5px;font-weight:600;line-height:1.3}
.vcol header small{font-size:12.5px;color:var(--ink-faint)}
.vcol dl{margin:0;display:grid}
.vcol dl>div{padding-block:15px;border-bottom:1px solid var(--rule);min-height:92px}
.vcol dl>div:last-child{border-bottom:0;padding-bottom:0}
.vcol dt{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-faint);margin-bottom:6px}
.vcol dd{margin:0;font-size:15px}

/* the agency: closed by design */
.vcol.sealed{background:var(--surface-sunk);color:var(--ink-soft)}
.vcol.sealed header svg{background:var(--rule);color:var(--ink-faint)}
.vcol.sealed header b{color:var(--ink)}
/* Redaction, because "not disclosed" is the whole point and reads faster drawn
   than written. Marked up as text for screen readers, blacked out visually. */
.redact{display:grid;gap:6px}
.redact i{display:block;height:13px;border-radius:2px;background:var(--ink-faint);opacity:.4}
:root:not([data-theme="light"]) .redact i{opacity:.32}

/* ours: open */
.vcol.open{background:var(--surface);border-color:var(--accent);border-width:1.5px;box-shadow:var(--shadow)}
.vcol.open:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.vcol.open header svg{background:var(--accent-soft);color:var(--accent)}
.vcol.open dd{color:var(--ink)}
.vcol.open dl>div:last-child dd{font-weight:600;color:var(--good)}

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

/* ── practice roster (accountant hero) ─────────────────────────────────── */
.roster{display:grid;gap:2px;padding-block:14px}
.rrow{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:5px;
  background:var(--surface);animation:rowin .45s cubic-bezier(.22,.9,.3,1) backwards}
.rrow:nth-child(1){animation-delay:.35s}.rrow:nth-child(2){animation-delay:.47s}
.rrow:nth-child(3){animation-delay:.59s}.rrow:nth-child(4){animation-delay:.71s}
.rrow:nth-child(5){animation-delay:.83s}
@keyframes rowin{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.rrow.alert{background:var(--critical-soft)}
.rname{flex:1;min-width:0;font-size:13.5px;font-weight:500;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.rscore{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500;padding:2px 7px;
  border-radius:3px;flex:none}
.rstate{font-size:11.5px;flex:none;white-space:nowrap}
.rstate.ok{color:var(--ink-faint)}.rstate.warn{color:var(--warning)}
.rstate.bad{color:var(--critical);font-weight:600}
.rosterfoot{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding-top:13px;
  border-top:1px solid var(--rule);font-size:12px;color:var(--ink-faint)}
.rosterfoot .sep{opacity:.5}
.rosterfoot .warn{color:var(--warning)}.rosterfoot .bad{color:var(--critical);font-weight:600}

/* ── what we watch ─────────────────────────────────────────────────────── */
.watchgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
.wtile{background:var(--surface);padding:16px 17px;transition:background .18s ease}
.wtile:hover{background:var(--surface-sunk)}
.wtile b{display:block;font-size:14.5px;font-weight:600;margin-bottom:3px}
.wtile span{font-size:12.5px;color:var(--ink-faint)}

/* ── sign in: two audiences, one product ───────────────────────────────── */
.signin{position:relative}
.signinmenu{position:absolute;top:calc(100% + 8px);right:0;width:260px;background:var(--surface);
  border:1px solid var(--rule);border-radius:10px;box-shadow:var(--shadow-lift);z-index:60;padding:6px;
  animation:pop .16s cubic-bezier(.3,.9,.4,1)}
.signinmenu[hidden]{display:none}
.signinmenu a{display:block;padding:11px 13px;border-radius:7px;text-decoration:none;color:inherit;
  transition:background .13s ease}
.signinmenu a:hover{background:var(--surface-sunk)}
.signinmenu b{display:block;font-size:14.5px;font-weight:600;line-height:1.35}
.signinmenu small{display:block;font-size:12.5px;color:var(--ink-faint);margin-top:1px}
@media(max-width:700px){.signin{display:none}}

/* ── forwarding the report ────────────────────────────────────────────── */
/* This used to be a centred line of grey text with the raw path as its link
   text, which read as debug output and gave no way to actually forward
   anything. The link is the product for a lot of owners — it is how the report
   reaches their accountant — so it gets a field they can copy. */
.share{margin-top:30px;padding:22px 24px;background:var(--surface);border:1px solid var(--rule);
  border-radius:12px}
/* The heading only — a bare .share b also caught the emphasised addresses
   inside the notes below, breaking them onto their own line mid-sentence. */
.share>div:first-child b{display:block;font-size:15px;margin-bottom:4px}
.share>div:first-child p{font-size:13.5px;color:var(--ink-soft);margin:0;line-height:1.5;max-width:62ch}
.sharerow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}
.shareurl{flex:1;min-width:220px;padding:10px 13px;border:1.5px solid var(--rule);border-radius:7px;
  background:var(--surface-sunk);color:var(--ink-soft);font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:13px;outline:none;text-overflow:ellipsis}
.shareurl:focus{border-color:var(--accent);color:var(--ink)}
.sharerow .btn{white-space:nowrap}
.sharerow .btn.copied{background:var(--good-soft);color:var(--good)}
.sharesend{margin-top:16px;padding-top:16px;border-top:1px solid var(--rule)}
.sharelabel{display:block;font-size:13px;font-weight:600;margin-bottom:7px}
.sharesend .sharerow{margin-top:0}
.sharesend input{flex:1;min-width:200px;padding:10px 13px;border:1.5px solid var(--rule);
  border-radius:7px;background:var(--surface);color:inherit;font:inherit;outline:none}
.sharesend input:focus{border-color:var(--accent)}
.sharenote{font-size:12.5px;color:var(--ink-faint);margin:10px 0 0;line-height:1.5}
.sharedone{font-size:14px;color:var(--good);font-weight:500;margin:0}
@media(max-width:520px){.sharerow .btn{flex:1}}

/* ── turning a free check into an account ─────────────────────────────── */
/* The most valuable moment on the page, so it is composed rather than dropped
   into the generic upsell block: a fixed measure so nothing wraps awkwardly,
   one clear action, and the reassurance kept small enough to stay reassurance
   rather than argument. */
.claim{margin-top:38px;padding:34px 28px;background:var(--accent-soft);border-radius:14px;
  text-align:center;display:flex;flex-direction:column;align-items:center}
.claimmark,.claimtick{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:var(--surface);color:var(--accent);margin-bottom:16px;box-shadow:var(--shadow)}
.claimtick{color:var(--good)}
.claim h3{font-family:Newsreader,Georgia,serif;font-size:23px;font-weight:600;margin:0 0 8px;
  letter-spacing:-0.01em;text-wrap:balance}
.claimlede{font-size:15px;color:var(--ink-soft);margin:0 0 20px;max-width:40ch;line-height:1.55;
  text-wrap:balance}
.claimlede b{color:var(--ink);font-weight:600}
.claim .btn{padding:12px 26px;font-size:15.5px}
.claim>:last-child{margin-bottom:0}
.claimrow{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:100%;max-width:400px}
.claimrow input{flex:1;min-width:190px;padding:12px 14px;border:1.5px solid var(--rule);
  border-radius:7px;background:var(--surface);color:inherit;font:inherit;outline:none}
.claimrow input:focus{border-color:var(--accent)}
.claimnote{font-size:12.5px;color:var(--ink-faint);margin:12px 0 0}
.claimnote b{color:var(--ink-soft);font-weight:600}
.claim.sent{background:var(--good-soft)}
.claim.sent .claimnote{margin-top:0}

/* Development affordance, never rendered in production or once a mail provider
   is configured. Marked as unmistakably ours rather than dressed as product
   copy, so the confirmation above it stays the one a customer would see. */
.devonly{margin-top:22px;padding-top:20px;border-top:1px dashed var(--rule);max-width:44ch;width:100%}
.devonly p{font-size:12.5px;color:var(--ink-faint);margin:0 0 14px;line-height:1.5}
.devtag{display:inline-block;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--rule);
  border-radius:4px;padding:2px 7px;margin-bottom:10px}
.devonly .btn{font-size:13.5px;padding:9px 16px}
@media(max-width:520px){.claim{padding:28px 20px}.claim h3{font-size:21px}}

/* ── sector pages ─────────────────────────────────────────────────────── */
/* Published because the numbers are ours to publish, so the numbers lead.    */
.sectorpage{max-width:760px;padding-block:44px 80px}
.crumbs{font-size:13px;color:var(--ink-faint);margin-bottom:20px}
.crumbs a{color:var(--ink-faint);text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.sectorpage h1{font-size:clamp(30px,4.4vw,42px);line-height:1.1;margin-bottom:16px}
.sectorlede{font-size:17.5px;line-height:1.6;color:var(--ink-soft);margin:0 0 28px;max-width:64ch}
.sectorpage h2{font-size:24px;margin:40px 0 12px}
.sectorpage p{font-size:16px;line-height:1.7;max-width:68ch;margin:0 0 16px}

.sectorfigures{display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  background:var(--rule);border:1px solid var(--rule);border-radius:12px;overflow:hidden;margin:0 0 8px}
.sectorfigures div{background:var(--surface);padding:18px 20px}
.sectorfigures b{display:block;font-family:Newsreader,Georgia,serif;font-size:31px;font-weight:600;
  line-height:1.1;color:var(--accent)}
.sectorfigures span{display:block;font-size:12.5px;color:var(--ink-faint);margin-top:5px;line-height:1.4}

.sectordist{display:flex;align-items:flex-end;gap:5px;height:190px;margin:22px 0 34px;
  padding:14px 14px 0;background:var(--surface);border:1px solid var(--rule);border-radius:12px}
.sectorbar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
.sectorbar i{display:block;width:100%;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px}
.sectorbarn{font-size:11px;color:var(--ink-soft);margin-top:6px;font-variant-numeric:tabular-nums}
.sectorbark{font-family:"IBM Plex Mono",monospace;font-size:10.5px;color:var(--ink-faint);
  padding-bottom:8px;margin-top:2px}

.sectortable{width:100%;border-collapse:collapse;margin:20px 0 24px;font-size:15px;
  border:1px solid var(--rule);border-radius:12px;overflow:hidden}
.sectortable th,.sectortable td{text-align:left;padding:11px 16px;border-bottom:1px solid var(--rule)}
.sectortable thead th{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-faint);background:var(--surface-sunk)}
.sectortable tbody th{font-weight:500}
.sectortable td{font-variant-numeric:tabular-nums;width:110px}
.sectortable tr:last-child th,.sectortable tr:last-child td{border-bottom:0}

.sectorfaq details{border-bottom:1px solid var(--rule);padding:14px 0}
.sectorfaq summary{font-weight:600;font-size:16px;cursor:pointer;list-style:none}
.sectorfaq summary::-webkit-details-marker{display:none}
.sectorfaq summary::before{content:"+";display:inline-block;width:20px;color:var(--accent);font-weight:700}
.sectorfaq details[open] summary::before{content:"−"}
.sectorfaq p{margin:10px 0 0 20px;color:var(--ink-soft);font-size:15px}

.sectorcta{margin:40px 0;padding:28px;background:var(--accent-soft);border-radius:14px}
.sectorcta h2{margin-top:0}
.sectorcta p{margin-bottom:20px}

.sectorlinks{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.sectorlinks a{display:block;padding:13px 16px;background:var(--surface);border:1px solid var(--rule);
  border-radius:10px;text-decoration:none;font-weight:600;font-size:15px;transition:border-color .14s}
.sectorlinks a:hover{border-color:var(--accent)}
.sectorlinks span{display:block;font-weight:400;font-size:12.5px;color:var(--ink-faint);margin-top:3px}

.sectorsource{margin-top:40px!important;padding-top:20px;border-top:1px solid var(--rule);
  font-size:13px!important;color:var(--ink-faint)}
.sronly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
