/* AI Leverage Lab visual refinement, October 2026.
   Presentation-only: source of truth, enrollment gates and pricing remain unchanged. */
:root{--lab-premium-ink:#102044;--lab-premium-line:#dce8f8;--lab-premium-blue:#086cf8}
.lab-premium-page{color:var(--muted);background:var(--white)}
.lab-premium-page .screen{max-width:1152px;padding:58px clamp(18px,4vw,48px) 72px}
.lab-premium-page .screen>h1{letter-spacing:-.045em;color:var(--lab-premium-ink);line-height:1.1}
.lab-premium-page .lede{max-width:82ch;line-height:1.72}
.lab-breadcrumb{font-size:13px;color:var(--faint);margin-bottom:12px;display:flex;gap:8px;align-items:center}
.lab-breadcrumb a{color:var(--blue);text-underline-offset:3px}
.lab-page-intro{max-width:80ch;line-height:1.72;font-size:16px;margin:12px 0 28px}
.lab-section-card{background:var(--white);border:1px solid var(--lab-premium-line);border-radius:20px;padding:clamp(20px,3vw,32px);margin:18px 0;box-shadow:0 8px 28px rgba(3,36,85,.035)}
.lab-section-card h2{font-size:clamp(19px,2.2vw,24px);line-height:1.3;margin:0 0 12px}
.lab-section-card p{line-height:1.75}
.lab-section-card p+p{margin-top:10px}
.lab-section-heading{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.lab-section-heading h2{margin:0}
.lab-section-symbol{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;border-radius:15px;background:#eaf3ff;color:#1268e9;font-size:22px;font-weight:800}
.lab-info-strip{border-radius:13px;background:#eef5ff;border:1px solid #dfebfc;padding:14px 18px;margin-top:18px;font-size:14px}
.lab-info-strip strong{color:var(--lab-premium-ink)}
.lab-premium-page .topnav a[aria-current="page"]{background:var(--blue);color:#fff}
.lab-premium-page .bottombar{justify-content:center;text-align:center}
.lab-premium-page .bottombar .pn{flex-wrap:wrap;justify-content:center}
.lab-help-footer{text-align:center;max-width:1000px;margin:24px auto 0;padding:20px 16px;border-top:1px solid var(--lab-premium-line);color:var(--muted);font-size:13px}
.lab-help-footer a{color:var(--blue);font-weight:700;text-underline-offset:3px}
/* Remove the old yellow LAB UPDATES block and perpetual marquee site-wide.
   One current cohort announcement can be dismissed per browser session. */
#lab-notice-root{position:sticky;top:0;z-index:90;display:flex;min-height:37px;align-items:center;justify-content:center;gap:14px;padding:8px clamp(15px,4vw,36px);background:#0b2446;color:#fff;border:0;box-shadow:none}
#lab-notice-root .lab-notice-window{flex:0 1 auto;overflow:visible;min-width:0;text-align:center}
#lab-notice-root .lab-notice-track{animation:none;display:block;padding:0;width:auto;transform:none}
#lab-notice-root .lab-notice-track a{color:#fff;white-space:normal;font-size:12.5px;font-weight:650;text-decoration:none}
#lab-notice-root .lab-notice-track a:hover,#lab-notice-root .lab-notice-track a:focus-visible{text-decoration:underline}
#lab-notice-root .lab-notice-dismiss{position:absolute;right:12px;top:50%;transform:translateY(-50%);min-height:30px;min-width:30px;background:transparent;color:#fff;border:0;border-radius:8px;font-size:22px;cursor:pointer}
#lab-notice-root .lab-notice-dismiss:hover{background:rgba(255,255,255,.14)}
#lab-notice-root .lab-notice-window{padding-right:30px}
/* Schedule: preserve original timezone calculations and source copy. */
.lab-schedule-page main.lab-schedule-main{max-width:1060px;margin:0 auto;padding:48px clamp(18px,4vw,48px) 76px;min-width:0}
.lab-schedule-page h1{font-size:clamp(36px,5vw,56px);margin:0 0 12px;line-height:1.08;color:var(--lab-premium-ink)}
.lab-schedule-page .lab-page-intro{max-width:83ch}
.lab-schedule-page .lab-section-card{margin:17px 0}
.lab-schedule-page .lab-section-card p{margin:8px 0;line-height:1.7}
.lab-schedule-page #local-sessions{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0 0;padding:0}
.lab-schedule-page #local-sessions li{border-bottom:1px solid var(--lab-premium-line);padding:8px 6px 9px 20px;position:relative;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.lab-schedule-page #local-sessions li:before{content:"";position:absolute;left:3px;top:16px;width:7px;height:7px;border-radius:50%;background:var(--blue)}
.lab-schedule-page #local-sessions li.weekend:before{background:#56b1eb}
.lab-schedule-page .lab-time-grid{overflow-x:auto;max-width:100%;margin:16px 0 22px}
.lab-schedule-page table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;min-width:530px}
.lab-schedule-page caption{text-align:left;font-weight:750;color:var(--lab-premium-ink);padding-bottom:10px}
.lab-schedule-page th{background:#edf4fd;font-size:13px;color:var(--lab-premium-ink);font-weight:750}
.lab-schedule-page td,.lab-schedule-page th{padding:13px 12px;border-bottom:1px solid var(--lab-premium-line);text-align:left}
.lab-schedule-page th:first-child{border-radius:10px 0 0 0}
.lab-schedule-page th:last-child{border-radius:0 10px 0 0}
.lab-schedule-page .lab-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}
.lab-schedule-page .lab-actions a{font-weight:700;color:var(--blue)}
/* Foundations: contain every exercise and code sample in readable centered cards. */
.lab-foundations-page .lesson{width:min(100% - 36px,980px);margin:0 auto;padding:44px 0 72px}
.lab-foundations-page .lesson-head{max-width:800px;margin:0 auto 26px}
.lab-foundations-page .lesson-head h1{font-size:clamp(34px,4.2vw,52px);margin-bottom:16px}
.lab-foundations-page .lesson-head p{line-height:1.72;margin:10px 0}
.lab-foundations-page .lesson-body{max-width:850px;margin:0 auto}
.lab-foundations-page .lab-foundations-card{border:1px solid var(--lab-premium-line);border-radius:20px;background:var(--white);padding:clamp(18px,3.3vw,34px);margin:16px 0 22px;box-shadow:0 10px 36px rgba(3,40,89,.045)}
.lab-foundations-page .lab-foundations-card h2{font-size:clamp(19px,2.3vw,24px);line-height:1.3;margin-bottom:22px}
.lab-foundations-page .lab-foundations-card h2:before{content:attr(data-part);display:inline-grid;place-items:center;margin-right:12px;width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;font-size:17px;vertical-align:middle}
.lab-foundations-page .lab-foundations-card .lesson-block{font-size:16px;line-height:1.45;margin:26px 0 10px;color:var(--lab-premium-ink)}
.lab-foundations-page .lab-foundations-card p{font-size:14px;line-height:1.75;margin-bottom:12px}
.lab-foundations-page .lab-foundations-card a{color:var(--blue)}
.lab-foundations-page .lab-foundations-card pre{background:#f3f7fc;border:1px solid #dbe6f5;border-radius:12px;margin:12px 0 16px;padding:18px;overflow-x:auto;max-width:100%;line-height:1.75;tab-size:4}
.lab-foundations-page .lab-foundations-card pre code{font:13px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace;color:#1d3656;background:transparent;border:0;white-space:pre;overflow-wrap:normal}
.lab-foundations-page .lab-foundations-card :not(pre)>code{font-size:.9em;overflow-wrap:anywhere;color:#164c8d;background:#eaf3ff;border-radius:4px;padding:2px 4px}
.lab-foundations-page .lab-foundations-card blockquote{background:#eff6ff;border-left:3px solid var(--blue);border-radius:0 10px 10px 0;padding:18px;margin:14px 0;line-height:1.7;color:var(--lab-premium-ink)}
.lab-foundations-page .lab-foundations-card .lesson-list{columns:2;column-gap:24px;margin:12px 0;padding-left:21px}
.lab-foundations-page .lab-foundations-card .lesson-list li{break-inside:avoid;margin-bottom:8px}
.lab-foundations-page .lesson-body>.pn{justify-content:center;flex-wrap:wrap;margin-top:22px}
.lab-foundations-page .bottombar{max-width:1000px}
/* Curriculum and roadmap retain original ten-week/20-session data and links. */
.lab-curriculum-page .week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lab-curriculum-page .week-card{border-color:var(--lab-premium-line);padding:24px 26px;border-radius:18px;min-height:178px;box-shadow:0 6px 22px rgba(3,36,85,.04)}
.lab-curriculum-page .week-card .w-sess{display:block}
.lab-curriculum-page .week-card h3{font-size:20px;color:var(--lab-premium-ink)}
.lab-curriculum-page .rdc-band{background:#f1f6ff;border:1px solid var(--lab-premium-line);padding:22px;border-radius:18px;gap:16px;margin:24px 0}
.lab-curriculum-page .rdc-item{align-items:flex-start}
.lab-curriculum-page .rdc-item p{line-height:1.65}
.lab-roadmap-page .roadmap-wrap{max-width:980px;padding:48px clamp(18px,4vw,40px) 68px}
.lab-roadmap-page .roadmap-head{margin:0 auto 34px;max-width:750px}
.lab-roadmap-page .roadmap-head h1{font-size:clamp(34px,4.6vw,52px);margin:0 auto 14px}
.lab-roadmap-page .roadmap-head p{font-size:15px;line-height:1.75}
.lab-roadmap-page .week-block{padding:16px 18px;border:1px solid var(--lab-premium-line);background:var(--white);border-radius:17px;margin:0 0 20px;box-shadow:0 5px 20px rgba(3,36,85,.035)}
.lab-roadmap-page .timeline{padding-left:50px}
.lab-roadmap-page .week-header{margin-left:-52px;gap:16px}
.lab-roadmap-page .week-num{box-shadow:0 0 0 5px #eaf3ff}
.lab-roadmap-page .session-node{border-color:var(--lab-premium-line);background:var(--paper)}
/* FAQ preserves the source FAQ answers; only grouping/presentation changes. */
.lab-faq-page .faq-card{max-width:none;padding:20px 24px;margin:20px 0;border-color:var(--lab-premium-line);box-shadow:0 7px 24px rgba(3,36,85,.04)}
.lab-faq-page .faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:25px;align-items:start}
.lab-faq-page .faq-grid>.faq-card{margin:0}
.lab-faq-page .faq-card h2{font-size:21px;margin-bottom:10px}
.lab-faq-page .faq-row summary{font-size:15px;padding:15px 0}
.lab-faq-page .faq-a{font-size:14px;line-height:1.75}
.lab-faq-page .faq-row[open]{background:#f0f6ff;border-radius:12px;padding:0 14px;margin:6px -14px}
.lab-faq-page .faq-cta{text-align:center;margin:24px auto 0;padding:32px;border:1px solid var(--lab-premium-line);background:#edf5ff;border-radius:20px;max-width:850px}
.lab-faq-page .faq-cta h2{font-size:24px;margin-bottom:10px}
.lab-faq-page .faq-cta .btn{margin-top:15px}
/* Enrollment: preserve actual price labels and checkout gates, modernize hierarchy. */
.lab-enroll-page .price-grid{gap:16px}
.lab-enroll-page .price-card{border-color:var(--lab-premium-line);border-radius:20px;padding:28px;box-shadow:0 6px 24px rgba(3,36,85,.045)}
.lab-enroll-page .price-card.featured{background:linear-gradient(155deg,#eff6ff 0%,#fff 75%);border-color:var(--blue)}
.lab-enroll-page .price-card .p-name{color:#1758b6}
.lab-enroll-page .price-card .p-price{font-size:clamp(37px,4vw,49px)}
.lab-enroll-page .lab-enroll-explainer{margin:24px 0 10px;background:#eef5ff;border:1px solid var(--lab-premium-line);padding:24px 28px;border-radius:18px;display:flex;gap:15px;align-items:flex-start}
.lab-enroll-page .lab-enroll-explainer h2{font-size:19px;margin-bottom:6px}
.lab-enroll-page .lab-enroll-explainer p{font-size:14px;line-height:1.75}
.lab-enroll-page .lab-enroll-explainer .lab-section-symbol{width:40px;height:40px}
.lab-enroll-page .secure-note{margin:22px 0 0!important;border:1px solid #cfe1fb;border-radius:18px;padding:20px 24px;background:linear-gradient(135deg,#fff,#f4f9ff);display:flex;align-items:center;gap:16px;font-size:14px!important;line-height:1.65;max-width:none}
.lab-enroll-page .secure-note:before{content:"♢";font-size:26px;color:var(--blue);width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#e5f1ff;flex:0 0 auto}
.lab-enroll-page .secure-note .secure-text{flex:1}
.lab-enroll-page .secure-note .secure-brand{font-size:23px;letter-spacing:-1.1px;color:#635bff;font-weight:850}
.lab-enroll-page .enroll-notes .note-chip{border-radius:12px}
@media(max-width:800px){
 .lab-schedule-page #local-sessions{grid-template-columns:1fr}
 .lab-curriculum-page .week-grid,.lab-faq-page .faq-grid{grid-template-columns:1fr}
 .lab-foundations-page .lab-foundations-card .lesson-list{columns:1}
 .lab-premium-page .bottombar{padding:16px}
}
@media(max-width:640px){
 .lab-premium-page .screen{padding:32px 18px 48px}
 .lab-schedule-page main.lab-schedule-main{padding-top:32px}
 .lab-roadmap-page .timeline{padding-left:34px}
 .lab-roadmap-page .week-header{margin-left:-34px}
 .lab-roadmap-page .week-block{padding:14px}
 .lab-foundations-page .lesson{width:calc(100% - 28px);padding-top:28px}
 .lab-foundations-page .lab-foundations-card{padding:20px 16px}
 .lab-curriculum-page .week-card .w-sess{display:block}
 .lab-enroll-page .secure-note{flex-wrap:wrap}
 .lab-enroll-page .secure-note .secure-brand{margin-left:auto}
 .lab-enroll-page .lab-enroll-explainer{padding:20px 18px}
}
body.dark.lab-premium-page{--lab-premium-ink:#f1f6ff;--lab-premium-line:#304763}
body.dark.lab-premium-page .lab-section-card,body.dark.lab-premium-page .lab-foundations-card,body.dark.lab-premium-page .faq-card,body.dark.lab-premium-page .week-block,body.dark.lab-premium-page .price-card{background:var(--white);border-color:var(--lab-premium-line)}
body.dark.lab-premium-page .lab-section-symbol{background:#183d69;color:#b9d7ff}
body.dark.lab-premium-page .lab-info-strip,body.dark.lab-premium-page .faq-cta,body.dark.lab-premium-page .lab-enroll-explainer,body.dark.lab-premium-page .rdc-band{background:#1b3048;color:#d9e6fa;border-color:var(--lab-premium-line)}
body.dark.lab-premium-page .lab-schedule-main th{background:#1b3048}
body.dark.lab-premium-page .lab-foundations-card pre{background:#15243a;border-color:#37506e}
body.dark.lab-premium-page .lab-foundations-card pre code{color:#e1efff}
body.dark.lab-premium-page .lab-foundations-card blockquote,body.dark.lab-premium-page .faq-row[open]{background:#1b3048;color:#e1efff}
body.dark.lab-premium-page .lab-foundations-card :not(pre)>code{background:#254767;color:#e6f0ff}
body.dark.lab-premium-page .lab-enroll-explainer h2{color:#fff}
body.dark.lab-premium-page .secure-note{background:linear-gradient(135deg,#162235,#213751);color:#e8f0ff!important;border-color:#34577b}


/* Global Lab design system. Loaded by every Lab page via lms.css.
   These shared surfaces intentionally preserve existing content/entitlements. */
body{--lab-premium-ink:#102044;--lab-premium-line:#dce8f8}
body.dark{--lab-premium-ink:#f1f6ff;--lab-premium-line:#304763}
.lms .screen{max-width:1152px;margin-inline:auto;padding:clamp(30px,4vw,58px) clamp(18px,4vw,48px) 72px}
.lms .screen h1{letter-spacing:-.045em;line-height:1.11}
.lms .screen .lede,.lms .week-theme{max-width:80ch;line-height:1.7}
.lms .screen .meta-chips,.lms .screen .hero-ctas{max-width:720px}
.lms .screen .sess,.lms .screen .prework,.lms .screen .ex-block,
.lms .screen .outcome-box,.lms .screen .track-panel,.lms .screen .price-card,
.lms .screen .lesson-content,.lms .screen .faq-card,.lms .screen .founder-strip,
.lms .screen .week-card,.lms .screen .lab-form{
  border-radius:20px;border:1px solid var(--lab-premium-line);
  box-shadow:0 8px 28px rgba(3,36,85,.045);
}
.lms .screen .sess,.lms .screen .prework,.lms .screen .ex-block{
 padding:clamp(18px,2.4vw,27px);min-width:0;overflow-wrap:anywhere;
}
.lms .screen .lesson-content{
 max-width:950px;margin:28px auto 36px;
 padding:clamp(20px,3vw,38px);line-height:1.75;
}
.lms .screen .lesson-content p{max-width:83ch;line-height:1.8}
.lms .screen .lesson-content .lesson-block{line-height:1.38;margin-top:28px}
.lms .screen .lesson-content .code-block{max-width:100%;overflow-x:auto}
.lms .screen .lesson-content blockquote{background:var(--paper);border-inline-start:3px solid var(--blue);padding:20px;border-radius:0 12px 12px 0}
.lms .screen .week-deliv,.lms .screen .deliv-strip{border-radius:16px;line-height:1.65;flex-wrap:wrap}
.lms .screen .sess-page-grid{gap:20px}
.lms .screen .track-panel{padding:clamp(22px,3.5vw,44px)}
.lms .screen .lab-form{max-width:790px;margin-inline:auto;padding:clamp(20px,3vw,34px)}
.lms .screen .application-steps{max-width:100%;gap:16px}
.lms .screen .application-steps li{border:1px solid var(--lab-premium-line);background:var(--paper);border-radius:17px}
.lms .screen .founder-strip{max-width:100%}
.lms .screen .bottombar,.lms .screen .pn{flex-wrap:wrap}
.lms .bottombar{justify-content:center;max-width:1152px;gap:18px 30px;text-align:center;border-color:var(--lab-premium-line)}
.lms .bottombar .pn{flex-wrap:wrap;justify-content:center}
.lms .topbar{gap:clamp(8px,1.5vw,20px);padding-inline:clamp(16px,2.5vw,34px)}
.lms .topbar .brand{letter-spacing:-.035em}
.lms .topnav a[aria-current="page"]{background:var(--blue);color:#fff}
/* Also style the standalone authenticated landing and code entry routes. */
.access-shell{width:min(100% - 36px,920px);margin:clamp(26px,4vw,56px) auto 70px}
.access-shell .access-card{border-radius:20px;border:1px solid var(--lab-premium-line);box-shadow:0 8px 24px rgba(3,36,85,.05);padding:clamp(18px,3vw,35px)}
body:has(>main#main) main#main{width:min(100% - 36px,1060px);max-width:none;margin:clamp(30px,4vw,60px) auto}
body:has(>main#main) .options{gap:18px}
body:has(>main#main) .options a{background:var(--white);border:1px solid var(--lab-premium-line);border-radius:20px;padding:25px;box-shadow:0 7px 24px rgba(3,36,85,.04)}
body.dark .lms .screen .lesson-content blockquote{background:var(--paper)}
body.dark .lms .screen .sess,body.dark .lms .screen .prework,
body.dark .lms .screen .ex-block,body.dark .lms .screen .price-card,
body.dark .lms .screen .week-card,body.dark .lms .screen .lesson-content{
 border-color:var(--lab-premium-line);box-shadow:0 9px 30px rgba(0,0,0,.14)
}
/* Restored flash ticker. Animated scrolling, not flashing/blinking.
   Duplicate links are hidden from accessibility tree by JS. */
#lab-notice-root.lab-flash-header{
 position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:flex-start;
 min-height:42px;padding:0;border:0;border-bottom:2px solid #f9b75c;
 background:#071c41;color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.12);
}
#lab-notice-root.lab-flash-header .lab-notice-label{
 align-self:stretch;display:flex;align-items:center;white-space:nowrap;
 padding:9px 16px;background:#ffbf73;color:#14243d;
 font-weight:850;font-size:11px;letter-spacing:.05em;flex:0 0 auto;
}
#lab-notice-root.lab-flash-header .lab-notice-window{flex:1;min-width:0;overflow:hidden;padding:0;text-align:left}
#lab-notice-root.lab-flash-header .lab-notice-track{
 display:flex;align-items:center;width:max-content;gap:40px;padding:10px 20px;
 animation:lab-notice-scroll 40s linear infinite;transform:none;
}
#lab-notice-root.lab-flash-header .lab-notice-track a{
 white-space:nowrap;text-decoration:none;font-size:12px;font-weight:700;color:#fff;line-height:1.5;
}
#lab-notice-root.lab-flash-header .lab-notice-track a:hover,
#lab-notice-root.lab-flash-header .lab-notice-track a:focus-visible{text-decoration:underline;color:#ffe7c5}
#lab-notice-root.lab-flash-header .lab-notice-window:hover .lab-notice-track,
#lab-notice-root.lab-flash-header .lab-notice-window:focus-within .lab-notice-track{animation-play-state:paused}
@keyframes lab-notice-scroll{to{transform:translateX(-50%)}}
@media(max-width:800px){
 .lms .screen .lesson-content{padding:22px 18px}
 .lms .screen .sess-page-grid{grid-template-columns:1fr}
 .lms .screen .application-steps{grid-template-columns:1fr}
 .lms .topnav{max-width:100%;overflow-x:auto}
 #lab-notice-root.lab-flash-header .lab-notice-label{font-size:10px;padding:8px 10px}
 #lab-notice-root.lab-flash-header .lab-notice-track{gap:24px}
}
@media(prefers-reduced-motion:reduce){
 #lab-notice-root.lab-flash-header .lab-notice-track{animation:none;display:flex;flex-wrap:wrap;width:auto;transform:none;gap:10px 16px}
 #lab-notice-root.lab-flash-header .lab-notice-window{overflow-x:auto}
 #lab-notice-root.lab-flash-header .lab-notice-track a[aria-hidden="true"]{display:none}
}

/* Final AI Lab-only cohesion: current premium language, responsive wrapping.
   No pricing, authentication, checkout or session logic is changed here. */
body.lab-home-page .screen{max-width:1152px}
body.lab-home-page .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(24px,3.8vw,48px);align-items:center}
body.lab-home-page .hero-grid>div{min-width:0}
body.lab-home-page .hero-grid h1{font-size:clamp(36px,4.1vw,58px);max-width:none;text-wrap:balance;overflow-wrap:normal;word-break:normal;line-height:1.1;color:var(--lab-premium-ink)}
body.lab-home-page .hero-grid .lede{max-width:63ch}
body.lab-home-page .hero-media{min-width:0;min-height:410px;border:1px solid var(--lab-premium-line);border-radius:22px;box-shadow:0 12px 34px rgba(3,36,85,.09)}
body.lab-home-page .hero-media img{min-height:410px;object-position:center center}
body.lab-home-page .meta-chip{border-color:var(--lab-premium-line);border-radius:16px;box-shadow:0 6px 22px rgba(3,36,85,.045)}
body.lab-home-page .founder-strip{border-color:var(--lab-premium-line);border-radius:20px;box-shadow:0 8px 28px rgba(3,36,85,.04)}
body.lab-home-page .track-panel{border-color:var(--lab-premium-line);border-radius:20px;box-shadow:0 8px 28px rgba(3,36,85,.04)}
body.lab-home-page .track-card,body.lab-home-page .journey-strip figure{border-color:var(--lab-premium-line);border-radius:18px}
body.lab-curriculum-page .map-head{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-items:start;gap:18px;margin-bottom:28px}
body.lab-curriculum-page .map-head>div:first-child{min-width:0;max-width:100%}
body.lab-curriculum-page .map-head h1{font-size:clamp(34px,4.2vw,54px);max-width:26ch;color:var(--lab-premium-ink);line-height:1.1;text-wrap:balance;overflow-wrap:normal;word-break:normal}
body.lab-curriculum-page .map-head .filter-seg{max-width:100%;min-width:0}
body.lab-curriculum-page .lab-curriculum-label{font-size:clamp(24px,2.7vw,32px);margin:26px 0 16px;color:var(--lab-premium-ink)}
body.lab-curriculum-page .week-card{min-width:0;align-self:stretch}
body.lab-curriculum-page .week-card .ws{overflow-wrap:break-word}
body.lab-roadmap-page .roadmap-wrap{width:min(100%,1100px);max-width:1100px;margin:0 auto;padding:clamp(32px,4vw,58px) clamp(18px,4vw,48px) 72px}
body.lab-roadmap-page .roadmap-head{max-width:850px;margin:0 auto 36px;text-align:center}
body.lab-roadmap-page .roadmap-head h1{max-width:none;color:var(--lab-premium-ink);text-wrap:balance;overflow-wrap:normal;line-height:1.1}
body.lab-roadmap-page .roadmap-head .kicker{margin-bottom:14px}
body.lab-roadmap-page .timeline{max-width:920px;margin-inline:auto;padding-left:50px}
body.lab-roadmap-page .week-header h2{text-wrap:balance;overflow-wrap:normal;line-height:1.3}
body.lab-roadmap-page .session-node{min-width:0;border-radius:15px}
body.lab-roadmap-page .session-body{min-width:0;overflow-wrap:break-word}
body.lab-roadmap-page .lab-roadmap-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px}
@media(max-width:1040px){
 body.lab-home-page .hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 body.lab-home-page .hero-media,body.lab-home-page .hero-media img{min-height:300px;max-height:440px}
}
@media(max-width:620px){
 body.lab-home-page .hero-grid h1{font-size:clamp(34px,9vw,44px)}
 body.lab-home-page .meta-chip{padding:12px;gap:8px}
 body.lab-home-page .meta-chip b{min-width:30px;font-size:26px}
 body.lab-home-page .hero-media,body.lab-home-page .hero-media img{min-height:250px;max-height:330px}
 body.lab-curriculum-page .map-head h1{font-size:clamp(32px,8.6vw,42px)}
 body.lab-curriculum-page .map-head .filter-seg{display:flex;width:100%;overflow:hidden}
 body.lab-curriculum-page .map-head .filter-seg button{flex:1;min-width:0;padding:10px 9px;font-size:12px}
 body.lab-roadmap-page .timeline{padding-left:32px}
 body.lab-roadmap-page .week-header{margin-left:-34px}
 body.lab-roadmap-page .week-block{padding:14px}
}
