:root {
  color-scheme: dark;
  --ink: #09090a;
  --surface: #111113;
  --surface-2: #171719;
  --paper: #f4f0e8;
  --muted: #a4a09a;
  --line: #2c2a2b;
  --ember: #ff5a36;
  --violet: #9d7bff;
  --max: 1120px;
}

* { box-sizing: border-box; }

html { background: var(--ink); scroll-behavior: smooth; }

body {
  margin: 0;
  min-height: 100vh;
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--ink);
  color: var(--paper);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-underline-offset: 0.2em; }
a:hover { color: var(--ember); }

.site-header,
footer {
  width: min(calc(100% - 40px), var(--max));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.site-header { padding: 24px 0; border-bottom: 1px solid var(--line); }

.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand img { border-radius: 11px; }
.brand span { display: grid; line-height: 1.15; }
.brand strong { letter-spacing: -0.02em; }
.brand small { margin-top: 4px; color: var(--muted); font-size: 0.69rem; text-transform: uppercase; letter-spacing: 0.12em; }
.header-link { font-size: 0.88rem; font-weight: 700; text-decoration: none; }

main { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }

.hero { max-width: 850px; padding: clamp(72px, 11vw, 150px) 0 96px; }
.eyebrow,
.section-label { color: var(--muted); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.status-dot { display: inline-block; width: 8px; height: 8px; margin-right: 9px; border-radius: 50%; background: var(--ember); box-shadow: 0 0 0 5px rgb(255 90 54 / 0.12); }
h1 { margin: 20px 0 24px; max-width: 850px; font-size: clamp(3.25rem, 9vw, 7.6rem); line-height: 0.88; letter-spacing: -0.075em; }
.lede { max-width: 700px; margin: 0; color: #ccc7bf; font-size: clamp(1.12rem, 2.1vw, 1.45rem); line-height: 1.5; }
.quiet { color: var(--muted); font-size: 0.9rem; }

.store-card { max-width: 480px; margin: 42px 0 18px; padding: 22px 24px; border: 1px solid var(--line); border-left: 3px solid var(--violet); background: var(--surface); }
.store-card span { display: block; color: var(--muted); font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.12em; }
.store-card strong { display: block; margin-top: 6px; font-size: 1.16rem; }
.store-card p { margin: 9px 0 0; color: var(--muted); font-size: 0.9rem; }

.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; padding: 0 0 96px; background: var(--line); border: 1px solid var(--line); }
.principles .section-label { grid-column: 1 / -1; margin: 0; padding: 18px 22px; background: var(--ink); }
.principles article { min-height: 260px; padding: 30px 26px; background: var(--surface); }
.principles article span { color: var(--ember); font: 700 0.76rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.principles h2 { margin: 42px 0 12px; font-size: 1.38rem; letter-spacing: -0.03em; }
.principles article p { margin: 0; color: var(--muted); font-size: 0.95rem; }

.legal-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-bottom: 96px; background: var(--line); border: 1px solid var(--line); }
.legal-grid a { min-height: 128px; padding: 24px; background: var(--surface); text-decoration: none; transition: background 160ms ease; }
.legal-grid a:hover { background: var(--surface-2); color: var(--paper); }
.legal-grid span { display: block; color: var(--muted); font-size: 0.75rem; letter-spacing: 0.09em; text-transform: uppercase; }
.legal-grid strong { display: block; margin-top: 22px; font-size: 1.15rem; }

footer { padding: 26px 0 46px; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.84rem; }
footer p { margin: 0; }

.legal-page { max-width: 850px; padding: 72px 0 100px; }
.legal-page > h1 { margin: 0 0 14px; font-size: clamp(2.8rem, 7vw, 5rem); line-height: 0.98; }
.legal-page > .effective { margin: 0 0 46px; color: var(--muted); }
.panel { padding: 28px 0; border-top: 1px solid var(--line); }
.panel h2 { margin: 0 0 12px; font-size: 1.05rem; letter-spacing: -0.02em; }
.panel p { margin: 0 0 12px; color: #c8c3bc; }
.panel p:last-child { margin-bottom: 0; }

@media (max-width: 760px) {
  .principles { grid-template-columns: 1fr; }
  .principles .section-label { grid-column: auto; }
  .principles article { min-height: auto; }
  .principles h2 { margin-top: 24px; }
  .legal-grid { grid-template-columns: 1fr; }
  footer { align-items: flex-start; flex-direction: column; gap: 6px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
