/* October 2026 redesign: the page system for redesigned pages (Letra design language).
   Chrome (nav, footer) lives in r26-chrome.css. Fonts come from tokens.css. */

body{margin:0;background:#f4f5f8;color:#131417;font-family:"Hanken Grotesk",-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
a{color:inherit;text-decoration:none}
::selection{background:#fff252;color:#131417}
:focus-visible{outline:2px solid #131417;outline-offset:2px;box-shadow:0 0 0 4px #fff;border-radius:4px}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
.wrap{max-width:1344px;margin:0 auto;padding:0 48px}
.embed-narrow{display:none}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:999px;background:#fff252;color:#131417;font-size:15px;font-weight:700;transition:transform 160ms cubic-bezier(.23,1,.32,1),background-color 160ms ease;white-space:nowrap}
.pill:active{transform:scale(.97)}
.pill.ink{background:#131417;color:#fff}
.ghost{display:inline-flex;align-items:center;gap:8px;height:48px;font-size:15px;font-weight:700;color:#fff;transition:opacity 160ms ease}
.more{font-size:15px;font-weight:700;color:#131417;display:inline-flex;gap:8px;align-items:center;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:#c9cfdb;transition:text-decoration-color 160ms ease}
.more.on-blue{color:#fff;text-decoration-color:rgba(255,255,255,.45)}
h1.band{margin:0;font-size:clamp(56px,7.2vw,112px);line-height:.92;font-weight:700;letter-spacing:-0.055em;text-wrap:balance}
h2{margin:0;font-size:clamp(36px,4vw,60px);line-height:.98;font-weight:700;letter-spacing:-0.045em;text-wrap:balance}
h3{margin:0;font-size:22px;line-height:1.15;font-weight:700;letter-spacing:-0.025em}
.lead{margin:0;font-size:19px;line-height:1.5;color:#4a4f58;max-width:52ch;text-wrap:pretty}
.sub{margin:0;font-size:21px;line-height:1.42;font-weight:600;letter-spacing:-0.015em;max-width:38ch}
.body{font-size:16px;line-height:1.55;color:#4a4f58}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.st{font-size:12.5px;font-weight:650;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.live{color:#1e7a46}.early{color:#2450e8}.cat{color:#6b717b}
.card{background:#fff;border:1px solid #dfe3ec;border-radius:10px}
.hair{border-top:1px solid #dfe3ec}
.mono{width:44px;height:44px;border-radius:8px;background:#eef1fb;color:#2450e8;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;letter-spacing:-0.02em;flex:none}
.wait{display:inline-block;width:9px;height:9px;border-radius:50%;background:#fff252;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #131417;flex:none}
.chip{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:650;border:1px solid #dfe3ec;background:#fff;transition:border-color 160ms ease,background-color 160ms ease}
.chip.on{background:#131417;color:#fff;border-color:#131417}
.code{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:13.5px;line-height:1.6}
.foot a{transition:color 160ms ease}
@media (hover:hover) and (pointer:fine){.pill:hover{background:#fff576}.pill.ink:hover{background:#2b2f36}.navlink:hover{color:#2450e8}.ghost:hover{opacity:.8}.more:hover{text-decoration-color:currentColor}.chip:hover{border-color:#b9c1d1}.chip.on:hover{border-color:#131417}.foot a:hover{color:#fff}.lift:hover{border-color:#b9c1d1}}
@media (max-width:700px){.embed-wide{display:none!important}.embed-narrow{display:block}}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
html{scroll-behavior:smooth}
img{max-width:100%;height:auto}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:#131417;color:#fff;padding:10px 16px;border-radius:8px}
.skip-link:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.yd{color:#fff252}.bd{color:#2450e8}
/* closing band: cobalt, flows into the cobalt footer */
.r-close{margin-top:160px;background:#2450e8;color:#fff;padding:104px 0 0}
.r-close h2{font-size:clamp(48px,6vw,88px);color:#fff}
.r-close p{margin:22px 0 0;font-size:19px;line-height:1.5;color:rgba(255,255,255,.9);max-width:46ch}
.r-close-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end}
.r-close .pill{height:54px;padding:0 28px;font-size:16px}
/* footnotes: the fine print, Apple style */
.r-notes{margin-top:120px;border-top:1px solid #dfe3ec;padding-top:24px}
.r-notes ol{margin:0;padding:0 0 0 18px;display:grid;gap:8px;font-size:13px;line-height:1.55;color:#6b717b;max-width:110ch}
.r-notes + .r-close{margin-top:72px}
@media (max-width:900px){.r-close{margin-top:96px;padding-top:72px}.r-close-grid{grid-template-columns:1fr}}
@media (max-width:900px){.navhide{display:none!important}.split{grid-template-columns:1fr!important}.hide-sm{display:none!important}.wrap{padding:0 20px}}
/* form controls */
.r-input{height:48px;border:1px solid #dfe3ec;border-radius:10px;padding:0 16px;font-size:16px;font-weight:500;background:#fff;color:#131417;min-width:0;width:100%;box-sizing:border-box;outline-color:#2450e8}
.r-label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:650}
.pill[disabled]{opacity:.55;cursor:not-allowed}
/* cookie consent (from base.css, which redesign pages don't load) */
/* ---- cookie consent (injected by consent.js) ------------------- */
.consent {
  position: fixed;
  z-index: 9500;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  margin-inline: auto;
  max-width: 640px;
  background: var(--card);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow:
    0 2px 6px rgba(26, 22, 17, 0.08),
    0 32px 80px -24px rgba(26, 22, 17, 0.35);
  padding: 1.4rem 1.5rem;
  font-family: var(--sans);
}
.has-js .consent {
  animation: consent-in 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@media (prefers-reduced-motion: reduce) {
  .has-js .consent {
    animation: none;
  }
}
.consent h2 {
  font-family: var(--display);
  font-weight: 600;
  font-size: 1.02rem;
  letter-spacing: -0.01em;
  margin-bottom: 0.45rem;
}
.consent p {
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--ink-2);
  margin: 0 0 1rem;
}
.consent p a {
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: var(--line-2);
}
.consent__row {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  align-items: center;
}
.consent__row .pill {
  font-size: 0.86rem;
  padding: 0.68em 1.25em;
}
.consent__link {
  margin-left: auto;
  font-size: 0.84rem;
  color: var(--mid);
  background: none;
  border: 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-family: var(--sans);
  padding: 0.4em 0;
}
.consent__link:hover {
  color: var(--ink);
}
/* preferences dialog */
.consent-modal {
  position: fixed;
  inset: 0;
  z-index: 9600;
  display: grid;
  place-items: center;
  padding: 1rem;
}
.consent-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(22, 17, 13, 0.5);
}
.consent-modal__panel {
  position: relative;
  background: var(--card);
  color: var(--ink);
  border-radius: var(--r-card);
  max-width: 560px;
  width: 100%;
  max-height: min(86vh, 720px);
  overflow: auto;
  padding: 1.9rem 1.8rem;
  border: 1px solid var(--line);
  box-shadow: 0 40px 120px -20px rgba(0, 0, 0, 0.5);
}
.consent-modal__panel h2 {
  font-family: var(--display);
  font-weight: 650;
  font-size: 1.25rem;
  letter-spacing: -0.014em;
  margin-bottom: 0.5rem;
}
.consent-modal__panel > p {
  font-size: 0.92rem;
  color: var(--ink-2);
  line-height: 1.55;
  margin: 0 0 1.4rem;
}
.consent-cat {
  display: flex;
  gap: 1.1rem;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1.05rem 0;
  border-top: 1px solid var(--line);
}
.consent-cat h3 {
  font-family: var(--display);
  font-weight: 600;
  font-size: 0.98rem;
  margin: 0 0 0.3rem;
}
.consent-cat p {
  font-size: 0.85rem;
  color: var(--mid);
  line-height: 1.5;
  margin: 0;
  max-width: 40ch;
}
.consent-cat__always {
  font-family: var(--mono);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mid);
  white-space: nowrap;
  padding-top: 0.3rem;
}
/* switch */
.consent-switch {
  position: relative;
  flex: none;
  width: 46px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid var(--line-2);
  background: var(--paper-2);
  cursor: pointer;
  transition:
    background 0.2s,
    border-color 0.2s;
  padding: 0;
}
.consent-switch::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s;
}
.consent-switch[aria-checked="true"] {
  background: var(--clay);
  border-color: var(--clay);
}
.consent-switch[aria-checked="true"]::after {
  transform: translateX(20px);
}
.consent-modal__row {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}
.consent-modal__row .pill {
  font-size: 0.86rem;
  padding: 0.68em 1.25em;
}
@media (max-width: 560px) {
  .consent {
    left: 0.6rem;
    right: 0.6rem;
    bottom: 0.6rem;
    padding: 1.15rem 1.2rem;
  }
  .consent__link {
    margin-left: 0;
  }
}@keyframes consent-in {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.consent .pill{height:40px;padding:0 18px;font-size:14px}.consent .pill.ink,.consent .pill--ghost{background:#fff;border:1px solid #dfe3ec}
[hidden]{display:none!important}
