@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Sora:wght@600;700;800&display=swap");

:root{
  --bg:#040912;
  --panel:linear-gradient(155deg, rgba(255,255,255,0.1), rgba(255,255,255,0.03) 36%, rgba(10,19,34,0.84));
  --panel2:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
  --border:rgba(255,255,255,0.14);
  --text:rgba(255,255,255,0.96);
  --muted:rgba(233,242,255,0.78);
  --faint:rgba(215,228,246,0.58);
  --accent:#33d3d5;
  --accent2:#72a1ff;
  --greenBg1:rgba(66,223,170,0.38);
  --greenBg2:rgba(19,39,64,0.98);
  --greenBorder:rgba(66,223,170,0.5);
  --blueBg1:rgba(38,58,97,0.95);
  --blueBg2:rgba(15,26,49,0.97);
  --blueBorder:rgba(140,181,255,0.32);
  --radius:24px;
  --radius2:18px;
  --max:1140px;
  --pad:20px;
  --tap:56px;
  --shadow:0 24px 56px rgba(0,0,0,0.5);
  --font-body:"Manrope","SF Pro Display","Segoe UI",sans-serif;
  --font-display:"Sora","Manrope","SF Pro Display","Segoe UI",sans-serif;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
  line-height:1.55;
  letter-spacing:-0.01em;
  text-rendering:optimizeLegibility;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(950px 620px at 16% -10%, rgba(66,223,170,0.18), transparent 58%),
    radial-gradient(760px 560px at 95% 8%, rgba(114,161,255,0.14), transparent 62%),
    linear-gradient(180deg, rgba(51,211,213,0.12), rgba(4,9,18,0) 58%),
    var(--bg);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:0.22;
  background-image:radial-gradient(rgba(255,255,255,0.2) 0.5px, transparent 0.5px);
  background-size:2px 2px;
  mix-blend-mode:soft-light;
}

a{ color:inherit; }

:focus-visible{
  outline:2px solid rgba(35,198,200,0.55);
  outline-offset:2px;
  border-radius:10px;
}

.wrap{ width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--pad); }

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:14;
  background:rgba(5,11,21,0.64);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(66,223,170,0.5), rgba(114,161,255,0.46), transparent);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:94px;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:16px;
  padding:10px 20px 10px 11px;
  border:1px solid rgba(66,223,170,0.42);
  border-radius:999px;
  background:
    radial-gradient(130% 170% at 4% 50%, rgba(66,223,170,0.32), rgba(66,223,170,0.04) 52%),
    linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.03));
  box-shadow:
    0 18px 36px rgba(0,0,0,0.44),
    0 0 0 1px rgba(66,223,170,0.16),
    inset 0 0 0 1px rgba(255,255,255,0.08);
  text-decoration:none;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.brand:hover{
  transform:translateY(-1px);
  border-color:rgba(66,223,170,0.6);
  box-shadow:
    0 22px 44px rgba(0,0,0,0.5),
    0 0 0 1px rgba(66,223,170,0.28),
    inset 0 0 0 1px rgba(255,255,255,0.1);
}
.brand-mark{
  width:42px;
  height:42px;
  border-radius:999px;
  object-fit:cover;
  display:block;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.3),
    0 12px 24px rgba(0,0,0,0.42);
}
.brand-word{
  height:30px;
  width:auto;
  display:block;
  opacity:1;
  filter:drop-shadow(0 2px 1px rgba(0,0,0,0.3));
}
.nav-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.nav-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 15px;
  border:1px solid var(--border);
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
  color:var(--muted);
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  letter-spacing:-0.01em;
  transition:transform .2s ease, border-color .2s ease, color .2s ease, background .2s ease, box-shadow .2s ease;
}
.nav-links a:hover{
  color:var(--text);
  border-color:rgba(255,255,255,0.26);
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(0,0,0,0.28);
}
.nav-links a.nav-cta{
  background:linear-gradient(135deg, rgba(62,226,183,0.76), rgba(30,69,112,0.96));
  border-color:rgba(141,238,214,0.58);
  color:var(--text);
  min-height:46px;
  padding:0 20px;
  font-weight:800;
  box-shadow:
    0 14px 32px rgba(9,30,54,0.54),
    inset 0 0 0 1px rgba(255,255,255,0.16);
}
.nav-links a.nav-cta:hover{
  filter:brightness(1.07);
}
@media (max-width: 720px){
  .header-inner{ min-height:80px; }
  .brand{
    padding:7px 12px 7px 8px;
    gap:8px;
  }
  .brand-mark{ width:34px; height:34px; }
  .brand-word{ height:24px; }
  .nav-links a:not(.nav-cta){ display:none; }
  .nav-links a.nav-cta{
    min-height:42px;
    padding:0 15px;
  }
}

