:root{
  --sb-bg-0:#05060b;
  --sb-bg-1:#0b0d18;
  --sb-bg-2:#11142a;
  --sb-surface-0:rgba(255,255,255,.06);
  --sb-surface-1:rgba(255,255,255,.10);
  --sb-border:rgba(255,255,255,.12);

  --sb-text:#eef0ff;
  --sb-text-2:rgba(238,240,255,.78);
  --sb-text-3:rgba(238,240,255,.60);

  --sb-primary:#7a3cff;
  --sb-primary-2:#b06cff;
  --sb-primary-3:#3b2bff;

  --sb-accent:#b8ff3d;
  --sb-accent-2:#6dffb5;

  --sb-gold:#ffb020;
  --sb-danger:#ff3d6e;

  --sb-shadow:0 18px 60px rgba(0,0,0,.45);
  --sb-shadow-soft:0 10px 30px rgba(0,0,0,.30);
  --sb-radius-lg:18px;
  --sb-radius-md:14px;
  --sb-radius-sm:12px;

  --sb-grad-hero:radial-gradient(circle at top, rgba(122,60,255,.35) 0, rgba(17,20,42,.20) 35%, rgba(5,6,11,1) 70%);
  --sb-grad-primary:linear-gradient(135deg, var(--sb-primary) 0%, var(--sb-primary-2) 55%, var(--sb-primary-3) 100%);
  --sb-grad-accent:linear-gradient(135deg, var(--sb-accent) 0%, #d7ff7a 55%, #f6ffb3 100%);
}

html,body{
  background:var(--sb-bg-0);
  color:var(--sb-text);
}

a{
  color:inherit;
  text-decoration:none;
}

a:hover{
  color:var(--sb-accent);
}

::selection{
  background:rgba(122,60,255,.35);
}

.overlay{
  background:rgba(0,0,0,.55);
}

.header{
  background:rgba(5,6,11,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--sb-border);
}

.header .logo img{
  height:38px;
  width:auto;
  max-height:none;
  display:block;
}


.header-bottom-area{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-height:84px;
}

.logo{
  flex:0 0 auto;
}

nav[aria-label]{
  flex:1 1 auto;
  display:flex;
  justify-content:center;
}

.menu{
  margin:0;
  padding:0;
  list-style:none;
}

.menu > li{
  list-style:none;
  margin:0;
  padding:0;
}

.menu > li::marker{
  content:"";
}

.menu > li > a{
  color:var(--sb-text-2);
  font-weight:700;
  letter-spacing:.2px;
  padding:10px 12px;
  border-radius:999px;
  transition:color .2s ease, background .2s ease, opacity .2s ease, transform .15s ease;
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.menu > li > a:hover{
  color:var(--sb-accent);
  background:rgba(255,255,255,.06);
  transform:translateY(-1px);
}

.header-trigger span,
.header-trigger span::before,
.header-trigger span::after{
  background:var(--sb-text);
}

.fp-lang-switcher,
.fp-lang-switcher-inline{
  gap:.5rem;
}

.fp-lang-switcher{
  flex:0 0 auto;
  margin-left:auto;
}

.fp-lang-label{
  color:var(--sb-text-3);
  font-weight:800;
  letter-spacing:.25px;
}

.fp-lang-pills{
  display:inline-flex;
  gap:10px;
  padding:6px;
  border-radius:999px;
  border:1px solid rgba(122,60,255,.35);
  background:rgba(0,0,0,.28);
  box-shadow:0 10px 26px rgba(0,0,0,.35);
}

.fp-lang-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--sb-border);
  background:rgba(255,255,255,.04);
  color:var(--sb-text-2);
  font-weight:900;
  transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.fp-lang-pill:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.07);
  border-color:rgba(184,255,61,.30);
  color:var(--sb-text);
}

.fp-lang-pill.active{
  background:rgba(122,60,255,.22);
  border-color:rgba(122,60,255,.55);
  color:var(--sb-text);
  box-shadow:0 0 0 3px rgba(122,60,255,.18);
}

.fp-hero{
  background:var(--sb-grad-hero);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.fp-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(184,255,61,.25);
  background:rgba(184,255,61,.08);
  color:var(--sb-accent);
  font-weight:900;
  letter-spacing:.2px;
}

.fp-hero-title{
  color:var(--sb-text);
  text-shadow:0 20px 60px rgba(0,0,0,.35);
}

