@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{--red:#ed3946;--cream:#fff0ed;--ink:#25212a;--muted:#756e78;--line:#eee5e4;--white:#fff;--dark:#37232f;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:'DM Sans',sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}button{cursor:pointer}.container{width:min(1170px,calc(100% - 44px));margin-inline:auto}.skip{position:absolute;top:-70px;left:20px;background:#fff;padding:10px;z-index:100}.skip:focus{top:10px}.topbar{background:var(--red);color:#fff;font-size:12px;letter-spacing:.01em;padding:8px 0}.topbar .container{display:flex;justify-content:center;gap:16px;text-align:center;flex-wrap:wrap}.topbar span{font-weight:800}.header{position:sticky;top:0;background:#fffdfdf2;backdrop-filter:blur(15px);z-index:20;border-bottom:1px solid #f4efed}.header-inner{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand img{width:49px;height:49px;object-fit:contain}.brand-word{display:flex;flex-direction:column;gap:0}.brand-word strong{color:var(--red);font:800 29px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:-1.8px}.brand-dot{color:#24232a}.brand-word small{font-size:8px;letter-spacing:2.6px;font-weight:800;margin-top:4px}.nav{display:flex;align-items:center;gap:21px}.nav>a:not(.nav-cta){font-size:13px;font-weight:700;transition:color .2s}.nav>a:is(:hover,.active){color:var(--red)}.nav-cta{background:var(--red);color:#fff;padding:12px 17px;border-radius:12px;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 8px 20px #ed394629}.nav-cta span{margin-left:8px}.nav-toggle{display:none;border:0;background:none;padding:8px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}.hero{position:relative;background:radial-gradient(ellipse at 75% 35%,#ffe1dc 0,transparent 39%),linear-gradient(120deg,#fffdfc,#fff6f1);overflow:hidden}.hero-grid{min-height:560px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:20px;padding-top:64px;padding-bottom:25px}.hero-copy{position:relative;z-index:1}.eyebrow,.section-label{display:inline-flex;align-items:center;gap:10px;color:var(--red);letter-spacing:2px;font-size:11px;font-weight:800;text-transform:uppercase}.eyebrow{background:#fff;border:1px solid #f9dbda;padding:10px 16px;border-radius:30px;box-shadow:0 8px 25px #5c23200b}.hero h1{font:800 clamp(40px,4.2vw,66px)/1.16 'Plus Jakarta Sans',sans-serif;letter-spacing:-3.4px;max-width:760px;margin:23px 0 19px}.hero h1::first-letter{color:var(--red)}.hero-copy>p{font-size:16px;color:#6f6874;max-width:580px;margin:0 0 28px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:14px 21px;border-radius:13px;font-size:13px;font-weight:800;border:1px solid transparent;transition:transform .2s,box-shadow .2s;white-space:normal;text-align:center}.btn:hover{transform:translateY(-2px)}.btn-red{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 13px 25px #ed394638}.btn-outline{background:#fff;color:#30272c;border:1px solid #eadcde}.btn-white{background:#fff;color:var(--red);box-shadow:0 12px 20px #2d091327}.hero-points{display:flex;gap:18px;margin:28px 0;color:#625f65;font-size:11px;font-weight:700;flex-wrap:wrap}.hero-points span:first-letter{color:var(--red)}.hero-visual{height:440px;position:relative;display:grid;place-items:center}.hero-visual .blob{position:absolute;width:88%;height:90%;background:#ffd5cb;border-radius:48% 52% 53% 47%/42% 48% 52% 58%;transform:rotate(-12deg)}.hero-visual img{width:100%;max-height:410px;object-fit:contain;position:relative;filter:drop-shadow(0 25px 35px #a52a1b14)}.float-star{position:absolute;top:18px;right:28px;color:#efa52b;font-size:65px}.float-dot{position:absolute;bottom:15px;left:30px;color:var(--red);font-size:45px}.scroll-note{padding:5px 0 25px;font-size:9px;font-weight:800;letter-spacing:2.7px;color:#96868a}.value-strip{background:#fff3ed;border-top:1px solid #ffddd7;border-bottom:1px solid #ffddd7}.value-inner{min-height:76px;display:flex;justify-content:space-around;gap:12px;align-items:center;flex-wrap:wrap}.value-inner span{font-size:13px;font-weight:800;color:#855554}.section{padding:95px 0}.section-soft{background:#fcf9f8}.split-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:32px}.split-heading h2,.center-heading h2,.about-preview h2,.contact-info h2,.enrollment-grid h2,.faq-page-grid h2,.about-page-grid h2{font:800 clamp(30px,3.3vw,44px)/1.24 'Plus Jakarta Sans',sans-serif;letter-spacing:-1.8px;margin:14px 0 0}.split-heading h2{max-width:570px}.split-heading>p{max-width:380px;color:var(--muted);font-size:14px;margin:0 0 8px}.red-text{color:var(--red)}.dot{height:7px;width:7px;border-radius:100%;background:currentColor}.card-grid{display:grid;gap:20px}.programs-grid{grid-template-columns:repeat(3,1fr)}.program-card{border-radius:22px;border:1px solid #e9e7e5;padding:30px;min-height:360px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.program-card:hover{transform:translateY(-5px);box-shadow:0 20px 32px #46272c11}.card-tone-1{background:#fff6e7}.card-tone-2{background:#f4efff}.card-tone-3{background:#eaf5ff}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#6a6063;font-weight:800}.card-meta span{background:#fff9;padding:7px 11px;border-radius:50px}.card-meta b{font-size:18px;color:#c9bfc0;font-weight:800}.program-symbol{display:grid;place-items:center;width:78px;height:78px;border-radius:21px;background:#fff;box-shadow:0 10px 25px #271d2512;margin:25px 0 17px;color:var(--red);font-size:43px;font-weight:800}.program-photo{width:100%;height:155px;object-fit:cover;border-radius:16px;margin:18px 0 12px}.program-card h3{margin:0 0 9px;font:800 24px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.7px}.program-card p{font-size:13px;color:#70656d;margin:0 0 20px}.program-card .program-description{margin-top:-8px;color:#837681}.arrow-link{font-size:13px;color:var(--red);font-weight:800;margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ddcfcf}.arrow-link span{font-size:22px}.section-foot{margin-top:27px;text-align:center}.section-foot>a,.simple-link{font-size:13px;color:var(--red);font-weight:800}.dark-section{background:#422733;color:#fff;position:relative;overflow:hidden}.dark-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.dark-grid h2{font:800 clamp(29px,3.1vw,44px)/1.23 'Plus Jakarta Sans',sans-serif;letter-spacing:-1.7px;margin:20px 0}.dark-grid h2 span{color:#ffaaa8}.dark-grid>div>p{color:#d6c9ce;font-size:14px;max-width:460px;margin-bottom:27px}.light-label{color:#ffb4b5}.dark-spark{font-size:80px;color:#f36c71;opacity:.8;line-height:1;margin-top:25px}.feature-list{display:grid;gap:14px}.feature-mini{display:flex;align-items:flex-start;gap:19px;border:1px solid #8b5b6890;background:#ffffff09;border-radius:17px;padding:18px 20px}.feature-mini-icon{flex-shrink:0;width:48px;height:48px;display:grid;place-items:center;background:#fdc4c440;color:#ffc0bc;border-radius:12px;font-size:27px}.feature-mini h3{font-size:15px;margin:0 0 4px}.feature-mini p{font-size:12px;color:#d0c2c8;margin:0}.about-preview,.about-page-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px}.about-art{min-height:410px;background:linear-gradient(135deg,#ffdbd7,#fff2de);border-radius:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;position:relative;overflow:hidden}.about-art::after{content:'✳';position:absolute;font-size:100px;right:-15px;top:-45px;color:#ffffffa1}.about-art>img:not(.about-cover){width:145px;height:140px;object-fit:contain}.about-art-text{text-align:center;font:800 37px/1.17 'Plus Jakarta Sans',sans-serif;color:#442b37;letter-spacing:-1.5px}.about-art-text em{font-style:normal;color:var(--red)}.about-art .about-cover{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.about-preview p,.about-page-grid .large-copy,.contact-info p,.enrollment-grid>div>p,.faq-page-grid>div>p{color:#746f74;font-size:14px;margin-bottom:19px}.about-preview .btn{margin-top:9px}.center-heading{text-align:center;max-width:720px;margin:0 auto 42px}.center-heading p{color:var(--muted);font-size:14px}.feature-grid{grid-template-columns:repeat(4,1fr)}.feature-card{background:#fff;border:1px solid #f0e8e8;border-radius:22px;padding:30px 22px;box-shadow:0 14px 35px #27132709;position:relative}.feature-big-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:20px;color:var(--red);background:#fff1ed;font-size:34px}.feature-number{position:absolute;top:30px;right:22px;color:#e5dadd;font-size:20px;font-weight:800}.feature-card h3{font-size:17px;margin:22px 0 8px;line-height:1.3}.feature-card p{font-size:13px;color:var(--muted);margin:0}.faq-layout,.faq-page-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}.faq-layout h2,.faq-page-grid h2{font:800 37px/1.25 'Plus Jakarta Sans',sans-serif;letter-spacing:-1.5px;margin:16px 0}.faq-layout p,.faq-page-grid p{font-size:14px;color:#6d666d}.faq-list{display:grid;gap:12px}.faq-item{border:1px solid #eee5e3;border-radius:15px;background:#fff;overflow:hidden}.faq-item summary{padding:20px 23px;font-size:14px;font-weight:800;cursor:pointer;display:flex;justify-content:space-between;gap:20px;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{font-size:24px;font-weight:400;line-height:1;color:var(--red)}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item p{font-size:13px;color:#726975;line-height:1.8;padding:0 23px 20px;margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-card{margin:0;border-radius:21px;overflow:hidden;border:1px solid #efe9e8;background:#fff;box-shadow:0 12px 23px #3323270a}.gallery-card img{width:100%;height:245px;object-fit:cover}.gallery-card figcaption{padding:17px 19px;font-size:13px;font-weight:700}.subhero{background:linear-gradient(115deg,#fff6f4,#ffebe8);overflow:hidden}.subhero-grid{min-height:265px;display:grid;grid-template-columns:1fr 250px;align-items:center;gap:30px}.subhero h1{font:800 clamp(32px,3.6vw,51px)/1.2 'Plus Jakarta Sans',sans-serif;max-width:790px;letter-spacing:-2px;margin:17px 0 12px}.subhero p{margin:0 0 20px;color:#786970;max-width:700px;font-size:15px}.subhero-doodle{position:relative;height:230px}.doodle-circle{position:absolute;width:170px;height:170px;border-radius:50%;background:#ffd4cf;top:20px;left:25px;display:grid;place-items:center;color:#ff7d80;font-size:105px}.doodle-star{position:absolute;right:20px;top:20px;color:#f3b134;font-size:60px}.doodle-ring{position:absolute;right:20px;bottom:17px;width:65px;height:65px;border:10px solid #fff;border-radius:50%}.big-about-art{min-height:480px}.about-page-grid .large-copy{line-height:2}.about-quote{font-size:21px;font-weight:800;color:var(--red);margin:26px 0}.contact-grid,.enrollment-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.contact-info h2,.enrollment-grid h2{margin-bottom:18px}.info-row{display:flex;align-items:flex-start;gap:15px;margin:25px 0}.info-row>div{width:45px;height:45px;border-radius:13px;background:#fff0ed;color:var(--red);display:grid;place-items:center;font-size:20px;flex-shrink:0}.info-row b{font-size:13px}.info-row p{margin:2px 0;overflow-wrap:anywhere}.form-card{padding:36px;border:1px solid #f0e5e3;border-radius:24px;box-shadow:0 18px 50px #4f2a270d;background:#fff}.form-card>h2{font:800 25px 'Plus Jakarta Sans',sans-serif;margin:0 0 7px}.form-card>p{font-size:13px;color:var(--muted);margin:0 0 24px}.public-form{display:grid;gap:17px}.public-form label{font-weight:800;font-size:12px;color:#393039;display:grid;gap:8px}.public-form input,.public-form textarea,.public-form select{min-width:0;width:100%;background:#fcfaf9;border:1px solid #eadfe0;border-radius:10px;padding:13px 14px;outline:0;color:#393039;font-size:13px}.public-form :is(input,textarea,select):focus{border-color:var(--red);box-shadow:0 0 0 3px #f65a681b}.public-form .btn{width:100%;margin-top:7px}.public-form small{font-size:11px;color:#877c81;line-height:1.5}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px}.hidden-hp{position:absolute;left:-9999px;height:0;overflow:hidden}.notice{padding:14px 17px;border-radius:12px;font-weight:700;font-size:13px;margin-bottom:22px}.notice.success{background:#e8f9ef;color:#21623d}.notice.error{background:#fff0f0;color:#a12d35}.step-line{display:flex;gap:16px;padding:18px 0;max-width:440px;border-bottom:1px solid #eee5e4}.step-line span{font:800 22px 'Plus Jakarta Sans',sans-serif;color:var(--red)}.step-line b{font-size:14px}.step-line p{font-size:13px;color:var(--muted);margin:3px 0}.empty-state{text-align:center;border:2px dashed #ecdcd9;padding:64px 18px;border-radius:22px;color:var(--muted)}.empty-state span{font-size:36px;color:var(--red)}.empty-state h2{color:var(--ink);margin:12px 0}.cta-band{background:var(--red);color:#fff;overflow:hidden}.cta-band-inner{padding:56px 0;display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-band h2{font:800 33px/1.24 'Plus Jakarta Sans',sans-serif;max-width:600px;margin:12px 0;letter-spacing:-1px}.cta-band h2 em{font-style:normal;color:#ffdbd3}.cta-band p{font-size:13px;color:#ffe3e1;margin:0}.footer{background:#2d2631;color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr 1.15fr;gap:50px;padding:68px 0}.footer-logo img{width:230px;height:116px;object-fit:contain;object-position:left center;filter:drop-shadow(0 0 0 #fff)}.footer-grid p{font-size:12px;color:#c4b9c4;line-height:1.9}.footer-tagline{font-size:13px;color:#ff9c9e;font-weight:800}.footer-grid h3{font-size:14px;margin:17px 0 22px}.footer-grid a:not(.footer-logo){display:block;color:#d4cbd0;font-size:12px;margin:11px 0}.footer-grid a:hover{color:#fff}.footer-bottom{padding:18px 0;border-top:1px solid #544650;color:#b6aab6;font-size:11px;display:flex;justify-content:space-between;gap:20px}
@media(max-width:1050px){.nav{gap:12px}.nav>a:not(.nav-cta){font-size:12px}.nav-cta{padding:11px}.feature-grid{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:52px}.dark-grid{gap:40px}}
@media(max-width:860px){.nav-toggle{display:block}.header-inner{min-height:76px}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:19px max(22px,5vw) 28px;box-shadow:0 20px 26px #3020201b;flex-direction:column;align-items:stretch;gap:4px}.nav.open{display:flex}.nav>a:not(.nav-cta){padding:10px 8px}.nav-cta{text-align:center;margin-top:7px}.hero-grid{min-height:0;grid-template-columns:1fr;padding:55px 0 28px}.hero-copy{max-width:670px}.hero-visual{max-width:560px;height:360px;width:100%;margin:auto}.hero h1{font-size:clamp(40px,7vw,60px)}.scroll-note{display:none}.programs-grid{grid-template-columns:repeat(2,1fr)}.program-card:last-child:nth-child(odd){grid-column:1/-1}.dark-grid,.about-preview,.about-page-grid,.faq-layout,.faq-page-grid,.contact-grid,.enrollment-grid{grid-template-columns:1fr;gap:36px}.dark-spark{display:none}.about-art{min-height:320px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:25px}.subhero-grid{grid-template-columns:1fr 150px}.doodle-circle{width:130px;height:130px;font-size:70px}.subhero-doodle{height:180px}.subhero h1{font-size:36px}}
@media(max-width:600px){.container{width:calc(100% - 34px)}.topbar{font-size:10px}.topbar .container{gap:2px 7px}.brand img{width:42px;height:42px}.brand-word strong{font-size:26px}.brand-word small{font-size:7px}.hero-grid{padding-top:40px}.hero h1{font-size:39px;letter-spacing:-2.3px}.hero-copy>p{font-size:14px}.hero-actions .btn{width:100%}.hero-points{gap:9px;font-size:10px}.hero-visual{height:300px}.value-inner{padding:18px 0;justify-content:center;column-gap:30px;row-gap:8px}.value-inner span{font-size:11px}.section{padding:65px 0}.split-heading{display:block}.split-heading>p{margin-top:14px}.split-heading h2,.center-heading h2,.about-preview h2{font-size:30px}.programs-grid,.feature-grid,.gallery-grid{grid-template-columns:1fr}.program-card:last-child:nth-child(odd){grid-column:auto}.program-card{min-height:unset}.feature-card{padding:24px}.dark-grid h2{font-size:30px}.about-art-text{font-size:31px}.faq-layout h2{font-size:30px}.subhero-grid{grid-template-columns:1fr;min-height:0;padding:52px 0}.subhero h1{font-size:32px}.subhero-doodle{display:none}.form-card{padding:22px}.form-pair{grid-template-columns:1fr}.cta-band-inner{display:block;padding:45px 0}.cta-band h2{font-size:28px}.cta-band .btn{margin-top:24px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px;padding:42px 0}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:4px}.gallery-card img{height:250px}}

.subhero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:18px}

