:root{--clr-red: #E8322A;--clr-red-dark: #C4251E;--clr-red-light: #FF5A52;--clr-red-pale: #FDECEA;--clr-green: #3BAA6E;--clr-green-dark: #2D8A58;--clr-green-light: #52CC86;--clr-green-pale: #E8F7EF;--clr-yellow: #F5A623;--clr-yellow-dark: #D4891A;--clr-yellow-light: #FFB94A;--clr-yellow-pale: #FEF6E9;--clr-black: #1A1A1A;--clr-gray-900: #2D2D2D;--clr-gray-700: #4A4A4A;--clr-gray-600: #616161;--clr-gray-500: #757575;--clr-gray-400: #9E9E9E;--clr-gray-300: #BDBDBD;--clr-gray-200: #E0E0E0;--clr-gray-100: #F5F5F5;--clr-gray-50: #FAFAFA;--clr-white: #FFFFFF;--clr-whatsapp: #25D366;--clr-whatsapp-dk: #128C7E;--font-display: "Fredoka", sans-serif;--font-heading: "Baloo 2", sans-serif;--font-body: "Nunito", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--text-5xl: 3.75rem;--fw-regular: 400;--fw-medium: 500;--fw-semi: 600;--fw-bold: 700;--fw-black: 800;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-2xl: 40px;--radius-full: 9999px;--shadow-xs: 0 1px 4px rgba(0,0,0,.06);--shadow-sm: 0 2px 8px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.14);--shadow-xl: 0 16px 48px rgba(0,0,0,.18);--shadow-red: 0 6px 20px rgba(232, 50, 42, .35);--shadow-green: 0 6px 20px rgba(59, 170, 110, .35);--shadow-yellow: 0 6px 20px rgba(245, 166, 35, .35);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .12s;--dur-normal: .22s;--dur-slow: .38s;--dur-slower: .55s;--z-base: 1;--z-raised: 10;--z-header: 100;--z-fab: 150;--z-overlay: 200;--z-drawer: 210;--z-modal: 300;--z-toast: 400;--header-height: 64px;--max-width: 1280px;--grid-gap: var(--space-4);--section-pad-x: var(--space-4);--section-pad-y: var(--space-12)}@media (min-width: 768px){:root{--header-height: 72px;--grid-gap: var(--space-6);--section-pad-x: var(--space-8);--section-pad-y: var(--space-16)}}@media (min-width: 1024px){:root{--section-pad-x: var(--space-10);--section-pad-y: var(--space-20)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--fw-regular);color:var(--clr-black);background-color:var(--clr-gray-50);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.no-scroll{overflow:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--clr-gray-100)}::-webkit-scrollbar-thumb{background:var(--clr-red);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--clr-red-dark)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--fw-bold);line-height:1.2;color:var(--clr-black)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-md)}h6{font-size:var(--text-base)}@media (min-width: 768px){h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}}p{color:var(--clr-gray-700);line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}ul,ol{list-style:none}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}input,select,textarea{font-family:var(--font-body);font-size:var(--text-base)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--fw-semi);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);border:2px solid transparent;cursor:pointer;transition:all var(--dur-normal) var(--ease-out);white-space:nowrap;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff0;transition:background var(--dur-fast)}.btn:hover:after{background:#ffffff1a}.btn:active:after{background:#00000014}.btn--primary{background:var(--clr-red);color:var(--clr-white);box-shadow:var(--shadow-red)}.btn--primary:hover{background:var(--clr-red-dark);transform:translateY(-2px);box-shadow:0 8px 24px #e8322a73}.btn--primary:active{transform:translateY(0)}.btn--green{background:var(--clr-green);color:var(--clr-white);box-shadow:var(--shadow-green)}.btn--green:hover{background:var(--clr-green-dark);transform:translateY(-2px)}.btn--outline{background:transparent;color:var(--clr-white);border-color:#fff9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn--outline:hover{background:#ffffff26;border-color:var(--clr-white);transform:translateY(-2px)}.btn--ghost{background:transparent;color:var(--clr-gray-700);border-color:var(--clr-gray-300)}.btn--ghost:hover{background:var(--clr-gray-100)}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn--lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.btn--full{width:100%}@media (min-width: 768px){.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-md)}}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-full);background:transparent;color:var(--clr-black);font-size:var(--text-md);transition:background var(--dur-fast),color var(--dur-fast),transform var(--dur-fast);flex-shrink:0}.icon-btn:hover{background:var(--clr-gray-100);transform:scale(1.08)}.icon-btn:active{transform:scale(.95)}.section-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--clr-black);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}@media (min-width: 768px){.section-title{font-size:var(--text-3xl)}}.section-subtitle{color:var(--clr-gray-500);font-size:var(--text-base);margin-top:var(--space-2);max-width:560px}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.stars{display:inline-flex;gap:2px;color:var(--clr-yellow);font-size:var(--text-sm)}.stars .star-empty{color:var(--clr-gray-300)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--fw-bold);font-family:var(--font-heading);letter-spacing:.02em}.badge--red{background:var(--clr-red);color:var(--clr-white)}.badge--green{background:var(--clr-green);color:var(--clr-white)}.badge--yellow{background:var(--clr-yellow);color:var(--clr-white)}.badge--black{background:var(--clr-black);color:var(--clr-white)}.puzzle-dot{display:inline-block;width:14px;height:14px;border-radius:50%;flex-shrink:0}.puzzle-dot--red{background:var(--clr-red)}.puzzle-dot--green{background:var(--clr-green)}.puzzle-dot--yellow{background:var(--clr-yellow)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-12px) rotate(3deg)}66%{transform:translateY(-6px) rotate(-3deg)}}@keyframes floatAlt{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(-5deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes pulseRing{0%{transform:scale(.8);opacity:.8}to{transform:scale(2.2);opacity:0}}@keyframes bounce{0%,to{transform:translateY(0);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(-8px);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes cartBump{0%{transform:scale(1)}30%{transform:scale(1.35)}60%{transform:scale(.9)}to{transform:scale(1)}}@keyframes badgePop{0%{transform:scale(0)}60%{transform:scale(1.4)}to{transform:scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(16px)}}@keyframes checkmarkPop{0%{transform:scale(0) rotate(-45deg);opacity:0}60%{transform:scale(1.3) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(120px) rotate(720deg);opacity:0}}@keyframes morphBlob{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}.anim-fade-in-up{animation:fadeInUp var(--dur-slow) var(--ease-out) both}.anim-fade-in-up--d1{animation-delay:.1s}.anim-fade-in-up--d2{animation-delay:.2s}.anim-fade-in-up--d3{animation-delay:.3s}.anim-fade-in-up--d4{animation-delay:.4s}.anim-fade-in-up--d5{animation-delay:.5s}.anim-float{animation:float 4s ease-in-out infinite}.anim-float-alt{animation:floatAlt 5s ease-in-out infinite}.anim-pulse{animation:pulse 2s ease-in-out infinite}.anim-bounce{animation:bounce 1.4s infinite}.anim-spin{animation:spin 1s linear infinite}.anim-wiggle{animation:wiggle .6s ease-in-out}.hover-lift{transition:transform var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out)}.hover-lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
