:root{
    --cream:#FFF8EE;
    --paper:#FFFDF9;
    --coral:#FF8B7B;
    --coral-deep:#F2604D;
    --sunshine:#FFD166;
    --sage:#8FBC94;
    --sky:#A8D8EA;
    --plum:#463A52;
    --plum-soft:#6E6079;
    --line:#EADFCB;
    --radius-lg:32px;
    --radius-md:20px;
    --shadow-soft: 0 12px 30px -12px rgba(70,58,82,0.18);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--plum);
    font-family:'Quicksand',sans-serif;
    font-size:17px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{
    font-family:'Baloo 2',sans-serif;
    color:var(--plum);
    margin:0;
    line-height:1.1;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
  section{position:relative;padding:100px 0;}
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-family:'Baloo 2',sans-serif;
    font-weight:700;
    font-size:13px;
    letter-spacing:.04em;
    color:var(--coral-deep);
    background:#FFF0EC;
    padding:7px 16px 7px 12px;
    border-radius:999px;
    margin-bottom:18px;
  }
  .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--sage);}
  .underline-highlight{position:relative;display:inline-block;white-space:nowrap;}
  .underline-highlight svg{position:absolute;left:0;bottom:-10px;width:100%;height:16px;}
  /* header / clothesline nav */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(255,248,238,0.85);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    max-width:1180px;margin:0 auto;padding:16px 28px;
    display:flex;align-items:center;justify-content:space-between;
  }
  .logo{font-family:'Baloo 2';font-weight:800;font-size:20px;display:flex;align-items:center;gap:8px;}
  .logo-badge{width:34px;height:34px;border-radius:50%;background:var(--sunshine);display:flex;align-items:center;justify-content:center;font-size:17px;transform:rotate(-8deg);}
  .clothesline{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0;}
  .clothesline li{position:relative;}
  .clothesline a{
    font-weight:600;font-size:14.5px;padding:9px 16px;border-radius:14px;
    display:inline-block;transition:background .25s ease, transform .25s ease;
  }
  .clothesline a:hover{background:var(--paper);transform:translateY(-2px) rotate(-1deg);box-shadow:var(--shadow-soft);}
  .nav-cta{
    background:var(--coral);color:#fff!important;font-weight:700;
    padding:11px 22px;border-radius:999px;font-family:'Baloo 2';
    box-shadow:0 8px 18px -6px rgba(255,139,123,.6);
  }
  .menu-toggle{display:none;background:none;border:none;font-size:26px;cursor:pointer;color:var(--plum);}
  @media (max-width:860px){
    .clothesline{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--paper);padding:14px 20px;border-bottom:1px solid var(--line);}
    .clothesline.open{display:flex;}
    .menu-toggle{display:block;}
    .nav-cta{display:none;}
  }
  /* HERO */
  .hero{padding:70px 0 40px;overflow:visible;}
  .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
  @media (max-width:940px){.hero-grid{grid-template-columns:1fr;}}
  .hero h1{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;}
  .hero p.lead{font-size:19px;color:var(--plum-soft);max-width:46ch;margin:20px 0 30px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
  .btn{
    font-family:'Baloo 2';font-weight:700;font-size:15px;
    padding:14px 26px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;
    transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
    cursor:pointer;border:none;
  }
  .btn-primary{background:var(--coral);color:#fff;box-shadow:0 10px 22px -8px rgba(255,139,123,.7);}
  .btn-primary:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:0 14px 26px -8px rgba(255,139,123,.8);}
  .btn-ghost{background:var(--paper);border:2px solid var(--line);color:var(--plum);}
  .btn-ghost:hover{transform:translateY(-3px);border-color:var(--coral);}
  .hero-stats{display:flex;gap:26px;margin-top:38px;flex-wrap:wrap;}
  .stat b{font-family:'Baloo 2';font-size:26px;display:block;color:var(--coral-deep);}
  .stat span{font-size:13px;color:var(--plum-soft);font-weight:600;}
  .hero-art{position:relative;height:460px;}
  .paper-cloud{position:absolute;background:var(--paper);border-radius:50%;box-shadow:var(--shadow-soft);}
  .float{animation:floaty 6s ease-in-out infinite;}
  @keyframes floaty{0%,100%{transform:translateY(0px);}50%{transform:translateY(-14px);}}
  .photo-frame{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:260px;height:260px;border-radius:50%;
    background:linear-gradient(160deg,var(--sunshine),var(--coral));
    padding:8px;box-shadow:var(--shadow-soft);z-index:3;
  }
  .photo-frame .inner{width:100%;height:100%;border-radius:50%;background:var(--sky) url('https://images.unsplash.com/photo-1544717305-2782549b5136?q=80&w=600&auto=format&fit=crop') center/cover;}
  .shape-rainbow{position:absolute;top:8%;left:6%;width:150px;height:75px;border-radius:150px 150px 0 0;border:16px solid var(--sky);border-bottom:none;z-index:1;}
  .shape-sun{position:absolute;top:0;right:12%;width:90px;height:90px;border-radius:50%;background:var(--sunshine);z-index:1;box-shadow:var(--shadow-soft);}
  .shape-leaf{position:absolute;bottom:6%;left:2%;width:110px;height:110px;background:var(--sage);border-radius:0 60% 60% 60%;z-index:1;}
  .shape-star{position:absolute;bottom:14%;right:6%;font-size:34px;z-index:2;}
  .badge-verified{
    position:absolute;bottom:8%;left:50%;transform:translateX(-120px);
    background:var(--paper);border-radius:16px;padding:10px 14px;box-shadow:var(--shadow-soft);
    display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;z-index:4;
  }
  .badge-verified .check{width:20px;height:20px;border-radius:50%;background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;}
  /* alphabet scatter */
  .abc{position:absolute;font-family:'Baloo 2';font-weight:800;color:var(--coral);opacity:.5;}
  /* section styling */
  .section-alt{background:var(--paper);}
  .section-head{max-width:640px;margin:0 auto 56px;text-align:center;}
  .section-head h2{font-size:clamp(1.9rem,3.6vw,2.6rem);}
  .section-head p{color:var(--plum-soft);margin-top:14px;font-size:17px;}
  /* About */
  .about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;}
  @media (max-width:900px){.about-grid{grid-template-columns:1fr;}}
  .about-card{
    background:var(--cream);border-radius:var(--radius-lg);padding:34px;
    position:relative;box-shadow:var(--shadow-soft);
  }
  .about-card img{border-radius:var(--radius-md);width:100%;}
  .tape{position:absolute;top:-14px;left:34px;width:70px;height:26px;background:var(--sunshine);opacity:.85;transform:rotate(-4deg);border-radius:3px;}
  .about-copy h3{font-size:24px;margin-bottom:16px;}
  .about-copy p{color:var(--plum-soft);margin-bottom:16px;}
  .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
  .chip{background:var(--sky);color:var(--plum);font-weight:700;font-size:13px;padding:8px 16px;border-radius:999px;}
  .chip:nth-child(3n+2){background:var(--sunshine);}
  .chip:nth-child(3n+3){background:var(--sage);}
  /* Daily schedule - day clock */
  .schedule-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;}
  .sched-card{
    background:var(--paper);border-radius:var(--radius-md);padding:26px;
    box-shadow:var(--shadow-soft);border-top:6px solid var(--coral);
    transition:transform .3s ease;
  }
  .sched-card:nth-child(2){border-top-color:var(--sunshine);}
  .sched-card:nth-child(3){border-top-color:var(--sage);}
  .sched-card:nth-child(4){border-top-color:var(--sky);}
  .sched-card:hover{transform:translateY(-8px) rotate(-1deg);}
  .sched-time{font-family:'Baloo 2';font-weight:800;color:var(--coral-deep);font-size:15px;margin-bottom:8px;}
  .sched-card h4{font-family:'Baloo 2';font-size:18px;margin-bottom:6px;}
  .sched-card p{font-size:14.5px;color:var(--plum-soft);margin:0;}
  /* Certifications */
  .cert-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;}
  .cert{
    background:var(--cream);border-radius:18px;padding:22px;text-align:center;
    border:2px dashed var(--line);
  }
  .cert .ribbon{font-size:30px;margin-bottom:10px;display:block;}
  .cert h5{font-family:'Baloo 2';font-size:15px;margin:0 0 4px;}
  .cert span{font-size:12.5px;color:var(--plum-soft);}
  /* Gallery */
  .gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  @media (max-width:760px){.gallery{grid-template-columns:repeat(2,1fr);}}
  .gallery figure{margin:0;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-soft);aspect-ratio:1/1;position:relative;}
  .gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
  .gallery figure:hover img{transform:scale(1.08);}
  .gallery figure:nth-child(2){transform:rotate(1.5deg);}
  .gallery figure:nth-child(3){transform:rotate(-1.5deg);}
  /* Testimonials */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media (max-width:880px){.testi-grid{grid-template-columns:1fr;}}
  .testi{background:var(--paper);border-radius:var(--radius-md);padding:28px;box-shadow:var(--shadow-soft);position:relative;}
  .testi .quote-mark{font-family:'Baloo 2';font-size:44px;color:var(--sunshine);line-height:1;margin-bottom:6px;}
  .testi p{color:var(--plum-soft);font-size:15px;}
  .testi footer{margin-top:16px;font-family:'Baloo 2';font-weight:700;font-size:14px;color:var(--plum);}
  .testi footer span{display:block;font-family:'Quicksand';font-weight:600;color:var(--plum-soft);font-size:12.5px;}
  /* contact */
  .contact-panel{
    background:linear-gradient(135deg,#FFE7CF,#FFF3E0);
    border-radius:40px;padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
    position:relative;overflow:hidden;
  }
  @media (max-width:820px){.contact-panel{grid-template-columns:1fr;padding:36px 26px;}}
  .contact-panel h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:14px;}
  .contact-list{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:14px;}
  .contact-list li{display:flex;align-items:center;gap:12px;font-weight:600;}
  .contact-list .ic{width:38px;height:38px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);}
  .social-row{display:flex;gap:12px;margin-top:24px;}
  .social-row a{width:42px;height:42px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);transition:transform .25s ease;}
  .social-row a:hover{transform:translateY(-4px) rotate(-6deg);}
  footer.site-footer{padding:34px 0;text-align:center;color:var(--plum-soft);font-size:14px;}
  /* reveal animation */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:translateY(0);}
  :focus-visible{outline:3px solid var(--coral-deep);outline-offset:3px;}
  @media (prefers-reduced-motion: reduce){
    .float,.reveal,.gallery img,.sched-card,.social-row a{animation:none!important;transition:none!important;}
    .reveal{opacity:1;transform:none;}
  }
