@import url("care-wordmark-inline.css");

/*
 * CARE Presenter — deterministic 16:9 slide renderer
 *
 * Contract:
 * - Browser chrome is normal responsive CSS.
 * - The presenter stage is always a 16:9 rectangle.
 * - Every slide fills that 16:9 rectangle.
 * - Slide internals scale from one slide-relative unit: --slide-u.
 * - No document scrolling inside slides.
 * - Bleed is the only thing allowed outside the 16:9 slide canvas.
 */

 html.care-app,
 html.care-app * {
     box-sizing: border-box;
 }
 
 html.care-app {
     min-height: 100%;
     background: #0f1115;
 }
 
 html.care-app body.care-presenter-body {
     --presenter-bg: #0f1115;
     --presenter-fg: #f6f7fb;
     --presenter-muted: #c4c9d6;
     --presenter-soft: #9ca5ba;
     --presenter-stage: #131722;
     --presenter-line: #2b3448;
     --presenter-accent: #8cc6ff;
     --presenter-accent-brand: #8cc6ff;
     --presenter-toolbar: rgba(12, 16, 24, 0.7);
     --presenter-external-icon-filter: none;
 
     --slide-danger: #ff6b5f;
     --slide-warning: #f2b84b;
     --slide-success: #72d6a3;
 
     --title-background-blend:
         radial-gradient(circle at 18% 24%, #00d9ff80 0%, #00d9ff30 22%, transparent 52%),
         radial-gradient(circle at 82% 68%, #00c0ff60 0%, transparent 48%),
         radial-gradient(ellipse at center, transparent 38%, #0080f090 100%),
         linear-gradient(to bottom, #ffffff 0%, #ffffff 100%);
 
     --title-background-blend-dark:
         radial-gradient(circle at 18% 22%, #00b7ffc0 0%, #00b7ff40 24%, transparent 54%),
         radial-gradient(circle at 82% 72%, #274dff90 0%, transparent 52%),
         radial-gradient(ellipse at center, transparent 34%, #020ddecc 100%),
         linear-gradient(to bottom, #030810ff 0%, #0400f0cc 100%);
 
    --title-background-blend-active: var(--title-background-blend-dark);

    /* Full-bleed photo slides (--presenter-slide-overlay on .care-presenter-slide--bg-whole-slide). */
    --presenter-image-overlay-medium: linear-gradient(to bottom, rgba(6, 10, 18, 0.52), rgba(6, 10, 18, 0.78));
    --presenter-image-overlay-strong: linear-gradient(to bottom, rgba(4, 8, 16, 0.68), rgba(4, 8, 16, 0.9));

    margin: 0;
     min-height: 100dvh;
     background: var(--presenter-bg);
     color: var(--presenter-fg);
     font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
     display: grid;
     grid-template-rows: auto minmax(0, 1fr) auto;
     overflow: hidden;
 }
 
 @media (prefers-color-scheme: dark) {
     html.care-app body.care-presenter-body {
         --presenter-external-icon-filter: brightness(0) invert(1);
     }
 }
 
 @media (prefers-color-scheme: light) {
     html.care-app body.care-presenter-body {
         --presenter-bg: #f2f4f8;
         --presenter-fg: #121826;
         --presenter-muted: #3d495f;
         --presenter-soft: #5b667e;
         --presenter-stage: #ffffff;
         --presenter-line: #d6dcea;
         --presenter-accent: #1667c7;
         --presenter-accent-brand: #1667c7;
         --presenter-toolbar: rgba(255, 255, 255, 0.8);
         --presenter-external-icon-filter: none;
         --title-background-blend-active: var(--title-background-blend);
     }
 }
 
 /* --------------------------------------------------------------------------
    Chrome: not part of the slide coordinate system
    -------------------------------------------------------------------------- */
 
 .care-presenter-shell {
     background: color-mix(in srgb, var(--presenter-bg) 78%, transparent);
     border-color: var(--presenter-line);
     border-style: solid;
     backdrop-filter: blur(4px);
 }
 
 .care-presenter-shell--header { border-width: 0 0 1px 0; }
 .care-presenter-shell--footer { border-width: 1px 0 0 0; }
 
 .care-presenter-shell__inner {
     max-width: 1240px;
     margin-inline: auto;
     padding: clamp(0.5rem, 1.2vw, 1rem) clamp(0.75rem, 2vw, 1.5rem);
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 1rem;
 }
 
 .care-presenter-shell__brand {
     display: inline-flex;
     align-items: center;
     text-decoration: none;
 }
 
 .care-presenter-shell__brand-logo {
     width: 30px;
     height: auto;
     display: block;
 }
 
 .care-presenter-shell__title {
     flex: 1 1 auto;
     min-width: 0;
     max-width: 100%;
     font-weight: 600;
     letter-spacing: 0.01em;
     color: var(--presenter-muted);
     font-size: 1.05rem;
 }
 
 /* --------------------------------------------------------------------------
    Stage: the only layout authority for slides
    -------------------------------------------------------------------------- */
 
 .care-presenter {
     --presenter-stage-max: 1240px;
     --presenter-page-pad-x: clamp(0.5rem, 2vw, 1.5rem);
     --presenter-page-pad-y: clamp(0.5rem, 2vh, 1.5rem);
 
     position: relative;
     min-width: 0;
     min-height: 0;
     width: 100%;
     height: 100%;
     padding: var(--presenter-page-pad-y) var(--presenter-page-pad-x);
     display: grid;
     place-items: center;
     overflow: hidden;
 }
 
 .care-presenter__stage {
     /* Browsing mode: fit a 16:9 canvas into the available presenter row. */
     width: min(100%, var(--presenter-stage-max));
     aspect-ratio: 16 / 9;
     max-height: 100%;
     margin: auto;
 
     border: 1px solid var(--presenter-line);
     background: var(--presenter-stage);
     overflow: hidden;
     min-width: 0;
     min-height: 0;
     display: grid;
     grid-template: "slide" 1fr / 1fr;
 
     container-type: size;
     container-name: presenter-stage;

     /* Normalized slide unit (see design.md). min() keeps 16:9 stage and portrait in sync. */
     --slide-u: min(1cqi, 1.777777cqb);
 
     /* Slide scale tokens: all presentation content derives from --slide-u. */
     --presenter-safe-x: calc(var(--slide-u) * 6);
     --presenter-safe-y: calc(var(--slide-u) * 4.5);
     --presenter-gap-xs: calc(var(--slide-u) * 0.7);
     --presenter-gap-sm: calc(var(--slide-u) * 1.1);
     --presenter-gap-md: calc(var(--slide-u) * 1.8);
     --presenter-gap-lg: calc(var(--slide-u) * 2.8);
 
     --presenter-radius-xs: calc(var(--slide-u) * 0.25);
     --presenter-radius-sm: calc(var(--slide-u) * 0.7);
     --presenter-radius-md: calc(var(--slide-u) * 1.2);
     --presenter-radius-lg: calc(var(--slide-u) * 2.0);
     --presenter-border: max(1px, calc(var(--slide-u) * 0.07));
     --presenter-border-strong: max(2px, calc(var(--slide-u) * 0.16));
 
     --presenter-type-label: calc(var(--slide-u) * 1.05);
     --presenter-type-body: calc(var(--slide-u) * 1.45);
     --presenter-type-list: calc(var(--slide-u) * 1.45);
     --presenter-type-lead: calc(var(--slide-u) * 1.65);
     --presenter-type-subtitle: calc(var(--slide-u) * 1.9);
     --presenter-type-subhead: calc(var(--slide-u) * 2.25);
     --presenter-type-headline: calc(var(--slide-u) * 4.1);
     --presenter-type-display: calc(var(--slide-u) * 5.7);
     --presenter-type-quote: calc(var(--slide-u) * 1.65);
     --presenter-type-quote-cite: calc(var(--slide-u) * 1.05);
     --presenter-type-quote-slide: calc(var(--slide-u) * 4.6);
     --presenter-type-quote-takeaway: calc(var(--slide-u) * 1.25);
     --presenter-type-hero-statement: calc(var(--slide-u) * 6.2);
     --presenter-type-hero-pressure: calc(var(--slide-u) * 5.8);
     --presenter-type-hero-decision: calc(var(--slide-u) * 5.2);
     --presenter-type-hero-section: calc(var(--slide-u) * 6.1);
     --presenter-type-statement-lede: calc(var(--slide-u) * 1.8);
     --presenter-type-takeaway: calc(var(--slide-u) * 1.25);
     --presenter-type-card-title: calc(var(--slide-u) * 2.25);
     --presenter-type-card-body: calc(var(--slide-u) * 1.55);
     --presenter-type-card-title-dense: calc(var(--slide-u) * 1.55);
     --presenter-type-card-body-dense: calc(var(--slide-u) * 1.12);
     --presenter-list-item-radius: var(--presenter-radius-xs);
     --presenter-card-item-radius: var(--presenter-radius-xs);


     /* Copy width: tie to the 16:9 stage, not document `ch` (mobile-reading caps). */
     --presenter-slide-copy-max: min(100%, 94cqi);
     --presenter-slide-copy-tight: min(100%, 82cqi);
     --presenter-slide-title-center-max: min(100%, 88cqi);
 }
 
 .care-presenter__slide {
     grid-area: slide;
     width: 100%;
     height: 100%;
     min-width: 0;
     min-height: 0;
     aspect-ratio: 16 / 9;
     overflow: hidden;
     display: grid;
     grid-template: "card" 1fr / 1fr;
 }
 
 .care-presenter-slide__card {
     --slide-surface-raised: color-mix(in srgb, var(--presenter-stage) 78%, #ffffff 4%);
     --slide-glow: color-mix(in srgb, var(--presenter-accent) 34%, transparent);
     --presenter-bleed-x: 0px;
     --presenter-bleed-y: 0px;
 
     grid-area: card;
     position: relative;
     width: 100%;
     height: 100%;
     min-width: 0;
     min-height: 0;
     overflow: hidden;
     padding: var(--presenter-safe-y) var(--presenter-safe-x);
     display: flex;
     flex-direction: column;
     gap: var(--presenter-gap-lg);
     justify-content: flex-start;
     color: var(--presenter-fg);
     background: transparent;
 }
 
 /* Keep key takeaway at the bottom without turning the content area into a document. */
 .care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child) {
     display: grid;
     grid-template-rows: auto auto minmax(0, 1fr) auto;
     align-content: stretch;
 }
 
.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child) > .care-presenter-key-takeaway:last-child {
    align-self: end;
}

/* Middle row is `1fr` to pin the takeaway; list width follows content up to slide cap. */
.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child) > .care-presenter-list {
    align-self: stretch;
    justify-self: start;
    width: fit-content;
    max-width: min(100%, var(--presenter-slide-copy-max));
    min-height: 0;
}

.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child) > .care-presenter-incident-strip {
    align-self: stretch;
    justify-self: stretch;
    width: 100%;
    min-height: 0;
}

/* Default four-row grid: child 3 is the flexible "main" row. When a subtitle or text block
   sits between the headline and an item grid, insert an extra auto row so the grid keeps
   the 1fr height instead of stretching the cue line. */
/* Headline (+ optional lead) + main block + takeaway: main row is 1fr so grids/lists stay inside the flex slot. */
.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child):has(> h2 + .care-presenter-item-grid + .care-presenter-key-takeaway:last-child),
.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child):has(> h2 + .care-presenter-model-diagram + .care-presenter-key-takeaway:last-child) {
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child) > .care-presenter-model-diagram {
    align-self: stretch;
    justify-self: center;
    width: 100%;
    min-height: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.care-presenter-model-diagram .care-presenter-foreground-image {
    width: min(72cqi, 100%);
    max-height: min(52cqh, 100%);
    margin: 0 auto;
    object-fit: contain;
}

.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child):has(> h2 ~ .care-presenter-slide__subtitle ~ .care-presenter-item-grid),
.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child):has(> h2 ~ .care-presenter-text-block ~ .care-presenter-item-grid),
.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child):has(> h2 ~ .care-presenter-slide__subtitle ~ .care-presenter-journey-grid) {
    grid-template-rows: auto auto minmax(0, 1fr) auto;
}

/* Journey before subtitle (e.g. introducing-care): five rows, middle row is the flex slot. */
.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child):has(> .care-presenter-journey-grid):has(> .care-presenter-slide__subtitle) {
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
}

