/* ============================================================
   1971 Capital — homepage concept
   Theme-driven via CSS custom properties set on .site wrapper.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }

/* keep anchored sections clear of the sticky nav (~78px) */
#about, #research, #media, #contact { scroll-margin-top: 100px; }

.site {
  --maxw: 1180px;
  --logo-mask: url("data:image/png;base64,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");
  --pad: 40px;
  /* Institutional theme defaults (the homepage overrides these via Tweaks;
     standalone pages like Research/Media inherit them here). */
  --font-display: 'Spectral', Georgia, serif;
  --font-body: 'Spectral', Georgia, serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, monospace;
  --display-weight: 500;
  --bg: #f4f4f1; --surface: #f9f9f5; --text: #1c1815; --muted: #76716a;
  --line: #e1dfd7; --inverse-bg: #1c1815; --inverse-text: #f3efe6;
  --accent: #9a6a2f;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  min-height: 100vh;
  transition: background .5s ease, color .5s ease;
}

.site ::selection { background: var(--accent); color: #fff; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad); }

h1, h2, h3 { font-family: var(--font-display); font-weight: var(--display-weight, 600); margin: 0; line-height: 1.05; letter-spacing: -0.01em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }

.mono { font-family: var(--font-mono); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; }
.muted { color: var(--muted); }
.accent { color: var(--accent); }

/* ---------- buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  padding: 14px 22px; border-radius: 2px; cursor: pointer; border: 1px solid transparent;
  transition: transform .18s ease, background .2s ease, color .2s ease, border-color .2s ease;
  white-space: nowrap;
}
.btn .arw { transition: transform .2s ease; }
.btn:hover .arw { transform: translateX(4px); }
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { transform: translateY(-2px); filter: brightness(1.05); }
.btn-ghost { background: transparent; color: var(--text); border-color: var(--line); }
.btn-ghost:hover { border-color: var(--text); transform: translateY(-2px); }

/* ---------- nav ---------- */
.nav {
  position: sticky; top: 0; z-index: 50;
  border-bottom: 1px solid transparent;
  transition: background .3s ease, border-color .3s ease, backdrop-filter .3s ease;
}
.nav.scrolled { background: color-mix(in srgb, var(--bg) 82%, transparent); backdrop-filter: blur(14px) saturate(1.1); border-bottom-color: var(--line); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; height: 78px; }
.brand { display: flex; align-items: center; gap: 11px; flex-shrink: 0; white-space: nowrap; }
.brandmark { width: 30px; height: 30px; flex: none; background: var(--accent); -webkit-mask: var(--logo-mask) center/contain no-repeat; mask: var(--logo-mask) center/contain no-repeat; transition: background .25s ease, transform .25s ease; }
.brand:hover .brandmark { background: var(--text); transform: translateY(-1px); }
.brand .mark { font-family: var(--font-display); font-weight: 600; font-size: 22px; letter-spacing: -0.02em; }
.brand .mark b { color: var(--accent); font-weight: 600; }
.brand .sub { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
.nav-links { display: flex; align-items: center; gap: 34px; }
.nav-links a { font-family: var(--font-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); position: relative; padding: 6px 0; }
.nav-links a::after { content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 0; background: var(--accent); transition: width .25s ease; }
.nav-links a:hover { color: var(--text); }
.nav-links a:hover::after { width: 100%; }
.nav-links .navcta { color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, transparent); border: 1px solid var(--accent); padding: 9px 16px; border-radius: 2px; transition: background .2s ease, color .2s ease; }
.nav-links .navcta::after { display: none; }
.nav-links .navcta:hover { background: var(--accent); color: #fff; }

/* hamburger toggle — hidden on desktop, shown on mobile */
.nav-toggle { display: none; width: 44px; height: 44px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; background: none; border: 0; padding: 0; cursor: pointer; margin-right: -8px; }
.nav-toggle span { display: block; width: 23px; height: 2px; background: var(--text); border-radius: 2px; transition: transform .25s ease, opacity .2s ease; }
.nav.open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav.open .nav-toggle span:nth-child(2) { opacity: 0; }
.nav.open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- hero ---------- */
.hero { padding: clamp(70px, 11vw, 150px) 0 clamp(56px, 7vw, 96px); position: relative; overflow: hidden; }
.hero .wrap { position: relative; z-index: 1; }
.hero-motion {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.7) 55%, #000 82%);
  mask-image: linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.7) 55%, #000 82%);
}
.hero-motion canvas { width: 100%; height: 100%; display: block; }

