:root {
  --pub-bg: #080a0b;
  --pub-bg-soft: #0c0f11;
  --pub-text: #f3f2ee;
  --pub-muted: #9ba1a6;
  --pub-muted-strong: #b9bec2;
  --pub-line: rgba(243, 242, 238, .105);
  --pub-line-strong: rgba(243, 242, 238, .22);
  --pub-blue: #a7c8dc;
  --pub-paper: #e9e8e2;
  --pub-paper-text: #101315;
  --pub-max: 1512px;
  --pub-gutter: clamp(20px, 3.2vw, 56px);
  --pub-grid-gap: clamp(16px, 1.7vw, 28px);
}

.pub-home {
  margin: 0;
  background: var(--pub-bg);
  color: var(--pub-text);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.pub-home a { color: inherit; }
.pub-home main { overflow: clip; }

.pub-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid rgba(255,255,255,.075);
  background: rgba(8,10,11,.82);
  backdrop-filter: blur(22px) saturate(120%);
}
.pub-nav__inner {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  min-height: 68px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}
.pub-brand {
  display: inline-flex;
  gap: 9px;
  align-items: baseline;
  text-decoration: none;
  letter-spacing: -.035em;
}
.pub-brand span {
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--pub-blue);
  font-weight: 760;
}
.pub-brand strong { font-size: 16px; font-weight: 560; }
.pub-links {
  display: flex;
  justify-content: flex-end;
  gap: clamp(18px, 2vw, 32px);
  min-width: 0;
}
.pub-links a,
.pub-nav__cta {
  position: relative;
  text-decoration: none;
  color: #aeb4b9;
  font-size: 12px;
  letter-spacing: .015em;
  transition: color 180ms ease;
}
.pub-links a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -8px;
  height: 1px;
  background: currentColor;
  transition: right 180ms ease;
}
.pub-links a:hover,
.pub-nav__cta:hover { color: #fff; }
.pub-links a:hover::after,
.pub-links a[aria-current="page"]::after { right: 0; }
.pub-nav__cta {
  justify-self: end;
  color: #e2e5e7;
  padding-bottom: 2px;
}
.pub-nav__cta::after { content: ' →'; color: var(--pub-blue); }

.pub-hero {
  position: relative;
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  min-height: calc(100svh - 68px);
  margin: 0 auto;
  padding: clamp(96px, 12vh, 164px) 0 clamp(88px, 11vh, 140px);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--pub-grid-gap);
  align-content: end;
  border-bottom: 1px solid var(--pub-line);
}
.pub-hero::before {
  content: '';
  position: absolute;
  width: min(58vw, 920px);
  aspect-ratio: 1;
  top: -35%;
  right: -20%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(135,177,204,.065), rgba(135,177,204,0) 68%);
  pointer-events: none;
}
.pub-hero > * { position: relative; }
.pub-kicker,
.pub-index {
  color: var(--pub-blue);
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: .19em;
  text-transform: uppercase;
  font-weight: 760;
}
.pub-hero .pub-kicker { grid-column: 1 / 5; }
.pub-hero h1 {
  grid-column: 1 / 12;
  margin: 28px 0 42px;
  max-width: 1320px;
  font-size: clamp(58px, 8.4vw, 132px);
  line-height: .885;
  letter-spacing: -.073em;
  font-weight: 590;
  text-wrap: balance;
}
.pub-hero > p {
  grid-column: 8 / 13;
  margin: 0;
  color: #b8bdc1;
  font-size: clamp(18px, 1.55vw, 24px);
  line-height: 1.48;
  letter-spacing: -.018em;
}
.pub-actions {
  grid-column: 8 / 13;
  margin-top: 38px;
  display: flex;
  gap: 26px;
  flex-wrap: wrap;
  align-items: center;
}
.pub-action {
  min-height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  border: 0;
  border-bottom: 1px solid #56616a;
  text-decoration: none;
  font-size: 13px;
  font-weight: 620;
  transition: border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.pub-action::after { content: '→'; color: var(--pub-blue); transition: transform 180ms ease; }
.pub-action:hover { border-color: #aab2b8; }
.pub-action:hover::after { transform: translateX(4px); }
.pub-action--primary {
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid #ecebe7;
  background: #ecebe7;
  color: #0b0e10 !important;
}
.pub-action--primary::after { color: #40515c; }
.pub-action--primary:hover { background: #fff; border-color: #fff; }
.pub-action--large { min-height: 54px; padding: 0 24px; font-size: 14px; }

.pub-statement {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  margin: 0 auto;
  padding: clamp(120px, 13vw, 210px) 0;
  border-bottom: 1px solid var(--pub-line);
}
.pub-statement--artifact {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--pub-grid-gap);
  align-items: center;
}
.pub-statement--artifact .pub-copy { grid-column: 1 / 6; }
.pub-statement--artifact .pub-artifact { grid-column: 7 / 13; }
.pub-statement--reverse .pub-copy { grid-column: 8 / 13; order: initial; }
.pub-statement--reverse .pub-artifact { grid-column: 1 / 7; order: initial; }
.pub-copy h2,
.pub-band h2,
.pub-research-callout h2,
.pub-terminal h2 {
  margin: 24px 0 30px;
  font-size: clamp(42px, 5.25vw, 82px);
  line-height: .965;
  letter-spacing: -.058em;
  font-weight: 585;
  text-wrap: balance;
}
.pub-copy p,
.pub-band p,
.pub-research-callout p,
.pub-terminal p {
  margin: 0;
  max-width: 680px;
  color: var(--pub-muted);
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.58;
  letter-spacing: -.012em;
}
.pub-depth {
  margin-top: 36px;
  display: inline-flex;
  gap: 11px;
  align-items: center;
  color: #d7dbde;
  text-decoration: none;
  border-bottom: 1px solid #465058;
  padding-bottom: 5px;
  font-size: 13px;
  transition: border-color 180ms ease, color 180ms ease;
}
.pub-depth span { display: inline-block; transition: transform 180ms ease; }
.pub-depth:hover { border-color: #a8b0b6; color: #fff; }
.pub-depth:hover span { transform: translate(3px, -2px); }

.pub-artifact {
  margin: 0;
  min-width: 0;
  position: relative;
}
.pub-artifact::before {
  content: '';
  position: absolute;
  inset: 8% 4% 8% 4%;
  background: radial-gradient(circle at 58% 45%, rgba(166,199,220,.055), transparent 62%);
  pointer-events: none;
}
.pub-artifact img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  background: transparent;
  opacity: .98;
}

.pub-reality {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  margin: 0 auto;
  padding: clamp(140px, 16vw, 250px) 0;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--pub-grid-gap);
  align-items: start;
  border-bottom: 1px solid var(--pub-line);
}
.pub-reality .pub-index { grid-column: 1 / 3; padding-top: 10px; }
.pub-reality blockquote {
  grid-column: 3 / 10;
  margin: 0;
  font-size: clamp(38px, 5vw, 76px);
  line-height: 1.015;
  letter-spacing: -.052em;
  font-weight: 540;
  text-wrap: balance;
}
.pub-reality > p {
  grid-column: 10 / 13;
  margin: 10px 0 0;
  color: var(--pub-muted);
  font-size: 15px;
  line-height: 1.68;
}

.pub-band {
  width: 100%;
  padding: clamp(130px, 14vw, 220px) max(var(--pub-gutter), calc((100vw - var(--pub-max))/2));
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--pub-grid-gap);
  align-items: center;
  background: var(--pub-paper);
  color: var(--pub-paper-text);
}
.pub-band__copy { grid-column: 1 / 6; }
.pub-band > .pub-artifact { grid-column: 7 / 13; }
.pub-band .pub-index { color: #4a6577; }
.pub-band p { color: #53595d; }
.pub-band .pub-depth { color: #20272c; border-color: #78838a; }
.pub-band .pub-artifact::before { background: radial-gradient(circle at 58% 45%, rgba(45,72,89,.08), transparent 62%); }
.pub-band .pub-artifact img { background: transparent; filter: invert(1) hue-rotate(180deg); mix-blend-mode: multiply; }

.pub-research-callout {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  margin: 0 auto;
  padding: clamp(140px, 15vw, 240px) 0;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--pub-grid-gap);
  border-bottom: 1px solid var(--pub-line);
}
.pub-research-callout > div { grid-column: 1 / 9; }
.pub-research-callout > p { grid-column: 9 / 13; align-self: end; padding-bottom: 10px; }
.pub-research-callout .pub-depth { grid-column: 9 / 13; justify-self: start; }

.pub-terminal {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  margin: 0 auto;
  padding: clamp(150px, 17vw, 270px) 0;
}
.pub-terminal h2 { max-width: 1120px; }
.pub-terminal p { max-width: 700px; }
.pub-terminal .pub-action { margin-top: 44px; }

.pub-footer {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  margin: 0 auto;
  padding: 28px 0 48px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  border-top: 1px solid var(--pub-line);
  color: #6f777d;
  font-size: 11px;
  letter-spacing: .02em;
}
.pub-footer a { text-decoration: none; }
.pub-footer a:hover { color: #b8bec2; }

@media (max-width: 1100px) {
  .pub-hero > p, .pub-actions { grid-column: 6 / 13; }
  .pub-statement--artifact .pub-copy { grid-column: 1 / 7; }
  .pub-statement--artifact .pub-artifact { grid-column: 7 / 13; }
  .pub-statement--reverse .pub-copy { grid-column: 7 / 13; }
  .pub-statement--reverse .pub-artifact { grid-column: 1 / 7; }
  .pub-reality blockquote { grid-column: 3 / 9; }
  .pub-reality > p { grid-column: 9 / 13; }
}

@media (max-width: 900px) {
  .pub-nav__inner { grid-template-columns: auto 1fr; }
  .pub-links { justify-content: flex-end; overflow-x: auto; scrollbar-width: none; }
  .pub-nav__cta { display: none; }
  .pub-hero { min-height: auto; padding-top: 120px; }
  .pub-hero h1 { grid-column: 1 / 13; }
  .pub-hero > p, .pub-actions { grid-column: 5 / 13; }
  .pub-statement--artifact, .pub-band, .pub-research-callout, .pub-reality { display: grid; grid-template-columns: 1fr; }
  .pub-statement--artifact .pub-copy,
  .pub-statement--artifact .pub-artifact,
  .pub-statement--reverse .pub-copy,
  .pub-statement--reverse .pub-artifact,
  .pub-band__copy,
  .pub-band > .pub-artifact,
  .pub-reality .pub-index,
  .pub-reality blockquote,
  .pub-reality > p,
  .pub-research-callout > div,
  .pub-research-callout > p,
  .pub-research-callout .pub-depth { grid-column: auto; }
  .pub-statement--reverse .pub-copy, .pub-statement--reverse .pub-artifact { order: initial; }
  .pub-reality { gap: 36px; }
  .pub-research-callout > p { padding-bottom: 0; }
}

@media (max-width: 680px) {
  :root { --pub-gutter: 16px; }
  .pub-nav { position: static; }
  .pub-nav__inner { min-height: auto; grid-template-columns: 1fr; gap: 13px; padding: 16px 0 14px; }
  .pub-links { justify-content: flex-start; gap: 20px; padding-bottom: 4px; }
  .pub-hero { padding-top: 76px; padding-bottom: 82px; }
  .pub-hero h1 { margin-top: 22px; font-size: clamp(50px, 15.2vw, 76px); line-height: .91; }
  .pub-hero > p, .pub-actions { grid-column: 1 / 13; }
  .pub-actions { margin-top: 32px; }
  .pub-statement, .pub-reality, .pub-research-callout, .pub-terminal { padding-top: 100px; padding-bottom: 100px; }
  .pub-band { padding-top: 105px; padding-bottom: 105px; }
  .pub-copy h2, .pub-band h2, .pub-research-callout h2, .pub-terminal h2 { font-size: clamp(39px, 11.5vw, 60px); }
  .pub-reality blockquote { font-size: clamp(36px, 10.8vw, 56px); }
  .pub-footer { grid-template-columns: 1fr; gap: 7px; }
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .pub-statement .pub-copy,
    .pub-statement .pub-artifact,
    .pub-reality blockquote,
    .pub-band__copy,
    .pub-band .pub-artifact,
    .pub-research-callout > div,
    .pub-terminal > * {
      animation: pub-reveal linear both;
      animation-timeline: view();
      animation-range: entry 5% cover 28%;
    }
    @keyframes pub-reveal {
      from { opacity: .35; transform: translateY(22px); }
      to { opacity: 1; transform: translateY(0); }
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
