
html,body{min-height:100%}

/* AcosControl shared theme + nav CSS (D · Clarity). Paste inside the helmet <style>.
   Root div: class="page" data-theme="{{theme}}" and container-type: inline-size; container-name: page.
   Every colour in markup uses var(--x). Dark values apply under .page[data-theme="dark"]. */
x-dc{display:block}
body{margin:0;background:#f6f7f9;font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.page{
  --bg:#f6f7f9;--bg2:#eef1f5;--surface:#fff;--ink:#1a1d23;--muted:#4f5866;--faint:#8a92a0;--line:#e3e6eb;--row:#f0f2f5;
  --accent:#2a62b8;--accent-ink:#fff;--accent-hover:#16325c;--navy:#16325c;--chip:#eaf2fd;--chipline:#cfe0f7;
  --good:#0f7d78;--goodbg:#e3f3f2;--goodline:#bcdcd9;--mid:#b45309;--midbg:#fdf1e3;--bad:#c2410c;
  --leak:#9a1c1c;--leakbg:#fdecea;--leakline:#f3c9c4;--win:#136c3a;--hl:#f5f8fe;--goodrow:#f2faf9;--leakrow:#fdf3f2;
  --band:#16325c;--band-ink:#fff;--band-muted:#c9d6ea;--band-eyebrow:#9ec0ee;
  --tg:#effdde;--tg-ink:#1a1d23;--bezel:#1a1d23;--glass:rgba(246,247,249,.86);
  --shadow:0 24px 70px rgba(16,24,40,.14);--shadow-s:0 1px 2px rgba(16,24,40,.06);--grid:#e6eaf0;
  --logo-ink:#1b2a32;--logo-1:#c21d00;--logo-2:#e8730c;--logo-3:#0072a3;--logo-4:#2f8400;
  color:var(--ink);background:var(--bg);color-scheme:light}
.page[data-theme="dark"]{
  --bg:#0f1216;--bg2:#141821;--surface:#171b22;--ink:#e6e9ee;--muted:#a3acba;--faint:#7a8492;--line:#272d38;--row:#20262f;
  --accent:#3b74d0;--accent-ink:#fff;--accent-hover:#5b8def;--navy:#9cc1f5;--chip:#18283f;--chipline:#27406a;
  --good:#5fd0c6;--goodbg:#10302d;--goodline:#1d4a46;--mid:#e8a86a;--midbg:#2e2213;--bad:#f59a7a;
  --leak:#f3a1a1;--leakbg:#2a1616;--leakline:#4a2626;--win:#8fe0b4;--hl:#161d29;--goodrow:#10201f;--leakrow:#1f1515;
  --band:#111a2b;--band-ink:#fff;--band-muted:#b4c2d8;--band-eyebrow:#9cc1f5;
  --tg:#2b5278;--tg-ink:#fff;--bezel:#05070a;--glass:rgba(15,18,22,.86);
  --shadow:0 24px 70px rgba(0,0,0,.5);--shadow-s:0 1px 2px rgba(0,0,0,.35);--grid:#1b212b;
  --logo-ink:#fff;--logo-1:#ff6f52;--logo-2:#ffa14f;--logo-3:#5aa9c9;--logo-4:#7dbf4f;
  color-scheme:dark}