/* ---------- hero backdrops (static gradient treatments) ---------- */
.hero-backdrop { position: absolute; inset: 0; z-index: 0; pointer-events: none; }

/* Orb — a gold eclipse resting on a thin horizon */
.hero-backdrop[data-v="Orb"] {
  background:
    radial-gradient(circle 252px at 78% 50%, transparent 248px, color-mix(in srgb, var(--accent) 38%, transparent) 250px, transparent 253px),
    radial-gradient(circle 580px at 78% 50%, color-mix(in srgb, var(--accent) 26%, transparent), color-mix(in srgb, var(--accent) 10%, transparent) 50%, transparent 72%),
    linear-gradient(to bottom, transparent calc(50% + 108px), color-mix(in srgb, var(--text) 15%, transparent) calc(50% + 108px), color-mix(in srgb, var(--text) 15%, transparent) calc(50% + 109px), transparent calc(50% + 109px));
}

/* Dawn — warm glow rising from the lower right */
.hero-backdrop[data-v="Dawn"] {
  background:
    radial-gradient(110% 70% at 70% 114%, color-mix(in srgb, var(--accent) 22%, transparent), color-mix(in srgb, var(--accent) 8%, transparent) 48%, transparent 74%),
    linear-gradient(180deg, color-mix(in srgb, var(--text) 4%, transparent), transparent 48%);
}

/* Halo — soft gold corner light from the upper right */
.hero-backdrop[data-v="Halo"] {
  background: radial-gradient(72% 96% at 102% -6%, color-mix(in srgb, var(--accent) 18%, transparent), color-mix(in srgb, var(--accent) 6%, transparent) 46%, transparent 64%);
}

/* Veil — satin diagonal sheen, barely-there */
.hero-backdrop[data-v="Veil"] {
  background:
    linear-gradient(112deg, color-mix(in srgb, var(--accent) 9%, transparent), transparent 44%),
    linear-gradient(294deg, color-mix(in srgb, var(--text) 5%, transparent), transparent 50%);
}

/* Vignette — archival paper, edges quietly deepened */
.hero-backdrop[data-v="Vignette"] {
  background: radial-gradient(125% 105% at 46% 26%, transparent 55%, color-mix(in srgb, var(--text) 6%, transparent) 86%, color-mix(in srgb, var(--text) 10%, transparent));
}

/* ---------- animated gradient backdrops ----------
   Richer, more visible gradients on slow-moving oversized layers.
   Motion is deliberately glacial (20–80s) so it reads as polish, not effect.
   The .hero clips the oversized pseudo-layers. */

/* Aurum — a gold bloom that slowly breathes */
.hero-backdrop[data-v="Aurum"] {
  background: linear-gradient(180deg, color-mix(in srgb, var(--text) 3%, transparent), transparent 38%);
}
.hero-backdrop[data-v="Aurum"]::before {
  content: ""; position: absolute; inset: -22%;
  background:
    radial-gradient(42% 56% at 74% 38%, color-mix(in srgb, var(--accent) 36%, transparent), color-mix(in srgb, var(--accent) 13%, transparent) 54%, transparent 76%),
    radial-gradient(34% 46% at 20% 88%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%);
  animation: bd-breathe 24s ease-in-out infinite alternate;
}
@keyframes bd-breathe {
  from { transform: translate3d(-2%, -1.5%, 0) scale(1); opacity: .82; }
  to   { transform: translate3d(2%, 2%, 0) scale(1.07); opacity: 1; }
}

