
:root {
    --fk-ink: #16181D;
  --fk-paper: #EEEBE6;
  --fk-ember-base: #D9622B;
  --fk-night: #08090B;

    --fk-font-display: "Newsreader", Georgia, "Times New Roman", serif;
  --fk-font-body: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fk-font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --fk-size-display: 3rem;
  --fk-size-h1: 2.25rem;
  --fk-size-h2: 1.6rem;
  --fk-size-h3: 1.25rem;
  --fk-size-body: 1.0625rem;
  --fk-size-small: 0.875rem;
  --fk-size-spec: 0.8125rem;
  --fk-leading-body: 1.55;
  --fk-leading-display: 1.15;
  --fk-tracking-spec: 0.08em;
  --fk-measure: 68ch;

    --fk-bg: #08090B;
  --fk-surface: #16181D;
  --fk-surface-alt: #20232A;
  --fk-text: #EEEBE6;
  --fk-text-muted: #A8A49D;
  --fk-border: #2E3138;
  --fk-border-strong: #6A6D75;
  --fk-ember: #D9622B;
  --fk-ember-text: #E8763F;
  --fk-on-ember: #08090B;
  --fk-focus: #E8763F;
  --fk-mark: #EEEBE6;
  color-scheme: dark;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --fk-bg: #EEEBE6;
    --fk-surface: #F7F5F2;
    --fk-surface-alt: #E3DFD8;
    --fk-text: #16181D;
    --fk-text-muted: #4A4D55;
    --fk-border: #CFCAC2;
    --fk-border-strong: #8A8680;
    --fk-ember: #D9622B;
    --fk-ember-text: #9C3D17;
    --fk-on-ember: #16181D;
    --fk-focus: #9C3D17;
    --fk-mark: #16181D;
    color-scheme: light;
  }
}

:root[data-theme="light"] {
  --fk-bg: #EEEBE6;
  --fk-surface: #F7F5F2;
  --fk-surface-alt: #E3DFD8;
  --fk-text: #16181D;
  --fk-text-muted: #4A4D55;
  --fk-border: #CFCAC2;
  --fk-border-strong: #8A8680;
  --fk-ember: #D9622B;
  --fk-ember-text: #9C3D17;
  --fk-on-ember: #16181D;
  --fk-focus: #9C3D17;
  --fk-mark: #16181D;
  color-scheme: light;
}

.fk-spec {
  font-family: var(--fk-font-mono);
  font-size: var(--fk-size-spec);
  letter-spacing: var(--fk-tracking-spec);
  text-transform: uppercase;
  color: var(--fk-text-muted);
}