.care-presenter-slide__card:has(> .care-presenter-journey-grid) > .care-presenter-journey-grid {
    align-self: start;
    justify-self: stretch;
    width: 100%;
    min-height: 0;
    max-height: 100%;
}

/* Headline + centered main copy + bottom takeaway (e.g. statement between title and punchline). */
.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child):has(> .care-presenter-slide__main) {
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.care-presenter-slide__main {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 0;
}

.care-presenter-slide__main > p {
    margin: 0;
    max-width: var(--presenter-slide-copy-max);
    font-size: var(--presenter-type-lead);
    line-height: 1.25;
}

/* --------------------------------------------------------------------------
    Slide background and bleed
    -------------------------------------------------------------------------- */
 
 .care-presenter-slide--bg-inlaid,
 .care-presenter-slide--bg-whole-slide,
 .care-presenter-slide--bg-fullscreen,
 .care-presenter-slide--title,
 .care-presenter-slide--pressure {
     position: relative;
 }
 
 .care-presenter-slide--bg-inlaid::before,
 .care-presenter-slide--bg-whole-slide::before,
 .care-presenter-slide--bg-fullscreen::before,
 .care-presenter-slide--title::before,
 .care-presenter-slide--pressure::before {
     content: "";
     position: absolute;
     inset: calc(-1 * var(--presenter-bleed-y, 0px)) calc(-1 * var(--presenter-bleed-x, 0px));
     z-index: 0;
     background-image: var(--presenter-slide-bg, none);
     background-size: cover;
     background-position: center;
     background-repeat: no-repeat;
     pointer-events: none;
 }
 
 .care-presenter-slide--bg-inlaid::after,
 .care-presenter-slide--bg-whole-slide::after,
 .care-presenter-slide--bg-fullscreen::after,
 .care-presenter-slide--title::after,
 .care-presenter-slide--pressure::after {
     content: "";
     position: absolute;
     inset: calc(-1 * var(--presenter-bleed-y, 0px)) calc(-1 * var(--presenter-bleed-x, 0px));
     z-index: 0;
     background: var(--presenter-slide-overlay, transparent);
     pointer-events: none;
 }
 
 .care-presenter-slide--bg-inlaid > *,
 .care-presenter-slide--bg-whole-slide > *,
 .care-presenter-slide--bg-fullscreen > *,
 .care-presenter-slide--title > *,
 .care-presenter-slide--pressure > * {
     position: relative;
     z-index: 1;
 }
 
 .care-presenter-slide--bleed,
 .care-presenter-slide--bleed-md {
     --presenter-bleed-x: 8%;
     --presenter-bleed-y: 8%;
 }
 
 .care-presenter-slide--bleed-sm {
     --presenter-bleed-x: 4%;
     --presenter-bleed-y: 4%;
 }
 
 .care-presenter-slide--bleed-lg {
     --presenter-bleed-x: 14%;
     --presenter-bleed-y: 14%;
 }
 
 .care-presenter-slide--bleed-x { --presenter-bleed-x: 8%; }
 .care-presenter-slide--bleed-y { --presenter-bleed-y: 8%; }
 .care-presenter-slide--bleed-all { --presenter-bleed-x: 8%; --presenter-bleed-y: 8%; }
 
 .care-presenter-slide--bg-whole-slide {
     padding: var(--presenter-safe-y) var(--presenter-safe-x);
 }
 
 .care-presenter__slide:has(.care-presenter-slide__card[style*="--presenter-slide-bg"]) .care-presenter-slide__card,
 .care-presenter-slide__card[style*="--presenter-slide-bg"] {
     --presenter-fg: #f6f8ff;
     --presenter-muted: #d4dcee;
     --presenter-soft: #b6c1d8;
     --presenter-line: rgba(228, 236, 255, 0.3);
     --slide-surface-raised: color-mix(in srgb, #0f1829 84%, transparent);
     --presenter-external-icon-filter: brightness(0) invert(1);
 }
 
 /* --------------------------------------------------------------------------
    Type
    -------------------------------------------------------------------------- */
 
 .care-presenter-slide__eyebrow {
     margin: 0;
     font-size: var(--presenter-type-label);
     text-transform: uppercase;
     letter-spacing: 0.12em;
     font-weight: 700;
     color: var(--presenter-soft);
 }
 
 .care-presenter-slide__title,
 .care-presenter-slide__card h1 {
     margin: 0;
     max-width: 100%;
     font-size: var(--presenter-type-display);
     line-height: 0.94;
     letter-spacing: -0.035em;
 }
 
 .care-presenter-slide__card h2 {
     margin: 0;
     max-width: 100%;
     font-size: var(--presenter-type-headline);
     line-height: 1.02;
     letter-spacing: -0.03em;
 }
 
 .care-presenter-slide__card h3 {
     margin: 0;
     max-width: 100%;
     font-size: var(--presenter-type-subhead);
     line-height: 1.12;
     letter-spacing: -0.02em;
     font-weight: 700;
     color: var(--presenter-fg);
 }
 
 .care-presenter-slide__subtitle {
     margin: 0;
     color: var(--presenter-muted);
     font-size: var(--presenter-type-subtitle);
     max-width: var(--presenter-slide-title-center-max);
     line-height: 1.35;
 }
 
 .care-presenter-slide__card p:not(.care-presenter-key-takeaway):not(.care-presenter-slide__eyebrow):not(.care-presenter-slide__subtitle) {
     margin: 0;
     font-size: var(--presenter-type-body);
     line-height: 1.35;
     max-width: var(--presenter-slide-copy-max);
     color: var(--presenter-muted);
 }
 
 .care-presenter-slide__card > p:not(.care-presenter-key-takeaway):not(.care-presenter-slide__eyebrow):not(.care-presenter-slide__subtitle) {
     font-size: var(--presenter-type-lead);
 }
 
 .care-presenter-accent {
     color: var(--presenter-accent);
 }
 
 /* --------------------------------------------------------------------------
    Layout primitives
    -------------------------------------------------------------------------- */
 
 .care-presenter-slide--top { justify-content: flex-start; }
 
 .care-presenter-slide--title {
     --presenter-slide-bg: var(--title-background-blend-active);
     --presenter-slide-overlay: none;
     justify-content: center;
     align-items: center;
     text-align: center;
 }
 
 .care-presenter-slide--title .care-presenter-slide__eyebrow,
 .care-presenter-slide--title .care-presenter-slide__subtitle {
     max-width: var(--presenter-slide-title-center-max);
     margin-inline: auto;
 }
 
 .care-presenter-grid {
     display: grid;
     gap: var(--presenter-gap-md);
     width: 100%;
     min-width: 0;
 }
 
 .care-presenter-grid > * { min-width: 0; }
 .care-presenter-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .care-presenter-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 
 .care-presenter-block {
     border: var(--presenter-border) solid var(--presenter-line);
     padding: var(--presenter-gap-md);
     background: color-mix(in srgb, var(--presenter-stage) 86%, var(--presenter-bg));
     min-width: 0;
 }
 
 .care-presenter-block h3 {
     margin: 0 0 var(--presenter-gap-xs) 0;
     font-size: var(--presenter-type-subhead);
 }
 
 .care-presenter-block p {
     margin: 0;
     color: var(--presenter-muted);
     line-height: 1.35;
     font-size: var(--presenter-type-body);
 }
 
 .care-presenter-foreground-image,
 .care-presenter-aside-image {
     width: 100%;
     max-width: 100%;
     height: auto;
     display: block;
     object-fit: contain;
     min-height: 0;
 }
 
 .care-presenter-foreground-image {
     max-height: calc(var(--slide-u) * 32);
 }
 
 .care-presenter-aside-image {
     max-height: calc(var(--slide-u) * 36);
 }
 
 .care-presenter-foreground-image.with-border,
 .care-presenter-aside-image.with-border {
     border: var(--presenter-border) solid var(--presenter-line);
 }
 
 .care-presenter-image {
     border: var(--presenter-border) solid var(--presenter-line);
     background: linear-gradient(135deg, color-mix(in srgb, var(--presenter-accent) 18%, var(--presenter-stage)), var(--presenter-stage));
     min-height: calc(var(--slide-u) * 20);
     display: grid;
     place-items: center;
     color: var(--presenter-soft);
     font-size: var(--presenter-type-body);
 }
 
 .care-presenter-image img {
     width: calc(var(--slide-u) * 14);
     max-width: 35%;
     height: auto;
     opacity: 0.9;
 }
 
 .care-presenter-intro-logo {
     width: calc(var(--slide-u) * 22);
     max-width: 100%;
     margin: var(--presenter-gap-xs) auto 0;
     border: 0;
     background: transparent;
     filter: drop-shadow(0 calc(var(--slide-u) * 1.2) calc(var(--slide-u) * 3) rgba(3, 11, 20, 0.82));
 }
 
.care-presenter-aside-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 34%);
    gap: var(--presenter-gap-lg);
    align-items: start;
    width: 100%;
    min-width: 0;
}