/* Hero */
.hero{ padding:76px 0 36px; }
.hero-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  align-items:center;
}
@media (min-width: 920px){
  .hero{ padding:112px 0 54px; }
  .hero-grid{
    grid-template-columns:1.05fr 0.95fr;
    gap:50px;
  }
}
.hero-copy{
  padding:24px 24px 20px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius);
  background:
    radial-gradient(150% 120% at -4% 8%, rgba(66,223,170,0.2), rgba(66,223,170,0.02) 40%),
    linear-gradient(160deg, rgba(255,255,255,0.09), rgba(255,255,255,0.03) 45%, rgba(8,15,28,0.78));
  box-shadow:var(--shadow);
}
h1{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(30px, 4.2vw, 46px);
  line-height:1.12;
  letter-spacing:-0.03em;
  max-width:17.5ch;
  text-wrap:balance;
}
.hero-support{
  margin:12px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.58;
  max-width:60ch;
}
.hero-method{
  margin:12px 0 0;
  padding:2px 0 2px 12px;
  border-left:2px solid rgba(66,223,170,0.5);
}
.hero-method-title{
  margin:0;
  color:rgba(224,245,255,0.86);
  font-size:11px;
  letter-spacing:0.11em;
  text-transform:uppercase;
  font-weight:800;
}
.hero-method-copy{
  margin:6px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.48;
  max-width:62ch;
}
.hero-cta{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:16px;
}
.hero-kicker{
  width:fit-content;
  margin:0 0 12px;
  padding:7px 13px;
  border-radius:999px;
  border:1px solid rgba(66,223,170,0.3);
  background:linear-gradient(180deg, rgba(66,223,170,0.2), rgba(66,223,170,0.03));
  font-size:11px;
  font-weight:800;
  letter-spacing:0.09em;
  text-transform:uppercase;
  color:rgba(220,255,246,0.82);
}
.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.cta-microline{
  margin:0;
  font-size:13px;
  color:rgba(213,232,255,0.66);
}
.returning-cta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:6px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
}
.returning-copy{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
  font-weight:700;
}
.returning-cta .btn{
  width:fit-content;
  min-height:44px;
}
.returning-cta .btn.btn-primary{
  background:linear-gradient(140deg, rgba(66,223,170,0.62), rgba(17,50,82,0.92));
}
.hero-proofs{
  list-style:none;
  margin:2px 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.hero-proofs li{
  display:inline-flex;
  align-items:center;
  min-height:0;
  padding:0;
  border:0;
  background:none;
  color:rgba(226,240,255,0.74);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.01em;
}
.hero-proofs li::before{
  content:"";
  width:5px;
  height:5px;
  margin-right:8px;
  border-radius:50%;
  background:rgba(66,223,170,0.9);
  box-shadow:0 0 0 4px rgba(66,223,170,0.15);
}
@media (max-width: 540px){
  .hero-copy{ padding:20px 16px; }
  h1{
    font-size:clamp(26px, 7.8vw, 34px);
    max-width:100%;
  }
  .hero-support{ font-size:14px; max-width:100%; }
  .hero-method{
    margin-top:12px;
    padding-left:10px;
  }
  .hero-method-copy{
    font-size:12px;
    max-width:100%;
  }
  .returning-cta .btn{
    width:100%;
  }
  .returning-copy{
    width:100%;
  }
  .hero-actions .btn{
    width:100%;
  }
  .hero-proofs{
    gap:8px;
    flex-direction:column;
    align-items:flex-start;
  }
}

/* Device visual */
.device-wrap{
  position:relative;
  justify-self:center;
  width:min(540px, 94vw);
}
@media (min-width: 920px){
  .device-wrap{ justify-self:end; width:min(540px, 48vw); }
}
.phone-stage{
  position:relative;
  width:min(540px, 100%);
  height:min(720px, 120vw);
  margin:0 auto;
}
.phone-stage::before{
  content:"";
  position:absolute;
  inset:9% 1% -6%;
  background:
    radial-gradient(55% 70% at 34% 56%, rgba(66,223,170,0.2), transparent 74%),
    radial-gradient(55% 70% at 72% 54%, rgba(114,161,255,0.15), transparent 72%);
  filter:blur(10px);
  opacity:0.9;
}
.phone-stage::after{
  content:"";
  position:absolute;
  left:50%;
  top:12%;
  width:88%;
  aspect-ratio:1/1;
  transform:translateX(-50%);
  border-radius:50%;
  border:1px solid rgba(124,168,241,0.34);
  box-shadow:0 0 60px rgba(80,118,194,0.28);
  opacity:0.62;
}
.phone-shell{
  position:relative;
  width:44%;
  aspect-ratio:9 / 19.5;
  margin:0;
  border-radius:42px;
  padding:2.5%;
  border:1px solid rgba(255,255,255,0.26);
  background:
    linear-gradient(165deg, rgba(255,255,255,0.16), rgba(255,255,255,0.03) 16%, rgba(6,12,24,0.88) 68%),
    linear-gradient(180deg, rgba(8,13,22,0.98), rgba(2,5,10,0.98));
  box-shadow:
    0 24px 62px rgba(0,0,0,0.58),
    0 12px 26px rgba(9,18,35,0.54),
    inset 0 0 0 1px rgba(255,255,255,0.06);
  overflow:hidden;
}
.phone-shell::before{
  content:"";
  position:absolute;
  top:2.2%;
  left:50%;
  width:36%;
  height:3.6%;
  transform:translateX(-50%);
  border-radius:999px;
  background:rgba(0,0,0,0.76);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05);
  z-index:3;
}
.phone-shell::after{
  content:"";
  position:absolute;
  bottom:2.4%;
  left:50%;
  width:32%;
  height:1%;
  transform:translateX(-50%);
  border-radius:999px;
  background:rgba(255,255,255,0.78);
  opacity:0.85;
  z-index:3;
}
.phone-screen{
  width:100%;
  height:100%;
  border-radius:34px;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.02) contrast(1.02);
}
.phone-left{
  position:absolute;
  left:6%;
  top:15%;
  transform:rotate(-3.2deg);
  z-index:2;
}
.phone-right{
  position:absolute;
  right:8%;
  top:13%;
  transform:rotate(3.6deg);
  z-index:1;
}
@media (prefers-reduced-motion: no-preference){
  .phone-left, .phone-right{ animation:floaty 9s ease-in-out infinite; }
  .phone-right{ animation-delay:.9s; }
  @keyframes floaty{
    0%{ transform:translateY(0) rotate(var(--tilt, 0deg)); }
    50%{ transform:translateY(-8px) rotate(var(--tilt, 0deg)); }
    100%{ transform:translateY(0) rotate(var(--tilt, 0deg)); }
  }
  .phone-left{ --tilt:-3.2deg; }
  .phone-right{ --tilt:3.6deg; }
}

