
    /* ── Reset & Base ─────────────────────────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --navy:        #0f1e35;
      --navy-mid:    #162844;
      --navy-light:  #1e3a5f;
      --blue:        #2563a8;
      --blue-bright: #3b82d4;
      --blue-pale:   #dbeafe;
      --blue-ghost:  #f0f6ff;
      --teal:        #0d9488;
      --teal-light:  #ccfbf1;
      --cream:       #f8f6f1;
      --white:       #ffffff;
      --gray-100:    #f1f5f9;
      --gray-300:    #cbd5e1;
      --gray-500:    #64748b;
      --gray-700:    #334155;
      --text:        #1e293b;

      --font-display: 'Playfair Display', Georgia, serif;
      --font-body:    'DM Sans', system-ui, sans-serif;

      --max-w: 1060px;
      --pad-x: clamp(1.25rem, 5vw, 3rem);
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: var(--font-body);
      font-weight: 400;
      background: var(--navy);
      color: var(--white);
      line-height: 1.65;
      overflow-x: hidden;
    }

    /* ── Texture overlay ─────────────────────────────────────────────────── */
    body::before {
      content: '';
      position: fixed; inset: 0;
      background-image:
        radial-gradient(ellipse 80% 50% at 10% 20%, rgba(37,99,168,.18) 0%, transparent 60%),
        radial-gradient(ellipse 60% 40% at 90% 80%, rgba(13,148,136,.10) 0%, transparent 60%);
      pointer-events: none;
      z-index: 0;
    }

    /* ── Layout utilities ────────────────────────────────────────────────── */
    .container {
      max-width: var(--max-w);
      margin: 0 auto;
      padding: 0 var(--pad-x);
      position: relative;
      z-index: 1;
    }

    section { position: relative; z-index: 1; }

    /* ── Nav ─────────────────────────────────────────────────────────────── */
    nav {
      position: sticky; top: 0; z-index: 100;
      background: rgba(15,30,53,.92);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(255,255,255,.07);
    }

    .nav-inner {
      max-width: var(--max-w);
      margin: 0 auto;
      padding: 0 var(--pad-x);
      height: 60px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .nav-logo {
      font-family: var(--font-display);
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--white);
      text-decoration: none;
      letter-spacing: -.01em;
    }

    .nav-logo span { color: var(--blue-bright); }

    .nav-cta {
      font-size: .8rem;
      font-weight: 500;
      letter-spacing: .04em;
      text-transform: uppercase;
      color: var(--blue-bright);
      text-decoration: none;
      border: 1px solid rgba(59,130,212,.4);
      padding: .35rem .9rem;
      border-radius: 3px;
      transition: all .2s;
    }

    .nav-cta:hover {
      background: var(--blue-bright);
      color: var(--white);
      border-color: var(--blue-bright);
    }

    /* ── Hero ────────────────────────────────────────────────────────────── */
    .hero {
      padding: clamp(2rem, 5vw, 4rem) 0 clamp(4rem, 8vw, 7rem);
      border-bottom: 1px solid rgba(255,255,255,.07);
    }

    .hero-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      font-size: .75rem;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--teal);
      margin-bottom: 1.5rem;
    }

    .hero-eyebrow::before {
      content: '';
      display: block;
      width: 28px; height: 1px;
      background: var(--teal);
    }

    .hero h1 {
      font-family: var(--font-display);
      font-size: clamp(2.4rem, 5.5vw, 4rem);
      font-weight: 700;
      line-height: 1.18;
      letter-spacing: -.02em;
      color: var(--white);
      max-width: 760px;
      margin-bottom: 1.5rem;
    }

    .hero h1 em {
      font-style: normal;
      color: var(--blue-bright);
    }

    .hero-sub {
      font-size: clamp(1rem, 1.8vw, 1.15rem);
      font-weight: 300;
      color: rgba(255,255,255,.68);
      max-width: 560px;
      line-height: 1.7;
      margin-bottom: 2.5rem;
    }

    .hero-actions {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      flex-wrap: wrap;
    }

    .btn-primary {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      background: var(--blue);
      color: var(--white);
      font-family: var(--font-body);
      font-size: .9rem;
      font-weight: 500;
      padding: .8rem 1.75rem;
      border-radius: 4px;
      text-decoration: none;
      transition: all .2s;
      border: 1px solid var(--blue);
    }

    .btn-primary:hover {
      background: var(--blue-bright);
      border-color: var(--blue-bright);
      transform: translateY(-1px);
      box-shadow: 0 8px 24px rgba(37,99,168,.35);
    }

    .btn-secondary {
      font-size: .85rem;
      font-weight: 400;
      color: rgba(255,255,255,.55);
      text-decoration: none;
      transition: color .2s;
    }

    .btn-secondary:hover { color: var(--white); }

    /* ── Problem section ─────────────────────────────────────────────────── */
    .section-problem {
      padding: clamp(4rem, 8vw, 7rem) 0;
      border-bottom: 1px solid rgba(255,255,255,.07);
    }

    .section-label {
      font-size: .72rem;
      font-weight: 600;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--blue-bright);
      margin-bottom: 1rem;
    }

    .section-problem h2 {
      font-family: var(--font-display);
      font-size: clamp(1.6rem, 3vw, 2.2rem);
      font-weight: 600;
      line-height: 1.3;
      color: var(--white);
      max-width: 640px;
      margin-bottom: 1.5rem;
    }

    .problem-lead {
      font-size: 1rem;
      color: rgba(255,255,255,.6);
      max-width: 620px;
      margin-bottom: 2.5rem;
      line-height: 1.75;
    }

    .problem-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 1px;
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.07);
      border-radius: 8px;
      overflow: hidden;
    }

    .problem-item {
      background: var(--navy-mid);
      padding: 1.75rem 1.5rem;
      transition: background .2s;
    }

    .problem-item:hover { background: var(--navy-light); }

    .problem-icon {
      width: 36px; height: 36px;
      border-radius: 6px;
      background: rgba(37,99,168,.2);
      border: 1px solid rgba(59,130,212,.25);
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 1rem;
      flex-shrink: 0;
    }

    .problem-item h3 {
      font-size: .9rem;
      font-weight: 600;
      color: var(--white);
      margin-bottom: .5rem;
      letter-spacing: -.01em;
    }

    .problem-item p {
      font-size: .85rem;
      color: rgba(255,255,255,.5);
      line-height: 1.6;
    }

    /* ── How it works ────────────────────────────────────────────────────── */
    .section-how {
      padding: clamp(4rem, 8vw, 7rem) 0;
      border-bottom: 1px solid rgba(255,255,255,.07);
    }

    .section-how h2 {
      font-family: var(--font-display);
      font-size: clamp(1.6rem, 3vw, 2.2rem);
      font-weight: 600;
      color: var(--white);
      margin-bottom: .75rem;
    }

    .section-how .section-sub {
      font-size: 1rem;
      color: rgba(255,255,255,.55);
      max-width: 560px;
      margin-bottom: 3rem;
      line-height: 1.7;
    }

    .steps {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 1px;
      background: rgba(255,255,255,.07);
      border-radius: 8px;
      overflow: hidden;
      margin-bottom: 1.25rem;
    }

    @media (max-width: 760px) {
      .steps { grid-template-columns: 1fr 1fr; }
      .steps .step:last-child { grid-column: span 2; }
    }

    .step {
      background: var(--navy-mid);
      padding: 1.75rem 1.25rem;
      position: relative;
      transition: background .2s;
    }

    .step:hover { background: var(--navy-light); }

    .step-num {
      font-family: var(--font-display);
      font-size: 2rem;
      font-weight: 700;
      color: rgba(59,130,212,.3);
      line-height: 1;
      margin-bottom: .75rem;
    }

    .step h3 {
      font-size: .85rem;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--blue-bright);
      margin-bottom: .6rem;
    }

    .step p {
      font-size: .82rem;
      color: rgba(255,255,255,.5);
      line-height: 1.6;
    }

    .deploy-note {
      display: inline-flex;
      align-items: center;
      gap: .6rem;
      font-size: .82rem;
      color: rgba(255,255,255,.45);
      font-style: italic;
    }

    .deploy-note::before {
      content: '';
      display: block;
      width: 20px; height: 1px;
      background: rgba(255,255,255,.2);
    }

    /* ── Value section ───────────────────────────────────────────────────── */
    .section-value {
      padding: clamp(4rem, 8vw, 7rem) 0;
      border-bottom: 1px solid rgba(255,255,255,.07);
    }

    .section-value h2 {
      font-family: var(--font-display);
      font-size: clamp(1.6rem, 3vw, 2.2rem);
      font-weight: 600;
      color: var(--white);
      margin-bottom: .75rem;
    }

    .section-value .section-sub {
      font-size: 1rem;
      color: rgba(255,255,255,.55);
      max-width: 560px;
      margin-bottom: 3rem;
      line-height: 1.7;
    }

    .value-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }

    @media (max-width: 680px) {
      .value-grid { grid-template-columns: 1fr; }
    }

    .value-card {
      background: var(--navy-mid);
      border: 1px solid rgba(255,255,255,.07);
      border-radius: 8px;
      padding: 2rem 1.75rem;
      position: relative;
      overflow: hidden;
      transition: border-color .2s, transform .2s;
    }

    .value-card:hover {
      border-color: rgba(59,130,212,.3);
      transform: translateY(-2px);
    }

    .value-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 2px;
    }

    .value-card:nth-child(1)::before { background: var(--blue-bright); }
    .value-card:nth-child(2)::before { background: var(--teal); }
    .value-card:nth-child(3)::before { background: #8b5cf6; }

    .value-tag {
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
      margin-bottom: 1rem;
    }

    .value-card:nth-child(1) .value-tag { color: var(--blue-bright); }
    .value-card:nth-child(2) .value-tag { color: var(--teal); }
    .value-card:nth-child(3) .value-tag { color: #a78bfa; }

    .value-card h3 {
      font-family: var(--font-display);
      font-size: 1.2rem;
      font-weight: 600;
      color: var(--white);
      margin-bottom: .75rem;
      line-height: 1.3;
    }

    .value-card p {
      font-size: .88rem;
      color: rgba(255,255,255,.52);
      line-height: 1.7;
    }

    /* ── CTA section ─────────────────────────────────────────────────────── */
    .section-cta {
      padding: clamp(4rem, 8vw, 7rem) 0;
    }

    .cta-box {
      background: var(--navy-mid);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 12px;
      padding: clamp(2.5rem, 5vw, 4rem) clamp(2rem, 5vw, 4rem);
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 2rem 4rem;
      align-items: center;
      position: relative;
      overflow: hidden;
    }

    .cta-box::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--blue-bright), var(--teal), transparent);
    }

    @media (max-width: 680px) {
      .cta-box { grid-template-columns: 1fr; }
    }

    .cta-label {
      font-size: .72rem;
      font-weight: 600;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--teal);
      margin-bottom: .75rem;
    }

    .cta-box h2 {
      font-family: var(--font-display);
      font-size: clamp(1.5rem, 3vw, 2rem);
      font-weight: 600;
      color: var(--white);
      line-height: 1.3;
      margin-bottom: .75rem;
    }

    .cta-box p {
      font-size: .92rem;
      color: rgba(255,255,255,.55);
      line-height: 1.7;
      max-width: 480px;
    }

    .cta-right {
      text-align: center;
      flex-shrink: 0;
    }

    .cta-right .btn-primary {
      white-space: nowrap;
      font-size: .88rem;
      margin-bottom: .75rem;
      display: block;
    }

    .cta-contact {
      font-size: .8rem;
      color: rgba(255,255,255,.35);
    }

    .cta-contact a {
      color: rgba(255,255,255,.55);
      text-decoration: none;
      transition: color .2s;
    }

    .cta-contact a:hover { color: var(--white); }

    /* ── Footer ──────────────────────────────────────────────────────────── */
    footer {
      border-top: 1px solid rgba(255,255,255,.07);
      padding: 1.75rem 0;
    }

    .footer-inner {
      max-width: var(--max-w);
      margin: 0 auto;
      padding: 0 var(--pad-x);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      flex-wrap: wrap;
    }

    .footer-logo {
      font-family: var(--font-display);
      font-size: .95rem;
      font-weight: 600;
      color: rgba(255,255,255,.45);
      text-decoration: none;
    }

    .footer-logo span { color: var(--blue-bright); }

    .footer-meta {
      font-size: .78rem;
      color: rgba(255,255,255,.28);
    }

    /* ── Animations ──────────────────────────────────────────────────────── */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(18px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    .hero-eyebrow { animation: fadeUp .6s ease both; }
    .hero h1      { animation: fadeUp .6s ease .1s both; }
    .hero-sub     { animation: fadeUp .6s ease .2s both; }
    .hero-actions { animation: fadeUp .6s ease .3s both; }

.nav-menu{
    display:flex;
    list-style:none;
    gap:2rem;
    align-items:center;
}

.nav-menu li{
    list-style:none;
}

.nav-menu a{
    color:rgba(255,255,255,.75);
    text-decoration:none;
    transition:.25s;
    font-size:.92rem;
}

.nav-menu a:hover{
    color:white;
}

.nav-menu a.active{
    color:var(--blue-bright);
}

.nav-toggle{
    display:none;
    background:none;
    border:none;
    color:white;
    font-size:1.7rem;
    cursor:pointer;
}

footer{

    margin-top:0;

}

.footer-inner{

    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:3rem;

    max-width:var(--max-w);

    margin:auto;

    padding:4rem var(--pad-x);

}

.footer-col{

    display:flex;

    flex-direction:column;

    gap:.75rem;

}

.footer-col h3{

    font-family:var(--font-display);

    font-size:1.4rem;

}

.footer-col h3 span{

    color:var(--blue-bright);

}

.footer-col h4{

    margin-bottom:.5rem;

}

.footer-col a{

    color:rgba(255,255,255,.55);

    text-decoration:none;

}

.footer-col a:hover{

    color:white;

}

.footer-col p{

    color:rgba(255,255,255,.55);

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.08);

    padding:1.25rem;

    text-align:center;

    color:rgba(255,255,255,.35);

    font-size:.85rem;

}