.section-intro{max-width:790px;font-size:14px;color:var(--muted);margin:16px 0 26px}


/* ==========================================================
   WIDYS - PERBAIKAN LOGO HEADER & FOOTER (03 NOVEMBER 2026)
   Menyesuaikan HTML header.php / footer.php tanpa mengubah
   komponen atau halaman website lainnya.
   ========================================================== */

/* Header: hanya gambar logo, tanpa memaksa rasio persegi */
.header .brand {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    flex: 0 0 auto;
    width: auto;
    max-width: 230px;
    min-width: 0;
}

.header .brand img,
.header .brand img.brand-logo {
    display: block;
    width: auto;
    height: 72px;
    max-width: 100%;
    object-fit: contain;
    object-position: left center;
    flex-shrink: 1;
}

/* Header tetap sejajar dengan navigasi utama */
.header .header-inner {
    min-height: 96px;
    align-items: center;
}

/* Footer: logo dibuat proporsional & tidak memakai filter */
.footer .footer-grid {
    align-items: start;
}

.footer .footer-logo {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: min(100%, 225px);
    max-width: 100%;
    margin-bottom: 16px;
    line-height: 1;
}

.footer .footer-logo img,
.footer .footer-logo img.footer-logo-img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 105px;
    object-fit: contain;
    object-position: left center;
    filter: none;
}

