:root{
    --pink:#F3A0C4; --pink-deep:#E8749A; --blue:#2FA8DE; --leaf:#B9D22C; --leaf-deep:#95AE1E;
    --cream:#FFF8EE; --cream-2:#FFF1DD; --brown:#7A4A26; --ink:#2B3244; --ink-soft:#5B6478; --white:#FFFFFF;
    --radius-lg: 32px; --radius-md: 22px; --radius-sm: 14px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Noto Sans SC', sans-serif; color:var(--ink); background:var(--cream); line-height:1.7; overflow-x:hidden;}
  img{max-width:100%; display:block;}
  a{text-decoration:none; color:inherit;}
  ul{list-style:none;}
  button{font:inherit; cursor:pointer;}
  .display{font-family:'Noto Serif SC','Songti SC',serif;}
  .accent-en{font-family:'Baloo 2', sans-serif;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
  html[data-lang="zh"] .en{display:none;}
  html[data-lang="en"] .zh{display:none;}
  html[data-lang="en"] .head-display{font-family:'Baloo 2', sans-serif; letter-spacing:0.3px;}

  /* ===== NAV ===== */
  .nav{position:sticky; top:0; z-index:50; background:rgba(255,248,238,0.94); backdrop-filter:blur(6px); border-bottom:3px solid var(--pink);}
  .nav-inner{display:flex; align-items:center; justify-content:space-between; padding:12px 28px; max-width:1180px; margin:0 auto; gap:16px;}
  .nav-brand{display:flex; align-items:center; gap:10px; flex:none;}
  .nav-brand img{height:42px; width:auto;}
  .nav-brand .brand-text{display:flex; flex-direction:column; line-height:1.2;}
  .nav-brand .brand-cn{font-family:'Noto Serif SC','Songti SC',serif; font-size:18px; color:var(--brown);}
  .nav-brand .brand-en{font-family:'Baloo 2',sans-serif; font-size:11px; color:var(--blue); font-weight:700; letter-spacing:0.5px;}
  .nav-links{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
  .nav-links a{font-size:14.5px; font-weight:500; color:var(--ink); padding:4px 2px; white-space:nowrap;}
  .nav-links a:hover{color:var(--pink-deep);}
  .nav-links .badge-new{
    background:var(--leaf); color:var(--brown); font-size:10.5px; font-weight:800; padding:2px 7px; border-radius:10px; margin-left:5px; vertical-align:2px;
  }
  .nav-cta{display:flex; align-items:center; gap:10px; flex:none;}
  .lang-switch{
    font-size:13px; font-weight:700; color:var(--blue); border:2px solid var(--blue); background:none;
    border-radius:20px; padding:5px 14px; font-family:'Baloo 2',sans-serif;
  }
  .btn-primary{
    background:var(--pink-deep); color:var(--white); font-weight:700; font-size:14px; border:none;
    padding:11px 20px; border-radius:24px; box-shadow:0 6px 0 var(--brown); transition:transform .15s ease; white-space:nowrap;
  }
  .btn-primary:hover{transform:translateY(-2px);}
  .menu-toggle{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
  .menu-toggle span{width:26px; height:3px; background:var(--brown); border-radius:2px;}

  /* ===== HERO ===== */
  .hero{position:relative; padding:70px 0 56px; overflow:hidden;}
  .hero-blob{position:absolute; border-radius:50%; opacity:0.5; filter:blur(2px); z-index:0;}
  .blob1{width:340px; height:340px; background:var(--pink); top:-120px; right:-80px;}
  .blob2{width:220px; height:220px; background:var(--leaf); opacity:0.35; bottom:-60px; left:-60px;}
  .hero-inner{position:relative; z-index:1; display:grid; grid-template-columns:1.1fr 0.9fr; gap:50px; align-items:center;}
  .hero-eyebrow{display:inline-flex; align-items:center; gap:8px; background:var(--white); border:2px dashed var(--leaf-deep); padding:7px 16px; border-radius:30px; font-size:13px; font-weight:700; color:var(--leaf-deep); margin-bottom:22px;}
  .hero h1{font-family:'Noto Serif SC','Songti SC',serif; font-size:50px; line-height:1.35; color:var(--brown); margin-bottom:20px;}
  html[data-lang="en"] .hero h1{font-size:42px;}
  .hero p.lead{font-size:16.5px; color:var(--ink-soft); max-width:480px; margin-bottom:30px;}
  .hero-actions{display:flex; gap:16px; flex-wrap:wrap;}
  .btn-outline{border:2.5px solid var(--brown); color:var(--brown); font-weight:700; padding:10px 24px; border-radius:24px; font-size:14.5px;}
  .hero-visual{position:relative;}
  .hero-visual .card-float{position:absolute; background:var(--white); border-radius:var(--radius-md); padding:13px 17px; box-shadow:0 10px 24px rgba(122,74,38,0.15); font-size:13px; font-weight:700; display:flex; align-items:center; gap:8px;}
  .cf-1{top:-10px; left:-20px; color:var(--blue);}
  .cf-2{bottom:10px; right:-10px; color:var(--pink-deep);}
  .hero-photo-frame{background:var(--white); border-radius:var(--radius-lg); padding:20px; box-shadow:0 20px 40px rgba(122,74,38,0.12); position:relative; cursor:pointer; transition:transform .18s ease;}
  .hero-photo-frame:hover{transform:translateY(-4px);}
  .play-badge{
    position:absolute; bottom:14px; right:14px; z-index:2;
    width:52px; height:52px; border-radius:50%; background:rgba(122,74,38,0.85);
    display:flex; align-items:center; justify-content:center; box-shadow:0 8px 18px rgba(122,74,38,0.3);
    transition:transform .18s ease;
  }
  .hero-photo-frame:hover .play-badge{transform:scale(1.08);}
  .ph-caption{
    text-align:center; margin-top:14px; font-family:'Baloo 2',sans-serif; font-weight:700; font-size:13.5px; color:var(--brown);
  }
  .video-modal{
    position:fixed; inset:0; background:rgba(43,50,68,0.85); z-index:200; display:flex; align-items:center; justify-content:center; padding:24px;
  }
  .video-modal-inner{position:relative; width:100%; max-width:820px;}
  .video-modal video{width:100%; border-radius:16px; display:block; background:#000;}
  .video-modal-close{
    position:absolute; top:-44px; right:0; background:var(--white); border:none; width:36px; height:36px; border-radius:50%;
    font-size:20px; font-weight:700; color:var(--brown); cursor:pointer; line-height:1;
  }
  .hero-photo-frame .ph-inner{background:radial-gradient(circle at 42% 38%, #FFFFFF 0%, var(--cream-2) 62%, #FBE6C8 100%); border-radius:var(--radius-md); aspect-ratio:4/3.4; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;}
  .hero-photo-frame .ph-inner::before, .hero-photo-frame .ph-inner::after{content:""; position:absolute; border-radius:50%; filter:blur(18px); opacity:0.35;}
  .hero-photo-frame .ph-inner::before{width:140px; height:140px; background:var(--pink); top:-30px; right:-20px;}
  .hero-photo-frame .ph-inner::after{width:120px; height:120px; background:var(--leaf); bottom:-30px; left:-20px;}
  .hero-photo-frame .ph-inner img{width:58%; position:relative; z-index:1;}
  .wave-divider{display:block; width:100%; line-height:0;}
  .wave-divider svg{width:100%; height:70px; display:block;}

  /* ===== SECTION shared ===== */
  section{padding:70px 0;}
  .section-head{text-align:center; max-width:640px; margin:0 auto 46px;}
  .eyebrow-tag{display:inline-block; font-family:'Baloo 2',sans-serif; font-weight:700; font-size:13px; letter-spacing:0.5px; color:var(--pink-deep); background:var(--cream-2); padding:5px 16px; border-radius:20px; margin-bottom:14px;}
  .section-head h2{font-family:'Noto Serif SC','Songti SC',serif; font-size:32px; color:var(--brown); margin-bottom:12px;}
  html[data-lang="en"] .section-head h2{font-size:28px;}
  .section-head p{color:var(--ink-soft); font-size:15px;}

  /* ===== CCF pillars ===== */
  .pillars{background:var(--white);}
  .pillar-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .pillar-card{border-radius:var(--radius-md); padding:32px 26px; text-align:center; border:3px solid transparent;}
  .pillar-card.p1{background:#EAF7FD; border-color:var(--blue);}
  .pillar-card.p2{background:#FDEFF6; border-color:var(--pink-deep);}
  .pillar-card.p3{background:#F6FAE2; border-color:var(--leaf-deep);}
  .pillar-icon{width:60px; height:60px; margin:0 auto 18px;}
  .pillar-card h3{font-family:'Baloo 2',sans-serif; font-size:21px; margin-bottom:6px;}
  .pillar-card .cn-sub{font-family:'Noto Serif SC','Songti SC',serif; font-size:15.5px; margin-bottom:12px; opacity:0.85;}
  .pillar-card p{font-size:14px; color:var(--ink-soft);}
  .p1 h3{color:var(--blue);} .p2 h3{color:var(--pink-deep);} .p3 h3{color:var(--leaf-deep);}

  /* ===== Courses ===== */
  .courses{background:var(--cream);}
  .course-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .course-card-wide{grid-column:span 3;}
  .cca-tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;}
  .cca-tag{background:var(--cream-2); color:var(--brown); font-size:12.5px; font-weight:600; padding:6px 12px; border-radius:14px;}
  .course-card{background:var(--white); border-radius:var(--radius-md); padding:26px 24px; box-shadow:0 8px 20px rgba(122,74,38,0.08); transition:transform .18s ease;}
  .course-card:hover{transform:translateY(-6px);}
  .course-tag{display:inline-block; font-size:12px; font-weight:700; padding:4px 12px; border-radius:14px; margin-bottom:14px;}
  .tag-preschool, .tag-care{background:#FDEFF6; color:var(--pink-deep);}
  .tag-primary, .tag-cca{background:#EAF7FD; color:var(--blue);}
  .tag-drama, .tag-custom{background:#F6FAE2; color:var(--leaf-deep);}
  .course-card h3{font-family:'Noto Serif SC','Songti SC',serif; font-size:20px; color:var(--brown); margin-bottom:10px;}
  html[data-lang="en"] .course-card h3{font-family:'Baloo 2',sans-serif; font-size:18px;}
  .course-card p{font-size:14px; color:var(--ink-soft);}

  /* ===== Teaching philosophy ===== */
  .philosophy{background:var(--white);}
  .phil-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
  .phil-visual{border-radius:var(--radius-lg); position:relative; min-height:320px; overflow:hidden; box-shadow:0 10px 24px rgba(122,74,38,0.12);}
  .carousel-track{position:relative; width:100%; height:320px;}
  .carousel-slide{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; opacity:0; transition:opacity .7s ease; color:#fff; text-align:center; padding:20px;}
  .carousel-slide.active{opacity:1;}
  .carousel-icon{font-size:46px; margin-bottom:14px;}
  .carousel-caption{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:16px; text-shadow:0 2px 8px rgba(0,0,0,0.15);}
  .carousel-dots{position:absolute; bottom:16px; left:0; right:0; display:flex; justify-content:center; gap:8px; z-index:2;}
  .carousel-dots .dot{width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,0.5); cursor:pointer; transition:background .2s; border:none; padding:0;}
  .carousel-dots .dot.active{background:#fff;}
  .carousel-note{text-align:center; font-size:12px; color:var(--ink-soft); margin-top:10px; opacity:0.8;}
  .phil-badge{position:absolute; background:var(--white); border-radius:20px; padding:12px 18px; box-shadow:0 10px 20px rgba(122,74,38,0.12); font-weight:700; font-size:13px; display:flex; align-items:center; gap:8px; text-align:left;}
  .pb1{top:20px; left:10px; color:var(--pink-deep);}
  .pb2{bottom:30px; right:0; color:var(--blue);}
  .pb3{top:50%; left:50%; transform:translate(-50%,-50%); color:var(--leaf-deep); font-size:15.5px; text-align:center;}
  .phil-text h2{font-family:'Noto Serif SC','Songti SC',serif; font-size:28px; color:var(--brown); margin-bottom:10px;}
  html[data-lang="en"] .phil-text h2{font-family:'Baloo 2',sans-serif; font-size:26px;}
  .phil-tagline{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:15px; color:var(--pink-deep) !important; margin-bottom:18px !important; letter-spacing:0.3px;}
  .phil-text p{color:var(--ink-soft); font-size:15px; margin-bottom:14px;}
  .phil-text .callout{background:var(--cream-2); border-left:5px solid var(--pink-deep); padding:14px 18px; border-radius:0 14px 14px 0; font-weight:700; color:var(--brown); font-size:14.5px; margin-top:18px;}

  /* ===== Teachers ===== */
  .teachers{background:var(--cream-2);}
  .teachers .wrap{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center;}
  .teach-quote{font-family:'Noto Serif SC','Songti SC',serif; font-size:23px; color:var(--brown); line-height:1.6;}
  html[data-lang="en"] .teach-quote{font-family:'Baloo 2',sans-serif; font-size:24px;}
  .teach-points{display:flex; flex-direction:column; gap:18px;}
  .teach-point{display:flex; gap:14px; align-items:flex-start; background:var(--white); padding:18px 20px; border-radius:var(--radius-sm); box-shadow:0 6px 14px rgba(122,74,38,0.08);}
  .teach-point .dot{width:34px; height:34px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center; color:var(--white); font-weight:700;}
  .dot-1{background:var(--pink-deep);} .dot-2{background:var(--blue);} .dot-3{background:var(--leaf-deep);}
  .teach-point p{font-size:14px; color:var(--ink-soft);}
  .teach-point strong{color:var(--ink); font-size:15px; display:block; margin-bottom:2px;}

  /* ===== Growth ===== */
  .growth{background:var(--white); text-align:center;}
  .growth-words{display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin:34px 0 40px;}
  .growth-word{font-family:'Noto Serif SC','Songti SC',serif; font-size:19px; padding:13px 26px; border-radius:30px; color:var(--white);}
  html[data-lang="en"] .growth-word{font-family:'Baloo 2',sans-serif; font-size:15px;}
  .gw1{background:var(--pink-deep);} .gw2{background:var(--blue);} .gw3{background:var(--leaf-deep);} .gw4{background:var(--brown);}
  .growth p.note{max-width:600px; margin:0 auto; color:var(--ink-soft); font-size:14.5px;}

  /* ===== Testimonials ===== */
  .testimonials{background:var(--cream-2);}
  .testimonial-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .testimonial-card{background:var(--white); border-radius:var(--radius-md); padding:28px 26px; box-shadow:0 8px 18px rgba(122,74,38,0.08); display:flex; flex-direction:column; gap:14px;}
  .testimonial-quote-mark{font-family:'Noto Serif SC','Songti SC',serif; font-size:40px; color:var(--pink); line-height:1; height:28px;}
  .testimonial-stars{color:var(--leaf-deep); font-size:15px; letter-spacing:2px;}
  .testimonial-card p.quote{font-size:14.5px; color:var(--ink-soft); flex:1;}
  .testimonial-card .who{display:flex; flex-direction:column; gap:2px; padding-top:10px; border-top:1px dashed var(--cream-2);}
  .testimonial-card .who strong{font-size:14px; color:var(--brown);}
  .testimonial-card .who span{font-size:12.5px; color:var(--ink-soft);}
  .testimonial-grid-all{grid-template-columns:repeat(3,1fr);}
  @media (max-width:900px){ .testimonial-grid-all{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:600px){ .testimonial-grid-all{grid-template-columns:1fr;} }
  .testimonial-pending{display:flex; align-items:center; justify-content:center; background:transparent; border:2px dashed var(--line); box-shadow:none;}
  .testimonial-pending .quote.pending{color:var(--ink-soft); font-size:14px; text-align:center; margin:0;}
  .testimonial-note{text-align:center; font-size:12.5px; color:var(--ink-soft); margin-top:28px; opacity:0.8;}
  .testimonial-group-label{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:15px; color:var(--brown); margin:34px 0 16px;}
  .testimonial-group-label:first-of-type{margin-top:0;}
  .feedback-cta{text-align:center; margin-top:34px;}

  /* ===== Since 2010 stats ===== */
  .stats{background:linear-gradient(120deg, var(--pink) 0%, var(--blue) 55%, var(--leaf) 100%); color:var(--white);}
  .stats .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
  .stat-num{font-family:'Baloo 2',sans-serif; font-size:40px; font-weight:800;}
  .stat-label{font-size:13.5px; opacity:0.95; margin-top:4px;}

  /* ===== Trust (generic, no brand names) ===== */
  .trust{background:var(--cream); text-align:center;}
  .trust p.desc{max-width:680px; margin:0 auto 30px; color:var(--ink-soft); font-size:15px;}
  .trust-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .trust-card{background:var(--white); border-radius:var(--radius-md); padding:26px 20px; box-shadow:0 6px 16px rgba(122,74,38,0.08);}
  .trust-card .ic{width:44px; height:44px; margin:0 auto 12px;}
  .trust-card h4{font-family:'Baloo 2',sans-serif; font-size:15.5px; color:var(--brown); margin-bottom:6px;}
  .trust-card p{font-size:13.5px; color:var(--ink-soft);}

  /* ===== CTA / Footer ===== */
  .cta-band{background:var(--brown); color:var(--white); text-align:center; padding:56px 0;}
  .cta-band h2{font-family:'Noto Serif SC','Songti SC',serif; font-size:28px; margin-bottom:14px;}
  html[data-lang="en"] .cta-band h2{font-family:'Baloo 2',sans-serif; font-size:26px;}
  .cta-band p{opacity:0.9; margin-bottom:26px;}
  .cta-band .btn-primary{background:var(--leaf); color:var(--brown); box-shadow:0 6px 0 #7C9018;}

  footer{background:#3B2517; color:#F0DFCB; padding:50px 0 26px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; margin-bottom:34px;}
  .footer-brand{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
  .footer-brand img{height:38px;}
  .footer-brand span{font-family:'Noto Serif SC','Songti SC',serif; font-size:17px;}
  footer p{font-size:13.5px; opacity:0.85; margin-bottom:8px;}
  footer h4{font-family:'Baloo 2',sans-serif; font-size:14px; margin-bottom:14px; color:var(--leaf);}
  footer ul li{margin-bottom:9px; font-size:13.5px; opacity:0.9;}
  footer ul li a:hover{opacity:0.7;}
  .footer-bottom{border-top:1px solid rgba(255,255,255,0.15); padding-top:20px; text-align:center; font-size:12.5px; opacity:0.7;}

  /* ===== JOIN US PAGE ===== */
  .page-hero{position:relative; padding:64px 0 50px; text-align:center; overflow:hidden;}
  .page-hero .hero-blob{opacity:0.4;}
  .page-hero h1{font-family:'Noto Serif SC','Songti SC',serif; font-size:40px; color:var(--brown); margin-bottom:16px; position:relative; z-index:1;}
  html[data-lang="en"] .page-hero h1{font-family:'Baloo 2',sans-serif; font-size:34px;}
  .page-hero p{max-width:560px; margin:0 auto; color:var(--ink-soft); font-size:15.5px; position:relative; z-index:1;}
  .why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .why-card{background:var(--white); border-radius:var(--radius-md); padding:28px 22px; text-align:center; box-shadow:0 8px 18px rgba(122,74,38,0.08);}
  .why-card .ic{width:48px; height:48px; margin:0 auto 14px;}
  .why-card h3{font-family:'Baloo 2',sans-serif; font-size:16.5px; color:var(--brown); margin-bottom:8px;}
  .why-card p{font-size:13.5px; color:var(--ink-soft);}
  .look-for{background:var(--white); border-radius:var(--radius-lg); padding:36px; box-shadow:0 8px 18px rgba(122,74,38,0.08);}
  .look-for h3{font-family:'Noto Serif SC','Songti SC',serif; color:var(--brown); font-size:22px; margin-bottom:20px;}
  html[data-lang="en"] .look-for h3{font-family:'Baloo 2',sans-serif; font-size:20px;}
  .check-list{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .check-item{display:flex; gap:10px; align-items:flex-start; font-size:14.5px; color:var(--ink-soft);}
  .check-item .tick{flex:none; width:22px; height:22px; border-radius:50%; background:var(--leaf); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800;}
  .role-chips{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin:30px 0 0;}
  .role-chip{background:var(--white); border:2px solid var(--pink); border-radius:24px; padding:10px 20px; font-weight:700; font-size:13.5px; color:var(--brown);}
  .apply-form{background:var(--white); border-radius:var(--radius-lg); padding:40px; box-shadow:0 10px 26px rgba(122,74,38,0.1); max-width:720px; margin:0 auto;}
  .apply-form h3{font-family:'Noto Serif SC','Songti SC',serif; color:var(--brown); font-size:24px; margin-bottom:8px; text-align:center;}
  html[data-lang="en"] .apply-form h3{font-family:'Baloo 2',sans-serif; font-size:22px;}
  .apply-form .form-note{text-align:center; font-size:13px; color:var(--ink-soft); margin-bottom:26px;}
  .form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .form-field{display:flex; flex-direction:column; gap:6px; margin-bottom:18px;}
  .form-field.full{grid-column:1/-1;}
  .form-field label{font-size:13.5px; font-weight:700; color:var(--brown);}
  .form-field input, .form-field select, .form-field textarea{
    border:2px solid var(--cream-2); background:var(--cream); border-radius:12px; padding:11px 14px; font-size:14.5px; font-family:inherit; color:var(--ink);
  }
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus{outline:none; border-color:var(--blue);}
  .form-field textarea{resize:vertical; min-height:100px;}
  .mini-row{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
  .form-submit{width:100%; text-align:center; margin-top:8px;}
  .form-submit .btn-primary{padding:13px 0; width:100%; font-size:15.5px;}

  /* ===== TUITION PAGE ===== */
  .tuition-hero{position:relative; padding:90px 0; text-align:center; overflow:hidden; background:linear-gradient(160deg, var(--cream-2), var(--cream));}
  .tuition-badge{display:inline-flex; align-items:center; gap:8px; background:var(--brown); color:var(--white); font-weight:700; font-size:13px; padding:8px 20px; border-radius:24px; margin-bottom:26px;}
  .tuition-hero h1{font-family:'Noto Serif SC','Songti SC',serif; font-size:46px; color:var(--brown); margin-bottom:18px;}
  html[data-lang="en"] .tuition-hero h1{font-family:'Baloo 2',sans-serif; font-size:38px;}
  .tuition-hero p{max-width:560px; margin:0 auto 30px; color:var(--ink-soft); font-size:15.5px;}
  .tuition-status{display:inline-block; background:var(--white); border:2px dashed var(--leaf-deep); color:var(--leaf-deep); font-weight:700; font-size:13.5px; padding:10px 22px; border-radius:20px; margin-bottom:30px;}
  .tuition-hero .logo-mark{width:96px; margin:0 auto 26px;}

  .page{}
  [hidden]{display:none !important;}

  @media (max-width:920px){
    .hero-inner{grid-template-columns:1fr;}
    .hero-visual{order:-1;}
    .pillar-grid, .course-grid, .why-grid, .trust-grid{grid-template-columns:1fr 1fr;}
    .course-card-wide{grid-column:span 2;}
    .phil-grid, .teachers .wrap{grid-template-columns:1fr; gap:34px;}
    .stats .wrap{grid-template-columns:1fr 1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .nav-links{display:none; position:absolute; top:100%; left:0; right:0; background:var(--cream); flex-direction:column; align-items:flex-start; padding:18px 28px; border-bottom:3px solid var(--pink); gap:14px;}
    .nav-links.open{display:flex;}
    .menu-toggle{display:flex;}
    .form-grid, .check-list, .mini-row{grid-template-columns:1fr;}
  }
  @media (max-width:600px){
    .hero h1{font-size:34px;} html[data-lang="en"] .hero h1{font-size:30px;}
    .pillar-grid, .course-grid, .why-grid, .trust-grid{grid-template-columns:1fr;}
    .course-card-wide{grid-column:span 1;}
    .stats .wrap{grid-template-columns:1fr 1fr;}
    .footer-grid{grid-template-columns:1fr;}
    section{padding:50px 0;}
    .apply-form{padding:26px 20px;}
  }

  /* ===== ABOUT US PAGE (V3) ===== */
  .ab-hero{padding-bottom:0;}
  .ab-hero p + p{margin-top:14px;}
  .ab-pills{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:22px 0 44px; position:relative; z-index:1;}
  .ab-pill{font-family:'Noto Serif SC','Songti SC',serif; font-size:19px; padding:11px 24px; border-radius:30px; color:var(--white);}
  html[data-lang="en"] .ab-pill{font-family:'Baloo 2',sans-serif; font-size:15px; font-weight:700;}
  .ab-pill.sm{font-size:17px; padding:8px 20px;}
  html[data-lang="en"] .ab-pill.sm{font-size:14px;}
  .c-pink{background:var(--pink-deep);} .c-blue{background:var(--blue);} .c-leaf{background:var(--leaf-deep);} .c-brown{background:var(--brown);}

  /* belief */
  .ab-belief{background:var(--white);}
  .ab-stairs{display:flex; align-items:flex-end; gap:18px; max-width:880px; margin:0 auto;}
  .ab-step{flex:1; border-radius:var(--radius-md); border:3px solid; padding:22px 24px; display:flex; flex-direction:column; justify-content:flex-end; gap:8px; box-shadow:0 8px 20px rgba(122,74,38,0.08);}
  .ab-step .em{font-size:32px; line-height:1;}
  .ab-step .w{font-family:'Noto Serif SC','Songti SC',serif; line-height:1.2; color:var(--brown);}
  html[data-lang="en"] .ab-step .w{font-family:'Baloo 2',sans-serif; font-weight:800;}
  .ab-s1{min-height:130px; background:#EAF7FD; border-color:var(--blue);} .ab-s1 .w{font-size:26px;}
  .ab-s2{min-height:205px; background:#FDEFF6; border-color:var(--pink-deep);} .ab-s2 .w{font-size:32px;}
  .ab-s3{flex:1.5; min-height:290px; background:var(--leaf); border-color:var(--leaf-deep); box-shadow:0 8px 0 var(--leaf-deep);} .ab-s3 .w{font-size:clamp(34px,5vw,48px);} .ab-s3 .em{font-size:44px;}
  .ab-quote{text-align:center; font-family:'Noto Serif SC','Songti SC',serif; font-size:22px; line-height:1.6; color:var(--brown); max-width:640px; margin:38px auto 48px;}
  html[data-lang="en"] .ab-quote{font-family:'Baloo 2',sans-serif; font-size:19px; font-weight:600;}
  .ab-quote small{display:block; font-family:'Noto Sans SC',sans-serif; font-size:13px; color:var(--ink-soft); margin-top:6px;}
  .ab-effects{background:var(--cream-2); border-radius:var(--radius-lg); padding:38px 34px; text-align:center; max-width:880px; margin:0 auto;}
  .ab-effects .t{font-weight:700; color:var(--brown); margin-bottom:18px; font-size:15.5px;}
  .ab-chips{display:flex; flex-wrap:wrap; gap:12px; justify-content:center;}
  .ab-chip{background:var(--white); border:2px solid var(--pink); border-radius:24px; padding:9px 20px; font-weight:700; font-size:14.5px; color:var(--brown);}
  .ab-chip:nth-child(2){border-color:var(--blue);} .ab-chip:nth-child(3){border-color:var(--leaf);} .ab-chip:nth-child(4){border-color:var(--pink-deep);} .ab-chip:nth-child(5){border-color:var(--blue);}
  .ab-effects .end{font-family:'Noto Serif SC','Songti SC',serif; font-size:20px; color:var(--brown); margin:26px 0 0;}
  html[data-lang="en"] .ab-effects .end{font-family:'Baloo 2',sans-serif; font-size:18px; font-weight:700;}
  .ab-js .ab-stairs .ab-step{opacity:0; transform:translateY(26px); transition:opacity .6s ease, transform .6s ease;}
  .ab-js .ab-stairs.in .ab-step{opacity:1; transform:none;}
  .ab-js .ab-stairs.in .ab-s2{transition-delay:.3s;}
  .ab-js .ab-stairs.in .ab-s3{transition-delay:.6s;}
  @media (prefers-reduced-motion:reduce){ .ab-js .ab-stairs .ab-step{opacity:1; transform:none; transition:none;} }

  /* CCF */
  .ab-ccf{background:var(--cream);}
  .ab-ccf .pillar-grid{grid-template-columns:repeat(3,1fr);}
  .ab-ccf .pillar-card .ab-tag{font-weight:800; font-size:14.5px; margin-bottom:10px; color:var(--brown);}
  .ab-ccf .p1 .ab-tag{color:#1F86B8;} .ab-ccf .p2 .ab-tag{color:#C24F78;} .ab-ccf .p3 .ab-tag{color:#6F8214;}

  /* teaching */
  .ab-teach{background:var(--white);}
  .ab-teach-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;}
  .ab-teach h2{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:28px; line-height:1.45; color:var(--brown); margin-bottom:16px;}
  html[data-lang="en"] .ab-teach h2{font-family:'Baloo 2',sans-serif; font-size:26px; font-weight:800;}
  .ab-teach p{color:var(--ink-soft); font-size:15px; margin-bottom:14px;}
  .ab-teach .lab{font-weight:700; color:var(--brown);}
  .ab-teach .ab-pills{justify-content:flex-start; margin:0 0 20px;}
  .ab-callout{background:var(--cream-2); border-left:5px solid var(--pink-deep); padding:14px 18px; border-radius:0 14px 14px 0; font-weight:700; color:var(--brown); font-size:14.5px; margin:18px 0 12px;}
  .ab-tiles{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .ab-tile{border-radius:var(--radius-md); padding:24px 16px; text-align:center; border:3px solid; transition:transform .18s ease;}
  .ab-tile:hover{transform:translateY(-4px);}
  .ab-tile .em{font-size:36px; display:block; margin-bottom:6px; line-height:1.2;}
  .ab-tile b{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:20px; color:var(--brown);}
  html[data-lang="en"] .ab-tile b{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:16px;}
  .ab-tile:nth-child(3n+1){background:#EAF7FD; border-color:var(--blue);}
  .ab-tile:nth-child(3n+2){background:#FDEFF6; border-color:var(--pink-deep);}
  .ab-tile:nth-child(3n){background:#F6FAE2; border-color:var(--leaf-deep);}

  /* teachers (compact) */
  .ab-teachers{background:var(--cream-2); text-align:center;}
  .ab-teachers .teach-quote{margin:0 auto 22px; max-width:640px;}
  .ab-teachers .body{max-width:640px; margin:0 auto 26px; color:var(--ink-soft); font-size:15px;}

  /* growth */
  .ab-growth{background:var(--white); text-align:center;}
  .ab-shifts{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:0 0 48px;}
  .ab-shift{border-radius:var(--radius-md); border:3px solid; padding:26px 22px 28px; display:flex; flex-direction:column; align-items:center; gap:4px;}
  .ab-shift .lb{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:13px; color:var(--ink-soft);}
  .ab-shift .from{color:var(--ink-soft); font-size:15.5px; font-weight:500;}
  .ab-shift .arr{width:34px; height:34px; margin:8px 0 6px;}
  .ab-shift .to{font-family:'Noto Serif SC','Songti SC',serif; font-size:20px; line-height:1.5; color:var(--brown);}
  html[data-lang="en"] .ab-shift .to{font-family:'Baloo 2',sans-serif; font-size:17px; font-weight:700;}
  .ab-g1{background:#EAF7FD; border-color:var(--blue);} .ab-g1 .arr{color:var(--blue);}
  .ab-g2{background:#FDEFF6; border-color:var(--pink-deep);} .ab-g2 .arr{color:var(--pink-deep);}
  .ab-g3{background:#F6FAE2; border-color:var(--leaf-deep);} .ab-g3 .arr{color:var(--leaf-deep);}
  .ab-note{max-width:620px; margin:0 auto; color:var(--ink-soft); font-size:14.5px;}
  .ab-growth .ab-pills{margin:22px 0 28px;}
  .ab-growth .end{font-family:'Noto Serif SC','Songti SC',serif; font-size:21px; color:var(--brown);}
  html[data-lang="en"] .ab-growth .end{font-family:'Baloo 2',sans-serif; font-size:18px; font-weight:700;}

  /* since 2010 */
  .stats.ab-stats .wrap{grid-template-columns:auto auto 1.7fr; gap:48px; text-align:left; align-items:center;}
  .ab-stats .stat-num{font-size:64px; line-height:1; text-shadow:0 2px 10px rgba(122,74,38,0.25);}
  .ab-stats .stat-label{font-weight:500; text-shadow:0 1px 6px rgba(122,74,38,0.3);}
  .ab-stats .ab-since{font-family:'Noto Serif SC','Songti SC',serif; font-size:22px; line-height:1.6; text-shadow:0 1px 8px rgba(122,74,38,0.35);}
  html[data-lang="en"] .ab-stats .ab-since{font-family:'Baloo 2',sans-serif; font-size:19px; font-weight:600;}

  /* partners */
  .ab-partners .trust-grid{grid-template-columns:repeat(3,1fr);}

  /* closing CTA */
  .ab-cta-hope{opacity:0.92; margin-bottom:14px !important; font-size:15px;}
  .ab-abilities{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-bottom:34px;}
  .ab-ability{font-family:'Noto Serif SC','Songti SC',serif; font-size:20px; padding:8px 22px; border-radius:26px; background:rgba(255,255,255,0.12); border:2px dashed var(--leaf); color:var(--white);}
  html[data-lang="en"] .ab-ability{font-family:'Baloo 2',sans-serif; font-size:16px; font-weight:700;}
  .ab-cta-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
  .btn-light{border:2.5px solid var(--white); color:var(--white); font-weight:700; padding:10px 24px; border-radius:24px; font-size:14.5px;}
  .btn-light:hover{background:var(--white); color:var(--brown);}

  @media (max-width:920px){
    .ab-teach-grid{grid-template-columns:1fr; gap:34px;}
    .stats.ab-stats .wrap{grid-template-columns:1fr 1fr; gap:26px 20px;}
    .ab-stats .ab-since{grid-column:1 / -1;}
  }
  @media (max-width:820px){
    .ab-ccf .pillar-grid, .ab-partners .trust-grid, .ab-shifts{grid-template-columns:1fr;}
  }
  @media (max-width:600px){
    .ab-stairs{flex-direction:column; align-items:flex-start; gap:12px;}
    .ab-step{flex-direction:row; align-items:center; justify-content:flex-start; gap:14px; padding:16px 22px;}
    .ab-s1{min-height:76px; width:64%;} .ab-s2{min-height:100px; width:82%;} .ab-s3{min-height:130px; width:100%; flex:none;}
    .ab-effects{padding:28px 20px;}
    .ab-tiles{gap:12px;}
    .ab-stats .stat-num{font-size:48px;}
  }

  /* polish */
  #page-about h1, #page-about h2, #page-about .ab-quote, #page-about .teach-quote{text-wrap:balance;}
  #page-about p, #page-about .ab-callout{text-wrap:pretty;}
  .ab-stats .stat-label{font-weight:700; font-size:14px;}
  .ab-stats .ab-since{background:rgba(122,74,38,0.34); padding:18px 26px; border-radius:22px;}
  @media (max-width:600px){
    #page-about .section-head h2{font-size:26px;}
    #page-about .ab-teach h2{font-size:24px;}
    .ab-stats .ab-since{font-size:19px; padding:16px 20px;}
  }

  /* edits round 3 */
  .ab-origin{max-width:720px !important;}
  .ab-origin .q{display:block; margin-top:12px; font-family:'Noto Serif SC','Songti SC',serif; font-size:24px; line-height:1.55; color:var(--brown);}
  html[data-lang="en"] .ab-origin .q{font-family:'Baloo 2',sans-serif; font-size:19px; font-weight:600;}
  .ab-belief .section-head{margin-bottom:40px;}
  .ab-stairs{margin-bottom:52px;}
  .ab-h2sub{display:block; margin-top:8px; font-size:.6em; font-weight:400; letter-spacing:1px; color:var(--ink-soft);}
  .ab-sign{margin-top:48px; padding-top:32px; border-top:1px solid rgba(255,255,255,0.2); display:flex; flex-direction:column; align-items:center; gap:4px;}
  .ab-sign p{margin:0 !important; opacity:1 !important;}
  .ab-sign-logo img{height:52px; width:auto; margin:0 auto 8px;}
  .ab-sign-name{font-family:'Noto Serif SC','Songti SC',serif; font-size:26px; color:var(--white);}
  .ab-sign-quote{font-family:'Noto Serif SC','Songti SC',serif; font-size:20px; color:var(--leaf); margin-top:6px !important;}
  html[data-lang="en"] .ab-sign-quote{font-family:'Baloo 2',sans-serif; font-size:16px; font-weight:600;}
  .ab-sign-en{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:16px; letter-spacing:1px; margin-top:10px !important;}
  .ab-sign-zh{font-size:14.5px; letter-spacing:1px; opacity:.85 !important;}

  /* ===== PROGRAMMES PAGE (V4) ===== */
  .ac-pink{--ac:#E8749A; --acd:#C24F78; --acbg:#FDEFF6;}
  .ac-blue{--ac:#2FA8DE; --acd:#1F86B8; --acbg:#EAF7FD;}
  .ac-leaf{--ac:#95AE1E; --acd:#6F8214; --acbg:#F6FAE2;}
  .ac-brown{--ac:#7A4A26; --acd:#7A4A26; --acbg:#FFF1DD;}
  .pg-hero{padding-bottom:0;}
  .pg-hero .wave-divider{margin-top:40px;}
  .pg-ov{background:var(--white); padding-top:30px;}
  .pg-ov-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .pg-ov-card{display:flex; flex-direction:column; gap:8px; background:var(--acbg); border:3px solid var(--ac); border-radius:var(--radius-md); padding:24px 22px 20px; transition:transform .18s ease;}
  .pg-ov-card:hover{transform:translateY(-6px);}
  .pg-tag{align-self:flex-start; display:inline-block; font-size:12px; font-weight:800; padding:4px 12px; border-radius:14px; background:var(--white); color:var(--acd);}
  .pg-ov-card h3{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:21px; color:var(--brown); line-height:1.4;}
  html[data-lang="en"] .pg-ov-card h3{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:18px;}
  .pg-ov-card p{font-size:14px; color:var(--ink-soft); flex:1;}
  .pg-ov-card .go{font-weight:800; font-size:13.5px; color:var(--acd);}

  .pg{scroll-margin-top:70px;}
  .pg-cream{background:var(--cream); --card:var(--white);}
  .pg-white{background:var(--white); --card:var(--cream);}
  .pg-top{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:18px;}
  .pg-back{font-size:13px; font-weight:700; color:var(--ink-soft);}
  .pg-back:hover{color:var(--pink-deep);}
  .pg-head{display:grid; grid-template-columns:1.25fr .75fr; gap:44px; align-items:start;}
  .pg-head h2{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:36px; line-height:1.3; color:var(--brown); margin:10px 0 4px;}
  html[data-lang="en"] .pg-head h2{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:30px;}
  .pg-en{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:14px; color:var(--acd); margin-bottom:12px;}
  html[data-lang="en"] .zhonly{display:none;}
  .pg-tagline{font-family:'Noto Serif SC','Songti SC',serif; font-size:21px; color:var(--acd); margin-bottom:14px; line-height:1.5;}
  html[data-lang="en"] .pg-tagline{font-family:'Baloo 2',sans-serif; font-size:18px; font-weight:700;}
  .pg-lead{font-size:15.5px; color:var(--ink-soft); max-width:600px;}
  .pg-facts{background:var(--acbg); border:3px solid var(--ac); border-radius:var(--radius-md); padding:14px 24px;}
  .pg-fact{display:flex; gap:12px; align-items:flex-start; padding:11px 0; border-top:1px dashed var(--ac);}
  .pg-fact:first-child{border-top:0;}
  .pg-fact .ic{font-size:20px; line-height:1.5;}
  .pg-fact small{display:block; font-size:12px; color:var(--ink-soft); font-weight:500;}
  .pg-fact b{font-size:14.5px; color:var(--brown); font-weight:700; line-height:1.55;}

  .pg-block{margin-top:48px;}
  .pg-h3{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:23px; color:var(--brown); margin-bottom:4px;}
  html[data-lang="en"] .pg-h3{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:20px;}
  .pg-sub{color:var(--ink-soft); font-size:14.5px; margin-bottom:18px;}
  .pg-block > .pg-h3 + .pg-flow, .pg-block > .pg-h3 + .pg-cards{margin-top:16px;}

  .pg-flow{display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:30px;}
  .pg-step{position:relative; background:var(--acbg); border:2.5px solid var(--ac); border-radius:18px; padding:14px 16px; text-align:center;}
  .pg-step:not(:last-child)::after{content:"→"; position:absolute; right:-25px; top:50%; transform:translateY(-50%); font-weight:800; color:var(--ac); font-size:18px;}
  .pg-step b{display:block; font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:18px; color:var(--brown); line-height:1.4;}
  html[data-lang="en"] .pg-step b{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:15px;}
  .pg-step span.d{display:block; font-size:12.5px; color:var(--ink-soft); margin-top:4px; line-height:1.55;}
  .pg-step span.r{display:block; font-size:11.5px; font-weight:800; color:var(--acd); margin-bottom:2px;}
  @media (max-width:760px){
    .pg-flow{grid-auto-flow:row; gap:26px;}
    .pg-step:not(:last-child)::after{content:"↓"; right:auto; left:50%; top:auto; bottom:-24px; transform:translateX(-50%);}
  }

  .pg-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px;}
  .pg-cards.c2{grid-template-columns:repeat(2,1fr);}
  .pg-cards.c3{grid-template-columns:repeat(3,1fr);}
  .pg-cards.c5{grid-template-columns:repeat(5,1fr);}
  .pg-card{background:var(--card); border-radius:var(--radius-md); border-top:6px solid var(--ac); padding:20px 20px 22px; box-shadow:0 8px 18px rgba(122,74,38,0.07);}
  .pg-card .em{font-size:28px; line-height:1.3; display:block; margin-bottom:2px;}
  .pg-card h4{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:19px; color:var(--brown); line-height:1.4;}
  html[data-lang="en"] .pg-card h4{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:16px;}
  .pg-card .en-name{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:12.5px; color:var(--acd); margin-bottom:6px;}
  .pg-card p{font-size:13.5px; color:var(--ink-soft); margin-top:6px;}
  .pg-card .kw{font-size:12.5px; font-weight:700; color:var(--acd); margin-top:8px;}
  .pg-card .fin{margin-top:12px; font-size:13px; font-weight:700; color:var(--brown); background:var(--acbg); border-radius:12px; padding:7px 12px;}
  .pg-card .lv{display:inline-flex; align-items:center; justify-content:center; min-width:46px; height:30px; padding:0 12px; border-radius:15px; background:var(--ac); color:var(--white); font-family:'Baloo 2',sans-serif; font-weight:800; font-size:14px; margin-bottom:8px;}
  .pg-card .grow{font-weight:700; font-size:13.5px; color:var(--acd); margin:2px 0 4px;}
  .pg-chip{display:inline-block; background:var(--acbg); color:var(--acd); font-weight:700; font-size:13px; padding:4px 12px; border-radius:14px; margin:3px 6px 3px 0;}
  .pg-chip.w{background:var(--white);}
  .pg-chips{margin-top:8px;}
  @media (max-width:920px){ .pg-cards.c3, .pg-cards.c5{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:600px){ .pg-cards.c2, .pg-cards.c3, .pg-cards.c5{grid-template-columns:1fr;} }

  .pg-bar{display:flex; gap:4px; margin:18px 0 18px;}
  .pg-seg{flex:var(--m) 1 0; min-width:0; background:var(--c); color:var(--white); text-align:center; padding:11px 0; border-radius:10px; font-family:'Baloo 2',sans-serif; font-weight:800; font-size:14px;}
  .pg-legend{display:grid; grid-template-columns:1fr 1fr; grid-template-rows:repeat(4,auto); grid-auto-flow:column; gap:10px 30px;}
  .pg-legend li{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--ink-soft); line-height:1.55;}
  .pg-legend i{flex:none; width:12px; height:12px; border-radius:50%; background:var(--c); margin-top:7px;}
  .pg-legend b{color:var(--brown); font-weight:700;}
  @media (max-width:700px){ .pg-legend{grid-template-columns:1fr; grid-template-rows:none; grid-auto-flow:row;} }

  .pg-quote{background:var(--acbg); border-left:6px solid var(--ac); border-radius:0 22px 22px 0; padding:24px 28px;}
  .pg-quote h3{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:21px; color:var(--brown); margin-bottom:8px;}
  html[data-lang="en"] .pg-quote h3{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:18px;}
  .pg-quote p{font-size:15px; color:var(--ink-soft); margin:0;}
  .pg-band{background:var(--brown); color:var(--white); border-radius:var(--radius-lg); padding:32px 36px; display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:center;}
  .pg-band .big{font-size:54px; line-height:1;}
  .pg-band h3{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:24px; margin-bottom:2px;}
  html[data-lang="en"] .pg-band h3{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:21px;}
  .pg-band .sub{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:13px; color:var(--leaf); margin-bottom:10px;}
  .pg-band p{font-size:14.5px; opacity:.95; margin-bottom:12px;}
  .pg-band .pg-chip{background:rgba(255,255,255,0.14); color:var(--white);}
  @media (max-width:600px){ .pg-band{grid-template-columns:1fr; padding:26px 22px;} }
  .pg-note{font-size:13.5px; color:var(--ink-soft); margin-top:14px;}

  .pg-cream .check-list, .pg-white .check-list{margin-top:6px;}
  .pg-check{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .pg-check .check-item{background:var(--card); padding:14px 16px; border-radius:16px;}
  @media (max-width:760px){ .pg-check{grid-template-columns:1fr;} .pg-head{grid-template-columns:1fr; gap:26px;} }

  /* CCA tabs */
  .pg-tabs{display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 26px;}
  .pg-tab{border:2.5px solid var(--brown); background:var(--white); color:var(--brown); font-weight:700; font-size:14.5px; padding:9px 20px; border-radius:24px;}
  .pg-tab[aria-selected="true"]{background:var(--brown); color:var(--white); box-shadow:0 5px 0 rgba(122,74,38,0.35);}
  .pg-panel{background:var(--cream); border-radius:var(--radius-lg); padding:34px 34px 38px;}
  .pg-panel h3.ttl{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:28px; color:var(--brown); line-height:1.35;}
  html[data-lang="en"] .pg-panel h3.ttl{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:24px;}
  .pg-panel .lead{font-size:15px; color:var(--ink-soft); margin:10px 0 0; max-width:760px;}
  .pg-panel .pg-block{margin-top:34px;}
  .pg-panel{--card:var(--white);}
  .pg-mini{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
  .pg-mini .pg-chip{margin:0; background:var(--white); border:2px solid var(--ac);}
  .pg-mini .sep{color:var(--ac); font-weight:800;}
  .pg-tablewrap{overflow-x:auto; border-radius:var(--radius-md); border:3px solid var(--ac); background:var(--white);}
  .pg-table{width:100%; min-width:560px; border-collapse:collapse; font-size:14px;}
  .pg-table th{background:var(--ac); color:var(--white); font-weight:700; padding:11px 14px; text-align:left;}
  .pg-table td{padding:11px 14px; border-top:1px solid var(--acbg); color:var(--ink);}
  .pg-table tr:nth-child(even) td{background:var(--acbg);}
  .pg-table td:first-child{font-weight:800; color:var(--brown); white-space:nowrap;}
  @media (max-width:600px){ .pg-panel{padding:24px 18px 28px;} }

  .pg-train{display:grid; grid-template-columns:1.25fr .75fr; gap:44px; align-items:start;}

  @media (max-width:920px){ .pg-ov-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:600px){ .pg-ov-grid{grid-template-columns:1fr;} .pg-head h2{font-size:30px;} }

  /* ===== FLYERS PAGE (V5) ===== */
  .fl-hero{padding-bottom:40px;}
  .fl-wrap{padding-top:10px;}
  .fl-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; align-items:stretch;}
  .fl-card{scroll-margin-top:84px; background:var(--white); border-radius:var(--radius-lg); border-top:8px solid var(--ac); box-shadow:0 10px 24px rgba(122,74,38,0.10); padding:22px 22px 26px; display:flex; flex-direction:column; gap:10px;}
  .fl-thumb{position:relative; display:block; width:100%; padding:0; border:2px solid var(--acbg); border-radius:14px; background:var(--cream); cursor:zoom-in; overflow:hidden; transition:transform .18s ease;}
  .fl-thumb:hover{transform:translateY(-3px);}
  .fl-thumb img{width:100%; height:auto; display:block;}
  .fl-zoom{position:absolute; right:10px; bottom:10px; background:rgba(122,74,38,0.9); color:var(--white); font-size:12px; font-weight:700; padding:5px 12px; border-radius:14px;}
  .fl-card h3{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:23px; color:var(--brown); line-height:1.35; margin-top:8px;}
  html[data-lang="en"] .fl-card h3{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:19px;}
  .fl-en{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:13px; color:var(--acd);}
  html[data-lang="en"] .fl-en{display:none;}
  .fl-tag{font-family:'Noto Serif SC','Songti SC',serif; font-size:17px; color:var(--acd); line-height:1.5;}
  html[data-lang="en"] .fl-tag{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:15px;}
  .fl-chips{display:flex; flex-wrap:wrap; gap:6px;}
  .fl-chips .pg-chip{margin:0;}
  .fl-actions{display:flex; flex-direction:column; gap:10px; margin-top:auto; padding-top:12px;}
  .fl-dl{display:flex; align-items:center; justify-content:center; gap:8px; padding:11px 18px; border-radius:24px; font-weight:700; font-size:14px; border:2.5px solid var(--brown); color:var(--brown); background:transparent; text-align:center;}
  .fl-dl:hover{background:var(--cream-2);}
  html[data-lang="zh"] .fl-dl.cn, html[data-lang="en"] .fl-dl.enf{background:var(--pink-deep); border-color:var(--pink-deep); color:var(--white); box-shadow:0 5px 0 var(--brown);}
  html[data-lang="zh"] .fl-dl.cn:hover, html[data-lang="en"] .fl-dl.enf:hover{transform:translateY(-2px);}
  html[data-lang="en"] .fl-dl.enf{order:-1;}
  .fl-more{font-size:13.5px; font-weight:700; color:var(--acd); text-align:center; margin-top:2px;}
  .fl-status{text-align:center; color:var(--ink-soft); font-size:13.5px; min-height:1.6em; margin-top:26px;}
  .fl-lightbox{position:fixed; inset:0; background:rgba(43,50,68,0.88); z-index:200; display:flex; align-items:flex-start; justify-content:center; padding:56px 20px 24px; overflow:auto; cursor:zoom-out;}
  .fl-lightbox img{width:min(100%,760px); height:auto; border-radius:12px; background:var(--white); display:block;}
  .fl-lb-close{position:fixed; top:14px; right:18px; background:var(--white); border:none; width:38px; height:38px; border-radius:50%; font-size:22px; font-weight:700; color:var(--brown); line-height:1; cursor:pointer;}
  .pg-fl{margin-left:auto; margin-right:16px; color:var(--acd);}
  @media (max-width:1000px){ .fl-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:640px){ .fl-grid{grid-template-columns:1fr;} .pg-fl{margin-right:10px;} }

  /* ===== TEACHERS PAGE (V6) ===== */
  .tp-hero{padding-bottom:30px;}
  .tp-stats{display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin-top:30px; position:relative; z-index:1;}
  .tp-stat{background:var(--white); border-radius:var(--radius-md); padding:14px 28px; box-shadow:0 8px 18px rgba(122,74,38,0.08); text-align:center; min-width:160px;}
  .tp-stat b{display:block; font-family:'Baloo 2',sans-serif; font-weight:800; font-size:34px; line-height:1.15; color:var(--pink-deep);}
  .tp-stat > span{font-size:13px; color:var(--ink-soft);}
  .tp-team{background:var(--white); padding-top:50px;}
  .tp-team .section-head{margin-bottom:30px;}
  .tp-filters{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:34px;}
  .tp-filter{border:2.5px solid var(--brown); background:var(--white); color:var(--brown); font-weight:700; font-size:14px; padding:8px 18px; border-radius:24px;}
  .tp-filter[aria-pressed="true"]{background:var(--brown); color:var(--white); box-shadow:0 5px 0 rgba(122,74,38,0.35);}
  .tp-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:16px;}
  .tp-empty{text-align:center; color:var(--ink-soft); margin-top:20px;}
  .tc{display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; background:var(--cream); border:3px solid transparent; border-radius:var(--radius-md); padding:16px 8px 14px; font:inherit; color:inherit; cursor:pointer; transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;}
  .tc:hover, .tc:focus-visible{transform:translateY(-6px); border-color:var(--ac); box-shadow:0 12px 24px rgba(122,74,38,0.12); outline:none;}
  .tc[hidden]{display:none !important;}
  .tc-photo{position:relative; width:92px; height:92px; margin-bottom:8px; display:block;}
  .tc-photo::before{content:""; position:absolute; width:68px; height:68px; border-radius:50%; background:var(--ac); opacity:0.4; right:-8px; top:-6px;}
  .tc-photo .frame{position:relative; z-index:1; width:100%; height:100%; border-radius:50%; overflow:hidden; border:4px solid var(--white); box-shadow:0 8px 18px rgba(122,74,38,0.16); background:var(--acbg); display:flex; align-items:flex-end; justify-content:center;}
  .tc-photo img{width:100%; height:100%; object-fit:cover; object-position:center 20%; display:block;}
  .tc-photo img.cut{width:88%; height:88%; object-fit:contain; object-position:center bottom;}
  .tc-name{display:block; font-family:'Baloo 2',sans-serif; font-weight:800; font-size:15px; color:var(--brown); line-height:1.3;}
  .tc-role{font-size:12.5px; color:var(--ink-soft);}
  .tc-yrs{display:inline-block; font-size:11.5px; font-weight:800; color:var(--acd); background:var(--white); padding:1px 10px; border-radius:12px; margin-top:4px;}
  .tc-tags{display:flex; flex-wrap:wrap; gap:5px; justify-content:center; margin-top:6px; min-height:24px;}
  .tc-tag{font-size:11.5px; font-weight:700; color:var(--brown); background:var(--cream-2); padding:2px 9px; border-radius:10px;}
  .tc-view{font-size:12.5px; font-weight:800; color:var(--acd); margin-top:8px;}
  .tp-approach{background:var(--cream-2);}
  .tp-approach-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center;}
  @media (max-width:1000px){ .tp-grid{grid-template-columns:repeat(4,1fr);} }
  @media (max-width:760px){ .tp-grid{grid-template-columns:repeat(3,1fr); gap:10px;} .tp-approach-grid{grid-template-columns:1fr; gap:34px;} .tc{padding:12px 4px 10px;} .tc-photo{width:76px; height:76px;} .tc-photo::before{width:56px; height:56px;} .tc-name{font-size:13px;} .tc-yrs{font-size:10.5px; padding:1px 7px;} }
  

  .tp-modal{position:fixed; inset:0; z-index:200; background:rgba(43,50,68,0.86); display:flex; align-items:flex-start; justify-content:center; padding:32px 16px; overflow:auto;}
  .tp-dialog{position:relative; width:100%; max-width:880px; background:var(--cream); border-radius:var(--radius-lg); padding:36px 36px 26px; margin:auto;}
  .tp-close{position:absolute; top:14px; right:14px; width:38px; height:38px; border-radius:50%; border:none; background:var(--white); color:var(--brown); font-size:22px; font-weight:700; line-height:1; cursor:pointer; box-shadow:0 4px 10px rgba(122,74,38,0.15);}
  .tm-hero{display:grid; grid-template-columns:200px 1fr; gap:32px; align-items:center;}
  .tm-photo{position:relative; width:200px; height:200px;}
  .tm-photo::before{content:""; position:absolute; width:150px; height:150px; border-radius:50%; background:var(--ac); opacity:0.4; right:-14px; top:-12px;}
  .tm-photo .frame{position:relative; z-index:1; width:100%; height:100%; border-radius:50%; overflow:hidden; border:6px solid var(--white); box-shadow:0 14px 30px rgba(122,74,38,0.16); background:var(--acbg); display:flex; align-items:flex-end; justify-content:center;}
  .tm-photo img{width:100%; height:100%; object-fit:cover; object-position:center 20%; display:block;}
  .tm-photo img.cut{width:88%; height:88%; object-fit:contain; object-position:center bottom;}
  .tm-id{display:inline-block; font-family:'Baloo 2',sans-serif; font-weight:700; font-size:12px; letter-spacing:0.5px; color:var(--blue); background:#EAF7FD; padding:3px 12px; border-radius:14px; margin-bottom:8px;}
  .tm-name{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:34px; line-height:1.2; color:var(--brown);}
  .tm-role{font-size:14px; color:var(--ink-soft); margin-bottom:12px;}
  .tm-tags{display:flex; flex-wrap:wrap; gap:8px;}
  .tm-tag{font-size:12.5px; font-weight:700; padding:4px 12px; border-radius:14px; background:var(--white); color:var(--acd); border:2px solid var(--ac);}
  .tm-grid{display:grid; grid-template-columns:1fr 1.25fr; gap:22px; margin-top:28px;}
  .tm-card{background:var(--white); border-radius:var(--radius-md); padding:22px 24px;}
  .tm-card h4{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:20px; color:var(--brown); margin-bottom:12px;}
  html[data-lang="en"] .tm-card h4{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:17px;}
  .tm-info{display:flex; flex-direction:column; gap:14px;}
  .tm-info small{display:block; font-size:12px; color:var(--ink-soft); font-weight:700;}
  .tm-info b{font-size:14.5px; font-weight:500; color:var(--ink); line-height:1.6;}
  .tm-quote{background:linear-gradient(165deg,#FDEFF6 0%,var(--white) 60%);}
  .tm-quote p{font-size:14.5px; color:var(--ink); margin:0;}
  .tm-journey{margin-top:22px; background:linear-gradient(165deg,#F6FAE2 0%,var(--white) 62%);}
  .tm-journey p{font-size:14.5px; color:var(--ink); margin:0;}
  .tp-nav{display:flex; justify-content:space-between; gap:12px; margin-top:24px;}
  .tp-navbtn{border:2.5px solid var(--brown); background:transparent; color:var(--brown); font-weight:700; font-size:14px; padding:9px 20px; border-radius:24px;}
  .tp-navbtn:hover{background:var(--brown); color:var(--white);}
  @media (max-width:760px){
    .tp-dialog{padding:56px 20px 20px;}
    .tm-hero{grid-template-columns:1fr; justify-items:center; text-align:center; gap:22px;}
    .tm-tags{justify-content:center;}
    .tm-grid{grid-template-columns:1fr;}
    .tm-photo{width:170px; height:170px;} .tm-photo::before{width:126px; height:126px;}
  }

  /* ===== V7 additions ===== */
  .stats:not(.ab-stats) .wrap{grid-template-columns:repeat(2,minmax(0,240px)); justify-content:center; gap:80px;}
  @media (max-width:600px){ .stats:not(.ab-stats) .wrap{gap:24px;} }
  .pv-hero{padding-bottom:30px;}
  .pv-body{background:var(--white); padding-top:30px;}
  .pv-card{max-width:820px; margin:0 auto; background:var(--cream); border-radius:var(--radius-lg); padding:36px 44px 40px;}
  .pv-card h2{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:22px; color:var(--brown); margin:30px 0 10px; line-height:1.4;}
  html[data-lang="en"] .pv-card h2{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:19px;}
  .pv-card h2:first-child{margin-top:0;}
  .pv-card p, .pv-card li{font-size:14.5px; color:var(--ink-soft); line-height:1.85;}
  .pv-card p{margin-bottom:10px;}
  .pv-card ul{list-style:disc; padding-left:22px; margin-bottom:10px;}
  .pv-card li{margin-bottom:6px;}
  .pv-card a{color:var(--blue); text-decoration:underline;}
  .pv-card strong{color:var(--ink);}
  @media (max-width:600px){ .pv-card{padding:26px 20px 30px;} }
  .form-data-note{font-size:12.5px; color:var(--ink-soft); background:var(--cream); border-radius:12px; padding:10px 14px; margin:4px 0 12px;}
  .form-consent{display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:var(--ink); margin-bottom:14px;}
  .form-consent input{margin-top:5px; flex:none; width:18px; height:18px; accent-color:var(--pink-deep);}

  /* ===== Feedback modal (V8) ===== */
  .fb-modal{position:fixed; inset:0; z-index:210; background:rgba(43,50,68,0.86); display:flex; align-items:flex-start; justify-content:center; padding:40px 16px; overflow:auto;}
  .fb-dialog{position:relative; width:100%; max-width:560px; background:var(--white); border-radius:var(--radius-lg); padding:34px 32px 28px; margin:auto;}
  .fb-dialog h3{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:24px; color:var(--brown); margin-bottom:6px;}
  html[data-lang="en"] .fb-dialog h3{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:20px;}
  .fb-close{position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:50%; border:none; background:var(--cream); color:var(--brown); font-size:20px; font-weight:700; line-height:1; cursor:pointer;}
  .feedback-form .form-field{margin-bottom:16px;}
  .role-radio{display:flex; flex-wrap:wrap; gap:10px;}
  .role-radio label{display:flex; align-items:center; gap:6px; background:var(--cream); border:2px solid var(--line); border-radius:20px; padding:7px 14px; font-size:13.5px; font-weight:600; color:var(--ink); cursor:pointer;}
  .role-radio input{accent-color:var(--pink-deep); width:16px; height:16px;}
  .role-radio label:has(input:checked){border-color:var(--pink-deep); background:var(--pink-l);}
  @media (max-width:480px){ .fb-dialog{padding:56px 20px 22px;} }

  /* ===== OUR STORY PAGE (V8) ===== */
  .st-hero{padding-bottom:36px;}
  .st-hero .kicker{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:13.5px; color:var(--pink-deep); margin-top:14px; position:relative; z-index:1;}
  .st-article{background:var(--white); padding:60px 0 70px;}
  .st-col{max-width:700px; margin:0 auto;}
  .st-col p{font-size:16px; line-height:1.95; color:var(--ink); margin-bottom:20px;}
  .st-h2{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:26px; color:var(--brown); margin:52px 0 20px; line-height:1.4;}
  .st-col > .st-h2:first-child{margin-top:0;}
  html[data-lang="en"] .st-h2{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:22px;}
  .st-open{font-size:19px !important; color:var(--brown) !important; font-weight:500;}
  .st-quote{font-family:'Noto Serif SC','Songti SC',serif; font-size:22px; line-height:1.7; color:var(--pink-deep); text-align:center; margin:36px 0; padding:0 12px;}
  html[data-lang="en"] .st-quote{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:19px;}
  .st-strong{font-weight:700; color:var(--brown);}
  .st-divider{width:56px; height:4px; background:var(--leaf); border-radius:2px; margin:52px auto;}

  .st-timeline-wrap{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; margin:8px 0 40px;}
  .st-timeline-intro{font-size:13.5px !important; color:var(--ink-soft) !important; margin-bottom:14px !important;}
  .st-timeline-row{display:flex; gap:14px; font-size:13.5px; color:var(--ink-soft); line-height:1.9; margin-bottom:6px;}
  .st-timeline-row:last-child{margin-bottom:0;}
  .st-timeline-label{flex:none; width:70px; font-weight:700; color:var(--brown);}
  html[data-lang="en"] .st-timeline-label{width:90px;}
  .st-timeline-path i{font-style:normal; color:var(--ink-soft); opacity:0.6; margin:0 2px;}
  @media (max-width:560px){ .st-timeline-row{flex-direction:column; gap:2px;} }

  .st-close{background:var(--brown); color:var(--white); padding:64px 0 56px; text-align:center;}
  .st-close .wrap{max-width:680px;}
  .st-close .eyebrow-tag{background:rgba(255,255,255,0.12); color:var(--leaf);}
  .st-close h2{font-family:'Noto Serif SC','Songti SC',serif; font-weight:400; font-size:27px; margin:14px 0 18px; line-height:1.4;}
  html[data-lang="en"] .st-close h2{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:22px;}
  .st-close p{font-size:15px; line-height:1.85; opacity:0.92; margin-bottom:16px;}
  .st-close .quote-cn{font-family:'Noto Serif SC','Songti SC',serif; font-size:20px; color:var(--leaf); margin:22px 0 6px; line-height:1.6;}
  html[data-lang="en"] .st-close .quote-cn{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:16.5px;}
  .st-close .gloss{font-size:13.5px; opacity:0.75; margin-bottom:26px;}
  .st-close .big-line{font-family:'Noto Serif SC','Songti SC',serif; font-size:23px; line-height:1.6; margin:26px 0 10px;}
  html[data-lang="en"] .st-close .big-line{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:19px;}
  .st-close .final-line{font-size:14.5px; opacity:0.8; font-style:italic;}
  html[data-lang="en"] .st-close .final-line{font-style:normal;}

  .st-callout{display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; background:var(--cream-2); border-radius:var(--radius-md); padding:22px 26px; margin:36px 0 0;}
  .st-callout p{margin:0; font-size:14.5px; color:var(--brown); font-weight:700;}
  .st-callout a{flex:none;}
  @media (max-width:600px){
    .st-h2{font-size:22px; margin:38px 0 16px;}
    .st-quote{font-size:19px;}
    .st-close h2{font-size:22px;}
  }

  .ab-founder{background:var(--cream); padding:8px 0 70px;}
  .ab-founder-card{max-width:680px; margin:0 auto; background:var(--white); border-radius:var(--radius-md); padding:34px 38px; box-shadow:0 8px 20px rgba(122,74,26,0.07); text-align:center;}
  .ab-founder-card p{font-size:15px; line-height:1.9; color:var(--ink); margin:16px 0 0;}
  .ab-founder-card p:first-of-type{margin-top:14px;}
  .ab-founder-link{display:inline-block; margin-top:20px; font-weight:700; font-size:14px; color:var(--pink-deep); border-bottom:2px solid var(--pink);}
  @media (max-width:600px){ .ab-founder-card{padding:26px 22px;} }

  /* Chinese display font: Noto Serif SC (replaces ZCOOL KuaiLe) */
  html[data-lang="zh"] :is(.display, .nav-brand .brand-cn, .hero h1, .section-head h2, .pillar-card .cn-sub, .course-card h3, .phil-text h2, .teach-quote, .growth-word, .testimonial-quote-mark, .cta-band h2, .footer-brand span, .page-hero h1, .look-for h3, .apply-form h3, .tuition-hero h1, .ab-pill, .ab-step .w, .ab-quote, .ab-effects .end, .ab-teach h2, .ab-tile b, .ab-shift .to, .ab-growth .end, .ab-stats .ab-since, .ab-ability, .ab-origin .q, .ab-sign-name, .ab-sign-quote, .pg-ov-card h3, .pg-head h2, .pg-tagline, .pg-h3, .pg-step b, .pg-card h4, .pg-quote h3, .pg-band h3, .pg-panel h3.ttl, .fl-card h3, .fl-tag, .tm-card h4, .pv-card h2, .fb-dialog h3, .st-h2, .st-quote, .st-close h2, .st-close .quote-cn, .st-close .big-line){font-weight:700;}

  /* ===== CONTACT PAGE (parents & centres / teachers) ===== */
  .ct-tabs{justify-content:center; margin:28px 0 0; position:relative; z-index:1;}
  .ct-val{font-size:15px !important; font-weight:700; color:var(--brown) !important; word-break:break-word;}
  .ct-val a{border-bottom:2px solid var(--pink);}
  .ct-val a:hover{color:var(--pink-deep);}

  /* ===== contact page: big audience choices ===== */
  .ct-choices{display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:880px; margin:32px auto 0; position:relative; z-index:1;}
  .ct-choice{--c:var(--pink-deep); --cd:#C24F78; --cbg:#FDEFF6; display:flex; align-items:center; gap:16px; text-align:left; background:var(--white); border:3px solid var(--cbg); border-radius:var(--radius-md); padding:22px 22px; box-shadow:0 8px 20px rgba(122,74,38,0.08); transition:transform .18s ease, border-color .18s ease, background .18s ease; color:var(--ink);}
  .ct-choice.ct-teach{--c:var(--blue); --cd:#1F86B8; --cbg:#EAF7FD;}
  .ct-choice:hover{transform:translateY(-4px); border-color:var(--c);}
  .ct-choice[aria-selected="true"]{background:var(--cbg); border-color:var(--c); box-shadow:0 7px 0 var(--c);}
  .ct-choice:focus-visible{outline:3px solid var(--cd); outline-offset:3px;}
  .ct-ic{flex:none; width:64px; height:64px; border-radius:50%; background:var(--cbg); color:var(--cd); display:flex; align-items:center; justify-content:center;}
  .ct-choice[aria-selected="true"] .ct-ic{background:var(--white);}
  .ct-ic svg{width:36px; height:36px;}
  .ct-txt{flex:1; display:flex; flex-direction:column; gap:2px; min-width:0;}
  .ct-who{font-size:12.5px; font-weight:800; color:var(--cd); letter-spacing:.5px;}
  .ct-title{font-family:'Noto Serif SC','Songti SC',serif; font-weight:700; font-size:21px; color:var(--brown); line-height:1.35;}
  html[data-lang="en"] .ct-title{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:19px;}
  .ct-sub{font-size:13.5px; color:var(--ink-soft); line-height:1.55;}
  .ct-arrow{flex:none; font-weight:800; font-size:22px; color:var(--cd); transition:transform .18s ease;}
  .ct-choice[aria-selected="true"] .ct-arrow{transform:rotate(90deg);}
  @media (max-width:700px){ .ct-choices{grid-template-columns:1fr; gap:14px;} .ct-choice{padding:18px;} .ct-ic{width:52px; height:52px;} .ct-ic svg{width:30px; height:30px;} }
  #ctTeach .apply-form{border-top:8px solid var(--blue);}
  .cv-drop{display:flex; align-items:center; gap:12px; border:2.5px dashed var(--blue); background:#EAF7FD; border-radius:14px; padding:16px 18px; cursor:pointer; position:relative;}
  .cv-drop:hover{background:#DDF1FB;}
  .cv-drop input{position:absolute; inset:0; opacity:0; cursor:pointer; width:100%;}
  .cv-drop:focus-within{outline:3px solid #1F86B8; outline-offset:2px;}
  .cv-ic{font-size:24px;}
  .cv-main{flex:1; font-weight:700; color:var(--brown); font-size:14.5px; word-break:break-all;}
  .cv-hint{font-size:12.5px; color:var(--ink-soft);}
  .dob-row{display:grid; grid-template-columns:1.3fr 1fr; gap:10px;}
  .dob-row select{border:2px solid var(--cream-2); background:var(--cream); border-radius:12px; padding:11px 14px; font-size:14.5px; font-family:inherit; color:var(--ink); width:100%;}
  .dob-row select:focus{outline:none; border-color:var(--blue);}
  .ap-done{margin-top:22px; background:#EAF7FD; border:2.5px solid var(--blue); border-radius:18px; padding:20px 22px; font-size:14px; color:var(--ink-soft);}
  .ap-done-t{font-weight:800; color:var(--brown); font-size:16px; margin-bottom:6px;}
  .ap-done pre{white-space:pre-wrap; background:var(--white); border-radius:12px; padding:12px 14px; margin:12px 0; font:13.5px/1.6 'Noto Sans SC',sans-serif; color:var(--ink);}
  .ap-done-acts{display:flex; gap:12px; flex-wrap:wrap; align-items:center;}
  .ap-done-acts .btn-outline{background:var(--white); cursor:pointer;}
  .ap-done-alt{margin-top:12px; font-size:12.5px;}
  .btn-primary.btn-hero{font-size:19px; padding:17px 40px; border-radius:34px; box-shadow:0 7px 0 var(--brown); letter-spacing:1px;}
  @media (max-width:600px){ .btn-primary.btn-hero{width:100%; text-align:center; font-size:18px;} }
  .testimonial-card p.quote b{color:var(--brown); font-weight:700;}
  .footer-grid{grid-template-columns:1.4fr 1fr;}
  @media (max-width:600px){ .footer-grid{grid-template-columns:1fr;} }

  /* founder note: letter layout */
  .ab-founder-card{max-width:900px; text-align:left; display:grid; grid-template-columns:96px 1fr; gap:8px 28px; padding:44px 52px 44px 36px; border-left:6px solid var(--pink-deep);}
  .ab-founder-mark{font-family:'Noto Serif SC','Songti SC',Georgia,serif; font-weight:900; font-size:130px; line-height:.9; color:var(--pink); text-align:center;}
  .ab-founder-body .eyebrow-tag{margin-bottom:6px;}
  .ab-founder-card p{font-size:17px; line-height:2; color:var(--ink); margin:14px 0 0; text-wrap:pretty;}
  .ab-founder-q{font-family:'Noto Serif SC','Songti SC',serif; font-weight:700; color:var(--brown);}
  .ab-founder-link{margin-top:24px; font-size:15px; padding:10px 22px; border:2.5px solid var(--pink-deep); border-radius:24px; color:var(--pink-deep);}
  .ab-founder-link:hover{background:var(--pink-deep); color:var(--white);}
  @media (max-width:700px){
    .ab-founder-card{grid-template-columns:1fr; padding:28px 24px; gap:0;}
    .ab-founder-mark{font-size:80px; text-align:left; height:56px;}
    .ab-founder-card p{font-size:16px; line-height:1.9;}
  }

  /* about: tighten gap + CCF heading */
  .ab-founder{padding-bottom:0;}
  .ab-ccf{padding-top:56px;}
  .ab-ccf .section-head h2 .ab-ccf-title{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:34px; letter-spacing:.3px;}
  .ab-ccf .ab-h2sub{font-family:'Noto Sans SC',sans-serif; font-size:17px; font-weight:500; letter-spacing:4px; color:var(--ink-soft); margin-top:6px;}
  .ab-ccf .ab-h2sub i{font-style:normal; color:var(--pink); margin:0 8px 0 4px; letter-spacing:0;}
  .ab-shift{gap:6px; padding:28px 22px;}
  .ab-shift .from{font-size:16.5px;}
  .ab-shift .arr{margin:4px 0;}

  /* teachers block: quote on top, three points in a row */
  .teachers .wrap, .tp-approach-grid{display:grid !important; grid-template-columns:1fr !important; gap:40px !important; justify-items:center;}
  .teachers .teach-quote, .tp-approach .teach-quote{text-align:center; font-size:30px; font-weight:700; line-height:1.6; max-width:760px; position:relative; padding-top:34px;}
  .teachers .teach-quote::before, .tp-approach .teach-quote::before{content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:48px; height:5px; border-radius:3px; background:var(--pink);}
  html[data-lang="en"] .teachers .teach-quote, html[data-lang="en"] .tp-approach .teach-quote{font-size:26px;}
  .teachers .teach-points, .tp-approach .teach-points{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; width:100%;}
  .teachers .teach-point, .tp-approach .teach-point{flex-direction:column; align-items:flex-start; gap:14px; padding:26px 24px 28px; border-radius:var(--radius-md);}
  .teachers .teach-point strong, .tp-approach .teach-point strong{font-size:17px; margin-bottom:6px;}
  .teachers .teach-point p, .tp-approach .teach-point p{font-size:14.5px; line-height:1.8;}
  .teachers .teach-point .dot, .tp-approach .teach-point .dot{width:40px; height:40px; font-size:17px;}
  .teachers .teach-points > .btn-outline{grid-column:1 / -1; justify-self:center; align-self:center !important; margin-top:6px;}
  @media (max-width:820px){
    .teachers .teach-points, .tp-approach .teach-points{grid-template-columns:1fr;}
    .teachers .teach-quote, .tp-approach .teach-quote{font-size:24px;}
  }


  /* about: 我们的老师 card */
  .ab-teachers{text-align:left;}
  .abt-card{background:var(--white); border-radius:var(--radius-lg); box-shadow:0 10px 26px rgba(122,74,38,0.08); padding:48px 52px; display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center;}
  .abt-left .eyebrow-tag{margin-bottom:16px;}
  .ab-teachers .abt-left .teach-quote{margin:0; max-width:none; font-size:30px; font-weight:700; line-height:1.6; text-align:left;}
  html[data-lang="en"] .ab-teachers .abt-left .teach-quote{font-size:24px;}
  .abt-right{border-left:2px dashed var(--cream-2); padding-left:44px;}
  .abt-right .body{max-width:none; margin:18px 0 24px; color:var(--ink-soft); font-size:15px; line-height:1.9;}
  .abt-faces{display:flex; align-items:center;}
  .abt-faces img{width:52px; height:52px; border-radius:50%; object-fit:cover; object-position:top; border:3px solid var(--white); box-shadow:0 3px 8px rgba(122,74,38,0.15); margin-left:-12px; background:var(--cream);}
  .abt-faces img:first-child{margin-left:0;}
  .abt-faces .more{margin-left:10px; font-size:13px; font-weight:700; color:var(--brown); background:var(--cream-2); padding:6px 12px; border-radius:14px;}
  @media (max-width:860px){
    .abt-card{grid-template-columns:1fr; gap:28px; padding:32px 26px;}
    .abt-right{border-left:0; padding-left:0; border-top:2px dashed var(--cream-2); padding-top:26px;}
    .ab-teachers .abt-left .teach-quote{font-size:25px;}
  }

  /* home stats */
  .hs-stats{background:var(--cream); padding:56px 0;}
  .hs-card{position:relative; background:var(--white); border-radius:var(--radius-lg); box-shadow:0 12px 30px rgba(122,74,38,0.10); display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden;}
  .hs-card::before{content:""; position:absolute; left:0; right:0; top:0; height:8px; background:linear-gradient(90deg, var(--pink), var(--blue) 55%, var(--leaf));}
  .hs-item{padding:40px 26px 34px; text-align:center; position:relative;}
  .hs-item + .hs-item::before{content:""; position:absolute; left:0; top:38px; bottom:32px; border-left:2px dashed var(--cream-2);}
  .hs-num{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:56px; line-height:1; color:var(--c); letter-spacing:-.5px; font-variant-numeric:tabular-nums;}
  .hs-num small{font-size:.5em; font-weight:800; margin-left:2px;}
  .hs-pink{--c:#C24F78;} .hs-blue{--c:#1F86B8;} .hs-leaf{--c:#6F8214;} .hs-brown{--c:var(--brown);}
  .hs-label{margin-top:14px; font-weight:700; font-size:15.5px; color:var(--brown); line-height:1.5;}
  .hs-sub{margin-top:6px; font-size:13px; color:var(--ink-soft);}
  @media (max-width:920px){
    .hs-card{grid-template-columns:1fr 1fr;}
    .hs-item:nth-child(3)::before{display:none;}
    .hs-item:nth-child(n+3){border-top:2px dashed var(--cream-2);}
  }
  @media (max-width:480px){
    .hs-item{padding:30px 14px 26px;}
    .hs-num{font-size:40px;}
    .hs-label{font-size:14px;}
  }
  .hs-card.hs-two{grid-template-columns:1fr 1fr; max-width:820px; margin:0 auto;}
  .hs-two .hs-item{padding:46px 30px 40px;}
  .hs-two .hs-num{font-size:64px;}
  .hs-two .hs-label{font-size:17px;}
  @media (max-width:920px){ .hs-card.hs-two{grid-template-columns:1fr 1fr;} .hs-two .hs-item:nth-child(n+3){border-top:0;} }
  @media (max-width:480px){ .hs-two .hs-num{font-size:44px;} .hs-two .hs-item{padding:34px 12px 28px;} .hs-two .hs-label{font-size:14.5px;} }
  .hs-card.hs-three{grid-template-columns:repeat(3,1fr); max-width:1040px; margin:0 auto;}
  .hs-three .hs-item{padding:46px 24px 40px;}
  .hs-three .hs-num{font-size:62px;}
  .hs-three .hs-label{font-size:16.5px;}
  @media (max-width:760px){
    .hs-card.hs-three{grid-template-columns:1fr;}
    .hs-three .hs-item{padding:30px 20px 26px;}
    .hs-three .hs-item + .hs-item::before{left:24px; right:24px; top:0; bottom:auto; border-left:0; border-top:2px dashed var(--cream-2);}
    .hs-three .hs-num{font-size:50px;}
  }
  .hs-caption{text-align:center; max-width:720px; margin:26px auto 0; font-family:'Noto Serif SC','Songti SC',serif; font-weight:700; font-size:19px; line-height:1.7; color:var(--brown); text-wrap:balance;}
  html[data-lang="en"] .hs-caption{font-family:'Baloo 2',sans-serif; font-weight:600; font-size:17px;}
  .ab-hs{background:var(--cream);}

  /* ===== photos ===== */
  .carousel-slide{background-size:cover; background-repeat:no-repeat; justify-content:flex-end; padding:0 0 44px;}
  .carousel-slide::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(59,37,23,0.72) 0%, rgba(59,37,23,0.15) 38%, rgba(0,0,0,0) 60%); pointer-events:none;}
  .carousel-caption{position:relative; z-index:1; font-size:17px; text-shadow:0 2px 10px rgba(0,0,0,0.35);}
  .phil-visual, .carousel-track{min-height:360px; height:360px;}
  .pg-photos{display:grid; gap:16px; margin-top:32px;}
  .pg-photos.n2{grid-template-columns:1.35fr 1fr;}
  .pg-photos.n1{grid-template-columns:1fr;}
  .pg-photos figure, .mo-grid figure{position:relative; margin:0; border-radius:var(--radius-md); overflow:hidden; box-shadow:0 10px 24px rgba(122,74,38,0.12); background:var(--cream-2);}
  .pg-photos img{width:100%; height:300px; object-fit:cover; display:block;}
  .pg-photos.n1 img{height:340px;}
  .pg-photos figcaption, .mo-grid figcaption{position:absolute; left:14px; bottom:14px; background:rgba(255,255,255,0.94); color:var(--brown); font-weight:700; font-size:13px; padding:6px 14px; border-radius:16px; box-shadow:0 4px 12px rgba(0,0,0,0.12);}
  .moments{background:var(--white);}
  .mo-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:220px; gap:16px;}
  .mo-grid img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
  .mo-grid figure:hover img{transform:scale(1.04);}
  .mo-a{grid-column:span 2; grid-row:span 2;} .mo-b{grid-row:span 2;} .mo-c{grid-row:span 2;}
  .mo-d{grid-column:span 2;} .mo-e{grid-column:span 1;} .mo-f{grid-column:span 1;}
  @media (prefers-reduced-motion:reduce){ .mo-grid img{transition:none;} .mo-grid figure:hover img{transform:none;} }
  @media (max-width:900px){
    .mo-grid{grid-template-columns:1fr 1fr; grid-auto-rows:180px;}
    .mo-a{grid-column:span 2; grid-row:span 2;} .mo-b, .mo-c{grid-row:span 2;} .mo-d{grid-column:span 2;}
  }
  @media (max-width:600px){
    .pg-photos.n2{grid-template-columns:1fr;}
    .pg-photos img, .pg-photos.n1 img{height:220px;}
    .phil-visual, .carousel-track{min-height:280px; height:280px;}
  }

  /* photos spread */
  .hero-photo-frame .ph-inner .ph-photo{position:absolute; inset:0; width:100% !important; height:100%; object-fit:cover; object-position:50% 45%; z-index:0;}
  .hero-photo-frame .ph-inner::before, .hero-photo-frame .ph-inner::after{display:none;}
  .course-card{overflow:hidden;}
  .course-photo{display:block; width:calc(100% + 48px); max-width:none; height:170px; object-fit:cover; margin:-26px -24px 18px;}
  .st-fig{margin:34px 0 38px;}
  .st-fig-row{display:grid; gap:14px;}
  .st-fig.n2 .st-fig-row{grid-template-columns:1fr 1fr;}
  .st-fig-row img{width:100%; height:280px; object-fit:cover; border-radius:var(--radius-md); box-shadow:0 10px 24px rgba(122,74,38,0.12); display:block;}
  .st-fig figcaption{text-align:center; font-size:13.5px; color:var(--ink-soft); margin-top:12px;}
  .ab-strip{background:var(--white); padding:10px 0 30px;}
  .ab-strip-grid{display:grid; grid-template-columns:1fr 1.25fr 1fr; gap:16px;}
  .ab-strip-grid img{width:100%; height:260px; object-fit:cover; border-radius:var(--radius-md); box-shadow:0 10px 24px rgba(122,74,38,0.12); display:block;}
  @media (max-width:700px){
    .ab-strip-grid{grid-template-columns:1fr 1fr;} .ab-strip-grid img{height:170px;} .ab-strip-grid img:nth-child(2){grid-column:span 2; order:-1; height:220px;}
    .st-fig-row img{height:200px;}
  }

  /* ================= MOBILE POLISH ================= */
  .teachers .teach-more{justify-self:center; margin-top:-8px;}
  .m-hint{display:none;}
  @media (max-width:700px){
    .wrap{padding:0 20px;}
    section{padding:44px 0;}
    .section-head{margin-bottom:26px;}
    .section-head h2{font-size:25px; line-height:1.45;}
    .section-head p{font-size:14px;}
    .eyebrow-tag{margin-bottom:10px;}

    /* hero: text first, compact photo, no floating tags */
    .hero{padding:32px 0 36px;}
    .hero-visual{order:0 !important;}
    .hero-inner{gap:28px;}
    .hero-visual .card-float{display:none;}
    .hero-photo-frame{padding:10px; border-radius:24px;}
    .hero-photo-frame .ph-inner{aspect-ratio:16/10;}
    .ph-caption{margin-top:8px;}
    .hero h1{font-size:32px; margin-bottom:14px;}
    .hero p.lead{font-size:15px; margin-bottom:22px;}

    /* swipe rows instead of stacked blocks */
    .course-grid, .testimonial-grid, .pillar-grid, .ab-ccf .pillar-grid, .ab-shifts, .pg-cards, .pg-cards.c2, .pg-cards.c3, .pg-cards.c5, .why-grid, .teachers .teach-points, .tp-approach .teach-points, .fl-grid{
      display:flex !important; grid-template-columns:none !important; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px !important;
      margin-left:-20px; margin-right:-20px; padding:4px 20px 16px; scroll-padding-left:20px; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
    .course-grid::-webkit-scrollbar, .testimonial-grid::-webkit-scrollbar, .pillar-grid::-webkit-scrollbar, .ab-shifts::-webkit-scrollbar, .pg-cards::-webkit-scrollbar, .why-grid::-webkit-scrollbar, .teach-points::-webkit-scrollbar, .fl-grid::-webkit-scrollbar{display:none;}
    .course-grid > *, .pillar-grid > *, .ab-shifts > *, .why-grid > *, .teach-points > *, .fl-grid > *{flex:0 0 80%; scroll-snap-align:start; min-width:0;}
    .testimonial-grid > *{flex:0 0 86%; scroll-snap-align:start; min-width:0;}
    .pg-cards > *{flex:0 0 72%; scroll-snap-align:start; min-width:0;}
    .course-card:hover, .pg-ov-card:hover{transform:none;}
    .m-hint{display:block; text-align:right; font-size:12px; font-weight:700; color:var(--ink-soft); opacity:.75; margin:-6px 0 0;}

    /* course cards a little tighter */
    .course-photo{height:150px;}
    .course-card p{font-size:13.5px;}

    /* CCF pillar cards tighter */
    .pillar-card{padding:24px 20px;}
    .pillar-icon{width:44px; height:44px; margin-bottom:10px;}

    /* trust + contact cards become compact rows */
    .trust-grid{grid-template-columns:1fr !important; gap:10px !important;}
    .trust-card{display:grid; grid-template-columns:40px 1fr; column-gap:14px; text-align:left; padding:16px 18px; align-items:center;}
    .trust-card .ic{grid-row:span 2; width:36px; height:36px; margin:0;}
    .trust-card h4{margin-bottom:2px;}
    #ctPartner .why-grid{display:grid !important; grid-template-columns:1fr !important; gap:10px !important; margin:0; padding:0; overflow:visible;}
    #ctPartner .why-card{display:grid; grid-template-columns:44px 1fr; column-gap:14px; text-align:left; padding:16px 18px; align-items:center;}
    #ctPartner .why-card .ic{grid-row:span 2; width:40px; height:40px; margin:0;}
    #ctPartner .why-card h3{margin-bottom:0;}

    /* stats: three across */
    .hs-stats{padding:36px 0;}
    .hs-card.hs-three{grid-template-columns:repeat(3,1fr);}
    .hs-three .hs-item{padding:28px 6px 20px;}
    .hs-three .hs-item + .hs-item::before{left:0; right:auto; top:24px; bottom:20px; border-top:0; border-left:2px dashed var(--cream-2);}
    .hs-three .hs-num{font-size:30px;}
    .hs-three .hs-label{font-size:12px; margin-top:8px;}
    .hs-three .hs-sub{display:none;}
    .hs-caption{font-size:16px;}

    /* about */
    .ab-tiles{grid-template-columns:repeat(3,1fr); gap:10px;}
    .ab-tile{padding:14px 6px; border-width:2px;}
    .ab-tile .em{font-size:24px; margin-bottom:2px;}
    .ab-tile b{font-size:15px;}
    .ab-effects{padding:24px 16px;}
    .ab-chip{font-size:13px; padding:7px 14px;}
    .ab-pill{font-size:16px; padding:8px 18px;}
    .ab-shift{padding:22px 16px;}

    /* programmes overview: compact 2-col */
    .pg-ov-grid{grid-template-columns:1fr 1fr !important; gap:10px !important;}
    .pg-ov-card{padding:14px 14px 12px; border-width:2px; gap:4px;}
    .pg-ov-card p{display:none;}
    .pg-ov-card h3{font-size:17px !important;}
    .pg-tag{font-size:11px; padding:3px 9px;}
    .pg-head h2{font-size:27px;}
    .pg-block{margin-top:34px;}
    .pg-top{flex-wrap:wrap; gap:8px 14px;}
    .pg-top .pg-tag{flex-basis:100%; align-self:flex-start; width:max-content;}

    /* 5-step path: one swipe row */
    .pg-flow{display:flex !important; overflow-x:auto; gap:26px !important; margin:0 -20px; padding:2px 20px 10px; scrollbar-width:none;}
    .pg-flow::-webkit-scrollbar{display:none;}
    .pg-step{flex:0 0 auto; min-width:120px; padding:10px 14px;}
    .pg-step:not(:last-child)::after{content:"→" !important; right:-21px !important; left:auto !important; top:50% !important; bottom:auto !important; transform:translateY(-50%) !important;}

    /* teachers grid tiles smaller */
    .tp-grid{gap:10px;}

    /* testimonials */
    .testimonial-card{padding:22px 20px;}
    .testimonial-card p.quote{font-size:13.5px;}

    /* footer */
    footer{padding:36px 0 20px;}
    .footer-grid{gap:22px; margin-bottom:22px;}
  }
  @media (max-width:700px){
    .teachers .teach-points, .tp-approach .teach-points{flex-direction:row !important; align-items:stretch;}
    .teach-point{padding:20px 18px 22px !important;}
    .ab-stairs{gap:8px; margin-bottom:30px;}
    .ab-step{padding:10px 16px !important; box-shadow:0 4px 10px rgba(122,74,38,0.06);}
    .ab-s1{min-height:52px !important;} .ab-s2{min-height:60px !important;} .ab-s3{min-height:72px !important; box-shadow:0 5px 0 var(--leaf-deep) !important;}
    .ab-s1 .w{font-size:19px !important;} .ab-s2 .w{font-size:22px !important;} .ab-s3 .w{font-size:26px !important;}
    .ab-step .em{font-size:22px !important;} .ab-s3 .em{font-size:28px !important;}
    .ab-quote{margin:22px auto 26px; font-size:18px;}
  }
  @media (max-width:700px){
    .teachers .teach-points, .tp-approach .teach-points{width:auto !important; justify-self:stretch;}
    .teachers .wrap, .tp-approach-grid{gap:24px !important;}
    .teachers .m-hint, .tp-approach .m-hint{justify-self:stretch; margin-top:-14px;}
  }
  .hero-photo-frame .ph-inner{aspect-ratio:3/2;}
  .hero-photo-frame .ph-inner .ph-photo{object-position:50% 60%;}
  @media (max-width:700px){ .hero-photo-frame .ph-inner{aspect-ratio:16/10;} }
  .hero-visual .card-float{display:none;}
  @media (max-width:700px){ .nav-cta > .btn-primary{display:none;} }

  /* ===== PROGRAMMES: one at a time + accordions ===== */
  .pg-ov{position:sticky; top:70px; z-index:30; background:rgba(255,255,255,0.96); backdrop-filter:blur(6px); padding:14px 0 !important; border-bottom:1px solid var(--cream-2); box-shadow:0 6px 16px rgba(122,74,38,0.06);}
  .pg-ov-grid{display:grid !important; grid-template-columns:repeat(6,1fr) !important; gap:10px !important;}
  .pg-ov-card{padding:10px 12px !important; gap:2px !important; border-width:2px !important; background:var(--white) !important; border-color:var(--cream-2) !important; cursor:pointer;}
  .pg-ov-card p, .pg-ov-card .go{display:none !important;}
  .pg-ov-card h3{font-size:16.5px !important; line-height:1.35 !important;}
  .pg-ov-card .pg-tag{font-size:11px !important; padding:2px 8px !important; background:var(--acbg) !important;}
  .pg-ov-card:hover{transform:none !important; border-color:var(--ac) !important;}
  .pg-ov-card.is-on{background:var(--acbg) !important; border-color:var(--ac) !important; box-shadow:0 4px 0 var(--ac);}
  .pg-ov-card.is-on .pg-tag{background:var(--white) !important;}
  #page-programmes section.pg:not(.pg-ov){display:none;}
  #page-programmes section.pg.is-on{display:block;}
  #page-programmes section.pg{padding-top:44px;}
  .pg-top a[data-anchor="pg-overview"]{display:none;}
  /* compact head: facts as chips */
  .pg-head{grid-template-columns:1fr !important; gap:18px !important;}
  .pg-head h2{margin-top:4px;}
  .pg-lead{max-width:760px;}
  .pg-facts{display:flex; flex-wrap:wrap; gap:10px; background:none !important; border:0 !important; padding:0 !important;}
  .pg-fact{border:0 !important; background:var(--acbg); border-radius:14px; padding:8px 16px !important; gap:0 !important;}
  .pg-fact .ic{display:none;}
  .pg-fact small{font-size:11.5px;}
  .pg-fact b{font-size:14px;}
  /* accordions */
  .pg-acc{margin-top:0 !important; border-top:1px solid rgba(122,74,38,0.14);}
  .pg-acc:last-of-type{border-bottom:1px solid rgba(122,74,38,0.14);}
  .pg-head + .pg-acc, .pg-top + .pg-acc{margin-top:30px !important;}
  .pg-acc > summary{list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 4px;}
  .pg-acc > summary::-webkit-details-marker{display:none;}
  .pg-acc > summary .pg-h3{margin:0 !important; font-size:21px;}
  .pg-acc > summary:hover .pg-h3{color:var(--acd);}
  .pg-acc-ic{flex:none; width:34px; height:34px; border-radius:50%; background:var(--acbg); position:relative; transition:transform .25s ease;}
  .pg-acc-ic::before, .pg-acc-ic::after{content:""; position:absolute; left:50%; top:50%; width:14px; height:2.5px; background:var(--acd); border-radius:2px; transform:translate(-50%,-50%);}
  .pg-acc-ic::after{transform:translate(-50%,-50%) rotate(90deg); transition:transform .25s ease;}
  .pg-acc[open] .pg-acc-ic::after{transform:translate(-50%,-50%) rotate(0deg);}
  .pg-acc-body{padding:0 4px 26px;}
  .pg-acc-body > .pg-sub:first-child{margin-top:-4px;}
  .pg-acc .pg-flow, .pg-acc .pg-cards, .pg-acc .pg-bar{margin-top:6px !important;}
  /* lighter items: lists instead of boxed cards */
  .pg-acc .pg-cards{gap:22px 34px !important;}
  .pg-acc .pg-card{background:none !important; box-shadow:none !important; border:0 !important; border-left:3px solid var(--ac) !important; border-radius:0 !important; padding:2px 0 2px 16px !important;}
  .pg-acc .pg-card .em{display:none;}
  .pg-acc .pg-card .fin{background:none; padding:0; margin-top:8px; color:var(--acd);}
  .pg-acc .pg-check .check-item{background:none !important; padding:6px 0 !important;}
  .pg-block:not(.pg-acc){margin-top:30px;}
  @media (max-width:900px){ .pg-ov-grid{grid-template-columns:repeat(3,1fr) !important;} }
  @media (max-width:700px){
    .pg-ov{top:62px; padding:10px 0 !important;}
    .pg-ov-grid{display:flex !important; overflow-x:auto; gap:8px !important; margin:0 -20px; padding:2px 20px 6px; scrollbar-width:none;}
    .pg-ov-grid::-webkit-scrollbar{display:none;}
    .pg-ov-card{flex:0 0 auto; padding:8px 12px !important;}
    .pg-ov-card .pg-tag{display:none !important;}
    .pg-ov-card h3{font-size:15px !important; white-space:nowrap;}
    #page-programmes section.pg{padding-top:30px;}
    .pg-acc > summary{padding:15px 2px;}
    .pg-acc > summary .pg-h3{font-size:18px;}
    .pg-acc .pg-cards{display:grid !important; grid-template-columns:1fr !important; overflow:visible !important; margin:0 !important; padding:0 !important; gap:16px !important;}
    .pg-acc .pg-cards > *{flex:none !important;}
    .pg-fact{padding:6px 12px !important;}
  }

/* ===== multi-page additions ===== */
.page[hidden]{display:none;}
.nav-links a.active{color:var(--pink-deep); font-weight:700; box-shadow:inset 0 -2px 0 var(--pink);}
.skip-link{position:absolute; left:-9999px; top:8px; z-index:1000; background:#fff; color:var(--ink); padding:8px 14px; border-radius:8px;}
.skip-link:focus{left:12px;}
.nf-wrap{min-height:52vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:80px 24px; gap:14px;}
.nf-wrap .nf-code{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:96px; line-height:1; color:var(--pink);}
.nf-wrap h1{font-size:26px; margin:0;}
.nf-wrap .nf-links{display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:10px;}
