:root {
  --paper: #f5f6f3;
  --panel: #ffffff;
  --ink: #1b262c;
  --muted: #5d6b71;
  --line: #d5dcd8;
  --teal: #0b756d;
  --blue: #2d5fa8;
  --gold: #8b5b05;
  --shadow: 0 18px 50px rgba(34, 48, 53, .12);
  --font: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; }
body { margin: 0; overflow: hidden; background: var(--paper); color: var(--ink); font-family: var(--font); }
button { font: inherit; }
button:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.progress { position: fixed; z-index: 50; top: 0; left: 0; height: 4px; background: linear-gradient(90deg, var(--teal), var(--blue)); transition: width .22s ease; }
.prototype, .scene { width: 100%; height: 100%; }
.scene { display: none; }
.scene.is-active { display: grid; }
.eyebrow { margin: 0; color: var(--teal); font-size: clamp(12px, .85vw, 16px); font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }

.title-scene {
  position: relative;
  place-items: center;
  overflow: hidden;
  padding: clamp(48px, 6vw, 108px);
  background:
    radial-gradient(circle at 84% 12%, rgba(45,95,168,.07), transparent 31%),
    radial-gradient(circle at 12% 88%, rgba(11,117,109,.06), transparent 34%),
    linear-gradient(135deg, #ffffff, #f5f4f1);
}
.title-slide-copy { display: grid; gap: clamp(20px, 2.4vh, 32px); justify-items: center; text-align: center; }
.title-slide-copy h1 { margin: 0; color: var(--ink); font-size: clamp(64px, 7.25vw, 126px); font-weight: 750; letter-spacing: -.055em; line-height: .98; }
.title-slide-copy p { margin: 0; color: #526269; font-size: clamp(20px, 1.55vw, 29px); font-weight: 450; letter-spacing: -.012em; }
.title-slide-mark { position: absolute; right: .34in; bottom: .34in; width: auto; height: 1in; object-fit: contain; }

.framework-orientation {
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: clamp(22px, 3vh, 38px);
  padding: clamp(38px, 5vh, 68px) clamp(44px, 5.5vw, 96px);
  border-top: 5px solid;
  border-image: linear-gradient(90deg, var(--teal), var(--blue)) 1;
  background: linear-gradient(135deg, #f8fbf9 0%, #fff 48%, #f4f7fb 100%);
}
.framework-orientation-head { display: flex; justify-content: space-between; gap: clamp(28px, 4vw, 64px); align-items: flex-end; }
.framework-orientation-head h1 { max-width: 1180px; margin: 9px 0 0; font-size: clamp(39px, 3.2vw, 59px); font-weight: 620; letter-spacing: -.045em; line-height: 1.03; }
.framework-reminder { max-width: 360px; margin: 0; padding: 12px 15px; border-left: 4px solid var(--gold); background: #fbf5e9; color: #665a44; font-size: clamp(14px, .96vw, 18px); font-weight: 650; line-height: 1.35; }
.framework-chain { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: clamp(9px, .8vw, 15px); align-items: stretch; min-height: 0; }
.framework-chain article { position: relative; display: grid; grid-template-rows: auto auto 1fr; align-content: start; min-width: 0; padding: clamp(18px, 2.2vh, 28px) clamp(14px, 1.25vw, 22px); border-top: 5px solid var(--blue); background: #fff; box-shadow: 0 12px 30px rgba(31, 50, 59, .08); }
.framework-chain article:nth-child(3), .framework-chain article:nth-child(4), .framework-chain article:nth-child(5) { border-top-color: var(--teal); background: #f6faf8; }
.framework-chain article:nth-child(6), .framework-chain article:nth-child(7) { border-top-color: #6e52a3; background: #f8f6fb; }
.framework-chain article:not(:last-child)::after { position: absolute; z-index: 2; top: 50%; right: calc(clamp(9px, .8vw, 15px) / -1 - 7px); width: 18px; color: #8d9aa0; font-size: 21px; line-height: 1; text-align: center; content: "→"; transform: translateY(-50%); }
.framework-chain span { color: var(--blue); font-size: 12px; font-weight: 850; letter-spacing: .12em; }
.framework-chain h2 { margin: clamp(14px, 1.8vh, 22px) 0 9px; font-size: clamp(20px, 1.48vw, 28px); font-weight: 650; letter-spacing: -.028em; line-height: 1.05; }
.framework-chain p { margin: 0; color: #506269; font-size: clamp(14px, 1vw, 18px); line-height: 1.4; }
.framework-application { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: center; padding: 17px 20px; border-left: 5px solid var(--teal); background: #eaf3ef; }
.framework-application strong { color: var(--teal); font-size: 12px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.framework-application p { margin: 0; color: #40565e; font-size: clamp(17px, 1.18vw, 22px); line-height: 1.4; }

.orientation {
  grid-template-rows: auto 1fr auto;
  padding: clamp(24px, 3.1vw, 58px);
  background:
    radial-gradient(circle at 86% 8%, rgba(11,117,109,.055), transparent 28%),
    linear-gradient(135deg, #ffffff, #f5f4f1);
}
.orientation-head { display: flex; justify-content: space-between; align-items: baseline; gap: 30px; }
.event-marker { margin: 0; color: var(--muted); font-size: 15px; }
.orientation-main { display: grid; align-content: center; gap: clamp(20px, 2.4vh, 30px); min-height: 0; }
.orientation h1 { margin: 0; font-size: clamp(38px, 3vw, 56px); font-weight: 600; letter-spacing: -.04em; line-height: 1.02; white-space: nowrap; }
.orientation-title-block { display: grid; gap: 7px; }
.orientation-title-block p { margin: 0; color: #526269; font-size: clamp(17px, 1.25vw, 23px); font-weight: 450; letter-spacing: -.01em; line-height: 1.25; }
.ap-reference { grid-template-rows: auto auto minmax(0, 1fr); padding: clamp(18px, 2.3vh, 30px) 0; }
.phase-tables { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(28px, 3.1vw, 54px); align-items: start; }
.phase-table-card { min-width: 0; }
.table-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding-bottom: 7px; border-bottom: 2px solid var(--ink); }
.table-heading h2 { margin: 0; font-size: clamp(16px, 1.15vw, 21px); font-weight: 650; letter-spacing: -.01em; }
.table-heading p { margin: 0; color: var(--muted); font-size: clamp(11px, .75vw, 14px); }
.phase-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.phase-table th { padding: 9px 12px 8px; color: #7b858d; font-size: clamp(11px, .72vw, 13px); font-weight: 700; letter-spacing: .12em; text-align: left; text-transform: uppercase; }
.phase-table th:first-child, .phase-table td:first-child { width: 11%; }
.phase-table th:nth-child(2), .phase-table td:nth-child(2) { width: 22%; }
.slow-card .phase-table th:first-child, .slow-card .phase-table td:first-child { width: 13%; }
.slow-card .phase-table th:nth-child(2), .slow-card .phase-table td:nth-child(2) { width: 24%; }
.phase-table tbody tr { height: 40px; }
.phase-table td { padding: 8px 12px; border-bottom: 1px solid #d9d7d1; font-size: clamp(14px, 1.02vw, 19px); line-height: 1.22; vertical-align: middle; }
.phase-table td:first-child { font-variant-numeric: tabular-nums; }
.phase-table .current { font-weight: 700; white-space: nowrap; }
.phase-table sub { font-size: .6em; }
.current-na { color: #2d5fa8; }
.current-ca { color: #26765e; }
.current-k { color: #b36b10; }
.current-if { color: #6b4aa0; }
.current-none { color: var(--muted); }
.versus { padding: 0 5px; color: var(--ink); font-size: .78em; font-weight: 500; }
.ap-figures { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(26px, 3vw, 48px); min-height: 0; }
.ap-figures figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-width: 0; min-height: 0; margin: 0; padding: 10px 12px 11px; border: 1px solid #d9d7d1; background: #fff; }
.ap-figures img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.ap-figures figcaption { padding: 7px 4px 0; color: #7b858d; font-size: clamp(11px, .76vw, 14px); font-weight: 500; letter-spacing: .08em; }
.foundation-split { display: grid; grid-template-columns: 1fr 1px 1fr; gap: clamp(36px, 5vw, 80px); align-items: stretch; max-width: 1500px; }
.foundation-split article { position: relative; padding: 18px 0 12px 74px; }
.split-number { position: absolute; top: 23px; left: 0; color: var(--teal); font-size: 20px; font-weight: 700; }
.foundation-split h2 { margin: 0 0 10px; font-size: clamp(30px, 2.6vw, 48px); font-weight: 500; letter-spacing: -.025em; }
.foundation-split p { margin: 0; color: var(--muted); font-size: clamp(21px, 1.6vw, 29px); }
.split-rule { background: var(--line); }
.orientation-foot { border-top: 1px solid var(--line); padding-top: 14px; }
.orientation-foot p { margin: 0; color: #40545d; font-size: clamp(15px, 1.05vw, 20px); }

.tool-scene, .image-scene, .mechanism-scene, .reentry-transition, .step-one-summary, .class-map-scene, .class-one-transition, .prr-concept, .class-ia-scene, .class-ib-scene, .class-ic-scene, .class-iii-scene, .class-iv-scene { grid-template-rows: clamp(112px, 13vh, 150px) 1fr clamp(88px, 10vh, 112px); background: #ffffff; }
.lecture-rail { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 24px clamp(34px, 4vw, 72px) 18px; border-bottom: 1px solid var(--line); background: #fbfcfa; }
.lecture-rail h1 { margin: 7px 0 0; max-width: 1320px; font-size: clamp(34px, 3.3vw, 60px); font-weight: 500; letter-spacing: -.035em; line-height: 1.03; }
.rail-meta { display: grid; justify-items: end; gap: 7px; flex: 0 0 auto; color: var(--muted); font-size: 13px; }
.rail-meta span:first-child { color: var(--teal); font-weight: 700; }
.tool-viewport { position: relative; min-height: 0; overflow: hidden; background: #fff; }
.tool-viewport iframe { width: 100%; height: 100%; border: 0; background: #fff; opacity: 0; transition: opacity .2s ease; }
.tool-viewport iframe.is-ready { opacity: 1; }
.loading { position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted); background: #fff; font-size: 17px; }
.loading.is-hidden { display: none; }
.external-scene { grid-template: 52px minmax(0,1fr) / minmax(0,1fr); background: #f7f8f6; }
.external-scene::before { content:"Interactive lesson"; grid-row:1; align-self:center; padding-left:20px; color:#66777d; font-size:11px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.external-scene iframe { position:relative; z-index:0; grid-row:2; width: 100%; height: 100%; min-width: 0; min-height: 0; border: 0; background: #0b1420; }
.teaching-image-stage { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-height: 0; margin: 0; padding: clamp(16px, 2.2vh, 28px) clamp(34px, 4vw, 72px) 12px; overflow: hidden; background: #fff; }
.teaching-image-stage img { width: 100%; height: 100%; min-height: 0; object-fit: contain; object-position: center; }
.teaching-image-stage figcaption { padding-top: 10px; color: #68767c; font-size: clamp(13px, .92vw, 17px); line-height: 1.35; text-align: center; }
.image-landing { background: #f2f5f3; }
.mechanism-rail h1 { max-width: 1370px; font-size: clamp(34px, 3vw, 54px); }
.mechanism-map { display: grid; grid-template-rows: auto 1fr auto; min-height: 0; padding: clamp(24px, 3.5vh, 46px) clamp(42px, 5vw, 88px) clamp(18px, 2.4vh, 30px); background: radial-gradient(circle at 83% 10%, rgba(11,117,109,.05), transparent 30%), #fff; }
.mechanism-question { margin: 0 0 clamp(20px, 2.6vh, 34px); color: #516168; font-size: clamp(18px, 1.25vw, 23px); }
.mechanism-columns { display: grid; grid-template-columns: 1fr 1px 1fr; gap: clamp(36px, 4.5vw, 78px); min-height: 0; }
.mechanism-columns article { display: grid; align-content: start; min-width: 0; }
.mechanism-columns article > header { display: grid; grid-template-columns: 48px 1fr; gap: 15px; align-items: start; padding-bottom: 15px; border-bottom: 2px solid var(--ink); }
.mechanism-columns article > header > span { color: var(--teal); font-size: 17px; font-weight: 750; }
.mechanism-columns h2 { margin: 0; font-size: clamp(27px, 2.05vw, 38px); font-weight: 550; letter-spacing: -.025em; }
.mechanism-columns header p { margin: 5px 0 0; color: var(--muted); font-size: clamp(15px, 1vw, 18px); }
.mechanism-columns dl { margin: 0; }
.mechanism-columns dl > div { display: grid; grid-template-columns: minmax(180px, .42fr) 1fr; gap: clamp(18px, 2.2vw, 34px); padding: clamp(18px, 2.4vh, 30px) 0; border-bottom: 1px solid var(--line); }
.mechanism-columns dt { font-size: clamp(19px, 1.32vw, 24px); font-weight: 650; line-height: 1.22; }
.mechanism-columns dd { margin: 0; color: #46575e; font-size: clamp(17px, 1.16vw, 21px); line-height: 1.42; }
.mechanism-rule { background: var(--line); }
.mechanism-synthesis { align-self: end; margin-top: clamp(18px, 2.4vh, 30px); padding: 17px 20px; border-left: 4px solid var(--blue); background: #eef3f8; color: #40535b; font-size: clamp(16px, 1.1vw, 20px); line-height: 1.4; }
.mechanism-synthesis b { color: var(--ink); }
.mechanism-landing { background: #eef4f1; }
.reentry-transition-body { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: clamp(18px, 2.5vh, 30px); min-height: 0; padding: clamp(20px, 2.8vh, 34px) clamp(34px, 4vw, 72px) 16px; background: #fff; }
.reentry-transition-top { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(360px, .8fr); gap: clamp(28px, 3vw, 48px); align-items: stretch; }
.reentry-requirements { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 12px; align-items: center; }
.reentry-requirements article { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; min-height: 116px; padding: 18px; border: 1px solid var(--line); background: #fff; }
.reentry-requirements article:last-of-type { border: 2px solid var(--ink); }
.reentry-requirements article > span { font-size: 22px; font-weight: 700; }
.reentry-requirements h2 { margin: 0 0 5px; font-size: clamp(18px, 1.25vw, 23px); font-weight: 650; }
.reentry-requirements p { margin: 0; color: var(--muted); font-size: clamp(16px, 1.05vw, 19px); line-height: 1.35; }
.reentry-requirements > b { color: #8a969c; font-size: 28px; font-weight: 400; }
.reentry-break { display: grid; align-items: center; padding: 20px 24px; border-left: 5px solid #2f7d5c; background: #eef4f1; }
.reentry-break p { margin: 0; color: #536168; font-size: clamp(19px, 1.35vw, 25px); line-height: 1.42; }
.reentry-break b { color: var(--ink); }
.reentry-transition-figure { min-height: 0; margin: 0; padding: 12px 16px; border: 1px solid var(--line); background: #fff; }
.reentry-transition-figure img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.reentry-transition-landing { background: #eef4f1; }
.step-summary-body { display: grid; align-items: stretch; min-height: 0; padding: clamp(16px, 2.2vh, 28px) clamp(42px, 5vw, 88px); background: #fff; }
.step-summary-list { display: grid; grid-template-rows: repeat(6, minmax(0, 1fr)); align-content: stretch; min-height: 0; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.step-summary-list li { display: grid; grid-template-columns: 52px minmax(390px, .82fr) 1.18fr; gap: clamp(20px, 2.2vw, 36px); align-items: center; padding: clamp(10px, 1.25vh, 16px) 0; border-bottom: 1px solid var(--line); }
.step-summary-list li > span { color: var(--teal); font-size: 15px; font-weight: 750; letter-spacing: .08em; }
.step-summary-list h2 { margin: 0; font-size: clamp(18px, 1.3vw, 24px); font-weight: 600; letter-spacing: -.02em; line-height: 1.16; }
.step-summary-list p { margin: 0; color: #4d5e65; font-size: clamp(14px, 1vw, 18px); line-height: 1.32; }
.step-summary-landing { background: #eef4f1; }
.class-map-rail h1 { max-width: none; font-size: clamp(30px, 2.55vw, 44px); white-space: nowrap; }
.class-map-body { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: clamp(14px, 1.7vh, 22px); min-height: 0; padding: clamp(20px, 2.6vh, 32px) clamp(34px, 4vw, 72px) 16px; background: #fff; }
.class-map-intro { display: flex; justify-content: space-between; gap: 36px; align-items: baseline; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
.class-map-intro p { margin: 0; color: #526269; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.36; }
.class-map-intro p:first-child { color: var(--ink); }
.vw-table { width: 100%; height: 100%; border-collapse: collapse; table-layout: fixed; }
.vw-table thead th { padding: 8px 12px 10px; border-bottom: 1px solid var(--ink); color: #77838a; font-size: clamp(11px, .72vw, 13px); font-weight: 750; letter-spacing: .11em; text-align: left; text-transform: uppercase; }
.vw-table thead th:nth-child(1) { width: 7%; }
.vw-table thead th:nth-child(2) { width: 16%; }
.vw-table thead th:nth-child(3) { width: 18%; }
.vw-table thead th:nth-child(4) { width: 21%; }
.vw-table thead th:nth-child(5) { width: 10%; }
.vw-table thead th:nth-child(6) { width: 28%; }
.vw-table tbody tr { height: 25%; }
.vw-table tbody th, .vw-table tbody td { padding: clamp(10px, 1.25vh, 16px) 12px; border-bottom: 1px solid var(--line); font-size: clamp(15px, 1vw, 18px); line-height: 1.3; vertical-align: middle; text-align: left; }
.vw-table tbody th { border-left: 5px solid var(--blue); }
.vw-table tbody th strong { display: block; font-size: clamp(29px, 2.05vw, 38px); font-weight: 650; line-height: 1; }
.vw-table tbody th span { display: block; margin-top: 5px; color: #68767c; font-size: 13px; font-weight: 650; letter-spacing: .04em; }
.vw-table td b { color: var(--ink); }
.vw-table td small { display: block; margin-top: 5px; color: #6c797f; font-size: .78em; line-height: 1.3; }
.vw-table .subclass-lines span { display: block; }
.vw-table .subclass-lines span + span { margin-top: 5px; }
.vw-table .vw-i th { border-left-color: #2d5fa8; }
.vw-table .vw-ii th { border-left-color: #7a4e9e; }
.vw-table .vw-iii th { border-left-color: #b36b10; }
.vw-table .vw-iv th { border-left-color: #26765e; }
.class-map-caution { padding: 12px 16px; border-left: 4px solid var(--gold); background: #f7f2e8; color: #4e5c62; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.35; }
.class-map-caution b { color: var(--ink); }
.class-map-landing { background: #eef4f1; }
.class-one-transition-rail { background: linear-gradient(90deg, #f7f9fb 0%, #fbfcfa 55%, #f2f6f4 100%); }
.class-one-transition-body { display: grid; grid-template-columns: minmax(250px, .32fr) minmax(0, 1fr); min-height: 0; background: #fff; }
.class-one-mark { display: grid; align-content: center; justify-items: center; min-height: 0; border-right: 1px solid var(--line); background: linear-gradient(145deg, #244f8c, #2d5fa8 62%, #173b68); color: #fff; }
.class-one-mark > span { font-size: clamp(14px, 1vw, 18px); font-weight: 700; letter-spacing: .22em; }
.class-one-mark strong { margin: clamp(10px, 1.6vh, 18px) 0; font-size: clamp(150px, 16vw, 280px); font-weight: 300; letter-spacing: -.08em; line-height: .78; }
.class-one-mark p { margin: 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.45); font-size: clamp(25px, 2vw, 36px); font-weight: 500; letter-spacing: .04em; }
.class-one-argument { display: grid; grid-template-rows: auto auto auto; align-content: center; gap: clamp(30px, 4.4vh, 58px); min-width: 0; padding: clamp(34px, 5vh, 68px) clamp(46px, 5.5vw, 96px); }
.class-one-lede { max-width: 1100px; margin: 0; color: #46575e; font-size: clamp(24px, 2vw, 37px); line-height: 1.38; letter-spacing: -.015em; }
.class-one-lede b { color: var(--ink); font-weight: 600; }
.kinetic-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.25fr; gap: clamp(12px, 1.3vw, 24px); align-items: stretch; }
.kinetic-chain > div { min-width: 0; padding: 6px 0 13px; border-bottom: 2px solid #9eb7d7; }
.kinetic-chain > div > span { color: var(--blue); font-size: 12px; font-weight: 750; letter-spacing: .12em; }
.kinetic-chain h2 { margin: 10px 0 5px; font-size: clamp(19px, 1.42vw, 27px); font-weight: 600; letter-spacing: -.02em; line-height: 1.16; }
.kinetic-chain p { margin: 0; color: var(--muted); font-size: clamp(14px, .98vw, 18px); line-height: 1.32; }
.kinetic-chain > b { align-self: center; color: #9aa7ad; font-size: 27px; font-weight: 400; }
.kinetic-chain .kinetic-chain-result { padding: 14px 16px 15px; border-bottom-color: var(--teal); background: #eef4f1; }
.kinetic-chain .kinetic-chain-result > span { color: var(--teal); }
.class-one-prompt { max-width: 1160px; padding: 17px 20px; border-left: 5px solid var(--blue); background: #eef3f8; }
.class-one-prompt p { margin: 0; color: #4b5c63; font-size: clamp(18px, 1.28vw, 24px); line-height: 1.42; }
.class-one-prompt b { color: var(--ink); }
.class-one-transition-landing { background: #eef4f1; }
.prr-concept-rail { background: linear-gradient(90deg, #fbfcfa 0%, #fbfcfa 63%, #fbf1ef 100%); }
.prr-concept-rail h1 { max-width: 1450px; }
.prr-concept-body { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: clamp(14px, 1.9vh, 24px); min-height: 0; padding: clamp(18px, 2.4vh, 30px) clamp(34px, 4vw, 72px) 14px; background: #fff; }
.prr-relationship { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 12px 18px; border: 1px solid #e1c1ba; border-left: 5px solid #b23a2c; background: #fbf3f1; }
.prr-relationship p { margin: 0; color: #4d5c62; font-size: clamp(17px, 1.2vw, 22px); line-height: 1.35; }
.prr-relationship strong { flex: 0 0 auto; color: #b23a2c; font-size: clamp(25px, 2vw, 37px); font-weight: 650; letter-spacing: -.025em; }
.prr-relationship sub { font-size: .6em; }
.prr-concept-grid { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(390px, .78fr); gap: clamp(30px, 3.2vw, 52px); min-height: 0; }
.prr-figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-width: 0; min-height: 0; margin: 0; padding: 8px 12px 10px; border: 1px solid var(--line); background: #fff; }
.prr-figure svg { width: 100%; height: 100%; min-height: 0; }
.prr-figure figcaption { padding: 5px 12px 0; color: #68767c; font-size: clamp(12px, .86vw, 16px); line-height: 1.35; text-align: center; }
.prr-explanation { display: grid; grid-template-rows: repeat(3, 1fr); align-content: stretch; min-height: 0; border-top: 2px solid var(--ink); }
.prr-explanation article { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-content: center; padding: clamp(12px, 1.6vh, 20px) 8px; border-bottom: 1px solid var(--line); }
.prr-explanation article > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--blue); color: #fff; font-size: 18px; font-weight: 750; }
.prr-explanation .prr-emphasis { margin: 0 -8px; padding-right: 16px; padding-left: 16px; border-left: 4px solid #b23a2c; background: #fbf3f1; }
.prr-explanation .prr-emphasis > span { background: #b23a2c; }
.prr-explanation h2 { margin: 0 0 6px; font-size: clamp(19px, 1.38vw, 26px); font-weight: 600; letter-spacing: -.02em; }
.prr-explanation h2 sub { font-size: .58em; }
.prr-explanation p { margin: 0; color: #4d5d64; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.42; }
.prr-explanation b { color: var(--ink); }
.prr-concept-landing { background: #eef4f1; }
.class-ia-rail { background: linear-gradient(90deg, #f7f9fb 0%, #fbfcfa 57%, #f5f0fa 100%); }
.class-ia-rail h1 { max-width: 1470px; }
.class-ia-body { min-height: 0; overflow: hidden; padding: clamp(20px, 2.8vh, 34px) clamp(34px, 4vw, 72px) 16px; background: #fff; }
.class-ia-landing { background: #eef4f1; }
.ia-overview { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: clamp(10px, 1.5vh, 18px); height: 100%; min-height: 0; }
.ia-roster { display: flex; justify-content: space-between; align-items: baseline; gap: 30px; padding-bottom: 14px; border-bottom: 2px solid var(--ink); }
.ia-roster p { margin: 0; color: #4f6067; font-size: clamp(17px, 1.18vw, 22px); line-height: 1.35; }
.ia-roster strong { color: var(--ink); }
.ia-roster span { flex: 0 0 auto; color: #6e52a3; font-size: clamp(15px, 1vw, 19px); font-weight: 700; letter-spacing: .04em; }
.ia-dual-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(300px, .82fr); gap: clamp(15px, 1.7vw, 28px); align-items: stretch; min-height: 0; }
.ia-target { display: grid; grid-template-rows:auto auto auto minmax(0,1fr) auto auto; align-content: start; min-width: 0; padding: clamp(18px, 2.3vh, 30px); border-top: 5px solid var(--blue); background: #f4f7fb; }
.ia-target-k { border-top-color: #a96b12; background: #fbf7ef; }
.ia-target-label { color: var(--blue); font-size: 12px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.ia-target-k .ia-target-label { color: #9b6413; }
.ia-target h2 { margin: 9px 0 5px; font-size: clamp(25px, 1.86vw, 34px); font-weight: 600; letter-spacing: -.025em; line-height: 1.12; }
.ia-target > p { margin: 0 0 18px; color: #5a696f; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.38; }
.ia-target-visual { display:grid; grid-template-rows:minmax(0,1fr) auto; min-height:0; margin:0 0 16px; overflow:hidden; border:1px solid rgba(79,97,104,.2); background:#fff; }
.ia-target-visual img { width:100%; height:100%; min-height:0; object-fit:contain; }
.ia-target-visual figcaption { padding:8px 11px; border-top:1px solid rgba(79,97,104,.16); color:#4f6067; background:rgba(255,255,255,.82); font-size:clamp(12px,.82vw,15px); font-weight:600; line-height:1.25; }
.ia-target:first-child .ia-target-visual figcaption { color:var(--blue); }
.ia-target-k .ia-target-visual figcaption { color:#9b6413; }
.ia-phase-visual { align-self:center; }
.ia-phase-image { position:relative; min-height:0; background:#fff; }
.ia-phase-image img { display:block; width:100%; height:auto; }
.ia-phase-focus { position:absolute; border:4px solid var(--blue); border-radius:50%; background:rgba(45,95,168,.07); box-shadow:0 0 0 2px rgba(255,255,255,.86); }
.ia-phase-zero-visual .ia-phase-focus { left:17.2%; top:8%; width:10.8%; height:72%; }
.ia-phase-three-visual .ia-phase-focus { left:56%; top:23%; width:28%; height:59%; border-color:#a96b12; background:rgba(169,107,18,.07); }
.ia-target dl { margin: 0; border-top: 1px solid rgba(79,97,104,.22); }
.ia-target dl > div { display: grid; grid-template-columns: minmax(126px,.38fr) 1fr; gap: 16px; padding: 11px 0; border-bottom: 1px solid rgba(79,97,104,.18); }
.ia-target dt { font-size: clamp(14px, .98vw, 18px); font-weight: 650; }
.ia-target dd { margin: 0; color: #4f6067; font-size: clamp(14px, .98vw, 18px); line-height: 1.35; }
.ia-target-foot { align-self: end; margin-top: 16px; padding-top: 13px; border-top: 2px solid currentColor; color: var(--blue); font-size: clamp(17px, 1.2vw, 22px); font-weight: 650; }
.ia-target-k .ia-target-foot { color: #9b6413; }
.ia-math { align-self: center; color: #8b999f; font-size: clamp(28px, 2.8vw, 48px); font-weight: 300; }
.ia-net { display: grid; align-content: center; min-width: 0; padding: clamp(20px, 2.6vh, 34px); border-left: 5px solid #6e52a3; background: #f2eff7; }
.ia-net span { color: #6e52a3; font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.ia-net h2 { margin: 10px 0 14px; font-size: clamp(26px, 2vw, 37px); font-weight: 600; letter-spacing: -.03em; line-height: 1.1; }
.ia-net ul { margin: 0; padding-left: 20px; color: #4c5d64; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.52; }
.ia-caveat { justify-self: start; max-width: min(100%, 920px); padding: 8px 13px; border-left: 4px solid #6e52a3; background: #f3f0f8; color: #4e5f66; font-size: clamp(13px, .86vw, 16px); line-height: 1.25; }
.ia-caveat b { color: var(--ink); }
.ia-use { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: clamp(16px, 2vh, 26px); height: 100%; min-height: 0; }
.ia-use-intro { display: flex; justify-content: space-between; align-items: baseline; gap: 30px; padding-bottom: 13px; border-bottom: 2px solid var(--ink); }
.ia-use-intro p { margin: 0; color: #506168; font-size: clamp(17px, 1.18vw, 22px); line-height: 1.35; }
.ia-use-intro strong { color: var(--ink); }
.ia-use-intro span { flex: 0 0 auto; color: #6d7980; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ia-use-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr) minmax(0, 1fr); gap: clamp(20px, 2.5vw, 42px); min-height: 0; }
.ia-use-case { display: grid; align-content: start; padding: clamp(19px, 2.4vh, 30px) 0; border-top: 5px solid var(--blue); border-bottom: 1px solid var(--line); }
.ia-use-case-preexcited { border-top-color: #6e52a3; }
.ia-use-case > span { color: var(--blue); font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.ia-use-case-preexcited > span { color: #6e52a3; }
.ia-use-case h2 { margin: 10px 0 10px; font-size: clamp(25px, 1.84vw, 34px); font-weight: 600; letter-spacing: -.025em; line-height: 1.12; }
.ia-use-case p { margin: 0; color: #4f6067; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.42; }
.ia-use-case dl { margin: 18px 0 0; }
.ia-use-case dl > div { display: grid; grid-template-columns: 112px 1fr; gap: 14px; padding: 10px 0; border-top: 1px solid var(--line); }
.ia-use-case dt { font-weight: 650; }
.ia-use-case dd { margin: 0; color: #4f6067; line-height: 1.35; }
.ia-use-mechanism { display: grid; align-content: center; padding: clamp(22px, 3vh, 40px); background: #eef4f1; }
.ia-use-mechanism > span { color: var(--teal); font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.ia-use-mechanism h2 { margin: 10px 0 18px; font-size: clamp(25px, 1.8vw, 34px); font-weight: 600; line-height: 1.12; }
.ia-use-chain { display: grid; gap: 9px; }
.ia-use-chain div { padding: 11px 12px; border-left: 4px solid var(--blue); background: #fff; color: #42555d; font-size: clamp(14px, .96vw, 18px); line-height: 1.32; }
.ia-use-chain b { color: var(--ink); }
.ia-use-chain span { justify-self: center; color: #849197; font-size: 20px; }
.ia-dose-strip { display: grid; grid-template-columns:auto 1fr auto; gap: 18px; align-items: center; padding: 13px 16px; border-left: 4px solid #a96b12; background: #fbf7ef; color: #4f5f66; font-size: clamp(14px, .98vw, 18px); line-height: 1.35; }
.ia-dose-strip > strong { color: #88570d; white-space: nowrap; }
.ia-dose-strip > b { color: var(--ink); font-weight: 650; }
.ia-safety { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: clamp(16px, 2vh, 25px); height: 100%; min-height: 0; }
.ia-safety-intro { display: flex; justify-content: space-between; align-items: baseline; gap: 28px; padding-bottom: 13px; border-bottom: 2px solid var(--ink); }
.ia-safety-intro p { margin: 0; color: #506168; font-size: clamp(17px, 1.18vw, 22px); line-height: 1.35; }
.ia-safety-intro strong { color: var(--ink); }
.ia-safety-intro span { flex: 0 0 auto; color: #b23a2c; font-size: 13px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.ia-safety-table { width: 100%; height: 100%; border-collapse: collapse; table-layout: fixed; }
.ia-safety-table thead th { padding: 9px 14px; border-bottom: 1px solid var(--ink); color: #77848a; font-size: clamp(11px, .74vw, 13px); font-weight: 750; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.ia-safety-table thead th:nth-child(1) { width: 16%; }
.ia-safety-table thead th:nth-child(2) { width: 25%; }
.ia-safety-table thead th:nth-child(3) { width: 34%; }
.ia-safety-table thead th:nth-child(4) { width: 25%; }
.ia-safety-table tbody th, .ia-safety-table tbody td { padding: clamp(14px, 1.8vh, 22px) 14px; border-bottom: 1px solid var(--line); font-size: clamp(15px, 1.03vw, 19px); line-height: 1.4; vertical-align: top; text-align: left; }
.ia-safety-table tbody th { border-left: 5px solid var(--blue); font-size: clamp(21px, 1.5vw, 28px); font-weight: 600; }
.ia-safety-table tbody tr:nth-child(2) th { border-left-color: #a96b12; }
.ia-safety-table tbody tr:nth-child(3) th { border-left-color: #6e52a3; }
.ia-safety-table td { color: #4f6067; }
.ia-safety-table b { color: var(--ink); }
.ia-shared-harm { display: grid; grid-template-columns:auto 1fr; gap: 18px; align-items: center; padding: 13px 16px; border-left: 5px solid #b23a2c; background: #fbf1ef; }
.ia-shared-harm strong { color: #b23a2c; font-size: clamp(16px, 1.15vw, 21px); white-space: nowrap; }
.ia-shared-harm p { margin: 0; color: #4e5f66; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.36; }
.ia-shared-harm b { color: var(--ink); }
.class-ib-rail { background: linear-gradient(90deg, #f7f9fb 0%, #fbfcfa 55%, #f2f7f5 100%); }
.class-ib-rail h1 { max-width: 1470px; }
.class-ib-body { min-height: 0; overflow: hidden; padding: clamp(20px, 2.8vh, 34px) clamp(34px, 4vw, 72px) 16px; background: #fff; }
.class-ib-landing { background: #eef4f1; }
.ib-overview { display: grid; grid-template-rows: auto minmax(0, .82fr) minmax(0, 1fr); gap: clamp(16px, 2vh, 25px); height: 100%; min-height: 0; }
.ib-roster { display: flex; justify-content: space-between; align-items: baseline; gap: 30px; padding-bottom: 13px; border-bottom: 2px solid var(--ink); }
.ib-roster p { margin: 0; color: #4f6067; font-size: clamp(17px, 1.18vw, 22px); line-height: 1.35; }
.ib-roster strong { color: var(--ink); }
.ib-roster span { flex: 0 0 auto; color: #26765e; font-size: clamp(15px, 1vw, 19px); font-weight: 700; letter-spacing: .04em; }
.ib-equation { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(300px, .9fr); gap: clamp(15px, 1.8vw, 30px); align-items: stretch; min-height: 0; }
.ib-principle { display: grid; align-content: center; min-width: 0; padding: clamp(18px, 2.4vh, 30px); border-top: 5px solid var(--blue); background: #f4f7fb; }
.ib-principle:nth-of-type(2) { border-top-color: #26765e; background: #f1f7f4; }
.ib-principle > span, .ib-net > span { color: var(--blue); font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.ib-principle:nth-of-type(2) > span, .ib-net > span { color: #26765e; }
.ib-principle h2 { margin: 9px 0 8px; font-size: clamp(25px, 1.85vw, 34px); font-weight: 600; letter-spacing: -.025em; line-height: 1.1; }
.ib-principle p { margin: 0; color: #52636a; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.4; }
.ib-symbol { align-self: center; color: #8b999f; font-size: clamp(28px, 2.8vw, 48px); font-weight: 300; }
.ib-net { display: grid; align-content: center; min-width: 0; padding: clamp(20px, 2.6vh, 34px); border-left: 5px solid #26765e; background: #eef4f1; }
.ib-net h2 { margin: 10px 0 10px; font-size: clamp(27px, 2vw, 38px); font-weight: 600; letter-spacing: -.03em; line-height: 1.08; }
.ib-net p { margin: 0; color: #4d5f66; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.42; }
.ib-tissue-contrast { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(26px, 3vw, 50px); min-height: 0; }
.ib-tissue { display: grid; grid-template-rows: auto auto 1fr auto; align-content: start; min-width: 0; padding: clamp(18px, 2.4vh, 29px) clamp(20px, 2.5vw, 36px); border-top: 5px solid var(--blue); background: #f7f9fb; }
.ib-tissue-depolarized { border-top-color: #b26824; background: #fbf6ef; }
.ib-tissue header { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; }
.ib-tissue h2 { margin: 0; font-size: clamp(24px, 1.72vw, 32px); font-weight: 600; letter-spacing: -.02em; }
.ib-tissue header span { flex: 0 0 auto; color: #5d6c72; font-size: clamp(16px, 1.08vw, 20px); font-weight: 650; }
.ib-state-status { display: flex; align-items: center; gap: 14px; margin: clamp(14px, 1.8vh, 22px) 0 10px; color: var(--blue); font-size: clamp(17px, 1.2vw, 22px); font-weight: 700; }
.ib-tissue-depolarized .ib-state-status { color: #a35818; }
.ib-state-status::before { content: ""; flex: 0 0 76px; width: 76px; height: 10px; border-radius: 8px; background: linear-gradient(90deg, currentColor 0 42%, color-mix(in srgb, currentColor 70%, white) 42% 71%, color-mix(in srgb, currentColor 40%, white) 71% 100%); }
.ib-tissue > p { margin: 0; color: #4d5e65; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.42; }
.ib-tissue-foot { align-self: end; margin-top: 15px; padding-top: 12px; border-top: 2px solid currentColor; color: var(--blue); font-size: clamp(17px, 1.17vw, 21px); font-weight: 650; }
.ib-tissue-depolarized .ib-tissue-foot { color: #a35818; }
.ib-clinical { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: clamp(16px, 2vh, 25px); height: 100%; min-height: 0; }
.ib-clinical-intro { display: flex; justify-content: space-between; align-items: baseline; gap: 28px; padding-bottom: 13px; border-bottom: 2px solid var(--ink); }
.ib-clinical-intro p { margin: 0; color: #506168; font-size: clamp(17px, 1.18vw, 22px); line-height: 1.35; }
.ib-clinical-intro strong { color: var(--ink); }
.ib-clinical-intro span { flex: 0 0 auto; color: #26765e; font-size: 13px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.ib-drug-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 3.6vw, 60px); min-height: 0; }
.ib-drug { display: grid; grid-template-rows: auto auto auto 1fr; align-content: start; min-width: 0; padding: clamp(18px, 2.4vh, 30px) 0; border-top: 5px solid var(--blue); }
.ib-drug-mexiletine { border-top-color: #26765e; }
.ib-drug > span { color: var(--blue); font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.ib-drug-mexiletine > span { color: #26765e; }
.ib-drug h2 { margin: 9px 0 7px; font-size: clamp(30px, 2.25vw, 42px); font-weight: 600; letter-spacing: -.03em; }
.ib-drug > p { margin: 0 0 12px; color: #53636a; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.38; }
.ib-drug dl { display: grid; grid-template-rows: repeat(4, 1fr); min-height: 0; margin: 0; border-top: 1px solid var(--line); }
.ib-drug dl > div { display: grid; grid-template-columns: minmax(122px, .32fr) 1fr; gap: 16px; align-content: center; padding: clamp(9px, 1.25vh, 14px) 0; border-bottom: 1px solid var(--line); }
.ib-drug dt { font-size: clamp(14px, .97vw, 18px); font-weight: 650; }
.ib-drug dd { margin: 0; color: #4f6067; font-size: clamp(14px, .97vw, 18px); line-height: 1.38; }
.ib-drug b { color: var(--ink); }
.ib-ecg-strip { display: grid; grid-template-columns: auto repeat(3, minmax(120px, .55fr)) minmax(260px, 1.15fr); gap: 0; align-items: stretch; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ib-ecg-strip > * { display: grid; align-content: center; min-width: 0; padding: 12px 16px; border-right: 1px solid var(--line); }
.ib-ecg-strip > *:last-child { border-right: 0; }
.ib-ecg-strip > strong { color: #26765e; font-size: clamp(15px, 1.05vw, 19px); }
.ib-ecg-strip span { color: #4f6067; font-size: clamp(14px, .96vw, 18px); line-height: 1.32; }
.ib-ecg-strip span b { display: block; color: var(--ink); font-size: clamp(18px, 1.25vw, 23px); }
.ib-ecg-strip p { margin: 0; color: #4e5e65; font-size: clamp(13px, .9vw, 17px); line-height: 1.34; }
.ib-agent-clinical { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: clamp(16px, 2vh, 25px); height: 100%; min-height: 0; }
.ib-agent-intro { display: flex; justify-content: space-between; align-items: baseline; gap: 28px; padding-bottom: 13px; border-bottom: 2px solid var(--ink); }
.ib-agent-intro p { margin: 0; color: #506168; font-size: clamp(17px, 1.18vw, 22px); line-height: 1.35; }
.ib-agent-intro strong { color: var(--ink); }
.ib-agent-intro span { flex: 0 0 auto; color: #26765e; font-size: 13px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.ib-agent-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 3.8vw, 64px); min-height: 0; }
.ib-agent-column { display: grid; grid-template-rows: auto auto minmax(0, 1fr); min-width: 0; padding: clamp(18px, 2.4vh, 30px) clamp(20px, 2.3vw, 34px) 0; border-top: 5px solid var(--blue); background: #f4f7fb; }
.ib-agent-harm { border-top-color: #b23a2c; background: #fbf2f0; }
.ib-agent-column > span { color: var(--blue); font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.ib-agent-harm > span { color: #b23a2c; }
.ib-agent-column > h2 { margin: 9px 0 12px; font-size: clamp(27px, 1.92vw, 36px); font-weight: 600; letter-spacing: -.028em; line-height: 1.08; }
.ib-agent-points { display: grid; grid-template-rows: repeat(3, 1fr); min-height: 0; border-top: 1px solid var(--line); }
.ib-agent-points article { display: grid; align-content: center; min-height: 0; padding: clamp(12px, 1.55vh, 19px) 0; border-bottom: 1px solid var(--line); }
.ib-agent-points h3 { margin: 0 0 5px; color: var(--ink); font-size: clamp(17px, 1.18vw, 22px); font-weight: 650; letter-spacing: -.01em; line-height: 1.18; }
.ib-agent-points p { margin: 0; color: #4f6067; font-size: clamp(14px, .97vw, 18px); line-height: 1.38; }
.ib-agent-points b { color: var(--ink); }
.ib-agent-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ib-agent-strip section { min-width: 0; padding: 12px 17px; border-right: 1px solid var(--line); background: #f8f8f6; }
.ib-agent-strip section:last-child { border-right: 0; }
.ib-agent-strip span { color: #26765e; font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.ib-agent-strip p { margin: 5px 0 0; color: #4f6067; font-size: clamp(13px, .9vw, 17px); line-height: 1.34; }
.ib-agent-strip b { color: var(--ink); }
.ib-agent-mexiletine .ib-agent-column { border-top-color: #26765e; background: #f1f7f4; }
.ib-agent-mexiletine .ib-agent-harm { border-top-color: #a65d20; background: #fbf6ef; }
.ib-agent-mexiletine .ib-agent-column > span { color: #26765e; }
.ib-agent-mexiletine .ib-agent-harm > span { color: #a65d20; }
.class-ic-rail { background: linear-gradient(90deg, #f8f7fb 0%, #fbfcfa 54%, #f4f1f8 100%); }
.class-ic-rail h1 { max-width: 1470px; }
.class-ic-body { min-height: 0; overflow: hidden; padding: clamp(20px, 2.8vh, 34px) clamp(34px, 4vw, 72px) 16px; background: #fff; }
.class-ic-landing { background: #f1f0f7; }
.ic-overview { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: clamp(16px, 2vh, 25px); height: 100%; min-height: 0; }
.ic-roster { display: flex; justify-content: space-between; align-items: baseline; gap: 30px; padding-bottom: 13px; border-bottom: 2px solid var(--ink); }
.ic-roster p { margin: 0; color: #4f6067; font-size: clamp(17px, 1.18vw, 22px); line-height: 1.35; }
.ic-roster strong { color: var(--ink); }
.ic-roster span { flex: 0 0 auto; color: #6e52a3; font-size: clamp(15px, 1vw, 19px); font-weight: 700; letter-spacing: .04em; }
.ic-causal-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: clamp(14px, 1.6vw, 26px); align-items: stretch; min-height: 0; }
.ic-causal-chain article { display: grid; align-content: center; min-width: 0; padding: clamp(18px, 2.5vh, 30px); border-top: 5px solid #6e52a3; background: #f5f3f8; }
.ic-causal-chain article:nth-of-type(2) { border-top-color: var(--blue); background: #f4f7fb; }
.ic-causal-chain article:nth-of-type(3) { border-top-color: #26765e; background: #f1f7f4; }
.ic-causal-chain article > span { color: #6e52a3; font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.ic-causal-chain article:nth-of-type(2) > span { color: var(--blue); }
.ic-causal-chain article:nth-of-type(3) > span { color: #26765e; }
.ic-causal-chain h2 { margin: 9px 0 8px; font-size: clamp(24px, 1.75vw, 32px); font-weight: 600; letter-spacing: -.025em; line-height: 1.1; }
.ic-causal-chain p { margin: 0; color: #52636a; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.4; }
.ic-causal-chain > b { align-self: center; color: #8b999f; font-size: clamp(26px, 2.4vw, 42px); font-weight: 300; }
.ic-readout { display: grid; grid-template-columns: minmax(380px, 1.1fr) minmax(0, 1.9fr); gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f8f8f6; }
.ic-readout-claim { padding: 16px 22px; border-left: 5px solid #6e52a3; }
.ic-readout-claim > span { color: #6e52a3; font-size: 11px; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.ic-readout-claim h2 { margin: 6px 0 5px; font-size: clamp(22px, 1.55vw, 29px); font-weight: 600; letter-spacing: -.02em; line-height: 1.12; }
.ic-readout-claim p { margin: 0; color: #52636a; font-size: clamp(14px, .96vw, 18px); line-height: 1.35; }
.ic-readout dl { display: grid; grid-template-columns: repeat(5, 1fr); min-width: 0; margin: 0; }
.ic-readout dl > div { display: grid; align-content: center; gap: 7px; min-width: 0; padding: 14px 16px; border-left: 1px solid var(--line); }
.ic-readout dt { color: #748187; font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.ic-readout dd { margin: 0; color: var(--ink); font-size: clamp(17px, 1.18vw, 22px); font-weight: 650; line-height: 1.15; }
.ic-clinical { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: clamp(16px, 2vh, 25px); height: 100%; min-height: 0; }
.ic-clinical-intro { display: flex; justify-content: space-between; align-items: baseline; gap: 28px; padding-bottom: 13px; border-bottom: 2px solid var(--ink); }
.ic-clinical-intro p { margin: 0; color: #506168; font-size: clamp(17px, 1.18vw, 22px); line-height: 1.35; }
.ic-clinical-intro strong { color: var(--ink); }
.ic-clinical-intro span { flex: 0 0 auto; color: #6e52a3; font-size: 13px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.ic-clinical-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 3.6vw, 60px); min-height: 0; }
.ic-decision { min-width: 0; padding: clamp(18px, 2.4vh, 30px); border-top: 5px solid #26765e; background: #f2f7f4; }
.ic-decision-avoid { border-top-color: #b23a2c; background: #fbf2f0; }
.ic-decision > span { color: #26765e; font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.ic-decision-avoid > span { color: #b23a2c; }
.ic-decision h2 { margin: 9px 0 13px; font-size: clamp(25px, 1.82vw, 34px); font-weight: 600; letter-spacing: -.025em; line-height: 1.1; }
.ic-decision ul { display: grid; gap: 11px; margin: 0; padding-left: 21px; color: #4f6067; font-size: clamp(15px, 1.03vw, 19px); line-height: 1.38; }
.ic-decision-use h2 { margin-bottom: 10px; }
.ic-decision-use ul { gap: 8px; }
.ic-decision b { color: var(--ink); }
.flutter-trap-link { position: relative; display: block; width: 100%; height: clamp(142px, 17vh, 190px); margin: 12px 0 0; padding: 0; overflow: hidden; border: 1px solid rgba(38,118,94,.34); border-radius: 3px; background: #fff; cursor: zoom-in; }
.flutter-trap-link:hover { border-color: #26765e; box-shadow: 0 5px 16px rgba(27,64,54,.12); }
.flutter-trap-link img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.flutter-trap-link span { position: absolute; right: 8px; bottom: 7px; padding: 4px 8px; border-radius: 3px; background: rgba(20,43,51,.88); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .035em; }
.cast-study-link { display: inline; margin: 0; padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: #9e2f25; font: inherit; font-weight: 750; line-height: inherit; cursor: pointer; }
.cast-study-link:hover { color: #6f1f19; border-bottom-width: 2px; }
.ic-drug-strip { display: grid; grid-template-columns: 1fr 1fr .72fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ic-drug-strip section { padding: 13px 18px; border-right: 1px solid var(--line); background: #f8f8f6; }
.ic-drug-strip section:last-child { border-right: 0; }
.ic-drug-strip span { color: #6e52a3; font-size: 12px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.ic-drug-strip p { margin: 5px 0 0; color: #4f6067; font-size: clamp(13px, .9vw, 17px); line-height: 1.34; }
.ic-drug-strip b { color: var(--ink); }
.ic-drug-strip .ic-ecg { background: #f1f0f7; }
.teaching-landing { display: grid; grid-template-columns: minmax(210px, .22fr) 1fr; gap: 30px; align-items: center; padding: 14px clamp(34px, 4vw, 72px); border-top: 1px solid var(--line); background: #eef4f1; }
.landing-side { display: grid; gap: 8px; align-content: center; justify-items: start; }
.teaching-landing span { color: var(--teal); font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.teaching-landing p { margin: 0; color: #2f454d; font-size: clamp(18px, 1.4vw, 25px); line-height: 1.35; }
.context-button { padding: 7px 11px; border: 1px solid rgba(45,95,168,.52); border-radius: 3px; background: rgba(255,255,255,.72); color: #244f8c; font-size: 12px; font-weight: 700; letter-spacing: .045em; cursor: pointer; }
.context-button:hover { border-color: var(--blue); background: #fff; }
.class-ic-landing { grid-template-columns: minmax(320px, 360px) minmax(0, 1fr); }
.class-ic-landing .landing-side { grid-template-columns: max-content max-content; column-gap: 7px; }
.class-ic-landing .landing-side > span { grid-column: 1 / -1; }
.class-ic-landing > p { padding-right: 160px; font-size: clamp(17px, 1.25vw, 23px); }

.class-ii-rail { background: linear-gradient(90deg, #eef7f7 0%, #fbfcfa 54%, #edf5f6 100%); }
.class-ii-rail .eyebrow, .class-ii-rail .rail-meta span:first-child { color: #176d78; }
.class-ii-rail h1 { max-width: 1480px; }
.class-ii-body { min-height: 0; overflow: hidden; padding: clamp(18px, 2.5vh, 31px) clamp(34px, 4vw, 72px) 15px; background: #fff; }
.class-ii-landing { background: #edf6f6; }
.class-ii-landing span { color: #176d78; }
.class-ii-landing > p { padding-right: 160px; font-size: clamp(17px, 1.25vw, 23px); }
.class-ii-landing.has-popup-buttons { grid-template-columns: 500px minmax(0, 1fr); }
.class-ii-landing.has-popup-buttons .landing-side { grid-template-columns: repeat(3, max-content); column-gap: 7px; }
.class-ii-landing.has-popup-buttons .landing-side > span { grid-column: 1 / -1; }
.class-ii-landing.has-popup-buttons > p { font-size: clamp(16px, 1.1vw, 20px); }
.ii-overview, .ii-beta-mechanism, .ii-beta-clinical, .ii-adenosine, .ii-digoxin { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: clamp(14px, 1.8vh, 22px); height: 100%; min-height: 0; }
.ii-intro { display: flex; justify-content: space-between; align-items: baseline; gap: 28px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
.ii-intro p { margin: 0; color: #4e6067; font-size: clamp(16px, 1.13vw, 21px); line-height: 1.35; }
.ii-intro strong { color: var(--ink); }
.ii-intro > span { flex: 0 0 auto; color: #176d78; font-size: 12px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.ii-signal-layout { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 2.4vw, 38px); min-height: 0; }
.ii-signal-card { display: grid; align-content: center; min-width: 0; padding: clamp(19px, 2.5vh, 30px); border-top: 5px solid #b16f19; background: #faf6ef; }
.ii-signal-card > span { color: #996016; font-size: 11px; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.ii-signal-card h2 { margin: 9px 0 2px; font-size: clamp(30px, 2.2vw, 42px); font-weight: 650; letter-spacing: -.035em; line-height: 1.02; }
.ii-signal-card h3 { margin: 0 0 12px; color: #996016; font-size: clamp(22px, 1.65vw, 31px); font-weight: 620; letter-spacing: -.025em; line-height: 1.1; }
.ii-signal-card p { margin: 0; color: #4e6067; font-size: clamp(14px, .98vw, 18px); line-height: 1.4; }
.ii-signal-card strong { display: block; margin-top: 18px; padding-top: 13px; border-top: 1px solid rgba(78,96,103,.23); color: #7f4f10; font-size: clamp(15px, 1.02vw, 19px); line-height: 1.3; }
.ii-signal-gi { border-top-color: #2d5fa8; background: #f2f5fa; }
.ii-signal-gi > span, .ii-signal-gi h3, .ii-signal-gi strong { color: #2d5fa8; }
.ii-signal-m2 { border-top-color: #26765e; background: #f1f7f4; }
.ii-signal-m2 > span, .ii-signal-m2 h3, .ii-signal-m2 strong { color: #26765e; }
.ii-convergence-strip { display: grid; grid-template-columns: 1fr auto 1.28fr auto 1fr; gap: 16px; align-items: center; padding: 13px 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f7f9f8; }
.ii-convergence-strip div { min-width: 0; }
.ii-convergence-strip span { color: #176d78; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.ii-convergence-strip strong { display: block; margin-top: 5px; font-size: clamp(15px, 1.04vw, 19px); line-height: 1.22; }
.ii-convergence-strip > b { color: #88989e; font-size: 24px; font-weight: 350; }

.ii-beta-chain { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(13px, 1.45vw, 22px); min-height: 0; }
.ii-beta-chain article { position: relative; display: grid; align-content: center; min-width: 0; padding: clamp(17px, 2.2vh, 27px); border-top: 5px solid #176d78; background: #f0f6f7; }
.ii-beta-chain article:not(:last-child)::after { content: "→"; position: absolute; top: 50%; right: calc(clamp(13px, 1.45vw, 22px) * -.72); z-index: 1; color: #88989e; font-size: 25px; transform: translate(50%, -50%); }
.ii-beta-chain article > span { color: #176d78; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.ii-beta-chain h2 { margin: 8px 0 7px; font-size: clamp(20px, 1.46vw, 27px); font-weight: 620; letter-spacing: -.02em; line-height: 1.1; }
.ii-beta-chain p { margin: 0; color: #52636a; font-size: clamp(13px, .92vw, 17px); line-height: 1.36; }
.ii-job-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ii-job-grid article { padding: 12px 17px; border-right: 1px solid var(--line); background: #fafaf8; }
.ii-job-grid article:last-child { border-right: 0; }
.ii-job-grid span, .ii-ecg-strip span { color: #176d78; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.ii-job-grid h3 { margin: 5px 0 3px; font-size: clamp(16px, 1.08vw, 20px); line-height: 1.18; }
.ii-job-grid p { margin: 0; color: #52636a; font-size: clamp(12px, .84vw, 15px); line-height: 1.32; }
.ii-ecg-strip { display: grid; grid-template-columns: auto 1fr 1.1fr; gap: 18px; align-items: center; padding: 10px 16px; border-left: 4px solid #176d78; background: #edf5f6; }
.ii-ecg-strip strong { font-size: clamp(15px, 1.03vw, 19px); }
.ii-ecg-strip p { margin: 0; color: #52636a; font-size: clamp(12px, .84vw, 15px); line-height: 1.3; }
.ii-beta-mechanism { grid-template-rows: auto minmax(0, 1fr) auto auto; }

.ii-agent-table { display: grid; grid-template-rows: auto repeat(3, 1fr); min-height: 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.ii-agent-row { display: grid; grid-template-columns: .72fr 1.22fr 1.06fr 1.15fr; min-height: 0; border-bottom: 1px solid var(--line); }
.ii-agent-row:last-child { border-bottom: 0; }
.ii-agent-row > div { display: grid; align-content: center; min-width: 0; padding: clamp(9px, 1.2vh, 14px) 15px; border-right: 1px solid var(--line); color: #4e6067; font-size: clamp(13px, .92vw, 17px); line-height: 1.32; }
.ii-agent-row > div:last-child { border-right: 0; }
.ii-agent-head > div { padding-top: 8px; padding-bottom: 8px; color: #75848a; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.ii-agent-row h2 { margin: 0; color: var(--ink); font-size: clamp(21px, 1.48vw, 27px); font-weight: 620; letter-spacing: -.02em; }
.ii-agent-row small { display: block; margin-top: 4px; color: #176d78; font-size: 11px; font-weight: 700; line-height: 1.25; }
.ii-agent-caution { background: #fbf4f1; }
.ii-safety-band { display: flex; gap: 10px 24px; align-items: baseline; flex-wrap: wrap; padding: 11px 15px; border-left: 4px solid #b23a2c; background: #fbf3f1; color: #52636a; font-size: clamp(12px, .85vw, 16px); line-height: 1.3; }
.ii-safety-band strong { color: #9e3026; }

.ii-adeno-main { display: grid; grid-template-columns: 1.58fr .72fr; gap: clamp(26px, 3vw, 48px); min-height: 0; }
.ii-adeno-sequence { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(13px, 1.6vw, 22px); min-height: 0; }
.ii-adeno-sequence article { position: relative; display: grid; align-content: center; min-width: 0; padding: clamp(17px, 2.1vh, 25px); border-top: 4px solid #2d5fa8; background: #f2f5fa; }
.ii-adeno-sequence article > span, .ii-adeno-clinical span, .ii-adeno-clock > span { color: #2d5fa8; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.ii-adeno-sequence h2 { margin: 7px 0 6px; font-size: clamp(19px, 1.4vw, 26px); font-weight: 620; line-height: 1.1; }
.ii-adeno-sequence p { margin: 0; color: #52636a; font-size: clamp(13px, .9vw, 16px); line-height: 1.34; }
.ii-adeno-clinical { display: grid; grid-template-rows: repeat(3, 1fr); min-height: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ii-adeno-clinical section { display: grid; align-content: center; min-width: 0; padding: clamp(12px, 1.6vh, 18px); border-bottom: 1px solid var(--line); background: #fafaf8; }
.ii-adeno-clinical section:last-child { border-bottom: 0; }
.ii-adeno-clinical h3 { margin: 5px 0 4px; font-size: clamp(17px, 1.18vw, 22px); line-height: 1.14; }
.ii-adeno-clinical p { margin: 0; color: #52636a; font-size: clamp(12px, .85vw, 15px); line-height: 1.32; }
.ii-adeno-clinical .ii-adeno-warning { border-left: 4px solid #b23a2c; background: #fbf3f1; }
.ii-adeno-warning span { color: #a33228; }
.ii-adeno-clock { display: grid; grid-template-columns: auto auto minmax(180px, 1fr) 1.8fr; gap: 14px; align-items: center; padding: 11px 16px; background: #edf5f9; }
.ii-adeno-clock strong { color: #2d5fa8; font-size: clamp(18px, 1.3vw, 24px); }
.ii-adeno-clock > div { height: 7px; overflow: hidden; border-radius: 10px; background: #d4dee8; }
.ii-adeno-clock i { display: block; width: 14%; height: 100%; border-radius: inherit; background: #2d5fa8; }
.ii-adeno-clock p { margin: 0; color: #52636a; font-size: clamp(12px, .86vw, 16px); line-height: 1.3; }

.ii-digoxin-paths { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 3.2vw, 52px); min-height: 0; }
.ii-digoxin-path { display: grid; align-content: center; min-width: 0; padding: clamp(18px, 2.4vh, 29px); border-top: 5px solid #a95d1c; background: #faf5ef; }
.ii-digoxin-path > span { color: #995316; font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.ii-digoxin-path h2 { margin: 8px 0 15px; font-size: clamp(23px, 1.65vw, 31px); font-weight: 620; letter-spacing: -.025em; line-height: 1.1; }
.ii-digoxin-path h3 { margin: 16px 0 5px; font-size: clamp(19px, 1.35vw, 25px); }
.ii-digoxin-path p { margin: 0; color: #52636a; font-size: clamp(13px, .92vw, 17px); line-height: 1.34; }
.ii-digoxin-node { border-top-color: #26765e; background: #f1f7f4; }
.ii-digoxin-node > span { color: #26765e; }
.ii-mini-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 9px; align-items: center; }
.ii-mini-chain b { padding: 10px 11px; background: rgba(255,255,255,.72); font-size: clamp(13px, .9vw, 16px); line-height: 1.2; text-align: center; }
.ii-mini-chain i { color: #87969c; font-size: 21px; font-style: normal; }
.ii-digoxin-clinical { display: grid; grid-template-columns: 1fr 1.25fr .9fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ii-digoxin-clinical article { padding: 12px 16px; border-right: 1px solid var(--line); background: #fafaf8; }
.ii-digoxin-clinical article:last-child { border-right: 0; }
.ii-digoxin-clinical span { color: #26765e; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.ii-digoxin-clinical h3 { margin: 5px 0 4px; font-size: clamp(15px, 1.04vw, 19px); line-height: 1.18; }
.ii-digoxin-clinical p { margin: 0; color: #52636a; font-size: clamp(11px, .8vw, 15px); line-height: 1.32; }
.ii-digoxin-clinical .ii-digoxin-toxic { background: #fbf3f1; }
.ii-digoxin-toxic span { color: #a33228; }
.ii-digoxin-clinical .ii-digoxin-boundary { background: #f1f5fa; }
.ii-digoxin-boundary span { color: #2d5fa8; }

.class-iii-rail { background: linear-gradient(90deg, #fbf7ef 0%, #fbfcfa 54%, #f6f1e7 100%); }
.class-iii-rail .eyebrow, .class-iii-rail .rail-meta span:first-child { color: #9a5a08; }
.class-iii-rail h1 { max-width: 1460px; }
.class-iii-body { min-height: 0; overflow: hidden; padding: clamp(20px, 2.8vh, 34px) clamp(34px, 4vw, 72px) 16px; background: #fff; }
.class-iii-landing { background: #f7f2e8; }
.class-iii-landing span { color: #8b5b05; }
.class-iii-landing > p { padding-right: 160px; font-size: clamp(17px, 1.25vw, 23px); }
.class-iii-landing.has-popup-buttons { grid-template-columns: 455px minmax(0, 1fr); }
.class-iii-landing.has-popup-buttons .landing-side { grid-template-columns: repeat(3, max-content); column-gap: 7px; }
.class-iii-landing.has-popup-buttons .landing-side > span { grid-column: 1 / -1; }
.class-iii-landing.has-popup-buttons > p { font-size: clamp(16px, 1.1vw, 20px); }
.iii-overview, .iii-mechanism, .iii-clinical, .iii-amiodarone, .iii-amio-pk-slide, .iii-amio-toxicity, .iii-dronedarone { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: clamp(15px, 2vh, 24px); height: 100%; min-height: 0; }
.iii-amio-pk-slide { grid-template-rows: auto minmax(0, 1fr) clamp(190px, 20vh, 260px); }
.iii-amio-paradox { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: clamp(22px, 3vh, 38px); height: 100%; min-height: 0; }
.iii-reserve-intro { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: clamp(14px, 1.8vh, 22px); height: 100%; min-height: 0; }
.iii-reserve-top { display: grid; grid-template-columns: 1.16fr .84fr; gap: clamp(24px, 3vw, 48px); align-items: stretch; }
.iii-reserve-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1.25fr auto 1.05fr; align-items: center; gap: clamp(8px, 1vw, 16px); min-width: 0; }
.iii-reserve-chain div { display: grid; place-items: center; min-height: 68px; padding: 10px 12px; border: 1px solid var(--line); background: #fafaf8; color: #56656c; font-size: clamp(14px, 1.02vw, 18px); line-height: 1.2; text-align: center; }
.iii-reserve-chain b { color: #8c989d; font-size: 24px; font-weight: 350; }
.iii-reserve-chain .iii-reserve-outcome { border: 2px solid var(--ink); color: var(--ink); font-weight: 700; }
.iii-reserve-definition { display: grid; align-content: center; gap: 8px; padding: 15px 20px; border-left: 5px solid #b23a2c; background: #fbf3f1; }
.iii-reserve-definition p { margin: 0; color: #4f5f66; font-size: clamp(15px, 1.1vw, 20px); line-height: 1.36; }
.iii-reserve-definition strong { color: var(--ink); }
.iii-reserve-figure { display: grid; place-items: center; min-height: 0; margin: 0; padding: clamp(10px, 1.5vh, 16px); border: 1px solid var(--line); background: #fff; }
.iii-reserve-figure img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.iii-intro { display: flex; justify-content: space-between; align-items: baseline; gap: 28px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
.iii-intro p { margin: 0; color: #4f6067; font-size: clamp(16px, 1.15vw, 21px); line-height: 1.35; }
.iii-intro strong { color: var(--ink); }
.iii-intro > span { flex: 0 0 auto; color: #9a5a08; font-size: 12px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-family-main, .iii-amio-stack { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: clamp(15px, 2vh, 24px); min-height: 0; }
.iii-shared-axis { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: clamp(12px, 1.4vw, 22px); align-items: center; padding: clamp(16px, 2vh, 23px) clamp(18px, 2vw, 28px); background: #f8f5ef; }
.iii-shared-axis > div { min-width: 0; }
.iii-shared-axis span { color: #9a5a08; font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-shared-axis strong { display: block; margin-top: 5px; font-size: clamp(20px, 1.55vw, 28px); line-height: 1.12; }
.iii-shared-axis > b { color: #9aa4a8; font-size: 28px; font-weight: 300; }
.iii-branch-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 3.2vw, 52px); min-height: 0; }
.iii-branch { min-width: 0; padding: clamp(19px, 2.5vh, 30px); border-top: 5px solid #c17713; background: #faf6ef; }
.iii-branch-multi { border-top-color: #26765e; background: #f1f7f4; }
.iii-branch > span { color: #9a5a08; font-size: 12px; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.iii-branch-multi > span { color: #26765e; }
.iii-branch h2 { margin: 8px 0 9px; font-size: clamp(25px, 1.8vw, 33px); font-weight: 600; letter-spacing: -.025em; line-height: 1.08; }
.iii-branch p { margin: 0; color: #506168; font-size: clamp(15px, 1.02vw, 19px); line-height: 1.38; }
.iii-agent-line { margin-top: 17px; padding-top: 14px; border-top: 1px solid rgba(80,96,103,.24); }
.iii-agent-line strong { display: block; color: var(--ink); font-size: clamp(18px, 1.25vw, 23px); }
.iii-agent-line small { display: block; margin-top: 4px; color: #617078; font-size: clamp(13px, .88vw, 16px); line-height: 1.35; }
.iii-family-strip, .iii-monitor-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fafaf8; }
.iii-family-strip div, .iii-monitor-strip div { padding: 12px 17px; border-right: 1px solid var(--line); }
.iii-family-strip div:last-child, .iii-monitor-strip div:last-child { border-right: 0; }
.iii-family-strip span, .iii-monitor-strip span { color: #7b8589; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-family-strip strong, .iii-monitor-strip strong { display: block; margin-top: 5px; color: var(--ink); font-size: clamp(15px, 1.04vw, 19px); line-height: 1.22; }
.iii-mech-main { display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: clamp(16px, 2vh, 24px); min-height: 0; }
.iii-mech-chain { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 1.5vw, 24px); min-height: 0; }
.iii-mech-step { position: relative; display: grid; align-content: center; min-width: 0; padding: clamp(18px, 2.4vh, 30px); border-top: 5px solid #c17713; background: #faf6ef; }
.iii-mech-step:not(:last-child)::after { content: "→"; position: absolute; top: 50%; right: calc(clamp(14px, 1.5vw, 24px) * -.72); z-index: 1; color: #87959a; font-size: 26px; transform: translate(50%, -50%); }
.iii-mech-step span { color: #9a5a08; font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-mech-step h2 { margin: 8px 0 7px; font-size: clamp(21px, 1.55vw, 28px); font-weight: 600; line-height: 1.1; }
.iii-mech-step p { margin: 0; color: #52636a; font-size: clamp(14px, .98vw, 18px); line-height: 1.35; }
.iii-mech-step img { display: block; width: min(100%, 164px); height: clamp(104px, 14vh, 142px); margin: clamp(16px, 2.2vh, 24px) auto 0; object-fit: contain; }
.iii-effect-split { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.iii-effect-split article { padding: 13px 18px; background: #f1f7f4; }
.iii-effect-split article:last-child { background: #fbf1ef; }
.iii-effect-split span { color: #26765e; font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-effect-split article:last-child span { color: #b23a2c; }
.iii-effect-split p { margin: 5px 0 0; color: #465960; font-size: clamp(14px, .98vw, 18px); line-height: 1.34; }
.iii-risk-factors { display: flex; gap: 12px 26px; flex-wrap: wrap; padding: 12px 17px; border-left: 4px solid #b23a2c; background: #fbf3f1; color: #52636a; font-size: clamp(14px, .98vw, 18px); }
.iii-risk-factors strong { color: #982f24; }
.iii-agent-table { display: grid; grid-template-rows: auto repeat(3, 1fr); min-height: 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.iii-agent-row { display: grid; grid-template-columns: .62fr 1.12fr 1.28fr 1.08fr; min-height: 0; border-bottom: 1px solid var(--line); }
.iii-agent-row:last-child { border-bottom: 0; }
.iii-agent-row > div { display: grid; align-content: center; min-width: 0; padding: clamp(10px, 1.3vh, 16px) 16px; border-right: 1px solid var(--line); color: #4e6067; font-size: clamp(14px, .98vw, 18px); line-height: 1.34; }
.iii-agent-row > div:last-child { border-right: 0; }
.iii-agent-head > div { padding-top: 9px; padding-bottom: 9px; color: #77848a; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-agent-row h2 { margin: 0; color: var(--ink); font-size: clamp(22px, 1.55vw, 29px); font-weight: 600; }
.iii-agent-row small { display: block; margin-top: 4px; color: #9a5a08; font-size: 12px; font-weight: 700; }
.iii-agent-caution { background: #fbf4f1; }
.iii-table-foot { margin: 0; color: #5c6b72; font-size: clamp(13px, .9vw, 16px); line-height: 1.35; }
.iii-channel-band { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.iii-channel-band div { padding: 13px 17px; border-right: 1px solid var(--line); background: #faf8f3; }
.iii-channel-band div:last-child { border-right: 0; }
.iii-channel-band span { color: #9a5a08; font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-channel-band strong { display: block; margin-top: 5px; font-size: clamp(16px, 1.12vw, 21px); line-height: 1.2; }
.iii-amio-main, .iii-drone-main { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 3.3vw, 54px); min-height: 0; }
.iii-amio-main article, .iii-drone-main article { min-width: 0; padding: clamp(18px, 2.3vh, 28px) 0; border-top: 5px solid #26765e; }
.iii-amio-main article:last-child, .iii-drone-main article:last-child { border-top-color: #b23a2c; }
.iii-amio-main > article > span, .iii-drone-main > article > span { color: #26765e; font-size: 12px; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.iii-amio-main > article:last-child > span, .iii-drone-main > article:last-child > span { color: #b23a2c; }
.iii-amiodarone .iii-amio-main article:last-child { border-top-color: #315fa5; }
.iii-amiodarone .iii-amio-main > article:last-child > span { color: #315fa5; }
.iii-amio-main h2, .iii-drone-main h2 { margin: 8px 0 12px; font-size: clamp(24px, 1.75vw, 32px); font-weight: 600; letter-spacing: -.02em; line-height: 1.1; }
.iii-amio-main ul, .iii-drone-main ul { display: grid; gap: 10px; margin: 0; padding-left: 21px; color: #4f6067; font-size: clamp(15px, 1.02vw, 19px); line-height: 1.38; }
.iii-amio-main b, .iii-drone-main b { color: var(--ink); }
.iii-amiodarone .iii-amio-main article { display: grid; align-content: center; padding-top: 0; padding-bottom: 0; }
.iii-amiodarone .iii-amio-main h2 { margin-bottom: clamp(16px, 2vh, 23px); font-size: clamp(25px, 1.82vw, 34px); }
.iii-amiodarone .iii-amio-main ul { gap: clamp(12px, 1.55vh, 17px); font-size: clamp(16px, 1.1vw, 20px); line-height: 1.42; }
.iii-paradox-thesis { padding-bottom: clamp(18px, 2.5vh, 30px); border-bottom: 2px solid var(--ink); }
.iii-paradox-thesis p { max-width: 1120px; margin: 0; color: var(--ink); font-size: clamp(29px, 2.25vw, 43px); font-weight: 620; letter-spacing: -.03em; line-height: 1.12; }
.iii-paradox-thesis span { display: block; margin-top: 12px; color: #56666d; font-size: clamp(16px, 1.15vw, 21px); line-height: 1.35; }
.iii-paradox-main { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(42px, 5vw, 78px); min-height: 0; }
.iii-paradox-reasons { min-width: 0; align-self: center; }
.iii-paradox-reasons h2 { margin: 0; padding-bottom: 12px; border-bottom: 3px solid var(--ink); color: #7b8589; font-size: 12px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.iii-paradox-row { display: grid; grid-template-columns: minmax(180px, .72fr) minmax(0, 1.7fr); gap: clamp(18px, 2vw, 30px); padding: clamp(15px, 2vh, 22px) 0; border-bottom: 1px solid var(--line); }
.iii-paradox-row strong { color: var(--ink); font-size: clamp(18px, 1.3vw, 24px); font-weight: 600; line-height: 1.2; }
.iii-paradox-row p { margin: 0; color: #4f6067; font-size: clamp(16px, 1.12vw, 21px); line-height: 1.38; }
.iii-paradox-distinction { align-self: center; padding: clamp(24px, 3.2vh, 38px) clamp(25px, 2.8vw, 44px); border-left: 6px solid #b23a2c; background: #fbf3f1; }
.iii-paradox-distinction > span { color: #a33228; font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.iii-paradox-distinction p { margin: 14px 0 20px; color: #53636a; font-size: clamp(21px, 1.55vw, 29px); line-height: 1.35; }
.iii-paradox-distinction strong { color: var(--ink); }
.iii-paradox-distinction small { display: block; padding-top: 17px; border-top: 1px solid rgba(178,58,44,.25); color: #6a5654; font-size: clamp(14px, .96vw, 18px); line-height: 1.4; }
.iii-pk-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1.08fr; align-items: stretch; gap: clamp(10px, 1.2vw, 19px); min-width: 0; }
.iii-pk-chain article { min-width: 0; padding: clamp(15px, 1.8vh, 21px) clamp(16px, 1.5vw, 23px); border-top: 4px solid #9a5a08; background: #faf6ef; }
.iii-pk-chain article:nth-of-type(2) { border-top-color: #315fa5; background: #f1f5fa; }
.iii-pk-chain article:nth-of-type(3) { border-top-color: #26765e; background: #f1f7f4; }
.iii-pk-chain > b { align-self: center; color: #89979c; font-size: 25px; font-weight: 350; }
.iii-pk-chain span, .iii-pk-phase > span, .iii-pk-interactions span { color: #8f570a; font-size: 10px; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.iii-pk-chain article:nth-of-type(2) span { color: #315fa5; }
.iii-pk-chain article:nth-of-type(3) span { color: #26765e; }
.iii-pk-chain h2 { margin: 7px 0 6px; color: var(--ink); font-size: clamp(19px, 1.35vw, 25px); font-weight: 620; letter-spacing: -.02em; line-height: 1.12; }
.iii-pk-chain p { margin: 0; color: #52636a; font-size: clamp(12px, .86vw, 16px); line-height: 1.32; }
.iii-pk-timecourse { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto minmax(0, 1fr); gap: clamp(13px, 1.6vh, 19px) clamp(24px, 2.8vw, 44px); min-height: 0; }
.iii-pk-metabolite { grid-column: 1 / -1; grid-row: 1; display: grid; grid-template-columns: max-content auto max-content minmax(0, 1fr); align-items: center; gap: 12px; min-width: 0; padding: 10px 16px; border-top: 1px solid #b7c8db; border-bottom: 1px solid #b7c8db; background: #f4f7fb; }
.iii-pk-metabolite span { color: #315fa5; font-size: 10px; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.iii-pk-metabolite b { color: #89979c; font-size: 20px; font-weight: 350; }
.iii-pk-metabolite strong { color: var(--ink); font-size: clamp(16px, 1.15vw, 21px); }
.iii-pk-metabolite em { min-width: 0; color: #5b6c75; font-size: clamp(12px, .86vw, 16px); font-style: normal; text-align: right; }
.iii-pk-phase { grid-row: 2; display: flex; flex-direction: column; min-width: 0; padding: clamp(17px, 2vh, 23px) clamp(18px, 1.8vw, 27px); border-top: 5px solid #315fa5; background: #f1f5fa; }
.iii-pk-phase-chronic { grid-column: 2; border-top-color: #26765e; background: #f1f7f4; }
.iii-pk-phase > span { color: #315fa5; }
.iii-pk-phase-chronic > span { color: #26765e; }
.iii-pk-phase h2 { margin: 7px 0 13px; color: var(--ink); font-size: clamp(21px, 1.5vw, 28px); font-weight: 620; letter-spacing: -.025em; line-height: 1.1; }
.iii-pk-effect-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-bottom: 13px; }
.iii-pk-effect-row b { display: grid; place-items: center; min-height: 38px; padding: 7px 8px; border: 1px solid rgba(49,95,165,.2); background: rgba(255,255,255,.72); color: #315fa5; font-size: clamp(12px, .84vw, 15px); line-height: 1.15; text-align: center; }
.iii-pk-phase-chronic .iii-pk-effect-row b { border-color: rgba(38,118,94,.2); color: #26765e; }
.iii-pk-phase p { margin: 0; color: #4d6068; font-size: clamp(13px, .92vw, 17px); line-height: 1.37; }
.iii-pk-facts { margin-top: auto !important; padding-top: clamp(15px, 2vh, 22px); border-top: 1px solid rgba(49,95,165,.22); color: #52636a !important; font-size: clamp(13px, .9vw, 17px) !important; line-height: 1.34 !important; }
.iii-pk-phase-chronic .iii-pk-facts { border-top-color: rgba(38,118,94,.22); }
.iii-pk-facts strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: clamp(16px, 1.12vw, 20px); line-height: 1.2; }
.iii-pk-interactions { display: grid; grid-template-columns: .9fr 1fr 1.18fr 1fr; min-width: 0; border-left: 6px solid #b23a2c; background: #fbf3f1; }
.iii-pk-interactions > div { display: grid; align-content: center; min-width: 0; padding: clamp(15px, 1.8vh, 21px) 18px; border-right: 1px solid rgba(178,58,44,.2); }
.iii-pk-interactions > div:last-child { border-right: 0; }
.iii-pk-interactions span { color: #a33228; }
.iii-pk-interactions strong { display: block; margin-top: 6px; color: var(--ink); font-size: clamp(15px, 1.04vw, 19px); line-height: 1.2; }
.iii-pk-interactions p { margin: 7px 0 0; color: #655451; font-size: clamp(12px, .82vw, 15px); line-height: 1.32; }
.iii-pk-flag { grid-template-columns: 48px 1fr; grid-template-rows: auto auto; column-gap: 12px; }
.iii-pk-flag > span { grid-row: 1 / 3; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #b23a2c; color: #fff; font-size: 28px; font-weight: 800; line-height: 1; }
.iii-pk-flag strong { margin: 0; color: #9c3026; font-size: clamp(19px, 1.3vw, 24px); }
.iii-pk-flag small { color: #765d59; font-size: clamp(12px, .82vw, 15px); line-height: 1.28; }
.iii-amio-monitor-layout { display: grid; grid-template-columns: 1.72fr .68fr; gap: clamp(22px, 2.4vw, 36px); min-height: 0; }
.iii-amio-monitor-table { display: grid; grid-template-rows: auto repeat(5, minmax(0, 1fr)) minmax(0, 1.08fr); min-height: 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.iii-amio-monitor-row { display: grid; grid-template-columns: 1.18fr .72fr .92fr 1.42fr; min-height: 0; border-bottom: 1px solid var(--line); }
.iii-amio-monitor-row:last-child { border-bottom: 0; }
.iii-amio-monitor-row > div { display: grid; align-content: center; min-width: 0; padding: clamp(7px, .9vh, 11px) 13px; border-right: 1px solid var(--line); color: #4d5f66; font-size: clamp(12px, .85vw, 16px); line-height: 1.26; }
.iii-amio-monitor-row > div:last-child { border-right: 0; }
.iii-amio-monitor-row span { color: #a33228; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-amio-monitor-row strong { display: block; margin-top: 3px; color: var(--ink); font-size: clamp(14px, .96vw, 18px); line-height: 1.16; }
.iii-amio-monitor-row b { color: var(--ink); }
.iii-amio-monitor-row small { color: #65747a; font-size: .88em; line-height: 1.22; }
.iii-amio-monitor-row .iii-amio-rate { display: block; margin-top: 5px; color: #745d56; font-size: clamp(9px, .64vw, 12px); font-weight: 700; line-height: 1.18; }
.iii-amio-monitor-row.iii-amio-lung-row > div:first-child { border-left: 5px solid #b53b31; padding-left: 8px; background: #fbefed; }
.iii-amio-monitor-row.iii-amio-lung-row > div:first-child span, .iii-amio-monitor-row.iii-amio-lung-row .iii-amio-rate { color: #a13228; }
.iii-amio-monitor-row .iii-amio-action { padding-right: 11px; background: rgba(178,58,44,.035); color: #5d504d; font-size: clamp(11px, .78vw, 14px); line-height: 1.27; }
.iii-amio-monitor-row .iii-amio-action b { color: #9e3026; }
.iii-amio-monitor-head > div { padding-top: 8px; padding-bottom: 8px; color: #77848a; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-amio-persistence { display: grid; align-content: center; min-width: 0; padding: clamp(20px, 2.6vh, 32px) clamp(21px, 2.4vw, 36px); border-left: 6px solid #b23a2c; background: #fbf3f1; }
.iii-amio-persistence > span, .iii-amio-symptoms > span { color: #a33228; font-size: 11px; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.iii-amio-persistence h2 { margin: 10px 0 18px; color: var(--ink); font-size: clamp(24px, 1.8vw, 33px); font-weight: 620; letter-spacing: -.025em; line-height: 1.12; }
.iii-amio-pk { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(178,58,44,.25); border-bottom: 1px solid rgba(178,58,44,.25); }
.iii-amio-pk div { padding: 13px 12px 13px 0; }
.iii-amio-pk div + div { padding-left: 15px; border-left: 1px solid rgba(178,58,44,.25); }
.iii-amio-pk span { display: block; color: #7a6562; font-size: 10px; font-weight: 700; letter-spacing: .07em; line-height: 1.18; text-transform: uppercase; }
.iii-amio-pk strong { display: block; margin-top: 5px; color: #9e2f25; font-size: clamp(23px, 1.7vw, 31px); line-height: 1; }
.iii-amio-persistence > p { margin: 17px 0 0; color: #5e4e4c; font-size: clamp(14px, .98vw, 18px); line-height: 1.4; }
.iii-amio-symptoms { margin-top: 18px; padding-top: 15px; border-top: 1px solid rgba(178,58,44,.25); }
.iii-amio-symptoms p { margin: 6px 0 0; color: #5e4e4c; font-size: clamp(13px, .9vw, 17px); line-height: 1.35; }
.iii-amio-review { display: grid; grid-template-columns: 34px max-content 1fr; align-items: center; gap: 14px 17px; padding: 11px 16px; border-left: 5px solid #b23a2c; background: #fbf3f1; }
.iii-amio-review > b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #b23a2c; color: #fff; font-size: 20px; font-weight: 800; line-height: 1; }
.iii-amio-review span { color: #a33228; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-amio-review strong { color: #5c4542; font-size: clamp(13px, .92vw, 17px); line-height: 1.3; }
.iii-amio-toxicity-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: clamp(13px, 1.7vh, 20px) clamp(20px, 2.5vw, 40px); min-height: 0; }
.iii-amio-toxicity-grid article { min-width: 0; padding: clamp(14px, 1.8vh, 20px) clamp(16px, 1.7vw, 24px); border-top: 5px solid #b23a2c; background: #fbf3f1; }
.iii-amio-toxicity-grid article:nth-child(2) { border-top-color: #9a5a08; background: #faf6ef; }
.iii-amio-toxicity-grid article:nth-child(3) { border-top-color: #a33228; }
.iii-amio-toxicity-grid article:nth-child(4) { border-top-color: #315fa5; background: #f1f5fa; }
.iii-amio-toxicity-grid span { color: #a33228; font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-amio-toxicity-grid article:nth-child(2) span { color: #8b5b05; }
.iii-amio-toxicity-grid article:nth-child(4) span { color: #315fa5; }
.iii-amio-toxicity-grid h2 { margin: 7px 0 7px; font-size: clamp(20px, 1.4vw, 26px); font-weight: 600; letter-spacing: -.02em; line-height: 1.08; }
.iii-amio-toxicity-grid p { margin: 0; color: #4f6067; font-size: clamp(13px, .9vw, 17px); line-height: 1.36; }
.iii-amio-toxicity-grid b { color: var(--ink); }
.iii-amio-surveillance { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fafaf8; }
.iii-amio-surveillance div { padding: 12px 17px; border-right: 1px solid var(--line); }
.iii-amio-surveillance div:last-child { border-right: 0; }
.iii-amio-surveillance span { color: #7b8589; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-amio-surveillance strong { display: block; margin-top: 5px; color: var(--ink); font-size: clamp(14px, .98vw, 18px); line-height: 1.22; }
.iii-dronedarone { gap: clamp(12px, 1.6vh, 20px); }
.iii-drone-layout { display: grid; grid-template-columns: 1.48fr .72fr; gap: clamp(25px, 3vw, 46px); min-height: 0; }
.iii-drone-comparison { display: grid; grid-template-rows: auto repeat(5, 1fr); min-height: 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.iii-drone-row { display: grid; grid-template-columns: .7fr 1.15fr 1.15fr; min-height: 0; border-bottom: 1px solid var(--line); }
.iii-drone-row:last-child { border-bottom: 0; }
.iii-drone-row > * { display: grid; align-content: center; min-width: 0; margin: 0; padding: clamp(8px, 1.05vh, 13px) 14px; border-right: 1px solid var(--line); color: #4e6067; font-size: clamp(12px, .86vw, 16px); line-height: 1.3; }
.iii-drone-row > *:last-child { border-right: 0; }
.iii-drone-row > span { color: #6e52a3; font-size: 10px; font-weight: 760; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.iii-drone-row > p:nth-child(2) { background: #f3f1f8; }
.iii-drone-row > p:nth-child(3) { background: #f8f8f6; }
.iii-drone-row b { color: var(--ink); }
.iii-drone-head > * { padding-top: 9px; padding-bottom: 9px; color: #77848a; font-size: 10px; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.iii-drone-head strong:nth-child(2) { color: #6e52a3; background: #eeeaf5; }
.iii-drone-head strong:nth-child(3) { color: #26765e; background: #edf5f1; }
.iii-drone-selection { display: grid; grid-template-rows: .82fr 1.18fr; gap: clamp(13px, 1.6vh, 19px); min-height: 0; }
.iii-drone-selection > div { display: grid; align-content: center; min-width: 0; padding: clamp(16px, 2vh, 24px); border-top: 5px solid #26765e; background: #f1f7f4; }
.iii-drone-selection span { color: #26765e; font-size: 10px; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.iii-drone-selection h2 { margin: 7px 0 9px; color: var(--ink); font-size: clamp(19px, 1.38vw, 26px); font-weight: 620; letter-spacing: -.02em; line-height: 1.1; }
.iii-drone-selection p { margin: 0; color: #506168; font-size: clamp(12px, .86vw, 16px); line-height: 1.34; }
.iii-drone-warning { border-top-color: #b23a2c !important; background: #fbf3f1 !important; }
.iii-drone-warning span { color: #a33228; }
.iii-drone-warning p + p { margin-top: 10px; }
.iii-drone-warning b { color: var(--ink); }
.iii-drone-monitor { display: grid; grid-template-columns: 1.38fr .68fr 1fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.iii-drone-monitor div { padding: 11px 15px; border-right: 1px solid var(--line); background: #f8f8f6; }
.iii-drone-monitor div:first-child { background: #fbf3f1; }
.iii-drone-monitor div:last-child { border-right: 0; }
.iii-drone-monitor span { color: #6e52a3; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iii-drone-monitor div:first-child span { color: #a33228; }
.iii-drone-monitor strong { display: block; margin-top: 5px; color: var(--ink); font-size: clamp(13px, .92vw, 17px); line-height: 1.24; }

.image-modal[hidden] { display: none; }
.image-modal { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: clamp(22px, 3.2vw, 52px); background: rgba(16,31,36,.76); }
.image-modal-card { display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(1420px, 96vw); max-height: 94vh; padding: clamp(20px, 2.2vw, 34px); border: 1px solid rgba(255,255,255,.45); background: #fff; box-shadow: 0 28px 90px rgba(5,15,18,.35); }
.image-modal-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; padding-bottom: 16px; }
.image-modal-head h2 { margin: 6px 0 0; color: var(--ink); font-size: clamp(27px, 2.2vw, 40px); font-weight: 550; letter-spacing: -.03em; line-height: 1.08; }
.modal-actions { display:flex; flex:0 0 auto; align-items:center; gap:12px; }
.zoom-gesture-hint { max-width:190px; color:#62747b; font-size:12px; line-height:1.25; text-align:right; }
.image-zoom-controls { display:flex; align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:5px; background:#f7f8f6; }
.image-zoom-controls button { min-width:40px; height:40px; padding:0 12px; border:0; border-right:1px solid var(--line); background:transparent; color:var(--ink); font-size:20px; line-height:1; cursor:pointer; }
.image-zoom-controls button:hover:not(:disabled) { background:#edf1ee; }
.image-zoom-controls button:disabled { color:#aeb8bc; cursor:default; }
.image-zoom-controls output { min-width:62px; padding:0 10px; color:#40535b; font-size:13px; font-variant-numeric:tabular-nums; text-align:center; }
.image-zoom-controls .zoom-fit { border-right:0; color:#244f8c; font-size:13px; font-weight:700; }
.modal-close { flex: 0 0 auto; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; background: #f7f8f6; color: var(--ink); font-size: 26px; line-height: 1; cursor: pointer; }
.modal-close:hover { background: #edf1ee; }
.image-modal-figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-height: 0; margin: 0; }
.image-modal-viewport { width:100%; height:min(70vh,820px); min-height:0; overflow:auto; border:1px solid var(--line); background:#eef2f4; overscroll-behavior:contain; scrollbar-gutter:stable; touch-action:pan-x pan-y; }
.image-modal-viewport:focus-visible { outline:3px solid #51b6c7; outline-offset:2px; }
.image-zoom-surface { display:grid; place-items:center; min-width:100%; min-height:100%; width:max-content; height:max-content; }
.image-modal-figure img { display:block; max-width:none; max-height:none; background:#fff; user-select:none; }
.image-modal-figure figcaption { max-width: 1240px; padding-top: 14px; color: #43575f; font-size: clamp(15px, 1.05vw, 19px); line-height: 1.45; }

.study-modal[hidden] { display: none; }
.study-modal { position: fixed; z-index: 85; inset: 0; display: grid; place-items: center; padding: clamp(22px, 3.2vw, 52px); background: rgba(16,31,36,.78); }
.study-modal-card { display: grid; grid-template-rows: auto minmax(0,1fr) auto; width: min(1320px, 94vw); max-height: 94vh; overflow: hidden; border: 1px solid rgba(255,255,255,.46); background: #fff; box-shadow: 0 28px 90px rgba(5,15,18,.38); }
.study-modal-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; padding: clamp(22px, 2.2vw, 32px) clamp(24px, 2.7vw, 40px) 20px; border-bottom: 1px solid var(--line); background: linear-gradient(100deg,#f8f7fc,#fff); }
.study-modal-head h2 { margin: 7px 0 6px; color: var(--ink); font-size: clamp(30px, 2.4vw, 44px); font-weight: 580; letter-spacing: -.035em; line-height: 1.05; }
.study-modal-head > div > p:last-child { margin: 0; color: #596b72; font-size: clamp(14px, 1vw, 18px); }
.study-modal-body { min-height: 0; overflow: auto; padding: clamp(20px, 2.3vw, 34px) clamp(24px, 2.7vw, 40px); scrollbar-gutter: stable; }
.cast-question { display: grid; grid-template-columns: 180px 1fr; gap: 22px; align-items: baseline; padding: 16px 20px; border-left: 5px solid #b23a2c; background: #fbf2f0; }
.cast-question span,.cast-section-label,.cast-design-strip span,.study-modal-source > span { color: #a83429; font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cast-question p { margin: 0; color: #26383f; font-size: clamp(18px, 1.35vw, 24px); font-weight: 560; line-height: 1.32; }
.cast-design-strip { display: grid; grid-template-columns: 1fr 1fr 1fr; margin-top: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cast-design-strip article { padding: 17px 20px; border-right: 1px solid var(--line); }
.cast-design-strip article:last-child { border-right: 0; }
.cast-design-strip span { color: #66787f; }
.cast-design-strip strong { display: block; margin-top: 5px; color: var(--ink); font-size: clamp(20px, 1.45vw, 27px); font-weight: 680; letter-spacing: -.02em; }
.cast-design-strip p { margin: 5px 0 0; color: #52656d; font-size: clamp(13px, .92vw, 17px); line-height: 1.35; }
.cast-evidence-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(24px, 2.8vw, 42px); margin-top: 22px; }
.cast-results,.cast-meaning { min-width: 0; }
.cast-results h3,.cast-meaning h3 { margin: 7px 0 16px; color: var(--ink); font-size: clamp(24px, 1.75vw, 32px); font-weight: 620; letter-spacing: -.025em; line-height: 1.1; }
.cast-primary-outcome { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cast-primary-outcome > div { display: grid; grid-template-columns: 1fr auto; gap: 3px 15px; align-items: end; padding: 14px 16px; border-top: 4px solid #b23a2c; background: #fbf2f0; }
.cast-primary-outcome > div:last-child { border-top-color: #2d5fa8; background: #f1f5fa; }
.cast-primary-outcome span { color: #52656d; font-size: clamp(13px, .94vw, 17px); font-weight: 650; }
.cast-primary-outcome strong { grid-row: 1 / span 2; grid-column: 2; color: #b23a2c; font-size: clamp(34px, 2.8vw, 52px); font-weight: 700; letter-spacing: -.04em; line-height: 1; }
.cast-primary-outcome > div:last-child strong { color: #2d5fa8; }
.cast-primary-outcome small { color: #64757c; font-size: 13px; }
.cast-risk-summary > div:last-child { border-top-color: #8f3127; background: #f8eeec; }
.cast-risk-summary > div:last-child strong { color: #8f3127; }
.cast-risk-summary small { max-width: 150px; line-height: 1.25; }
.cast-outcome-label { margin: 8px 0 13px; color: #61727a; font-size: 13px; line-height: 1.35; }
.cast-risk-ratio { display: grid; grid-template-columns: auto auto 1fr; gap: 10px 16px; align-items: baseline; padding: 12px 15px; border-left: 4px solid #b23a2c; background: #f8f8f6; }
.cast-risk-ratio span { color: #5a6c73; font-size: 14px; font-weight: 650; }
.cast-risk-ratio strong { color: #b23a2c; font-size: 26px; }
.cast-risk-ratio small { color: #5a6c73; font-size: 13px; }
.cast-follow-up { margin: 14px 0 0; color: #465960; font-size: clamp(14px, .98vw, 18px); line-height: 1.42; }
.cast-follow-up b { color: var(--ink); }
.cast-meaning { padding-left: clamp(22px, 2.3vw, 34px); border-left: 1px solid var(--line); }
.cast-meaning ul { display: grid; gap: 10px; margin: 0; padding-left: 21px; color: #465960; font-size: clamp(15px, 1.02vw, 18px); line-height: 1.4; }
.cast-scope { margin-top: 16px; padding: 14px 16px; border-left: 4px solid #2d5fa8; background: #f1f5fa; color: #465960; font-size: clamp(14px, .95vw, 17px); line-height: 1.38; }
.cast-scope b { color: var(--ink); }
.study-modal-source { display: grid; grid-template-columns: 130px 1fr; gap: 18px; align-items: baseline; padding: 14px clamp(24px, 2.7vw, 40px); border-top: 1px solid var(--line); background: #f3f5f3; }
.study-modal-source > span { color: #66787f; }
.study-modal-source p { margin: 0; color: #586a71; font-size: clamp(12px, .85vw, 15px); line-height: 1.35; }

.class-iv-rail { background: linear-gradient(90deg, #edf7f2 0%, #fbfcfa 54%, #eef6f2 100%); }
.class-iv-rail .eyebrow, .class-iv-rail .rail-meta span:first-child { color: #26765e; }
.class-iv-rail h1 { max-width: 1500px; }
.class-iv-body { min-height: 0; overflow: hidden; padding: clamp(18px, 2.5vh, 31px) clamp(34px, 4vw, 72px) 15px; background: #fff; }
.class-iv-landing { background: #eaf3ef; }
.class-iv-landing span { color: #26765e; }
.class-iv-landing > p { padding-right: 150px; font-size: clamp(17px, 1.25vw, 23px); }
.class-iv-landing.has-popup-buttons { grid-template-columns: 335px minmax(0, 1fr); }
.class-iv-landing.has-popup-buttons .landing-side { grid-template-columns: max-content max-content; column-gap: 8px; }
.class-iv-landing.has-popup-buttons .landing-side > span { grid-column: 1 / -1; }
.class-iv-landing.has-popup-buttons > p { font-size: clamp(16px, 1.12vw, 20px); }
.iv-orientation, .iv-two-endpoints, .iv-clinical { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: clamp(14px, 1.8vh, 22px); height: 100%; min-height: 0; }
.iv-intro { display: flex; justify-content: space-between; align-items: baseline; gap: 28px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
.iv-intro p { margin: 0; color: #4e6067; font-size: clamp(16px, 1.12vw, 20px); line-height: 1.35; }
.iv-intro strong { color: var(--ink); }
.iv-intro > span { flex: 0 0 auto; color: #26765e; font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iv-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: stretch; gap: clamp(8px, .8vw, 14px); min-height: 0; }
.iv-chain article { display: grid; align-content: center; min-width: 0; padding: clamp(16px, 2.1vh, 26px); border-top: 5px solid #26765e; background: #eef6f2; }
.iv-chain article:first-child { border-top-color: #2d5fa8; background: #f0f4fa; }
.iv-chain article:last-child { border-top-color: #a7660b; background: #faf5eb; }
.iv-chain > b { align-self: center; color: #8b999e; font-size: 27px; font-weight: 350; }
.iv-chain span, .iv-endpoints span, .iv-endpoint-compare header > span { color: #26765e; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iv-chain h2 { margin: 8px 0 7px; font-size: clamp(20px, 1.42vw, 26px); font-weight: 620; letter-spacing: -.02em; line-height: 1.1; }
.iv-chain p { margin: 0; color: #51636a; font-size: clamp(13px, .92vw, 17px); line-height: 1.36; }
.iv-chain img { display: block; width: min(100%, 154px); height: clamp(104px, 14vh, 142px); margin: clamp(16px, 2.2vh, 24px) auto 0; object-fit: contain; }
.iv-endpoints { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); background: var(--line); gap: 1px; }
.iv-endpoints article { padding: 14px 18px; background: #f0f4fa; }
.iv-endpoints article:last-child { background: #eef6f2; }
.iv-endpoints article:first-child span { color: #2d5fa8; }
.iv-endpoints h2 { margin: 6px 0 4px; font-size: clamp(18px, 1.22vw, 23px); line-height: 1.15; }
.iv-endpoints p { margin: 0; color: #52636a; font-size: clamp(13px, .88vw, 16px); line-height: 1.34; }
.iv-two-endpoints { grid-template-rows: auto minmax(0, 1fr) auto; }
.iv-endpoint-compare { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 3vw, 46px); min-height: 0; }
.iv-endpoint-compare > article { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-width: 0; padding: clamp(18px, 2.3vh, 28px); border-top: 5px solid #2d5fa8; background: #f0f4fa; }
.iv-endpoint-compare > .iv-filter-card { border-top-color: #26765e; background: #eef6f2; }
.iv-endpoint-compare header { padding-bottom: 14px; border-bottom: 1px solid rgba(73, 91, 99, .22); }
.iv-endpoint-compare header h2 { margin: 7px 0 6px; font-size: clamp(25px, 1.8vw, 33px); letter-spacing: -.025em; line-height: 1.08; }
.iv-endpoint-compare header p { margin: 0; color: #506168; font-size: clamp(14px, .98vw, 18px); line-height: 1.36; }
.iv-logic-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 10px; align-items: center; min-height: 0; margin: 15px 0; }
.iv-logic-chain > div { display: grid; place-items: center; min-height: 86px; padding: 11px 10px; border: 1px solid #cfd8dc; background: #fff; text-align: center; }
.iv-logic-chain > i { color: #8b999e; font-size: 24px; font-style: normal; }
.iv-logic-chain b { font-size: clamp(14px, .98vw, 18px); line-height: 1.2; }
.iv-logic-chain small { display: block; margin-top: 5px; color: #617178; font-size: clamp(11px, .72vw, 13px); line-height: 1.25; }
.iv-circuit-card .iv-result { border: 2px solid #2d5fa8; color: #214f8d; }
.iv-filter-card .iv-result { border: 2px solid #26765e; color: #1f664f; }
.iv-card-anchor { margin: 0; padding: 12px 14px; border-left: 4px solid #2d5fa8; background: #fff; color: #52636a; font-size: clamp(13px, .88vw, 16px); line-height: 1.38; }
.iv-filter-card .iv-card-anchor { border-left-color: #26765e; }
.iv-card-anchor strong { color: var(--ink); }
.iv-safety-strip { display: grid; grid-template-columns: 30px max-content 1fr; gap: 12px 16px; align-items: center; padding: 12px 16px; border-left: 5px solid #b53b31; background: #fbefed; }
.iv-safety-strip > b { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #b53b31; color: #fff; }
.iv-safety-strip span { color: #a13228; font-size: 14px; font-weight: 750; text-transform: uppercase; }
.iv-safety-strip p { margin: 0; color: #5e4743; font-size: clamp(13px, .9vw, 16px); line-height: 1.35; }
.iv-clinical { grid-template-rows: auto minmax(0, 1fr) auto; }
.iv-clinical-table { display: grid; grid-template-rows: auto repeat(3, 1fr); min-height: 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.iv-clinical-row { display: grid; grid-template-columns: .74fr 1.12fr 1.06fr 1.18fr; min-height: 0; border-bottom: 1px solid var(--line); }
.iv-clinical-row:last-child { border-bottom: 0; }
.iv-clinical-row > div { display: grid; align-content: center; min-width: 0; padding: clamp(9px, 1.2vh, 15px) 16px; border-right: 1px solid var(--line); color: #4e6067; font-size: clamp(13px, .9vw, 16px); line-height: 1.32; }
.iv-clinical-row > div:last-child { border-right: 0; background: #fbf2f0; }
.iv-clinical-head > div { padding-top: 9px; padding-bottom: 9px; color: #77848a; background: #fff !important; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iv-clinical-row span { color: #26765e; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.iv-clinical-row strong { color: var(--ink); }
.iv-clinical-row > div:first-child strong { display: block; margin: 5px 0 3px; font-size: clamp(17px, 1.18vw, 22px); line-height: 1.15; }
.iv-clinical-row small { color: #607178; font-size: clamp(11px, .75vw, 13px); }
.iv-avoid-strip { display: grid; grid-template-columns: 160px repeat(3, minmax(0, 1fr)); border-left: 5px solid #b53b31; background: #fbefed; }
.iv-avoid-label, .iv-avoid-strip article { min-width: 0; padding: 11px 13px; }
.iv-avoid-label { display: grid; align-content: center; gap: 5px; }
.iv-avoid-label span { color: #a13228; font-size: 10px; font-weight: 800; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.iv-avoid-label strong { color: var(--ink); font-size: clamp(13px, .82vw, 15px); line-height: 1.15; }
.iv-avoid-strip article { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 7px; align-content: center; border-left: 1px solid #e6c7c2; }
.iv-avoid-strip article > b { color: #b53b31; font-size: 10px; letter-spacing: .08em; }
.iv-avoid-strip article strong { display: block; color: var(--ink); font-size: clamp(12px, .82vw, 15px); line-height: 1.16; }
.iv-avoid-strip article p { margin: 4px 0 0; color: #654d49; font-size: clamp(10px, .69vw, 12px); line-height: 1.25; }

.selection-framework, .selection-case { display: grid; height: 100%; min-height: 0; gap: clamp(10px, 1.25vh, 15px); }
.selection-framework { grid-template-rows: auto auto minmax(0, 1fr) auto; }
.selection-intro > span { color: #2d5fa8; }
.selection-gates { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 9px; align-items: stretch; }
.selection-gates article { display: grid; align-content: center; min-width: 0; padding: clamp(11px, 1.35vh, 15px); border-top: 5px solid #2d5fa8; background: #f1f4f9; }
.selection-gates article:nth-of-type(2) { border-top-color: #26765e; background: #eef6f2; }
.selection-gates article:nth-of-type(3) { border-top-color: #b53b31; background: #fbefed; }
.selection-gates article:nth-of-type(4) { border-top-color: #bd7415; background: #fbf6ec; }
.selection-gates > b { align-self: center; color: #8b999e; font-size: 22px; font-weight: 350; }
.selection-gates span, .selection-row span, .case-patient span, .case-consequence span { color: #2d5fa8; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.selection-gates strong { display: block; margin: 6px 0 4px; color: var(--ink); font-size: clamp(14px, .93vw, 17px); line-height: 1.14; }
.selection-gates p { margin: 0; color: #53646b; font-size: clamp(10px, .68vw, 12px); line-height: 1.25; }
.selection-gates .selection-electricity { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 7px; align-items: center; margin-top: 4px; padding: 7px 8px; border-left: 4px solid #b53b31; background: #fbefed; color: #7e2d27; font-size: clamp(10px, .7vw, 12px); font-weight: 650; line-height: 1.16; }
.selection-electricity > b { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #b53b31; color: #fff; font-size: 12px; }
.selection-gates .selection-electricity > span { color: #7e2d27; font: inherit; font-weight: 650; letter-spacing: 0; line-height: inherit; text-transform: none; }
.selection-gates .selection-electricity strong { display: inline; margin: 0; color: #a13228; font: inherit; font-weight: 850; }
.selection-table { display: grid; grid-template-rows: auto repeat(4, 1fr); min-height: 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.selection-row { display: grid; grid-template-columns: .85fr 1.05fr 1.35fr 1.3fr; min-height: 0; border-bottom: 1px solid var(--line); }
.selection-row:last-child { border-bottom: 0; }
.selection-row > div { display: grid; align-content: center; min-width: 0; padding: clamp(8px, 1vh, 12px) 14px; border-right: 1px solid var(--line); color: #4e6067; font-size: clamp(11px, .77vw, 14px); line-height: 1.28; }
.selection-row > div:last-child { border-right: 0; background: #fbf2f0; }
.selection-row strong { display: block; margin-top: 4px; color: var(--ink); font-size: clamp(15px, 1vw, 18px); line-height: 1.12; }
.selection-head > div { padding-top: 8px; padding-bottom: 8px; color: #77848a; background: #fff !important; font-size: 9px; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }
.selection-emergency { display: grid; grid-template-columns: 28px max-content 1fr; gap: 12px 15px; align-items: center; padding: 9px 13px; border-left: 5px solid #b53b31; background: #fbefed; }
.selection-emergency > b { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #b53b31; color: #fff; }
.selection-emergency span { color: #a13228; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.selection-emergency p { margin: 0; color: #604b47; font-size: clamp(11px, .78vw, 14px); line-height: 1.28; }

.selection-case { grid-template-rows: auto minmax(0, 1fr) auto; }
.case-intro > span { color: #6e52a3; }
.case-layout { display: grid; grid-template-columns: minmax(310px, .82fr) minmax(0, 1.48fr); gap: clamp(18px, 2.4vw, 34px); min-height: 0; }
.case-patient { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-height: 0; border-top: 5px solid #2d5fa8; background: #f1f4f9; }
.case-patient header { padding: clamp(13px, 1.6vh, 18px) 18px 12px; border-bottom: 1px solid #ced8e6; }
.case-patient h2 { margin: 6px 0 5px; color: var(--ink); font-size: clamp(20px, 1.35vw, 25px); letter-spacing: -.025em; line-height: 1.1; }
.case-patient header p, .case-first-action p { margin: 0; color: #52636a; font-size: clamp(11px, .76vw, 14px); line-height: 1.3; }
.case-patient dl { display: grid; align-content: stretch; min-height: 0; margin: 0; padding: 0 18px; }
.case-patient dl > div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; align-items: center; border-bottom: 1px solid #d4dce8; }
.case-patient dt { color: #65767d; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.case-patient dd { margin: 0; color: var(--ink); font-size: clamp(12px, .82vw, 15px); font-weight: 620; line-height: 1.22; }
.case-first-action { padding: 12px 18px 14px; border-top: 1px solid #b9c9df; background: #e4edf8; }
.case-first-action strong { display: block; margin: 5px 0 3px; color: #214f8d; font-size: clamp(15px, 1.02vw, 19px); line-height: 1.14; }
.case-options { display: grid; grid-template-rows: auto repeat(5, 1fr); min-height: 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.case-option { display: grid; grid-template-columns: minmax(165px, .9fr) minmax(90px, .46fr) minmax(0, 1.65fr); min-height: 0; border-bottom: 1px solid var(--line); }
.case-option:last-child { border-bottom: 0; }
.case-option > div { display: grid; align-content: center; min-width: 0; padding: clamp(9px, 1.2vh, 15px) 15px; border-right: 1px solid var(--line); color: #4e6067; font-size: clamp(12px, .82vw, 15px); line-height: 1.29; }
.case-option > div:last-child { border-right: 0; }
.case-option strong { color: var(--ink); font-size: clamp(15px, 1.02vw, 19px); line-height: 1.14; }
.case-option span { justify-self: start; padding: 4px 7px; border: 1px solid currentColor; color: #a13228; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.case-option.is-no > div:first-child { border-left: 5px solid #b53b31; background: #fbf2f0; }
.case-option.is-yes > div { background: #eef6f2; }
.case-option.is-yes > div:first-child { border-left: 5px solid #26765e; }
.case-option.is-yes span { color: #1f7058; }
.case-option-head > div { padding-top: 8px; padding-bottom: 8px; border-left: 0 !important; color: #77848a; background: #fff !important; font-size: 9px; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }
.case-consequence { display: grid; grid-template-columns: 1fr 1fr; border-left: 5px solid #26765e; background: #eef6f2; }
.case-consequence > div { padding: 10px 15px; }
.case-consequence > div + div { border-left: 1px solid #e4c4bf; background: #fbefed; }
.case-consequence > div + div span { color: #a13228; }
.case-consequence strong { display: block; margin: 4px 0 2px; color: var(--ink); font-size: clamp(14px, .95vw, 17px); line-height: 1.14; }
.case-consequence p { margin: 0; color: #53646b; font-size: clamp(10px, .7vw, 13px); line-height: 1.25; }

.coached-case { gap: clamp(10px, 1.2vh, 14px); }
.coached-case-layout { display: grid; grid-template-columns: minmax(350px, .84fr) minmax(0, 1.46fr); gap: clamp(20px, 2.5vw, 36px); min-height: 0; }
.coached-patient { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-height: 0; border-top: 5px solid #2d5fa8; background: #f1f4f9; }
.coached-patient header { padding: clamp(15px, 1.8vh, 20px) 20px 14px; border-bottom: 1px solid #cbd7e6; }
.coached-patient header > span, .coached-facts span, .coached-history span, .coached-question > span, .coached-resolution > span, .coached-safety-plan span, .coached-case-rule span, .coached-practice-link span { color: #2d5fa8; font-size: 9px; font-weight: 800; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.coached-patient h2 { margin: 6px 0 5px; color: var(--ink); font-size: clamp(20px, 1.4vw, 26px); letter-spacing: -.025em; line-height: 1.08; }
.coached-patient header p { margin: 0; color: #52646b; font-size: clamp(12px, .82vw, 15px); line-height: 1.3; }
.coached-facts { display: grid; align-content: stretch; min-height: 0; }
.coached-facts article { display: grid; align-content: center; min-height: 0; padding: clamp(11px, 1.35vh, 16px) 20px; border-bottom: 1px solid #cfd9e7; }
.coached-facts article:last-child { border-bottom: 0; }
.coached-facts strong { display: block; margin-top: 5px; color: var(--ink); font-size: clamp(15px, 1.04vw, 19px); line-height: 1.16; }
.coached-facts p { margin: 5px 0 0; color: #53666e; font-size: clamp(11px, .75vw, 14px); line-height: 1.3; }
.coached-clue-counter { display: grid; gap: 7px; padding: 11px 20px 13px; border-top: 1px solid #b8c8de; background: #e5edf8; }
.coached-clue-counter > span { color: #4f6570; font-size: 10px; font-weight: 700; }
.coached-clue-counter > div { height: 5px; overflow: hidden; background: #cbd7e7; }
.coached-clue-counter i { display: block; height: 100%; background: #2d5fa8; }
.coached-workspace { display: grid; grid-template-rows: auto minmax(0, 1fr); min-height: 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.coached-history { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); background: #f6f7f6; }
.coached-history > div { min-width: 0; padding: 10px 13px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.coached-history > div:last-child { border-right: 0; }
.coached-history strong { display: block; margin-top: 4px; color: #26765e; font-size: clamp(11px, .76vw, 14px); line-height: 1.22; }
.coached-history.is-empty { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; padding: 11px 15px; border-bottom: 1px solid var(--line); }
.coached-history.is-empty strong { margin: 0; color: #617178; }
.coached-question, .coached-resolution { display: grid; align-content: center; min-height: 0; padding: clamp(20px, 2.4vh, 30px) clamp(22px, 2.3vw, 34px); }
.coached-question > span, .coached-resolution > span { color: #6e52a3; }
.coached-question h2, .coached-resolution h2 { margin: 8px 0 8px; color: var(--ink); font-size: clamp(24px, 1.78vw, 33px); font-weight: 620; letter-spacing: -.027em; line-height: 1.08; }
.coached-question > p, .coached-resolution > p { margin: 0; color: #52646b; font-size: clamp(13px, .9vw, 17px); line-height: 1.35; }
.coached-choices { display: grid; gap: 9px; margin-top: clamp(18px, 2.1vh, 25px); }
.coached-choices > div { display: grid; grid-template-columns: 40px 1fr; align-items: center; min-height: clamp(52px, 6.2vh, 65px); border: 1px solid #ced6da; background: #fff; }
.coached-choices b { display: grid; place-items: center; align-self: stretch; border-right: 1px solid #ced6da; color: #6e52a3; font-size: 15px; }
.coached-choices strong { padding: 9px 14px; color: var(--ink); font-size: clamp(14px, .98vw, 18px); font-weight: 620; line-height: 1.2; }
.coached-question .coached-advance { margin-top: clamp(16px, 1.9vh, 22px); padding: 11px 13px; border-left: 4px solid #6e52a3; background: #f4f1f8; color: #5f5572; font-size: clamp(12px, .82vw, 15px); }
.coached-question .coached-advance strong { color: #574186; }
.coached-question.coached-drug-sort { align-content: start; padding-top: clamp(14px, 1.6vh, 20px); }
.coached-drug-sort h2 { font-size: clamp(22px, 1.55vw, 29px); }
.coached-drug-sort > p { max-width: 920px; font-size: clamp(12px, .82vw, 15px); }
.coached-sort-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.coached-sort-steps > div { display: grid; grid-template-columns: 25px 1fr; gap: 7px; align-items: center; min-width: 0; padding: 7px 8px; border-top: 3px solid #c5cdd1; background: #f6f7f6; color: #77848a; }
.coached-sort-steps b { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #a8b2b7; color: #fff; font-size: 11px; }
.coached-sort-steps span { min-width: 0; font-size: clamp(9px, .63vw, 12px); line-height: 1.14; }
.coached-sort-steps strong { display: block; margin-bottom: 2px; color: #65757c; font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.coached-sort-steps > .is-active { border-top-color: #6e52a3; background: #f4f1f8; color: #514765; }
.coached-sort-steps > .is-active b { background: #6e52a3; }
.coached-sort-steps > .is-active strong { color: #574186; }
.coached-sort-steps > .is-complete { border-top-color: #26765e; background: #eef6f2; color: #42675c; }
.coached-sort-steps > .is-complete b { background: #26765e; }
.coached-sort-steps > .is-complete strong { color: #1f7058; }
.coached-sort-instruction { margin-top: 8px !important; color: #40555e !important; font-weight: 650; }
.coached-drug-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: clamp(9px, 1.05vh, 12px); }
.coached-drug-card { display: grid; grid-template-columns: minmax(108px, .72fr) minmax(104px, .65fr); grid-template-areas: "name status" "reason reason"; gap: 3px 9px; align-content: center; min-height: clamp(57px, 6.4vh, 66px); padding: 8px 10px; border: 1px solid #cbd4d8; border-left: 5px solid #a8b2b7; border-radius: 0; background: #fff; color: var(--ink); font: inherit; text-align: left; cursor: pointer; transition: border-color .14s ease, background-color .14s ease, box-shadow .14s ease; }
.coached-drug-card:hover { border-color: #87969d; box-shadow: 0 2px 8px rgba(20, 39, 48, .08); }
.coached-drug-card:focus-visible { outline: 3px solid rgba(45, 95, 168, .28); outline-offset: 2px; }
.coached-drug-card.is-revealed { cursor: default; }
.coached-drug-card.is-not-yet { border-left-color: #7d8b91; background: #f6f7f6; }
.coached-drug-card.is-not-yet .coached-drug-status { color: #617178; }
.coached-drug-card > strong { grid-area: name; min-width: 0; font-size: clamp(13px, .91vw, 17px); line-height: 1.15; }
.coached-drug-status { grid-area: status; justify-self: end; padding: 4px 6px; border: 1px solid currentColor; color: #617178; font-size: 9px; font-weight: 800; letter-spacing: .07em; line-height: 1.15; text-align: center; text-transform: uppercase; }
.coached-drug-reason { grid-area: reason; color: #53656c; font-size: clamp(9px, .64vw, 12px); line-height: 1.22; }
.coached-drug-reason[hidden] { display: none; }
.coached-drug-card.is-revealed[data-status="ineffective"] { border-left-color: #2d5fa8; background: #f1f4f9; }
.coached-drug-card.is-revealed[data-status="ineffective"] .coached-drug-status { color: #214f8d; }
.coached-drug-card.is-revealed[data-status="contraindicated"] { border-left-color: #b53b31; background: #fbefed; }
.coached-drug-card.is-revealed[data-status="contraindicated"] .coached-drug-status { color: #a13228; }
.coached-drug-card.is-revealed[data-status="unsafe"] { border-left-color: #bd7415; background: #fbf6ec; }
.coached-drug-card.is-revealed[data-status="unsafe"] .coached-drug-status { color: #a9650e; }
.coached-drug-card.is-revealed[data-status="potential"] { border-left-color: #26765e; background: #eef6f2; }
.coached-drug-card.is-revealed[data-status="potential"] .coached-drug-status { color: #1f7058; }
.coached-sort-progress { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; margin-top: clamp(8px, 1vh, 12px) !important; padding: 7px 9px; border-left: 4px solid #6e52a3; background: #f4f1f8; color: #5f5572 !important; font-size: clamp(10px, .71vw, 13px) !important; }
.coached-sort-progress p { margin: 0; line-height: 1.25; }
.coached-sort-progress strong { color: #574186; }
.coached-sort-progress button { padding: 7px 10px; border: 1px solid #6e52a3; background: #6e52a3; color: #fff; font: inherit; font-size: clamp(10px, .7vw, 13px); font-weight: 750; cursor: pointer; }
.coached-sort-progress button:disabled { border-color: #b7b0c1; background: #d9d5de; color: #746d7e; cursor: not-allowed; }
.coached-sort-progress button:focus-visible { outline: 3px solid rgba(110, 82, 163, .25); outline-offset: 2px; }
.coached-sort-progress.is-complete { border-left-color: #26765e; background: #eef6f2; color: #42675c !important; }
.coached-sort-progress.is-complete strong { color: #1f7058; }
.coached-sort-progress.is-complete button { display: none; }
.coached-resolution-list { display: grid; margin-top: 15px; border-top: 1px solid var(--line); }
.coached-resolution-list > div { display: grid; grid-template-columns: minmax(150px, .8fr) 76px minmax(0, 1.35fr); align-items: center; min-height: 54px; border-bottom: 1px solid var(--line); }
.coached-resolution-list b, .coached-resolution-list span, .coached-resolution-list p { min-width: 0; margin: 0; padding: 8px 10px; }
.coached-resolution-list b { color: var(--ink); font-size: clamp(13px, .88vw, 16px); line-height: 1.18; }
.coached-resolution-list span { justify-self: start; color: #a13228; font-size: 9px; }
.coached-resolution-list p { color: #53646b; font-size: clamp(11px, .73vw, 13px); line-height: 1.25; }
.coached-resolution-list .is-consider { border-left: 5px solid #26765e; background: #eef6f2; }
.coached-resolution-list .is-consider span { color: #26765e; }
.coached-safety-plan { display: grid; grid-template-columns: .92fr 1.08fr; margin-top: 15px; border-left: 5px solid #b53b31; background: #fbefed; }
.coached-safety-plan > div { padding: 11px 13px; }
.coached-safety-plan > div + div { border-left: 1px solid #e6c7c2; }
.coached-safety-plan span { color: #a13228; }
.coached-safety-plan strong { display: block; margin-top: 5px; color: #5d4642; font-size: clamp(11px, .75vw, 14px); line-height: 1.27; }
.coached-case-rule, .coached-practice-link { display: grid; align-items: center; min-height: 50px; padding: 10px 15px; }
.coached-case-rule { grid-template-columns: 150px 1fr; border-left: 5px solid #6e52a3; background: #f4f1f8; }
.coached-case-rule span { color: #6e52a3; }
.coached-case-rule strong { color: #514765; font-size: clamp(13px, .9vw, 16px); line-height: 1.25; }
.coached-practice-link { grid-template-columns: 1fr auto; gap: 20px; border-left: 5px solid #2d5fa8; background: #f1f4f9; }
.coached-practice-link > div { min-width: 0; }
.coached-practice-link strong { display: block; margin-top: 3px; color: #435861; font-size: clamp(12px, .82vw, 15px); line-height: 1.25; }
.coached-practice-link a { padding: 10px 14px; border: 1px solid #2d5fa8; background: #fff; color: #214f8d; font-size: clamp(12px, .82vw, 15px); font-weight: 750; text-decoration: none; }
.coached-practice-link a:hover, .coached-practice-link a:focus-visible { background: #2d5fa8; color: #fff; outline: 0; }

.proarrhythmia-summary, .magnesium-slide { display: grid; height: 100%; min-height: 0; gap: clamp(12px, 1.55vh, 18px); }
.proarrhythmia-summary { grid-template-rows: auto minmax(0, 1fr) auto; }
.proarrhythmia-table { display: grid; grid-template-rows: auto repeat(5, 1fr); min-height: 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.proarrhythmia-row { display: grid; grid-template-columns: .88fr 1.38fr 1.08fr 1.16fr; min-height: 0; border-bottom: 1px solid var(--line); }
.proarrhythmia-row:last-child { border-bottom: 0; }
.proarrhythmia-row > div { display: grid; align-content: center; min-width: 0; padding: clamp(8px, 1.05vh, 13px) 15px; border-right: 1px solid var(--line); color: #4d6067; font-size: clamp(12px, .82vw, 15px); line-height: 1.28; }
.proarrhythmia-row > div:last-child { border-right: 0; background: #f8f8f6; }
.proarrhythmia-head > div { padding-top: 8px; padding-bottom: 8px; color: #77848a; background: #fff !important; font-size: 10px; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }
.proarrhythmia-row > div:first-child { padding-left: 17px; border-left: 5px solid #2d5fa8; background: #f1f4f9; }
.proarrhythmia-row.repolarization > div:first-child { border-left-color: #bd7415; background: #fbf6ec; }
.proarrhythmia-row.calcium > div:first-child { border-left-color: #6e52a3; background: #f4f1f8; }
.proarrhythmia-row.nodal > div:first-child { border-left-color: #26765e; background: #eef6f2; }
.proarrhythmia-row.bypass > div:first-child { border-left-color: #b53b31; background: #fbefed; }
.proarrhythmia-row span { color: #64757c; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.proarrhythmia-row > div:first-child strong { display: block; margin-top: 4px; color: var(--ink); font-size: clamp(15px, 1vw, 18px); line-height: 1.13; }
.proarrhythmia-row > div:last-child strong { color: var(--ink); }
.proarrhythmia-row > div:last-child .proarrhythmia-rhythm { display: block; margin-top: 8px; color: #2d5fa8; font-weight: 780; }
.proarrhythmia-row.repolarization > div:last-child .proarrhythmia-rhythm { color: #a9650e; }
.proarrhythmia-row.calcium > div:last-child .proarrhythmia-rhythm { color: #6e52a3; }
.proarrhythmia-row.nodal > div:last-child .proarrhythmia-rhythm { color: #26765e; }
.proarrhythmia-row.bypass > div:last-child .proarrhythmia-rhythm { color: #b53b31; }
.proarrhythmia-risk { display: grid; grid-template-columns: 175px 1fr; align-items: center; border-left: 5px solid #b53b31; background: #fbefed; }
.proarrhythmia-risk span { padding: 12px 15px; color: #a13228; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.proarrhythmia-risk p { margin: 0; padding: 12px 15px; border-left: 1px solid #e6c7c2; color: #5f4c48; font-size: clamp(12px, .82vw, 15px); line-height: 1.3; }

.magnesium-slide { grid-template-rows: auto auto minmax(0, 1fr) auto; }
.magnesium-intro > span { color: #6e52a3; }
.magnesium-causal { display: grid; grid-template-columns: 1fr auto 1fr auto 1.15fr auto 1fr; gap: 10px; align-items: stretch; }
.magnesium-causal article { display: grid; align-content: center; min-width: 0; padding: clamp(13px, 1.65vh, 19px); border-top: 5px solid #bd7415; background: #fbf6ec; }
.magnesium-causal article:nth-of-type(2) { border-top-color: #b53b31; background: #fbefed; }
.magnesium-causal .magnesium-dose { border-top-color: #6e52a3; background: #f1eef7; }
.magnesium-causal .magnesium-result { border-top-color: #26765e; background: #eef6f2; }
.magnesium-causal > b { align-self: center; color: #8b999e; font-size: 25px; font-weight: 350; }
.magnesium-causal span, .magnesium-actions span { color: #6e52a3; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.magnesium-causal strong { display: block; margin: 7px 0 5px; color: var(--ink); font-size: clamp(16px, 1.08vw, 20px); line-height: 1.12; }
.magnesium-causal p { margin: 0; color: #52636a; font-size: clamp(11px, .77vw, 14px); line-height: 1.28; }
.magnesium-actions { display: grid; grid-template-rows: repeat(4, 1fr); min-height: 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.magnesium-actions article { display: grid; grid-template-columns: minmax(185px, .72fr) minmax(260px, 1fr) minmax(0, 1.45fr); gap: 18px; align-items: center; min-width: 0; padding: clamp(11px, 1.35vh, 16px) 18px; border-bottom: 1px solid var(--line); background: #fff; }
.magnesium-actions article:last-child { border-bottom: 0; }
.magnesium-actions .magnesium-shock { border-left: 5px solid #b53b31; background: #fbefed; }
.magnesium-actions .magnesium-shock span { color: #a13228; }
.magnesium-actions h2 { margin: 0; color: var(--ink); font-size: clamp(18px, 1.23vw, 23px); font-weight: 650; letter-spacing: -.02em; line-height: 1.1; }
.magnesium-actions p { margin: 0; color: #4f6168; font-size: clamp(12px, .84vw, 15px); line-height: 1.34; }
.magnesium-boundary { display: grid; grid-template-columns: 30px max-content 1fr; gap: 12px 15px; align-items: center; padding: 10px 14px; border-left: 5px solid #b53b31; background: #fbefed; }
.magnesium-boundary > b { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #b53b31; color: #fff; }
.magnesium-boundary span { color: #a13228; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.magnesium-boundary p { margin: 0; color: #604b47; font-size: clamp(11px, .76vw, 14px); line-height: 1.28; }

.slide-overview[hidden] { display:none; }
.slide-overview { position:fixed; z-index:75; inset:0; display:grid; place-items:center; padding:clamp(18px,3vw,44px); background:rgba(16,31,36,.78); }
.slide-overview-card { display:grid; grid-template-rows:auto auto minmax(0,1fr); width:min(1480px,96vw); height:min(920px,94vh); min-height:0; overflow:hidden; border:1px solid rgba(255,255,255,.45); background:#f7f8f6; box-shadow:0 28px 90px rgba(5,15,18,.38); }
.slide-overview-head { display:flex; justify-content:space-between; align-items:flex-start; gap:32px; padding:clamp(22px,2.4vw,34px) clamp(22px,2.8vw,40px) 18px; border-bottom:1px solid var(--line); background:#fff; }
.slide-overview-head h2 { margin:5px 0 5px; color:var(--ink); font-size:clamp(30px,2.3vw,42px); font-weight:560; letter-spacing:-.035em; line-height:1.05; }
.slide-overview-head > div > p:last-child { margin:0; color:#52646b; font-size:15px; }
.slide-overview-filter { display:grid; grid-template-columns:auto minmax(240px,520px) 1fr; gap:14px; align-items:center; padding:14px clamp(22px,2.8vw,40px); border-bottom:1px solid var(--line); background:#f1f4f2; }
.slide-overview-filter label { color:#3f535b; font-size:13px; font-weight:700; letter-spacing:.04em; }
.slide-overview-filter input { width:100%; padding:10px 12px; border:1px solid #b9c4c8; border-radius:4px; background:#fff; color:var(--ink); font:inherit; font-size:15px; }
.slide-overview-filter input:focus { outline:3px solid rgba(45,95,168,.2); border-color:var(--blue); }
.slide-overview-filter span { justify-self:end; color:#64767d; font-size:13px; font-variant-numeric:tabular-nums; }
.slide-overview-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); grid-auto-rows:minmax(150px,auto); gap:14px; min-height:0; overflow:auto; padding:20px clamp(22px,2.8vw,40px) 34px; overscroll-behavior:contain; scrollbar-gutter:stable; }
.overview-slide { --overview-accent:var(--blue); display:grid; grid-template-rows:auto auto 1fr; gap:8px; min-width:0; padding:16px 18px 18px; border:1px solid #ccd4d6; border-top:4px solid var(--overview-accent); border-radius:3px; background:#fff; color:var(--ink); font:inherit; text-align:left; cursor:pointer; transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease; }
.overview-slide:hover,.overview-slide:focus-visible { border-color:var(--overview-accent); box-shadow:0 8px 24px rgba(34,55,62,.12); transform:translateY(-2px); outline:0; }
.overview-slide.is-current { --overview-accent:var(--teal); border-color:var(--teal); background:#eef6f3; box-shadow:0 0 0 2px rgba(35,128,105,.16); }
.overview-slide.is-optional { --overview-accent:#8b6a35; background:#fbf8f1; }
.overview-slide.is-optional .overview-slide-top::after { content:"Optional"; margin-left:auto; padding:3px 6px; border:1px solid #c7aa76; border-radius:999px; color:#76511c; font-size:9px; letter-spacing:.08em; }
.overview-slide[hidden] { display:none; }
.overview-slide-top { display:flex; justify-content:space-between; gap:12px; align-items:baseline; color:#65767c; font-size:11px; font-weight:700; letter-spacing:.065em; text-transform:uppercase; }
.overview-slide-number { color:var(--overview-accent); font-size:18px; font-weight:800; letter-spacing:0; }
.overview-slide-section { overflow:hidden; color:#52666d; font-size:11px; font-weight:700; letter-spacing:.07em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.overview-slide-title { align-self:start; color:var(--ink); font-size:clamp(17px,1.16vw,21px); font-weight:650; letter-spacing:-.02em; line-height:1.17; }

.presenter-pointer { position:fixed; z-index:2147483647; width:18px; height:18px; border:3px solid #fff; border-radius:50%; background:#d93b32; box-shadow:0 0 0 5px rgba(217,59,50,.25),0 0 18px rgba(94,12,8,.55); pointer-events:none; opacity:0; transform:translate(-50%,-50%) scale(.72); transition:opacity .08s ease,transform .08s ease; }
.presenter-pointer.is-active { opacity:1; transform:translate(-50%,-50%) scale(1); }

.shared-slide-number { display:none; }
body.audience-mode .shared-slide-number { position:fixed; z-index:2147483646; right:18px; bottom:18px; display:block; padding:7px 11px; border:1px solid rgba(255,255,255,.5); border-radius:999px; background:rgba(18,43,50,.82); color:#fff; box-shadow:0 4px 16px rgba(22,42,49,.18); font-size:13px; font-weight:780; letter-spacing:.025em; font-variant-numeric:tabular-nums; pointer-events:none; }

.deck-controls { position: fixed; z-index: 40; isolation:isolate; pointer-events:auto; right: 18px; bottom: 18px; display: flex; align-items: center; gap: 5px; padding: 6px; border: 1px solid rgba(76,91,97,.2); border-radius: 999px; background: rgba(255,255,255,.95); box-shadow: 0 7px 25px rgba(35,48,53,.13); opacity: .34; transition: opacity .18s ease; }
.deck-controls.is-external { top: 14px; bottom: auto; }
.deck-controls.is-title { top: 18px; bottom: auto; }
.deck-controls:hover, .deck-controls:focus-within { opacity: 1; }
.deck-controls button { width: 38px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; pointer-events:auto; touch-action:manipulation; }
.deck-controls button:hover { background: #edf1ee; }
.deck-controls .pace-mode-trigger,.deck-controls .presenter-trigger { width:auto; min-width:68px; padding:0 12px; border-radius:999px; font-size:12px; font-weight:760; letter-spacing:.01em; }
.deck-controls .pace-mode-trigger { color:var(--teal); background:#e8f3ef; box-shadow:inset 0 0 0 1px rgba(11,117,109,.2); }
.deck-controls .pace-mode-trigger.is-full { color:#76511c; background:#fbf4e8; box-shadow:inset 0 0 0 1px rgba(139,91,5,.22); }
.deck-controls .presenter-trigger { color:var(--blue); }
.deck-controls span { min-width: 54px; color: var(--muted); font-size: 12px; text-align: center; font-variant-numeric: tabular-nums; }
.student-only { display:none !important; }
body.student-follow-mode .deck-controls { left:50%; right:auto; bottom:16px; width:max-content; max-width:calc(100vw - 24px); transform:translateX(-50%); gap:8px; padding:8px 10px; border-radius:14px; opacity:1; box-shadow:0 10px 34px rgba(26,48,57,.2); }
body.student-follow-mode .deck-controls.is-title,body.student-follow-mode .deck-controls.is-external { top:auto; bottom:16px; }
body.student-follow-mode .deck-controls .student-only { display:flex !important; }
body.student-follow-mode .deck-controls .student-follow-label { min-width:auto; padding:0 8px 0 5px; color:var(--teal); font-size:11px; font-weight:820; letter-spacing:.075em; text-transform:uppercase; white-space:nowrap; }
body.student-follow-mode .deck-controls #position { min-width:132px; color:var(--ink); font-weight:760; }
body.student-follow-mode .deck-controls .pace-mode-trigger,body.student-follow-mode .deck-controls .presenter-trigger,body.student-follow-mode .deck-controls #notesButton { display:none; }
body.student-follow-mode .student-slide-jump { align-items:center; gap:5px; margin-left:4px; padding-left:10px; border-left:1px solid #d3dbdd; }
body.student-follow-mode .student-slide-jump > span { min-width:auto; color:#52666d; font-size:11px; white-space:nowrap; }
body.student-follow-mode .student-slide-jump input { width:58px; height:34px; padding:0 7px; border:1px solid #bdc9cc; border-radius:7px; background:#fff; color:var(--ink); font:700 13px/1 var(--font); text-align:center; }
body.student-follow-mode .deck-controls .student-slide-jump button { width:auto; height:34px; padding:0 10px; border-radius:7px; background:var(--blue); color:#fff; font-size:12px; font-weight:760; }
body.student-follow-mode .deck-controls #overviewButton,body.student-follow-mode .deck-controls #fullscreen { border-radius:7px; background:#edf2f7; font-size:12px; font-weight:800; }

body.audience-mode .deck-controls,body.audience-mode .notes,body.audience-mode .slide-overview,
body.presenter-embed .deck-controls,body.presenter-embed .notes,body.presenter-embed .slide-overview,body.presenter-embed .presenter-pointer { display:none !important; }
body.presenter-embed.presenter-clock-monitor .prototype { pointer-events:none; }

@media (max-width: 820px) {
  body.student-follow-mode .deck-controls { gap:4px; }
  body.student-follow-mode .deck-controls .student-follow-label,body.student-follow-mode .student-slide-jump > span,body.student-follow-mode .deck-controls #overviewButton { display:none !important; }
  body.student-follow-mode .deck-controls #position { min-width:106px; }
  body.student-follow-mode .student-slide-jump { margin-left:0; padding-left:6px; }
}

@page { size: 13.333in 7.5in; margin: 0; }
@media print {
  html,body,.prototype,.scene { width:13.333in; height:7.5in; }
  html,body { overflow:hidden !important; }
  body { position:fixed; inset:0; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .prototype { position:absolute; inset:0; overflow:hidden; }
  .deck-controls,.notes,.slide-overview,.presenter-pointer,.context-button { display:none !important; }
  .rail-meta,.event-marker { visibility:hidden; }
  body.audience-mode .shared-slide-number { position:fixed; z-index:2147483646; top:.15in; right:.18in; bottom:auto; display:block; padding:.06in .1in; border:1px solid rgba(255,255,255,.5); border-radius:999px; background:rgba(18,43,50,.82); color:#fff; font-size:9pt; font-weight:780; }
}

.notes { position: fixed; z-index: 60; top: 20px; right: 20px; bottom: 20px; width: min(450px, calc(100vw - 40px)); overflow: auto; padding: 28px; border: 1px solid var(--line); background: rgba(255,255,255,.98); box-shadow: var(--shadow); }
.notes button { float: right; border: 0; background: transparent; color: var(--ink); font-size: 24px; cursor: pointer; }
.notes h2 { margin: 18px 0 12px; font-size: 28px; font-weight: 500; letter-spacing: -.02em; }
.notes h3 { margin: 26px 0 6px; color: var(--teal); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.notes p { color: #43575f; line-height: 1.65; }

:fullscreen .external-scene, :-webkit-full-screen .external-scene { position:relative; z-index:0; }
:fullscreen .deck-controls, :-webkit-full-screen .deck-controls { z-index:2147483646; opacity:.96; }
:fullscreen .notes, :-webkit-full-screen .notes,
:fullscreen .slide-overview, :-webkit-full-screen .slide-overview,
:fullscreen .image-modal, :-webkit-full-screen .image-modal,
:fullscreen .study-modal, :-webkit-full-screen .study-modal { z-index:2147483647; }

@media (max-height: 1100px) and (min-width: 851px) {
  .external-scene {
    grid-template-rows: 0 minmax(0, 1fr);
  }
  .external-scene::before {
    display: none;
  }
  .tool-scene, .image-scene, .mechanism-scene, .reentry-transition, .step-one-summary, .class-map-scene, .class-one-transition, .prr-concept, .class-ia-scene, .class-ib-scene, .class-ic-scene, .class-iii-scene, .class-iv-scene {
    grid-template-rows: clamp(96px, 11vh, 122px) 1fr clamp(72px, 8vh, 90px);
  }
  .lecture-rail { padding-top: 16px; padding-bottom: 12px; }
  .lecture-rail h1 { font-size: clamp(31px, 2.8vw, 52px); }
  .class-ia-body, .class-ib-body, .class-ic-body, .class-ii-body, .class-iii-body, .class-iv-body { padding-top: 13px; padding-bottom: 9px; }
  .teaching-landing { padding-top: 9px; padding-bottom: 9px; }
  .teaching-landing p { font-size: clamp(16px, 1.2vw, 21px); }
  .ia-roster { padding-bottom: 8px; }
  .ia-target { padding: clamp(12px, 1.55vh, 18px); }
  .ia-target h2 { margin-top: 6px; }
  .ia-target > p { margin-bottom: 10px; line-height: 1.28; }
  .ia-target-visual { margin-bottom: 9px; }
  .ia-target dl > div { padding: 7px 0; }
  .ia-target-foot { margin-top: 8px; padding-top: 8px; }
  .ia-net { padding: 18px; }
  .ia-net h2 { margin: 8px 0 10px; }
  .ia-net ul { line-height: 1.38; }
}

@media (max-width: 850px) {
  .framework-orientation { overflow: auto; }
  .framework-orientation-head { display: grid; align-items: start; }
  .framework-chain { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .framework-chain article:not(:last-child)::after { display: none; }
  .framework-application { grid-template-columns: 1fr; gap: 7px; }
  .orientation { overflow: auto; }
  .orientation h1 { white-space: normal; }
  .phase-tables, .ap-figures { grid-template-columns: 1fr; }
  .mechanism-columns { grid-template-columns: 1fr; gap: 22px; }
  .mechanism-rule { display: none; }
  .mechanism-map { overflow: auto; padding: 22px; }
  .reentry-transition-body { overflow: auto; padding: 20px; }
  .reentry-transition-top, .reentry-requirements { grid-template-columns: 1fr; }
  .reentry-requirements > b { display: none; }
  .reentry-transition-figure img { min-height: 260px; }
  .step-summary-body, .class-map-body { overflow: auto; padding: 20px; }
  .class-one-transition-body { grid-template-columns: 1fr; overflow: auto; }
  .prr-concept-body { overflow: auto; padding: 18px; }
  .class-ia-body { overflow: auto; padding: 18px; }
  .class-ib-body { overflow: auto; padding: 18px; }
  .class-ic-body { overflow: auto; padding: 18px; }
  .class-ii-body { overflow: auto; padding: 18px; }
  .ia-dual-grid, .ia-use-grid { grid-template-columns: 1fr; }
  .ib-equation, .ib-tissue-contrast, .ib-drug-grid { grid-template-columns: 1fr; }
  .ia-math { display: none; }
  .ib-symbol { display: none; }
  .ia-roster, .ia-use-intro, .ia-safety-intro { display: grid; gap: 8px; }
  .ib-roster, .ib-clinical-intro { display: grid; gap: 8px; }
  .ib-agent-intro { display: grid; gap: 8px; }
  .ib-agent-grid, .ib-agent-strip { grid-template-columns: 1fr; }
  .ic-roster, .ic-clinical-intro { display: grid; gap: 8px; }
  .ic-causal-chain, .ic-clinical-grid, .ic-readout, .ic-drug-strip { grid-template-columns: 1fr; }
  .ic-causal-chain > b { display: none; }
  .ic-readout dl { min-width: 800px; }
  .ia-safety-table { min-width: 980px; }
  .ia-dose-strip, .ia-shared-harm { grid-template-columns: 1fr; }
  .ib-ecg-strip { min-width: 900px; }
  .prr-relationship { align-items: start; }
  .prr-concept-grid { grid-template-columns: 1fr; }
  .prr-figure { min-height: 520px; }
  .class-one-mark { min-height: 230px; border-right: 0; border-bottom: 1px solid var(--line); }
  .class-one-mark strong { font-size: 130px; }
  .class-one-argument { padding: 28px 22px; }
  .kinetic-chain { grid-template-columns: 1fr; }
  .kinetic-chain > b { display: none; }
  .step-summary-list li { grid-template-columns: 42px 1fr; gap: 10px 16px; }
  .step-summary-list p { grid-column: 2; }
  .class-map-rail h1 { white-space: normal; }
  .class-map-intro { display: grid; gap: 10px; }
  .vw-table { min-width: 980px; }
  .ap-figures img { min-height: 280px; }
  .lecture-rail { align-items: flex-start; }
  .rail-meta { display: none; }
  .teaching-landing { grid-template-columns: 1fr; gap: 6px; }
  .landing-side { grid-template-columns: 1fr auto; align-items: center; }
  .class-ic-landing .landing-side { grid-template-columns: max-content max-content; }
  .class-ic-landing > p { padding-right: 0; }
  .class-ii-landing > p { padding-right: 0; }
  .class-ii-landing.has-popup-buttons { grid-template-columns: 1fr; }
  .class-iii-landing > p { padding-right: 0; }
  .class-iii-landing.has-popup-buttons { grid-template-columns: 1fr; }
  .class-iv-body { overflow: auto; padding: 18px; }
  .class-iv-landing > p { padding-right: 0; }
  .class-iv-landing.has-popup-buttons { grid-template-columns: 1fr; }
  .iv-intro { display: grid; }
  .iv-chain { grid-template-columns: 1fr; }
  .iv-chain > b { display: none; }
  .iv-endpoints, .iv-endpoint-compare { grid-template-columns: 1fr; }
  .iv-logic-chain { grid-template-columns: 1fr; }
  .iv-logic-chain > i { display: none; }
  .iv-safety-strip, .magnesium-boundary { grid-template-columns: auto 1fr; }
  .iv-safety-strip p, .magnesium-boundary p { grid-column: 1 / -1; }
  .iv-clinical-table { min-width: 980px; }
  .selection-gates, .selection-table, .case-layout, .coached-case-layout, .case-consequence, .proarrhythmia-table, .magnesium-causal, .magnesium-actions { min-width: 980px; }
  .proarrhythmia-risk { min-width: 820px; }
  .iii-reserve-top { grid-template-columns: 1fr; }
  .iii-reserve-chain { min-width: 900px; }
  .iii-reserve-figure { min-height: 420px; }
  .iii-paradox-main { grid-template-columns: 1fr; }
  .iii-pk-chain, .iii-pk-timecourse, .iii-pk-interactions { min-width: 950px; }
  .iii-amio-monitor-layout { grid-template-columns: 1fr; }
  .iii-amio-monitor-table { min-width: 880px; }
  .iii-amio-toxicity-grid, .iii-amio-surveillance { grid-template-columns: 1fr; }
  .ii-intro { display: grid; gap: 8px; }
  .ii-signal-layout, .ii-beta-chain, .ii-job-grid, .ii-agent-row, .ii-adeno-main, .ii-digoxin-paths, .ii-digoxin-clinical { grid-template-columns: 1fr; }
  .ii-convergence-strip, .ii-ecg-strip, .ii-adeno-clock { min-width: 860px; }
  .ii-beta-chain article:not(:last-child)::after { display: none; }
  .ii-agent-table { min-width: 980px; }
  .ii-adeno-sequence { min-width: 700px; }
  .ii-mini-chain { min-width: 620px; }
  .teaching-image-stage { padding: 12px 18px 8px; }
  .image-modal { padding: 12px; }
  .image-modal-card { width: 100%; max-height: 97vh; padding: 18px; }
  .image-modal-head h2 { font-size: 24px; }
  .image-modal-head { gap:14px; }
  .modal-actions { gap:8px; }
  .image-zoom-controls output { min-width:50px; padding:0 6px; }
  .image-zoom-controls button { min-width:36px; padding:0 9px; }
  .zoom-gesture-hint { display:none; }
  .study-modal { padding: 10px; }
  .study-modal-card { width: 100%; max-height: 97vh; }
  .study-modal-head { padding: 18px; gap: 14px; }
  .study-modal-head h2 { font-size: 27px; }
  .study-modal-body { padding: 16px 18px; }
  .cast-question, .study-modal-source { grid-template-columns: 1fr; gap: 7px; }
  .cast-design-strip, .cast-evidence-grid { grid-template-columns: 1fr; }
  .cast-design-strip article { border-right: 0; border-bottom: 1px solid var(--line); }
  .cast-design-strip article:last-child { border-bottom: 0; }
  .cast-meaning { padding: 20px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .slide-overview { padding:10px; }
  .slide-overview-card { width:100%; height:97vh; }
  .slide-overview-head { padding:18px; gap:14px; }
  .slide-overview-head h2 { font-size:28px; }
  .slide-overview-filter { grid-template-columns:1fr; gap:8px; padding:12px 18px; }
  .slide-overview-filter span { justify-self:start; }
  .slide-overview-grid { grid-template-columns:1fr; padding:14px 18px 24px; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