/* Buttons */
.btn{
  appearance:none;
  border:1px solid var(--border);
  border-radius:999px;
  min-height:var(--tap);
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  font-weight:800;
  letter-spacing:-0.01em;
  text-decoration:none;
  cursor:pointer;
  user-select:none;
  color:var(--text);
  background:var(--panel2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.12);
  transition:transform .2s ease, filter .2s ease, opacity .2s ease, border-color .2s ease, box-shadow .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.btn:hover{
  transform:translateY(-1px);
  box-shadow:
    0 14px 28px rgba(0,0,0,0.3),
    inset 0 1px 0 rgba(255,255,255,0.16);
}
.btn:active{ transform:translateY(0px); filter:brightness(0.98); }
.btn[disabled], .btn:disabled{ opacity:0.55; cursor:not-allowed; transform:none; }
.btn-primary{
  background:linear-gradient(140deg, rgba(66,223,170,0.78), rgba(18,53,87,0.95));
  border-color:rgba(138,239,212,0.56);
  color:#f4fcff;
}
.btn-ghost{
  background:linear-gradient(180deg, var(--blueBg1), var(--blueBg2));
  border-color:var(--blueBorder);
  color:rgba(224,239,255,0.84);
}
.btn-ghost:hover{ color:var(--text); }

/* Strip */
.strip{ padding:8px 0 14px; }
.strip-list{
  list-style:none;
  margin:0;
  padding:18px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius);
  background:
    radial-gradient(130% 130% at 0% 0%, rgba(66,223,170,0.12), rgba(66,223,170,0.01) 42%),
    linear-gradient(165deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02) 45%, rgba(7,13,24,0.82));
  box-shadow:var(--shadow);
  display:grid;
  gap:12px;
}
@media (min-width: 860px){
  .strip-list{ grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:16px; }
}
.strip-list li{
  padding:14px;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:var(--radius2);
  background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.015));
  font-size:15px;
  letter-spacing:-0.01em;
}
.strip-list li strong{
  display:block;
  margin-bottom:7px;
  font-size:16px;
  letter-spacing:-0.01em;
}
.strip-list li span{
  display:block;
  font-size:14px;
  color:var(--muted);
  line-height:1.5;
}

