@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800;900&display=swap');
:root{--navy:#142c59;--blue:#2368dc;--sky:#dff5ff;--yellow:#ffcb49;--orange:#ff8d43;--ink:#173052;--muted:#52657b;--white:#fff;--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8fbff;color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}h1,h2,h3,h4{font-family:Outfit,'DM Sans',sans-serif;line-height:1.13;letter-spacing:-.025em}h1{font-size:clamp(3rem,7vw,6.5rem)}h2{font-size:clamp(2rem,4.3vw,3.7rem)}h3{font-size:1.4rem}a{color:var(--blue)}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;padding:13px 15px;border:1px solid #cad8e9;border-radius:12px;background:white}label{display:block;font-weight:700;margin:.8rem 0 .35rem}.top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1400px;margin:auto;padding:14px 4vw;background:white}.identity{display:flex;align-items:center;gap:12px;color:var(--navy);font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:800;text-decoration:none;white-space:nowrap}.identity img{width:64px;height:64px;object-fit:contain}.identity b{color:var(--blue)}nav{display:flex;gap:19px;align-items:center;flex-wrap:wrap}nav a,.top a.navcta{text-decoration:none;font-size:.88rem;font-weight:800;color:var(--navy)}nav a:hover{color:var(--blue)}.navcta,.button,.partner-button,.secondary-button{display:inline-block;padding:13px 21px;border-radius:999px;border:0;background:var(--blue);color:white!important;text-decoration:none;font-weight:800;box-shadow:0 8px 20px #2357b12b;cursor:pointer}.navcta{background:var(--orange)!important}.button.secondary,.secondary-button{background:white;color:var(--blue)!important;border:2px solid var(--blue);box-shadow:none}.button:hover,.navcta:hover{filter:brightness(1.07);transform:translateY(-2px)}.hero{max-width:1400px;margin:0 auto;padding:95px 5vw 105px;text-align:center;background:radial-gradient(circle at 12% 10%,#fff6d9 0,transparent 32%),radial-gradient(circle at 86% 80%,#cdeaff 0,transparent 38%),linear-gradient(145deg,#eaf7ff,#fff 60%,#fff4e3);border-radius:0 0 48px 48px}.eyebrow{font-size:.8rem;font-weight:900;letter-spacing:.17em;color:#2870b7;text-transform:uppercase}.hero h1{max-width:1050px;margin:18px auto}.hero-headline span{display:block}.hero-headline-first{color:var(--navy)}.hero-headline-second{color:var(--blue)}.hero>p{max-width:720px;margin:0 auto 26px;font-size:1.2rem;color:var(--muted)}.hero .button{margin:5px}.mini{margin-top:27px;font-weight:700;color:#516e90}.section,.course-detail,.legal-doc,.partner-page,.provider-page,.enrollment-page{max-width:1180px;margin:0 auto;padding:75px 28px}.section-title{text-align:center;margin:0 auto 35px;max-width:800px}.section-title h2,.mission h2{margin:10px 0}.section-title h2 span,.mission h2 span,.legal h2 span,.section h2 span{color:var(--blue)}.section-title p{color:var(--muted)}.programs,.features,.plans,.partner-benefits,.enrollment-layout,.provider-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.program,.features article,.plan,.partner-strip,.notice,.disabled-upload,.enrollment-summary,.enrollment-form,.provider-result,.partner-form,.provider-outline,.partner-callout{background:white;border:1px solid #e2eaf6;border-radius:var(--radius);box-shadow:0 12px 35px #123a6a10;overflow:hidden}.program{text-decoration:none;color:inherit;transition:transform .2s}.program:hover{transform:translateY(-5px)}.program>img,.banner img{display:block;width:100%;height:300px;object-fit:cover}.banner{position:relative}.coming,.tag{position:absolute;right:14px;top:14px;padding:5px 13px;border-radius:100px;background:var(--yellow);color:var(--navy);font-weight:900;font-size:.8rem}.program-copy{padding:20px 25px;display:flex;align-items:center;justify-content:space-between;gap:15px}.program-copy h3{margin:0 0 7px}.program-copy p{margin:0;color:var(--muted)}.arrow{font-size:2rem;color:var(--blue)}.mission{background:#edf6ff;border-radius:35px;margin-top:30px;text-align:center}.mission>p{max-width:760px;margin:15px auto 35px}.features{grid-template-columns:repeat(3,minmax(0,1fr));text-align:left}.features article{padding:27px}.features article>div:first-child{font-size:2rem;color:var(--orange)}.features article h3{margin:10px 0}.features article p{color:var(--muted)}.partner-strip,.partner-callout{padding:27px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:30px}.partner-strip p{margin:4px 0}.fine,.legal-note{font-size:.85rem;color:#697b8d}.notice{padding:28px;background:#fff9e9;border-color:#ffe0a0}.disabled-upload{padding:38px;text-align:center;border:2px dashed #9fb8d9;margin-top:25px;background:#f5faff}.upload-icon{font-size:2.5rem;color:var(--blue)}.disabled-upload span{font-weight:900;color:#b24a35}.resource-link{font-weight:800}.legal-doc{max-width:880px}.legal-doc h1,.course-hero h1{font-size:clamp(2.3rem,5vw,4.4rem)}.course-hero{padding:45px 0 20px}.course-subtitle{font-size:1.2rem;color:var(--muted)}.course-back{display:inline-block;margin:0 0 25px;font-weight:800}.course-detail>section,.legal-doc>section{margin:30px 0}.partner-page,.provider-page,.enrollment-page{min-height:65vh}.partner-benefits{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-benefits>*{padding:20px;background:#eaf5ff;border-radius:18px}.plans{margin:30px 0}.plan{position:relative;padding:30px}.plan.featured{border:2px solid var(--blue)}.plan-label{font-weight:800;color:var(--blue)}.price{font-size:2.4rem;font-weight:900;font-family:Outfit,sans-serif}.partner-form,.enrollment-form,.enrollment-summary,.provider-result,.provider-outline{padding:30px}.partner-form button,.enrollment-form button{margin-top:15px}.provider-search{display:flex;gap:12px;margin:25px 0}.provider-search input{flex:1}.provider-result{margin:25px 0}.provider-info-grid{gap:15px}.provider-disclosure{font-size:.85rem;color:var(--muted)}.provider-directory-promo{background:#eaf5ff;border-radius:24px;padding:28px;margin:30px 0}.provider-promo-actions{display:flex;gap:15px;flex-wrap:wrap}.enrollment-layout{align-items:start}.enrollment-course{padding:15px}.enrollment-consent{display:flex;align-items:flex-start;gap:12px;margin:18px 0}.enrollment-consent input{width:auto;margin-top:8px}footer{background:var(--navy);color:#d8e8ff;padding:40px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}footer a{color:#d8e8ff;text-decoration:none;margin-right:14px}footer a:hover{text-decoration:underline}.footer-brand{display:flex;align-items:center;gap:15px}.footer-brand img{width:65px;height:65px;object-fit:contain}.footer-brand p{margin:0}footer small{color:#b5c8e2}@media(max-width:900px){.top{flex-wrap:wrap;justify-content:center}nav{justify-content:center}.features,.partner-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:65px 24px}}@media(max-width:640px){.top{padding:12px 18px}.identity img{width:48px;height:48px}nav{gap:12px}.navcta{width:100%;text-align:center}.hero{padding:55px 20px}.hero>p{font-size:1rem}.section,.course-detail,.legal-doc,.partner-page,.provider-page,.enrollment-page{padding:48px 18px}.programs,.features,.plans,.partner-benefits,.enrollment-layout,.provider-info-grid{grid-template-columns:1fr}.program>img,.banner img{height:220px}.partner-strip,.partner-callout{display:block}.partner-strip .button{margin-top:15px}.provider-search{flex-direction:column}footer{display:block}footer>div,footer>small,footer>a{display:block;margin-bottom:15px}}


/* Flying House Games cinematic design system */
:root{--navy:#071c46;--blue:#087af2;--ink:#102b59;--yellow:#ffc400;--orange:#ff8737;--radius:22px}
body{background:linear-gradient(180deg,#e4f3ff 0%,#f6faff 38%,#e8f4ff 100%);color:var(--ink)}
.top{max-width:none;padding:12px max(3vw,22px);background:linear-gradient(115deg,#071b46,#063c8e 68%,#071b46);box-shadow:0 4px 22px #001f4d35}
.identity,.identity b,.top nav a{color:#fff}.identity b{color:#6acbff}.identity img{filter:drop-shadow(0 2px 6px #0005)}.top nav a:hover{color:#ffd44b}.navcta{background:linear-gradient(135deg,#ffae37,#ff7135)!important;box-shadow:0 5px 20px #ff7b3860}
.hero{max-width:none;position:relative;overflow:hidden;border-radius:0 0 38px 38px;padding:58px 5vw 43px;background:radial-gradient(ellipse at 80% 15%,#117de1a6,transparent 45%),radial-gradient(ellipse at 10% 90%,#00c4ff6b,transparent 45%),linear-gradient(135deg,#061b4d,#063e90 62%,#021d52);color:white;box-shadow:0 18px 42px #09529c33}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,transparent 22%,#4ddaff28 23%,transparent 24%,transparent 65%,#48aaff22 66%,transparent 67%)}.hero>*{position:relative}.hero .eyebrow{color:#ffda54;font-size:.86rem;letter-spacing:.22em}.hero h1{font-size:clamp(2.65rem,5.3vw,5.35rem);max-width:1050px;margin:14px auto 18px;line-height:1.08;text-shadow:0 5px 18px #0004}.hero-headline-first{color:white}.hero-headline-second{color:#ffce25}.hero>p{color:#e9f4ff;font-size:clamp(1rem,1.55vw,1.2rem);max-width:680px;margin-bottom:20px}.hero .button{background:linear-gradient(135deg,#ffc800,#ff9430);color:#092654!important;box-shadow:0 8px 20px #00163d4d}.hero .button.secondary{background:transparent;color:white!important;border:2px solid #84cfff}.hero .mini{color:#dceeff;margin-top:20px;font-size:.88rem}
.section,.course-detail,.legal-doc,.partner-page,.provider-page,.enrollment-page{padding-top:44px;padding-bottom:44px}.section-title{margin-bottom:24px}.section-title h2{font-size:clamp(1.8rem,3.5vw,3rem)}.section-title p{margin:8px auto 0}.section h2 span,.mission h2 span,.career-library h2 span{color:#0879ed}
.programs{gap:20px}.program{border:2px solid #a9d8ff;background:linear-gradient(180deg,#fff,#eaf6ff);box-shadow:0 12px 30px #074f9933;transition:transform .2s,box-shadow .2s}.program:hover{box-shadow:0 18px 40px #074f9955}.program>img,.banner img{height:clamp(215px,24vw,350px)}.program-copy{background:linear-gradient(110deg,#071e52,#0c4b9e);color:white;padding:17px 22px}.program-copy h3{color:#fff;font-size:clamp(1.1rem,1.7vw,1.5rem)}.program-copy p{color:#ffdb48;font-weight:800;font-size:1rem}.arrow{color:#ffcf24}.coming{background:#ffcf2c;box-shadow:0 4px 14px #0004}
.mission{margin-top:20px;background:linear-gradient(135deg,#e5f4ff,#fff);border:1px solid #c4e6ff;box-shadow:0 10px 28px #0058b514}.mission>p{margin:10px auto 24px}.features{gap:16px}.features article{padding:20px;background:linear-gradient(180deg,#fff,#f3f9ff)}.features article h3{margin:6px 0}.features article p{margin:6px 0}.partner-strip{margin-top:20px;background:linear-gradient(110deg,#072b70,#075eaf);color:white}.partner-strip p{color:#d8eaff}.partner-strip .button{background:#ffca20;color:#092552!important}
.career-library{max-width:1200px;margin:0 auto;padding:32px 24px 38px;text-align:center}.career-library h2{font-size:clamp(1.65rem,3vw,2.6rem);margin:8px 0}.career-library>p{margin:6px auto 18px;color:#4c6480}.career-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.career-grid>div{background:linear-gradient(180deg,#fff,#e7f4ff);border:1px solid #c6e0fc;border-radius:17px;padding:15px 5px;box-shadow:0 5px 13px #004b9b21;font-size:1.9rem}.career-grid strong{display:block;font-size:.8rem;margin-top:5px}.career-library .career-note{font-size:.76rem;color:#63758a;margin-top:13px}
.provider-page h1,.partner-page h1,.enrollment-page h1,.course-detail h1{font-size:clamp(2.2rem,4.3vw,4.3rem);line-height:1.08;max-width:1050px;margin:12px 0 18px}.provider-page .course-subtitle{margin:0 0 20px}.provider-search{align-items:center;display:grid;grid-template-columns:170px minmax(180px,1fr) minmax(260px,1.3fr);gap:12px;margin:18px 0}.provider-search label{margin:0}.provider-result{margin:0;padding:20px}.provider-search select{padding:14px 12px}.provider-info-grid article{background:#fff;border-radius:20px;padding:22px;box-shadow:0 7px 22px #084b9015}.provider-info-grid h2{font-size:1.45rem;margin:0 0 8px}.provider-info-grid p{margin:0 0 14px}.provider-disclosure{margin-top:22px}.course-back{margin-bottom:12px}.legal-doc>section,.course-detail>section{margin:20px 0}
footer{padding-top:26px;padding-bottom:26px}
@media(max-width:1050px){.career-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.provider-search{grid-template-columns:1fr 1fr}.provider-result{grid-column:1/-1}}
@media(max-width:640px){.hero{padding:43px 20px 32px}.hero h1{font-size:clamp(2.2rem,9vw,3.5rem)}.hero .button{margin:5px 2px}.section,.course-detail,.legal-doc,.partner-page,.provider-page,.enrollment-page{padding:32px 18px}.program>img,.banner img{height:225px}.career-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-search{display:flex;flex-direction:column;align-items:stretch}.provider-result{width:100%}.program-copy{padding:15px}.top nav a{font-size:.8rem}}


/* Cinematic homepage visual direction, November 2026 */
body{background:radial-gradient(ellipse at 8% 12%,#1bafff55,transparent 30%),radial-gradient(ellipse at 92% 45%,#09a6ff44,transparent 35%),linear-gradient(135deg,#005ac2,#002b7e 45%,#037bd4 80%,#003d99);background-attachment:fixed}
body:has(.hero) .top{max-width:none;position:relative;z-index:5;background:linear-gradient(90deg,#04163d,#05408a 75%,#062358);border-bottom:1px solid #5fcfff66;box-shadow:0 5px 28px #00163d55}
body:has(.hero) .top nav a{color:#fff}
body:has(.hero) .top .navcta{background:linear-gradient(135deg,#ffbe26,#ff7c14)!important}
body:has(.hero) .hero{display:grid;grid-template-columns:46% 54%;align-items:stretch;max-width:none;min-height:520px;padding:0;overflow:hidden;border-radius:0;background:radial-gradient(circle at 2% 100%,#068bff88,transparent 45%),linear-gradient(120deg,#041849,#06428c 75%,#031944);box-shadow:inset 0 -3px #00cfff,0 12px 35px #001a5680}
body:has(.hero) .hero:before{background:linear-gradient(140deg,transparent 15%,#29cfff3d 16%,transparent 17%,transparent 75%,#29cfff36 76%,transparent 77%)}
.hero-copy{position:relative;z-index:2;padding:55px 15px 32px max(4vw,30px);align-self:center;text-align:left}.hero-copy .eyebrow{color:#8ddfff;font-size:.8rem;letter-spacing:.12em}.hero-copy h1{font-size:clamp(2.6rem,4.4vw,5.2rem);font-style:italic;line-height:1.04;text-align:left;letter-spacing:-.035em;margin:12px 0 22px;max-width:720px;text-shadow:0 5px 8px #00123499}.hero-copy .hero-headline-first{color:#fff}.hero-copy .hero-headline-second{color:#ffce24;text-shadow:0 4px 2px #b34816,0 8px 14px #00123499}.hero-copy>p{color:#eaf6ff;text-align:left;margin:0 0 20px;max-width:520px;font-weight:600;font-size:clamp(1rem,1.4vw,1.2rem)}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions .button{margin:0}.hero-photo{position:relative;min-height:420px;background:linear-gradient(90deg,#06428c 0%,transparent 24%),linear-gradient(0deg,#03428e88,transparent 38%),url('https://images.unsplash.com/photo-1509062522246-3755977927d7?auto=format&fit=crop&w=1400&q=85') center 45%/cover no-repeat;box-shadow:inset 12px 0 30px #03245d66}.hero-benefits{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 max(3vw,22px) 18px;position:relative;z-index:3;background:linear-gradient(110deg,#022459ed,#073f84ed);border:2px solid #55d5ff;border-radius:18px;box-shadow:0 0 22px #12d8ff88,inset 0 0 15px #0cbcff33;padding:13px 12px}.hero-benefits>div{display:flex;align-items:center;justify-content:center;gap:12px;border-right:1px solid #4cbaff99;color:#fff;line-height:1.25}.hero-benefits>div:last-child{border:0}.hero-benefits span{font-size:2rem;color:#ffcc20}.hero-benefits strong{font-size:clamp(.7rem,1.1vw,1rem)}
body:has(.hero) #programs{padding-top:26px;padding-bottom:26px}.programs-heading{margin-bottom:15px}.programs-heading .eyebrow{color:#a9e9ff}.programs-heading h2{color:#fff;font-size:clamp(1.6rem,3vw,2.5rem);text-shadow:0 2px 8px #00153b}.programs-heading h2:after{content:"";display:block;width:150px;height:3px;background:#29cfff;margin:10px auto 0;border-radius:3px}.program{border:2px solid #78d9ff;border-radius:22px;box-shadow:0 0 20px #18bfff99,0 12px 24px #00174a88}.program>img,.banner img{height:clamp(240px,26vw,390px)}.program-copy{background:linear-gradient(100deg,#03194e,#084f9d);padding:14px 20px}.program-copy h3{font-size:clamp(1rem,1.5vw,1.3rem);margin:0 0 4px}.program-copy p{font-size:clamp(.9rem,1.25vw,1.1rem);color:#fff}.arrow{display:grid;place-items:center;background:#ffcc16;border-radius:50%;width:38px;height:38px;flex-shrink:0;color:#062358;font-size:1.6rem}
.provider-spotlight{max-width:1180px;margin:10px auto 22px;display:grid;grid-template-columns:110px 1fr 1fr;align-items:center;gap:18px;padding:24px 30px;border:2px solid #7ae5ff;border-radius:24px;background:radial-gradient(ellipse at 95% 0,#147ddd88,transparent 42%),linear-gradient(120deg,#073f94,#031d59);color:white;box-shadow:0 0 20px #18cfffaa,0 15px 25px #00174466}.provider-map-icon{font-size:4.5rem;text-align:center}.provider-spotlight .eyebrow{color:#ffce28}.provider-spotlight h2{font-size:clamp(1.7rem,2.7vw,2.7rem);margin:5px 0 8px;color:#fff}.provider-spotlight p{margin:0;color:#d8efff}.provider-spotlight-action{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.provider-spotlight-action span{font-weight:800}.provider-spotlight-action .button{background:linear-gradient(120deg,#ffe43d,#ff9e17);color:#061d4b!important}.provider-spotlight-action small{display:block;width:100%;color:#c7e7ff}
body:has(.hero) .career-library{padding-top:18px;padding-bottom:28px;color:white}.career-library .eyebrow{color:#b8ecff}.career-library h2,.career-library h2 span{color:white}.career-library>p{color:#e1f2ff}.career-grid>div{box-shadow:0 6px 15px #001c5380;border:2px solid #b7e8ff}.career-grid strong{color:#082a63}.career-library .career-note{color:#d9ecff}
body:has(.hero) .mission,body:has(.hero) #licensing,body:has(.hero) #resources,body:has(.hero) #submissions,body:has(.hero) #legal{background:linear-gradient(130deg,#eef8ff,#fff);border-radius:26px;margin-top:20px;margin-bottom:20px;box-shadow:0 12px 28px #001d5b66}body:has(.hero) #licensing,body:has(.hero) #resources,body:has(.hero) #submissions,body:has(.hero) #legal{max-width:1180px}.mission{padding:35px 25px!important}.mission h2{font-size:clamp(1.7rem,3vw,2.7rem)}.mission .features{margin-top:20px}
@media(max-width:850px){body:has(.hero) .hero{grid-template-columns:1fr}.hero-copy{padding:36px 24px 24px}.hero-photo{min-height:300px;grid-row:2}.hero-benefits{grid-row:3;grid-template-columns:repeat(2,1fr);gap:12px}.hero-benefits>div:nth-child(2){border:0}.provider-spotlight{margin-left:18px;margin-right:18px;grid-template-columns:75px 1fr}.provider-spotlight-action{grid-column:1/-1}.provider-map-icon{font-size:3rem}}
@media(max-width:550px){.hero-copy h1{font-size:clamp(2.3rem,9vw,3.4rem)}.hero-benefits{margin:0 14px 15px;padding:12px 6px}.hero-benefits>div{gap:6px}.hero-benefits span{font-size:1.3rem}.hero-benefits strong{font-size:.69rem}.hero-photo{min-height:235px}.provider-spotlight{padding:18px;grid-template-columns:1fr}.provider-map-icon{display:none}.provider-spotlight-action{grid-column:auto}.career-grid{grid-template-columns:repeat(2,1fr)}}

/* Original career discovery montage, feathered into the blue hero */
body:has(.hero) .hero-photo{background-image:linear-gradient(90deg,#06428c 0%,#06428c00 24%),linear-gradient(0deg,#06428c 0%,#06428c00 24%),url('assets/Teen%20Innovators%20Building%20the%20Future.png');background-position:center;background-size:cover;background-repeat:no-repeat;box-shadow:none;mask-image:linear-gradient(to right,transparent 0%,black 18%),linear-gradient(to top,transparent 0%,black 19%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 18%),linear-gradient(to top,transparent 0%,black 19%);-webkit-mask-composite:source-in}
@media(max-width:850px){body:has(.hero) .hero-photo{mask-image:linear-gradient(to top,transparent 0%,black 18%);-webkit-mask-image:linear-gradient(to top,transparent 0%,black 18%)}}

/* Single combined course and licensing section. Show entire rectangular artwork. */
body:has(.hero) #programs{max-width:1180px;margin:24px auto;padding:28px 26px 30px;background:linear-gradient(130deg,#edf8ff,#fff);border-radius:26px;box-shadow:0 12px 28px #001d5b66}
body:has(.hero) #programs .section-title{margin-bottom:20px}
body:has(.hero) #programs .section-title .eyebrow{color:#1670bb}
body:has(.hero) #programs .section-title h2{color:#102b59;font-size:clamp(1.8rem,3.2vw,3.25rem);text-shadow:none}
body:has(.hero) #programs .section-title p{max-width:870px}
body:has(.hero) #programs .programs{align-items:start}
body:has(.hero) #programs .program>img,body:has(.hero) #programs .banner img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
body:has(.hero) #programs .program{overflow:hidden}
body:has(.hero) #programs .banner{line-height:0}
body:has(.hero) #programs .banner .coming{line-height:1.5}
body:has(.hero) #programs .program-copy{min-height:92px}
@media(max-width:640px){body:has(.hero) #programs{margin:18px 12px;padding:24px 14px}body:has(.hero) #programs .program-copy{min-height:0}}

/* Fix Firefox/WebKit mask compositing hiding the hero photograph. Feather with overlays instead. */
body:has(.hero) .hero-photo{position:relative;display:block;min-height:420px;background-image:url("assets/Teen%20Innovators%20Building%20the%20Future.png");background-position:center center;background-size:cover;background-repeat:no-repeat;mask-image:none!important;-webkit-mask-image:none!important;mask-composite:initial!important;-webkit-mask-composite:initial!important;isolation:isolate}
body:has(.hero) .hero-photo::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(to right,#06428c 0%,rgba(6,66,140,.8) 5%,transparent 30%),linear-gradient(to top,#06428c 0%,rgba(6,66,140,.65) 6%,transparent 29%)}
@media(max-width:850px){body:has(.hero) .hero-photo{min-height:300px}body:has(.hero) .hero-photo::after{background:linear-gradient(to top,#06428c 0%,transparent 28%)}}
@media(max-width:550px){body:has(.hero) .hero-photo{min-height:235px}}

/* Bring career montage toward the headline, preserving text legibility */
@media(min-width:851px){body:has(.hero) .hero{grid-template-columns:42% 58%}body:has(.hero) .hero-photo{margin-left:-135px;width:calc(100% + 135px);background-position:center center}body:has(.hero) .hero-photo::after{background:linear-gradient(to right,#06428c 0%,rgba(6,66,140,.72) 8%,rgba(6,66,140,.12) 30%,transparent 45%),linear-gradient(to top,#06428c 0%,rgba(6,66,140,.5) 7%,transparent 27%)}body:has(.hero) .hero-copy{z-index:4;padding-right:0}body:has(.hero) .hero-copy h1{position:relative;z-index:4}}
@media(min-width:1200px){body:has(.hero) .hero-photo{margin-left:-175px;width:calc(100% + 175px)}}

/* Seamless cinematic hero: full-bleed image layer, no visible photo boundary. */
@media(min-width:851px){
 body:has(.hero) .hero{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(560px,auto) auto;isolation:isolate;overflow:hidden}
 body:has(.hero) .hero-photo{position:absolute;inset:0 0 0 0;width:100%;height:100%;min-height:0;margin:0!important;grid-row:auto;background-image:url("assets/Teen%20Innovators%20Building%20the%20Future.png");background-size:cover;background-position:right 45%;background-repeat:no-repeat;z-index:0;box-shadow:none;mask-image:none!important;-webkit-mask-image:none!important}
 body:has(.hero) .hero-photo::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#05295f 0%,#063776 13%,rgba(6,55,118,.96) 23%,rgba(6,55,118,.72) 31%,rgba(6,55,118,.23) 43%,transparent 55%),linear-gradient(0deg,#06428c 0%,rgba(6,66,140,.75) 7%,transparent 23%);pointer-events:none}
 body:has(.hero) .hero-copy{grid-column:1;grid-row:1;z-index:3;align-self:center;width:min(46%,790px);padding:36px 0 32px max(3.4vw,35px);margin:0}
 body:has(.hero) .hero-copy h1{font-size:clamp(2.5rem,4.05vw,5rem)}
 body:has(.hero) .hero-benefits{grid-column:1;grid-row:2;z-index:4}
}
@media(min-width:851px) and (max-width:1150px){body:has(.hero) .hero-copy{width:52%}body:has(.hero) .hero-photo::after{background:linear-gradient(90deg,#05295f 0%,rgba(6,55,118,.95) 24%,rgba(6,55,118,.45) 47%,transparent 65%),linear-gradient(0deg,#06428c,transparent 25%)}}

/* Final seamless full-bleed treatment: all imagery and gradients in ONE background.
   No separate image box, no photo opacity loss on students, no edge seams. */
@media(min-width:851px){
 body:has(.hero) .hero{
   background-color:#073a80!important;
   background-image:
     linear-gradient(90deg,#05295f 0%,rgba(5,41,95,.99) 12%,rgba(5,41,95,.93) 23%,rgba(5,41,95,.55) 31%,rgba(5,41,95,.10) 38%,transparent 45%),
     linear-gradient(0deg,#073a80 0%,rgba(7,58,128,.55) 6%,transparent 19%),
     url("assets/Teen%20Innovators%20Building%20the%20Future.png")!important;
   background-size:100% 100%,100% 100%,cover!important;
   background-position:center,center,right 42%!important;
   background-repeat:no-repeat!important;
 }
 body:has(.hero) .hero-photo{display:none!important}
 body:has(.hero) .hero-copy{width:min(43%,760px);z-index:3}
 body:has(.hero) .hero-benefits{z-index:3}
}
@media(min-width:851px) and (max-width:1150px){
 body:has(.hero) .hero{background-image:linear-gradient(90deg,#05295f 0%,rgba(5,41,95,.96) 23%,rgba(5,41,95,.4) 40%,transparent 58%),linear-gradient(0deg,#073a80,transparent 19%),url("assets/Teen%20Innovators%20Building%20the%20Future.png")!important}
 body:has(.hero) .hero-copy{width:50%}
}

/* Show the complete career montage instead of cropping it with background-size:cover. */
@media(min-width:851px){
 body:has(.hero) .hero{
   background-color:#073a80!important;
   background-size:100% 100%,100% 100%,100% auto!important;
   background-position:center,center,right center!important;
 }
}

/* Correct image fitting: scale montage by HEIGHT, not viewport width.
   This keeps the entire original montage visible within the right side. */
@media(min-width:851px){
 body:has(.hero) .hero{
  background-size:100% 100%,100% 100%,auto 100%!important;
  background-position:center center,center center,right center!important;
  background-repeat:no-repeat,no-repeat,no-repeat!important;
 }
}


/* Unified cinematic hero: the photograph and text live on one continuous canvas. */
@media (min-width:851px) {
 body:has(.hero) .hero {
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:minmax(500px,auto) auto!important;
  isolation:isolate;
  overflow:hidden;
  min-height:0!important;
  background-color:#062b66!important;
  background-image:
   linear-gradient(90deg,#062658 0%,#07316e 20%,rgba(7,49,110,.98) 29%,rgba(7,49,110,.83) 36%,rgba(7,49,110,.25) 47%,transparent 57%),
   linear-gradient(0deg,#06418a 0%,rgba(6,65,138,.45) 6%,transparent 19%),
   url("assets/Vibrant%20STEM%20Teamwork%20in%20Blue%20Light.png")!important;
  background-size:100% 100%,100% 100%,auto calc(100% - 72px)!important;
  background-position:center,center,right top!important;
  background-repeat:no-repeat!important;
 }
 body:has(.hero) .hero::before{pointer-events:none}
 body:has(.hero) .hero-photo{display:none!important}
 body:has(.hero) .hero-copy{
  grid-column:1!important;
  grid-row:1!important;
  width:min(44%,800px)!important;
  max-width:none!important;
  align-self:center!important;
  margin:0!important;
  padding:25px 10px 22px max(3vw,35px)!important;
  text-align:left!important;
  z-index:3!important;
 }
 body:has(.hero) .hero-copy h1{
  font-size:clamp(2.7rem,3.65vw,5.2rem)!important;
  line-height:1.08!important;
  margin:12px 0 24px!important;
 }
 body:has(.hero) .hero-copy p{
  font-size:clamp(1.1rem,1.32vw,1.5rem)!important;
  line-height:1.5!important;
 }
 body:has(.hero) .hero-benefits{
  grid-column:1!important;
  grid-row:2!important;
  z-index:4!important;
 }
}
@media (min-width:851px) and (max-width:1200px){
 body:has(.hero) .hero-copy{width:48%!important}
 body:has(.hero) .hero-copy h1{font-size:clamp(2.4rem,3.6vw,4.2rem)!important}
}

/* Approved unified header artwork. Preserve its original composition without cropping. */
body:has(.hero-artwork) .hero.hero-artwork{display:block!important;min-height:0!important;height:auto!important;grid-template-columns:none!important;grid-template-rows:none!important;padding:0!important;margin:0!important;background:none!important;border:0!important;overflow:visible!important;isolation:auto!important}
body:has(.hero-artwork) .hero.hero-artwork::before,body:has(.hero-artwork) .hero.hero-artwork::after{display:none!important}
body:has(.hero-artwork) .hero-artwork-image{display:block;width:100%;height:auto;max-width:none;object-fit:contain;object-position:center}

/* Career-adventure visual refresh: uploaded original artwork, November 2026 */
body:has(.hero-artwork) .mission,
body:has(.hero-artwork) #resources,
body:has(.hero-artwork) #submissions,
body:has(.hero-artwork) #legal{
  overflow:hidden;
  background:linear-gradient(145deg,#eaf6ff,#fff 75%)!important;
  border:1px solid #8cdaff;
  box-shadow:0 12px 38px #00184b70,0 0 22px #12baff33!important;
}
body:has(.hero-artwork) .mission-visual,
body:has(.hero-artwork) .section-visual{
  position:relative;
  margin:-35px -25px 28px;
  overflow:hidden;
  background:#053a80;
}
body:has(.hero-artwork) .section-visual{margin:-35px -25px 28px}
body:has(.hero-artwork) .mission-visual img,
body:has(.hero-artwork) .section-visual img{
  display:block;width:100%;height:auto;max-height:470px;object-fit:cover;object-position:center;
}
body:has(.hero-artwork) .mission-visual::after,
body:has(.hero-artwork) .section-visual::after{
  content:"";position:absolute;inset:auto 0 0;height:22%;
  background:linear-gradient(0deg,#eaf6ff,transparent);pointer-events:none;
}
body:has(.hero-artwork) .mission .eyebrow,
body:has(.hero-artwork) .mission h2,
body:has(.hero-artwork) .mission>p{text-align:center}
body:has(.hero-artwork) .mission>p{max-width:850px;margin-left:auto;margin-right:auto}
body:has(.hero-artwork) .mission .features article,
body:has(.hero-artwork) #resources .features article,
body:has(.hero-artwork) #legal .features article{
 border:1px solid #b3dfff;border-radius:20px;
 box-shadow:0 8px 22px #0755a01a;
}
body:has(.hero-artwork) #submissions .notice{
 border-radius:20px;border:1px solid #ffc75b;
 background:linear-gradient(125deg,#fff6dc,#fffaf0);
}
body:has(.hero-artwork) #submissions .disabled-upload{
 border-radius:20px;background:linear-gradient(145deg,#f0faff,#fff);
}
@media(max-width:650px){
 body:has(.hero-artwork) .mission-visual,
 body:has(.hero-artwork) .section-visual{margin:-24px -14px 22px}
 body:has(.hero-artwork) .mission-visual img,
 body:has(.hero-artwork) .section-visual img{max-height:none}
}


/* Site-wide readability and framed-media audit, November 2026.
   Applies to interior pages using the shared stylesheet; logos remain unframed. */
body:not(:has(.hero)){color:#f5faff;background:radial-gradient(ellipse at 12% 10%,#0866bf 0%,#06428e 38%,#041d58 100%);background-attachment:fixed}
body:not(:has(.hero)) .top{max-width:none;background:#071e4d;border-bottom:1px solid #21dfff66}
body:not(:has(.hero)) .top .identity,body:not(:has(.hero)) .top nav a{color:#fff}
body:not(:has(.hero)) .top .identity b{color:#8deaff}
body:not(:has(.hero)) .top .navcta{background:#ffcb37!important;color:#082550!important}
body:not(:has(.hero)) main>.section>h1,
body:not(:has(.hero)) main>.section>.section-title h2,
body:not(:has(.hero)) .course-detail>h1,
body:not(:has(.hero)) .provider-page>h1,
body:not(:has(.hero)) .partner-page>h1,
body:not(:has(.hero)) .legal-doc>h1{color:#fff!important;text-shadow:0 2px 8px #001642}
body:not(:has(.hero)) main>.section>.eyebrow,
body:not(:has(.hero)) .course-detail>.eyebrow,
body:not(:has(.hero)) .provider-page>.eyebrow,
body:not(:has(.hero)) .partner-page>.eyebrow{color:#ffdc43!important}
body:not(:has(.hero)) .course-back{color:#c0f3ff!important;text-decoration:underline;text-underline-offset:4px}
body:not(:has(.hero)) .course-subtitle,
body:not(:has(.hero)) .section-title>p,
body:not(:has(.hero)) main>.section>.fine{color:#e9f5ff!important}
body:not(:has(.hero)) main>.section>.fine a{color:#fff0a4!important}
body:not(:has(.hero)) .section h2 span,
body:not(:has(.hero)) .course-detail .section-title h2 span{color:#ffe046}
body:not(:has(.hero)) .section-title h2{color:#fff;text-shadow:0 2px 7px #001642}
body:not(:has(.hero)) .plan,
body:not(:has(.hero)) .notice,
body:not(:has(.hero)) .partner-form,
body:not(:has(.hero)) .provider-result,
body:not(:has(.hero)) .enrollment-form,
body:not(:has(.hero)) .enrollment-summary,
body:not(:has(.hero)) .disabled-upload,
body:not(:has(.hero)) .provider-outline,
body:not(:has(.hero)) .features article,
body:not(:has(.hero)) .program,
body:not(:has(.hero)) .partner-strip{color:#173052;background:#fff}
body:not(:has(.hero)) .plan h2,
body:not(:has(.hero)) .plan h3,
body:not(:has(.hero)) .notice h2,
body:not(:has(.hero)) .notice h3,
body:not(:has(.hero)) .partner-form h2,
body:not(:has(.hero)) .provider-result h2,
body:not(:has(.hero)) .features article h3{color:#112c59}
body:not(:has(.hero)) .plan p,
body:not(:has(.hero)) .plan li,
body:not(:has(.hero)) .notice p,
body:not(:has(.hero)) .partner-form p,
body:not(:has(.hero)) .provider-result p,
body:not(:has(.hero)) .features article p{color:#284465}
body:not(:has(.hero)) .plan .price,
body:not(:has(.hero)) .plan-label{color:#0751a8}
body:not(:has(.hero)) .plan .price small{color:#405779}
body:not(:has(.hero)) .fine{color:inherit}
body:not(:has(.hero)) .partner-callout{background:#08295d;color:#fff;border:2px solid #20e5ff}
body:not(:has(.hero)) .partner-callout h2,
body:not(:has(.hero)) .partner-callout p{color:#fff}
body:not(:has(.hero)) .provider-directory-promo{background:#fff;color:#173052;border:2px solid #25e6ff}
body:not(:has(.hero)) .provider-directory-promo h2,
body:not(:has(.hero)) .provider-directory-promo h2 span{color:#123566}
body:not(:has(.hero)) .provider-directory-promo p{color:#284465}
body:not(:has(.hero)) .legal-doc>section{color:#f3faff}
body:not(:has(.hero)) .legal-doc>section a{color:#ffeb93}
body:not(:has(.hero)) .course-hero,
body:not(:has(.hero)) .program>img{display:block;max-width:100%;height:auto;border:2px solid #24e8ff;border-radius:20px;box-shadow:0 0 14px #0ae6ff55;object-fit:contain}
body:not(:has(.hero)) .course-hero{width:100%;overflow:hidden}
body:not(:has(.hero)) .program{overflow:hidden;border:2px solid #24e8ff;border-radius:20px}
body:not(:has(.hero)) .program>img{width:100%;border:0;border-radius:0;box-shadow:none}
body:not(:has(.hero)) .button{color:#fff!important;background:#0c51b1}
body:not(:has(.hero)) footer{background:#061c43;color:#eef7ff}
body:not(:has(.hero)) footer a,body:not(:has(.hero)) footer p{color:#eef7ff}
body:not(:has(.hero)) a:focus-visible{outline:3px solid #ffe04c;outline-offset:3px}
@media(max-width:700px){body:not(:has(.hero)) .course-hero{border-radius:14px}body:not(:has(.hero)) .top{flex-wrap:wrap;justify-content:center;text-align:center}body:not(:has(.hero)) .top nav{justify-content:center}}


/* Tight image frames on interior pages only. The homepage uses its own styles.
   Remove legacy padding on .course-hero, which created artificial letterboxing. */
body:not(:has(.hero-art)) img.course-hero,
body:not(:has(.hero-art)) img.enrollment-artwork,
body:not(:has(.hero-art)) .program>img{
  padding:0!important;
  margin-top:0;
  margin-bottom:0;
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  vertical-align:top!important;
}
body:not(:has(.hero-art)) img.course-hero{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  border:2px solid #24e8ff!important;
  border-radius:20px!important;
  background:transparent!important;
  box-shadow:0 0 14px #0ae6ff55!important;
  margin:22px auto!important;
}
body:not(:has(.hero-art)) img.course-hero::before,
body:not(:has(.hero-art)) img.course-hero::after{display:none!important}
@media(max-width:700px){
 body:not(:has(.hero-art)) img.course-hero{border-radius:14px!important}
}
