/* toddler balanced theme + stacked form + edge doodles + animations */
:root{
  --text:#201A17; --muted:#5f5c5a; --bg:#FFF8EF; --surface:#FFFFFF; --alt:#FFF1E4;
  --line:#F0E2D2; --blue:#3F7FFF; --green:#2BC670; --pink:#FF76A8; --purple:#9B8CFF; --yellow:#FFD84D;
  --shadow:0 18px 42px rgba(33,20,0,.12); --radius:22px;
  --page:1100px;
}
html[data-theme="dark"]{
  --text:#EDF3FA; --muted:#cfd7e6; --bg:#26324B; --surface:#2E3D5F; --alt:#324468;
  --line:#3B4E78; --shadow:0 24px 54px rgba(0,0,0,.45);
  --blue:#86A8FF; --green:#72E9A0; --pink:#FF9BC1; --purple:#B6A8FF; --yellow:#FFE072;
}
*{box-sizing:border-box} html,body{margin:0}
body{background:var(--bg);color:var(--text);font-family:'Fredoka',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;line-height:1.65}
a{color:var(--blue)} .container{max-width:1100px;margin:0 auto;padding:0 20px} .center{text-align:center}

/* Header spacing & contrast */
.header{ position:relative; padding:14px 0 8px; }
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:12px; position:relative; z-index:2; }
.crayon-divider{ position:relative; z-index:1; margin-top:12px; height:14px;
  background:repeating-linear-gradient(90deg,#FFBED2 0 20px,#FFD166 20px 40px,#B8F999 40px 60px,#93C5FD 60px 80px,#C7B8FF 80px 100px);
  clip-path: polygon(0 50%,2% 40%,6% 60%,10% 40%,14% 60%,18% 40%,22% 60%,26% 40%,30% 60%,34% 40%,38% 60%,42% 40%,46% 60%,50% 40%,54% 60%,58% 40%,62% 60%,66% 40%,70% 60%,74% 40%,78% 60%,82% 40%,86% 60%,90% 40%,94% 60%,100% 50%);
}
.site-title{font-size:clamp(24px,4.6vw,40px);margin:0}
.title-badges{display:inline-flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:8px}
.badge{display:inline-block;background:color-mix(in srgb, var(--surface) 85%, #fff 15%);color:var(--text);
  border:2px dashed color-mix(in srgb, var(--line) 80%, #000 0%);border-radius:999px;padding:6px 10px;box-shadow:0 6px 14px rgba(0,0,0,.08)}
.badge-ymca{background:linear-gradient(90deg,#FFE9A8 0%, #FFF6CC 100%);color:#5a4a11;border-color:#E6CE7C}
html[data-theme="dark"] .badge{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.28);box-shadow:none}
html[data-theme="dark"] .badge-ymca{background:linear-gradient(90deg,#8f7a2a 0%, #C2A84A 100%);color:#fff7d1;border-color:#BFA445}
.mode-toggle{border:2px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 12px;cursor:pointer}
html[data-theme="dark"] .mode-toggle{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff}

.section{padding:46px 0;position:relative} .section.alt{background:var(--alt)}
.scallop-top:before,.scallop-bottom:after{content:'';position:absolute;left:0;right:0;height:24px;opacity:.9;background-size:48px 24px}
.scallop-top:before{top:-12px;background:radial-gradient(24px at 24px 24px,var(--alt) 99%,transparent 101%) repeat-x}
.scallop-bottom:after{bottom:-12px;background:radial-gradient(24px at 24px 0,var(--alt) 99%,transparent 101%) repeat-x}

.hero-grid{display:grid;gap:22px;align-items:center} @media(min-width:940px){.hero-grid{grid-template-columns:320px 1fr}}
.polaroid{position:relative;background:var(--surface);padding:16px 16px 28px;border-radius:16px;border:2px solid var(--line);box-shadow:var(--shadow);justify-self:center;transform:rotate(-1.5deg)}
.hero-photo{width:280px;height:280px;border-radius:50%;object-fit:cover;border:8px solid #fff;display:block;margin:0 auto}
.tape{position:absolute;width:86px;height:22px;background:#fff7;backdrop-filter:blur(3px);transform:rotate(-8deg);border-radius:4px;border:1px solid #fff3}
.tape-1{top:-10px;left:14px}.tape-2{top:-10px;right:14px;transform:rotate(8deg)}
.hero-text h2{font-size:clamp(22px,4vw,34px);margin:0 0 6px}.pop{color:var(--pink)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.chip{display:inline-block;padding:8px 12px;border-radius:999px;border:2px dashed var(--line);font-weight:600;background:var(--surface)}
.chip-blue{background:color-mix(in srgb, var(--blue) 14%, white)} .chip-green{background:color-mix(in srgb, var(--green) 14%, white)} .chip-pink{background:color-mix(in srgb, var(--pink) 14%, white)}
html[data-theme="dark"] .chip{color:var(--text);border-color:rgba(255,255,255,.24)}
html[data-theme="dark"] .chip-blue{background:color-mix(in srgb, var(--blue) 28%, #000)}
html[data-theme="dark"] .chip-green{background:color-mix(in srgb, var(--green) 28%, #000)}
html[data-theme="dark"] .chip-pink{background:color-mix(in srgb, var(--pink) 28%, #000)}
.btn{display:inline-block;border:none;border-radius:16px;padding:12px 16px;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;box-shadow:0 12px 26px rgba(79,125,245,.28)}
.btn-big{padding:14px 18px}

.card{background:var(--surface);border:2px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}
.grid-2{display:grid;gap:18px} @media(min-width:940px){.grid-2{grid-template-columns:1fr 1fr}}

.timeline{list-style:none;margin:0;padding:0;border-left:6px dotted color-mix(in srgb,var(--blue) 40%, white);margin-left:10px}
.timeline li{padding:10px 10px 10px 16px;position:relative}
html[data-theme="dark"] .timeline{border-left-color:color-mix(in srgb,var(--blue) 55%, #000)}
.timeline li:before{content:'';position:absolute;left:-10px;top:16px;width:16px;height:16px;border-radius:50%;background:var(--yellow);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.t-badge{display:inline-block;background:color-mix(in srgb,var(--blue) 14%, white);border:2px dashed var(--line);border-radius:999px;padding:4px 10px;margin-right:8px;font-weight:700}
html[data-theme="dark"] .t-badge{background:color-mix(in srgb,var(--blue) 28%, #000);border-color:rgba(255,255,255,.24);color:var(--text)}

/* Notice card */
.notice-card{border-style:dashed;border-color:color-mix(in srgb,var(--pink) 70%, var(--line));background:color-mix(in srgb,var(--pink) 8%, var(--surface))}
html[data-theme="dark"] .notice-card{background:color-mix(in srgb,var(--pink) 12%, var(--surface));border-color:rgba(255,255,255,.24)}

@keyframes doodle-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes doodle-drift{0%,100%{transform:translateX(0) rotate(0)}50%{transform:translateX(10px) rotate(2deg)}}
@keyframes doodle-sway{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-6px)}}
@keyframes doodle-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
.anim-bob{animation:doodle-bob 4.5s ease-in-out infinite}
.anim-bob-slow{animation:doodle-bob 6.5s ease-in-out infinite}
.anim-drift{animation:doodle-drift 10s ease-in-out infinite}
.anim-sway{animation:doodle-sway 7s ease-in-out infinite}
.anim-spin-slow{animation:doodle-spin 22s linear infinite}

.edge-doodle{position:absolute;z-index:0;pointer-events:none;filter:drop-shadow(0 8px 16px rgba(0,0,0,.12));opacity:.95;will-change:transform}
.edge-left  { left:  max(-12px, calc((100vw - var(--page))/2 - 48px)); }
.edge-right { right: max(-12px, calc((100vw - var(--page))/2 - 48px)); }
.edge-sm{width:56px;height:auto}.edge-md{width:80px;height:auto}.edge-lg{width:110px;height:auto}
#hero       .edge-left  { top:  22px; }
#hero       .edge-right { top:  -8px; }
#about      .edge-left  { top:  -16px; }
#hours      .edge-right { top:  40px; }
#schedule   .edge-left  { top:  30px; }
#meals      .edge-right { top: -10px; }
#environment.edge-left  { top:  10px; }
#contact    .edge-right { top:  20px; }

/* Mobile: tuck doodles to the edge instead of hiding */
@media (max-width: 820px) {
  .edge-left  { left: -8px !important; }
  .edge-right { right: -8px !important; }
  .edge-doodle.edge-lg { width: 84px; }
  .edge-doodle.edge-md { width: 64px; }
  .edge-doodle.edge-sm { width: 48px; }
}

.hidden{display:none !important;visibility:hidden;height:0;overflow:hidden}

/* stacked form */
form { display:flex; flex-direction:column; gap:14px; }
form label { display:flex; flex-direction:column; font-weight:600; }
form input, form textarea { width:100%; max-width:100%; box-sizing:border-box; padding:12px 14px; border:2px solid var(--line); border-radius:14px; background:var(--surface); color:var(--text); }
form input:focus, form textarea:focus{ outline:none; border-color:color-mix(in srgb,var(--blue) 50%, white); box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 28%, transparent); }
.btn.btn-big{width:100%;text-align:center;margin-top:8px}

.footer{padding:34px 0 42px;text-align:center;color:var(--muted)}
.footer-icon{ margin-right:6px; font-size:1.2em; }