/* Sections */
.section-title{
  font-size:12px;
  font-weight:800;
  letter-spacing:0.13em;
  text-transform:uppercase;
  margin:30px 0 14px;
  color:var(--muted);
}
.how{ padding:8px 0 14px; }
.how-steps{
  counter-reset:howStep;
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.how-steps li{
  position:relative;
  margin:0;
  padding:16px 16px 16px 56px;
  border:1px solid rgba(255,255,255,0.13);
  border-radius:var(--radius2);
  background:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.015));
  color:var(--muted);
  line-height:1.55;
  box-shadow:var(--shadow);
}
.how-steps li::before{
  counter-increment:howStep;
  content:counter(howStep);
  position:absolute;
  left:16px;
  top:16px;
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid var(--greenBorder);
  background:linear-gradient(130deg, rgba(66,223,170,0.52), rgba(18,53,87,0.95));
  color:var(--text);
  font-size:13px;
  font-weight:800;
  display:grid;
  place-items:center;
}
.how-steps li strong{
  display:block;
  margin-bottom:5px;
  color:var(--text);
  font-size:16px;
}
.how-steps li span{
  display:block;
  font-size:15px;
}

/* Day preview */
.day-preview{ padding:8px 0 14px; }
.preview-grid{
  display:grid;
  gap:16px;
}
@media (min-width: 900px){
  .preview-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
.preview-card{
  border:1px solid rgba(255,255,255,0.13);
  border-radius:var(--radius);
  background:
    radial-gradient(120% 120% at 18% 0%, rgba(114,161,255,0.14), rgba(114,161,255,0.01) 38%),
    linear-gradient(160deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02) 42%, rgba(8,15,29,0.84));
  box-shadow:var(--shadow);
  padding:16px;
}
.preview-card h3{
  margin:0 0 7px;
  font-size:17px;
  letter-spacing:-0.01em;
}
.preview-card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.preview-media{
  width:100%;
  aspect-ratio:2 / 3;
  border-radius:14px;
  border:1px solid var(--border);
  object-fit:cover;
  object-position:center;
  background:var(--panel2);
  margin-bottom:12px;
  display:block;
}
.preview-phone{
  width:min(242px, 100%);
  margin:6px auto 14px;
  transform:none;
}

/* Close CTA */
.close-cta{
  padding:10px 0 44px;
}
.close-card{
  border:1px solid rgba(255,255,255,0.14);
  border-radius:var(--radius);
  padding:18px;
  background:
    radial-gradient(140% 130% at 0% 0%, rgba(66,223,170,0.14), rgba(66,223,170,0.02) 44%),
    linear-gradient(165deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02) 45%, rgba(8,14,25,0.85));
  box-shadow:var(--shadow);
}
.close-card h2{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(24px, 3.6vw, 38px);
  line-height:1.14;
  letter-spacing:-0.03em;
  max-width:18ch;
}
.close-card p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.62;
}
.close-card .hero-actions{
  margin-top:16px;
}
.close-note{
  margin:14px 0 0;
  color:var(--faint);
  font-size:12px;
  line-height:1.55;
  max-width:74ch;
}
@media (max-width: 540px){
  .close-card{
    padding:16px;
  }
  .close-card p{
    font-size:15px;
  }
}

/* Policy / legal pages */
.policy-main{ padding:42px 0 60px; }
.policy-top{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:18px;
}
.policy-kicker{
  margin:0;
  font-size:12px;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(223,244,255,0.72);
}
.policy-intro{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.62;
  max-width:72ch;
}
.policy-updated{
  margin:0;
  color:var(--faint);
  font-size:12px;
  letter-spacing:0.03em;
  text-transform:uppercase;
}
.policy-stack{
  display:grid;
  gap:16px;
}
.policy-card{
  border:1px solid rgba(255,255,255,0.13);
  border-radius:var(--radius2);
  background:
    radial-gradient(120% 120% at 4% 0%, rgba(66,223,170,0.11), rgba(66,223,170,0.01) 44%),
    linear-gradient(165deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02) 44%, rgba(7,13,24,0.84));
  padding:16px;
}
.policy-card h2{
  margin:0 0 9px;
  font-size:19px;
  letter-spacing:-0.01em;
  font-family:var(--font-display);
  line-height:1.22;
}
.policy-card p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.62;
}
.policy-card p + p{ margin-top:8px; }
.policy-list{
  margin:10px 0 0;
  padding-left:20px;
  color:var(--muted);
  font-size:15px;
  line-height:1.6;
}
.policy-list li + li{ margin-top:6px; }
.policy-list strong{ color:var(--text); }
.policy-cta{
  margin-top:10px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* Trust */
.trust{ padding:10px 0 14px; }
.trust-grid{
  display:grid;
  gap:16px;
}
@media (min-width: 900px){
  .trust-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
.trust-item{
  border:1px solid rgba(255,255,255,0.13);
  border-radius:var(--radius2);
  background:
    radial-gradient(150% 130% at 0% 0%, rgba(114,161,255,0.13), rgba(114,161,255,0.02) 42%),
    linear-gradient(170deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02) 50%, rgba(8,14,26,0.84));
  box-shadow:var(--shadow);
  padding:16px;
}
.trust-item h3{
  margin:0 0 8px;
  font-size:17px;
  letter-spacing:-0.01em;
  font-family:var(--font-display);
}
.trust-item p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.58;
}

