/* AI Kids Lab design system. Shared by every page; keep page-specific
   rules in that page's own <style> block rather than adding them here. */
  :root{
    /* The site is designed light with dark sections. Without this, Android
       Chrome and Samsung Internet apply their own "auto dark theme" and
       repaint the palette. */
    color-scheme: only light;

    --ink:#15171C;
    --ink-2:#1D212A;
    --ink-3:#2A2F3A;
    --paper:#FBFAF7;
    --paper-2:#F2EFE8;
    --paper-dim:#C4C7CE;
    --paper-faint:#868A94;

    --gold:#DFA426;
    --gold-bright:#FFC800;
    --gold-ink:#87620F;
    --gold-wash:#FAF3E2;

    --muted:#5B606A;
    --ink-soft:#5B606A;
    --yellow:var(--gold);
    --yellow-deep:var(--gold-ink);

    --line:rgba(21,23,28,0.12);
    --line-strong:rgba(21,23,28,0.26);
    --line-dark:rgba(255,255,255,0.12);
    --line-dark-strong:rgba(255,255,255,0.22);

    --shadow:0 1px 2px rgba(21,23,28,0.04), 0 10px 28px -16px rgba(21,23,28,0.22);
    --shadow-lift:0 2px 4px rgba(21,23,28,0.05), 0 22px 46px -22px rgba(21,23,28,0.32);

    --ease:cubic-bezier(.22,.61,.36,1);
    --r:2px;

    --serif:'Newsreader','Iowan Old Style',Georgia,'Times New Roman',serif;
    --sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
    --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
  body{
    font-family:var(--sans);
    color:var(--ink);
    background:var(--paper);
    line-height:1.62;
    font-size:17px;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }
  h1,h2,h3,.display{
    font-family:var(--serif);
    font-weight:500;
    line-height:1.14;
    letter-spacing:-0.012em;
    text-wrap:balance;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  :focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
  @media (max-width:520px){ .wrap{padding:0 20px;} }
  section{padding:120px 0; scroll-margin-top:84px;}
  @media (max-width:900px){ section{padding:88px 0;} }
  @media (max-width:560px){ section{padding:68px 0;} }

  /* ---------- MOTION ---------- */
  .has-js [data-reveal]{opacity:0; transform:translateY(16px);}
  .has-js [data-reveal].is-in{
    opacity:1; transform:none;
    transition:opacity .75s var(--ease), transform .75s var(--ease);
    transition-delay:var(--d,0ms);
  }
  [data-reveal]:nth-child(1){--d:0ms;}
  [data-reveal]:nth-child(2){--d:70ms;}
  [data-reveal]:nth-child(3){--d:140ms;}
  [data-reveal]:nth-child(4){--d:210ms;}
  [data-reveal]:nth-child(5){--d:280ms;}
  [data-reveal]:nth-child(6){--d:350ms;}
  [data-reveal]:nth-child(n+7){--d:400ms;}

  /* ---------- SHARED ---------- */
  .eyebrow{
    font-family:var(--mono); font-size:0.71rem; font-weight:500;
    text-transform:uppercase; letter-spacing:0.15em; color:var(--gold-ink);
    display:flex; align-items:center; gap:14px; margin-bottom:20px;
  }
  .eyebrow::after{content:""; height:1px; width:56px; background:var(--line-strong); flex-shrink:0;}
  .eyebrow.on-dark{color:var(--gold);}
  .eyebrow.on-dark::after{background:var(--line-dark-strong);}

  .sec-head{max-width:60ch; margin-bottom:56px;}
  .sec-head h2{font-size:clamp(1.95rem,3.7vw,2.85rem); font-weight:400;}
  .sec-head p{margin-top:18px; color:var(--muted); font-size:1.06rem; max-width:58ch;}

  /* ---------- NAV ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:var(--ink);
    border-bottom:1px solid rgba(223,164,38,0.30);
    transition:box-shadow .4s var(--ease);
  }
  header.scrolled{box-shadow:0 12px 30px -18px rgba(0,0,0,0.85);}
  nav.wrap{display:flex; align-items:center; justify-content:space-between; height:78px; transition:height .4s var(--ease);}
  header.scrolled nav.wrap{height:66px;}
  .logo{
    color:var(--paper); font-family:var(--sans); font-weight:600;
    font-size:0.84rem; text-transform:uppercase; letter-spacing:0.17em;
    display:flex; align-items:center; gap:12px;
  }
  a.logo{cursor:pointer; transition:opacity .3s var(--ease);}
  a.logo:hover{opacity:0.75;}
  .logo-mark{width:28px; height:28px; flex-shrink:0; display:block;}
  .logo-mark rect:first-child{fill:none; stroke:var(--gold-bright); stroke-width:10;}
  .logo-mark rect:nth-child(2){fill:var(--gold-bright);}
  .logo-mark rect:last-child{fill:var(--ink);}
  .navlinks{display:flex; gap:34px; align-items:center;}
  .navlinks a:not(.nav-cta){
    color:var(--paper-dim); font-size:0.9rem; font-weight:400;
    position:relative; padding-bottom:4px; transition:color .3s var(--ease);
  }
  .navlinks a:not(.nav-cta)::after{
    content:""; position:absolute; left:0; right:100%; bottom:0; height:1px;
    background:var(--gold); transition:right .4s var(--ease);
  }
  .navlinks a:not(.nav-cta):hover{color:var(--paper);}
  .navlinks a:not(.nav-cta):hover::after{right:0;}
  .nav-cta{
    background:var(--gold); color:#1A1305; padding:11px 22px; border-radius:var(--r);
    font-weight:600; font-size:0.86rem; border:1px solid var(--gold);
    transition:background .3s var(--ease), color .3s var(--ease);
  }
  .navlinks a.nav-cta{color:#1A1305;}
  .nav-cta:hover, .navlinks a.nav-cta:hover{background:transparent; color:var(--gold);}
  .nav-cta .short{display:none;}
  @media (max-width:1040px){ .navlinks a:not(.nav-cta){display:none;} }
  /* The free gamified lesson stays in the header at every width; the
     other text links collapse below 1040px. */
  .navlinks a.nav-play{color:var(--gold); display:inline-flex; align-items:center; gap:8px;}
  .navlinks a.nav-play:hover{color:var(--gold-bright);}
  .navlinks a.nav-play[aria-current="page"]::after{right:0;}
  .nav-play .short{display:none;}
  /* Equal specificity with the rule above, so restate the hide for the bar. */
  @media (max-width:1040px){ .navlinks a.nav-play{display:none;} }
  .free-tag{font-family:var(--mono); font-size:0.6rem; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; background:var(--gold); color:var(--ink); padding:2px 6px; border-radius:var(--r); line-height:1.4;}
  /* Below 1040px the free lesson lives in the menu (first item) and in each page's hero, not in the bar. */
  @media (max-width:1040px){ .navlinks{gap:18px;} }
  @media (max-width:560px){
    .navlinks{gap:12px;}
    .nav-play .full, .nav-play .free-tag{display:none;}
    .nav-play .short{display:inline;}
    .navlinks a.nav-play{font-size:0.86rem; font-weight:600; padding-bottom:0;}
    .navlinks a.nav-play::after{display:none;}
    /* On phones WhatsApp moves into the menu; the floating button stays. */
    .navlinks a.nav-cta{display:none;}
  }

  /* ---------- MOBILE MENU ----------
     Built by site.js from the header's own links, so every page gets it
     without its markup changing. Shown below 1040px, where the inline
     text links are hidden. */
  .nav-toggle{
    display:none; width:42px; height:42px; flex-shrink:0; cursor:pointer;
    background:none; border:1px solid var(--line-dark-strong); border-radius:var(--r);
    flex-direction:column; align-items:center; justify-content:center; gap:5px;
  }
  .nav-toggle span{display:block; width:18px; height:2px; background:var(--paper); transition:transform .3s var(--ease), opacity .2s;}
  .nav-toggle:hover{border-color:var(--gold);}
  header.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  header.menu-open .nav-toggle span:nth-child(2){opacity:0;}
  header.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mobile-menu{background:var(--ink); border-top:1px solid var(--line-dark); max-height:calc(100vh - 66px); overflow-y:auto;}
  .mobile-menu .wrap{display:flex; flex-direction:column; padding-top:6px; padding-bottom:22px;}
  .mobile-menu a{color:var(--paper-dim); font-size:1.02rem; padding:15px 0; border-bottom:1px solid var(--line-dark); transition:color .2s;}
  .mobile-menu a:hover, .mobile-menu a[aria-current="page"]{color:var(--paper);}
  .mobile-menu a.nav-play{color:var(--gold); display:flex; align-items:center; gap:10px;}
  .mobile-menu .nav-play .full, .mobile-menu .nav-play .free-tag{display:inline;}
  .mobile-menu .nav-play .short{display:none;}
  .mobile-menu a.menu-cta{
    margin-top:20px; border:1px solid var(--gold); background:var(--gold); color:#1A1305;
    text-align:center; font-weight:600; font-size:0.95rem; border-radius:var(--r); padding:14px 18px;
  }
  @media (max-width:1040px){ .nav-toggle{display:inline-flex;} }
  @media (min-width:1041px){ .mobile-menu{display:none !important;} }
  @media (max-width:560px){
    .nav-cta .full{display:none;}
    .nav-cta .short{display:inline;}
    .nav-cta{padding:10px 16px; font-size:0.8rem;}
    .logo{font-size:0.74rem; gap:9px; letter-spacing:0.14em;}
    .logo-mark{width:24px; height:24px;}
    nav.wrap{height:66px;}
  }

  /* ---------- HERO ---------- */
  .hero{
    background:var(--ink); color:var(--paper);
    padding:104px 0 96px; position:relative; overflow:hidden;
    scroll-margin-top:0;
  }
  .hero::before{
    content:""; position:absolute; inset:0; pointer-events:none;
    background-image:
      linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(120% 90% at 70% 15%, #000 0%, transparent 72%);
    -webkit-mask-image:radial-gradient(120% 90% at 70% 15%, #000 0%, transparent 72%);
  }
  .hero::after{
    content:""; position:absolute; pointer-events:none;
    width:760px; height:760px; right:-180px; top:-280px; border-radius:50%;
    background:radial-gradient(circle, rgba(223,164,38,0.16) 0%, transparent 62%);
  }
  .hero-grid{
    display:grid; grid-template-columns:1.1fr 0.9fr; gap:64px; align-items:center;
    position:relative; z-index:2;
  }
  @media (max-width:940px){ .hero-grid{grid-template-columns:1fr; gap:52px;} }
  .seats-tag{
    display:inline-flex; align-items:center; gap:10px;
    border:1px solid var(--line-dark-strong); border-radius:100px;
    color:var(--paper-dim); font-family:var(--mono); font-weight:400;
    font-size:0.7rem; text-transform:uppercase; letter-spacing:0.12em;
    padding:7px 16px; margin-bottom:16px;
  }
  .seats-tag .pulse{width:6px; height:6px; border-radius:50%; background:var(--gold); animation:pulse 2.4s var(--ease) infinite;}
  @media (max-width:560px){
    /* Keep the availability pill on one line rather than letting it become a lozenge */
    .seats-tag{font-size:0.6rem; letter-spacing:0.08em; padding:6px 13px; gap:8px;}
  }
  @keyframes pulse{0%,100%{opacity:1; transform:scale(1);} 50%{opacity:0.35; transform:scale(0.8);}}
  @media (prefers-reduced-motion: reduce){ .seats-tag .pulse{animation:none;} }
  .city-tag{
    display:flex; align-items:center; gap:9px; margin-bottom:26px;
    color:var(--paper-faint); font-family:var(--mono); font-size:0.7rem;
    text-transform:uppercase; letter-spacing:0.12em;
  }
  .city-tag::before{content:"\f3c5"; font-family:"Font Awesome 6 Free"; font-weight:900; color:var(--gold); font-size:0.85em;}
  .hero h1{
    font-size:clamp(2.45rem, 5.1vw, 4.05rem);
    font-weight:400; line-height:1.05; letter-spacing:-0.022em;
    max-width:16ch;
  }
  .hero h1 em{font-style:italic; color:var(--gold);}
  .hero p.lede{margin-top:26px; font-size:1.1rem; color:var(--paper-dim); max-width:52ch; line-height:1.66;}
  .hero-ctas{display:flex; flex-wrap:wrap; gap:14px; margin-top:38px;}
  .btn-primary{
    background:var(--gold); color:#1A1305; font-weight:600;
    padding:16px 30px; font-size:0.97rem; border:1px solid var(--gold);
    border-radius:var(--r); display:inline-block;
    transition:background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .btn-primary:hover{
    background:var(--gold-bright); border-color:var(--gold-bright);
    transform:translateY(-2px); box-shadow:0 16px 32px -18px rgba(223,164,38,0.9);
  }
  .btn-primary.btn-wa{display:inline-flex; align-items:center; gap:11px;}
  .btn-primary.btn-wa svg{width:18px; height:18px; fill:currentColor; flex-shrink:0;}
  .btn-secondary{
    background:transparent; color:var(--paper); font-weight:500;
    padding:16px 30px; font-size:0.97rem; border:1px solid var(--line-dark-strong);
    border-radius:var(--r); display:inline-block;
    transition:border-color .3s var(--ease), color .3s var(--ease), background .3s var(--ease);
  }
  .btn-secondary:hover{border-color:var(--gold); color:var(--gold); background:rgba(223,164,38,0.06);}
  .hero-fact-strip{
    display:grid; grid-template-columns:repeat(4,1fr); gap:0;
    margin-top:52px; border-top:1px solid var(--line-dark);
  }
  @media (max-width:640px){ .hero-fact-strip{grid-template-columns:1fr 1fr;} }
  .hero-fact{
    padding:22px 18px 0 0;
    font-family:var(--mono); font-size:0.64rem; text-transform:uppercase;
    letter-spacing:0.12em; color:var(--paper-faint); min-width:0;
  }
  @media (max-width:640px){ .hero-fact{padding-bottom:14px;} }
  .hero-fact b{
    display:block; color:var(--paper); font-family:var(--serif); font-weight:500;
    font-size:1.12rem; letter-spacing:0; text-transform:none; margin-top:9px;
  }

  .photo-stack{position:relative; height:470px; display:block;}
  @media (max-width:940px){ .photo-stack{height:380px;} }
  @media (max-width:520px){ .photo-stack{height:300px;} }
  .ph{
    position:absolute; overflow:hidden; border-radius:var(--r);
    border:1px solid var(--line-dark-strong);
    box-shadow:0 30px 60px -34px rgba(0,0,0,0.95);
  }
  .ph img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.2s var(--ease);}
  .ph:hover img{transform:scale(1.04);}
  .ph1{width:100%; height:256px; top:0; left:0;}
  .ph2{width:48.5%; height:186px; bottom:0; left:0;}
  .ph3{width:48.5%; height:186px; bottom:0; right:0;}
  @media (max-width:940px){ .ph1{height:212px;} .ph2, .ph3{height:150px;} }
  @media (max-width:520px){ .ph1{height:168px;} .ph2, .ph3{height:116px;} }

  /* ---------- TRUST ---------- */
  .trust{background:var(--paper); padding:64px 0; border-bottom:1px solid var(--line);}
  .trust p.label{font-size:1rem; color:var(--muted); margin-bottom:30px; max-width:62ch;}
  .wordmarks{display:flex; flex-wrap:wrap; align-items:center; row-gap:14px;}
  .wordmark{
    font-family:var(--serif); font-size:1.28rem; font-weight:500; color:var(--ink);
    padding:2px 24px; border-left:1px solid var(--line); line-height:1.2;
  }
  .wordmark:first-child{padding-left:0; border-left:0;}
  .wordmark.small{font-size:1.04rem; color:var(--muted); font-weight:400;}
  @media (max-width:520px){ .wordmark{padding:2px 14px; font-size:1.1rem;} .wordmark.small{font-size:0.96rem;} }

  /* ---------- WHY: PRESSURE CARDS ---------- */
  .pressure-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  @media (max-width:940px){.pressure-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.pressure-grid{grid-template-columns:1fr;}}
  .pressure-card{
    border:1px solid var(--line); border-radius:var(--r); background:#fff; padding:30px 26px;
    transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  }
  .pressure-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-lift); border-color:var(--line-strong);}
  .pressure-icon{
    width:42px; height:42px; border-radius:var(--r); background:var(--gold-wash); color:var(--gold-ink);
    display:flex; align-items:center; justify-content:center; font-size:1.05rem; margin-bottom:22px;
  }
  .pressure-card h3{font-size:1.12rem; font-weight:600; margin-bottom:11px;}
  .pressure-card p{font-size:0.95rem; color:var(--muted); line-height:1.6;}

  /* ---------- OPERATING MODEL ---------- */
  .model-band{background:var(--ink); color:var(--paper);}
  .model-band .sec-head h2{color:var(--paper);}
  .model-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
  @media (max-width:940px){.model-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:600px){.model-grid{grid-template-columns:1fr;}}
  .model-card{border-top:1px solid var(--line-dark-strong); padding-top:24px;}
  .model-card .cadence{
    display:block; font-family:var(--mono); font-weight:500; color:var(--gold);
    font-size:0.68rem; text-transform:uppercase; letter-spacing:0.15em; margin-bottom:16px;
  }
  .model-card h3{font-size:1.18rem; font-weight:500; margin-bottom:12px; color:var(--paper);}
  .model-card p{color:var(--paper-dim); font-size:0.94rem;}
  .model-card ul{margin-top:16px; list-style:none;}
  .model-card li{
    color:var(--paper-faint); font-size:0.88rem; padding-left:16px; position:relative; margin-bottom:8px;
  }
  .model-card li::before{content:""; position:absolute; left:0; top:11px; width:8px; height:1px; background:var(--gold);}

  /* ---------- GRADE CURRICULUM ---------- */
  .grade-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  @media (max-width:1000px){.grade-grid{grid-template-columns:1fr;}}
  .grade-card{
    border:1px solid var(--line); border-radius:var(--r); background:#fff;
    display:flex; flex-direction:column; overflow:hidden;
    transition:box-shadow .4s var(--ease), border-color .4s var(--ease);
  }
  .grade-card:hover{box-shadow:var(--shadow-lift); border-color:var(--line-strong);}
  .grade-card .head{background:var(--ink); color:var(--paper); padding:30px 28px; min-height:150px;}
  .grade-card.g8 .head{background:var(--ink-2);}
  .grade-card.g9 .head{background:var(--gold); color:#1A1305;}
  .grade-card .head .grade-no{
    display:block; font-family:var(--mono); font-weight:500; font-size:0.66rem;
    letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); margin-bottom:12px;
  }
  .grade-card.g9 .head .grade-no{color:#7A5A0C;}
  .grade-card .head h3{font-size:1.65rem; font-weight:400;}
  .grade-card .head .stance{font-size:0.9rem; margin-top:10px; color:var(--paper-dim); font-family:var(--sans);}
  .grade-card.g9 .head .stance{color:#53400C;}
  .grade-card .body{padding:28px; display:flex; flex-direction:column; flex:1;}
  .grade-card .body h4{
    font-family:var(--mono); font-size:0.66rem; text-transform:uppercase;
    letter-spacing:0.15em; color:var(--gold-ink); margin-bottom:18px; font-weight:500;
  }
  .grade-card ul{list-style:none;}
  .grade-card ul li{
    display:flex; gap:14px; align-items:flex-start;
    font-size:0.94rem; color:var(--muted); margin-bottom:13px; line-height:1.55;
  }
  .grade-card ul li i{display:none;}
  .grade-card ul li::before{content:""; width:16px; height:1px; background:var(--gold); margin-top:12px; flex-shrink:0;}
  .grade-tools{margin-top:24px; margin-bottom:28px; display:flex; flex-wrap:wrap; gap:6px;}
  .grade-tools span{
    font-family:var(--mono); font-size:0.7rem; letter-spacing:0.02em;
    border:1px solid var(--line); border-radius:var(--r);
    padding:5px 10px; color:var(--muted);
  }
  .capstone-box{
    border:1px solid rgba(223,164,38,0.45); border-radius:var(--r);
    background:var(--gold-wash); padding:22px; margin-top:auto;
  }
  .capstone-box .cap-label{
    display:block; font-family:var(--mono); font-weight:500; font-size:0.64rem;
    text-transform:uppercase; letter-spacing:0.16em; color:var(--gold-ink);
  }
  .capstone-box strong{display:block; font-family:var(--serif); font-weight:500; font-size:1.18rem; margin:12px 0 10px;}
  .capstone-box p{font-size:0.9rem; color:#5A4C2C; line-height:1.58;}

  /* ---------- BOARD FIT & SAFEGUARDING ---------- */
  .board-band{background:var(--paper-2);}
  .safeguard-band{background:var(--paper-2);}
  .board-chips{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:44px;}
  .board-chip{
    border:1px solid var(--line-strong); border-radius:100px; background:transparent;
    padding:10px 22px; font-family:var(--sans); font-weight:500; font-size:0.92rem;
  }
  .board-chip.accent{background:var(--gold-wash); border-color:rgba(223,164,38,0.55); color:var(--gold-ink);}
  .fit-list{display:grid; grid-template-columns:1fr 1fr; gap:26px 44px;}
  @media (max-width:800px){.fit-list{grid-template-columns:1fr; gap:22px;}}
  .fit-list li{display:flex; gap:14px; align-items:flex-start; font-size:0.97rem; color:var(--muted); list-style:none; line-height:1.6;}
  .fit-list li i{color:var(--gold-ink); margin-top:5px; flex-shrink:0; font-size:0.95rem;}
  .fit-list li b{font-family:var(--sans); font-weight:600; color:var(--ink);}

  /* ---------- BUILD-A-THON ---------- */
  .buildathon{background:var(--ink); color:var(--paper);}
  .ba-grid{display:grid; grid-template-columns:0.88fr 1.12fr; gap:60px; align-items:center;}
  @media (max-width:940px){.ba-grid{grid-template-columns:1fr; gap:44px;}}
  .ba-steps{display:grid; gap:0;}
  .ba-step{display:flex; gap:22px; align-items:flex-start; border-top:1px solid var(--line-dark); padding:22px 0;}
  .ba-step .n{
    font-family:var(--mono); font-weight:500; font-size:0.72rem; letter-spacing:0.1em;
    color:var(--gold); flex-shrink:0; padding-top:3px;
  }
  .ba-step h3{font-size:1.1rem; font-weight:500; color:var(--paper); margin-bottom:7px;}
  .ba-step p{color:var(--paper-dim); font-size:0.93rem;}

  /* ---------- PATHWAY ---------- */
  .comp-list{border-top:1px solid var(--line-strong);}
  .comp-item{
    display:grid; grid-template-columns:minmax(220px,0.72fr) 1.28fr; gap:14px 36px;
    padding:26px 0; border-bottom:1px solid var(--line); align-items:baseline;
    transition:background .35s var(--ease);
  }
  @media (max-width:680px){ .comp-item{grid-template-columns:1fr; gap:8px;} }
  .comp-item h3{font-size:1.16rem; font-weight:500;}
  .comp-item .org{
    display:block; font-family:var(--mono); font-weight:400;
    font-size:0.66rem; text-transform:uppercase; letter-spacing:0.13em;
    color:var(--gold-ink); margin-top:8px;
  }
  .comp-item p{color:var(--muted); font-size:0.95rem;}
  .incubate{
    margin-top:60px; border-radius:var(--r); background:var(--gold);
    padding:44px 42px; display:grid; grid-template-columns:1.05fr 0.95fr; gap:44px; align-items:center;
  }
  @media (max-width:860px){ .incubate{grid-template-columns:1fr; padding:32px 26px; gap:32px;} }
  .incubate h3{font-size:clamp(1.4rem,2.8vw,1.95rem); font-weight:400; max-width:20ch; color:#1A1305;}
  .incubate p{margin-top:16px; font-size:1.01rem; color:#3D2E08; max-width:52ch;}
  .incubate-route{display:grid; gap:0;}
  .incubate-step{
    display:flex; gap:16px; align-items:flex-start; font-size:0.95rem; color:#2E2206;
    border-top:1px solid rgba(26,19,5,0.22); padding:16px 0;
  }
  .incubate-step:first-child{border-top:0; padding-top:0;}
  .incubate-step:last-child{padding-bottom:0;}
  .incubate-step i{color:#1A1305; margin-top:5px; flex-shrink:0;}

  /* ---------- OUTCOMES ---------- */
  .outcome-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
  }
  @media (max-width:900px){.outcome-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.outcome-grid{grid-template-columns:1fr;}}
  .outcome{
    padding:34px 30px; background:#fff; border:0;
    transition:background .35s var(--ease);
  }
  .outcome:hover{background:var(--gold-wash);}
  .outcome i{color:var(--gold-ink); font-size:1.1rem; margin-bottom:18px; display:block;}
  .outcome h3{font-size:1.1rem; font-weight:600; margin-bottom:10px;}
  .outcome p{font-size:0.94rem; color:var(--muted);}

  /* ---------- COMPARISON ---------- */
  .compare-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-strong); border:1px solid var(--line-strong); border-radius:var(--r); overflow:hidden;}
  @media (max-width:800px){.compare-grid{grid-template-columns:1fr;}}
  .compare-col{padding:40px 36px;}
  @media (max-width:520px){.compare-col{padding:30px 24px;}}
  .compare-col.without{background:var(--paper-2);}
  .compare-col.with{background:var(--gold-wash);}
  .compare-col h3{font-size:1.22rem; font-weight:500; margin-bottom:26px;}
  .compare-col ul{list-style:none;}
  .compare-col li{display:flex; align-items:flex-start; gap:13px; margin-bottom:18px; font-size:0.96rem; line-height:1.58;}
  .compare-col.without li i{color:#9B9C99; margin-top:5px;}
  .compare-col.with li i{color:var(--gold-ink); margin-top:5px;}
  .compare-col.without li{color:#6A6D73;}
  .compare-col.with li{color:#4A3E22;}

  /* ---------- VISION ---------- */
  .vision{background:var(--gold-wash); border-top:1px solid rgba(223,164,38,0.35); border-bottom:1px solid rgba(223,164,38,0.35);}
  .vision .wrap{max-width:920px;}
  .vision h2{font-size:clamp(2rem,4.2vw,3.05rem); font-weight:400; max-width:19ch; color:#241B06;}
  .vision p{margin-top:28px; font-size:1.1rem; max-width:64ch; color:#4A3E22; line-height:1.68;}
  .roadmap-box{margin-top:40px; border-left:2px solid var(--gold); padding:6px 0 6px 26px; max-width:64ch;}
  .roadmap-box .eyebrow{color:var(--gold-ink);}
  .roadmap-box .eyebrow::after{background:rgba(135,98,15,0.3);}
  .roadmap-box p{margin-top:0; font-size:1rem;}
  .roadmap-box b{font-weight:600; color:#241B06;}

  /* ---------- ROLLOUT STEPS ---------- */
  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:36px;}
  @media (max-width:940px){.steps{grid-template-columns:1fr 1fr;}}
  @media (max-width:600px){.steps{grid-template-columns:1fr; gap:28px;}}
  .step{border-top:1px solid var(--line-strong); padding-top:24px;}
  .step .num{
    display:block; font-family:var(--mono); font-weight:500; color:var(--gold-ink);
    font-size:0.68rem; letter-spacing:0.15em; margin-bottom:16px;
  }
  .step h3{font-size:1.14rem; font-weight:500; margin-bottom:10px;}
  .step p{color:var(--muted); font-size:0.93rem;}

  /* ---------- TEAM ---------- */
  .team-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
  @media (max-width:860px){.team-grid{grid-template-columns:1fr;}}
  .team-card{border:1px solid var(--line); border-radius:var(--r); background:#fff; overflow:hidden;}
  .team-card .head{
    padding:28px 30px; border-bottom:1px solid var(--line);
    display:flex; justify-content:space-between; align-items:baseline; gap:14px; flex-wrap:wrap;
  }
  .team-card .head h3{font-size:1.45rem; font-weight:400;}
  .team-card .head .role{
    font-family:var(--mono); font-size:0.66rem; text-transform:uppercase;
    letter-spacing:0.14em; color:var(--gold-ink);
  }
  .team-card .body{padding:30px;}
  .team-card p{color:var(--muted); font-size:0.96rem;}
  .team-card .tags{margin-top:22px; display:flex; flex-wrap:wrap; gap:6px;}
  .team-card .tags span{
    font-family:var(--mono); font-size:0.68rem; border:1px solid var(--line);
    border-radius:var(--r); padding:5px 10px; color:var(--muted);
  }

  /* ---------- CLOSING CTA ---------- */
  .apply{background:var(--ink); color:var(--paper);}
  .apply-grid{display:grid; grid-template-columns:1.08fr 0.92fr; gap:56px; align-items:start;}
  @media (max-width:900px){.apply-grid{grid-template-columns:1fr; gap:44px;}}
  .apply h2{font-size:clamp(1.9rem,3.6vw,2.6rem); font-weight:400; color:var(--paper);}
  .apply .sub{color:var(--paper-dim); margin-top:18px; max-width:50ch; font-size:1.04rem;}
  .wa-cta{
    display:inline-flex; align-items:center; gap:13px; margin-top:36px;
    background:#25D366; color:#062E16; border:1px solid #25D366; border-radius:var(--r);
    font-weight:600; font-size:1.02rem; padding:17px 32px;
    transition:background .3s var(--ease), color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .wa-cta svg{width:21px; height:21px; fill:currentColor; flex-shrink:0;}
  .wa-cta:hover{background:#2EE175; border-color:#2EE175; transform:translateY(-2px); box-shadow:0 18px 34px -18px rgba(37,211,102,0.85);}
  .wa-number{color:var(--paper-faint); font-family:var(--mono); font-size:0.72rem; letter-spacing:0.08em; margin-top:18px;}
  .contact-alt{color:var(--paper-dim); font-size:0.94rem; margin-top:30px; max-width:48ch;}
  .contact-alt a{color:var(--gold); border-bottom:1px solid rgba(223,164,38,0.4); transition:border-color .3s var(--ease);}
  .contact-alt a:hover{border-bottom-color:var(--gold);}
  .side-card{border:1px solid var(--line-dark); border-radius:var(--r); padding:30px; height:fit-content;}
  .side-card h3{font-size:1.18rem; font-weight:500; color:var(--paper);}
  .side-card .side-photo{width:100%; height:170px; object-fit:cover; border-radius:var(--r); margin-bottom:24px;}
  .cover-list{list-style:none; margin-top:20px;}
  .cover-list li{color:var(--paper-dim); font-size:0.93rem; padding-left:20px; margin-bottom:13px; position:relative; line-height:1.55;}
  .cover-list li::before{content:""; position:absolute; left:0; top:11px; width:9px; height:1px; background:var(--gold);}

  /* ---------- FAQ ---------- */
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    display:flex; justify-content:space-between; align-items:center; cursor:pointer; gap:20px;
    font-family:var(--serif); font-weight:500; font-size:1.12rem; padding:24px 0;
    transition:color .3s var(--ease);
  }
  .faq-q:hover{color:var(--gold-ink);}
  .faq-q .icon{
    font-family:var(--sans); font-weight:300; font-size:1.4rem; color:var(--gold-ink);
    transition:transform .35s var(--ease); flex-shrink:0; line-height:1;
  }
  .faq-item.open .faq-q .icon{transform:rotate(135deg);}
  .faq-a{
    max-height:0; overflow:hidden; color:var(--muted); font-size:0.98rem; line-height:1.68;
    transition:max-height .4s var(--ease), opacity .3s var(--ease), padding-bottom .4s var(--ease);
    opacity:0; max-width:70ch;
  }
  .faq-item.open .faq-a{max-height:400px; opacity:1; padding-bottom:26px;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--ink); color:var(--paper-faint); padding:88px 0 36px; font-size:0.92rem;}
  .footer-top{display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:56px; padding-bottom:56px; border-bottom:1px solid var(--line-dark);}
  @media (max-width:900px){.footer-top{grid-template-columns:1fr 1fr; gap:40px;}}
  @media (max-width:560px){.footer-top{grid-template-columns:1fr;}}
  .footer-brand .logo{margin-bottom:22px;}
  .footer-tagline{color:var(--paper-faint); max-width:40ch; margin-bottom:28px; line-height:1.68;}
  .footer-ctas{display:flex; flex-wrap:wrap; gap:12px;}
  .footer-ctas .btn-primary, .footer-ctas .btn-secondary{padding:12px 22px; font-size:0.87rem;}
  .footer-col h4{
    font-family:var(--mono); color:var(--paper); font-size:0.66rem; font-weight:500;
    text-transform:uppercase; letter-spacing:0.15em; margin-bottom:20px;
  }
  .footer-col a{display:block; color:var(--paper-dim); margin-bottom:12px; font-size:0.9rem; transition:color .3s var(--ease);}
  .footer-col a:hover{color:var(--gold);}
  .footer-loc{color:var(--paper-faint); margin-top:6px; line-height:1.6;}
  .footer-bottom{padding-top:32px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:0.82rem; color:#6A6E78;}

  /* ---------- WHATSAPP FLOAT ---------- */
  .wa-float{
    position:fixed; bottom:26px; right:26px; z-index:60;
    width:54px; height:54px; border-radius:50%;
    background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 28px -8px rgba(37,211,102,0.55), 0 2px 6px rgba(0,0,0,0.2);
    transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  }
  .wa-float svg{width:26px; height:26px; fill:currentColor;}
  .wa-float:hover{transform:translateY(-3px) scale(1.04); box-shadow:0 16px 34px -8px rgba(37,211,102,0.7);}
  @media (max-width:520px){ .wa-float{width:48px; height:48px; bottom:18px; right:18px;} .wa-float svg{width:23px; height:23px;} }

  /* ---------- SHARED MEDIA ---------- */
  .side-by-photo{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}
  @media (max-width:900px){.side-by-photo{grid-template-columns:1fr; gap:40px;}}
  .banner-photo{width:100%; height:300px; object-fit:cover; border-radius:var(--r); margin-top:52px;}
  .fact-photo{width:100%; height:340px; object-fit:cover; border-radius:var(--r); border:1px solid var(--line-dark);}
  .vision-photo{display:block; max-width:520px; width:100%; height:290px; object-fit:cover; margin:48px auto 0; border-radius:var(--r);}
  .team-banner{width:100%; height:240px; object-fit:cover; border-radius:var(--r); margin-bottom:44px;}

  /* ---------- SUB-PAGE HERO ---------- */
  .page-hero{
    background:var(--ink); color:var(--paper); padding:104px 0 92px;
    position:relative; overflow:hidden;
  }
  .page-hero::before{
    content:""; position:absolute; inset:0; pointer-events:none;
    background-image:
      linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(120% 90% at 65% 10%, #000 0%, transparent 72%);
    -webkit-mask-image:radial-gradient(120% 90% at 65% 10%, #000 0%, transparent 72%);
  }
  .page-hero .wrap{position:relative; z-index:2;}
  .page-hero h1{
    font-size:clamp(2.2rem,4.6vw,3.5rem); font-weight:400;
    letter-spacing:-0.02em; line-height:1.07; max-width:20ch; color:var(--paper);
  }
  .page-hero h1 em{font-style:italic; color:var(--gold);}
  .page-hero .lede{margin-top:26px; font-size:1.1rem; color:var(--paper-dim); max-width:58ch; line-height:1.66;}

  /* ---------- ABOUT ---------- */
  .about-story{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
  @media (max-width:900px){.about-story{grid-template-columns:1fr; gap:26px;}}
  .about-story p{color:var(--muted); font-size:1.02rem; margin-bottom:20px;}
  .about-story p:last-child{margin-bottom:0;}
  .about-story strong{color:var(--ink); font-weight:600;}
  .principles{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden;}
  @media (max-width:900px){.principles{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.principles{grid-template-columns:1fr;}}
  .principle{padding:34px 30px; background:#fff; transition:background .35s var(--ease);}
  .principle:hover{background:var(--gold-wash);}
  .principle .n{
    display:block; font-family:var(--mono); font-size:0.66rem; font-weight:500;
    letter-spacing:0.16em; color:var(--gold-ink); margin-bottom:16px;
  }
  .principle h3{font-size:1.14rem; font-weight:500; margin-bottom:11px;}
  .principle p{font-size:0.94rem; color:var(--muted);}

  /* ---------- CTA BAND ---------- */
  .cta-band{background:var(--ink); color:var(--paper); text-align:center;}
  .cta-band h2{font-size:clamp(1.8rem,3.4vw,2.5rem); font-weight:400; color:var(--paper); max-width:22ch; margin:0 auto;}
  .cta-band p{color:var(--paper-dim); margin-top:18px; max-width:54ch; margin-left:auto; margin-right:auto;}
  .cta-band .wa-cta{margin-top:34px;}
  .cta-band .wa-number{margin-top:16px;}

  /* ---------- BLOG INDEX ---------- */
  .post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  @media (max-width:980px){.post-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:640px){.post-grid{grid-template-columns:1fr;}}
  .post-card{
    border:1px solid var(--line); border-radius:var(--r); background:#fff;
    display:flex; flex-direction:column; overflow:hidden;
    transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  }
  .post-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-lift); border-color:var(--line-strong);}
  .post-card .thumb{height:168px; overflow:hidden; border-bottom:1px solid var(--line);}
  .post-card .thumb img{width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease);}
  .post-card:hover .thumb img{transform:scale(1.04);}
  .post-card .body{padding:26px; display:flex; flex-direction:column; flex:1;}
  .post-card .cat{
    font-family:var(--mono); font-size:0.64rem; text-transform:uppercase;
    letter-spacing:0.15em; color:var(--gold-ink); margin-bottom:14px;
  }
  .post-card h3{font-size:1.2rem; font-weight:500; margin-bottom:12px; line-height:1.24;}
  .post-card p{color:var(--muted); font-size:0.94rem; flex:1;}
  .post-card .read{
    margin-top:20px; font-size:0.86rem; font-weight:600; color:var(--ink);
    display:inline-flex; align-items:center; gap:8px;
  }
  .post-card .read::after{content:"\2192"; transition:transform .3s var(--ease);}
  .post-card:hover .read::after{transform:translateX(4px);}
  .post-card .read{color:var(--gold-ink);}

  /* ---------- ARTICLE ---------- */
  .article{padding:76px 0 96px;}
  .article .wrap{max-width:760px;}
  .article-meta{
    font-family:var(--mono); font-size:0.66rem; text-transform:uppercase;
    letter-spacing:0.15em; color:var(--gold-ink);
    display:flex; flex-wrap:wrap; gap:8px 16px; margin-bottom:22px;
  }
  .article-meta span::after{content:" \00b7"; color:var(--line-strong);}
  .article-meta span:last-child::after{content:"";}
  .article h1{font-size:clamp(2rem,4.2vw,2.9rem); font-weight:400; letter-spacing:-0.018em; line-height:1.1;}
  .article .standfirst{
    margin-top:22px; font-size:1.16rem; color:var(--muted); line-height:1.6;
    padding-bottom:34px; border-bottom:1px solid var(--line);
  }
  .article-photo{width:100%; height:330px; object-fit:cover; border-radius:var(--r); margin:38px 0 8px;}
  .prose{margin-top:34px;}
  .prose h2{font-size:1.5rem; font-weight:500; margin:44px 0 16px;}
  .prose h3{font-size:1.16rem; font-weight:600; margin:32px 0 12px; font-family:var(--sans);}
  .prose p{margin-bottom:20px; color:#2E323A; font-size:1.04rem; line-height:1.72;}
  .prose ul, .prose ol{margin:0 0 22px 0; padding-left:0; list-style:none;}
  .prose ol{counter-reset:pl;}
  .prose li{
    position:relative; padding-left:26px; margin-bottom:12px;
    color:#2E323A; font-size:1.02rem; line-height:1.65;
  }
  .prose ul li::before{content:""; position:absolute; left:0; top:13px; width:14px; height:1px; background:var(--gold);}
  .prose ol li{counter-increment:pl;}
  .prose ol li::before{
    content:counter(pl) "."; position:absolute; left:0; top:0;
    font-family:var(--mono); font-size:0.82rem; color:var(--gold-ink);
  }
  .prose strong{font-weight:600; color:var(--ink);}
  .prose a{color:var(--gold-ink); border-bottom:1px solid rgba(135,98,15,0.35);}
  .prose a:hover{border-bottom-color:var(--gold-ink);}
  .pull{
    margin:38px 0; padding:4px 0 4px 26px; border-left:2px solid var(--gold);
    font-family:var(--serif); font-size:1.32rem; font-weight:400; line-height:1.4; color:var(--ink);
  }
  .callout{
    margin:36px 0; padding:26px 28px; background:var(--gold-wash);
    border:1px solid rgba(223,164,38,0.45); border-radius:var(--r);
  }
  .callout .k{
    display:block; font-family:var(--mono); font-size:0.64rem; text-transform:uppercase;
    letter-spacing:0.16em; color:var(--gold-ink); margin-bottom:12px;
  }
  .callout p{margin:0; font-size:0.99rem; color:#4A3E22;}
  .article-end{
    margin-top:56px; padding-top:34px; border-top:1px solid var(--line);
    display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between;
  }
  .article-end p{color:var(--muted); font-size:0.97rem; max-width:44ch;}
  .btn-gold{
    background:var(--gold); color:#1A1305; font-weight:600; padding:14px 26px;
    font-size:0.93rem; border:1px solid var(--gold); border-radius:var(--r);
    display:inline-flex; align-items:center; gap:10px; flex-shrink:0;
    transition:background .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .btn-gold svg{width:17px; height:17px; fill:currentColor;}
  .btn-gold:hover{background:var(--gold-bright); transform:translateY(-2px); box-shadow:0 14px 28px -16px rgba(223,164,38,0.9);}
  .more-reading{background:var(--paper-2);}
  .more-reading .sec-head{margin-bottom:40px;}

  /* ---------- COMPARISON TABLE ---------- */
  .cmp-wrap{overflow-x:auto; border:1px solid var(--line-strong); border-radius:var(--r);}
  table.cmp{border-collapse:collapse; width:100%; min-width:680px; background:#fff;}
  table.cmp th, table.cmp td{
    padding:18px 20px; text-align:left; vertical-align:top;
    border-bottom:1px solid var(--line); font-size:0.95rem;
  }
  table.cmp thead th{
    background:var(--ink); color:var(--paper); font-family:var(--mono);
    font-size:0.66rem; text-transform:uppercase; letter-spacing:0.13em; font-weight:500;
    border-bottom:0;
  }
  table.cmp thead th.ours{background:var(--gold); color:#1A1305;}
  table.cmp tbody th{
    font-family:var(--sans); font-weight:600; color:var(--ink);
    width:26%; background:var(--paper-2);
  }
  table.cmp td{color:var(--muted);}
  table.cmp td.ours{background:var(--gold-wash); color:#4A3E22;}
  table.cmp tr:last-child th, table.cmp tr:last-child td{border-bottom:0;}
  .cmp-note{margin-top:18px; font-size:0.88rem; color:var(--muted); max-width:70ch;}

  /* ---------- OPTION CARDS ---------- */
  .options{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  @media (max-width:980px){.options{grid-template-columns:1fr 1fr;}}
  @media (max-width:600px){.options{grid-template-columns:1fr;}}
  .option{border:1px solid var(--line); border-radius:var(--r); background:#fff; padding:30px 26px;}
  .option.ours{border-color:rgba(223,164,38,0.6); background:var(--gold-wash);}
  .option .k{
    display:block; font-family:var(--mono); font-size:0.64rem; text-transform:uppercase;
    letter-spacing:0.15em; color:var(--gold-ink); margin-bottom:14px;
  }
  .option h3{font-size:1.14rem; font-weight:500; margin-bottom:12px;}
  .option p{font-size:0.94rem; color:var(--muted); margin-bottom:14px;}
  .option.ours p{color:#4A3E22;}
  .option ul{list-style:none;}
  .option li{position:relative; padding-left:20px; font-size:0.9rem; color:var(--muted); margin-bottom:9px; line-height:1.55;}
  .option li::before{content:""; position:absolute; left:0; top:11px; width:10px; height:1px; background:var(--gold);}
  .option.ours li{color:#4A3E22;}

  /* ---------- INNOVATOR CASES ---------- */
  .cases{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  @media (max-width:980px){.cases{grid-template-columns:1fr 1fr;}}
  @media (max-width:620px){.cases{grid-template-columns:1fr;}}
  .case{
    border:1px solid var(--line); border-radius:var(--r); background:#fff;
    padding:30px 26px; display:flex; flex-direction:column;
    transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  }
  .case:hover{transform:translateY(-3px); box-shadow:var(--shadow-lift); border-color:var(--line-strong);}
  .case .age{
    font-family:var(--mono); font-size:0.64rem; text-transform:uppercase; letter-spacing:0.15em;
    color:var(--gold-ink); margin-bottom:14px; display:block;
  }
  .case h3{font-size:1.24rem; font-weight:500; margin-bottom:4px;}
  .case .where{font-size:0.86rem; color:var(--muted); margin-bottom:16px;}
  .case p{font-size:0.95rem; color:var(--muted); line-height:1.6; margin-bottom:16px;}
  .case .outcome{
    margin-top:auto; padding-top:16px; border-top:1px solid var(--line);
    font-size:0.88rem; color:var(--ink); font-weight:500;
  }
  .case .src{margin-top:12px; font-size:0.78rem;}
  .case .src a{color:var(--muted); border-bottom:1px solid var(--line-strong);}
  .case .src a:hover{color:var(--gold-ink);}

  /* ---------- ADVISORY / TEAM VARIANT ---------- */
  .team-grid.three{grid-template-columns:repeat(3,1fr);}
  @media (max-width:1000px){.team-grid.three{grid-template-columns:1fr;}}
  .team-card.advisor .head{background:var(--gold-wash);}
  .team-card.advisor .head .role{color:var(--gold-ink);}
  .cred-list{list-style:none; margin-top:18px;}
  .cred-list li{
    position:relative; padding-left:20px; font-size:0.92rem;
    color:var(--muted); margin-bottom:10px; line-height:1.55;
  }
  .cred-list li::before{content:""; position:absolute; left:0; top:11px; width:10px; height:1px; background:var(--gold);}

  /* ---------- AMPLIFY STEPS ---------- */
  .amplify{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden;}
  @media (max-width:980px){.amplify{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.amplify{grid-template-columns:1fr;}}
  .amp{padding:32px 28px; background:#fff;}
  .amp.lead{grid-column:1/-1; background:var(--gold-wash);}
  .amp .n{display:block; font-family:var(--mono); font-size:0.66rem; letter-spacing:0.16em; color:var(--gold-ink); margin-bottom:16px;}
  .amp h3{font-size:1.1rem; font-weight:500; margin-bottom:10px;}
  .amp p{font-size:0.93rem; color:var(--muted);}

  /* ---------- INLINE SECTION CTA ---------- */
  .trust-cta{
    display:flex; flex-direction:column; gap:7px; margin-top:56px;
    border:1px solid var(--line-strong); border-radius:var(--r);
    background:var(--gold-wash); padding:26px 30px; max-width:76ch;
    position:relative; overflow:hidden;
    transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
  }
  .trust-cta::before{
    content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--gold);
  }
  .trust-cta:hover{transform:translateY(-3px); box-shadow:var(--shadow-lift); border-color:var(--gold);}
  .trust-cta-main{
    font-family:var(--serif); font-size:clamp(1.25rem,2.4vw,1.6rem); font-weight:500;
    color:var(--ink); display:flex; align-items:center; gap:14px; line-height:1.2;
  }
  .trust-cta-main::after{
    content:"\2192"; color:var(--gold-ink); font-family:var(--sans);
    transition:transform .35s var(--ease); flex-shrink:0;
  }
  .trust-cta:hover .trust-cta-main::after{transform:translateX(6px);}
  .trust-cta-sub{font-size:0.94rem; color:#5A4C2C; max-width:62ch;}
  @media (max-width:560px){ .trust-cta{padding:22px 20px;} }

  /* ---------- GAMIFIED UI ----------
     Small game motifs (XP, streaks, levels, badges) drawn in the site's own
     palette, so the page reads "learning that feels like play" without
     losing the editorial tone a school expects. */
  .gx-chip{
    display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
    font-family:var(--mono); font-size:0.68rem; font-weight:500; letter-spacing:0.08em; text-transform:uppercase;
    padding:5px 11px; border-radius:100px; border:1px solid rgba(223,164,38,0.55);
    background:rgba(223,164,38,0.10); color:var(--gold-ink);
  }
  .gx-chip i{font-size:0.92em; color:var(--gold);}
  .gx-chip.dark{background:rgba(21,23,28,0.92); color:var(--paper); border-color:rgba(223,164,38,0.6);}
  .gx-chip.good{background:#EAF6EE; color:#1F6B3A; border-color:#9ED3B0;} .gx-chip.good i{color:#1F8A4A;}
  .gx-bar{height:8px; border-radius:100px; background:rgba(255,255,255,0.12); overflow:hidden;}
  .gx-bar > span{display:block; height:100%; width:var(--w,60%); border-radius:inherit; background:linear-gradient(90deg,var(--gold),var(--gold-bright));}
  .has-js .gx-bar.anim > span{animation:gxFill 2.4s var(--ease) .6s both;}
  @keyframes gxFill{from{width:8%;} to{width:var(--w,60%);}}

  /* Hero: a live-looking lesson card in front of a classroom photo */
  .play-stage{position:relative; height:520px;}
  .play-stage .stage-photo{position:absolute; top:0; left:0; width:70%; height:300px; border-radius:var(--r); overflow:hidden; border:1px solid var(--line-dark-strong); box-shadow:0 30px 60px -34px rgba(0,0,0,0.95);}
  .play-stage .stage-photo img{width:100%; height:100%; object-fit:cover;}
  .game-card{
    position:absolute; right:0; bottom:0; width:80%; max-width:420px;
    background:var(--paper); color:var(--ink); border-radius:14px; padding:18px 18px 16px;
    border:1px solid rgba(223,164,38,0.55);
    box-shadow:0 40px 80px -36px rgba(0,0,0,0.95), 0 0 0 6px rgba(223,164,38,0.10);
  }
  .gc-hud{display:flex; align-items:center; gap:10px; font-family:var(--mono); font-size:0.72rem; color:var(--muted);}
  .gc-hud b{color:var(--ink); font-weight:600;}
  .gc-hud .streak i{color:#E8590C;} .gc-hud .xp i{color:var(--gold);} .gc-hud .hearts{margin-left:auto; color:#D6336C; letter-spacing:2px;}
  .gc-level{display:flex; justify-content:space-between; align-items:baseline; margin:12px 0 6px; font-family:var(--mono); font-size:0.64rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-ink);}
  .game-card .gx-bar{background:var(--paper-2);}
  .gc-q{font-family:var(--serif); font-size:1.12rem; line-height:1.3; margin:14px 0 12px;}
  .gc-opts{display:grid; gap:8px;}
  .gc-opt{display:flex; align-items:center; gap:10px; border:1px solid var(--line-strong); border-radius:10px; padding:9px 12px; font-size:0.9rem; background:#fff;}
  .gc-opt .k{width:22px; height:22px; border-radius:6px; border:1px solid var(--line-strong); display:inline-flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:0.7rem; color:var(--muted); flex:none;}
  .gc-opt.right{border-color:#2F9E5B; background:#EAF6EE;} .gc-opt.right .k{background:#2F9E5B; border-color:#2F9E5B; color:#fff;}
  .gc-feedback{display:flex; align-items:center; gap:8px; margin-top:12px; font-size:0.84rem; color:#1F6B3A; font-weight:500;}
  .gc-feedback .gx-chip{margin-left:auto;}
  .float-chip{position:absolute; z-index:3; box-shadow:0 18px 30px -18px rgba(0,0,0,0.8);}
  .float-chip.f1{left:-18px; top:104px;} .float-chip.f2{right:2%; top:24px;} .float-chip.f3{left:22px; top:-16px;}
  .has-js .float-chip{animation:gxFloat 5s ease-in-out infinite;} .has-js .float-chip.f2{animation-delay:-1.6s;} .has-js .float-chip.f3{animation-delay:-3.2s;}
  @keyframes gxFloat{0%,100%{transform:translateY(0);} 50%{transform:translateY(-7px);}}
  @media (max-width:940px){ .play-stage{height:500px; max-width:560px;} }
  @media (max-width:560px){
    .play-stage{height:auto;}
    .play-stage .stage-photo{position:relative; width:100%; height:180px;}
    .game-card{position:relative; width:auto; max-width:none; margin:-48px 10px 0;}
    .float-chip.f1, .float-chip.f3{display:none;}
    .float-chip.f2{top:12px; right:12px;}
  }

  /* Hero: second call to action, the free lesson */
  .btn-play{
    display:inline-flex; align-items:center; gap:11px; background:var(--paper); color:var(--ink);
    font-weight:600; padding:16px 22px; font-size:0.97rem; border:1px solid var(--paper); border-radius:var(--r);
    transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
  }
  .btn-play i{color:var(--gold-ink);}
  .btn-play:hover{transform:translateY(-2px); background:#fff; box-shadow:0 16px 32px -18px rgba(255,255,255,0.55);}
  .btn-play small{font-family:var(--mono); font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-ink); border-left:1px solid var(--line-strong); padding-left:11px; font-weight:500;}
  .hero-ctas{gap:12px;}
  .hero-ctas .btn-wa{padding-left:24px; padding-right:24px;}
  @media (max-width:560px){ .hero-ctas > a{width:100%; justify-content:center;} .hero{padding:56px 0 72px;} }

  /* "Think Duolingo, for AI" section */
  .loop-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; counter-reset:loop;}
  @media (max-width:980px){ .loop-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){
    .loop-grid{grid-template-columns:1fr; gap:14px;}
    /* Compact on phones: the icon sits beside the text instead of above it */
    .loop-card{padding:20px 18px 18px 84px;}
    .loop-card .node{position:absolute; left:20px; top:22px; margin:0; width:42px; height:42px;}
    .loop-card .gx-chip{margin-top:12px;}
  }
  .loop-card{position:relative; background:#fff; border:1px solid var(--line); border-radius:12px; padding:26px 22px 22px; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);}
  .loop-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-lift); border-color:rgba(223,164,38,0.6);}
  .loop-card .node{width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--ink); color:var(--gold-bright); font-size:1.05rem; box-shadow:0 0 0 5px var(--gold-wash), 0 0 0 6px rgba(223,164,38,0.45); margin-bottom:20px;}
  .loop-card h3{font-size:1.14rem; font-weight:600; margin-bottom:10px;}
  .loop-card p{font-size:0.93rem; color:var(--muted); line-height:1.6;}
  .loop-card .gx-chip{margin-top:16px;}
  .loop-card::after{content:""; position:absolute; top:48px; right:-23px; width:24px; height:2px; background:repeating-linear-gradient(90deg,var(--gold) 0 5px,transparent 5px 9px);}
  .loop-card:last-child::after{display:none;}
  @media (max-width:980px){ .loop-card::after{display:none;} }
  .play-showcase{margin-top:56px; display:grid; grid-template-columns:1.05fr 0.95fr; gap:0; border-radius:14px; overflow:hidden; background:var(--ink); color:var(--paper); border:1px solid rgba(223,164,38,0.45);}
  @media (max-width:860px){ .play-showcase{grid-template-columns:1fr;} }
  .play-showcase .shot{position:relative; min-height:300px; background:var(--ink-2);}
  .play-showcase .shot img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .play-showcase .shot .gx-chip{position:absolute; left:18px; top:18px;}
  .play-showcase .txt{padding:40px 38px;}
  @media (max-width:520px){ .play-showcase .txt{padding:30px 22px;} }
  .play-showcase h3{font-size:clamp(1.5rem,2.6vw,1.95rem); font-weight:400; color:var(--paper);}
  .play-showcase ul{list-style:none; margin:18px 0 26px; display:grid; gap:10px;}
  .play-showcase li{display:flex; gap:12px; color:var(--paper-dim); font-size:0.96rem;}
  .play-showcase li i{color:var(--gold); margin-top:5px; width:16px; text-align:center;}
  .mech-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:34px;}

  /* A thin ticker of game moments between sections */
  .quest-ticker{background:var(--ink); border-top:1px solid rgba(223,164,38,0.25); border-bottom:1px solid rgba(223,164,38,0.25); overflow:hidden; padding:14px 0;}
  .quest-ticker .track{display:flex; gap:14px; width:max-content;}
  .has-js .quest-ticker .track{animation:gxTick 46s linear infinite;}
  .quest-ticker:hover .track{animation-play-state:paused;}
  @keyframes gxTick{from{transform:translateX(0);} to{transform:translateX(-50%);}}

  /* Model cards and rollout steps get a small game marker */
  .model-card .gx-chip{margin-bottom:14px;}
  .model-also{margin-top:38px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; color:var(--paper-dim); font-size:0.9rem;}
  .model-also > span:first-child{font-family:var(--mono); font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--paper-faint); margin-right:4px;}
  .step .lvl{display:inline-flex; align-items:center; gap:7px; font-family:var(--mono); font-size:0.66rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-ink); margin-bottom:10px;}
  .step .lvl i{color:var(--gold);}
  .board-note{margin:22px 0 44px; color:var(--muted); font-size:0.94rem;}

  @media (prefers-reduced-motion: reduce){
    .float-chip, .quest-ticker .track, .gx-bar.anim > span{animation:none !important;}
  }

  /* ---------- BLOG QUICK CHECKS ----------
     One-tap questions inside a post: instant feedback, the reason, and a
     running score, so reading a post feels like a short lesson. */
  .qc{margin:38px 0; border:1px solid rgba(223,164,38,0.55); border-radius:12px; background:#fff; padding:22px 22px 18px; box-shadow:0 0 0 5px var(--gold-wash);}
  .prose .qc p{margin:0;}
  .prose .qc .qc-q{font-family:var(--serif); font-size:1.22rem; line-height:1.35; margin:14px 0 14px; color:var(--ink);}
  .qc-opts{display:grid; gap:9px;}
  .qc-opts button{
    text-align:left; font:inherit; font-size:0.97rem; line-height:1.45; color:var(--ink);
    padding:12px 14px; min-height:46px; border:1px solid var(--line-strong); border-radius:10px; background:#fff; cursor:pointer;
    transition:border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
  }
  .qc-opts button:hover:not(:disabled){border-color:var(--gold); background:var(--gold-wash); transform:translateY(-1px);}
  .qc-opts button:disabled{cursor:default;}
  .qc.answered .qc-opts button:not(.right):not(.wrong){opacity:0.5;}
  .qc-opts button.right{border-color:#2F9E5B; background:#EAF6EE;}
  .qc-opts button.wrong{border-color:#D9485F; background:#FDECEF;}
  .prose .qc .qc-fb{margin-top:14px; font-size:0.97rem; line-height:1.6; color:#2E323A;}
  .qc-fb .gx-chip{margin-right:8px; vertical-align:1px;}
  .qc-fb .miss{font-weight:600; color:#B42340; margin-right:6px;}
  .qc-tally{margin-top:44px; padding:20px 22px; border-radius:12px; background:var(--ink); color:var(--paper-dim); display:flex; flex-wrap:wrap; gap:12px 18px; align-items:center; justify-content:space-between;}
  .qc-tally b{color:var(--paper); font-weight:600;}
  .qc-tally a{color:var(--gold); border-bottom:1px solid rgba(223,164,38,0.45); white-space:nowrap;}
  .qc-tally[hidden]{display:none;}
  .series-tag{display:inline-flex; align-items:center; gap:8px; margin-bottom:14px;}

  /* Blog index: featured latest post */
  .feature-post{display:grid; grid-template-columns:1.05fr 1fr; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff; transition:box-shadow .4s var(--ease), transform .4s var(--ease), border-color .4s var(--ease);}
  .feature-post:hover{box-shadow:var(--shadow-lift); transform:translateY(-3px); border-color:rgba(223,164,38,0.6);}
  .feature-post .fp-img{position:relative; min-height:280px;}
  .feature-post .fp-img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .feature-post .fp-img .gx-chip{position:absolute; left:16px; top:16px;}
  .feature-post .fp-body{padding:34px 34px 30px;}
  .feature-post .cat{font-family:var(--mono); font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-ink); margin-bottom:12px;}
  .feature-post h2{font-size:clamp(1.45rem,2.6vw,1.95rem); font-weight:400; line-height:1.2;}
  .feature-post p{margin-top:14px; color:var(--muted); font-size:0.98rem;}
  .feature-post .read{display:inline-block; margin-top:18px; font-weight:600; color:var(--gold-ink); font-size:0.92rem;}
  @media (max-width:820px){ .feature-post{grid-template-columns:1fr;} .feature-post .fp-img{min-height:210px;} .feature-post .fp-body{padding:24px 22px;} }

  /* Homepage: AI-Enabled School band */
  .ae-band{background:var(--ink); color:var(--paper); position:relative; overflow:hidden;}
  .ae-band::after{content:""; position:absolute; width:620px; height:620px; left:-200px; top:-220px; border-radius:50%; background:radial-gradient(circle, rgba(223,164,38,0.14) 0%, transparent 62%); pointer-events:none;}
  .ae-band-grid{display:grid; grid-template-columns:0.7fr 1.3fr; gap:56px; align-items:center; position:relative; z-index:1;}
  .ae-seal{width:100%; max-width:260px; filter:drop-shadow(0 30px 40px rgba(0,0,0,0.7));}
  .ae-name{display:inline-flex; align-items:center; gap:8px; margin-top:22px; padding:10px 16px; border-radius:100px; background:rgba(255,255,255,0.06); border:1px solid var(--line-dark-strong); font-weight:600; font-size:1.05rem; color:var(--paper);}
  @media (max-width:820px){ .ae-band-grid{grid-template-columns:1fr; gap:30px;} .ae-seal{max-width:170px;} }