.fp-hero-sub{
  color:var(--sb-text-2);
  line-height:1.65;
}

.fp-tag-chip,
.fp-faq-chip{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid var(--sb-border);
  background:rgba(255,255,255,.05);
  color:var(--sb-text-2);
  font-weight:800;
}

.fp-tag-chip i,
.fp-faq-chip i{
  color:var(--sb-primary-2);
}

.fp-section{
  background:transparent;
}

.fp-section-contrast{
  background:linear-gradient(180deg, rgba(17,20,42,.55) 0%, rgba(5,6,11,1) 65%);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.fp-section-title{
  color:var(--sb-text);
}

.fp-section-desc{
  color:var(--sb-text-2);
}

.fp-card-tile,
.fp-gallery-card,
.fp-panel,
.fp-faq,
.fp-faq-grid aside{
  background:rgba(255,255,255,.05);
  border:1px solid var(--sb-border);
  border-radius:var(--sb-radius-lg);
  box-shadow:var(--sb-shadow-soft);
}

.fp-card-tile{
  overflow:hidden;
}

.fp-card-tile-img-wrapper img,
.fp-gallery-img-wrap img{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
}

.fp-card-tile-title,
.fp-gallery-title{
  color:var(--sb-text);
}

.fp-card-tile-text,
.fp-gallery-info{
  color:var(--sb-text-2);
  line-height:1.65;
}

.fp-panel h3{
  color:var(--sb-text);
}

.fp-step-list li{
  border-bottom:1px solid rgba(255,255,255,.08);
}

.fp-step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:rgba(122,60,255,.18);
  border:1px solid rgba(122,60,255,.35);
  color:var(--sb-text);
  font-weight:900;
}

.fp-do-dont{
  display:grid;
  gap:12px;
  margin-top:16px;
}

.fp-do,
.fp-dont{
  padding:14px 14px;
  border-radius:var(--sb-radius-md);
  border:1px solid var(--sb-border);
  background:rgba(255,255,255,.05);
  color:var(--sb-text-2);
}

.fp-do strong{
  color:var(--sb-accent);
}

.fp-dont strong{
  color:var(--sb-danger);
}

.fp-checklist li{
  display:flex;
  gap:12px;
  padding:14px 14px;
  border-radius:var(--sb-radius-md);
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.12);
}

.fp-check-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(184,255,61,.10);
  border:1px solid rgba(184,255,61,.25);
  color:var(--sb-accent);
  flex:0 0 auto;
}

.fp-checklist strong{
  color:var(--sb-text);
}

.fp-check-hint{
  color:var(--sb-text-2);
}

.cmn--btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:var(--sb-text);
  font-weight:900;
  letter-spacing:.2px;
  padding:12px 18px;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  box-shadow:0 10px 25px rgba(0,0,0,.20);
}

.cmn--btn:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.09);
  border-color:rgba(184,255,61,.30);
  color:var(--sb-text);
}

.cmn--btn.active{
  background:var(--sb-grad-accent);
  border-color:rgba(184,255,61,.50);
  color:#12131a;
  box-shadow:0 16px 45px rgba(184,255,61,.18);
}

.cmn--btn.btn--lg{
  padding:13px 22px;
  font-size:15px;
}

.footer-section{
  border-top:1px solid rgba(255,255,255,.06);
  background-color:var(--sb-bg-1);
}

.footer-links a{
  color:var(--sb-text-2);
  font-weight:800;
  transition:color .2s ease;
}

.footer-links a:hover{
  color:var(--sb-accent);
}

.footer-section .copyright{
  color:var(--sb-text-3);
}

.back-to-top{
  position:fixed;
  right:18px;
  bottom:18px;
  width:46px;
  height:46px;
  border-radius:16px;
  border:1px solid rgba(184,255,61,.30);
  background:rgba(5,6,11,.65);
  color:var(--sb-accent);
  box-shadow:var(--sb-shadow-soft);
  opacity:0;
  pointer-events:none;
  transform:translateY(6px);
  transition:opacity .2s ease, transform .2s ease, background .2s ease;
  z-index:999;
}

.back-to-top.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

.back-to-top:hover{
  background:rgba(122,60,255,.18);
}

@media (min-width: 992px){
  .menu{
    display:flex !important;
    flex-direction:row !important;
    align-items:center;
    justify-content:center;
    gap:18px;
  }

  .menu .btn-close{
    display:none !important;
  }

  .fp-lang-menu-item{
    display:none !important;
  }
}

