@font-face{font-family:Fredoka;font-weight:400;src:url(/fonts/fredoka-400.ttf) format("truetype");font-display:swap}@font-face{font-family:Fredoka;font-weight:500;src:url(/fonts/fredoka-500.ttf) format("truetype");font-display:swap}@font-face{font-family:Fredoka;font-weight:600;src:url(/fonts/fredoka-600.ttf) format("truetype");font-display:swap}@font-face{font-family:Fredoka;font-weight:700;src:url(/fonts/fredoka-700.ttf) format("truetype");font-display:swap}@font-face{font-family:Nunito;font-weight:400;src:url(/fonts/nunito-400.ttf) format("truetype");font-display:swap}@font-face{font-family:Nunito;font-weight:500;src:url(/fonts/nunito-500.ttf) format("truetype");font-display:swap}@font-face{font-family:Nunito;font-weight:600;src:url(/fonts/nunito-600.ttf) format("truetype");font-display:swap}@font-face{font-family:Nunito;font-weight:700;src:url(/fonts/nunito-700.ttf) format("truetype");font-display:swap}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #faf7f2;--bg-card: #fff;--bg-card-hover: #f5f0ea;--text: #2a2520;--text-2: #6b6560;--text-3: #a09890;--accent: #2d9f4e;--accent-light: #e8f5e9;--accent-dark: #1e7a38;--border: #e8e0d8;--shadow-sm: 0 1px 3px rgba(40,30,20,.06);--shadow-md: 0 4px 12px rgba(40,30,20,.08);--shadow-lg: 0 8px 24px rgba(40,30,20,.1);--container: 1200px;--font-display: "Fredoka", sans-serif;--font-body: "Nunito", sans-serif;--radius: 16px;--radius-sm: 10px}html{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased}body{min-height:100vh;display:flex;flex-direction:column}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a[target=_blank]:after{content:"";display:inline-block;width:14px;height:14px;margin-left:4px;vertical-align:middle;opacity:.35;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center / contain}.hero{padding:72px 40px 56px;max-width:var(--container);margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:40px}.hero-content{max-width:520px}.hero-label{display:inline-block;font-family:var(--font-display);font-size:.75rem;font-weight:600;color:var(--accent);background:var(--accent-light);padding:5px 12px;border-radius:20px;margin-bottom:16px}.hero h1{font-family:var(--font-display);font-size:3.25rem;font-weight:700;letter-spacing:-.5px;line-height:1.1;color:var(--text)}.hero-tagline{font-size:1.0625rem;color:var(--text-2);margin:16px 0 28px;line-height:1.6}.hero-buttons{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:.875rem;font-weight:600;border:2px solid transparent;cursor:pointer;transition:transform .12s,box-shadow .12s,background .15s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-card);color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-sm)}.hero-visual{font-size:6rem;line-height:1;user-select:none}.features-section{max-width:var(--container);margin:0 auto;padding:0 40px 80px;width:100%}.features-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.features-header h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text)}.features-header p{color:var(--text-2);font-size:.875rem;margin-top:2px}.categories{display:flex;gap:4px;flex-wrap:wrap}.pill{padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:600;border:2px solid transparent;background:transparent;color:var(--text-3);cursor:pointer;transition:all .15s;font-family:var(--font-display)}.pill:hover{color:var(--text-2);background:var(--bg-card);border-color:var(--border)}.pill.active{color:var(--accent);background:var(--accent-light);border-color:transparent}.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bento-card{background:var(--bg-card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);transition:transform .15s,box-shadow .15s;border:1.5px solid var(--border)}.bento-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.bento-card.has-img{grid-column:span 2}.bento-img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.bento-body{padding:20px}.bento-cat{font-family:var(--font-display);font-size:.6875rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.bento-name{font-family:var(--font-display);font-weight:700;font-size:1.0625rem;color:var(--text);margin-top:4px}.bento-desc{font-size:.8125rem;color:var(--text-2);margin-top:6px;line-height:1.5}.bento-card:not(.has-img) .bento-name{font-size:.9375rem}.popup{display:none;position:fixed;inset:0;z-index:200;align-items:center;justify-content:center}.popup.open{display:flex}.popup-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.popup-container{position:relative;max-width:90vw;max-height:90vh}.popup-card{background:var(--bg-card);border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 48px #0003;max-width:720px;width:720px;max-height:85vh;overflow-y:auto}.popup-img-wrap{width:100%;aspect-ratio:16 / 9;overflow:hidden}.popup-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}.popup-body{padding:24px}.popup-cat{font-family:var(--font-display);font-size:.6875rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.popup-name{font-family:var(--font-display);font-size:1.375rem;font-weight:700;color:var(--text);margin-top:4px}.popup-desc{font-size:.9375rem;color:var(--text-2);margin-top:8px;line-height:1.6}.popup-counter{font-family:var(--font-display);font-size:.75rem;font-weight:500;color:var(--text-3)}.popup-nav-row{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 16px}.popup-nav{background:none;border:none;width:36px;height:36px;border-radius:8px;font-size:1.25rem;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.popup-nav:hover{background:var(--bg-card-hover);color:var(--text)}.popup-close{position:absolute;top:12px;right:12px;background:#ffffffd9;border:none;width:32px;height:32px;border-radius:8px;font-size:.75rem;color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s;z-index:1}.popup-close:hover{background:#fff}@media(max-width:640px){.popup-card{width:95vw;max-width:95vw}}.footer{border-top:1px solid var(--border);margin-top:auto;background:var(--bg)}.footer-inner{max-width:var(--container);margin:0 auto;padding:20px 40px;display:flex;align-items:center;justify-content:space-between}.footer-logo{font-family:var(--font-display);font-weight:700;font-size:.875rem;color:var(--text-3)}.footer-right{display:flex;gap:24px}.footer-right a{font-size:.8125rem;font-weight:600;color:var(--text-3);transition:color .15s}.footer-right a:hover{color:var(--text)}@media(max-width:900px){.bento{grid-template-columns:repeat(2,1fr)}.bento-card.has-img{grid-column:span 2}}@media(max-width:640px){.hero{padding:48px 20px 40px;flex-direction:column;text-align:center}.hero h1{font-size:2.25rem}.hero-buttons{justify-content:center}.hero-visual{font-size:4rem}.features-section{padding:0 20px 64px}.features-top{flex-direction:column;align-items:flex-start}.bento{grid-template-columns:1fr}.bento-card.has-img{grid-column:span 1}.footer-inner{padding:20px}}
