:root{
  --pink:#ff147b;--teal:#12bcc7;--purple:#5f25b5;--lime:#b6d91c;
  --ink:#171437;--cream:#fffaf5;--soft-pink:#fff5f8;--soft-teal:#f5ffff;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream);line-height:1.5;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:28px;padding:16px 6vw;background:rgba(255,250,243,.97);box-shadow:0 2px 16px rgba(80,35,120,.10)}
.brand{font-size:27px;letter-spacing:5px;font-weight:800;white-space:nowrap}.links{margin-left:auto;display:flex;gap:22px;align-items:center;font-weight:800;font-size:14px}.links a.active{color:var(--pink);border-bottom:3px solid var(--pink);padding-bottom:7px}.book,.cta{background:var(--pink);color:#fff;padding:14px 22px;border-radius:999px;font-weight:900;display:inline-block;border:0;cursor:pointer}.book:hover,.cta:hover{transform:translateY(-1px)}
main{position:relative}.hero,.section{position:relative;padding:72px 8vw;overflow:hidden}.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:48px;background:radial-gradient(circle at 8% 18%,#fff0f5 0,transparent 26%),radial-gradient(circle at 96% 20%,#effcfc 0,transparent 25%),var(--cream)}
.hero:before,.section.decorated:before{content:"";position:absolute;width:170px;height:90px;left:-60px;top:46px;background:var(--pink);opacity:.08;border-radius:55% 45% 58% 42%/48% 60% 40% 52%;transform:rotate(-13deg)}
.hero:after,.section.decorated:after{content:"";position:absolute;width:150px;height:90px;right:-50px;bottom:45px;background:var(--teal);opacity:.09;border-radius:45% 55% 42% 58%/60% 42% 58% 40%;transform:rotate(16deg)}
.drips{position:absolute;left:0;right:0;top:0;height:35px;pointer-events:none;background:linear-gradient(90deg,transparent 2%,rgba(255,25,124,.14) 2% 10%,transparent 10% 34%,rgba(20,198,207,.14) 34% 44%,transparent 44% 68%,rgba(184,223,23,.14) 68% 79%,transparent 79%)}
.eyebrow{font-weight:900;color:var(--teal);letter-spacing:2px}.hero h1,.title{font-size:clamp(48px,7vw,88px);line-height:.98;margin:12px 0 24px;color:var(--purple)}.pink{color:var(--pink)}.teal{color:var(--teal)}.lime{color:var(--lime)}.lead{font-size:20px;max-width:680px}
.hero-art{width:100%;height:auto;display:block;object-fit:contain;object-position:center;border-radius:32px;box-shadow:0 18px 55px rgba(76,35,117,.15);background:#fff;padding:10px 10px 24px;margin-bottom:8px}
.center{text-align:center}.soft-pink{background:linear-gradient(180deg,var(--soft-pink),var(--cream))}.soft-teal{background:linear-gradient(180deg,var(--soft-teal),var(--cream))}.wave{background:linear-gradient(135deg,#702cc6,#913be0);color:#fff}.wave:before{content:"";position:absolute;left:-4%;right:-4%;top:-18px;height:38px;background:var(--cream);border-radius:50%}
.how-top{background:#fff}.how-art{display:block;width:100%;height:auto}
.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.chip{padding:24px;background:#fff;border-radius:24px;text-align:center;box-shadow:0 8px 28px rgba(74,32,112,.08);border:2px solid #f3e8f8}.chip .icon{font-size:34px;display:block;margin-bottom:8px}.chip b{display:block;color:var(--purple);font-size:18px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:32px}.event-card{background:#fff;border-radius:30px;padding:18px;box-shadow:0 12px 36px rgba(74,32,112,.10);border:2px solid #f3e8f8}.event-card img{width:100%;border-radius:22px;aspect-ratio:16/11;object-fit:cover;object-position:center}.event-card h2{font-size:30px;color:var(--purple);margin-bottom:8px}.event-card p{font-size:17px}
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.about-grid img{width:100%;border-radius:30px;box-shadow:0 15px 45px rgba(74,32,112,.14)}.quote-card{margin-top:26px;padding:26px;border-radius:26px;background:linear-gradient(135deg,#fff0f6,#effdfd);font-size:24px;color:var(--purple);font-weight:800}
.formwrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:start}.contactbox,.formcard{background:#fff;padding:32px;border-radius:28px;box-shadow:0 10px 35px rgba(74,32,112,.09);border:2px solid #f3e8f8}.contact-list{display:grid;gap:18px;margin-top:22px}.contact-item{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid #eee}.contact-item:last-child{border-bottom:0}.contact-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;font-size:22px;font-weight:900;color:#fff}.i-pink{background:var(--pink)}.i-teal{background:var(--teal)}.i-purple{background:var(--purple)}.i-lime{background:var(--lime);color:var(--ink)}.contact-item b{display:block;color:var(--pink);font-size:17px}.placeholder{color:#6b6474;font-style:italic}.formcard input,.formcard textarea,.formcard select{width:100%;padding:14px;margin:7px 0 16px;border:2px solid #e5d8ed;border-radius:14px;font:inherit;background:#fff}.formcard button{font:inherit}
.footer{padding:35px 8vw;text-align:center;background:#f5edfb;color:var(--purple);font-weight:700}.small{font-size:14px}.editable-note{font-size:13px;color:#665d75;margin-top:12px}
@media(max-width:900px){.nav{flex-wrap:wrap}.brand{font-size:21px}.links{width:100%;overflow:auto;margin-left:0;gap:16px}.hero,.about-grid,.formwrap,.two{grid-template-columns:1fr}.hero{min-height:auto}.chips{grid-template-columns:1fr 1fr}.hero,.section{padding:52px 6vw}.hero h1,.title{font-size:52px}}
@media(max-width:560px){.chips{grid-template-columns:1fr}.links{font-size:12px}.book{padding:11px 16px}}

.about-art{min-height:520px;border-radius:32px;position:relative;background:linear-gradient(145deg,#fff 0 56%,#fff5f8 56% 100%);box-shadow:0 15px 45px rgba(74,32,112,.10);overflow:hidden;border:2px solid #f3e8f8}.about-art:before{content:"";position:absolute;width:290px;height:290px;border-radius:46% 54% 57% 43%/50% 44% 56% 50%;background:var(--pink);right:-70px;top:-70px;opacity:.92}.about-art:after{content:"";position:absolute;width:250px;height:220px;border-radius:54% 46% 42% 58%/48% 56% 44% 52%;background:var(--teal);left:-70px;bottom:-60px;opacity:.88}.about-art .blob{position:absolute;width:220px;height:190px;left:28%;top:34%;background:var(--purple);border-radius:48% 52% 58% 42%/53% 44% 56% 47%;box-shadow:0 12px 30px rgba(95,37,181,.18)}.about-art .blob2{position:absolute;width:120px;height:105px;right:12%;bottom:14%;background:var(--lime);border-radius:55% 45% 52% 48%/44% 56% 44% 56%}.about-art .words{position:absolute;z-index:2;inset:0;display:grid;place-items:center;text-align:center;padding:80px;font-size:34px;line-height:1.15;font-weight:900;color:#fff;text-shadow:0 2px 8px rgba(45,20,80,.16)}

/* Real-slime photo treatment: uses crops from the approved How It Works artwork. */
.real-slime-panel{position:relative;border-radius:32px;overflow:hidden;box-shadow:0 15px 45px rgba(74,32,112,.14);border:2px solid #f3e8f8;background:#fff;min-height:520px}
.real-slime-panel img{width:100%;height:100%;min-height:520px;display:block;object-fit:cover;object-position:center}
.photo-tag{position:absolute;left:22px;bottom:22px;background:rgba(255,255,255,.92);color:var(--purple);font-weight:900;letter-spacing:1.5px;padding:12px 18px;border-radius:999px;box-shadow:0 6px 18px rgba(45,20,80,.12)}
.contact-slime{margin-top:24px;display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center;padding:14px;border-radius:22px;background:linear-gradient(135deg,#fff5f8,#f5ffff);border:2px solid #f3e8f8}
.contact-slime img{width:110px;height:110px;border-radius:18px;object-fit:cover;display:block}
.contact-slime b{display:block;color:var(--purple);font-size:16px;margin-bottom:4px}.contact-slime span{display:block;color:#514866;font-size:14px}
@media(max-width:900px){.real-slime-panel,.real-slime-panel img{min-height:390px}.contact-slime{grid-template-columns:90px 1fr}.contact-slime img{width:90px;height:90px}}

/* Final clean slime treatment: decorative, not fake photo-real slime. */
.slime-art{min-height:520px;border-radius:32px;position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#fffaf5 100%);border:2px solid #f3e8f8;box-shadow:0 15px 45px rgba(74,32,112,.10)}
.slime-puddle{position:absolute;filter:drop-shadow(0 10px 14px rgba(73,35,110,.12));border-radius:52% 48% 56% 44%/45% 55% 45% 55%}
.slime-puddle:after{content:"";position:absolute;width:34%;height:34%;border-radius:50%;background:rgba(255,255,255,.25);top:15%;left:18%}
.slime-pink{width:270px;height:210px;background:var(--pink);right:-65px;top:-35px;transform:rotate(12deg)}
.slime-teal{width:245px;height:190px;background:var(--teal);left:-55px;bottom:-28px;transform:rotate(-10deg)}
.slime-purple{width:185px;height:150px;background:var(--purple);right:16%;bottom:11%;transform:rotate(7deg)}
.slime-lime{width:130px;height:105px;background:var(--lime);left:15%;top:17%;transform:rotate(-8deg)}
.slime-art-copy{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:3;font-size:38px;line-height:1.08;font-weight:900;color:var(--purple);text-shadow:0 2px 0 #fff,0 0 18px rgba(255,255,255,.95)}
.slime-art-copy span{color:var(--pink)}
.contact-splat{margin-top:24px;display:grid;grid-template-columns:90px 1fr;gap:18px;align-items:center;padding:18px;border-radius:22px;background:linear-gradient(135deg,#fff5f8,#f5ffff);border:2px solid #f3e8f8}
.mini-splat{width:82px;height:72px;background:var(--teal);border-radius:54% 46% 57% 43%/47% 58% 42% 53%;position:relative;transform:rotate(-8deg);box-shadow:0 8px 18px rgba(18,188,199,.18)}
.mini-splat:before,.mini-splat:after{content:"";position:absolute;border-radius:50%;background:var(--teal)}
.mini-splat:before{width:24px;height:24px;left:-10px;top:10px}.mini-splat:after{width:18px;height:18px;right:-7px;bottom:5px}
.contact-splat b{display:block;color:var(--purple);font-size:16px;margin-bottom:4px}.contact-splat span{display:block;color:#514866;font-size:14px}
@media(max-width:900px){.slime-art{min-height:390px}.slime-art-copy{font-size:31px}}
.about-photo{border-radius:32px;overflow:hidden;border:2px solid #f3e8f8;box-shadow:0 15px 45px rgba(74,32,112,.10);background:#fff}
.about-photo img{display:block;width:100%;height:auto;aspect-ratio:1.21/1;object-fit:cover}

.formwrap-single{grid-template-columns:minmax(0,760px);justify-content:center}

/* Mobile navigation and responsive polish */
.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;color:var(--purple);font-size:34px;line-height:1;font-weight:800;padding:4px 6px;cursor:pointer}
@media(max-width:900px){
  .nav{flex-wrap:nowrap;padding:12px 5vw;gap:12px;min-height:64px}
  .brand{font-size:18px;letter-spacing:3px;line-height:1.1;max-width:78%;white-space:nowrap}
  .menu-toggle{display:block}
  .links{display:none;position:absolute;top:100%;left:0;right:0;width:auto;margin:0;padding:14px 5vw 20px;background:rgba(255,250,243,.99);box-shadow:0 12px 24px rgba(80,35,120,.12);flex-direction:column;align-items:stretch;gap:2px;overflow:visible;font-size:14px}
  .nav.menu-open .links{display:flex}
  .links a{padding:12px 4px;border-bottom:1px solid rgba(95,37,181,.08)}
  .links a.active{border-bottom:1px solid rgba(95,37,181,.08);padding-bottom:12px;color:var(--pink)}
  .links .book{margin-top:10px;text-align:center;border-bottom:0;padding:13px 18px}
  .hero{grid-template-columns:1fr;gap:28px;padding:38px 6vw 46px;min-height:auto}
  .hero h1,.title{font-size:clamp(42px,12vw,58px)}
  .lead{font-size:18px}
  .hero-art{border-radius:24px;padding:8px 8px 20px}
  .section{padding:46px 6vw}
  .about-grid,.formwrap,.two{grid-template-columns:1fr}
  .chips{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .nav{padding:11px 18px}
  .brand{font-size:16px;letter-spacing:2.2px}
  .menu-toggle{font-size:30px}
  .links{padding:10px 18px 18px}
  .hero{padding:30px 20px 38px;gap:22px}
  .hero h1,.title{font-size:clamp(38px,11vw,50px);margin-bottom:18px}
  .hero .eyebrow{font-size:13px}
  .lead{font-size:17px;line-height:1.45}
  .cta{padding:12px 18px}
  .section{padding:40px 20px}
  .chips{grid-template-columns:1fr}
  .event-card{padding:14px}
  .event-card h2{font-size:26px}
  .quote-card{font-size:20px;padding:20px}
  .footer{padding:28px 20px}
}

/* Final mobile home-page spacing polish */
@media(max-width:560px){
  .hero{padding-top:22px}
}


/* Consolidated mobile polish — desktop layout remains unchanged */
.home-strip-title{font-size:44px;margin-top:0;color:var(--purple)}
.whats-title{font-size:60px}
.wave-title{font-size:48px;margin:0 0 10px}
.event-wave-title{font-size:44px}
.contact-form-title{color:var(--teal);font-size:34px;margin-top:0}

@media(max-width:560px){
  /* Keep the sticky header fully opaque so scrolled content never shows through it. */
  .nav{background:var(--cream);box-shadow:0 2px 12px rgba(80,35,120,.08)}

  /* Home */
  .hero{padding-bottom:26px}
  .hero-art{margin-bottom:0}
  .hero + .section{padding-top:28px;padding-bottom:32px}
  .home-strip-title{font-size:27px;line-height:1.15;white-space:nowrap;margin:0 0 14px;letter-spacing:.2px}
  .hero + .section .lead{margin-top:0}

  /* How It Works */
  .how-top{overflow:hidden;background:#fff}
  .how-art{width:112%;max-width:none;margin-left:-6%;display:block}
  .whats-title{font-size:42px!important;line-height:1.02;margin:12px 0 22px}
  .chips{gap:14px;margin-top:18px}
  .chip{padding:18px 16px;border-radius:22px}
  .chip .icon{font-size:28px;margin-bottom:6px}
  .chip b{font-size:18px;margin-bottom:2px}
  .wave-title{font-size:38px!important;line-height:1.06;margin:0 0 12px}

  /* Events */
  .event-card{padding:12px;border-radius:26px}
  .event-card img{border-radius:19px}
  .event-card h2{font-size:25px;line-height:1.1;margin:18px 0 8px}
  .event-card p{font-size:16px;line-height:1.45;margin:0 8px 18px}
  .event-card .cta{margin-bottom:10px}
  .two{gap:28px!important;margin-top:30px!important}
  .event-wave-title{font-size:36px!important;line-height:1.15;margin-bottom:18px}

  /* About */
  .about-title{font-size:44px!important;line-height:1.02}
  .about-photo{align-self:start;line-height:0}
  .about-photo img{height:auto;aspect-ratio:auto;object-fit:contain}

  /* Contact */
  .contact-title{font-size:43px!important;line-height:1.04}
  .formcard{padding:24px 20px}
  .contact-form-title{font-size:31px;line-height:1.12;margin-bottom:22px}
  .formcard input,.formcard textarea,.formcard select{padding:12px;margin:6px 0 13px}
  .formcard textarea{min-height:150px}
  .formcard .cta{margin-top:4px}
}

/* STRONG mobile refinement pass — intentionally obvious at phone widths */
@media(max-width:560px){
  /* Global: less oversized type and less vertical dead space */
  .section{padding:30px 20px}
  .eyebrow{font-size:12px;letter-spacing:1.8px}
  .lead{font-size:16px;line-height:1.42}

  /* Home: compact first screen and lower strip */
  .hero{padding:20px 20px 24px;gap:16px}
  .hero h1{font-size:42px;line-height:.98;margin:8px 0 16px}
  .hero .lead{font-size:16px;line-height:1.42;margin-bottom:18px}
  .hero .cta{padding:11px 17px;font-size:15px}
  .hero-art{border-radius:20px;padding:6px 6px 14px;box-shadow:0 10px 28px rgba(76,35,117,.12)}
  .hero + .section{padding:24px 20px 26px}
  .home-strip-title{font-size:23px!important;line-height:1.12;white-space:normal;margin-bottom:10px}

  /* How It Works: make approved infographic substantially larger */
  .how-top{padding:0!important}
  .how-art{width:150%!important;max-width:none!important;margin-left:-25%!important}
  .whats-title{font-size:34px!important;line-height:1;margin:8px 0 18px}
  .chips{gap:10px;margin-top:12px}
  .chip{padding:13px 14px;border-radius:18px;min-height:0}
  .chip .icon{font-size:23px;margin-bottom:2px}
  .chip b{font-size:17px;margin-bottom:0}
  .wave{padding:34px 20px!important}
  .wave-title{font-size:30px!important;line-height:1.04;margin-bottom:8px}
  .wave .lead{font-size:15px;margin-bottom:18px!important}

  /* Events: noticeably shorter cards and smaller CTA section */
  .two{gap:20px!important;margin-top:24px!important}
  .event-card{padding:10px 10px 14px;border-radius:22px}
  .event-card img{aspect-ratio:16/10;border-radius:16px}
  .event-card h2{font-size:22px;line-height:1.08;margin:14px 0 6px}
  .event-card p{font-size:15px;line-height:1.35;margin:0 5px 13px}
  .event-card .cta{font-size:15px;padding:11px 17px;margin-bottom:2px}
  .event-wave-title{font-size:30px!important;line-height:1.08;margin:0 auto 12px;max-width:330px}

  /* About: title no longer dominates screen; photo is a landscape crop */
  .about-grid{gap:26px}
  .about-title{font-size:36px!important;line-height:.98;margin:8px 0 18px}
  .about-grid .lead{font-size:16px}
  .quote-card{font-size:18px;line-height:1.35;padding:17px;margin-top:18px}
  .about-photo{border-radius:22px}
  .about-photo img{width:100%;height:260px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center 40%!important}

  /* Contact: compact intro and substantially shorter form */
  .contact-title{font-size:34px!important;line-height:1.02;margin:8px 0 15px}
  #form.section{padding:14px 20px 30px!important}
  .formcard{padding:20px 17px;border-radius:22px}
  .contact-form-title{font-size:27px;line-height:1.05;margin:0 0 17px}
  .formcard label{font-size:15px}
  .formcard input,.formcard textarea,.formcard select{padding:10px 11px;margin:4px 0 10px;border-radius:12px}
  .formcard textarea{min-height:115px!important}
  .formcard .cta{font-size:15px;padding:11px 17px}
}

/* Mobile refinement v3: keep the complete approved How It Works infographic visible. */
@media(max-width:560px){
  .how-top{overflow:hidden!important;padding:0!important;background:#fff}
  .how-art{width:100%!important;max-width:100%!important;height:auto!important;margin:0 auto!important;display:block!important;object-fit:contain!important}
}
