*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--type-body)}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--text-link-hover)}
h1,h2,h3,h4,p{margin:0}
img{max-width:100%}
.page{display:flex;flex-direction:column;min-width:0;overflow-x:clip}
.ic{display:inline-block;flex:0 0 auto;vertical-align:middle}

.nav-link{padding:8px 12px;font:var(--type-label);font-size:14px;color:var(--navy-700)}
.nav-link:hover{color:var(--sky-600)}

.eyebrow{font:var(--type-eyebrow);color:var(--brand-accent);text-transform:uppercase;letter-spacing:var(--tracking-caps)}
.eyebrow.on-dark{color:var(--sky-400)}
.sh{text-align:center;max-width:760px;margin:0 auto var(--space-12)}
.sh .eyebrow{margin-bottom:12px}
.sh h2{font:var(--type-h1);color:var(--text-heading);margin:0;text-wrap:pretty}
.sh p{font:var(--type-body);color:var(--text-body);margin:16px 0 0}
.sh.on-dark .eyebrow{color:var(--sky-400)}
.sh.on-dark h2{color:#fff}
.sh.on-dark p{color:var(--gray-300)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-h-md);padding:0 var(--control-pad-x);border-radius:var(--radius-md);border:2px solid transparent;background:var(--brand-accent);color:#fff;font:var(--type-button);font-size:var(--text-sm);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.btn:hover{background:var(--brand-accent-hover);color:#fff;box-shadow:var(--shadow-accent)}
.btn:active{background:var(--brand-accent-active);transform:var(--press-scale)}
.btn-lg{height:var(--control-h-lg);padding:0 28px;font-size:var(--text-base)}
.btn-block{width:100%}
.btn-white{background:#fff;color:var(--navy-700)}
.btn-white:hover{background:var(--gray-100);color:var(--navy-700);box-shadow:none}
.btn-white:active{background:var(--gray-200)}
.btn-secondary{background:transparent;color:var(--navy-700);border-color:var(--navy-700)}
.btn-secondary:hover{background:var(--navy-700);color:#fff;box-shadow:none}
.btn-secondary:active{background:var(--navy-800)}
.btn-navy{background:var(--navy-700)}
.btn-navy:hover{background:var(--navy-800);box-shadow:none}
.btn-navy:active{background:var(--navy-900)}
.btn-wa{background:var(--whatsapp)}
.btn-wa:hover{background:#1EBE5A;box-shadow:none}
.btn-wa:active{background:#17A850}
.btn[disabled]{background:var(--gray-300);color:var(--gray-500);cursor:not-allowed;box-shadow:none;transform:none}

.badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--radius-pill);background:var(--sky-100);color:var(--sky-700);font:var(--type-label);font-size:12px;letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap}
.stars{display:inline-flex;gap:2px;color:var(--rating-star);line-height:1;font-family:var(--font-body)}
.pill-dark{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--navy-600);background:var(--navy-800);border-radius:999px;padding:8px 14px;font:var(--type-label);font-size:13px;color:#fff}

/* Form */
.field{display:grid;gap:6px}
.field>span:first-child{font:var(--type-label);color:var(--text-heading)}
.field input,.field select{height:var(--control-h-md);width:100%;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--border-strong);font:var(--type-body-sm);color:var(--gray-900);background:#fff;outline:none;transition:box-shadow var(--dur-fast) var(--ease-out)}
.field input:focus,.field select:focus{border-color:var(--border-focus);box-shadow:var(--focus-ring)}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235B6478' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.field.err input,.field.err select{border-color:var(--status-danger)}
.err-msg{font:var(--type-body-sm);font-size:12px;color:var(--status-danger)}
.err-msg:empty{display:none}
.form-alert{background:var(--status-danger-bg);color:var(--status-danger);border-radius:var(--radius-md);padding:10px 14px;font:var(--type-body-sm);font-size:14px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
#enquiry-success:not([hidden]){display:grid}

/* Hover helpers */
.hv-shadow:hover{box-shadow:var(--shadow-md)!important}
.hv-lift,.hv-lift-only{transition:transform 220ms var(--ease-out),box-shadow 220ms var(--ease-out)}
.hv-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)!important}
.hv-lift-only:hover{transform:translateY(-4px)}
.hv-bd{transition:border-color 150ms var(--ease-out)}
.hv-bd:hover{border-color:var(--sky-500)!important}

/* Round arrow buttons */
.rbtn{width:48px;height:48px;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:all 150ms var(--ease-out);padding:0}
.rbtn-light{border:1px solid var(--border-default);background:#fff}
.rbtn-light:hover{border-color:var(--sky-500);background:var(--sky-50)}
.rbtn-sky{border:none;background:var(--sky-500)}
.rbtn-sky:hover{background:var(--sky-600)}
.rbtn-dark{border:1px solid var(--navy-600);background:var(--navy-800)}
.rbtn-dark:hover{border-color:var(--sky-500)}

/* Partner logo marquee */
.marquee-track{display:flex;width:max-content;animation:marquee 45s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-33.3333%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* Reviews */
.rev-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(min(86%,360px),1fr);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 12px}
.rev-track::-webkit-scrollbar{display:none}
.rev-text{font:var(--type-body-sm);font-size:15px;line-height:1.65;color:var(--text-body);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7}
.rev-text.open{display:block;-webkit-line-clamp:unset}

/* Gallery */
.gal-slide{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity 500ms var(--ease-out)}
.gal-slide.is-active{opacity:1}
.gal-thumb{padding:0;border:3px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer;aspect-ratio:4/3;background:var(--navy-800);transition:border-color 150ms var(--ease-out)}
.gal-thumb span{display:block;width:100%;height:100%;background-size:cover;background-position:center;opacity:.6}
.gal-thumb.is-active{border-color:var(--sky-500)}
.gal-thumb.is-active span{opacity:1}

/* Video carousel (mobile) */
.vid-arrow{position:absolute;top:42%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;border:none;box-shadow:var(--shadow-lg);cursor:pointer;align-items:center;justify-content:center;padding:0}
.vdot{height:10px;width:10px;border-radius:999px;border:none;padding:0;cursor:pointer;background:var(--gray-300);transition:all 200ms var(--ease-out)}
.vdot.is-active{width:28px;background:var(--sky-500)}

/* Syllabus */
.mod-btn{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--border-default);border-radius:10px;padding:10px 12px;cursor:pointer;transition:all 150ms var(--ease-out);background:#fff;color:var(--navy-700)}
.mod-btn:hover{border-color:var(--sky-500)}
.mod-btn.is-active{background:var(--navy-700);color:#fff;border-color:var(--navy-700)}
.mod-num{width:30px;height:30px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;font:var(--type-label);font-size:12px;background:var(--sky-50);color:var(--sky-700)}
.mod-btn.is-active .mod-num{background:var(--sky-500);color:#fff}
.mod-panel{display:grid;gap:20px;align-content:start}

/* FAQ accordion */
.acc-item{border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;background:#fff}
.acc-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:transparent;border:none;cursor:pointer;font:var(--type-label);font-size:15px;letter-spacing:var(--tracking-wide);color:var(--navy-700);text-align:left}
.acc-chev{display:inline-flex;transition:transform var(--dur-base) var(--ease-out)}
.acc-item.open .acc-chev{transform:rotate(180deg)}
.acc-body{display:none;padding:0 20px 18px;font:var(--type-body-sm);color:var(--text-body);line-height:1.7}
.acc-item.open .acc-body{display:block}

/* Footer */
.ft-h{font:var(--type-h4);color:#fff;margin:0 0 14px}
.ft-li{font:var(--type-body-sm);color:var(--gray-300);text-decoration:none;display:block;padding:4px 0;margin:0}
a.ft-li:hover{color:#fff}
.ft-tel{color:var(--sky-400);font-weight:600}
.ft-social{width:36px;height:36px;border-radius:50%;background:var(--navy-600);display:grid;place-items:center;color:#fff}
.ft-social:hover{background:var(--sky-500);color:#fff}

/* Responsive */
[data-m="show-sm"],[data-m="show-sm-flex"]{display:none!important}
@media (max-width:900px){
  [data-m="nav"]{display:none!important}
  [data-m="burger"]{display:grid!important}
  [data-m="float"]{display:none!important}
  footer>div:first-child{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px 24px!important}
  footer>div:first-child>div:last-child{grid-column:1/-1}
}
@media (max-width:640px){
  body{padding-bottom:68px}
  [data-m="hide-sm"]{display:none!important}
  [data-m="show-sm"]{display:grid!important}
  [data-m="show-sm-flex"]{display:flex!important}
  [data-m="vid-track"]{flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px!important}
  [data-m="vid-track"]>*{flex:0 0 100%!important;min-width:0!important;scroll-snap-align:center}
  [data-m="vid-track"]::-webkit-scrollbar{display:none}
  section[data-screen-label]:not([data-screen-label="Hero"]):not([data-screen-label="Trust Badges"]){padding-top:56px!important;padding-bottom:56px!important}
  section[data-screen-label] h2{font-size:28px!important;line-height:1.25!important}
  [data-screen-label="Hero"]{padding-top:40px!important}
  [data-m="pad-sm"]{padding:20px!important}
  [data-m="logo"]{height:38px!important}
  [data-m="intro-img"]{height:260px!important}
  [data-m="fab"]{left:0!important;right:0!important;bottom:0!important;flex-direction:row!important;gap:8px!important;padding:10px 12px!important;background:#fff;box-shadow:0 -4px 16px rgba(20,27,58,.12)}
  [data-m="fab"]>*{flex:1 1 0;min-width:0}
  [data-m="fab"] a,[data-m="fab"] button{width:100%;justify-content:center}
  [data-m="topbar"]{justify-content:center!important}
  [data-m="hero-2col"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  [data-m="hero-2col"]>*{min-width:0}
  [data-m="hero-2col"] a{width:100%;min-width:0;white-space:normal!important;padding:0 10px!important;font-size:14px!important;line-height:1.2;text-align:center;gap:6px!important}
  [data-m="hero-2col"]>div{padding:10px 12px!important;gap:8px!important}
  [data-m="hero-2col"] img{width:26px!important;height:26px!important}
  footer>div:first-child{grid-template-columns:minmax(0,1fr)!important;padding:48px 20px 32px!important;gap:32px!important}
  footer>div:first-child>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 16px!important}
  footer>div:last-child{padding:16px 20px!important;line-height:1.6}
}
