/* =========================================================
   LEVEL — CLEAN PREMIUM BLACK / GOLD
   Joomla 5 / Cassiopeia
   ========================================================= */

:root{
  --level-black:#030303;
  --level-dark:#070707;
  --level-deep:#0b0b0b;
  --level-surface:rgba(255,255,255,.03);
  --level-surface-2:rgba(255,255,255,.018);
  --level-border:rgba(255,255,255,.09);
  --level-border-strong:rgba(255,255,255,.18);
  --level-text:#f4f4f4;
  --level-muted:rgba(255,255,255,.66);
  --level-soft:rgba(255,255,255,.42);
  --level-gold:#d2b48c;
  --level-gold-glow:rgba(210,180,140,.14);
  --level-white-glow:rgba(255,255,255,.05);
  --level-shadow:0 30px 90px rgba(0,0,0,.62);
}

/* ===== Cassiopeia reset ===== */

.com-content-article .container,
.com-content-article .container-fluid,
.mod-custom,
.item-content,
.site-grid,
.container-component{
  max-width:100% !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.container-top-a,
.container-top-b,
.container-bottom-a,
.container-bottom-b,
.container-banner,
.container-footer{
  background:transparent !important;
}

main{
  background:transparent !important;
}

/* ===== Body ===== */

body.site{
  background:
    radial-gradient(circle at 50% -10%, rgba(255,255,255,.025), transparent 22%),
    linear-gradient(180deg, #020202 0%, #060606 48%, #020202 100%);
  color:var(--level-text);
  overflow-x:hidden;
}

a{
  transition:all .28s ease;
}

/* ===== Header ===== */

.container-header{
  background:rgba(3,3,3,.82) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:none !important;
}

.container-header .navbar{
  min-height:72px;
  padding:16px 0;
  justify-content:center !important;
}

/* logo */
.navbar-brand{
  position:relative;
  font-size:0 !important;
  display:inline-flex;
  align-items:center;
  margin:0 auto !important;
}

.navbar-brand::after{
  content:"LEVEL";
  display:inline-block;
  color:#fff;
  font-size:1.32rem;
  font-weight:700;
  letter-spacing:.34em;
  text-transform:uppercase;
  line-height:1;
}

.navbar-brand img{
  display:none !important;
}

/* hide Cassiopeia menu completely */
.container-header .mod-menu,
.container-header nav,
.container-header .navbar-toggler,
.container-header .metismenu,
.container-header .mod-menu__sub{
  display:none !important;
}

/* if header grid leaves side spacing */
.container-header .container-nav{
  justify-content:center !important;
}

.container-header .grid-child{
  display:flex;
  justify-content:center;
  align-items:center;
}

/* ===== Footer ===== */

.container-footer{
  border-top:1px solid rgba(255,255,255,.08);
  padding:34px 0;
  text-align:center;
}

.container-footer,
.container-footer p,
.container-footer a{
  color:rgba(255,255,255,.48) !important;
  font-size:.8rem;
  letter-spacing:.06em;
}

/* ===== LEVEL module ===== */

.level-site{
  position:relative;
  overflow:hidden;
  max-width:1320px;
  margin:34px auto 46px;
  padding:70px 24px;
  border-radius:36px;
  border:1px solid var(--level-border);
  background:
    linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.008)),
    linear-gradient(180deg, #040404 0%, #090909 55%, #040404 100%);
  box-shadow:var(--level-shadow);
  isolation:isolate;
}

.level-site *{
  box-sizing:border-box;
}

.level-site__bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 20%, var(--level-gold-glow), transparent 24%),
    radial-gradient(circle at 75% 18%, var(--level-white-glow), transparent 18%),
    linear-gradient(135deg, rgba(255,255,255,.012), transparent 46%, rgba(255,255,255,.01));
}

