*,*::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.08);--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.97);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;}

    /* PAGE HERO */
    .page-hero{background:linear-gradient(135deg,var(--green-pale),#dcfce7);padding:80px 40px;text-align:center;}
    .page-hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:900;color:var(--gray-900);letter-spacing:-1px;margin-bottom:16px;}
    .page-hero p{color:var(--gray-600);font-size:1.05rem;max-width:560px;margin:0 auto;line-height:1.7;}

    /* SECTIONS */
    section{padding:80px 40px;max-width:1100px;margin:0 auto;}
    .section-label{font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--green);margin-bottom:12px;}
    .section-title{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:900;letter-spacing:-0.5px;margin-bottom:16px;}
    .section-text{color:var(--gray-600);font-size:1rem;line-height:1.7;max-width:640px;}
    .section-head{max-width:1100px;margin:0 auto;padding:0 40px;text-align:left;}

    /* STATS GRID */
    .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;}
    .stat-card{background:var(--green-pale);border:1px solid #bbf7d0;border-radius:16px;padding:24px;text-align:center;}
    .stat-card .value{font-size:2rem;font-weight:900;color:var(--green);margin-bottom:6px;}
    .stat-card .label{font-size:0.83rem;color:var(--gray-600);}

    /* VALUES GRID */
    .values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;}
    .value-card{background:var(--white);border:1px solid var(--gray-200);border-radius:16px;padding:24px;transition:transform 0.2s,box-shadow 0.2s;}
    .value-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
    .value-icon{font-size:2rem;margin-bottom:12px;}
    .value-card h3{font-size:1rem;font-weight:700;margin-bottom:8px;}
    .value-card p{font-size:0.85rem;color:var(--gray-600);line-height:1.6;}

    /* TEAM GRID */
    .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;}
    .team-card{background:var(--white);border:1px solid var(--gray-200);border-radius:16px;padding:28px;text-align:center;transition:transform 0.2s;}
    .team-card:hover{transform:translateY(-3px);}
    .team-avatar{font-size:2.8rem;margin-bottom:12px;}
    .team-name{font-size:1rem;font-weight:700;margin-bottom:4px;}
    .team-role{font-size:0.83rem;color:var(--gray-500);}

    /* FAQ */
    .faq-list{margin-top:32px;display:flex;flex-direction:column;gap:4px;}
    .faq-item{border:1px solid var(--gray-200);border-radius:12px;overflow:hidden;transition:border-color 0.2s;}
    .faq-item.open{border-color:var(--green);}
    .faq-q{padding:18px 20px;font-size:0.95rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--gray-900);background:var(--white);user-select:none;}
    .faq-item.open .faq-q{color:var(--green);}
    .faq-arrow{font-size:0.8rem;color:var(--gray-400);transition:transform 0.3s;}
    .faq-item.open .faq-arrow{transform:rotate(180deg);color:var(--green);}
    .faq-a{padding:0 20px;font-size:0.88rem;color:var(--gray-600);line-height:1.7;max-height:0;overflow:hidden;transition:max-height 0.35s ease,padding 0.35s;}
    .faq-item.open .faq-a{max-height:200px;padding:0 20px 18px;}

    /* CONTACT CTA */
    .contact-cta{background:linear-gradient(135deg,var(--green-pale),#dcfce7);border-radius:20px;padding:48px 40px;text-align:center;margin:0 40px 80px;border:1px solid #bbf7d0;}
    .contact-cta h2{font-size:1.8rem;font-weight:900;margin-bottom:12px;}
    .contact-cta p{color:var(--gray-600);font-size:0.95rem;margin-bottom:24px;}
    .btn-contact{background:var(--green);color:var(--white);border:none;border-radius:10px;padding:13px 28px;font-size:0.95rem;font-weight:700;cursor:pointer;transition:all 0.2s;}
    .btn-contact:hover{background:#15803d;transform:translateY(-2px);}

    /* 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;}