@media(max-width:900px){

    .nav-toggle{

        display:block;

    }

    .nav-menu{

        position:absolute;

        top:60px;

        left:0;

        right:0;

        background:var(--navy);

        display:none;

        flex-direction:column;

        padding:2rem;

        border-top:1px solid rgba(255,255,255,.08);

    }

    .nav-menu.open{

        display:flex;

    }

    .nav-cta{

        display:none;

    }

    .footer-inner{

        grid-template-columns:1fr;

        gap:2rem;

    }

}

.section-intro{

    padding:5rem 0 2rem;

}

.section-intro h2{

    max-width:900px;

}

.section-intro .section-sub{

    max-width:850px;

}

.feature-link{

    color:var(--blue-bright);

    text-decoration:none;

    font-weight:600;

    display:inline-block;

    margin-top:1rem;

}

.problem-icon {

  width: 56px;
  height: 56px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: rgba(59, 130, 212, 0.08);

  color: var(--blue-bright);

  font-size: 1.35rem;

  margin-bottom: 1.25rem;

  transition: all 0.25s ease;

}

.problem-item:hover .problem-icon {

  background: var(--blue-bright);

  color: #fff;

  transform: rotate(-8deg) scale(1.08);

}

.section-platform {
  padding: clamp(4rem, 8vw, 7rem) 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}


