﻿:root {
      --bg: #dc204b;
      --bg-deep: #b71339;
      --bg-deeper: #7b0850;
      --bg-soft: #dc204b;
      --surface: #ffffff;
      --surface-2: #ffe1bf;
      --surface-3: #fff1d4;
      --ink: #1f1422;
      --ink-soft: #5a4c5f;
      --white: #ffffff;
      --cyan: #4fd5dd;
      --yellow: #ffd44f;
      --orange: #ff8b3e;
      --green: #99e36f;
      --pink: #ff77a2;
      --shadow: 0 24px 60px rgba(74, 5, 24, 0.18);
      --radius-xl: 36px;
      --radius-lg: 28px;
      --radius-md: 22px;
      --container: min(1180px, calc(100% - 32px));
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: "Manrope", sans-serif;
      color: var(--ink);
      background: var(--bg);
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img {
      display: block;
      max-width: 100%;
    }

    .page-shell {
      overflow: hidden;
    }

    .container {
      width: var(--container);
      margin: 0 auto;
    }

    .hero {
      position: relative;
      padding: 28px 0 38px;
      color: var(--white);
      isolation: isolate;
    }

    .hero::before,
    .hero::after {
      content: "";
      position: absolute;
      border-radius: 999px;
      filter: blur(20px);
      opacity: 0.55;
      z-index: -1;
    }

    .hero::before {
      width: 320px;
      height: 320px;
      top: 140px;
      right: -40px;
      background: rgba(79, 213, 221, 0.28);
    }

    .hero::after {
      width: 280px;
      height: 280px;
      bottom: 10px;
      left: -40px;
      background: rgba(255, 212, 79, 0.22);
    }

    .pill-nav {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 14px;
    }

    .pill-nav a {
      padding: 14px 24px;
      border: 1.5px solid rgba(255, 255, 255, 0.75);
      border-radius: 999px;
      font-size: 0.98rem;
      font-weight: 800;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      backdrop-filter: blur(12px);
      background: rgba(255, 255, 255, 0.06);
      transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
    }

    .pill-nav a:hover {
      transform: translateY(-2px);
      background: rgba(255, 255, 255, 0.14);
      border-color: var(--white);
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 34px;
      align-items: center;
      padding-top: clamp(38px, 8vw, 86px);
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 10px 14px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.12);
      font-size: 0.9rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }

    .brand::before {
      content: "";
      width: 12px;
      height: 12px;
      border-radius: 999px;
      background: var(--yellow);
      box-shadow: 18px 0 0 0 var(--cyan), 36px 0 0 0 var(--pink);
      margin-right: 36px;
    }

    .hero-copy h1 {
      margin: 22px 0 18px;
      font-family: "Barlow Condensed", sans-serif;
      font-size: clamp(3.8rem, 10.6vw, 7.7rem);
      line-height: 0.88;
      letter-spacing: -0.03em;
      text-transform: uppercase;
    }

    .hero-copy h1 .keep-line {
      white-space: nowrap;
    }

    .hero-copy p {
      margin: 0;
      max-width: 36ch;
      font-size: clamp(1.08rem, 1.8vw, 1.42rem);
      line-height: 1.34;
      text-align: justify;
      hyphens: auto;
      text-wrap: pretty;
      color: rgba(255, 255, 255, 0.94);
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 28px;
    }

    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 54px;
      padding: 14px 22px;
      border-radius: 999px;
      font-weight: 800;
      transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
    }

    .button:hover {
      transform: translateY(-2px);
      box-shadow: 0 18px 40px rgba(58, 5, 21, 0.22);
    }

    .button--light {
      background: var(--white);
      color: var(--bg);
    }

    .button--ghost {
      background: rgba(255, 255, 255, 0.08);
      color: var(--white);
      border: 1.5px solid rgba(255, 255, 255, 0.28);
    }

    .hero-panel {
      display: grid;
      gap: 18px;
    }

    .alert-card,
    .signal-grid {
      border-radius: var(--radius-xl);
      background: rgba(122, 8, 38, 0.42);
      border: 1px solid rgba(255, 255, 255, 0.14);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
      backdrop-filter: blur(18px);
    }

    .alert-card {
      padding: 28px;
    }

    .eyebrow {
      display: inline-block;
      padding: 8px 12px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.12);
      font-size: 0.82rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .alert-card h2 {
      margin: 14px 0 12px;
      font-family: "Barlow Condensed", sans-serif;
      font-size: clamp(2.3rem, 5vw, 4.1rem);
      line-height: 0.95;
      text-transform: uppercase;
      letter-spacing: -0.02em;
    }

    .alert-card p {
      margin: 0;
      font-size: 1.04rem;
      line-height: 1.6;
      color: rgba(255, 255, 255, 0.92);
    }

    .signal-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      padding: 16px;
    }

    .signal {
      padding: 20px;
      border-radius: 24px;
      background: var(--white);
      color: var(--ink);
      box-shadow: var(--shadow);
    }

    .signal strong {
      display: block;
      margin-bottom: 8px;
      font-family: "Barlow Condensed", sans-serif;
      font-size: 2.1rem;
      line-height: 0.95;
      color: var(--bg);
    }

    .signal span {
      display: block;
      color: var(--ink-soft);
      font-size: 0.95rem;
      line-height: 1.5;
    }

    .section {
      padding: 82px 0;
    }

    #videok {
      padding-top: 24px;
    }

    .section-head {
      display: grid;
      gap: 16px;
      margin-bottom: 34px;
    }

    .section-head h2 {
      margin: 0;
      font-family: "Barlow Condensed", sans-serif;
      font-size: clamp(2.8rem, 7vw, 5rem);
      line-height: 0.92;
      text-transform: uppercase;
      letter-spacing: -0.03em;
    }

    .section-head p {
      margin: 0;
      max-width: 68ch;
      font-size: 1.08rem;
      line-height: 1.7;
      color: var(--ink-soft);
    }

    .about-panel {
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 26px;
      padding: 34px;
      border-radius: var(--radius-xl);
      background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.08), transparent 24%),
        linear-gradient(135deg, var(--bg-deep), var(--bg-deeper));
      color: var(--white);
      box-shadow: var(--shadow);
    }

    .about-panel .section-head p,
    .about-panel p {
      color: rgba(255, 255, 255, 0.88);
    }

    .about-text {
      display: grid;
      gap: 18px;
      align-content: start;
    }

    .about-text p {
      margin: 0;
      font-size: clamp(1.08rem, 1.8vw, 1.28rem);
      line-height: 1.8;
    }

    .trigger-stack {
      display: grid;
      gap: 14px;
      align-content: start;
    }

    .trigger-card {
      display: grid;
      gap: 10px;
      padding: 22px;
      border-radius: var(--radius-md);
      color: var(--white);
      box-shadow: var(--shadow);
    }

    .trigger-card strong {
      font-family: "Barlow Condensed", sans-serif;
      font-size: 2rem;
      line-height: 0.95;
      text-transform: uppercase;
    }

    .trigger-card span {
      line-height: 1.55;
      color: rgba(255, 255, 255, 0.9);
    }

    .trigger-card--orange {
      background: linear-gradient(135deg, #ff9b4b, #ff6d3e);
    }

    .trigger-card--cyan {
      background: linear-gradient(135deg, #42c8df, #288be5);
    }

    .trigger-card--green {
      background: linear-gradient(135deg, #74d05a, #45b48b);
    }

    .video-stage {
      padding: 38px;
      border-radius: calc(var(--radius-xl) + 4px);
      background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.08), transparent 24%),
        linear-gradient(135deg, var(--bg-deep), var(--bg-deeper));
      color: var(--white);
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .video-stage .section-head p {
      color: rgba(255, 255, 255, 0.82);
    }

    .video-swiper-wrap {
      width: 100vw;
      margin-left: calc(50% - 50vw);
      padding: 10px 0 6px;
      position: relative;
    }

    .videoSwiper {
      position: relative;
      padding: 0 0 64px;
      overflow: visible;
    }

    .videoSwiper .swiper-slide {
      aspect-ratio: 9 / 16;
      opacity: 0.55;
      transform: scale(0.92);
      transition: opacity 220ms ease, transform 220ms ease;
    }

    .videoSwiper .swiper-slide-active,
    .videoSwiper .swiper-slide-prev,
    .videoSwiper .swiper-slide-next {
      opacity: 1;
      transform: scale(1);
    }

    .reel-card {
      position: relative;
      display: block;
      margin: 0 auto;
      aspect-ratio: 9 / 16;
      border-radius: 40px;
      overflow: hidden;
      background: rgba(255, 255, 255, 0.08);
      box-shadow: 0 24px 40px rgba(77, 8, 29, 0.28);
    }

    .reel-card__image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      transition: transform 220ms ease;
    }

    .reel-card__video {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      object-position: center;
      background: #1f1422;
    }

    .reel-card--video .reel-card__meta {
      pointer-events: none;
      padding: 8px 10px;
      border-radius: 18px;
      background: linear-gradient(90deg, rgba(0, 0, 0, 0.46), rgba(0, 0, 0, 0));
    }

    .reel-card:hover .reel-card__image {
      transform: scale(1.04);
    }

    .reel-card__shade {
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(10, 8, 12, 0.08) 0%, rgba(10, 8, 12, 0.58) 100%);
    }

    .reel-card__meta {
      position: absolute;
      top: 18px;
      left: 18px;
      right: 18px;
      z-index: 2;
      display: grid;
      gap: 4px;
      color: var(--white);
      text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
    }

    .reel-card__meta strong {
      font-size: 1.15rem;
      line-height: 1.1;
      font-weight: 800;
    }

    .reel-card__meta span {
      font-size: 0.92rem;
      line-height: 1.2;
      opacity: 0.94;
    }

    .reel-card__play {
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 2;
      width: 94px;
      height: 72px;
      transform: translate(-50%, -50%);
      filter: drop-shadow(0 16px 28px rgba(117, 6, 37, 0.35));
    }

    .reel-card__play::before,
    .reel-card__play::after {
      content: "";
      position: absolute;
      background: #ff214f;
      border-radius: 999px;
    }

    .reel-card__play::before {
      inset: 0 34px 0 0;
      transform: rotate(-36deg);
    }

    .reel-card__play::after {
      inset: 0 0 0 34px;
      transform: rotate(36deg);
    }

    .reel-card__play {
      clip-path: polygon(26% 18%, 76% 50%, 26% 82%);
    }

    .video-swiper-prev,
    .video-swiper-next {
      width: clamp(64px, 6vw, 104px);
      height: clamp(64px, 6vw, 104px);
      border-radius: 999px;
      border: 2px solid rgba(255, 255, 255, 0.78);
      background:
        radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.62) 58%, rgba(255, 255, 255, 0.38)),
        rgba(255, 255, 255, 0.66);
      color: var(--bg-deeper);
      box-shadow: 0 24px 46px rgba(77, 8, 29, 0.34);
      transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center;
      top: 50%;
      transform: translateY(-50%);
      z-index: 8;
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      cursor: pointer;
      user-select: none;
    }

    .video-swiper-prev:hover,
    .video-swiper-next:hover {
      transform: translateY(-50%) scale(1.06);
      background: rgba(255, 255, 255, 0.94);
      box-shadow: 0 30px 54px rgba(77, 8, 29, 0.42);
    }

    .video-swiper-prev:active,
    .video-swiper-next:active {
      transform: translateY(-50%) scale(0.98);
    }

    .video-swiper-prev::after,
    .video-swiper-next::after {
      display: none;
    }

    .video-swiper-prev svg,
    .video-swiper-next svg {
      width: clamp(28px, 3vw, 44px);
      height: clamp(30px, 3.2vw, 48px);
      fill: currentColor;
    }

    .video-swiper-prev svg {
      transform: rotate(180deg);
    }

    .video-swiper-prev {
      left: clamp(88px, calc((100vw - 1180px) / 2 + 54px), 340px);
    }

    .video-swiper-next {
      right: clamp(88px, calc((100vw - 1180px) / 2 + 54px), 340px);
    }

    .videoSwiper .swiper-pagination {
      bottom: 0 !important;
    }

    .videoSwiper {
      --swiper-pagination-bullet-size: 12px;
      --swiper-pagination-bullet-inactive-color: #000000;
      --swiper-pagination-bullet-inactive-opacity: 0.5;
      --swiper-pagination-color: #dc204b;
    }

    .steps-stage {
      padding: 40px;
      border-radius: calc(var(--radius-xl) + 4px);
      background: linear-gradient(180deg, var(--bg-deep) 0%, var(--bg-deeper) 100%);
      color: var(--white);
      box-shadow: var(--shadow);
    }

    .steps-stage .section-head p {
      color: rgba(255, 255, 255, 0.78);
    }

    .step-block + .step-block {
      margin-top: 40px;
    }

    .step-title {
      margin: 0 0 16px;
      font-family: "Barlow Condensed", sans-serif;
      font-size: clamp(2.2rem, 5vw, 3.6rem);
      line-height: 0.95;
      text-transform: uppercase;
      letter-spacing: -0.02em;
    }

    .subhead {
      margin: 0 0 20px;
      font-size: 0.96rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.82);
    }

    .reaction-panels {
      display: grid;
      gap: 22px;
    }

    .reaction-panel {
      padding: 24px;
      border-radius: 30px;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.12);
    }

    .reaction-panel h4 {
      margin: 0 0 4px;
      font-size: 1.1rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .reaction-panel p {
      margin: 0 0 18px;
      color: rgba(255, 255, 255, 0.72);
      line-height: 1.6;
    }

    .symptom-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
    }

    .symptom-card,
    .epipen-card {
      display: grid;
      gap: 14px;
      align-content: start;
      padding: 18px;
      border-radius: 24px;
      background: var(--white);
      color: var(--ink);
      box-shadow: 0 18px 40px rgba(55, 5, 19, 0.18);
    }

    .symptom-card img,
    .epipen-card img {
      width: 100%;
      max-height: 120px;
      object-fit: contain;
    }

    .symptom-card span,
    .epipen-card p {
      margin: 0;
      text-align: center;
      line-height: 1.5;
      color: var(--ink-soft);
      font-weight: 700;
    }

    .epipen-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }

    .epipen-card p {
      font-weight: 600;
    }

    .warning-strip,
    .call-strip {
      margin-top: 22px;
      padding: 20px 24px;
      border-radius: 24px;
      font-weight: 800;
      line-height: 1.6;
    }

    .warning-strip {
      background: linear-gradient(135deg, #ffd44f, #ffb848);
      color: #5a2b00;
    }

    .call-strip {
      background: rgba(255, 255, 255, 0.12);
      color: var(--white);
      text-align: center;
      font-family: "Barlow Condensed", sans-serif;
      font-size: clamp(2.2rem, 5vw, 3.6rem);
      line-height: 0.95;
      text-transform: uppercase;
    }

    .support {
      padding-top: 26px;
    }

    .support-stage {
      padding: 40px;
      border-radius: 40px;
      background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.08), transparent 22%),
        linear-gradient(135deg, var(--bg-deep), var(--bg-deeper));
      color: var(--white);
      box-shadow: var(--shadow);
    }

    .support-stage .section-head p {
      color: rgba(255, 255, 255, 0.84);
    }

    .help-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
    }

    .help-card {
      display: grid;
      gap: 16px;
      padding: 28px;
      border-radius: 30px;
      background: rgba(255, 255, 255, 0.14);
      border: 1px solid rgba(255, 255, 255, 0.2);
      backdrop-filter: blur(14px);
      transition: transform 180ms ease, background-color 180ms ease;
    }

    .help-card:hover {
      transform: translateY(-4px);
      background: rgba(255, 255, 255, 0.18);
    }

    .icon-box {
      width: 74px;
      height: 74px;
      border-radius: 22px;
      background: rgba(255, 255, 255, 0.18);
      display: grid;
      place-items: center;
    }

    .icon-box svg {
      width: 38px;
      height: 38px;
      fill: none;
      stroke: var(--white);
      stroke-width: 1.9;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .help-card h3 {
      margin: 0;
      font-family: "Barlow Condensed", sans-serif;
      font-size: 2.2rem;
      line-height: 0.95;
      text-transform: uppercase;
    }

    .help-card p {
      margin: 0;
      line-height: 1.7;
      color: rgba(255, 255, 255, 0.9);
    }

    .help-link {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }

    .help-link::after {
      content: "→";
      font-size: 1.25rem;
    }

    .support-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 26px;
    }

    .support-actions a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 50px;
      padding: 12px 18px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.18);
      color: var(--white);
      font-weight: 800;
      border: 1px solid rgba(255, 255, 255, 0.22);
    }

    .footer {
      padding: 22px 0 36px;
      text-align: center;
      color: rgba(255, 255, 255, 0.78);
      font-size: 0.94rem;
    }

    @media (max-width: 1080px) {
      .hero-grid,
      .about-panel,
      .help-grid {
        grid-template-columns: 1fr;
      }

      .symptom-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .epipen-grid {
        grid-template-columns: 1fr;
      }

      .video-swiper-prev {
        left: 18px;
      }

      .video-swiper-next {
        right: 18px;
      }
    }

    @media (max-width: 760px) {
      .hero {
        padding-bottom: 70px;
      }

      .hero-copy h1 {
        font-size: clamp(3rem, 17vw, 4.8rem);
      }

      .video-swiper-prev,
      .video-swiper-next {
        width: 56px;
        height: 56px;
        opacity: 0.9;
      }

      .video-swiper-prev {
        left: 10px;
      }

      .video-swiper-next {
        right: 10px;
      }

      .about-panel,
      .video-stage,
      .steps-stage,
      .support-stage {
        padding: 24px;
      }

      .signal-grid,
      .symptom-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .signal strong {
        font-size: 1.7rem;
      }

      .help-card h3 {
        font-size: 1.8rem;
      }

      .reel-card__meta strong {
        font-size: 1rem;
      }

      .reel-card__meta span {
        font-size: 0.84rem;
      }

      .reel-card__play {
        width: 82px;
        height: 62px;
      }

      .pill-nav a,
      .button,
      .support-actions a {
        width: 100%;
      }
    }

    @media (max-width: 520px) {
      .signal-grid,
      .symptom-grid {
        grid-template-columns: 1fr;
      }
    }
