:root {
  color-scheme: dark;
  background: #101010;
  color: #f8f7f3;
  font-family: Raleway, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
body.contact-page { margin: 0; min-height: 100svh; min-height: 100dvh; background: #101010; }
a { color: inherit; text-underline-offset: 6px; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }

/* The published Berlin composition fills the viewport, including behind navigation. */
.contact-page::before { display: none; }
.contact-backdrop { position: fixed; inset: 0; height: 100svh; height: 100dvh; z-index: 0; pointer-events: none; }
.contact-backdrop img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.contact-backdrop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0009, #0007 48%, #0008); }
.contact-main { position: relative; width: 100%; min-height: 100svh; min-height: 100dvh; }
.contact-page .global-header {
  --nav-ink: #f8f7f3;
  --nav-line: #ffffff40;
  --nav-paper: transparent;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  border-bottom: 0;
  background: transparent;
  text-shadow: 0 1px 8px #000;
}
.contact-page .global-header::before { display: none; }
.contact-page .context-back {
  position: fixed;
  left: max(56px, calc((100vw - 1240px) / 2));
  bottom: 30px;
  z-index: 5;
  color: #f8f7f3;
  text-shadow: 0 1px 8px #000;
}

/* Original handwriting remains an image, independently centred at every size. */
.email-link {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: min(82vw, 520px);
  mix-blend-mode: screen;
  cursor: pointer;
}
.contact-handwriting { display: block; width: 100%; height: auto; overflow: hidden; }
.email-link:hover { opacity: .85; }
.email-link:focus-visible { outline: 2px solid #fff; outline-offset: 10px; border-radius: 8px; }
.skip-link { position: fixed; top: 12px; left: 12px; padding: 10px 16px; background: #101010; color: #fff; transform: translateY(-160%); z-index: 100; }
.skip-link:focus { transform: translateY(0); }
@media(max-width:1000px) { .contact-page .context-back { left: 32px; } }
@media(max-width:600px) { .contact-page .context-back { left: 22px; bottom: 22px; } }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior: auto!important; } }
