/* STEP HTML-first course design system — responsive source of truth. */
@font-face{font-family:'Source Serif 4';src:url('../fonts/source-serif-4-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('../fonts/source-sans-3-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('../fonts/source-sans-3-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
:root{--canvas:#E1E8EF;--surface:#F3F7FA;--surface-warm:#F5E8E1;--ink:#172554;--muted:#46566A;--cobalt:#1D4ED8;--sienna:#9A3412;--tint:#EDF4FB;--line:#C9D7E4;--white:#fff;--serif:'Source Serif 4',Georgia,serif;--sans:'Source Sans 3',Arial,sans-serif;--page-pad:clamp(1rem,4vw,5rem);--gap:clamp(.75rem,1.6vw,1.5rem);--body:clamp(1.375rem,min(1.72vw,3.05vh),2rem);--small:clamp(1rem,min(1.1vw,1.95vh),1.125rem);--title:clamp(2.375rem,min(3vw,5.3vh),3.5rem);--subtitle:clamp(1.75rem,min(2vw,3.5vh),2.375rem)}
*{box-sizing:border-box}html,body{width:100%;height:100%;min-height:0;margin:0;overflow:hidden;background:var(--canvas);color:var(--ink);font-family:var(--sans)}button{font:inherit}.deck{width:100%;height:100%;min-height:0;overflow:hidden;position:relative}.slide{display:none;position:relative;isolation:isolate;height:100%;min-height:0;padding:clamp(.55rem,2vh,1.5rem) var(--page-pad) clamp(5.5rem,10vh,7rem);background:var(--canvas);color:var(--ink);grid-template-rows:auto auto minmax(0,1fr) auto;align-content:start;gap:clamp(.45rem,1.1vh,.9rem);overflow:hidden}.slide.active{display:grid}.slide:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 92% 5%,rgba(255,255,255,.42),transparent 31%),radial-gradient(circle at 8% 92%,rgba(29,78,216,.045),transparent 28%);pointer-events:none}.ambient{display:none}.slide header{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--cobalt);font-size:var(--small);font-weight:600;letter-spacing:.1em}.class-label{font-variant-numeric:tabular-nums}.time{flex:0 0 auto;border:2px solid var(--cobalt);border-radius:999px;padding:.4em .75em;font-size:.82em;letter-spacing:.05em;white-space:nowrap}.title-lane{width:min(100%,80rem);margin:0 auto;text-align:center}.title-lane p{margin:0 0 .35rem;color:var(--ink);font-size:var(--title);font-weight:600;letter-spacing:.075em;line-height:1.08;text-transform:uppercase}.title-lane h2{margin:0;color:var(--sienna);font-family:var(--serif);font-size:var(--subtitle);font-weight:600;line-height:1.15;text-wrap:balance;overflow-wrap:anywhere}.content-lane{width:min(100%,102.5rem);min-width:0;min-height:0;margin:clamp(.8rem,2.35vh,1.4rem) auto 0;align-self:start;overflow:hidden}.content-lane>section{width:100%;min-width:0}.footer{position:absolute;right:var(--page-pad);bottom:max(.6rem,env(safe-area-inset-bottom));left:var(--page-pad);z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin:0;color:var(--muted);font-size:var(--small);line-height:1.25}.footer span:last-child{text-align:right;white-space:nowrap}.template-hero{display:grid;place-items:center;align-content:center;min-height:0;height:100%;text-align:center}.template-hero .hero-emoji{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:clamp(3.5rem,5.25vw,5.75rem);line-height:1;margin-bottom:1rem}.template-hero .hero-icon{display:block;width:clamp(4.25rem,7vw,6rem);height:auto;max-height:clamp(4rem,7vw,5.6rem);object-fit:contain;margin:0 auto 1rem}.template-hero .kicker{margin:0 0 1rem;color:var(--ink);font-size:clamp(1.35rem,2.1vw,2.5rem);font-weight:600;letter-spacing:.1em;line-height:1.1;text-transform:uppercase}.template-hero h1{max-width:18ch;margin:0;color:var(--cobalt);font-family:var(--serif);font-size:clamp(3rem,5vw,5.25rem);font-weight:600;line-height:1.04;text-wrap:balance}.template-hero .instructor{margin:1.25rem 0 0;color:var(--sienna);font-size:clamp(1.25rem,1.9vw,2.25rem);font-weight:600}.template-intro,.template-cards,.template-formula,.template-compare,.template-phone,.template-lab,.template-scenario,.template-gallery,.template-closing{display:grid;gap:var(--gap)}.template-closing .closing-actions{display:grid;gap:.5rem;max-width:46rem;margin:0 auto;text-align:center}.template-closing .closing-actions p{margin:0;color:var(--muted);font-size:clamp(1.25rem,1.7vw,1.85rem);line-height:1.4}.intro-grid,.cards-grid,.formula-grid,.gallery-grid,.choices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--gap)}.formula-grid.count-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.45rem,.9vw,.8rem)}.formula-grid.count-5 article{padding:clamp(.65rem,1vw,.9rem)}.formula-grid.count-5 h3{margin:.3rem 0 .4rem;line-height:1.05}.formula-grid.count-5 p{line-height:1.28}.state-intro .intro-grid:has(article:nth-child(7)){grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.5rem,1vw,.9rem)}.state-intro .intro-grid:has(article:nth-child(7)) article{padding:clamp(.7rem,1.2vw,1rem)}.state-intro .intro-grid:has(article:nth-child(7)) h3{font-size:clamp(1.25rem,1.45vw,1.75rem);overflow-wrap:anywhere}.intro-grid article,.card,.formula-grid article,.gallery-grid article,.choices-grid article,.compare-grid article,.scenario-box{min-width:0;background:var(--white);border:1px solid var(--line);border-left:5px solid var(--cobalt);border-radius:1rem;padding:clamp(1rem,2vw,1.35rem);box-shadow:0 4px 10px rgba(23,37,84,.09)}.intro-grid span,.gallery-grid span,.formula-grid article>span,.callout-label{display:block;color:var(--cobalt);font-size:var(--small);font-weight:600;letter-spacing:.1em}.intro-grid h3,.card h3,.formula-grid h3{margin:.45rem 0 .6rem;font-family:var(--serif);font-size:clamp(1.5625rem,1.95vw,2.125rem);font-weight:600;line-height:1.1}.intro-grid p,.card p,.formula-grid p,.gallery-grid article p,.choices-grid article p,.scenario-box p{margin:0;color:var(--ink);font-size:var(--body);line-height:1.35;overflow-wrap:anywhere}.direct-units{margin:0;padding-left:1.2em;color:var(--ink);font-size:var(--body);line-height:1.35}.direct-units li{margin:.38rem 0}.direct-units li:first-child{margin-top:0}.direct-units li:last-child{margin-bottom:0}.template-intro aside,.template-cards aside,.template-formula aside,.template-compare aside,.template-gallery aside,.template-lab aside{border-left:5px solid var(--cobalt);border-radius:.75rem;background:var(--tint);padding:clamp(.9rem,1.5vw,1.25rem)}.task-box{border:2px solid var(--cobalt)!important;border-left:7px solid var(--cobalt)!important;background:var(--tint)!important}.task-box .callout-label{color:var(--sienna)}.task-practice{border-color:var(--sienna)!important;border-left-color:var(--sienna)!important;background:var(--surface-warm)!important}.task-practice .callout-label{color:var(--sienna)}.template-intro aside p,.template-cards aside p,.template-formula aside p,.template-compare aside p,.template-gallery aside p{margin:.25rem 0 0;font-size:var(--body);line-height:1.35}.template-big,.template-phone,.template-lab{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,3rem);align-items:center}.big-copy>p{margin:0;color:var(--ink);font-size:var(--body);line-height:1.35}.big-copy>ul{margin:0;padding-left:1.2em;color:var(--ink);font-size:var(--body);line-height:1.35}.big-copy>ul li{margin:.45rem 0}.big-copy blockquote,.template-closing blockquote{margin:1.25rem 0 0;color:var(--cobalt);font-family:var(--serif);font-size:clamp(2rem,3.2vw,3.5rem);font-weight:600;line-height:1.08}.big-photo{width:100%;height:clamp(10rem,32vh,26rem);max-height:100%;object-fit:cover;border-radius:1rem;box-shadow:0 4px 10px rgba(23,37,84,.09)}.compare-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:var(--gap);align-items:stretch}.compare-grid .after,.template-lab aside{background:var(--surface-warm);border-left-color:var(--sienna)}.compare-grid small{display:block;margin-bottom:.55rem;color:var(--cobalt);font-size:var(--small);font-weight:600;letter-spacing:.1em}.compare-grid article p{margin:0;font-size:clamp(1.2rem,1.7vw,2.25rem);line-height:1.34}.arrow{align-self:center;color:var(--cobalt);font-size:clamp(2.25rem,4vw,3.5rem);font-weight:600}.phone-tips ul,.template-lab ul{margin:0;padding-left:1.25em}.phone-tips li,.template-lab li{margin:.45rem 0;font-size:var(--body);line-height:1.35}.phone-frame{min-width:0;padding:clamp(1rem,2vw,1.35rem);background:#172033;border:6px solid #172554;border-radius:1rem;box-shadow:0 4px 10px rgba(23,37,84,.16)}.speaker{width:4.5rem;height:.45rem;margin:0 auto 1.1rem;border-radius:99px;background:#64748B}.bubble{max-width:90%;margin:.75rem 0;padding:1rem 1.1rem;border-radius:1rem;font-size:var(--body);line-height:1.3;overflow-wrap:anywhere}.bubble.prompt{margin-left:auto;background:var(--cobalt);color:#fff;border-bottom-right-radius:4px}.bubble.reply{background:#fff;color:var(--ink);border-bottom-left-radius:4px}.chat-dot{color:#CBD5E1;font-size:clamp(1.2rem,2vw,1.75rem);letter-spacing:.2em}.template-lab aside .prompt-text{font-family:var(--serif);font-size:var(--body);line-height:1.32}.template-lab aside .note{margin:.8rem 0 0;color:var(--muted);font-size:var(--small);line-height:1.3}.choices-grid article{display:flex;gap:1rem;align-items:flex-start}.choices-grid span{display:grid;flex:0 0 2.1em;place-items:center;height:2.1em;border-radius:50%;background:var(--cobalt);color:#fff;font-size:var(--small);font-weight:600}.template-closing{max-width:74rem;margin:0 auto;text-align:center}.template-closing>p{margin:0;font-size:var(--body);line-height:1.35}.deck-nav{position:fixed;z-index:20;bottom:max(1.85rem,calc(env(safe-area-inset-bottom) + 1.25rem));left:50%;display:flex;align-items:center;gap:.45rem;padding:.35rem .5rem;transform:translateX(-50%);border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 2px 10px rgba(0,0,0,.12)}#dots{display:flex;gap:5px}.dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#c8d3df}.dot.active{background:var(--cobalt);transform:scale(1.2)}.nav-btn{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid #c8d3df;border-radius:999px;background:#fff;color:var(--ink);font-size:1.1rem}.slide-counter{min-width:3.7rem;color:var(--muted);font-size:var(--small);text-align:center;white-space:nowrap}@media (max-width:52rem){.footer{flex-direction:column;gap:.25rem}.footer span:last-child{align-self:flex-end;text-align:right;white-space:nowrap}}@media (max-width:52rem){.template-big,.template-phone,.template-lab,.compare-grid{grid-template-columns:1fr}.arrow{transform:rotate(90deg);justify-self:center}.big-photo{height:min(32vh,16rem);max-height:none}.intro-grid,.cards-grid,.formula-grid,.gallery-grid,.choices-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.intro-grid article,.card,.formula-grid article,.gallery-grid article,.choices-grid article,.compare-grid article,.scenario-box{padding:.65rem}.intro-grid h3,.card h3,.formula-grid h3{font-size:clamp(.95rem,3.8vw,1.35rem);margin:.25rem 0}.template-closing .closing-actions p{font-size:var(--body)}}@media (min-width:34.1rem) and (max-width:60rem){:root{--page-pad:.8rem;--gap:.5rem;--body:.9rem;--small:.75rem;--title:1.35rem;--subtitle:1.08rem}.slide{padding-top:.55rem;padding-bottom:5rem;gap:.45rem}.content-lane{margin:.45rem auto 0}.intro-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.intro-grid article,.card,.formula-grid article,.gallery-grid article,.choices-grid article,.compare-grid article,.scenario-box{padding:.6rem;border-left-width:3px}.intro-grid h3,.card h3,.formula-grid h3{font-size:1rem;line-height:1.08;margin:.25rem 0}.deck-nav{bottom:max(1.54rem,calc(env(safe-area-inset-bottom) + .94rem));gap:.25rem;padding:.18rem .3rem}.nav-btn{width:1.5rem;height:1.5rem}.dot{width:6px;height:6px}.slide-counter{min-width:2.65rem;font-size:.68rem}}@media (max-width:52rem) and (orientation:landscape){:root{--page-pad:.95rem;--gap:.5rem;--body:.86rem;--small:.7rem;--title:1.28rem;--subtitle:1.02rem}.slide{padding:.65rem var(--page-pad) 5.45rem;gap:.5rem}.slide header{gap:.4rem;letter-spacing:.06em}.time{border-width:1px;padding:.22em .5em}.content-lane{margin:.6rem auto 0}.template-hero .hero-emoji{font-size:2rem;margin-bottom:.3rem}.template-hero .hero-icon{width:2.3rem;max-height:2.3rem;margin-bottom:.3rem}.template-hero .kicker{margin:0 0 .3rem;font-size:.9rem}.template-hero h1{font-size:1.65rem}.template-hero .instructor{margin:.35rem 0 0;font-size:.85rem}.template-closing .closing-actions{gap:.22rem}.template-closing .closing-actions p{font-size:.85rem;line-height:1.25}.intro-grid,.cards-grid,.formula-grid,.gallery-grid,.choices-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.intro-grid article,.card,.formula-grid article,.gallery-grid article,.choices-grid article,.compare-grid article,.scenario-box{border-left-width:3px;border-radius:.5rem;padding:.55rem}.intro-grid h3,.card h3,.formula-grid h3{font-size:1rem;line-height:1.08;margin:.2rem 0}.intro-grid p,.card p,.formula-grid p,.gallery-grid article p,.choices-grid article p,.scenario-box p,.direct-units,.big-copy>p,.big-copy>ul,.phone-tips li,.template-lab li,.bubble,.template-lab aside .prompt-text{font-size:.84rem;line-height:1.25}.direct-units{padding-left:1.1em}.direct-units li,.big-copy>ul li,.phone-tips li,.template-lab li{margin:.2rem 0}.template-intro aside,.template-cards aside,.template-formula aside,.template-compare aside,.template-gallery aside,.template-lab aside{border-left-width:3px;border-radius:.45rem;padding:.55rem}.template-intro aside p,.template-cards aside p,.template-formula aside p,.template-compare aside p,.template-gallery aside p{font-size:.84rem;line-height:1.25}.template-big,.template-phone,.template-lab{grid-template-columns:minmax(0,1.1fr) minmax(12rem,.9fr);align-items:center}.compare-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.template-big,.template-phone,.template-lab,.compare-grid{gap:.5rem}.big-copy blockquote,.template-closing blockquote{margin:.45rem 0 0;font-size:1.2rem}.compare-grid article p{font-size:.9rem;line-height:1.25}.arrow{font-size:1.15rem}.phone-frame{border-width:3px;border-radius:.5rem;padding:.5rem}.speaker{width:2rem;height:.2rem;margin:0 auto .3rem}.bubble{margin:.3rem 0;padding:.45rem .55rem;border-radius:.45rem}.footer{position:absolute;right:var(--page-pad);bottom:max(.6rem,env(safe-area-inset-bottom));left:var(--page-pad);z-index:2;display:flex;flex-direction:row;align-items:center;margin:0;font-size:.66rem;line-height:1.1}.content-lane{max-height:none;padding-bottom:0;overflow:visible}.deck-nav{bottom:max(1.33rem,calc(env(safe-area-inset-bottom) + 1.08rem));gap:.2rem;padding:.2rem .32rem}.nav-btn{width:1.7rem;height:1.7rem;font-size:.85rem}.slide-counter{min-width:2.5rem;font-size:.68rem}.dot{width:6px;height:6px}.state-intro .intro-grid:has(article:nth-child(7)){grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem}.state-intro .intro-grid:has(article:nth-child(7)) article{padding:.45rem}.state-intro .intro-grid:has(article:nth-child(7)) h3{font-size:.86rem;line-height:1.05;margin:.12rem 0}.state-intro .intro-grid:has(article:nth-child(7)) p{display:none}.state-intro .intro-grid:has(article:nth-child(7)) span{font-size:.66rem}.state-intro .template-intro aside{padding:.45rem}.state-intro .template-intro aside p{font-size:.78rem;line-height:1.2}}@media (max-width:34rem){:root{--page-pad:.7rem;--body:.82rem;--small:.65rem}.slide{gap:.45rem;padding-top:.65rem}.title-lane p{letter-spacing:.04em}.deck-nav{bottom:max(2.5rem,calc(env(safe-area-inset-bottom) + 1.9rem));gap:.25rem;padding:.25rem}.nav-btn{width:2rem;height:2rem}.slide-counter{min-width:3rem}.dot{width:7px;height:7px}}@media (max-width:44rem) and (orientation:landscape){:root{--body:.7rem;--small:.56rem;--title:1rem;--subtitle:.8rem}.slide{padding:.3rem var(--page-pad) 4.55rem;gap:.22rem}.content-lane{margin:.22rem auto 0}.intro-grid,.cards-grid,.formula-grid,.gallery-grid,.choices-grid{gap:.25rem}.intro-grid article,.card,.formula-grid article,.gallery-grid article,.choices-grid article,.compare-grid article,.scenario-box{padding:.35rem}.intro-grid h3,.card h3,.formula-grid h3{font-size:.8rem;margin:.1rem 0}.intro-grid p,.card p,.formula-grid p,.gallery-grid article p,.choices-grid article p,.scenario-box p,.direct-units,.big-copy>p,.big-copy>ul,.phone-tips li,.template-lab li,.bubble,.template-lab aside .prompt-text{font-size:.68rem;line-height:1.18}.big-photo{max-height:16vh}.footer{font-size:.56rem}.deck-nav{bottom:max(1.25rem,calc(env(safe-area-inset-bottom) + 1rem))}.nav-btn{width:1.45rem;height:1.45rem;font-size:.75rem}.slide-counter{min-width:2.15rem;font-size:.58rem}.dot{width:5px;height:5px}}@media print{@page{size:16in 9in;margin:0}.deck{min-height:0}.slide{display:block!important;min-height:9in;height:9in;padding:.45in .8in .55in;overflow:hidden;break-after:page;page-break-after:always}.slide:last-of-type{break-after:auto;page-break-after:auto}.slide .content-lane{width:100%;margin-top:.28in}.slide .footer{position:absolute;left:.8in;right:.8in;bottom:.25in}.deck-nav{display:none!important}.template-hero{min-height:7.4in}.template-hero h1{font-size:62pt}.template-hero .kicker{font-size:30pt}.title-lane p{font-size:38pt}.title-lane h2{font-size:28pt}.intro-grid p,.card p,.formula-grid p,.gallery-grid article p,.choices-grid article p,.scenario-box p,.big-copy>p,.phone-tips li,.template-lab li,.bubble{font-size:22pt}.template-intro aside p,.template-cards aside p,.template-formula aside p,.template-compare aside p,.template-gallery aside p{font-size:20pt}.intro-grid h3,.card h3,.formula-grid h3{font-size:25pt}.compare-grid article p{font-size:25pt}.footer{font-size:12pt}}