/* Heading di HTML footer menggunakan h2 (bukan h3) */
.footer .footer-grid h2,
.footer .footer-grid h3 {
    margin: 10px 0 22px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.3px;
}

.footer .footer-grid > div:first-child > p {
    margin: 0 0 12px;
}

/* Tablet dan HP: logo mengikuti ruang yang tersedia */
@media (max-width: 991px) {
    .header .brand {
        max-width: 200px;
    }

    .header .brand img,
    .header .brand img.brand-logo {
        height: 60px;
    }

    .header .header-inner {
        min-height: 82px;
    }

    .footer .footer-logo {
        width: min(100%, 205px);
    }
}

@media (max-width: 860px) {
    /* site.css asli menempatkan menu mobile pada top: 76px */
    .header .header-inner {
        min-height: 76px;
    }
}

@media (max-width: 600px) {
    .header .brand {
        max-width: 170px;
    }

    .header .brand img,
    .header .brand img.brand-logo {
        height: 50px;
        max-width: 100%;
    }

    .footer .footer-logo {
        width: min(100%, 190px);
    }

    .footer .footer-logo img,
    .footer .footer-logo img.footer-logo-img {
        max-height: 90px;
    }

    .footer .footer-grid h2,
    .footer .footer-grid h3 {
        font-size: 16px;
        margin: 6px 0 16px;
    }
}
