:root{
  --halo: 0 0 24px rgba(130,56,179,.45);
}

body{
  background:
    radial-gradient(900px 520px at 12% -8%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%),
    radial-gradient(700px 480px at 92% 4%, color-mix(in srgb, var(--accent-2) 12%, transparent), transparent 72%),
    linear-gradient(180deg, var(--bg), var(--bg));
  background-attachment: fixed;
}

.site-header{
  background: linear-gradient(180deg, color-mix(in srgb, var(--panel) 92%, transparent), color-mix(in srgb, var(--bg) 88%, transparent));
  border-bottom: 1px solid var(--line);
  backdrop-filter: saturate(140%) blur(10px);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--accent-2) 30%, transparent);
}

.nav-links a{
  color: var(--text-2);
  border-bottom: 1px solid transparent;
  transition: color .25s ease, border-color .25s ease;
}
.nav-links a:hover{ color: var(--text); border-bottom-color: var(--accent-2); }

h1,h2,h3{ letter-spacing: .03em; font-weight: 700; }
h1{ text-transform: none; }
h2{ letter-spacing: .035em; }

.hero{
  background:
    radial-gradient(760px 420px at 78% 12%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 70%),
    linear-gradient(160deg, var(--panel-2), var(--panel) 55%, var(--bg));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--accent-2) 26%, transparent), 0 30px 70px rgba(0,0,0,.45);
}
.hero-title{
  color: var(--text);
  letter-spacing: .04em;
  text-shadow: 0 1px 0 rgba(0,0,0,.35);
}
.hero-sub{ color: var(--prose); }

.fact{
  background: linear-gradient(180deg, var(--panel-2), var(--panel));
  border: 1px solid var(--line);
  border-bottom: 2px solid var(--accent-2);
  border-radius: calc(var(--radius) * .7);
  transition: box-shadow .3s ease, transform .3s ease;
}
.fact:hover{ box-shadow: var(--halo); transform: translateY(-2px); }
.fact b{ color: var(--accent-2); letter-spacing: .02em; }

.badge{
  background: color-mix(in srgb, var(--accent) 22%, transparent);
  border: 1px solid var(--line);
  border-left: 2px solid var(--accent-2);
  color: var(--text);
  border-radius: 999px;
}

.btn{
  border-radius: calc(var(--radius) * .6);
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: box-shadow .28s ease, transform .2s ease, background .28s ease, border-color .28s ease;
}
.btn-primary{
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 88%, white 6%), var(--accent));
  color: var(--on-accent);
  border: 1px solid color-mix(in srgb, var(--accent-2) 70%, transparent);
  border-bottom: 2px solid var(--accent-2);
}
.btn-primary:hover{ box-shadow: var(--halo); transform: translateY(-1px); }
.btn-ghost{
  background: transparent;
  color: var(--text);
  border: 1px solid var(--line);
}
.btn-ghost:hover{ border-color: var(--accent-2); box-shadow: var(--halo); }

.card,.feature{
  background: linear-gradient(180deg, var(--panel-2), var(--panel));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 14px 34px rgba(0,0,0,.35);
  transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease;
}
.card::after,.feature::after{
  content:"";
  display:block;
  height:2px;
  border-radius:2px;
  background: linear-gradient(90deg, var(--accent-2), transparent 70%);
  opacity:.75;
}
.card:hover,.feature:hover{
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  box-shadow: var(--halo), 0 18px 44px rgba(0,0,0,.45);
  transform: translateY(-3px);
}
.feature .icon{
  color: var(--accent-2);
  background: radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--accent) 55%, transparent), var(--panel-2));
  border: 1px solid var(--line);
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-2) 30%, transparent);
}

.tabs .tab{
  background: var(--panel);
  color: var(--text-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  letter-spacing: .05em;
  transition: all .25s ease;
}
.tabs .tab:hover{ color: var(--text); box-shadow: var(--halo); }
.tabs .tab.active{
  background: linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 70%, black));
  color: var(--on-accent);
  border-color: var(--accent-2);
}