/* Real incident screenshots (e.g. public case coverage) in a single memorable row. */
.care-presenter-incident-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--presenter-gap-md);
    width: 100%;
    min-width: 0;
    align-items: start;
}

.care-presenter-incident-strip__shot {
    display: flex;
    flex-direction: column;
    gap: var(--presenter-gap-xs);
    min-width: 0;
    margin: 0;
}

.care-presenter-incident-strip__shot figcaption {
    margin: 0;
    display: grid;
    gap: calc(var(--slide-u) * 0.35);
}

.care-presenter-incident-strip__img {
    width: 100%;
    height: calc(var(--slide-u) * 20);
    display: block;
    object-fit: cover;
    object-position: top center;
    border-radius: var(--presenter-radius-md);
    border: var(--presenter-border) solid var(--presenter-line);
    box-shadow: 0 calc(var(--slide-u) * 0.6) calc(var(--slide-u) * 2) rgba(0, 0, 0, 0.42);
}

.care-presenter-incident-strip__label {
    margin: 0;
    font-size: var(--presenter-type-label);
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--presenter-soft);
}

.care-presenter-incident-strip__teaser {
    margin: 0;
    font-size: calc(var(--presenter-type-body) * 0.92);
    line-height: 1.28;
    color: var(--presenter-muted);
}

