:root{
      --orange:#FF8A3D;
      --bg:#FFF7EF;
      --text:#111;
      --muted:#6e6e73;
    }

    *{margin:0;padding:0;box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    html, body{overflow-x:hidden;}

    body{
      font-family:Inter, sans-serif;
      background:var(--bg);
      color:var(--text);
      -webkit-font-smoothing:antialiased;
    }

    section{
      padding:60px 20px;
    }

    .container{
      max-width:1100px;
      margin:auto;
    }

    .center{
      text-align:center;
    }

    .top-strip{
      padding: 16px 20px 0;
    }

    .top-strip__inner{
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:10px;
    }

    .top-links{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      align-items:center;
      justify-content:center;
      font-size:12px;
      letter-spacing:0.12em;
      text-transform:uppercase;
      color:#8a8078;
    }

    .top-links a{
      color:inherit;
      text-decoration:none;
      opacity:0.85;
      transition:opacity 0.2s ease;
    }

    .top-links a:hover{
      opacity:1;
    }

    .top-links span{
      opacity:0.35;
    }

    .site-h1{
      font-family:Fraunces, serif;
      font-size:clamp(20px, 2.2vw, 28px);
      letter-spacing:-0.01em;
      color:#2a2a2a;
      text-align:center;
      max-width:760px;
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:12px;
    }

    .site-h1__brand{
      display:inline-flex;
      align-items:center;
      gap:6px;
      position:relative;
    }

    .site-h1__logo{
      width:28px;
      height:28px;
      display:block;
    }

    .site-h1__wordmark{
      display:inline-flex;
      gap:0;
    }

    .site-h1__brand span{
      color:inherit;
    }

    .site-h1__brand-wrap{
      display:flex;
      justify-content:center;
      padding:6px 16px 8px;
      background:#1f2329;
      border-radius:8px;
      box-shadow: 0 10px 24px rgba(0,0,0,0.18);
    }

    .site-h1__brand .logo-meal{
      color: var(--orange);
    }

    .site-h1__brand .logo-tap{
      color: #b4ff36;
    }

    .site-h1__line{
      font-family:Inter, sans-serif;
      font-size:0.85em;
      color:#6f665f;
    }

    @media (min-width: 900px){
      .top-strip__inner{
        align-items:center;
      }

      .top-links{
        justify-content:center;
      }

      .site-h1{
        text-align:center;
      }
    }

    /* HOOK */

    .hook{
      position: relative;
    }

    .hook .container{
      display: flex;
      flex-direction: column;
    }

    .hook::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-1px;
      height:120px;
      pointer-events:none;
      background:linear-gradient(
        to bottom,
        rgba(255,247,239,0) 0%,
        rgba(255,247,239,0.55) 40%,
        rgba(255,247,239,1) 100%
      );
    }

    .hook-grid{
      display: grid;
      grid-template-columns: 1fr;
      gap: 24px;
      align-items: start;
    }

    @media (min-width: 900px){
      .hook-grid{
        grid-template-columns: minmax(320px, 420px) minmax(340px, 440px);
        justify-content: end;
        gap: 24px;
        min-height: 480px;
      }
    }

    .hook-text{
      display: flex;
      flex-direction: column;
      justify-content: center;
      max-width: 420px;
      text-align: left;
    }

    @media (min-width: 900px){
      .hook-text{
        padding-top: 36px;
      }
    }

    .hook-text h2{
      font-family: Fraunces, serif;
      font-size: clamp(26px, 4vw, 46px);
      letter-spacing: -0.02em;
      line-height: 1.05;
      margin: 0;
    }

    .hook-sub{
      margin: 18px 0 0;
      color: var(--muted);
      font-size: 17px;
      line-height: 1.5;
    }

    .hook-cta{
      display: inline-flex;
      align-items: center;
      gap: 8px;
      width: fit-content;
      margin-top: 22px;
      padding: 10px 18px;
      border-radius: 999px;
      border: 1px solid rgba(0,0,0,0.12);
      background: rgba(255,255,255,0.72);
      color: #3a3a3a;
      text-decoration: none;
      font-size: 14px;
      transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    }

    .hook-cta:hover{
      transform: translateY(-1px);
      border-color: rgba(0,0,0,0.14);
      box-shadow: 0 12px 28px rgba(0,0,0,0.10);
    }

    .hook-visual{
      display: flex;
      justify-content: center;
      align-items: center;
    }

    @media (min-width: 900px){
      .hook-visual{
        justify-content: flex-start;
        margin-left: -24px;
      }
    }

    .hook-image{
      display: block;
      width: 100%;
      max-width: 360px;
      height: auto;
      border-radius: 24px;
      border: 1px solid rgba(0,0,0,0.04);
      box-shadow: 0 12px 26px rgba(0,0,0,0.08);
      outline: 1px solid rgba(255,255,255,0.35);
      outline-offset: -6px;
    }

    .hook-bridge{
      margin-top: 24px;
      text-align: center;
      font-size: 20px;
      line-height: 1.4;
      color: rgba(47,47,47,0.9);
      letter-spacing: 0.02em;
      font-weight: 700;
      position: relative;
      display: inline-block;
      opacity: 0;
      transform: translateY(8px);
      animation: hookBridgeFade 0.8s ease forwards;
      animation-delay: 0.15s;
      z-index: 0;
    }

    .hook-bridge::after{
      content:"";
      position:absolute;
      left:-12%;
      right:-12%;
      top:50%;
      height:120%;
      transform: translateY(-50%) scaleX(0);
      background: linear-gradient(90deg, rgba(255,138,61,0) 0%, rgba(255,138,61,0.25) 50%, rgba(255,138,61,0) 100%);
      filter: blur(10px);
      animation: hookBridgeGlow 1.1s ease forwards;
      animation-delay: 0.5s;
      border-radius:999px;
      z-index:-1;
    }

    @media (max-width: 899px){
      .hook-text{
        text-align: center;
        align-items: center;
        max-width: none;
        padding-top: 0;
      }

      .hook-sub{
        max-width: 320px;
      }

      .hook-bridge{
        margin-top: 28px;
        font-size: 17px;
      }
    }
  
    /* HERO */

    .hero{
      position: relative;
      overflow: hidden;
    }

    .hero::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      top:0;
      height:90px;
      background:linear-gradient(
        to bottom,
        rgba(255,247,239,1) 0%,
        rgba(255,247,239,0.7) 45%,
        rgba(255,247,239,0) 100%
      );
      pointer-events:none;
      z-index:0;
    }

    .hero::before {
      content: '';
      position: absolute;
      top: -120px;
      left: 50%;
      transform: translateX(-50%);
      width: 900px;
      height: 400px;
      background: radial-gradient(
        circle,
        rgba(255, 138, 61, 0.18),
        transparent 70%
      );
      filter: blur(40px);
      z-index: 0;
    }