.section-platform h2 {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 600;
  line-height: 1.3;
  color: var(--white);
  max-width: 640px;
  margin-bottom: 1.5rem;
}


.platform-lead {
  font-size: 1rem;
  color: rgba(255,255,255,.6);
  max-width: 620px;
  margin-bottom: 2.5rem;
  line-height: 1.75;
}


.platform-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 8px;
  overflow: hidden;
}


.platform-card {
  background: var(--navy-mid);
  padding: 1.75rem 1.5rem;
  transition: background .2s;
  text-decoration:none;
}


.platform-card:hover {
  background: var(--navy-light);
}


.platform-icon {
  width: 56px;
  height: 56px;
  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:rgba(59,130,212,.08);
  color:var(--blue-bright);

  font-size:1.35rem;

  margin-bottom:1.25rem;

  transition:all .25s ease;
}


.platform-card:hover .platform-icon {
  background:var(--blue-bright);
  color:#fff;
  transform:rotate(-8deg) scale(1.08);
}


.platform-card h3 {
  font-size:.9rem;
  font-weight:600;
  color:var(--white);
  margin-bottom:.5rem;
  letter-spacing:-.01em;
}


.platform-card p {
  font-size:.85rem;
  color:rgba(255,255,255,.5);
  line-height:1.6;
}