/* FAQ */
.faq{ padding:10px 0 56px; }
details.faq-item{
  border:1px solid rgba(255,255,255,0.13);
  border-radius:var(--radius2);
  background:
    radial-gradient(120% 130% at 0% 0%, rgba(66,223,170,0.1), rgba(66,223,170,0.01) 42%),
    linear-gradient(160deg, rgba(255,255,255,0.08), rgba(255,255,255,0.015) 46%, rgba(8,15,28,0.84));
  padding:14px 16px;
  margin:12px 0;
  box-shadow:var(--shadow);
}
details.faq-item summary{
  cursor:pointer;
  font-weight:800;
  list-style:none;
  position:relative;
  padding-right:28px;
  font-size:16px;
  font-family:var(--font-display);
}
details.faq-item summary::after{
  content:"+";
  position:absolute;
  right:6px;
  top:0;
  color:var(--muted);
  font-weight:900;
}
details.faq-item[open] summary::after{ content:"-"; }
details.faq-item summary::-webkit-details-marker{ display:none; }
details.faq-item p{
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.6;
  font-size:15px;
}

/* Setup */
.setup-main{ padding:40px 0 60px; }
.setup-top{ display:flex; flex-direction:column; gap:10px; margin-bottom:16px; }
.setup-progress{
  color:rgba(221,245,255,0.7);
  font-size:12px;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.setup-meter{
  width:100%;
  height:10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.14);
  background:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
  overflow:hidden;
}
.setup-meter-fill{
  width:16.66%;
  height:100%;
  background:linear-gradient(130deg, rgba(66,223,170,0.74), rgba(21,62,101,0.92));
  transition:width .2s ease;
}
.setup-headline{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(28px, 4.4vw, 44px);
  line-height:1.06;
  letter-spacing:-0.03em;
  max-width:22ch;
}
.setup-helper{
  margin:2px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.6;
  max-width:56ch;
}
.card{
  border:1px solid rgba(255,255,255,0.13);
  border-radius:var(--radius);
  background:
    radial-gradient(150% 130% at 0% 0%, rgba(66,223,170,0.1), rgba(66,223,170,0.01) 44%),
    linear-gradient(165deg, rgba(255,255,255,0.09), rgba(255,255,255,0.02) 44%, rgba(8,15,29,0.84));
  box-shadow:var(--shadow);
}
.setup-card{ padding:16px; }
.q{
  font-size:12px;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--muted);
  margin:6px 0 14px;
}
.opts{ display:grid; gap:12px; }
.opt{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:var(--tap);
  padding:11px 15px;
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,0.13);
  background:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
  cursor:pointer;
  transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.opt:hover{
  border-color:var(--greenBorder);
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(0,0,0,0.28);
}
.opt[aria-selected="true"]{
  border-color:var(--greenBorder);
  background:linear-gradient(145deg, rgba(66,223,170,0.4), rgba(18,53,87,0.9));
}
.opt span{ color:var(--faint); font-size:13px; font-weight:700; }
.setup-actions{ display:flex; gap:12px; margin-top:16px; }
.setup-actions .btn{ flex:1; }
.setup-footnote{
  margin:16px 2px 0;
  color:var(--faint);
  font-size:12px;
  line-height:1.55;
}

/* Footer */
.site-footer{
  border-top:1px solid rgba(255,255,255,0.12);
  padding:24px 0 32px;
  color:var(--muted);
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
}
.footer-inner{ display:flex; flex-direction:column; gap:16px; }
.footer-links{ display:flex; flex-wrap:wrap; gap:12px 16px; }
.footer-links a{
  color:var(--muted);
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  letter-spacing:-0.01em;
}
.footer-links a:hover{ color:var(--text); }
.footer-note{ font-size:12px; color:var(--faint); letter-spacing:0.02em; }
