:root{--pink:#f00677;--aqua:#18b8c5;--yellow:#f7bf16;--orange:#ff8508;--ink:#19305f;--cream:#fffaf1;--white:#fff;--muted:#667085;--shadow:0 18px 50px rgba(25,48,95,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream);line-height:1.55}a{color:inherit}.site-header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px clamp(20px,5vw,70px);background:rgba(255,250,241,.95);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px);border-bottom:1px solid rgba(25,48,95,.09)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-logo{width:66px;height:66px;border-radius:50%;object-fit:cover;box-shadow:0 5px 16px rgba(25,48,95,.13)}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-family:"Fredoka";font-size:19px}.brand-copy small{font-size:11px;letter-spacing:.11em;text-transform:uppercase;margin-top:5px}.main-nav{display:flex;align-items:center;gap:28px}.main-nav a{text-decoration:none;font-weight:800;font-size:14px}.nav-cta{background:var(--ink);color:white!important;padding:11px 18px;border-radius:999px}.nav-toggle{display:none;border:0;background:var(--ink);color:white;border-radius:999px;padding:10px 14px;font-weight:700}.hero{min-height:670px;display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;padding:66px clamp(22px,5.5vw,86px) 78px;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:var(--yellow);opacity:.17;left:-220px;top:120px}.hero-copy{max-width:680px;position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:12px;color:#aa145f}.hero h1,.section h2{font-family:"Fredoka";letter-spacing:-.03em;line-height:1.02;margin:12px 0 18px}.hero h1{font-size:clamp(55px,6.6vw,90px)}.hero h1 span{color:var(--pink);text-decoration:underline;text-decoration-color:var(--aqua);text-decoration-thickness:8px;text-underline-offset:8px}.lede{font-size:clamp(18px,1.7vw,22px);max-width:620px;color:#4b5d78}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 20px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;border-radius:999px;padding:15px 22px;transition:.2s transform,.2s box-shadow}.button:hover{transform:translateY(-2px)}.primary{background:var(--pink);color:white;box-shadow:0 10px 24px rgba(240,6,119,.23)}.secondary{border:2px solid var(--ink);background:white}.dark{background:var(--ink);color:white}.hero-tagline{font:700 19px/1.2 "Fredoka";color:var(--orange)}.hero-photo-wrap{position:relative;min-width:0}.hero-photo{display:block;width:100%;aspect-ratio:1.42/1;object-fit:cover;border-radius:32px;border:5px solid var(--ink);box-shadow:14px 14px 0 var(--pink);transform:rotate(1deg)}.photo-sticker{position:absolute;z-index:4;right:-4px;top:-20px;background:var(--yellow);border:3px solid var(--ink);border-radius:999px;padding:10px 18px;font:800 13px/1 "DM Sans";transform:rotate(5deg);box-shadow:5px 5px 0 var(--ink)}.floating-tile{position:absolute;z-index:3;background:white;border:4px solid var(--ink);box-shadow:6px 6px 0 var(--aqua);border-radius:14px;width:72px;height:90px;display:grid;place-items:center;font:700 26px/1 "Fredoka"}.tile-a{left:-28px;bottom:-26px;color:var(--pink);transform:rotate(-10deg)}.tile-b{right:25px;bottom:-38px;color:var(--orange);font-size:16px;letter-spacing:-2px;transform:rotate(8deg)}.marquee{overflow:hidden;background:var(--ink);color:white;padding:16px 0;font-family:"Fredoka";font-size:19px;letter-spacing:.08em;white-space:nowrap}.marquee div{display:inline-block;animation:slide 18s linear infinite}@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-30%)}}.section{padding:90px clamp(22px,6vw,92px)}.compact-section{padding-top:70px;padding-bottom:55px}.section h2{font-size:clamp(38px,5vw,62px)}.brand-intro{display:grid;grid-template-columns:310px 1fr;gap:58px;align-items:center}.brand-intro-logo-wrap{display:grid;place-items:center}.brand-intro-logo{width:min(100%,300px);aspect-ratio:1;border-radius:50%;box-shadow:0 16px 40px rgba(25,48,95,.13);border:4px solid white}.brand-intro p:last-child{font-size:18px;color:#596579;max-width:790px}.section-heading{max-width:720px;margin-bottom:38px}.section-heading>p:last-child,.story-copy p{font-size:18px;color:#596579}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{min-height:300px;border:4px solid var(--ink);border-radius:26px;padding:26px;display:flex;flex-direction:column;box-shadow:8px 8px 0 var(--ink);transition:.2s transform}.product-card:hover{transform:translate(-3px,-3px)}.product-card.pink{background:#ffd8e9}.product-card.aqua{background:#d5f6f8}.product-card.yellow{background:#fff0ad}.product-card.orange{background:#ffe0c1}.card-icon{font-size:48px}.product-card h3{font-family:"Fredoka";font-size:30px;margin:16px 0 6px}.product-card p{margin:0 0 auto;color:#475467}.product-card a{font-weight:900;margin-top:22px;text-decoration:none}.event-section{padding-top:40px}.event-panel{background:linear-gradient(135deg,var(--aqua),#7ee1e2);border:5px solid var(--ink);border-radius:36px;padding:clamp(30px,5vw,60px);box-shadow:12px 12px 0 var(--ink)}.event-panel h2{max-width:750px}.event-panel>div:first-child>p:last-child{max-width:720px;font-size:18px}.event-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}.event-list article{background:white;border:3px solid var(--ink);border-radius:20px;padding:20px;display:flex;gap:16px;align-items:center}.event-list h3{margin:0;font-family:"Fredoka";font-size:21px}.event-list p{margin:2px 0;color:#667085}.date{display:grid;place-items:center;min-width:62px;height:62px;border-radius:16px;background:var(--yellow);font-weight:900;border:3px solid var(--ink)}.story-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}.story-photo-card{position:relative}.story-photo-card img{width:100%;display:block;border-radius:30px;border:5px solid var(--ink);box-shadow:12px 12px 0 var(--orange)}.story-badge{position:absolute;left:-22px;bottom:-30px;background:var(--pink);color:white;border:4px solid var(--ink);border-radius:22px;padding:16px 20px;font:700 22px/1.05 "Fredoka";transform:rotate(-5deg);box-shadow:6px 6px 0 var(--ink)}.contact-section{padding-top:40px}.contact-box{text-align:center;background:var(--orange);border-radius:34px;border:5px solid var(--ink);padding:60px 24px;box-shadow:12px 12px 0 var(--ink)}.contact-box h2{max-width:760px;margin-left:auto;margin-right:auto}.contact-box>p{max-width:650px;margin-left:auto;margin-right:auto}.contact-box form{max-width:620px;margin:26px auto 12px;display:flex;gap:10px}.contact-box input{flex:1;border:3px solid var(--ink);border-radius:999px;padding:16px 20px;font:inherit;min-width:0}.contact-box button{border:3px solid var(--ink);border-radius:999px;background:var(--ink);color:white;font-weight:800;padding:16px 22px;cursor:pointer}.tiny{font-size:12px!important;opacity:.8}footer{padding:42px clamp(22px,6vw,92px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:white;border-top:1px solid rgba(25,48,95,.08);font-size:14px}.footer-brand .brand-logo{width:52px;height:52px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1000px){.hero{grid-template-columns:1fr;padding-top:45px}.hero-copy{max-width:760px}.hero-photo-wrap{max-width:850px}.brand-intro{grid-template-columns:240px 1fr}.cards{grid-template-columns:1fr 1fr}.story-section{grid-template-columns:1fr}.event-list{grid-template-columns:1fr}}@media(max-width:720px){.site-header{min-height:78px}.brand-logo{width:54px;height:54px}.brand-copy strong{font-size:15px}.brand-copy small{display:none}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:20px 24px 28px;flex-direction:column;align-items:stretch;border-bottom:1px solid rgba(25,48,95,.1)}.main-nav.open{display:flex}.nav-toggle{display:block}.hero{padding:42px 22px 65px;min-height:auto}.hero h1{font-size:52px}.hero-photo{border-radius:22px;box-shadow:8px 8px 0 var(--pink)}.photo-sticker{right:2px;top:-18px}.floating-tile{width:58px;height:74px}.tile-a{left:-7px;bottom:-32px}.tile-b{right:18px;bottom:-32px}.brand-intro{grid-template-columns:1fr;gap:28px}.brand-intro-logo{max-width:230px}.cards{grid-template-columns:1fr}.section{padding:70px 22px}.contact-box form{flex-direction:column}.contact-box input,.contact-box button{width:100%}footer{align-items:flex-start;flex-direction:column}.story-badge{left:8px;bottom:-26px;font-size:18px}}

/* Polished event calendar */
.calendar-panel{background:linear-gradient(135deg,var(--aqua),#92e9e7);overflow:hidden;position:relative}.calendar-panel:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.18);right:-70px;top:-80px}.calendar-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;position:relative;z-index:1}.calendar-heading>div:first-child{max-width:760px}.calendar-note{background:white;border:3px solid var(--ink);border-radius:18px;padding:15px 18px;min-width:210px;text-align:center;box-shadow:5px 5px 0 var(--ink);font-size:14px;transform:rotate(1deg)}.year-block{margin-top:34px}.year-label{display:inline-block;background:var(--ink);color:white;border-radius:999px;padding:8px 16px;font:700 18px/1 "Fredoka";letter-spacing:.04em;margin-bottom:14px}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.calendar-card{background:white;border:3px solid var(--ink);border-radius:20px;padding:16px;display:flex;gap:14px;align-items:center;min-height:112px;box-shadow:5px 5px 0 rgba(25,48,95,.18);transition:.2s transform,.2s box-shadow}.calendar-card:hover{transform:translateY(-2px);box-shadow:7px 7px 0 rgba(25,48,95,.24)}.calendar-card.featured{background:#fff5c9}.month-badge{display:grid;place-items:center;min-width:58px;height:66px;border-radius:14px;background:var(--yellow);border:3px solid var(--ink);font-weight:900;font-size:14px}.calendar-card:nth-child(4n+2) .month-badge{background:#ffd4e8}.calendar-card:nth-child(4n+3) .month-badge{background:#ffe1bf}.calendar-card:nth-child(4n) .month-badge{background:#d7f4f6}.calendar-card h3{margin:0;font-family:"Fredoka";font-size:22px}.calendar-card p{margin:2px 0 0;font-weight:800;color:var(--ink)}.calendar-card small{display:block;margin-top:2px;color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.calendar-footer{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:24px}.calendar-footer p{margin:0;max-width:650px;background:rgba(255,255,255,.55);border-radius:16px;padding:12px 15px}.calendar-footer .button{white-space:nowrap}@media(max-width:1000px){.event-grid{grid-template-columns:1fr 1fr}.calendar-heading{flex-direction:column}.calendar-note{align-self:flex-start}}@media(max-width:720px){.event-grid{grid-template-columns:1fr}.calendar-footer{flex-direction:column;align-items:stretch}.calendar-footer .button{width:100%}.calendar-note{width:100%}.calendar-card{min-height:104px}}
