:root{
      --ink: #01323c;        /* from PDF text color 0x1323c */
      --teal: #004f59;       /* from PDF fill (0, .309, .348) */
      --teal-2: #01323c;
      --aqua: #00ffb5;       /* from PDF accent (0,1,.71) */
      --hi-yellow: #e6ff14;  /* from PDF highlight (230,255,20) */
      --white: #ffffff;
      --gray-1: #f3f4f6;
      --gray-2: #e5e7eb;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; font-family: 'Roboto', system-ui, -apple-system, Segoe UI, sans-serif; color: var(--ink); background: #fff; }

    .container { max-width: 1200px; margin: 0 auto; padding: 0 2.5rem; }
    @media (max-width: 900px) { .container { padding: 0 1.25rem; } }

    /* Header (not sticky in mockup) */
    .header { background: #fff; padding: 0.95rem 0 0.55rem; display: none !important;}
    .header-inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 2.25rem; }
    .header-tag {
      font-family: 'Wix Madefor Display', sans-serif;
      font-weight: 900;
      font-size: 1.35rem;
      letter-spacing: 0.18em;
      line-height: 1.15;
      color: var(--ink);
      text-transform: uppercase;
      margin-left: clamp(0rem, 3vw, 3.25rem);
      padding-bottom: 0.6rem;
      white-space: nowrap;
    }

    .brand{ display:flex; align-items: flex-end; justify-content: flex-end; }
    .brand-img{
      display:block;
      height: 190px;
      width: auto;
      max-width: min(640px, 100%);
    }

    @media (max-width: 900px){
      .header{ padding: 1.25rem 0 0.9rem; }
      .header-inner{ flex-direction: column; align-items: flex-start; gap: 0.9rem; }
      .header-tag{ margin-left: 0; white-space: normal; padding-bottom: 0; }
      .brand{ align-self: flex-end; }
      .brand-img{ height: 140px; }
    }

    /* Hero */
    .hero {
      position: relative;
      min-height: 560px;
      display: flex;
      align-items: center;
      color: #fff;
      overflow: hidden;
    }
    .hero::before{
      content:'';
      position:absolute;
      inset:0;
      background: url('/images/landing-page/img_04_xref_93.png') center/cover no-repeat;
      filter: saturate(0.9) contrast(1.05);
      z-index:0;
    }
    .hero::after{
      content:'';
      position:absolute;
      inset:0;
      background: rgba(0,79,89,0.82);
      z-index:1;
    }
    .hero-inner{
      position: relative;
      z-index: 2;
      width: 100%;
      padding-top: 4rem;
      padding-bottom: 4.25rem;
    }
    .hero-kicker{ font-family:'Wix Madefor Display', sans-serif; font-weight: 600; font-size: 2.35rem; margin: 0; }
    .hero-solved{ font-family:'Covered By Your Grace', cursive; font-size: 5.25rem; color: var(--hi-yellow); margin: 0.25rem 0 0.65rem; line-height: 1; }
    .hero-sub{ font-family:'Wix Madefor Display', sans-serif; font-weight: 800; font-size: 1.9rem; margin: 0 0 1.25rem; }
    .hero-body{ font-size: 1.1rem; line-height: 1.45; max-width: 46rem; margin: 0 0 1.25rem; }
    .hero-launch{ font-size: 1.05rem; font-weight: 700; margin: 0 0 1rem; }

    .cta-wrap{ margin-top: 0.5rem; }
    .cta-btn{
      display: inline-block;
      border: 0;
      cursor: pointer;
      background: var(--aqua);
      color: var(--ink);
      font-family: 'Wix Madefor Display', sans-serif;
      font-weight: 800;
      text-transform: uppercase;
      text-decoration: none;
      letter-spacing: 0.08em;
      border-radius: 999px;
      padding: 0.85rem 2.25rem;
      box-shadow: 0 10px 30px rgba(0,0,0,0.25);
    }
    .cta-note{ margin: 0.85rem 0 0; font-size: 0.85rem; opacity: 0.9; }

    /* Info section */
    .info { background: linear-gradient(180deg, rgba(0,79,89,0.9) 0%, rgba(0,45,47,1) 100%); padding: 2.5rem 0 3.5rem; }
    .info-card{
      border: 1px solid rgba(255,255,255,0.18);
      padding: 2rem;
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      gap: 2.25rem;
      background: rgba(0,0,0,0.06);
      position: relative;
      overflow: hidden;
    }
    .info-card::before{
      content:'';
      position:absolute;
      inset:-60px;
      background:
        radial-gradient(520px 260px at 34% 45%,
          rgba(0,255,181,0.55) 0%,
          rgba(0,255,181,0.28) 35%,
          rgba(0,255,181,0.08) 55%,
          rgba(0,255,181,0.00) 72%
        );
      opacity: 0.95;
      pointer-events: none;
    }
    .info-card > *{ position: relative; z-index: 1; }
    @media (max-width: 900px){ .info-card{ grid-template-columns: 1fr; } }
    .info-card img{
      width: 100%;
      border-radius: 0.25rem;
      border: 4px solid rgba(255,255,255,0.9);
      display:block;
    }
    .info h2{
      font-family:'Wix Madefor Display', sans-serif;
      font-weight: 800;
      font-size: 2rem;
      color:#fff;
      margin: 0 0 1rem;
      line-height: 1.15;
    }
    .info h2 .accent{ color: var(--aqua); }
    .info p{ color: rgba(255,255,255,0.92); font-size: 1.05rem; margin: 0 0 1rem; }
    .info p:last-child{ margin-bottom: 0; }

    /* Monster section */
    .monster { background: #fff; padding: 3.5rem 0; }
    .monster-grid{ display:grid; grid-template-columns: 1.1fr 1fr; gap: 2.5rem; align-items: start; }
    @media (max-width: 900px){ .monster-grid{ grid-template-columns: 1fr; } }
    .monster h2{
      font-family:'Wix Madefor Display', sans-serif;
      font-weight: 800;
      font-size: 2rem;
      margin: 0 0 1.25rem;
      color: var(--ink);
      line-height: 1.2;
    }
    .monster h2 .hi{
      background: linear-gradient(transparent 55%, var(--hi-yellow) 55%, var(--hi-yellow) 85%, transparent 85%);
      padding: 0 0.1em;
    }
    .monster p{ margin: 0 0 1rem; color: #374151; }

    .cost-box{
      background: var(--gray-1);
      border-radius: 0.75rem;
      padding: 1.75rem;
    }
    .cost-title{ font-family:'Wix Madefor Display', sans-serif; font-weight: 800; font-size: 1.5rem; color: var(--ink); margin: 0 0 1rem; }
    .cost-grid{
      display: grid;
      grid-template-columns: 160px 1fr;
      grid-template-rows: auto auto;
      gap: 1.25rem;
      align-items: start;
    }
    .cost-monster{ grid-column: 1; grid-row: 1 / span 2; width: 160px; height: auto; display: block; }
    .cost-list{ grid-column: 2; grid-row: 1; list-style: none; padding: 0; margin: 0; }
    .cost-note{ grid-column: 2; grid-row: 2; margin: 0; color: #374151; font-size: 0.95rem; }
    .cost-list li{ display:flex; gap: 0.6rem; align-items: flex-start; margin: 0 0 0.45rem; color: var(--ink); font-weight: 600; }
    .cost-list li::before{ content:''; width: 0.5rem; height: 0.5rem; border-radius: 999px; background: var(--aqua); margin-top: 0.35rem; flex-shrink:0; }
    @media (max-width: 900px) {
      .cost-grid{
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 1rem;
      }
      .cost-monster,
      .cost-list,
      .cost-note{
        grid-column: 1;
        grid-row: auto;
      }
      .cost-monster{
        width: 140px;
        margin: 0 auto;
      }
      .cost-note{ margin-top: 0.25rem; }
    }
    .monster-bottom{ text-align:center; font-family:'Wix Madefor Display', sans-serif; font-weight: 800; color: var(--ink); margin-top: 2rem; }

    /* Platform section */
    .platform{ background: var(--teal); padding: 3.75rem 0 0; color:#fff; position: relative; overflow:hidden; }
    .platform-inner{ display:grid; grid-template-columns: 1fr 1.05fr; gap: 2.75rem; align-items: start; }
    @media (max-width: 900px){ .platform-inner{ grid-template-columns: 1fr; } }
    .platform-left img{ width:100%; max-width: 520px; height:auto; display:block; margin: 0 auto; }
    .platform-script{
      margin-top: 1.25rem;
      font-family:'Covered By Your Grace', cursive;
      font-size: 1.7rem;
      color:#fff;
      text-align: left;
    }
    .platform-script .u{ position: relative; padding: 0 0.15em; }
    .platform-script .u::after{
      content:'';
      position:absolute;
      left: 0;
      right: 0;
      bottom: -0.1em;
      height: 0.35em;
      background: var(--aqua);
      opacity: 0.8;
      border-radius: 999px;
      z-index: -1;
    }
    .platform h3{ font-family:'Wix Madefor Display', sans-serif; font-weight: 800; font-size: 2rem; margin: 0 0 0.25rem; }
    .platform .sub{ color: #00ffcc; font-family:'Wix Madefor Display', sans-serif; font-weight: 700; margin: 0 0 1.25rem; }
    .platform p{ margin: 0 0 1rem; color: rgba(255,255,255,0.92); }
    .features{ margin: 1.25rem 0 0; padding: 0; list-style: none; }
    .features li{ display:flex; gap: 0.75rem; padding: 0.85rem 0; border-bottom: 1px solid rgba(255,255,255,0.22); }
    .features li:last-child{ border-bottom: none; }
    .check{
      width: 1.35rem;
      height: 1.35rem;
      border-radius: 999px;
      background: var(--aqua);
      color: var(--ink);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 900;
      flex-shrink: 0;
      margin-top: 0.15rem;
    }
    .feat-title{ font-weight: 800; }
    .feat-desc{ color: rgba(255,255,255,0.85); font-size: 0.95rem; margin-top: 0.1rem; }
    .platform-bar{ height: 18px; background: var(--aqua); margin-top: 2.75rem; }

    /* Trust + stats */
    .trust{ background: #00ff9d; padding: 3.75rem 0; text-align: center; }
    .trust h2{ font-family:'Wix Madefor Display', sans-serif; font-weight: 800; font-size: 2.35rem; margin: 0 0 1.25rem; color: var(--ink); }
    .trust h2 .white{ color: #fff; font-weight: 900; }
    .trust p{ color: var(--ink); max-width: 56rem; margin: 0.5rem auto; }
    .trust .highlight{ color: var(--hi-yellow); font-weight: 900; }
    .stats{ display:flex; gap: 1.25rem; justify-content: center; margin-top: 2.25rem; flex-wrap: wrap; }
    .stat{
      background: #004040;
      border-radius: 0.75rem;
      padding: 1.25rem 1.5rem;
      display:flex;
      align-items:center;
      gap: 1rem;
      min-width: 260px;
      justify-content: flex-start;
    }
    .stat svg{ width: 44px; height: 44px; color: #fff; flex-shrink:0; }
    .stat-num{ font-family:'Wix Madefor Display', sans-serif; font-weight: 900; font-size: 1.9rem; color: #00ffcc; line-height: 1; }
    .stat-label{ font-family:'Wix Madefor Display', sans-serif; font-weight: 800; font-size: 0.85rem; color: #00ffcc; letter-spacing: 0.08em; margin-top: 0.2rem; text-transform: uppercase; }
    @media (max-width: 900px) {
      .stats{
        display: inline-flex;
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
        margin-top: 1.75rem;
        width: max-content;
        max-width: 100%;
      }
      .stat{
        width: auto;
        min-width: 0;
        max-width: none;
        box-sizing: border-box;
        padding: 1.25rem 1.25rem;
      }
    }

    /* How it works */
    .how{
      background: linear-gradient(90deg, #3a988b 0%, #034550 100%);
      padding: 4rem 0 4.25rem;
      text-align: center;
      color:#fff;
    }
    .how h2{
      font-family:'Wix Madefor Display', sans-serif;
      font-weight: 800;
      font-size: 2.2rem;
      margin: 0 0 1.75rem;
    }
    .how h2 .accent{ color: var(--aqua); }
    .how-media {
      position: relative;
      max-width: 980px;
      margin: 0 auto 18px;
      height: 220px;
      background-image: url('../images/Frame-rings.svg');
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
    }
    .how-step {
      position: absolute;
      width: 134px;
      text-align: center;
      color: #e9ffff;
    }
    .how-title {
      font-family: 'Roboto', sans-serif;
      font-size: 0.95rem;
      font-weight: 700;
      margin-bottom: 2px;
    }
    .how-circle {
      font-size: 40px;
      font-weight: 900;
      line-height: 36px;
      font-family: 'Wix Madefor Display', sans-serif;
    }
    .how-desc {
      font-family: 'Roboto', sans-serif;
      font-size: 0.85rem;
      color: #fff;
      margin-top: 18px;
    }
    .how-step--one { left: 184px; top: 44px; }
    .how-step--two { left: calc(50% - 72px); top: 44px; }
    .how-step--three { right: 192px; top: 44px; }

    @media (max-width: 1280px) {
      .how-media {
        max-width: 980px;
        height: 220px;
      }
      .how-step { width: 170px; }
      .how-circle { font-size: 40px; line-height: 36px; }
      .how-title { font-size: 0.95rem; }
      .how-desc { font-size: 0.82rem; margin-top: 12px; }
      .how-step--one { left: 169px; top: 66px; right: auto; }
      .how-step--two { left: calc(50% - 85px); top: 66px; right: auto; }
      .how-step--three { right: 169px; top: 66px; left: auto; }
    }

    @media (max-width: 1024px) {
      .how-media {
        max-width: 760px;
        height: 320px;
      }
      .how-step { width: 180px; }
      .how-circle { font-size: 42px; line-height: 38px; }
      .how-title { font-size: 1rem; }
      .how-desc { font-size: 0.85rem; margin-top: 12px; }
      .how-step--one { left: 31px; top: 105px; right: auto; }
      .how-step--two { left: calc(50% - 90px); top: 105px; right: auto; }
      .how-step--three { right: 31px; top: 105px; left: auto; }
    }

    @media (max-width: 900px) {
      .how { padding: 3rem 0 3.25rem; }
      .how h2 { font-size: 1.85rem; }
      .how-media {
        max-width: 700px;
        height: 280px;
      }
      .how-step { width: 170px; }
      .how-circle { font-size: 38px; line-height: 34px; }
      .how-title { font-size: 0.9rem; }
      .how-desc { font-size: 0.78rem; margin-top: 10px; }
      .how-step--one { left: 26px; top: 92px; right: auto; }
      .how-step--two { left: calc(50% - 85px); top: 92px; right: auto; }
      .how-step--three { right: 26px; top: 92px; left: auto; }
    }

    @media (max-width: 768px) {
      .how h2 { margin-bottom: 14px; }
      .how-media {
        height: auto;
        background-image: none;
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 16px;
        padding-top: 6px;
      }
      .how-step,
      .how-step--one,
      .how-step--two,
      .how-step--three {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        width: 100%;
      }
      .how-title { font-size: 0.95rem; }
      .how-desc { font-size: 0.82rem; }
    }

    /* Final CTA */
    .final{ background: #002b2f; padding: 4rem 0 4.25rem; text-align: center; color:#fff; }
    .final h2{ font-family:'Wix Madefor Display', sans-serif; font-weight: 900; font-size: 2.2rem; margin: 0 0 1.75rem; }
    .final h2 .accent{ color: #00ff9d; }
    .final .points{ max-width: 56rem; margin: 0 auto 2rem; }
    .final .points p{ margin: 0.9rem 0; }
    .final .solved{ font-family:'Covered By Your Grace', cursive; color: var(--hi-yellow); font-size: 1.7rem; margin-left: 0.25rem; }
    .final .cta-btn{ margin-top: 0.25rem; }
    .final .note{ margin-top: 1.25rem; font-weight: 700; }

    /* Footer */
    .footer{ background:#fff; padding: 2.5rem 0 3rem; text-align: center; }
    .footer-brand{ font-family:'Wix Madefor Display', sans-serif; font-weight: 900; font-size: 2rem; color: var(--ink); }
    .footer-brand .dotcom{ color: #00ff9d; font-weight: 900; }
    .footer-tagline{ margin-top: 0.4rem; font-family:'Wix Madefor Display', sans-serif; font-weight: 900; display:inline-block; background: var(--hi-yellow); padding: 0.15rem 0.5rem; }

    /* Waitlist Modal (kept functional) */
    #waitlist-modal {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 9999;
      align-items: center;
      justify-content: center;
      background: rgba(0,45,47,0.5);
      backdrop-filter: blur(6px);
      opacity: 0;
      transition: opacity 0.2s ease;
    }
    #waitlist-modal.open { display: flex; opacity: 1; }
    #waitlist-modal .modal-box {
      background: #fff;
      border-radius: 1rem;
      max-width: 28rem;
      width: 90%;
      max-height: 90vh;
      overflow-y: auto;
      box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
      position: relative;
      transform: scale(0.98);
      transition: transform 0.2s ease;
    }
    #waitlist-modal.open .modal-box { transform: scale(1); }
    #waitlist-modal .modal-header { padding: 1.5rem 1.5rem 0; display:flex; justify-content: space-between; align-items:flex-start; }
    #waitlist-modal .modal-title { font-family:'Wix Madefor Display', sans-serif; font-size: 1.375rem; font-weight: 900; color: var(--ink); }
    #waitlist-modal .modal-close { background:none; border:0; cursor:pointer; padding:0.375rem; color:#6b7280; border-radius:0.375rem; }
    #waitlist-modal .modal-close:hover { color: var(--ink); background:#f3f4f6; }
    #waitlist-modal .modal-body { padding: 1.5rem; }
    #waitlist-modal label { display:block; font-size: 0.8125rem; font-weight: 700; color:#374151; margin-bottom:0.375rem; }
    #waitlist-modal input {
      width:100%;
      padding:0.625rem 0.875rem;
      border:1px solid #e5e7eb;
      border-radius:0.5rem;
      font-size: 1rem;
    }
    #waitlist-modal input:focus { outline:none; border-color: var(--aqua); box-shadow: 0 0 0 3px rgba(0,255,181,0.15); }
    #waitlist-modal .btn-submit {
      width:100%;
      padding:0.75rem 1.5rem;
      background: var(--aqua);
      color: var(--ink);
      font-weight: 900;
      border:0;
      border-radius:0.5rem;
      cursor:pointer;
      font-size: 1rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
    }
    #waitlist-modal .btn-submit:disabled { opacity: 0.7; cursor:not-allowed; }
    #waitlist-modal .form-success { text-align:center; padding:2rem 0; font-size:1.25rem; font-weight:700; color: var(--ink); }
    #waitlist-modal .form-error { color:#dc2626; font-size:0.9rem; margin-top:0.5rem; }