/* ============================================================
   Nivamed — landing styles
   Dark, high-contrast medical-tech. One accent family.
   ============================================================ */

/* ---------- tokens ---------- */
:root{
  --bg:        #06070A;
  --bg-2:      #090B10;
  --surface:   #0E1117;
  --surface-2: #141823;
  --line:      rgba(255,255,255,.075);
  --line-2:    rgba(255,255,255,.14);

  --tx:   #EEF1F6;
  --tx-2: #A2ABBA;
  --tx-3: #6B7587;

  --a1: #FF6B7F;
  --a2: #FF9350;
  --a-soft: rgba(255,107,127,.14);
  --grad: linear-gradient(100deg,#FF6B7F 0%,#FF8A63 55%,#FF9350 100%);

  --ok:   #4ADE9B;
  --warn: #FFB44D;

  --r-sm: 10px;
  --r:    16px;
  --r-lg: 22px;
  --r-xl: 30px;

  --shadow: 0 24px 60px -24px rgba(0,0,0,.85);
  --shadow-a: 0 18px 44px -18px rgba(255,107,127,.55);

  --ease: cubic-bezier(.16,1,.3,1);
  --wrap: 1200px;
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:96px; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--tx);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{ margin:0; line-height:1.12; letter-spacing:-.025em; font-weight:700; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
a{ color:inherit; text-decoration:none; }
img,svg{ display:block; max-width:100%; }
button,input{ font:inherit; color:inherit; }
::selection{ background:rgba(255,107,127,.32); }

/* icon defaults — scoped so gradient-filled brand mark is untouched */
.ico-12,.ico-18,
.card__ico svg,.feat__ico svg,.float svg,.capture__field svg{
  fill:none; stroke:currentColor; stroke-width:1.7;
  stroke-linecap:round; stroke-linejoin:round;
}
.ico-12{ width:13px; height:13px; }
.ico-18{ width:18px; height:18px; }

/* ---------- layout ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:24px; }
.wrap--narrow{ max-width:820px; }
.sec{ padding:112px 0; position:relative; }
.sec--alt{ background:var(--bg-2); border-block:1px solid var(--line); }

.grid{ display:grid; gap:20px; }
.grid--3{ grid-template-columns:repeat(3,1fr); }

/* ---------- type ---------- */
.h1{ font-size:clamp(2.6rem,5.4vw,4.15rem); font-weight:800; letter-spacing:-.04em; }
.h2{ font-size:clamp(1.9rem,3.4vw,2.85rem); font-weight:750; letter-spacing:-.035em; }
.grad{
  background:var(--grad);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.lede{ margin-top:22px; font-size:1.125rem; color:var(--tx-2); max-width:37em; }
.sub{ margin-top:16px; color:var(--tx-2); font-size:1.03rem; max-width:56ch; }
.eyebrow{
  display:inline-block; margin-bottom:16px;
  font-size:.75rem; font-weight:650; letter-spacing:.16em; text-transform:uppercase;
  color:var(--a1);
}
.head{ margin-bottom:56px; }
.head--center{ text-align:center; }
.head--center .sub{ margin-inline:auto; }
.fineprint{ margin-top:22px; font-size:.85rem; color:var(--tx-3); max-width:60ch; line-height:1.6; }

/* ---------- buttons ---------- */
.btn{
  --pad: 13px 22px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:var(--pad);
  border:1px solid transparent; border-radius:999px;
  font-size:.94rem; font-weight:600; letter-spacing:-.01em;
  cursor:pointer; white-space:nowrap;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease),
             background .25s var(--ease), border-color .25s var(--ease);
}
.btn--primary{ background:var(--grad); color:#1A0A0D; box-shadow:var(--shadow-a); }
.btn--primary:hover{ transform:translateY(-2px); box-shadow:0 24px 52px -16px rgba(255,107,127,.7); }
.btn--ghost{ background:rgba(255,255,255,.03); border-color:var(--line-2); color:var(--tx); }
.btn--ghost:hover{ background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.26); transform:translateY(-2px); }
.btn--sm{ --pad:9px 17px; font-size:.87rem; }
.btn--lg{ --pad:16px 30px; font-size:1rem; }
.btn--block{ width:100%; }

/* ---------- ribbon ---------- */
.ribbon{
  background:linear-gradient(90deg,rgba(255,107,127,.12),rgba(255,147,80,.09));
  border-bottom:1px solid var(--line);
  font-size:.82rem;
}
.ribbon__inner{
  max-width:var(--wrap); margin-inline:auto; padding:9px 24px;
  display:flex; align-items:center; justify-content:center; gap:12px;
  color:var(--tx-2); flex-wrap:wrap;
}
.ribbon__tag{
  background:var(--grad); color:#1A0A0D;
  font-weight:700; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase;
  padding:2px 9px; border-radius:999px;
}
.ribbon__link{ display:inline-flex; align-items:center; gap:5px; color:var(--a1); font-weight:600; }
.ribbon__link:hover{ text-decoration:underline; }

/* ---------- nav ---------- */
.nav{
  position:sticky; top:0; z-index:60;
  border-bottom:1px solid transparent;
  transition:background .3s var(--ease), border-color .3s var(--ease), backdrop-filter .3s;
}
.nav.is-stuck{
  background:rgba(6,7,10,.78);
  backdrop-filter:blur(16px) saturate(160%);
  border-bottom-color:var(--line);
}
.nav__inner{ display:flex; align-items:center; justify-content:space-between; height:68px; }

.brand{ display:inline-flex; align-items:center; gap:10px; }
.brand__mark{ width:30px; height:30px; display:block; }
.brand__mark svg{ width:100%; height:100%; }
.brand__word{ font-weight:750; font-size:1.16rem; letter-spacing:-.03em; }

.nav__links{ display:flex; align-items:center; gap:30px; }
.nav__links a{ font-size:.92rem; color:var(--tx-2); font-weight:500; transition:color .2s; }
.nav__links a:hover{ color:var(--tx); }
.nav__links .nav__cta{ color:#1A0A0D; }

.nav__burger{
  display:none; width:40px; height:40px; background:none; border:1px solid var(--line-2);
  border-radius:11px; cursor:pointer; padding:11px 10px;
  flex-direction:column; justify-content:space-between;
}
.nav__burger span{ display:block; height:1.6px; background:var(--tx); border-radius:2px; transition:transform .3s var(--ease), opacity .2s; }
.nav__burger.open span:nth-child(1){ transform:translateY(6.4px) rotate(45deg); }
.nav__burger.open span:nth-child(2){ opacity:0; }
.nav__burger.open span:nth-child(3){ transform:translateY(-6.4px) rotate(-45deg); }

/* ---------- hero ---------- */
.hero{ position:relative; padding:84px 0 0; overflow:hidden; }
.hero__glow{
  position:absolute; inset:-30% -10% auto -10%; height:820px; pointer-events:none;
  background:
    radial-gradient(46% 44% at 22% 34%, rgba(255,107,127,.22), transparent 68%),
    radial-gradient(40% 40% at 78% 22%, rgba(255,147,80,.15), transparent 70%);
  filter:blur(6px);
}
.hero__grid-bg{
  position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(70% 55% at 50% 22%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(70% 55% at 50% 22%,#000,transparent 78%);
}
.hero__inner{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;
}

.pill{
  display:inline-flex; align-items:center; gap:9px;
  padding:6px 15px 6px 11px; border-radius:999px;
  border:1px solid var(--line-2); background:rgba(255,255,255,.035);
  font-size:.8rem; font-weight:550; color:var(--tx-2); margin-bottom:26px;
}
.pill__dot{
  width:7px; height:7px; border-radius:50%; background:var(--a1);
  box-shadow:0 0 0 4px rgba(255,107,127,.16);
  animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{ 50%{ box-shadow:0 0 0 8px rgba(255,107,127,0); } }

.capture{ display:flex; gap:10px; margin-top:34px; max-width:490px; }
.capture__field{
  flex:1; display:flex; align-items:center; gap:10px;
  padding:0 16px; border-radius:999px;
  background:rgba(255,255,255,.04); border:1px solid var(--line-2);
  color:var(--tx-3); transition:border-color .25s, background .25s;
}
.capture__field:focus-within{ border-color:rgba(255,107,127,.6); background:rgba(255,255,255,.06); }
.capture__field input{ flex:1; height:48px; background:none; border:0; outline:none; font-size:.95rem; }
.capture__field input::placeholder{ color:var(--tx-3); }
.capture__note{ margin-top:13px; font-size:.8rem; color:var(--tx-3); }
.capture__note.is-ok{ color:var(--ok); }
.capture__note.is-err{ color:var(--a1); }

.hero__proof{ display:flex; gap:38px; margin-top:44px; padding-top:30px; border-top:1px solid var(--line); }
.hero__proof li{ display:flex; flex-direction:column; }
.hero__proof strong{ font-size:1.55rem; font-weight:750; letter-spacing:-.03em; }
.hero__proof span{ font-size:.82rem; color:var(--tx-3); }

/* --- device --- */
.hero__visual{ position:relative; display:flex; justify-content:center; padding-block:20px; }
.orb{ position:absolute; border-radius:50%; filter:blur(60px); pointer-events:none; }
.orb--a{ width:320px; height:320px; background:rgba(255,107,127,.3); top:-20px; right:10px; }
.orb--b{ width:260px; height:260px; background:rgba(255,147,80,.22); bottom:0; left:0; }

.phone{
  position:relative; width:300px; padding:11px;
  border-radius:44px;
  background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.03) 42%,rgba(255,255,255,.09));
  box-shadow:0 50px 100px -30px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.05);
  animation:bob 7s ease-in-out infinite;
}
@keyframes bob{ 50%{ transform:translateY(-12px); } }
.phone__notch{
  position:absolute; top:19px; left:50%; transform:translateX(-50%);
  width:92px; height:20px; border-radius:999px; background:#040507; z-index:2;
}
.phone__screen{
  background:linear-gradient(180deg,#0B0E14,#070910);
  border-radius:34px; padding:44px 16px 16px; overflow:hidden;
}

.scan__label{ font-size:.7rem; color:var(--tx-3); text-align:center; margin-bottom:10px; letter-spacing:.02em; }
.scan__stage{
  position:relative; height:150px; border-radius:18px; overflow:hidden;
  background:radial-gradient(80% 120% at 50% 55%, #3A1418, #150A0D 70%);
}
.scan__tissue{
  position:absolute; inset:26px 22px;
  border-radius:50% 50% 46% 46%/60% 60% 40% 40%;
  background:
    radial-gradient(60% 70% at 45% 40%, #FF8E93, #E1525F 55%, #A32C3C 100%);
  filter:blur(.4px);
  box-shadow:inset 0 -8px 20px rgba(0,0,0,.45);
}
.scan__reticle{ position:absolute; inset:14px; }
.scan__reticle .c{ position:absolute; width:18px; height:18px; border:2px solid rgba(255,255,255,.75); border-radius:3px; }
.scan__reticle .tl{ top:0; left:0; border-right:0; border-bottom:0; }
.scan__reticle .tr{ top:0; right:0; border-left:0; border-bottom:0; }
.scan__reticle .bl{ bottom:0; left:0; border-right:0; border-top:0; }
.scan__reticle .br{ bottom:0; right:0; border-left:0; border-top:0; }
.scan__beam{
  position:absolute; left:0; right:0; height:34%;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.22),transparent);
  animation:sweep 3.2s ease-in-out infinite;
}
@keyframes sweep{ 0%,100%{ top:-34%; } 50%{ top:100%; } }

.scan__meta{ display:flex; gap:7px; margin-top:11px; }
.chip{
  font-size:.65rem; font-weight:600; letter-spacing:.03em;
  padding:3px 9px; border-radius:999px;
  background:rgba(255,255,255,.055); border:1px solid var(--line); color:var(--tx-2);
}
.chip--ok{ color:var(--ok); border-color:rgba(74,222,155,.3); background:rgba(74,222,155,.08); }

.result{
  margin-top:14px; padding:15px; border-radius:18px;
  background:rgba(255,255,255,.045); border:1px solid var(--line);
}
.result__row{ display:flex; align-items:baseline; justify-content:space-between; }
.result__k{ font-size:.74rem; color:var(--tx-3); }
.result__v{ font-size:1.5rem; font-weight:750; letter-spacing:-.03em; }
.result__v em{ font-size:.72rem; font-style:normal; color:var(--tx-3); font-weight:500; margin-left:2px; }

.gauge{ margin-top:12px; }
.gauge__track{ position:relative; height:6px; border-radius:999px; background:rgba(255,255,255,.09); overflow:visible; }
.gauge__fill{
  position:absolute; inset:0 62% 0 0; border-radius:999px;
  background:linear-gradient(90deg,#FF5A6E,#FFA24F,#4ADE9B);
}
.gauge__pin{
  position:absolute; top:50%; left:38%; width:11px; height:11px; border-radius:50%;
  background:#fff; transform:translate(-50%,-50%); box-shadow:0 0 0 3px rgba(255,255,255,.16);
}
.gauge__scale{ display:flex; justify-content:space-between; margin-top:6px; font-size:.62rem; color:var(--tx-3); }
.result__foot{ margin-top:11px; font-size:.72rem; color:var(--tx-2); display:flex; align-items:center; gap:7px; }
.dot-ok{ width:6px; height:6px; border-radius:50%; background:var(--ok); flex:none; }
.dot-warn{
  width:6px; height:6px; border-radius:50%; background:var(--warn); flex:none;
  box-shadow:0 0 0 3px rgba(255,180,77,.16);
}

.float{
  position:absolute; display:flex; align-items:center; gap:11px;
  padding:11px 15px; border-radius:15px;
  background:rgba(16,19,26,.86); border:1px solid var(--line-2);
  backdrop-filter:blur(12px); box-shadow:var(--shadow);
  animation:bob 7s ease-in-out infinite;
}
.float svg{ color:var(--a1); flex:none; }
.float b{ display:block; font-size:.85rem; font-weight:650; letter-spacing:-.02em; }
.float span{ display:block; font-size:.71rem; color:var(--tx-3); }
.float--1{ top:14%; left:-6%; animation-delay:-1.4s; }
.float--2{ bottom:12%; right:-8%; animation-delay:-3.4s; }

/* --- trust strip --- */
.trust{
  position:relative; z-index:1;
  margin-top:88px; padding:26px 24px; border-top:1px solid var(--line);
  display:flex; align-items:center; gap:28px; flex-wrap:wrap;
}
.trust__label{ font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--tx-3); flex:none; }
.trust__logos{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.trust__logos span{ font-size:.9rem; font-weight:600; color:var(--tx-2); opacity:.62; letter-spacing:-.01em; transition:opacity .25s; }
.trust__logos span:hover{ opacity:1; }
.trust__logos i{ width:4px; height:4px; border-radius:50%; background:var(--tx-3); opacity:.4; }

/* ---------- stats ---------- */
.stats{ padding:70px 0; border-block:1px solid var(--line); background:var(--bg-2); }
.stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.stat{ text-align:center; padding-inline:10px; }
.stat b{
  display:block; font-size:clamp(2.1rem,4vw,3rem); font-weight:800; letter-spacing:-.045em;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat span{ display:block; margin-top:6px; font-size:.86rem; color:var(--tx-3); line-height:1.45; }

/* ---------- cards ---------- */
.card{
  padding:30px; border-radius:var(--r-lg);
  background:var(--surface); border:1px solid var(--line);
  transition:transform .35s var(--ease), border-color .35s, background .35s;
}
.card:hover{ transform:translateY(-4px); border-color:var(--line-2); background:var(--surface-2); }
.card h3{ font-size:1.16rem; margin-bottom:11px; }
.card p{ color:var(--tx-2); font-size:.94rem; }
.ico-box{
  width:44px; height:44px; border-radius:13px; margin-bottom:20px;
  display:grid; place-items:center;
  background:var(--a-soft); border:1px solid rgba(255,107,127,.22); color:var(--a1);
}
.ico-box svg{ width:21px; height:21px; }

/* ---------- steps ---------- */
.steps{ display:flex; flex-direction:column; gap:20px; }
.step{
  display:grid; grid-template-columns:auto 1fr 300px; gap:34px; align-items:center;
  padding:36px; border-radius:var(--r-xl);
  background:var(--surface); border:1px solid var(--line);
  transition:border-color .35s, background .35s;
}
.step:hover{ border-color:var(--line-2); background:var(--surface-2); }
.step__n{
  font-size:.95rem; font-weight:750; letter-spacing:.04em;
  width:46px; height:46px; border-radius:14px; display:grid; place-items:center;
  background:var(--grad); color:#1A0A0D; flex:none;
}
.step__body h3{ font-size:1.4rem; margin-bottom:12px; }
.step__body p{ color:var(--tx-2); max-width:58ch; }

.ticks{ margin-top:18px; display:flex; flex-direction:column; gap:9px; }
.ticks li{ position:relative; padding-left:26px; font-size:.9rem; color:var(--tx-2); }
.ticks li::before{
  content:""; position:absolute; left:0; top:.44em;
  width:15px; height:15px; border-radius:50%;
  background:var(--a-soft); border:1px solid rgba(255,107,127,.3);
}
.ticks li::after{
  content:""; position:absolute; left:4.5px; top:.72em;
  width:5px; height:2.6px; border-left:1.8px solid var(--a1); border-bottom:1.8px solid var(--a1);
  transform:rotate(-45deg);
}

.step__art{ display:flex; justify-content:center; }
.mini{
  width:100%; border-radius:var(--r); padding:18px;
  background:linear-gradient(165deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  border:1px solid var(--line); text-align:center;
}
.mini__cap{ display:block; margin-top:13px; font-size:.71rem; color:var(--tx-3); letter-spacing:.02em; }
.mini__frame{
  position:relative; height:112px; border-radius:12px;
  background:radial-gradient(70% 90% at 50% 50%,#3A1418,#12080B 72%);
}
.mini__frame i{ position:absolute; width:16px; height:16px; border:2px solid rgba(255,255,255,.6); }
.mini__frame i:nth-child(1){ top:14px; left:14px; border-right:0; border-bottom:0; }
.mini__frame i:nth-child(2){ top:14px; right:14px; border-left:0; border-bottom:0; }
.mini__frame i:nth-child(3){ bottom:14px; left:14px; border-right:0; border-top:0; }
.mini__frame i:nth-child(4){ bottom:14px; right:14px; border-left:0; border-top:0; }

.bars{ height:112px; display:flex; align-items:flex-end; justify-content:center; gap:9px; }
.bars i{
  width:16px; height:var(--h); border-radius:5px 5px 2px 2px;
  background:linear-gradient(180deg,#FF8A63,rgba(255,107,127,.22));
}
.spark{ width:100%; height:112px; }

/* ---------- features ---------- */
.grid--feat{ gap:18px; }
.feat{
  position:relative; padding:28px; border-radius:var(--r-lg); overflow:hidden;
  background:var(--surface); border:1px solid var(--line);
  transition:transform .35s var(--ease), border-color .35s;
}
.feat::before{
  content:""; position:absolute; inset:-1px -1px auto; height:1px;
  background:var(--grad); opacity:0; transition:opacity .35s;
}
.feat:hover{ transform:translateY(-4px); border-color:var(--line-2); }
.feat:hover::before{ opacity:1; }
.feat__ico{
  width:40px; height:40px; border-radius:12px; margin-bottom:18px;
  display:grid; place-items:center;
  background:rgba(255,255,255,.05); border:1px solid var(--line); color:var(--a1);
}
.feat__ico svg{ width:19px; height:19px; }
.feat h3{ font-size:1.06rem; margin-bottom:9px; }
.feat p{ color:var(--tx-2); font-size:.91rem; }

/* ---------- science ---------- */
.sci{ display:grid; grid-template-columns:1fr .88fr; gap:56px; align-items:center; }
.metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:34px; }
.metric{
  padding:20px 18px; border-radius:var(--r);
  background:var(--surface); border:1px solid var(--line);
}
.metric b{ display:block; font-size:1.5rem; font-weight:750; letter-spacing:-.035em; }
.metric b em{ font-size:.72rem; font-style:normal; color:var(--tx-3); font-weight:500; }
.metric span{ display:block; margin-top:5px; font-size:.82rem; color:var(--tx-2); }
.metric i{ display:block; margin-top:3px; font-size:.72rem; font-style:normal; color:var(--tx-3); }

.panel{
  padding:28px; border-radius:var(--r-xl);
  background:linear-gradient(165deg,rgba(255,255,255,.06),rgba(255,255,255,.015));
  border:1px solid var(--line-2); box-shadow:var(--shadow);
}
.panel__top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; font-size:.86rem; font-weight:600; }
.rank{ display:flex; flex-direction:column; gap:15px; }
.rank li{ display:grid; grid-template-columns:1fr 1.05fr auto; gap:14px; align-items:center; font-size:.85rem; }
.rank li span{ color:var(--tx-2); }
.rank li b{ font-weight:650; font-variant-numeric:tabular-nums; }
.rank__bar{ height:7px; border-radius:999px; background:rgba(255,255,255,.07); overflow:hidden; }
.rank__bar i{ display:block; height:100%; width:var(--w); border-radius:999px; background:var(--grad); }
.panel__foot{
  margin-top:24px; padding-top:18px; border-top:1px solid var(--line);
  font-size:.78rem; color:var(--tx-3); display:flex; align-items:center; gap:8px;
}

/* ---------- audience ---------- */
.use{
  padding:32px; border-radius:var(--r-lg);
  background:var(--surface); border:1px solid var(--line);
  transition:transform .35s var(--ease), border-color .35s;
}
.use:hover{ transform:translateY(-4px); border-color:var(--line-2); }
.use--hi{
  background:linear-gradient(170deg,rgba(255,107,127,.1),rgba(255,147,80,.03) 55%,transparent);
  border-color:rgba(255,107,127,.28);
}
.use__tag{
  display:inline-block; margin-bottom:16px; padding:4px 12px; border-radius:999px;
  font-size:.7rem; font-weight:650; letter-spacing:.1em; text-transform:uppercase;
  background:var(--a-soft); color:var(--a1); border:1px solid rgba(255,107,127,.24);
}
.use h3{ font-size:1.2rem; margin-bottom:11px; }
.use p{ color:var(--tx-2); font-size:.93rem; }

/* ---------- quotes ---------- */
.quote{
  margin:0; padding:30px; border-radius:var(--r-lg);
  background:var(--surface); border:1px solid var(--line);
  display:flex; flex-direction:column; justify-content:space-between; gap:24px;
  transition:transform .35s var(--ease), border-color .35s;
}
.quote:hover{ transform:translateY(-4px); border-color:var(--line-2); }
.quote blockquote{ margin:0; font-size:1rem; color:var(--tx); line-height:1.62; letter-spacing:-.012em; }
.quote blockquote::before{ content:"“"; display:block; font-size:2.6rem; line-height:.6; color:var(--a1); margin-bottom:14px; }
.quote figcaption{ display:flex; align-items:center; gap:12px; }
.ava{
  width:38px; height:38px; border-radius:50%; flex:none; display:grid; place-items:center;
  background:var(--grad); color:#1A0A0D; font-size:.78rem; font-weight:750; letter-spacing:-.02em;
}
.quote figcaption b{ display:block; font-size:.9rem; font-weight:650; }
.quote figcaption span{ display:block; font-size:.78rem; color:var(--tx-3); }

/* ---------- pricing ---------- */
.pricing{ align-items:start; }
.plan{
  position:relative; padding:34px 30px; border-radius:var(--r-xl);
  background:var(--surface); border:1px solid var(--line);
  display:flex; flex-direction:column; gap:18px;
  transition:transform .35s var(--ease), border-color .35s;
}
.plan:hover{ transform:translateY(-4px); border-color:var(--line-2); }
.plan--hi{
  background:linear-gradient(175deg,rgba(255,107,127,.11),rgba(14,17,23,1) 62%);
  border-color:rgba(255,107,127,.34);
  box-shadow:0 30px 70px -34px rgba(255,107,127,.45);
}
.plan__badge{
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  padding:4px 14px; border-radius:999px; white-space:nowrap;
  background:var(--grad); color:#1A0A0D; font-size:.68rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
}
.plan__name{ font-size:1.05rem; font-weight:650; letter-spacing:-.01em; }
.plan__price{ display:flex; align-items:baseline; gap:7px; }
.plan__price b{ font-size:2.5rem; font-weight:800; letter-spacing:-.045em; }
.plan__price span{ font-size:1.5rem; font-weight:700; color:var(--tx); letter-spacing:-.03em; }
.plan__price b + span{ font-size:.86rem; font-weight:500; color:var(--tx-3); }
.plan__note{ font-size:.86rem; color:var(--tx-3); margin-top:-8px; }
.plan .ticks{ margin-top:4px; flex:1; }
.plan .btn{ margin-top:8px; }

/* ---------- faq ---------- */
.faq{ display:flex; flex-direction:column; gap:12px; }
.qa{
  border-radius:var(--r); overflow:hidden;
  background:var(--surface); border:1px solid var(--line);
  transition:border-color .3s, background .3s;
}
.qa[open]{ border-color:var(--line-2); background:var(--surface-2); }
.qa summary{
  list-style:none; cursor:pointer; padding:20px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  font-size:1rem; font-weight:600; letter-spacing:-.015em;
}
.qa summary::-webkit-details-marker{ display:none; }
.qa summary:hover{ color:var(--a1); }
.qa__x{ position:relative; width:16px; height:16px; flex:none; }
.qa__x::before,.qa__x::after{
  content:""; position:absolute; inset:50% 0 auto; height:1.8px; border-radius:2px;
  background:var(--a1); transform:translateY(-50%); transition:transform .3s var(--ease);
}
.qa__x::after{ transform:translateY(-50%) rotate(90deg); }
.qa[open] .qa__x::after{ transform:translateY(-50%) rotate(0); }
.qa__a{ padding:0 24px 22px; }
.qa__a p{ color:var(--tx-2); font-size:.94rem; max-width:70ch; }

/* ---------- cta ---------- */
.cta{ padding:112px 0; }
.cta__box{
  position:relative; overflow:hidden; text-align:center;
  padding:76px 40px; border-radius:38px;
  background:linear-gradient(165deg,rgba(255,107,127,.14),rgba(14,17,23,.9) 58%);
  border:1px solid rgba(255,107,127,.26);
}
.cta__glow{
  position:absolute; inset:auto -20% -60% -20%; height:420px; pointer-events:none;
  background:radial-gradient(50% 60% at 50% 50%, rgba(255,147,80,.28), transparent 70%);
  filter:blur(20px);
}
.cta__box > *{ position:relative; z-index:1; }
.cta__box .sub{ margin-inline:auto; }
.cta__actions{ display:flex; gap:13px; justify-content:center; flex-wrap:wrap; margin-top:34px; }
.cta__box .capture__note{ margin-top:20px; }

/* ---------- footer ---------- */
.foot{ border-top:1px solid var(--line); background:var(--bg-2); padding-top:64px; }
.foot__grid{ display:grid; grid-template-columns:1.7fr repeat(3,1fr); gap:40px; padding-bottom:52px; }
.foot__brand p{ margin-top:16px; font-size:.9rem; color:var(--tx-3); max-width:34ch; }
.foot__col h4{ font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--tx-3); margin-bottom:16px; font-weight:650; }
.foot__col a{ display:block; font-size:.91rem; color:var(--tx-2); padding:5px 0; transition:color .2s; }
.foot__col a:hover{ color:var(--a1); }
.foot__bar{
  border-top:1px solid var(--line); padding-block:26px 34px;
  display:flex; justify-content:space-between; align-items:flex-start; gap:32px; flex-wrap:wrap;
}
.foot__disclaimer{ font-size:.78rem; color:var(--tx-3); max-width:74ch; line-height:1.6; }
.foot__disclaimer b{ color:var(--tx-2); }
.foot__meta{ font-size:.78rem; color:var(--tx-3); display:flex; gap:8px; white-space:nowrap; }
.foot__dot{ opacity:.5; }

/* ---------- reveal ---------- */
.reveal{ opacity:0; transform:translateY(20px); }
.reveal.in{ opacity:1; transform:none; transition:opacity .75s var(--ease), transform .75s var(--ease); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .hero__inner{ grid-template-columns:1fr; gap:60px; }
  .hero__copy{ max-width:660px; }
  .hero__visual{ margin-top:8px; }
  .float--1{ left:2%; }
  .float--2{ right:0; }
  .sci{ grid-template-columns:1fr; gap:44px; }
  .step{ grid-template-columns:auto 1fr; }
  .step__art{ grid-column:1/-1; }
  .mini{ max-width:420px; margin-inline:auto; }
}

@media (max-width:900px){
  .nav__burger{ display:flex; }
  .nav__links{
    position:fixed; inset:0 0 auto; top:0; z-index:70;
    flex-direction:column; align-items:stretch; gap:4px;
    padding:96px 24px 34px;
    background:rgba(6,7,10,.97); backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line);
    transform:translateY(-102%); transition:transform .42s var(--ease);
  }
  .nav__links.open{ transform:none; }
  .nav__links a{ font-size:1.06rem; padding:13px 4px; border-bottom:1px solid var(--line); }
  .nav__links .nav__cta{ margin-top:18px; border-bottom:0; justify-content:center; padding:14px; }
  .nav__inner{ position:relative; z-index:80; }

  .grid--3,.stats__grid{ grid-template-columns:repeat(2,1fr); }
  .metrics{ grid-template-columns:1fr; }
  .sec{ padding:84px 0; }
  .cta{ padding:84px 0; }
  .foot__grid{ grid-template-columns:1fr 1fr; gap:34px; }
  .foot__brand{ grid-column:1/-1; }
}

@media (max-width:640px){
  html{ scroll-padding-top:80px; }
  .wrap{ padding-inline:18px; }
  .ribbon__inner{ font-size:.75rem; gap:8px; }
  .grid--3,.stats__grid{ grid-template-columns:1fr; }
  .capture{ flex-direction:column; }
  .capture__field{ padding-block:2px; }
  .btn{ justify-content:center; }
  .hero{ padding-top:56px; }
  .hero__proof{ gap:22px; }
  .hero__proof strong{ font-size:1.3rem; }
  .phone{ width:270px; }
  .float{ display:none; }
  .step{ grid-template-columns:1fr; gap:20px; padding:26px; }
  .step__n{ width:40px; height:40px; }
  .card,.feat,.use,.quote,.plan,.panel{ padding:24px; }
  .cta__box{ padding:52px 24px; border-radius:28px; }
  .trust{ margin-top:64px; gap:16px; }
  .foot__grid{ grid-template-columns:1fr; }
  .foot__bar{ flex-direction:column; gap:16px; }
}

/* ---------- a11y ---------- */
:focus-visible{ outline:2px solid var(--a1); outline-offset:3px; border-radius:6px; }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; }
}
