[hidden]{display:none!important}body:has(dialog[open]){overflow:hidden}.announcement{position:relative;padding:12px 20px 17px;background:#ffca39}.announcement:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:10px;background:radial-gradient(ellipse at 50% 0,transparent 65%,white 69%) 0 0/150px 15px repeat-x}.header{height:118px}.menu-toggle{color:#2c3033;font-size:12px}.menu-toggle>span:first-child{font-size:30px;font-weight:400;line-height:1}.menu-toggle .toggle-label{font-size:12px}.enroll{font-size:12px;padding:11px 19px;border-radius:10px}.brighton small{background:#234d77;color:white;padding:3px 6px;letter-spacing:2px;font-size:8px}.header-right{color:#2c3033}.language{display:flex;gap:9px;align-items:center;font-size:12px}.indonesia-flag{width:19px;height:19px;border-radius:50%;background:linear-gradient(#ff1422 50%,white 50%);border:1px solid #eee}.contact-icon{display:flex}.site-menu{margin:0;padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#fff5da;color:#674c07;overflow:auto}.site-menu::backdrop{background:#fff5da}.mega-menu{display:grid;grid-template-columns:36% 31% 33%;min-height:calc(100dvh - 161px)}.menu-sections{padding:65px 35px 65px clamp(35px,9vw,170px);display:flex;flex-direction:column}.menu-heading{display:block;font-size:13px;font-weight:700;color:#39301c;margin-bottom:65px}.section-tabs{display:flex;flex-direction:column;gap:30px}.section-tabs button,.section-link{border:0;background:none;color:#cc9400;font-size:clamp(25px,3.3vw,48px);line-height:1.3;text-align:left;font-weight:600;padding:0;position:relative}.section-tabs button{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-tabs button span{opacity:0;color:#674c07;font-size:40px}.section-tabs button[aria-selected=true]{color:#674c07}.section-tabs button[aria-selected=true] span{opacity:1}.section-link{margin-top:30px}.menu-secondary{margin-top:80px;font-size:18px;color:#cc9400;font-weight:800}.menu-detail{padding:65px 25px 65px 35px;display:flex;flex-direction:column}.submenu-links{display:flex;flex-direction:column;gap:20px}.submenu-links a{color:#cc9400;font-size:clamp(18px,1.9vw,27px);font-weight:800;line-height:1.5}.submenu-links a:first-child{color:#674c07}.submenu-links a:hover,.section-link:hover{color:#674c07;text-decoration:underline;text-underline-offset:6px}.menu-community{margin-top:auto;padding-top:65px;font-size:13px}.menu-community p{margin:8px 0}.menu-quick{background:#ffe192;padding:65px 45px;display:flex;flex-direction:column}.menu-quick .submenu-links a:first-child{color:#cc9400}.menu-follow{margin-top:auto;padding-top:65px}.menu-follow h3{font-size:25px;margin-bottom:18px}.menu-follow a{font-size:14px;font-weight:800}.home-banner{border:0;border-radius:24px;padding:0;width:min(700px,calc(100vw - 40px));max-width:700px;max-height:calc(100dvh - 40px);overflow:auto;color:#674c07;background:#ffdf83;box-shadow:0 30px 100px #0005}.home-banner::backdrop{background:rgba(85,60,0,.86)}.banner-close{position:absolute;top:14px;right:14px;width:40px;height:40px;background:white;border:0;border-radius:50%;font-size:30px;color:#674c07;z-index:2;line-height:1}.banner-design{text-align:center;padding:45px 35px 30px;background:radial-gradient(circle at 0 100%,#ffca394d 0 28%,transparent 28.2%),radial-gradient(circle at 100% 0,#fff5da66 0 20%,transparent 20.2%)}.banner-brand{display:block;font-weight:900;font-size:19px;letter-spacing:2px;margin-bottom:30px}.banner-brand>span{color:#00a84b}.banner-design .eyebrow{color:#8b6700}.banner-design h2{font-size:clamp(35px,6vw,60px);margin:20px 0 15px;letter-spacing:-1.5px}.banner-design h2>span{color:#c68b00}.banner-design p{font-size:15px;margin-bottom:25px}.banner-blocks{display:flex;justify-content:center;gap:20px;margin:30px 0 20px}.banner-blocks>span{display:grid;place-items:center;width:75px;height:75px;border-radius:20px;background:#fb4d6b;color:white;font-size:43px;font-weight:900;transform:rotate(-10deg);box-shadow:0 5px 0 #0001}.banner-blocks>span:nth-child(2){background:#28ade3;transform:rotate(10deg)}.banner-blocks>span:nth-child(3){background:#00bf59;transform:rotate(-6deg)}.banner-design>small{font-size:10px;letter-spacing:3px;font-weight:900}@media(max-width:900px){.mega-menu{grid-template-columns:34% 38% 28%}.menu-sections{padding-left:30px;padding-right:20px}.menu-detail{padding-left:20px;padding-right:20px}.menu-quick{padding-left:25px;padding-right:20px}.menu-heading{margin-bottom:45px}.section-tabs{gap:24px}.section-link{margin-top:24px}.section-tabs button{font-size:29px}.submenu-links a{font-size:19px}.header{gap:18px}}@media(max-width:700px){.header{height:90px}.menu-toggle .toggle-label{display:none}.header-right{gap:12px}.language,.contact-icon{display:none}.brighton small{font-size:5px;letter-spacing:1px}.mega-menu{grid-template-columns:1fr 1fr;min-height:calc(100dvh - 134px)}.menu-sections,.menu-detail{padding:32px 18px}.menu-heading{font-size:10px;margin-bottom:30px}.section-tabs button,.section-link{font-size:25px}.section-tabs button span{font-size:25px}.section-tabs{gap:25px}.submenu-links{gap:20px}.submenu-links a{font-size:17px}.menu-secondary{font-size:14px;margin-top:45px}.menu-community{font-size:11px;padding-top:45px}.menu-quick{grid-column:1/-1;padding:30px 24px}.menu-quick .submenu-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.menu-quick .menu-heading{margin-bottom:20px}.menu-follow{padding-top:30px}.menu-follow h3{font-size:22px}.home-banner{width:calc(100vw - 28px);max-height:calc(100dvh - 28px);border-radius:20px}.banner-design{padding:50px 20px 25px}.banner-brand{font-size:15px;margin-bottom:25px}.banner-design p{font-size:13px}.banner-blocks>span{width:60px;height:60px;font-size:35px}}@media(max-width:360px){.section-tabs button,.section-link{font-size:21px}.submenu-links a{font-size:15px}}

/* Shared, gently curved waves for every section and the announcement bar. */
:root {
    --wave-width: 180px;
    --wave-height: 32px;
}
.wave-bottom::after,
.wave-top::before,
.announcement::after {
    height: var(--wave-height);
    background: var(--yellow);
    -webkit-mask: url('../images/section-wave.svg') repeat-x left bottom / var(--wave-width) var(--wave-height);
    mask: url('../images/section-wave.svg') repeat-x left bottom / var(--wave-width) var(--wave-height);
    pointer-events: none;
}
.yellow-section.wave-bottom::after {
    background: var(--cream);
}
/* Let the yellow section flow directly over the following photo. */
.about.wave-bottom::after {
    display: none;
}
.about + .wide-photo::before {
    content: '';
    position: absolute;
    z-index: 2;
    top: -1px;
    left: 0;
    width: 100%;
    height: var(--wave-height);
    background: var(--yellow);
    -webkit-mask: url('../images/section-wave.svg') repeat-x left bottom / var(--wave-width) var(--wave-height);
    mask: url('../images/section-wave.svg') repeat-x left bottom / var(--wave-width) var(--wave-height);
    transform: rotate(180deg);
    pointer-events: none;
}
.wave-top::before {
    top: calc(1px - var(--wave-height));
    transform: none;
}
.announcement::after {
    --wave-width: 128px;
    --wave-height: 8px;
    bottom: calc(1px - var(--wave-height));
    background: #ffca39;
    -webkit-mask-image: url('../images/announcement-wave.svg');
    mask-image: url('../images/announcement-wave.svg');
    transform: none;
    z-index: 6;
}
@media (max-width: 700px) {
    :root {
        --wave-width: 140px;
        --wave-height: 24px;
    }
}

/* Navbar proportions shared by every page. */
.announcement {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 20px 14px;
    font-size: 15px;
    font-weight: 500;
}
.header {
    height: 156px;
    padding-inline: 4.2%;
    gap: 28px;
}
.menu-toggle {
    gap: 18px;
    font-weight: 700;
}
.menu-toggle .toggle-label { font-size: 17px; }
.menu-toggle > span:first-child { font-size: 34px; }
.enroll {
    padding: 11px 25px;
    border-radius: 11px;
    font-size: 16px;
}
.logo { gap: 14px; }
.abc { font-size: 31px; }
.abc small { font-size: 9px; }
.brighton { font-size: 31px; letter-spacing: 5px; }
.brighton small { font-size: 10px; padding: 3px 7px; }
.header-right { gap: 30px; font-size: 16px; }
.language { font-size: 16px; }
.indonesia-flag { width: 24px; height: 24px; }
.contact-icon svg { width: 27px; height: 27px; }
.header-search {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #252a2e;
}
.header-search svg { width: 28px; height: 28px; }
@media (max-width: 900px) {
    .header { height: 120px; }
    .announcement { min-height: 40px; font-size: 12px; }
    .menu-toggle .toggle-label { font-size: 13px; }
    .enroll { font-size: 12px; padding: 9px 17px; }
    .abc { font-size: 24px; }
    .brighton { font-size: 23px; letter-spacing: 3px; }
    .brighton small { font-size: 7px; }
}
@media (max-width: 700px) {
    .announcement { min-height: 34px; font-size: 9px; padding-bottom: 11px; }
    .header { height: 88px; }
    .header-search { display: grid; }
    .header-search svg { width: 22px; height: 22px; }
}

/* Smaller, regular-weight typography throughout the expanded menu. */
#site-menu .mega-menu,
#site-menu .mega-menu :is(button, a, span, p, strong, h3) {
    font-weight: 400;
}
#site-menu .menu-heading {
    font-size: 11px;
}
#site-menu .section-tabs button,
#site-menu .section-link {
    font-size: clamp(24px, 2.3vw, 34px);
    line-height: 1.35;
}
#site-menu .section-tabs button span {
    font-size: 28px;
}
#site-menu .submenu-links a {
    font-size: clamp(16px, 1.4vw, 20px);
    line-height: 1.5;
}
#site-menu .menu-secondary {
    font-size: 14px;
}
#site-menu .menu-community {
    font-size: 12px;
}
#site-menu .menu-follow h3 {
    font-family: inherit;
    font-size: 20px;
}
#site-menu .menu-follow a {
    font-size: 12px;
}
@media (max-width: 700px) {
    #site-menu .menu-heading { font-size: 9px; }
    #site-menu .section-tabs button,
    #site-menu .section-link { font-size: 20px; }
    #site-menu .section-tabs button span { font-size: 22px; }
    #site-menu .submenu-links a { font-size: 15px; }
    #site-menu .menu-secondary { font-size: 12px; }
    #site-menu .menu-community { font-size: 10px; }
    #site-menu .menu-follow h3 { font-size: 18px; }
}
