:root{
  --primary:#1B1A3A;
  --accent1:#FF4FD8;
  --accent2:#3AF2C8;
  --warm:#FFB020;
  --bg:#0B0F1A;
  --surface:#141A2A;
  --text:#EAF0FF;
  --muted:#9AA7C7;
  --border:rgba(234,240,255,.14);
  --glass:rgba(20,26,42,.62);
  --glass2:rgba(27,26,58,.18);
  --shadow:0 18px 60px rgba(0,0,0,.45);
  --radius:18px;
  --radius2:26px;
  --container:1120px;
  --focus:0 0 0 3px rgba(58,242,200,.22), 0 0 0 7px rgba(255,79,216,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(900px 500px at 15% 10%, rgba(255,79,216,.14), transparent 55%),
    radial-gradient(780px 420px at 85% 20%, rgba(58,242,200,.12), transparent 55%),
    radial-gradient(900px 550px at 55% 92%, rgba(255,176,32,.10), transparent 60%),
    linear-gradient(180deg, rgba(20,26,42,.30), transparent 28%),
    var(--bg);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  line-height:1.55;
}

img{max-width:100%; height:auto; display:block}
a{color:inherit}

.container{
  width:min(var(--container), calc(100% - 2rem));
  margin-inline:auto;
}

.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  left:1rem; top:1rem; width:auto; height:auto;
  background:rgba(11,15,26,.9);
  border:1px solid var(--border);
  padding:.65rem .85rem;
  border-radius:12px;
  z-index:9999;
  box-shadow:var(--shadow);
}

.site-header{
  position:sticky;
  top:0;
  z-index:120;
  backdrop-filter: blur(10px);
  background:linear-gradient(180deg, rgba(11,15,26,.82), rgba(11,15,26,.58));
  border-bottom:1px solid rgba(234,240,255,.10);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.9rem 0;
}

.brand{
  display:flex;
  align-items:center;
  gap:.75rem;
  text-decoration:none;
}
.brand-mark{
  width:44px;
  height:44px;
  border-radius:16px;
  background:
    radial-gradient(18px 18px at 35% 30%, rgba(58,242,200,.65), transparent 55%),
    radial-gradient(18px 18px at 70% 70%, rgba(255,79,216,.55), transparent 58%),
    linear-gradient(135deg, rgba(27,26,58,.85), rgba(20,26,42,.55));
  border:1px solid rgba(234,240,255,.16);
  box-shadow: 0 14px 38px rgba(0,0,0,.35);
}
.brand-name{
  font-weight:800;
  letter-spacing:.08em;
  text-transform:lowercase;
  font-size:1.05rem;
}
.brand-sub{
  display:block;
  font-size:.82rem;
  letter-spacing:.02em;
  color:var(--muted);
  margin-top:-.18rem;
}

.nav{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.nav a{
  text-decoration:none;
  padding:.55rem .75rem;
  border-radius:999px;
  border:1px solid transparent;
  color:rgba(234,240,255,.92);
  transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
  font-weight:600;
  font-size:.95rem;
}
.nav a:hover{
  background:rgba(20,26,42,.62);
  border-color:rgba(234,240,255,.12);
  transform: translateY(-1px);
}
.nav a:focus-visible{outline:none; box-shadow:var(--focus)}
.nav .cta-link{
  background:linear-gradient(135deg, rgba(255,79,216,.18), rgba(58,242,200,.12));
  border-color:rgba(234,240,255,.14);
}
.nav .cta-link:hover{
  background:linear-gradient(135deg, rgba(255,79,216,.24), rgba(58,242,200,.16));
}

main{padding:0 0 3rem}

.section{
  position:relative;
  padding:4rem 0;
}
.section.tight{padding:3rem 0}
.section::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:44px;
  background:linear-gradient(135deg, rgba(58,242,200,.14), rgba(255,79,216,.10));
  clip-path: polygon(0 0, 100% 0, 100% 25%, 0 100%);
  opacity:.75;
  pointer-events:none;
}
.section::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:36px;
  background:linear-gradient(225deg, rgba(255,176,32,.10), rgba(27,26,58,.10));
  clip-path: polygon(0 75%, 100% 0, 100% 100%, 0 100%);
  opacity:.7;
  pointer-events:none;
}
.section.no-sep::before,
.section.no-sep::after{display:none}

