/* Final responsive layer. Same content and crawlable links on every device. */
html{overflow-x:clip;scroll-padding-top:100px}body{overflow:visible;max-width:100%;font-size:16px}main{min-width:0}*,*::before,*::after{box-sizing:border-box}img,video{max-width:100%}.container>*{min-width:0}.hero-grid>*,.grid-2>*,.grid-3>*,.grid-4>*,.contact-card>*,.reference-programs>*,.admission-grid>*{min-width:0}.card,.course-card,.proof-card,.review-card,.program-choice,.demo-form,.contact-card{overflow-wrap:break-word}input,select,textarea,button{font:inherit}input,select,textarea{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b95d00;outline-offset:4px}h1,h2,h3{overflow-wrap:normal;word-break:normal;text-wrap:balance}p,li{overflow-wrap:break-word}
/* A stable native sticky header avoids a JS placeholder and scroll jumps. */
.site-header,.site-header.scrolled,.site-header.is-fixed{position:sticky!important;top:0!important;left:auto;right:auto;min-height:84px!important;padding:10px clamp(16px,4vw,64px)!important;animation:none!important;z-index:1000;transform:none!important}.site-header .brand img,.site-header.scrolled .brand img,.site-header.is-fixed .brand img{width:190px!important;height:auto;max-height:62px!important;transition:none;object-fit:contain}.main-nav a{display:flex;align-items:center;justify-content:center;padding:8px 4px;min-height:44px}.main-nav{gap:12px}.header-placeholder{display:none!important}.header-cta{white-space:nowrap}.breadcrumbs{max-width:1220px;margin:0 auto;display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:20px 0 0;color:#52647b;font-size:14px;line-height:1.7}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.breadcrumbs+section{padding-top:40px}.mobile-slide-copy{display:none}.slider-pause{position:absolute;z-index:4;right:20px;bottom:18px;min-height:44px;padding:8px 14px;background:#fff;border:1px solid #0877e8;color:#102b50;border-radius:6px;cursor:pointer;font-weight:700}.site-footer a{width:fit-content;min-height:44px;display:flex;align-items:center}.site-footer p{max-width:52ch}.demo-form input,.demo-form select,.form-grid input,.form-grid select,.form-grid textarea{font-size:16px!important;min-height:48px}.demo-form button,.form-grid button{min-height:48px}.form-grid label{display:grid;gap:7px;font-size:14px;font-weight:600;color:#183153}.demo-note{max-width:65ch}.demo-form button,.form-grid button{border:0}.mobile-actions a{min-height:48px;display:flex;align-items:center;justify-content:center}.reference-heading h2,.faq-panel h2{max-width:24ch}.site-footer h3{font-size:20px}.classroom-video video{height:auto;aspect-ratio:16/10;object-fit:contain}.proof-card video{height:auto}.privacy-copy{max-width:900px}
@media(min-width:1051px) and (max-width:1250px){.site-header{gap:14px!important;padding-inline:20px!important}.site-header .brand img{width:155px!important}.main-nav{gap:8px}.main-nav a{font-size:13px}.header-cta{padding:12px 18px;font-size:14px}}
@media(max-width:1260px){.breadcrumbs{margin-inline:clamp(16px,5vw,64px)}}
@media(min-width:701px) and (max-width:1050px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{grid-template-columns:1.3fr 1fr;gap:24px}.site-footer>div:last-child{grid-column:1/-1}.trust-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.site-header,.site-header.scrolled,.site-header.is-fixed{min-height:76px!important;padding:8px 20px!important}.main-nav,.header-cta{display:none}.menu-btn{display:grid;place-items:center;min-height:48px;min-width:48px;margin-left:auto}.site-header.open .main-nav{display:grid;grid-template-columns:1fr;gap:4px;position:absolute;top:calc(100% + 4px)!important;left:16px;right:16px;max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain;padding:12px;border-radius:12px}.site-header.open .main-nav a{justify-content:flex-start;min-height:48px;width:100%;font-size:16px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero .hero-card{width:min(100%,600px)}.grid-2,.contact-card{grid-template-columns:1fr}.reference-programs{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-heading{display:block}.reference-heading>p{max-width:65ch}.classroom-layout{grid-template-columns:1fr}.review-card video{object-fit:contain}.contact-card{padding:28px}.hero-actions .btn{flex:1 1 180px}}
@media(max-width:700px){html{scroll-padding-top:86px}.grid-3,.grid-4,.reference-programs,.admission-grid,.project-proof,.site-footer,.demo-fields,.premium-work-grid,.student-work-grid{grid-template-columns:minmax(0,1fr)}.site-footer>div:last-child{grid-column:auto}.section{padding:42px 18px}.section.hero{padding-top:34px}.hero h1{font-size:clamp(29px,7.6vw,42px);line-height:1.15;letter-spacing:-.035em}.section h2{font-size:clamp(26px,6.6vw,34px);line-height:1.2;letter-spacing:-.03em}.section h3{font-size:21px;line-height:1.3}.lead{font-size:17px;line-height:1.75}.center .lead{max-width:52ch}.card,.course-card,.proof-box,.review-card,.demo-card,.contact-card,.program-choice{padding:22px;border-radius:14px}.hero-card{border-radius:14px}.trust-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.trust-row>div{padding:16px;border-radius:12px;min-width:0}.trust-row strong{font-size:21px}.trust-row span{font-size:13px;line-height:1.6;display:block}.hero-actions,.actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px}.hero-actions .btn,.actions .btn,.btn{min-height:48px;max-width:100%;white-space:normal;line-height:1.5}.learning-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.learning-facts>div{padding:17px}.learning-facts strong{font-size:25px}.learning-facts h3{font-size:16px}.learning-facts p{font-size:14px}.demo-form{padding:22px;gap:16px}.demo-fields{grid-template-columns:1fr}.demo-form .consent{font-size:14px;line-height:1.6}.demo-form .consent input{width:22px;min-height:22px;height:22px}.parent-steps{padding:22px}.parent-steps ol{padding-left:20px}.faq-panel details{padding:16px 0}.faq-panel summary{min-height:44px;padding:8px 0;font-size:16px}.classroom-video video{height:auto;aspect-ratio:3/4;max-height:450px}.classroom-video figcaption{padding:18px}.classroom-note{padding:22px}.proof-card>div{padding:0 0 4px}.proof-card video{margin-bottom:18px}.site-footer{padding:34px 20px;gap:22px}.site-footer a{margin-block:2px}.breadcrumbs{margin:0;padding:16px 18px 0;font-size:13px}.breadcrumbs+section{padding-top:28px}.programs-note{font-size:14px}.review-bubble.big{font-size:22px}.stars{font-size:19px;letter-spacing:0;line-height:1.5}.phone-card{max-width:100%}.terminal-window pre,.python-preview pre,pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}}
@media(max-width:800px){body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.mobile-actions{height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.mobile-actions a{font-size:14px;padding:10px 6px}}
@media(max-width:640px){.top-strip{display:none}.site-header,.site-header.scrolled,.site-header.is-fixed{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;min-height:72px!important;height:72px;padding:8px 12px!important}.site-header .brand{grid-column:2;grid-row:1;padding:0;justify-content:center;width:100%;min-width:0}.site-header .brand img,.site-header.scrolled .brand img,.site-header.is-fixed .brand img{width:148px!important;max-width:100%;max-height:50px!important}.menu-btn{grid-column:3;grid-row:1;margin:0;padding:8px;min-height:48px;width:48px}.site-header.open .main-nav{left:12px;right:12px;top:calc(100% + 4px)!important}.banner-slider .slider-shell{aspect-ratio:auto!important;height:335px!important;background:#fff!important;border-bottom:1px solid #dce6f2}.banner-slider .slide>img{display:none!important}.mobile-slide-copy{display:flex;flex-direction:column;justify-content:center;height:100%;padding:24px 24px 70px;text-align:left;background:#fff}.mobile-slide-copy .eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:12px;max-width:calc(100% - 62px);line-height:1.6}.mobile-slide-copy h2{font-size:30px;line-height:1.14;margin:0 0 10px;max-width:18ch;letter-spacing:-.035em}.mobile-slide-copy>p:not(.eyebrow){font-size:15px;line-height:1.65;margin:0 0 10px;max-width:48ch}.mobile-slide-copy .mobile-slide-skills{font-weight:700;color:#0656d9;font-size:12px!important;margin-bottom:0!important}.slider-arrow{top:auto;bottom:10px;transform:none;width:44px;height:44px;font-size:28px;box-shadow:none;border:1px solid #cbdcf0;background:#fff}.slider-arrow:hover{transform:none}.slider-arrow.prev{left:12px}.slider-arrow.next{right:12px}.slider-dots{bottom:10px;gap:2px;padding:0;background:transparent}.slider-dots button,.slider-dots button.active{position:relative;min-width:44px;width:44px;height:44px;min-height:44px;border-radius:0;background:transparent!important;transform:none!important}.slider-dots button::before{content:'';position:absolute;left:17px;top:17px;width:10px;height:10px;border-radius:50%;background:#a9bbd2}.slider-dots button.active::before{background:#0656d9}.slider-pause{right:12px;bottom:auto;top:12px;min-height:40px;font-size:12px;padding:7px 10px}.hero .hero-card{max-width:100%}.custom-visual,.student-lab-visual{overflow:hidden}.custom-visual .stars{max-width:100%;padding-inline:4px}}
@media(max-width:359px){.section{padding-inline:14px}.site-header{padding-inline:8px!important;gap:4px}.site-header .brand img{width:132px!important}.learning-facts{grid-template-columns:1fr}.mobile-slide-copy{padding-inline:18px}.mobile-slide-copy h2{font-size:28px}.slider-dots button,.slider-dots button.active{min-width:40px;width:40px}.slider-dots button::before{left:15px}.card,.course-card,.contact-card,.program-choice,.demo-form{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header,.site-header *,.slide{animation:none!important;transition:none!important}}

/* Keep meaningful content visible independently of animation scripting. */
.reveal{opacity:1;transform:none}

.review-card video.project-video{aspect-ratio:16/10;object-fit:contain}

img{height:auto}

.main-nav a,.btn,.header-cta,.trust-row span{font-weight:700}

/* Temporary: direct-call controls paused at the institute's request. */
a.call-link-paused[hidden],a[href^="tel:" i],a[href^="callto:" i]{display:none!important}
.mobile-actions{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Mobile slider: full original banner image plus readable HTML caption. */
@media(max-width:640px){
 .banner-slider .slider-shell{height:calc(38.6875vw + 270px)!important;min-height:390px;max-height:518px;aspect-ratio:auto!important;background:#fff!important}
 .banner-slider .slide{display:flex;flex-direction:column;background:#fff}
 .banner-slider .slide>img{display:block!important;flex:0 0 auto;width:100%!important;height:auto!important;aspect-ratio:1600/619;object-fit:contain!important;object-position:center!important;background:#fff!important}
 .banner-slider .mobile-slide-copy{display:flex;flex:1 1 auto;min-height:0;height:auto;justify-content:flex-start;padding:14px 20px 96px;background:#fff;border-top:1px solid #e3edf8}
 .banner-slider .mobile-slide-copy .eyebrow{display:none}
 .banner-slider .mobile-slide-copy h2{font-size:27px;line-height:1.18;max-width:22ch;margin:0 0 8px;letter-spacing:-.035em}
 .banner-slider .mobile-slide-copy>p:not(.eyebrow){font-size:14px;line-height:1.5;margin:0 0 8px;max-width:48ch}
 .banner-slider .mobile-slide-copy .mobile-slide-skills{font-size:12px!important;line-height:1.5;margin:0!important}
 .banner-slider .slider-pause{top:auto;bottom:68px;right:12px;min-height:32px;padding:4px 8px;font-size:11px;background:#fff}
 .banner-slider .slider-arrow,.banner-slider .slider-dots{bottom:10px}
}
@media(max-width:359px){
 .banner-slider .mobile-slide-copy{padding:12px 16px 96px}
 .banner-slider .mobile-slide-copy h2{font-size:25px}
}

/* Restore readable labels after the white-card theme, including module 5. */
body .syllabus-visual .module-card{color:#061a44!important;background:#fff!important;line-height:1.5}
body .syllabus-visual .m1{border-color:#0877e8}
body .syllabus-visual .m2{border-color:#e59819}
body .syllabus-visual .m3{border-color:#159b63}
body .syllabus-visual .m4{border-color:#8155e8}
body .syllabus-visual .m5{border-color:#d7357d}