@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url(/fonts/newsreader-latin-wght-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url(/fonts/newsreader-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Newsreader"; font-style: italic; font-weight: 200 800; font-display: swap;
  src: url(/fonts/newsreader-latin-wght-italic.woff2) format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Newsreader"; font-style: italic; font-weight: 200 800; font-display: swap;
  src: url(/fonts/newsreader-latin-ext-wght-italic.woff2) format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(/fonts/instrument-sans-latin-wght-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(/fonts/instrument-sans-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap;
  src: url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap;
  src: url(/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }


*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 1rem; }
body {
  margin: 0;
  background: var(--fk-bg);
  color: var(--fk-text);
  font: 400 var(--fk-size-body)/var(--fk-leading-body) var(--fk-font-body);
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
h1, h2, h3 { font-family: var(--fk-font-display); font-weight: 500; line-height: var(--fk-leading-display); margin: 0 0 .5em; text-wrap: balance; }
h1 { font-size: clamp(2rem, 1.4rem + 2.6vw, var(--fk-size-h1)); letter-spacing: -0.01em; }
h2 { font-size: var(--fk-size-h2); }
h3 { font-size: var(--fk-size-h3); }
p { margin: 0 0 1em; text-wrap: pretty; }
a { color: var(--fk-ember-text); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--fk-focus); outline-offset: 2px; border-radius: 2px; }
code { font-family: var(--fk-font-mono); font-size: .9em; background: var(--fk-surface-alt); padding: .05em .35em; border-radius: 3px; }
strong { font-weight: 600; }
.muted { color: var(--fk-text-muted); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.dd-note { display: block; color: var(--fk-text-muted); font-size: var(--fk-size-small); margin-top: .15rem; }
.small { font-size: var(--fk-size-small); }

.wrap { width: 100%; max-width: 74rem; margin-inline: auto; padding-inline: 16px; }
@media (min-width: 720px) { .wrap { padding-inline: 32px; } }

.skip { position: absolute; left: 16px; top: -100px; z-index: 10; background: var(--fk-surface); color: var(--fk-text); padding: .6rem 1rem; border: 1px solid var(--fk-border-strong); }
.skip:focus { top: 12px; }

.fk-spec { margin: 0 0 1rem; }

.site-header { border-bottom: 1px solid var(--fk-border); }
.header-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; padding-block: 18px; }
.brand { color: var(--fk-mark); display: block; padding: 4px 0; }
.lockup { height: 40px; width: auto; }
.nav { list-style: none; display: flex; gap: .25rem 1.5rem; margin: 0; padding: 0; flex-wrap: wrap; }
.nav a { color: var(--fk-text); text-decoration: none; font-weight: 500; font-size: .975rem; padding: .5rem 0; display: inline-block; border-bottom: 1px solid transparent; }
.nav a:hover, .nav a[aria-current="page"] { border-bottom-color: currentColor; }
@media (max-width: 479px) { .header-row { padding-block: 14px; } .lockup { height: 36px; } .nav { gap: .25rem 1.25rem; } }

.footer-art { height: clamp(150px, 17vw, 260px); margin-top: 4rem; background: url(/img/treeline-wide-dark.webp) center bottom / max(100%, 900px) auto no-repeat;
  -webkit-mask-image: linear-gradient(transparent, #000 45%); mask-image: linear-gradient(transparent, #000 45%); }
.footer-art + .site-footer { margin-top: 0; border-top-color: transparent; }
@media (prefers-color-scheme: light) { .footer-art { background-image: url(/img/treeline-wide-light.webp); } }
.site-footer { border-top: 1px solid var(--fk-border); margin-top: 5rem; padding-block: 2.5rem 3rem; color: var(--fk-text-muted); font-size: var(--fk-size-small); }
.footer-grid { display: grid; gap: 2rem; }
@media (min-width: 820px) { .footer-grid { grid-template-columns: 1.4fr 2fr 1fr; align-items: start; } }
.footer-id { display: flex; gap: 1rem; align-items: flex-start; }
.footer-id p { margin: 0; }
.footer-id strong { color: var(--fk-text); font-weight: 600; }
.footer-mark { color: var(--fk-mark); width: 44px; height: 44px; flex: none; }
.footer-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .15rem 1.75rem; }
.footer-nav a { color: var(--fk-text); text-decoration: none; display: inline-block; padding: .35rem 0; }
.footer-nav a:hover { text-decoration: underline; }
.footer-meta p { margin: 0 0 .4rem; }
.footer-meta a { color: inherit; }
.social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .1rem 1rem; }
.social a { color: var(--fk-text); display: inline-block; padding: .2rem 0; }
.footer-social { margin: 0 0 .6rem; }

.actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; list-style: none; padding: 0; margin: 1.5rem 0 0; }
.btn { display: inline-flex; align-items: center; gap: .5em; min-height: 46px; padding: .7rem 1.25rem; border-radius: 3px; font: 600 .975rem/1.2 var(--fk-font-body); letter-spacing: .01em; text-decoration: none; border: 1px solid transparent; cursor: pointer; }
.btn-ember { background: var(--fk-ember); color: var(--fk-on-ember); }
.btn-ember:hover { filter: brightness(1.07); }
.btn-line { border-color: var(--fk-border-strong); color: var(--fk-text); background: transparent; }
.btn-line:hover { border-color: var(--fk-text); }
.btn-quiet { color: var(--fk-text); padding-inline: .25rem; min-height: 46px; }
.btn-quiet:hover { text-decoration: underline; }
.btn.is-placeholder { cursor: not-allowed; }
.btn-ember.is-placeholder { opacity: .92; }
.btn-wrap { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; }

.todo { font-family: var(--fk-font-mono); font-size: .75rem; line-height: 1.45; letter-spacing: .02em; color: var(--fk-text-muted); border: 1px dashed var(--fk-border-strong); border-radius: 3px; padding: .15rem .45rem; display: inline-block; vertical-align: middle; text-transform: none; font-weight: 400; max-width: 100%; overflow-wrap: anywhere; }
.todo-tag { font-weight: 500; background: var(--fk-text); color: var(--fk-bg); padding: 0 .3rem; border-radius: 2px; margin-right: .2rem; letter-spacing: .06em; }
.todo-block { display: block; margin: 1rem 0; padding: .6rem .8rem; }
.draft-note { font-size: .875rem; color: var(--fk-text-muted); border-left: 2px solid var(--fk-border-strong); padding: .1rem 0 .1rem .8rem; margin: 1rem 0 0; }
h1 .todo, h3 .todo { font-size: .8rem; letter-spacing: .02em; }

.home .site-header { border-bottom-color: transparent; }
.hero { position: relative; isolation: isolate; padding-block: clamp(3.5rem, 9vw, 8rem) calc(24vw + 2rem); }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(/img/treeline-wide-dark.webp) center bottom / 100% auto no-repeat; }
.hero-text p { font-size: 1.1875rem; max-width: 34rem; margin-bottom: .6rem; }
.display { font-size: clamp(2.5rem, 1.4rem + 4.4vw, 4.75rem); line-height: 1.04; letter-spacing: -0.02em; max-width: 13ch; margin-bottom: 1.5rem; font-weight: 450; }
@media (max-width: 699px) {
  .hero { padding-bottom: calc(56vw + 1rem); }
  .hero::before { background-image: url(/img/treeline-tall-dark.webp); }
}
@media (prefers-color-scheme: light) {
  .hero::before { background-image: url(/img/treeline-wide-light.webp); }
}
@media (prefers-color-scheme: light) and (max-width: 699px) {
  .hero::before { background-image: url(/img/treeline-tall-light.webp); }
}
.hero + .section { margin-top: 0; }

.section { margin-top: clamp(3.5rem, 7vw, 6rem); }
.section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .25rem 2rem; border-top: 1px solid var(--fk-border); padding-top: 1.25rem; margin-bottom: 2rem; }
.section-head h2 { margin: 0; }
.section-head p { margin: 0; }
.section-label { font: 500 var(--fk-size-spec)/1.4 var(--fk-font-mono); letter-spacing: var(--fk-tracking-spec); text-transform: uppercase; color: var(--fk-text-muted); border-top: 1px solid var(--fk-border); padding-top: 1.25rem; margin-bottom: 1.75rem; }