.care-presenter-text-block {
     border-left: var(--presenter-border-strong) solid var(--presenter-accent);
     padding: var(--presenter-gap-md) var(--presenter-gap-lg);
     max-width: var(--presenter-slide-copy-max);
     min-width: 0;
     background: linear-gradient(90deg, color-mix(in srgb, var(--presenter-accent) 14%, transparent), transparent 70%);
 }
 
 .care-presenter-text-block p {
     margin: 0;
     color: var(--presenter-muted);
     line-height: 1.34;
     font-size: var(--presenter-type-body);
 }
 
 .care-presenter-text-block p + p {
     margin-top: 0.55em;
 }
 
 .care-presenter-slide--readable {
     --care-presenter-readable-plate: rgba(0, 0, 0, 0.62);
     --care-presenter-readable-plate-strong: rgba(0, 0, 0, 0.78);
 }
 
 .care-presenter-slide--readable .care-presenter-text-block {
     background: var(--care-presenter-readable-plate);
 }
 
 .care-presenter-slide--readable .care-presenter-text-block p {
     color: var(--presenter-fg);
 }
 
 .care-presenter-slide--readable h2,
 .care-presenter-slide--readable .care-presenter-slide__title {
     text-shadow: 0 0 calc(var(--slide-u) * 1.2) rgba(0, 0, 0, 0.42);
 }
 
 .care-presenter-slide--readable .care-presenter-key-takeaway {
     font-weight: 800;
     background: var(--care-presenter-readable-plate-strong);
 }
 
 /* --------------------------------------------------------------------------
    Lists
    -------------------------------------------------------------------------- */
 
 .care-presenter-list,
 .care-presenter-slide__card ul:not(.care-presenter-list):not(.care-presenter-timeline),
 .care-presenter-slide__card ol:not(.care-presenter-list):not(.care-presenter-timeline) {
     margin: 0;
     display: grid;
     width: fit-content;
     max-width: min(100%, var(--presenter-slide-copy-max));
     min-width: 0;
     font-size: var(--presenter-type-list);
     line-height: 1.28;
     list-style: none;
     padding-left: 0;
     gap: var(--presenter-gap-sm);
     color: var(--presenter-muted);
 }

 /* Column flex stretches cross-size by default; keep lists only as wide as their rows need. */
 .care-presenter-slide__card > .care-presenter-list,
 .care-presenter-slide__card > ul:not(.care-presenter-list):not(.care-presenter-timeline),
 .care-presenter-slide__card > ol:not(.care-presenter-list):not(.care-presenter-timeline) {
     align-self: flex-start;
 }
 
 .care-presenter-list li,
 .care-presenter-slide__card ul:not(.care-presenter-list):not(.care-presenter-timeline) li,
 .care-presenter-slide__card ol:not(.care-presenter-list):not(.care-presenter-timeline) li {
     position: relative;
     min-width: 0;
     min-height: 0;
     padding: calc(var(--slide-u) * 0.8) calc(var(--slide-u) * 1.2) calc(var(--slide-u) * 0.8) calc(var(--slide-u) * 3.0);
     border: var(--presenter-border) solid var(--presenter-line);
     border-radius: var(--presenter-list-item-radius, 0);
     background: var(--slide-surface-raised);
 }
 
 .care-presenter-list li::before,
 .care-presenter-slide__card ul:not(.care-presenter-list) li::before {
     content: var(--care-presenter-list-marker, "→ ");
     position: absolute;
     left: calc(var(--slide-u) * 1.2);
     color: var(--care-presenter-list-marker-color, var(--presenter-accent));
     font-weight: 800;
     /* PDF/headless Linux often lacks Inter/Segoe; use fonts with symbol glyphs (see pdf-generation.md). */
     font-family: "Noto Sans", "Noto Sans Symbols 2", "Noto Sans Symbols", "Segoe UI Symbol", "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
 }
 
 .care-presenter-list--arrow { --care-presenter-list-marker: "→ "; }
 .care-presenter-list--dot { --care-presenter-list-marker: "• "; --care-presenter-list-marker-color: var(--presenter-soft); }
 .care-presenter-list--check { --care-presenter-list-marker: "✓ "; --care-presenter-list-marker-color: var(--slide-success); }
 .care-presenter-list--plus { --care-presenter-list-marker: "+ "; }
 .care-presenter-list--dash { --care-presenter-list-marker: "– "; --care-presenter-list-marker-color: var(--presenter-soft); }
 .care-presenter-list--warning { --care-presenter-list-marker: "⚠ "; --care-presenter-list-marker-color: var(--slide-warning); }
 .care-presenter-list--danger { --care-presenter-list-marker: "✕ "; --care-presenter-list-marker-color: var(--slide-danger); }
 .care-presenter-list--denied { --care-presenter-list-marker: "✗ "; --care-presenter-list-marker-color: var(--slide-danger); }
 
 /* Opt-in flex wrap columns (does not alter .care-presenter-list unless both classes are present). */
 .care-presenter-flex-columns {
     --flexbox-columns: 3;
     --presenter-flex-columns-gap: var(--presenter-gap-sm);
     display: flex;
     flex-wrap: wrap;
     width: 100%;
     max-width: 100%;
     min-width: 0;
     gap: var(--presenter-flex-columns-gap);
 }
 
 .care-presenter-flex-columns > * {
     flex: 1 1 calc((100% - (var(--flexbox-columns) - 1) * var(--presenter-flex-columns-gap)) / var(--flexbox-columns));
     max-width: calc((100% - (var(--flexbox-columns) - 1) * var(--presenter-flex-columns-gap)) / var(--flexbox-columns));
     min-width: 0;
     box-sizing: border-box;
 }
 
 .care-presenter-slide__card > .care-presenter-list.care-presenter-flex-columns {
     align-self: stretch;
 }
 
 /* --------------------------------------------------------------------------
    Contrast panes, media rows, tiles, pills
    -------------------------------------------------------------------------- */
 
 .care-presenter-contrast-grid {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: var(--presenter-gap-md);
     width: 100%;
     min-width: 0;
 }
 
 .care-presenter-contrast-pane,
 .care-presenter-tile {
     padding: var(--presenter-gap-md);
     gap: var(--presenter-gap-sm);
 }
 
 .care-presenter-contrast-pane {
     border: var(--presenter-border) solid var(--presenter-line);
     border-radius: var(--presenter-radius-lg);
     background: var(--slide-surface-raised);
     display: flex;
     flex-direction: column;
     min-width: 0;
     min-height: 0;
 }
 
 .care-presenter-contrast-header {
     display: flex;
     align-items: center;
     justify-content: flex-start;
     gap: var(--presenter-gap-sm);
 }
 
 .care-presenter-contrast-icon-wrap {
     width: calc(var(--slide-u) * 4.6);
     height: calc(var(--slide-u) * 4.6);
     border-radius: 999px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     flex: 0 0 auto;
 }
 
 .care-presenter-contrast-icon {
     width: calc(var(--slide-u) * 2.6);
     height: calc(var(--slide-u) * 2.6);
     object-fit: contain;
     filter: var(--presenter-external-icon-filter, none);
     opacity: 0.95;
 }
 
 .care-presenter-media-row {
     display: grid;
     grid-template-columns: auto minmax(0, 1fr);
     align-items: center;
     column-gap: var(--presenter-gap-sm);
 }
 
 .care-presenter-media-icon-tile {
     width: calc(var(--slide-u) * 5.6);
     height: calc(var(--slide-u) * 5.6);
     display: grid;
     place-items: center;
     border-radius: var(--presenter-radius-md);
     background: rgba(0, 0, 0, 0.18);
 }
 
 .care-presenter-media-icon {
     width: calc(var(--slide-u) * 3.6);
     height: calc(var(--slide-u) * 3.6);
     object-fit: contain;
     opacity: 0.95;
     filter: var(--presenter-external-icon-filter, none);
 }
 
 .care-presenter-media-body { min-width: 0; }
 
 .care-presenter-tile-row {
     display: flex;
     flex-direction: row;
     flex-wrap: nowrap;
     gap: var(--presenter-gap-md);
     width: 100%;
     min-width: 0;
 }
 
 .care-presenter-tile {
     flex: 1 1 0;
     border: var(--presenter-border) solid var(--presenter-line);
     border-radius: var(--presenter-radius-lg);
     background: linear-gradient(135deg, color-mix(in srgb, var(--presenter-accent) 10%, transparent), transparent 62%), var(--slide-surface-raised);
     display: flex;
     flex-direction: column;
     justify-content: center;
     min-width: 0;
     text-align: center;
     color: var(--presenter-fg);
 }
 
 .care-presenter-tile strong {
     font-size: var(--presenter-type-subtitle);
     line-height: 1.05;
     letter-spacing: -0.02em;
     color: currentColor;
 }
 
 .care-presenter-tile span {
     font-size: var(--presenter-type-body);
     color: var(--presenter-muted);
 }
 
 /* Stacked flex rows of compact capsule tiles (e.g. 3-up + 2-up). */
 .care-presenter-pill-rows {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: var(--presenter-gap-md);
     width: 100%;
     min-width: 0;
 }
 
 .care-presenter-pill-row {
     display: flex;
     flex-wrap: nowrap;
     justify-content: center;
     gap: var(--presenter-gap-md);
     width: 100%;
     min-width: 0;
 }
 
 .care-presenter-pill-row .care-presenter-tile.care-presenter-tile--pill {
     flex: 0 1 calc((100% - 2 * var(--presenter-gap-md)) / 3);
     max-width: calc((100% - 2 * var(--presenter-gap-md)) / 3);
     min-height: calc(var(--slide-u) * 3.4);
     border-radius: 999px;
     padding: calc(var(--slide-u) * 0.7) calc(var(--slide-u) * 1.35);
 }
 
 .care-presenter-value-pills {
     margin-inline: calc(var(--slide-u) * 3);
     display: grid;
     grid-template-columns: repeat(3, minmax(0, 1fr));
     gap: var(--presenter-gap-md);
     min-width: 0;
 }
 
 .care-presenter-value-pill {
     min-height: calc(var(--slide-u) * 6.5);
     border-radius: 999px;
     display: grid;
     place-items: center;
     text-align: center;
 }
 
 .care-presenter-value-pill__inner {
     display: grid;
     gap: calc(var(--slide-u) * 0.45);
     place-items: center;
 }
 
 .care-presenter-value-pill__label {
     opacity: 0.42;
     font-size: var(--presenter-type-label);
     line-height: 1;
     letter-spacing: 0.08em;
     text-transform: uppercase;
 }
 
 .care-presenter-value-pill__value {
     font-size: var(--presenter-type-lead);
     line-height: 1.05;
 }
 
 /* --------------------------------------------------------------------------
    Takeaways and quotes
    -------------------------------------------------------------------------- */
 
 .care-presenter-key-takeaway {
     margin: 0;
     position: relative;
     width: 100%;
     min-width: 0;
     padding: calc(var(--slide-u) * 1.15) calc(var(--slide-u) * 1.75);
     overflow: hidden;
     overflow-wrap: break-word;
     color: var(--care-key-takeaway-fg, var(--presenter-fg));
     font-size: var(--presenter-type-takeaway);
     line-height: 1.25;
     font-weight: 600;
     background: var(--care-key-takeaway-bg, linear-gradient(90deg, color-mix(in srgb, var(--presenter-accent) 22%, var(--presenter-stage)), color-mix(in srgb, var(--presenter-stage) 92%, var(--presenter-bg))));
 }
 
 .care-presenter-key-takeaway strong {
     color: var(--care-key-takeaway-fg, var(--presenter-fg));
     text-transform: uppercase;
     letter-spacing: 0.08em;
     font-size: 0.78em;
 }
 
 .care-presenter-slide__card .care-presenter-key-takeaway--accent-fg,
 .care-presenter-slide__card .care-presenter-key-takeaway--accent-fg strong {
     color: var(--presenter-accent-brand);
 }
 
 .care-presenter-quote {
     margin: 0;
     max-width: var(--presenter-slide-copy-max);
     min-width: 0;
     border-left: var(--presenter-border-strong) solid var(--presenter-accent);
     padding: calc(var(--slide-u) * 0.8) 0 calc(var(--slide-u) * 0.8) calc(var(--slide-u) * 2.4);
 }
 
 .care-presenter-quote p {
     margin: 0;
     font-size: var(--presenter-type-quote);
     line-height: 1.28;
     color: var(--presenter-fg);
 }
 
 .care-presenter-quote cite {
     margin-top: calc(var(--slide-u) * 0.8);
     display: block;
     font-style: normal;
     color: var(--presenter-soft);
     font-size: var(--presenter-type-quote-cite);
 }
 
 .care-presenter-slide--quote .care-presenter-quote p {
     font-size: var(--presenter-type-quote-slide);
     line-height: 1.08;
     letter-spacing: -0.04em;
 }
 
 .care-presenter-slide--quote .care-presenter-key-takeaway {
     font-size: var(--presenter-type-quote-takeaway);
 }
 
 /* --------------------------------------------------------------------------
    Statement / section slide variants
    -------------------------------------------------------------------------- */
 
 .care-presenter-slide--statement,
 .care-presenter-slide--pressure,
 .care-presenter-slide--decision,
 .care-presenter-slide--section {
     justify-content: center;
 }
 
 .care-presenter-slide--statement h1,
 .care-presenter-slide--statement h2 {
     max-width: 100%;
     font-size: var(--presenter-type-hero-statement);
     line-height: 0.9;
     letter-spacing: -0.06em;
 }
 
 .care-presenter-slide--statement p {
     max-width: var(--presenter-slide-copy-tight);
     font-size: var(--presenter-type-statement-lede);
 }
 
 .care-presenter-slide--pressure {
     --presenter-fg: #f6f8ff;
     --presenter-muted: #d4dcee;
     --presenter-soft: #b6c1d8;
     --presenter-line: rgba(228, 236, 255, 0.3);
     --slide-surface-raised: color-mix(in srgb, #0f1829 84%, transparent);
     --presenter-external-icon-filter: brightness(0) invert(1);
     --presenter-slide-bg: var(--title-background-blend-dark);
     --presenter-slide-overlay: none;
     color: var(--presenter-fg);
 }
 
 .care-presenter-slide--pressure .care-presenter-key-takeaway {
     --care-key-takeaway-bg: linear-gradient(90deg, color-mix(in srgb, #081220 88%, transparent), color-mix(in srgb, #081220 72%, transparent));
     --care-key-takeaway-fg: #f6f8ff;
 }
 
 .care-presenter-slide--pressure h2 {
     max-width: 100%;
     font-size: var(--presenter-type-hero-pressure);
     line-height: 0.88;
     letter-spacing: -0.06em;
 }
 
 .care-presenter-slide--pressure h2::after {
     content: "";
     display: block;
     width: 1.6em;
     height: calc(var(--slide-u) * 0.45);
     margin-top: 0.28em;
     background: var(--slide-danger);
 }
 
 .care-presenter-slide--decision h2 {
     max-width: 100%;
     font-size: var(--presenter-type-hero-decision);
     line-height: 0.92;
 }
 
 .care-presenter-slide--decision .care-presenter-text-block {
     border-left-color: var(--slide-warning);
 }
 
 .care-presenter-slide--section .care-presenter-slide__eyebrow {
     color: var(--presenter-accent);
 }
 
 .care-presenter-slide--section h2 {
     max-width: 100%;
     font-size: var(--presenter-type-hero-section);
     line-height: 0.85;
     letter-spacing: -0.075em;
 }
 
.care-presenter-slide--danger { --presenter-accent: var(--slide-danger); }

/* Pale danger tint on normal (e.g. light) slides; use variables so pressure can override. */
.care-presenter-slide--danger .care-presenter-key-takeaway {
    --care-key-takeaway-bg: linear-gradient(
        90deg,
        color-mix(in srgb, var(--slide-danger) 30%, var(--presenter-stage)),
        var(--presenter-stage)
    );
    --care-key-takeaway-fg: var(--presenter-fg);
}

/* On atmospheric pressure slides, danger takeaway must stay dark enough for light text. */
.care-presenter-slide--pressure.care-presenter-slide--danger .care-presenter-key-takeaway {
    --care-key-takeaway-bg: linear-gradient(
        90deg,
        color-mix(in srgb, var(--slide-danger) 52%, #0a1018),
        color-mix(in srgb, #081220 88%, transparent)
    );
    --care-key-takeaway-fg: #f6f8ff;
}
 
 /* --------------------------------------------------------------------------
    Branding badge
    -------------------------------------------------------------------------- */
 
 .care-presenter-slide--branded { position: relative; }
 
.care-presenter-slide--branded::after {
    content: "";
    position: absolute;
    top: calc(var(--slide-u) * 1.5);
    right: calc(var(--slide-u) * 1.8);
    width: calc(var(--slide-u) * 4.2);
    height: calc(var(--slide-u) * 4.2);
    background-image: url("/assets/img/logo/care-logo.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.92;
    filter: var(--presenter-external-icon-filter, none);
    pointer-events: none;
    z-index: 2;
}

/* Pressure slides: badge reads better top-left with a light halo on dark/busy backdrops. */
.care-presenter-slide--branded.care-presenter-slide--pressure::after {
    right: auto;
    left: calc(var(--slide-u) * 1.8);
    filter: var(--presenter-external-icon-filter, none)
        drop-shadow(0 0 calc(var(--slide-u) * 0.9) rgba(255, 255, 255, 0.5))
        drop-shadow(0 0 calc(var(--slide-u) * 2.4) rgba(255, 255, 255, 0.28));
}

.care-presenter-slide--branded .care-presenter-slide__eyebrow,
.care-presenter-slide--branded > h1:first-of-type,
.care-presenter-slide--branded > h2:first-of-type {
    padding-right: calc(var(--slide-u) * 5.5);
}

.care-presenter-slide--branded.care-presenter-slide--pressure .care-presenter-slide__eyebrow,
.care-presenter-slide--branded.care-presenter-slide--pressure > h1:first-of-type,
.care-presenter-slide--branded.care-presenter-slide--pressure > h2:first-of-type {
    padding-right: 0;
    padding-left: calc(var(--slide-u) * 5.5);
}
 
 /* --------------------------------------------------------------------------
    Compare tables
    -------------------------------------------------------------------------- */
 
 .care-presenter-compare-wrap {
     width: 100%;
     margin-top: var(--presenter-gap-sm);
     overflow: hidden;
 }
 
 .care-presenter-compare {
     width: 100%;
     border-collapse: separate;
     border-spacing: 0;
     border: var(--presenter-border) solid var(--presenter-line);
     background: var(--slide-surface-raised);
     overflow: hidden;
     border-radius: var(--presenter-radius-lg);
 }
 
 .care-presenter-compare th,
 .care-presenter-compare td {
     text-align: left;
     vertical-align: top;
     padding: var(--presenter-gap-md);
     border-right: var(--presenter-border) solid var(--presenter-line);
     border-top: var(--presenter-border) solid var(--presenter-line);
 }
 
 .care-presenter-compare tr:first-child th { border-top: 0; }
 .care-presenter-compare th:last-child,
 .care-presenter-compare td:last-child { border-right: 0; }
 
 .care-presenter-compare thead th {
     font-size: var(--presenter-type-label);
     letter-spacing: 0.02em;
     text-transform: uppercase;
     color: var(--presenter-fg);
     background: linear-gradient(135deg, color-mix(in srgb, var(--presenter-accent) 18%, transparent), transparent 65%);
 }
 
 .care-presenter-compare tbody td {
     font-size: var(--presenter-type-body);
     color: var(--presenter-muted);
 }
 
 .care-presenter-compare tbody td:nth-child(1) {
     color: var(--presenter-soft);
 }
 
 /* --------------------------------------------------------------------------
    Item cards
    -------------------------------------------------------------------------- */
 
 .care-presenter-item-grid {
     --presenter-item-grid-gap: var(--presenter-gap-md);
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: var(--presenter-item-grid-gap);
     margin-top: var(--presenter-gap-sm);
     width: 100%;
     min-width: 0;
 }
 
 .care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child) > .care-presenter-item-grid {
     align-self: stretch;
     min-height: 0;
     max-height: 100%;
     align-content: center;
     overflow: hidden;
 }

 .care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child) > .care-presenter-item-grid > .care-presenter-item-card {
     min-height: 0;
 }

.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child) > .care-presenter-item-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))) {
    grid-auto-rows: auto;
    align-content: center;
}
 
 .care-presenter-item-card {
     flex: 0 1 calc((100% - 2 * var(--presenter-item-grid-gap)) / 3);
     min-width: min(100%, calc(var(--slide-u) * 17));
     min-height: calc(var(--slide-u) * 12);
     padding: var(--presenter-gap-md);
     border-radius: var(--presenter-card-item-radius);
     border: var(--presenter-border) solid color-mix(in srgb, var(--presenter-accent) 42%, var(--presenter-line));
     background: radial-gradient(circle at top right, color-mix(in srgb, var(--presenter-accent) 18%, transparent), transparent 42%), var(--slide-surface-raised);
     display: flex;
     flex-direction: column;
     justify-content: flex-start;
     gap: var(--presenter-gap-sm);
     min-width: 0;
 }
 
 .care-presenter-item-grid:not(:has(> :nth-child(2))) > .care-presenter-item-card {
     flex: 1 1 100%;
     max-width: 100%;
 }
 
 .care-presenter-item-grid--two > .care-presenter-item-card {
     flex: 0 1 calc((100% - var(--presenter-item-grid-gap)) / 2);
 }

 /* Exactly two cards: matched columns (grid stretch), centered as a pair in the flex slot. */
 .care-presenter-item-grid--two:has(> :nth-child(2)):not(:has(> :nth-child(3))) {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     align-content: center;
     align-items: stretch;
 }

 .care-presenter-item-grid--two:has(> :nth-child(2)):not(:has(> :nth-child(3))) > .care-presenter-item-card {
     flex: none;
     min-width: 0;
     min-height: 0;
     height: 100%;
 }

