:root{--green:#123c2a;--green-2:#1f6a49;--green-3:#e8f2eb;--gold:#bd8430;--paper:#f8f8f4;--ink:#18231e;--muted:#68766e;--line:rgba(18,60,42,.13);--white:#fff;--shadow:0 24px 70px rgba(18,60,42,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.65}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}.site-header,.simple-header{align-items:center;background:rgba(255,253,245,.94);border-bottom:1px solid transparent;display:flex;gap:28px;height:88px;justify-content:space-between;padding:0 5vw;position:sticky;top:0;transition:.25s;z-index:50}.site-header.scrolled{border-color:var(--line);box-shadow:0 12px 35px rgba(29,75,41,.08);backdrop-filter:blur(16px)}.brand{align-items:center;display:inline-flex;gap:12px;text-decoration:none}.brand-text{display:grid;line-height:1.15}.brand-text strong{color:var(--green);font-size:1rem}.brand-text small{color:var(--muted);font-size:.72rem;margin-top:5px}.brand-mark{display:block;height:44px;position:relative;width:44px}.brand-mark span{background:var(--green-2);border-radius:100% 0 100% 0;display:block;height:22px;position:absolute;transform:rotate(45deg);width:12px}.brand-mark span:nth-child(1){left:5px;top:12px}.brand-mark span:nth-child(2){left:16px;top:4px}.brand-mark span:nth-child(3){left:25px;top:14px}.brand-mark.light span{background:#fff}.main-nav{align-items:center;display:flex;gap:22px}.main-nav a{color:#405047;font-size:.83rem;font-weight:800;text-decoration:none;transition:.2s}.main-nav a:hover{color:var(--green)}.header-cta,.btn{align-items:center;border:0;border-radius:999px;cursor:pointer;display:inline-flex;font-weight:900;gap:9px;justify-content:center;padding:13px 20px;text-decoration:none;transition:.2s}.header-cta,.btn-primary{background:var(--green-2);color:#fff}.header-cta:hover,.btn-primary:hover{background:var(--green);transform:translateY(-2px)}.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--green)}.btn-ghost:hover{border-color:var(--green);transform:translateY(-2px)}.nav-toggle{background:none;border:0;display:none;height:42px;padding:8px;width:42px}.nav-toggle span{background:var(--green);display:block;height:2px;margin:6px 0;width:100%}
.hero{display:grid;min-height:690px;overflow:hidden;position:relative}.hero-media,.hero-overlay{grid-area:1/1}.hero-media img{height:100%;object-fit:cover;width:100%}.hero-media:empty{background:linear-gradient(135deg,#dfead9,#a8c9ad)}.hero-overlay{background:linear-gradient(90deg,rgba(255,253,245,.99) 0%,rgba(255,253,245,.94) 40%,rgba(255,253,245,.25) 72%),linear-gradient(180deg,transparent 70%,var(--paper));z-index:1}.hero-content{align-self:center;grid-area:1/1;max-width:720px;padding:90px 6vw 130px;position:relative;z-index:2}.eyebrow,.section-kicker{color:var(--gold);font-size:.76rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.eyebrow span{background:var(--green-3);border-radius:999px;color:var(--green);display:inline-block;letter-spacing:0;margin-right:8px;padding:7px 10px}.hero h1{color:var(--green);font-size:clamp(2.6rem,5.4vw,5.7rem);letter-spacing:-.06em;line-height:.99;margin:24px 0}.hero-content>p:not(.eyebrow){color:#526057;font-size:1.08rem;max-width:660px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.section{padding:105px 6vw}.section-copy{max-width:700px}.section h2,.principal-section h2,.ppdb-section h2{color:var(--green);font-size:clamp(2rem,4vw,4.4rem);letter-spacing:-.05em;line-height:1.08;margin:12px 0 24px}.section-heading{margin-bottom:46px}.section-heading.centered{margin-left:auto;margin-right:auto;max-width:760px;text-align:center}.intro-section{display:grid;gap:70px;grid-template-columns:1.05fr 1fr}.value-grid{display:grid;gap:16px}.value-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px}.value-grid span{color:var(--gold);font-size:.72rem;font-weight:900}.value-grid h3{color:var(--green);font-size:1.25rem;margin:6px 0}.value-grid p{color:var(--muted);margin:0}.principal-section{align-items:center;background:var(--green);color:#fff;display:grid;gap:70px;grid-template-columns:minmax(300px,.85fr) 1.15fr;padding:90px 8vw}.principal-section h2{color:#fff}.principal-section p{color:rgba(255,255,255,.8)}.principal-section strong,.principal-section small{display:block}.principal-section small{color:rgba(255,255,255,.65)}.principal-photo{border-radius:32px;box-shadow:0 30px 60px rgba(0,0,0,.2);min-height:520px;overflow:hidden}.principal-photo img{height:100%;min-height:520px;object-fit:cover;width:100%}.image-placeholder{align-items:center;background:#e1eadc;color:var(--green);display:flex;font-weight:900;height:100%;justify-content:center;min-height:240px}.program-section{background:#f3f6ed}.program-grid{display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}.program-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 40px rgba(29,75,41,.06);overflow:hidden;padding:25px}.program-card h3{color:var(--green);font-size:1.2rem;margin:14px 0 8px}.program-card p{color:var(--muted);min-height:82px}.program-icon{align-items:center;background:var(--green-3);border-radius:14px;display:flex;font-size:1.4rem;height:48px;justify-content:center;width:48px}.program-icon img{height:26px;object-fit:contain;width:26px}.card-image{border-radius:16px;height:180px;margin-top:22px;object-fit:cover;width:100%}.stats-band{background:#f5e8c8;display:grid;grid-template-columns:repeat(5,1fr);padding:56px 5vw}.stats-band article{border-right:1px solid rgba(93,68,29,.16);padding:10px 24px;text-align:center}.stats-band article:last-child{border:0}.stats-band span{color:var(--green);display:block;font-size:2.2rem;font-weight:900}.stats-band strong{display:block}.stats-band p{color:#6c614e;font-size:.78rem;margin:5px 0 0}.feature-grid{display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.feature-card img,.feature-card>.image-placeholder{height:240px;object-fit:cover;width:100%}.feature-card div:last-child{padding:24px}.feature-card h3{color:var(--green);margin:0 0 8px}.feature-card p{color:var(--muted);margin:0}.teacher-section{background:#edf3e9}.teacher-grid{display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;text-align:center}.teacher-card img,.avatar-placeholder{border-radius:50%;height:130px;margin:0 auto 18px;object-fit:cover;width:130px}.avatar-placeholder{align-items:center;background:var(--green-3);color:var(--green);display:flex;font-size:2.6rem;font-weight:900;justify-content:center}.teacher-card h3{color:var(--green);font-size:1.08rem;margin:0}.teacher-card strong{color:var(--gold);display:block;font-size:.78rem;margin-top:6px}.teacher-card small{color:var(--muted);display:block}.teacher-card p{color:var(--muted);font-size:.84rem}.achievement-grid{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}.achievement-grid article{background:#fff;border-left:4px solid var(--gold);border-radius:18px;box-shadow:0 12px 35px rgba(29,75,41,.07);padding:24px}.achievement-grid img{border-radius:12px;height:160px;margin-bottom:18px;object-fit:cover;width:100%}.achievement-grid small{color:var(--gold);font-weight:800}.achievement-grid h3{color:var(--green);margin:6px 0}.achievement-grid p{color:var(--muted);font-size:.88rem}.gallery-section{background:#f3f6ed}.gallery-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-card{background:#dbe8d8;border-radius:20px;margin:0;min-height:300px;overflow:hidden;position:relative}.gallery-card img{height:100%;min-height:300px;object-fit:cover;width:100%}.gallery-card figcaption{background:linear-gradient(transparent,rgba(16,48,28,.9));bottom:0;color:#fff;display:grid;left:0;padding:70px 20px 18px;position:absolute;right:0}.gallery-card small{color:rgba(255,255,255,.76)}.info-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.info-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}.info-grid article>img{height:190px;object-fit:cover;width:100%}.info-grid article>div,.info-grid article:not(:has(>img)){padding:24px}.info-grid small{color:var(--gold);font-weight:900}.info-grid h3{color:var(--green);font-size:1.2rem;line-height:1.3}.info-grid p{color:var(--muted)}.info-grid a{color:var(--green-2);font-weight:900;text-decoration:none}.center-actions{text-align:center;margin-top:36px}.ppdb-section{align-items:start;background:var(--green);color:#fff;display:grid;gap:65px;grid-template-columns:.8fr 1.2fr;padding:100px 7vw}.ppdb-section h2{color:#fff}.ppdb-copy>p:last-child{color:rgba(255,255,255,.72)}.ppdb-form{background:#fff;border-radius:28px;color:var(--ink);display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));padding:30px}.ppdb-form label{color:var(--green);font-size:.84rem;font-weight:800}.ppdb-form input,.ppdb-form select,.ppdb-form textarea{background:#fbfcf8;border:1px solid var(--line);border-radius:12px;display:block;margin-top:7px;min-height:48px;padding:11px 13px;width:100%}.ppdb-form textarea{resize:vertical}.ppdb-form .wide{grid-column:1/-1}.checkbox{align-items:flex-start;display:flex!important;gap:10px}.checkbox input{height:18px!important;margin:3px 0 0!important;min-height:0!important;width:18px!important}.form-note{color:var(--muted)!important;font-size:.76rem;margin:0}.hp-field{height:0!important;left:-9999px!important;overflow:hidden!important;position:absolute!important;width:1px!important}.public-alert{background:#fff4d7;border-radius:18px;color:#5c4b25;margin-bottom:16px;padding:18px}.public-alert.success{background:#e4f5dc;color:var(--green)}.public-alert.error{background:#f9dfdd;color:#8c3028}.map-section iframe{border:0;display:block;height:420px;width:100%}.site-footer{background:#163f27;color:#fff;display:grid;gap:36px;grid-template-columns:1.7fr 1fr 1fr .8fr;padding:70px 6vw 30px}.footer-main>p,.site-footer p{color:rgba(255,255,255,.7)}.footer-brand{align-items:center;display:flex;gap:12px}.footer-brand strong,.footer-brand small{display:block}.footer-brand small{color:rgba(255,255,255,.65)}.site-footer h3{font-size:.9rem}.site-footer a{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);display:flex;grid-column:1/-1;justify-content:space-between;padding-top:22px}.whatsapp-float{align-items:center;background:#22a85a;border:4px solid #fff;border-radius:50%;bottom:24px;box-shadow:0 15px 35px rgba(0,0,0,.2);color:#fff;display:flex;font-weight:900;height:60px;justify-content:center;position:fixed;right:24px;text-decoration:none;width:60px;z-index:40}.simple-header{border-bottom:1px solid var(--line);position:relative}.article-shell{min-height:70vh;padding:70px 6vw}.article-page{background:#fff;border:1px solid var(--line);border-radius:28px;margin:auto;max-width:900px;padding:clamp(26px,5vw,65px)}.article-page h1,.article-list h1{color:var(--green);font-size:clamp(2.2rem,5vw,4.7rem);letter-spacing:-.05em;line-height:1.08}.article-cover{border-radius:20px;max-height:480px;object-fit:cover;width:100%}.article-lead{color:#526057;font-size:1.15rem;font-weight:600}.article-content{font-size:1.03rem;white-space:normal}.article-page hr{border:0;border-top:1px solid var(--line);margin:40px 0}.article-list{margin:auto;max-width:1200px}.success-page{align-items:center;background:linear-gradient(135deg,#edf5e9,#fff8e9);display:grid;min-height:100vh;padding:24px}.success-card{background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);margin:auto;max-width:680px;padding:50px;text-align:center}.success-card h1{color:var(--green);font-size:2.4rem;line-height:1.1}.success-icon{align-items:center;background:var(--green-3);border-radius:50%;color:var(--green);display:flex;font-size:2rem;font-weight:900;height:70px;justify-content:center;margin:auto;width:70px}.registration-number{background:#f5e8c8;border-radius:12px;color:var(--green);display:inline-block;font-size:1.35rem;letter-spacing:.05em;margin:8px 0 20px;padding:12px 18px}
@media(max-width:1100px){.main-nav{gap:13px}.main-nav a{font-size:.74rem}.program-grid,.teacher-grid,.achievement-grid{grid-template-columns:repeat(2,1fr)}.stats-band{grid-template-columns:repeat(3,1fr)}.stats-band article{border:0}.site-footer{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.site-header{height:76px}.nav-toggle{display:block}.main-nav{background:var(--paper);bottom:0;display:none;flex-direction:column;left:0;overflow:auto;padding:100px 28px 40px;position:fixed;right:0;top:0;z-index:-1}.main-nav.open{display:flex}.main-nav a{font-size:1.1rem}.header-cta{display:none}.hero{min-height:720px}.hero-overlay{background:linear-gradient(180deg,rgba(255,253,245,.86),rgba(255,253,245,.98) 68%,var(--paper))}.hero-content{align-self:end;padding-bottom:80px}.intro-section,.principal-section,.ppdb-section{grid-template-columns:1fr}.principal-photo{min-height:420px}.principal-photo img{min-height:420px}.feature-grid,.gallery-grid,.info-grid{grid-template-columns:1fr 1fr}.stats-band{grid-template-columns:1fr 1fr}.ppdb-section{padding:75px 5vw}.site-footer{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column;gap:4px}.simple-header{height:auto;padding:18px 5vw}}
@media(max-width:560px){.section{padding:75px 5vw}.hero h1{font-size:2.7rem}.hero-content{padding-left:5vw;padding-right:5vw}.program-grid,.teacher-grid,.achievement-grid,.feature-grid,.gallery-grid,.info-grid,.stats-band{grid-template-columns:1fr}.stats-band article{padding:18px}.ppdb-form{grid-template-columns:1fr;padding:20px}.ppdb-form .wide{grid-column:auto}.principal-section{padding:70px 5vw}.principal-photo,.principal-photo img{min-height:350px}.success-card{padding:30px 20px}.simple-header{align-items:flex-start}.simple-header .brand-text small{display:none}}

/* === Lightbox Galeri Foto === */
.gallery-card{cursor:zoom-in}
body.lightbox-open{overflow:hidden}
.lightbox-overlay{position:fixed;inset:0;background:rgba(15,20,16,.92);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s ease;z-index:999;padding:40px}
.lightbox-overlay.open{opacity:1;visibility:visible}
.lightbox-figure{max-width:min(90vw,1100px);max-height:88vh;margin:0;display:flex;flex-direction:column;align-items:center;gap:14px}
.lightbox-image{max-width:100%;max-height:78vh;object-fit:contain;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lightbox-caption{color:#f4f7f1;font-size:.95rem;text-align:center;max-width:80vw}
.lightbox-close{position:absolute;top:18px;right:24px;background:transparent;border:none;color:#fff;font-size:2.2rem;line-height:1;cursor:pointer;padding:6px 10px}
.lightbox-close:hover{color:#d59a35}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:none;color:#fff;font-size:2.4rem;line-height:1;width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}
.lightbox-nav:hover{background:rgba(255,255,255,.25)}
.lightbox-prev{left:16px}
.lightbox-next{right:16px}
@media (max-width:640px){
  .lightbox-overlay{padding:16px}
  .lightbox-nav{width:42px;height:42px;font-size:1.8rem}
  .lightbox-close{top:8px;right:12px;font-size:1.8rem}
}

/* === Professional visual refinement v3 === */
body{font-family:"DM Sans",Arial,sans-serif}
h1,h2,h3,.brand-text strong,.btn,.header-cta{font-family:Manrope,"DM Sans",Arial,sans-serif}
:focus-visible{outline:3px solid rgba(189,132,48,.55);outline-offset:3px}
.skip-link{background:#fff;border-radius:0 0 10px 10px;color:var(--green);font-weight:800;left:20px;padding:10px 15px;position:fixed;top:-80px;transition:top .2s;z-index:1000}.skip-link:focus{top:0}
.announcement-bar{align-items:center;background:var(--green);color:#fff;display:flex;font-size:.75rem;gap:13px;justify-content:center;min-height:38px;padding:7px 5vw;text-align:center}.announcement-bar span{color:#e4c27e;font-family:Manrope,"DM Sans",sans-serif;font-weight:800}.announcement-bar p{color:rgba(255,255,255,.74);margin:0}.announcement-bar a{font-weight:800;text-decoration:none}
.site-header,.simple-header{background:rgba(248,248,244,.94);height:82px}.site-header.scrolled{background:rgba(255,255,255,.9)}
.brand-mark{background:var(--green-3);border-radius:13px;transform:scale(.9)}
.brand-text strong{letter-spacing:-.02em}.main-nav a{font-weight:700}.header-cta,.btn{border-radius:12px;font-size:.85rem;padding:12px 18px}.header-cta,.btn-primary{box-shadow:0 8px 20px rgba(31,106,73,.17)}.btn-ghost{background:rgba(255,255,255,.88)}
.hero{min-height:720px}.hero-media img{filter:saturate(.82) contrast(.97)}.hero-overlay{background:linear-gradient(90deg,rgba(248,248,244,.99) 0%,rgba(248,248,244,.95) 43%,rgba(248,248,244,.15) 74%),linear-gradient(180deg,transparent 74%,var(--paper))}.hero-content{max-width:790px;padding-top:80px}.hero h1{font-size:clamp(2.8rem,5vw,5.35rem);letter-spacing:-.065em;max-width:780px}.eyebrow,.section-kicker{font-weight:800}.hero-content>p:not(.eyebrow){font-size:1.05rem;line-height:1.75;max-width:650px}.hero-proof{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:35px}.hero-proof span{align-items:center;color:#56645c;display:flex;font-size:.75rem;font-weight:700;gap:7px}.hero-proof b{align-items:center;background:var(--green-3);border-radius:50%;color:var(--green-2);display:flex;font-size:.65rem;height:21px;justify-content:center;width:21px}
.section{padding-bottom:110px;padding-top:110px}.section h2,.principal-section h2,.ppdb-section h2{font-family:Manrope,"DM Sans",sans-serif;font-size:clamp(2rem,3.7vw,4rem);letter-spacing:-.055em}.value-grid article,.program-card,.feature-card,.teacher-card,.achievement-grid article,.info-grid article{transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease}.value-grid article:hover,.program-card:hover,.feature-card:hover,.teacher-card:hover,.achievement-grid article:hover,.info-grid article:hover{border-color:rgba(31,106,73,.27);box-shadow:0 25px 60px rgba(18,60,42,.1);transform:translateY(-4px)}
.intro-section{gap:90px}.value-grid article{border-radius:18px;padding:27px}.value-grid span{align-items:center;background:#fbefd9;border-radius:8px;display:inline-flex;height:28px;justify-content:center;width:30px}.principal-section{background:linear-gradient(135deg,#0d3022,#195139);position:relative}.principal-section:after{background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1.5px);background-size:18px 18px;content:"";inset:0 0 0 68%;opacity:.25;pointer-events:none;position:absolute}.principal-section>*{position:relative;z-index:1}.principal-photo{border:1px solid rgba(255,255,255,.16);border-radius:24px}.program-section,.gallery-section{background:#f0f4ef}.program-card{border-radius:20px;padding:22px}.program-icon{border-radius:12px}.card-image{height:170px}.stats-band{background:linear-gradient(90deg,#f4e5c6,#fbf1dc)}.stats-band span{font-family:Manrope,"DM Sans",sans-serif;letter-spacing:-.04em}.feature-card,.teacher-card,.info-grid article{border-radius:20px}.teacher-section{background:#e9f1eb}.teacher-card img,.avatar-placeholder{border:5px solid var(--green-3);box-shadow:0 10px 28px rgba(18,60,42,.12)}.achievement-grid article{border-left:0;border-top:4px solid var(--gold)}
.gallery-card{border-radius:17px;box-shadow:0 12px 32px rgba(18,60,42,.1);transition:transform .22s ease}.gallery-card:hover{transform:translateY(-4px)}.gallery-card figcaption{padding-bottom:20px}.info-grid article>div,.info-grid article:not(:has(>img)){padding:26px}.info-grid h3{font-family:Manrope,"DM Sans",sans-serif}
.ppdb-section{background:linear-gradient(135deg,#0d3022,#195139);gap:85px}.ppdb-copy{position:sticky;top:120px}.ppdb-form{border:1px solid rgba(255,255,255,.2);border-radius:22px;box-shadow:0 35px 80px rgba(0,0,0,.18);padding:34px}.ppdb-form input,.ppdb-form select,.ppdb-form textarea{background:#fafbf9;border-color:#dbe2dd;border-radius:10px}.ppdb-form input:focus,.ppdb-form select:focus,.ppdb-form textarea:focus{background:#fff;border-color:var(--green-2);box-shadow:0 0 0 4px rgba(31,106,73,.1);outline:none}.checkbox a{color:var(--green-2);font-weight:800}.public-alert{border:1px solid rgba(255,255,255,.25);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.site-footer{background:#0b2a1e}.site-footer h3{color:#e5c784;font-family:Manrope,"DM Sans",sans-serif;letter-spacing:.03em}.whatsapp-float{font-family:Manrope,"DM Sans",sans-serif;transition:transform .2s ease}.whatsapp-float:hover{transform:translateY(-3px) scale(1.03)}
.article-page{border-radius:22px;box-shadow:0 22px 65px rgba(18,60,42,.08)}.success-card{border-radius:24px}.registration-number{background:#f7e9cc}
.article-list .section-heading>p:last-child{color:var(--muted)}.public-pagination{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:38px}.public-pagination a,.public-pagination span{border:1px solid var(--line);border-radius:10px;font-size:.78rem;font-weight:700;padding:10px 14px;text-decoration:none}.public-pagination a{background:var(--green);color:#fff}.public-pagination span{background:#fff;color:var(--muted)}
.lightbox-close:focus-visible,.lightbox-nav:focus-visible{outline-color:#e3b661}
@media(max-width:820px){.announcement-bar{justify-content:space-between}.announcement-bar p{display:none}.ppdb-copy{position:static}.hero-proof{display:none}.site-header{height:74px}}
@media(max-width:560px){.announcement-bar{font-size:.67rem}.hero{min-height:690px}.hero h1{font-size:2.55rem}.section{padding-bottom:76px;padding-top:76px}.ppdb-form{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* === Esthetic refresh v4 === */
.site-header{border-bottom:1px solid rgba(18,60,42,.08);box-shadow:0 8px 28px rgba(18,60,42,.045);position:sticky;top:0}
.main-nav{gap:25px}.main-nav a{font-size:.79rem;position:relative}.main-nav a:after{background:var(--gold);bottom:-8px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%) scaleX(0);transition:transform .2s;width:100%}.main-nav a:hover:after{transform:translateX(-50%) scaleX(1)}
.hero{min-height:min(760px,calc(100vh - 82px))}.hero-media{position:relative}.hero-slide{inset:0;opacity:0;position:absolute;transform:scale(1.035);transition:opacity 1.1s ease,transform 7s ease}.hero-slide.active{opacity:1;transform:scale(1)}
.hero-dots{bottom:32px;display:flex;gap:9px;position:absolute;right:5vw;z-index:3}.hero-dot{background:rgba(255,255,255,.55);border:1px solid rgba(18,60,42,.32);border-radius:99px;cursor:pointer;height:9px;padding:0;transition:width .25s,background .25s;width:9px}.hero-dot.active{background:var(--green-2);width:28px}
.hero-content{max-width:740px;padding-bottom:105px;padding-top:105px}.hero h1{font-size:clamp(2.8rem,4.6vw,4.75rem);line-height:1.04;max-width:720px;text-wrap:balance}.hero-content>p:not(.eyebrow){max-width:620px;text-wrap:pretty}
.intro-section{align-items:start;background:linear-gradient(180deg,#fbfcf9,#f4f7f2);grid-template-columns:.9fr 1.1fr}.section-copy{max-width:620px;position:sticky;top:120px}.section-copy h2{text-wrap:balance}.section-copy>p:last-child{color:var(--muted);font-size:1.04rem;line-height:1.8;max-width:600px}.value-grid{grid-template-columns:1fr 1fr}.value-grid article{min-height:210px}.value-grid article:last-child{grid-column:1/-1;min-height:0}.value-grid h3{font-family:Manrope,"DM Sans",sans-serif;font-size:1.35rem}.value-grid p{line-height:1.72}
.whatsapp-float{bottom:20px;height:52px;right:20px;width:52px}
@media(max-width:1100px){.main-nav{gap:15px}.hero h1{font-size:clamp(2.8rem,5.6vw,4.6rem)}}
@media(max-width:820px){.site-header{top:0}.hero{min-height:700px}.hero-slide{object-position:center}.hero-dots{bottom:22px;right:5vw}.section-copy{position:static}.value-grid{grid-template-columns:1fr 1fr}.intro-section{gap:42px}}
@media(max-width:560px){.hero{min-height:680px}.hero-overlay{background:linear-gradient(180deg,rgba(248,248,244,.65),rgba(248,248,244,.97) 55%,var(--paper))}.hero-content{padding-bottom:72px;padding-top:60px}.hero h1{font-size:2.38rem;letter-spacing:-.055em;line-height:1.06}.hero-content>p:not(.eyebrow){font-size:.96rem;line-height:1.65}.hero-dots{bottom:16px}.value-grid{grid-template-columns:1fr}.value-grid article,.value-grid article:last-child{grid-column:auto;min-height:0}.whatsapp-float{height:48px;width:48px}}

/* Mobile navigation and viewport correction */
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:820px){
  .site-header{position:sticky;z-index:100}
  .main-nav{background:rgba(248,248,244,.99);bottom:auto;box-shadow:0 18px 35px rgba(18,60,42,.12);display:none;left:0;max-height:calc(100vh - 74px);overflow-y:auto;padding:24px 28px 30px;position:absolute;right:0;top:74px;width:100%;z-index:110}
  .main-nav.open{display:flex}
  .main-nav a{font-size:1rem;padding:9px 0;text-align:center;width:100%}
  .main-nav a:after{display:none}
  .nav-toggle{position:relative;z-index:120}
  body.menu-open{overflow:hidden}
  .intro-section{display:grid;gap:34px;grid-template-columns:minmax(0,1fr);overflow:hidden;padding-left:6vw;padding-right:6vw;width:100%}
  .section-copy{max-width:none;min-width:0;position:static;width:100%}
  .section-copy h2{font-size:clamp(2.25rem,9vw,3.25rem);line-height:1.08;margin-bottom:22px;overflow-wrap:anywhere}
  .section-copy>p:last-child{font-size:1rem;line-height:1.72;max-width:none}
  .value-grid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);min-width:0;width:100%}
  .value-grid article,.value-grid article:last-child{grid-column:auto;min-height:0;min-width:0;padding:22px;width:100%}
  .value-grid h3{font-size:1.25rem}
  .value-grid p{font-size:.95rem;overflow-wrap:anywhere}
}
@media(max-width:480px){
  .intro-section{padding-bottom:68px;padding-top:68px}
  .section-copy h2{font-size:2.2rem}
}


/* Hero multi-upload + carousel guru/prestasi v6 */
.content-carousel{position:relative}.carousel-viewport{overflow:hidden;padding:4px 2px 28px}.content-carousel .carousel-track{display:flex;gap:20px;grid-template-columns:none;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}.content-carousel .carousel-track>*{flex:0 0 calc((100% - 60px)/4);min-width:0}.content-carousel .teacher-card,.content-carousel .feature-card,.content-carousel .achievement-grid article{height:auto;margin:0}.carousel-controls{align-items:center;display:flex;gap:13px;justify-content:center;margin-top:6px}.carousel-button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:50%;color:var(--green);cursor:pointer;display:inline-flex;font-family:Arial,sans-serif;font-size:1.75rem;height:44px;justify-content:center;line-height:1;padding:0 0 3px;transition:background .2s,border-color .2s,color .2s,transform .2s;width:44px}.carousel-button:hover,.carousel-button:focus-visible{background:var(--green);border-color:var(--green);color:#fff;outline:none;transform:translateY(-2px)}.carousel-status{color:var(--muted);font-size:.78rem;font-weight:800;min-width:82px;text-align:center}.content-carousel:not(.is-scrollable) .carousel-controls{display:none}
@media(max-width:900px){.content-carousel .carousel-track>*{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:560px){.content-carousel .carousel-track>*{flex-basis:100%}.carousel-viewport{padding-bottom:20px}.carousel-button{height:40px;width:40px}}
@media(prefers-reduced-motion:reduce){.content-carousel .carousel-track{transition:none}}

/* v7.1: lebar kartu carousel diatur dinamis oleh JavaScript agar tetap bergerak saat data hanya 2-4 item. */

/* === v8.0: galeri editorial, CTA, testimoni, navigasi aktif, dan konsistensi media === */
[hidden]{display:none!important}
.main-nav a.active{color:var(--green)}
.main-nav a.active:after{transform:translateX(-50%) scaleX(1)}
.section-heading>p:last-child:not(.section-kicker){color:var(--muted);margin:14px auto 0;max-width:650px}
.section-empty{background:rgba(255,255,255,.7);border:1px dashed var(--line);border-radius:18px;color:var(--muted);margin:0 auto;max-width:680px;padding:34px;text-align:center}
.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}

/* Rasio foto seragam agar seluruh kartu sejajar. */
.feature-card img,.feature-card>.image-placeholder{aspect-ratio:4/3;height:auto;min-height:220px}
.achievement-grid img{aspect-ratio:4/3;height:auto}
.teacher-card img,.avatar-placeholder{aspect-ratio:1/1}
.info-grid article>img{aspect-ratio:16/10;height:auto}

/* Galeri: satu foto utama dan empat foto pendamping. */
.gallery-showcase{display:grid;gap:16px;grid-auto-rows:210px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;max-width:1240px}
.gallery-showcase .gallery-card{min-height:0}
.gallery-showcase .gallery-card img{height:100%;min-height:0}
.gallery-card-featured{grid-column:span 2;grid-row:span 2}
.gallery-card-featured figcaption{padding:120px 26px 24px}
.gallery-card figcaption{gap:3px;padding:72px 18px 17px}
.gallery-card figcaption small{font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.gallery-card figcaption strong{font-family:Manrope,"DM Sans",sans-serif;font-size:1rem;line-height:1.25}
.gallery-card-featured figcaption strong{font-size:1.55rem}
.gallery-card figcaption span{color:rgba(255,255,255,.78);font-size:.83rem;line-height:1.55;margin-top:4px;max-width:680px}
.gallery-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.gallery-extra{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin:16px auto 0;max-width:1240px}
.gallery-extra .gallery-card{aspect-ratio:4/3;min-height:0}
.gallery-extra .gallery-card img{height:100%;min-height:0}
.gallery-extra.open{animation:galleryReveal .35s ease both}
@keyframes galleryReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Lightbox informatif. */
.lightbox-overlay{background:rgba(7,18,13,.95);padding:32px 80px}
.lightbox-figure{align-items:stretch;gap:0;max-height:92vh;max-width:min(92vw,1180px);width:100%}
.lightbox-image{background:#0b1711;border-radius:14px 14px 0 0;box-shadow:0 30px 80px rgba(0,0,0,.5);height:min(68vh,760px);max-height:none;object-fit:contain;width:100%}
.lightbox-caption{background:#fff;border-radius:0 0 14px 14px;color:var(--ink);display:block;max-width:none;padding:20px 24px;text-align:left;width:100%}
.lightbox-meta{align-items:center;color:var(--muted);display:flex;font-size:.72rem;font-weight:800;justify-content:space-between;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}
.lightbox-title{color:var(--green);display:block;font-family:Manrope,"DM Sans",sans-serif;font-size:1.2rem}
.lightbox-description{color:var(--muted);font-size:.9rem;line-height:1.6;margin:7px 0 0}
.lightbox-nav{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18)}

/* Berita tetap ringkas dan tinggi kartu lebih konsisten. */
.info-grid article{display:flex;flex-direction:column;height:100%}
.info-grid article>div{display:flex;flex:1;flex-direction:column}
.info-grid h3{margin-bottom:10px}
.info-grid p{flex:1}
.info-grid a{margin-top:auto}

/* Testimoni opsional, hanya tampil setelah diisi dari admin. */
.testimonial-section{background:linear-gradient(180deg,#f8f2e5,#fffdf7)}
.testimonial-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;max-width:1180px}
.testimonial-grid blockquote{background:#fff;border:1px solid rgba(213,154,53,.25);border-radius:22px;box-shadow:0 18px 45px rgba(18,60,42,.07);margin:0;padding:28px;position:relative}
.testimonial-grid blockquote>span{color:#e3bd75;font-family:Georgia,serif;font-size:4.8rem;line-height:.6;position:absolute;right:22px;top:28px}
.testimonial-grid blockquote>p{color:#4f5b53;line-height:1.8;margin:22px 0 24px;position:relative}
.testimonial-grid footer{display:grid}
.testimonial-grid footer strong{color:var(--green)}
.testimonial-grid footer small{color:var(--muted);margin-top:2px}

/* CTA pendaftaran sebagai jeda visual sebelum formulir. */
.enrollment-cta{align-items:center;background:linear-gradient(135deg,#f3e3c1,#fbf2df);display:grid;gap:40px;grid-template-columns:minmax(0,1.25fr) auto;padding:62px 6vw}
.enrollment-cta h2{color:var(--green);font-family:Manrope,"DM Sans",sans-serif;font-size:clamp(1.8rem,3vw,3.2rem);letter-spacing:-.045em;line-height:1.12;margin:8px 0 12px;max-width:760px}
.enrollment-cta>div>p:last-child{color:#655b49;margin:0;max-width:760px}
.enrollment-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}

/* Footer lebih informatif. */
.footer-whatsapp{display:inline-block;font-weight:800;margin-top:4px;text-decoration:none}
.footer-hours{color:rgba(255,255,255,.58);display:block;line-height:1.65;margin-top:12px}
.footer-socials{display:flex;flex-wrap:wrap;gap:8px 14px}
.footer-socials a{font-size:.82rem;font-weight:800;text-decoration:none}
.site-footer>div:not(.footer-bottom) a:hover{text-decoration:underline}

@media(max-width:980px){
  .gallery-showcase{grid-auto-rows:190px}
  .gallery-extra{grid-template-columns:repeat(3,minmax(0,1fr))}
  .testimonial-grid{grid-template-columns:1fr 1fr}
  .enrollment-cta{grid-template-columns:1fr}
  .enrollment-actions{justify-content:flex-start}
}
@media(max-width:720px){
  .gallery-showcase{grid-auto-rows:175px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-card-featured{grid-column:1/-1;grid-row:span 2}
  .gallery-extra{grid-template-columns:repeat(2,minmax(0,1fr))}
  .testimonial-grid{grid-template-columns:1fr}
  .lightbox-overlay{padding:18px 54px}
  .lightbox-image{height:62vh}
}
@media(max-width:520px){
  .hero-actions{align-items:stretch;flex-direction:column}
  .hero-actions .btn{width:100%}
  .gallery-showcase{display:flex;flex-direction:column}
  .gallery-showcase .gallery-card{aspect-ratio:4/3;min-height:0}
  .gallery-showcase .gallery-card-featured{aspect-ratio:4/3}
  .gallery-card-featured figcaption,.gallery-card figcaption{padding:72px 17px 16px}
  .gallery-card-featured figcaption strong{font-size:1.15rem}
  .gallery-card figcaption span{display:none}
  .gallery-extra{grid-template-columns:1fr}
  .gallery-extra .gallery-card{aspect-ratio:4/3}
  .lightbox-overlay{padding:58px 10px 18px}
  .lightbox-image{height:57vh}
  .lightbox-caption{padding:16px}
  .lightbox-nav{height:42px;width:42px}
  .lightbox-prev{left:6px}.lightbox-next{right:6px}
  .enrollment-cta{padding:50px 6vw}
  .enrollment-actions{align-items:stretch;flex-direction:column}
  .enrollment-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.gallery-extra.open{animation:none}}

/* === Logo sekolah (upload dari Admin > Pengaturan) === */
.brand-logo{width:44px;height:44px;object-fit:contain;border-radius:12px;flex-shrink:0}
.footer-logo{background:#fff;padding:4px}
.eyebrow{display:inline-flex;align-items:center;gap:8px}
.eyebrow-logo{width:22px;height:22px;object-fit:contain;border-radius:6px;flex-shrink:0}

/* === Mobile layout refinement v9.0 ===
   Skala tipografi, ritme ruang, kartu, tombol, formulir, dan area aman
   diseragamkan untuk viewport ponsel tanpa mengubah struktur halaman. */
@media(max-width:560px){
  html{font-size:16px}
  body{font-size:17px;line-height:1.6}
  p{hyphens:none;text-wrap:pretty}

  /* Header */
  .site-header{gap:12px;height:76px;padding:0 20px}
  .brand{gap:10px;min-width:0}
  .brand-logo{height:44px;width:44px}
  .brand-text{min-width:0}
  .brand-text strong{font-size:1.125rem;line-height:1.15;white-space:nowrap}
  .brand-text small{font-size:.75rem;line-height:1.3;margin-top:4px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nav-toggle{flex:0 0 44px;height:44px;width:44px}
  .main-nav{max-height:calc(100dvh - 76px);padding:22px 20px 28px;top:76px}
  .main-nav a{font-size:1rem;min-height:44px;padding:10px 0}

  /* Hero */
  .hero{min-height:auto}
  .hero-content{align-self:stretch;max-width:none;padding:52px 20px 72px}
  .hero h1{font-size:clamp(2.375rem,10.5vw,2.625rem);letter-spacing:-.035em;line-height:1.07;margin:18px 0 20px;max-width:100%;overflow-wrap:normal;text-wrap:balance;word-break:normal}
  .eyebrow,.section-kicker{font-size:.8125rem;letter-spacing:.16em;line-height:1.3}
  .eyebrow{gap:8px;margin:0}
  .eyebrow-logo{height:24px;width:24px}
  .hero-content>p:not(.eyebrow){font-size:1.0625rem;line-height:1.6;margin:0;max-width:38ch}
  .hero-actions{gap:12px;margin-top:28px}
  .hero-actions .btn{border-radius:16px;font-size:1.0625rem;min-height:56px;padding:14px 18px;width:100%}
  .hero-dots{bottom:20px;gap:8px;right:20px}
  .hero-dot{height:8px;width:8px}
  .hero-dot.active{width:24px}

  /* Ritme section dan judul */
  .section{padding:64px 20px}
  .section h2,.principal-section h2,.ppdb-section h2,.enrollment-cta h2{font-size:clamp(2rem,9vw,2.25rem);letter-spacing:-.03em;line-height:1.1;margin:10px 0 20px;overflow-wrap:normal;text-wrap:balance;word-break:normal}
  .section-heading{margin-bottom:32px}
  .section-heading>p:last-child:not(.section-kicker),.section-copy>p:last-child{font-size:1.0625rem;line-height:1.6;margin-top:0;max-width:38ch}
  .section-heading.centered>p:last-child:not(.section-kicker){margin-left:auto;margin-right:auto}
  .intro-section{gap:32px}
  .section-copy h2{font-size:clamp(2rem,9vw,2.25rem);line-height:1.1;margin-bottom:20px;overflow-wrap:normal}

  /* Kartu profil */
  .value-grid{gap:20px}
  .value-grid article,.value-grid article:last-child{border-radius:24px;padding:24px}
  .value-grid span{font-size:.8125rem;height:32px;width:34px}
  .value-grid h3{font-size:1.5rem;line-height:1.2;margin:14px 0 14px}
  .value-grid p{font-size:1.0625rem;line-height:1.55}

  /* Sambutan kepala sekolah */
  .principal-section{gap:32px;padding:64px 20px}
  .principal-photo{aspect-ratio:4/5;border-radius:24px;min-height:0}
  .principal-photo img{height:100%;min-height:0}
  .principal-section p:not(.section-kicker){color:rgba(255,255,255,.8);font-size:1.0625rem;line-height:1.6}
  .principal-section strong{font-size:1.125rem;margin-top:24px}
  .principal-section small{font-size:.9375rem;margin-top:3px}

  /* Program dan kartu konten */
  .program-grid,.teacher-grid,.achievement-grid,.feature-grid,.info-grid{gap:20px}
  .program-card{border-radius:24px;padding:24px}
  .program-card h3,.feature-card h3,.info-grid h3{font-size:1.5rem;line-height:1.2;margin:16px 0 12px}
  .program-card p,.feature-card p,.info-grid p{font-size:1.0625rem;line-height:1.55;margin-top:0}
  .program-card p{min-height:0}
  .program-icon{height:52px;width:52px}
  .card-image{aspect-ratio:16/10;height:auto;margin-top:22px}
  .feature-card,.teacher-card,.info-grid article{border-radius:24px}
  .feature-card div:last-child,.info-grid article>div,.info-grid article:not(:has(>img)){padding:24px}
  .teacher-card{padding:24px}
  .teacher-card h3{font-size:1.25rem;line-height:1.25}
  .teacher-card p{font-size:1rem;line-height:1.55}
  .achievement-grid article{border-radius:20px;padding:24px}
  .achievement-grid h3{font-size:1.375rem;line-height:1.25;margin:10px 0}
  .achievement-grid p{font-size:1rem;line-height:1.55}
  .info-grid h3{margin:12px 0}
  .info-grid a{display:inline-flex;font-size:1rem;margin-top:20px;min-height:44px}
  .carousel-viewport{padding-bottom:20px}
  .carousel-controls{margin-top:0}

  /* Statistik */
  .stats-band{padding:42px 20px}
  .stats-band article{border-bottom:1px solid rgba(93,68,29,.14);padding:22px 0}
  .stats-band article:last-child{border-bottom:0}
  .stats-band span{font-size:2rem}
  .stats-band strong{font-size:1.0625rem}
  .stats-band p{font-size:.9375rem;line-height:1.5}

  /* Galeri dan testimoni */
  .gallery-showcase{gap:16px}
  .gallery-showcase .gallery-card,.gallery-showcase .gallery-card-featured,.gallery-extra .gallery-card{border-radius:20px}
  .testimonial-grid{gap:20px}
  .testimonial-grid blockquote{border-radius:24px;padding:24px}
  .testimonial-grid blockquote>p{font-size:1.0625rem;line-height:1.6}

  /* CTA pendaftaran */
  .enrollment-cta{gap:28px;padding:56px 20px}
  .enrollment-cta>div>p:last-child{font-size:1.0625rem;line-height:1.6}
  .enrollment-actions{gap:12px;width:100%}
  .enrollment-actions .btn{border-radius:16px;font-size:1.0625rem;min-height:56px;padding:14px 18px;width:100%}

  /* Formulir SPMB */
  .ppdb-section{gap:36px;padding:64px 20px}
  .ppdb-copy>p:last-child{color:rgba(255,255,255,.8);font-size:1.0625rem;line-height:1.6}
  .ppdb-form{border-radius:24px;gap:20px;padding:24px}
  .ppdb-form label{font-size:1rem;line-height:1.45}
  .ppdb-form input,.ppdb-form select,.ppdb-form textarea{border-radius:14px;font-size:16px;margin-top:8px;min-height:56px;padding:14px 15px}
  .ppdb-form textarea{min-height:120px}
  .ppdb-form .checkbox{font-size:.9375rem;line-height:1.55}
  .ppdb-form .btn{border-radius:16px;font-size:1.0625rem;min-height:56px;width:100%}
  .form-note{font-size:.875rem;line-height:1.55}

  /* Artikel, peta, dan footer */
  .article-shell{padding:36px 16px 64px}
  .article-page{border-radius:22px;padding:28px 20px}
  .article-page h1,.article-list h1{font-size:2.125rem;line-height:1.1;overflow-wrap:normal;text-wrap:balance;word-break:normal}
  .article-lead{font-size:1.125rem;line-height:1.6}
  .article-content{font-size:1.0625rem;line-height:1.65}
  .map-section iframe{height:320px}
  .site-footer{font-size:1rem;gap:32px;padding:56px 20px calc(96px + env(safe-area-inset-bottom))}
  .site-footer p,.footer-hours{line-height:1.6}
  .site-footer a{overflow-wrap:anywhere}
  .site-footer h3{font-size:1rem;margin-bottom:14px}
  .footer-socials a{font-size:.9375rem}
  .footer-brand strong{font-size:1.125rem}
  .footer-brand small{font-size:.8125rem}
  .footer-bottom{gap:10px;padding-top:24px}

  /* Tombol mengambang tetap berada di area aman ponsel. */
  .whatsapp-float{bottom:calc(16px + env(safe-area-inset-bottom));font-size:.9375rem;height:56px;right:16px;width:56px}
}

@media(max-width:360px){
  .site-header{padding-left:16px;padding-right:16px}
  .brand-text strong{font-size:1rem}
  .brand-text small{font-size:.6875rem;max-width:190px}
  .hero-content,.section,.principal-section,.ppdb-section,.enrollment-cta{padding-left:16px;padding-right:16px}
  .hero h1{font-size:2.25rem}
  .section h2,.principal-section h2,.ppdb-section h2,.enrollment-cta h2,.section-copy h2{font-size:1.9375rem}
  .value-grid article,.program-card,.teacher-card,.achievement-grid article{padding:20px}
  .feature-card div:last-child,.info-grid article>div,.info-grid article:not(:has(>img)){padding:20px}
  .ppdb-form{padding:20px}
}

/* === V10: tampilan publik profesional, direktori, SPMB, dan CTA mobile === */
.site-icon{display:block;flex:0 0 auto;height:20px;width:20px}.header-cta .site-icon,.btn .site-icon{height:17px;width:17px}.brand-logo{object-fit:contain}.inner-site-header{background:rgba(255,253,245,.97)}body.inner-page{background:#f5f7f3}.inner-page .main-nav{gap:17px}.inner-page .main-nav a{font-size:.78rem}
.trust-facts{background:#fff;border-bottom:1px solid var(--line);display:grid;gap:0;grid-template-columns:repeat(6,minmax(0,1fr));padding:0 5vw}.trust-fact{align-items:center;border-right:1px solid var(--line);display:flex;gap:12px;min-height:112px;padding:20px}.trust-fact:last-child{border:0}.trust-fact-icon{align-items:center;background:var(--green-3);border-radius:12px;color:var(--green-2);display:flex;flex:0 0 auto;height:43px;justify-content:center;width:43px}.trust-fact small,.trust-fact strong{display:block}.trust-fact small{color:var(--muted);font-size:.67rem;letter-spacing:.04em;text-transform:uppercase}.trust-fact strong{color:var(--green);font-family:Manrope,"DM Sans",sans-serif;font-size:.88rem;line-height:1.3;margin-top:3px}
.section-link-row{align-items:center;display:flex;justify-content:center;margin-top:30px}.section-link-row .btn{background:transparent}.agenda-preview-section{background:#fff}.agenda-preview-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.agenda-preview-card{align-items:flex-start;background:#f8faf6;border:1px solid var(--line);border-radius:20px;display:grid;gap:16px;grid-template-columns:74px 1fr;padding:20px;text-decoration:none;transition:.2s}.agenda-preview-card:hover{border-color:rgba(31,106,73,.3);box-shadow:var(--shadow);transform:translateY(-3px)}.agenda-preview-card time{align-items:center;background:#f4e5c6;border-radius:14px;color:var(--green);display:flex;flex-direction:column;height:76px;justify-content:center}.agenda-preview-card time strong{font-family:Manrope,"DM Sans",sans-serif;font-size:1.65rem;line-height:1}.agenda-preview-card time span{font-size:.65rem;font-weight:900;letter-spacing:.08em}.agenda-preview-card small{color:var(--gold);font-size:.7rem;font-weight:900;text-transform:uppercase}.agenda-preview-card h3{color:var(--green);font-size:1.06rem;line-height:1.35;margin:4px 0}.agenda-preview-card p{color:var(--muted);font-size:.8rem;margin:0}
.spmb-information{display:grid;gap:14px;margin-top:28px}.spmb-info-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:17px}.spmb-info-card>div{align-items:center;display:flex;gap:9px}.spmb-info-card .site-icon{color:#e7c781}.spmb-info-card h3{font-size:.9rem;margin:0}.spmb-info-card ul,.spmb-info-card ol{color:rgba(255,255,255,.73);font-size:.78rem;margin:12px 0 0;padding-left:19px}.spmb-info-card li+li{margin-top:5px}.spmb-mini-facts{display:grid;gap:10px;grid-template-columns:1fr 1fr}.spmb-mini-facts div{background:rgba(255,255,255,.08);border-radius:12px;padding:13px}.spmb-mini-facts small,.spmb-mini-facts strong{display:block}.spmb-mini-facts small{color:rgba(255,255,255,.55);font-size:.65rem}.spmb-mini-facts strong{font-size:.78rem;margin-top:4px}.spmb-form-column{min-width:0}.spmb-status-link{align-items:center;border:1px solid rgba(255,255,255,.25);border-radius:13px;color:#fff;display:flex;font-size:.82rem;font-weight:800;gap:9px;justify-content:center;margin-bottom:14px;padding:12px;text-decoration:none}.spmb-faq{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:20px;color:#fff;margin-top:18px;padding:20px}.spmb-faq h3{margin:0 0 10px}.spmb-faq details{border-top:1px solid rgba(255,255,255,.12);padding:12px 0}.spmb-faq summary{color:#fff;font-size:.82rem}.spmb-faq details p{color:rgba(255,255,255,.68);font-size:.78rem;margin:8px 0 0}.ppdb-form button:disabled{cursor:wait;opacity:.7}
.footer-whatsapp{align-items:center;display:inline-flex;gap:8px}.footer-whatsapp .site-icon{height:18px;width:18px}.whatsapp-float .site-icon{height:27px;width:27px}.mobile-action-bar{display:none}

/* Direktori dan halaman dalam */
.public-directory-shell{margin:0 auto;max-width:1320px;min-height:68vh;padding:70px 5vw 100px}.directory-hero{max-width:820px;padding:20px 0 50px}.directory-hero h1{color:var(--green);font-family:Manrope,"DM Sans",sans-serif;font-size:clamp(2.7rem,6vw,5.6rem);letter-spacing:-.06em;line-height:1.02;margin:12px 0 20px}.directory-hero>p:last-child{color:var(--muted);font-size:1.06rem;max-width:700px}.compact-hero{padding-bottom:34px}.public-filter{align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 36px rgba(18,60,42,.06);display:grid;gap:10px;grid-template-columns:minmax(260px,1fr) minmax(180px,.34fr) auto auto;margin-bottom:28px;padding:12px}.public-filter input,.public-filter select{background:#fafbf8;border:1px solid var(--line);border-radius:11px;min-height:48px;padding:10px 12px;width:100%}.public-filter .btn{margin:0;min-height:48px}.search-field{align-items:center;display:flex;position:relative}.search-field .site-icon{color:var(--muted);left:14px;position:absolute}.search-field input{padding-left:43px}.compact-filter{grid-template-columns:minmax(220px,360px) auto auto;justify-content:start}.directory-summary{align-items:baseline;color:var(--muted);display:flex;gap:8px;margin:0 0 18px}.directory-summary strong{color:var(--green);font-size:1.5rem}.directory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.directory-grid .teacher-card h2,.directory-grid.achievement-grid h2{color:var(--green);font-family:Manrope,"DM Sans",sans-serif;font-size:1.08rem;line-height:1.35;margin:8px 0}.directory-grid .teacher-card img,.directory-grid .avatar-placeholder{height:150px;width:150px}.directory-grid.achievement-grid article{position:relative}.directory-grid.achievement-grid img{height:210px}.card-icon{align-items:center;background:var(--green-3);border-radius:10px;color:var(--green-2);display:flex;height:38px;justify-content:center;margin:-4px 0 12px;width:38px}.card-icon .site-icon{height:18px;width:18px}.empty-directory{background:#fff;border:1px dashed rgba(18,60,42,.2);border-radius:22px;color:var(--muted);padding:55px;text-align:center}.empty-directory h2{color:var(--green);margin:0}.gallery-directory{display:grid;gap:15px;grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-directory .gallery-card{min-height:360px}.gallery-directory .gallery-card:nth-child(7n+1){grid-column:span 2}.gallery-directory .gallery-card img{min-height:360px}.gallery-directory figcaption small{font-size:.68rem}.inner-footer{margin-top:0}

/* Agenda */
.agenda-list{display:grid;gap:14px}.agenda-card{align-items:start;background:#fff;border:1px solid var(--line);border-radius:20px;display:grid;gap:24px;grid-template-columns:92px 1fr;padding:22px}.agenda-card.is-past{opacity:.68}.agenda-card time{align-items:center;background:linear-gradient(145deg,#f4e5c6,#fff3d9);border-radius:15px;color:var(--green);display:flex;flex-direction:column;min-height:90px;padding:11px}.agenda-card time strong{font-family:Manrope,"DM Sans",sans-serif;font-size:2rem;line-height:1}.agenda-card time span{font-size:.68rem;font-weight:900;letter-spacing:.1em}.agenda-card time small{color:#806332;font-size:.7rem}.agenda-category{color:var(--gold);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.agenda-card h2{color:var(--green);font-family:Manrope,"DM Sans",sans-serif;font-size:1.35rem;margin:4px 0}.agenda-card p{color:var(--muted);margin:0}.agenda-meta{display:flex;flex-wrap:wrap;gap:16px;margin-top:13px}.agenda-meta span{align-items:center;color:#526057;display:inline-flex;font-size:.76rem;gap:6px}.agenda-meta .site-icon{height:16px;width:16px}

/* Status SPMB */
.status-shell{max-width:1120px}.status-layout{align-items:start;display:grid;gap:22px;grid-template-columns:1fr 1fr}.public-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 15px 45px rgba(18,60,42,.06);padding:28px}.public-card h2{color:var(--green);font-family:Manrope,"DM Sans",sans-serif;line-height:1.2;margin:0 0 20px}.status-form label{color:#344b3e;display:block;font-size:.8rem;font-weight:800;margin-bottom:16px}.status-form input{background:#fafbf8;border:1px solid var(--line);border-radius:11px;display:block;margin-top:7px;min-height:50px;padding:11px 13px;width:100%}.status-form input:focus{border-color:var(--green-2);box-shadow:0 0 0 4px rgba(31,106,73,.1);outline:0}.status-form .btn{width:100%}.status-help>.site-icon,.status-result-icon{align-items:center;background:var(--green-3);border-radius:14px;color:var(--green-2);display:flex;height:54px;padding:14px;width:54px}.status-help p{color:var(--muted)}.text-link{color:var(--green-2);font-weight:900;text-decoration:none}.status-result-icon{margin-bottom:20px}.status-result h2{font-size:1.9rem;margin:5px 0 12px}.public-status{border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:900;padding:7px 12px;text-transform:uppercase}.status-baru{background:#fff0cf;color:#825a18}.status-diverifikasi,.status-diterima{background:#def1e3;color:#23613c}.status-cadangan{background:#e8ebf6;color:#3f568f}.status-ditolak{background:#fae9e7;color:#a33732}.status-result dl{display:grid;gap:9px;grid-template-columns:1fr 1fr;margin:24px 0}.status-result dl div{background:#f7faf6;border-radius:12px;padding:12px}.status-result dt{color:var(--muted);font-size:.68rem}.status-result dd{color:var(--green);font-weight:800;margin:2px 0 0}.status-public-note{background:#f9efd9;border-left:4px solid var(--gold);border-radius:12px;padding:15px}.status-public-note p{color:#665437;margin:5px 0 0}

/* Berita dan artikel */
.news-filter-meta{align-items:center;display:flex;gap:10px;justify-content:space-between;margin:0 0 20px}.news-category-pills{display:flex;flex-wrap:wrap;gap:7px}.news-category-pills a{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.73rem;font-weight:800;padding:7px 11px;text-decoration:none}.news-category-pills a.active{background:var(--green);border-color:var(--green);color:#fff}.article-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:22px 0}.article-share{display:flex;gap:8px}.article-share a{align-items:center;background:var(--green-3);border-radius:9px;color:var(--green-2);display:inline-flex;font-size:.72rem;font-weight:900;gap:6px;padding:8px 10px;text-decoration:none}.article-share .site-icon{height:16px;width:16px}

@media(max-width:1180px){.trust-facts{grid-template-columns:repeat(3,1fr)}.trust-fact:nth-child(3){border-right:0}.trust-fact:nth-child(-n+3){border-bottom:1px solid var(--line)}.directory-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.agenda-preview-grid{grid-template-columns:1fr}.public-filter{grid-template-columns:1fr 1fr}.public-filter .search-field{grid-column:1/-1}.directory-grid{grid-template-columns:repeat(2,1fr)}.gallery-directory{grid-template-columns:1fr 1fr}.gallery-directory .gallery-card:nth-child(7n+1){grid-column:auto}.status-layout{grid-template-columns:1fr}.inner-page .main-nav{gap:12px}}
@media(max-width:820px){body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.trust-facts{grid-template-columns:1fr 1fr;padding:0 4vw}.trust-fact{border-bottom:1px solid var(--line);min-height:96px}.trust-fact:nth-child(odd){border-right:1px solid var(--line)}.trust-fact:nth-child(even){border-right:0}.trust-fact:nth-last-child(-n+2){border-bottom:0}.mobile-action-bar{background:rgba(255,255,255,.97);border-top:1px solid rgba(18,60,42,.13);bottom:0;display:grid;grid-template-columns:repeat(3,1fr);left:0;padding:7px 8px calc(7px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:80;backdrop-filter:blur(14px)}.mobile-action-bar a{align-items:center;border-right:1px solid var(--line);color:var(--green);display:flex;flex-direction:column;font-size:.65rem;font-weight:900;gap:3px;justify-content:center;min-height:52px;text-decoration:none}.mobile-action-bar a:last-child{border:0}.mobile-action-bar .site-icon{height:21px;width:21px}.whatsapp-float{display:none}.site-footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.public-directory-shell{padding-top:45px}.spmb-mini-facts{grid-template-columns:1fr}.inner-page .main-nav a{font-size:1.05rem}.inner-site-header{height:76px}}
@media(max-width:600px){.trust-fact{align-items:flex-start;flex-direction:column;gap:8px;padding:17px 14px}.trust-fact-icon{height:38px;width:38px}.trust-fact strong{font-size:.8rem}.directory-hero h1{font-size:2.65rem}.public-filter{grid-template-columns:1fr}.public-filter .search-field{grid-column:auto}.public-filter .btn{width:100%}.directory-grid,.gallery-directory{grid-template-columns:1fr}.gallery-directory .gallery-card,.gallery-directory .gallery-card img{min-height:310px}.directory-grid .teacher-card img,.directory-grid .avatar-placeholder{height:140px;width:140px}.agenda-card{gap:15px;grid-template-columns:72px 1fr;padding:16px}.agenda-card time{min-height:76px}.agenda-card time strong{font-size:1.65rem}.status-result dl{grid-template-columns:1fr}.public-card{padding:22px}.compact-filter{grid-template-columns:1fr}.news-filter-meta{align-items:flex-start;flex-direction:column}.mobile-action-bar a{font-size:.61rem}}
.info-grid h2{color:var(--green);font-family:Manrope,"DM Sans",sans-serif;font-size:1.2rem;line-height:1.3;margin:12px 0}
.hero-proof b .site-icon{height:13px;width:13px}.success-icon .site-icon{height:30px;width:30px}

/* === V10.2: penyempurnaan tampilan publik untuk ponsel ===
   Diletakkan paling akhir agar menjadi sumber aturan mobile yang konsisten. */
@media(max-width:820px){
  body{padding-bottom:0}
  main,section,article,form,nav,.site-footer>*{min-width:0}
  .site-footer{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .mobile-action-bar{grid-template-columns:repeat(auto-fit,minmax(0,1fr));min-height:66px}
  .mobile-action-bar a{line-height:1.2;min-width:0;padding:4px 6px}
  .mobile-action-bar a span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

@media(max-width:600px){
  html{font-size:16px}
  body{font-size:16px;line-height:1.65}
  p,li,dd,summary{overflow-wrap:break-word;word-break:normal}

  /* Header dan menu */
  .site-header,.inner-site-header{gap:8px;height:72px;padding:0 16px}
  .brand{flex:1;gap:9px;min-width:0;overflow:hidden}
  .brand-logo{height:40px;width:40px}
  .brand-mark{flex:0 0 40px;height:40px;width:40px}
  .brand-text{min-width:0;overflow:hidden}
  .brand-text strong,.brand-text small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .brand-text strong{font-size:1rem;line-height:1.15}
  .brand-text small{font-size:.7rem;line-height:1.25;margin-top:3px}
  .nav-toggle{flex:0 0 44px;height:44px;padding:8px;width:44px}
  .main-nav{max-height:calc(100dvh - 72px);padding:18px 16px 24px;top:72px}
  .main-nav a,.inner-page .main-nav a{font-size:1rem;line-height:1.35;min-height:46px;padding:11px 0}

  /* Hero */
  .hero{min-height:620px;min-height:min(720px,calc(100svh - 72px))}
  .hero-content{align-self:end;max-width:none;padding:44px 16px 68px}
  .hero h1{font-size:clamp(2rem,9.2vw,2.5rem);letter-spacing:-.035em;line-height:1.08;margin:16px 0 18px;max-width:100%;overflow-wrap:break-word;text-wrap:balance;word-break:normal}
  .eyebrow,.section-kicker{font-size:.75rem;letter-spacing:.12em;line-height:1.4;max-width:100%;overflow-wrap:break-word;white-space:normal}
  .eyebrow{align-items:flex-start}
  .eyebrow-logo{height:22px;margin-top:1px;width:22px}
  .hero-content>p:not(.eyebrow){font-size:1rem;line-height:1.65;max-width:38ch}
  .hero-actions{align-items:stretch;flex-direction:column;gap:10px;margin-top:24px;width:100%}
  .hero-actions .btn{border-radius:14px;font-size:1rem;line-height:1.3;min-height:52px;padding:13px 16px;width:100%}
  .hero-dots{bottom:14px;right:16px}

  /* Ritme dan judul bagian */
  .section{padding:56px 16px}
  .section-heading{margin-bottom:28px}
  .section-heading.centered{margin-left:0;margin-right:0;text-align:left}
  .section-heading.centered>p:last-child:not(.section-kicker){margin-left:0;margin-right:0}
  .section h2,.principal-section h2,.ppdb-section h2,.enrollment-cta h2,.section-copy h2{font-size:clamp(1.8rem,8vw,2.2rem);letter-spacing:-.025em;line-height:1.14;margin:9px 0 18px;overflow-wrap:break-word;text-wrap:balance;word-break:normal}
  .section-heading>p:last-child:not(.section-kicker),.section-copy>p:last-child,.enrollment-cta>div>p:last-child{font-size:1rem;line-height:1.65;margin-top:0;max-width:42ch}
  .intro-section{gap:28px}

  /* Informasi singkat sekolah */
  .trust-facts{grid-template-columns:1fr 1fr;padding:0 12px}
  .trust-fact{align-items:center;flex-direction:row;gap:9px;min-height:92px;padding:13px 10px}
  .trust-fact-icon{border-radius:10px;height:34px;width:34px}
  .trust-fact-icon .site-icon{height:17px;width:17px}
  .trust-fact small{font-size:.62rem;letter-spacing:.035em;line-height:1.3}
  .trust-fact strong{font-size:.8rem;line-height:1.35;margin-top:2px;overflow-wrap:break-word}

  /* Sambutan, kartu, dan carousel */
  .principal-section{gap:28px;padding:56px 16px}
  .principal-section p:not(.section-kicker){font-size:1rem;line-height:1.65}
  .value-grid,.program-grid,.feature-grid,.teacher-grid,.achievement-grid,.info-grid{gap:16px}
  .value-grid article,.value-grid article:last-child,.program-card,.teacher-card,.achievement-grid article{border-radius:20px;padding:20px}
  .value-grid h3,.program-card h3,.feature-card h3,.info-grid h3{font-size:1.25rem;line-height:1.25;margin:13px 0 10px}
  .value-grid p,.program-card p,.feature-card p,.teacher-card p,.achievement-grid p,.info-grid p{font-size:1rem;line-height:1.6}
  .feature-card div:last-child,.info-grid article>div,.info-grid article:not(:has(>img)){padding:20px}
  .feature-card,.teacher-card,.info-grid article{border-radius:20px}
  .teacher-card h3{font-size:1.2rem;line-height:1.3}
  .achievement-grid h3{font-size:1.2rem;line-height:1.3}
  .carousel-viewport{touch-action:pan-y}
  .content-carousel .carousel-track>*{max-width:100%}

  /* Statistik, galeri, agenda, dan berita */
  .stats-band{padding:34px 16px}
  .stats-band article{padding:18px 0}
  .stats-band p{font-size:.9rem;line-height:1.5}
  .gallery-showcase,.gallery-extra{gap:14px}
  .agenda-preview-grid{gap:14px}
  .agenda-preview-card{gap:13px;grid-template-columns:64px minmax(0,1fr);padding:16px}
  .agenda-preview-card time{height:66px}
  .agenda-preview-card h3{font-size:1rem;line-height:1.4;overflow-wrap:break-word}
  .agenda-preview-card p{font-size:.9rem;line-height:1.5;overflow-wrap:break-word}
  .agenda-preview-card small{font-size:.68rem;line-height:1.4}
  .info-grid a{font-size:1rem;line-height:1.4;min-height:44px}

  /* CTA dan SPMB */
  .enrollment-cta{gap:24px;padding:48px 16px}
  .enrollment-actions{align-items:stretch;flex-direction:column;gap:10px;width:100%}
  .enrollment-actions .btn{border-radius:14px;font-size:1rem;line-height:1.3;min-height:52px;padding:13px 16px;width:100%}
  .ppdb-section{gap:30px;padding:56px 16px}
  .ppdb-copy>p:last-child{font-size:1rem;line-height:1.65}
  .spmb-information{gap:12px;margin-top:24px}
  .spmb-info-card{border-radius:14px;padding:16px}
  .spmb-info-card h3{font-size:1rem;line-height:1.4}
  .spmb-info-card ul,.spmb-info-card ol{font-size:.95rem;line-height:1.65;margin-top:10px;padding-left:20px}
  .spmb-mini-facts{grid-template-columns:1fr}
  .spmb-mini-facts div{padding:14px}
  .spmb-mini-facts small{font-size:.75rem;line-height:1.4}
  .spmb-mini-facts strong{font-size:.95rem;line-height:1.5;margin-top:4px;overflow-wrap:break-word}
  .spmb-status-link{flex-wrap:wrap;font-size:.95rem;line-height:1.45;min-height:52px;padding:12px 14px;text-align:center}
  .ppdb-form{border-radius:20px;gap:16px;padding:20px}
  .ppdb-form label{font-size:.95rem;line-height:1.45}
  .ppdb-form input,.ppdb-form select,.ppdb-form textarea{border-radius:12px;font-size:16px;line-height:1.4;margin-top:7px;min-height:52px;padding:13px 14px}
  .ppdb-form textarea{min-height:112px}
  .ppdb-form .checkbox{font-size:.9rem;line-height:1.55}
  .ppdb-form .btn{border-radius:14px;font-size:1rem;min-height:52px}
  .form-note{font-size:.85rem;line-height:1.55}
  .spmb-faq{border-radius:18px;padding:18px}
  .spmb-faq h3{font-size:1.05rem;line-height:1.4}
  .spmb-faq summary{font-size:.95rem;line-height:1.5}
  .spmb-faq details p{font-size:.9rem;line-height:1.6}

  /* Halaman direktori, artikel, dan footer */
  .public-directory-shell{padding:36px 16px 72px}
  .directory-hero{padding:10px 0 32px}
  .directory-hero h1{font-size:clamp(2rem,9vw,2.45rem);letter-spacing:-.035em;line-height:1.08;overflow-wrap:break-word}
  .directory-hero>p:last-child{font-size:1rem;line-height:1.65}
  .public-filter{border-radius:16px;padding:10px}
  .public-filter input,.public-filter select,.public-filter .btn{font-size:16px;min-height:50px}
  .empty-directory{padding:36px 18px}
  .gallery-directory .gallery-card{aspect-ratio:4/3;min-height:0}
  .gallery-directory .gallery-card img{height:100%;min-height:0}
  .agenda-card{grid-template-columns:66px minmax(0,1fr)}
  .agenda-card h2{font-size:1.15rem;line-height:1.35;overflow-wrap:break-word}
  .public-card{border-radius:18px;padding:20px}
  .article-shell{padding:30px 12px 56px}
  .article-page{border-radius:18px;padding:24px 18px}
  .article-page h1,.article-list h1{font-size:clamp(1.9rem,8.5vw,2.25rem);line-height:1.12;overflow-wrap:break-word}
  .article-content{font-size:1rem;line-height:1.7;overflow-wrap:anywhere}
  .article-content img,.article-content video,.article-content iframe{height:auto;max-width:100%}
  .article-content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .site-footer{font-size:1rem;gap:28px;padding-left:16px;padding-right:16px}
  .site-footer p,.footer-hours{font-size:.95rem;line-height:1.65}
  .footer-bottom{gap:8px}

  /* Lightbox dan halaman berhasil */
  .lightbox-overlay{padding:52px 8px 76px}
  .lightbox-figure{max-height:calc(100dvh - 128px);max-width:100%}
  .lightbox-image{height:auto;max-height:54dvh}
  .lightbox-caption{max-height:28dvh;overflow-y:auto;padding:14px}
  .lightbox-title{font-size:1.05rem}
  .lightbox-description{font-size:.88rem}
  .success-page{padding:18px 14px}
  .success-card{border-radius:20px;padding:28px 18px;width:100%}
  .success-card h1{font-size:2rem}

  /* Bilah aksi bawah */
  .mobile-action-bar{padding:5px 6px calc(5px + env(safe-area-inset-bottom))}
  .mobile-action-bar a{font-size:.72rem;gap:4px;min-height:54px}
  .mobile-action-bar .site-icon{height:20px;width:20px}
}

@media(max-width:380px){
  .site-header,.inner-site-header{padding-left:12px;padding-right:12px}
  .brand-text small{display:none}
  .hero-content,.section,.principal-section,.ppdb-section,.enrollment-cta{padding-left:14px;padding-right:14px}
  .hero h1{font-size:2rem}
  .section h2,.principal-section h2,.ppdb-section h2,.enrollment-cta h2,.section-copy h2{font-size:1.8rem}
  .trust-facts{padding-left:8px;padding-right:8px}
  .trust-fact{padding-left:8px;padding-right:8px}
  .ppdb-form{padding:16px}
  .mobile-action-bar a{font-size:.68rem;padding-left:3px;padding-right:3px}
}

@media(max-width:340px){
  .trust-facts{grid-template-columns:1fr}
  .trust-fact{border-bottom:1px solid var(--line)!important;border-right:0!important;min-height:76px}
  .trust-fact:last-child{border-bottom:0!important}
  .mobile-action-bar a{font-size:.64rem}
}

@media(max-width:900px) and (max-height:500px) and (orientation:landscape){
  .site-header,.inner-site-header{height:64px}
  .main-nav{max-height:calc(100dvh - 64px);top:64px}
  .hero{min-height:520px}
  .mobile-action-bar{min-height:50px;padding-bottom:calc(3px + env(safe-area-inset-bottom));padding-top:3px}
  .mobile-action-bar a{flex-direction:row;gap:6px;min-height:44px}
  .site-footer{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
}

/* === V10.3: hierarki judul bagian publik pada ponsel === */
@media(max-width:600px){
  /* Label kecil tetap tegas, tetapi tidak bersaing dengan judul utama. */
  .section-heading .section-kicker{
    color:#ad7422;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.13em;
    line-height:1.45;
    margin:0;
    max-width:100%;
  }

  /* Hapus margin ganda antara judul dan kartu agar ritmenya lebih elegan. */
  .section-heading{
    margin-bottom:30px;
    max-width:100%;
  }
  .section-heading h2,
  .section-heading.centered h2{
    font-size:clamp(1.75rem,7.5vw,2.05rem);
    hyphens:none;
    letter-spacing:-.03em;
    line-height:1.16;
    margin:10px 0 0;
    max-width:23ch;
    overflow-wrap:break-word;
    text-wrap:balance;
    word-break:normal;
  }
  .section-heading h2+p{
    color:#5d6c63;
    font-size:.98rem;
    line-height:1.65;
    margin:14px 0 0!important;
    max-width:40ch!important;
  }

  /* Beri sedikit ruang lebih dekat pada kartu foto guru. */
  .teacher-section .section-heading{margin-bottom:26px}
}

@media(max-width:380px){
  .section-heading{margin-bottom:26px}
  .section-heading .section-kicker{font-size:.68rem;letter-spacing:.105em}
  .section-heading h2,
  .section-heading.centered h2{
    font-size:clamp(1.7rem,7.6vw,1.82rem);
    line-height:1.17;
    margin-top:9px;
  }
  .section-heading h2+p{font-size:.94rem;line-height:1.62;margin-top:12px!important}
  .teacher-section .section-heading{margin-bottom:24px}
}

/* === V10.4: polish visual publik, ritme mobile, dan kontrol sentuh === */
.mobile-nav-only{display:none}
.program-card,.feature-card,.teacher-card,.achievement-grid article,.info-grid article,.testimonial-grid blockquote,.agenda-preview-card,.agenda-card{
  border-radius:20px;
  box-shadow:0 14px 36px rgba(18,60,42,.07);
}
.feature-card img,.card-image,.achievement-grid img,.gallery-card img,.info-grid article>img{
  background:linear-gradient(145deg,#e8eee8,#f4f6f2);
}

@media(hover:none){
  .value-grid article:hover,.program-card:hover,.feature-card:hover,.teacher-card:hover,.achievement-grid article:hover,.info-grid article:hover,.gallery-card:hover,.agenda-preview-card:hover,.header-cta:hover,.btn:hover,.carousel-button:hover{
    transform:none;
  }
}

@media(max-width:820px){
  .main-nav .mobile-nav-only{display:block}

  /* Carousel di ponsel berjalan manual agar isi tidak bergeser saat dibaca. */
  .content-carousel.is-scrollable::after{
    color:#6a776f;
    content:"Geser untuk melihat lainnya";
    display:block;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.01em;
    margin-top:8px;
    text-align:center;
  }
  .carousel-button{height:44px;min-height:44px;min-width:44px;width:44px}
  .carousel-status{font-size:.75rem}

  /* Bilah aksi: pendaftaran menjadi aksi utama dan label tetap terbaca utuh. */
  .mobile-action-bar{
    box-shadow:0 -10px 30px rgba(18,60,42,.11);
    min-height:68px;
  }
  .mobile-action-bar a{
    border-right:0;
    border-radius:12px;
    font-size:.72rem;
    line-height:1.2;
    margin:0 2px;
    min-height:56px;
    padding:5px 4px;
  }
  .mobile-action-bar a:first-child{
    background:var(--green-2);
    box-shadow:0 8px 20px rgba(31,106,73,.2);
    color:#fff;
  }
  .mobile-action-bar a span{
    max-width:100%;
    overflow:visible;
    text-align:center;
    text-overflow:clip;
    white-space:normal;
  }
  .trust-fact small,.agenda-preview-card small,.gallery-card figcaption small,.spmb-mini-facts small,.carousel-status{
    font-size:.75rem;
    line-height:1.4;
  }
}

@media(max-width:600px){
  /* Baris manual dari admin tidak memaksa judul hero patah di posisi yang canggung. */
  .hero h1 br{display:none}

  /* Target sentuh titik hero 36px, dengan indikator visual tetap ringkas. */
  .hero-dots{gap:0}
  .hero-dot,.hero-dot.active{
    align-items:center;
    background:transparent;
    border:0;
    display:flex;
    height:36px;
    justify-content:center;
    position:relative;
    width:36px;
  }
  .hero-dot::after{
    background:rgba(255,255,255,.68);
    border:1px solid rgba(18,60,42,.32);
    border-radius:99px;
    content:"";
    height:8px;
    transition:width .25s,background .25s;
    width:8px;
  }
  .hero-dot.active::after{background:var(--green-2);width:24px}

  /* Ritme vertikal lebih ringkas tanpa mengorbankan kenyamanan baca. */
  .section{padding-bottom:50px;padding-top:50px}
  .principal-section{padding-bottom:52px;padding-top:52px}
  .enrollment-cta{padding-bottom:46px;padding-top:46px}
  .ppdb-section{padding-bottom:54px;padding-top:54px}

  /* Kicker yang lebih tegas dan aksen pendek membangun hierarki editorial. */
  .section-heading .section-kicker{
    align-items:center;
    color:#915c14;
    display:flex;
    font-size:.75rem;
    gap:10px;
    letter-spacing:.12em;
  }
  .section-heading .section-kicker::before{
    background:currentColor;
    border-radius:999px;
    content:"";
    flex:0 0 24px;
    height:2px;
    width:24px;
  }
  .section-heading{margin-bottom:27px}
  .teacher-section .section-heading{margin-bottom:24px}
}

@media(max-width:380px){
  .section-heading .section-kicker{font-size:.72rem;letter-spacing:.1em}
  .mobile-action-bar a{font-size:.7rem}
}

@media(max-width:340px){
  .mobile-action-bar a{font-size:.7rem}
}

/* === V10.5: Premium Editorial === */
.editorial-card-label{
  color:#d8b66e!important;
  font-size:.68rem!important;
  font-weight:900;
  letter-spacing:.13em;
  line-height:1.35!important;
  margin:0 0 9px!important;
  min-height:0!important;
  text-transform:uppercase;
}

/* Fasilitas dan prestasi: satu sorotan utama, sisanya tetap dapat dijelajahi. */
.facility-editorial-layout,.achievement-editorial-layout{
  align-items:stretch;
  display:grid;
  gap:22px;
  grid-template-columns:minmax(300px,.92fr) minmax(0,1.75fr);
}
.facility-editorial-layout>.content-carousel,.achievement-editorial-layout>.content-carousel{min-width:0}
.facility-featured,.achievement-featured{
  border:1px solid rgba(213,154,53,.26);
  border-radius:24px;
  box-shadow:0 24px 58px rgba(18,60,42,.13);
  min-width:0;
  overflow:hidden;
}
.facility-featured{
  background:linear-gradient(145deg,#123c2a,#1f6a49);
  display:flex;
  flex-direction:column;
}
.facility-featured>img,.facility-featured>.image-placeholder{
  aspect-ratio:16/10;
  height:auto;
  min-height:245px;
  object-fit:cover;
  width:100%;
}
.facility-featured>div:last-child{
  background:transparent;
  display:flex;
  flex:1;
  flex-direction:column;
  padding:25px;
}
.facility-featured h3{color:#fff;font-size:1.45rem;line-height:1.2;margin:0 0 10px}
.facility-featured p:not(.editorial-card-label){color:rgba(255,255,255,.74);line-height:1.65;margin:0;min-height:0}
.facility-support-carousel .carousel-viewport,.achievement-support-carousel .carousel-viewport{min-width:0}

.achievement-featured{
  background:linear-gradient(145deg,#103523,#1c6243);
  color:#fff;
  display:flex;
  flex-direction:column;
}
.achievement-featured>img{
  aspect-ratio:16/10;
  background:linear-gradient(145deg,#dfe9df,#f4f6f2);
  height:auto;
  object-fit:cover;
  width:100%;
}
.achievement-featured>div{display:flex;flex:1;flex-direction:column;padding:25px}
.achievement-featured small{color:#e3c17b;font-size:.74rem;font-weight:900;letter-spacing:.04em}
.achievement-featured h3{color:#fff;font-size:1.42rem;line-height:1.25;margin:7px 0 10px}
.achievement-featured p:not(.editorial-card-label){color:rgba(255,255,255,.74);font-size:.94rem;line-height:1.65;margin:0}

/* Informasi singkat dibuat seperti satu panel identitas sekolah. */
@media(min-width:1181px){
  .trust-facts{
    border:1px solid rgba(18,60,42,.12);
    border-radius:24px;
    box-shadow:0 24px 64px rgba(18,60,42,.13);
    margin:-48px auto 0;
    max-width:1200px;
    overflow:hidden;
    padding:0;
    position:relative;
    width:calc(100% - 8vw);
    z-index:6;
  }
  .trust-fact{min-height:106px;padding:18px 16px}
  .trust-fact-icon{border-radius:14px;height:42px;width:42px}
  .intro-section{padding-top:145px}
}

@media(min-width:821px) and (max-width:1180px){
  .trust-facts{
    border:1px solid rgba(18,60,42,.12);
    border-radius:22px;
    box-shadow:0 18px 48px rgba(18,60,42,.1);
    margin:24px auto 0;
    overflow:hidden;
    padding:0;
    width:calc(100% - 8vw);
  }
}

/* Variasi perataan judul mengurangi pola visual yang terlalu berulang. */
@media(min-width:821px){
  .cards-section .section-heading.centered,
  .achievement-section .section-heading.centered,
  .info-section .section-heading.centered{
    margin-left:0;
    margin-right:0;
    max-width:920px;
    text-align:left;
  }
  .cards-section .section-heading.centered>p:last-child:not(.section-kicker),
  .achievement-section .section-heading.centered>p:last-child:not(.section-kicker),
  .info-section .section-heading.centered>p:last-child:not(.section-kicker){margin-left:0;margin-right:0}
  .cards-section .section-kicker,
  .achievement-section .section-kicker,
  .info-section .section-kicker{
    align-items:center;
    display:flex;
    gap:11px;
  }
  .cards-section .section-kicker::before,
  .achievement-section .section-kicker::before,
  .info-section .section-kicker::before{
    background:currentColor;
    border-radius:99px;
    content:"";
    flex:0 0 28px;
    height:2px;
    width:28px;
  }
  .facility-support-carousel .carousel-controls,
  .achievement-support-carousel .carousel-controls{justify-content:flex-end;padding-right:2px}
}

/* Berita diberi indeks, chip kategori, dan tindakan yang lebih jelas. */
.info-grid{counter-reset:news-card}
.info-grid article{counter-increment:news-card;position:relative}
.info-grid article::before{
  align-items:center;
  background:var(--green);
  border:3px solid rgba(255,255,255,.9);
  border-radius:50%;
  box-shadow:0 8px 18px rgba(18,60,42,.16);
  color:#fff;
  content:"0" counter(news-card);
  display:flex;
  font-family:Manrope,"DM Sans",sans-serif;
  font-size:.7rem;
  font-weight:900;
  height:42px;
  justify-content:center;
  letter-spacing:.03em;
  position:absolute;
  right:20px;
  top:20px;
  width:42px;
  z-index:2;
}
.info-grid article:not(:has(>img))>div{padding-top:58px}
.info-grid small{
  align-self:flex-start;
  background:#fbefd9;
  border-radius:999px;
  color:#8c5c16;
  display:inline-flex;
  font-size:.72rem;
  line-height:1.35;
  padding:7px 11px;
}
.info-grid a{
  align-items:center;
  align-self:flex-start;
  background:var(--green-3);
  border:1px solid rgba(31,106,73,.12);
  border-radius:11px;
  display:inline-flex;
  min-height:44px;
  padding:10px 13px;
  transition:background .2s,color .2s,transform .2s;
}
.info-grid a:hover{background:var(--green);color:#fff;transform:translateY(-2px)}

/* Testimoni tetap ringan, tetapi identitas pemberi testimoni lebih kuat. */
.testimonial-grid blockquote{overflow:hidden}
.testimonial-grid blockquote::after{
  background:linear-gradient(90deg,var(--gold),#e8ce94,transparent);
  content:"";
  height:3px;
  left:0;
  position:absolute;
  right:0;
  top:0;
}
.testimonial-grid footer{align-items:center;display:grid;gap:11px;grid-template-columns:auto minmax(0,1fr)}
.testimonial-grid footer>div{display:grid;min-width:0}
.testimonial-avatar{
  align-items:center;
  background:linear-gradient(145deg,var(--green),var(--green-2));
  border:3px solid var(--green-3);
  border-radius:50%;
  color:#fff;
  display:flex;
  font-family:Manrope,"DM Sans",sans-serif;
  font-size:.9rem;
  font-weight:900;
  height:44px;
  justify-content:center;
  width:44px;
}

/* Latar bersih: identitas sekolah dibangun lewat warna, tipografi, dan ruang. */
.teacher-section{
  background:#edf4ee;
  background-image:none;
}
.enrollment-cta{
  background:linear-gradient(135deg,#f4e6c9,#fbf4e5);
  border-bottom:1px solid rgba(143,94,21,.1);
  border-top:1px solid rgba(143,94,21,.1);
}
.ppdb-section{
  background-color:#0d3022;
  background-image:linear-gradient(135deg,#0d3022,#195139);
}
.achievement-section{background:linear-gradient(180deg,#fffdf8,#f8faf6)}
.info-section{background:linear-gradient(180deg,#fbfcf9,#f4f7f2)}

/* Gerak visual hanya aktif pada perangkat dengan pointer/hover. */
@media(min-width:821px) and (hover:hover){
  .feature-card img,.facility-featured img,.achievement-featured img,.gallery-card img,.info-grid article>img{
    transition:filter .45s ease,transform .55s cubic-bezier(.22,.61,.36,1);
  }
  .feature-card:hover img,.facility-featured:hover img,.achievement-featured:hover img,.gallery-card:hover img,.info-grid article:hover>img{
    filter:saturate(1.04);
    transform:scale(1.035);
  }
}

@media(max-width:980px){
  .facility-editorial-layout,.achievement-editorial-layout{grid-template-columns:1fr}
  .facility-featured,.achievement-featured{max-width:none}
}

@media(max-width:600px){
  .facility-editorial-layout,.achievement-editorial-layout{gap:18px}
  .facility-featured,.achievement-featured{border-radius:20px}
  .facility-featured>img,.facility-featured>.image-placeholder,.achievement-featured>img{
    aspect-ratio:4/3;
    min-height:0;
  }
  .facility-featured>div:last-child,.achievement-featured>div{padding:20px}
  .facility-featured h3,.achievement-featured h3{font-size:1.3rem}
  .editorial-card-label{font-size:.7rem!important}
  .info-grid article::before{height:40px;right:16px;top:16px;width:40px}
  .info-grid article:not(:has(>img))>div{padding-top:56px}
  .info-grid a{justify-content:center;width:100%}
  .testimonial-grid footer{grid-template-columns:auto minmax(0,1fr)}
}

/* === V10.6: hero mobile aktif + visual bersih dan responsif kanonis === */
.hero-media{touch-action:pan-y}
.hero-slide{will-change:opacity,transform}
.section{padding-bottom:96px;padding-top:96px}
.teacher-card{
  box-shadow:0 16px 38px rgba(18,60,42,.075);
}
.teacher-card img,.teacher-card .avatar-placeholder{
  background:#f4f7f3;
  object-position:center 20%;
}
.carousel-status{min-width:62px}

@media(max-width:600px){
  .hero{min-height:min(720px,calc(100svh - 72px))}
  .hero-content{padding-bottom:74px;padding-left:16px;padding-right:16px;padding-top:52px}
  .hero h1{
    font-size:clamp(2rem,9.2vw,2.5rem);
    letter-spacing:-.035em;
    line-height:1.08;
  }
  .hero-content>p:not(.eyebrow){font-size:1rem;line-height:1.65}
  .section{padding:50px 16px}
  .principal-section{padding:52px 16px}
  .enrollment-cta{padding:46px 16px}
  .ppdb-section{padding:54px 16px}
  .trust-facts{grid-template-columns:1fr 1fr;padding:0 12px}
  .trust-fact{
    align-items:center;
    flex-direction:row;
    gap:9px;
    min-height:90px;
    padding:12px 10px;
  }
  .trust-fact-icon{height:34px;width:34px}
  .trust-fact small{font-size:.62rem}
  .trust-fact strong{font-size:.8rem;line-height:1.35}
  .teacher-card{padding:20px}
  .teacher-card img,.teacher-card .avatar-placeholder{height:120px;width:120px}
  .carousel-status{font-size:.76rem;min-width:54px}
}

@media(max-width:380px){
  .hero-content,.section,.principal-section,.enrollment-cta,.ppdb-section{padding-left:14px;padding-right:14px}
  .hero h1{font-size:2rem}
  .section-heading h2,.section-heading.centered h2{font-size:clamp(1.7rem,7.6vw,1.82rem)}
  .trust-facts{padding-left:8px;padding-right:8px}
  .trust-fact{padding-left:8px;padding-right:8px}
}

@media(max-width:340px){
  .trust-facts{grid-template-columns:1fr}
  .trust-fact{border-bottom:1px solid var(--line)!important;border-right:0!important;min-height:76px}
  .trust-fact:last-child{border-bottom:0!important}
}

/* === V10.7: motion editorial ringan, konsisten, dan ramah aksesibilitas === */
.motion-ready [data-hero-intro]>*{
  opacity:0;
  translate:0 20px;
  transition:opacity .68s cubic-bezier(.22,1,.36,1),translate .68s cubic-bezier(.22,1,.36,1);
}
.motion-ready.motion-intro [data-hero-intro]>*{opacity:1;translate:0 0}
.motion-ready.motion-intro [data-hero-intro]>*:nth-child(1){transition-delay:.04s}
.motion-ready.motion-intro [data-hero-intro]>*:nth-child(2){transition-delay:.12s}
.motion-ready.motion-intro [data-hero-intro]>*:nth-child(3){transition-delay:.2s}
.motion-ready.motion-intro [data-hero-intro]>*:nth-child(4){transition-delay:.28s}
.motion-ready.motion-intro [data-hero-intro]>*:nth-child(5){transition-delay:.36s}

.motion-ready .hero-media::after{
  background:linear-gradient(112deg,rgba(13,48,34,.94),rgba(31,106,73,.72));
  content:"";
  inset:0;
  pointer-events:none;
  position:absolute;
  transform:scaleX(1);
  transform-origin:right center;
  transition:transform 1.05s cubic-bezier(.76,0,.24,1) .08s;
  z-index:2;
}
.motion-ready.motion-intro .hero-media::after{transform:scaleX(0)}

.motion-ready [data-reveal],
.motion-ready [data-reveal-group]>*{
  opacity:0;
  translate:0 26px;
  transition:opacity .7s cubic-bezier(.22,1,.36,1),translate .7s cubic-bezier(.22,1,.36,1),scale .7s cubic-bezier(.22,1,.36,1);
}
.motion-ready [data-reveal="left"]{translate:-30px 0}
.motion-ready [data-reveal="right"]{translate:30px 0}
.motion-ready [data-reveal="fade"]{translate:0 0}
.motion-ready [data-reveal="image"]{scale:.985;translate:0 28px}
.motion-ready [data-reveal].is-revealed,
.motion-ready [data-reveal-group].is-revealed>*{
  opacity:1;
  scale:1;
  translate:0 0;
}
.motion-ready [data-reveal-group].is-revealed>*:nth-child(2){transition-delay:.08s}
.motion-ready [data-reveal-group].is-revealed>*:nth-child(3){transition-delay:.16s}
.motion-ready [data-reveal-group].is-revealed>*:nth-child(4){transition-delay:.24s}
.motion-ready [data-reveal-group].is-revealed>*:nth-child(5){transition-delay:.32s}
.motion-ready [data-reveal-group].is-revealed>*:nth-child(6){transition-delay:.4s}
.motion-ready [data-reveal-group].is-revealed>*:nth-child(n+7){transition-delay:.46s}

@media(max-width:600px){
  .motion-ready [data-reveal="left"],.motion-ready [data-reveal="right"]{translate:0 22px}
  .motion-ready [data-reveal-group].is-revealed>*:nth-child(n){transition-delay:0s}
  .motion-ready [data-reveal-group].is-revealed>*:nth-child(even){transition-delay:.07s}
}

@media(prefers-reduced-motion:reduce){
  .motion-ready [data-hero-intro]>*,
  .motion-ready [data-reveal],
  .motion-ready [data-reveal-group]>*{
    animation:none!important;
    opacity:1!important;
    scale:1!important;
    transition:none!important;
    translate:0 0!important;
  }
  .motion-ready .hero-media::after{display:none!important}
}