.game-grid { display: grid; gap: 2.5rem 2rem; }
@media (min-width: 820px) { .game-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 820px) {
  .game-grid-one { grid-template-columns: 1fr; }
  .game-grid-one .game-card { flex-direction: row; }
  .game-grid-one .card-art { flex: 0 0 55%; }
  .game-grid-one .card-art .art, .game-grid-one .card-art img { height: 100%; }
}
.game-card { display: flex; flex-direction: column; background: var(--fk-surface); border: 1px solid var(--fk-border); border-radius: 4px; overflow: hidden; }
.card-art { display: block; }
.card-art .art { border-radius: 0; border: 0; }
.card-body { padding: 1.5rem 1.5rem 1.75rem; display: flex; flex-direction: column; flex: 1; }
.card-body .actions { margin-top: auto; padding-top: 1rem; }
.card-title { font-size: 2rem; letter-spacing: .02em; margin-bottom: .35rem; }
.card-title a { color: var(--fk-text); text-decoration: none; }
.card-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.card-hook { font-family: var(--fk-font-display); font-style: italic; font-size: 1.25rem; margin-bottom: .6rem; }

.features h3 { font-size: 1.35rem; margin-bottom: .4rem; }
.features p { color: var(--fk-text-muted); margin: 0; }

.link-cards { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.25rem 1.5rem; }
@media (min-width: 720px) { .link-cards { grid-template-columns: 1fr 1fr; } }
.link-card { position: relative; display: flex; flex-direction: column; background: var(--fk-surface); border: 1px solid var(--fk-border); border-radius: 4px; overflow: hidden; }
.link-card img { width: 100%; height: auto; aspect-ratio: 16 / 7; object-fit: cover; object-position: center 70%; }
.link-card-body { padding: 1.1rem 1.5rem 1.4rem; }
.link-card h2 { font-size: 1.5rem; margin: 0 0 .3rem; }
.link-card h2 a { color: var(--fk-text); text-decoration: none; }
.link-card h2 a::after { content: ""; position: absolute; inset: 0; }
.link-card h2 a::before { content: "→" / ""; float: right; font-family: var(--fk-font-body); font-size: 1.1rem; color: var(--fk-text-muted); margin-top: .35rem; }
.link-card:hover { border-color: var(--fk-border-strong); }
.link-card:hover h2 a { text-decoration: underline; text-decoration-thickness: 1px; }
.link-card:focus-within { outline: 2px solid var(--fk-focus); outline-offset: 2px; }
.link-card h2 a:focus-visible { outline: 0; }
.link-card p { color: var(--fk-text-muted); margin: 0; max-width: 40ch; }
.card-art img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }

.news h2 { margin-bottom: 1rem; }
.news-list { list-style: none; padding: 0; margin: 0 0 1rem; border-top: 1px solid var(--fk-border); }
.news-list li { display: grid; gap: .2rem 2rem; padding: 1rem 0; border-bottom: 1px solid var(--fk-border); }
@media (min-width: 720px) { .news-list li { grid-template-columns: 11rem 1fr; } }
.news-list time { font: 500 var(--fk-size-spec)/1.9 var(--fk-font-mono); letter-spacing: var(--fk-tracking-spec); text-transform: uppercase; color: var(--fk-text-muted); }
.news-list h3 { font-size: 1.2rem; margin: 0 0 .2rem; }
.news-list p { margin: 0; color: var(--fk-text-muted); max-width: 60ch; }

.panel { background: var(--fk-surface); border: 1px solid var(--fk-border); border-radius: 4px; padding: 1.5rem; }
@media (min-width: 720px) { .panel { padding: 2rem 2.25rem; } }
.end-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 2rem; }
.end-cta .actions { margin: 0; }
.end-title { font-family: var(--fk-font-display); font-size: 1.75rem; margin: 0 0 .2rem; letter-spacing: .02em; }
.end-cta .muted { margin: 0; }

.art { margin: 0; position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 4px; border: 1px solid var(--fk-border); }
.art svg { width: 100%; height: 100%; }
.art figcaption { position: absolute; left: .75rem; bottom: .75rem; right: .75rem; }

.game-hero { padding-block: clamp(2.5rem, 6vw, 5rem); border-bottom: 1px solid var(--fk-border); }
.game-hero-grid { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 900px) { .game-hero-grid { grid-template-columns: 1fr 1.1fr; gap: 3.5rem; } }
.game-hero-text { max-width: 36rem; }
.game-hero-text > p:not(.fk-spec):not(.game-hook) { color: var(--fk-text); }
.game-title { font-size: clamp(2.75rem, 1.5rem + 5vw, 4.5rem); letter-spacing: .03em; font-weight: 500; margin-bottom: .5rem; }
.game-hook { font-family: var(--fk-font-display); font-style: italic; font-size: clamp(1.3rem, 1.1rem + .8vw, 1.6rem); line-height: 1.3; margin-bottom: 1.25rem; }
.game-meta { margin: 1.25rem 0 0; }

.features { list-style: none; padding: 0; margin: 0; display: grid; gap: 2rem 2.5rem; counter-reset: f; }
@media (min-width: 820px) { .features { grid-template-columns: repeat(3, 1fr); } }
.features li { counter-increment: f; }
.features li::before { content: "0" counter(f); display: block; font: 500 var(--fk-size-spec)/1 var(--fk-font-mono); letter-spacing: var(--fk-tracking-spec); color: var(--fk-text-muted); margin-bottom: .9rem; }