.level-site__grid{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.07;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(180deg, transparent, #000 10%, #000 90%, transparent);
}

.level-site__glow{
  position:absolute;
  border-radius:50%;
  filter:blur(90px);
  pointer-events:none;
  z-index:0;
}

.level-site__glow--gold{
  width:320px;
  height:320px;
  left:-10px;
  top:30px;
  background:rgba(210,180,140,.14);
  opacity:.58;
}

.level-site__glow--violet,
.level-site__glow--blue{
  display:none !important;
}

.level-container{
  position:relative;
  z-index:1;
  max-width:1120px;
  margin:0 auto;
  padding:0 18px;
}

/* ===== Premium topbar ===== */

.level-topbar{
  margin:0 auto 28px;
  max-width:980px;
}

.level-topbar__line{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
}

.level-topbar__inner{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
  padding:14px 4px;
  color:rgba(255,255,255,.62);
  font-size:.72rem;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.level-topbar__left{
  text-align:left;
}

.level-topbar__center{
  text-align:center;
  color:rgba(255,255,255,.88);
}

.level-topbar__right{
  text-align:right;
}

/* ===== Hero ===== */

.level-hero{
  text-align:center;
  max-width:920px;
  margin:0 auto;
  padding:28px 0 20px;
}

.level-hero__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 18px;
  border-radius:999px;
  margin-bottom:22px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.78);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.level-kicker{
  display:inline-block;
  margin-bottom:14px;
  color:var(--level-gold);
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.34em;
  text-transform:uppercase;
}

.level-title{
  margin:0;
  color:#fff;
  font-size:clamp(3.8rem, 8vw, 7.6rem);
  line-height:.9;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-shadow:
    0 0 18px rgba(255,255,255,.05),
    0 0 60px rgba(210,180,140,.05);
}

.level-subtitle{
  margin-top:18px;
  color:rgba(255,255,255,.84);
  font-size:clamp(1rem, 2.1vw, 1.38rem);
  line-height:1.45;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.level-lead{
  max-width:720px;
  margin:24px auto 0;
  color:var(--level-muted);
  font-size:1.04rem;
  line-height:1.92;
}

.level-hero-meta{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  max-width:760px;
  margin:30px auto 0;
}

.level-hero-meta__item{
  padding:18px 18px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.level-hero-meta__label{
  display:block;
  margin-bottom:8px;
  color:rgba(255,255,255,.46);
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.level-hero-meta__item strong{
  display:block;
  color:#fff;
  font-size:.96rem;
  font-weight:600;
  line-height:1.45;
}

/* ===== Buttons ===== */

.level-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:32px;
  justify-content:center;
}

.level-actions--center{
  justify-content:center;
}

.level-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 26px;
  border-radius:999px;
  text-decoration:none !important;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.84rem;
  font-weight:700;
  white-space:nowrap;
  position:relative;
  overflow:hidden;
  border:1px solid var(--level-border-strong);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.level-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.16) 50%, transparent 100%);
  transform:translateX(-130%);
  transition:transform .8s ease;
}

.level-btn:hover::before{
  transform:translateX(130%);
}

.level-btn--primary{
  color:#050505 !important;
  background:linear-gradient(180deg, #ffffff 0%, #dddddd 100%);
  box-shadow:
    0 16px 34px rgba(255,255,255,.10),
    0 0 24px rgba(255,255,255,.05);
}

.level-btn--primary:hover{
  transform:translateY(-2px);
  color:#000 !important;
  box-shadow:
    0 22px 44px rgba(255,255,255,.13),
    0 0 30px rgba(255,255,255,.06);
}

.level-btn--ghost{
  color:#fff !important;
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.level-btn--ghost:hover{
  transform:translateY(-2px);
  color:#fff !important;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.24);
}

/* ===== Divider ===== */

.level-divider{
  width:100%;
  height:1px;
  margin:42px 0;
  background:linear-gradient(90deg, transparent, rgba(210,180,140,.42), transparent);
}

/* ===== Cards / wall effect ===== */

.level-wall{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:6px;
}

.level-wall__item,
.level-panel,
.level-step,
.level-city{
  position:relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  border:1px solid var(--level-border);
  border-radius:28px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.03),
    0 16px 40px rgba(0,0,0,.24);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease, background .3s ease;
}

.level-wall__item::after,
.level-panel::after,
.level-step::after,
.level-city::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.06), transparent 26%);
  opacity:.35;
}

.level-wall__item{
  padding:30px 24px;
}

.level-wall__item:hover,
.level-panel:hover,
.level-step:hover,
.level-city:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 24px 48px rgba(0,0,0,.34);
}

.level-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  margin-bottom:16px;
  border-radius:50%;
  border:1px solid rgba(210,180,140,.34);
  color:var(--level-gold);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  background:rgba(255,255,255,.02);
  box-shadow:0 0 18px rgba(210,180,140,.08);
}

.level-wall__item h3,
.level-step__content h3,
.level-section-head h2{
  margin:0 0 12px;
  color:#fff;
}

.level-wall__item h3{
  font-size:1.16rem;
}

.level-wall__item p,
.level-step__content p,
.level-request-text,
.level-section-head p{
  margin:0;
  color:var(--level-muted);
  line-height:1.8;
  font-size:.98rem;
}