.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child) > .care-presenter-item-grid--two {
    align-self: stretch;
    align-content: center;
    align-items: stretch;
}
 
 /* Exactly four cards: 2×2. This is intentional deck composition, not responsive behaviour. */
 .care-presenter-item-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))) {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     grid-auto-rows: minmax(0, 1fr);
     align-content: stretch;
     align-items: stretch;
 }
 
 .care-presenter-item-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))) > .care-presenter-item-card {
     flex: none;
     min-width: 0;
     min-height: 0;
 }
 
 .care-presenter-item-grid:has(> :nth-child(4)) {
     --presenter-item-grid-gap: var(--presenter-gap-sm);
 }
 
 .care-presenter-item-grid:has(> :nth-child(4)) > .care-presenter-item-card:not(:has(.care-presenter-item-card__content img)) {
     min-height: calc(var(--slide-u) * 10.5);
     padding: var(--presenter-gap-sm);
     gap: var(--presenter-gap-xs);
 }
 
 .care-presenter-item-card--compact:not(:has(.care-presenter-item-card__content img)) {
     min-height: calc(var(--slide-u) * 9);
     padding: var(--presenter-gap-sm);
     gap: var(--presenter-gap-xs);
 }

.care-presenter-item-card--compact:has(.care-presenter-item-card__content img) {
    padding: var(--presenter-gap-sm);
    gap: var(--presenter-gap-xs);
}