.hero-panel {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}


.hero-panel::before {
  content: "";
  position: absolute;
  width: 320px;
  height: 320px;
  background: radial-gradient(
    circle,
    rgba(59,130,212,.22),
    transparent 70%
  );
  filter: blur(30px);
  z-index: -1;
}



.hero-card {
  width: 340px;
  background: rgba(22,40,68,.85);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 1.5rem;

  box-shadow:
    0 25px 60px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.08);

  backdrop-filter: blur(14px);

  position: relative;
  overflow: hidden;
}



.hero-card::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;

  background:
    linear-gradient(
      90deg,
      var(--blue-bright),
      var(--teal),
      transparent
    );
}



.hero-card-header {

  font-size:.75rem;
  font-weight:600;

  letter-spacing:.12em;
  text-transform:uppercase;

  color:rgba(255,255,255,.55);

  padding-bottom:1rem;

  margin-bottom:1rem;

  border-bottom:
    1px solid rgba(255,255,255,.08);
}



.hero-card-item {

  display:flex;
  align-items:center;
  gap:.85rem;

  padding:.85rem 1rem;

  margin-bottom:.65rem;

  background:
    rgba(255,255,255,.035);

  border:
    1px solid rgba(255,255,255,.06);

  border-radius:8px;

  font-size:.9rem;

  color:rgba(255,255,255,.78);

  transition:
    all .25s ease;
}


