    /* ===============================
       GLOBAL RESET & VARIABLES
    =============================== */
    :root {
      --bg: #eef1f6;
      --white: #ffffff;
      --primary: #ef4d4d;
      --text-dark: #1c1e21;
      --text-light: #6b7280;
      --radius-xl: 28px;
      --radius-lg: 22px;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
                   Roboto, Helvetica, Arial, sans-serif;
    }

    body {
      background: var(--bg);
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* ===============================
       PHONE FRAME
    =============================== */
    .phone {
      width: 360px;
      height: 720px;
      background: var(--white);
      border-radius: var(--radius-xl);
      overflow: hidden;
      position: relative;
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    }

    /* ===============================
       HEADER
    =============================== */
    .header {
      height: 64px;
      padding: 0 22px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .logo {
      font-weight: 800;
      letter-spacing: 0.5px;
      font-size: 15px;
      color: var(--text-dark);
    }

    .logo span {
      color: var(--primary);
    }

    .skip {
      font-size: 13px;
      color: var(--text-light);
      cursor: pointer;
    }

    /* ===============================
       HERO IMAGE
    =============================== */
    .hero {
      position: relative;
      height: 460px;
      margin: 0 16px;
      border-radius: var(--radius-lg);
      overflow: hidden;
    }

    .hero img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: grayscale(100%) contrast(1.05);
    }

    .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to top,
        rgba(0,0,0,0.65),
        rgba(0,0,0,0.15)
      );
      z-index: 1;
    }

    /* ===============================
       HERO CONTENT
    =============================== */
    .hero-content {
      position: absolute;
      bottom: 96px;
      left: 22px;
      right: 22px;
      z-index: 2;
      color: #ffffff;
    }

    .hero-content h1 {
      font-size: 28px;
      line-height: 1.2;
      font-weight: 800;
    }

    .hero-content h1 span {
      color: var(--primary);
    }

    .underline {
      width: 48px;
      height: 3px;
      background: var(--primary);
      margin-top: 14px;
      border-radius: 2px;
    }

    /* ===============================
       CTA BUTTON
    =============================== */
    .cta {
      position: absolute;
      bottom: 24px;
      left: 24px;
      right: 24px;
    }

    .cta button {
      width: 100%;
      height: 52px;
      border: none;
      border-radius: 14px;
      background: var(--primary);
      color: #ffffff;
      font-size: 16px;
      font-weight: 700;
      cursor: pointer;
    }

    .cta button:active {
      transform: scale(0.98);
    }
  
/* =====================================================
   INDEX — DE-MOCKUP / EDITORIAL BREATHING MODE
   Appended safely. No structural changes.
===================================================== */

/* Kill phone centering illusion */
body {
  display: block;
  background: linear-gradient(180deg, #eef1f6 0%, #dde3ec 100%);
  margin: 0;
  padding: 32px 0 64px;
}

/* Phone becomes a page container, not a device */
.phone {
  width: 100%;
  max-width: 860px;
  height: auto;

  margin: 0 auto;
  border-radius: 0;
  box-shadow: none;
  background: transparent;

  overflow: visible;
}

/* Header breathes like a real landing page */
.header {
  max-width: 760px;
  margin: 0 auto;
  padding: 24px 20px 16px;
}

/* Hero becomes editorial lead, not a card */
.hero {
  max-width: 760px;
  height: min(72vh, 560px);

  margin: 0 auto 32px;
  border-radius: 28px;
}

/* Preserve the cinematic feel */
.hero img,
.hero::after {
  border-radius: 28px;
}

/* Text sits comfortably, not cramped */
.hero-content {
  max-width: 520px;
  left: 32px;
  right: auto;
  bottom: 96px;
}

/* CTA behaves like a page action, not a floating button */
.cta {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  padding: 0 20px;
}

.cta button {
  height: 56px;
  border-radius: 16px;
  font-size: 17px;
}

/* Desktop sanity */
@media (min-width: 900px) {
  .hero {
    height: 68vh;
    min-height: 520px;
  }

  .hero-content h1 {
    font-size: 32px;
  }
}

/* =====================================================
   INDEX — TRUE FULL BLEED HERO
   No card. No shell. Viewport-edge image.
===================================================== */

/* Body becomes neutral canvas */
body {
  margin: 0;
  padding: 0;
  background: #eef1f6;
}

/* Phone no longer constrains layout */
.phone {
  width: 100%;
  max-width: none;
  height: auto;

  margin: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;

  overflow: visible;
}

/* Header floats above content */
.header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;

  height: 64px;
  padding: 0 20px;

  z-index: 20;
  background: transparent;
}

/* HERO GOES FULL BLEED */
.hero {
  position: relative;

  width: 100vw;
  height: 100vh;

  margin: 0;
  border-radius: 0;

  overflow: hidden;
}

/* Image truly fills viewport */
.hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;

  border-radius: 0;
}

/* Gradient respects full bleed */
.hero::after {
  border-radius: 0;
}

/* Text placement matches reference */
.hero-content {
  bottom: 120px;
  left: 24px;
  right: 24px;
  max-width: 520px;
}

/* CTA sits on image, not below */
.cta {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 40px;

  z-index: 10;
}

/* Button feels native, not boxed */
.cta button {
  height: 56px;
  border-radius: 18px;
  font-size: 17px;
}

/* Remove any leftover rounding */
.hero,
.hero img,
.hero::after {
  border-radius: 0 !important;
}


/* =========================================
   HEADER VISIBILITY FIX (PREMIUM)
========================================= */

.header {
  backdrop-filter: blur(6px);
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.55),
    rgba(0,0,0,0.25),
    transparent
  );
}

/* Logo */
.logo {
  color: #ffffff;
  font-weight: 800;
  letter-spacing: 1px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.6);
}

.logo span {
  color: #ff4d4d; /* slightly brighter red for contrast */
}

/* Magazine text */
.skip {
  color: rgba(255,255,255,0.85);
  font-weight: 500;
  text-shadow: 0 2px 10px rgba(0,0,0,0.6);
}