/* A self-contained course-app demo; the landing page retains its light theme. */
.delivery-band:has(.app-card){padding-bottom:48px}
.app-demo-shell{width:min(100%,348px);min-width:0;margin:34px auto 0}
.learning-app{position:relative;isolation:isolate;overflow:hidden;border:7px solid var(--deep);border-radius:6px;background:var(--deep);color:var(--on-deep);box-shadow:none;line-height:1.4;color-scheme:dark}
.learning-app button{font:inherit;letter-spacing:normal;border:0;color:inherit;text-align:left;cursor:pointer}
.learning-app button:disabled{cursor:default}
.learning-app button:focus-visible,.learning-app [tabindex]:focus-visible{outline:2px solid var(--on-deep);outline-offset:-3px}
.learning-app img{display:block;max-width:100%}
.app-hardware{height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 21px;font-size:12px;font-weight:500;position:relative}
.app-hardware i{position:absolute;left:50%;top:5px;transform:translateX(-50%);width:85px;height:19px;border-radius:6px;background:var(--deep)}
.app-masthead{height:57px;padding:3px 18px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.app-brand{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:500;letter-spacing:-.02em}
.app-mark{display:grid;place-items:center;background:var(--paper-elev);color:var(--deep);width:28px;height:28px;border-radius:6px;font-size:17px;font-weight:500}
.learning-app .app-motion{display:grid;place-items:center;flex:none;width:44px;height:44px;background:transparent;color:var(--paper);font-size:20px;text-align:center;border-radius:6px}
.app-motion:hover{background:transparent;color:var(--on-deep)}
.app-feature{position:relative;min-height:284px;display:flex;align-items:flex-end;overflow:hidden;background:var(--deep)}
.app-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 34%;opacity:.9}
.app-feature:after{content:"";position:absolute;inset:0;background:var(--deep)}
.app-feature-copy{position:relative;z-index:1;padding:90px 20px 10px;display:grid;justify-items:start;gap:9px;width:100%}
.app-overline{font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--on-deep)}
.app-feature-copy>strong{font-size:clamp(23px,6vw,29px);font-weight:500;letter-spacing:-.035em;line-height:1.12;max-width:270px;text-wrap:balance;color:var(--on-deep)}
.app-meta{font-size:12px;color:var(--paper)}
.learning-app .app-watch{background:var(--deep);color:var(--on-deep);display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;margin-top:4px;box-shadow:none}
.app-watch svg{width:15px;height:15px;fill:currentColor}
.learning-app .app-watch:hover{background:var(--deep)}
.app-feature-controls{display:flex;justify-content:center;gap:0;margin:-2px 0 0}
.learning-app .app-feature-controls button{display:grid;place-items:center;min-width:44px;min-height:36px;background:transparent}
.app-feature-controls button span{display:block;width:6px;height:6px;border-radius:6px;background:var(--ink-soft);transition:width .25s,background .25s}
.app-feature-controls button[aria-pressed="true"] span{width:23px;background:var(--paper-elev)}
.app-catalog{padding:0 18px 7px}
.app-shelf-title{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:15px;font-weight:500;line-height:1.3;margin:10px 0 11px;color:var(--on-deep)}
.app-shelf-title>span{font-size:12px;font-weight:400;color:var(--paper);white-space:nowrap}
.learning-app .app-resume{display:flex;align-items:center;gap:10px;padding:0 0 8px;width:100%;background:transparent;min-height:65px;margin:0 0 17px}
.app-resume-art{position:relative;flex:0 0 72px;height:56px;border-radius:6px;overflow:hidden;background:var(--deep)}
.app-resume-art img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.58)}
.app-resume-art svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;fill:var(--on-deep)}
.app-resume-copy{display:grid;gap:4px;flex:1;min-width:0}
.app-resume-copy>strong{font-size:14px;font-weight:500;color:var(--on-deep)}
.app-resume-copy>span{font-size:12px;color:var(--paper)}
.app-watch-progress{display:block;height:3px;margin-top:4px;width:100%;border-radius:5px;background:var(--deep)}
.app-watch-progress i{display:block;width:40%;height:100%;background:var(--paper-elev);border-radius:5px}
.app-courses{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 3px 10px;margin-inline:-3px;scrollbar-width:thin;scrollbar-color:var(--ink-soft) transparent}
.learning-app .app-course{flex:0 0 119px;height:169px;position:relative;border:1px solid var(--on-deep);border-radius:6px;overflow:hidden;padding:0;background:var(--deep);scroll-snap-align:start;transition:transform .2s,border-color .2s}
.app-course:hover{transform:translateY(-2px);border-color:var(--on-deep)}
.app-course>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 27%;opacity:.8}
.app-course:after{content:"";position:absolute;inset:0;background:var(--deep)}
.app-course-number{position:absolute;top:9px;left:10px;z-index:1;color:var(--on-deep);font-size:12px;font-weight:500;text-shadow:none}
.app-course-copy{position:absolute;inset:auto 10px 11px;z-index:1;display:grid;gap:6px}
.app-course-copy small{font-size:12px;letter-spacing:0;font-weight:500;color:var(--on-deep);line-height:1.2}
.app-course-copy strong{font-size:19px;font-weight:500;line-height:1.08;letter-spacing:-.025em;color:var(--on-deep)}
.app-course-copy>span{font-size:12px;color:var(--paper)}
.app-bottom{display:grid;justify-items:center;gap:12px;padding:14px 10px 10px;border-top:1px solid var(--on-deep);color:var(--paper);font-size:12px;font-weight:500;letter-spacing:.02em;text-align:center}
.app-bottom i{width:98px;height:4px;border-radius:6px;background:var(--paper)}
.app-demo-caption{display:block;color:var(--ink-soft);font-size:12px;text-align:center;line-height:1.5;margin-top:16px}
.app-lesson{min-height:626px;background:var(--deep)}
.learning-app .app-return{min-height:48px;background:transparent;font-size:14px;color:var(--paper);padding:8px 18px;scroll-margin-top:88px}
.app-lesson-poster{position:relative;aspect-ratio:16/10;background:var(--deep);overflow:hidden;display:grid;place-items:center}
.app-lesson-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 32%;filter:brightness(.4)}
.app-lesson-play{position:relative;font-size:23px;color:var(--on-deep);display:grid;place-items:center;width:57px;height:57px;border:1px solid var(--on-deep);border-radius:50%;padding-left:3px}
.app-lesson-poster>span:last-child{position:absolute;bottom:12px;color:var(--paper);font-size:12px;letter-spacing:.06em}
.app-lesson-body{padding:20px 18px}
.app-lesson-title{display:block;margin:8px 0 10px;font-size:23px;line-height:1.2;letter-spacing:-.02em;font-weight:500;color:var(--on-deep)}
.app-lesson-note{display:block;font-size:14px;color:var(--paper);line-height:1.5}
.app-lesson-list{display:grid;gap:8px;margin-top:24px}
.learning-app .app-lesson-list button{display:grid;grid-template-columns:19px 1fr;align-items:center;gap:4px 10px;padding:12px 10px;min-height:68px;border:1px solid var(--line);border-radius:6px;background:var(--deep);color:var(--paper)}
.app-lesson-list button>span:first-child{grid-row:1/3;color:var(--on-deep);font-size:12px}
.app-lesson-list button>strong{font-size:14px;line-height:1.3;font-weight:500}
.app-lesson-list button>span:last-child{grid-column:2;font-size:12px;color:var(--paper)}
.learning-app .app-lesson-list button[aria-pressed="true"]{border-color:var(--on-deep);background:var(--deep)}
@media(min-width:700px){
 .delivery-band .app-card{grid-template-columns:minmax(0,1fr) 310px;column-gap:34px;grid-template-rows:auto auto 1fr}
 .app-demo-shell{grid-column:2;grid-row:2/4;margin:0;width:100%;align-self:start}
 .app-card>h3{align-self:end;padding-top:50px}
 .app-card>p{align-self:start}
 .delivery-band:has(.app-card){padding-bottom:68px}
}
@media(min-width:1000px){
 .delivery-band .app-card{grid-template-columns:minmax(0,1fr) 360px;column-gap:80px}
 .app-demo-shell{width:360px;max-width:360px}
 .app-card>h3{padding-top:125px}
 .app-feature{min-height:310px}
 .app-course{height:179px!important;flex-basis:128px!important}
 .app-feature-copy>strong{font-size:30px}
 .delivery-band:has(.app-card){padding-bottom:76px}
}
@media(prefers-reduced-motion:reduce){.learning-app *{scroll-behavior:auto!important;transition:none!important}}