.hero-card-item:last-child {
  margin-bottom:0;
}


.hero-card-item:hover {

  background:
    rgba(255,255,255,.07);

  transform:
    translateX(4px);

  border-color:
    rgba(255,255,255,.15);
}




.hero-status {

  width:10px;
  height:10px;

  border-radius:50%;

  flex-shrink:0;

  position:relative;

}



.hero-status::after {

  content:"";

  position:absolute;

  inset:-5px;

  border-radius:50%;

  opacity:.35;

  animation:pulse 2s infinite;

}



.hero-status.success {

  background:#22c55e;
}


.hero-status.success::after {

  background:#22c55e;

}



.hero-status.info {

  background:#3b82f6;

}


.hero-status.info::after {

  background:#3b82f6;

}



.hero-status.warning {

  background:#f59e0b;

}


.hero-status.warning::after {

  background:#f59e0b;

}



.hero-status.purple {

  background:#a855f7;

}


.hero-status.purple::after {

  background:#a855f7;

}


@keyframes pulse {

  0% {
    transform:scale(.8);
    opacity:.6;
  }

  70% {
    transform:scale(1.6);
    opacity:0;
  }

  100% {
    opacity:0;
  }

}

@media(max-width:900px){

  .hero-panel {
    margin-top:3rem;
  }

  .hero-card {
    width:100%;
    max-width:340px;
  }

}

.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 3rem;
  align-items: start;
}