/* Step Up Academy: premium, playful, educational. */
:root{--navy:#06264b;--ink:#092b50;--cream:#fff4e3;--gold:#ad7b37;--muted:#53677e;--line:#e9ddcc}
body{background:#fffcf7}
.announcement{background:#082a50;color:#fff5e5}
.announcement-in a{color:#f2d7a8}
.site-header{height:110px;margin:0 24px;border:0;border-radius:0 0 34px 34px;background:#fffdf9f5;box-shadow:0 10px 35px #112d4b07}
.nav-row{width:calc(100% - 40px);display:grid;grid-template-columns:1fr 125px 1fr;gap:25px}
.navlinks{grid-column:1;grid-row:1;gap:17px}
.logo{grid-column:2;grid-row:1;justify-self:center;position:relative;z-index:2;background:#fffdf9;border-radius:50%;padding:7px;align-self:start}
.logo img{width:116px;height:116px}
.nav-actions{grid-column:3;grid-row:1;gap:18px;justify-self:end;flex-direction:row-reverse}
.header-phone{font-size:14px;font-weight:800;white-space:nowrap}
.nav-link{font-size:11px}
.nav-desktop-cta{white-space:nowrap}
.btn,.btn-dark,.btn-gold{background:linear-gradient(135deg,#173f69,#042145);box-shadow:0 8px 20px #08275217;border:1px solid #ffffff24}
.btn:hover{box-shadow:0 12px 25px #08275228;transform:translateY(-2px)}
.hero-home{position:relative;background:radial-gradient(ellipse at 20% 45%,#ffe5bd99,transparent 48%),linear-gradient(125deg,#f4e4d0,#fffcf5 56%,#f8e9d2);isolation:isolate;overflow:hidden}
.hero-home::before{content:"";position:absolute;z-index:-1;width:120%;height:175px;bottom:-100px;left:-8%;background:linear-gradient(90deg,#486582,#092b50);border-radius:50% 50% 0 0;transform:rotate(4deg)}
.hero-home::after{content:"";position:absolute;z-index:-1;width:85%;height:135px;bottom:-67px;right:-12%;background:linear-gradient(110deg,#f9e5c6,#e7c496);border-radius:50%;transform:rotate(-8deg)}
.hero-grid{grid-template-columns:1fr 1.05fr;min-height:680px;padding:65px 0 45px;gap:35px}
.hero-heading{font-size:clamp(40px,4vw,61px);font-weight:800;line-height:1.6;margin:15px 0 24px}
.hero-heading .gold-word{color:#ad7b37}
.hero-copy{font-size:18px;line-height:2.1;color:#173859}
.hero-overline{font-size:13px}
.hero-actions{gap:16px}
.hero-actions .btn{padding:14px 30px;font-size:17px;min-height:60px}
.hero-actions .text-link{border:1px solid #bc914f;border-radius:999px;padding:13px 24px;background:#fffaf280;min-height:60px}
.hero-values{display:flex;gap:20px;margin-top:30px;font-size:12px;color:#657184}
.hero-values span::before{content:"✓";margin-left:7px;color:#a97834}
.hero-visual{position:relative;align-self:end}
.hero-children{width:100%;max-height:590px;height:590px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 18px #795d3020)}
.learning-doodle{position:absolute;display:block;width:65px;height:65px;z-index:2;color:#a97834}
.learning-doodle svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.doodle-book{left:0;top:22%;transform:rotate(-12deg);color:#173b64}
.doodle-bulb{right:0;top:2%;transform:rotate(12deg)}
.hero-bottom{display:none}
.campaign-note{padding:38px 0;background:#fffdf9}
.campaign-note .wrap{display:flex;align-items:center;justify-content:space-between;gap:45px}
.campaign-note h2{font-size:23px;margin:5px 0;color:var(--navy)}
.campaign-note p{font-size:14px;color:var(--muted);max-width:780px;margin:5px 0}
.campaign-note .btn{flex-shrink:0;font-size:13px}
.date-band{background:#f6eddf}
.section-intro{background:#fffdf9}
.number-card{background:linear-gradient(145deg,#fffdf9,#f8eddd);border-radius:24px;box-shadow:0 8px 25px #4c381008}
.number-card .num{display:inline-grid;place-items:center;width:48px;height:48px;background:#fffaf0;border:1px solid #e8d5b5;border-radius:15px;font-size:21px;color:#9b6f32}
.showcase-section{background:linear-gradient(110deg,#f8eddb,#fffaf2)}
.showcase-photo img{border-radius:22px;box-shadow:0 16px 35px #78582610}
.programs{background:#fffcf7}
.program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.program-card{border-radius:26px;background:linear-gradient(145deg,#fffefb,#f5e8d4);border:1px solid #e8d8be;box-shadow:0 10px 24px #4b34100a}
.program-content{padding:30px;gap:0}
.course-icon{direction:ltr;display:grid;place-items:center;min-width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,#173f68,#08264a);color:#f6dbac;font:700 22px Arial;margin-bottom:25px;box-shadow:0 7px 15px #09264a20}
.program-featured{background:linear-gradient(135deg,#21476e,#062549);color:#fff}
.program-featured .program-tag,.program-featured .program-content p{color:#dbe4ee}
.program-featured .program-arrow{border-color:#ffffff25}
.program-featured .course-icon{background:#f3dfbf;color:#092b50}
.program-featured .program-arrow b{color:#f2d3a0}
.future-course{background:#f8f3eb;border-style:dashed}
.cta-editorial{background:linear-gradient(110deg,#153b61,#061f40);color:white}
.cta-editorial p{color:#dbe4ee}
.cta-editorial .gold{color:#ebc58f}
.cta-editorial .eyebrow{color:#ebc58f}
.cta-editorial .btn{background:linear-gradient(135deg,#f8e4c4,#e3be86);color:#09264a}
.contact-section{background:radial-gradient(ellipse at 15% 50%,#f2ddba77,transparent 60%),#fffaf1}
.lead-form{border-radius:26px;box-shadow:0 15px 50px #7660400b}
.page-hero{background:radial-gradient(ellipse at 15% 40%,#efd3a66b,transparent 55%),linear-gradient(125deg,#f7ead6,#fffcf5)}
.footer{background:linear-gradient(120deg,#14385e,#041b37)}
.footer-brand img{border-radius:50%;width:110px;height:110px}
.mobile-registration{display:none}
@media(max-width:1150px){.nav-row{grid-template-columns:1fr 100px 1fr;gap:15px}.navlinks{gap:10px}.nav-link{font-size:10px}.header-phone{display:none}.logo img{width:96px;height:96px}.hero-heading{font-size:46px}}
@media(max-width:970px){
 .site-header{height:86px;margin-inline:14px}.nav-row{display:flex;width:calc(100% - 30px)}
 .logo{align-self:center;padding:5px}.logo img{width:78px;height:78px}
 .nav-actions{flex-direction:row;gap:10px}.header-phone{display:block;font-size:13px}
 .navlinks{top:85px;border-radius:0 0 24px 24px;padding:20px}.nav-link{font-size:14px}
 .hero-grid{gap:15px;padding-top:40px;min-height:600px}.hero-heading{font-size:40px}
 .hero-children{height:500px}.hero-copy{font-size:16px}.hero-actions .btn,.hero-actions .text-link{font-size:14px;padding:12px 18px}
 .program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
 body{padding-bottom:74px}.site-header{margin-inline:8px;border-radius:0 0 24px 24px;height:78px}.navlinks{top:77px}
 .logo img{width:68px;height:68px}.header-phone{font-size:12px}
 .hero-grid{grid-template-columns:1fr;min-height:0;padding-top:32px;gap:20px}
 .hero-heading{font-size:clamp(31px,7.6vw,43px);line-height:1.65;margin:10px 0 14px}
 .hero-heading br:nth-of-type(2){display:none}.hero-copy{font-size:15px;line-height:1.95}
 .hero-actions{justify-content:center;gap:10px}.hero-actions .btn,.hero-actions .text-link{min-height:50px;padding:10px 17px;font-size:13px}
 .hero-values{justify-content:center;gap:15px;margin-top:22px;font-size:11px}
 .hero-children{height:390px;max-height:390px;width:100%;max-width:440px}.hero-visual{width:100%;margin:auto}
 .learning-doodle{width:42px;height:48px}.doodle-book{left:5%;top:25%}.doodle-bulb{right:8%;top:1%}
 .campaign-note .wrap{display:block}.campaign-note{padding:28px 0}.campaign-note .btn{margin-top:15px}.campaign-note h2{font-size:20px}
 .program-content{padding:25px}.program-grid{gap:16px}
 .mobile-registration{position:fixed;bottom:0;inset-inline:0;z-index:70;display:grid;grid-template-columns:1.6fr 1fr;gap:9px;padding:10px 14px max(10px,env(safe-area-inset-bottom));background:#fffdf8f5;backdrop-filter:blur(14px);border-top:1px solid #e8dcc9}
 .mobile-registration a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;border-radius:999px;background:#092b50;color:white;font-size:13px;font-weight:700}
 .mobile-registration a:last-child{background:#f0e2cd;color:#092b50}
 .floating-wa{display:none}
}
@media(max-width:460px){.program-grid{grid-template-columns:1fr}.hero-children{height:340px;max-height:340px}.hero-values{gap:10px}.hero-overline{font-size:12px}.hero-actions{gap:8px}.hero-actions .btn,.hero-actions .text-link{padding:10px 13px;font-size:12px}}

/* Larger navigation and animated registration actions. */
.nav-row{grid-template-columns:minmax(0,1fr) 116px auto;gap:26px}
.navlinks{gap:22px}
.nav-link{font-size:17px;font-weight:750;white-space:nowrap;padding-block:12px}
.header-phone{font-size:16px}
.btn,.btn-sm,.hero-actions .btn,.hero-actions .text-link,.campaign-note .btn,.footer-cta .btn{
 min-height:60px;padding:14px 28px;font-size:17px;font-weight:750
}
.btn-sm{padding-inline:23px;font-size:16px}
.btn,.hero-actions .text-link,.floating-wa,.mobile-registration a,.nav-cta,.button,.mobile-contact a{
 position:relative;isolation:isolate;overflow:hidden;
 transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.btn::after,.hero-actions .text-link::after,.floating-wa::after,.mobile-registration a::after{
 content:"";pointer-events:none;position:absolute;z-index:-1;inset:-50% auto -50% -80%;width:40%;
 background:linear-gradient(90deg,transparent,#ffffff50,transparent);transform:skewX(-20deg)
}
@media(hover:hover){
 .btn:hover,.hero-actions .text-link:hover,.floating-wa:hover,.mobile-registration a:hover,.nav-cta:hover,.button:hover{
  transform:translateY(-4px) scale(1.025);filter:brightness(1.12);box-shadow:0 12px 30px #08275235
 }
 .btn:hover::after,.hero-actions .text-link:hover::after,.floating-wa:hover::after,.mobile-registration a:hover::after{animation:cta-sheen .8s ease-out}
 .nav-link:hover{color:#a57531;text-shadow:0 3px 15px #d8b57755}
}
.btn:active,.floating-wa:active,.mobile-registration a:active{transform:scale(.97)}
.btn:focus-visible,.floating-wa:focus-visible,.mobile-registration a:focus-visible{outline:3px solid #bc8c46;outline-offset:5px}
.floating-wa{position:fixed;min-height:82px;padding:10px 16px;gap:12px;border:1px solid #e6c796;border-radius:24px;bottom:24px;left:24px;animation:cta-glow 4.5s ease-in-out infinite}
.floating-wa>svg{display:none}
.cta-avatar{display:block;position:relative;flex-shrink:0;width:60px;height:60px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#fff0d9,#dcb77e);border:2px solid #f5d9a8}
.cta-avatar img{position:absolute;width:210px;height:auto;max-width:none;left:-20px;top:-16px}
.cta-invitation{display:grid;text-align:right;line-height:1.7}
.cta-invitation strong{font-size:15px}
.cta-invitation>span{font-size:12px;color:#f4ddb8}
.mobile-registration a:first-child{animation:cta-glow 4.5s ease-in-out infinite}
.mobile-registration a:first-child::after{animation:cta-sheen 6s ease-in-out infinite}
.hero-actions .btn{animation:cta-glow 4.5s ease-in-out 3}
.nav-cta,.button{min-height:58px;font-size:17px;padding:14px 26px}
@keyframes cta-sheen{0%,70%{left:-80%}100%{left:150%}}
@keyframes cta-glow{0%,100%{box-shadow:0 5px 18px #08275222}50%{box-shadow:0 0 0 5px #d7ac602b,0 9px 28px #08275240}}
@media(min-width:971px) and (max-width:1250px){
 .site-header{height:90px}.nav-row{display:flex;justify-content:space-between}
 .logo{align-self:center;padding:3px}.logo img{width:84px;height:84px}
 .mobile-menu{display:flex}.nav-desktop-cta{display:none}.header-phone{display:block}
 .navlinks{position:absolute;top:89px;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:16px 26px;background:#fffdf9;border-radius:0 0 24px 24px;max-height:calc(100dvh - 140px);overflow:auto;box-shadow:0 20px 30px #08275227}
 .navlinks.open{display:flex}.nav-link,.nav-contact{display:block;border-bottom:1px solid #ece2d5;font-size:18px;padding:13px}
}
@media(max-width:970px){.nav-link{font-size:18px;padding:14px}.navlinks{gap:0}}
@media(max-width:720px){
 body{padding-bottom:96px}
 .btn,.btn-sm,.hero-actions .btn,.hero-actions .text-link,.campaign-note .btn,.footer-cta .btn{min-height:58px;font-size:16px;padding:12px 22px}
 .hero-actions{gap:12px}.hero-actions .btn,.hero-actions .text-link{width:100%}
 .mobile-registration{grid-template-columns:minmax(0,1.7fr) minmax(100px,1fr);gap:8px;padding:9px 10px max(9px,env(safe-area-inset-bottom))}
 .mobile-registration a{min-height:65px;font-size:15px;gap:8px;padding:6px 10px}
 .mobile-registration .cta-avatar{width:42px;height:42px;border-width:1px}
 .mobile-registration .cta-avatar img{width:150px;left:-15px;top:-12px}
 .mobile-registration a:first-child>span:last-child{display:none}
 .header-phone{font-size:13px}
 .floating-wa{display:none}
}
@media(prefers-reduced-motion:reduce){
 .btn,.floating-wa,.mobile-registration a,.hero-actions .text-link,.nav-cta,.button{animation:none!important;transition:none!important}
 .btn::after,.floating-wa::after,.mobile-registration a::after,.hero-actions .text-link::after{animation:none!important;display:none}
 .btn:hover,.floating-wa:hover,.mobile-registration a:hover,.hero-actions .text-link:hover{transform:none}
}

/* An age-inclusive, typographic hero without character illustrations. */
.learning-visual{align-self:center}
.learning-panel{width:100%;padding:38px;border:1px solid #e3d0b0;border-radius:32px;background:linear-gradient(145deg,#fffdf8ed,#f3e4cd);box-shadow:0 25px 65px #70562d12;text-align:right}
.panel-kicker{display:block;font:600 11px Arial,sans-serif;letter-spacing:.16em;color:#846b46}
.learning-panel h2{font-size:42px;line-height:1.6;margin:25px 0 10px}
.learning-panel h2 span{color:#a77734}
.learning-panel>p{font-size:15px;color:#53677e;line-height:1.9}
.learning-paths{display:grid;gap:12px;margin-top:25px}
.learning-paths>a{display:flex;align-items:center;gap:15px;padding:16px;background:#ffffff9c;border:1px solid #e9ddcc;border-radius:17px;transition:transform .2s,background .2s}
.learning-paths>a:hover{transform:translateX(-4px);background:#fff}
.learning-paths small{display:block;color:#64758a;font-size:11px;font-weight:400}
.learning-paths a>span:nth-child(2){font-size:16px;font-weight:700}
.learning-paths b{margin-inline-start:auto;color:#a77734}
.path-symbol{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#0c2d50;color:#edd4ac;font:700 19px Arial;flex-shrink:0}
.floating-wa{min-height:76px;padding-inline:22px}
@media(max-width:720px){
 .learning-panel{padding:25px;border-radius:25px}
 .learning-panel h2{font-size:32px;margin-top:20px}
 .learning-panel>p{font-size:14px}
 .learning-paths>a{padding:13px}
 .learning-paths a>span:nth-child(2){font-size:14px}
 .hero-grid{padding-bottom:65px}
}
@media(prefers-reduced-motion:reduce){.learning-paths>a{transition:none}.learning-paths>a:hover{transform:none}}
