:root{--bg:#0f1218;--ink:#eaf0f8;--muted:#9aa6b6;--accent:#2fd58c;--accent-ink:#0b120e;--card:#131827;--line:#223047;--radius:16px;--gap:20px;--max:1200px}
*{box-sizing:border-box}
html,body,div,span,h1,h2,h3,h4,h5,h6,p,a,img,ul,li,header,nav,main,footer,section,article,aside,figure,figcaption{margin:0;padding:0}
html:focus-within{scroll-behavior:smooth}
body{min-height:100dvh;background:var(--bg);color:var(--ink);font:400 16px/1.6 "Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,picture{max-width:100%;display:block}
ul{list-style:none}
a{text-decoration:none;color:inherit}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
::selection{background:#2fd58c33}
.shell{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:20px}

.rimline{background:linear-gradient(90deg,#182133,#101520);color:var(--ink);border-bottom:1px solid var(--line)}
.rimline__inner{max-width:var(--max);margin:0 auto;padding:8px 20px;text-align:center}
.rimline__text{font-size:13.5px;color:#dce5f4}
.rimline__tel{color:var(--accent);text-decoration:underline}

.crestnav{position:sticky;top:0;z-index:40;background:rgba(16,21,32,.75);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}
.crestnav__box{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;max-width:var(--max);margin:0 auto;padding:14px 20px}
.brandglyph{font-family:"Chivo",system-ui,sans-serif;letter-spacing:.5px}
.brandglyph__lead{font-weight:800;font-size:22px;background:linear-gradient(90deg,#fff,#b8ffe4);-webkit-background-clip:text;background-clip:text;color:transparent}
.brandglyph__core{font-weight:800;font-size:22px;color:#dff6ff;margin-left:2px}
.brandglyph__tail{font-weight:700;font-size:18px;color:var(--accent);margin-left:6px}
.crestnav__rail{justify-self:end}
.crestnav__toggle{display:none;font-size:20px;padding:10px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--ink)}
.crestnav__menu{display:flex;gap:14px;align-items:center}
.crestnav__link{padding:8px 12px;border-radius:12px;color:var(--ink)}
.crestnav__link:focus-visible{outline:2px solid var(--accent)}
@media (max-width:860px){.crestnav__toggle{display:inline-flex}.crestnav__menu{position:absolute;right:20px;top:64px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;flex-direction:column;gap:6px;min-width:220px;display:none}.crestnav__menu.is-open{display:flex}}

.velkomst-canvas{position:relative;min-height:min(86vh,820px);display:grid;place-items:center;background-image:url("../viz-atom/hero-bg.webp");background-size:cover;background-position:center}
.velkomst-canvas__veil{position:absolute;inset:0;background:radial-gradient(80% 80% at 70% 20%,#1a2440bb 0%,transparent 50%),linear-gradient(#0f1218aa,#0f1218ee)}
.velkomst-canvas__grid{position:relative;z-index:2;max-width:var(--max);width:100%;padding:40px 20px;display:grid}
.velkomst-canvas__lead{display:grid;gap:14px;max-width:760px}
.velkomst-canvas__title{font-family:"Chivo",system-ui,sans-serif;font-weight:800;font-size:clamp(28px,5vw,52px);line-height:1.1}
.velkomst-canvas__text{color:var(--muted);font-size:clamp(16px,2vw,18px);max-width:66ch}
.scrollpin{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:46px;height:46px;border-radius:999px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;border:0;box-shadow:0 8px 24px rgba(47,213,140,.35)}
.scrollpin:active{transform:translateX(-50%) translateY(1px)}
@media (max-width:380px) {.velkomst-canvas__title{font-size: clamp(24px,5vw,52px);}}

.omkring-panel{padding:54px 20px;background:#0c111c;border-top:1px solid var(--line)}
.omkring-panel__wrap{max-width:var(--max);margin:0 auto;display:grid;gap:16px}
.omkring-panel__title{font-family:"Chivo",system-ui,sans-serif;font-size:clamp(22px,3.5vw,34px)}
.omkring-panel__text p{color:var(--muted);margin-bottom:10px;max-width:78ch}

.fortrin-grid{padding:34px 20px;background:linear-gradient(180deg,#0c111c 0%,#0b0f19 100%)}
.fortrin-grid__tray{max-width:var(--max);margin:0 auto;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}
.fortrin-grid__card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:grid;gap:8px}
.fortrin-grid__icon{font-size:22px;color:var(--accent)}
.fortrin-grid__head{font-weight:700}
.fortrin-grid__blurb{color:var(--muted)}
@media (max-width:980px){.fortrin-grid__tray{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.fortrin-grid__tray{grid-template-columns:1fr}}

.katalog-deck{padding:54px 20px;background:#0b0f19;border-top:1px solid var(--line)}
.katalog-deck__wrap{max-width:var(--max);margin:0 auto;display:grid;gap:16px}
.katalog-deck__title{font-family:"Chivo",system-ui,sans-serif;font-size:clamp(22px,3.5vw,34px)}
.katalog-card{display:grid;gap:16px;grid-template-columns:auto 1fr auto;align-items:center;background:conic-gradient(from 210deg at 20% 10%,#1a2235,#0f141f 55%,#1a2235);border:1px solid #2b3a56;border-radius:18px;padding:16px}
.katalog-card__brand img{filter:saturate(120%) contrast(105%);background:#0f141f;border:1px solid #223047;border-radius:12px;padding:8px}
.katalog-card__name{font-weight:700}
.katalog-card__bonus{color:#d6ffe9}
.katalog-card__desc{color:var(--muted);max-width:60ch}
.katalog-card__perks{display:flex;gap:12px;flex-wrap:wrap}
.katalog-card__perk{font-size:14px;color:#cfe0f7;background:#101624;border:1px solid #223047;border-radius:999px;padding:6px 10px;display:inline-flex;gap:8px;align-items:center}
.katalog-card__meta{display:grid;gap:10px;justify-items:center;align-content:center}
.katalog-card__stars{color:#ffd86b}
.katalog-card__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:220px;
  padding:12px 20px;
  border-radius:14px;
  background:linear-gradient(180deg,var(--accent),#27bd7b);
  color:var(--accent-ink);
  border:1px solid transparent;
  font-weight:700;
  letter-spacing:.2px;
  box-shadow:0 10px 28px rgba(47,213,140,.35), inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .15s ease, box-shadow .2s ease, filter .2s ease;
  white-space:nowrap;
}
.katalog-card__cta:hover{
  filter:brightness(1.03);
  box-shadow:0 14px 36px rgba(47,213,140,.45), inset 0 1px 0 rgba(255,255,255,.22);
}
.katalog-card__cta:active{
  transform:translateY(1px);
  box-shadow:0 8px 20px rgba(47,213,140,.35);
}
.katalog-card__cta:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}

@media (max-width:900px){.katalog-card{grid-template-columns:1fr;justify-items:center}.katalog-card__meta{justify-items:center}.katalog-card__cta{width:100%}}

.ansvar-panel{padding:54px 20px;background:#0a0e16;border-top:1px solid var(--line)}
.ansvar-panel__wrap{max-width:var(--max);margin:0 auto;display:grid;gap:16px}
.ansvar-panel__title{font-family:"Chivo";font-size:clamp(22px,3.5vw,34px)}
.ansvar-panel__text p{color:var(--muted);margin-bottom:10px}
.ansvar-panel__bullets{display:grid;gap:6px;color:#cfe0f7}
.ansvar-links{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content: center;}
.ansvar-links__item{display:inline-flex;align-items:center;justify-content:center;background:#0f141f;border:1px solid #223047;border-radius:12px;padding:6px 10px}

.bundfelt{border-top:1px solid var(--line);background:#0b0f17}
.bundfelt__grid{max-width:var(--max);margin:0 auto;display:grid;gap:20px;grid-template-columns:1.4fr .6fr;padding:24px 20px}
.bundfelt__head{font-weight:700}
.bundfelt__copy,.bundfelt__note{color:var(--muted)}
.bundfelt__links{display:grid;gap:8px;justify-items:center}
.bundfelt__link{color:#cfe0f7}
.bundfelt__age{display:flex;justify-content:center;padding-bottom:8px}
.agechip{display:inline-flex;gap:8px;align-items:center;border:1px solid #2b3a56;background:#101624;color:#dfeaff;border-radius:999px;padding:6px 12px}
.bundfelt__tail{display:flex;justify-content:center;padding:10px 20px;border-top:1px dashed #223047;color:#b9c6db}
@media (max-width:860px){.bundfelt__grid{grid-template-columns:1fr}}

.cookie-raft{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none}
.cookie-raft__box{width:min(720px,92vw);margin:0 auto 16px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:linear-gradient(180deg,#101624,#0d1320);border:1px solid #2a3958;border-radius:16px;padding:14px 16px;box-shadow:0 18px 40px rgba(0,0,0,.38)}
.cookie-raft__glyph{font-size:22px;color:#ffd86b}
.cookie-raft__title{font-family:"Chivo";font-size:18px}
.cookie-raft__text{color:var(--muted)}
.cookie-raft__ctrl{display:flex;gap:10px;flex-wrap:wrap}
.cookie-raft.show{display:block}
.cookie-raft__btn--decline{background:#0f141f;border-color:#2a3958;color:#dfe7f5}

.agegate-shade{position:fixed;inset:0;background:radial-gradient(80% 80% at 50% 30%,#0e1526ee 0%,#0a0f18cc 55%,#0a0f18dd 100%);backdrop-filter:blur(6px);z-index:60;display:grid;place-items:center;padding:20px}
.agegate{width:min(760px,85vw);background:linear-gradient(180deg,#0f141f,#0b101a);border:1px solid #2b3a56;border-radius:22px;padding:22px;display:grid;gap:14px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.agegate__head{display:flex;align-items:center;gap:12px}
.agegate__glyph{font-size:22px;color:#93c6ff}
.agegate__title{font-family:"Chivo";font-size:22px}
.agegate__text{color:var(--muted)}
.agegate__refs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:center;justify-items:center}
.agegate__ctrl{
  display:flex;
  gap:12px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  margin-top:8px;
}

.agegate__ctrl .agegate__btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:180px;
  padding:14px 18px;
  border-radius:14px;
  background:linear-gradient(180deg,#1a2233,#121a2a);
  color:var(--ink);
  border:1px solid #2a3958;
  box-shadow:0 6px 18px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, filter .2s ease;
  text-align:center;
  white-space:nowrap;
}

.agegate__ctrl .agegate__btn i{font-size:16px;opacity:.9}

.agegate__ctrl .agegate__btn:hover{box-shadow:0 10px 26px rgba(0,0,0,.45)}
.agegate__ctrl .agegate__btn:active{transform:translateY(1px)}
.agegate__ctrl .agegate__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.agegate__ctrl .agegate__btn--allow{
  background:linear-gradient(180deg,var(--accent),#27bd7b);
  color:var(--accent-ink);
  border-color:transparent;
}
.agegate__ctrl .agegate__btn--allow:hover{filter:brightness(1.03)}

.agegate__ctrl .agegate__btn--deny{
  background:linear-gradient(180deg,#1a2233,#121a2a);
  color:#dfe7f5;
}

@media (max-width:420px){
  .agegate__ctrl .agegate__btn{min-width:100%}
}

@media (max-width:640px){.agegate__refs{grid-template-columns:repeat(2,1fr)}}

.kontakt-hub{padding:48px 20px;background:linear-gradient(180deg,#0c111c 0%,#0b0f19 100%)}
.formplate{width:100%;max-width:880px;margin:0 auto;background:linear-gradient(180deg,#101624,#0d1320);border:1px solid #2a3958;border-radius:20px;padding:22px;display:grid;gap:16px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.formplate__head{display:grid;gap:6px}
.formplate__title{font-family:"Chivo",system-ui,sans-serif;font-weight:800;font-size:clamp(24px,3.5vw,34px)}
.formplate__sub{color:var(--muted)}
.formplate__form{display:grid;gap:14px}
.formplate__row{display:grid;gap:6px}
.formplate__label{font-weight:600}
.formplate__input,.formplate__area{width:100%;border-radius:14px;background:#0f141f;border:1px solid #2a3958;color:#eaf0f8;padding:14px 14px}
.formplate__area{resize:vertical}
.formplate__input:focus-visible,.formplate__area:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.formplate__agree{display:flex;align-items:center;gap:10px;margin-top:4px}
.formplate__check{width:18px;height:18px;border-radius:4px;border:1px solid #2a3958;accent-color:var(--accent)}
.formplate__agree-label{color:#dfe7f5}
.formplate__agree-label a{color:#b6f7de;text-decoration:underline}
.formplate__controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}
.formplate__submit{min-width:220px;justify-content:center}
.formplate__status{font-size:14px;color:#cfe0f7}

.formplate__input.is-bad,.formplate__area.is-bad{border-color:#ff6b6b;box-shadow:0 0 0 2px #ff6b6b22}
.formplate__input.is-good,.formplate__area.is-good{border-color:#3edfa7}

.thx-float{position:fixed;inset:0;background:#0a0f18cc;backdrop-filter:blur(4px);z-index:70;display:none;place-items:center;padding:20px}
.thx-float__box{width:min(560px,92vw);background:linear-gradient(180deg,#101624,#0d1320);border:1px solid #2a3958;border-radius:20px;padding:22px;display:grid;gap:10px;justify-items:center;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.thx-float__icon{font-size:32px;color:#2fd58c}
.thx-float__title{font-family:"Chivo",system-ui,sans-serif;font-size:22px}
.thx-float__text{color:#cfe0f7;max-width:56ch}
.thx-float__btn{margin-top:8px}
.thx-float.show{display:grid}

/* Enhanced submit button look */
.btn-braid.btn-braid--accent.formplate__submit{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:230px;
  padding:14px 24px;
  border-radius:14px;
  border:1px solid transparent;
  background:linear-gradient(180deg,var(--accent) 0%,#27bd7b 100%);
  color:var(--accent-ink);
  font-weight:700;
  letter-spacing:.2px;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(47,213,140,.35), inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform .15s ease, box-shadow .2s ease, filter .2s ease;
}
.btn-braid.btn-braid--accent.formplate__submit i{font-size:16px;opacity:.9}
.btn-braid.btn-braid--accent.formplate__submit:hover{
  filter:brightness(1.03);
  box-shadow:0 12px 30px rgba(47,213,140,.45), inset 0 1px 0 rgba(255,255,255,.22);
}
.btn-braid.btn-braid--accent.formplate__submit:active{
  transform:translateY(1px);
  box-shadow:0 6px 16px rgba(47,213,140,.35);
}
.btn-braid.btn-braid--accent.formplate__submit:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.btn-braid.btn-braid--accent.formplate__submit:disabled{
  filter:grayscale(.2) brightness(.9);
  box-shadow:none;
  cursor:not-allowed;
  opacity:.85;
}
