:root{
  --bg0:#090807;
  --bg1:#141115;
  --fg:#F8F4EA;
  --muted:rgba(248,244,234,.78);
  --dim:rgba(248,244,234,.56);

  --gold:#C9A24A;
  --gold2:#9B7A2D;
  --violet:#796B8C;

  --glass: rgba(255,255,255,.06);
  --glass2: rgba(255,255,255,.09);
  --stroke: rgba(255,255,255,.10);
  --stroke2: rgba(255,255,255,.14);

  --shadow: 0 18px 70px rgba(0,0,0,.45);
  --shadow2: 0 10px 40px rgba(0,0,0,.35);

  --radius: 10px;
  --radius2: 8px;

  --container: 1120px;

  --ease: cubic-bezier(.2,.8,.2,1);
}

*{ box-sizing:border-box; }
html,body{
  min-height:100%;
  background: var(--bg1);
}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  background: radial-gradient(1000px 640px at 18% 6%, rgba(121,107,140,.13), transparent 62%),
              radial-gradient(980px 620px at 78% 0%, rgba(201,162,74,.13), transparent 58%),
              linear-gradient(180deg, var(--bg0), var(--bg1));
  color: var(--fg);
  overflow-x:hidden;
  padding-top: 72px;
}

#gd3d {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: opacity .35s var(--ease);
}

body.is-hero #gd3d {
  opacity: 1; 
}

body:not(.is-hero) #gd3d {
  opacity: 0; 
}

/* 3D */
header, main, footer{
  position: relative;
  z-index: 1;
}

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

a:hover { 
  opacity:.92; 
}

.container {
  width: min(var(--container), calc(100% - 40px));
  margin: 0 auto;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 10000;
  transform: translateY(-140%);
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--fg);
  color: #111;
  font-weight: 750;
  box-shadow: 0 14px 36px rgba(0,0,0,.28);
}

.skip-link:focus {
  transform: translateY(0);
}

:focus-visible {
  outline: 3px solid rgba(201,162,74,.92);
  outline-offset: 3px;
}

.bg-noise {
  position: fixed; 
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
  opacity: .25;
}

.topbar {
  position: fixed;
  top: 0; 
  left: 0; 
  right: 0;
  z-index: 999;
  background: rgba(9,8,7,.72);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  gap: 14px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  user-select: none;
  text-decoration: none;
}

.brand__logo {
  height: 48px;
  width: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.45)); 
}

@media (max-width: 900px) {
  .brand__logo {
    height: 46px;
  }
}

@media (max-width: 520px){
  .brand__logo { 
  height: 44px;
  width: auto; 
  display: block;
  }

  .brand__text { 
  font-size: 0.98rem; 
}
} 

.nav {
  display: flex;
  align-items: center;
  gap: 14px;
  color: rgba(248,244,234,.78);
  font-size: 14px;
}

.nav a { 
  padding: 8px 10px; 
  border-radius: 10px; 
}
.nav a:hover { 
  background: rgba(255,255,255,.06); 
}

.nav__cta {
  border: 1px solid rgba(201,162,74,.30);
  background: rgba(201,162,74,.06);
  color: rgba(248,244,234,.92);
}

.lang {
  display: flex; gap:8px;
  padding: 6px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
}

.lang__btn {
  appearance: none;
  border: 0;
  cursor: pointer;
  padding: 7px 10px;
  border-radius: var(--radius2);
  background: transparent;
  color: rgba(248,244,234,.78);
  font-weight: 650;
  font-size: 12px;
}

.lang__btn[aria-pressed="true"] {
  background: linear-gradient(135deg, rgba(201,162,74,.18), rgba(121,107,140,.12));
  color: rgba(248,244,234,.95);
  border: 1px solid rgba(255,255,255,.10);
}

.hero {
  position: relative;
  min-height: min(860px, calc(100svh - 72px));
  padding: 0 0 28px;
  overflow: hidden;
  isolation: isolate;
}

.hero__stage {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.hero__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.hero__glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(820px 460px at 76% 50%, rgba(201,162,74,.18), transparent 68%),
    radial-gradient(820px 520px at 55% 42%, rgba(121,107,140,.13), transparent 66%),
    linear-gradient(90deg, rgba(9,8,7,.98) 0%, rgba(9,8,7,.88) 40%, rgba(9,8,7,.30) 66%, rgba(9,8,7,.74) 100%);
}