/* Silk — a satin sheen sweeping slowly across the page */
.hero-backdrop[data-v="Silk"] {
  background: linear-gradient(294deg, color-mix(in srgb, var(--text) 5%, transparent), transparent 52%);
}
.hero-backdrop[data-v="Silk"]::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 220%;
  background: linear-gradient(102deg,
    transparent 20%,
    color-mix(in srgb, var(--accent) 13%, transparent) 36%,
    color-mix(in srgb, var(--accent) 28%, transparent) 47%,
    color-mix(in srgb, var(--accent) 11%, transparent) 58%,
    transparent 74%);
  animation: bd-sweep 32s ease-in-out infinite alternate;
}
@keyframes bd-sweep {
  from { transform: translate3d(-9%, 0, 0); }
  to   { transform: translate3d(9%, 0, 0); }
}

/* Horizon — dawn light along a low horizon, drifting laterally */
.hero-backdrop[data-v="Horizon"] {
  background:
    linear-gradient(to bottom, transparent calc(100% - 97px), color-mix(in srgb, var(--text) 16%, transparent) calc(100% - 97px), color-mix(in srgb, var(--text) 16%, transparent) calc(100% - 96px), transparent calc(100% - 96px)),
    linear-gradient(180deg, color-mix(in srgb, var(--text) 4%, transparent), transparent 36%);
}
.hero-backdrop[data-v="Horizon"]::before {
  content: ""; position: absolute; inset: -10% -30%;
  background: radial-gradient(56% 44% at 52% 94%, color-mix(in srgb, var(--accent) 34%, transparent), color-mix(in srgb, var(--accent) 12%, transparent) 52%, transparent 74%);
  animation: bd-drift 38s ease-in-out infinite alternate;
}
@keyframes bd-drift {
  from { transform: translate3d(-7%, 0, 0); }
  to   { transform: translate3d(7%, 0, 0); }
}

