/* Mythforge — forside */
:root{
  --nat:#08080C; --nat2:#0E0E16;
  --hvid:#F6F6F9; --dis:#8C8CA1; --dis2:#5A5A70;
  --ild:#FF5F1F; --pink:#FF2D95; --violet:#7C3AED; --mint:#3DDC97;
  --kant:rgba(255,255,255,.10);
  --display:"Space Grotesk","Helvetica Neue",Arial,sans-serif;
  --brod:"Inter","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--nat);color:var(--hvid);font-family:var(--brod);font-size:17px;line-height:1.6;
  overflow-x:hidden;-webkit-font-smoothing:antialiased}
[data-sprog="da"] .en{display:none !important}
[data-sprog="en"] .da{display:none !important}
a{color:inherit}

/* levende baggrund */
.taage{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}
.b1{width:52vw;height:52vw;background:var(--violet);top:-14vw;left:-10vw;animation:drift1 22s ease-in-out infinite alternate}
.b2{width:44vw;height:44vw;background:var(--pink);top:18vh;right:-14vw;animation:drift2 26s ease-in-out infinite alternate}
.b3{width:38vw;height:38vw;background:var(--ild);bottom:-16vw;left:22vw;animation:drift3 19s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(9vw,7vh) scale(1.14)}}
@keyframes drift2{to{transform:translate(-11vw,-6vh) scale(.88)}}
@keyframes drift3{to{transform:translate(7vw,-9vh) scale(1.1)}}
.korn{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.24;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}

.ramme{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:0 2.5rem}
@media (max-width:720px){.ramme{padding:0 1.3rem}}

/* top */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:1.8rem 0;gap:1rem}
.logo{display:flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em}
.logo .gnist{width:.65rem;height:.65rem;border-radius:50%;background:linear-gradient(135deg,var(--ild),var(--pink));
  box-shadow:0 0 16px var(--pink)}
.sprogknap{font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  border:1px solid var(--kant);background:rgba(255,255,255,.04);color:var(--hvid);border-radius:100px;
  padding:.5rem 1rem;cursor:pointer;backdrop-filter:blur(8px)}
.sprogknap:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.09)}
.sprogknap:focus-visible{outline:2px solid var(--pink);outline-offset:3px}

/* hero */
.hero{padding:6vh 0 8vh}
.badge{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.64rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--dis);border:1px solid var(--kant);
  background:rgba(255,255,255,.03);border-radius:100px;padding:.45rem 1rem;margin-bottom:2rem}
.badge .puls{width:.4rem;height:.4rem;border-radius:50%;background:var(--mint);animation:puls 2s ease-in-out infinite}
@keyframes puls{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(61,220,151,.6)}50%{opacity:.7;box-shadow:0 0 0 6px rgba(61,220,151,0)}}
h1{font-family:var(--display);font-weight:700;font-size:clamp(3rem,10.5vw,7.5rem);line-height:.92;margin:0 0 1.6rem;
  letter-spacing:-.045em}
h1 .glod{background:linear-gradient(100deg,var(--ild),var(--pink) 45%,var(--violet));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.manchet{font-size:clamp(1.05rem,2.2vw,1.35rem);max-width:38ch;color:var(--dis);margin:0}

/* produkter */
.produkter{padding:0 0 7vh}
.overskrift{font-family:var(--mono);font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dis2);
  font-weight:600;margin:0 0 1.6rem}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:1.2rem}
.tile{position:relative;display:block;text-decoration:none;border:1px solid var(--kant);border-radius:20px;
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  padding:2rem 1.9rem 1.7rem;overflow:hidden;backdrop-filter:blur(14px);
  transition:transform .3s cubic-bezier(.2,.9,.3,1),border-color .3s ease}
.tile::before{content:"";position:absolute;inset:-1px;border-radius:20px;padding:1px;opacity:0;
  background:linear-gradient(120deg,var(--ild),var(--pink),var(--violet));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;transition:opacity .3s ease}
.tile:hover{transform:translateY(-6px)}
.tile:hover::before{opacity:1}
.tile:focus-visible{outline:2px solid var(--pink);outline-offset:4px}
.tile .nr{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;color:var(--dis2);font-weight:600;display:block;margin-bottom:1.4rem}
.tile h2{font-family:var(--display);font-weight:700;font-size:clamp(1.6rem,3.4vw,2.1rem);margin:0 0 .6rem;letter-spacing:-.03em;line-height:1.05}
.tile p{margin:0 0 1.6rem;color:var(--dis);font-size:.94rem;line-height:1.6}
.tile .bund{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.tile .maal{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--dis2)}
.tile .pil{width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--kant);display:flex;align-items:center;
  justify-content:center;font-size:1.05rem;transition:background .3s ease,transform .3s ease,border-color .3s ease}
.tile:hover .pil{background:linear-gradient(135deg,var(--ild),var(--pink));border-color:transparent;transform:translateX(4px)}
.tile.snart{opacity:.5}
.tile.snart:hover{transform:none}
.tile.snart .pil{opacity:.4}
.maerkat{position:absolute;top:1.5rem;right:1.5rem;font-family:var(--mono);font-size:.58rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;padding:.3rem .7rem;border-radius:100px;
  background:rgba(61,220,151,.14);color:var(--mint);border:1px solid rgba(61,220,151,.3)}

footer.fod{border-top:1px solid var(--kant);padding:2rem 0 3.5rem;display:flex;justify-content:space-between;
  gap:1.5rem;flex-wrap:wrap;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--dis2)}
footer.fod a{color:var(--dis);text-decoration:none}
footer.fod a:hover{color:var(--hvid)}

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