.hero__floor {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 42%;
  background:
    radial-gradient(780px 170px at 70% 52%, rgba(248,244,234,.18), transparent 72%),
    linear-gradient(180deg, transparent, rgba(9,8,7,.90) 84%);
  opacity: .92;
}

.hero__gridlines {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(780px 520px at 72% 46%, rgba(0,0,0,.76), transparent 74%);
  opacity: .07;
}

.hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(410px, .78fr) minmax(590px, 1.22fr);
  gap: 28px;
  align-items: center;
  min-height: min(800px, calc(100svh - 72px));
  padding: 42px 0 96px;
}

.hero__copy { 
  max-width: 590px;
  padding: 8px 0 14px;
}

.hero__visual {
  min-height: 520px;
}

.kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: rgba(201,162,74,.95);
  font-weight: 800;
}

.kicker::before {
  content: "";
  width: 26px;
  height: 1px;
  background: linear-gradient(90deg, rgba(201,162,74,.0), rgba(201,162,74,.9));
  opacity: .9;
}

.h1 {
  margin: 12px 0 10px;
  font-size: 54px;
  line-height: 1.02;
  letter-spacing: 0;
  text-shadow: 0 18px 60px rgba(0,0,0,.55);
}

.lead {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
  max-width: 56ch;
}

.hero__bullets {
  list-style: none;
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  max-width: 560px;
}

.hero__bullets li {
  position: relative;
  padding-left: 18px;
  color: rgba(248,244,234,.86);
  font-size: 14px;
  line-height: 1.45;
}

.hero__bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 9px;
  height: 2px;
  border-radius: 1px;
  background: rgba(201,162,74,.92);
  box-shadow: 0 0 18px rgba(201,162,74,.34);
}

.bullets {
  list-style: none;
  padding: 0;
  margin: 16px 0 16px;
  display: grid;
  gap: 10px;
}

.bullets li {
  position: relative;
  padding-left: 20px;
  color: rgba(248,244,234,.88);
  line-height: 1.45;
}

.bullets li::before { 
  content: "";
  position: absolute;
  left: 0; 
  top: .55em;
  width: 8px; 
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(201,162,74,.9), rgba(121,107,140,.7));
  box-shadow: 0 0 0 4px rgba(201,162,74,.08);
}

.actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 22px 0 10px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  color: rgba(248,244,234,.92);
  cursor: pointer;
  transition: transform .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);
  box-shadow: 0 16px 60px rgba(0,0,0,.30);
  font-weight: 650;
}

.btn:hover { 
  transform: translateY(-1px); 
  border-color: rgba(255,255,255,.18); 
}

.btn:active { 
  transform: translateY(0px) scale(.99); 
}

.btn--primary {
  background: linear-gradient(135deg, rgba(201,162,74,.34), rgba(121,107,140,.16));
  border-color: rgba(201,162,74,.34);
}

.btn--ghost {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.10);
}

.btn--full { 
  width:100%; 
}

.fine {
  font-size: 13px;
  color: rgba(248,244,234,.60);
}

.hero__metrics {
  margin: 22px 0 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  max-width: 520px;
}

.hero-metric {
  min-height: 72px;
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 12px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.055);
  backdrop-filter: blur(12px);
}

.hero-metric__k {
  color: rgba(248,244,234,.62);
  font-size: 12px;
  line-height: 1.2;
}

.hero-metric__v {
  color: rgba(248,244,234,.95);
  font-size: 18px;
  line-height: 1;
}

.hero__proof {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: -82px;
  padding-bottom: 18px;
}

.proof-item {
  min-height: 68px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.11);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.045));
  backdrop-filter: blur(16px);
  box-shadow: 0 14px 44px rgba(0,0,0,.28);
}

.proof-item__index {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: var(--radius);
  color: rgba(201,162,74,.96);
  border: 1px solid rgba(201,162,74,.26);
  background: rgba(201,162,74,.08);
  font-weight: 850;
}

.proof-item__text {
  color: rgba(248,244,234,.86);
  font-weight: 720;
  line-height: 1.25;
}

.section {
  padding: 64px 0;
  position: relative;
}

.section::before {
  content: "";
  position: absolute;
  left: 0; 
  right: 0; 
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
}

.section__head {
  max-width: 860px;
  margin-bottom: 18px;
}

.h2 {
  margin: 10px 0 10px;
  font-size: 34px;
  letter-spacing: 0;
  line-height: 1.12;
}

.p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.grid {
  display: grid;
  gap: 16px;
}

