*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
    :root{
      --green:#16a34a;--green-light:#22c55e;--green-pale:#f0fdf4;--green-mid:#dcfce7;
      --white:#ffffff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;
      --gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-900:#111827;
      --shadow:0 4px 24px rgba(0,0,0,0.07);--shadow-lg:0 12px 48px rgba(0,0,0,0.12);
    }
    html{scroll-behavior:smooth;}
    body{font-family:'Inter',sans-serif;background:var(--white);color:var(--gray-900);}
    a{text-decoration:none;color:inherit;}
    button{cursor:pointer;font-family:'Inter',sans-serif;}

    /* NAV */
    nav{background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-200);padding:0 60px;height:66px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
    .nav-logo{font-size:1.3rem;font-weight:800;color:var(--green);}
    .nav-links{display:flex;align-items:center;gap:32px;}
    .nav-links a{color:var(--gray-600);font-size:0.9rem;font-weight:500;transition:color 0.2s;}
    .nav-links a:hover,.nav-links a.active{color:var(--green);}
    .nav-cta{display:flex;align-items:center;gap:10px;}
    .btn-outline{border:1.5px solid var(--gray-200);background:var(--white);color:var(--gray-600);border-radius:9px;padding:8px 18px;font-size:0.88rem;font-weight:600;transition:all 0.2s;}
    .btn-outline:hover{border-color:var(--green);color:var(--green);}
    .btn-green{background:var(--green);color:var(--white);border:none;border-radius:9px;padding:9px 20px;font-size:0.88rem;font-weight:700;transition:all 0.2s;}
    .btn-green:hover{background:#15803d;transform:translateY(-1px);}

    /* HERO */
    .page-hero{padding:80px 60px 60px;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
    .hero-label{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--green);margin-bottom:12px;}
    .page-hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:900;letter-spacing:-2px;margin-bottom:18px;line-height:1.1;}
    .page-hero h1 span{color:var(--green);}
    .page-hero p{color:var(--gray-600);font-size:1rem;line-height:1.7;margin-bottom:28px;}
    .hero-btns{display:flex;gap:12px;}
    .btn-hero{background:var(--green);color:var(--white);border:none;border-radius:12px;padding:15px 30px;font-size:1rem;font-weight:800;transition:all 0.2s;display:inline-block;}
    .btn-hero:hover{background:#15803d;transform:translateY(-2px);box-shadow:0 8px 28px rgba(22,163,74,0.3);}
    .btn-ghost{background:var(--white);color:var(--gray-700);border:1.5px solid var(--gray-200);border-radius:12px;padding:15px 28px;font-size:1rem;font-weight:600;transition:all 0.2s;display:inline-block;}
    .btn-ghost:hover{border-color:var(--green);color:var(--green);}
    .hero-visual{background:var(--green-pale);border-radius:24px;padding:28px;border:1px solid #bbf7d0;}
    .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
    .stat-box{background:var(--white);border-radius:14px;padding:18px;text-align:center;box-shadow:var(--shadow);}
    .stat-box .val{font-size:1.8rem;font-weight:900;color:var(--green);margin-bottom:4px;}
    .stat-box .lbl{font-size:0.78rem;color:var(--gray-500);}

    /* SECTION */
    .section-label{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--green);margin-bottom:10px;}
    .section-title{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;letter-spacing:-1px;margin-bottom:12px;}
    .section-sub{color:var(--gray-600);font-size:0.95rem;line-height:1.7;max-width:540px;}

    /* FEATURE SHOWCASE */
    .feature-showcase{padding:80px 60px;max-width:1200px;margin:0 auto;}
    .feature-block{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:80px;}
    .feature-block.reverse{direction:rtl;}
    .feature-block.reverse > *{direction:ltr;}
    .feature-content .tag{display:inline-block;background:var(--green-pale);color:var(--green);border-radius:6px;padding:4px 12px;font-size:0.78rem;font-weight:700;margin-bottom:14px;}
    .feature-content .tag.premium{background:#fef3c7;color:#d97706;}
    .feature-content h2{font-size:1.6rem;font-weight:900;letter-spacing:-0.5px;margin-bottom:12px;}
    .feature-content p{color:var(--gray-600);font-size:0.93rem;line-height:1.7;margin-bottom:20px;}
    .feature-points{list-style:none;display:flex;flex-direction:column;gap:8px;}
    .feature-points li{font-size:0.87rem;color:var(--gray-700);display:flex;align-items:center;gap:8px;}
    .feature-points li::before{content:'✓';color:var(--green);font-weight:900;flex-shrink:0;}
    .feature-card-demo{background:var(--green-pale);border-radius:20px;padding:28px;border:1px solid #bbf7d0;min-height:220px;display:flex;flex-direction:column;gap:12px;}
    .demo-search{background:var(--white);border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:10px;color:var(--gray-400);font-size:0.88rem;box-shadow:var(--shadow);}
    .demo-tags{display:flex;gap:8px;flex-wrap:wrap;}
    .demo-tag{background:var(--white);border:1px solid #bbf7d0;color:var(--green);border-radius:6px;padding:5px 12px;font-size:0.78rem;font-weight:600;display:flex;align-items:center;gap:6px;}
    .demo-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
    .demo-card{background:var(--white);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);}
    .demo-card-img{height:50px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;background:linear-gradient(135deg,#bbf7d0,#86efac);}
    .demo-card-body{padding:8px;}
    .demo-card-title{font-size:0.75rem;font-weight:700;margin-bottom:3px;}
    .demo-card-badge{font-size:0.65rem;font-weight:700;border-radius:4px;padding:2px 6px;background:var(--green-pale);color:var(--green);}

    .planning-demo{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);}
    .planning-header{background:var(--gray-900);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;}
    .planning-header span{color:var(--white);font-size:0.85rem;font-weight:700;}
    .planning-header .dot{width:8px;height:8px;border-radius:50%;background:var(--green-light);}
    .planning-days{display:grid;grid-template-columns:repeat(7,1fr);}
    .planning-day{padding:10px 6px;text-align:center;border-right:1px solid var(--gray-100);}
    .planning-day:last-child{border-right:none;}
    .planning-day .day-name{font-size:0.65rem;font-weight:700;color:var(--gray-400);text-transform:uppercase;margin-bottom:8px;}
    .planning-day .meal{font-size:0.68rem;background:var(--green-pale);color:var(--green);border-radius:4px;padding:3px 4px;margin-bottom:4px;font-weight:600;line-height:1.3;}
    .planning-day .meal.orange{background:#fff7ed;color:#ea580c;}
    .planning-day.today .day-name{color:var(--green);}

    .nutrition-demo{background:var(--white);border-radius:16px;padding:20px;box-shadow:var(--shadow-lg);}
    .nutrition-title{font-size:0.82rem;font-weight:700;margin-bottom:14px;color:var(--gray-700);}
    .nutrition-bar-group{margin-bottom:10px;}
    .nutrition-bar-label{display:flex;justify-content:space-between;font-size:0.75rem;color:var(--gray-500);margin-bottom:4px;}
    .nutrition-bar-label span:last-child{font-weight:700;color:var(--gray-700);}
    .nutrition-bar{height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden;}
    .nutrition-bar-fill{height:100%;border-radius:4px;transition:width 0.5s;}
    .nutrition-ring{display:flex;align-items:center;justify-content:center;margin:12px 0;gap:20px;}
    .ring-item{text-align:center;}
    .ring-circle{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.72rem;font-weight:700;margin-bottom:4px;}
    .ring-circle.green{background:var(--green-pale);color:var(--green);border:3px solid var(--green);}
    .ring-circle.blue{background:#eff6ff;color:#2563eb;border:3px solid #2563eb;}
    .ring-circle.orange{background:#fff7ed;color:#ea580c;border:3px solid #ea580c;}
    .ring-label{font-size:0.68rem;color:var(--gray-500);}

    /* ALL FEATURES GRID */
    .all-features-bg{background:var(--gray-50);padding:80px 60px;}
    .all-features-inner{max-width:1200px;margin:0 auto;}
    .features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:48px;}
    .feature-card{background:var(--white);border:1px solid var(--gray-200);border-radius:18px;padding:24px;transition:transform 0.2s,box-shadow 0.2s;}
    .feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
    .feature-card .icon{font-size:1.8rem;margin-bottom:12px;}
    .feature-card h3{font-size:0.95rem;font-weight:700;margin-bottom:8px;}
    .feature-card p{color:var(--gray-600);font-size:0.83rem;line-height:1.6;}
    .feature-card .tag{display:inline-block;margin-top:10px;border-radius:4px;padding:2px 8px;font-size:0.72rem;font-weight:700;}
    .tag-free{background:var(--green-pale);color:var(--green);}
    .tag-premium{background:#fef3c7;color:#d97706;}
    .tag-family{background:#ede9fe;color:#7c3aed;}

    /* CTA */
    .cta-section{background:linear-gradient(135deg,var(--green-pale),#dcfce7);padding:80px 60px;text-align:center;}
    .cta-section h2{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:900;letter-spacing:-1px;margin-bottom:14px;}
    .cta-section p{color:var(--gray-600);font-size:1rem;margin-bottom:32px;}
    .cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

    /* FOOTER */

    
    /* ===== HAMBURGER MENU ===== */
    .hamburger {
      display: none;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 40px;
      height: 40px;
      cursor: pointer;
      border: none;
      background: transparent;
      padding: 4px;
      border-radius: 8px;
      transition: background 0.2s;
      z-index: 200;
    }
    .hamburger:hover { background: var(--gray-100); }
    .hamburger span {
      display: block;
      width: 22px;
      height: 2px;
      background: var(--gray-700);
      border-radius: 2px;
      transition: all 0.3s ease;
      transform-origin: center;
    }
    .hamburger span:nth-child(1) { margin-bottom: 5px; }
    .hamburger span:nth-child(2) { margin-bottom: 5px; }
    .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
    .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* Mobile nav overlay */
    .nav-mobile {
      display: none;
      position: fixed;
      top: 66px;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0,0,0,0.5);
      z-index: 99;
      opacity: 0;
      transition: opacity 0.3s;
    }
    .nav-mobile.open { opacity: 1; }
    .nav-mobile-panel {
      background: var(--white);
      padding: 24px 20px;
      display: flex;
      flex-direction: column;
      gap: 4px;
      box-shadow: 0 8px 32px rgba(0,0,0,0.15);
      transform: translateY(-8px);
      transition: transform 0.3s ease;
    }
    .nav-mobile.open .nav-mobile-panel { transform: translateY(0); }
    .nav-mobile-panel a {
      display: block;
      padding: 14px 16px;
      color: var(--gray-700);
      font-size: 1rem;
      font-weight: 600;
      border-radius: 10px;
      transition: all 0.2s;
      text-decoration: none;
    }
    .nav-mobile-panel a:hover, .nav-mobile-panel a.active {
      background: var(--green-pale);
      color: var(--green);
    }
    .nav-mobile-divider {
      height: 1px;
      background: var(--gray-200);
      margin: 8px 0;
    }
    .nav-mobile-panel .btn-green-mobile {
      background: var(--green);
      color: white !important;
      text-align: center;
      border-radius: 10px;
      margin-top: 4px;
    }
    .nav-mobile-panel .btn-green-mobile:hover {
      background: #15803d !important;
    }

    /* ===== TABLET (max 1024px) ===== */
    @media (max-width: 1024px) {
      nav { padding: 0 32px; }
      .nav-links { gap: 20px; }
      .nav-links a { font-size: 0.85rem; }
    }

    /* ===== MOBILE (max 768px) ===== */
    @media (max-width: 768px) {
      /* Nav */
      nav { padding: 0 20px; height: 60px; }
      .nav-links { display: none !important; }
      .nav-cta { display: none !important; }
      .hamburger { display: flex; }
      .nav-logo { font-size: 1.1rem; }

      /* Hero (index.html) */
      .hero {
        grid-template-columns: 1fr !important;
        padding: 48px 20px 40px !important;
        gap: 32px !important;
        text-align: center;
      }
      .hero h1 { font-size: clamp(2rem, 8vw, 3rem); letter-spacing: -1px; }
      .hero-visual { display: none !important; }
      .hero-btns { justify-content: center; flex-direction: column; align-items: center; }
      .btn-hero, .btn-hero-ghost { width: 100%; max-width: 280px; text-align: center; }
      .hero-trust { justify-content: center; flex-wrap: wrap; }
      .hero-sub { margin: 0 auto 32px; }

      /* Stats */
      .stats-bar { padding: 28px 20px !important; }
      .stats-inner { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
      .stat-num, .val { font-size: 1.6rem !important; }

      /* Sections */
      .section, .section-inner, .pricing-section, .features-bg, .all-features-bg,
      .page-hero, .feature-showcase, .compare-section, .faq-section,
      .testimonials-bg, .testimonials-inner { padding: 48px 20px !important; }
      .cta-section { padding: 48px 20px !important; margin: 0 16px 48px !important; border-radius: 16px; }

      /* Grids */
      .steps-grid, .plans-grid, .testimonials-grid,
      .values-grid, .team-grid, .categories-grid, .recipes-grid { 
        grid-template-columns: 1fr !important; 
        gap: 16px !important;
      }
      .stats-grid { grid-template-columns: repeat(2,1fr) !important; gap: 12px !important; }
      .features-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
      .hero-app-preview { display: none !important; }

      /* Feature blocks (features.html) */
      .feature-block { grid-template-columns: 1fr !important; gap: 24px !important; }
      .feature-block.reverse { direction: ltr !important; }
      .feature-visual { order: -1; }

      /* Pricing */
      .plan.featured { transform: none; }

      /* Contact form */
      .contact-layout { grid-template-columns: 1fr !important; gap: 32px !important; }
      .form-row { grid-template-columns: 1fr !important; }

      /* Footer */

      /* Category header */
      .cat-header { padding: 48px 20px !important; }
      .cat-hero-stats { gap: 12px; }

      /* About page */
      .contact-cta { margin: 0 16px 48px !important; padding: 36px 20px !important; }

      /* Typography */
      .section-title, .page-hero h1, .cat-header h1 { font-size: clamp(1.6rem, 6vw, 2.2rem) !important; }
      h1 { font-size: clamp(1.8rem, 7vw, 3rem); }

      /* CTA buttons */
      .cta-btns { flex-direction: column; align-items: center; }
      .cta-btns a { width: 100%; max-width: 300px; text-align: center; }
    }

    /* ===== SMALL MOBILE (max 480px) ===== */
    @media (max-width: 480px) {
      .stats-inner { grid-template-columns: 1fr 1fr !important; }
      .hero-badge { font-size: 0.75rem; }
      .cat-hero-stats { flex-direction: column; align-items: center; }
    }
    footer{background:var(--gray-900);color:#9ca3af;padding:60px 60px 30px;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;max-width:1200px;margin:0 auto 40px;}
    .footer-brand .logo-f{font-size:1.2rem;font-weight:800;color:var(--white);margin-bottom:12px;}
    .footer-brand p{font-size:0.85rem;line-height:1.7;max-width:240px;}
    .footer-col h4{font-size:0.83rem;font-weight:700;color:var(--white);margin-bottom:14px;text-transform:uppercase;letter-spacing:0.5px;}
    .footer-col a{display:block;color:#9ca3af;font-size:0.85rem;margin-bottom:8px;transition:color 0.2s;}
    .footer-col a:hover{color:var(--green-light);}
    .footer-bottom{border-top:1px solid #374151;padding-top:24px;text-align:center;font-size:0.82rem;max-width:1200px;margin:0 auto;}