.care-presenter-item-card--center {
    text-align: center;
    align-items: center;
}

.care-presenter-item-card--center .care-presenter-item-card__header {
    justify-content: center;
    width: 100%;
}

.care-presenter-item-card--center .care-presenter-item-card__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.care-presenter-item-card--center .care-presenter-item-card__footer {
    width: 100%;
}

 .care-presenter-item-card__header,
 .care-presenter-item-card__content,
 .care-presenter-item-card__footer {
     min-width: 0;
 }
 
 .care-presenter-item-card__header {
     display: flex;
     align-items: flex-start;
     gap: var(--presenter-gap-sm);
 }
 
.care-presenter-item-card:has(> .care-presenter-item-card__footer):not(:has(.care-presenter-item-card__content img)) > .care-presenter-item-card__footer {
    margin-top: auto;
}

/* Pillar card with image in __content: header + flexible illustration + optional footer (no fixed slide-u image size). */
.care-presenter-item-card:has(.care-presenter-item-card__content img) {
    min-height: 0;
    overflow: hidden;
}

.care-presenter-item-card:has(.care-presenter-item-card__content img) > .care-presenter-item-card__header,
.care-presenter-item-card:has(.care-presenter-item-card__content img) > .care-presenter-item-card__footer {
    flex-shrink: 0;
}

.care-presenter-item-card:has(.care-presenter-item-card__content img) > .care-presenter-item-card__content {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.care-presenter-item-card:has(.care-presenter-item-card__content img) > .care-presenter-item-card__content img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    object-fit: contain;
}

.care-presenter-slide__card:has(> .care-presenter-key-takeaway:last-child) > .care-presenter-item-grid > .care-presenter-item-card:has(.care-presenter-item-card__content img) {
    max-height: 100%;
}
 
 .care-presenter-item-card__icon-wrap {
     flex-shrink: 0;
     width: calc(var(--slide-u) * 4.8);
     height: calc(var(--slide-u) * 4.8);
     border: var(--presenter-border) solid color-mix(in srgb, var(--presenter-accent) 52%, transparent);
     border-radius: 999px;
     background: color-mix(in srgb, var(--presenter-accent) 14%, transparent);
     display: inline-flex;
     align-items: center;
     justify-content: center;
 }
 
 .care-presenter-item-card__icon {
     width: calc(var(--slide-u) * 2.4);
     height: calc(var(--slide-u) * 2.4);
     object-fit: contain;
 }
 
 .care-presenter-item-card strong {
     font-size: var(--presenter-type-card-title);
     line-height: 1;
     letter-spacing: -0.03em;
 }
 
 .care-presenter-item-card span,
 .care-presenter-item-card__content {
     color: var(--presenter-soft);
     font-size: var(--presenter-type-card-body);
     line-height: 1.3;
 }
 
 .care-presenter-item-card--compact strong {
     font-size: var(--presenter-type-card-title-dense);
 }
 
.care-presenter-item-card--compact .care-presenter-item-card__content,
.care-presenter-item-card--compact span {
    font-size: var(--presenter-type-card-body-dense);
}

.care-presenter-item-card--compact:has(.care-presenter-item-card__content img) > .care-presenter-item-card__footer {
    font-size: var(--presenter-type-card-body-dense);
    line-height: 1.3;
    color: var(--presenter-soft);
}

/* Title + rule + body: explicit separator under the headline (pair with item-grid--two for matched columns). */
.care-presenter-item-card--ruled .care-presenter-item-card__header {
    padding-bottom: var(--presenter-gap-sm);
    border-bottom: var(--presenter-border) solid var(--presenter-line);
}

