:root{--navy:#06284c;--navy2:#0b3f70;--green:#64d400;--green2:#45b900;--yellow:#ffd12a;--ink:#10243b;--muted:#617184;--light:#f5f8fb;--line:#dce4ec;--white:#fff;--shadow:0 16px 45px rgba(3,33,63,.14);--radius:20px;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;line-height:1.65}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:2000;left:10px;top:-60px;background:#fff;padding:10px 16px;border-radius:8px}.skip-link:focus{top:10px}
.logo-intro{position:fixed;inset:0;background:linear-gradient(135deg,#fff 0%,#f7fbff 65%,#eef8e8 100%);z-index:5000;display:grid;place-items:center;overflow:hidden;transition:opacity .45s ease,visibility .45s ease}.logo-intro.hide{opacity:0;visibility:hidden}.logo-intro img{width:min(700px,76vw);animation:introLogo 1.15s cubic-bezier(.18,.75,.2,1) both;position:relative;z-index:2}.intro-road{position:absolute;width:150vw;height:70px;background:linear-gradient(90deg,transparent 0%,rgba(6,40,76,.08) 20%,rgba(6,40,76,.18) 50%,transparent 85%);transform:rotate(-8deg);animation:roadFlash 1.4s ease both}@keyframes introLogo{0%{opacity:0;transform:translateX(-70px) scale(.94)}70%{opacity:1;transform:translateX(8px) scale(1.01)}100%{transform:none}}@keyframes roadFlash{from{transform:translateX(-30%) rotate(-8deg)}to{transform:translateX(30%) rotate(-8deg)}}
.site-header{position:relative;z-index:100}.utility-bar{background:var(--navy);color:#fff;font-size:.92rem}.utility-inner{height:44px;display:flex;align-items:center;justify-content:space-between;gap:20px}.certification,.utility-contact{display:flex;align-items:center;gap:18px}.utility-contact a:hover{color:var(--green)}.cert-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(100,212,0,.16)}.sgi-logo{max-height:24px;max-width:72px}.nav-wrap{background:rgba(255,255,255,.97);border-bottom:1px solid rgba(6,40,76,.1);box-shadow:0 5px 18px rgba(4,39,70,.06);position:relative}.nav-inner{height:96px;display:flex;align-items:center;gap:24px;position:relative}.brand{width:190px;flex:0 0 190px}.brand img{display:block;width:100%;max-height:82px;object-fit:contain}.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-left:auto;padding-right:162px}.main-nav>a{font-size:.88rem;font-weight:700;padding:12px 10px;border-radius:11px;white-space:nowrap}.main-nav>a:hover,.main-nav>a.active{color:var(--green2);background:#f1f8eb}.main-nav .nav-cta{background:var(--green);color:#08294b;padding-inline:16px}.main-nav .nav-cta:hover{background:var(--navy);color:#fff}.session-sign{position:absolute;right:4px;top:8px;width:136px;height:80px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(135deg,#ffe45d,var(--yellow));border:3px solid var(--navy);border-radius:16px;transform:rotate(1.5deg);box-shadow:0 8px 22px rgba(0,0,0,.12);line-height:1.05}.session-sign:before{content:"";position:absolute;inset:4px;border:1px solid rgba(6,40,76,.25);border-radius:11px}.session-sign span{font-size:.7rem;text-transform:uppercase;font-weight:800}.session-sign strong{font-size:.78rem;margin:3px 0}.session-sign b{font-size:.85rem;color:#b42200}.mobile-session{display:none;background:var(--yellow);color:var(--navy);padding:8px 18px;text-align:center;font-size:.82rem;font-weight:800;gap:10px;justify-content:center}.mobile-session strong{color:#b42200}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span:not(.sr-only){display:block;width:28px;height:3px;background:var(--navy);margin:5px 0;border-radius:3px}
.hero{position:relative;min-height:620px;background:#082f57;overflow:hidden}.hero-slider,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity .9s ease;display:flex;align-items:center}.hero-slide.active{opacity:1;z-index:2}.hero-media{position:absolute;inset:0;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.035)}.hero-slide.active.anim-pan .hero-media img{animation:heroPan 8s ease-out both}.hero-slide.active.anim-zoom .hero-media img{animation:heroZoom 8s ease-out both}@keyframes heroPan{from{transform:scale(1.08) translateX(1.5%)}to{transform:scale(1.02) translateX(-1.5%)}}@keyframes heroZoom{from{transform:scale(1.02)}to{transform:scale(1.1)}}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,24,45,.85) 0%,rgba(2,24,45,.62) 34%,rgba(2,24,45,.20) 68%,rgba(2,24,45,.05) 100%)}.hero-road-glow{position:absolute;left:-15%;bottom:14%;width:70%;height:4px;background:linear-gradient(90deg,transparent,var(--green),transparent);filter:blur(.5px);opacity:.65;transform:rotate(-4deg);animation:roadSweep 3.8s ease-in-out infinite}@keyframes roadSweep{0%,100%{transform:translateX(-4%) rotate(-4deg);opacity:.35}50%{transform:translateX(10%) rotate(-4deg);opacity:.85}}.hero-content{position:relative;z-index:4;color:#fff;width:min(670px,67%);padding:72px 0}.hero-kicker{display:inline-flex;align-items:center;gap:8px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#d9ffb6;font-size:.8rem}.hero-kicker:before{content:"";width:32px;height:3px;background:var(--green)}.hero h1{font-size:clamp(2.6rem,5vw,5rem);line-height:.98;letter-spacing:-.04em;margin:18px 0 20px;text-wrap:balance}.hero p{font-size:1.18rem;max-width:580px;color:#edf5fb}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:12px;font-weight:800;border:2px solid transparent;transition:.2s ease;cursor:pointer}.btn-primary{background:var(--green);color:#072a4e}.btn-primary:hover{background:#79e80e;transform:translateY(-2px)}.btn-outline{border-color:rgba(255,255,255,.8);color:#fff;background:rgba(255,255,255,.05)}.btn-outline:hover{background:#fff;color:var(--navy)}.hero-dots{position:absolute;z-index:5;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.hero-dot{width:34px;height:5px;border:0;border-radius:99px;background:rgba(255,255,255,.45);cursor:pointer}.hero-dot.active{background:var(--green)}
.trust-strip{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.trust-item{padding:23px 18px;text-align:center;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;color:var(--navy);font-size:1.05rem}.trust-item span{font-size:.88rem;color:var(--muted)}
.section{padding:86px 0}.section.alt{background:var(--light)}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.eyebrow{font-size:.77rem;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--green2);margin-bottom:8px}.section h2,.page-hero h1{font-size:clamp(2rem,3vw,3.3rem);line-height:1.1;letter-spacing:-.035em;color:var(--navy);margin:0}.section-head p{max-width:570px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 7px 22px rgba(8,42,75,.06);transition:.25s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card h3{margin:12px 0 8px;color:var(--navy);font-size:1.15rem}.card p{color:var(--muted)}.service-price{font-size:1.25rem;font-weight:900;color:var(--green2)}.icon-bubble{width:50px;height:50px;border-radius:15px;background:#eef9e6;display:grid;place-items:center;color:var(--green2);font-size:1.35rem;font-weight:900}.card-link{font-weight:800;color:var(--navy2)}.card-link:hover{color:var(--green2)}
.classes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.class-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 8px 24px rgba(5,43,78,.07)}.class-date{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:25px}.class-date .day{font-size:2rem;font-weight:900}.class-card .body{padding:24px}.status-pill{display:inline-flex;padding:6px 10px;border-radius:99px;font-size:.75rem;font-weight:900;text-transform:uppercase;background:#e9f8df;color:#2c7600}.status-pill.full{background:#fff0db;color:#8e5000}
.why-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}.why-panel{background:linear-gradient(145deg,var(--navy),#0f518b);color:#fff;border-radius:30px;padding:45px;position:relative;overflow:hidden}.why-panel:after{content:"25";position:absolute;right:-10px;bottom:-45px;font-size:13rem;font-weight:1000;color:rgba(255,255,255,.06);line-height:1}.why-panel h3{font-size:2rem;margin:0 0 12px}.check-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:26px}.check{display:flex;gap:10px;align-items:flex-start}.check:before{content:"✓";display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:var(--green);color:var(--navy);font-weight:900}.why-photo{border-radius:30px;min-height:460px;background:url('/assets/img/banner-lesson.webp') center/cover;box-shadow:var(--shadow)}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.resource-card{position:relative;border-radius:22px;padding:28px;background:#fff;border:1px solid var(--line)}.resource-card .source{font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--green2)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review{border-radius:22px;background:#fff;padding:28px;border:1px solid var(--line)}.stars{color:#f4b400;letter-spacing:.1em;font-size:1.1rem}.review blockquote{margin:16px 0;color:#40536a}.review cite{font-style:normal;font-weight:800;color:var(--navy)}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.article-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.article-img{height:190px;background:linear-gradient(135deg,#dfe8f1,#f3f7fa);overflow:hidden}.article-img img{width:100%;height:100%;object-fit:cover}.article-body{padding:24px}.article-meta{font-size:.8rem;color:var(--green2);font-weight:800;text-transform:uppercase}.article-body h3{font-size:1.25rem;line-height:1.25;margin:8px 0 10px;color:var(--navy)}
.faq-list{max-width:900px;margin:auto}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;display:flex;justify-content:space-between;gap:20px;padding:21px 0;background:none;border:0;text-align:left;font-weight:850;color:var(--navy);cursor:pointer}.faq-answer{display:none;padding:0 0 20px;color:var(--muted)}.faq-item.open .faq-answer{display:block}.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
.cta{background:linear-gradient(120deg,var(--navy) 0%,#0a477d 65%,#0d5b71 100%);color:#fff;border-radius:30px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.cta:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-70px;top:-100px;background:rgba(100,212,0,.18)}.cta h2{color:#fff}.cta p{color:#d9e9f5;max-width:660px}.cta .hero-actions{margin:0;position:relative;z-index:2}
.page-hero{background:linear-gradient(135deg,#edf5fb,#f7fcef);padding:70px 0 58px;border-bottom:1px solid var(--line)}.page-hero p{font-size:1.1rem;color:var(--muted);max-width:720px}.content-wrap{max-width:900px}.prose{font-size:1.05rem}.prose h2,.prose h3{color:var(--navy);margin-top:32px}.prose a{color:var(--green2);text-decoration:underline}.prose ul{padding-left:22px}.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.price-card{border:1px solid var(--line);border-radius:22px;padding:30px;background:#fff}.price-card h2{font-size:1.5rem;margin-bottom:6px}.price-card .service-price{font-size:1.65rem}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px}.contact-box,.form-card{border:1px solid var(--line);border-radius:22px;padding:30px;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.9rem;color:var(--navy)}.field input,.field textarea,.field select{width:100%;border:1px solid #cbd6e0;background:#fff;border-radius:12px;padding:12px 13px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(100,212,0,.12)}.alert{padding:14px 16px;border-radius:12px;margin-bottom:20px}.alert.success{background:#eaf8e3;color:#286900}.alert.error{background:#fff0ef;color:#9d2e28}.honeypot{position:absolute!important;left:-9999px!important}.registration-frame{width:100%;min-height:900px;border:0;border-radius:18px;background:#fff}.empty-state{padding:34px;border:1px dashed #bfcbd6;border-radius:18px;background:#f8fafc;color:var(--muted);text-align:center}
.site-footer{background:#071f37;color:#d6e3ee;padding-top:60px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:42px}.footer-logo-box{display:inline-flex;align-items:center;justify-content:flex-start;max-width:250px;min-height:105px;margin-bottom:16px}.footer-logo-box.light-card{background:#fff;border-radius:18px;padding:14px 18px;box-shadow:0 8px 24px rgba(0,0,0,.16)}.footer-logo-box.no-card{padding:0}.footer-logo{width:220px;max-height:105px;object-fit:contain;object-position:left center;display:block}.site-footer h3{color:#fff;margin-top:0}.site-footer a{display:block;margin:7px 0;color:#d5e4ee}.site-footer a:hover{color:var(--green)}.footer-bottom{margin-top:48px;border-top:1px solid rgba(255,255,255,.1);padding:20px 0;font-size:.84rem}.footer-bottom .container{display:flex;justify-content:space-between;gap:20px}.developer-credit{color:#fff;font-weight:700}
@media(max-width:1120px){.main-nav{padding-right:0}.session-sign{display:none}.mobile-session{display:flex}.main-nav>a{padding:10px 7px;font-size:.82rem}.brand{width:160px;flex-basis:160px}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.utility-contact a:last-child{display:none}.nav-inner{height:82px}.brand{width:155px;flex-basis:155px}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;left:20px;right:20px;top:82px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:14px;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav>a{padding:12px 14px}.hero{min-height:560px}.hero-content{width:84%;padding-top:70px}.hero-shade{background:linear-gradient(90deg,rgba(2,24,45,.9) 0%,rgba(2,24,45,.7) 58%,rgba(2,24,45,.25) 100%)}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.classes-grid,.resource-grid,.review-grid,.article-grid{grid-template-columns:repeat(2,1fr)}.why-grid,.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.section-head{align-items:start;flex-direction:column}.why-photo{min-height:360px}}
@media(max-width:640px){.container{width:min(100% - 28px,var(--max))}.utility-inner{height:40px}.certification{font-size:.74rem}.utility-contact a{font-size:.8rem}.hero{min-height:590px}.hero-content{width:100%;padding:70px 0 90px}.hero h1{font-size:2.65rem}.hero p{font-size:1rem}.hero-media img{object-position:68% center}.hero-shade{background:linear-gradient(90deg,rgba(2,24,45,.92),rgba(2,24,45,.68))}.section{padding:62px 0}.cards,.classes-grid,.resource-grid,.review-grid,.article-grid,.price-grid,.footer-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}.check-list{grid-template-columns:1fr}.cta{padding:34px 26px;align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-bottom .container{flex-direction:column}.page-hero{padding:55px 0 45px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.logo-intro{display:none!important}}
/* v1.3 long-page components */
.section-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.section-actions.left{margin-top:24px}.btn-light{background:#fff;color:var(--navy);border-color:#cbd6e0}.btn-light:hover{border-color:var(--green2);color:var(--green2);transform:translateY(-2px)}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 7px 22px rgba(8,42,75,.05)}.step-card>span{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:#eef9e6;color:var(--green2);font-weight:950}.step-card h3{margin:16px 0 8px;color:var(--navy);font-size:1.2rem}.step-card p{margin:0;color:var(--muted)}
.resource-note{margin-top:30px;padding:18px 20px;border-radius:16px;background:#eef5fb;border:1px solid #d7e5ef;color:#40536a}.resource-note strong{color:var(--navy)}
@media(max-width:900px){.steps-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.steps-grid{grid-template-columns:1fr}}