/* Current visual tokens applied to the original demonstration and interactions. */
.learning-app{border:0;border-radius:6px;background:var(--deep);color:var(--on-deep);box-shadow:none;font-family:Archivo,-apple-system,"Segoe UI",Arial,sans-serif}
.learning-app button:focus-visible,.learning-app [tabindex]:focus-visible{outline:2px solid var(--on-deep);outline-offset:3px}
.app-demo-shell{width:min(100%,400px);margin:28px 0 0}
.app-hardware{height:30px;color:var(--paper)}.app-hardware i{border-radius:6px;background:var(--deep)}
.app-mark{background:var(--paper-elev);color:var(--deep);border-radius:6px}
.app-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:14px;padding:18px;min-height:260px;background:var(--deep)}
.app-feature>img{position:static;inset:auto;grid-column:2;grid-row:1;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;opacity:1;border-radius:6px}
.app-feature:after,.app-course:after{content:none}
.app-feature-copy{grid-column:1;grid-row:1;padding:0;gap:10px;min-width:0}
.app-feature-copy>strong{font:300 27px/1.12 Fraunces,Georgia,serif;letter-spacing:-.02em;color:var(--on-deep)}
.app-overline{color:var(--on-deep);font-size:12px}.app-meta{color:var(--paper)}
.learning-app .app-watch{background:var(--deep);color:var(--on-deep);box-shadow:none;border-radius:6px;padding-inline:14px}
.app-course-copy{inset:auto 0 0;background:var(--deep);padding:10px;gap:4px}
.app-course-copy strong{font:300 22px/1.05 Fraunces,Georgia,serif}.app-course-copy small{color:var(--on-deep)}
.app-course-number{background:var(--deep);padding:3px 5px;border-radius:6px;text-shadow:none}
.learning-app .app-course{border:0;border-radius:6px;height:200px;background:var(--deep);box-shadow:none}
.app-course:hover{transform:none}.app-course>img{height:120px;opacity:1}
.app-course-copy>span{font-size:12px}.app-bottom{color:var(--paper);border-top-color:var(--line)}
.app-demo-caption{font:400 13px/1.5 Archivo,-apple-system,"Segoe UI",Arial,sans-serif;text-align:left;color:var(--ink-soft);margin-top:12px}
.app-lesson{background:var(--deep)}.app-lesson-play{border-radius:6px}.app-lesson-body{padding:20px 18px}
.learning-app .app-lesson-list button{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.learning-app .app-lesson-list button[aria-pressed=true]{background:var(--deep);border-color:var(--line)}
.app-lesson-title{font:300 30px/1.1 Fraunces,Georgia,serif}
@media(min-width:700px){.delivery-band .app-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:0 40px;align-items:start}.app-card>.card-kicker{grid-column:1/-1}.app-card>h3{grid-column:1;grid-row:2;padding:30px 0 0}.app-card>p{grid-column:1;grid-row:3}.app-demo-shell{grid-column:2;grid-row:2/4;margin:0;width:100%;max-width:400px}.delivery-band:has(.app-card){padding-bottom:48px}}
@media(min-width:1000px){.delivery-band .app-card{grid-template-columns:minmax(0,1fr) 400px;column-gap:64px}.app-card>h3{padding-top:70px}.app-feature{min-height:260px}.app-feature-copy>strong{font-size:30px}.app-course{height:210px!important}.delivery-band:has(.app-card){padding-bottom:48px}}
@media(max-width:699px){.app-demo-shell{max-width:none;width:100%;margin:26px 0 0}.delivery-band:has(.app-card){padding-bottom:34px}.app-feature-copy>strong{font-size:25px}.app-feature{min-height:250px}.app-feature-copy .app-overline{font-size:11px}}

.learning-app .app-watch{border:1px solid var(--line)}