/* ===== Sections ===== */

.level-section-head{
  margin-bottom:20px;
}

.level-section-head--center{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.level-section-head h2{
  font-size:clamp(1.7rem, 4vw, 2.55rem);
  line-height:1.12;
}

/* ===== Steps ===== */

.level-steps{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.level-step{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:24px 20px;
}

.level-step__index{
  flex:0 0 46px;
  width:46px;
  height:46px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--level-gold);
  font-size:1rem;
  font-weight:700;
  border:1px solid rgba(210,180,140,.34);
  background:rgba(255,255,255,.03);
}

/* ===== Columns ===== */

.level-columns{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.level-panel{
  padding:24px 22px;
}

.level-list{
  list-style:none;
  margin:0;
  padding:0;
}

.level-list li{
  position:relative;
  padding:12px 0 12px 22px;
  color:#fff;
  line-height:1.55;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.level-list li:first-child{
  padding-top:0;
}

.level-list li:last-child{
  padding-bottom:0;
  border-bottom:none;
}

.level-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--level-gold);
  box-shadow:0 0 14px rgba(210,180,140,.45);
}

/* ===== Cities ===== */

.level-cities{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}

.level-city{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 18px;
  min-height:92px;
}

.level-city__dot{
  flex:0 0 12px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  box-shadow:0 0 0 6px rgba(255,255,255,.03);
}

.level-city--active .level-city__dot{
  background:var(--level-gold);
  box-shadow:
    0 0 14px rgba(210,180,140,.55),
    0 0 0 6px rgba(210,180,140,.08);
}

.level-city__text strong{
  display:block;
  margin-bottom:4px;
  color:#fff;
  font-size:1rem;
  line-height:1.2;
}

.level-city__text small{
  display:block;
  color:var(--level-soft);
  font-size:.82rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}

/* ===== Quote ===== */

.level-quote{
  max-width:860px;
  margin:0 auto;
  text-align:center;
  padding:10px 0;
}

.level-quote__mark{
  display:block;
  margin-bottom:4px;
  color:rgba(210,180,140,.55);
  font-size:4rem;
  line-height:1;
}

.level-quote p{
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:clamp(1.08rem, 2.5vw, 1.42rem);
  line-height:1.9;
}

/* ===== CTA ===== */

.level-section--cta{
  padding-bottom:4px;
}

/* ===== Floating button ===== */

.level-float-btn{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:999;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 22px;
  border-radius:999px;
  text-decoration:none !important;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  font-weight:700;
  color:#050505 !important;
  background:linear-gradient(180deg, #ffffff 0%, #e0e0e0 100%);
  box-shadow:
    0 16px 34px rgba(255,255,255,.12),
    0 14px 34px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.45);
  transition:transform .28s ease, box-shadow .28s ease;
}

.level-float-btn:hover{
  transform:translateY(-3px);
  color:#000 !important;
  box-shadow:
    0 22px 42px rgba(255,255,255,.14),
    0 16px 38px rgba(0,0,0,.34);
}

/* ===== Reveal animation ===== */

.level-reveal{
  opacity:0;
  transform:translateY(22px);
  filter:blur(10px);
  transition:
    opacity .9s ease,
    transform .9s ease,
    filter .9s ease;
}

.level-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

/* ===== Prices in euro ===== */

.price::before{
  content:"€";
  margin-right:4px;
}

.price{
  font-weight:600;
  color:#fff;
}

/* ===== Mobile ===== */

@media (max-width: 1199px){
  .level-wall{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .level-cities{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .level-steps{
    grid-template-columns:1fr;
  }

  .level-hero-meta{
    grid-template-columns:1fr;
    max-width:520px;
  }
}

@media (max-width: 767px){
  .container-header .navbar{
    min-height:64px;
    padding:14px 0;
  }

  .navbar-brand::after{
    font-size:1.06rem;
    letter-spacing:.24em;
  }

  .level-site{
    margin:18px auto 28px;
    padding:38px 14px;
    border-radius:24px;
  }

  .level-container{
    padding:0 10px;
  }

  .level-topbar{
    margin-bottom:22px;
  }

  .level-topbar__inner{
    grid-template-columns:1fr;
    gap:8px;
    text-align:center;
    padding:12px 0;
    font-size:.64rem;
    letter-spacing:.18em;
  }

  .level-topbar__left,
  .level-topbar__center,
  .level-topbar__right{
    text-align:center;
  }

  .level-title{
    letter-spacing:.09em;
  }

  .level-subtitle{
    letter-spacing:.11em;
    line-height:1.55;
  }

  .level-lead{
    font-size:.96rem;
    line-height:1.8;
  }

  .level-divider{
    margin:28px 0;
  }

  .level-wall,
  .level-columns,
  .level-cities{
    grid-template-columns:1fr;
  }

  .level-wall__item,
  .level-panel,
  .level-step,
  .level-city,
  .level-hero-meta__item{
    border-radius:20px;
  }

  .level-wall__item{
    padding:22px 18px;
  }

  .level-step{
    padding:20px 16px;
  }

  .level-btn{
    width:100%;
    min-height:50px;
    padding:0 16px;
    font-size:.78rem;
    letter-spacing:.1em;
  }

  .level-actions{
    gap:12px;
  }

  .level-quote p{
    line-height:1.75;
  }

  .level-float-btn{
    left:14px;
    right:14px;
    bottom:14px;
    width:auto;
    min-height:50px;
    font-size:.74rem;
    letter-spacing:.1em;
  }
}
.level-site{
  max-width: 1480px !important;
  padding: 90px 34px !important;
}

.level-container{
  max-width: 1240px !important;
}

.level-hero{
  max-width: 980px !important;
  padding: 40px 0 28px !important;
}

.level-title{
  font-size: clamp(4.8rem, 8vw, 8.8rem) !important;
}

.level-subtitle{
  font-size: clamp(1.05rem, 2vw, 1.55rem) !important;
}

.level-lead{
  max-width: 760
  .level-wall{
  gap: 22px !important;
}

.level-wall__item,
.level-step,
.level-panel,
.level-city{
  padding: 28px 24px !important;
}

.level-divider{
  margin: 52px 0 !important;
}
.level-actions{
  margin-top: 38px !important;
}

.level-hero-meta{
  margin-top: 34px !important;
  gap: 16px !important;
}
.level-wall__item p,
.level-step__content p,
.level-request-text,
.level-section-head p,
.level-lead{
  line-height: 1.95 !important;
}
/* =========================================================
   LEVEL — PREMIUM POLISH (FINAL TOUCH)
   ========================================================= */

/* ===== HERO DEPTH ===== */

.level-title{
  text-shadow:
    0 0 18px rgba(255,255,255,.05),
    0 0 60px rgba(210,180,140,.06);
}

.level-subtitle{
  opacity:.9;
}

/* ===== GLASS QUALITY ===== */

.level-wall__item,
.level-step,
.level-panel,
.level-city{
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
}

/* ===== LIGHT TOP EDGE ===== */

.level-wall__item::after,
.level-step::after,
.level-panel::after,
.level-city::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.06), transparent 28%);
  opacity:.35;
}

/* ===== HOVER PREMIUM ===== */

.level-wall__item:hover,
.level-step:hover,
.level-panel:hover,
.level-city:hover{
  transform: translateY(-5px);
  box-shadow:
    0 30px 60px rgba(0,0,0,.45),
    0 0 40px rgba(210,180,140,.05);
}

/* ===== BUTTON UPGRADE ===== */

.level-btn{
  position:relative;
  overflow:hidden;
}

.level-btn::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
  transform:translateX(-120%);
  transition:transform .8s ease;
}