.kicker{
  color:var(--muted);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  font-size:.8rem;
  margin:0 0 .65rem;
}
h1,h2,h3{line-height:1.15; margin:0 0 1rem}
h1{
  font-size: clamp(2.0rem, 2.7vw, 3.1rem);
  letter-spacing:-.02em;
}
h2{
  font-size: clamp(1.6rem, 2.0vw, 2.1rem);
  letter-spacing:-.01em;
}
h3{
  font-size:1.1rem;
  letter-spacing:-.01em;
}
p{margin:.75rem 0; color:rgba(234,240,255,.90)}
.muted{color:var(--muted)}

.grid{
  display:grid;
  gap:1rem;
}
.grid.two{grid-template-columns:1fr}
.grid.three{grid-template-columns:1fr}

.glass-card{
  position:relative;
  border-radius:var(--radius);
  padding:1.1rem;
  border:1px solid var(--border);
  background: linear-gradient(180deg, var(--glass), rgba(20,26,42,.44));
  box-shadow: var(--shadow);
  overflow:hidden;
  transform: translateZ(0);
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.glass-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(300px 180px at 10% 0%, rgba(255,79,216,.18), transparent 65%),
    radial-gradient(260px 200px at 90% 20%, rgba(58,242,200,.14), transparent 64%),
    linear-gradient(135deg, rgba(234,240,255,.06), transparent 60%);
  opacity:.85;
  pointer-events:none;
}
.glass-card > *{position:relative}
.glass-card:hover{
  transform: translateY(-2px);
  border-color:rgba(234,240,255,.20);
  background: linear-gradient(180deg, rgba(20,26,42,.70), rgba(20,26,42,.48));
}
.glass-card:focus-within{box-shadow:var(--shadow), var(--focus)}

.pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .7rem;
  border-radius:999px;
  border:1px solid rgba(234,240,255,.14);
  background:linear-gradient(135deg, rgba(27,26,58,.30), rgba(20,26,42,.46));
  color:rgba(234,240,255,.92);
  font-weight:700;
  font-size:.85rem;
}
.dot{
  width:9px; height:9px; border-radius:99px;
  background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.9), rgba(255,255,255,0) 45%),
    linear-gradient(135deg, var(--accent2), var(--accent1));
  box-shadow: 0 0 0 4px rgba(58,242,200,.08);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding:.85rem 1.1rem;
  border-radius:999px;
  border:1px solid rgba(234,240,255,.16);
  background: linear-gradient(135deg, rgba(255,79,216,.22), rgba(58,242,200,.14));
  color:var(--text);
  text-decoration:none;
  font-weight:800;
  letter-spacing:.01em;
  cursor:pointer;
  font: inherit;
  appearance:none;
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.btn::-moz-focus-inner{border:0; padding:0}
.btn:hover{
  transform: translateY(-1px);
  background: linear-gradient(135deg, rgba(255,79,216,.28), rgba(58,242,200,.18));
}
.btn:focus-visible{outline:none; box-shadow:var(--focus)}
.btn.secondary{
  background: linear-gradient(135deg, rgba(27,26,58,.35), rgba(20,26,42,.52));
}
.btn.secondary:hover{
  background: linear-gradient(135deg, rgba(27,26,58,.45), rgba(20,26,42,.62));
}

.hero{
  padding:4.2rem 0 3.2rem;
}
.hero .hero-inner{
  display:grid;
  gap:1.2rem;
  grid-template-columns:1fr;
  align-items:center;
}
.hero .hero-media{
  border-radius:var(--radius2);
  border:1px solid rgba(234,240,255,.14);
  background:
    linear-gradient(135deg, rgba(255,79,216,.12), rgba(58,242,200,.08)),
    rgba(20,26,42,.55);
  box-shadow: var(--shadow);
  overflow:hidden;
  position:relative;
}
.hero .hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(11,15,26,.10), rgba(11,15,26,.65));
  pointer-events:none;
}
.hero .hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  aspect-ratio: 16 / 10;
  filter:saturate(1.08) contrast(1.02);
  transform: scale(1.02);
  transition: transform .7s ease;
}
.hero .hero-media:hover img{transform: scale(1.06)}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.25rem;
}
.hero-note{
  margin-top:1.1rem;
  color:var(--muted);
  font-size:.95rem;
  max-width:62ch;
}
.hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin:1rem 0 0;
}