.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--equal { align-items: stretch; }
.grid--equal > .card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.card {
  padding: 20px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow2);
}

.card--dark {
  background: rgba(18,16,18,.56);
  border-color: rgba(255,255,255,.10);
}

.card__title {
  font-weight: 850;
  letter-spacing: 0;
  margin-bottom: 10px;
}

.card__actions {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.divider {
  height: 1px;
  margin: 14px 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}

.feature{
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.feature:last-child { 
  border-bottom: 0; 
}

.feature__t {
  font-weight: 760;
  margin-bottom: 6px;
}

.feature__p {
  color: var(--muted);
  line-height: 1.55;
}

.steps { 
  display: grid; 
  gap: 10px; 
}

.step {
  display: grid;
  grid-template-columns: 44px 1fr;
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 4px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.step:last-child { 
  border-bottom: 0; 
}

.step__n {
  grid-row: span 2;
  width: 38px; 
  height: 38px;
  border-radius: var(--radius);
  display: grid; 
  place-items: center;
  font-weight: 900;
  color: rgba(201,162,74,.95);
  background: rgba(201,162,74,.06);
  border: 1px solid rgba(201,162,74,.22);
}

.step__t { 
  font-weight: 780; 
}

.step__p { 
  color: var(--muted); 
  line-height: 1.55; 
}

.bullets--compact { 
  gap: 8px;
  margin-top: 10px; 
}

.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 28px;
  border-radius: 999px;
  font-weight: 900;
  color: rgba(201,162,74,.95);
  border: 1px solid rgba(201,162,74,.25);
  background: rgba(201,162,74,.05);
  margin-bottom: 8px;
}

.cta-wide {
  margin-top: 16px;
  padding: 18px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(135deg, rgba(201,162,74,.10), rgba(121,107,140,.08));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-shadow: var(--shadow2);
}

.cta-wide__text {
  color: rgba(248,244,234,.90);
  line-height: 1.5;
}

.faq {
  display: grid;
  gap: 10px;
}

.faq__item {
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  overflow: hidden;
}

.faq__item summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 18px;
  font-weight: 780;
}

.faq__item summary::-webkit-details-marker { 
  display: none; 
}

.faq__a {
  padding: 0 18px 16px;
  color: var(--muted);
  line-height: 1.6;
}

.note {
  margin-top: 8px;
  padding: 12px 14px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  color: rgba(248,244,234,.70);
  line-height: 1.55;
}

.note--small {
  font-size: 13px;
  margin-top: 10px;
}

.form { display: grid; 
  gap: 12px; 
}

.field { 
  display: grid; 
  gap: 7px; 
}

.field__l { 
  font-size: 13px; 
  color: rgba(248,244,234,.72); 
  font-weight: 650; 
}

.field__i, .field__t {
  width: 100%;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(248,244,234,.92);
  padding: 12px 14px;
  outline: none;
}

.field__i:focus, .field__t:focus {
  border-color: rgba(201,162,74,.28);
  box-shadow: 0 0 0 6px rgba(201,162,74,.08);
}

.form__toast {
  margin-top: 8px;
  min-height: 18px;
  font-size: 13px;
  color: rgba(248,244,234,.72);
}

.links { 
  display: grid; 
  gap: 10px; 
}

.links a {
  padding: 10px 12px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

.links a:hover { 
  border-color: rgba(255,255,255,.14); 
}

.footer {
  padding: 26px 0 40px;
  border-top: 1px solid rgba(255,255,255,.06);
  background: rgba(9,8,7,.42);
}

.footer__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.footer__right { 
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: rgba(248,244,234,.72);
  font-size: 14px;
}
.brand--footer .brand__mark { 
  width: 30px; 
  height: 30px; 
  border-radius: var(--radius); 
}

[data-reveal] {
  transform: translateY(18px);
  opacity: 0;
  transition: transform .9s var(--ease), opacity .9s var(--ease);
  will-change: transform, opacity;
}

[data-reveal].is-in {
  transform: translateY(0px);
  opacity: 1;
}


@media (prefers-reduced-motion: reduce) {
  *{ scroll-behavior: auto !important; 
    transition: none !important; 
    animation: none !important; }
}


/* hamburger button */
.nav__toggle {
  display: none;
  appearance: none;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(12px);
  border-radius: var(--radius);
  padding: 10px;
  cursor: pointer;
}

/* ===== Responsive layout ===== */
@media (max-width: 980px) {
  body { padding-top: 66px; }

  .hero {
    min-height: 0;
    padding: 0 0 28px;
  }

  .hero__stage {
    position: relative;
    height: 44svh;
    min-height: 310px;
    max-height: 460px;
  }

  .hero__glow {
    background:
      radial-gradient(460px 300px at 50% 48%, rgba(201,162,74,.20), transparent 70%),
      linear-gradient(180deg, rgba(9,8,7,.10), rgba(9,8,7,.72));
  }

  .hero__floor {
    height: 58%;
  }

  .hero__grid {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 18px 0 20px;
  }

  .hero__copy {
    max-width: 100%;
  }

  .hero__visual {
    display: none;
  }

  .h1 {
    font-size: 50px;
  }

  .hero__proof {
    grid-template-columns: 1fr;
    margin-top: 0;
  }

  .grid--2 { grid-template-columns: 1fr; }
  .grid--3 { grid-template-columns: 1fr; }

  /* CTA wide: stack */
  .cta-wide { 
  flex-direction: column; 
  align-items: flex-start; }
}

.nav__toggleBar {
  display: block;
  width: 18px;
  height: 2px;
  background: rgba(248,244,234,.85);
  border-radius: 2px;
}

.nav__toggleBar + .nav__toggleBar { 
  margin-top: 4px; 
}

/* language i18n.js) */
.lang { 
  position: relative; 
}

.lang__toggle {
  display: none; 
  appearance: none;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  color: rgba(248,244,234,.92);
  font-weight: 750;
  font-size: 12px;
  border-radius: 12px;
  padding: 9px 12px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

.lang__chev { 
  margin-left: 8px; 
  opacity: .9; 
}

.lang__menu {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 120px;
  padding: 8px;
  border-radius: var(--radius);
  background: rgba(9,8,7,.88);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
  z-index: 1000;
}

.lang__item {
  width: 100%;
  text-align: left;
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(248,244,234,.86);
  padding: 10px 10px;
  border-radius: var(--radius2);
  cursor: pointer;
  font-weight: 650;
  font-size: 12px;
}

.lang__item:hover { 
  background: rgba(255,255,255,.06); 
}

.lang.is-open .lang__menu { 
  display:block; 
}

@media (max-width: 980px) {
  .nav__toggle {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
  }

  .nav {
    position: fixed;
    top: 66px;
    left: 12px;
    right: 12px;
    display: none;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border-radius: var(--radius);
    background: rgba(9,8,7,.86);
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
    box-shadow: 0 18px 60px rgba(0,0,0,.45);
    z-index: 998;
  }

  .nav a {  
    width: 100%; 
    padding: 12px 12px; 
    border-radius: var(--radius); 
  }

  .nav .nav__cta { 
    text-align: center; 
  }

  .topbar.is-menu-open .nav { 
    display: flex; 
  }

  .lang__toggle { 
    display: inline-flex; 
  }

  .lang__btn { 
    display: none; 
  }

  .topbar__inner {
   gap: 10px; 
  }
}

@media (max-width: 620px) {
  .container {
    width: min(var(--container), calc(100% - 28px));
  }

  .hero__stage {
    height: 32svh;
    min-height: 248px;
    max-height: 310px;
  }

  .h1 {
    font-size: 34px;
  }

  .h2 {
    font-size: 28px;
  }

  .lead {
    font-size: 15.5px;
  }

  .hero__copy {
    display: flex;
    flex-direction: column;
  }

  .actions {
    order: 3;
    margin: 16px 0 4px;
  }

  .hero__bullets {
    order: 4;
    margin-top: 12px;
  }

  .hero__metrics {
    order: 5;
  }

  .hero__copy > .fine {
    order: 6;
  }

  .hero__bullets li {
    font-size: 13.5px;
  }

  .hero__metrics {
    grid-template-columns: 1fr;
  }

  .actions {
    display: grid;
  }

  .btn {
    width: 100%;
  }

  .topbar__inner {
    padding: 8px 0;
  }
}

.form-notice {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(18,16,18,.48);
  backdrop-filter: blur(14px);
  color: rgba(255,255,255,.88);
  font-size: 14px;
  line-height: 1.45;
}

.form-notice[hidden] {
  display: none;
}

.form-notice.is-ok { 
  border-color: rgba(201,162,74,.22); 
}
.form-notice.is-err { 
  border-color: rgba(255,120,120,.28); 
}
