
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: Arial, Helvetica, sans-serif;
      background: #ffffff;
      color: #171717;
      line-height: 1.5;
      overflow-x: hidden;
    }

    img {
      max-width: 100%;
      display: block;
    }

    a {
      text-decoration: none;
      color: inherit;
    }

    /* HEADER */

    header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: rgba(255,255,255,.96);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid #eeeeee;
    }

    .nav {
      max-width: 1240px;
      margin: auto;
      min-height: 86px;
      padding: 12px 5%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 30px;
    }

    .logo-header {
      width: 210px;
      max-height: 64px;
      object-fit: contain;
    }

    nav {
      display: flex;
      align-items: center;
      gap: 28px;
    }

    nav a {
      font-size: 14px;
      font-weight: 700;
      color: #333;
    }

    .nav-button {
      background: #ff4324;
      color: #fff;
      padding: 13px 24px;
      border-radius: 999px;
    }

    /* HERO */

    .hero {
      min-height: 680px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      max-width: 1400px;
      margin: auto;
      padding: 70px 6%;
      gap: 65px;
      background:
        radial-gradient(circle at 15% 30%, #fff1ed 0, transparent 30%),
        #fff;
    }

    .eyebrow {
      color: #d81756;
      text-transform: uppercase;
      font-size: 13px;
      letter-spacing: 4px;
      font-weight: 800;
      margin-bottom: 20px;
    }

    h1 {
      font-size: clamp(46px, 6vw, 86px);
      line-height: .98;
      letter-spacing: -4px;
      max-width: 700px;
    }

    h1 span {
      color: #d81756;
    }

    .hero-text {
      margin-top: 27px;
      max-width: 630px;
      color: #595959;
      font-size: 19px;
      line-height: 1.7;
    }

    .hero-buttons {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 34px;
    }

    .primary {
      display: inline-block;
      background: linear-gradient(135deg,#d81756,#a9003e);
      color: white;
      padding: 17px 30px;
      border-radius: 999px;
      font-weight: 800;
      box-shadow: 0 14px 35px rgba(216,23,86,.23);
    }

    .secondary {
      display: inline-block;
      padding: 16px 28px;
      border: 1px solid #ddd;
      border-radius: 999px;
      font-weight: 700;
      background: white;
    }

    .trial {
      margin-top: 18px;
      font-size: 14px;
      font-weight: 700;
      color: #666;
    }

    .hero-image {
      position: relative;
    }

    .hero-image img {
      width: 100%;
      max-height: 720px;
      object-fit: cover;
      border-radius: 36px;
      box-shadow: 0 30px 80px rgba(0,0,0,.16);
    }

    /* TRUST */

    .trust {
      background: #101010;
      color: white;
      padding: 25px 5%;
    }

    .trust-inner {
      max-width: 1100px;
      margin: auto;
      display: flex;
      justify-content: space-around;
      text-align: center;
      gap: 20px;
      flex-wrap: wrap;
    }

    .trust strong {
      display: block;
      font-size: 21px;
      margin-bottom: 4px;
    }

    .trust span {
      font-size: 12px;
      color: #bbb;
      letter-spacing: 1px;
      text-transform: uppercase;
    }

    /* SECTIONS */

    section {
      padding: 105px 6%;
    }

    .section-inner {
      max-width: 1240px;
      margin: auto;
    }

    .section-label {
      color: #d81756;
      font-size: 13px;
      letter-spacing: 4px;
      font-weight: 800;
      text-transform: uppercase;
      margin-bottom: 15px;
    }

    h2 {
      font-size: clamp(38px, 5vw, 64px);
      line-height: 1.04;
      letter-spacing: -2px;
      margin-bottom: 24px;
    }

    .section-description {
      max-width: 720px;
      color: #666;
      font-size: 18px;
      line-height: 1.7;
    }

    /* FEATURES */

    .features {
      background: #faf8f6;
    }

    .cards {
      display: grid;
      grid-template-columns: repeat(4,1fr);
      gap: 18px;
      margin-top: 55px;
    }

    .card {
      background: white;
      padding: 32px 26px;
      border-radius: 24px;
      border: 1px solid #eee;
      transition: .25s;
    }

    .card:hover {
      transform: translateY(-7px);
      box-shadow: 0 20px 50px rgba(0,0,0,.08);
    }

    .card-icon {
      font-size: 27px;
      margin-bottom: 22px;
    }

    .card h3 {
      font-size: 20px;
      margin-bottom: 10px;
    }

    .card p {
      color: #777;
      font-size: 14px;
      line-height: 1.6;
    }

    /* IMAGE/TEXT SPLITS */

    .split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center;
    }

    .visual img {
      width: 100%;
      max-height: 760px;
      object-fit: cover;
      border-radius: 30px;
      box-shadow: 0 25px 65px rgba(0,0,0,.14);
    }

    .dark {
      background: #090909;
      color: white;
    }

    .dark .section-description {
      color: #c7c7c7;
    }

    .dark .visual img {
      box-shadow: 0 25px 80px rgba(216,23,86,.14);
    }

    /* STORY */

    .story-highlight {
      color: #ff1764;
    }

    .kcal {
      display: inline-block;
      margin-top: 28px;
      color: #ff1764;
      border: 1px solid #3d3d3d;
      padding: 13px 20px;
      border-radius: 999px;
      font-weight: 800;
    }

    /* PLAN */

    .plan {
      background:
        radial-gradient(circle at 80% 20%, #ffe4eb 0, transparent 25%),
        #fff;
    }

    .price {
      margin: 25px 0;
      font-size: 22px;
      color: #555;
    }

    .price strong {
      color: #c9004a;
      font-size: clamp(54px,7vw,88px);
      letter-spacing: -4px;
    }

    .price small {
      font-size: 17px;
    }

    .plan-list {
      margin: 25px 0 34px;
      display: grid;
      gap: 12px;
      color: #444;
      font-weight: 600;
    }

    /* APP */

    .app-access {
      background: #f7f8f6;
    }

    .app-access .visual img {
      max-width: 430px;
      margin: auto;
      box-shadow: 0 20px 55px rgba(0,0,0,.10);
    }

    /* FINAL CTA */

    .final {
      padding: 110px 6%;
      text-align: center;
      background: linear-gradient(135deg,#a9003e,#e8175d);
      color: white;
    }

    .final h2 {
      max-width: 850px;
      margin: 0 auto 22px;
    }

    .final p {
      max-width: 650px;
      margin: 0 auto 35px;
      color: #ffe9f0;
      font-size: 18px;
    }

    .final .primary {
      background: white;
      color: #b50043;
    }

    /* FOOTER */

    footer {
      background: #080808;
      color: white;
      padding: 55px 6% 35px;
    }

    .footer-inner {
      max-width: 1200px;
      margin: auto;
      text-align: center;
    }

    .footer-logo {
      width: 190px;
      margin: 0 auto 25px;
      background: white;
      padding: 8px 12px;
      border-radius: 10px;
    }

    .footer-links {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 25px;
      margin: 25px 0;
      font-size: 13px;
      color: #ccc;
    }

    .copyright {
      color: #777;
      font-size: 12px;
      padding-top: 20px;
      border-top: 1px solid #222;
    }

    /* MOBILE */

    @media(max-width: 900px) {
      nav a:not(.nav-button) {
        display: none;
      }

      .logo-header {
        width: 160px;
      }

      .hero {
        grid-template-columns: 1fr;
        padding-top: 45px;
        gap: 45px;
      }

      h1 {
        letter-spacing: -2px;
      }

      .hero-image {
        order: -1;
      }

      .hero-image img {
        max-height: 560px;
      }

      .cards {
        grid-template-columns: 1fr 1fr;
      }

      .split {
        grid-template-columns: 1fr;
        gap: 45px;
      }

      section {
        padding: 75px 6%;
      }
    }

    @media(max-width: 550px) {
      .nav {
        min-height: 72px;
      }

      .logo-header {
        width: 135px;
      }

      .nav-button {
        padding: 10px 16px;
        font-size: 12px;
      }

      .hero {
        padding-left: 5%;
        padding-right: 5%;
      }

      .hero-text {
        font-size: 16px;
      }

      .cards {
        grid-template-columns: 1fr;
      }

      .hero-buttons a {
        width: 100%;
        text-align: center;
      }

      .visual img {
        border-radius: 20px;
      }
    }
  