.feature{
  display:flex;
  gap:.9rem;
  align-items:flex-start;
}
.icon{
  width:44px; height:44px;
  flex:0 0 auto;
  border-radius:16px;
  border:1px solid rgba(234,240,255,.14);
  background:
    radial-gradient(22px 16px at 30% 20%, rgba(58,242,200,.35), transparent 60%),
    radial-gradient(20px 16px at 80% 70%, rgba(255,79,216,.30), transparent 62%),
    linear-gradient(135deg, rgba(27,26,58,.70), rgba(20,26,42,.52));
  box-shadow: 0 16px 36px rgba(0,0,0,.35);
}

.list{
  padding-left:1.1rem;
  margin:.65rem 0 0;
}
.list li{margin:.35rem 0; color:rgba(234,240,255,.90)}

.table-like{
  display:grid;
  gap:1rem;
}
.price{
  display:flex;
  align-items:baseline;
  gap:.55rem;
}
.price strong{font-size:1.6rem; letter-spacing:-.02em}
.price span{color:var(--muted)}

.badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .65rem;
  border-radius:999px;
  border:1px solid rgba(234,240,255,.14);
  background: rgba(20,26,42,.56);
  color:rgba(234,240,255,.92);
  font-weight:700;
  font-size:.85rem;
}
.badge.warm{
  background: linear-gradient(135deg, rgba(255,176,32,.14), rgba(20,26,42,.52));
}

.steps{
  counter-reset: step;
  display:grid;
  gap:1rem;
}
.step{
  position:relative;
  padding-left:3.4rem;
}
.step::before{
  counter-increment: step;
  content: counter(step);
  position:absolute;
  left:.9rem; top:.9rem;
  width:34px; height:34px;
  border-radius:14px;
  display:grid;
  place-items:center;
  border:1px solid rgba(234,240,255,.16);
  background: linear-gradient(135deg, rgba(255,79,216,.18), rgba(58,242,200,.12));
  font-weight:900;
}

.quote{
  font-size:1rem;
  color:rgba(234,240,255,.92);
}
.quote small{
  display:block;
  margin-top:.7rem;
  color:var(--muted);
}

details{
  border:1px solid rgba(234,240,255,.14);
  border-radius:var(--radius);
  background: linear-gradient(180deg, rgba(20,26,42,.58), rgba(20,26,42,.42));
  overflow:hidden;
}
details + details{margin-top:.8rem}
summary{
  list-style:none;
  padding:1rem 1.05rem;
  cursor:pointer;
  font-weight:800;
  letter-spacing:-.01em;
}
summary::-webkit-details-marker{display:none}
details[open] summary{
  border-bottom:1px solid rgba(234,240,255,.12);
  background: rgba(20,26,42,.64);
}
.details-body{padding:1rem 1.05rem}

.form-shell{
  position:relative;
  border-radius:var(--radius2);
  border:1px solid rgba(234,240,255,.16);
  background:
    radial-gradient(380px 230px at 12% 0%, rgba(255,79,216,.16), transparent 60%),
    radial-gradient(340px 220px at 95% 15%, rgba(58,242,200,.14), transparent 62%),
    linear-gradient(180deg, rgba(20,26,42,.74), rgba(20,26,42,.46));
  box-shadow: var(--shadow);
  overflow:hidden;
}
.form-shell::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    linear-gradient(135deg, rgba(234,240,255,.08), transparent 55%),
    radial-gradient(500px 260px at 50% 100%, rgba(255,176,32,.10), transparent 60%);
  pointer-events:none;
}
.form-inner{position:relative; padding:1.3rem}

