@font-face {
  font-family: "Newsreader Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("fonts/newsreader.woff2") format("woff2-variations");
}

:root {
  --background: oklch(0.95927449 0.00540068 117.924228);
  --foreground: oklch(0.25273191 0.02806055 266.447571);
  --muted-foreground: oklch(0.49997575 0.02159195 268.865430);
  --border: oklch(0.86948073 0.00973259 119.600954);
  --primary: oklch(0.41596621 0.14650232 272.170030);
  --font-publication: "Newsreader Variable", Georgia, serif;
  --grain: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23grain)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
}

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --background: oklch(0.20029934 0.01483287 266.833418);
    --foreground: oklch(0.91973253 0.00677411 115.713460);
    --muted-foreground: oklch(0.69916569 0.01525737 268.436182);
    --border: oklch(0.30945573 0.01884726 268.073701);
    --primary: oklch(0.74031531 0.11033371 277.596931);
  }
  .brand-logo { filter: invert(1) brightness(.92); }
}


* { box-sizing: border-box; border-color: var(--border); }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 2rem; }
body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-publication);
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 10;
  opacity: .04;
  pointer-events: none;
  background-image: var(--grain);
  background-size: 180px 180px;
}
::selection { background: var(--border); color: var(--foreground); }
a {
  color: var(--primary);
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  transition: text-decoration-thickness .2s ease, color .2s ease;
}
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 5px; }
p { margin: 0; }
p + p { margin-top: 1.5rem; }
h1, h2, h3 { margin: 0; font-weight: 400; }
h2 { font-size: 1.5rem; line-height: 1.3; margin-bottom: 1.5rem; }
.publication {
  max-width: 90rem;
  margin-inline: auto;
  padding: 4rem max(1.5rem, env(safe-area-inset-right)) max(2rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));
}
.identity { text-align: center; }
.identity-inner { display: flex; flex-direction: column; align-items: center; }
.logo-entrance { animation: ink-in 1.4s ease-out both; }
.logo-link { display: block; width: 10rem; aspect-ratio: 1; transition: transform .4s ease; }
.logo-link:hover { transform: rotate(-6deg); }
.brand-logo { display: block; width: 100%; height: 100%; object-fit: contain; }
.wordmark {
  font-size: clamp(3.25rem, 9vw, 6rem);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.03em;
  margin-top: 1.75rem;
  animation: fade-up 1.1s ease-out .3s both;
}
.section-nav { display: none; }
.reading-column { max-width: 36rem; margin: 5rem auto 0; min-width: 0; }
.content-section { margin-bottom: 6rem; scroll-margin-top: 2rem; }
.lead { font-size: 1.375rem; line-height: 1.6; }
.soft-ink { color: var(--muted-foreground); }
.app-links { display: flex; align-items: baseline; flex-wrap: wrap; gap: .75rem 1.5rem; margin-top: 1.75rem; }
.app-links > a { flex-shrink: 0; }
.app-links > span { font-size: 1rem; }
.site-footer { font-size: .9375rem; line-height: 1.6; padding-bottom: 1rem; }
.legal-panel { border-top: 1px solid var(--border); scroll-margin-top: 2rem; }
.legal-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--border);
  color: inherit;
  text-decoration: none;
}
.legal-link + .legal-link { border-top: 0; }
.legal-link .panel-indicator::before { content: "→"; }
.legal-link:hover .panel-indicator { color: var(--primary); }
.legal-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  list-style: none;
  padding: 1.1rem 0;
}
.legal-panel summary::-webkit-details-marker { display: none; }
.panel-indicator { flex-shrink: 0; width: 1rem; text-align: center; color: var(--muted-foreground); font-size: 1.125rem; line-height: 1; }
.panel-indicator::before { content: "+"; }
.legal-panel[open] .panel-indicator::before { content: "−"; }
.panel-content { padding: .5rem 0 2rem; overflow-wrap: anywhere; }
.panel-content h3 { font-size: 1rem; line-height: 1.5; font-weight: 600; margin: 1.75rem 0 .5rem; }
.legal-definitions { display: grid; grid-template-columns: 1fr; gap: .125rem; margin: 0; }
.legal-definitions dt { color: var(--muted-foreground); }
.legal-definitions dd { margin: 0 0 1rem; }
.copyright { margin-top: 1.75rem; }
.policy h1 { font-size: 2rem; line-height: 1.2; margin-bottom: 1rem; }
.policy h2 { font-size: 1.125rem; font-weight: 600; line-height: 1.5; margin: 2.5rem 0 .5rem; }
.policy-footer { margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.will-reveal { opacity: 0; transform: translateY(12px); transition: opacity .8s ease-out, transform .8s ease-out; }
.will-reveal.is-visible { opacity: 1; transform: none; }
@keyframes ink-in {
  from { opacity: 0; filter: blur(8px); transform: rotate(-8deg) scale(.96); }
  to { opacity: 1; filter: blur(0); transform: rotate(0) scale(1); }
}
@keyframes fade-up {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (min-width: 640px) {
  .legal-definitions { grid-template-columns: 8rem minmax(0, 1fr); gap: .75rem 1rem; }
  .legal-definitions dd { margin: 0; }
}
@media (min-width: 1024px) {
  .publication { display: grid; grid-template-columns: 40% minmax(0, 1fr); column-gap: 5%; padding-top: 0; padding-inline: 4rem; }
  .identity { position: sticky; top: 0; height: 100svh; display: flex; align-items: center; justify-content: center; }
  .identity-inner { width: 100%; padding-block: 2rem; }
  .logo-link { width: 15rem; }
  .section-nav { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: .65rem; font-size: .9375rem; margin-top: 2rem; color: var(--muted-foreground); }
  .section-nav a { color: var(--muted-foreground); text-decoration: none; }
  .section-nav a:hover { color: var(--primary); }
  .reading-column { width: 100%; margin: 0; padding-top: 8rem; padding-bottom: 3rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .will-reveal { opacity: 1; transform: none; }
  .logo-link:hover { transform: none; }
}