.level-btn:hover::after{
  transform:translateX(120%);
}

/* ===== PRIMARY BUTTON DEPTH ===== */

.level-btn--primary{
  box-shadow:
    0 18px 40px rgba(255,255,255,.10),
    0 0 30px rgba(255,255,255,.04);
}

.level-btn--primary:hover{
  box-shadow:
    0 26px 60px rgba(255,255,255,.14),
    0 0 40px rgba(255,255,255,.06);
}

/* ===== GOLD ACCENT ===== */

.level-number{
  box-shadow:
    0 0 18px rgba(210,180,140,.15);
}

/* ===== DIVIDER PREMIUM ===== */

.level-divider{
  background:linear-gradient(
    90deg,
    transparent,
    rgba(210,180,140,.55),
    transparent
  );
}

/* ===== FLOAT BUTTON ===== */

.level-float-btn{
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: all .3s ease;
}

.level-float-btn:hover{
  transform:translateY(-4px);
}

/* ===== TYPOGRAPHY FINISH ===== */

.level-wall__item h3,
.level-step__content h3{
  letter-spacing:.04em;
}

.level-wall__item p,
.level-step__content p,
.level-lead{
  color:rgba(255,255,255,.75);
}

/* ===== MICRO GLOW ===== */

.level-site::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 70% 20%, rgba(255,255,255,.04), transparent 20%);
  opacity:.6;
}