:root{
 --green:#0b5d45;--green2:#083f32;--gold:#d6ae52;--cream:#f7f3e8;--ink:#19332d;
 --shadow:0 18px 50px rgba(7,45,36,.12);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fbfaf6}
a{text-decoration:none;color:inherit}.topbar{height:74px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,80px);position:relative;z-index:20;box-shadow:0 2px 18px #0000000d}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:40px;height:40px;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;border-radius:12px;font-size:21px}.brand b{display:block;color:var(--green2);letter-spacing:2px}.brand span{font-size:10px;letter-spacing:4px;color:#8c7540}.top-link{font-weight:700;color:var(--green);font-size:14px}
.hero{height:min(76vh,690px);min-height:510px;position:relative;background:linear-gradient(120deg,#063f31,#0c7354);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,#ffffff12 0 2px,transparent 2px),radial-gradient(circle at 80% 70%,#d6ae5212 0 2px,transparent 2px);background-size:45px 45px,60px 60px;z-index:1}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#06382dcc,#06382d55 65%,#06382d99);z-index:2}.hero-slider,.hero-slide{position:absolute;inset:0}.hero-slide{background-size:cover;background-position:center;opacity:0;transition:opacity .7s ease}.hero-slide.active{opacity:1}.hero-content,.hero-fallback{position:absolute;z-index:3;left:clamp(25px,8vw,120px);top:50%;transform:translateY(-50%);max-width:650px;color:white}.eyebrow{font-size:11px;letter-spacing:4px;color:#ead08a;font-weight:800}.eyebrow.dark{color:#9b7c31}.hero h1,.hero-fallback h1{font-family:Georgia,serif;font-size:clamp(46px,7vw,92px);line-height:.95;margin:18px 0}.hero p,.hero-fallback p{font-size:18px;line-height:1.7;color:#f5f5ef;max-width:590px}.btn{display:inline-flex;align-items:center;gap:12px;padding:14px 21px;border-radius:10px;font-weight:800;transition:.25s}.btn-gold{background:var(--gold);color:#17352c;margin-top:18px}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0002}.slider-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid #fff6;background:#fff2;color:white;font-size:35px;cursor:pointer}.prev{left:25px}.next{right:25px}.dots{position:absolute;z-index:5;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.dot{width:28px;height:4px;border:0;border-radius:3px;background:#fff7;cursor:pointer}.dot.active{background:var(--gold)}
.intro{max-width:1100px;margin:0 auto;padding:75px 25px 45px;display:flex;gap:30px;align-items:center}.ornament{width:62px;height:62px;border:1px solid var(--gold);color:var(--gold);border-radius:50%;display:grid;place-items:center;font-size:26px;flex:none}.intro h2,.section-head h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,48px);margin:8px 0 12px;color:var(--green2)}.intro p{line-height:1.8;color:#65746f;max-width:800px}
.schools-section{padding:35px 5vw 100px;background:var(--cream)}.section-head{text-align:center;margin-bottom:38px}.section-head.left{text-align:left}.region{max-width:1200px;margin:0 auto 65px}.region-title{display:flex;align-items:center;gap:16px;justify-content:center;margin-bottom:28px}.region-title span{height:1px;background:#d2c49e;flex:1;max-width:180px}.region-title h3{font-family:Georgia,serif;font-size:24px;color:var(--green2);margin:0}.school-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.school-card{background:linear-gradient(180deg,#fffdf8 0%,#fff 70%);border-radius:18px;padding:28px;min-height:300px;box-shadow:var(--shadow);border-top:4px solid var(--accent,#0b5d45);display:flex;flex-direction:column;align-items:center;text-align:center;transition:.25s;position:relative;overflow:hidden;isolation:isolate}.school-card>*:not(.islamic-pattern):not(.school-landmark){position:relative;z-index:3}.school-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(155,124,49,.16);border-radius:14px;pointer-events:none;z-index:1}.islamic-pattern{position:absolute;inset:0;z-index:0;opacity:.42;pointer-events:none;background-image:linear-gradient(45deg,transparent 45%,rgba(11,93,69,.055) 46%,rgba(11,93,69,.055) 54%,transparent 55%),linear-gradient(-45deg,transparent 45%,rgba(214,174,82,.06) 46%,rgba(214,174,82,.06) 54%,transparent 55%);background-size:28px 28px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 72%)}.school-landmark{position:absolute;z-index:1;right:-4px;top:5px;width:48%;max-width:210px;color:var(--accent,#0b5d45);opacity:.5;text-align:right;pointer-events:none}.school-landmark svg{display:block;width:100%;height:auto}.school-landmark span{display:block;font-size:7px;letter-spacing:1.6px;font-weight:900;color:#9b7c31;margin:-4px 10px 0 0}.region-jakarta .school-landmark{color:#0b5d45}.region-bekasi .school-landmark{color:#7d6330}.school-card:hover .school-landmark{opacity:.62}.school-card:hover .islamic-pattern{opacity:.55}.school-card:hover{transform:translateY(-6px)}.school-logo{width:78px;height:78px;border-radius:50%;background:#eff7f2;border:1px solid #d7e8df;display:grid;place-items:center;margin-bottom:12px;overflow:hidden}.school-logo img{width:100%;height:100%;object-fit:contain}.school-logo span{font-family:Georgia,serif;font-weight:800;color:var(--green);font-size:20px}.school-region{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#9b7c31;font-weight:800}.school-card h3{font-family:Georgia,serif;font-size:21px;margin:9px 0}.school-card p{font-size:13px;line-height:1.6;color:#75847f;margin:0 0 20px}.school-btn{margin-top:auto;background:var(--accent,#0b5d45);color:white;width:100%;justify-content:center}
footer{background:#07382d;color:#dfe9e4;padding:35px 6vw;display:flex;align-items:center;justify-content:space-between}.footer-brand b{color:#fff}.footer-brand span{color:#cbb36b}
.school-header{padding:20px 5vw;background:white;border-bottom:1px solid #e7e1d4}.back{color:var(--school-accent,#0b5d45);font-size:13px;font-weight:800}.school-title{display:flex;gap:16px;align-items:center;margin-top:22px}.school-title img{width:70px;height:70px;object-fit:contain}.school-title h1{font-family:Georgia,serif;margin:0;color:var(--green2);font-size:clamp(27px,4vw,45px)}.school-title p{margin:6px 0 0;color:#6b7975}.school-hero{min-height:360px;background-size:cover;background-position:center;display:flex;align-items:end;padding:55px 8vw;position:relative;color:#fff}.school-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#042c23dd,#042c2322)}.school-hero>div{position:relative;z-index:1}.school-hero h2{font:clamp(35px,5vw,60px) Georgia,serif;margin:10px 0}.school-nav{position:sticky;top:0;z-index:15;background:#fff;display:flex;gap:4px;justify-content:center;flex-wrap:wrap;padding:10px 4vw;box-shadow:0 5px 20px #0000000d}.school-nav a{font-size:12px;font-weight:800;padding:10px 13px;border-radius:8px;color:#53625e}.school-nav a:hover{background:#edf5f1;color:var(--school-accent,#0b5d45)}.school-links{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;padding:25px 5vw 5px}.link-btn{font-size:12px;font-weight:800;border:1px solid #d5ddd9;padding:10px 14px;border-radius:8px;background:#fff}.link-btn:hover{border-color:var(--school-accent);color:var(--school-accent)}.content{max-width:1100px;margin:auto;padding:45px 25px 100px}.content-section{padding:50px 0;border-bottom:1px solid #e5e5df;scroll-margin-top:65px}.rich-content{line-height:1.85;color:#52615c}.rich-content img{max-width:100%;height:auto;border-radius:12px}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.media-grid figure,.video-card{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 28px #00000010}.media-grid img{width:100%;height:210px;object-fit:cover}.media-grid figcaption,.video-card>div{padding:12px;font-size:12px;color:#5c6b66}.video-card iframe{width:100%;height:210px;border:0;display:block}
@media(max-width:900px){.school-grid{grid-template-columns:repeat(2,1fr)}.media-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.topbar{height:65px}.top-link{display:none}.hero{min-height:520px}.hero-content{left:25px;right:25px}.hero h1{font-size:49px}.slider-arrow{width:40px;height:40px;font-size:28px}.intro{padding-top:50px;align-items:flex-start}.ornament{width:48px;height:48px;font-size:20px}.school-grid,.media-grid{grid-template-columns:1fr}.school-card{min-height:270px}.school-nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.school-nav a{white-space:nowrap}.school-links{justify-content:flex-start}.school-hero{min-height:300px;padding:35px 25px}.school-title h1{font-size:26px}.school-title img{width:55px;height:55px}footer{display:block;text-align:center}.footer-brand{justify-content:center;margin-bottom:12px}}

.school-slider{height:min(64vh,600px);min-height:360px;position:relative;overflow:hidden;background:#07382d}.school-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .7s ease}.school-slide.active{opacity:1}.school-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#042c23dd,#042c2340)}.school-slide-content{position:absolute;z-index:2;left:clamp(25px,8vw,120px);right:25px;bottom:70px;color:white;max-width:760px}.school-slide-content h2{font:clamp(35px,5vw,60px) Georgia,serif;margin:10px 0}.school-slide-content p{font-size:17px;line-height:1.7}.consultation{max-width:1100px;margin:0 auto;padding:55px 25px 100px;background:#fff}.consult-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:25px;border:1px solid #e0e8e4;border-radius:18px;box-shadow:0 10px 35px #0000000a}.consult-form label{font-size:12px;font-weight:800;color:#50605b}.consult-form .full{grid-column:1/-1}.consult-form textarea{min-height:130px}.consult-form button{border:0;cursor:pointer;justify-self:start}.form-error{padding:12px;border-radius:8px;background:#fff0f0;color:#a33;margin-bottom:15px}.home-social{padding:65px 25px 75px;background:#fff;text-align:center}.social-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.social-btn{border:1px solid #d5ddd9;border-radius:10px;padding:12px 20px;font-weight:800;font-size:13px;background:#fbfcfb}.social-btn:hover{border-color:var(--green);color:var(--green)}
@media(max-width:620px){.consult-form{grid-template-columns:1fr}.consult-form .full{grid-column:auto}.school-slider{min-height:330px}.school-slide-content{left:25px;bottom:60px}.school-slide-content h2{font-size:35px}}

/* One Gate Admission V1.2 - school landing page */
.school-page{--school-accent:#0b5d45;background:#fff}
.school-header{border-bottom:4px solid var(--school-accent)}
.school-title h1{color:var(--school-accent)}
.school-links{border-bottom:1px solid #ecebe5;padding-bottom:24px}
.school-links .link-btn{border-color:color-mix(in srgb,var(--school-accent) 28%,#fff);}
.school-links .link-btn:hover{background:var(--school-accent);color:#fff}
.school-nav{display:none!important}
.content{max-width:1180px;padding-top:20px}
.content-section{position:relative;padding:78px clamp(20px,4vw,65px);margin:0 0 20px;border:0;border-radius:26px;background:linear-gradient(135deg,#fff 0%,#fbfcfa 100%);box-shadow:0 12px 40px #0000000b;scroll-margin-top:20px}
.content-section:before{content:"";position:absolute;left:0;top:32px;bottom:32px;width:6px;border-radius:0 8px 8px 0;background:var(--section-accent,var(--school-accent))}
.content-section:nth-child(even){background:linear-gradient(135deg,#f7fbf8 0%,#fff 100%)}
.section-head h2{color:var(--section-accent,var(--school-accent));}
.consultation{border-top:5px solid var(--school-accent);border-radius:24px;box-shadow:0 12px 40px #0000000b}
.school-slider .slider-arrow:hover{background:var(--school-accent);border-color:var(--school-accent)}

/* V1.3 landing page animations, school theme, consultation and flexible media */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');
.school-page{font-family:Poppins,Arial,sans-serif;background:linear-gradient(180deg,#fff 0,#f8faf9 100%);--school-accent:#0b5d45}
.school-hero-head{padding:24px 5vw 34px;background:linear-gradient(135deg,color-mix(in srgb,var(--school-accent) 92%,#000),color-mix(in srgb,var(--school-accent) 65%,#fff));color:#fff;position:relative;overflow:hidden}
.school-hero-head:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #fff2;border-radius:50%;right:-100px;top:-180px;box-shadow:0 0 0 45px #fff1,0 0 0 90px #fff0}
.back-pill{position:relative;z-index:2;display:inline-flex;gap:8px;align-items:center;padding:9px 15px;border:1px solid #fff5;border-radius:999px;background:#0002;font-size:13px}
.school-brand{position:relative;z-index:2;display:flex;align-items:center;gap:22px;max-width:1200px;margin:32px auto 0}.school-brand img{width:96px;height:96px;border-radius:24px;object-fit:contain;background:#fff;padding:8px;box-shadow:0 15px 40px #0003}.school-brand h1{font-size:clamp(30px,5vw,58px);margin:6px 0;font-weight:800;line-height:1.05}.school-brand p{margin:0;color:#fffdf5;opacity:.9}
.school-slider{height:min(68vh,650px);min-height:420px;position:relative;overflow:hidden}.school-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.04);transition:opacity .8s ease,transform 5.5s ease}.school-slide.active{opacity:1;transform:scale(1)}.school-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000a,#0002 70%,#0005)}.school-slide-content{position:absolute;z-index:2;left:8vw;top:50%;transform:translateY(-50%);color:#fff;max-width:700px}.school-slide-content h2{font-size:clamp(35px,5vw,70px);margin:12px 0;line-height:1.02}.school-slide-content p{font-size:17px;line-height:1.7}
.school-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:28px 5vw;background:#fff;position:relative;z-index:3;box-shadow:0 10px 35px #0001}.link-btn{padding:12px 17px;border-radius:999px;background:color-mix(in srgb,var(--school-accent) 9%,#fff);border:1px solid color-mix(in srgb,var(--school-accent) 30%,#fff);color:var(--school-accent);font-weight:700;transition:.25s}.link-btn:hover{transform:translateY(-3px);background:var(--school-accent);color:#fff}
.content{max-width:1180px;margin:auto}.content-section{padding:85px 30px;position:relative}.content-section:nth-child(even){background:linear-gradient(135deg,#ffffff,#f4f8f6)}.content-section:before{content:"";position:absolute;left:0;top:90px;width:5px;height:80px;background:var(--section-accent);border-radius:0 8px 8px 0}.rich-content{font-size:16px;line-height:1.85}.rich-content img{max-width:100%;height:auto;border-radius:16px;box-shadow:0 12px 35px #0001}.rich-content a{color:var(--section-accent);font-weight:700}.media-grid{display:grid;gap:20px;margin-top:28px}.media-vertical{grid-template-columns:1fr}.media-horizontal{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.media-card,.video-card{margin:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 15px 40px #00000012}.media-card img{display:block;width:100%;max-height:560px;object-fit:cover}.media-card figcaption,.video-card div{padding:12px 16px;font-weight:600}.video-card iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.consultation{padding:50px 20px 110px}.consult-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:35px;padding:clamp(25px,5vw,55px);border-radius:30px;background:linear-gradient(135deg,color-mix(in srgb,var(--school-accent) 95%,#000),color-mix(in srgb,var(--school-accent) 68%,#fff));color:#fff;box-shadow:0 25px 70px color-mix(in srgb,var(--school-accent) 25%,transparent)}.consult-card h2{font-size:clamp(30px,4vw,48px);margin:10px 0}.consult-card p{line-height:1.8;color:#fffdf5}.consult-points{display:flex;flex-wrap:wrap;gap:10px}.consult-points span{background:#fff2;padding:10px 13px;border-radius:999px;font-size:13px}.consult-form-wrap{background:#fff;padding:25px;border-radius:22px;color:#18352d}.consult-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.consult-form label{font-weight:700;font-size:13px}.consult-form input,.consult-form textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #dce6e2;border-radius:11px;font:inherit;outline:none}.consult-form input:focus,.consult-form textarea:focus{border-color:var(--school-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--school-accent) 12%,transparent)}.consult-form .full{grid-column:1/-1}.form-error{padding:12px;background:#fff0f0;color:#a22;border-radius:10px;margin-bottom:12px}.reveal{opacity:0;transform:translateY(35px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:760px){.school-brand{align-items:flex-start}.school-brand img{width:72px;height:72px;border-radius:18px}.school-slider{min-height:390px}.consult-card{grid-template-columns:1fr}.consult-form{grid-template-columns:1fr}.consult-form .full{grid-column:auto}.content-section{padding:60px 22px}.school-links{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}}

/* V1.3.6 - slider image visibility/path hardening */
.school-slider{display:block!important;opacity:1!important;visibility:visible!important;background:#07382d}
.school-slider .school-slide{display:block;background-repeat:no-repeat;background-color:#07382d}

/* V1.3.7: tombol setelah konsultasi dan lokasi paling bawah */
.school-links{box-shadow:none;border-top:1px solid #ecebe5;border-bottom:0;padding:55px 25px 70px;display:block;overflow:visible!important}
.links-heading{text-align:center;margin-bottom:22px}.links-heading h2{margin:8px 0 0;font-family:Georgia,serif;font-size:clamp(26px,3vw,38px);color:#173c31}.links-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.school-location{max-width:1100px;margin:0 auto;padding:10px 25px 35px}.location-card{padding:38px;text-align:center;border-radius:24px;background:#f5f9f7;border:1px solid #dfeae5}.location-card h2{font-family:Georgia,serif;margin:8px 0 10px;color:#173c31}.location-card p{color:#61716b;margin-bottom:20px}.location-btn{display:inline-flex;align-items:center;gap:8px}.location-empty{display:inline-block;padding:12px 16px;border-radius:10px;background:#fff7e8;color:#856a24;font-size:13px}
.slider-preview-row{display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:center;padding:12px;border:1px solid #e3e8e5;border-radius:12px;margin-top:10px;background:#fff}.slider-thumb{height:85px;border-radius:9px;overflow:hidden;background:#edf2ef;display:flex;align-items:center;justify-content:center}.slider-thumb img{width:100%;height:100%;object-fit:cover}.slider-preview-info{min-width:0}.slider-preview-info b,.slider-preview-info small{display:block}.slider-preview-info small{margin-top:5px;color:#71807b;word-break:break-all}.image-error{border:1px dashed #d66}.image-error-text{font-size:11px;color:#a33;padding:8px;text-align:center}@media(max-width:620px){.slider-preview-row{grid-template-columns:1fr}.slider-thumb{height:150px}.links-row{justify-content:flex-start}.school-links{padding-left:20px;padding-right:20px}.location-card{padding:28px 18px}}


/* V1.3.8 - School theme form + bright slider + responsive layout */
.school-slider,
.school-slider .slide,
.school-slider .slide img,
.slider,
.slider .slide,
.slider .slide img {
  position: relative;
}

.school-slider .slide::before,
.school-slider .slide::after,
.slider .slide::before,
.slider .slide::after {
  content: none !important;
  display: none !important;
}

.school-slider img,
.slider img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

.consultation-card,
.consultation-form,
.consult-form,
.school-consultation {
  border: 1px solid color-mix(in srgb, var(--school-theme, #16834a) 35%, #ffffff);
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--school-theme, #16834a) 10%, #ffffff),
    #ffffff);
  box-shadow: 0 10px 30px color-mix(in srgb, var(--school-theme, #16834a) 18%, transparent);
}

.consultation-card h2,
.consultation-card h3,
.consultation-form h2,
.consultation-form h3,
.consult-form h2,
.consult-form h3,
.school-consultation h2,
.school-consultation h3 {
  color: var(--school-theme, #16834a);
}

.consultation-card input,
.consultation-card textarea,
.consultation-card select,
.consultation-form input,
.consultation-form textarea,
.consultation-form select,
.consult-form input,
.consult-form textarea,
.consult-form select,
.school-consultation input,
.school-consultation textarea,
.school-consultation select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--school-theme, #16834a) 32%, #d8d8d8);
  background: #fff;
  border-radius: 10px;
  padding: 11px 13px;
  outline: none;
}

.consultation-card input:focus,
.consultation-card textarea:focus,
.consultation-card select:focus,
.consultation-form input:focus,
.consultation-form textarea:focus,
.consultation-form select:focus,
.consult-form input:focus,
.consult-form textarea:focus,
.consult-form select:focus,
.school-consultation input:focus,
.school-consultation textarea:focus,
.school-consultation select:focus {
  border-color: var(--school-theme, #16834a);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--school-theme, #16834a) 15%, transparent);
}

.consultation-card button,
.consultation-form button,
.consult-form button,
.school-consultation button {
  background: var(--school-theme, #16834a) !important;
  border-color: var(--school-theme, #16834a) !important;
  color: #fff !important;
}

.consultation-card,
.consultation-form,
.consult-form,
.school-consultation,
.consultation-card .form-grid,
.consultation-form .form-grid,
.consult-form .form-grid,
.school-consultation .form-grid {
  min-width: 0;
}

@media (max-width: 1024px) {
  .consultation-card,
  .consultation-form,
  .consult-form,
  .school-consultation {
    width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 767px) {
  .consultation-card,
  .consultation-form,
  .consult-form,
  .school-consultation {
    padding: 14px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden;
  }

  .consultation-card .form-grid,
  .consultation-form .form-grid,
  .consult-form .form-grid,
  .school-consultation .form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .consultation-card label,
  .consultation-form label,
  .consult-form label,
  .school-consultation label {
    min-width: 0 !important;
    width: 100%;
  }

  .consultation-card input,
  .consultation-card textarea,
  .consultation-card select,
  .consultation-form input,
  .consultation-form textarea,
  .consultation-form select,
  .consult-form input,
  .consult-form textarea,
  .consult-form select,
  .school-consultation input,
  .school-consultation textarea,
  .school-consultation select {
    font-size: 16px;
  }

  .consultation-card button,
  .consultation-form button,
  .consult-form button,
  .school-consultation button {
    width: 100%;
    min-height: 44px;
  }

  .school-slider,
  .slider {
    width: 100%;
    overflow: hidden;
  }

  .school-slider img,
  .slider img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}


/* Social media icon buttons */
.social-row{align-items:center}
.social-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:11px 16px;border:1px solid #d5ddd9;border-radius:14px;background:#fff;color:var(--green2);font-size:14px;transition:transform .2s,box-shadow .2s,border-color .2s}
.social-btn i{font-size:22px;line-height:1}
.social-btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(7,45,36,.12);border-color:var(--gold);color:var(--green)}
.social-icon-btn{width:auto;height:auto;padding:6px;border:0;background:transparent;border-radius:0;font-size:0}
.social-icon-btn i{font-size:24px}
.social-icon-btn .social-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.links-row .social-link-btn{width:auto;height:auto;min-width:0;padding:6px;border:0;background:transparent;border-radius:0;justify-content:center;gap:0;font-size:0}
.links-row .social-link-btn i{font-size:24px;margin:0}
.links-row .social-link-btn .social-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:600px){.social-row{gap:10px}.social-icon-btn,.links-row .social-link-btn{width:auto;height:auto;min-width:0}.social-icon-btn i,.links-row .social-link-btn i{font-size:22px}}

/* Tombol URL yang dibuat dari editor konten admin */
.content-button{display:inline-block;padding:.72rem 1.15rem;margin:.45rem .25rem;border-radius:10px;background:var(--section-accent,#176b4d);color:#fff!important;text-decoration:none!important;font-weight:700;line-height:1.2;box-shadow:0 4px 12px rgba(0,0,0,.12);transition:transform .15s ease,opacity .15s ease}
.content-button:hover{opacity:.9;transform:translateY(-1px)}

/* V1.5.7 - slider sekolah tanpa overlay gelap */
.school-slider .school-slide::before,
.school-slider .school-slide::after {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 1 !important;
}
.school-slider .school-slide {
  filter: none !important;
  background-color: transparent !important;
}
.school-slider .school-slide-content {
  text-shadow: 0 1px 3px rgba(0,0,0,.35);
}

/* V1.5.8 - slider HP menampilkan gambar utuh tanpa crop */
@media (max-width: 760px) {
  .school-slider .school-slide {
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    transform: none !important;
    background-color: #07382d !important;
  }
  .school-slider .school-slide.active {
    transform: none !important;
  }
}

/* V1.6.8 - informasi pengiriman form konsultasi */
.consult-submit-info{font-size:.9rem;line-height:1.5;margin:8px 0 14px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.08);color:inherit}.consult-submit-info i{margin-right:6px}.form-success{margin-bottom:12px;padding:11px 13px;border-radius:10px;background:#e9f8ef;color:#176b3a;border:1px solid #bfe8cc;line-height:1.45}

/* V1.7.0 - tombol Kirim Konsultasi dibuat lebih kecil */
.consult-form > button[type="submit"] {
  width: auto !important;
  min-width: 0 !important;
  padding: 9px 16px !important;
  margin-top: 6px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  gap: 7px !important;
  border-radius: 8px !important;
}

/* V1.7.1 - tombol Kirim Konsultasi benar-benar mengikuti ukuran teks */
.consult-form > button[type="submit"] {
  display: inline-flex !important;
  width: max-content !important;
  max-width: max-content !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 6px 10px !important;
  margin: 4px 0 0 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  border-radius: 7px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
}
.consult-form > button[type="submit"] i {
  font-size: 13px !important;
  line-height: 1 !important;
}

/* V1.7.2 - tombol Kirim Konsultasi dibuat sangat ringkas, mengikuti ukuran teks */
.consult-form > button.btn-gold[type="submit"] {
  display: inline-flex !important;
  align-self: flex-start !important;
  justify-self: start !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 4px 10px !important;
  margin: 2px 0 0 !important;
  gap: 6px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
}
.consult-form > button.btn-gold[type="submit"] i {
  font-size: 12px !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* V1.7.3 - tombol Kirim Konsultasi kecil di desktop dan HP, tidak berbentuk kotak besar */
.consult-form > button.btn.btn-gold[type="submit"],
.consult-form > button.btn-gold[type="submit"] {
  display: inline-flex !important;
  width: fit-content !important;
  min-width: 0 !important;
  max-width: fit-content !important;
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  padding: 2px 8px !important;
  margin: 2px 0 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
  justify-self: start !important;
  gap: 5px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
.consult-form > button.btn.btn-gold[type="submit"] i,
.consult-form > button.btn-gold[type="submit"] i {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  line-height: 1 !important;
}
@media (max-width: 767px) {
  .consult-form > button.btn.btn-gold[type="submit"],
  .consult-form > button.btn-gold[type="submit"] {
    width: fit-content !important;
    min-width: 0 !important;
    max-width: fit-content !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    padding: 2px 8px !important;
    font-size: 12px !important;
  }
}


/* V1.7.4 - tombol konsultasi seragam kecil desktop & HP, tepat di bawah pertanyaan */
.consult-form {
  row-gap: 10px !important;
}
.consult-form > button.btn.btn-gold[type="submit"],
.consult-form > button.btn-gold[type="submit"] {
  display: inline-flex !important;
  width: fit-content !important;
  min-width: 0 !important;
  max-width: fit-content !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 4px 11px !important;
  margin: 0 !important;
  align-self: start !important;
  justify-self: start !important;
  flex: 0 0 auto !important;
  gap: 6px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  border-radius: 7px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}
.consult-form > button.btn.btn-gold[type="submit"] i,
.consult-form > button.btn-gold[type="submit"] i {
  font-size: 12px !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.consult-form > .consult-submit-info {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  padding: 5px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  background: transparent !important;
  border: 0 !important;
  color: #66736e !important;
}
@media (max-width: 767px) {
  .consult-form > button.btn.btn-gold[type="submit"],
  .consult-form > button.btn-gold[type="submit"] {
    width: fit-content !important;
    min-width: 0 !important;
    max-width: fit-content !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    padding: 4px 11px !important;
    font-size: 12px !important;
  }
  .consult-form > .consult-submit-info {
    font-size: 10px !important;
  }
}

/* V1.7.8 - Logo Yayasan Homepage */
.home-brand{display:flex;align-items:center;gap:10px}
.foundation-logo{width:auto;height:48px;max-width:130px;object-fit:contain;display:block}
@media (max-width:700px){.foundation-logo{height:38px;max-width:100px}.home-brand{gap:7px}}


/* V1.7.9 - Logo Yayasan presisi di kolom ikon One Gate */
.home-brand .brand-mark {
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  padding: 4px;
  border: 1px solid var(--gold);
  border-radius: 12px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #fff;
}
.home-brand .brand-mark .foundation-logo {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  display: block;
}
@media (max-width: 620px) {
  .home-brand .brand-mark {
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    padding: 3px;
    border-radius: 10px;
  }
  .home-brand b { font-size: 14px; }
  .home-brand span { font-size: 8px; letter-spacing: 3px; }
}


/* V1.8.3 - Logo yayasan benar-benar terkunci di kotak header */
.topbar .home-brand{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
.topbar .home-brand .foundation-mark{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;max-height:48px!important;padding:4px!important;box-sizing:border-box!important;overflow:hidden!important;display:grid!important;place-items:center!important;flex:0 0 48px!important;border:1px solid var(--gold)!important;border-radius:12px!important;background:#fff!important}
.topbar .home-brand .foundation-mark .foundation-logo{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;display:block!important;position:static!important;margin:0!important}
@media(max-width:620px){
 .topbar .home-brand{gap:7px!important}
 .topbar .home-brand .foundation-mark{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;flex-basis:40px!important;padding:3px!important;border-radius:10px!important}
 .topbar .home-brand b{font-size:14px!important;letter-spacing:2px!important}
 .topbar .home-brand span{font-size:8px!important;letter-spacing:3px!important}
}


/* V1.8.5 - Lokasi homepage + slider homepage full image on mobile */
.home-locations{padding:70px 25px 75px;background:#f7faf8;text-align:center}
.home-location-intro{max-width:720px;margin:8px auto 30px;color:#687873;line-height:1.7}
.location-home-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;text-align:left}
.location-home-card{background:#fff;border:1px solid #dfeae5;border-radius:20px;padding:22px;box-shadow:0 12px 35px #0000000a}
.location-home-head{display:flex;align-items:center;gap:10px;padding-bottom:15px;border-bottom:1px solid #edf1ef}
.location-home-head i{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#edf6f1;color:var(--green);font-size:18px}
.location-home-head h3{margin:0;color:var(--green2);font-family:Georgia,serif;font-size:25px}
.location-home-schools{display:grid;gap:10px;margin-top:14px}
.location-home-school{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f0f3f1}
.location-home-school:last-child{border-bottom:0}
.location-home-school b,.location-home-school small{display:block}
.location-home-school b{font-size:14px;color:#29473f}
.location-home-school small{margin-top:3px;color:#7a8883;font-size:11px}
.location-home-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.location-home-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid #d5ddd9;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:800;color:var(--green);background:#fff;white-space:nowrap}
.location-home-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}
.location-home-btn.map{color:#8a6d27;border-color:#e4d8b9}
@media(max-width:760px){
  .hero-slide{background-size:contain;background-repeat:no-repeat;background-position:center center;background-color:#063f31}
  .location-home-grid{grid-template-columns:1fr}
  .home-locations{padding:55px 18px 60px}
  .location-home-school{align-items:flex-start;flex-direction:column}
  .location-home-actions{justify-content:flex-start}
}

/* V1.8.7 - Lokasi homepage setelah media sosial */
.home-location{padding:54px 5%;background:#f7f8f6}
.home-location .location-card{max-width:1100px;margin:0 auto;text-align:center;background:#fff;border:1px solid #e5e8e2;border-radius:18px;padding:32px 24px;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.home-location h2{margin:8px 0 10px}
.home-location p{max-width:760px;margin:0 auto 18px;color:#66706a}
.home-location .location-btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.home-location .location-empty{color:#7a817c;font-size:14px}
@media(max-width:640px){.home-location{padding:36px 16px}.home-location .location-card{padding:24px 16px;border-radius:14px}}


/* V1.8.8 - Slider mobile mengikuti rasio asli gambar */
.school-slide-image,.hero-slide-image{display:none}
@media(max-width:760px){
  .school-slider,.hero{height:auto!important;min-height:0!important;aspect-ratio:auto!important}
  .school-slider{background:#07382d}
  .school-slide,.hero-slide{position:absolute!important;inset:0!important;background-image:none!important;background-color:#07382d!important}
  .school-slide-image,.hero-slide-image{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center}
  .school-slide-content,.hero-content,.hero-fallback{z-index:3}
}

/* V1.8.9 - Logo yayasan juga tampil pada footer One Gate Admission */
.footer-foundation-mark{display:flex;align-items:center;justify-content:center;overflow:hidden;}
.footer-foundation-mark .foundation-logo{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;display:block;}

/* V1.8.10 - Footer One Gate Admission: logo di dalam kotak responsive desktop & HP */
footer .footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
footer .footer-foundation-mark{
  flex:0 0 clamp(44px,4vw,58px);
  width:clamp(44px,4vw,58px);
  height:clamp(44px,4vw,58px);
  min-width:clamp(44px,4vw,58px);
  min-height:clamp(44px,4vw,58px);
  padding:6px;
  box-sizing:border-box;
  border:1px solid var(--gold);
  border-radius:12px;
  background:#fff;
}
footer .footer-foundation-mark .foundation-logo{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  display:block;
}
footer .footer-brand > div:last-child{
  min-width:0;
}
footer .footer-brand b{
  font-size:clamp(13px,1.4vw,16px);
  line-height:1.1;
  letter-spacing:2px;
}
footer .footer-brand span{
  display:block;
  font-size:clamp(8px,1vw,10px);
  line-height:1.2;
  letter-spacing:clamp(2px,0.45vw,4px);
}
@media(max-width:620px){
  footer{padding:28px 20px;text-align:center;}
  footer .footer-brand{
    justify-content:center;
    gap:9px;
    margin-bottom:12px;
  }
  footer .footer-foundation-mark{
    flex-basis:44px;
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
    padding:5px;
    border-radius:10px;
  }
  footer .footer-brand b{font-size:13px;letter-spacing:1.7px;}
  footer .footer-brand span{font-size:8px;letter-spacing:2.5px;}
}

/* V1.8.11 - Footer mengikuti model logo One Gate Admission: logo aman di dalam kotak */
footer{
  background:#fff;
  color:#19332d;
  padding:24px clamp(20px,6vw,80px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid #eee9dc;
}
footer .footer-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-width:0;
  line-height:1;
}
footer .footer-foundation-mark{
  flex:0 0 clamp(40px,4vw,48px)!important;
  width:clamp(40px,4vw,48px)!important;
  height:clamp(40px,4vw,48px)!important;
  min-width:clamp(40px,4vw,48px)!important;
  min-height:clamp(40px,4vw,48px)!important;
  max-width:clamp(40px,4vw,48px)!important;
  max-height:clamp(40px,4vw,48px)!important;
  padding:3px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--gold)!important;
  border-radius:10px!important;
  background:#fff!important;
}
footer .footer-foundation-mark .foundation-logo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
}
footer .footer-brand > div:last-child{min-width:0!important;overflow:hidden}
footer .footer-brand b{
  display:block;
  color:#073f32!important;
  font-size:clamp(13px,1.4vw,16px)!important;
  line-height:1.05!important;
  letter-spacing:2px!important;
  white-space:nowrap;
}
footer .footer-brand span{
  display:block!important;
  color:#9b7c31!important;
  font-size:clamp(7px,0.9vw,9px)!important;
  line-height:1.2!important;
  letter-spacing:clamp(2.5px,0.45vw,4px)!important;
  margin-top:4px!important;
  white-space:nowrap;
}
footer > p{color:#7b827e;margin:0;font-size:11px}
@media(max-width:620px){
  footer{padding:20px 16px;display:flex;align-items:center;gap:12px}
  footer .footer-brand{gap:8px!important}
  footer .footer-foundation-mark{
    flex-basis:40px!important;width:40px!important;height:40px!important;
    min-width:40px!important;min-height:40px!important;
    max-width:40px!important;max-height:40px!important;
    padding:3px!important;border-radius:9px!important;
  }
  footer .footer-brand b{font-size:13px!important;letter-spacing:1.8px!important}
  footer .footer-brand span{font-size:7px!important;letter-spacing:2.5px!important;margin-top:3px!important}
  footer > p{font-size:9px;text-align:right;max-width:120px}
}

/* V1.8.13 - Perbaikan slider HP: gambar wajib tampil, mengikuti rasio asli */
@media (max-width: 620px){
  .hero{
    min-height:0!important;
    height:auto!important;
    overflow:hidden;
  }
  .hero-slider{
    position:relative!important;
    width:100%;
    height:auto!important;
    overflow:hidden;
  }
  .hero-slide{
    position:relative!important;
    inset:auto!important;
    display:none!important;
    width:100%;
    height:auto!important;
    min-height:0!important;
    background-image:none!important;
    background:none!important;
  }
  .hero-slide.active{display:block!important;opacity:1!important;}
  .hero-slide-image{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .hero-overlay{z-index:2;pointer-events:none;}
  .hero-content{z-index:3;}

  .school-slider{
    min-height:0!important;
    height:auto!important;
    overflow:hidden;
  }
  .school-slide{
    position:relative!important;
    inset:auto!important;
    display:none!important;
    width:100%;
    height:auto!important;
    min-height:0!important;
    background-image:none!important;
    background:none!important;
    transform:none!important;
  }
  .school-slide.active{display:block!important;opacity:1!important;}
  .school-slide-image{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .school-slide-content{z-index:3;}
}


/* V1.8.14 - Slider desktop & HP: gambar tampil utuh + teks responsif */
.hero,
.school-slider{
  height:auto!important;
  min-height:0!important;
  overflow:hidden;
}
.hero-slider,
.school-slider{
  position:relative!important;
  width:100%;
  height:auto!important;
  overflow:hidden;
}
.hero-slide,
.school-slide{
  position:absolute!important;
  inset:0!important;
  width:100%;
  height:100%;
  background-image:none!important;
  background:none!important;
  background-color:transparent!important;
  transform:none!important;
}
.hero-slide-image,
.school-slide-image{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.hero-content,
.school-slide-content{
  z-index:3!important;
  box-sizing:border-box;
  max-width:min(760px,48%);
  padding:18px 22px;
  border-radius:14px;
  background:rgba(0,0,0,.34);
  text-shadow:0 2px 5px rgba(0,0,0,.75);
}
.hero-content{left:clamp(18px,8vw,120px);top:50%;transform:translateY(-50%);}
.school-slide-content{left:clamp(18px,8vw,120px);top:50%;bottom:auto;transform:translateY(-50%);}
.hero h1,.hero-fallback h1{font-size:clamp(32px,5vw,78px);line-height:1.02;margin:10px 0;}
.hero p,.hero-fallback p{font-size:clamp(14px,1.5vw,18px);line-height:1.55;margin:0;}
.school-slide-content h2{font-size:clamp(30px,4.5vw,64px);line-height:1.05;margin:8px 0 12px;}
.school-slide-content p{font-size:clamp(14px,1.5vw,17px);line-height:1.55;margin:0;}

/* The image is never cropped: JS sets the frame height to the active image ratio. */
@media(max-width:760px){
  .hero,
  .school-slider{height:auto!important;min-height:0!important;}
  .hero-slider,
  .school-slider{height:auto!important;}
  .hero-slide,
  .school-slide{position:absolute!important;inset:0!important;}
  .hero-slide-image,
  .school-slide-image{
    object-fit:contain!important;
    height:100%!important;
  }
  .hero-content,
  .school-slide-content{
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:12px!important;
    transform:none!important;
    max-width:none!important;
    width:auto!important;
    padding:10px 12px!important;
    border-radius:10px!important;
    background:rgba(0,0,0,.50)!important;
    text-shadow:0 1px 4px rgba(0,0,0,.9);
  }
  .hero .eyebrow,
  .school-slide-content .eyebrow{font-size:8px!important;letter-spacing:1.8px!important;}
  .hero h1,.hero-fallback h1{font-size:clamp(24px,7vw,36px)!important;line-height:1.05!important;margin:5px 0 7px!important;}
  .hero p,.hero-fallback p{font-size:13px!important;line-height:1.4!important;margin:0!important;}
  .school-slide-content h2{font-size:clamp(23px,7vw,34px)!important;line-height:1.08!important;margin:5px 0 6px!important;}
  .school-slide-content p{font-size:13px!important;line-height:1.4!important;margin:0!important;}
  .hero-content .btn{padding:8px 12px!important;font-size:11px!important;margin-top:8px!important;}
  .slider-arrow{width:34px!important;height:34px!important;font-size:24px!important;}
  .prev{left:8px!important}.next{right:8px!important}
  .dots{bottom:7px!important;gap:5px!important;}
  .dot{width:20px!important;height:3px!important;}
}

/* V1.8.15 - FINAL SLIDER FIX
   Gambar selalu utuh (tidak crop) di desktop & HP.
   Tinggi frame dihitung dari rasio gambar aktif oleh JavaScript.
*/
.hero,
.school-slider{
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.hero-slider,
.school-slider{
  position:relative!important;
  width:100%!important;
  height:auto;
  min-height:1px;
  overflow:hidden!important;
}
.hero-slide,
.school-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:none!important;
  background:none!important;
  background-image:none!important;
}
.hero-slide.active,
.school-slide.active{
  opacity:1!important;
  visibility:visible!important;
  z-index:1!important;
}
.hero-slide-image,
.school-slide-image{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#07382d!important;
}
.hero-overlay{
  z-index:2!important;
  pointer-events:none!important;
}
.hero-content,
.school-slide-content{
  z-index:3!important;
  box-sizing:border-box!important;
}
.hero-content{
  max-width:min(760px,52%)!important;
}
@media(max-width:760px){
  .hero-slider,
  .school-slider{height:auto!important;min-height:1px!important;}
  .hero-slide,
  .school-slide{display:block!important;}
  .hero-content,
  .school-slide-content{
    left:10px!important;
    right:10px!important;
    top:auto!important;
    bottom:10px!important;
    transform:none!important;
    width:auto!important;
    max-width:none!important;
    padding:9px 11px!important;
    border-radius:9px!important;
    background:rgba(0,0,0,.58)!important;
    overflow:visible!important;
  }
  .hero h1,
  .hero-fallback h1{
    font-size:clamp(20px,6.5vw,34px)!important;
    line-height:1.08!important;
    margin:4px 0 6px!important;
    overflow-wrap:anywhere!important;
  }
  .hero p,
  .hero-fallback p,
  .school-slide-content p{
    font-size:clamp(11px,3.2vw,14px)!important;
    line-height:1.4!important;
    margin:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .school-slide-content h2{
    font-size:clamp(19px,6.5vw,34px)!important;
    line-height:1.08!important;
    margin:4px 0 6px!important;
    overflow-wrap:anywhere!important;
  }
  .hero-content .btn{
    padding:7px 10px!important;
    font-size:10px!important;
    margin-top:7px!important;
  }
  .hero .eyebrow,
  .school-slide-content .eyebrow{
    font-size:7px!important;
    letter-spacing:1.5px!important;
  }
  .slider-arrow{z-index:5!important;width:32px!important;height:32px!important;font-size:23px!important;}
  .prev{left:7px!important}.next{right:7px!important}
  .dots{z-index:5!important;bottom:6px!important;}
}

/* V1.8.17 - Slider stabil: gambar 100% utuh + tinggi mengikuti gambar/konten */
.hero,
.school-slider{
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.hero-slider,
.school-slider{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#07382d!important;
}
.hero-slide,
.school-slide{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  display:block!important;
  opacity:0!important;
  visibility:hidden!important;
  background:none!important;
  background-image:none!important;
  transform:none!important;
}
.hero-slide.active,
.school-slide.active{
  opacity:1!important;
  visibility:visible!important;
  z-index:1!important;
}
.hero-slide-image,
.school-slide-image{
  position:absolute!important;
  top:0!important;
  left:0!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center top!important;
  background:#07382d!important;
}
.hero-content,
.school-slide-content{
  z-index:3!important;
  box-sizing:border-box!important;
}
.hero-content{
  left:clamp(18px,8vw,120px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  max-width:min(760px,52%)!important;
}
.school-slide-content{
  left:clamp(18px,8vw,120px)!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  max-width:min(760px,52%)!important;
}
@media(max-width:760px){
  .hero-content,
  .school-slide-content{
    left:10px!important;
    right:10px!important;
    top:auto!important;
    bottom:10px!important;
    transform:none!important;
    width:auto!important;
    max-width:none!important;
    padding:9px 11px!important;
    background:rgba(0,0,0,.58)!important;
    border-radius:9px!important;
    overflow:visible!important;
  }
  .hero h1,.hero-fallback h1{
    font-size:clamp(20px,6.5vw,34px)!important;
    line-height:1.08!important;
    margin:4px 0 6px!important;
    overflow-wrap:anywhere!important;
  }
  .hero p,.hero-fallback p,.school-slide-content p{
    font-size:clamp(11px,3.2vw,14px)!important;
    line-height:1.4!important;
    margin:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .school-slide-content h2{
    font-size:clamp(19px,6.5vw,34px)!important;
    line-height:1.08!important;
    margin:4px 0 6px!important;
    overflow-wrap:anywhere!important;
  }
}

/* V1.8.18 - Slider benar-benar full image tanpa crop di semua device */
.hero,
.school-slider{
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.hero-slider,
.school-slider{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#07382d!important;
}
.hero-slide,
.school-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background:none!important;
  background-image:none!important;
  opacity:0!important;
  visibility:hidden!important;
  overflow:visible!important;
}
.hero-slide.active,
.school-slide.active{
  opacity:1!important;
  visibility:visible!important;
  z-index:1!important;
}
.hero-slide-image,
.school-slide-image{
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center top!important;
  background:#07382d!important;
}
.hero-overlay{z-index:2!important;pointer-events:none!important;}
.hero-content,
.school-slide-content{
  z-index:3!important;
  box-sizing:border-box!important;
  max-height:none!important;
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:760px){
  .hero-slider,.school-slider{overflow:hidden!important;}
  .hero-content,.school-slide-content{
    left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;
    transform:none!important;max-width:none!important;width:auto!important;
    padding:9px 11px!important;overflow:visible!important;
  }
}

/* V1.8.19 - Slider mengikuti ukuran gambar ASLI, tanpa crop di desktop maupun HP.
   Slide aktif memakai grid sehingga gambar tetap dalam alur dokumen dan tinggi frame
   otomatis mengikuti rasio gambar. Konten berada di atas gambar tanpa memotong gambar/teks. */
.hero,
.school-slider{
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.hero-slider,
.school-slider{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.hero-slide,
.school-slide{
  position:absolute!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  background:none!important;
  background-image:none!important;
  transform:none!important;
}
.hero-slide.active,
.school-slide.active{
  position:relative!important;
  inset:auto!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:1!important;
}
.hero-slide-image,
.school-slide-image{
  grid-column:1!important;
  grid-row:1!important;
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:initial!important;
  object-position:center!important;
  background:none!important;
}
.hero-content,
.school-slide-content{
  grid-column:1!important;
  grid-row:1!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  align-self:center!important;
  justify-self:start!important;
  transform:none!important;
  z-index:4!important;
  box-sizing:border-box!important;
  margin:0 clamp(18px,8vw,120px)!important;
  width:min(760px,52%)!important;
  max-width:none!important;
  overflow:visible!important;
}
.hero-content{padding:18px 22px!important;}
.school-slide-content{padding:18px 22px!important;}
.hero-overlay{z-index:2!important;pointer-events:none!important;}
.slider-arrow,.dots{z-index:6!important;}

@media(max-width:760px){
  .hero-slide.active,
  .school-slide.active{display:grid!important;}
  .hero-slide-image,
  .school-slide-image{
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:initial!important;
  }
  .hero-content,
  .school-slide-content{
    align-self:end!important;
    justify-self:stretch!important;
    width:auto!important;
    max-width:none!important;
    margin:0 10px 10px!important;
    padding:9px 11px!important;
    border-radius:9px!important;
    background:rgba(0,0,0,.58)!important;
    overflow:visible!important;
  }
  .hero .eyebrow,
  .school-slide-content .eyebrow{font-size:7px!important;letter-spacing:1.5px!important;}
  .hero h1,.hero-fallback h1{
    font-size:clamp(20px,6.5vw,34px)!important;
    line-height:1.08!important;
    margin:4px 0 6px!important;
    overflow-wrap:anywhere!important;
  }
  .hero p,.school-slide-content p{
    font-size:clamp(11px,3.2vw,14px)!important;
    line-height:1.4!important;
    margin:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .school-slide-content h2{
    font-size:clamp(19px,6.5vw,34px)!important;
    line-height:1.08!important;
    margin:4px 0 6px!important;
    overflow-wrap:anywhere!important;
  }
  .hero-content .btn{padding:7px 10px!important;font-size:10px!important;margin-top:7px!important;}
  .slider-arrow{width:32px!important;height:32px!important;font-size:23px!important;}
  .prev{left:7px!important}.next{right:7px!important}
  .dots{bottom:7px!important;gap:5px!important;}
  .dot{width:20px!important;height:3px!important;}
}

/* V1.8.20 - Teks slider tanpa lapisan gelap */
.hero-overlay{display:none!important;background:none!important;opacity:0!important;}
.hero-slide::before,.hero-slide::after,
.school-slide::before,.school-slide::after{background:none!important;display:none!important;opacity:0!important;}
.hero-content,.school-slide-content{background:transparent!important;}
.hero-content h1,.hero-content p,.hero-content .eyebrow,
.school-slide-content h2,.school-slide-content p,.school-slide-content .eyebrow{
  text-shadow:0 1px 3px rgba(0,0,0,.22)!important;
}
@media(max-width:760px){
  .hero-content,.school-slide-content{background:transparent!important;}
}

/* V1.8.21 - Nuansa Islami + landmark wilayah pada kartu sekolah */
@media(max-width:620px){.school-card{padding:24px;min-height:285px}.school-landmark{width:55%;top:4px;right:-8px}.school-landmark span{font-size:6px;letter-spacing:1.2px;margin-right:8px}.school-card:before{inset:8px}}

/* V1.8.22 - Latar belakang website bernuansa Islami, tidak lagi putih polos */
body{
  position:relative;
  background:#f4f0e5;
  isolation:isolate;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.58;
  background:
    radial-gradient(circle at 12% 18%, rgba(11,93,69,.09) 0 2px, transparent 2.5px),
    radial-gradient(circle at 82% 72%, rgba(214,174,82,.11) 0 2px, transparent 2.5px),
    linear-gradient(45deg, transparent 46%, rgba(11,93,69,.045) 47%, rgba(11,93,69,.045) 53%, transparent 54%),
    linear-gradient(-45deg, transparent 46%, rgba(214,174,82,.055) 47%, rgba(214,174,82,.055) 53%, transparent 54%);
  background-size:72px 72px, 88px 88px, 44px 44px, 44px 44px;
  background-position:0 0, 22px 18px, 0 0, 22px 22px;
}
.intro{
  background:rgba(255,253,247,.72);
  border-radius:0 0 28px 28px;
}
.schools-section{
  background:rgba(247,243,232,.78);
}
.home-social{
  background:rgba(255,255,255,.76)!important;
}
.home-location{
  background:rgba(247,248,246,.78)!important;
}
.school-page{
  background:rgba(244,240,229,.62)!important;
}
.school-header,
.school-nav{
  background:rgba(255,255,255,.94)!important;
}
.content{
  background:rgba(255,255,255,.48);
  border-radius:24px;
}
.content-section:nth-child(even){
  background:rgba(255,255,255,.58)!important;
}
@media(max-width:620px){
  body::before{opacity:.42;background-size:58px 58px,70px 70px,36px 36px,36px 36px;}
  .intro{border-radius:0 0 20px 20px;}
  .content{background:rgba(255,255,255,.35);border-radius:16px;}
}


/* V1.8.23 - Kartu sekolah: tanpa tulisan landmark, nuansa Islami diperkuat */
.school-card{
  background:
    radial-gradient(circle at 12% 12%, rgba(155,124,49,.10) 0 2px, transparent 2.5px),
    radial-gradient(circle at 88% 18%, rgba(11,93,69,.08) 0 2px, transparent 2.5px),
    linear-gradient(135deg, rgba(255,253,248,.98), rgba(247,243,232,.96));
  background-size:42px 42px,48px 48px,100% 100%;
}
.islamic-pattern{
  opacity:.58;
  background-image:
    linear-gradient(30deg, transparent 46%, rgba(11,93,69,.07) 47%, rgba(11,93,69,.07) 53%, transparent 54%),
    linear-gradient(150deg, transparent 46%, rgba(155,124,49,.065) 47%, rgba(155,124,49,.065) 53%, transparent 54%),
    linear-gradient(90deg, transparent 47%, rgba(11,93,69,.035) 48%, rgba(11,93,69,.035) 52%, transparent 53%);
  background-size:32px 32px,32px 32px,32px 32px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),rgba(0,0,0,.38) 78%,transparent 100%);
}
.school-landmark span{display:none!important;}
.school-landmark{opacity:.28;}
.school-card:hover .school-landmark{opacity:.38;}

/* V1.8.24 - Latar website hijau Islami dengan bulan sabit dan bintang */
body{
  background:
    radial-gradient(circle at 12% 16%, rgba(214,174,82,.10) 0 1.5px, transparent 2px),
    radial-gradient(circle at 78% 30%, rgba(255,255,255,.10) 0 1.5px, transparent 2px),
    radial-gradient(circle at 28% 78%, rgba(214,174,82,.08) 0 1.5px, transparent 2px),
    linear-gradient(135deg,#edf5ef 0%,#e4f0e9 48%,#eef4ed 100%) !important;
}
body::before{
  opacity:.42;
  background:
    linear-gradient(30deg,transparent 47%,rgba(11,93,69,.065) 48%,rgba(11,93,69,.065) 52%,transparent 53%),
    linear-gradient(150deg,transparent 47%,rgba(214,174,82,.055) 48%,rgba(214,174,82,.055) 52%,transparent 53%),
    radial-gradient(circle at 50% 50%,transparent 0 18px,rgba(11,93,69,.035) 19px 20px,transparent 21px);
  background-size:48px 48px,48px 48px,72px 72px;
}
body::after{
  content:"☪  ✦  ✧  ✦  ✧";
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:-1;
  pointer-events:none;
  color:rgba(11,93,69,.10);
  font-size:clamp(34px,5vw,72px);
  letter-spacing:10px;
  white-space:nowrap;
  transform:rotate(-8deg);
  text-shadow:0 2px 8px rgba(11,93,69,.05);
}
.intro,.home-social,.home-location{background:rgba(248,252,248,.82)!important;}
.schools-section{background:rgba(235,245,238,.80)!important;}
.school-page{background:rgba(232,243,236,.72)!important;}
.content{background:rgba(250,253,250,.56)!important;}
@media(max-width:620px){
  body::after{right:8px;bottom:10px;font-size:34px;letter-spacing:5px;opacity:.8;}
  body::before{opacity:.30;background-size:38px 38px,38px 38px,58px 58px;}
}

/* V1.8.25 - Overlay slider tipis hanya pada area teks
   Gambar tetap terang; overlay tidak menutupi seluruh slide. */
.hero-overlay{background:transparent!important;}
.school-slide:after{background:transparent!important;}
.hero-content,
.school-slide-content{
  background:rgba(0,0,0,.22)!important;
  padding:14px 18px!important;
  border-radius:12px!important;
  backdrop-filter:blur(1px);
  -webkit-backdrop-filter:blur(1px);
}
@media(max-width:760px){
  .hero-content,
  .school-slide-content{
    background:rgba(0,0,0,.24)!important;
    padding:9px 11px!important;
    border-radius:9px!important;
  }
}

/* V1.8.26 - Stroke tipis pada teks slider agar tetap terbaca */
.hero-content,
.hero-content .eyebrow,
.hero-content h1,
.hero-content p,
.school-slide-content,
.school-slide-content .eyebrow,
.school-slide-content h2,
.school-slide-content p{
  -webkit-text-stroke: .45px rgba(0,0,0,.85);
  paint-order: stroke fill;
  text-shadow: none !important;
}

/* Tombol "Lihat 10 Sekolah" tanpa drop shadow pada teks */
.btn-gold,
.btn-gold *{
  text-shadow: none !important;
}

/* V1.8.30 - Gambar konten mobile memenuhi lebar kartu tanpa overflow */
@media(max-width:760px){
  /* V1.8.44 - Mobile: gambar besar, utuh, tanpa crop/overflow */
  .content-section{overflow:hidden;box-sizing:border-box;}
  .rich-content{min-width:0;max-width:100%;overflow:hidden;}
  .rich-content img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    display:block;
    box-sizing:border-box;
    object-fit:contain !important;
    object-position:center center;
  }
  .rich-content figure{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box;
  }
  .rich-content p{max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;}
}


/* V1.8.32 - Konten dua/tiga kolom dari editor TinyMCE */
.rich-content table.content-2col,
.rich-content table.content-3col{width:100%;max-width:100%;table-layout:fixed;border-collapse:separate;box-sizing:border-box;}
.rich-content table.content-2col td,
.rich-content table.content-3col td{vertical-align:top;overflow-wrap:anywhere;box-sizing:border-box;}
.rich-content table.content-2col td{width:50%;}
.rich-content table.content-3col td{width:33.3333%;}
@media(max-width:760px){
  .rich-content table.content-2col, .rich-content table.content-3col{border-spacing:0!important;}
  .rich-content table.content-2col tr, .rich-content table.content-3col tr{display:block;}
  .rich-content table.content-2col td, .rich-content table.content-3col td{display:block!important;width:100%!important;margin:0 0 12px!important;}
  .rich-content table.content-2col td:last-child, .rich-content table.content-3col td:last-child{margin-bottom:0!important;}
}


/* V1.8.38 - Rich content video responsive, tidak terpotong di HP */
.rich-content{overflow-wrap:anywhere;word-break:normal;max-width:100%;overflow:hidden}
.rich-content img,.rich-content video{display:block;max-width:100%!important;width:auto;height:auto!important;box-sizing:border-box}
.rich-content img{margin-left:0; margin-right:auto}
.rich-content .responsive-video{width:100%;max-width:100%;aspect-ratio:16/9;margin:20px 0;overflow:hidden;line-height:0;background:#000;border-radius:12px}
.rich-content .responsive-video iframe{display:block;width:100%!important;max-width:100%!important;height:100%!important;min-height:0;border:0}
@media(max-width:760px){
  .rich-content{font-size:16px;overflow:hidden}
  .rich-content .responsive-video{max-width:100%;margin:16px 0;border-radius:12px}
  .rich-content .responsive-video{aspect-ratio:16/9;max-width:100%;height:auto!important}.rich-content .responsive-video iframe{width:100%!important;max-width:100%!important;height:100%!important}
  .rich-content iframe[width][height]{aspect-ratio:auto!important}
}

/* Social embeds inserted from the admin editor */
.rich-content .social-embed{width:100%;max-width:100%;margin:20px 0;overflow:hidden;box-sizing:border-box;}
.rich-content .instagram-embed{display:flex;justify-content:center;background:#fff;border-radius:14px;min-height:80px;}
.rich-content .instagram-media{width:100%!important;max-width:540px!important;min-width:0!important;margin:0 auto!important;}
.rich-content .tiktok-embed-wrap{display:flex;justify-content:center;background:#fff;border-radius:14px;}
.rich-content .tiktok-embed{width:100%!important;max-width:605px!important;min-width:0!important;margin:0 auto!important;}
@media(max-width:700px){
  .rich-content .social-embed{margin:16px 0;border-radius:10px;}
  .rich-content .instagram-media,.rich-content .tiktok-embed{max-width:100%!important;min-width:0!important;}
}


/* V1.8.41 - Ukuran dan posisi media dari editor admin */
.rich-content img,.rich-content video{max-width:100%!important;box-sizing:border-box;}
.rich-content img[style*="width"],.rich-content video[style*="width"]{max-width:100%!important;height:auto!important;}
.rich-content .responsive-video,.rich-content .youtube-embed,.rich-content .social-embed{max-width:100%;box-sizing:border-box;}
.rich-content .responsive-video[style*="width"],.rich-content .youtube-embed[style*="width"],.rich-content .social-embed[style*="width"]{max-width:100%;}
@media(max-width:760px){
  .rich-content img,.rich-content video{max-width:100%!important;}
  .rich-content .responsive-video,.rich-content .youtube-embed,.rich-content .social-embed{max-width:100%!important;}
}

/* V1.8.41 final responsive media rules */
.rich-content img[style*="width"],.rich-content video[style*="width"]{max-width:100%!important;}
.rich-content .responsive-video[style*="width"],.rich-content .youtube-embed[style*="width"],.rich-content .social-embed[style*="width"]{max-width:100%!important;}
@media(max-width:760px){
 .rich-content img[style*="width"],.rich-content video[style*="width"]{max-width:100%!important;}
 .rich-content .responsive-video[style*="width"],.rich-content .youtube-embed[style*="width"],.rich-content .social-embed[style*="width"]{max-width:100%!important;}
}