@media (max-width: 991.98px){
  .header{
    background:rgba(5,6,11,.82);
  }

  nav[aria-label]{
    justify-content:flex-start;
  }

  .menu{
    list-style:none;
    padding-left:0;
  }

  .menu > li{
    list-style:none;
  }

  .fp-hero-kicker{
    border-color:rgba(184,255,61,.22);
  }
}

@media (prefers-reduced-motion: reduce){
  .cmn--btn,
  .fp-lang-pill,
  .menu > li > a,
  .back-to-top{
    transition:none;
  }
}

.header-bottom-area{
  min-height:64px;
  gap:14px;
}

.header .logo img{
  max-height:38px;
  height:auto;
}

.menu{
  gap:12px !important;
}

.menu > li > a{
  padding:8px 10px;
  font-size:14px;
  letter-spacing:.12px;
}

.fp-lang-pills{
  padding:4px;
  gap:8px;
}

.fp-lang-pill{
  min-width:40px;
  height:30px;
  padding:0 10px;
  font-size:13px;
}

.fp-lang-label{
  font-size:12px;
}

@media (max-width: 991.98px){
  .header-bottom-area{
    min-height:60px;
  }
}
.fp-hero-ctas .cmn--btn.active{
  background: linear-gradient(
    135deg,
    #6b46ff 0%,
    #8b5cff 45%,
    #4b2cff 100%
  );
  border: 1px solid rgba(139,92,255,.65);
  color: #ffffff;
  box-shadow:
    0 0 0 2px rgba(107,70,255,.20),
    0 14px 40px rgba(107,70,255,.35);
}

.fp-hero-ctas .cmn--btn.active:hover{
  background: linear-gradient(
    135deg,
    #7c5cff 0%,
    #9a6cff 45%,
    #5a3cff 100%
  );
  transform: translateY(-1px);
  box-shadow:
    0 0 0 3px rgba(107,70,255,.30),
    0 18px 48px rgba(107,70,255,.45);
}

.fp-hero-ctas .cmn--btn{
  text-transform: uppercase;
  letter-spacing: .4px;
}
.fp-hero .fp-hero-ctas a.cmn--btn.active{
  background: linear-gradient(135deg,#6b46ff 0%,#8b5cff 55%,#4526ff 100%) !important;
  color:#ffffff !important;
  border:1px solid rgba(139,92,255,.70) !important;
  box-shadow: 0 0 0 2px rgba(107,70,255,.22), 0 16px 48px rgba(107,70,255,.38) !important;
}

.fp-hero .fp-hero-ctas a.cmn--btn.active:hover{
  background: linear-gradient(135deg,#7a56ff 0%,#9a6cff 55%,#5638ff 100%) !important;
  color:#ffffff !important;
  border-color: rgba(154,108,255,.85) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 0 0 3px rgba(107,70,255,.30), 0 20px 56px rgba(107,70,255,.48) !important;
}

.fp-hero .fp-hero-ctas a.cmn--btn.active:focus{
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(107,70,255,.32), 0 18px 52px rgba(107,70,255,.42) !important;
}


/* The issue is simply not enough inner padding at the bottom of the text area.
   Force a bigger bottom padding inside the “body” blocks. */

.fp-gallery-body{
  padding: 18px 18px 40px !important; /* <<< increase bottom */
}

.fp-card-tile-body{
  padding: 18px 18px 40px !important; /* <<< increase bottom */
}

/* Make the last text line never sit on the border */
.fp-gallery-body .fp-gallery-info:last-of-type,
.fp-card-tile-body .fp-card-tile-text:last-of-type{
  margin-bottom: 22px !important;
}

/* If there is a button inside the body, keep air under it too */
.fp-gallery-body .cmn--btn:last-child,
.fp-card-tile-body .cmn--btn:last-child{
  margin-bottom: 10px !important;
}

.fp-faq,
.fp-faq-grid aside{
  padding: 36px 40px 56px !important;
}

.fp-faq .fp-section-title,
.fp-faq-grid aside .fp-section-title{
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}


.fp-faq p,
.fp-faq-grid aside p{
  line-height: 1.65;
  margin-bottom: 14px;
}

.fp-faq p:last-of-type,
.fp-faq-grid aside p:last-of-type{
  margin-bottom: 28px !important;
}


.fp-checklist li{
  padding: 16px 18px !important;
}


.fp-check-icon{
  margin-right: 14px;
}

