/* ============================================================
   redesign.css — body.rd component kit. Inert on any page whose
   <body> does not carry class="rd" (old pages 100% unaffected).
   Ported from docs/superpowers/reference/homepage-mockup-v4.html
   (mockup's <style> block), mechanically transformed per plan
   Task 9: selectors prefixed body.rd, components renamed with the
   rd- prefix, h1/h2/h3/section element selectors converted to
   classes, nav/footer overrides restyle the EXISTING shared
   includes instead of new markup.
   Tokens (--blue-*, --navy-*, --ink, --muted, --line, --surface,
   --cta-*, --r-*, --sh-*, --font-display, --font-body) come from
   css/osmos-tokens.css, which must load BEFORE this file.
   ============================================================ */

body.rd{margin:0;background:#fff;color:var(--ink);font:400 16px/1.65 var(--font-body)}
body.rd *{box-sizing:border-box}
body.rd .container{max-width:1200px;margin:0 auto;padding:0 24px}
body.rd .rd-section{padding:96px 0}
@media(max-width:768px){body.rd .rd-section,body.rd .rd-final{padding:56px 0}}
body.rd .rd-h2{font:700 40px/1.15 var(--font-display);letter-spacing:-.015em;color:var(--navy-900);margin:0 0 14px;text-wrap:balance}
@media(max-width:768px){body.rd .rd-h2{font-size:30px}}
body.rd .rd-kick{font:600 13px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-700);margin:0 0 12px}
body.rd .rd-lede{font-size:17.5px;color:var(--muted);max-width:60ch;margin:0 0 8px}
body.rd .rd-center{text-align:center}
body.rd .rd-center .rd-lede{margin-left:auto;margin-right:auto}

