:root{--ink:#192232;--muted:#64748b;--blue:#287dcc;--green:#2eb454;--orange:#ffad26;--red:#f13555;--purple:#8b28a4;--line:#e8edf3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.65 Inter,system-ui,Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1190px,calc(100% - 36px));margin:auto}.rainbow{height:6px;background:linear-gradient(90deg,#2eb454 0 20%,#ffad26 20% 40%,#f13555 40% 60%,#8b28a4 60% 80%,#287dcc 80%)}.site-nav{position:sticky;top:0;z-index:30;background:#fffffff2;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.nav-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}.identity{display:flex;align-items:center;gap:11px}.identity img{width:59px;height:59px;object-fit:contain;border-radius:13px;background:#fff;box-shadow:0 5px 20px #11203c12}.identity b{font-size:19px;line-height:1.1;display:block;letter-spacing:-.6px}.identity small{color:#6b778a;letter-spacing:1.4px;font-size:9px;display:block;margin-top:4px}.nav-menu{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.nav-menu a{font-size:12px;font-weight:750;color:#3c4d62}.nav-menu a:hover,.nav-menu a.current{color:#2678d4}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;border:1px solid transparent;padding:12px 18px;font-weight:800;font-size:13px;background:#287dcc;color:#fff;transition:.2s;white-space:nowrap}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px #1e65b333}.btn.white{background:#fff;border-color:#dce5ef;color:#22466d}.menu-toggle{display:none;border:1px solid #dee5ed;background:white;padding:7px 12px;border-radius:10px}.page-hero{padding:76px 0 58px;background:radial-gradient(circle at 88% 12%,#e3f0ff,transparent 32%),radial-gradient(circle at 10% 95%,#e9faf0,transparent 30%),#f8fafc}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:850;text-transform:uppercase;color:#287dcc}.page-hero h1{font-size:clamp(36px,5vw,60px);line-height:1.09;letter-spacing:-2px;margin:12px 0}.gradient{background:linear-gradient(100deg,#2eb454,#ecae2f,#ef3f55,#8b28a4,#287dcc);color:transparent;background-clip:text}.page-hero p{max-width:780px;color:var(--muted);font-size:16px}.section{padding:75px 0}.section-title{font-size:clamp(28px,3.4vw,38px);letter-spacing:-1px;margin:0 0 12px}.section-description{color:var(--muted);margin:0 0 30px}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.course-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e4eaf2;border-radius:22px;overflow:hidden;box-shadow:0 12px 28px #192c4810;transition:.2s}.course-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #192c4820}.course-img{height:168px;object-fit:cover;width:100%;background:#eaf1f8}.course-content{padding:20px;display:flex;flex-direction:column;flex:1}.category{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:850;color:#fff;border-radius:20px;padding:5px 10px;display:inline-block;align-self:flex-start;background:var(--accent)}.course-card h3{font-size:17px;line-height:1.35;margin:13px 0;min-height:64px}.course-card p{font-size:12px;color:var(--muted);margin:0;flex:1}.course-time{font-size:12px;font-weight:800;margin-top:15px;color:#34465d}.actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}.actions button{border-radius:10px;font-size:12px;font-weight:800;padding:11px;background:#f7faff;border:1px solid #dbe6f2;color:#235e9f}.actions .ask{background:linear-gradient(100deg,#287dcc,#8b28a4);color:#fff;border:0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}.filters button{border:1px solid #dfe6ee;background:#fff;border-radius:100px;padding:8px 14px;color:#405268;font-size:12px;font-weight:750}.filters button.active{background:#253951;color:#fff;border-color:#253951}.course-card[hidden]{display:none}.modal{display:none;position:fixed;inset:0;z-index:100;background:#101b2dba;padding:18px;align-items:center;justify-content:center}.modal.show{display:flex}.dialog{width:min(620px,100%);max-height:90vh;overflow:auto;border-radius:22px;background:#fff;padding:27px;position:relative}.dialog h2{font-size:25px;line-height:1.24;margin:0 36px 10px 0}.close{position:absolute;right:18px;top:15px;background:#edf3f9;border:0;border-radius:50%;font-size:23px;width:36px;height:36px}.dialog p{color:var(--muted)}.modules{padding-left:20px}.modules li{padding:5px 0}.details-img{width:100%;height:190px;object-fit:cover;border-radius:13px;margin-bottom:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:750}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid #dbe2eb;border-radius:10px;padding:12px;width:100%;background:#fff}.form-note{font-size:12px;color:var(--muted);margin-top:12px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-card{padding:27px;border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 26px #172c4910}.contact-card h3{margin-top:0;font-size:22px}.contact-card p{color:#526177}.contact-card a{color:#2272b6;font-weight:750}.map{width:100%;height:310px;border:0;border-radius:16px;background:#e8edf2;margin-top:15px}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.foot{padding:45px 0 20px;background:#142133;color:#cbd5e1;margin-top:35px}.foot .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.foot a{color:#deebfc}.foot small{color:#9caac1}.info-banner{padding:18px 22px;border-radius:18px;background:#f1f7ff;border:1px solid #dcebf9;color:#3d5670;margin-top:30px}.note{font-size:12px;color:#6b7789}.hide{display:none!important}@media(max-width:1000px){.courses-grid{grid-template-columns:repeat(2,1fr)}.nav-menu{gap:12px}.identity b{font-size:16px}}@media(max-width:750px){.nav-inner{min-height:72px}.menu-toggle{display:block}.nav-menu{display:none;position:absolute;top:100%;left:10px;right:10px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 12px 25px #20344b22;flex-direction:column;align-items:stretch}.nav-menu.open{display:flex}.courses-grid,.contact-grid,.split,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-hero{padding:52px 0}.section{padding:55px 0}}@media(max-width:500px){.courses-grid{grid-template-columns:1fr}.identity b{font-size:14px}.identity small{font-size:8px}.identity img{width:49px;height:49px}.dialog{padding:19px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}



/* Shared five-page premium motion system */
:root{--ra-ink:#172338;--ra-blue:#287dcc;--ra-green:#28b86b;--ra-purple:#8235b7;--ra-yellow:#f5ae2d}
html{scroll-padding-top:100px}body{overflow-x:hidden}
.rainbow,.top-ribbon,.mini{background-size:250% 100%!important;animation:raStripe 10s linear infinite}
@keyframes raStripe{0%{background-position:0 0}100%{background-position:250% 0}}
@keyframes raRise{0%{opacity:0;transform:translate3d(0,26px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@keyframes raFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes raGlow{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.11)}}
@keyframes raShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes raSweep{0%{transform:translateX(-200%) skewX(-22deg)}100%{transform:translateX(380%) skewX(-22deg)}}
.ra-reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease;transition-delay:var(--ra-delay,0ms)}
.ra-reveal.ra-visible{opacity:1;transform:none}
.ra-banner{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 90% 20%,#eaf2ff,transparent 35%),radial-gradient(circle at 10% 88%,#e4fbf0,transparent 31%),linear-gradient(145deg,#fff,#f6f9ff);padding:104px 0 94px}
.ra-banner::before,.ra-banner::after{content:"";position:absolute;z-index:-1;width:400px;height:400px;border-radius:100%;background:radial-gradient(circle,rgba(52,133,225,.13),transparent 68%);animation:raGlow 10s ease-in-out infinite}
.ra-banner::before{right:-140px;top:-100px}.ra-banner::after{left:-150px;bottom:-180px;background:radial-gradient(circle,rgba(43,179,106,.13),transparent 68%);animation-delay:-5s}
.ra-banner-grid{display:grid;grid-template-columns:1fr .92fr;gap:66px;align-items:center;position:relative;z-index:2}
.ra-overline{display:inline-flex;align-items:center;gap:9px;border:1px solid #e3eaf4;border-radius:30px;padding:9px 14px;background:#ffffffc9;box-shadow:0 8px 22px #19365a0d;text-transform:uppercase;font-size:11px;font-weight:850;letter-spacing:1.6px;color:#426082}
.ra-overline:before{content:"";width:9px;height:9px;border-radius:100%;background:#2eb454;box-shadow:0 0 0 6px #2eb45416}
.ra-banner h1{font-size:clamp(41px,5.4vw,70px);line-height:1.075;letter-spacing:-2.7px;margin:19px 0 17px;color:#172338}
.ra-rainbow-text{background:linear-gradient(100deg,#1faf72,#f2ae2b,#e83c66,#8637b8,#287dcc);background-size:250% 250%;color:transparent;background-clip:text;-webkit-background-clip:text;animation:raShift 9s ease-in-out infinite}
.ra-banner p{color:#62758d;font-size:15px;line-height:1.9;max-width:650px}
.ra-action-row{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}
.ra-primary{position:relative;overflow:hidden;background:linear-gradient(120deg,#287dcc,#7844b6);border:0;color:white;border-radius:12px;padding:13px 20px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 14px 25px #297bcd2c;transition:transform .25s,box-shadow .25s}
.ra-primary:hover{transform:translateY(-4px);box-shadow:0 20px 35px #287dcc45}
.ra-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dae3ef;background:#fff;padding:13px 20px;border-radius:12px;font-weight:800;color:#244061;text-decoration:none;transition:.2s}.ra-secondary:hover{transform:translateY(-3px);border-color:#8abbe9}
.ra-visual{position:relative;background:linear-gradient(155deg,#fff,#f5f8fd);border:1px solid #e8eef4;border-radius:34px;padding:26px;box-shadow:0 30px 70px #1b365827;min-height:370px;animation:raFloat 9s ease-in-out infinite}
.ra-visual::before{content:"";position:absolute;inset:-8px;border-radius:42px;border:1px solid #d9eaf846;pointer-events:none}
.ra-visual h3{margin:0 0 15px;font-size:19px}.ra-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ra-tile{padding:20px;border-radius:20px;background:white;border:1px solid #e6edf4;box-shadow:0 10px 26px #18375b0c;min-height:112px;transition:.25s}
.ra-tile:hover{transform:translateY(-6px);box-shadow:0 20px 35px #18375b1b}
.ra-tile b{display:block;font-size:15px;margin:7px 0;color:#1a2d47}.ra-tile span{color:#61758c;font-size:12px}.ra-emoji{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#ebf4ff;font-size:20px}
.ra-section{padding:86px 0}.ra-alt{background:#f8fafd}.ra-section-head{max-width:730px;margin:0 auto 38px;text-align:center}.ra-section-head h2{font-size:clamp(30px,3.5vw,45px);line-height:1.17;letter-spacing:-1.5px;margin:12px 0}.ra-section-head p{font-size:14px;color:#65758a;line-height:1.8}
.ra-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ra-service{position:relative;overflow:hidden;padding:27px 24px;border-radius:22px;background:#fff;border:1px solid #e8edf3;box-shadow:0 12px 35px #17283f0a;transition:transform .3s,box-shadow .3s;min-height:215px}
.ra-service:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent,#277dcc)}
.ra-service:hover{transform:translateY(-8px);box-shadow:0 26px 48px #17283f1b}.ra-service .ra-emoji{background:#f1f6fc}
.ra-service h3{font-size:18px;color:#243249;margin:15px 0 9px}.ra-service p{color:#63748a;font-size:13px;line-height:1.75;margin:0}
.ra-process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ra-step{padding:23px;border-radius:21px;border:1px solid #e4eaf2;background:#fff}.ra-step small{font-size:24px;font-weight:900;color:#287dcc}.ra-step h3{font-size:17px;margin:10px 0}.ra-step p{font-size:13px;color:#61758c;line-height:1.7;margin:0}
.ra-cta{padding:72px 0;background:linear-gradient(110deg,#17243a,#243f66);color:#fff}.ra-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}.ra-cta h2{font-size:clamp(27px,3vw,39px);margin:0 0 8px}.ra-cta p{color:#cbd8e8;margin:0}
/* Animations for existing Training Academy / Contact */
.course-card,.course-card-home,.contact-card,.card,.mini-card{transition:transform .3s ease,box-shadow .3s ease!important}
.course-card:hover,.course-card-home:hover,.contact-card:hover,.card:hover{transform:translateY(-6px)!important;box-shadow:0 25px 52px #20395020!important}
.site-nav .nav-menu a,.navlinks button,header .links a{transition:color .2s,transform .2s}.site-nav .nav-menu a:hover,header .links a:hover{transform:translateY(-2px)}
.ra-nav-five{display:flex;gap:19px;align-items:center;justify-content:center;flex-wrap:wrap}.ra-nav-five a{font-weight:750;font-size:12px;color:#3d5068;white-space:nowrap;text-decoration:none;transition:color .2s,transform .2s}.ra-nav-five a:hover{color:#287dcc;transform:translateY(-2px)}.ra-nav-five .current{color:#287dcc}
.ra-nav-five .ra-nav-cta{color:#fff;background:#287dcc;border-radius:999px;padding:12px 16px}.ra-nav-five .ra-nav-cta:hover{color:#fff;background:#185da6}
@media(max-width:1050px){.ra-banner-grid{grid-template-columns:1fr;gap:44px}.ra-service-grid{grid-template-columns:repeat(2,1fr)}.ra-process{grid-template-columns:repeat(2,1fr)}.ra-nav-five{gap:11px}}
@media(max-width:740px){.ra-banner{padding:66px 0}.ra-visual{min-height:auto;animation:none}.ra-service-grid{grid-template-columns:1fr}.ra-process{grid-template-columns:1fr}.ra-cta .wrap{align-items:flex-start;flex-direction:column}.ra-nav-five{gap:12px;justify-content:flex-start;padding:15px 0}.ra-nav-five a{font-size:12px}.ra-banner h1{letter-spacing:-1.7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.ra-reveal{opacity:1;transform:none}}

.ra-nav-five{gap:11px!important}.ra-nav-five a{font-size:11px!important}@media(max-width:1150px){.nav-inner{flex-wrap:wrap;padding:12px 0}.ra-nav-five{width:100%;justify-content:center}.ra-nav-five a{font-size:12px!important}}
