/* rd-2026 shared motion primitives */
.rd-pre{opacity:0;transform:translateY(14px)}
.rd-pre.rd-in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.22,1,.36,1) calc(var(--rd-i,0)*70ms),transform .7s cubic-bezier(.22,1,.36,1) calc(var(--rd-i,0)*70ms)}
@media (prefers-reduced-motion:reduce){.rd-pre{opacity:1!important;transform:none!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* msc-exosome.com redesign preview 2026-10-18. Visual layer only: copy, headings, schema and links unchanged. */
html[data-bx]{--rd-ink:#0A1630;--rd-ink-2:#1B2A4A;--rd-muted:#46516A;--rd-paper:#FBF9F4;--rd-paper-2:#F3EEE3;--rd-line:#E2DCCF;--rd-indigo:#3D418F;--rd-indigo-2:#4B4FA8;--rd-lilac:#C9CBF5;--rd-gold:#B08D57;--rd-gold-ink:#6E521F;--rd-night:#070F22;--rd-r:18px}
html[data-bx] body{background:var(--rd-paper)!important;color:var(--rd-ink)!important;font-size:17px;line-height:1.65}
html[data-bx] h1,html[data-bx] h2,html[data-bx] h3{color:inherit;text-wrap:balance}
html[data-bx] main p{text-wrap:pretty}
/* Header */
html[data-bx] header.top{position:sticky;top:0;z-index:30;max-width:none!important;margin:0!important;padding:14px max(20px,calc((100vw - 1180px)/2))!important;background:rgba(251,249,244,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
html.rd-scrolled[data-bx] header.top{border-bottom-color:var(--rd-line);box-shadow:0 6px 24px rgba(10,22,48,.06)}
html[data-bx] header.top .brand{font-family:var(--bx-font-display)!important;font-weight:600!important;font-size:1.2rem!important;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--rd-ink)!important}
html[data-bx] header.top .brand::before{content:"";width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0 12%,var(--rd-lilac) 13% 34%,var(--rd-indigo) 35% 70%,var(--rd-gold) 71% 100%);box-shadow:0 0 0 3px rgba(61,65,143,.12)}
html[data-bx] header.top nav{display:flex;gap:4px}
html[data-bx] header.top nav a{margin:0!important;padding:10px 14px;border-radius:999px;color:var(--rd-ink-2)!important;text-decoration:none;font-weight:500;font-size:.95rem!important;min-height:44px;display:inline-flex;align-items:center;transition:background .2s,color .2s}
html[data-bx] header.top nav a:hover{background:rgba(61,65,143,.08);color:var(--rd-indigo)!important}
/* Hero */
html[data-bx] .bx-hero{background:var(--rd-night)!important;border-bottom:0!important}
html[data-bx] .bx-hero .bx-hero-media{background:var(--rd-night) image-set(url(/rd-2026/img/msc-exosome-abstract-indigo-gold-spheres-1600.avif) type("image/avif"),url(/rd-2026/img/msc-exosome-abstract-indigo-gold-spheres-1600.webp) type("image/webp")) 70% 50%/cover no-repeat!important}
html[data-bx] .bx-hero .bx-hero-media :is(picture,video){display:none!important}
html[data-bx] .bx-hero .bx-hero-media::after{background:radial-gradient(120% 90% at 85% 40%,rgba(7,15,34,0) 0%,rgba(7,15,34,.55) 55%,rgba(7,15,34,.92) 100%),linear-gradient(90deg,rgba(7,15,34,.94) 0%,rgba(7,15,34,.6) 55%,rgba(7,15,34,.25) 100%)!important}
html[data-bx] .bx-hero::before{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--rd-gold),transparent);z-index:1}
html[data-bx] .bx-hero .hero-in{max-width:1180px!important;padding:clamp(48px,8vw,104px) 24px clamp(56px,8vw,112px)!important;gap:clamp(28px,5vw,64px)!important}
html[data-bx] .bx-hero .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem!important;letter-spacing:.16em!important;color:#D9BE8A!important}
html[data-bx] .bx-hero .eyebrow::before{content:"";width:28px;height:1px;background:#D9BE8A}
html[data-bx] .bx-hero h1{font-size:clamp(2.3rem,5.2vw,4rem)!important;line-height:1.04!important;font-weight:500!important;letter-spacing:-.02em!important;margin:.25em 0 .4em!important;max-width:14ch}
html[data-bx] .bx-hero p.lede{font-size:clamp(1.05rem,1.4vw,1.2rem)!important;line-height:1.6;max-width:34em;color:#DCE2F0!important}
html[data-bx] .bx-hero ul{list-style:none;padding:0!important;margin:1.4em 0 1.8em!important;display:grid;gap:10px}
html[data-bx] .bx-hero ul li{position:relative;padding-left:30px;color:#E8ECF6!important}
html[data-bx] .bx-hero ul li::before{content:"";position:absolute;left:0;top:.45em;width:16px;height:16px;border-radius:50%;border:1.5px solid #D9BE8A;background:radial-gradient(circle,#D9BE8A 0 3px,transparent 4px)}
html[data-bx] .bx-hero a.cta{background:#D9BE8A!important;color:#0A1630!important;border-radius:999px!important;padding:14px 26px!important;font-weight:600!important;letter-spacing:.01em!important;box-shadow:0 10px 30px rgba(217,190,138,.25)!important}
html[data-bx] .bx-hero a.cta:hover{filter:none;background:#E6CFA2!important}
/* Lead form as frosted card */
html[data-bx] form.lead{border-radius:var(--rd-r)!important;padding:clamp(22px,3vw,32px)!important;background:rgba(251,249,244,.97)!important;color:var(--rd-ink)!important;box-shadow:0 30px 80px rgba(0,0,0,.35),0 0 0 1px rgba(217,190,138,.35)!important;position:relative}
html[data-bx] form.lead::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--rd-indigo),var(--rd-gold))}
html[data-bx] form.lead .form-title{font-size:1.5rem!important;font-weight:600}
html[data-bx] form.lead :is(input,select){border:1px solid #8C93A6!important;border-radius:12px!important;background:#fff!important;transition:border-color .2s,box-shadow .2s}
html[data-bx] form.lead :is(input,select):focus{border-color:var(--rd-indigo)!important;box-shadow:0 0 0 4px rgba(61,65,143,.14)}
html[data-bx] form.lead .c input{width:22px!important;height:22px!important;accent-color:var(--rd-indigo)}
html[data-bx] form.lead button{background:var(--rd-indigo)!important;border-radius:999px!important;font-weight:600!important;letter-spacing:.01em;transition:background .2s,transform .2s}
html[data-bx] form.lead button:hover{background:#2E3170!important;transform:translateY(-1px)}
/* Fine print: 10px, AA contrast */
html[data-bx] :is(.fine,.src,.footer-note,figcaption,footer .fl,footer p,.disclaimer-box.footer p){font-size:10px!important;line-height:1.6!important}
html[data-bx] form.lead .fine{color:#3E4659!important}
html[data-bx] .src{color:#3E4659!important}
/* Sections */
html[data-bx] main>section.wrap,html[data-bx] main section>.wrap{max-width:1180px!important;padding:clamp(56px,8vw,104px) 24px!important}
html[data-bx] main>section.wrap{border-top:0!important}
html[data-bx] main h2{font-size:clamp(1.7rem,3.4vw,2.6rem)!important;line-height:1.12!important;font-weight:500!important;letter-spacing:-.015em!important;margin-bottom:.6em!important;color:var(--rd-ink)!important}
html[data-bx] main section>h2::before,html[data-bx] main .wrap>h2::before{content:"";display:block;width:40px;height:2px;background:var(--rd-gold);margin-bottom:18px}
html[data-bx] main .wrap>p{max-width:70ch;color:#24304A}
html[data-bx] .alt{background:linear-gradient(180deg,var(--rd-paper-2),var(--rd-paper))!important}
html[data-bx] .grid{gap:20px!important}
html[data-bx] .card{background:#fff!important;border:1px solid var(--rd-line)!important;border-radius:var(--rd-r)!important;padding:26px!important;box-shadow:0 1px 2px rgba(10,22,48,.04);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s;position:relative;overflow:hidden}
html[data-bx] .card::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--rd-indigo),var(--rd-gold));opacity:0;transition:opacity .35s}
html[data-bx] .card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(10,22,48,.09);border-color:#D2CAB8!important}
html[data-bx] .card:hover::after{opacity:1}
html[data-bx] .card h3,html[data-bx] .pat h2{font-size:1.2rem!important;font-weight:600!important;line-height:1.3!important;color:var(--rd-ink)!important}
html[data-bx] .notice{border:1px solid #E4D6B8!important;border-left:4px solid var(--rd-gold)!important;background:#FBF4E6!important;border-radius:14px!important;padding:18px 22px!important}
html[data-bx] .badge{font-size:.78rem!important;letter-spacing:.02em;padding:4px 10px!important}
html[data-bx] .badge.g{background:#1F5B3A!important;color:#fff!important}
html[data-bx] .badge.p{background:#E6E8F7!important;color:#272A66!important}
/* Image strip becomes a gallery band */
html[data-bx] .bx-strip{background:var(--rd-night)!important;border:0!important;padding:clamp(40px,6vw,72px) 0!important}
html[data-bx] .bx-card{border:0!important;border-radius:16px!important;box-shadow:0 20px 50px rgba(0,0,0,.35)!important}
html[data-bx] .bx-card img{transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
html[data-bx] .bx-card:hover img{transform:scale(1.04)}
/* FAQ */
html[data-bx] details{border:1px solid var(--rd-line)!important;border-radius:14px;background:#fff;padding:0!important;margin:0 0 12px;transition:box-shadow .25s}
html[data-bx] details[open]{box-shadow:0 12px 30px rgba(10,22,48,.07)}
html[data-bx] summary{list-style:none;padding:18px 56px 18px 22px;position:relative;min-height:44px;font-family:var(--bx-font-display);font-weight:600!important;font-size:1.1rem!important}
html[data-bx] summary::-webkit-details-marker{display:none}
html[data-bx] summary::after{content:"";position:absolute;right:22px;top:50%;width:14px;height:14px;margin-top:-7px;background:linear-gradient(var(--rd-indigo),var(--rd-indigo)) center/14px 2px no-repeat,linear-gradient(var(--rd-indigo),var(--rd-indigo)) center/2px 14px no-repeat;transition:transform .3s}
html[data-bx] details[open] summary::after{transform:rotate(45deg)}
html[data-bx] details>p{padding:0 22px 18px;margin:0}
/* Footer */
html[data-bx] body>footer:not(.site-footer){background:var(--rd-night)!important;color:#D5DAE6!important;position:relative}
html[data-bx] body>footer:not(.site-footer)::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--rd-gold),transparent)}
html[data-bx] body>footer .wrap{max-width:1180px!important;padding:48px 24px!important}
html[data-bx] body>footer a{color:#E6D3AE!important}
html[data-bx] footer .fl{display:flex;flex-wrap:wrap;gap:4px 18px;margin:16px 0}
html[data-bx] footer .fl a{margin:0!important;min-height:24px;display:inline-flex!important;align-items:center}
/* Inner pages (css/style.css template) */
html[data-bx] .draft-banner{background:var(--rd-night)!important;color:#E9EDF6!important;letter-spacing:.12em!important}
html[data-bx] header.site-header{background:rgba(251,249,244,.9)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
html[data-bx] header.site-header .brand{font-family:var(--bx-font-display)!important;font-weight:600!important}
html[data-bx] nav.primary-nav a{min-height:36px;display:inline-flex;align-items:center;border:1px solid transparent}
html[data-bx] nav.primary-nav a.active{background:var(--rd-ink)!important;color:#fff!important}
html[data-bx] nav.primary-nav a:hover:not(.active){border-color:var(--rd-line);background:#fff!important;color:var(--rd-indigo)!important}
html[data-bx] main>.section-eyebrow{display:inline-flex;align-items:center;gap:10px;letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;color:var(--rd-gold-ink)!important;font-weight:600}
html[data-bx] main>.section-eyebrow::before{content:"";width:28px;height:1px;background:var(--rd-gold)}
html[data-bx] main>h1{font-weight:500!important;letter-spacing:-.02em!important;font-size:clamp(2.1rem,4.6vw,3.4rem)!important;line-height:1.08!important}
html[data-bx] .disclaimer-box,html[data-bx] .flag-box,html[data-bx] .info-box{border-radius:14px!important}
html[data-bx] .toc{background:#fff!important;border:1px solid var(--rd-line)!important;border-radius:var(--rd-r)!important;padding:22px 26px!important}
html[data-bx] .table-wrap{border-radius:14px;overflow:auto;border:1px solid var(--rd-line)}
html[data-bx] footer.site-footer{background:var(--rd-night)!important;color:#D5DAE6!important}
html[data-bx] footer.site-footer a{color:#E6D3AE!important;min-height:24px;display:inline-flex;align-items:center}
html[data-bx] footer.site-footer .disclaimer-box.footer{background:transparent!important;border-color:rgba(217,190,138,.35)!important;color:#D5DAE6!important}
html[data-bx] footer.site-footer .footer-note{color:#C9CFDD!important}
@media (max-width:899px){html[data-bx] .bx-hero h1{max-width:none}html[data-bx] .bx-hero .bx-hero-media{background-position:80% 30%!important}}
@media (max-width:600px){html[data-bx] header.top nav a.hide-sm{display:none!important}html[data-bx] header.top{padding:10px 16px!important}}
html[data-bx] .bx-hero .hero-in a.cta:not(form *){background:#D9BE8A!important;color:#0A1630!important;border-radius:999px!important;padding:14px 26px!important}
html[data-bx] .bx-hero .hero-in a.cta:not(form *):hover{background:#E6CFA2!important}

@media (max-width:820px){html[data-bx] .bx-hero .bx-hero-media{background-image:image-set(url(/rd-2026/img/msc-exosome-abstract-indigo-gold-spheres-800.avif) type("image/avif"),url(/rd-2026/img/msc-exosome-abstract-indigo-gold-spheres-800.webp) type("image/webp"))!important}}
/* inner-page night footer: keep headings legible */
html[data-bx] body>footer :is(strong,h2,h3,h4,.footer-nav-title){color:#F1ECE2!important}
html[data-bx] body>footer .footer-nav-title{color:#C9D1E0!important}
/* ---- design critique 2026-10-18 fixes ---- */
@media (max-width:600px){
 html[data-bx] header.top{flex-wrap:wrap!important;row-gap:2px}
 html[data-bx] header.top nav{flex-basis:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;padding-bottom:2px}
 html[data-bx] header.top nav::-webkit-scrollbar{display:none}
 html[data-bx] header.top nav a.hide-sm{display:inline-flex!important}
 html[data-bx] header.top nav a{white-space:nowrap;border:1px solid var(--rd-line,#D9DCE8);background:#fff;padding:0 14px!important;font-size:.9rem!important}
}
html[data-bx] main a[href*="doi.org"],html[data-bx] main a[href*="pubmed"],html[data-bx] main a[href*="ncbi"],html[data-bx] .refs a,html[data-bx] ol.refs li,html[data-bx] .references a{overflow-wrap:anywhere;word-break:break-word}
html[data-bx] a[href*="patents.google"],html[data-bx] a[href*="uspto"],html[data-bx] a[href*="fda.gov"]{display:inline-flex;align-items:center;min-height:44px}
html[data-bx] form button[type="submit"],html[data-bx] form input[type="submit"]{background:#D9BE8A!important;color:#0A1630!important;border-color:#D9BE8A!important}
html[data-bx] form button[type="submit"]:hover,html[data-bx] form input[type="submit"]:hover{background:#E6D0A3!important}

/* rd v6 applied */
/* ==========================================================================
   Hillman redesign rd.css v6 : cluster layer (2026-10-18 CT)
   Load AFTER the site's rd.css (or append to it). Scoped by html[data-rd-site=...];
   fixcancer is scoped by html[data-bx="fixcancer"] (it has no data-rd-site).
   Fonts: url(/rd-2026/fonts/...). Copy design-system/fonts/*.woff2 to /rd-2026/fonts/
   (the hub build rewrites these to /brand-2026/fonts/, the same files brand.css uses).
   Contents: 1 fonts  2 tap targets  3 mobile nav  4 floating buttons off the hero
             5 reflow  6 shorter mobile pages  7 per-site contrast/reflow blockers
   ========================================================================== */

/* 1. ONE TYPE SYSTEM: Fraunces (display) + Inter (text), self-hosted.
   brand.css on several sites aliases legacy family names to other faces (Cormorant Garamond on hv,
   Space Grotesk on aiapro, Source Serif 4 on fixcancer, IBM Plex on record). A later @font-face with
   the same family and descriptors wins, so these re-point every alias to Fraunces or Inter. */
@font-face{font-family:"BX Display";src:url(/rd-2026/fonts/fraunces-400-600.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/rd-2026/fonts/fraunces-400-600.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(/rd-2026/fonts/fraunces-400-600.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(/rd-2026/fonts/fraunces-400-600.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif Pro";src:url(/rd-2026/fonts/fraunces-400-600.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Serif";src:url(/rd-2026/fonts/fraunces-400-600.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"RD Display";src:url(/rd-2026/fonts/fraunces-400-600.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"BX Body";src:url(/rd-2026/fonts/inter-400-600.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(/rd-2026/fonts/inter-400-600.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/rd-2026/fonts/inter-400-600.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(/rd-2026/fonts/inter-400-600.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"RD Text";src:url(/rd-2026/fonts/inter-400-600.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--rd-font-display:"Fraunces","RD Display",Georgia,"Times New Roman",serif;--rd-font-text:"Inter","RD Text",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
html[data-rd-site] :is(h1,h2,h3,.brand,.brand-name,.masthead-mark,.cover-title),html[data-bx="fixcancer"] :is(h1,h2,h3){font-family:var(--rd-font-display)!important}
html[data-rd-site] body,html[data-bx="fixcancer"] body,html[data-rd-site="record"] :is(.lb-nav-links a,.mono,code.mono){font-family:var(--rd-font-text)}

/* 2. TAP TARGETS: 44px on the primary path (nav, buttons, CTAs, card links). Fine print stays 10px with 24px targets. */
html[data-rd-site] :is(nav.nav a,nav.rd-mininav a,.lb-nav-links a,a.btn,button.btn,.dr-cta,.rd-btn,a.cta,a.more),
html[data-bx="fixcancer"] :is(.site-header nav.nav a,a.btn,a.cta){min-height:44px;display:inline-flex;align-items:center}
html[data-rd-site] :is(footer.fine,.rd-fine,[data-legal],.fine) a,html[data-bx="fixcancer"] footer .fine a{min-height:24px!important;font-size:inherit}
html[data-rd-site] :is(footer.fine,.rd-fine,[data-legal],.fine){font-size:10px}
html[data-rd-site] :is(.enh-bar button,.enh-bar a,#site-tools-bar a,#site-tools-bar button),html[data-bx="fixcancer"] .asw-menu-btn{min-width:44px;min-height:44px}

/* 3. MOBILE NAV: every link visible as a 13px label in wrapped rows (no hidden scroll strip, no letter discs).
   The bar stops being sticky on small screens so two rows never cover content. */
@media (max-width:820px){
  html[data-rd-site] nav.nav{position:relative!important;top:auto!important}
  html[data-rd-site] nav.nav .nav-in{display:flex!important;flex-wrap:wrap!important;row-gap:2px!important;height:auto!important}
  html[data-rd-site] nav.nav .nav-links{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;width:100%!important;max-width:100%!important;gap:0 2px!important;-webkit-mask-image:none!important;mask-image:none!important;margin:0!important;padding:0 0 4px!important}
  html[data-rd-site] nav.nav .nav-links a{font-size:13px!important;letter-spacing:.06em!important;width:auto!important;height:auto!important;min-height:44px!important;padding:0 9px!important;border:0!important;border-radius:0!important;display:inline-flex!important;align-items:center!important;white-space:nowrap!important}
  html[data-rd-site] nav.nav .nav-links a::before{content:none!important;display:none!important}
  html[data-rd-site="record"] .lb-nav,html[data-rd-site="record"] .lb-nav-in{height:auto!important;position:relative!important}
  html[data-rd-site="record"] .lb-nav-links{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;width:100%!important;max-width:100%!important;gap:0 2px!important}
  html[data-rd-site="record"] .lb-nav-links a{font-size:13px!important;min-height:44px!important;padding:0 9px!important;display:inline-flex!important;align-items:center!important;white-space:nowrap}
  html[data-bx="fixcancer"] .site-header nav.nav{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;width:100%!important;gap:0 2px!important;-webkit-mask-image:none!important;mask-image:none!important}
  html[data-bx="fixcancer"] .site-header nav.nav a{font-size:13px!important;min-height:44px!important;padding:0 9px!important;display:inline-flex!important;align-items:center!important;white-space:nowrap}
}
@media (min-width:821px){html[data-rd-site] nav.nav .nav-links a{font-size:12px!important}}

/* 4. FLOATING BUTTONS OFF THE HERO. motion.js (v6) measures the hero and sets --rd-hero-bottom (document px)
   plus html.rd-fab-dock while the hero is on screen. Docked, the stacks sit just below the hero instead of on it;
   after the hero scrolls away they return to their fixed corner. Without JS nothing changes. */
html.rd-fab-dock :is(.enh-bar,#site-tools-bar,.asw-menu-btn){position:absolute!important;top:calc(var(--rd-hero-bottom,100vh) + 12px)!important;bottom:auto!important}
html.rd-fab-dock .enh-bar{left:16px!important}
html.rd-fab-dock #site-tools-bar{right:16px!important}

/* 5. REFLOW (1.4.10): long URLs and DOIs wrap; grid children may shrink. */
html[data-rd-site] :is(main,footer,aside,section) :is(p,li,dd,td,figcaption) a,html[data-bx="fixcancer"] :is(p,li,dd) a{overflow-wrap:anywhere}
html[data-rd-site] :is(.grid,.cards,.awards,.feature,.card-grid)>*{min-width:0}

/* 6. SHORTER MOBILE PAGES: long card grids and photo walls become one swipeable row (scroll-snap, next card peeks).
   Content and links are unchanged; only the layout collapses. Add .rd-strip-m to any list to opt in.
   Only use it on lists whose items contain a link (axe scrollable-region-focusable); image-only rows need tabindex=0 and a label. */
@media (max-width:600px){
  .rd-strip-m,
  html[data-rd-site="hub"] :is(#letter ol.dr-issues,#interests .collage,#focus .grid,#insights .grid,#profiles ul.dr-cards),
  html[data-rd-site="org"] :is(.collage,.gallery,.photo-grid),
  html[data-rd-site="record"] #ah-gallery{display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;grid-auto-columns:82%!important;grid-template-rows:auto!important;overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:12px!important;padding-bottom:12px!important;scrollbar-width:thin}
  .rd-strip-m>*,
  html[data-rd-site="hub"] :is(#letter ol.dr-issues,#interests .collage,#focus .grid,#insights .grid,#profiles ul.dr-cards)>*,
  html[data-rd-site="org"] :is(.collage,.gallery,.photo-grid)>*,
  html[data-rd-site="record"] #ah-gallery>*{scroll-snap-align:start;grid-column:auto!important;grid-row:auto!important;min-width:0}
  html[data-rd-site="hub"] #interests .collage{grid-auto-columns:58%!important}
  html[data-rd-site="hub"] #interests .collage>*{aspect-ratio:3/4;height:auto!important}
  html[data-rd-site="hub"] #interests .collage img{width:100%;height:100%;object-fit:cover}
  html[data-rd-site] .rd-chapter{height:120px!important}
  html[data-rd-site] main>:is(section.block,section.dr-sec){padding-block:44px!important}
}

/* 7. PER-SITE BLOCKERS (from the 2026-10-18 critique; ratios are fg on rendered bg) */
/* hub: chapter captions sat navy on navy (1.11:1) -> brass 10.21:1; off-palette blue logo tile -> navy + brass */
html[data-rd-site] .rd-chapter figcaption{color:#D9BE8A!important;background:rgba(8,20,42,.9)!important;padding:4px 10px!important;border-radius:2px;text-shadow:none!important}
html[data-rd-site] nav.nav .brand img,html[data-rd-site] .brand-mark{background:#0B1F3A;border-radius:6px}
/* record: footer back on navy; fine print #B9C3D3 (10.3:1), links #D6DCE6; gallery captions on a solid ivory plate */
html[data-rd-site="record"] body>footer,html[data-rd-site="record"] body>footer.fine{background:#08142A!important;color:#B9C3D3!important}
html[data-rd-site="record"] body>footer :is(p,span,div,small,strong,li,h2,h3,h4,.fn-name),html[data-rd-site="record"] body>footer.fine *{color:#B9C3D3!important;-webkit-text-fill-color:#B9C3D3!important}
html[data-rd-site="record"] body>footer a,html[data-rd-site="record"] body>footer.fine a{color:#D6DCE6!important;-webkit-text-fill-color:#D6DCE6!important}
html[data-rd-site="record"] #ah-gallery figure figcaption{position:static!important;background:#FBF8F1!important;color:#132C52!important;padding:8px 10px!important;margin:0!important;text-shadow:none!important}
html[data-rd-site="record"] #ah-gallery figure figcaption a{color:#7A5C2A!important}
/* org: award cards and the fact list could not shrink at 320 */
html[data-rd-site="org"] .awards,html[data-rd-site="org"] dl.facts{grid-template-columns:minmax(0,1fr)!important}
@media (min-width:821px){html[data-rd-site="org"] .awards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important}}
/* hv: the operator-origins grid track was 435px wide in a 310px column; hero caption white on ivory */
@media (max-width:600px){html[data-rd-site="hv"] .feature{grid-template-columns:minmax(0,1fr)!important}html[data-rd-site="hv"] .feature>*{min-width:0!important;max-width:100%!important}html[data-rd-site="hv"] .feature :is(img,figure,.gen-img){max-width:100%!important;width:100%!important}html[data-rd-site="hv"] .panel{width:100%!important;max-width:100%!important;box-sizing:border-box}}
html[data-rd-site="hv"] .hero-portrait figcaption,html[data-rd-site="hv"] .hero-portrait figcaption a{color:#0B1F3A!important;font-size:12px!important}
/* advisor: brown and teal gradient bands -> navy-900 with ivory headings, brass kickers */
html[data-rd-site="advisor"] :is(#record,#work-history,#engage){background:#0B1F3A!important;background-image:none!important;color:#D6DCE6!important}
html[data-rd-site="advisor"] :is(#record,#work-history,#engage) :is(h2,h3,.n){color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important}
html[data-rd-site="advisor"] :is(#record,#work-history,#engage) :is(.kicker,.st .n){color:#D9BE8A!important;-webkit-text-fill-color:#D9BE8A!important}
html[data-rd-site="advisor"] :is(#record,#work-history,#engage) :is(p,li,.st,.lbl,span){color:#D6DCE6!important}
html[data-rd-site="advisor"] :is(#record,#work-history,#engage) a:not(.btn){color:#D9BE8A!important}
html[data-rd-site="advisor"] #engage .btn-sec{color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;border-color:#D9BE8A!important;background:transparent!important}
html[data-rd-site="advisor"] header.hero.dr-demoted .eyebrow{color:#7A5C2A!important}
html[data-rd-site="advisor"] header.hero.dr-demoted :is(.sub,p){color:#1F2937!important}
html[data-rd-site="advisor"] header.hero.dr-demoted .btn-sec{color:#0B1F3A!important;-webkit-text-fill-color:#0B1F3A!important;border-color:#0B1F3A!important}
html[data-rd-site="advisor"] footer .adv-extra-stamp .mono{color:#D9BE8A!important;-webkit-text-fill-color:#D9BE8A!important;background:#0B1F3A!important}
/* fixcancer: card titles white on white -> navy 15.89:1; footer wordmark */
html[data-bx="fixcancer"] #intent-guides a strong{color:#0E2240!important}
html[data-bx="fixcancer"] footer .brand-mark span{color:#FBF8F1!important}
html[data-bx="fixcancer"] footer .brand-mark em{color:#6FD0C3!important}
html[data-bx="fixcancer"] .goog-te-gadget,html[data-bx="fixcancer"] .goog-te-gadget select{min-height:24px;font-size:13px}

/* 8. Links inside running text are underlined, not colour-only (WCAG 1.4.1, axe link-in-text-block) */
:is(main,article) :is(p,li,dd,td) a:not([class]):not(:has(img)){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
/* hub /press/: secondary outlet links sat at opacity .85 on brass, now full strength */
html[data-rd-site="hub"] .rel-also{opacity:1}
html[data-rd-site="hub"] .rel-also a:not([class]){color:#6B4F22}
/* hub legal pages: "Last updated" line and the ivory sticky nav wordmark */
html[data-rd-site="hub"] body.rd-sub :is(main,section,div,article)>p.sub,html[data-rd-site="hub"] body.rd-sub p.sub{color:#4A5568}
html[data-rd-site="hub"] body.rd-sub>nav:not(.rd-mininav) .nav-name em{color:#7A5C2A}
/* hub: the three-image band becomes one row of small tiles on phones (images only, so no scroller) */
@media (max-width:600px){html[data-rd-site="hub"] .bx-strip .bx-strip-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
html[data-rd-site="hub"] .bx-strip .bx-card{min-width:0;margin:0;height:auto!important}
html[data-rd-site="hub"] .bx-strip .bx-card picture{display:block}
html[data-rd-site="hub"] .bx-strip .bx-card img{display:block;width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover}}

/* 9. v6.1 addendum (2026-10-18 3:20 PM CT, final-preview axe pass) */
html[data-rd-site] #back-to-top,html[data-bx] #back-to-top{min-width:44px!important;min-height:44px!important;display:inline-flex;align-items:center;justify-content:center}
html[data-rd-site] :is(footer,li) a[href*="x.com/"],html[data-rd-site] :is(footer,li) a[href*="twitter.com/"]{display:inline-block;min-width:24px;min-height:24px;text-align:center}
.rd-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* v6.2: back-to-top sat on top of the site tools stack (record) once raised to 44px */
html[data-rd-site]:has(#site-tools-bar) #back-to-top{bottom:136px!important}
/* v6.2 reflow (final-preview sweep at 390/320): fixed grid tracks that clipped text */
@media (max-width:820px){html[data-rd-site="advisor"] header.phero .in{grid-template-columns:minmax(0,1fr)!important}html[data-rd-site="advisor"] header.phero .in>*{min-width:0;max-width:100%}}
@media (max-width:600px){html[data-rd-site="advisor"] .nextup{grid-template-columns:minmax(0,1fr)!important}html[data-rd-site="advisor"] .nextup>*{min-width:0}}
@media (max-width:480px){html[data-rd-site="record"] .data-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}html[data-rd-site="record"] .data-strip>*{min-width:0}}
/* v6.2 advisor inner pages: closing .cta band heading was #5E4520 on #5E4520 (1.0:1) -> ivory 8.43:1 */
html[data-rd-site="advisor"] main>div.cta :is(h2,h3){color:#FBF8F1!important;-webkit-text-fill-color:#FBF8F1!important}
/* v6.3 tap targets (final sweep): every standalone link on the primary path reaches 44px; inline credit links get a 44px hit area without moving text */
html[data-rd-site] :is(nav,header,.nav-links,.ps-row,.ps-note,.chips,.fnet,.dr-cards) a,
html[data-rd-site] :where(main,header,nav,section,aside,article) li>a:only-child,
html[data-rd-site] :where(main,section,article,aside) p>a:only-child,
html[data-rd-site] :is(details>summary,a.brand,a.doi-link,a.skip,a.more){min-height:44px;display:inline-flex;align-items:center}
html[data-rd-site] details>summary{display:flex}
html[data-rd-site] figcaption a{padding-block:calc((44px - 1.25em)/2)}
/* v6.3 fine print floor: nothing under 10px (record masthead meta, cover byline labels, letter chips) */
html[data-rd-site] :is(.lb-meta span,.cover-byline-label,#social-cluster-bar a){font-size:10px!important}

/* ==========================================================================
   rd.css v6 : site layer for the non-personal previews (2026-10-18 CT, 3:05 PM)
   Loaded after rd-v6.css on fixcancer and msc; loaded ALONE on discseel and eachfocus
   (own brands: no font aliasing, no navy/brass recolour; accessibility rules only).
   Rules: 44px tap targets on the primary path, fine print >=10px at >=4.5:1, reflow at 320.
   ========================================================================== */
/* shared: skip links and brand marks reach 44px */
:is(a.skip,a.skip-link,#cluster-skip-link):focus{min-height:44px;display:inline-flex;align-items:center}
/* ---------- fixcancer ---------- */
html[data-bx="fixcancer"] .lit-card .lit-links a{min-height:44px;display:inline-flex;align-items:center}
html[data-bx="fixcancer"] .rd-reg-line a{display:inline-flex;align-items:center;min-height:44px}
html[data-bx="fixcancer"] :is(.site-header .brand-mark,.rd-menu-btn){min-height:44px}
html[data-bx="fixcancer"] #cluster-translate-bar a,html[data-bx="fixcancer"] .goog-te-gadget-simple{min-height:28px!important}
/* ---------- msc (exosome-education-draft) ---------- */
html[data-bx="exosome"] form .c input[type=checkbox]{width:24px;height:24px}
html[data-bx="exosome"] :is(header a,nav a,a.btn,.btn,button[type=submit],.chips a){min-height:44px;display:inline-flex;align-items:center}
html[data-bx="exosome"] :is(main,footer) :is(p,li,dd,td) a{overflow-wrap:anywhere}
html[data-bx="exosome"] :is(.grid,.cards,.refs)>*{min-width:0}
/* ---------- discseel (own brand) ---------- */
html[data-rd-v6="discseel"] .site-header a.brand{min-height:44px;display:inline-flex;align-items:center}
html[data-rd-v6="discseel"] ul.cities-list li a{min-height:44px;display:inline-flex;align-items:center}
html[data-rd-v6="discseel"] .faq details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
html[data-rd-v6="discseel"] .relief-line a{min-height:44px;display:inline-flex;align-items:center}
html[data-rd-v6="discseel"] label.f span.opt{font-size:11px!important}
html[data-rd-v6="discseel"] :is(main,footer) :is(p,li,dd,td) a{overflow-wrap:anywhere}
/* ---------- eachfocus (own brand) ---------- */
html[data-rd-v6="eachfocus"] header.markbar a.brand{min-height:44px;display:inline-flex;align-items:center}
html[data-rd-v6="eachfocus"] :is(main,footer) :is(p,li,dd,td) a{overflow-wrap:anywhere}
html[data-rd-v6="eachfocus"] footer :is(p,small,a){font-size:max(10px,1em)}
/* discseel: site.css forces .crumbs to #162E40 even on the dark page hero (1.21:1) */
html[data-rd-v6="discseel"] :is(.hero,.page-hero,.hero-flag) .crumbs{color:#D6E4EE!important}
html[data-rd-v6="discseel"] :is(.hero,.page-hero,.hero-flag) .crumbs a{color:#FFFFFF!important}
.rd-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* v6.3 tap targets for the four non-personal previews (same rule, own scopes) */
:is(html[data-bx="fixcancer"],html[data-bx="exosome"],html[data-rd-v6="discseel"],html[data-rd-v6="eachfocus"]) :is(nav,header) a,
:is(html[data-bx="fixcancer"],html[data-bx="exosome"],html[data-rd-v6="discseel"],html[data-rd-v6="eachfocus"]) :where(main,section,article,aside) li>a:only-child,
:is(html[data-bx="fixcancer"],html[data-bx="exosome"],html[data-rd-v6="discseel"],html[data-rd-v6="eachfocus"]) :where(main,section,article,aside) p>a:only-child,
:is(html[data-bx="fixcancer"],html[data-bx="exosome"],html[data-rd-v6="discseel"],html[data-rd-v6="eachfocus"]) :is(details>summary,a.brand,a.btn){min-height:44px;display:inline-flex;align-items:center}
:is(html[data-bx="fixcancer"],html[data-bx="exosome"],html[data-rd-v6="discseel"],html[data-rd-v6="eachfocus"]) details>summary{display:flex}
:is(html[data-bx="fixcancer"],html[data-bx="exosome"],html[data-rd-v6="discseel"],html[data-rd-v6="eachfocus"]) figcaption a{padding-block:calc((44px - 1.25em)/2)}
html[data-bx="exosome"] input[type=checkbox]{width:24px!important;height:24px!important}

/* 2026-10-18 17:45 CT axe target-size: FDA safety-notification link gets a 24px target */
a[href*="public-safety-notification-exosome-products"]{display:inline-block;min-height:24px;line-height:24px;padding:2px 0}
