.series-demo{--demo-red:#a01219;--demo-ink:#151517;--demo-muted:#626267;--demo-rule:#dedee2;--demo-surface:#f5f5f7;--demo-gap:1.5rem}
.series-demo main{max-width:1280px;margin:auto;padding:1.5rem 2rem}
.demo-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;background:var(--demo-surface);border:1px solid var(--demo-rule);border-radius:.5rem;margin-bottom:1.5rem;font-size:.8125rem}
.demo-controls strong{font-size:.75rem;letter-spacing:.05em}
.demo-controls[hidden]{display:none!important}
.demo-controls label{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.demo-controls select,.demo-controls button{border:1px solid #ccc;background:white;border-radius:.25rem;padding:.625rem .75rem;min-height:44px;font-size:.8125rem;color:var(--demo-ink)}
.demo-controls .demo-reset{margin-left:auto}
.demo-controls .demo-disclaimer{width:100%;margin:0;color:var(--demo-muted);line-height:1.5;font-size:.75rem}
.demo-crumbs{display:flex;gap:.625rem;flex-wrap:wrap;font-size:.8125rem;color:var(--demo-muted);margin:0 0 1.5rem}
.demo-crumbs button{border:0;background:none;padding:0;color:var(--demo-red);font:inherit;cursor:pointer}
.demo-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--demo-gap);margin-bottom:1.5rem}
.demo-heading h1{font-size:clamp(2rem,3.6vw,3rem);line-height:1.1;letter-spacing:-.04em;margin:.5rem 0 1rem}
.demo-heading .demo-lead{max-width:65ch;color:var(--demo-muted);font-size:1rem;line-height:1.7;margin:0}
.demo-kicker{color:var(--demo-red);font-size:.75rem;font-weight:700;letter-spacing:.08em;line-height:1.5;margin:0}
.demo-badge{font-size:.75rem;white-space:nowrap;border:1px solid var(--demo-rule);padding:.75rem}
.demo-series-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.demo-series-card{border:1px solid var(--demo-rule);border-radius:.5rem;overflow:hidden;background:#fff;text-align:left;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;color:inherit}
.demo-series-card img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}
.demo-series-card>div{padding:1.25rem}
.demo-series-card h2{font-size:1.5rem;line-height:1.2;margin:.75rem 0}
.demo-series-card p{font-size:.9375rem;color:var(--demo-muted);line-height:1.65}
.demo-series-card .demo-card-action{color:var(--demo-red);font-size:.875rem;font-weight:700;display:block;margin-top:1.25rem}
.demo-series-card[disabled]{opacity:.75;cursor:default}
.demo-series-card[disabled] .demo-card-action{color:var(--demo-muted)}
.demo-series-card[href]{text-decoration:none}
.demo-armed-gallery{margin-top:1.25rem;border-top:1px solid var(--demo-rule);padding-top:1rem}
.demo-armed-gallery summary{cursor:pointer;color:var(--demo-red);font-size:.9375rem;font-weight:700;line-height:1.5}
.demo-armed-gallery summary:focus-visible{outline:2px solid var(--demo-red);outline-offset:4px}
.demo-armed-gallery .demo-gallery-note{font-size:.8125rem}
.demo-armed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.demo-armed-grid figure{margin:0;min-width:0;border:1px solid var(--demo-rule);border-radius:4px;overflow:hidden}
.demo-armed-grid figure img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#111}
.demo-armed-grid figcaption{background:#111;color:#fff;font-size:.75rem;letter-spacing:.08em;font-weight:700;padding:.65rem .75rem}
.demo-armed-part-copy{padding:.85rem}
.demo-armed-part-copy h3{font-size:1rem;line-height:1.35;margin:0 0 .5rem}
.demo-armed-part-copy p{font-size:.875rem;margin:0}
.demo-series-card .demo-awareness-label{font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--demo-red);border-block:1px solid var(--demo-rule);padding:.75rem 0}
@media(max-width:480px){.demo-armed-grid{grid-template-columns:1fr}}
.demo-content-advisory{padding:1rem;background:var(--demo-surface);border-block:1px solid var(--demo-rule);font-size:.9375rem;line-height:1.6;color:var(--demo-ink)}
.demo-series-card:not([disabled]):hover,.demo-thumb:hover{border-color:var(--demo-red)}
.demo-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:2rem;padding:1.5rem 0;border-top:1px solid var(--demo-rule)}
.demo-overview .lesson-video>img{aspect-ratio:16/9}
.demo-overview-copy h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2;margin:.75rem 0 1rem}
.demo-overview-copy>p:not(.demo-kicker){font-size:.9375rem;line-height:1.7;color:var(--demo-muted)}
.demo-overview-copy .demo-notice{font-size:.8125rem!important;margin:1rem 0}
.demo-parts-heading{font-size:1.25rem;line-height:1.4;margin:1.5rem 0 0}
@media(max-width:700px){.demo-overview{grid-template-columns:1fr;gap:1.25rem}.demo-overview .lesson-video>img{aspect-ratio:4/3}}
.demo-progress{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-block:1px solid var(--demo-rule);margin:1.5rem 0}
.demo-progress span{font-size:.875rem;white-space:nowrap}
.demo-progress progress{height:.5rem;flex:1;accent-color:var(--demo-red);max-width:25rem}
.demo-policy{font-size:.875rem;color:var(--demo-muted);line-height:1.6;margin:0 0 1.25rem}
.demo-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.demo-thumb{border:1px solid var(--demo-rule);border-radius:.5rem;overflow:hidden;padding:0;text-align:left;background:white;color:var(--demo-ink);display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}
.demo-thumb-visual{position:relative;display:block;width:100%}
.demo-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.demo-part{position:absolute;left:.625rem;top:.625rem;padding:.25rem .5rem;background:#111d;color:#fff;font-size:.75rem}
.demo-lock{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#0007;color:white;font-size:.875rem;font-weight:700}
.demo-thumb-text{display:block;padding:1rem}
.demo-thumb h2{font-size:1rem;line-height:1.4;margin:0 0 .5rem}
.demo-thumb-text small{display:block;color:var(--demo-muted);font-size:.75rem;line-height:1.6}
.demo-thumb-status{display:block;font-size:.8125rem;color:var(--demo-red);margin-top:.75rem;font-weight:700}
.demo-thumb[aria-disabled=true] .demo-thumb-status{color:var(--demo-muted)}
.demo-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}
.demo-thumb{border-radius:.375rem;transition:border-color .18s ease,box-shadow .18s ease}
.demo-thumb:hover,.demo-thumb:focus-visible{box-shadow:0 8px 24px #15151712}
.demo-thumb-visual{isolation:isolate;background:var(--demo-ink);overflow:hidden;aspect-ratio:16/9}
.demo-thumb-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0005 0%,transparent 35%,#000d 100%);z-index:0}
.demo-thumb img{height:100%;object-position:center 65%;filter:saturate(.6)}
.demo-part,.demo-cover-brand,.demo-cover-title,.demo-cover-time,.demo-lock{z-index:1}
.demo-part{left:.75rem;top:.75rem;background:var(--demo-red);font-weight:700;font-variant-numeric:tabular-nums}
.demo-cover-brand{position:absolute;right:.75rem;top:1rem;color:white;font-size:.75rem;font-weight:600;letter-spacing:.04em}
.demo-cover-title{position:absolute;left:1rem;right:1rem;bottom:2.5rem;color:white;font-size:clamp(1rem,1.6vw,1.5rem);font-weight:750;line-height:1.12;letter-spacing:-.025em;max-width:18ch}
.demo-cover-time{position:absolute;left:1rem;bottom:.875rem;color:#fff;font-size:.75rem;letter-spacing:.025em}
.demo-lock{inset:auto .75rem .75rem auto;padding:.25rem .375rem;background:#151517dd;border:1px solid #ffffff55;font-size:.75rem;line-height:1.2}
.demo-thumb-text{display:flex;flex-direction:column;gap:.625rem;flex:1;padding:1.25rem}
.demo-card-heading{font-size:1.125rem;line-height:1.3;font-weight:700;letter-spacing:-.015em}
.demo-card-description{display:block;font-size:.9375rem;line-height:1.6;color:var(--demo-muted);flex:1}
.demo-thumb-status{padding-top:.5rem;border-top:1px solid var(--demo-rule);margin-top:auto}
.demo-learning-links{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 0;border-block:1px solid var(--demo-rule);font-size:.8125rem;line-height:1.5}
.demo-learning-links span{font-weight:700;font-size:.75rem;letter-spacing:.04em;color:var(--demo-muted)}
.demo-learning-links a{color:var(--demo-red);font-weight:600}
@media(max-width:700px){.demo-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-cover-brand{display:none}.demo-cover-title{font-size:1rem;left:.75rem;bottom:2.25rem}.demo-cover-time{left:.75rem}.demo-lock{display:none}.demo-thumb[aria-disabled=true] .demo-part{background:var(--demo-ink)}}
@media(max-width:480px){.series-demo .demo-thumbnails{grid-template-columns:1fr}.demo-cover-brand{display:block}.demo-cover-title{font-size:1.5rem}.demo-lock{display:block}.demo-thumb-text{padding:1rem}}
.demo-notice{font-size:.8125rem;color:var(--demo-muted);line-height:1.65;margin:1.5rem 0}
.demo-course-list{display:grid;gap:.5rem;max-height:29rem;overflow-y:auto;overscroll-behavior:contain;padding:.25rem}
.demo-course-list button{display:flex;gap:.75rem;padding:.75rem;border:1px solid var(--demo-rule);border-radius:.25rem;background:white;text-align:left;align-items:center;color:var(--demo-ink)}
.demo-course-list button[aria-current=true]{border-color:var(--demo-red);box-shadow:inset 3px 0 var(--demo-red)}
.demo-course-list img{width:64px;height:44px;object-fit:cover;flex-shrink:0}
.demo-course-list span{font-size:.8125rem;font-weight:600;line-height:1.4}
.demo-course-list small{display:block;font-size:.75rem;font-weight:400;color:var(--demo-muted);margin-top:.25rem}
.demo-completion{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem;background:var(--demo-surface);margin-top:1rem;border-radius:.25rem}
.demo-completion button,.demo-primary{background:var(--demo-red);color:#fff;border:0;border-radius:.25rem;padding:.75rem 1rem;min-height:44px;font-size:.875rem}
.demo-completion span{font-size:.75rem;color:var(--demo-muted);line-height:1.5;max-width:30ch}
.demo-request-section{border-top:1px solid var(--demo-rule);padding-top:1.5rem;margin-top:1.5rem}
.demo-request-section h2{font-size:1.5rem;margin:0 0 .75rem}
.demo-requests{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0}
.demo-requests button{padding:1.25rem;border:1px solid var(--demo-rule);border-radius:.5rem;background:#fff;color:var(--demo-ink);text-align:left}
.demo-requests strong{font-size:1rem;display:block;margin-bottom:.5rem}
.demo-requests span{font-size:.875rem;line-height:1.6;color:var(--demo-muted)}
.demo-requests small{display:block;color:var(--demo-red);font-size:.8125rem;margin-top:1rem}
.demo-dialog{border:1px solid var(--demo-rule);border-radius:.5rem;max-width:540px;width:calc(100% - 40px);padding:1.5rem;box-sizing:border-box;color:var(--demo-ink)}
.demo-dialog::backdrop{background:#0008}
.demo-dialog h2{font-size:1.5rem;line-height:1.3;margin:0 0 1rem;padding-right:2rem}
.demo-dialog p{font-size:.9375rem;line-height:1.65}
.demo-close{position:absolute;top:.75rem;right:.75rem;border:0;background:#f5f5f7;font-size:1.5rem;width:40px;height:40px}
.demo-dialog label{display:block;font-size:.875rem;margin:1rem 0}
.demo-dialog input,.demo-dialog textarea{display:block;width:100%;box-sizing:border-box;padding:.75rem;border:1px solid #aaa;border-radius:.25rem;font-size:1rem;margin-top:.5rem}
.demo-dialog textarea{min-height:100px;resize:vertical}
.demo-draft{background:var(--demo-surface);padding:1rem;white-space:pre-wrap;font-size:.875rem;line-height:1.6;margin-top:1rem}
.series-demo :focus-visible{outline:3px solid var(--demo-red);outline-offset:4px}
.series-demo .lesson-main{padding:0}
.series-demo .lesson-heading{margin-bottom:1.25rem}
.demo-highlight-sidebar{--highlight-title:1rem;--highlight-copy:.875rem;--highlight-label:.75rem;--highlight-space:.75rem;--highlight-pad:1rem;border:0;border-radius:0;padding:0;display:block}
.demo-highlight-heading{border-top:3px solid var(--demo-red);padding-top:var(--highlight-pad);margin-bottom:var(--highlight-pad)}
.demo-highlight-heading h2{font-size:1.25rem;letter-spacing:.025em;line-height:1.3;margin:.25rem 0}
.demo-highlight-heading>p:last-child{font-size:var(--highlight-copy);color:var(--demo-muted);margin:.375rem 0 0}
.demo-highlight-list{display:grid;gap:.5rem;list-style:none;padding:0;margin:0}
.demo-highlight-list li{display:flex;gap:var(--highlight-space);align-items:flex-start;border:1px solid var(--demo-rule);border-radius:.375rem;padding:var(--highlight-space);background:#fff;max-width:none}
.demo-highlight-number{display:grid;place-items:center;flex:0 0 2rem;height:2rem;background:var(--demo-ink);color:white;font-size:var(--highlight-label);font-weight:700;font-variant-numeric:tabular-nums;border-bottom:3px solid var(--demo-red)}
.demo-highlight-list h3{font-size:var(--highlight-title);line-height:1.3;margin:0 0 .25rem;color:var(--demo-ink)}
.demo-highlight-list p{font-size:var(--highlight-copy);line-height:1.5;margin:0;color:var(--demo-muted)}
.demo-highlight-note{font-size:var(--highlight-label);color:var(--demo-muted);line-height:1.5;margin:var(--highlight-space) 0}
.demo-series-navigation{border-top:1px solid var(--demo-rule);margin-top:var(--highlight-pad);padding-top:.25rem}
.demo-series-navigation summary{cursor:pointer;padding:var(--highlight-space) 0;font-size:var(--highlight-copy);font-weight:700;color:var(--demo-ink)}
.demo-series-navigation summary span{float:right;font-size:var(--highlight-label);font-weight:400;color:var(--demo-muted);padding-top:.125rem}
.has-video-highlights .lesson-layout{grid-template-columns:minmax(0,1fr) 350px}
@media(max-width:850px){.has-video-highlights .lesson-layout{grid-template-columns:1fr}.has-video-highlights .demo-highlight-sidebar{display:block}.has-video-highlights .lesson-content{display:contents}.has-video-highlights .lesson-video{order:0}.has-video-highlights .demo-highlight-sidebar{order:1}.has-video-highlights .lesson-tabs{order:2}.has-video-highlights .lesson-panel{order:3}.has-video-highlights .demo-completion{order:4}}
@media(max-width:1000px){.demo-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.demo-series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.series-demo main{padding:1.25rem}.demo-heading{display:block}.demo-badge{display:inline-block;margin-top:1rem}.demo-controls{padding:1rem;gap:.75rem}.demo-controls .demo-reset{margin-left:0}.demo-series-grid{grid-template-columns:1fr}.demo-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.demo-thumb-text{padding:.75rem}.demo-thumb h2{font-size:.9375rem}.demo-requests{grid-template-columns:1fr}.demo-progress{gap:.75rem}.demo-progress span{font-size:.8125rem}}
/* Supplied photography: preserve the complete frame; keep titles off subjects. */
.series-demo .demo-thumb-visual{aspect-ratio:auto;background:var(--demo-ink);color:white}
.series-demo .demo-thumb-visual:after{display:none}
.series-demo .demo-thumb-visual>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;filter:none;background:var(--demo-ink)}
.series-demo .demo-cover-title{position:static;display:block;max-width:none;min-height:3.75rem;padding:.875rem 1rem .375rem;box-sizing:border-box;font-size:1.125rem;line-height:1.25}
.series-demo .demo-cover-time{position:static;display:block;padding:0 5rem .875rem 1rem;min-height:1.875rem;font-size:.75rem}
.series-demo .demo-cover-brand{top:.75rem;right:.625rem;padding:.25rem .375rem;background:#151517d9;font-size:.75rem}
.series-demo .demo-part{left:.625rem;top:.75rem}
.series-demo .demo-lock{bottom:.75rem;right:.625rem}
.series-demo .demo-series-card>img{aspect-ratio:16/9;object-fit:contain;background:var(--demo-ink)}
.series-demo .lesson-video>img{aspect-ratio:16/9;object-fit:contain;background:var(--demo-ink)}
.series-demo .lesson-video-shade{position:static;inset:auto;padding:1rem;min-height:0;background:var(--demo-ink);display:flex;align-items:flex-start;gap:.375rem}
.series-demo .lesson-video-shade .lesson-play-mark{display:none}
.series-demo .lesson-video-shade strong{font-size:1.125rem}
.series-demo .demo-course-list img{object-fit:contain;background:var(--demo-ink)}
@media(max-width:700px){.series-demo .demo-cover-title{font-size:1rem;padding:.75rem .75rem .375rem}.series-demo .demo-cover-time{padding-left:.75rem}.series-demo .demo-cover-brand{display:none}}
@media(max-width:480px){.series-demo .demo-cover-brand{display:block}.series-demo .demo-cover-title{font-size:1.125rem}}