.tile{
  background: linear-gradient(170deg, var(--panel-2), var(--panel));
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) * .8);
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(0,0,0,.32);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.tile:hover{ transform: translateY(-4px); border-color: var(--accent-2); box-shadow: var(--halo), 0 20px 40px rgba(0,0,0,.45); }
.tile .gp{ color: var(--accent-2); letter-spacing: .12em; text-transform: uppercase; }
.tile .nm{ color: var(--text); letter-spacing: .02em; }
.tile.noimg{
  background:
    repeating-linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, transparent) 0 10px, transparent 10px 20px),
    linear-gradient(160deg, var(--panel-2), var(--panel));
  border-bottom: 2px solid var(--accent-2);
}

.offer{
  background:
    radial-gradient(600px 240px at 85% 0%, color-mix(in srgb, var(--accent) 38%, transparent), transparent 70%),
    linear-gradient(120deg, var(--panel-2), var(--panel));
  border: 1px solid var(--line);
  border-left: 3px solid var(--accent-2);
  border-radius: var(--radius);
  box-shadow: 0 20px 48px rgba(0,0,0,.42);
}
.offer-badge{ color: var(--on-accent); background: var(--accent); border-radius: 999px; letter-spacing: .1em; text-transform: uppercase; }
.offer-amount{ color: var(--accent-2); letter-spacing: .03em; }

.chip{
  background: var(--panel);
  color: var(--text-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  transition: all .25s ease;
}
.chip:hover{ color: var(--text); border-color: var(--accent-2); box-shadow: var(--halo); }

.access{
  background: linear-gradient(180deg, var(--panel-2), var(--panel));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--accent-2) 22%, transparent);
  transition: box-shadow .3s ease;
}
.access:hover{ box-shadow: var(--halo); }
.access .icon{ color: var(--accent-2); }

.trust{ color: var(--text-2); border-top: 1px solid var(--line); }
.trust .t18{
  color: var(--accent-2);
  border: 1px solid var(--accent-2);
  border-radius: 50%;
}

.article{ color: var(--prose); }
.article h2{
  color: var(--text);
  border-bottom: 1px solid var(--line);
  padding-bottom: .35em;
}
.article h2::after{
  content:"";
  display:block;
  width:72px;
  height:2px;
  margin-top:.35em;
  background: var(--accent-2);
}
.article a{ color: var(--accent-2); text-decoration-color: color-mix(in srgb, var(--accent-2) 55%, transparent); }
.article a:hover{ color: var(--text); }
.article ul li::marker, .article ol li::marker{ color: var(--accent-2); }

.table{
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) * .6);
  overflow: hidden;
}
.table th{
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 34%, var(--panel-2)), var(--panel));
  color: var(--text);
  letter-spacing: .05em;
  border-bottom: 1px solid var(--accent-2);
}
.table td{ border-bottom: 1px solid var(--line); color: var(--prose); }
.table tr:hover td{ background: color-mix(in srgb, var(--accent) 12%, transparent); }

.faq-item{
  background: linear-gradient(180deg, var(--panel-2), var(--panel));
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) * .7);
  transition: border-color .3s ease, box-shadow .3s ease;
}
.faq-item:hover{ border-color: color-mix(in srgb, var(--accent) 50%, var(--line)); box-shadow: var(--halo); }
.faq-q{ color: var(--text); letter-spacing: .02em; }
.faq-a{ color: var(--prose); border-top: 1px solid var(--line); }

.site-footer{
  background: linear-gradient(180deg, var(--bg), color-mix(in srgb, var(--panel) 80%, var(--bg)));
  border-top: 1px solid var(--accent-2);
  color: var(--text-2);
}
.site-footer a{ color: var(--text-2); transition: color .25s ease; }
.site-footer a:hover{ color: var(--accent-2); }

.muted{ color: var(--text-2); }
::selection{ background: var(--accent); color: var(--on-accent); }