:root{--navy:#2e4e7a;--red:#e8304a;--title:#333;--body:#606060;--grey:#f2f2f2}
*{box-sizing:border-box}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--body);font-size:15px;line-height:1.7}
h1,h2,h3,h4{color:var(--title);font-weight:600;line-height:1.3;margin:0 0 .5em}a{color:var(--navy);text-decoration:none}img{max-width:100%;display:block}
.wrap{max-width:1170px;margin:0 auto;padding:0 15px}
.ph{background:#fff3b0;color:#7a5a00;border:1px dashed #d4a800;padding:0 4px;border-radius:2px;font-size:.92em}
.topbar{background:#222;color:#aaa;font-size:13px}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:50px;gap:20px}.topbar span{margin-right:18px}.topbar a{color:#aaa}
.topbar svg{width:13px;height:13px;vertical-align:-2px;margin-right:6px;stroke:#aaa;fill:none;stroke-width:2}
header.main{background:#fff;box-shadow:0 1px 0 #eee;position:sticky;top:0;z-index:50}header.main .wrap{display:flex;align-items:center;justify-content:space-between;height:108px}
.logo img{height:72px;width:auto;max-width:100%;display:block}nav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px;align-items:center}
nav a{display:block;padding:8px 14px;color:#333;text-transform:uppercase;font-size:14px;font-weight:500;position:relative}
nav a.on:after,nav a:hover:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:var(--navy)}
nav li{position:relative}nav .sub{display:none;position:absolute;top:100%;left:0;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.1);min-width:290px;padding:10px 0;flex-direction:column;align-items:stretch}
nav li:hover .sub{display:flex}nav .sub a{text-transform:none;font-size:14px;padding:8px 20px}nav .sub a:after{display:none}
.burger{display:none;background:none;border:0;font-size:28px;cursor:pointer;color:#333}
.btn{display:inline-block;background:var(--navy);color:#fff;text-transform:uppercase;font-weight:600;font-size:13px;padding:12px 32px;border:0;cursor:pointer;letter-spacing:.3px;transition:.2s}
.btn:hover{background:#1f3758}.btn.red{background:var(--red)}.btn.red:hover{background:#c8203a}.btn.sm{padding:6px 12px;font-size:12px;text-transform:none}.btn.dark{background:#333}
.hero{position:relative;min-height:800px;background:center/cover;display:flex;align-items:center;color:#fff}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.35) 60%,rgba(0,0,0,.2))}
.hero .wrap{position:relative;width:100%}.hero h1{color:#fff;font-size:46px;text-transform:uppercase;max-width:640px;margin-bottom:20px}.hero h1 em{color:var(--red);font-style:normal}
.hero p{font-size:17px;max-width:670px;line-height:2.3;margin:0 0 50px}.hero .btn{margin-right:30px;padding:14px 34px;margin-bottom:10px}
.banner{position:relative;background:center/cover;padding:110px 0 90px;color:#fff}.banner:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.6)}
.banner .wrap{position:relative}.banner h1{color:#fff;font-size:40px;text-transform:uppercase}.crumb{font-size:13px;color:#ddd}.crumb a{color:#fff}
section{padding:80px 0}.grey{background:var(--grey)}.center{text-align:center}
.sec-title{margin-bottom:40px}.sec-title h2{font-size:34px;margin:0 0 8px}.sec-title p{margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split h2{font-size:34px}.split p{font-size:16px}
.shadow-img{box-shadow:0 10px 30px rgba(0,0,0,.25)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.cards.two{grid-template-columns:repeat(2,minmax(0,370px));justify-content:start}
.ccard{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12);display:flex;flex-direction:column}.ccard .thumb{position:relative}.ccard .thumb img{aspect-ratio:370/300;object-fit:cover;width:100%}
.ccard .badge{position:absolute;left:16px;bottom:-22px;width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.2);display:grid;place-items:center}
.ccard .badge img{width:32px}.ccard .body{padding:40px 20px 18px;text-align:center;flex:1;display:flex;flex-direction:column}
.ccard h3{font-size:16px;margin-bottom:14px;flex:1}.ccard .meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee;padding-top:14px}
.price{color:#f24c0a;font-weight:700;font-size:18px}
.register{position:relative;background:center/cover;padding:110px 0;color:#fff}.register:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}
.register .wrap{position:relative;display:grid;grid-template-columns:1fr 400px;gap:40px;align-items:center}.register small{text-transform:uppercase;font-size:14px;letter-spacing:.5px}
.register h2{color:#fff;font-size:48px;text-transform:uppercase;margin:6px 0 24px}
.circles{display:flex;gap:30px;flex-wrap:wrap}.circles div{width:120px;height:120px;border:2px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-content:center;text-align:center;font-size:13px}
.circles b{font-size:26px;display:block;line-height:1.2}
.formbox{background:#fff;color:var(--body)}.formbox .cap{background:var(--navy);color:#fff;text-align:center;padding:30px 20px 60px;border-radius:0 0 50% 50%/0 0 40px 40px;font-size:22px;font-weight:600}
.formbox form,.formbox .in{padding:30px 50px 40px}input,select,textarea{width:100%;border:1px solid #e5e5e5;padding:11px 14px;font:inherit;font-size:13px;margin-bottom:14px}
.formbox .btn{width:100%;background:#333}.formbox .row{display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding:12px 0;font-weight:600;color:#333}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:center}.why div{background:#fff;padding:50px 50px;text-align:center}.why div.dark{background:#2c2c2c;padding:50px 60px 50px}
.why div.dark h3{color:#fff}.why div.dark p{color:#ddd}.why svg{width:80px;height:80px;stroke:var(--red);fill:none;stroke-width:1.6;margin-bottom:20px}.why h3{font-size:18px;margin-bottom:24px}
.list-row{display:grid;grid-template-columns:90px 1fr 280px;gap:30px;padding:30px 0;border-top:1px solid #e5e5e5;align-items:start}
.list-row .num{color:var(--red);font-size:48px;font-weight:600;line-height:1;text-align:center;border-right:1px solid #ddd;padding:8px 10px 20px}.list-row .num small{display:block;font-size:13px;color:#333;margin-top:8px}
.list-row img{aspect-ratio:16/10;object-fit:cover;width:100%}.list-row h3{font-size:22px}
.news{position:relative;background:center/cover;padding:60px 0}.news:before{content:"";position:absolute;inset:0;background:rgba(0,40,70,.6)}.news .wrap{position:relative}.news h2{color:#fff}
.news .cards{grid-template-columns:repeat(4,1fr)}.ncard{background:#fff}.ncard img{aspect-ratio:370/230;object-fit:cover;width:100%}.ncard p{padding:14px 16px;margin:0;color:#333;font-weight:500;text-align:center;font-size:14px}
.faq{max-width:800px;margin:0 auto}details{border:1px solid #e5e5e5;margin-bottom:18px;background:#fff}summary{padding:16px;cursor:pointer;color:#333;font-size:14px;font-weight:500;list-style:none;display:flex;justify-content:space-between}
summary:after{content:"+";font-size:18px;line-height:1}details[open] summary{color:var(--navy);border-bottom:1px solid #e5e5e5}details[open] summary:after{content:"–"}details p{padding:16px 30px;margin:0}
.quote{max-width:640px;margin:0 auto;font-size:18px;color:#333}
footer{background:#111;color:#999;padding:70px 0 40px}footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1.3fr 1fr;gap:30px}footer h4{color:#fff;font-size:17px;margin-bottom:28px}
footer ul{list-style:none;margin:0;padding:0}footer li{margin-bottom:12px}footer a{color:#999}footer a:hover{color:#fff}footer .logo img{height:70px;margin:0 0 12px}
.copy{background:#111;border-top:1px solid rgba(255,255,255,.1);color:#707070;font-size:14px}.copy .wrap{display:flex;justify-content:space-between;padding:30px 15px;flex-wrap:wrap;gap:10px}.copy a{color:#999;margin-left:30px}
table{width:100%;border-collapse:collapse;background:#fff}td,th{border:1px solid #e5e5e5;padding:12px 16px;text-align:left}th{background:var(--navy);color:#fff}
.course-layout{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}.side{background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.12);position:sticky;top:130px}
.side img{aspect-ratio:16/10;object-fit:cover;width:100%}.side .in{padding:24px}.side .price{font-size:32px;display:block;margin-bottom:14px}.side ul{padding-left:18px}.side .btn{width:100%;text-align:center}
.course-layout h2{font-size:26px;margin-top:40px}.course-layout h2:first-child{margin-top:0}
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.feat div{background:var(--grey);padding:18px;text-align:center}.feat b{display:block;color:var(--navy);font-size:17px}
.mod{border:1px solid #e5e5e5;margin-bottom:-1px;padding:14px 18px;display:flex;justify-content:space-between;gap:20px;background:#fff}
@media(max-width:991px){.cards,.news .cards{grid-template-columns:repeat(2,1fr)}.why,.split,.register .wrap,.course-layout,footer .cols{grid-template-columns:1fr}.feat{grid-template-columns:1fr 1fr}
.burger{display:block}nav{position:absolute;top:100%;left:0;right:0;background:#fff;display:none;box-shadow:0 8px 20px rgba(0,0,0,.1)}nav.open{display:block}nav ul{flex-direction:column;align-items:stretch;padding:10px}
nav .sub{position:static;display:flex;box-shadow:none;padding-left:20px}.hero{min-height:560px}.hero h1{font-size:32px}.side{position:static}.list-row{grid-template-columns:70px 1fr}.list-row img{display:none}}
@media(max-width:600px){.cards,.cards.two,.news .cards{grid-template-columns:1fr}.topbar .hide-m{display:none}header.main .wrap{height:80px}.logo img{height:52px;margin:0}.register h2{font-size:34px}section{padding:56px 0}.formbox form,.formbox .in{padding:24px}}
.cards.three{grid-template-columns:repeat(3,minmax(0,370px));justify-content:start}@media(max-width:991px){.cards.three{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.cards.three{grid-template-columns:1fr}}
/* home tweaks */
.hero{min-height:580px}
.hero p{line-height:1.9;margin-bottom:34px}
@media(max-width:991px){.hero{min-height:420px;padding:40px 0}}
.about-home .kicker,.enrollstrip small{text-transform:uppercase;letter-spacing:.5px;color:var(--red);font-weight:600;font-size:14px}
.about-home h2{margin-top:6px}
.enrollstrip{background:var(--navy);color:#fff;padding:44px 0 28px}
.enrollstrip .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.enrollstrip h2{color:#fff;font-size:36px;text-transform:uppercase;margin:4px 0 0}
.enrollstrip small{color:#fff;opacity:.85}
.enrollstrip .circles{gap:18px}
.enrollstrip .circles div{width:96px;height:96px;font-size:12px}
.enrollstrip .circles b{font-size:22px}
.enrollstrip .btn{padding:14px 34px}
.es-note{text-align:center;font-size:12px;opacity:.75;margin:18px 0 0}
@media(max-width:800px){.enrollstrip .wrap{flex-direction:column;text-align:center}.enrollstrip .circles{justify-content:center}.enrollstrip .circles div{width:78px;height:78px}}
/* Elementor-style entrance animations (fadeInLeft/Right/Down, bounceIn) */
.js .reveal{opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
.js .reveal.from-left{transform:translateX(-60px)}
.js .reveal.from-right{transform:translateX(60px)}
.js .reveal.from-down{transform:translateY(-40px)}
.js .reveal.pop{transform:scale(.3)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal.pop.in{animation:gcBounceIn .75s both;animation-delay:var(--d,0ms)}
@keyframes gcBounceIn{0%{opacity:0;transform:scale(.3)}20%{transform:scale(1.1)}40%{transform:scale(.9)}60%{opacity:1;transform:scale(1.03)}80%{transform:scale(.97)}100%{opacity:1;transform:scale(1)}}
.topics .ncard{transition:transform .3s ease,box-shadow .3s ease}
.topics .ncard:hover{transform:translateY(-8px);box-shadow:0 14px 28px rgba(0,0,0,.3)}
.topics .ncard img{transition:transform .5s ease}.topics .ncard{overflow:hidden}.topics .ncard:hover img{transform:scale(1.06)}
@media(prefers-reduced-motion:reduce){.js .reveal,.js .reveal.pop.in{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.topics .ncard,.topics .ncard img{transition:none}.topics .ncard:hover,.topics .ncard:hover img{transform:none}}
/* contact form */
.cform-wrap{max-width:820px}
.cform-intro{text-align:center;margin-bottom:28px}
.cform .fld{margin-bottom:22px}
.cform label{display:block;font-weight:600;color:#2E4E7A;margin-bottom:6px}
.cform .req{color:#E8304A}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cform .row2 .fld{margin-bottom:0}
.cform>.row2{margin-bottom:22px}
.cform input,.cform select,.cform textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #9aa7b8;border-radius:6px;font:inherit;font-size:16px;background:#fff;margin:0}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:#2E4E7A;box-shadow:0 0 0 3px rgba(46,78,122,.15)}
.cform small{display:block;font-size:12px;color:#666;margin-top:4px}
.cform .cf-submit{background:#E8304A;color:#fff;border:0;border-radius:40px;padding:14px 44px;font-size:17px;font-weight:700;cursor:pointer}
.cform .cf-submit:hover{background:#c9223a}
@media(max-width:640px){.cform .row2{grid-template-columns:1fr}}
footer{background:#2E4E7A;color:#dbe3ee}footer a{color:#dbe3ee}footer a:hover{color:#fff}footer h4{color:#fff}
footer .logo img{background:#fff;padding:8px 14px;border-radius:10px}footer svg{stroke:#fff!important}
.copy{background:#24405F;color:#c9d4e3}.copy a{color:#dbe3ee}.copy a:hover{color:#fff}