body.rd .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 16px/1 var(--font-body);border-radius:var(--r-pill);padding:16px 32px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}
body.rd .btn:focus-visible{outline:3px solid var(--blue-500);outline-offset:2px}
body.rd .rd-btn{background:var(--cta-500);color:#fff}
body.rd .rd-btn:hover{background:var(--cta-600);transform:none}
body.rd .rd-btn-ghost-inv{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
body.rd .rd-btn-ghost-inv:hover{border-color:#fff;background:rgba(255,255,255,.08);transform:none}
body.rd .rd-btn-sm{padding:11px 22px;font-size:14.5px}
body.rd .rd-txtlink{font:600 16px var(--font-body);color:var(--blue-700);text-decoration:none;border-bottom:2px solid var(--blue-100);transition:border-color .2s}
body.rd .rd-txtlink:hover{border-color:var(--blue-500)}

/* ---- light outline button (secondary on light grounds) ---- */
body.rd .rd-btn-outline{background:transparent;color:var(--blue-700);border-color:var(--blue-700)}
body.rd .rd-btn-outline:hover{background:var(--blue-050);transform:none}

/* ---- shared navbar reskin (only on body.rd pages) ---- */
body.rd nav.navbar{position:sticky !important;top:0;z-index:1030;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:8px 0}
body.rd nav.navbar .navbar-nav .nav-item>.nav-link{font:600 14px/1.4 var(--font-body);color:var(--ink);transform:none;white-space:nowrap}
body.rd nav.navbar .navbar-nav .nav-item>.nav-link:hover{color:var(--blue-700);transform:none}
body.rd nav.navbar .navbar-brand img{height:42px;width:auto !important}
body.rd nav.navbar .nav-item-btn .btn{background:var(--cta-500);color:#fff;border-radius:var(--r-pill);font:600 14px/1 var(--font-body);padding:11px 22px;min-width:0;white-space:nowrap}
body.rd nav.navbar .nav-item-btn .btn:hover{background:var(--cta-600);transform:none}
/* burger visibility: legacy paints toggler border + bars #fff ((0,2,0) base;
   (0,4,0) .gradient-lightblue/.dark-nav :not(.fixed-top) variants). The doubled
   .navbar-toggler class lifts us to (0,4,2) so dark bars win at any scroll. */
body.rd nav.navbar .navbar-toggler.navbar-toggler{border-color:var(--line)}
body.rd nav.navbar .navbar-toggler .burger-icon{background-color:var(--navy-900)}

/* ===== HERO ===== */
body.rd .rd-hero{position:relative;background:linear-gradient(180deg,var(--blue-050) 0%,#fff 78%);padding:84px 0 72px;overflow:hidden}
body.rd .rd-hero .rd-in{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);gap:56px;align-items:center}
@media(max-width:992px){body.rd .rd-hero .rd-in{grid-template-columns:1fr;gap:40px}body.rd .rd-hero{padding:56px 0}}
body.rd .rd-h1{font:700 56px/1.08 var(--font-display);letter-spacing:-.02em;color:var(--navy-900);margin:0 0 18px;text-wrap:balance}
@media(max-width:768px){body.rd .rd-h1{font-size:37px}}
body.rd .rd-hero .rd-sub{font-size:18px;color:var(--muted);max-width:46ch;margin:0 0 30px}
body.rd .rd-hero .rd-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:14px}
body.rd .rd-demo-link{cursor:pointer}
body.rd .rd-hero .rd-fine{font-size:13.5px;color:var(--muted)}
body.rd .rd-hero .rd-fine b{color:var(--ink)}
body.rd .rd-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
body.rd .rd-stat{display:inline-flex;flex-direction:column;gap:2px;padding:12px 18px;border-left:3px solid var(--cta-500);background:#fff;border-radius:0 var(--r-sm) var(--r-sm) 0;box-shadow:var(--sh-sm)}
body.rd .rd-stat b{font:700 22px/1 var(--font-display);color:var(--navy-900)}
body.rd .rd-stat span{font:400 12.5px var(--font-body);color:var(--muted)}
body.rd .rd-frame{border-radius:var(--r-lg);background:var(--navy-900);box-shadow:var(--sh-lg);overflow:hidden;border:1px solid var(--line)}
body.rd .rd-frame .bar{display:flex;align-items:center;gap:6px;padding:11px 16px;background:var(--navy-900)}
body.rd .rd-frame .bar i{width:10px;height:10px;border-radius:50%;display:inline-block}
body.rd .rd-frame .bar i:nth-child(1){background:#FF5F57}
body.rd .rd-frame .bar i:nth-child(2){background:#FEBC2E}
body.rd .rd-frame .bar i:nth-child(3){background:#28C840}
body.rd .rd-frame .bar span{font:400 11.5px Consolas,monospace;color:rgba(255,255,255,.55);margin-left:8px}
body.rd .rd-frame img{display:block;width:100%;height:auto}
body.rd .rd-frame .play{position:relative}
body.rd .rd-frame .play::after{content:"▶  Product tour · 40s";position:absolute;left:16px;bottom:14px;background:rgba(10,34,51,.85);color:#fff;font:600 12.5px var(--font-body);padding:9px 15px;border-radius:var(--r-pill)}

/* hero fx — effect B: dot grid + cursor spotlight (decorative layer) */
body.rd .rd-hero .fx{position:absolute;inset:0;pointer-events:none}
body.rd .rd-hero .rd-in{position:relative}
body.rd .rd-hero .dots{position:absolute;inset:0;background-image:radial-gradient(circle,#B7D6EE 1.15px,transparent 1.15px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 92% 88% at 55% 38%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 92% 88% at 55% 38%,#000 30%,transparent 100%)}
body.rd .rd-hero .spot{position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(0,153,255,.14),transparent 65%);transform:translate(-50%,-50%);left:70%;top:42%;transition:left .35s ease-out,top .35s ease-out}

/* ---- navy hero variant (money pages keep Gen-B depth) ---- */
body.rd .rd-hero.rd-hero-navy{background:linear-gradient(160deg,var(--navy-800),var(--navy-900))}
body.rd .rd-hero-navy .rd-h1{color:#fff}
body.rd .rd-hero-navy .rd-sub{color:rgba(255,255,255,.78)}
body.rd .rd-hero-navy .rd-kick{color:#7CC7FF}
body.rd .rd-hero-navy .rd-fine{color:rgba(255,255,255,.65)}
body.rd .rd-hero-navy .rd-fine b{color:#fff}
body.rd .rd-hero-navy .dots{background-image:radial-gradient(circle,rgba(255,255,255,.16) 1.15px,transparent 1.15px)}
body.rd .rd-hero-navy .spot{background:radial-gradient(circle,rgba(0,153,255,.18),transparent 65%)}
body.rd .rd-hero-navy .rd-stat{background:rgba(255,255,255,.06);border-left-color:var(--cta-500)}
body.rd .rd-hero-navy .rd-stat b{color:#fff}
body.rd .rd-hero-navy .rd-stat span{color:rgba(255,255,255,.65)}
body.rd .rd-hero-navy .rd-txtlink{color:#7CC7FF;border-bottom-color:rgba(124,199,255,.35)}
body.rd .rd-hero-navy .rd-txtlink:hover{border-bottom-color:#7CC7FF}

/* ===== PROOF BAND ===== */
body.rd .rd-proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:26px 0}
body.rd .rd-proof .rd-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 44px}
body.rd .rd-proof .lab{font:600 12px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
body.rd .rd-plogo{font:700 17px var(--font-display);color:#8FA3B3;letter-spacing:.01em;white-space:nowrap}
body.rd .rd-rating{display:inline-flex;align-items:center;gap:8px;font:600 13.5px var(--font-body);color:var(--navy-900);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 15px}
body.rd .rd-rating .strs{color:var(--cta-500);letter-spacing:1px}
/* legacy style.css has a bare global img{width:100%} with no height:auto —
   unscoped, it stretches proof logos into full-width bands. */
body.rd .rd-proof img{width:auto;height:32px;max-width:150px;object-fit:contain}

/* ===== VALUE CARDS ===== */
body.rd .rd-surface{background:var(--surface)}
body.rd .rd-cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
@media(max-width:992px){body.rd .rd-cards3{grid-template-columns:1fr}}
body.rd .rd-vcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:28px;box-shadow:var(--sh-sm);transition:box-shadow .2s,transform .2s}
body.rd .rd-vcard:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
body.rd .rd-vcard .ic{width:46px;height:46px;border-radius:11px;background:var(--blue-050);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
body.rd .rd-vcard .ic svg{width:23px;height:23px;stroke:var(--blue-700);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* legacy style.css has a bare global img{width:100%} with no height:auto — unscoped,
   it stretches ported <img> icons (the kit's .ic tile only styled svg, not img):
   tile icons render undistorted at 26px inside the 46px tile; loose inline-row
   icons (e.g. the Industries list bullets) keep their authored 22px and just get
   the legacy stretch neutralized. */
body.rd .rd-vcard .ic img{width:26px;height:26px;object-fit:contain}
body.rd .rd-vcard img{width:22px;height:22px;object-fit:contain}
body.rd .rd-vcard .rd-h3{font:700 19px/1.3 var(--font-display);color:var(--navy-900);margin:0 0 8px}
body.rd .rd-vcard p{font-size:15px;color:var(--muted);margin:0}
/* resource-card link — replaces the plain-text link + raw external-link glyph
   (which also wrapped awkwardly) with the kit's text-link treatment. */
body.rd .rd-vcard a.rd-cardlink{display:inline-block;margin-top:10px;font:600 14.5px var(--font-body);color:var(--blue-700);text-decoration:none;border-bottom:2px solid var(--blue-100)}
body.rd .rd-vcard a.rd-cardlink:hover{border-color:var(--blue-500)}

/* ===== FEATURES ===== */
body.rd .rd-feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:44px 0}
body.rd .rd-feature:first-of-type{padding-top:0}
body.rd .rd-feature:last-of-type{padding-bottom:0}
@media(max-width:992px){body.rd .rd-feature{grid-template-columns:1fr;gap:28px;padding:32px 0}}
body.rd .rd-feature.flip .rd-media{order:2}
@media(max-width:992px){body.rd .rd-feature.flip .rd-media{order:0}}
body.rd .rd-feature .rd-h2{font:700 30px/1.2 var(--font-display);letter-spacing:-.01em;color:var(--navy-900);margin:0 0 12px;text-wrap:balance}
body.rd .rd-feature p{color:var(--muted);font-size:16px;max-width:52ch}
body.rd .rd-checks{list-style:none;padding:0;margin:18px 0 22px}
body.rd .rd-checks li{padding-left:30px;position:relative;margin-bottom:10px;font-size:15.5px}
body.rd .rd-checks li::before{content:"";position:absolute;left:0;top:3px;width:19px;height:19px;border-radius:50%;background:var(--blue-050);border:1.5px solid var(--blue-500)}
body.rd .rd-checks li::after{content:"";position:absolute;left:5px;top:8px;width:9px;height:5px;border-left:2px solid var(--blue-700);border-bottom:2px solid var(--blue-700);transform:rotate(-45deg)}
/* uniform presentation frame — the section mixes stock photos + illustrations
   at varying native aspect ratios; force one consistent shape/size per the
   2026-07 review (real imagery comes later). rd-frame (hero product shot) is
   a separate component and is NOT touched here. */
body.rd .rd-media .rd-shot{border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--sh-md);overflow:hidden;background:#fff;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
body.rd .rd-media .rd-shot img{display:block;width:100%;height:100%;object-fit:cover}
body.rd .rd-media .rd-shot lottie-player{width:100%;height:100%}
/* modifier: use when object-fit:cover would crop meaningful illustration
   content (e.g. an illustration whose composition reaches close to the
   top/side edges) — falls back to letterboxed contain instead of a crop. */
body.rd .rd-media .rd-shot.rd-shot-contain img{object-fit:contain}
body.rd .rd-media .tag{display:inline-flex;margin-top:12px;font:600 11.5px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 12px}

/* ===== HOW IT WORKS (navy) ===== */
body.rd .rd-navy{background:var(--navy-800);color:#fff}
body.rd .rd-navy .rd-h2{color:#fff}
body.rd .rd-navy .rd-kick{color:#7CC7FF}
body.rd .rd-navy .rd-lede{color:rgba(255,255,255,.75)}
body.rd .rd-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}
@media(max-width:992px){body.rd .rd-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:576px){body.rd .rd-steps{grid-template-columns:1fr}}
body.rd .rd-step{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:var(--r-md);padding:24px}
body.rd .rd-step .no{font:700 28px var(--font-display);color:var(--cta-500)}
body.rd .rd-step .rd-h3{font:700 17.5px var(--font-display);color:#fff;margin:10px 0 6px}
body.rd .rd-step p{font-size:14px;color:rgba(255,255,255,.72);margin:0}

/* ===== INTEGRATIONS ===== */
body.rd .rd-intg{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:38px}
body.rd .rd-ichip{font:600 14.5px var(--font-body);color:var(--navy-900);background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:11px 20px;box-shadow:var(--sh-sm)}
body.rd .rd-ichip.more{color:var(--blue-700);background:var(--blue-050);border-color:var(--blue-100)}

/* ===== TESTIMONIALS ===== */
body.rd .rd-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
@media(max-width:992px){body.rd .rd-quotes{grid-template-columns:1fr}}
body.rd .rd-quote{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:26px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;gap:14px}
body.rd .rd-quote .strs{color:var(--cta-500);font-size:15px;letter-spacing:2px}
body.rd .rd-quote p{font-size:15px;color:var(--ink);margin:0;flex:1}
body.rd .rd-quote .who{display:flex;align-items:center;gap:12px}
body.rd .rd-quote .av{width:40px;height:40px;border-radius:50%;background:var(--blue-100);color:var(--blue-700);display:flex;align-items:center;justify-content:center;font:700 15px var(--font-display);flex-shrink:0}
body.rd .rd-quote .who b{font:600 14.5px var(--font-body);color:var(--navy-900);display:block}
body.rd .rd-quote .who span{font-size:12.5px;color:var(--muted)}

/* ===== FAQ ===== */
body.rd .rd-faqwrap{max-width:760px;margin:40px auto 0}
body.rd details.rd-faq{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px;background:#fff;overflow:hidden}
body.rd details.rd-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer;padding:17px 22px;font:600 16px/1.4 var(--font-body);color:var(--navy-900)}
body.rd details.rd-faq summary::-webkit-details-marker{display:none}
body.rd details.rd-faq summary::after{content:"+";font:500 22px/1 var(--font-display);color:var(--blue-700);flex-shrink:0}
body.rd details.rd-faq[open] summary::after{content:"–"}
body.rd details.rd-faq .a{padding:0 22px 18px;color:var(--muted);font-size:15px;max-width:66ch}

/* ===== FINAL CTA ===== */
body.rd .rd-final{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy-800),var(--navy-900));color:#fff;text-align:center;padding:96px 0}
body.rd .rd-final canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
body.rd .rd-final .container{position:relative}
body.rd .rd-final .rd-h2{color:#fff;font-size:44px}
@media(max-width:768px){body.rd .rd-final .rd-h2{font-size:32px}}
body.rd .rd-final .rd-lede{color:rgba(255,255,255,.75);margin:0 auto 30px}
body.rd .rd-final .rd-ctas{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 22px}
body.rd .rd-final .rd-fine{margin-top:16px;font-size:13.5px;color:rgba(255,255,255,.6)}

/* ---- shared footer reskin (content untouched) ---- */
body.rd footer.footer-section{background:var(--navy-900);color:rgba(255,255,255,.72);font-family:var(--font-body)}
body.rd footer.footer-section .title{font:600 12.5px/1.4 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#fff}
body.rd footer.footer-section a{color:rgba(255,255,255,.72)}
body.rd footer.footer-section a:hover{color:#fff}

/* legacy .highlight spans inside verbatim-ported H2s: cyan is retired as a UI accent;
   blue-700 passes AA on light, light-blue on navy bands */
body.rd .highlight{color:var(--blue-700)}
body.rd .rd-navy .highlight,body.rd .rd-final .highlight,body.rd .rd-hero-navy .highlight{color:#7CC7FF}

/* ---- pricing components ---- */
body.rd .rd-cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
@media(max-width:1100px){body.rd .rd-cards4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:576px){body.rd .rd-cards4{grid-template-columns:1fr}}
body.rd .rd-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:44px;align-items:stretch}
body.rd .rd-plan{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:28px;box-shadow:var(--sh-sm);text-align:left}
body.rd .rd-plan.featured{border:2px solid var(--cta-500);box-shadow:var(--sh-md)}
body.rd .rd-plan .badge-featured{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--cta-500);color:#fff;font:600 12px/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-pill);padding:7px 14px;white-space:nowrap}
body.rd .rd-plan .name{font:700 19px/1.3 var(--font-display);color:var(--navy-900);margin:0 0 4px}
body.rd .rd-plan .for{font-size:13.5px;color:var(--muted);margin:0 0 16px}
body.rd .rd-plan .price{font:700 40px/1 var(--font-display);color:var(--navy-900);letter-spacing:-.02em}
body.rd .rd-plan .price .period{font:400 14px var(--font-body);color:var(--muted);letter-spacing:0}
body.rd .rd-plan ul{list-style:none;padding:0;margin:18px 0 22px;flex:1}
body.rd .rd-plan ul li{padding-left:26px;position:relative;margin-bottom:9px;font-size:14.5px;color:var(--ink)}
body.rd .rd-plan ul li::before{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background:var(--blue-050);border:1.5px solid var(--blue-500)}
body.rd .rd-plan ul li::after{content:"";position:absolute;left:4px;top:8px;width:8px;height:4px;border-left:2px solid var(--blue-700);border-bottom:2px solid var(--blue-700);transform:rotate(-45deg)}
body.rd .rd-plan .btn{width:100%;justify-content:center}
body.rd .rd-plan .fine{font-size:12.5px;color:var(--muted);margin-top:10px;text-align:center}

/* ---- billing toggle (tokenized version of the es/precios custom switch) ---- */
body.rd .rd-billing{display:flex;align-items:center;justify-content:center;gap:14px;margin:26px 0 0;font:600 15px var(--font-body);color:var(--muted)}
body.rd .rd-billing .lbl.active{color:var(--navy-900)}
body.rd .rd-switch{position:relative;width:52px;height:28px;flex-shrink:0;cursor:pointer}
body.rd .rd-switch input{opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
body.rd .rd-switch .track{position:absolute;inset:0;background:var(--line);border-radius:var(--r-pill);transition:background .2s;pointer-events:none}
body.rd .rd-switch input:checked + .track{background:var(--cta-500)}
body.rd .rd-switch .track::before{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:var(--sh-sm);transition:transform .2s}
body.rd .rd-switch input:checked + .track::before{transform:translateX(24px)}
body.rd .rd-switch input:focus-visible + .track{outline:3px solid var(--blue-500);outline-offset:2px}
body.rd .rd-save{background:var(--cta-050);color:var(--cta-700);font:600 12.5px/1 var(--font-body);border-radius:var(--r-pill);padding:6px 12px}

/* ---- comparison table reskin (pricing + money pages) ---- */
body.rd .rd-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm);margin-top:34px}
body.rd .rd-tablewrap table{border-collapse:collapse;width:100%;font:400 14.5px var(--font-body);color:var(--ink)}
body.rd .rd-tablewrap th{font:600 12px/1.4 var(--font-body);letter-spacing:.07em;text-transform:uppercase;text-align:left;color:#fff;background:var(--navy-800);padding:12px 16px;white-space:nowrap}
body.rd .rd-tablewrap td{padding:11px 16px;border-bottom:1px solid var(--line);vertical-align:top}
body.rd .rd-tablewrap tr:last-child td{border-bottom:none}
body.rd .rd-tablewrap .ok{color:var(--ok);font-weight:600}
body.rd .rd-tablewrap .no{color:var(--danger);font-weight:600}

/* scroll reveals — classes added BY JS; content visible without JS */
html.anim-on .rv{opacity:0;transform:translateY(22px);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)}
html.anim-on .rv.vis{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  body.rd *{transition:none !important;animation:none !important}
  html.anim-on .rv{opacity:1;transform:none}
}
