/* =========================================================
   Markus Wcislo — Legal Notice styles
   Same tokens, backdrop and motion as the homepage.
   ========================================================= */

@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --bg: #050506;
  --bg-2: #0d0e10;
  --text: #f5f5f5;
  --muted: rgba(255,255,255,.58);
  --accent-2: #d9dcdf;
  --border: rgba(255,255,255,.13);
  --border-strong: rgba(255,255,255,.18);
  --focus: rgba(217,220,223,.55);
  --max-width: 720px;
  --ease: cubic-bezier(.2,.8,.2,1);
}

*, *::before, *::after { box-sizing: border-box; }

html {
  min-height: 100%;
  background: var(--bg);
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: transparent;
  overflow-x: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Fixed ambient backdrop — identical to the homepage. */
body::after {
  content: "";
  position: fixed;
  inset: -1px;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 90% 60% at 50% -12%, rgba(145,153,162,.13) 0%, rgba(145,153,162,.07) 35%, rgba(145,153,162,.025) 62%, transparent 85%),
    radial-gradient(ellipse 60% 45% at 0% 92%, rgba(255,255,255,.015) 0%, rgba(255,255,255,.006) 50%, transparent 80%),
    linear-gradient(180deg, var(--bg-2) 0%, #0a0b0d 40%, #070708 75%, var(--bg) 100%);
}

/* Fine film grain against banding. */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  background-image: url("data:image/png;base64,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");
  background-size: 32px 32px;
  mix-blend-mode: soft-light;
  opacity: .10;
}

:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
}

.page {
  width: min(calc(100% - 34px), var(--max-width));
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0 auto;
  padding:
    calc(72px + env(safe-area-inset-top, 0px))
    0
    calc(34px + env(safe-area-inset-bottom, 0px));
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 0 15px;
  border: 1px solid var(--border);
  border-radius: 15px;
  color: rgba(255,255,255,.86);
  text-decoration: none;
  font-size: 13px;
  font-weight: 750;
  background: linear-gradient(120deg, rgba(255,255,255,.075), rgba(255,255,255,.038));
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 30px rgba(0,0,0,.12);
  transition: transform .22s var(--ease), border-color .22s ease, background-color .22s ease;
  touch-action: manipulation;
}

.back-link svg {
  width: 16px;
  height: 16px;
  flex: none;
  stroke: currentColor;
}

@media (hover: hover) and (pointer: fine) {
  .back-link:hover {
    transform: translate3d(0,-2px,0);
    background-color: rgba(255,255,255,.09);
    border-color: var(--border-strong);
  }
}

.back-link:active { transform: scale(.985); transition-duration: .08s; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.legal-card {
  position: relative;
  padding: clamp(24px, 5vw, 42px);
  padding-bottom: clamp(28px, 4vw, 32px);
  border: 1px solid var(--border);
  border-radius: 28px;
  background:
    radial-gradient(ellipse 280px 160px at calc(100% + 90px) -80px, rgba(129,136,144,.08) 0%, rgba(129,136,144,.035) 42%, transparent 72%),
    linear-gradient(135deg, rgba(255,255,255,.080), rgba(255,255,255,.030));
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 24px 70px rgba(0,0,0,.24);
  overflow: hidden;
}

/* Type scale: title 56 → section heading 18 → body 15 (desktop),
   with one spacing rhythm: 32px between blocks, 10px heading-to-text. */
h1 {
  margin: 0;
  padding: .04em 0 .12em;
  font-size: clamp(38px, 6.5vw, 56px);
  line-height: 1.1;
  letter-spacing: -.055em;
  font-weight: 900;
  /* Seamless shimmer: the gradient repeats exactly twice across a tile twice
     the text's width, and the animation shifts it by one repeat, so the last
     frame matches the first and the loop never jumps. */
  background: linear-gradient(90deg, #ffffff 0%, #aeb4ba 25%, #ffffff 50%, #aeb4ba 75%, #ffffff 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: shimmer 8s linear infinite;
}

/* Hairline between the title and the first section, same 32px rhythm. */
.divider {
  height: 1px;
  margin: 28px 0 32px;
  background: rgba(255,255,255,.075);
}

h2 {
  margin: 0 0 10px;
  color: rgba(255,255,255,.80);
  font-size: clamp(16px, 2.2vw, 18px);
  line-height: 1.35;
  letter-spacing: -.012em;
  font-weight: 700;
}

/* Second heading ("Contact") sits a section's distance below the first block. */
.legal-subtitle { margin-top: 32px; }

.legal-value {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 15px;
  line-height: 1.6;
}

.legal-value a {
  color: var(--accent-2);
  text-decoration: none;
  text-underline-offset: 3px;
  transition: color .2s ease;
}

.legal-value a:hover,
.legal-value a:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,.55);
}

.footer {
  margin-top: 18px;
  text-align: center;
  color: rgba(255,255,255,.42);
  font-size: 11px;
  line-height: 1.7;
}

/* Motion */
@keyframes shimmer {
  from { background-position: 0% 50%; }
  to   { background-position: 100% 50%; }
}

.js .reveal {
  opacity: 0;
  translate: 0 12px;
}

.js .reveal.is-visible {
  animation: reveal .44s var(--ease) forwards;
}

@keyframes reveal {
  from { opacity: 0; translate: 0 12px; }
  to   { opacity: 1; translate: 0 0; }
}

@media (prefers-reduced-motion: reduce) {
  .js .reveal {
    opacity: 1;
    translate: 0 0;
    animation: none !important;
  }

  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Phones */
@media (max-width: 520px) {
  body::before { opacity: .08; }

  .page {
    justify-content: flex-start;
    padding-top: calc(32px + env(safe-area-inset-top, 0px));
  }

  .topbar { margin-bottom: 18px; }

  .legal-card {
    padding: 24px 20px 22px;
    border-radius: 22px;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
}
