/* ===== Bright Modern ===== */
.t-modern{--coral:#F0634C;--coral-d:#D94A33;--teal:#0E7C86;--teal-d:#0A5E66;--sun:#FFC857;--grape:#6C5DD3;--ink:#23262F;--muted:#62677A;--bg:#FFFDF9;--soft:#FFF1E8;--line:#F0E6DC;--focus:#0E7C86;
  font-family:'Nunito',system-ui,sans-serif;font-size:17px;line-height:1.65;color:var(--ink);background:var(--bg)}
.t-modern h1,.t-modern h2,.t-modern h3,.t-modern h4{font-family:'Fredoka',system-ui,sans-serif;font-weight:600;line-height:1.15;margin:0 0 .5em;color:var(--ink)}
.t-modern h2{font-size:clamp(1.9rem,3.2vw,2.7rem)}.t-modern h3{font-size:1.25rem}
.t-modern section{padding:80px 0}
.site-header{background:rgba(255,253,249,.94);backdrop-filter:blur(10px);transition:box-shadow .2s}.site-header.scrolled{box-shadow:0 4px 24px rgba(35,38,47,.07)}
.head-in{display:flex;align-items:center;gap:20px;min-height:80px}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;margin-right:auto}.brand .logo{width:50px;height:50px;border-radius:16px;object-fit:contain}
.logo-ini{display:grid!important;place-items:center;background:var(--coral);color:#fff;font-family:'Fredoka',sans-serif;font-weight:700;font-size:20px;border-radius:16px 16px 16px 4px}
.brand strong{font-family:'Fredoka',sans-serif;font-size:1.3rem;font-weight:600;line-height:1.1;max-width:260px}
.nav-links a{padding:9px 14px;border-radius:999px;font-weight:700;font-size:15.5px;color:var(--ink)}
.nav-links a:hover{background:var(--soft)}.nav-links a.on{background:var(--ink);color:#fff}
.pill-login{border:2px solid var(--teal);color:var(--teal)!important;padding:7px 16px!important}
.pill-apply{background:var(--coral);color:#fff!important;padding:9px 20px!important}.pill-apply:hover{background:var(--coral-d)!important}
.dd-menu{background:#fff;border-radius:18px;box-shadow:0 16px 40px rgba(35,38,47,.12)}
/* hero: inset rounded frame with text card */
.hero-frame{padding:8px 20px 0}
.hero{border-radius:36px;min-height:min(74vh,680px);background:var(--teal)}
.hero-slider .slide{min-height:min(74vh,680px);align-items:flex-end}
.hero-inner{margin:0 0 40px 40px;background:#fff;border-radius:28px;padding:34px 38px;max-width:560px;width:auto;box-shadow:0 20px 50px rgba(0,0,0,.15)}
.hero h1{font-size:clamp(2rem,4.2vw,3.3rem);color:var(--ink)}
.hero-sub{color:var(--muted);font-size:1.1rem;margin:0 0 22px}
.hero-kicker{display:inline-block;background:var(--sun);border-radius:999px;padding:4px 14px;font-weight:800;font-size:14px;margin:0 0 14px}
.hero-plain{display:flex;align-items:center;background:var(--teal);background-image:radial-gradient(circle at 80% 30%,var(--sun) 0 90px,transparent 91px),radial-gradient(circle at 92% 80%,var(--coral) 0 140px,transparent 141px),radial-gradient(circle at 65% 90%,rgba(255,255,255,.12) 0 60px,transparent 61px)}
.hero-plain .hero-inner{margin:60px 40px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.btn-main{display:inline-block;background:var(--coral);color:#fff;font:inherit;font-weight:800;padding:14px 28px;border-radius:999px;text-decoration:none;border:0;cursor:pointer}
.btn-main:hover{background:var(--coral-d)}
.btn-ghost{display:inline-block;padding:12px 24px;border-radius:999px;border:2px solid var(--ink);text-decoration:none;font-weight:800}
.dots{left:auto;right:40px;transform:none}
.ticker{margin:18px 20px 0;background:var(--sun);border-radius:999px}.ticker-in{min-height:52px;width:auto;padding:0 8px 0 8px}
.ticker strong{background:var(--ink);color:#fff;border-radius:999px;padding:5px 14px;font-size:14px}.ticker small{opacity:.65;margin-left:6px}
/* about + stats as colourful bubbles */
.stats div{border-radius:28px;padding:26px;color:#fff}.stats div:nth-child(1){background:var(--coral)}.stats div:nth-child(2){background:var(--teal)}.stats div:nth-child(3){background:var(--sun);color:var(--ink)}.stats div:nth-child(4){background:var(--grape)}
.stats b{display:block;font-family:'Fredoka',sans-serif;font-size:2.4rem;line-height:1.1}.stats span{font-weight:700;opacity:.9}
.link-more{display:inline-flex;margin-top:16px;font-weight:800;color:var(--teal);text-decoration:none}.link-more::after{content:"\F138";font-family:bootstrap-icons;margin-left:8px}
.s-facilities{background:var(--soft);border-radius:48px;margin:0 20px}
.fac{background:#fff;border-radius:28px;padding:30px}
.fac-ic{width:60px;height:60px;border-radius:20px;display:grid;place-items:center;font-size:26px;margin-bottom:16px;color:#fff}
.fac:nth-child(4n+1) .fac-ic{background:var(--coral)}.fac:nth-child(4n+2) .fac-ic{background:var(--teal)}.fac:nth-child(4n+3) .fac-ic{background:var(--sun);color:var(--ink)}.fac:nth-child(4n+4) .fac-ic{background:var(--grape)}
.fac-img{border-radius:20px;margin-bottom:16px;aspect-ratio:16/10;object-fit:cover;width:100%}.fac p{color:var(--muted);margin:0}
.gal{border-radius:24px}.gal-grid{gap:14px}.gal:nth-child(5n+1){grid-row:span 2;aspect-ratio:auto}
.principal-photo img,.principal-photo .ph-img{border-radius:48% 52% 45% 55%/55% 45% 55% 45%}
.s-principal blockquote{font-size:1.2rem;margin:0 0 18px;padding-left:20px;border-left:5px solid var(--sun)}.sign span{color:var(--muted)}
.testi{background:#fff;border-radius:28px;padding:30px;border:2px solid var(--line)}.testi:nth-child(2){background:var(--teal);color:#fff;border-color:var(--teal)}.testi:nth-child(2) small{color:#D5EEF0}
.testi .ini{background:var(--sun);color:var(--ink)}.testi small{color:var(--muted)}
.s-board{padding-top:20px!important}.board{background:#fff;border:2px solid var(--line);border-radius:28px;padding:30px}
.board-item{padding:14px 0;border-bottom:2px dashed var(--line)}.board-item:last-of-type{border:0}.board-item h3{margin:2px 0 0;font-size:1.1rem}.board-item time{color:var(--coral);font-weight:800;font-size:14px}.board-item p{margin:4px 0 0;color:var(--muted)}
.ev-date{background:var(--soft);color:var(--coral-d);border-radius:16px;padding:8px 0;font-weight:800;font-size:13px}
.news{background:#fff;border-radius:28px;overflow:hidden;border:2px solid var(--line);transition:transform .2s}.news:hover{transform:translateY(-4px)}.news-body{padding:22px}.news time{color:var(--teal);font-weight:800;font-size:14px}.news p{color:var(--muted);margin:0}
.s-cta{padding:0 0 80px!important}.cta-in{background:var(--coral);color:#fff;border-radius:40px;padding:48px}.s-cta h2{color:#fff}.s-cta p{margin:0}.s-cta .btn-main{background:#fff;color:var(--coral-d)}
.banner{padding:70px 0 56px!important;background:var(--soft);border-radius:0 0 48px 48px}.banner h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:0 0 8px}
.crumb{color:var(--muted);font-weight:700}.crumb a{color:var(--coral);text-decoration:none}
.chips a{border-radius:999px;background:#fff;border:2px solid var(--line);font-weight:700}.chips a.on{background:var(--teal);border-color:var(--teal);color:#fff}
.enq{background:#fff;border-radius:28px;padding:30px;border:2px solid var(--line)}
.enq input,.enq select,.enq textarea{border:2px solid var(--line);border-radius:16px;background:var(--bg)}.enq input:focus,.enq select:focus,.enq textarea:focus{outline:0;border-color:var(--teal)}
.ok-note{background:#DDF3EA;color:#146347;border-radius:16px}.empty-note{color:var(--muted)}
.contact-info i{color:var(--coral)}.map{border-radius:24px;overflow:hidden}.article-img{border-radius:28px}.s-article time{color:var(--teal);font-weight:800}
.site-footer{background:var(--teal-d);color:#CFE7E9;padding:70px 0 0;border-radius:48px 48px 0 0;margin-top:30px}
.site-footer h4{color:#fff}.site-footer .brand strong{color:#fff}.site-footer a:hover{color:var(--sun)}.social a{background:rgba(255,255,255,.12);color:#fff}
.fc{display:flex;gap:10px;margin:0 0 10px}.fc i{color:var(--sun)}.copy{padding:24px 0;margin-top:40px;border-top:1px solid rgba(255,255,255,.15);font-size:14px}
.m-bar{background:#fff;border-top:2px solid var(--line)}.m-bar a{color:var(--muted)}.m-bar a:nth-child(2){color:var(--coral)}
@media (max-width:860px){
  .t-modern section{padding:56px 0}.brand strong{font-size:1.05rem;max-width:200px}
  .main-nav{background:var(--bg)}.nav-links a{padding:13px 16px}
  .hero-frame{padding:6px 10px 0}.hero,.hero-slider .slide{min-height:72vh;border-radius:28px}
  .hero-inner{margin:0 14px 14px;padding:22px}.hero-plain .hero-inner{margin:40px 14px}.dots{right:24px;bottom:auto;top:18px}
  .s-facilities{margin:0 10px;border-radius:32px}.ticker{margin:12px 10px 0;border-radius:18px}.ticker strong{display:none}
  .cta-in{padding:30px;border-radius:28px}.gal:nth-child(5n+1){grid-row:auto;aspect-ratio:4/3}
}