.slot { display: flex; align-items: center; justify-content: center; text-align: center; aspect-ratio: 16 / 9; padding: 1rem; border-radius: 4px; border: 1px solid var(--fk-border); }
.screens { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; grid-template-columns: 1fr 1fr; }
.screens .trailer { grid-column: 1 / -1; }
.screens > li { min-width: 0; }
.screens .slot:not(.trailer) { padding: .5rem; }
.screens .slot:not(.trailer) .todo { font-size: .6875rem; }
@media (min-width: 820px) {
  .screens { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
  .screens .trailer { grid-column: 1 / 3; grid-row: 1 / 3; }
  .screens .slot:not(.trailer) { padding: 1rem; }
}

.two-col { display: grid; gap: 0 3rem; }
@media (min-width: 900px) { .two-col { grid-template-columns: 1fr 1.25fr; } }
.stack > div + div { margin-top: 2rem; }

.facts { margin: 0; }
.facts > div { display: grid; grid-template-columns: minmax(6.5rem, 9rem) 1fr; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--fk-border); }
.facts > div:first-child { border-top: 1px solid var(--fk-border); }
.facts dt { font: 500 var(--fk-size-spec)/1.6 var(--fk-font-mono); letter-spacing: var(--fk-tracking-spec); text-transform: uppercase; color: var(--fk-text-muted); }
.facts dd { margin: 0; min-width: 0; overflow-wrap: break-word; }
.facts + .facts > div:first-child { border-top: 0; }

.page-head { padding-block: clamp(2.5rem, 6vw, 4.5rem) 1rem; }
.page-head h1 { font-size: clamp(2.25rem, 1.5rem + 3vw, 3.25rem); max-width: 20ch; }
.lede-sm { font-size: 1.15rem; max-width: 42rem; color: var(--fk-text-muted); }
.toc ul { list-style: none; padding: 0; margin: 1.5rem 0 0; display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; font-size: var(--fk-size-small); }
.toc a { color: var(--fk-text-muted); display: inline-block; padding: .3rem 0; }
.toc a:hover { color: var(--fk-text); }

.prose { max-width: var(--fk-measure); }
.prose section { margin-top: 2.75rem; }
.prose section:first-child { margin-top: 1.5rem; }
.prose h2 { font-size: 1.6rem; }
.prose ul { padding-left: 1.2rem; }
.prose li { margin-bottom: .5rem; }
.prose ul.social { padding: 0; }
.prose .social li { margin: 0; }

.press-grid { display: grid; gap: 2rem 3.5rem; align-items: start; margin-top: 1.5rem; }
@media (min-width: 960px) {
  .press-grid { grid-template-columns: 22rem 1fr; }
  .factsheet { position: sticky; top: 1.5rem; }
}
.factsheet h2 { font-size: 1.35rem; }
.factsheet .facts > div { grid-template-columns: 7rem 1fr; font-size: .95rem; }
.press-body section:first-child { margin-top: 0; }
.project-list { list-style: none; padding: 0 !important; }
.project-list li { border-top: 1px solid var(--fk-border); padding: 1rem 0; margin: 0; }
.project-list .fk-spec { margin: .25rem 0 .35rem; }
.project-list strong { font-family: var(--fk-font-display); font-size: 1.35rem; font-weight: 500; letter-spacing: .02em; }
.project-list span { color: var(--fk-text-muted); }
.logo-preview { margin: 0 0 1.25rem; background: var(--fk-night); border: 1px solid var(--fk-border); border-radius: 4px; padding: 0 0 1rem; }
.logo-preview-art { color: var(--fk-paper); width: min(100%, 26rem); height: auto; margin: 0 auto; padding: clamp(2rem, 6vw, 3.5rem) 2rem; box-sizing: content-box; max-width: calc(100% - 4rem); }
.logo-preview figcaption { color: #A8A49D; font-size: var(--fk-size-small); text-align: center; padding-inline: 1rem; }
details { margin: 1rem 0; }
summary { cursor: pointer; font-weight: 500; padding: .4rem 0; }
.file-list { font-size: .95rem; }
.todo-list { list-style: none; padding: 0 !important; }


.about .lede-sm { color: var(--fk-text); font-size: 1.25rem; }
.legal p, .legal li { max-width: 64ch; }
.not-found { min-height: 45vh; }

@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@media print {
  :root { --fk-bg: #fff; --fk-surface: #fff; --fk-surface-alt: #EEEBE6; --fk-text: #000; --fk-text-muted: #4A4D55; --fk-border: #CFCAC2; --fk-border-strong: #8A8680; --fk-mark: #16181D; --fk-ember-text: #9C3D17; }
  .site-header nav, .site-footer nav, .skip, .toc, .hero::before, .footer-art, .link-card picture { display: none; }
  body { background: #fff; color: #000; }
  .logo-preview { background: #fff; }
  .logo-preview-art { color: #16181D; }
  .logo-preview figcaption { color: #4A4D55; }
}