.hero h2{
      font-family:Fraunces, serif;
      font-size:clamp(42px,7vw,72px);
      letter-spacing:-0.03em;
      opacity: 0;
      transform: translateY(10px);
      animation: heroFade 0.8s ease forwards;
    }

    .hero__title{
      max-width: 560px;
      margin-left: auto;
      margin-right: auto;
    }

    .hero h3{
      font-family:Fraunces, serif;
      font-size:clamp(22px,3.5vw,34px);
      letter-spacing:-0.02em;
      color:#333;
      opacity: 0;
      transform: translateY(10px);
      animation: heroFade 0.8s ease forwards;
    }

    .hero p{
      font-size:20px;
      color:var(--muted);
      opacity: 0;
      transform: translateY(10px);
      animation: heroFade 0.8s ease forwards;
      animation-delay: 0.2s;
    }

    .hero__subtitle{
      max-width: 520px;
      margin-left: auto;
      margin-right: auto;
    }

    .hero-audience{
      font-size:15px;
      color:#6b6b6b;
      max-width:520px;
      margin-left:auto;
      margin-right:auto;
    }

    .hero-audience-card{
      margin-top:20px;
      background:#fff;
      border-radius:16px;
      padding:18px 20px;
      max-width:560px;
      margin-left:auto;
      margin-right:auto;
      text-align:left;
      box-shadow:0 10px 24px rgba(0,0,0,0.06);
      border:1px solid rgba(0,0,0,0.06);
    }

    .hero-audience-card h3{
      font-size:16px;
      margin-bottom:8px;
      color:#222;
    }

    .hero-audience-card p{
      color:var(--muted);
      margin-bottom:10px;
    }

    .hero-audience-card ul{
      margin:0;
      padding-left:18px;
      color:#4a4a4a;
      line-height:1.5;
    }

    .hero-cta-wrap{
      margin-top: 28px;
      margin-bottom: 28px;
    }

    .hero-visual{
      display:flex;
      justify-content:center;
    }

    .hero-image{
      width:auto;
      max-width:600px;
      height:auto;
      border-radius:30px;
      display:block;
    }

    /* SMART PLAN */

    .smart-grid{
      margin-top:40px;
      display:flex;
      justify-content:center;
      gap:24px;
      flex-wrap:wrap;
      width:100%;
    }

    .how-visual{
      position:relative;
    }

    .how-visual::before{
      content:"";
      position:absolute;
      width:420px;
      height:420px;
      background: radial-gradient(circle, rgba(255,255,255,0.6), transparent 70%);
      top:50%;
      left:50%;
      transform: translate(-50%, -50%);
      z-index:0;
    }

    .how-visual > *{
      position:relative;
      z-index:1;
    }

    .section-subline{
      margin-top:12px;
      color:var(--muted);
      font-size:18px;
    }

    .subline{
      margin-top:10px;
      font-size:15px;
      color:#777;
    }

    .subline-muted{
      margin-top:10px;
      font-size:16px;
      color:var(--muted);
    }

    .recipes{
      text-align:center;
    }

    .packs{
      text-align:center;
    }

    .packs-rotator{
      margin:18px auto 0;
      width:min(544px, 86vw);
      aspect-ratio:680 / 380;
      position:relative;
    }

    .pack-slide{
      position:absolute;
      inset:0;
      opacity:0;
      animation: packFade 15s infinite;
    }

    .pack-slide:nth-child(1){ animation-delay:0s; }
    .pack-slide:nth-child(2){ animation-delay:5s; }
    .pack-slide:nth-child(3){ animation-delay:10s; }

    .pack-slide img{
      width:100%;
      height:100%;
      object-fit:cover;
      border-radius:20px;
      border:1px solid rgba(0,0,0,0.06);
      box-shadow:0 14px 28px rgba(0,0,0,0.08);
      display:block;
    }

    .packs-grid{
      margin-top:22px;
      display:flex;
      justify-content:center;
      gap:14px;
      flex-wrap:wrap;
    }

    .pack-chip{
      padding:10px 16px;
      border-radius:999px;
      border:1px solid rgba(0,0,0,0.08);
      background:rgba(255,255,255,0.7);
      font-size:14px;
      color:#3a3a3a;
      font-weight:600;
    }

    .compare{
      text-align:center;
    }

    .compare-grid{
      margin-top:22px;
      display:grid;
      gap:18px;
    }

    .compare-inner{
      max-width:920px;
      margin:0 auto;
    }

    .compare-card{
      border:1px solid rgba(0,0,0,0.08);
      border-radius:18px;
      padding:16px 18px;
      background:#fff;
      text-align:left;
      box-shadow:0 10px 24px rgba(0,0,0,0.06);
      position:relative;
    }

    .compare-card:not(.premium){
      border-color: rgba(180,255,54,0.65);
    }

    .compare-title{
      font-weight:700;
      font-size:15px;
      color:#222;
      margin-bottom:12px;
      display:flex;
      align-items:center;
      gap:8px;
    }

    .compare-badge{
      display:inline-flex;
      align-items:center;
      padding:6px 12px;
      border-radius:999px;
      background:rgba(180,255,54,0.16);
      border:1px solid rgba(180,255,54,0.45);
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:0.08em;
    }

    .compare-badge.premium{
      background:rgba(255,138,61,0.12);
      border-color:rgba(255,138,61,0.35);
      color:#9b3f11;
    }

    .compare-tag{
      font-size:12px;
      color:#7a5a2d;
      background:rgba(180,255,54,0.18);
      border:1px solid rgba(180,255,54,0.45);
      padding:4px 8px;
      border-radius:999px;
      font-weight:600;
    }

    .compare-list{
      display:grid;
      gap:5px;
      color:#666;
      font-size:13px;
      line-height:1.4;
    }

    .compare-list div{
      position:relative;
      padding-left:18px;
    }

    .compare-list div::before{
      content:"✓";
      position:absolute;
      left:0;
      top:0;
      color:#5b8f00;
      font-weight:700;
    }

    .compare-list .compare-heading::before{
      content:"";
    }

    .compare-price{
      margin-top:12px;
      font-size:14px;
      color:#333;
      font-weight:600;
    }

    .compare-note{
      margin-top:6px;
      font-size:13px;
      color:#777;
      font-weight:500;
    }

    .compare-footnote{
      margin-top:16px;
      font-size:13px;
      color:#888;
    }

    .compare-card.premium{
      background:linear-gradient(180deg, #fffdf9, #ffffff);
      border-color:rgba(255,138,61,0.35);
    }

    .emotional-tag{
      margin-top:18px;
      font-size:12px;
      letter-spacing:0.08em;
      text-transform:uppercase;
      color:#8b8b8b;
      font-weight:600;
    }

    @media (min-width: 900px){
      .compare-grid{
        grid-template-columns:1fr 1fr;
      }
    }

    .recipes-grid{
      margin-top:28px;
      display:grid;
      gap:18px;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      max-width:860px;
      margin-left:auto;
      margin-right:auto;
    }

    .recipe-card{
      background:#fff;
      border:1px solid rgba(0,0,0,0.06);
      border-radius:20px;
      overflow:hidden;
      text-align:left;
      box-shadow:0 12px 24px rgba(0,0,0,0.06);
    }

    .recipe-thumb{
      width:100%;
      height:auto;
      display:block;
      aspect-ratio:4 / 3;
      object-fit:cover;
      background:#f0e7dc;
    }

    .recipe-card picture{
      display:block;
    }

    .recipe-body{
      padding:16px 18px;
      display:grid;
      gap:8px;
    }

    .recipe-title{
      font-weight:700;
      font-size:16px;
      color:#222;
    }

    .recipe-meta{
      font-size:13px;
      color:#777;
    }

    @media (max-width: 700px){
      .recipes-grid{
        grid-template-columns:1fr;
      }
    }

    .cook-steps{
      list-style:none;
      padding:0;
      color:#6b5f57;
      font-size:15px;
    }

    .cook-steps li{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(180,255,54,0.10);
      border:1px solid rgba(180,255,54,0.35);
      font-size:15px;
    }

    .cook-steps li::before{
      content:"✓";
      font-weight:700;
      color:#5b8f00;
    }

.cook-steps.vertical{
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}

.grocery .cook-steps {
  margin-top: 10px;
}

    .smart-card{
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:12px;
    }

    .smart-shot{
      width:min(300px, 70vw);
      height:auto;
      display:block;
    }


    .cook-sub{
      margin-top:12px;
    }

    .cook-grid{
      margin-top:34px;
      display:flex;
      justify-content:center;
      gap:24px;
      flex-wrap:wrap;
      width:100%;
    }

    .cook-shot{
      width:min(300px, 70vw);
      height:auto;
      display:block;
    }

    .cook-bridge{
      margin-top:18px;
      font-size:15px;
      color:#777;
    }

    @media (max-width:600px){
      .smart-shot,
      .cook-shot,
      .list-shot,
      .calendar-shot,
      .hook-image{
        max-width:320px;
        width:100%;
      }

      .feature-image--portrait,
      .hero-image{
        max-width:320px;
        width:100%;
      }
    }

    .list-shot{
      width:min(300px, 70vw);
      height:auto;
      display:block;
    }

    .outcome .feature{
      display:grid;
      gap:18px;
      align-items:center;
      justify-items:start;
    }

    @media (min-width: 900px){
      .outcome .feature{
        grid-template-columns:minmax(320px, 380px) minmax(320px, 1fr);
        column-gap:18px;
        width:fit-content;
        margin-left:auto;
      }
    }

    .outcome .calendar-shot{
      width:min(320px, 75vw);
      max-width:320px;
    }

    .grocery .feature{
      display:grid;
      gap:18px;
      align-items:center;
      justify-items:start;
    }

    @media (min-width: 900px){
      .grocery .feature{
        grid-template-columns:minmax(320px, 380px) minmax(320px, 1fr);
        column-gap:18px;
        width:fit-content;
        margin-left:auto;
      }
    }

    .list-sub{
      margin-top:10px;
      font-weight:600;
      color:#3a3a3a;
    }

    /* FEATURE */

    .feature{
      display:grid;
      gap:24px;
      align-items:center;
    }

    @media(min-width:768px){
      .feature{
        grid-template-columns:1fr 1fr;
        column-gap:18px;
      }
    }

    .section-divider{
      border-top:1px solid rgba(0,0,0,0.04);
      padding:50px 20px;
    }

    .feature .text h2{
      font-size:36px;
    }

    .feature .text p{
      margin-top:10px;
      color:var(--muted);
    }

    .feature-subline{
      font-weight:600;
      color:#3a3a3a;
    }

    .feature-body{
      margin-top:10px;
      color:var(--muted);
    }

    .planned-checks{
      list-style:none;
      padding:0;
      margin:10px 0 0;
      display:grid;
      gap:8px;
    }

    .planned-checks li{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(180,255,54,0.10);
      border:1px solid rgba(180,255,54,0.35);
      font-size:15px;
    }

    .planned-checks li::before{
      content:"✓";
      color:#5b8f00;
      font-weight:700;
    }

    .cook-steps li + li,
    .planned-checks li + li{
      margin-top:0;
    }

    .feature-image{
      width:100%;
      height:auto;
      border-radius:24px;
      display:block;
    }

    .feature-image--portrait{
      width:auto;
      max-width:324px;
      margin:0 auto;
    }

    .portrait-wrap{
      position:relative;
      display:flex;
      justify-content:center;
    }

    .portrait-wrap::before{
      content:"";
      position:absolute;
      width:420px;
      height:420px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(255,255,255,0.6), rgba(255,255,255,0.0) 70%);
      top:40px;
      z-index:0;
    }

    .portrait-wrap img{
      position:relative;
      z-index:1;
    }

    .tara-section{
      background: var(--bg);
    }

    .tara-image{
      position:relative;
    }

    .tara-image::after{
      content:"";
      position:absolute;
      inset:-20px;
      background: none;
      z-index:0;
    }

    .emotional-line{
      margin-top:10px;
      color:#777;
      font-size:16px;
    }

    .faq{
      background: var(--bg);
    }

    .faq h2{
      text-align:center;
    }

    .faq-list{
      margin-top:24px;
      display:grid;
      gap:14px;
      max-width:860px;
      margin-left:auto;
      margin-right:auto;
      text-align:left;
    }

    .faq-item{
      border:1px solid rgba(0,0,0,0.12);
      border-radius:18px;
      background:#fff;
      padding:18px 20px;
      box-shadow:0 10px 22px rgba(0,0,0,0.05);
    }

    .faq-item summary{
      list-style:none;
      cursor:pointer;
      font-weight:600;
      font-size:18px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      color:#222;
    }

    .faq-item summary::-webkit-details-marker{
      display:none;
    }

    .faq-item summary::after{
      content:"";
      width:10px;
      height:10px;
      border-right:2px solid #222;
      border-bottom:2px solid #222;
      transform:rotate(45deg);
      transition:transform 0.2s ease;
      flex-shrink:0;
      margin-left:8px;
    }

    .faq-item[open] summary::after{
      transform:rotate(-135deg);
    }

    .faq-item p{
      color:var(--muted);
      line-height:1.6;
      margin-top:12px;
    }

    .story{
      display:grid;
      gap:24px;
      text-align:left;
      max-width:820px;
      margin:0 auto;
    }

    .story h2{
      text-align:left;
    }

    .story-text{
      font-size:18px;
      color:var(--muted);
      line-height:1.75;
      display:grid;
      gap:18px;
    }

    .story-highlight{
      background:#fff;
      border-radius:16px;
      padding:16px 18px;
      border:1px solid rgba(0,0,0,0.06);
      box-shadow:0 10px 24px rgba(0,0,0,0.06);
    }


    .founder-image{
      width:190px;
      height:190px;
      border-radius:50%;
      object-fit:cover;
      display:block;
      margin:18px 0 8px 0;
    }

    /* DARK BREAK */

    .dark{
      background:#111318;
      color:#fff;
      text-align:center;
    }

    .dark p{
      color:#aaa;
    }

    .dark h2{
      color:#fff;
    }

    /* FOOTER */

    .footer-dark {
      background: #0f1115;
      color: #fff;
      padding: 70px 20px 60px;
      margin-top: 80px;
      position: relative;
    }

    .footer-dark::before {
      content: '';
      display: block;
      height: 1px;
      background: rgba(255,255,255,0.08);
      margin-bottom: 40px;
    }

    .footer-inner {
      max-width: 1000px;
      margin: auto;
      text-align: center;
      display: grid;
      gap: 25px;
    }

    .footer-brand .logo {
      font-family: 'Fraunces', serif;
      font-size: 26px;
    }

    .footer-brand .logo-meal{
      color: var(--orange);
    }

    .footer-brand .logo-tap{
      color: #b4ff36;
    }

    .footer-logo {
      width: 48px;
      height: 48px;
      display: block;
      margin: 0 auto 8px;
    }

    .footer-brand p {
      color: #aaa;
      font-size: 14px;
    }

    .footer-social {
      display: flex;
      justify-content: center;
      gap: 22px;
      margin-top: 10px;
    }

    .footer-social a {
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: rgba(255,255,255,0.04);
      transition: all 0.25s ease;
    }

    .footer-social svg {
      width: 18px;
      height: 18px;
      stroke: #ccc;
      fill: none;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .footer-social a:hover {
      background: rgba(255,255,255,0.08);
      transform: translateY(-2px);
    }

    .footer-social a:hover svg {
      stroke: #fff;
    }

    .footer-links {
      display: flex;
      justify-content: center;
      gap: 20px;
      font-size: 14px;
      flex-wrap: wrap;
    }

    .footer-links a {
      color: #aaa;
      text-decoration: none;
    }

    .footer-links a:hover {
      color: #fff;
    }

    .footer-bottom {
      font-size: 12px;
      color: #777;
    }

    .footer-top {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 8px 14px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,0.12);
      color: #ddd;
      text-decoration: none;
      font-size: 12px;
      transition: all 0.2s ease;
      width: fit-content;
      margin: 0 auto;
    }

    .footer-top:hover {
      color: #fff;
      border-color: rgba(255,255,255,0.3);
      transform: translateY(-2px);
    }

    .footer-top svg {
      width: 14px;
      height: 14px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
    }

    .sticky-cta {
      position: fixed;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%) translateY(120%);
      width: min(920px, 92%);
      background: rgba(15,17,21,0.9);
      backdrop-filter: blur(12px);
      border-radius: 18px;
      padding: 14px 18px;
      box-shadow: 0 20px 60px rgba(0,0,0,0.25);
      z-index: 999;
      transition: transform 0.5s ease, opacity 0.3s ease;
      opacity: 0;
    }

    .sticky-cta.visible {
      transform: translateX(-50%) translateY(0);
      opacity: 1;
    }

    .sticky-inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
    }

    .sticky-left {
      display: flex;
      flex-direction: column;
    }

    .sticky-title {
      color: #fff;
      font-weight: 600;
    }

    .sticky-sub {
      font-size: 13px;
      color: #aaa;
    }

    .sticky-right {
      display: flex;
      gap: 10px;
    }

    .store-btn {
      padding: 10px 16px;
      border-radius: 999px;
      text-decoration: none;
      font-weight: 600;
      font-size: 14px;
      white-space: nowrap;
      transition: transform 0.2s ease;
    }

    .store-btn.ios {
      background: #FF8A3D;
      color: #fff;
    }

    .store-btn.android {
      background: #fff;
      color: #111;
    }

    .store-btn:hover {
      transform: translateY(-1px);
    }

    @media (max-width: 600px) {
      .sticky-inner {
        flex-direction: column;
        align-items: stretch;
      }

      .sticky-right {
        justify-content: center;
      }
    }

    .download-section {
      text-align: center;
      background: var(--bg);
    }

    .download-inner {
      max-width: 700px;
      margin: auto;
    }

    .download-section h2 {
      font-family: 'Fraunces', serif;
      font-size: 38px;
    }

    .download-section p {
      color: #666;
      font-size: 18px;
    }

    .download-pre {
      font-size: 14px;
      color: #999;
    }

    .download-section .store-buttons {
      display: flex;
      justify-content: center;
      gap: 16px;
      flex-wrap: wrap;
      align-items: center;
    }

    .download-section .store-buttons a {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 60px;
      width: 220px;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .download-section .store-buttons img {
      height: 100%;
      width: 100%;
      display: block;
      object-fit: contain;
      transition: transform 0.2s ease;
    }

    .download-section .store-buttons .badge-apple img {
      transform: translateY(8px);
    }


    .download-note {
      font-size: 13px;
      color: #999;
      margin-top: 18px;
    }

    @keyframes heroFade {
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes packFade{
      0%{ opacity:0; }
      5%{ opacity:1; }
      32%{ opacity:1; }
      38%{ opacity:0; }
      100%{ opacity:0; }
    }

    /* Reveal on scroll */
    .reveal{
      opacity:0;
      transform: translateY(12px);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }

    .reveal.is-visible{
      opacity:1;
      transform: translateY(0);
    }

    .reveal-stagger .reveal-item{
      opacity:0;
      transform: translateY(12px);
      transition: opacity 0.6s ease, transform 0.6s ease;
      transition-delay: var(--delay, 0ms);
    }

    .reveal-stagger.is-visible .reveal-item{
      opacity:1;
      transform: translateY(0);
    }

    @media (prefers-reduced-motion: reduce) {
      .reveal,
      .reveal-stagger .reveal-item{
        opacity:1;
        transform:none;
        transition:none;
      }
    }

    @keyframes hookBridgeFade{
      to{
        opacity:1;
        transform: translateY(0);
      }
    }

    @keyframes hookBridgeGlow{
      to{
        transform: translateY(-50%) scaleX(1);
        opacity: 0.9;
      }
    }


    @media (prefers-reduced-motion: reduce) {
      .hero p,
      .button,
      .hero-visual {
        animation: none;
        opacity: 1;
        transform: none;
      }
      .pack-slide{ animation:none; opacity:0; }
      .pack-slide:first-child{ opacity:1; }
    }

/* Step 7–9 moved to /css/meeltap.css */

/* --------------------------------------------------
  STEP 7: SPACING ONLY
-------------------------------------------------- */
.hero,
.thinking,
.steps,
.regen,
.guessing,
.grocery,
.planned,
.founder,
.cta {
  padding: 4rem 0;
}

.hero h3,
.thinking h3,
.steps h3,
.regen h3,
.guessing h3,
.grocery h3,
.planned h3,
.founder h3,
.cta h3 {
  margin-bottom: 1rem;
}

.hero__title,
.thinking__title,
.steps__title,
.regen__title,
.guessing__title,
.grocery__title,
.planned__title,
.founder__title,
.cta__title {
  margin-bottom: 2rem;
}

.hero__subtitle {
  margin-bottom: 2rem;
}

/* --------------------------------------------- */
/* STEP 8 — SHARP MODERN TYPOGRAPHY (B1, FINAL)  */
/* Fully scoped, no spacing, no globals          */
/* --------------------------------------------- */

/* Section titles (H2) */
.hero h2,
.thinking h2,
.steps h2,
.regen h2,
.guessing h2,
.grocery h2,
.planned h2,
.founder h2,
.cta h2 {
  font-size: clamp(1.75rem, 2vw + 1rem, 2.5rem);
  font-weight: 700;
  line-height: 1.15;
}

/* Subpoints (H3) */
.hero h3,
.thinking h3,
.steps h3,
.regen h3,
.guessing h3,
.grocery h3,
.planned h3,
.founder h3,
.cta h3 {
  font-size: clamp(1.05rem, 1vw + 0.75rem, 1.25rem);
  font-weight: 600;
  line-height: 1.35;
}

/* Paragraphs inside sections */
.hero p,
.thinking p,
.steps p,
.regen p,
.guessing p,
.grocery p,
.planned p,
.founder p,
.cta p {
  font-size: clamp(1rem, 0.75vw + 0.85rem, 1.125rem);
  font-weight: 400;
  line-height: 1.45;
}

/* CTA buttons inside sections */
.hero__cta,
.cta__point a[role="button"],
.cta a[role="button"] {
  font-size: clamp(1rem, 0.5vw + 0.9rem, 1.125rem);
  font-weight: 600;
  line-height: 1.2;
}

/* Responsive adjustments — SCOPED */
@media (min-width: 768px) {
  .hero h2,
  .thinking h2,
  .steps h2,
  .regen h2,
  .guessing h2,
  .grocery h2,
  .planned h2,
  .founder h2,
  .cta h2 {
    font-size: 2.75rem;
  }

  .hero h3,
  .thinking h3,
  .steps h3,
  .regen h3,
  .guessing h3,
  .grocery h3,
  .planned h3,
  .founder h3,
  .cta h3 {
    font-size: 1.35rem;
  }
}


/* --------------------------------------------- */
/* STEP 11 — Legacy CSS Extraction (Phase 1)     */
/* Buttons & CTAs (visual-only)                  */
/* --------------------------------------------- */

.hero__cta,
.cta a[role="button"],
.cta__point a[role="button"] {
  background: var(--orange);
  color: #fff;
  padding: 0.75rem 1.25rem;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: background 0.2s ease, transform 0.2s ease;
}

.hero__cta:hover,
.cta a[role="button"]:hover,
.cta__point a[role="button"]:hover {
  background: #f47b2f;
  transform: translateY(-1px);
}

/* Exclude store badge links from CTA button styling */
.download-section .store-buttons a {
  background: transparent;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
}

.download-section .store-buttons a:hover {
  background: transparent;
  box-shadow: 0 12px 25px rgba(0,0,0,0.15);
  transform: translateY(-3px);
}
/* Base button structure (shared by all button variants) */
.button {
  padding: 0.75rem 1.25rem;
  border-radius: 0.5rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: background 0.2s ease;
}
/* Ghost button variant */
.button-ghost {
  background: transparent;
  color: var(--orange);
  border: 1px solid rgba(255,138,61,0.45);
}

.button-ghost:hover {
  background: rgba(255,138,61,0.08);
}
/* --------------------------------------------- */
/* STEP 11 — Legacy CSS Extraction (Phase 2)     */
/* Section-level visual rules (non-layout)       */
/* --------------------------------------------- */


/* Safe color rules */
.founder p {
  color: #444;
}

/* --------------------------------------------- */
/* STEP 11 — Legacy CSS Extraction (Phase 3)     */
/* Safe layout rules (non-spacing)               */
/* --------------------------------------------- */


/* Safe grid/flex rules */
.cook-steps {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}

.cook-steps li{
  justify-content: center;
}

.guessing .cook-steps{
  align-items: center;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.guessing .cook-steps li{
  width: auto;
  justify-content: center;
}

.cook-steps--compact{
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.cook-steps--compact li{
  padding: 5px 10px;
  font-size: 14px;
  background: rgba(180,255,54,0.08);
}

/* --------------------------------------------- */
/* STEP 11 — Legacy CSS Extraction (Phase 4)     */
/* Flex alignment & wrapping (medium-safe)       */
/* --------------------------------------------- */

/* Centered flex containers */
.hero,
.cta,
.founder {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* --------------------------------------------- */
/* STEP 11 — Legacy CSS Extraction (Phase 5.2)   */
/* Inner spacing normalization (S5-B)            */
/* --------------------------------------------- */

/* Paragraph spacing inside sections */
.hero p + p,
.thinking p + p,
.steps p + p,
.regen p + p,
.guessing p + p,
.grocery p + p,
.planned p + p,
.founder p + p,
.cta p + p {
  margin-top: 1.25rem;
}


/* Hero internal spacing */
.hero__title + .hero__subtitle {
  margin-top: 1rem;
}

.hero__subtitle + .hero__cta {
  margin-top: 2rem;
}
/* --------------------------------------------- */
/* STEP 11 — Legacy CSS Extraction (Phase 5.3)   */
/* Component spacing normalization (S5-B)        */
/* --------------------------------------------- */

/* Button spacing */
.button + .button {
  margin-left: 1rem;
}

.button + p,
p + .button {
  margin-top: 1.5rem;
}

/* Ghost button spacing */
.button-ghost {
  margin-top: 1rem;
}

/* List item spacing */
li + li {
  margin-top: 0.5rem;
}

/* CTA block internal spacing */
.cta__title + p {
  margin-top: 1rem;
}

.cta p + a,
.hero p + a {
  margin-top: 2rem;
}

.cta a + a {
  margin-top: 1rem;
}
/* --------------------------------------------- */
/* STEP 11 — Legacy CSS Extraction (Phase 5.4)   */
/* Responsive spacing normalization (S5-B)       */
/* --------------------------------------------- */

/* Mobile-first adjustments */
@media (max-width: 600px) {
  /* Slightly tighter section padding on small screens */
  .hero,
  .thinking,
  .steps,
  .regen,
  .guessing,
  .grocery,
  .planned,
  .founder,
  .cta {
    padding: 3rem 0;
  }

  /* Paragraph spacing slightly reduced for readability */
  .hero p + p,
  .thinking p + p,
  .steps p + p,
  .regen p + p,
  .guessing p + p,
  .grocery p + p,
  .planned p + p,
  .founder p + p,
  .cta p + p {
    margin-top: 1rem;
  }

  /* CTA spacing on mobile */
  .cta p + a,
  .hero p + a {
    margin-top: 1.5rem;
  }

}

/* Tablet and up */
@media (min-width: 768px) {
  /* Restore full section padding */
  .hero,
  .thinking,
  .steps,
  .regen,
  .guessing,
  .grocery,
  .planned,
  .founder,
  .cta {
    padding: 4rem 0;
  }

}
