:root{
  --bg:#07060b; --panel:#0d0b13; --ink:#efeaff; --muted:#a79cc8;
  --brand:#b388ff; --brand-2:#6b3bff; --max:1200px; --radius:16px;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;color:var(--ink);background:var(--bg)}
/* Opaque canvas (no global transparency) */
#bg{position:fixed;inset:0;z-index:-2;display:block;background:#05040a;}
.bg-overlay{position:fixed;inset:0;pointer-events:none;z-index:-1;mix-blend-mode:screen;opacity:.6;
  background:
    radial-gradient(1000px 700px at 80% -10%, rgba(179,136,255,.35), transparent 60%),
    radial-gradient(700px 500px at 15% 110%, rgba(107,59,255,.25), transparent 60%)}

/* 1) Dim the canvas behind content */
body::before{
  content:"";
  position:fixed; inset:0;
  z-index:-1;
  pointer-events:none;
  background: radial-gradient(1200px 900px at 50% 10%, rgba(10,8,18,0.35), rgba(7,6,11,0.65));
}

a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.grid{display:grid;gap:22px}
.card{background:linear-gradient(180deg, rgba(18,16,28,.18), rgba(18,16,28,.10));
  border:1px solid rgba(179,136,255,.28); border-radius:var(--radius); padding:22px; backdrop-filter:saturate(150%) blur(14px)}
.glass{background:rgba(10,10,18,.70); border:1px solid rgba(107,59,255,.28); backdrop-filter:saturate(160%) blur(16px)}

header{position:sticky;top:0;z-index:10;backdrop-filter:blur(10px);
  background:linear-gradient(180deg, rgba(7,6,11,.70), rgba(7,6,11,0)); border-bottom:1px solid rgba(179,136,255,.2)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:8px 0}
.brand{display:flex;align-items:center;gap:12px;font-weight:800}
.logo{width:28px;height:28px;border-radius:10px;background:conic-gradient(from 180deg,var(--brand),var(--brand-2));box-shadow:0 6px 28px rgba(107,59,255,.35)}
.menu{display:flex;gap:16px;align-items:center}
.mobile-toggle{display:none}
@media (max-width:880px){.menu{display:none}.mobile-toggle{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(179,136,255,.25);border-radius:12px;padding:8px 12px}.menu.open{display:flex;position:absolute;left:20px;right:20px;top:58px;flex-direction:column;background:rgba(9,10,18,.92);border:1px solid rgba(179,136,255,.25);border-radius:14px;padding:10px}.menu.open a{padding:10px 12px;border-radius:8px}}

/* Smaller Request Demo button in header */
header .btn{ padding:8px 12px; border-radius:10px; font-size:.9rem }

.btn{display:inline-block;padding:12px 18px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#0a0715;font-weight:800;box-shadow:0 10px 30px rgba(107,59,255,.35);transition: transform .2s ease, box-shadow .2s ease}
.btn:hover{ transform: translateY(-2px); box-shadow:0 12px 34px rgba(107,59,255,.45) }
.btn:active{ transform: translateY(0); box-shadow:0 8px 28px rgba(107,59,255,.30) }
.btn.ghost{background:rgba(15,12,24,.45);border:1px solid rgba(179,136,255,.35);color:var(--ink)}

.hero{padding:20px 0 36px; position:relative;}
/* Tighter spacing between stacked hero headings */
.hero h1:first-of-type{ margin-bottom:4px; }
.hero h1 + h1{ margin-top:4px; }
.hero::before{
  content:"";
  position:absolute; inset:-20px -20px 0 -20px;
  background: linear-gradient(180deg, rgba(7,6,11,.75), rgba(7,6,11,0));
  pointer-events:none;
  z-index:-1;
  border-radius:16px;
}
.badge{font-size:.8rem;padding:6px 10px;border:1px solid rgba(179,136,255,.35);border-radius:999px;color:var(--muted)}
/* Allow explicit width + centering to match eyebrow width */
.hero .badge{ display:inline; box-sizing:content-box; }
.hero h1{font-size: clamp(28px, 4.8vw, 56px); line-height:1.05; margin:14px 0}
.highlight{background:linear-gradient(90deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .sub{max-width:760px;color:var(--muted)}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}

section{padding:36px 0}
.section-title{font-size:clamp(22px,3.2vw,36px);margin:0 0 10px}
.section-sub{margin:0 0 26px;color:var(--muted);max-width:780px}

/* Align section titles to first column center */
.section-title-first-col{ width: calc((var(--max) - 40px) / 3); margin-left: 0; margin-right: auto; text-align:center; transform: translateX(-15%); }
@media (max-width:980px){ .section-title-first-col{ width:auto; text-align:center; transform:none; } }

/* 3) Text contrast boost + subtle shadow */
body{ color: #f6f2ff; }
.muted{ color: #c9c1e0; }
h1, h2, h3, p, li, .btn, .section-sub{
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

.features{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.features{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.features{grid-template-columns:1fr}}
#features{ padding-top:12px; }

.band{border-radius:20px;padding:18px;background:linear-gradient(90deg,rgba(12,10,20,.7),rgba(8,8,16,.7));border:1px solid rgba(179,136,255,.25)}
.band-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center}
@media (max-width:900px){.band-inner{grid-template-columns:1fr}}

.pricing{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.pricing{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.pricing{grid-template-columns:1fr}}
.price .num{font-size:36px;font-weight:800}

footer{padding:10px 0;border-top:1px solid rgba(179,136,255,.2);color:var(--muted);font-size:.95rem}
.foot{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between}
footer .wrap{ padding-left:0 }

/* 5) Buttons + links more legible */
a:hover{ text-decoration: underline; }
.btn{ box-shadow: 0 12px 32px rgba(107,59,255,.45); }
.btn.ghost{ background: rgba(15,12,24,.45); }

/* Solutions section polish */
#solutions .pricing{ align-items: stretch; }
#solutions .price{ display: flex; flex-direction: column; height: 100%; }
#solutions .card{ transition: transform .2s ease, box-shadow .2s ease; }
#solutions .card:hover{ transform: translateY(-2px); box-shadow: 0 14px 36px rgba(107,59,255,.28); }
#solutions .card h3{ font-size: 1.15rem; margin: 0 0 6px; }
#solutions .card p.muted{ font-size: .95rem; margin: 0 0 10px; }
#solutions ul{ margin: 8px 0 0; padding-left: 18px; }
#solutions li{ margin: 6px 0; }

/* Stack eyebrow label above hero badge */
.hero .wrap{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }

/* Eyebrow label for hero */
.eyebrow-popular{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 12px; border-radius:999px;
  font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; font-weight:800;
  color:#0a0715;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  border:1px solid rgba(179,136,255,.45);
  box-shadow:0 10px 26px rgba(107,59,255,.38);
}
.eyebrow-popular::before{ content:"✦"; color:#0a0715; opacity:.9; }
.eyebrow-popular::after{ content:"✦"; color:#0a0715; opacity:.9; }

/* How it Works flowchart */
.how-flow{ position:relative; margin-top:14px; }
.flow{ display:grid; grid-template-columns: repeat(5, 1fr); gap:16px; position:relative; }
@media (max-width:980px){ .flow{ grid-template-columns: 1fr 1fr; } }
@media (max-width:640px){ .flow{ grid-template-columns: 1fr; } }

.step{ position:relative; padding-top:18px; }
.step h3{ margin:6px 0 6px; font-size:1.05rem; }
.step p{ margin:0; }

/* numbered badges */
.step-badge{
  position:absolute; top:-12px; left:14px; width:28px; height:28px; border-radius:999px;
  display:grid; place-items:center; font-weight:800; font-size:.9rem; color:#0a0715;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  border:1px solid rgba(179,136,255,.45);
  box-shadow:0 8px 22px rgba(107,59,255,.32);
}

/* connectors (desktop) */
@media (min-width:981px){
  .flow{ counter-reset: step; }
  .step::after{
    content:""; position:absolute; top:50%; right:-8px; width:16px; height:2px;
    background: linear-gradient(90deg, rgba(179,136,255,.0), rgba(179,136,255,.6));
    transform: translateY(-50%);
  }
  .step:last-child::after{ display:none; }
}

/* connectors (tablet: serpentine) */
@media (min-width:641px) and (max-width:980px){
  .step{ margin-bottom:8px; }
  .step:nth-child(odd)::after{
    content:""; position:absolute; right:-8px; top:50%; width:16px; height:2px;
    background: linear-gradient(90deg, rgba(179,136,255,.0), rgba(179,136,255,.6));
    transform: translateY(-50%);
  }
}

/* connectors (mobile: vertical) */
@media (max-width:640px){
  .step::after{
    content:""; position:absolute; left:28px; bottom:-10px; width:2px; height:16px;
    background: linear-gradient(180deg, rgba(179,136,255,.6), rgba(179,136,255,.0));
  }
  .step:last-child::after{ display:none; }
}

.how-cta{ margin-top:18px; }

/* Outcomes band */
#outcomes{ padding:12px 0 10px; }
#outcomes .outcomes{ margin-top:0; }
.outcomes{ display:grid; grid-template-columns: repeat(5,1fr); gap:14px; border-radius:16px; padding:16px; margin-top:10px; }
/* Compact + adaptive when used with band */
.band.outcomes{ grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap:12px; padding:12px; }
.outcome{ position:relative; text-align:center; padding:12px; border:1px solid rgba(179,136,255,.28); border-radius:12px; background:linear-gradient(180deg, rgba(18,16,28,.22), rgba(18,16,28,.10)); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; overflow:hidden; }
.outcome:hover{ transform: translateY(-2px); box-shadow:0 12px 30px rgba(107,59,255,.22); border-color: rgba(179,136,255,.38); }
.outcome::after{ content:""; position:absolute; top:-20%; left:-20%; width:60%; height:60%; pointer-events:none; background: radial-gradient(220px 140px at 0 0, rgba(179,136,255,.16), transparent 65%); transform: rotate(12deg); }
.band.outcomes .outcome:nth-child(2)::after{ background: radial-gradient(220px 140px at 0 0, rgba(98,255,218,.16), transparent 65%); }
.band.outcomes .outcome:nth-child(3)::after{ background: radial-gradient(220px 140px at 0 0, rgba(187,102,255,.16), transparent 65%); }
.outcome .num{ font-size:1.3rem; font-weight:800; }
.outcome .num{ background:linear-gradient(90deg,var(--brand),var(--brand-2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.outcome .label{ font-size:.9rem; }
@media (max-width:980px){ .outcomes{ grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width:640px){ .outcomes{ grid-template-columns: 1fr 1fr; } }
.footnote{ margin-top:8px; font-size:.9rem; }

/* Industries strip */
.industries{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; padding:10px 0; }
.pill{ display:inline-block; padding:8px 12px; border-radius:999px; border:1px solid rgba(179,136,255,.25); background:rgba(15,12,24,.45); font-size:.9rem; }

/* Cases */
.cases{ grid-template-columns: 1fr 1fr; }
.case h3{ margin:6px 0 8px; }
.case ul{ margin:8px 0 0; padding-left:18px; }
.case li{ margin:6px 0; }
@media (max-width:900px){ .cases{ grid-template-columns: 1fr; } }

/* Trust */
.trust{ grid-template-columns: 1fr 1fr 1fr; }
@media (max-width:900px){ .trust{ grid-template-columns: 1fr; } }

/* FAQ simplified: single column, minimal hover */
.faq-grid{ display:block; }
.faq-grid details.card{ display:block; margin:10px 0; padding:14px 16px; border:1px solid rgba(179,136,255,.25); background:rgba(10,10,18,.60); transition:none; }
.faq-grid details.card:hover{ transform:none; box-shadow:none; border-color:rgba(179,136,255,.35); }
.faq-grid summary{ font-weight:700; margin:0; }
.faq-grid summary::after{ content:""; }
.faq-grid details.card p{ margin:8px 0 0; }

/* Logo marquee */
.logo-marquee{ position:relative; overflow:hidden; margin-top:10px; }
.logo-marquee .track{ display:flex; gap:16px; padding:12px 0; animation: marquee 28s linear infinite; }
.logo-pill{ flex:0 0 auto; padding:10px 14px; border-radius:999px; border:1px solid rgba(179,136,255,.25); background:rgba(10,10,18,.70); font-weight:700; color:var(--ink); white-space:nowrap; }
.logo-marquee .fade{ position:absolute; top:0; bottom:0; width:80px; pointer-events:none; }
.logo-marquee .fade.left{ left:0; background:linear-gradient(90deg,var(--bg),transparent); }
.logo-marquee .fade.right{ right:0; background:linear-gradient(270deg,var(--bg),transparent); }
@keyframes marquee{ from{ transform: translateX(0); } to{ transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .logo-marquee .track{ animation:none; } }

/* Fluorescent glow around outcome cards */
.band.outcomes .outcome{ box-shadow: 0 0 0 1px rgba(192,192,192,.40), 0 0 24px rgba(224,224,224,.38), 0 0 64px rgba(192,192,192,.26); }
.band.outcomes .outcome:hover{ box-shadow: 0 0 0 1px rgba(192,192,192,.60), 0 0 32px rgba(224,224,224,.56), 0 0 92px rgba(192,192,192,.36); }

.nowrap{ white-space: nowrap; }

/* remove injected bullets to avoid duplication */
.hero .badge .nowrap{ white-space: nowrap; }

/* Hero badge single-line fit */
.hero .badge{ white-space:nowrap; font-size: clamp(.62rem, 1.9vw, .8rem); padding: clamp(3px, .7vw, 6px) clamp(6px, 1.0vw, 10px); }

/* Improve touch feedback (iOS): enable silver glow on tap */
.card{ -webkit-tap-highlight-color: rgba(0,0,0,0); }
.card:active,
.card.touch-glow{ box-shadow: 0 0 0 1px rgba(192,192,192,.40), 0 0 24px rgba(224,224,224,.38), 0 0 64px rgba(192,192,192,.26); border-color: rgba(192,192,192,.42); }

/* Global card hover glow (silver) */
.card:hover{ box-shadow: 0 0 0 1px rgba(192,192,192,.40), 0 0 24px rgba(224,224,224,.38), 0 0 64px rgba(192,192,192,.26); border-color: rgba(192,192,192,.42); }

/* Contact split layout */
.contact-split{ display:grid; grid-template-columns:1.1fr .9fr; gap:20px; align-items:stretch; }
@media (max-width:900px){ .contact-split{ grid-template-columns:1fr; } }
.contact-right { display: flex; flex-direction: column; }
.contact-item-list { flex-grow: 1; }


.contact-form-grid{ display:grid; grid-template-columns:1fr; gap:10px; }
.contact-form-grid label { display: flex; flex-direction: column; gap: 4px; }
.contact-form-grid input, .contact-form-grid textarea { width: 100%; }

.contact-item-list{ display:grid; gap:12px; }
.contact-item { position: relative; display: flex; justify-content: center; align-items: center; flex-grow: 1; }
.contact-item > div:not(.contact-icon) { text-align: center; }
.contact-item-title { font-weight: 800; }
.contact-icon { position: absolute; left: 45px; top: 50%; transform: translateY(-50%); font-size: 32px; }
.contact-cta-wide{ 
  grid-column: 1 / -1; 
  margin-top: 18px; 
  text-align: center; 
  max-width: 950px; 
  width: 100%; /* Ensure it takes up space to be centered */
  margin-left: auto; 
  margin-right: auto; 
  padding: 16px 22px; 
}
.contact-cta-wide h3 { font-size: 2rem; margin-top: 0; margin-bottom: 12px; }
.contact-cta-wide p { margin-bottom: 16px; }
.contact-cta-wide .glow-text{
  position: relative;
  display: inline-block;
  text-shadow: none;
  -webkit-text-stroke: 0;
  filter: drop-shadow(0 0 10px rgba(107,59,255,.55)) drop-shadow(0 0 22px rgba(179,136,255,.35));
}
.contact-cta-wide .glow-text::after{ content: none; }
.contact-cta-wide .btn{ display: inline-block; }


/* Contact form layout */
.contact-grid{
  grid-template-columns: 1.1fr 1.2fr;
  grid-template-areas:
    "name   msg"
    "email  msg"
    "phone  company";
  align-items:start;
}
.contact-grid label{ display:flex; flex-direction:column; gap:6px; }
.contact-grid input, .contact-grid textarea{ width:100%; }
.contact-grid .name{ grid-area: name; }
.contact-grid .email{ grid-area: email; }
.contact-grid .company{ grid-area: company; }
.contact-grid .phone{ grid-area: phone; }
.contact-grid .msg{ grid-area: msg; }
@media (max-width:900px){
  .contact-grid{
    grid-template-columns: 1fr;
    grid-template-areas:
      "name"
      "email"
      "phone"
      "msg"
      "company";
  }
}
.contact-actions{ margin-top:14px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.contact-actions .btn{ padding:14px 22px; font-size:1rem; border-radius:14px; }

/* Footer contact layout */
.footer-contact{ display:flex; gap:18px; align-items:flex-start; flex-wrap:wrap; }
.footer-contact .phone{ white-space:nowrap; }

@media (max-width:640px){
  .hero .wrap{ align-items:center; gap:6px; }
  .eyebrow-popular, .hero .badge{ text-align:center; }
  .eyebrow-popular{ font-size:.72rem; padding:5px 10px; }
  .hero .badge{ font-size:.75rem; padding:5px 10px; }
}

/* Hero outline-only glow for gradient text */
.hero .glow-text{ text-shadow:none; -webkit-text-stroke:0; filter: drop-shadow(0 0 10px rgba(107,59,255,.55)) drop-shadow(0 0 22px rgba(179,136,255,.35)); }

/* Silver glow animation for FAQ cards */
@keyframes faqSilverGlow{
  0%{ box-shadow: 0 0 0 1px rgba(192,192,192,.20), 0 0 10px rgba(224,224,224,.18); border-color: rgba(179,136,255,.22); }
  100%{ box-shadow: 0 0 0 1px rgba(192,192,192,.45), 0 0 26px rgba(224,224,224,.36), 0 0 64px rgba(192,192,192,.26); border-color: rgba(179,136,255,.38); }
}
.faq-grid details.card{ animation: faqSilverGlow 2.4s ease-in-out infinite alternate; }
.faq-grid details.card:hover{ animation-duration: 1.6s; }

/* Research accordion */
#research .accordion{ display:block; max-width:900px; margin:14px auto 0; }
#research details.card{ padding:12px 14px; border:1px solid rgba(179,136,255,.25); background:rgba(10,10,18,.60); border-radius:12px; }
#research details.card + details.card{ margin-top:10px; }
#research summary{ font-weight:800; cursor:default; }
#research summary::-webkit-details-marker{ display:none; }
#research details.card p{ margin:8px 0 0; }
#research details.card a{ color:var(--brand); font-weight:800; }

/* Research static list */
#research .research-list{ display:grid; grid-template-columns:1fr; gap:10px; max-width:900px; margin:14px auto 0; }
#research .research-title{ margin:0 0 6px; font-size:1.05rem; }
#research .research-list .card{ padding:12px 14px; border:1px solid rgba(179,136,255,.25); background:rgba(10,10,18,.60); border-radius:12px; }
#research .research-list .card a{ color:var(--brand); font-weight:800; }

/* Hero sub + CTA inline */
.sub-cta{ display:flex; gap:14px; align-items:center; justify-content:space-between; margin-top:8px; }
.sub-cta .sub{ margin:0; flex:1; }
/* Slightly smaller CTA and lifted to align mid of two-line subtext on larger screens */
.sub-cta .btn{ padding:10px 14px; border-radius:10px; font-size:.95rem; }
@media (min-width:701px){ .sub-cta .btn{ transform: translateY(-4px); } }
@media (max-width:700px){ .sub-cta{ flex-direction:column; align-items:flex-start; } .sub-cta .btn{ transform:none; } }

/* Pinch Results grid inward and increase middle gap */
.cases{ max-width: 1069px; margin-left:auto; margin-right:auto; gap:64px; }

/* --- Mobile-only fixes: center content and remove horizontal scroll --- */
@media (max-width:700px){
  html, body{ overflow-x:hidden; }

  /* Hero centering */
  .hero .wrap{ align-items:center; }
  .hero h1, .hero .sub{ text-align:center; }

  /* Sub + CTA alignment */
  .sub-cta{ flex-direction:column; align-items:center; gap:10px; }
  .sub-cta .sub{ text-align:center; }
  .sub-cta .btn{ width:100%; max-width:300px; transform:none; }

  /* Section titles that align to first column on desktop → center on mobile */
  .section-title-first-col{ width:auto; transform:none; text-align:center; margin-left:auto; margin-right:auto; }

  /* Results and feature grids: full width with side padding */
  .cases{ max-width:100%; padding:0 16px; gap:20px; }
  .features{ padding:0 16px; }
  #research .research-list{ padding:0 16px; }

  /* Contact items: prevent overlap, center text */
  .contact-right .contact-item{ padding:18px 16px 18px 56px; }
  .contact-right .contact-icon{ left:16px; font-size:28px; }
  .contact-right .contact-item > div:not(.contact-icon){ text-align:center; }

  /* Footer stack */
  .foot{ flex-direction:column; gap:6px; align-items:center; }

  /* Media elements never overflow */
  img, svg, canvas, video{ max-width:100%; height:auto; }
}

/* --- Additional mobile-only safeguards --- */
@media (max-width:700px){
  /* Prevent long strings from causing horizontal scroll */
  p, li, a, .contact-item-main{ overflow-wrap:anywhere; word-break:break-word; }

  /* Avoid iOS zoom-on-focus; keep inputs readable */
  input, select, textarea{ font-size:16px; }

  /* Ensure tappable targets meet minimum size */
  a.btn, button.btn{ min-height:44px; }

  /* Tighten marquee spacing and prevent edge overflow */
  .logo-marquee{ padding:0 16px; }
  .logo-marquee .track{ gap:12px; }
}

/* Mobile menu button styling to match brand (force override of native styles) */
.mobile-toggle{ display:none }
@media (max-width:880px){
  .mobile-toggle{
    display:inline-flex; gap:8px; align-items:center; cursor:pointer;
    padding:8px 12px; border-radius:12px; font-weight:800;
    -webkit-appearance:none; appearance:none; background-color:transparent;
    background:linear-gradient(135deg,var(--brand),var(--brand-2)) !important;
    color:#0a0715 !important;
    border:1px solid rgba(179,136,255,.35) !important;
    box-shadow:0 10px 30px rgba(107,59,255,.35);
  }
  .mobile-toggle:active{ transform: translateY(0); box-shadow:0 8px 28px rgba(107,59,255,.30) }
  .menu{ display:none }
  .menu.open{ display:flex; position:absolute; flex-direction:column; background:rgba(9,10,18,.92); border:1px solid rgba(179,136,255,.25); border-radius:14px; padding:10px; left:24px; right:24px; top:58px; }
  .menu.open a{ padding:10px 12px; border-radius:8px; color:var(--ink); }
  .menu.open a.btn{ color:#0a0715; }
}

@media (max-width:880px){
  /* Slightly increase inner spacing for nav on mobile */
  header .wrap{ padding-left:24px; padding-right:24px; }
  .menu.open{ left:24px; right:24px; }
}

/* Mobile-only CTA in menu */
.btn-mobile{ display:none }
@media (max-width:880px){ .btn-mobile{ display:inline-block; padding:12px 18px; border-radius:12px; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#0a0715; font-weight:800; box-shadow:0 10px 30px rgba(107,59,255,.35); text-align:center } }

/* Contact form input text color */
.contact-left input,
.contact-left textarea{ color: var(--ink); caret-color: var(--ink); }
.contact-left input::placeholder,
.contact-left textarea::placeholder{ color:#c9c1e0; opacity:.9; }
/* Improve iOS autofill visibility */
.contact-left input:-webkit-autofill,
.contact-left textarea:-webkit-autofill{ -webkit-text-fill-color: var(--ink); }

/* --- Tablet refinements (keep desktop unchanged) --- */
@media (min-width:700px) and (max-width:1024px){
  /* Outcomes: force 2 columns to avoid lone last item */
  .outcomes{ grid-template-columns: 1fr 1fr !important; }

  /* Center last odd card under the first row for 3-up sections */
  .grid.features > .card:last-child:nth-child(odd),
  .grid.features > .glass:last-child:nth-child(odd){ grid-column:1 / -1; justify-self:center; max-width:560px; }

  .grid.features + .grid.features > .card:last-child:nth-child(odd),
  .grid.features + .grid.features > .glass:last-child:nth-child(odd){ grid-column:1 / -1; justify-self:center; max-width:560px; }

  /* Use Cases behaves like Features */
  #features + h2.section-title.section-title-first-col + .grid.features > .card:last-child:nth-child(odd){ grid-column:1 / -1; justify-self:center; max-width:560px; }

  /* Additional Solutions pricing grid */
  .grid.pricing > .card:last-child:nth-child(odd){ grid-column:1 / -1; justify-self:center; max-width:560px; }

  /* How it Works: last step spans full width for symmetry */
  .how-flow .flow .step:last-child{ grid-column:1 / -1; }

  /* Remove connector lines on tablet */
  .how-flow .step::after{ display:none !important; }

  /* Trust section: reduce padding to cut dead space */
  #trust .card.glass{ padding:14px 16px; }
  #trust .card.glass h3{ margin:4px 0 6px; }
  #trust .card.glass p{ margin:0; }

  /* Contact CTA: ensure slightly shorter than the form above (tablet only) */
  .contact-cta-wide{ padding:14px 16px; }
  .contact-cta-wide h3{ font-size:1.6rem; }
  .contact-cta-wide p{ margin-bottom:10px; }
}

/* --- Mobile-specific refinements (<= 700px) --- */
@media (max-width:700px){
  /* Outcomes: ensure 2 columns or stack as needed (already stacks via existing rules) */
  .outcomes{ grid-template-columns: 1fr 1fr !important; }

  /* Features/Use Cases/Additional Solutions: center single last card */
  .grid.features > .card:last-child:nth-child(odd),
  .grid.pricing > .card:last-child:nth-child(odd){ grid-column:1 / -1; justify-self:center; max-width:520px; }

  /* How it Works: last step full width and no connectors */
  .how-flow .flow .step:last-child{ grid-column:1 / -1; }
  .how-flow .step::after{ display:none !important; }

  /* Trust section: tighten further */
  #trust .card.glass{ padding:12px 14px; }

  /* (Removed CTA sizing from mobile as requested) */
}

@media (min-width:700px) and (max-width:1024px){
  /* Center text inside cards (tablet only) */
  .grid.features .card, .grid.cases .card, .grid.pricing .card{ text-align:center; }
  .grid.features .card ul, .grid.cases .card ul, .grid.pricing .card ul{ padding-left:0; list-style-position:inside; }
}

@media (max-width:700px){
  /* Center text inside cards (mobile only) */
  .grid.features .card, .grid.cases .card, .grid.pricing .card{ text-align:center; }
  .grid.features .card ul, .grid.cases .card ul, .grid.pricing .card ul{ padding-left:0; list-style-position:inside; }
}

@media (min-width:700px) and (max-width:1024px){
  /* Center text in final How it Works box (tablet) */
  .how-flow .flow .step:last-child{ text-align:center; }

  /* Additional Solutions (pricing) bullets: center bullets and lines */
  .grid.pricing .card{ text-align:center; }
  .grid.pricing .card ul{ list-style:disc; list-style-position: inside; padding-left:0; margin:8px auto 0; text-align:center; }
  .grid.pricing .card li{ text-align:center; }
}

@media (max-width:700px){
  /* Additional Solutions (pricing) bullets on mobile: center bullets and lines */
  .grid.pricing .card ul{ list-style:disc; list-style-position: inside; padding-left:0; margin:8px auto 0; text-align:center; }
  .grid.pricing .card li{ text-align:center; }
}

/* Contact form inputs/textarea use site font */
.contact-left input,
.contact-left textarea{ font-family: inherit; }

@media (min-width:700px) and (max-width:1024px){
  /* Contact Right: 3 items in a single row on tablet */
  .contact-right .contact-item-list{ display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; }
  .contact-right .contact-item{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:18px 12px; text-align:center; }
  .contact-right .contact-icon{ position:static; left:auto; top:auto; transform:none; font-size:28px; margin-bottom:6px; }
  .contact-right .contact-item > div:not(.contact-icon){ text-align:center; }
}

/* Inline mini button for headings */
.btn-mini{ display:inline-block; padding:4px 8px; border-radius:10px; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#0a0715; font-weight:800; font-size:.9rem; line-height:1; box-shadow:0 6px 18px rgba(107,59,255,.35); }

/* How it Works: center heading & CTA, add slight side insets on tablet/mobile */
@media (min-width:700px) and (max-width:1024px){
  #how .section-title{ text-align:center; }
  #how .how-cta{ display:flex; justify-content:center; }
  #how .wrap.band{ margin-left:24px; margin-right:24px; }
}
@media (max-width:700px){
  #how .section-title{ text-align:center; }
  #how .how-cta{ display:flex; justify-content:center; }
  #how .wrap.band{ margin-left:16px; margin-right:16px; }
}

@media (min-width:700px) and (max-width:1024px){
  /* Additional Solutions (tablet): uniform centered list block, left-aligned text */
  #solutions .card{ text-align:center; }
  #solutions .card ul{
    margin:12px auto 0;
    width:min(28ch, 90%);
    text-align:left;
    list-style:disc outside;
    padding-left:1.25rem;
  }
  #solutions .card li{
    margin:6px 0;
    text-indent:0;
    line-height:1.4;
  }
  #solutions .card li::marker{ opacity:.8; }
}
