
  :root{
    --cream:#FEFBF6;
    --cream-deep:#EAF2FB;
    --ink:#182746;
    --ink-soft:#51607F;
    --pink:#EA5DA2;
    --pink-deep:#C93F82;
    --orange:#F9A221;
    --orange-deep:#D4840E;
    --green:#69983A;
    --green-deep:#527A2B;
    --blue:#1F88CA;
    --blue-deep:#166D9E;
    --red:#DA2629;
    --red-deep:#B31E20;
    --teal:#1F88CA;
    --lavender:#DCEEFC;
    --line: rgba(24,39,70,0.12);
    --radius: 22px;
    --shadow-block: 0 5px 0 rgba(24,39,70,0.16);
    --maxw: 1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Nunito', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Baloo 2', sans-serif;
    font-weight:800;
    color:var(--ink);
    margin:0 0 .5em;
    line-height:1.15;
  }
  section h2{font-size:clamp(2rem, 3.4vw, 2.7rem);}
  p{margin:0 0 1em;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
  section{padding:88px 0;}
  @media(max-width:900px){ section{padding:60px 0;} }
  @media(max-width:560px){
    .wrap{padding:0 20px;}
    section{padding:48px 0;}
  }
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Nunito'; font-weight:800; font-size:.78rem;
    letter-spacing:.12em; text-transform:uppercase;
    color:var(--teal); margin-bottom:14px;
  }
  .eyebrow::before{
    content:""; width:18px; height:3px; border-radius:3px;
    background:var(--pink); display:inline-block;
  }
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:'Baloo 2'; font-weight:700; font-size:1rem;
    padding:14px 26px; border-radius:100px; border:none; cursor:pointer;
    text-decoration:none; transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn-primary{
    background:var(--blue); color:#fff;
    box-shadow:0 5px 0 var(--blue-deep);
  }
  .btn-primary:hover{transform:translateY(-2px);}
  .btn-primary:active{transform:translateY(3px); box-shadow:0 2px 0 var(--pink-deep);}
  .btn-ghost{
    background:transparent; color:var(--ink); border:2px solid var(--ink);
  }
  .btn-ghost:hover{background:var(--ink); color:#fff;}
  .btn-sm{padding:10px 18px; font-size:.9rem;}

  /* ---------- Block letter signature ---------- */
  .block-letter{
    display:inline-flex; align-items:center; justify-content:center;
    width:1.15em; height:1.15em; margin:0 .02em;
    border-radius:.26em; font-family:'Baloo 2'; font-weight:800;
    color:#fff; box-shadow:var(--shadow-block);
    transform:rotate(var(--r,0deg));
    position:relative; top:-.05em;
  }
  .block-word{white-space:nowrap;}

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(255,253,249,.92); backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:10px 28px; max-width:var(--maxw); margin:0 auto;
  }
  .logo{
    display:flex; align-items:center; gap:10px;
    font-family:'Baloo 2'; font-weight:800; font-size:1.3rem;
    text-decoration:none; color:var(--ink);
  }
  .logo img{height:56px; width:auto; display:block;}
  .nav-links{display:flex; gap:30px; list-style:none; margin:0; padding:0; font-weight:700;}
  .nav-links a{text-decoration:none; font-size:.95rem; color:var(--ink-soft); transition:color .15s;}
  .nav-links a:hover{color:var(--pink-deep);}
  .nav-right{display:flex; align-items:center; gap:18px;}
  .nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:6px;}
  .nav-toggle span{display:block; width:24px; height:3px; background:var(--ink); margin:5px 0; border-radius:3px;}

  .nav-mobile-cta{display:none;}
  @media(max-width:900px){
    .nav-links{
      position:fixed; left:0; right:0; top:-2000px; background:var(--cream);
      flex-direction:column; padding:24px 28px; gap:18px;
      border-bottom:1px solid var(--line);
      transition:top .25s ease;
      max-height:calc(100vh - 76px); overflow-y:auto;
      visibility:hidden;
    }
    .nav-links.open{top:76px; visibility:visible;}
    .nav-toggle{display:block;}
    .nav-right .btn-primary{display:none;}
    .nav-mobile-cta{display:block; margin-top:6px;}
    .nav-mobile-cta .btn{width:100%;}
  }

  @media(max-width:480px){
    .logo img{height:46px;}
    .nav{padding:8px 16px;}
  }

  /* ---------- Hero ---------- */
  .hero{padding:70px 0 40px; overflow:hidden;}
  .hero .wrap{display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center;}
  .hero h1{font-size:clamp(2.1rem, 4vw, 3.15rem);}
  .hero p.lead{font-size:1.1rem; color:var(--ink-soft); max-width:48ch;}
  .hero-ctas{display:flex; gap:14px; align-items:center; margin:26px 0 30px; flex-wrap:wrap;}
  .hero-ctas .link-more{font-weight:800; text-decoration:none; border-bottom:2px solid var(--pink); padding-bottom:2px;}
  .trust-row{display:flex; gap:12px; flex-wrap:wrap;}
  .trust-badge{
    font-family:'Nunito'; font-weight:800; font-size:.82rem;
    background:#fff; border:1.5px solid var(--line); padding:9px 16px;
    border-radius:100px; display:inline-flex; align-items:center; gap:8px;
  }
  .trust-badge .dot{width:8px; height:8px; border-radius:50%; display:inline-block;}

  .hero-video{position:relative; height:420px; border-radius:var(--radius); overflow:hidden; box-shadow:0 20px 40px rgba(24,39,70,.15);}
  .hero-video video{width:100%; height:100%; object-fit:cover; display:block; background:#000;}

  @media(max-width:900px){
    .hero .wrap{grid-template-columns:1fr; text-align:left;}
    .hero-video{height:280px; margin-top:10px;}
  }

  /* ---------- Divider blocks strip ---------- */
  .strip{display:flex; gap:10px; justify-content:center; padding:6px 0 0;}
  .strip span{width:14px; height:14px; border-radius:5px;}
  .strip span:nth-child(4n+1){background:var(--pink);}
  .strip span:nth-child(4n+2){background:var(--orange);}
  .strip span:nth-child(4n+3){background:var(--green);}
  .strip span:nth-child(4n+4){background:var(--blue);}

  /* ---------- Programs ---------- */
  .programs-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:34px;}
  #sensory, #preschool, #literacy, #beyond{scroll-margin-top:88px;}
  .program-card{
    border-radius:0; padding:32px 34px 28px; min-height:280px;
    display:flex; flex-direction:column; justify-content:flex-start; position:relative; overflow:hidden;
  }
  .card-character{position:absolute; right:0; bottom:0; height:92%; max-height:260px; width:auto; z-index:1; pointer-events:none;}
  .program-card h3{font-size:1.5rem; margin-bottom:6px; color:#fff; position:relative; z-index:2; text-shadow:0 1px 6px rgba(0,0,0,.18);}
  .program-card .badge-pill{position:relative; z-index:2; margin-bottom:10px; font-size:.78rem; padding:6px 16px;}
  .program-card .age{color:#fff; opacity:.92; font-weight:700; font-size:.92rem; margin-bottom:14px; position:relative; z-index:2;}
  .program-card p{font-size:.92rem; color:#fff; opacity:.95; margin-bottom:22px; font-weight:600; position:relative; z-index:2; max-width:60%;}
  .program-card a{
    align-self:flex-start; font-weight:700; font-size:.88rem; text-decoration:none;
    color:#fff; border:2px solid rgba(255,255,255,.85); border-radius:100px; padding:10px 24px;
    margin-top:auto; transition:background .15s ease; position:relative; z-index:2;
  }
  .program-card a:hover{background:rgba(255,255,255,.18);}
  @media(max-width:900px){.programs-grid{grid-template-columns:1fr;}}
  @media(max-width:560px){
    .program-card{padding:22px 22px 24px; min-height:300px;}
    .program-card h3{font-size:1.3rem;}
    .program-card p{max-width:62%;}
    .program-card a{margin-top:8px;}
    .card-character{max-height:220px;}
  }

  /* ---------- Sistem Belajar diagram band ---------- */
  .system-band{background:var(--lavender); color:var(--ink); padding:64px 0;}
  .system-band h2{color:var(--ink);}
  .system-band p{color:var(--ink-soft);}

  .system-side-by-side{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center;}
  .journey-illustration-wrap{max-width:100%; margin:0; padding:0;}
  .journey-illustration{display:block; width:100%; height:auto; margin:0 auto;}
  .system-text h2{text-align:left;}
  .system-text p{text-align:left; margin-bottom:0;}
  @media(max-width:900px){
    .system-side-by-side{grid-template-columns:1fr; gap:32px;}
    .system-text h2, .system-text p{text-align:center;}
  }

  /* ---------- Method / feature grid ---------- */
  .method-grid{display:grid; grid-template-columns:1fr; gap:40px; margin-top:44px; max-width:820px;}
  .values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:44px;}
  @media(max-width:700px){
    .values-grid{
      display:flex; gap:16px; overflow-x:auto; padding-bottom:14px;
      scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    }
    .values-grid .method-card{flex:0 0 78vw; scroll-snap-align:start;}
  }
  .method-card{padding:8px;}
  .method-icon{
    width:74px; height:74px; border-radius:18px; display:flex; align-items:center; justify-content:center;
    margin-bottom:20px;
  }
  .method-icon svg{width:34px; height:34px;}
  .method-card:nth-child(1) .method-icon{background:#FFDCEE;}
  .method-card:nth-child(2) .method-icon{background:#FDECC9;}
  .method-card:nth-child(3) .method-icon{background:#E4EEDD;}
  .method-card h3{font-size:clamp(2rem,3.4vw,2.7rem); margin-bottom:12px;}
  .method-card p{color:var(--ink-soft); font-size:1.02rem;}
  @media(max-width:900px){.method-grid{grid-template-columns:1fr;}}

  /* ---------- Testimonials ---------- */
  .testi-scroller{
    display:grid; grid-auto-flow:column; grid-auto-columns:minmax(280px,320px);
    gap:20px; overflow-x:auto; padding:8px 4px 20px; margin-top:30px;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  }
  .testi-card{
    scroll-snap-align:start; background:#fff; border-radius:var(--radius);
    border:1px solid var(--line); padding:24px; display:flex; flex-direction:column; gap:12px;
  }
  .stars{display:flex; gap:3px; color:var(--pink); font-size:.9rem;}
  .testi-quote{font-size:.95rem; color:var(--ink); flex:1;}
  .testi-name{font-family:'Baloo 2'; font-weight:700; font-size:.95rem;}
  .testi-src{font-size:.8rem; color:var(--ink-soft);}

  .testi-grid{
    display:flex; gap:20px; margin-top:24px; overflow-x:auto; padding-bottom:14px;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  }
  .testi-grid .testi-card{align-items:center; text-align:center; flex:0 0 280px; scroll-snap-align:start;}
  .testi-avatar{
    width:52px; height:52px; border-radius:50%; background:var(--pink); color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-family:'Baloo 2'; font-weight:800; font-size:1.05rem; margin-bottom:2px; flex:none;
  }
  @media(max-width:600px){.testi-grid .testi-card{flex-basis:82vw;}}

  /* ---------- Social band ---------- */
  .social-band{background:var(--teal); border-radius:var(--radius); padding:40px 36px; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  @media(max-width:560px){.social-band{padding:26px 22px; text-align:center; justify-content:center;}}
  .social-band h3{color:#fff; font-size:1.4rem; margin-bottom:6px;}
  .social-band p{color:#DCE9FF; margin-bottom:0;}
  .social-btns{display:flex; gap:12px; flex-wrap:wrap;}
  .social-btns .btn{box-shadow:none;}
  .social-btn-ig{background:var(--pink); color:#fff;}
  .social-btn-tt{background:#FFD84D; color:var(--ink);}

  /* ---------- Trial form ---------- */
  .trial{background:var(--lavender);}
  .trial .wrap{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
  @media(max-width:900px){
    .trial .wrap{grid-template-columns:1fr; gap:28px;}
    .form-card{padding:24px 20px;}
  }
  .trial ul{list-style:none; margin:22px 0; padding:0; display:flex; flex-direction:column; gap:12px;}
  .trial li{display:flex; gap:10px; align-items:flex-start; font-weight:700; font-size:.95rem;}
  .trial li svg{width:20px; height:20px; flex:none; fill:var(--teal); margin-top:2px;}
  .form-card{background:#fff; border-radius:var(--radius); padding:32px; border:1px solid var(--line); box-shadow:0 16px 30px rgba(24,39,70,.08);}
  .form-card h3{font-size:1.3rem;}
  .field{margin-bottom:16px;}
  .field label{display:block; font-weight:800; font-size:.85rem; margin-bottom:6px;}
  .field input, .field select{
    width:100%; padding:13px 14px; border-radius:12px; border:1.5px solid var(--line);
    font-family:'Nunito'; font-size:1rem; background:#FBFBFD;
  }
  .field input:focus, .field select:focus{outline:2px solid var(--teal); outline-offset:1px;}
  .form-note{font-size:.78rem; color:var(--ink-soft); margin-top:10px;}
  .form-success{display:none; text-align:center; padding:20px 0;}
  .form-success.show{display:block;}
  .form-success svg{width:52px; height:52px; fill:var(--teal); margin-bottom:12px;}

  /* ---------- Locations ---------- */
  .locate-search{
    max-width:420px; margin:26px 0 24px; position:relative;
  }
  .locate-search input{
    width:100%; padding:13px 16px 13px 44px; border-radius:100px; border:1.5px solid var(--line);
    font-family:'Nunito'; font-size:.95rem; background:#fff;
  }
  .locate-search svg{position:absolute; left:16px; top:50%; transform:translateY(-50%); width:18px; height:18px; fill:var(--ink-soft);}
  .city-grid{display:flex; flex-wrap:wrap; gap:10px;}
  .city-chip{
    padding:9px 16px; border-radius:100px; background:#fff; border:1.5px solid var(--line);
    font-weight:700; font-size:.88rem;
  }
  .city-chip[hidden]{display:none;}
  .locate-note{font-size:.82rem; color:var(--ink-soft); margin-top:16px;}

  /* ---------- Blog ---------- */
  .blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:34px;}
  .blog-card{background:#fff; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line);}
  .blog-thumb{height:150px; display:flex; align-items:center; justify-content:center;}
  .blog-thumb svg{width:44px; height:44px; opacity:.85;}
  .blog-body{padding:20px;}
  .blog-tag{font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--pink-deep);}
  .blog-card h3{font-size:1.05rem; margin:8px 0 10px;}
  .blog-date{font-size:.8rem; color:var(--ink-soft);}
  @media(max-width:900px){.blog-grid{grid-template-columns:1fr;}}

  /* ---------- FAQ ---------- */
  .faq{max-width:820px; margin:34px auto 0;}
  details{
    border:1px solid var(--line); border-radius:16px; padding:18px 22px; margin-bottom:12px; background:#fff;
  }
  @media(max-width:560px){
    details{padding:14px 16px;}
    summary{font-size:.94rem;}
  }
  summary{
    font-family:'Baloo 2'; font-weight:700; font-size:1.02rem; cursor:pointer; list-style:none;
    display:flex; justify-content:space-between; align-items:center;
  }
  summary::-webkit-details-marker{display:none;}
  summary::after{content:"+"; font-size:1.4rem; color:var(--pink); margin-left:12px;}
  details[open] summary::after{content:"–";}
  details p{margin:14px 0 0; color:var(--ink-soft);}

  /* ---------- CTA band ---------- */
  .cta-band{background:var(--lavender); text-align:center; padding:64px 0 32px;}
  .cta-band + .trial{padding-top:24px;}
  .cta-band h2{font-size:clamp(1.5rem,2.8vw,2.1rem); max-width:26ch; margin-inline:auto;}
  .cta-band p{color:var(--ink-soft); max-width:52ch; margin-inline:auto;}

  /* ---------- Footer ---------- */
  footer{background:var(--ink); color:#C7CEDD; padding:64px 0 26px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.1);}
  footer .logo{color:#fff;}
  footer h4{color:#fff; font-family:'Nunito'; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:16px;}
  footer ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
  footer a{text-decoration:none; color:#C7CEDD; font-size:.92rem;}
  footer a:hover{color:var(--pink);}
  .foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:22px; font-size:.82rem;}
  .social-row{display:flex; gap:12px;}
  .social-row a{width:34px; height:34px; border-radius:100px; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center;}
  .social-row svg{width:16px; height:16px; fill:#fff;}
  @media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){
    .footer-grid{grid-template-columns:1fr; gap:26px;}
    footer{padding:48px 0 20px;}
    .foot-bottom{flex-direction:column; align-items:flex-start; gap:8px;}
  }

  [data-reveal]{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
  [data-reveal].in{opacity:1; transform:none;}
  @media(prefers-reduced-motion: reduce){[data-reveal]{opacity:1; transform:none; transition:none;}}

  :focus-visible{outline:3px solid var(--teal); outline-offset:2px;}

  /* ===== Inner page additions ===== */
  .breadcrumb{display:none;}
  .breadcrumb a{color:var(--blue); text-decoration:none;}
  .breadcrumb a:hover{text-decoration:underline;}

  .page-hero{padding:56px 0 60px;}
  .page-hero .wrap{display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center;}
  .page-hero-photo{border-radius:var(--radius); overflow:hidden; height:340px;}
  .page-hero-photo img, .page-hero-photo video{width:100%; height:100%; object-fit:cover; display:block; background:#000;}
  @media(max-width:900px){
    .page-hero{padding:40px 0 44px;}
    .page-hero .wrap{grid-template-columns:1fr; gap:26px;}
    .page-hero-photo{height:230px; order:-1;}
  }
  @media(max-width:560px){
    .advantage-wrap{padding:24px 20px;}
    .gallery-grid{gap:10px;}
  }
  .tier-tag{
    display:inline-flex; align-items:center; gap:8px; font-family:'Baloo 2'; font-weight:800;
    font-size:.82rem; color:#fff; padding:8px 18px; border-radius:100px; margin-bottom:16px;
  }
  .page-hero h1{font-size:clamp(2rem,3.6vw,2.8rem); margin-bottom:.3em;}
  .page-hero .age-line{font-weight:800; color:var(--ink-soft); margin-bottom:16px;}
  .page-hero .tagline-big{font-family:'Baloo 2'; font-weight:700; font-size:1.15rem; margin-bottom:14px;}

  .advantage-banner{
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    padding:70px 60px; color:#fff; position:relative; overflow:hidden; min-height:420px;
  }
  .advantage-banner h2{color:#fff; margin-bottom:0; position:relative; z-index:2; font-size:clamp(2rem,3.4vw,2.7rem);}
  .advantage-character{position:absolute; right:60px; bottom:0; width:auto; height:100%; max-height:340px; opacity:.95; pointer-events:none; z-index:1;}
  .advantage-wrap{padding:40px;}
  .detail-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  .detail-card{
    background:#fff; border:1px solid #DADFE8; border-radius:6px; padding:22px 20px;
    display:flex; gap:16px; align-items:flex-start;
  }
  .detail-card .num{font-family:'Baloo 2'; font-weight:800; font-size:2.1rem; line-height:1; flex:none;}
  .detail-card h3{font-size:.98rem; margin-bottom:6px;}
  .detail-card p{font-size:.85rem; margin-bottom:0;}
  @media(max-width:900px){
    .detail-grid{grid-template-columns:1fr;}
    .advantage-banner{
      flex-direction:column; align-items:flex-start; text-align:left;
      min-height:300px; justify-content:flex-start; padding:40px 28px 26px;
    }
    .advantage-character{width:auto; max-height:260px; right:-6px; bottom:-4px;}
  }

  .cross-links{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:20px;}
  .cross-link-card{
    display:block; text-decoration:none; background:#fff; border:1px solid var(--line);
    border-radius:16px; padding:18px; text-align:center; font-family:'Baloo 2'; font-weight:700;
    color:var(--ink); transition:transform .15s ease;
  }
  .cross-link-card:hover{transform:translateY(-3px);}
  .cross-link-card.active{border-color:var(--blue); box-shadow:0 0 0 2px var(--blue) inset;}
  @media(max-width:900px){.cross-links{grid-template-columns:1fr 1fr;}}

  .simple-hero{background:var(--cream-deep); padding:56px 0; text-align:center;}
  .kegiatan-hero{
    background:var(--blue);
    padding:120px 0 96px; text-align:center; color:#fff;
  }
  .kegiatan-hero h1{color:#fff; font-size:clamp(2.4rem,4.6vw,3.5rem); text-shadow:0 2px 10px rgba(0,0,0,.12);}
  .kegiatan-hero p{color:rgba(255,255,255,.95); font-size:1.12rem;}
  @media(max-width:700px){.kegiatan-hero{padding:80px 0 64px;}}
  .simple-hero h1{font-size:clamp(1.9rem,3.4vw,2.6rem); margin-bottom:.3em;}
  .simple-hero p{color:var(--ink-soft); max-width:56ch; margin:0 auto;}

  .content-narrow{max-width:760px; margin:0 auto;}
  .content-narrow h2{margin-top:1.6em;}
  .content-narrow p{color:var(--ink-soft);}

  /* ===== Program detail page additions ===== */
  .gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:20px;}
  .gallery-grid img, .gallery-grid video{width:100%; height:150px; object-fit:cover; border-radius:16px; display:block; background:#000;}
  @media(max-width:900px){.gallery-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:480px){.gallery-grid{grid-template-columns:1fr;} .gallery-grid img, .gallery-grid video{height:200px;}}

  .subject-pills{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; justify-content:center;}
  .subject-pill{
    font-family:'Baloo 2'; font-weight:700; font-size:.95rem; color:#fff;
    padding:14px 28px; border-radius:100px;
  }

  .output-section{padding-top:0}
  .output-banner{padding:44px 40px 0; color:#fff;}
  .output-banner h2{color:#fff;}
  .output-tabs{display:flex; margin-top:26px;}
  .output-tab{
    flex:1; text-align:center; padding:18px 16px; font-weight:700; font-size:.92rem;
    cursor:pointer; border:none; background:rgba(0,0,0,.16); color:#fff; font-family:'Nunito';
  }
  .output-tab.active{background:#FFFDF6; color:var(--ink);}
  .output-panel-wrap{background:#FFFDF6; padding:36px 40px;}
  .output-panel{display:none; color:var(--ink-soft); font-size:.95rem; line-height:1.7;}
  .output-panel.active{display:block;}
  .output-panel h3{color:var(--ink); font-size:1.05rem; margin-bottom:10px;}
  @media(max-width:700px){.output-tabs{flex-direction:column;} .output-banner, .output-panel-wrap{padding:28px 22px;}}

  .badge-pill{
    display:inline-block; font-family:'Baloo 2'; font-weight:700; font-size:.85rem; color:#fff;
    padding:8px 18px; border-radius:100px; margin-bottom:14px;
  }

  .coming-soon{min-height:50vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:100px 0;}
  .coming-soon-badge{
    display:inline-block; font-family:'Baloo 2'; font-weight:800; font-size:.85rem; letter-spacing:.08em;
    color:#fff; background:var(--pink); padding:10px 24px; border-radius:100px; margin-bottom:20px;
  }

  /* ---------- Reel embeds ---------- */
  .reel-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:20px; margin-top:32px;}
  .reel-embed{display:flex; justify-content:center; overflow:hidden; border-radius:16px; background:#fff;}
  .reel-embed iframe{max-width:100% !important;}
  .reel-scroll{
    display:flex; gap:20px; margin-top:32px; overflow-x:auto; padding-bottom:14px;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  }
  .reel-scroll .reel-embed{flex:0 0 300px; scroll-snap-align:start;}
  @media(max-width:700px){
    .reel-grid{
      display:flex; gap:16px; overflow-x:auto; padding-bottom:14px;
      scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    }
    .reel-grid .reel-embed{flex:0 0 82vw; scroll-snap-align:start;}
    .reel-scroll .reel-embed{flex-basis:82vw;}
  }

  .event-tagline{font-weight:800; font-size:1.05rem; margin-bottom:12px;}

  /* ---------- Horizontal photo scroll gallery ---------- */
  .photo-scroll{
    display:flex; gap:16px; margin-top:20px; overflow-x:auto; padding-bottom:14px;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  }
  .photo-scroll img{
    flex:0 0 260px; width:260px; height:340px; object-fit:cover; border-radius:16px;
    scroll-snap-align:start; display:block;
  }
  @media(max-width:700px){.photo-scroll img{flex-basis:72vw; width:72vw; height:300px;}}
