/* assets/css/styles.css */
html,body{height:100%}
body.no-body{
  background: radial-gradient(1100px 700px at 15% 10%, rgba(124,92,255,.20), transparent 55%),
              radial-gradient(1000px 650px at 85% 20%, rgba(36,214,209,.18), transparent 60%),
              radial-gradient(900px 700px at 50% 90%, rgba(255,92,154,.12), transparent 58%),
              var(--no-bg);
  color: var(--no-text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing: .1px;
}

a{color: rgba(255,255,255,.9)}
a:hover{color: #fff}
.no-muted{color: var(--no-muted) !important}

.no-topbar{
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}
.no-dot{
  width:10px;height:10px;border-radius:99px;
  background: var(--no-grad);
  box-shadow: 0 0 0 6px rgba(124,92,255,.10);
}
.no-toplink{
  text-decoration:none;
  color: rgba(255,255,255,.78);
}
.no-toplink:hover{color:#fff; text-decoration:underline}

.no-nav{
  background: rgba(7,10,18,.62);
  border-bottom: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(14px);
}
.navbar .nav-link{
  color: rgba(255,255,255,.78);
  padding: .55rem .75rem;
  border-radius: 999px;
}
.navbar .nav-link:hover{
  color: #fff;
  background: rgba(255,255,255,.06);
}
.navbar .nav-link.active{
  color: #fff;
  background: rgba(124,92,255,.16);
  border: 1px solid rgba(124,92,255,.22);
}
.no-mark{
  width:36px;height:36px;border-radius: 12px;
  display:grid;place-items:center;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--no-shadow-soft);
  color:#fff;
}
.no-mark svg{display:block}
.navbar-toggler{
  border: 1px solid rgba(255,255,255,.18) !important;
}
.navbar-toggler-icon{
  filter: invert(1) saturate(0) brightness(1.2);
}

/* Hero */
.no-hero{
  position: relative;
  overflow:hidden;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.no-hero-tight{padding-top:0}
.no-orb{
  position:absolute;
  width: 420px; height: 420px;
  border-radius: 999px;
  filter: blur(32px);
  opacity: .75;
  pointer-events:none;
}
.no-orb-a{left:-140px; top:-120px; background: radial-gradient(circle at 30% 30%, rgba(124,92,255,.55), transparent 60%)}
.no-orb-b{right:-160px; top:-90px; background: radial-gradient(circle at 35% 40%, rgba(36,214,209,.50), transparent 62%)}

.no-grid{
  position:absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at 50% 25%, rgba(0,0,0,1), rgba(0,0,0,0) 70%);
  opacity: .28;
  pointer-events:none;
}

.no-wave{
  position:absolute; left:0; right:0; bottom:-1px;
  width:100%; height: 90px;
  opacity: .55;
}
.no-wave path{
  fill: rgba(255,255,255,.04);
}

/* Sections & cards */
.no-section{position:relative}
.no-section-last{padding-bottom: 0}
.no-card{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--no-radius-lg);
  box-shadow: var(--no-shadow);
  padding: 1.25rem;
}
.no-card-wide{padding: 1.35rem}
.no-divider{
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
}
.no-bullets{padding-left: 1.1rem; margin-bottom:0}
.no-bullets li{margin: .4rem 0; color: var(--no-muted)}
.no-bullets li strong{color: rgba(255,255,255,.9)}

.no-side{
  border-radius: var(--no-radius-lg);
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow: var(--no-shadow-soft);
  position: sticky;
  top: 96px;
}
.no-chip{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.85);
  font-size: .85rem;
}
.no-sigil{
  width: 36px; height: 36px;
  display:grid; place-items:center;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.85);
}

.no-note{
  border-radius: 14px;
  padding: .75rem .85rem;
  background: rgba(255,184,107,.10);
  border: 1px solid rgba(255,184,107,.22);
  color: rgba(255,255,255,.85);
}

/* Pills/buttons */
.no-pill{border-radius: 999px !important}
.btn-primary{
  background: var(--no-grad) !important;
  border: 0 !important;
  box-shadow: 0 12px 26px rgba(124,92,255,.22);
}
.btn-primary:hover{
  filter: brightness(1.05);
}
.btn-outline-light{
  border-color: rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.88) !important;
}
.btn-outline-light:hover{
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.22) !important;
}

/* Thank you card */
.no-hero-card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--no-radius-lg);
  box-shadow: var(--no-shadow);
  padding: 1.35rem;
}
.no-mini-item{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: .85rem .9rem;
}
.no-mini-k{font-size:.85rem; color: var(--no-muted)}
.no-mini-v a{color:#fff; text-decoration: none}
.no-mini-v a:hover{text-decoration: underline}

/* Footer */
.no-footer{
  margin-top: 0;
  padding: 3.25rem 0 2.6rem;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
}

/* Slightly increase vertical spacing for section blocks site-wide */
[class*="-section"] {
  margin-top: 3.5rem;
}
.no-ftitle{
  font-weight: 600;
  margin-bottom: .6rem;
}
.no-flinks a{
  display:inline-block;
  padding: .18rem 0;
  text-decoration:none;
  color: rgba(255,255,255,.78);
}
.no-flinks a:hover{color:#fff; text-decoration: underline}
.no-footline{
  border-top: 1px dashed rgba(255,255,255,.14);
  padding-top: 1rem;
}

/* Forms (generic) */
.no-form .form-label{color: rgba(255,255,255,.85)}
.no-form .form-control,
.no-form .form-select{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
  border-radius: 14px;
}
.no-form .form-control:focus,
.no-form .form-select:focus{
  border-color: rgba(124,92,255,.42);
  box-shadow: 0 0 0 .2rem rgba(124,92,255,.16);
}
.no-form .form-text{color: rgba(255,255,255,.62)}
.no-inline-success{
  display:none;
  margin-top: .75rem;
  border-radius: 14px;
  padding: .75rem .85rem;
  background: rgba(91,227,125,.10);
  border: 1px solid rgba(91,227,125,.22);
  color: rgba(255,255,255,.88);
}
.no-inline-error{
  display:none;
  margin-top: .75rem;
  border-radius: 14px;
  padding: .75rem .85rem;
  background: rgba(255,92,154,.10);
  border: 1px solid rgba(255,92,154,.22);
  color: rgba(255,255,255,.88);
}

/* Small tweaks */
.lead{color: rgba(255,255,255,.78)}
@media (max-width: 991.98px){
  .no-side{position: static}
  .no-orb{width: 340px; height: 340px}
}
