:root{--bg:#ffffff;--soft:#f6f7fb;--cream:#fff8ec;--ink:#14162b;--muted:#5b5f77;--brand:#2f2a8f;--brand-dark:#211d6b;--brand-soft:#ecebfb;--accent:#f59e0b;--accent-dark:#d97706;--line:#e6e7ef;--radius:14px;--shadow:0 10px 30px rgba(20,22,43,.08);--head:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--head);color:var(--ink);letter-spacing:-.02em}h1{font-size:clamp(34px,4.6vw,56px);line-height:1.1;font-weight:800}h2{font-size:clamp(28px,3vw,40px);line-height:1.15;font-weight:800}h3{font-size:19px;line-height:1.3;font-weight:700}h1 em,h2 em{font-style:normal;color:var(--brand)}p{color:var(--muted)}[hidden]{display:none!important}
.container{width:min(1200px,calc(100% - 40px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;top:-60px;left:16px;background:#fff;padding:10px 16px;z-index:60}.skip-link:focus{top:10px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
/* Top bar & header */
.topbar{background:var(--brand-dark);color:#d9d8f5;font-size:13px}.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:8px}.topbar a{color:#fff;text-decoration:none;font-weight:600}.topbar a:hover{color:#fcd34d}.topbar .tb-left{display:flex;gap:8px;align-items:center;min-width:0}.topbar .tb-left span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .tb-right{display:flex;gap:18px;flex-shrink:0}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px;position:relative}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 21px/1 var(--head);letter-spacing:-.02em}.brand small{display:block;font:600 10px/1.4 var(--body);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-top:3px}
nav{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:500}nav a{text-decoration:none;padding:9px 14px;border-radius:8px}nav a:hover{background:var(--soft);color:var(--brand)}nav a[aria-current="page"]{color:var(--brand);font-weight:700}nav .nav-cta{background:var(--accent);color:#1f1300!important;font-weight:700;margin-left:8px;padding:11px 20px}nav .nav-cta:hover{background:var(--accent-dark);color:#fff!important}.menu-toggle{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 14px;font:600 14px var(--body);cursor:pointer}
/* Buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:10px;font:700 15px/1.2 var(--body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-1px)}.primary{background:var(--brand);color:#fff}.primary:hover{background:var(--brand-dark);box-shadow:0 8px 20px rgba(47,42,143,.3)}.accent{background:var(--accent);color:#1f1300}.accent:hover{background:var(--accent-dark);color:#fff}.ghost{border-color:currentColor;background:transparent}.ghost-light{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.06)}.ghost-light:hover{background:#fff;color:var(--brand)}.wide{width:100%}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin-bottom:14px}.eyebrow:before{content:"";width:22px;height:2px;background:var(--accent)}
.lead{font-size:18px;margin-top:16px;max-width:600px}.text-link{color:var(--brand);font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}
/* Hero */
.hero{position:relative;color:#fff;overflow:hidden;background:#1b1847}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,16,52,.94) 0%,rgba(18,16,52,.82) 45%,rgba(18,16,52,.35) 100%)}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;padding:84px 0 96px}.hero h1{color:#fff}.hero h1 em{color:#fcd34d}.hero .lead{color:#dcdbf3}.hero .eyebrow{color:#fcd34d}.hero-badge{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;margin-bottom:22px}.hero-badge b{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.25)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-points{display:flex;flex-wrap:wrap;gap:10px 26px;list-style:none;padding:0;margin:34px 0 0;font-size:15px;color:#e8e7fa}.hero-points li:before{content:"✓";color:#fcd34d;font-weight:800;margin-right:8px}.photo-note{position:absolute;right:16px;bottom:12px;z-index:1;font-size:11px;color:rgba(255,255,255,.6)}
.hero-card{background:#fff;color:var(--ink);border-radius:18px;padding:28px;box-shadow:0 30px 60px rgba(0,0,0,.35)}.hero-card h2{font-size:24px}.hero-card>p{font-size:14px;margin:6px 0 18px}.hero-card form{display:grid;gap:12px}.hero-card .small{text-align:center}
/* Forms */
label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--ink)}input,select,textarea{font:inherit;font-size:15px;border:1.5px solid #d8d9e6;border-radius:10px;padding:12px 14px;background:#fff;color:var(--ink);min-height:48px;width:100%;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:none}textarea{resize:vertical}.optional{font-weight:400;color:var(--muted)}.small{font-size:13px;color:var(--muted)}
/* Highlights */
.highlights{background:#fff;border-bottom:1px solid var(--line)}.highlights .container{display:grid;grid-template-columns:repeat(4,1fr)}.highlight{display:flex;gap:14px;align-items:flex-start;padding:28px 22px;border-right:1px solid var(--line)}.highlight:last-child{border-right:0}.hl-icon{flex-shrink:0;width:46px;height:46px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.highlight h3{font-size:16px}.highlight p{font-size:14px;margin-top:2px}
/* Sections */
.section{padding:88px 0}.section.soft{background:var(--soft)}.section.cream{background:var(--cream)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}.section-head p{max-width:440px}.center-head{text-align:center;max-width:700px;margin:0 auto 44px}.center-head .eyebrow{justify-content:center}.center-head .lead{margin-inline:auto}
/* Course cards */
.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.course-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.course-img{position:relative;aspect-ratio:16/10;overflow:hidden}.course-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.course-card:hover .course-img img{transform:scale(1.05)}.course-tag{position:absolute;left:12px;top:12px;background:#fff;color:var(--brand);font-size:11px;font-weight:700;letter-spacing:.04em;padding:5px 10px;border-radius:999px;text-transform:uppercase}.course-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}.course-body p{font-size:14px;flex:1}.course-meta{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}.course-meta span{font-size:12px;font-weight:600;background:var(--soft);color:var(--muted);padding:4px 10px;border-radius:6px}.course-body .text-link{font-size:14px}
/* Modes */
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.mode{background:#fff;border-radius:var(--radius);padding:32px;border:1px solid var(--line);position:relative}.mode.featured{background:var(--brand);border-color:var(--brand)}.mode.featured h3,.mode.featured p,.mode.featured li{color:#fff}.mode.featured .mode-icon{background:rgba(255,255,255,.15);color:#fcd34d}.mode-icon{width:52px;height:52px;border-radius:14px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin-bottom:18px}.mode p{margin-top:8px;font-size:15px}.mode ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px;font-size:14px}.mode li:before{content:"✓";color:var(--accent);font-weight:800;margin-right:8px}
/* Method steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}.step{position:relative;padding:28px 24px;background:#fff;border-radius:var(--radius);border:1px solid var(--line)}.step:before{counter-increment:step;content:"0" counter(step);display:block;font:800 34px/1 var(--head);color:var(--brand-soft);-webkit-text-stroke:1.5px var(--brand);margin-bottom:16px}.step p{font-size:14px;margin-top:6px}
/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split-img{position:relative}.split-img img{width:100%;aspect-ratio:4/3.2;object-fit:cover;border-radius:20px}.split-img:after{content:"";position:absolute;inset:auto -16px -16px auto;width:55%;height:55%;border-radius:20px;background:var(--accent);z-index:-1;opacity:.85}.check-list{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:14px}.check-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px}.check-list li:before{content:"✓";flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:13px;font-weight:800}.check-list b{display:block;color:var(--ink)}.check-list span{color:var(--muted)}
/* Admission timeline */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}.timeline:before{content:"";position:absolute;top:27px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,var(--brand) 0 8px,transparent 8px 16px)}.t-step{text-align:center;padding:0 16px;position:relative}.t-num{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font:800 20px var(--head);box-shadow:0 0 0 8px var(--soft)}.t-step p{font-size:14px;margin-top:6px}
/* Gallery */
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:14px}.gallery figure{position:relative;border-radius:var(--radius);overflow:hidden}.gallery figure:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.05)}.gallery figcaption{position:absolute;left:12px;bottom:12px;background:rgba(20,22,43,.75);color:#fff;font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px}
/* Visit / map */
.visit{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.visit-info{padding:40px}.visit-row{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.visit-row:last-of-type{border-bottom:0}.visit-row .hl-icon{width:42px;height:42px}.visit-row h3{font-size:15px}.visit-row p,.visit-row a{font-size:15px;color:var(--muted)}.visit-row a{color:var(--brand);font-weight:600;text-decoration:none}.visit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.map{min-height:420px;border:0;width:100%;height:100%;display:block;background:var(--soft)}
/* FAQ */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 22px;margin-bottom:12px}.faq-list details[open]{border-color:var(--brand);box-shadow:var(--shadow)}.faq-list summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px;padding:18px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--brand);font-size:22px;line-height:1}.faq-list details[open] summary:after{content:"−"}.faq-list details p{padding-bottom:18px;font-size:15px}
/* CTA */
.cta{padding:0 0 88px}.cta-box{background:linear-gradient(120deg,var(--brand-dark),var(--brand));border-radius:24px;padding:52px 56px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;position:relative;overflow:hidden}.cta-box:after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:rgba(252,211,77,.18)}.cta-box h2{color:#fff}.cta-box p{color:#d9d8f5;margin-top:8px}.cta-box .eyebrow{color:#fcd34d}.cta-actions{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1}
/* Inner pages */
.page-hero{background:linear-gradient(120deg,var(--brand-dark),var(--brand));color:#fff;padding:64px 0 70px;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-80px;bottom:-120px;width:340px;height:340px;border-radius:50%;background:rgba(252,211,77,.14)}.page-hero h1{color:#fff}.page-hero h1 em{color:#fcd34d}.page-hero .lead{color:#dcdbf3}.page-hero .eyebrow{color:#fcd34d}.crumbs{font-size:13px;color:#c9c7ef;margin-bottom:18px}.crumbs a{color:#fff;text-decoration:none}.crumbs a:hover{text-decoration:underline}
.toolbar{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:-34px 0 34px;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:16px;position:relative;z-index:2}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:9px 16px;font:600 14px var(--body);cursor:pointer;color:var(--muted)}.chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}.toolbar input{max-width:340px;border-radius:999px}.status{font-size:14px;color:var(--muted);margin-bottom:18px}.empty{text-align:center;padding:40px;background:var(--soft);border-radius:16px}
.about-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.about-intro p+p{margin-top:16px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.value{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px}.value p{margin-top:8px;font-size:15px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;align-items:start}.contact-cards{display:grid;gap:14px}.info-card{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.info-card h3{font-size:16px}.info-card p,.info-card a{font-size:15px;color:var(--muted)}.info-card a{color:var(--brand);font-weight:600;text-decoration:none}.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow)}.form-card h2{font-size:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.full{grid-column:1/-1}.consent{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:14px;margin:18px 0}.consent input{width:18px;min-height:18px;margin-top:3px;accent-color:var(--brand)}.consent a{color:var(--brand)}.map-wrap{margin-top:14px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.map-wrap .map{min-height:260px}
.legal{max-width:780px;padding:64px 0 88px}.legal h2{font-size:22px;margin:30px 0 8px}.legal h2:first-child{margin-top:0}
.not-found{text-align:center;padding:100px 0}.not-found .hero-actions{justify-content:center}.not-found .lead{margin-inline:auto}
/* Footer */
.site-footer{background:#12112e;color:#c3c2e0;padding:70px 0 0}.site-footer p,.site-footer li{color:#a9a8cc;font-size:14px}.site-footer a{color:#e5e4fa;text-decoration:none}.site-footer a:hover{color:#fcd34d}.site-footer h3{font-size:15px;color:#fff;margin-bottom:16px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px}.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.site-footer .brand{color:#fff;margin-bottom:16px}.site-footer .brand small{color:#8f8eb8}.footer-social{display:flex;gap:10px;margin-top:20px}.footer-social a{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);padding:9px 14px;border-radius:8px;font-size:14px;font-weight:600}.footer-social a:hover{background:#25d366;color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding:22px 0;font-size:13px;color:#8f8eb8}.footer-bottom a{color:#c3c2e0}
.wa-float{position:fixed;right:20px;bottom:20px;z-index:50;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 10px 25px rgba(0,0,0,.25);transition:transform .2s}.wa-float:hover{transform:scale(1.08)}.mobile-bar{display:none}
/* Responsive */
@media(max-width:1100px){.course-grid{grid-template-columns:repeat(3,1fr)}.hero-inner{gap:36px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.js nav{display:none;position:absolute;top:100%;left:-20px;right:-20px;flex-direction:column;align-items:stretch;gap:2px;background:#fff;padding:12px 20px 20px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.08)}.js nav.open{display:flex}nav .nav-cta{margin:8px 0 0;text-align:center}.hero-inner,.split,.faq-grid,.about-intro,.contact-grid,.visit{grid-template-columns:1fr}.hero-inner{padding:56px 0 64px}.hero:after{background:linear-gradient(180deg,rgba(18,16,52,.9),rgba(18,16,52,.85))}.highlights .container{grid-template-columns:1fr 1fr}.highlight:nth-child(2){border-right:0}.highlight:nth-child(-n+2){border-bottom:1px solid var(--line)}.course-grid,.modes,.steps,.values{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr 1fr;row-gap:36px}.timeline:before{display:none}.split{gap:40px}.split-img{order:-1}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:200px 160px 160px}.gallery figure:first-child{grid-column:span 2;grid-row:auto}.section-head{flex-direction:column;align-items:flex-start}.map{min-height:320px}}
@media(min-width:901px){.menu-toggle{display:none}}
@media(max-width:600px){body{font-size:15px}.container{width:calc(100% - 32px)}.topbar .tb-left{display:none}.topbar .container{justify-content:center}.section{padding:60px 0}.course-grid,.modes,.steps,.values,.form-grid,.footer-grid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr}.highlights .container{grid-template-columns:1fr}.highlight{border-right:0;border-bottom:1px solid var(--line);padding:20px 4px}.highlight:last-child{border-bottom:0}.hero-card,.form-card,.visit-info{padding:22px}.cta-box{padding:36px 24px}.toolbar input{max-width:none}input,select,textarea{font-size:16px}.wa-float{display:none}.site-footer{padding-bottom:76px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;gap:8px;padding:8px 12px max(8px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.06)}.mobile-bar a{flex:1;text-align:center;padding:12px;border-radius:10px;font-weight:700;text-decoration:none;border:2px solid var(--brand);color:var(--brand)}.mobile-bar a:last-child{background:#25d366;border-color:#25d366;color:#fff}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
