:root{--purple:#477a5b;--purple2:#79a987;--pink:#8fb99a;--coral:#91b58b;--yellow:#dce9b7;--teal:#9bc7ad;--lav:#d9ecde;--ink:#294438;--muted:#687a70;--cream:#f8fcf8;--soft:#f0f7f1;--line:#d7e7dc;--green:#5f8d6c;--white:#fff;--shadow:0 22px 70px rgba(56,105,74,.14);--radius:28px;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f8fcf8;line-height:1.65}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(calc(100% - 36px),var(--max));margin:auto}
.announcement{background:#315d45;color:#fff;text-align:center;padding:9px 18px;font-size:12px;font-weight:750}
.site-nav{position:sticky;top:0;z-index:30;background:rgba(248,252,248,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{height:78px;display:flex;align-items:center;gap:26px}
.logo img{width:142px;height:62px;object-fit:contain}
.desktop-nav{display:flex;gap:22px;margin-left:auto;font-size:13px;font-weight:800;color:#5c7064}
.desktop-nav a{padding:8px 0}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--purple)}
.nav-actions{display:flex;gap:9px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;padding:12px 18px;font-size:13px;font-weight:900;border:1px solid transparent;cursor:pointer}
.btn.primary{color:#fff;background:linear-gradient(135deg,var(--purple),var(--purple2));box-shadow:0 10px 25px rgba(60,111,76,.22)}
.btn.ghost{border-color:#cfe1d4;color:var(--purple);background:#fbfefb}
.btn.coral{background:var(--coral);color:#fff}
.menu-btn{display:none;border:0;background:#e4f1e7;color:var(--purple);border-radius:12px;width:42px;height:42px;font-size:20px}
.mobile-nav{display:none}
.hero{padding:74px 0 58px;background:radial-gradient(circle at 10% 8%,#e3f2e7 0 14%,transparent 36%),radial-gradient(circle at 95% 13%,#d5eadb 0 13%,transparent 35%),#f8fcf8}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center}
.eyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:#deeee2;color:var(--purple);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.hero h1{font-size:clamp(46px,6vw,76px);line-height:.99;letter-spacing:-.055em;margin:20px 0 22px}
.hero h1 .accent{color:var(--purple)}
.hero h1 .pink{color:#719b7c}
.lead{font-size:18px;color:var(--muted);max-width:650px}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}
.hero-media{min-height:500px;position:relative}
.hero-media:before{content:"";position:absolute;inset:34px -16px 10px 40px;background:linear-gradient(135deg,#cfe6d5,#e6f2e8 52%,#bcd9c5);border-radius:41% 59% 58% 42% / 48% 43% 57% 52%;transform:rotate(-4deg)}
.hero-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:40% 60% 46% 54% / 52% 40% 60% 48%;box-shadow:var(--shadow)}
.floating{position:absolute;z-index:2;background:#fbfefb;border:1px solid var(--line);box-shadow:0 13px 36px rgba(54,91,66,.13);border-radius:19px;padding:14px 16px;font-size:12px}
.floating.one{left:-22px;bottom:34px}
.floating.two{right:-18px;top:24px}
.section{padding:92px 0}
.section.soft{background:linear-gradient(180deg,#f8fcf8,#edf6ef)}
.section-head{display:grid;grid-template-columns:1fr .85fr;gap:48px;align-items:end;margin-bottom:40px}
.section-head h2,.page-hero h1{font-size:clamp(38px,5vw,60px);line-height:1.03;letter-spacing:-.045em;margin:10px 0}
.section-head p,.muted{color:var(--muted)}
.kicker{font-size:11px;font-weight:950;color:var(--purple);text-transform:uppercase;letter-spacing:.1em}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fbfefb;border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:0 10px 32px rgba(54,91,66,.07)}
.card h3{margin:10px 0 6px;font-size:22px}
.card p{margin:0;color:var(--muted)}
.icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#dceee1;font-size:21px}
.cards .card:nth-child(2) .icon{background:#e8f3df}
.cards .card:nth-child(3) .icon{background:#d3e9da}
.service-card{overflow:hidden;padding:0}
.service-card img{height:245px;width:100%;object-fit:cover}
.service-body{padding:26px}
.age{display:inline-block;font-size:11px;font-weight:900;border-radius:999px;padding:7px 10px;background:#deeee2;color:var(--purple)}
.checklist{padding-left:18px;color:#5d7064}
.checklist li{margin:7px 0}
.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.value{position:relative;overflow:hidden;padding:24px 25px;border:1px solid transparent;border-radius:22px;box-shadow:0 12px 30px rgba(54,91,66,.08);transition:transform .2s ease,box-shadow .2s ease}
.value:after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;right:-34px;bottom:-44px;background:currentColor;opacity:.08}
.value:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(54,91,66,.14)}
.value h3,.value p{position:relative;z-index:1}
.value h3{margin:0 0 6px}
.value p{margin:0;color:var(--ink);opacity:.78}
.value:nth-child(1){background:#e2f0e5;border-color:#c2dbc9;color:#3f7053}
.value:nth-child(2){background:#edf5e7;border-color:#d3e3c8;color:#5f7f52}
.value:nth-child(3){background:#dceee2;border-color:#b9d8c2;color:#397156}
.value:nth-child(4){background:#f1f6df;border-color:#dce6b9;color:#657c42}
.value:nth-child(5){background:#e7f2e9;border-color:#c9dfce;color:#517860}
.value:nth-child(6){background:#d7eadc;border-color:#b8d4c0;color:#35684b}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.split img{border-radius:30px;box-shadow:var(--shadow)}
.split img.philosophy-photo{width:100%;height:560px;object-fit:cover}
.quote{font-size:28px;font-weight:900;color:var(--purple);line-height:1.25}
.page-hero{padding:70px 0 50px;background:linear-gradient(135deg,#e7f3ea,#f8fcf8 58%,#dceee2)}
.page-hero p{font-size:17px;color:var(--muted);max-width:760px}
.identity{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.identity .item{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}
.identity b{display:block;font-size:11px;color:var(--purple);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.profile-photo-band{padding:0 0 30px;background:linear-gradient(180deg,#f8fcf8,#edf6ef)}
.profile-photo-band figure{margin:0;position:relative;overflow:hidden;border-radius:32px;box-shadow:var(--shadow)}
.profile-photo-band img{width:100%;height:520px;object-fit:cover}
.profile-photo-band figcaption{position:absolute;left:24px;bottom:24px;max-width:460px;padding:16px 19px;border:1px solid rgba(232,244,235,.78);border-radius:18px;background:rgba(248,252,248,.92);backdrop-filter:blur(12px);box-shadow:0 12px 36px rgba(45,82,57,.15)}
.profile-photo-band figcaption strong,.profile-photo-band figcaption span{display:block}
.profile-photo-band figcaption strong{color:var(--purple);font-size:16px}
.profile-photo-band figcaption span{color:var(--muted);font-size:13px}
.profile-story{display:grid;grid-template-columns:1fr .9fr;gap:52px;align-items:center}
.profile-story h2{font-size:clamp(38px,5vw,58px);line-height:1.03;letter-spacing:-.045em;margin:10px 0 24px}
.profile-story p{color:var(--muted)}
.profile-story img{width:100%;height:500px;object-fit:cover;border-radius:30px;box-shadow:var(--shadow)}
.vision-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}
.vision{background:linear-gradient(145deg,#315d45,#6f9d7d);color:#fff;border-radius:28px;padding:30px}
.vision p{color:#e4f1e7}
.missions{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px}
.missions ol{padding-left:20px}
.missions li{margin:10px 0}
.slogan{padding:42px;border-radius:32px;background:linear-gradient(135deg,#dceee2,#edf6e9 55%,#cfe6d5);text-align:center}
.slogan h2{font-size:clamp(34px,5vw,58px);line-height:1.05;margin:7px auto 15px;max-width:900px}
.slogan p{color:var(--muted);max-width:760px;margin:8px auto}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.gallery img{height:220px;width:100%;object-fit:cover;border-radius:22px}
.gallery img:first-child{height:452px;grid-row:span 2}
.form-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:start}
.form-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.field{margin-bottom:15px}
.field label{display:block;font-size:12px;font-weight:900;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #cfe0d3;border-radius:12px;font:inherit;background:#fff;color:var(--ink)}
.field textarea{min-height:110px;resize:vertical}
.notice{padding:13px 15px;border-radius:13px;margin:15px 0;font-size:13px;font-weight:800}
.notice.success{background:#e7f4e4;color:#476345}
.notice.error{background:#fae7e2;color:#8b4e45}
.faq{border:1px solid var(--line);border-radius:18px;margin-bottom:10px;background:#fff;overflow:hidden}
.faq-q{padding:18px 20px;font-weight:900;cursor:pointer;display:flex;justify-content:space-between}
.faq-a{display:none;padding:0 20px 18px;color:var(--muted)}
.faq.open .faq-a{display:block}
footer{background:#294c39;color:#f1f8f3;padding:54px 0 18px;margin-top:50px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:38px}
.footer-logo{width:155px;background:#fff;border-radius:16px;padding:7px}
.footer-grid h4{margin-top:0}
.footer-grid a,.footer-grid span{display:block;color:#cfe2d4;margin:6px 0;font-size:13px}
.footer-grid p{color:#cfe2d4;max-width:370px}
.copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:32px;padding-top:16px;color:#afcbb7;font-size:12px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:28px}
.stat{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}
.stat b{display:block;font-size:28px;color:var(--purple)}
@media(max-width:900px){.desktop-nav,.nav-actions .ghost,.nav-actions .primary{display:none}
.menu-btn{display:block}
.nav-actions{margin-left:auto}
.mobile-nav.open{display:flex;flex-direction:column;padding:14px 20px 20px;gap:12px;border-top:1px solid var(--line);font-weight:800}
.hero-grid,.section-head,.split,.form-grid,.vision-grid,.profile-story{grid-template-columns:1fr}
.hero-media{min-height:390px}
.cards{grid-template-columns:1fr}
.values-grid{grid-template-columns:1fr}
.identity{grid-template-columns:1fr 1fr}
.gallery{grid-template-columns:1fr 1fr}
.gallery img:first-child{grid-row:auto;height:260px;grid-column:span 2}
.stats{grid-template-columns:1fr 1fr}
.footer-grid{grid-template-columns:1fr}
.profile-photo-band img,.profile-story img{height:390px}
.split img.philosophy-photo{height:440px}
}
@media(max-width:560px){.section{padding:68px 0}
.hero{padding:48px 0}
.hero h1{font-size:47px}
.hero-media{min-height:315px}
.floating{display:none}
.identity,.gallery,.stats{grid-template-columns:1fr}
.gallery img:first-child{grid-column:auto;height:220px}
.gallery img{height:220px}
.site-nav .logo img{width:125px}
.announcement{font-size:10px}
.slogan{padding:30px 20px}
.profile-photo-band figure{border-radius:22px}
.profile-photo-band img,.profile-story img{height:280px}
.profile-photo-band figcaption{left:12px;right:12px;bottom:12px;padding:12px 14px}
.split img.philosophy-photo{height:360px}
}

/* Sekolah Balita THI brand system */
.brand-logo{display:inline-flex;align-items:center;gap:10px;min-width:185px;color:var(--ink)}
.brand-symbol{position:relative;width:52px;height:52px;border-radius:18px 18px 22px 10px;background:linear-gradient(145deg,#b8d8c0,#e3efcf);display:grid;place-items:center;box-shadow:0 9px 22px rgba(70,119,85,.2);overflow:hidden}
.brand-symbol:before,.brand-symbol:after,.brand-symbol i{content:"";position:absolute;border-radius:50%;background:#fff;opacity:.78}.brand-symbol:before{width:20px;height:20px;left:-6px;top:-5px}.brand-symbol:after{width:13px;height:13px;right:-3px;bottom:4px}.brand-symbol i{width:10px;height:10px;right:6px;top:5px}.brand-symbol b{position:relative;font-size:13px;letter-spacing:.06em;color:#315d45}
.brand-copy{display:grid;line-height:1.06}.brand-copy strong{font-size:16px;letter-spacing:-.02em}.brand-copy small{font-size:10px;font-weight:850;color:var(--purple);letter-spacing:.02em;margin-top:4px}.footer-brand{color:#fff}.footer-brand .brand-copy small{color:#c6e3cd}
.level-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.level-card{position:relative;padding:26px 20px 22px;border-radius:24px;min-height:170px;overflow:hidden;color:var(--ink);box-shadow:0 12px 34px rgba(45,85,82,.07)}.level-card:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-42px;bottom:-50px;background:currentColor;opacity:.07}.level-card>span{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:#fff;font-size:11px;font-weight:950;box-shadow:0 6px 18px rgba(50,75,73,.09)}.level-card h3{font-size:23px;margin:19px 0 3px}.level-card p{margin:0;font-size:12px;font-weight:800;opacity:.67}
.level-1{background:#e4f2e8;color:#4a7559}.level-2{background:#eef5df;color:#667d48}.level-3{background:#d9ecdf;color:#3d7554}.level-4{background:#cfe7d7;color:#356b4b}.level-5{background:#bddbc6;color:#2f6346}
.center-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.center-card{display:flex;gap:15px;align-items:flex-start;padding:20px;border:1px solid var(--line);border-radius:21px;background:#fbfefb;box-shadow:0 10px 29px rgba(47,96,62,.07)}.center-card h3{margin:1px 0 6px;font-size:17px}.center-card p{margin:0;color:var(--muted);font-size:13px}.center-icon{flex:0 0 43px;height:43px;border-radius:14px;display:grid;place-items:center;background:#dceee2;color:var(--purple);font-weight:950;font-size:18px}.center-card:nth-child(2n) .center-icon{background:#e9f3e2;color:#5d7e50}.center-card:nth-child(3n) .center-icon{background:#cfe6d5;color:#3d7051}.center-card:nth-child(4n) .center-icon{background:#e2f0e5;color:#48755a}
.services-six{grid-template-columns:repeat(3,1fr)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.process-grid article{padding:26px;border-radius:24px;border:1px solid var(--line);background:#fbfefb;box-shadow:0 10px 30px rgba(47,96,62,.06)}.process-grid article>span{font-size:11px;font-weight:950;color:var(--purple);letter-spacing:.08em}.process-grid h3{font-size:21px;margin:16px 0 8px}.process-grid p{color:var(--muted);font-size:13px;margin:0}.sentra-hero{background:radial-gradient(circle at 83% 20%,#dfecca 0 12%,transparent 30%),linear-gradient(135deg,#dceee2,#f8fcf8 58%,#cfe6d5)}
.sentra-flow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:30px;border:1px solid var(--line);border-radius:25px;background:#fbfefb}.sentra-flow span{padding:12px 15px;border-radius:13px;background:#dceee2;color:var(--purple);font-size:12px;font-weight:900}.sentra-flow span:nth-of-type(2n){background:#e9f3e2;color:#5d7e50}.sentra-flow i{font-style:normal;color:#8fa696}
@media(max-width:980px){.level-strip{grid-template-columns:repeat(3,1fr)}.center-grid,.process-grid{grid-template-columns:repeat(2,1fr)}.services-six{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.brand-logo{min-width:0}.brand-symbol{width:45px;height:45px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:9px}.level-strip,.center-grid,.process-grid,.services-six{grid-template-columns:1fr}.sentra-flow{align-items:stretch;flex-direction:column;text-align:center}.sentra-flow i{transform:rotate(90deg)}}
