:root{
    --pink:#F49BB0; --pink-soft:#FBD5DE;
    --peach:#F7B98F; --peach-soft:#FCE3D2;
    --teal:#6FCFC0; --teal-soft:#CDEFE9; --teal-deep:#2E9C8E;
    --yellow:#F8D46F; --yellow-soft:#FDF0C4;
    --lav:#BFA3E6; --lav-soft:#E6DBF5;
    --ink:#23213A; --ink-soft:#5B5875; --cream:#FFF9F3; --white:#FFFFFF;
    --r:26px; --shadow:0 12px 32px rgba(35,33,58,0.10);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Nunito',sans-serif;background:var(--cream);color:var(--ink);line-height:1.65;overflow-x:hidden}
  h1,h2,h3,.display{font-family:'Fredoka',sans-serif;font-weight:600;line-height:1.1;letter-spacing:-0.01em}
  a{color:inherit}
  .wrap{max-width:1140px;margin:0 auto;padding:0 1.5rem}
  .eyebrow{display:inline-block;font-family:'Fredoka',sans-serif;font-weight:500;font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.35rem 0.9rem;border-radius:999px;margin-bottom:1rem}
  .eyebrow.pink{background:var(--pink-soft);color:#B4405F}
  .eyebrow.teal{background:var(--teal-soft);color:var(--teal-deep)}
  .eyebrow.lav{background:var(--lav-soft);color:#6B47A8}
  .eyebrow.yellow{background:var(--yellow-soft);color:#8A6A00}
  .eyebrow.peach{background:var(--peach-soft);color:#B65A2A}
  .btn{display:inline-flex;align-items:center;gap:0.5rem;font-family:'Fredoka',sans-serif;font-weight:600;font-size:1.02rem;padding:0.95rem 1.7rem;border-radius:999px;text-decoration:none;border:3px solid var(--ink);transition:transform .15s,box-shadow .15s;box-shadow:4px 4px 0 var(--ink)}
  .btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
  .btn-pink{background:var(--pink);color:var(--ink)}
  .btn-white{background:var(--white);color:var(--ink)}
  .btn-teal{background:var(--teal);color:var(--ink)}
  .sticker{display:inline-block;background:var(--white);border:3px solid var(--ink);border-radius:999px;padding:0.4rem 1rem;font-family:'Fredoka',sans-serif;font-weight:600;font-size:0.95rem;box-shadow:3px 3px 0 var(--ink)}

  /* NAV */
  nav{position:sticky;top:0;z-index:50;background:rgba(255,249,243,0.92);backdrop-filter:blur(10px);border-bottom:3px solid var(--ink)}
  .nav-in{display:flex;align-items:center;justify-content:space-between;height:74px}
  .logo{display:flex;align-items:center;gap:0.7rem;text-decoration:none}
  .logo-mark{width:42px;height:42px;border-radius:14px;background:var(--teal);border:3px solid var(--ink);display:grid;place-items:center;font-family:'Fredoka',sans-serif;font-weight:700;font-size:1rem;box-shadow:3px 3px 0 var(--ink)}
  .logo-text{font-family:'Fredoka',sans-serif;font-weight:600;font-size:1.05rem;line-height:1.05}
  .logo-text small{display:block;font-family:'Nunito',sans-serif;font-weight:700;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft)}
  .nav-links{display:flex;gap:1.6rem;align-items:center}
  .nav-links a{text-decoration:none;font-weight:700;font-size:0.95rem}
  .nav-links a:hover{color:var(--teal-deep)}
  .nav-cta{padding:0.6rem 1.2rem;font-size:0.95rem;box-shadow:3px 3px 0 var(--ink)}

  /* HERO */
  .hero{position:relative;padding:4.5rem 0 3.5rem;overflow:hidden}
  .blob{position:absolute;border-radius:50%;z-index:0;opacity:0.9}
  .b1{width:420px;height:420px;background:var(--yellow-soft);top:-120px;right:-80px}
  .b2{width:260px;height:260px;background:var(--pink-soft);bottom:-60px;left:-90px}
  .b3{width:160px;height:160px;background:var(--teal-soft);top:60%;right:40%}
  .hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 0.85fr;gap:3rem;align-items:center}
  .hero h1{font-size:clamp(2.6rem,5vw,4.4rem);margin:0.6rem 0 1.2rem}
  .hero h1 .hl{background:linear-gradient(transparent 55%,var(--yellow) 55%);padding:0 0.15em}
  .hero h1 .hl2{background:linear-gradient(transparent 55%,var(--pink) 55%);padding:0 0.15em}
  .hero p.lead{font-size:1.15rem;color:var(--ink-soft);max-width:520px;margin-bottom:1.8rem}
  .hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
  .avail{display:flex;gap:0.7rem;flex-wrap:wrap}
  .avail .pill{display:inline-flex;align-items:center;gap:0.5rem;background:var(--white);border:2px solid var(--ink);border-radius:999px;padding:0.4rem 0.9rem;font-weight:700;font-size:0.85rem}
  .dot{width:10px;height:10px;border-radius:50%}
  .dot.on{background:#3FCB7A}.dot.wait{background:var(--yellow)}
  .hero-photo{position:relative;justify-self:center}
  .hero-photo img{width:min(100%,400px);aspect-ratio:4/5;object-fit:cover;object-position:center 15%;border-radius:200px 200px 40px 40px;border:4px solid var(--ink);box-shadow:10px 10px 0 var(--teal);display:block}
  .float{position:absolute;background:var(--white);border:3px solid var(--ink);border-radius:18px;padding:0.6rem 0.9rem;font-family:'Fredoka',sans-serif;font-weight:600;font-size:0.9rem;box-shadow:4px 4px 0 var(--ink);white-space:nowrap}
  .f1{top:8%;left:-8%;background:var(--pink);transform:rotate(-6deg)}
  .f2{bottom:14%;right:-10%;background:var(--yellow);transform:rotate(5deg)}
  .f3{top:45%;right:-14%;background:var(--lav);transform:rotate(3deg)}

  /* MARQUEE */
  .marq{border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);background:var(--teal);padding:0.8rem 0;overflow:hidden;white-space:nowrap}
  .mtrack{display:inline-block;animation:marquee 34s linear infinite;font-family:'Fredoka',sans-serif;font-weight:600;font-size:1rem}
  .mtrack span{margin:0 1.4rem}
  @keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  section{padding:5rem 0}
  .section-head{max-width:640px;margin-bottom:2.5rem}
  .section-head h2{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:0.8rem}
  .section-head p{color:var(--ink-soft);font-size:1.08rem}

  /* WHO */
  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
  .card{background:var(--white);border:3px solid var(--ink);border-radius:var(--r);padding:1.8rem;box-shadow:6px 6px 0 var(--ink);transition:transform .15s}
  .card:hover{transform:translate(-2px,-2px)}
  .card .ico{width:56px;height:56px;border-radius:18px;border:3px solid var(--ink);display:grid;place-items:center;font-size:1.6rem;margin-bottom:1rem}
  .card h3{font-size:1.4rem;margin-bottom:0.5rem}
  .card p{color:var(--ink-soft);font-size:0.98rem}
  .card ul{list-style:none;margin-top:0.9rem}
  .card li{padding:0.25rem 0 0.25rem 1.4rem;position:relative;font-size:0.95rem}
  .card li::before{content:'';position:absolute;left:0;top:0.62rem;width:10px;height:10px;border-radius:50%;background:var(--pink);border:2px solid var(--ink)}
  .c-pink .ico{background:var(--pink-soft)}.c-teal .ico{background:var(--teal-soft)}.c-lav .ico{background:var(--lav-soft)}.c-yellow .ico{background:var(--yellow-soft)}.c-peach .ico{background:var(--peach-soft)}

  /* STEPS */
  .steps-bg{background:var(--white);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
  .step{position:relative;padding:2rem 1.6rem 1.6rem;border:3px solid var(--ink);border-radius:var(--r)}
  .step .num{position:absolute;top:-22px;left:22px;width:46px;height:46px;border-radius:50%;border:3px solid var(--ink);display:grid;place-items:center;font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.1rem;box-shadow:3px 3px 0 var(--ink)}
  .step h3{font-size:1.3rem;margin:0.4rem 0 0.5rem}
  .step p{color:var(--ink-soft);font-size:0.97rem}
  .step .meta{margin-top:0.9rem;font-weight:800;font-size:0.82rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--teal-deep)}
  .s1{background:var(--yellow-soft)}.s1 .num{background:var(--yellow)}
  .s2{background:var(--pink-soft)}.s2 .num{background:var(--pink)}
  .s3{background:var(--teal-soft)}.s3 .num{background:var(--teal)}

  /* FEES */
  .fees{display:grid;grid-template-columns:1.1fr 0.9fr;gap:1.5rem}
  .fee-card{background:var(--white);border:3px solid var(--ink);border-radius:var(--r);padding:1.6rem 1.8rem;box-shadow:6px 6px 0 var(--ink)}
  .fee-card h3{font-size:1.35rem;margin-bottom:1rem;display:flex;align-items:center;gap:0.6rem}
  .fee-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:0.75rem 0;border-top:2px dashed #E4DDD3}
  .fee-row:first-of-type{border-top:0}
  .fee-row .n{font-weight:800}
  .fee-row .s{display:block;font-size:0.85rem;color:var(--ink-soft);font-weight:400}
  .fee-row .p{font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.25rem;white-space:nowrap}
  .fee-note{margin-top:1.5rem;background:var(--lav-soft);border:3px solid var(--ink);border-radius:20px;padding:1.2rem 1.4rem;font-size:0.95rem}
  .fee-note strong{font-family:'Fredoka',sans-serif;font-weight:600}

  /* ABOUT */
  .about{background:var(--white);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
  .about-in{display:grid;grid-template-columns:0.8fr 1.2fr;gap:3rem;align-items:center}
  .about img{width:100%;max-width:380px;aspect-ratio:4/5;object-fit:cover;object-position:center 15%;border-radius:40px;border:4px solid var(--ink);box-shadow:10px 10px 0 var(--pink)}
  .about h2{font-size:clamp(2rem,3.4vw,2.8rem);margin-bottom:1rem}
  .about p{color:var(--ink-soft);margin-bottom:1rem;font-size:1.02rem}
  .creds{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:1.2rem}
  .creds .sticker{font-size:0.85rem;padding:0.35rem 0.85rem}

  /* CONTACT */
  .contact{display:grid;grid-template-columns:0.9fr 1.1fr;gap:3rem;align-items:start}
  .contact h2{font-size:clamp(2rem,3.4vw,2.8rem);margin-bottom:1rem}
  .contact p{color:var(--ink-soft);margin-bottom:1.4rem}
  .cinfo{display:grid;gap:0.8rem}
  .citem{display:flex;align-items:center;gap:0.8rem;font-weight:700}
  .citem .ci{width:40px;height:40px;border-radius:12px;border:3px solid var(--ink);display:grid;place-items:center;background:var(--yellow-soft);font-size:1.1rem}
  .citem a{text-decoration:none;color:var(--teal-deep)}
  .cform{background:var(--white);border:3px solid var(--ink);border-radius:var(--r);padding:2rem;box-shadow:8px 8px 0 var(--lav)}
  .cform h3{font-size:1.5rem;margin-bottom:1.2rem}
  .fg{display:flex;flex-direction:column;gap:0.35rem;margin-bottom:1rem}
  .fg-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  label{font-weight:800;font-size:0.85rem}
  input,select,textarea{font-family:'Nunito',sans-serif;font-size:1rem;padding:0.8rem 1rem;border:2.5px solid var(--ink);border-radius:14px;background:var(--cream);color:var(--ink);width:100%}
  input:focus,select:focus,textarea:focus{outline:3px solid var(--teal);outline-offset:1px}
  textarea{min-height:110px;resize:vertical}
  .fsub{width:100%;justify-content:center;cursor:pointer}
  .fnote{font-size:0.82rem;color:var(--ink-soft);margin-top:0.8rem;text-align:center}

  footer{background:var(--ink);color:var(--white);padding:3rem 0 2rem}
  .foot{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:flex-start}
  .foot .logo-text{color:var(--white)}.foot .logo-text small{color:rgba(255,255,255,0.6)}
  .foot p{font-size:0.85rem;color:rgba(255,255,255,0.7);max-width:620px;margin-top:1rem}
  .foot a{color:var(--yellow);text-decoration:none}

  @media(max-width:900px){
    .hero-in,.about-in,.contact,.fees{grid-template-columns:1fr}
    .grid3,.steps{grid-template-columns:1fr}
    .nav-links a:not(.nav-cta){display:none}
    .hero-photo{margin-top:1rem}
    .float{font-size:0.8rem}
    .f1{left:0}.f2{right:0}.f3{right:0}
    .steps{gap:2.2rem}
  }

  /* about page */
  .about-hero h1{font-size:clamp(2.4rem,4.6vw,3.8rem)}
  .stats .card{text-align:center}
  .stats .big{font-family:'Fredoka',sans-serif;font-weight:700;font-size:3.2rem;line-height:1;margin-bottom:0.4rem}
  .story{max-width:760px}
  .story h2{font-size:clamp(2rem,3.4vw,2.8rem);margin-bottom:1rem}
  .story p{color:var(--ink-soft);margin-bottom:1.1rem;font-size:1.04rem}
  .story .quote{font-family:'Fredoka',sans-serif;font-weight:500;font-size:1.35rem;color:var(--ink);background:var(--yellow-soft);border:3px solid var(--ink);border-radius:20px;padding:1rem 1.3rem;margin:1.4rem 0;box-shadow:5px 5px 0 var(--ink)}
  .timeline{display:grid;gap:1rem;max-width:820px}
  .tl{display:grid;grid-template-columns:150px 1fr;gap:1.2rem;align-items:start;background:var(--cream);border:3px solid var(--ink);border-radius:20px;padding:1.1rem 1.4rem}
  .tl .when{font-family:'Fredoka',sans-serif;font-weight:600;color:var(--teal-deep)}
  .tl h3{font-size:1.15rem;margin-bottom:0.2rem}
  .tl p{color:var(--ink-soft);font-size:0.95rem}
  .cta-band{background:var(--lav);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
  .cta-in{text-align:center}
  .cta-in h2{font-size:clamp(2rem,3.4vw,2.8rem);margin-bottom:0.5rem}
  .cta-in p{margin-bottom:1.4rem;font-size:1.1rem}
  .ty{min-height:70vh;display:grid;place-items:center;text-align:center;padding:4rem 1.5rem}
  .ty .card{max-width:640px;padding:2.5rem}
  .ty h1{font-size:clamp(2.2rem,4vw,3.2rem);margin-bottom:0.8rem}
  .ty p{color:var(--ink-soft);margin-bottom:1rem}
  @media(max-width:900px){.tl{grid-template-columns:1fr}}
