*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.7 var(--fb);color:var(--text);background:var(--bg)}
h1,h2,h3,h4{font-family:var(--fh);color:var(--dark);line-height:1.25;margin:0 0 .5em}h1{font-size:clamp(2rem,4.5vw,3.2rem)}h2{font-size:clamp(1.5rem,3vw,2.1rem)}h3{font-size:1.25rem}
a{color:var(--primary)}img{max-width:100%;height:auto}.wrap{max-width:1180px;margin:auto;padding:0 20px}.narrow{max-width:860px}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.hp{position:absolute;left:-9999px;height:0;opacity:0}
.topbar{background:var(--dark);color:#cfd9e4;font-size:13px}.topbar .wrap{display:flex;gap:20px;padding:6px 20px;flex-wrap:wrap}.topbar a{color:#fff;text-decoration:none}.grow{flex:1}
.site-head{position:sticky;top:0;background:#fff;box-shadow:0 1px 0 #e3e9f0;z-index:50}.bar{display:flex;align-items:center;justify-content:space-between;min-height:76px}.logo img{height:52px;width:auto;display:block}.logo{font:700 1.6rem var(--fh);text-decoration:none}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px}.main-nav a{display:block;padding:10px 14px;text-decoration:none;color:var(--dark);font:600 14px var(--fh);border-radius:6px}.main-nav li.active>a,.main-nav a:hover{color:var(--primary);background:var(--soft)}
.main-nav li{position:relative}.main-nav .sub{display:none;position:absolute;right:0;top:100%;background:#fff;box-shadow:0 12px 30px #0a1f3326;border-radius:8px;min-width:200px;flex-direction:column;padding:6px;gap:0}.main-nav li:hover>.sub,.main-nav li:focus-within>.sub{display:flex}
.menu-btn{display:none;background:none;border:0;padding:10px;cursor:pointer}.menu-btn span{display:block;width:24px;height:3px;background:var(--dark);margin:4px 0;border-radius:2px}
.btn{display:inline-block;background:var(--primary);color:#fff;border:2px solid var(--primary);padding:11px 24px;border-radius:6px;font:600 15px var(--fh);text-decoration:none;cursor:pointer}.btn:hover{filter:brightness(1.12)}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn-ghost{background:transparent;color:#fff;border-color:currentColor}.sec .btn-ghost,.wrap .btn-ghost{color:var(--primary)}.hero .btn-ghost{color:#fff}
.hero{background:linear-gradient(120deg,var(--dark),var(--primary));color:#fff;padding:70px 0}.hero h1{color:#fff}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.lead{font-size:1.15rem;color:#dbe6f1;max-width:560px}.hero-img{border-radius:14px;box-shadow:0 20px 50px #0007;width:100%;aspect-ratio:4/3;object-fit:cover}
.sec{padding:64px 0}.soft{background:var(--soft)}.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.split.top{align-items:start;grid-template-columns:1.6fr 1fr}.with-side{display:grid;grid-template-columns:1fr 320px;gap:44px;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.svc,.card{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #e1e8ef;display:flex;flex-direction:column}.svc img,.card .thumb img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.thumb.ph{aspect-ratio:3/2;background:linear-gradient(135deg,var(--primary),var(--dark));display:block}
.body{padding:20px}.svc h3 a,.card h3 a{color:var(--dark);text-decoration:none}.card h3 a:hover,.svc h3 a:hover{color:var(--primary)}.cats a{font-size:12px;font-weight:600;color:var(--primary);background:var(--soft);padding:2px 9px;border-radius:99px;text-decoration:none;margin-right:5px}.meta{font-size:13px;color:#6a7b8c}.meta.big{margin-bottom:16px}
ul.ticks{list-style:none;padding:0;margin:12px 0 0}.ticks li{padding-left:24px;position:relative;margin:5px 0;font-size:15px}.ticks li:before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.clients{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:20px}.clients div{background:#fff;border:1px solid #e1e8ef;border-radius:8px;padding:12px;display:grid;place-items:center}.clients img{max-height:70px;object-fit:contain}
.bars .bar-row{position:relative;margin:0 0 22px}.bar-row span{font:600 15px var(--fh);color:var(--dark)}.bar-row b{float:right}.bar-row i{display:block;height:10px;background:#dfe7ef;border-radius:99px;margin-top:6px;position:relative;overflow:hidden}.bar-row i:after{content:"";position:absolute;inset:0 auto 0 0;width:0;background:var(--accent);border-radius:99px;transition:width 1.2s ease}.bars.in .bar-row i:after{width:var(--w)}
.page-head{background:linear-gradient(120deg,var(--dark),var(--primary));color:#fff;padding:54px 0}.page-head h1{color:#fff;margin:0}.page-head p{color:#d3e0ee;margin:10px 0 0;max-width:760px;font-size:1.1rem}
.content img{border-radius:8px}.content h3,.content h4{margin-top:1.6em}.content table{border-collapse:collapse;width:100%}.content td,.content th{border:1px solid #d7e0ea;padding:8px}.content blockquote{border-left:4px solid var(--accent);margin:1.2em 0;padding:4px 18px;background:var(--soft)}.hero-photo,.side-img{width:100%;border-radius:10px;margin:0 0 20px;display:block}
.cta{background:var(--primary);color:#fff;padding:44px 0}.cta .wrap{display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap}.cta h2{color:#fff;margin:0}.cta p{margin:6px 0 0;color:#d3e0ee}
.widget{background:var(--soft);padding:22px;border-radius:10px;margin-bottom:22px}.widget ul{list-style:none;padding:0;margin:0}.widget li{padding:6px 0;border-bottom:1px solid #dde5ee}.widget li:last-child{border:0}.tag{display:inline-block;background:var(--soft);padding:2px 10px;border-radius:99px;font-size:13px;text-decoration:none;margin:2px}
.contact-list{list-style:none;padding:0;margin:12px 0}.contact-list li{margin:8px 0}
.form label{display:block;font:600 14px var(--fh);color:var(--dark);margin-bottom:14px}.form input,.form textarea,.subscribe input{width:100%;padding:11px 12px;border:1px solid #c5d1dd;border-radius:6px;font:inherit;margin-top:5px;background:#fff}.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.subscribe{display:flex;gap:8px}.subscribe input{margin:0}
.notice{padding:12px 16px;border-radius:8px;margin:16px 0}.notice.ok{background:#e4f6ea;color:#14532d}.notice.err{background:#fde8e8;color:#9b1c1c}
.pager{display:flex;gap:6px;margin-top:30px;flex-wrap:wrap}.pager a,.pager .cur{padding:7px 14px;border-radius:6px;border:1px solid #d3dce6;text-decoration:none}.pager .cur{background:var(--primary);color:#fff;border-color:var(--primary)}
.comment{border-bottom:1px solid #e1e8ef;padding:12px 0}
.site-foot{background:var(--dark);color:#b8c6d4;padding-top:50px}.site-foot h4{color:#fff}.site-foot a{color:#fff}.site-foot ul{list-style:none;padding:0}.flogo{height:46px;filter:brightness(0) invert(1);margin-bottom:10px}.site-foot .subscribe input{background:#fff}.copy{border-top:1px solid #ffffff22;margin-top:40px;padding:16px 0;font-size:14px}.copy a{margin-left:10px}
@media(max-width:900px){.hero-grid,.split,.split.top,.with-side,.grid3,.grid2{grid-template-columns:1fr}.menu-btn{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 12px 24px #0002;padding:10px}.main-nav.open{display:block}.main-nav ul{flex-direction:column}.main-nav .sub{display:none;position:static;box-shadow:none;padding-left:14px}.main-nav li.open>.sub{display:flex}.row2{grid-template-columns:1fr}.sec{padding:44px 0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}.bars .bar-row i:after{width:var(--w)}}

/* hero slider */
.hero-slider{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.slides{position:relative;height:clamp(480px,78vh,700px)}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s;display:flex;align-items:center}
.slide.active{opacity:1;visibility:visible;z-index:1}
.slide .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
.slide.active .bg{animation:kb 9s ease-out both}
.slide:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(10,31,51,calc(var(--ov) + .35)) 0%,rgba(11,61,107,var(--ov)) 55%,rgba(10,31,51,calc(var(--ov) * .4)) 100%)}
.slide-in{position:relative;z-index:2;width:100%;padding-bottom:40px}.slide-in>*{max-width:680px}
.slide h1,.slide h2{color:#fff;font-size:clamp(2rem,5vw,3.5rem);margin:0 0 .4em}
.kicker{display:inline-block;background:var(--accent);color:#fff;font:600 12px var(--fh);letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:99px;margin-bottom:16px}
.slide .lead{margin:0 0 24px;color:#e3edf6}.actions{margin:0}.actions .btn{margin:0 8px 8px 0}.hero-slider .btn-ghost{color:#fff}
.slide.active .slide-in>*{animation:rise .8s both}.slide.active .slide-in>*:nth-child(2){animation-delay:.12s}.slide.active .slide-in>*:nth-child(3){animation-delay:.24s}.slide.active .slide-in>*:nth-child(4){animation-delay:.36s}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.slider-ui{position:absolute;left:0;right:0;bottom:22px;z-index:5;display:flex;align-items:center;justify-content:center;gap:14px}
.dots{display:flex;gap:8px}.dot{width:34px;height:5px;border:0;padding:0;border-radius:3px;background:#ffffff66;cursor:pointer}.dot.on{background:#fff}
.s-arrow,.s-pause{background:#ffffff22;border:1px solid #ffffff55;color:#fff;width:42px;height:42px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}.s-pause{font-size:11px;width:34px;height:34px}.s-arrow:hover,.s-pause:hover{background:#ffffff44}
/* logo marquee */
.marquee{overflow:hidden;margin-top:24px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;width:max-content;animation:scroll 45s linear infinite}.marquee:hover .track,.marquee:focus-within .track{animation-play-state:paused}
.logo-item{flex:none;width:210px;height:100px;margin-right:16px;background:#fff;border:1px solid #e1e8ef;border-radius:8px;display:grid;place-items:center;padding:12px}.logo-item img{max-height:72px;max-width:100%;object-fit:contain}.logo-item a{display:grid;place-items:center}
@keyframes scroll{to{transform:translateX(-50%)}}
@media(max-width:900px){.slides{height:clamp(520px,82vh,640px)}.s-arrow{display:none}.dot{width:26px}}
@media(prefers-reduced-motion:reduce){.slide,.slide.active .bg,.slide.active .slide-in>*{animation:none;transition:none}.track{animation:none}.marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}
/* post body */
.content figure{margin:1.5em 0}.content figcaption{font-size:13px;color:#6a7b8c;text-align:center;margin-top:6px}.content hr{border:0;border-top:1px solid #dde5ee;margin:2em 0}.content kbd{background:var(--soft);border:1px solid #d3dce6;border-radius:4px;padding:1px 6px;font-size:.9em}.content table{display:block;overflow-x:auto}
/* forms, courses */
.btn-ghost2{background:transparent;color:var(--primary)}.cms-form fieldset{border:1px solid #d5dee8;border-radius:8px;margin:0 0 16px;padding:10px 14px}.cms-form legend{font:600 14px var(--fh);color:var(--dark);padding:0 6px}
.opt{display:block;font-weight:400!important;margin:6px 0!important}.opt input{width:auto!important;margin:0 8px 0 0!important}.req{color:#b42318}.hint{display:block;color:#6a7b8c;font-size:13px;margin:-8px 0 14px}.f-head{margin:28px 0 12px;padding-bottom:6px;border-bottom:2px solid var(--accent)}.f-info{background:var(--soft);padding:10px 16px;border-radius:8px;margin-bottom:16px}
.form-done{font-size:1.05rem}.video{position:relative;aspect-ratio:16/9;margin:0 0 20px;border-radius:10px;overflow:hidden;background:#000}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.curric{list-style:none;padding:0}.curric li{padding:10px 0;border-bottom:1px solid #e1e8ef}.curric small{color:#6a7b8c;margin-left:6px}.price{font:700 1.8rem var(--fh);color:var(--primary);margin:0 0 8px}.facts{list-style:none;padding:0;margin:0 0 14px}.facts li{padding:4px 0}
.state-open,.state-ongoing{background:#d9f2f2!important}.state-completed{background:#e6eaf0!important;color:#4a5b6c!important}.state-upcoming{background:#e3ecfa!important}.pager2 .btn{margin:6px 6px 0 0}