/* Meridian — a vast conic wash turning imperceptibly slowly */
.hero-backdrop[data-v="Meridian"] {
  background: radial-gradient(120% 100% at 50% 30%, transparent 60%, color-mix(in srgb, var(--text) 5%, transparent));
}
.hero-backdrop[data-v="Meridian"]::before {
  content: ""; position: absolute; top: 50%; left: 76%; width: 170vmax; height: 170vmax;
  margin: -85vmax 0 0 -85vmax;
  background: conic-gradient(from 0deg,
    transparent,
    color-mix(in srgb, var(--accent) 26%, transparent) 12%,
    transparent 27%,
    color-mix(in srgb, var(--text) 7%, transparent) 50%,
    transparent 63%,
    color-mix(in srgb, var(--accent) 15%, transparent) 82%,
    transparent);
  -webkit-mask-image: radial-gradient(circle 620px at center, #000, rgba(0,0,0,.45) 55%, transparent 100%);
  mask-image: radial-gradient(circle 620px at center, #000, rgba(0,0,0,.45) 55%, transparent 100%);
  animation: bd-turn 80s linear infinite;
}
@keyframes bd-turn {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-backdrop::before, .hero-backdrop::after { animation: none !important; }
}
.hero-eyebrow { display: flex; align-items: center; gap: 14px; color: var(--muted); margin-bottom: 30px; }
.hero-eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.hero h1 {
  font-size: clamp(44px, 7.2vw, 104px);
  line-height: 0.98; letter-spacing: -0.025em; max-width: 16ch;
}
.hero h1 em { font-style: italic; color: var(--accent); font-weight: inherit; }
.hero-sub { margin-top: 34px; font-size: clamp(18px, 2vw, 23px); line-height: 1.5; max-width: 56ch; color: var(--muted); }
.hero-actions { margin-top: 44px; display: flex; gap: 16px; flex-wrap: wrap; }

/* focus strip */
.focus { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.focus-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.focus-item { padding: 34px 0; padding-right: 30px; }
.focus-grid .focus-item + .focus-item { border-left: 1px solid var(--line); padding-left: 34px; }
.focus-item .n { color: var(--accent); margin-bottom: 14px; }
.focus-item h3 { font-size: 21px; margin-bottom: 8px; letter-spacing: -0.01em; }
.focus-item p { font-size: 15px; color: var(--muted); line-height: 1.5; }

/* ---------- thesis band (inverse) ---------- */
.thesis { background: var(--inverse-bg); color: var(--inverse-text); padding: clamp(80px, 11vw, 150px) 0; position: relative; overflow: hidden; }
.thesis-motion { position: absolute; inset: 0; z-index: 1; opacity: .55; pointer-events: none; }
.thesis-motion canvas { width: 100%; height: 100%; display: block; }
.thesis .mono { color: color-mix(in srgb, var(--inverse-text) 55%, transparent); }
.thesis-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; align-items: center; position: relative; z-index: 2; }
.thesis .bignum {
  font-family: var(--font-display); font-weight: var(--display-weight, 600);
  font-size: clamp(120px, 24vw, 300px); line-height: 0.8; letter-spacing: -0.04em;
  color: transparent; -webkit-text-stroke: 1px color-mix(in srgb, var(--inverse-text) 40%, transparent);
}
.thesis h2 { font-size: clamp(28px, 3.4vw, 46px); line-height: 1.08; margin-bottom: 26px; max-width: 18ch; }
.thesis h2 em { font-style: italic; color: var(--accent); }
.thesis p { color: color-mix(in srgb, var(--inverse-text) 80%, transparent); font-size: 18px; line-height: 1.6; max-width: 50ch; }
.thesis p + p { margin-top: 18px; }
.thesis .thesis-close { color: var(--accent); font-family: var(--font-display); font-style: italic; font-size: clamp(20px, 2.3vw, 28px); line-height: 1.3; margin-top: 26px; max-width: 24ch; }
.thesis-watermark { position: absolute; right: -2%; bottom: -16%; font-family: var(--font-display); font-weight: var(--display-weight,600); font-size: 46vw; line-height: 1; color: color-mix(in srgb, var(--inverse-text) 5%, transparent); z-index: 1; pointer-events: none; user-select: none; }
.thesis-markwrap { display: flex; align-items: center; justify-content: center; }
.thesis-mark { width: min(40vw, 400px); max-width: 400px; aspect-ratio: 1 / 1; background: var(--accent); -webkit-mask: var(--logo-mask) center/contain no-repeat; mask: var(--logo-mask) center/contain no-repeat; filter: drop-shadow(0 24px 60px color-mix(in srgb, var(--accent) 24%, transparent)); }

/* ---------- founder ---------- */
.founder { padding: clamp(80px, 11vw, 140px) 0; }
.founder-grid { display: grid; grid-template-columns: 0.6fr 1.4fr; grid-template-areas: "photo head" "photo detail"; column-gap: 64px; row-gap: 22px; align-items: start; }
.founder-head { grid-area: head; }
.founder-photo-wrap { grid-area: photo; }
.founder-detail { grid-area: detail; }
.founder-photo { aspect-ratio: 4/5; width: 100%; object-fit: cover; object-position: center 20%; border-radius: 3px; display: block; }
.founder-kicker { color: var(--accent); margin-bottom: 22px; }
.founder h2 { font-size: clamp(28px, 3.6vw, 44px); margin-bottom: 8px; }
.founder .role { font-family: var(--font-mono); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: 28px; }
.founder p { color: var(--muted); font-size: 18px; line-height: 1.6; max-width: 54ch; }
.founder p + p { margin-top: 16px; }
.founder .creds { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.founder .cred { font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--text); border: 1px solid var(--line); padding: 8px 13px; border-radius: 2px; }

/* ---------- collections: research + media cards ---------- */
.collection { padding: clamp(48px, 6vw, 78px) 0; border-top: 1px solid var(--line); }
/* Research band sits on the lighter surface tone (like Subscribe) to break up the page */
.research.collection { background: var(--surface); }
.section-head { margin-bottom: clamp(34px, 4vw, 50px); }
.section-head h2 { font-size: clamp(30px, 4vw, 52px); letter-spacing: -0.02em; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 2.4vw, 36px); }
.card { display: flex; flex-direction: column; }
a.card { transition: transform .25s ease; }
a.card:hover { transform: translateY(-4px); }

.card-cover { position: relative; aspect-ratio: 16 / 10; border-radius: 3px; overflow: hidden; border: 1px solid var(--line); background: var(--surface); }
.card-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
a.card:hover .card-cover img { transform: scale(1.035); }

/* typographic cover (used when no image is set) */
.cover-tile { position: absolute; inset: 0; background: var(--inverse-bg); color: var(--inverse-text); display: flex; align-items: flex-end; padding: 22px; overflow: hidden; }
.cover-tile .ct-mark { position: absolute; right: -14%; top: -22%; width: 62%; aspect-ratio: 1/1; background: color-mix(in srgb, var(--accent) 70%, transparent); -webkit-mask: var(--logo-mask) center/contain no-repeat; mask: var(--logo-mask) center/contain no-repeat; opacity: .26; }
.cover-tile .ct-body { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 9px; }
.cover-tile .ct-kicker { color: var(--accent); }
.cover-tile .ct-title { font-family: var(--font-display); font-weight: var(--display-weight,600); font-style: italic; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.16; letter-spacing: -0.01em; max-width: 22ch; }

/* placeholder "add cover" state */
.cover-add { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; border: 1px dashed color-mix(in srgb, var(--muted) 55%, transparent); border-radius: 3px; }
.cover-add .mono { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.card.is-placeholder .card-cover { background: transparent; border-style: dashed; }
.card.is-placeholder .card-title { color: var(--muted); }

.card-body { padding-top: 18px; display: flex; flex-direction: column; gap: 9px; }
.card-date { font-size: 12px; letter-spacing: .06em; color: var(--muted); }
.card-title { font-family: var(--font-display); font-weight: var(--display-weight,600); font-size: clamp(19px, 1.7vw, 24px); line-height: 1.14; letter-spacing: -0.01em; transition: color .2s ease; }
a.card:hover .card-title { color: var(--accent); }
.card-meta { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.card-desc { font-family: var(--font-body); font-size: 14.5px; line-height: 1.45; color: var(--muted); max-width: 40ch; }
.card-go { font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin-top: 4px; }
.card-go .arw { transition: transform .2s ease; display: inline-block; }
a.card:hover .card-go .arw { transform: translateX(4px); }

.more-row { margin-top: clamp(34px, 4vw, 52px); padding-top: 26px; border-top: 1px solid var(--line); display: flex; justify-content: flex-end; }
.more-link { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--text); padding: 6px 2px; }
.more-link .arw { transition: transform .2s ease; }
.more-link:hover { color: var(--accent); }
.more-link:hover .arw { transform: translateX(5px); }

/* ---------- archive pages (Research / Media) ---------- */
.archive-head { padding: clamp(70px, 10vw, 130px) 0 clamp(34px, 4vw, 56px); }
.archive-kicker { color: var(--accent); margin-bottom: 22px; }
.archive-head h1 { font-size: clamp(40px, 6.4vw, 88px); line-height: 0.98; letter-spacing: -0.025em; }
.archive-lede { margin-top: 26px; font-size: clamp(17px, 1.7vw, 20px); color: var(--muted); max-width: 52ch; line-height: 1.5; }
.archive-collection { padding: 0 0 clamp(70px, 9vw, 120px); border-top: none; }
.archive-collection .card-grid { grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 2.4vw, 36px); }

/* ---------- about page ---------- */
.about-head { padding: clamp(70px, 10vw, 130px) 0 clamp(40px, 5vw, 72px); }
.about-head h1 { font-size: clamp(40px, 6.4vw, 88px); line-height: 0.98; letter-spacing: -0.025em; margin-top: 22px; }
.about-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(30px, 5vw, 72px); margin-top: clamp(40px, 5vw, 64px); align-items: start; }
.about-lead { font-family: var(--font-display); font-weight: var(--display-weight,500); font-size: clamp(24px, 2.8vw, 34px); line-height: 1.18; letter-spacing: -0.015em; max-width: 18ch; }
.about-body p { color: var(--muted); font-size: clamp(17px, 1.6vw, 19px); line-height: 1.6; max-width: 56ch; }
.about-body p + p { margin-top: 18px; }
@media (max-width: 940px) { .about-grid { grid-template-columns: 1fr; gap: 26px; } }