.page a{color:var(--accent);text-decoration:none}
.page a:hover{color:var(--accent-hover)}
.page a:focus-visible,.page button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.cta{transition:background .15s ease,transform .15s ease,box-shadow .15s ease}
.page .cta:hover{background:var(--accent-hover) !important;color:#fff !important;transform:translateY(-1px)}
.page[data-theme="dark"] .cta:hover{color:#0f1216 !important}
.ghost:hover,.navbtn:hover{background:var(--bg2) !important}
.nl{color:var(--muted) !important}.nl:hover{color:var(--ink) !important}
.resitem:hover{background:var(--bg2)}
/* menu items */
.mlink{display:flex;align-items:center;min-height:56px;width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:0;font:800 20px "Plus Jakarta Sans",system-ui,sans-serif;letter-spacing:-.01em;color:var(--ink) !important;cursor:pointer;text-align:left}
.msub{display:flex;align-items:center;min-height:48px;width:100%;border:0;background:none;padding:0;font:700 16px "Plus Jakarta Sans",system-ui,sans-serif;color:var(--ink);cursor:pointer;text-align:left}
.page .mitem{display:flex;align-items:center;min-height:44px;font-size:15px;font-weight:600;line-height:1.35;color:var(--ink);padding:4px 0}
.mlink:hover,.msub:hover,.mitem:hover{color:var(--accent) !important}
/* nav responsive */
.burger{display:none !important}
@container page (max-width: 1100px){
  .navlinks{display:none !important}
  .burger{display:inline-flex !important}
}
@container page (max-width: 720px){
  .nav-demo,.nav-theme{display:none !important}
  .navbar{height:64px !important;gap:12px !important}
  .navact{gap:6px !important}
  .navlogo svg{width:124px;height:20px}
  .nav-trial{order:1;font-size:13.5px !important;padding:0 12px !important}
  .nav-sign{order:2;font-size:13.5px !important;padding:0 8px !important}
  .burger{order:3}
  .mgrid{grid-template-columns:minmax(0,1fr) !important}
}
@container page (max-width: 400px){
  .navbar{gap:6px !important}
  .navact{gap:3px !important}
  .navlogo svg{width:100px;height:16px}
  .nav-trial{padding:0 9px !important;font-size:12.5px !important}
  .nav-sign{padding:0 6px !important;font-size:12.5px !important}
}

.nl-on{color:var(--ink) !important;position:relative}
.nl-on::after{content:"";position:absolute;left:0;right:0;bottom:-25px;height:2px;border-radius:2px;background:var(--accent)}
button.nl-on::after{bottom:-17px}
.page [id]{scroll-margin-top:88px}
.rt-wrap{display:contents}
/* ===== home ===== */

.rt-hm .m{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}
.rt-hm .c{padding:0 7px;height:36px;text-align:right;border-top:1px solid var(--row);font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--ink);white-space:nowrap}
.rt-hm .h{padding:0 7px;height:30px;text-align:right;font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.02em;white-space:nowrap}
.rt-hm .ag,.rt-hm .good{color:var(--good) !important;font-weight:700}
.rt-hm .am,.rt-hm .mid{color:var(--mid) !important;font-weight:700}
.rt-hm .ab,.rt-hm .bad{color:var(--leak) !important;font-weight:700}
.rt-hm .faint{color:var(--faint)}
.rt-hm .p1{color:var(--accent) !important}.rt-hm .p2{color:var(--good) !important}.rt-hm .p3{color:var(--mid) !important}
.rt-hm .xs{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rt-hm .gridtex::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 30%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 60% 55% at 50% 30%,#000 10%,transparent 75%);pointer-events:none;opacity:.7}
.rt-hm .dots::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
/* hero colour field */
.rt-hm .hbg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.rt-hm .hbg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:260px;background:linear-gradient(to bottom,transparent,var(--bg))}
.rt-hm .blob{position:absolute;border-radius:50%;filter:blur(72px);will-change:transform}
.rt-hm .b1{width:640px;height:640px;left:-160px;top:-180px;background:radial-gradient(circle,#4a9bd1 0%,transparent 68%);opacity:.34;animation:d1 32s ease-in-out infinite alternate}
.rt-hm .b2{width:560px;height:560px;right:-140px;top:-40px;background:radial-gradient(circle,#f08a4b 0%,transparent 68%);opacity:.26;animation:d2 38s ease-in-out infinite alternate}
.rt-hm .b3{width:520px;height:520px;left:36%;top:260px;background:radial-gradient(circle,#6cb84a 0%,transparent 68%);opacity:.2;animation:d3 26s ease-in-out infinite alternate}
.rt-hm .b4{width:460px;height:460px;left:12%;top:520px;background:radial-gradient(circle,#e0523a 0%,transparent 68%);opacity:.14;animation:d1 40s ease-in-out infinite alternate-reverse}
.page[data-theme="dark"] .rt-hm .b1{opacity:.2}.page[data-theme="dark"] .rt-hm .b2{opacity:.13}.page[data-theme="dark"] .rt-hm .b3{opacity:.11}.page[data-theme="dark"] .rt-hm .b4{opacity:.09}
@keyframes d1{to{transform:translate(160px,110px) scale(1.12)}}
@keyframes d2{to{transform:translate(-150px,140px) scale(.92)}}
@keyframes d3{to{transform:translate(-120px,-80px) scale(1.18)}}
.rt-hm .halo{text-shadow:0 0 22px var(--bg),0 0 8px var(--bg)}
@keyframes floaty{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-5px)}}
.rt-hm .badge{animation:floaty 7s ease-in-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(15,125,120,.45)}70%{box-shadow:0 0 0 8px rgba(15,125,120,0)}100%{box-shadow:0 0 0 0 rgba(15,125,120,0)}}
.rt-hm .live{animation:pulse 2.2s infinite}
@media (prefers-reduced-motion: reduce){.rt-hm .blob,.rt-hm .badge,.rt-hm .live{animation:none !important}}
/* demo */
.rt-hm .dtab{white-space:nowrap;border:0;background:none;padding:5px 10px;border-radius:7px;font:600 12px "Plus Jakarta Sans",system-ui,sans-serif;color:var(--muted);cursor:pointer;min-height:28px}
.rt-hm .dtab.on{background:var(--surface);color:var(--navy);box-shadow:var(--shadow-s)}
.rt-hm .act{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;padding:0 8px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 11.5px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.rt-hm .act:hover{border-color:var(--faint)}
.rt-hm .act.primary{background:var(--navy);border-color:var(--navy);color:var(--surface)}
.rt-hm .act.dis{opacity:.45;cursor:default}
.rt-hm .act.on{background:var(--chip);border-color:var(--accent);color:var(--navy)}
.rt-hm .kchip{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:700 11px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.rt-hm .kchip.on{background:var(--chip);border-color:var(--chipline);color:var(--navy)}
.rt-hm .done{font-size:11.5px;font-weight:700;color:var(--win);white-space:nowrap}
.rt-hm .dhead{font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--bg2);min-height:28px;align-items:center}
.rt-hm .drow{min-height:42px;align-items:center;border-top:1px solid var(--row)}
.rt-hm .drow.paused{background:color-mix(in srgb,var(--bad) 7%,transparent)}
.rt-hm .dgc{display:grid;grid-template-columns:176px 92px repeat(12,56px)}
.rt-hm .dgk{display:grid;grid-template-columns:134px 128px 86px repeat(12,50px)}
.rt-hm .dgs{display:grid;grid-template-columns:320px 70px 70px 84px 90px 76px 150px}
.rt-hm .dgt{display:grid;grid-template-columns:300px 64px 56px 70px 210px;align-items:center;column-gap:8px}
.rt-hm .dc{padding:0 5px;text-align:right;font:500 11px "JetBrains Mono",ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}
.rt-hm .dc.ac{font-weight:700}
.rt-hm .dl{border-left:1px solid var(--line)}
.rt-hm .stg{display:grid;grid-template-columns:minmax(0,1fr) 50px 40px 60px 104px;align-items:center;column-gap:4px}
.rt-hm .ell{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rt-hm .dname{padding:0 10px;font-size:12px;font-weight:600;color:var(--ink);min-width:0}
.rt-hm .mcard{padding:12px 14px 10px;border-top:1px solid var(--line)}
.rt-hm .mcard.paused{background:color-mix(in srgb,#f97316 12%,var(--surface))}
.rt-hm .mrow{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.45fr) minmax(0,.8fr);gap:5px;white-space:nowrap;padding:5px 0;border-top:1px solid var(--row);font:500 11px "JetBrains Mono",ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums;color:var(--muted)}
.rt-hm .mrow span{text-align:right}.rt-hm .mrow span:first-child{text-align:left;font:800 9px "Plus Jakarta Sans",system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.rt-hm .mhead{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.45fr) minmax(0,.8fr);gap:5px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:2px 0 3px}
.rt-hm .mhead span:not(:first-child){text-align:right}
.rt-hm .papp{scrollbar-width:thin}
.rt-hm .pchips .kchip{min-height:22px;padding:0 8px;font-size:10px}
.rt-hm .papp .act{min-height:24px;padding:0 7px;font-size:10.5px}
.rt-hm .papp .act.primary{min-height:26px}
.rt-hm .pchip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:700 13.5px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer}
.rt-hm .pchip.on{background:var(--chip);border-color:var(--accent);color:var(--navy)}
.rt-hm .pchip i{width:9px;height:9px;border-radius:3px;display:block}
.rt-hm .pcard{transition:opacity .25s ease,outline-color .25s ease}
.rt-hm .tile{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rt-hm .tile svg{width:24px;height:24px}
.rt-hm details summary{list-style:none;cursor:pointer}.rt-hm details summary::-webkit-details-marker{display:none}
.rt-hm .faqq{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:68px;padding:18px 0;border:0;background:none;cursor:pointer;text-align:left;font:800 17.5px/1.35 "Plus Jakarta Sans",system-ui,sans-serif;color:var(--ink);transition:color .15s}
.rt-hm .faqq:hover{color:var(--accent)}
.rt-hm .faqchev{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg2);color:var(--muted);transition:transform .25s ease,background .15s,color .15s}
.rt-hm .faqq:hover .faqchev{background:var(--chip);color:var(--accent)}
.rt-hm .faqi.open .faqchev{background:var(--accent);color:var(--accent-ink)}
@media (prefers-reduced-motion: reduce){.rt-hm .faqchev{transition:none}}
.rt-hm .devsw button{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 16px;border:0;border-radius:9px;background:none;color:var(--muted);font:700 14px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer}
.rt-hm .devsw button.on{background:var(--surface);color:var(--navy);box-shadow:var(--shadow-s)}
.rt-hm .devsw button:not(.on):hover{color:var(--ink)}
/* ===== responsive ===== */
@container page (max-width: 1240px){
  .rt-hm .stage .hphone{right:-20px !important}
  .rt-hm .pcdemo{padding:6px !important;margin-inline:calc(-1 * clamp(0px, 4cqi, 48px))}
}
@container page (max-width: 1100px){
  .rt-hm .scrollhint{display:inline !important}
  .rt-hm .stage{padding-right:0 !important;padding-bottom:40px !important;display:flex;flex-direction:column;gap:28px}
  .rt-hm .stage{min-height:0 !important}
  .rt-hm .stage .hphone{position:static !important;align-self:center}
  .rt-hm .stage .badge{left:0 !important;top:-60px !important}
  .rt-hm .proof{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .rt-hm .proof>div{border-right:0 !important;border-bottom:1px solid var(--line)}
  .rt-hm .proof>div:nth-child(odd){border-right:1px solid var(--line) !important}
  .rt-hm .proof>div:nth-last-child(-n+2){border-bottom:0}
  .rt-hm .g4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .rt-hm .g2h,.rt-hm .g2c,.rt-hm .gf,.rt-hm .gprice,.rt-hm .gfaq,.rt-hm .fcta,.rt-hm .gmob{grid-template-columns:minmax(0,1fr) !important;gap:32px !important}
  .rt-hm .gf,.rt-hm .gmob{gap:48px !important}
  .rt-hm .first{order:-1}
  .rt-hm .unabs{position:static !important;width:auto !important;margin-top:16px}
  .rt-hm .stack{flex-direction:column !important;align-items:flex-start !important;gap:20px !important}
  .rt-hm .pleft{border-right:0 !important;border-bottom:1px solid var(--line)}
  .rt-hm .minw{min-width:860px}
  .rt-hm .minw-st .c,.rt-hm .minw-st .h{padding:0 5px !important}
  .rt-hm .minw-st td:first-child span{white-space:normal !important}
  .rt-hm .fcta{padding:56px clamp(24px,6cqi,64px) !important}
  .rt-hm .band-t{min-width:760px}
}
@container page (max-width: 720px){
  .rt-hm .stage .screen,.rt-hm .stage .badge,.rt-hm .hide-p{display:none !important}
  .rt-hm .h1{font-size:38px !important}
  .rt-hm .stg{grid-template-columns:minmax(0,1fr) 48px 36px 58px !important;column-gap:2px;padding-top:6px}
  .rt-hm .stg>span:first-child{grid-column:1/-1}
  .rt-hm .stg>span:nth-child(2){grid-column-start:2}
  .rt-hm .stg:first-of-type{font-size:8.5px !important;letter-spacing:.04em !important}
  .rt-hm .stg>span:last-child{grid-column:1/-1;justify-content:flex-start !important;padding:2px 0 10px}
  .rt-hm .st-x{display:none !important}
  .rt-hm .trust{flex-direction:column;align-items:center}
  .rt-hm .trust>span{text-align:left;max-width:100%}
  .rt-hm .ctas{flex-direction:column !important;align-items:stretch !important;width:100%}
  .rt-hm .ctas>a{justify-content:center;min-height:48px}
  .rt-hm .proof>div{padding:22px 18px !important}
  .rt-hm .proof>div>span:first-child{font-size:30px !important}
  .rt-hm .proof>div>span:first-child>span{font-size:15px !important}
  .rt-hm .proof>div>span:last-child{font-size:13.5px !important}
  .rt-hm .g4,.rt-hm .g3,.rt-hm .g2s{grid-template-columns:minmax(0,1fr) !important}
  .rt-hm .g3{gap:28px !important}
  .rt-hm .mock{padding:14px !important}
  .rt-hm .mock .g3{gap:8px !important}
  .rt-hm .wraprow{flex-wrap:wrap;gap:12px}
  .rt-hm .xs .minw-s{min-width:500px}
  .rt-hm .minw-st{min-width:0 !important;width:100% !important;margin:0 !important}
  .rt-hm .minw-st thead{display:none}
  .rt-hm .minw-st,.rt-hm .minw-st tbody{display:block}
  .rt-hm .minw-st tr{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 6px;padding:16px;border-top:1px solid var(--row)}
  .rt-hm .minw-st tr:first-child{border-top:0}
  .rt-hm .minw-st td{display:flex;flex-direction:column;gap:2px;height:auto !important;padding:0 !important;border:0 !important;text-align:left !important;font-size:12.5px !important}
  .rt-hm .minw-st td:first-child,.rt-hm .minw-st td:last-child{grid-column:1/-1}
  .rt-hm .minw-st td:first-child span{white-space:normal !important}
  .rt-hm .minw-st td[data-label]::before{content:attr(data-label);font:700 9.5px "Plus Jakarta Sans",system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
  .rt-hm .minw-st td:last-child button{width:100%;min-height:44px;font-size:14px !important;border-radius:10px !important}
  .rt-hm .minw-st td:last-child .done{display:flex;align-items:center;justify-content:center;min-height:44px}
  .rt-hm .stwrap{overflow:visible !important}
  .rt-hm .sthead{flex-direction:column;align-items:flex-start !important;gap:10px !important;padding:12px !important}
  .rt-hm .sthead>div:first-child{max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .rt-hm .sthead>div:first-child span{white-space:nowrap}
  .rt-hm .sthead span{white-space:nowrap}
  .rt-hm .kw .minw-s,.rt-hm .g2c .minw-s,.rt-hm .mock .minw-s{min-width:0}
  .rt-hm .g2c th:last-child,.rt-hm .g2c td:last-child,.rt-hm .mock .minw-s th:last-child,.rt-hm .mock .minw-s td:last-child{display:none}
  .rt-hm .g2c>div{padding:20px 14px !important}
  .rt-hm .g2c .c,.rt-hm .g2c .h,.rt-hm .mock .c,.rt-hm .mock .h{padding:0 4px !important}
  .rt-hm .mock .c{font-size:11.5px !important;height:36px !important}
  .rt-hm .mock .h{font-size:10.5px !important}
  .rt-hm .mock .minw-s{width:calc(100% - 16px) !important;margin-inline:8px !important}
  .rt-hm .gprice>div{padding:28px 22px !important;min-width:0}
  .rt-hm .price{font-size:52px !important}
  .rt-hm .wrap-p{white-space:normal !important}
  .rt-hm .minw{min-width:0 !important}
  .rt-hm .cmp thead{display:none}
  .rt-hm .cmp,.rt-hm .cmp tbody,.rt-hm .cmp tr,.rt-hm .cmp td{display:block;width:auto !important}
  .rt-hm .cmp tr{padding:18px 20px;border-top:1px solid var(--line)}
  .rt-hm .cmp tr:first-child{border-top:0;box-shadow:inset 3px 0 0 var(--accent)}
  .rt-hm .cmp td{padding:3px 0 !important;border:0 !important;box-shadow:none !important}
  .rt-hm .cmp td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 4px}
  .rt-hm .band-t{min-width:0}
  .rt-hm .band-t thead{display:none}
  .rt-hm .band-t,.rt-hm .band-t tbody,.rt-hm .band-t tr,.rt-hm .band-t td{display:block;width:auto !important}
  .rt-hm .band-t tr{padding:20px;border-top:1px solid rgba(255,255,255,.14)}
  .rt-hm .band-t tr:first-child{border-top:0}
  .rt-hm .band-t td:first-child span{font-size:16px !important}
  .rt-hm .band-t td{padding:3px 0 !important;border:0 !important}
  .rt-hm .band-t td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--band-eyebrow);margin:14px 0 4px}
  .rt-hm .fcta{padding:40px 22px !important}
  .rt-hm .fstack{flex-direction:column !important;align-items:flex-start !important;gap:20px}
  .rt-hm .fnav{flex-wrap:wrap;gap:4px 22px !important}
  .rt-hm .fnav a{min-height:44px;display:inline-flex;align-items:center}
  .rt-hm .mobphone{width:100% !important;max-width:320px}
  .rt-hm .pcdemo{padding:10px !important;margin-inline:0 !important}
  .rt-hm .scrollhint{display:inline !important}
  .rt-hm .devsw button{min-height:44px}
}
@container page (max-width: 400px){
  .rt-hm .mock{padding:6px !important}
  .rt-hm .mock .c,.rt-hm .mock .h{padding:0 3px !important}
  .rt-hm .mock .c{font-size:10.5px !important}
}


/* ===== pricing ===== */


.rt-pr .m{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}
.rt-pr .good{color:var(--good) !important}.rt-pr .bad{color:var(--leak) !important}
.rt-pr .gridtex::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 30%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 60% 55% at 50% 30%,#000 10%,transparent 75%);pointer-events:none;opacity:.7}
.rt-pr .dots::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
/* hero colour field */
.rt-pr .hbg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.rt-pr .hbg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:260px;background:linear-gradient(to bottom,transparent,var(--bg))}
.rt-pr .blob{position:absolute;border-radius:50%;filter:blur(72px);will-change:transform}
.rt-pr .b1{width:640px;height:640px;left:-160px;top:-180px;background:radial-gradient(circle,#4a9bd1 0%,transparent 68%);opacity:.34;animation:d1 32s ease-in-out infinite alternate}
.rt-pr .b2{width:560px;height:560px;right:-140px;top:-40px;background:radial-gradient(circle,#f08a4b 0%,transparent 68%);opacity:.26;animation:d2 38s ease-in-out infinite alternate}
.rt-pr .b3{width:520px;height:520px;left:36%;top:260px;background:radial-gradient(circle,#6cb84a 0%,transparent 68%);opacity:.2;animation:d3 26s ease-in-out infinite alternate}
.rt-pr .b4{width:460px;height:460px;left:12%;top:520px;background:radial-gradient(circle,#e0523a 0%,transparent 68%);opacity:.14;animation:d1 40s ease-in-out infinite alternate-reverse}
.page[data-theme="dark"] .rt-pr .b1{opacity:.2}.page[data-theme="dark"] .rt-pr .b2{opacity:.13}.page[data-theme="dark"] .rt-pr .b3{opacity:.11}.page[data-theme="dark"] .rt-pr .b4{opacity:.09}
@keyframes d1{to{transform:translate(160px,110px) scale(1.12)}}
@keyframes d2{to{transform:translate(-150px,140px) scale(.92)}}
@keyframes d3{to{transform:translate(-120px,-80px) scale(1.18)}}
.rt-pr .halo{text-shadow:0 0 22px var(--bg),0 0 8px var(--bg)}
@keyframes floaty{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-5px)}}
.rt-pr .badge{animation:floaty 7s ease-in-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(15,125,120,.45)}70%{box-shadow:0 0 0 8px rgba(15,125,120,0)}100%{box-shadow:0 0 0 0 rgba(15,125,120,0)}}
.rt-pr .live{animation:pulse 2.2s infinite}
@media (prefers-reduced-motion: reduce){.rt-pr .blob,.rt-pr .badge,.rt-pr .live{animation:none !important}}

.rt-pr .tile{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rt-pr .tile svg{width:24px;height:24px}
/* current page in nav */
.rt-pr .nl-on{color:var(--ink) !important;position:relative}
.rt-pr .nl-on::after{content:"";position:absolute;left:0;right:0;bottom:-25px;height:2px;border-radius:2px;background:var(--accent)}
.rt-pr .resitem.on{background:var(--chip)}
.rt-pr button.nl-on::after{bottom:-17px}
/* controls */
.rt-pr .fchip{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:700 13.5px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}
.rt-pr .fchip:hover{border-color:var(--muted)}
.rt-pr .fchip.on{background:var(--chip);border-color:var(--accent);color:var(--navy)}
.rt-pr .fchip .n{font:600 11.5px "JetBrains Mono",ui-monospace,monospace;color:var(--muted)}
.rt-pr .fchip.on .n{color:var(--navy)}
.rt-pr .stp{width:48px;height:48px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);cursor:pointer;padding:0;transition:background .15s ease}
.rt-pr .stp:hover{background:var(--bg2)}
.rt-pr .fin{box-sizing:border-box;width:100%;min-width:0;height:48px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);font:600 16px "JetBrains Mono",ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums;padding:0 14px 0 30px}
.rt-pr .fin.sfx{padding:0 36px 0 14px}
.rt-pr .fin:hover{border-color:var(--muted)}
.rt-pr .fin:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.rt-pr .fpre{position:absolute;top:0;bottom:0;display:flex;align-items:center;font:600 16px "JetBrains Mono",ui-monospace,monospace;color:var(--muted);pointer-events:none}
.rt-pr .flab{font-size:14px;font-weight:700;color:var(--ink)}
.rt-pr .fhint{font-size:12.5px;font-weight:500;color:var(--muted);line-height:1.45}
.rt-pr .rng{-webkit-appearance:none;appearance:none;display:block;width:100%;height:44px;background:transparent;cursor:pointer;margin:0}
.rt-pr .rng::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--accent) var(--fill),var(--row) var(--fill))}
.rt-pr .rng::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-10px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);box-shadow:0 3px 10px rgba(16,24,40,.25)}
.rt-pr .rng::-moz-range-track{height:8px;border-radius:4px;background:var(--row)}
.rt-pr .rng::-moz-range-progress{height:8px;border-radius:4px;background:var(--accent)}
.rt-pr .rng::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}
.rt-pr .rng:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}
.rt-pr .acc{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border:0;background:none;text-align:left;color:var(--ink);font:800 17px/1.35 "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer}
.rt-pr .acc:hover{color:var(--accent)}
.rt-pr .acc .chev{width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;transition:transform .2s ease}
.rt-pr .plab{display:none;font-weight:800;color:var(--ink)}
.rt-pr .tcard{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.rt-pr .tcard:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--chipline) !important}
.rt-pr .tcard:hover .go{text-decoration:underline}
/* ===== responsive ===== */
@container page (max-width: 1100px){
  .rt-pr .g2h,.rt-pr .g2,.rt-pr .gprice,.rt-pr .gfaq,.rt-pr .fcta,.rt-pr .gcalc,.rt-pr .gtool,.rt-pr .gfeat{grid-template-columns:minmax(0,1fr) !important;gap:32px !important}
  .rt-pr .gprice,.rt-pr .gtool,.rt-pr .gfeat{gap:0 !important}
  .rt-pr .pleft{border-right:0 !important;border-bottom:1px solid var(--row)}
  .rt-pr .stack{flex-direction:column !important;align-items:flex-start !important;gap:20px !important}
  .rt-pr .fcta{padding:56px clamp(24px,6cqi,64px) !important}
  .rt-pr .g4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .rt-pr .g3c{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .rt-pr .tl-line{display:none !important}
}
@container page (max-width: 720px){
  .rt-pr .h1{font-size:38px !important}
  .rt-pr .g3,.rt-pr .g3c,.rt-pr .g4,.rt-pr .g2s,.rt-pr .chk,.rt-pr .res3{grid-template-columns:minmax(0,1fr) !important}
  .rt-pr .trust{flex-direction:column;align-items:flex-start !important}
  .rt-pr .ctas{flex-direction:column !important;align-items:stretch !important;width:100%}
  .rt-pr .ctas>a{justify-content:center;min-height:48px}
  .rt-pr .gprice>div{padding:28px 22px !important;min-width:0}
  .rt-pr .price{font-size:52px !important}
  .rt-pr .bigv{font-size:44px !important}
  .rt-pr .wrap-p{white-space:normal !important}
  .rt-pr .fcta{padding:40px 22px !important}
  .rt-pr .fstack{flex-direction:column !important;align-items:flex-start !important;gap:20px}
  .rt-pr .fnav{flex-wrap:wrap;gap:4px 22px !important}
  .rt-pr .fnav a{min-height:44px;display:inline-flex;align-items:center}
  .rt-pr .fchip{min-height:44px}
  .rt-pr .pad-p{padding:24px 20px !important}
  .rt-pr .hide-p{display:none !important}
  .rt-pr .crow{grid-template-columns:minmax(0,1fr) !important;padding:6px 0}
  .rt-pr .crow.head{display:none !important}
  .rt-pr .plab{display:inline}
  .rt-pr .crow>*{padding:6px 20px !important}
  .rt-pr .crow>:first-child{padding-top:14px !important}
  .rt-pr .crow>:last-child{margin:4px 12px 12px;border-radius:10px;padding:12px 14px !important}
  .rt-pr .acc{font-size:16px}
  .rt-pr .chips-scroll .fchip{padding:0 13px}
  .rt-pr .fcover{min-height:320px !important;padding:28px 20px !important}
  .rt-pr .mockt th,.rt-pr .mockt td{padding-left:5px !important;padding-right:5px !important;font-size:11.5px !important}
  .rt-pr .mockt th:first-child,.rt-pr .mockt td:first-child{padding-left:12px !important}
  .rt-pr .mockt th:last-child,.rt-pr .mockt td:last-child{padding-right:12px !important}
  .rt-pr .rrow{grid-template-columns:minmax(0,1fr) !important;gap:12px !important;padding:18px !important}
}



/* ===== tools ===== */


.rt-ft .m{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}
.rt-ft .good{color:var(--good) !important}.rt-ft .bad{color:var(--leak) !important}
.rt-ft .gridtex::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 30%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 60% 55% at 50% 30%,#000 10%,transparent 75%);pointer-events:none;opacity:.7}
.rt-ft .dots::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
/* hero colour field */
.rt-ft .hbg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.rt-ft .hbg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:260px;background:linear-gradient(to bottom,transparent,var(--bg))}
.rt-ft .blob{position:absolute;border-radius:50%;filter:blur(72px);will-change:transform}
.rt-ft .b1{width:640px;height:640px;left:-160px;top:-180px;background:radial-gradient(circle,#4a9bd1 0%,transparent 68%);opacity:.34;animation:d1 32s ease-in-out infinite alternate}
.rt-ft .b2{width:560px;height:560px;right:-140px;top:-40px;background:radial-gradient(circle,#f08a4b 0%,transparent 68%);opacity:.26;animation:d2 38s ease-in-out infinite alternate}
.rt-ft .b3{width:520px;height:520px;left:36%;top:260px;background:radial-gradient(circle,#6cb84a 0%,transparent 68%);opacity:.2;animation:d3 26s ease-in-out infinite alternate}
.rt-ft .b4{width:460px;height:460px;left:12%;top:520px;background:radial-gradient(circle,#e0523a 0%,transparent 68%);opacity:.14;animation:d1 40s ease-in-out infinite alternate-reverse}
.page[data-theme="dark"] .rt-ft .b1{opacity:.2}.page[data-theme="dark"] .rt-ft .b2{opacity:.13}.page[data-theme="dark"] .rt-ft .b3{opacity:.11}.page[data-theme="dark"] .rt-ft .b4{opacity:.09}
@keyframes d1{to{transform:translate(160px,110px) scale(1.12)}}
@keyframes d2{to{transform:translate(-150px,140px) scale(.92)}}
@keyframes d3{to{transform:translate(-120px,-80px) scale(1.18)}}
.rt-ft .halo{text-shadow:0 0 22px var(--bg),0 0 8px var(--bg)}
@keyframes floaty{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-5px)}}
.rt-ft .badge{animation:floaty 7s ease-in-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(15,125,120,.45)}70%{box-shadow:0 0 0 8px rgba(15,125,120,0)}100%{box-shadow:0 0 0 0 rgba(15,125,120,0)}}
.rt-ft .live{animation:pulse 2.2s infinite}
@media (prefers-reduced-motion: reduce){.rt-ft .blob,.rt-ft .badge,.rt-ft .live{animation:none !important}}

.rt-ft .tile{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rt-ft .tile svg{width:24px;height:24px}
/* current page in nav */
.rt-ft .nl-on{color:var(--ink) !important;position:relative}
.rt-ft .nl-on::after{content:"";position:absolute;left:0;right:0;bottom:-25px;height:2px;border-radius:2px;background:var(--accent)}
.rt-ft .resitem.on{background:var(--chip)}
.rt-ft button.nl-on::after{bottom:-17px}
/* controls */
.rt-ft .fchip{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:700 13.5px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}
.rt-ft .fchip:hover{border-color:var(--muted)}
.rt-ft .fchip.on{background:var(--chip);border-color:var(--accent);color:var(--navy)}
.rt-ft .fchip .n{font:600 11.5px "JetBrains Mono",ui-monospace,monospace;color:var(--muted)}
.rt-ft .fchip.on .n{color:var(--navy)}
.rt-ft .stp{width:48px;height:48px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);cursor:pointer;padding:0;transition:background .15s ease}
.rt-ft .stp:hover{background:var(--bg2)}
.rt-ft .fin{box-sizing:border-box;width:100%;min-width:0;height:48px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);font:600 16px "JetBrains Mono",ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums;padding:0 14px 0 30px}
.rt-ft .fin.sfx{padding:0 36px 0 14px}
.rt-ft .fin:hover{border-color:var(--muted)}
.rt-ft .fin:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.rt-ft .fpre{position:absolute;top:0;bottom:0;display:flex;align-items:center;font:600 16px "JetBrains Mono",ui-monospace,monospace;color:var(--muted);pointer-events:none}
.rt-ft .flab{font-size:14px;font-weight:700;color:var(--ink)}
.rt-ft .fhint{font-size:12.5px;font-weight:500;color:var(--muted);line-height:1.45}
.rt-ft .rng{-webkit-appearance:none;appearance:none;display:block;width:100%;height:44px;background:transparent;cursor:pointer;margin:0}
.rt-ft .rng::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--accent) var(--fill),var(--row) var(--fill))}
.rt-ft .rng::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-10px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);box-shadow:0 3px 10px rgba(16,24,40,.25)}
.rt-ft .rng::-moz-range-track{height:8px;border-radius:4px;background:var(--row)}
.rt-ft .rng::-moz-range-progress{height:8px;border-radius:4px;background:var(--accent)}
.rt-ft .rng::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}
.rt-ft .rng:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}
.rt-ft .acc{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border:0;background:none;text-align:left;color:var(--ink);font:800 17px/1.35 "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer}
.rt-ft .acc:hover{color:var(--accent)}
.rt-ft .acc .chev{width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;transition:transform .2s ease}
.rt-ft .plab{display:none;font-weight:800;color:var(--ink)}
.rt-ft .tcard{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.rt-ft .tcard:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--chipline) !important}
.rt-ft .tcard:hover .go{text-decoration:underline}
/* ===== responsive ===== */
@container page (max-width: 1100px){
  .rt-ft .g2h,.rt-ft .g2,.rt-ft .gprice,.rt-ft .gfaq,.rt-ft .fcta,.rt-ft .gcalc,.rt-ft .gtool,.rt-ft .gfeat{grid-template-columns:minmax(0,1fr) !important;gap:32px !important}
  .rt-ft .gprice,.rt-ft .gtool,.rt-ft .gfeat{gap:0 !important}
  .rt-ft .pleft{border-right:0 !important;border-bottom:1px solid var(--row)}
  .rt-ft .stack{flex-direction:column !important;align-items:flex-start !important;gap:20px !important}
  .rt-ft .fcta{padding:56px clamp(24px,6cqi,64px) !important}
  .rt-ft .g4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .rt-ft .g3c{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .rt-ft .tl-line{display:none !important}
}
@container page (max-width: 720px){
  .rt-ft .h1{font-size:38px !important}
  .rt-ft .g3,.rt-ft .g3c,.rt-ft .g4,.rt-ft .g2s,.rt-ft .chk,.rt-ft .res3{grid-template-columns:minmax(0,1fr) !important}
  .rt-ft .trust{flex-direction:column;align-items:flex-start !important}
  .rt-ft .ctas{flex-direction:column !important;align-items:stretch !important;width:100%}
  .rt-ft .ctas>a{justify-content:center;min-height:48px}
  .rt-ft .gprice>div{padding:28px 22px !important;min-width:0}
  .rt-ft .price{font-size:52px !important}
  .rt-ft .bigv{font-size:44px !important}
  .rt-ft .wrap-p{white-space:normal !important}
  .rt-ft .fcta{padding:40px 22px !important}
  .rt-ft .fstack{flex-direction:column !important;align-items:flex-start !important;gap:20px}
  .rt-ft .fnav{flex-wrap:wrap;gap:4px 22px !important}
  .rt-ft .fnav a{min-height:44px;display:inline-flex;align-items:center}
  .rt-ft .fchip{min-height:44px}
  .rt-ft .pad-p{padding:24px 20px !important}
  .rt-ft .hide-p{display:none !important}
  .rt-ft .crow{grid-template-columns:minmax(0,1fr) !important;padding:6px 0}
  .rt-ft .crow.head{display:none !important}
  .rt-ft .plab{display:inline}
  .rt-ft .crow>*{padding:6px 20px !important}
  .rt-ft .crow>:first-child{padding-top:14px !important}
  .rt-ft .crow>:last-child{margin:4px 12px 12px;border-radius:10px;padding:12px 14px !important}
  .rt-ft .acc{font-size:16px}
  .rt-ft .chips-scroll .fchip{padding:0 13px}
  .rt-ft .fcover{min-height:320px !important;padding:28px 20px !important}
  .rt-ft .mockt th,.rt-ft .mockt td{padding-left:5px !important;padding-right:5px !important;font-size:11.5px !important}
  .rt-ft .mockt th:first-child,.rt-ft .mockt td:first-child{padding-left:12px !important}
  .rt-ft .mockt th:last-child,.rt-ft .mockt td:last-child{padding-right:12px !important}
  .rt-ft .rrow{grid-template-columns:minmax(0,1fr) !important;gap:12px !important;padding:18px !important}
}



/* ===== articles ===== */


.rt-ar .m{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}
.rt-ar .good{color:var(--good) !important}.rt-ar .bad{color:var(--leak) !important}
.rt-ar .gridtex::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 30%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 60% 55% at 50% 30%,#000 10%,transparent 75%);pointer-events:none;opacity:.7}
.rt-ar .dots::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
/* hero colour field */
.rt-ar .hbg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.rt-ar .hbg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:260px;background:linear-gradient(to bottom,transparent,var(--bg))}
.rt-ar .blob{position:absolute;border-radius:50%;filter:blur(72px);will-change:transform}
.rt-ar .b1{width:640px;height:640px;left:-160px;top:-180px;background:radial-gradient(circle,#4a9bd1 0%,transparent 68%);opacity:.34;animation:d1 32s ease-in-out infinite alternate}
.rt-ar .b2{width:560px;height:560px;right:-140px;top:-40px;background:radial-gradient(circle,#f08a4b 0%,transparent 68%);opacity:.26;animation:d2 38s ease-in-out infinite alternate}
.rt-ar .b3{width:520px;height:520px;left:36%;top:260px;background:radial-gradient(circle,#6cb84a 0%,transparent 68%);opacity:.2;animation:d3 26s ease-in-out infinite alternate}
.rt-ar .b4{width:460px;height:460px;left:12%;top:520px;background:radial-gradient(circle,#e0523a 0%,transparent 68%);opacity:.14;animation:d1 40s ease-in-out infinite alternate-reverse}
.page[data-theme="dark"] .rt-ar .b1{opacity:.2}.page[data-theme="dark"] .rt-ar .b2{opacity:.13}.page[data-theme="dark"] .rt-ar .b3{opacity:.11}.page[data-theme="dark"] .rt-ar .b4{opacity:.09}
@keyframes d1{to{transform:translate(160px,110px) scale(1.12)}}
@keyframes d2{to{transform:translate(-150px,140px) scale(.92)}}
@keyframes d3{to{transform:translate(-120px,-80px) scale(1.18)}}
.rt-ar .halo{text-shadow:0 0 22px var(--bg),0 0 8px var(--bg)}
@keyframes floaty{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-5px)}}
.rt-ar .badge{animation:floaty 7s ease-in-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(15,125,120,.45)}70%{box-shadow:0 0 0 8px rgba(15,125,120,0)}100%{box-shadow:0 0 0 0 rgba(15,125,120,0)}}
.rt-ar .live{animation:pulse 2.2s infinite}
@media (prefers-reduced-motion: reduce){.rt-ar .blob,.rt-ar .badge,.rt-ar .live{animation:none !important}}

.rt-ar .tile{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rt-ar .tile svg{width:24px;height:24px}
/* current page in nav */
.rt-ar .nl-on{color:var(--ink) !important;position:relative}
.rt-ar .nl-on::after{content:"";position:absolute;left:0;right:0;bottom:-25px;height:2px;border-radius:2px;background:var(--accent)}
.rt-ar .resitem.on{background:var(--chip)}
.rt-ar button.nl-on::after{bottom:-17px}
/* controls */
.rt-ar .fchip{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:700 13.5px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}
.rt-ar .fchip:hover{border-color:var(--muted)}
.rt-ar .fchip.on{background:var(--chip);border-color:var(--accent);color:var(--navy)}
.rt-ar .fchip .n{font:600 11.5px "JetBrains Mono",ui-monospace,monospace;color:var(--muted)}
.rt-ar .fchip.on .n{color:var(--navy)}
.rt-ar .stp{width:48px;height:48px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);cursor:pointer;padding:0;transition:background .15s ease}
.rt-ar .stp:hover{background:var(--bg2)}
.rt-ar .fin{box-sizing:border-box;width:100%;min-width:0;height:48px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);font:600 16px "JetBrains Mono",ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums;padding:0 14px 0 30px}
.rt-ar .fin.sfx{padding:0 36px 0 14px}
.rt-ar .fin:hover{border-color:var(--muted)}
.rt-ar .fin:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.rt-ar .fpre{position:absolute;top:0;bottom:0;display:flex;align-items:center;font:600 16px "JetBrains Mono",ui-monospace,monospace;color:var(--muted);pointer-events:none}
.rt-ar .flab{font-size:14px;font-weight:700;color:var(--ink)}
.rt-ar .fhint{font-size:12.5px;font-weight:500;color:var(--muted);line-height:1.45}
.rt-ar .rng{-webkit-appearance:none;appearance:none;display:block;width:100%;height:44px;background:transparent;cursor:pointer;margin:0}
.rt-ar .rng::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--accent) var(--fill),var(--row) var(--fill))}
.rt-ar .rng::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-10px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);box-shadow:0 3px 10px rgba(16,24,40,.25)}
.rt-ar .rng::-moz-range-track{height:8px;border-radius:4px;background:var(--row)}
.rt-ar .rng::-moz-range-progress{height:8px;border-radius:4px;background:var(--accent)}
.rt-ar .rng::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}
.rt-ar .rng:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}
.rt-ar .acc{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border:0;background:none;text-align:left;color:var(--ink);font:800 17px/1.35 "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer}
.rt-ar .acc:hover{color:var(--accent)}
.rt-ar .acc .chev{width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;transition:transform .2s ease}
.rt-ar .plab{display:none;font-weight:800;color:var(--ink)}
.rt-ar .tcard{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.rt-ar .tcard:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--chipline) !important}
.rt-ar .tcard:hover .go{text-decoration:underline}
/* ===== responsive ===== */
@container page (max-width: 1100px){
  .rt-ar .g2h,.rt-ar .g2,.rt-ar .gprice,.rt-ar .gfaq,.rt-ar .fcta,.rt-ar .gcalc,.rt-ar .gtool,.rt-ar .gfeat{grid-template-columns:minmax(0,1fr) !important;gap:32px !important}
  .rt-ar .gprice,.rt-ar .gtool,.rt-ar .gfeat{gap:0 !important}
  .rt-ar .pleft{border-right:0 !important;border-bottom:1px solid var(--row)}
  .rt-ar .stack{flex-direction:column !important;align-items:flex-start !important;gap:20px !important}
  .rt-ar .fcta{padding:56px clamp(24px,6cqi,64px) !important}
  .rt-ar .g4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .rt-ar .g3c{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .rt-ar .tl-line{display:none !important}
}
@container page (max-width: 720px){
  .rt-ar .h1{font-size:38px !important}
  .rt-ar .g3,.rt-ar .g3c,.rt-ar .g4,.rt-ar .g2s,.rt-ar .chk,.rt-ar .res3{grid-template-columns:minmax(0,1fr) !important}
  .rt-ar .trust{flex-direction:column;align-items:flex-start !important}
  .rt-ar .ctas{flex-direction:column !important;align-items:stretch !important;width:100%}
  .rt-ar .ctas>a{justify-content:center;min-height:48px}
  .rt-ar .gprice>div{padding:28px 22px !important;min-width:0}
  .rt-ar .price{font-size:52px !important}
  .rt-ar .bigv{font-size:44px !important}
  .rt-ar .wrap-p{white-space:normal !important}
  .rt-ar .fcta{padding:40px 22px !important}
  .rt-ar .fstack{flex-direction:column !important;align-items:flex-start !important;gap:20px}
  .rt-ar .fnav{flex-wrap:wrap;gap:4px 22px !important}
  .rt-ar .fnav a{min-height:44px;display:inline-flex;align-items:center}
  .rt-ar .fchip{min-height:44px}
  .rt-ar .pad-p{padding:24px 20px !important}
  .rt-ar .hide-p{display:none !important}
  .rt-ar .crow{grid-template-columns:minmax(0,1fr) !important;padding:6px 0}
  .rt-ar .crow.head{display:none !important}
  .rt-ar .plab{display:inline}
  .rt-ar .crow>*{padding:6px 20px !important}
  .rt-ar .crow>:first-child{padding-top:14px !important}
  .rt-ar .crow>:last-child{margin:4px 12px 12px;border-radius:10px;padding:12px 14px !important}
  .rt-ar .acc{font-size:16px}
  .rt-ar .chips-scroll .fchip{padding:0 13px}
  .rt-ar .fcover{min-height:320px !important;padding:28px 20px !important}
  .rt-ar .mockt th,.rt-ar .mockt td{padding-left:5px !important;padding-right:5px !important;font-size:11.5px !important}
  .rt-ar .mockt th:first-child,.rt-ar .mockt td:first-child{padding-left:12px !important}
  .rt-ar .mockt th:last-child,.rt-ar .mockt td:last-child{padding-right:12px !important}
  .rt-ar .rrow{grid-template-columns:minmax(0,1fr) !important;gap:12px !important;padding:18px !important}
}



/* ===== article reader ===== */
.rd-prog{position:sticky;top:72px;z-index:45;height:3px;background:transparent;margin-bottom:-3px}
.rd-prog span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--good));transform-origin:0 50%;transform:scaleX(0)}
@supports (animation-timeline: scroll()){
  .rd-prog span{animation:rdgrow linear both;animation-timeline:scroll(root)}
}
@keyframes rdgrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rd-dek{font-family:"Source Serif 4",Georgia,"Times New Roman",serif;font-weight:400}
.rd-toc a{display:block;padding:7px 14px;border-left:2px solid var(--line);font-size:14px;font-weight:600;line-height:1.35;color:var(--muted) !important}
.rd-toc a:hover{color:var(--ink) !important;border-left-color:var(--accent)}
.rd-tocm{display:none}
.rd-tocm summary{list-style:none;cursor:pointer}
.rd-tocm summary::-webkit-details-marker{display:none}
.rd-tocm[open] summary svg{transform:rotate(180deg)}
.rd-tocm a{display:flex;align-items:center;min-height:44px;padding:0 10px;font-size:15px;font-weight:600;color:var(--ink) !important;border-top:1px solid var(--row)}
.rd-body{max-width:68ch;font-family:"Source Serif 4",Georgia,"Times New Roman",serif;font-size:19px;line-height:1.72;color:var(--ink)}
.rd-body p{margin:0 0 1.15em}
.rd-body .rd-lede{font-size:21px;line-height:1.6;color:var(--ink)}
.rd-body h2{font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:clamp(24px,2.2cqi,30px);line-height:1.2;letter-spacing:-.025em;font-weight:800;margin:1.9em 0 .6em;scroll-margin-top:110px}
.rd-body h3{font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:19px;font-weight:800;letter-spacing:-.01em;margin:1.4em 0 .4em}
.rd-body ul{margin:0 0 1.2em;padding-left:1.2em}
.rd-body li{margin:.35em 0;padding-left:.2em}
.rd-body li::marker{color:var(--accent)}
.rd-body a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.rd-body em{font-style:italic}
.rd-kicker{display:block;font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.rd-formula{margin:1.4em 0 1.6em;padding:22px 24px;border-radius:16px;background:var(--chip);border:1px solid var(--chipline);scroll-margin-top:110px}
.rd-formula .rd-eq{margin:.35em 0 .2em;font-size:clamp(19px,2cqi,24px);font-weight:700;color:var(--navy);line-height:1.35}
.rd-small{font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:14px !important;line-height:1.55;color:var(--muted);margin:.4em 0 0 !important}
.rd-table{margin:1.2em 0 1.5em;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.rd-table table{width:100%;border-collapse:collapse;font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:14.5px;line-height:1.45}
.rd-table th{text-align:left;padding:12px 14px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg2);border-bottom:1px solid var(--line)}
.rd-table td{padding:12px 14px;border-top:1px solid var(--row);vertical-align:top}
.rd-table tr:first-child td{border-top:0}
.rd-strong{font-weight:800;color:var(--navy)}
.rd-embed{display:flex !important;align-items:center;gap:16px;margin:1.6em 0;padding:18px 20px;border-radius:16px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-s);text-decoration:none !important;font-family:"Plus Jakarta Sans",system-ui,sans-serif;line-height:1.4;transition:border-color .15s,transform .15s}
.rd-embed:hover{border-color:var(--accent);transform:translateY(-1px)}
.rd-take{margin:2em 0 0;padding:24px 26px;border-radius:18px;background:var(--goodbg);border:1px solid var(--goodline);scroll-margin-top:110px}
.rd-take .rd-kicker{color:var(--good);margin-bottom:6px}
.rd-take ul{margin:0;font-size:17.5px}
.rd-take li::marker{color:var(--good)}
.rd-endcta{margin-top:48px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border-radius:20px;background:var(--band)}
.rd-rel{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:16px;border:1px solid var(--line);background:var(--surface)}
.rd-rel h3{margin:0;font-size:18px;line-height:1.3;font-weight:800;color:var(--ink)}
.rd-rel p{margin:0;font-size:14.5px;line-height:1.5;color:var(--muted)}
.rd-chip{align-self:flex-start;font-size:12px;font-weight:700;color:var(--navy);background:var(--chip);padding:3px 10px;border-radius:999px}
.rd-plan{align-self:flex-start;font-size:11.5px;font-weight:700;color:var(--muted);border:1px dashed var(--line);padding:2px 8px;border-radius:6px;margin-top:-4px}
@container page (max-width: 1100px){
  .rd-grid{grid-template-columns:minmax(0,1fr) !important;gap:0 !important}
  .rd-toc{display:none !important}
  .rd-tocm{display:block}
  .rd-body{max-width:none}
  .rd-relgrid{grid-template-columns:minmax(0,1fr) !important}
}
@container page (max-width: 720px){
  .rd-prog{top:64px}
  .rd-body{font-size:18px;line-height:1.68}
  .rd-body .rd-lede{font-size:19px}
  .rd-endcta{flex-direction:column;align-items:stretch}
  .rd-endcta .cta{width:100%}
  .rd-embed{align-items:flex-start}
  .rd-take{padding:20px}
  .rd-formula{padding:18px}
  .rd-table table{min-width:560px;font-size:14px}
  .rd-table td,.rd-table th{padding:10px 12px}
}

#app{min-height:100vh;display:flex;flex-direction:column}