.care-presenter-item-card--domain-technology {
     border-left-width: var(--presenter-border-strong);
     border-left-color: var(--slide-danger);
 }
 
 .care-presenter-item-card--domain-technology .care-presenter-item-card__header strong {
     color: var(--slide-danger);
 }
 
 .care-presenter-item-card--domain-organization {
     border-left-width: var(--presenter-border-strong);
     border-left-color: var(--presenter-accent-brand);
 }
 
 .care-presenter-item-card--domain-organization .care-presenter-item-card__header strong {
     color: var(--presenter-accent-brand);
 }
 
 .care-presenter-item-card--domain-product {
     border-left-width: var(--presenter-border-strong);
     border-left-color: var(--slide-success);
 }
 
 .care-presenter-item-card--domain-product .care-presenter-item-card__header strong {
     color: var(--slide-success);
 }
 
 /* --------------------------------------------------------------------------
    Workflow steps (landing how-it-works pattern; step numbers via counter)
    -------------------------------------------------------------------------- */

 .care-presenter-workflow-grid {
     counter-reset: presenter-workflow-step;
     display: grid;
     grid-template-columns: repeat(3, minmax(0, 1fr));
     gap: var(--presenter-gap-sm);
     width: 100%;
     min-width: 0;
     margin-top: var(--presenter-gap-sm);
     align-self: stretch;
 }

 .care-presenter-step-card {
     counter-increment: presenter-workflow-step;
     min-width: 0;
     padding: var(--presenter-gap-md);
     border: var(--presenter-border) solid color-mix(in srgb, var(--presenter-line) 88%, transparent);
     border-radius: calc(var(--slide-u) * 0.9);
     background: var(--slide-surface-raised);
     box-shadow: 0 calc(var(--slide-u) * 0.35) calc(var(--slide-u) * 1.2) color-mix(in srgb, var(--presenter-fg) 8%, transparent);
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     text-align: start;
 }

 .care-presenter-step-index {
     width: calc(var(--slide-u) * 3.15);
     height: calc(var(--slide-u) * 3.15);
     margin: 0 0 var(--presenter-gap-sm);
     border-radius: 50%;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     font-size: var(--presenter-type-label);
     font-weight: 700;
     line-height: 1;
     background: color-mix(in srgb, var(--presenter-accent) 14%, var(--slide-surface-raised));
     border: var(--presenter-border) solid color-mix(in srgb, var(--presenter-accent) 38%, var(--presenter-line));
     color: var(--presenter-accent);
 }

 .care-presenter-step-index::before {
     content: counter(presenter-workflow-step);
 }

 .care-presenter-step-main {
     margin: 0 0 var(--presenter-gap-xs);
     font-size: var(--presenter-type-card-title-dense);
     line-height: 1.25;
     letter-spacing: -0.02em;
     color: var(--presenter-fg);
 }

 .care-presenter-step-text {
     margin: 0;
     font-size: var(--presenter-type-card-body-dense);
     line-height: 1.55;
     color: var(--presenter-muted);
 }

 /* --------------------------------------------------------------------------
    Journey timeline (landing FAQ timeline; dual columns, global step numbers)
    -------------------------------------------------------------------------- */

 .care-presenter-journey-grid {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: var(--presenter-gap-md);
     width: 100%;
     min-width: 0;
     margin-top: var(--presenter-gap-xs);
     align-content: start;
     align-items: start;
 }

 .care-presenter-journey-column {
     min-width: 0;
     align-self: start;
     height: auto;
     display: flex;
     flex-direction: column;
     gap: calc(var(--slide-u) * 0.55);
 }

 .care-presenter-journey-column > .care-presenter-timeline {
     flex: 0 0 auto;
 }

 .care-presenter-journey-column__title {
     margin: 0;
     padding-bottom: calc(var(--slide-u) * 0.45);
     font-size: var(--presenter-type-label);
     font-weight: 700;
     letter-spacing: 0.06em;
     text-transform: uppercase;
     color: var(--presenter-fg);
     border-bottom: var(--presenter-border) solid var(--presenter-line);
 }

 .care-presenter-journey-column--failure .care-presenter-journey-column__title {
     color: color-mix(in srgb, var(--slide-danger) 88%, var(--presenter-fg));
     border-bottom-color: color-mix(in srgb, var(--slide-danger) 45%, var(--presenter-line));
 }

 .care-presenter-journey-column--care .care-presenter-journey-column__title {
     color: var(--presenter-accent);
     border-bottom-color: color-mix(in srgb, var(--presenter-accent) 45%, var(--presenter-line));
 }

 /* UA default for <ol> is ~40px padding-inline-start — never on presenter timelines. */
 html.care-app body.care-presenter-body .care-presenter-timeline {
     list-style: none;
     margin: 0;
     padding: 0;
     padding-inline-start: 0;
     margin-inline-start: 0;
     width: 100%;
     min-width: 0;
     position: relative;
     counter-reset: presenter-journey-step 0;
     display: flex;
     flex-direction: column;
 }

 .care-presenter-timeline__item {
     counter-increment: presenter-journey-step;
     display: grid;
     grid-template-columns: calc(var(--slide-u) * 2.75) minmax(0, 1fr);
     grid-template-rows: auto;
     align-items: start;
     gap: 0 calc(var(--slide-u) * 0.85);
     position: relative;
     flex: 0 0 auto;
     padding: 0;
     margin: 0;
     border: none;
     background: transparent;
     min-width: 0;
     min-height: 0;
 }

 /* Title-only steps (failure column): tight rhythm — padding-bottom was dead space. */
 .care-presenter-timeline__item:not(:has(.care-presenter-timeline__text)) {
     margin-bottom: calc(var(--slide-u) * 0.5);
 }

 .care-presenter-timeline__item:has(.care-presenter-timeline__text) {
     margin-bottom: calc(var(--slide-u) * 0.75);
 }

 .care-presenter-timeline__item:last-child {
     margin-bottom: 0;
 }

 .care-presenter-timeline__item:not(:last-child)::after {
     content: "";
     position: absolute;
     left: calc(var(--slide-u) * 1.375);
     top: calc(var(--slide-u) * 2.75);
     height: calc(100% + var(--_timeline-step-gap, calc(var(--slide-u) * 0.5)));
     width: 2px;
     transform: translateX(-50%);
     background: var(--presenter-line);
     pointer-events: none;
 }

 .care-presenter-timeline__item:has(.care-presenter-timeline__text):not(:last-child) {
     --_timeline-step-gap: calc(var(--slide-u) * 0.75);
 }

 .care-presenter-journey-column--failure .care-presenter-timeline__item:not(:last-child)::after {
     background: repeating-linear-gradient(
         to bottom,
         color-mix(in srgb, var(--slide-danger) 70%, transparent) 0,
         color-mix(in srgb, var(--slide-danger) 70%, transparent) 4px,
         transparent 4px,
         transparent 8px
     );
 }

 .care-presenter-journey-column--care .care-presenter-timeline__item:not(:last-child)::after {
     background: linear-gradient(
         to bottom,
         var(--presenter-accent) 0%,
         color-mix(in srgb, var(--presenter-accent) 55%, transparent) 100%
     );
 }

 .care-presenter-timeline__marker {
     grid-column: 1;
     grid-row: 1;
     align-self: start;
     z-index: 1;
     width: calc(var(--slide-u) * 2.75);
     height: calc(var(--slide-u) * 2.75);
     border-radius: 50%;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     font-size: calc(var(--slide-u) * 1.05);
     font-weight: 700;
     line-height: 1;
     background: color-mix(in srgb, var(--presenter-accent) 12%, var(--slide-surface-raised));
     border: var(--presenter-border) solid color-mix(in srgb, var(--presenter-accent) 35%, var(--presenter-line));
     color: var(--presenter-accent);
 }

 .care-presenter-timeline__marker::before {
     content: counter(presenter-journey-step);
 }

 .care-presenter-timeline__body {
     grid-column: 2;
     grid-row: 1;
     align-self: start;
     padding-top: calc(var(--slide-u) * 0.3);
     min-width: 0;
 }

 .care-presenter-timeline__title {
     margin: 0;
     font-size: calc(var(--slide-u) * 1.35);
     line-height: 1.32;
     color: var(--presenter-fg);
 }

 .care-presenter-timeline__text {
     margin: calc(var(--slide-u) * 0.35) 0 0;
     font-size: var(--presenter-type-card-body-dense);
     line-height: 1.5;
     color: var(--presenter-muted);
 }

 .care-presenter-timeline__item--trap .care-presenter-timeline__marker {
     background: color-mix(in srgb, var(--slide-danger) 14%, var(--slide-surface-raised));
     border-color: color-mix(in srgb, var(--slide-danger) 55%, var(--presenter-line));
     border-style: dashed;
     color: var(--presenter-soft);
 }

 /* Trap: block in the grid row (marker alignment); fit-content width so strike spans copy only. */
 .care-presenter-timeline__item--trap .care-presenter-timeline__title {
     position: relative;
     display: block;
     width: fit-content;
     max-width: 100%;
     color: var(--presenter-soft);
 }

 .care-presenter-timeline__item--trap .care-presenter-timeline__title::before {
     position: absolute;
     content: "";
     left: 0;
     right: 0;
     top: 48%;
     border-top: 2px solid color-mix(in srgb, var(--slide-danger) 72%, transparent);
     transform: skewY(-5deg);
     pointer-events: none;
 }

 .care-presenter-timeline__item--turn .care-presenter-timeline__marker {
     background: linear-gradient(145deg, var(--presenter-accent) 0%, color-mix(in srgb, var(--presenter-accent) 72%, #ffffff) 100%);
     border: 2px solid color-mix(in srgb, var(--presenter-accent) 85%, var(--presenter-line));
     color: #fff;
     box-shadow: 0 0 0 calc(var(--slide-u) * 0.35) color-mix(in srgb, var(--presenter-accent) 22%, transparent);
 }

 .care-presenter-timeline__item--turn .care-presenter-timeline__title {
     color: var(--presenter-accent);
     font-weight: 700;
 }

 .care-presenter-timeline__item--solution .care-presenter-timeline__marker {
     background: color-mix(in srgb, var(--presenter-accent) 16%, var(--slide-surface-raised));
     border: 2px solid color-mix(in srgb, var(--presenter-accent) 55%, var(--presenter-line));
     color: var(--presenter-accent);
 }

 .care-presenter-timeline__item--solution .care-presenter-timeline__title {
     font-weight: 600;
     color: var(--presenter-fg);
 }

 /* Surface modifiers */
 .care-presenter-surface--tint-accent {
     background: color-mix(in srgb, var(--presenter-accent) 10%, var(--slide-surface-raised));
     border-color: color-mix(in srgb, var(--presenter-accent) 28%, var(--presenter-line));
 }
 
 .care-presenter-surface--tint-accent-brand {
     background: color-mix(in srgb, var(--presenter-accent-brand) 10%, var(--slide-surface-raised));
     border-color: color-mix(in srgb, var(--presenter-accent-brand) 28%, var(--presenter-line));
 }

 .care-presenter-surface--tint-warning {
     background: color-mix(in srgb, var(--slide-warning) 14%, var(--slide-surface-raised));
     border-color: color-mix(in srgb, var(--slide-warning) 32%, var(--presenter-line));
 }
 
 .care-presenter-surface--danger-gradient {
     background: linear-gradient(90deg, color-mix(in srgb, var(--slide-danger) 30%, var(--presenter-stage)), var(--presenter-stage));
     border-color: color-mix(in srgb, var(--slide-danger) 32%, var(--presenter-line));
 }
 
 /* --------------------------------------------------------------------------
    Toolbar / status: outside slide authority
    -------------------------------------------------------------------------- */
 
 .care-presenter__toolbar {
     position: absolute;
     left: 16px;
     bottom: 16px;
     z-index: 20;
     display: flex;
     gap: 8px;
     align-items: center;
     flex-wrap: nowrap;
     background: var(--presenter-toolbar);
     border: 1px solid var(--presenter-line);
     border-radius: 999px;
     padding: 8px;
     backdrop-filter: blur(5px);
     opacity: 0.22;
     transition: opacity 120ms ease-in-out, background-color 120ms ease-in-out;
 }
 
 .care-presenter__toolbar:hover,
 .care-presenter__toolbar:focus-within {
     opacity: 1;
     background: color-mix(in srgb, var(--presenter-toolbar) 92%, var(--presenter-stage));
 }
 
 .care-presenter__toolbar button {
     border: 1px solid var(--presenter-line);
     background: color-mix(in srgb, var(--presenter-stage) 86%, var(--presenter-bg));
     color: var(--presenter-fg);
     border-radius: 999px;
     width: 38px;
     height: 38px;
     display: grid;
     place-items: center;
     padding: 0;
     cursor: pointer;
 }
 
 .care-presenter__toolbar button[disabled] {
     opacity: 0.45;
     cursor: not-allowed;
 }
 
 .care-presenter__toolbar button svg {
     width: 19px;
     height: 19px;
     fill: currentColor;
 }

 body.care-presenter-body.is-presenter-fullscreen [data-presenter-action="download-pdf"] {
     display: none;
 }
 
 .care-presenter__status {
     margin-inline: 6px 4px;
     color: var(--presenter-muted);
     font-size: 0.95rem;
     display: inline-flex;
     align-items: baseline;
     flex-wrap: wrap;
     gap: 0.15em;
 }
 
 .care-presenter-status__slides {
     opacity: 0.95;
     font-weight: 600;
     color: var(--presenter-fg);
     letter-spacing: 0.01em;
 }
 
 .care-presenter-status__steps {
     opacity: 0.38;
     font-weight: 400;
     color: var(--presenter-soft);
 }
 
 body.is-presenter-compact-ui .care-presenter__toolbar {
     display: none !important;
 }
 
 body.is-presenter-compact-ui .care-presenter-compact-status:not([hidden]) {
     position: fixed;
     bottom: max(0.625rem, env(safe-area-inset-bottom));
     right: max(0.625rem, env(safe-area-inset-right));
     z-index: 30;
     max-width: min(92vw, 19rem);
     padding: 0.35rem 0.7rem;
     border-radius: 999px;
     border: 1px solid var(--presenter-line);
     background: color-mix(in srgb, var(--presenter-toolbar) 88%, var(--presenter-stage));
     color: var(--presenter-muted);
     font-size: clamp(0.78rem, 2.2vw, 1rem);
     line-height: 1.25;
     backdrop-filter: blur(6px);
     opacity: 0.5;
     pointer-events: none;
     display: inline-flex;
     align-items: baseline;
     flex-wrap: wrap;
     gap: 0.15em;
 }
 
 /* --------------------------------------------------------------------------
    Fullscreen
    -------------------------------------------------------------------------- */
 
 body.care-presenter-body.is-presenter-fullscreen {
     grid-template-rows: minmax(0, 1fr);
     overflow: hidden;
     min-height: 100dvh;
     height: 100dvh;
 }
 
 body.care-presenter-body.is-presenter-fullscreen [data-presenter-shell="header"],
 body.care-presenter-body.is-presenter-fullscreen [data-presenter-shell="footer"] {
     display: none;
 }
 
 body.care-presenter-body.is-presenter-fullscreen .care-presenter {
     position: fixed;
     inset: 0;
     padding: 0;
     width: 100dvw;
     height: 100dvh;
     display: grid;
     place-items: center;
 }
 
 body.care-presenter-body.is-presenter-fullscreen .care-presenter__stage {
     width: min(100dvw, calc(100dvh * 16 / 9));
     max-width: none;
     height: auto;
     max-height: 100dvh;
     border: 0;
 }
 
 body.care-presenter-body.is-presenter-fullscreen .care-presenter__toolbar {
     position: fixed;
     bottom: max(1rem, env(safe-area-inset-bottom));
 }
 
 /* Fullscreen atmospheric layer may cover the viewport only when explicitly requested. */
 body.care-presenter-body.is-presenter-fullscreen .care-presenter-slide--bg-fullscreen::before,
 body.care-presenter-body.is-presenter-fullscreen .care-presenter-slide--bg-fullscreen::after {
     position: fixed;
     inset: calc(-1 * var(--presenter-bleed-y, 0px)) calc(-1 * var(--presenter-bleed-x, 0px));
 }
 
 .care-presenter__stage.has-slide-bg-fullscreen {
     border-color: transparent;
 }
 
 /* --------------------------------------------------------------------------
    Animation cues
    -------------------------------------------------------------------------- */
 
 .care-presenter__slide [data-presenter-cue] {
     transition:
         opacity 0.38s ease,
         transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
         clip-path 0.42s ease,
         visibility 0s linear 0.38s;
 }
 
 @media (prefers-reduced-motion: reduce) {
     .care-presenter__slide [data-presenter-cue] {
         transition: none !important;
     }
 }
 
 .care-presenter__slide [data-presenter-effect="fade-in"]:not(.care-presenter-cue--on) {
     opacity: 0;
     pointer-events: none;
 }
 
 .care-presenter__slide [data-presenter-effect="fade-in"].care-presenter-cue--on {
     opacity: 1;
     pointer-events: auto;
 }
 
 .care-presenter__slide [data-presenter-effect="reveal"]:not(.care-presenter-cue--on) {
     clip-path: inset(0 100% 0 0);
     opacity: 0;
     pointer-events: none;
 }
 
 .care-presenter__slide [data-presenter-effect="reveal"].care-presenter-cue--on {
     clip-path: inset(0 0 0 0);
     opacity: 1;
     pointer-events: auto;
 }
 
 .care-presenter__slide [data-presenter-effect="float-up"]:not(.care-presenter-cue--on) {
     opacity: 0;
     transform: translate3d(0, calc(var(--slide-u) * 1.8), 0);
     pointer-events: none;
 }
 
 .care-presenter__slide [data-presenter-effect="float-up"].care-presenter-cue--on {
     opacity: 1;
     transform: translate3d(0, 0, 0);
     pointer-events: auto;
 }
 
 .care-presenter__slide [data-presenter-effect="zoom-in"]:not(.care-presenter-cue--on) {
     opacity: 0;
     transform: scale(0.94);
     pointer-events: none;
 }
 
 .care-presenter__slide [data-presenter-effect="zoom-in"].care-presenter-cue--on {
     opacity: 1;
     transform: scale(1);
     pointer-events: auto;
 }
 
 .care-presenter__slide [data-presenter-effect="fade-out"]:not(.care-presenter-cue--on),
 .care-presenter__slide [data-presenter-effect="hide"]:not(.care-presenter-cue--on) {
     opacity: 1;
     pointer-events: auto;
 }
 
 .care-presenter__slide [data-presenter-effect="fade-out"].care-presenter-cue--on,
 .care-presenter__slide [data-presenter-effect="hide"].care-presenter-cue--on {
     opacity: 0;
     visibility: hidden;
     pointer-events: none;
 }
 
 /* --------------------------------------------------------------------------
    PDF / print export (all slides, fully revealed)
    -------------------------------------------------------------------------- */

 body.care-presenter-body.care-presenter-body--export {
     display: block;
     min-height: auto;
     height: auto;
     overflow: visible;
     background: var(--presenter-bg);
 }

 .care-presenter-export {
     margin: 0;
     padding: 0;
 }

 .care-presenter-export__page {
     width: 1920px;
     height: 1080px;
     margin: 0 auto;
     page-break-after: always;
     break-after: page;
     display: grid;
     place-items: center;
     background: var(--presenter-bg);
 }

 .care-presenter-export__page:last-child {
     page-break-after: auto;
     break-after: auto;
 }

 .care-presenter-export__stage {
     width: 1920px;
     height: 1080px;
     max-width: none;
     max-height: none;
     aspect-ratio: auto;
     border: 0;
 }

 @media print {
     @page {
         size: 1920px 1080px;
         margin: 0;
     }

     html,
     body.care-presenter-body.care-presenter-body--export {
         width: 1920px;
         margin: 0;
         padding: 0;
         print-color-adjust: exact;
         -webkit-print-color-adjust: exact;
     }
 }

 /* --------------------------------------------------------------------------
    Small physical screens: only chrome changes. The slide system remains 16:9.
    -------------------------------------------------------------------------- */
 
 @media (max-width: 780px), (max-height: 500px) {
     .care-presenter {
         --presenter-page-pad-x: 0.5rem;
         --presenter-page-pad-y: 0.5rem;
     }
 
     .care-presenter-shell__inner {
         padding: 0.5rem 0.75rem;
     }
 
     .care-presenter__stage {
         border-width: 1px;
     }
 }
 