/* ---------- legal documents (Privacy / Terms) ---------- */
.legal-doc { max-width: 770px; margin: 0 auto; padding: clamp(56px, 8vw, 104px) 0 clamp(70px, 9vw, 120px); }
.legal-doc .legal-kicker { color: var(--accent); margin-bottom: 20px; }
.legal-doc h1 { font-size: clamp(36px, 5.4vw, 64px); line-height: 1.02; letter-spacing: -0.02em; }
.legal-doc .effective { font-family: var(--font-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-top: 22px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.legal-doc .intro { font-size: 19px; line-height: 1.6; color: var(--text); margin-top: 30px; }
.legal-doc h2 { font-size: clamp(20px, 2vw, 26px); letter-spacing: -0.01em; margin: clamp(34px, 4vw, 50px) 0 14px; }
.legal-doc p { color: var(--muted); font-size: 18px; line-height: 1.6; margin-top: 14px; }
.legal-doc ul { color: var(--muted); font-size: 18px; line-height: 1.6; margin: 14px 0 0; padding-left: 20px; }
.legal-doc li { margin-top: 6px; }
.legal-doc a { color: var(--accent); }
.legal-doc a:hover { text-decoration: underline; }
.legal-note { margin-top: 40px; padding: 18px 20px; border: 1px dashed color-mix(in srgb, var(--muted) 50%, transparent); border-radius: 3px; font-family: var(--font-mono); font-size: 12px; line-height: 1.6; letter-spacing: .02em; color: var(--muted); }
.legal-back { display: inline-flex; align-items: center; gap: 10px; margin-top: 44px; font-family: var(--font-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--text); }
.legal-back:hover { color: var(--accent); }

/* ---------- signup ---------- */
.signup { background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: clamp(64px, 8vw, 104px) 0; }
.signup-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.signup h2 { font-size: clamp(28px, 3.6vw, 44px); line-height: 1.05; max-width: 16ch; }
.signup .lede { color: var(--muted); margin-top: 18px; font-size: 17px; max-width: 44ch; }
.form { display: flex; gap: 10px; flex-wrap: wrap; }
.form input {
  flex: 1; min-width: 220px; background: var(--bg); border: 1px solid var(--line); color: var(--text);
  padding: 16px 18px; border-radius: 2px; font-family: var(--font-mono); font-size: 13px; letter-spacing: .02em;
  transition: border-color .2s ease;
}
.form input::placeholder { color: var(--muted); }
.form input:focus { outline: none; border-color: var(--accent); }
.form .note { width: 100%; margin-top: 14px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.form .note.ok { color: var(--accent); }

/* ---------- footer ---------- */
.footer { padding: 70px 0 40px; }
.footer-top { display: flex; justify-content: space-between; gap: 40px; flex-wrap: wrap; padding-bottom: 44px; border-bottom: 1px solid var(--line); }
.footer-brand .mark { font-family: var(--font-display); font-size: 26px; font-weight: 600; letter-spacing: -0.02em; }
.footer-mark { display: block; width: 46px; height: 46px; background: var(--accent); -webkit-mask: var(--logo-mask) center/contain no-repeat; mask: var(--logo-mask) center/contain no-repeat; margin-bottom: 20px; }
.footer-brand .mark b { color: var(--accent); }
.footer-brand p { color: var(--muted); margin-top: 12px; max-width: 34ch; font-size: 15px; }
.footer-cols { display: flex; gap: 70px; }
.footer-col h4 { font-family: var(--font-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: 18px; font-weight: 500; }
.footer-col a { display: block; font-size: 15px; color: var(--text); padding: 5px 0; opacity: .85; white-space: nowrap; line-height: 1.4; transition: opacity .2s ease, color .2s ease; }
.footer-col a:hover { opacity: 1; color: var(--accent); }
.disclaimer { margin-top: 36px; color: var(--muted); font-size: 12.5px; line-height: 1.65; max-width: 88ch; }
.footer-bottom { margin-top: 30px; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; align-items: center; font-family: var(--font-mono); font-size: 11px; letter-spacing: .06em; color: var(--muted); }
.footer-bottom .legal { display: flex; gap: 24px; align-items: center; }
.footer-bottom .legal .eff { color: color-mix(in srgb, var(--muted) 75%, transparent); letter-spacing: .08em; }
.footer-bottom a:hover { color: var(--accent); }

/* ---------- placeholder ---------- */
.ph { position: relative; background: var(--surface); border: 1px solid var(--line); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.ph::before { content: ""; position: absolute; inset: 0; background-image: repeating-linear-gradient(45deg, transparent, transparent 9px, color-mix(in srgb, var(--muted) 13%, transparent) 9px, color-mix(in srgb, var(--muted) 13%, transparent) 10px); }
.ph span { position: relative; font-family: var(--font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); background: var(--surface); padding: 7px 12px; border: 1px solid var(--line); border-radius: 2px; }

/* ---------- optional paper grain (Tweaks toggle) ---------- */
.site.grain::after {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 30;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='280' height='280' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity: .045;
}

/* ---------- reveal (transform-only entrance; content is always visible) ---------- */
.r71reveal { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .r71reveal.r71in { animation: r71rise .65s cubic-bezier(.2,.7,.2,1) both; }
}
@keyframes r71rise { from { transform: translateY(16px); } to { transform: translateY(0); } }

/* ---------- responsive ---------- */
@media (max-width: 940px) {
  .site { --pad: 24px; }
  .nav-toggle { display: flex; }
  .nav-links {
    position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0;
    background: color-mix(in srgb, var(--bg) 96%, transparent);
    backdrop-filter: blur(16px) saturate(1.1);
    border-bottom: 1px solid var(--line);
    padding: 6px var(--pad) 20px;
    box-shadow: 0 22px 44px -26px rgba(0,0,0,.5);
    opacity: 0; transform: translateY(-10px); pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
  }
  .nav:not(.open) .nav-links { display: none; }
  .nav.open .nav-links { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .nav.open { background: color-mix(in srgb, var(--bg) 96%, transparent); backdrop-filter: blur(16px) saturate(1.1); border-bottom-color: var(--line); }
  .nav-links a:not(.navcta) { display: block; padding: 16px 2px; font-size: 13px; color: var(--text); border-bottom: 1px solid color-mix(in srgb, var(--line) 65%, transparent); }
  .nav-links a:not(.navcta)::after { display: none; }
  .nav-links .navcta { margin-top: 18px; text-align: center; padding: 14px 16px; font-size: 13px; border-radius: 2px; }

  .thesis-grid, .signup-grid { grid-template-columns: 1fr; gap: 38px; }
  .founder-grid { grid-template-columns: 1fr; grid-template-areas: "head" "photo" "detail"; row-gap: 28px; }
  .founder-photo { max-width: 320px; }
  .thesis .bignum { display: none; }
  /* Mark becomes a large, faint watermark centered behind the whole section. */
  .thesis-markwrap { position: absolute; inset: 0; z-index: 0; padding: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; }
  .thesis-mark { width: min(86vw, 460px); max-width: none; opacity: 0.07; filter: none; transform: translateY(4%); }
  .thesis-grid { grid-template-columns: 1fr; }
  .focus-grid { grid-template-columns: 1fr; }
  .focus-grid .focus-item + .focus-item { border-left: none; border-top: 1px solid var(--line); padding-left: 0; }
  .card-grid, .archive-collection .card-grid { grid-template-columns: 1fr; gap: 30px; }
}
@media (min-width: 941px) and (max-width: 1080px) {
  .card-grid { gap: 22px; }
}