form{display:grid; gap:.85rem}
.field{
  display:grid;
  gap:.35rem;
}
label{font-weight:800; color:rgba(234,240,255,.92)}
input, select, textarea{
  width:100%;
  padding:.85rem .9rem;
  border-radius:14px;
  border:1px solid rgba(234,240,255,.16);
  background: rgba(11,15,26,.48);
  color:var(--text);
  outline:none;
  transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
textarea{min-height:120px; resize:vertical}
input::placeholder, textarea::placeholder{color:rgba(154,167,199,.72)}
input:focus, select:focus, textarea:focus{
  border-color: rgba(58,242,200,.28);
  box-shadow: var(--focus);
}
.field-row{
  display:grid;
  gap:.85rem;
  grid-template-columns:1fr;
}

.choice{
  display:grid;
  gap:.55rem;
  padding:.85rem;
  border-radius:16px;
  border:1px solid rgba(234,240,255,.14);
  background: linear-gradient(135deg, rgba(27,26,58,.22), rgba(11,15,26,.35));
}
.choice .choice-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  font-weight:900;
}
.choice .choice-meta{color:var(--muted); font-size:.95rem; margin:.25rem 0 0}
.radio-grid{
  display:grid;
  gap:.8rem;
}
.radio{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  padding:.85rem;
  border-radius:16px;
  border:1px solid rgba(234,240,255,.14);
  background: rgba(11,15,26,.35);
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.radio:hover{
  transform: translateY(-1px);
  border-color: rgba(234,240,255,.20);
  background: rgba(11,15,26,.44);
}
.radio input{width:auto; margin-top:.2rem}
.checks{
  display:grid;
  gap:.6rem;
}
.check{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  font-weight:650;
  color:rgba(234,240,255,.92);
}
.check input{margin-top:.2rem; width:auto}
.fineprint{
  margin-top:.35rem;
  font-size:.9rem;
  color:var(--muted);
}

.site-footer{
  border-top:1px solid rgba(234,240,255,.10);
  background: linear-gradient(180deg, rgba(20,26,42,.35), rgba(11,15,26,.75));
}
.footer-inner{
  padding:2.4rem 0;
  display:grid;
  gap:1.3rem;
}
.footer-grid{
  display:grid;
  gap:1.1rem;
  grid-template-columns:1fr;
}
.footer-title{
  font-weight:900;
  margin:0 0 .55rem;
}
.footer-links a{
  display:inline-block;
  padding:.25rem 0;
  text-decoration:none;
  color:rgba(234,240,255,.90);
}
.footer-links a:hover{text-decoration:underline}
.tiny{font-size:.9rem; color:var(--muted)}

.cookie-banner{
  position:fixed;
  inset:auto 1rem 1rem 1rem;
  z-index:300;
  opacity:0;
  transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events:none;
}
.cookie-banner.is-visible{
  opacity:1;
  transform: translateY(0);
  pointer-events:auto;
}
.cookie-card{
  border-radius:22px;
  border:1px solid rgba(234,240,255,.16);
  background: linear-gradient(180deg, rgba(20,26,42,.84), rgba(11,15,26,.76));
  box-shadow: var(--shadow);
  padding:1rem 1.05rem;
  display:grid;
  gap:.85rem;
}
.cookie-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  align-items:center;
}

@media (min-width: 720px){
  .grid.two{grid-template-columns:1.2fr .8fr}
  .grid.three{grid-template-columns:repeat(3, 1fr)}
  .hero .hero-inner{grid-template-columns:1.15fr .85fr}
  .field-row{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1.15fr .85fr .8fr}
  .cookie-banner{inset:auto auto 1.25rem 1.25rem; max-width:560px}
  .steps{grid-template-columns:repeat(2, 1fr)}
}

@media (max-width: 719px){
  .header-inner{padding:.65rem 0}
  .brand-mark{width:38px; height:38px; border-radius:14px}
  .brand-name{font-size:1.0rem}
  .brand-sub{font-size:.78rem}
  .nav{gap:.45rem}
  .nav a{padding:.45rem .6rem; font-size:.92rem}
}

@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto}
  .glass-card, .nav a, .btn, .hero .hero-media img, .radio{transition:none !important}
  .cookie-banner{transition:none !important}
}


