:root{--color-primary-navy:#2b2a7b;--color-primary-navy-dark:#1e1d5b;--color-accent-pink:#ec5d7c;--color-accent-pink-hover:#d84b6a;--color-accent-orange:#d9822b;--color-accent-orange-hover:#c5721f;--color-bg-cream:#f5efe0;--color-bg-cream-light:#fffbf0;--color-bg-light:#faf8f5;--color-bg-white:#fff;--color-text-dark:#2d2d2d;--color-text-secondary:#454545;--color-text-muted:#727272;--color-text-light:#8a8a8a;--color-text-white:#fff;--color-border:#e5e0d8;--color-border-subtle:#ebe6dc;--shadow-sm:0 2px 8px #2b2a7b0f;--shadow-md:0 4px 16px #2b2a7b1a;--shadow-lg:0 8px 30px #2b2a7b1f;--shadow-card:0 6px 20px #0000000d;--color-star:#ffb800;--color-open-bg:#e8f5e9;--color-open-text:#2e7d32;--color-closed-bg:#ffebee;--color-closed-text:#c62828;--font-family-display:"Fredoka", "Poppins", sans-serif;--font-family-body:"Poppins", system-ui, -apple-system, sans-serif;--container-max-width:1320px;--header-height:84px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:9999px;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1)}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px;overflow-x:hidden}body{font-family:var(--font-family-body);background-color:var(--color-bg-white);color:var(--color-text-dark);flex-direction:column;min-height:100vh;line-height:1.6;display:flex;overflow-x:hidden}main{flex:1 0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);color:var(--color-primary-navy);font-weight:600;line-height:1.25}h1{font-size:clamp(2rem,5vw,3.25rem)}h2{font-size:clamp(1.75rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}p{color:var(--color-text-secondary)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-family-body);background:0 0;border:none}img{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--color-accent-pink);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #ec5d7c66}50%{box-shadow:0 0 0 10px #ec5d7c00}}.animate-fade-in{animation:.6s forwards fadeIn}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
