:root {
  --bg: oklch(17% 0.006 285);
  --panel: oklch(20% 0.006 285);
  --ink: oklch(95% 0.004 285);
  --ink-2: oklch(71% 0.005 285);
  --ink-3: oklch(52% 0.006 285);
  --rule: oklch(30% 0.006 285);
  --sans: "Familjen Grotesk", "Helvetica Neue", Arial, sans-serif;
  --mono: "Fragment Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --max: 760px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { background: var(--bg); color-scheme: dark; }
body {
  background: var(--bg); color: var(--ink); min-height: 100vh;
  font: 400 17px/1.65 var(--sans); -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
.shell { width: min(var(--max), calc(100% - 3rem)); margin: 0 auto; }
.site-header {
  display: flex; align-items: center; gap: 2rem; min-height: 68px;
  border-bottom: 1px solid var(--rule);
}
.brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; }
.brand img { width: 21px; height: 24px; }
.brand strong { font-size: 17px; font-weight: 600; }
nav { display: flex; gap: 1.5rem; margin-left: auto; }
nav a, footer a { color: var(--ink-2); text-decoration: none; }
nav a:hover, footer a:hover { color: var(--ink); }
main { padding: clamp(3rem, 8vw, 6rem) 0; }
.label {
  font: 400 11px/1.5 var(--mono); letter-spacing: .14em;
  text-transform: uppercase; color: var(--ink-3);
}
h1 { margin-top: .8rem; font-size: clamp(46px, 9vw, 82px); line-height: 1; letter-spacing: -.04em; }
h2 { margin-top: 2.5rem; font-size: 25px; line-height: 1.2; letter-spacing: -.02em; }
p, ul { margin-top: 1rem; color: var(--ink-2); }
strong { color: var(--ink); font-weight: 600; }
ul { padding-left: 1.25rem; }
li + li { margin-top: .45rem; }
.contact-card { margin-top: 2rem; padding: 1.5rem; border: 1px solid var(--rule); background: var(--panel); }
.contact-card p:first-child { margin-top: 0; }
footer {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem;
  padding: 2rem 0 3rem; border-top: 1px solid var(--rule); color: var(--ink-3); font-size: 14px;
}
@media (max-width: 620px) {
  .shell { width: min(var(--max), calc(100% - 2rem)); }
  nav { gap: .8rem; font-size: 14px; }
}
