/* ─── Design Tokens ───────────────────────────────────────────────────────────
   Ändra värden här för att uppdatera hela sajten på en gång. */
:root {
  /* Färger */
  --color-bg: #ffffff;
  --color-text: #000000;
  --color-gold: #d4af37;
  --color-frame: #000000;

  /* Typografi */
  --font-body: "Gloria Hallelujah", sans-serif;
  --font-accent: "Gloria Hallelujah", cursive;
  --font-display: "Gloria Hallelujah", cursive;
  --font-size-label: 12px;
  --font-size-heading: 18px;
  --font-size-photo: 8px;
  --letter-spacing: 0.4em;

  /* Layout */
  --frame-inset: 4rem;
  --frame-padding: 1.5rem;
  --nav-bottom: 1.5rem;
  --nav-gap: 3rem;
  --transition: 0.2s ease;
}

/* ─── Reset ───────────────────────────────────────────────────────────────────*/
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  height: 100%;
}

/* ─── Body ────────────────────────────────────────────────────────────────────*/
body {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  overflow: hidden;
}

/* ─── Site Frame ──────────────────────────────────────────────────────────────
   Ändra --frame-inset och --frame-padding i :root ovan. */
.site-frame {
  position: fixed;
  inset: var(--frame-inset);
  /* Streckat border via SVG – ändra stroke-dasharray="X,Y" för dash/gap */
  border: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='%23000000' stroke-width='4' stroke-dasharray='8%2c10' stroke-linecap='square'/%3e%3c/svg%3e");
  /* box-shadow: 0 0 10px rgba(212, 175, 55, 0.3); */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--frame-padding);
  z-index: 50;
}

/* ─── Typewriter ──────────────────────────────────────────────────────────────*/
@keyframes typing {
  from { clip-path: inset(0 100% 0 0) }
  to   { clip-path: inset(0 0% 0 0) }
}

@keyframes blink {
  0%, 100% { border-color: transparent }
  50%       { border-color: var(--color-gold) }
}

.typewriter {
  position: fixed;
  top: calc(var(--frame-inset) / 2 - 0.5em);
  right: var(--frame-inset);
  font-family: var(--font-body);
  font-size: var(--font-size-heading);
  letter-spacing: var(--letter-spacing);
  text-transform: uppercase;
  color: var(--color-text);
  white-space: nowrap;
  border-right: 2px solid transparent;
  clip-path: inset(0 100% 0 0);
  animation:
    typing 1.2s steps(12, end) 0.3s forwards,
    blink  0.8s step-end 0.3s 5;
  z-index: 100;
}

/* ─── Under Construction ──────────────────────────────────────────────────────*/
.under-construction {
  font-family: var(--font-body);
  font-size: var(--font-size-label);
  letter-spacing: var(--letter-spacing);
  text-transform: uppercase;
  color: var(--color-text);
  opacity: 0.4;
}

/* ─── Hero ────────────────────────────────────────────────────────────────────*/
.hero {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ─── Video ───────────────────────────────────────────────────────────────────*/
video {
  display: block;
  width: 60%;
  max-width: 500px;
  min-width: 200px;
  height: auto;
}

/* ─── Site Nav ────────────────────────────────────────────────────────────────*/
.site-nav {
  position: absolute;
  bottom: var(--nav-bottom);
  display: flex;
  gap: var(--nav-gap);
}

.site-nav a {
  font-family: var(--font-body);
  font-size: var(--font-size-label);
  letter-spacing: var(--letter-spacing);
  text-transform: uppercase;
  color: var(--color-text);
  text-decoration: none;
  transition: color var(--transition);
}

.site-nav a:hover {
  color: var(--color-gold);
}

/* ─── Social Links ────────────────────────────────────────────────────────────
   Ikoner i nedre vänstra hörnet inuti ramen. */
.social-links {
  position: absolute;
  bottom: var(--nav-bottom);
  left: var(--frame-padding);
  display: flex;
  gap: 1rem;
  align-items: center;
}

.social-links a {
  color: var(--color-text);
  text-decoration: none;
  display: flex;
  transition: color var(--transition);
}

.social-links a:hover {
  color: var(--color-gold);
}

.social-links svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}
