:root {
  --paper: #f6f6f2;
  --white: #ffffff;
  --ink: #171717;
  --muted: #686964;
  --line: #c9cac4;
  --line-strong: #92948d;
  --red: #7d3037;
  --sage: #d9dfd4;
  --blue: #667f96;
  --dark: #242523;
  --max: 1180px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Avenir Next", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", system-ui, sans-serif;
  line-height: 1.6;
}
::selection { color: var(--white); background: var(--red); }
a { color: inherit; text-decoration-color: rgb(23 23 23 / 35%); text-underline-offset: .2em; }
a:hover { text-decoration-color: currentColor; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.shell { width: min(var(--max), calc(100% - 48px)); margin-inline: auto; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.skip-link { position: fixed; top: 16px; left: 16px; z-index: 30; padding: 10px 14px; color: var(--white); background: var(--ink); transform: translateY(-140%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--line); background: rgb(246 246 242 / 94%); backdrop-filter: blur(14px); }
.site-header-inner { display: flex; width: min(var(--max), calc(100% - 48px)); min-height: 68px; margin-inline: auto; align-items: center; justify-content: space-between; gap: 30px; }
.brand-lockup { display: block; flex: 0 0 auto; color: var(--ink); text-decoration: none; }
.brand-name { white-space: nowrap; }
.brand-lockup strong { display: block; font: 600 22px/1 Georgia, "Songti SC", serif; }
.brand-lockup small { display: block; margin-top: 5px; color: var(--muted); font: 700 8px/1 ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.site-nav { display: flex; gap: 28px; align-items: center; }
.site-nav a { padding: 7px 0; border-bottom: 1px solid transparent; color: var(--muted); font-size: 13px; text-decoration: none; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--ink); border-color: var(--red); }
.site-nav a[aria-current="page"] { border-bottom-width: 2px; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: Georgia, "Songti SC", serif; font-weight: 500; line-height: 1.08; }
.eyebrow, .project-kicker, .page-path, .note-date, .project-state, .project-identity small { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow { margin-bottom: 14px; color: var(--red); }
.page-path { display: flex; gap: 10px; align-items: center; color: var(--muted); }
.page-path a { padding-bottom: 2px; border-bottom: 1px solid currentColor; text-decoration: none; }
.page-path strong { color: var(--ink); font-weight: 700; }
.text-link { padding-bottom: 4px; border-bottom: 1px solid currentColor; color: var(--red); font-size: 12px; font-weight: 700; text-decoration: none; }
.live-sync-status { min-height: 20px; margin: 0 0 18px; color: var(--muted); font: 11px ui-monospace, monospace; }
.button { display: inline-flex; min-height: 42px; padding: 9px 14px; align-items: center; justify-content: center; border: 1px solid var(--ink); background: var(--white); color: var(--ink); font-weight: 700; text-decoration: none; }
.button:hover { color: var(--white); background: var(--ink); }
.status-released, .status-in-progress, .status-prototype, .status-archive { color: inherit; }

/* Home: one statement, one object, three entrances. */
.home-page { min-height: calc(100svh - 69px); display: flex; flex-direction: column; }
.home-hero { display: grid; flex: 1; grid-template-columns: .94fr 1.06fr; gap: 78px; align-items: center; padding: 42px 0; }
.home-copy .eyebrow { display: flex; gap: 13px; align-items: center; margin-bottom: 34px; }
.home-copy .eyebrow::before { width: 32px; height: 1px; background: currentColor; content: ""; }
.home-copy h1 { margin-bottom: 28px; font: 500 104px/.88 Georgia, "Songti SC", serif; }
.home-statement { max-width: 610px; margin-bottom: 24px; color: #41423f; font: 500 21px/1.4 Georgia, "Songti SC", serif; }
.home-note { margin: 0; color: var(--muted); font: italic 16px Georgia, "Songti SC", serif; }
.journal-stage { position: relative; display: grid; min-height: 500px; place-items: center; overflow: hidden; background: var(--dark); }
.journal-stage::before { position: absolute; top: 24px; left: 26px; color: #a8aaa4; content: "VIBELOKI / EDITION 01"; font: 700 8px ui-monospace, monospace; letter-spacing: .14em; }
.journal-cover { position: relative; width: min(66%, 330px); aspect-ratio: .73; padding: 26px 25px; background: #f0f0eb; box-shadow: 24px 28px 0 #0d0e0d, 0 26px 50px rgb(0 0 0 / 30%); transform: rotate(-4deg); transition: transform 300ms ease; }
.journal-stage:hover .journal-cover { transform: rotate(-1deg) translateY(-5px); }
.journal-cover header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 13px; border-bottom: 1px solid var(--ink); font: 700 7px ui-monospace, monospace; }
.journal-cover header img { width: 24px; height: 24px; }
.journal-letter { position: absolute; top: 74px; left: 12px; color: #d8d8d2; font: 500 220px/.7 Georgia, serif; }
.journal-copy { position: absolute; top: 132px; right: 20px; left: 24px; }
.journal-copy strong { display: block; font: 500 35px/.92 Georgia, serif; }
.journal-copy em { display: block; margin-top: 12px; color: var(--red); font: italic 14px Georgia, serif; }
.journal-cover footer { position: absolute; right: 25px; bottom: 25px; left: 25px; display: flex; align-items: end; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--ink); }
.journal-cover footer span { max-width: 150px; font: 500 9px/1.4 Georgia, "Songti SC", serif; }
.journal-cover footer b { font: 700 8px ui-monospace, monospace; writing-mode: vertical-rl; }
.home-directory { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.home-directory a { display: grid; min-height: 82px; grid-template-columns: 1fr 20px; gap: 10px; padding: 14px 20px; align-items: center; border-right: 1px solid var(--line); text-decoration: none; transition: background 160ms ease; }
.home-directory a:last-child { border-right: 0; }
.home-directory a:hover { background: var(--white); }
.home-directory span { grid-column: 1 / -1; color: var(--red); font: 700 9px ui-monospace, monospace; text-transform: uppercase; }
.home-directory strong { font: 500 18px Georgia, "Songti SC", serif; }
.home-directory i { color: var(--red); font-size: 18px; font-style: normal; }

/* Directory pages use indexes instead of cards. */
.page-intro, .board-intro { padding: 30px 0 50px; border-bottom: 1px solid var(--ink); }
.page-intro .page-path, .board-intro .page-path { margin-bottom: 54px; }
.page-intro-grid, .board-intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: end; }
.page-intro h1, .board-intro h1, .evolution-intro h1 { margin: 0; font-size: 88px; }
.page-intro-grid > p, .board-intro-grid > p, .evolution-intro > p { max-width: 610px; margin: 0 0 6px; color: #41423f; font: 500 20px/1.4 Georgia, "Songti SC", serif; }
.project-index { padding: 20px 0 80px; }
.project-row { display: grid; grid-template-columns: 72px 1.2fr minmax(0, 1.25fr) 130px 26px; gap: 24px; min-height: 150px; align-items: center; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; transition: padding 160ms ease, background 160ms ease; }
.project-row:hover { padding-inline: 12px; background: var(--white); }
.project-row:focus-visible { outline: 2px solid var(--red); outline-offset: -2px; }
.project-number { color: var(--red); font: 700 10px ui-monospace, monospace; }
.project-identity h2 { margin: 0 0 7px; font-size: 34px; }
.project-row:hover .project-identity h2 { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.project-identity small { color: var(--muted); }
.project-row > p { margin: 0; color: #50514e; font-size: 13px; }
.project-state strong, .project-state time { display: block; }
.project-state strong { margin-bottom: 6px; font-weight: 700; }
.project-state time { color: var(--muted); font-size: 8px; letter-spacing: 0; text-transform: none; }
.row-arrow { color: var(--red); font-size: 18px; text-decoration: none; }

/* Product detail has a product-specific visual field. */
.product-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 570px; border-bottom: 1px solid var(--ink); }
.product-hero-copy { display: flex; padding: 30px 60px 56px 0; flex-direction: column; justify-content: space-between; }
.product-hero-copy .page-path { margin-bottom: 36px; }
.product-title h1 { margin: 0 0 10px; font-size: 100px; line-height: .9; }
.product-title > small { color: var(--muted); font: 700 10px ui-monospace, monospace; text-transform: uppercase; }
.product-title > p:last-child { max-width: 510px; margin: 28px 0 0; font: 500 22px/1.4 Georgia, "Songti SC", serif; }
.product-actions { display: flex; flex-wrap: wrap; gap: 22px; }
.product-visual { position: relative; display: grid; min-height: 570px; place-items: center; overflow: hidden; background: var(--sage); }
.product-visual > span { color: rgb(255 255 255 / 55%); font: italic 300px/.7 Georgia, serif; }
.product-visual > small { position: absolute; right: 25px; bottom: 22px; color: #30332e; font: 700 9px ui-monospace, monospace; letter-spacing: .08em; }
.product-see .product-visual { background: #b9c7d1; }
.product-lokiclaw .product-visual { background: #bda6a1; }
.product-story { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; padding: 68px 0 80px; }
.product-facts { color: var(--muted); font-size: 11px; }
.product-facts > div { display: grid; gap: 5px; padding: 12px 0; border-top: 1px solid var(--line); }
.product-facts span { font: 700 9px ui-monospace, monospace; text-transform: uppercase; }
.product-facts strong { color: var(--ink); font: 500 16px Georgia, "Songti SC", serif; }
.product-facts .live-sync-status { margin-top: 22px; }
.product-narrative section { padding: 0 0 46px; margin-bottom: 46px; border-bottom: 1px solid var(--line); }
.product-narrative section:last-child { margin-bottom: 0; border-bottom: 0; }
.product-narrative h2 { margin: 0 0 18px; font-size: 34px; }
.product-narrative p:last-child { max-width: 650px; margin: 0; color: #454642; font-size: 16px; line-height: 1.8; }
.product-evolution { padding: 0 0 80px; }
.product-evolution > header { display: flex; align-items: end; justify-content: space-between; padding: 22px 0; border-top: 1px solid var(--ink); }
.product-evolution > header h2 { margin: 0; font-size: 34px; }

/* Evolution is the site's public record, with board controls above a readable index. */
.evolution-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: end; padding: 30px 0 50px; border-bottom: 1px solid var(--ink); }
.evolution-intro .page-path { grid-column: 1 / -1; margin-bottom: 24px; }
.evolution-intro h1 { margin: 0; }
.evolution-intro > p { margin-bottom: 6px; }
.evolution-runtime-shell { padding: 20px 0 80px; }
.evolution-controls { display: flex; gap: 24px; align-items: center; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid var(--ink); }
.evolution-board-tabs { display: flex; max-width: 100%; gap: 24px; overflow-x: auto; }
.filter-button { flex: 0 0 auto; padding: 5px 0; border: 0; border-bottom: 1px solid transparent; color: var(--muted); background: transparent; font-size: 12px; cursor: pointer; }
.filter-button:hover, .filter-button.is-active { color: var(--ink); border-color: var(--red); }
.evolution-search { display: flex; gap: 10px; align-items: center; }
.evolution-search input { width: 220px; padding: 8px 0; border: 0; border-bottom: 1px solid var(--line); outline: 0; background: transparent; }
.evolution-search button { padding: 8px 0; border: 0; border-bottom: 1px solid var(--ink); color: var(--red); background: transparent; font-weight: 700; cursor: pointer; }
.evolution-index { border-top: 1px solid var(--ink); }
.evolution-entry { display: grid; grid-template-columns: 100px 150px minmax(0, 1fr) 24px; gap: 22px; padding: 23px 0; align-items: start; border-bottom: 1px solid var(--line); transition: padding 160ms ease, background 160ms ease; }
.evolution-entry:hover { padding-left: 10px; background: var(--white); }
.evolution-entry .note-date, .evolution-card-context { color: var(--muted); font: 700 9px ui-monospace, monospace; text-transform: uppercase; }
.evolution-entry h3 { min-width: 0; margin: 0 0 7px; font-size: 23px; line-height: 1.2; overflow-wrap: anywhere; }
.evolution-entry h3 a { text-decoration: none; }
.evolution-entry h3 a:hover { text-decoration: underline; text-decoration-color: var(--red); }
.evolution-entry .body-copy { max-width: 650px; margin: 0; color: #575854; font-size: 12px; overflow-wrap: anywhere; }
.evolution-entry .row-arrow { grid-column: 4; grid-row: 1; }
.pagination-nav { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 26px; }
.pagination-nav button { padding: 0; border: 0; color: var(--red); background: transparent; cursor: pointer; }
.pagination-nav button:disabled { color: var(--muted); cursor: default; }
.pagination-nav span { color: var(--muted); font: 11px ui-monospace, monospace; }
[data-evolution-status] { min-height: 24px; margin: 18px 0; color: var(--muted); }
[data-evolution-status][data-evolution-state="error"] { color: var(--red); }
[data-evolution-status] .button { min-height: 34px; margin-left: 6px; padding: 5px 10px; }

/* Article pages prioritize reading and retain their place in the hierarchy. */
.evolution-article { padding-bottom: 90px; }
.evolution-article > [data-evolution-status] { margin-top: 24px; }
.article-head { display: grid; grid-template-columns: 1fr 220px; gap: 80px; padding: 70px 0 46px; border-bottom: 1px solid var(--ink); }
.article-heading .page-path { margin-bottom: 36px; }
.article-heading .eyebrow { margin-bottom: 16px; }
.article-head h1 { max-width: 820px; margin: 0 0 20px; font-size: 78px; line-height: 1; }
.article-head .detail-lede { max-width: 700px; margin: 0; color: #50514d; font-size: 17px; }
.article-meta { align-self: end; }
.article-meta div { display: flex; justify-content: space-between; gap: 15px; padding: 9px 0; border-top: 1px solid var(--line); font-size: 10px; }
.article-meta span { color: var(--muted); }
.article-layout { display: grid; grid-template-columns: 180px minmax(0, 680px); gap: 70px; justify-content: center; padding: 56px 0; }
.article-aside { color: var(--muted); font-size: 10px; }
.article-aside a { display: block; margin-top: 15px; color: var(--red); }
.evolution-body { font: 400 18px/1.95 Georgia, "Songti SC", serif; }
.evolution-body > h1, .evolution-body > h2, .evolution-body > h3, .evolution-body > h4, .evolution-body > h5, .evolution-body > h6 { margin: 48px 0 18px; font-family: Georgia, "Songti SC", serif; line-height: 1.15; }
.evolution-body > h1 { font-size: 42px; }.evolution-body > h2 { font-size: 34px; }.evolution-body > h3 { font-size: 28px; }.evolution-body > h4, .evolution-body > h5, .evolution-body > h6 { font-size: 24px; }
.evolution-body > p, .evolution-body > ul, .evolution-body > ol { margin-bottom: 24px; }
.evolution-body > ul, .evolution-body > ol { padding-left: 1.5em; }
.evolution-image-block { margin: 42px 0; }
.evolution-image-block img { display: block; width: 100%; height: auto; border: 1px solid var(--line); background: var(--white); }
.evolution-image-block figcaption { margin-top: 8px; color: var(--muted); font: 11px/1.5 sans-serif; }
.evolution-code-block { margin: 42px 0; }.evolution-code-block figcaption { margin: 0; padding: 8px 12px; color: var(--paper); background: #30342f; font: 11px ui-monospace, monospace; }.evolution-code { max-width: 100%; margin: 0; overflow-x: auto; padding: 20px; color: #f8faf5; background: var(--ink); font: 14px/1.7 ui-monospace, monospace; white-space: pre; }
.evolution-link-block { margin: 40px 0; padding: 22px; border-left: 4px solid var(--red); background: rgb(255 255 255 / 55%); }.evolution-link-block a { color: var(--red); font-size: 20px; font-weight: 700; }.evolution-link-block p { margin: 8px 0 0; color: var(--muted); }

/* About is a contact room: visitors choose an intent instead of reading a manifesto. */
.about-top { padding: 30px 0 50px; border-bottom: 1px solid var(--ink); }
.about-top .page-path { margin-bottom: 70px; }
.about-top h1 { max-width: 850px; margin: 0; font-size: 78px; }
.about-top > p:last-child { max-width: 620px; margin: 24px 0 0; color: #4b4b47; font: 500 18px/1.55 Georgia, "Songti SC", serif; }
.about-room { display: grid; grid-template-columns: 250px minmax(0, 1fr); border-bottom: 1px solid var(--ink); }
.about-menu { display: flex; min-height: 660px; padding: 34px 26px 26px 0; border-right: 1px solid var(--line); flex-direction: column; }
.about-tabs { display: grid; }
.about-tab { display: flex; gap: 14px; padding: 17px 0; border: 0; border-top: 1px solid var(--line); color: #44443f; background: transparent; text-align: left; cursor: pointer; }
.about-tab span { color: var(--muted); font: 700 9px ui-monospace, monospace; }
.about-tab:hover, .about-tab.is-active { color: var(--red); }
.about-tab.is-active { font-weight: 700; }
.about-tab.is-active span { color: var(--red); }
.about-tab:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.about-desk-note { margin-top: auto; padding-top: 24px; border-top: 1px solid var(--line); }
.about-desk-note strong { display: block; margin-bottom: 9px; font: 500 18px/1.4 Georgia, "Songti SC", serif; }
.about-desk-note > p:last-child { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.about-content { display: grid; min-width: 0; grid-template-rows: 1fr auto; }
.about-panel { padding: 40px 0 36px 42px; }
.about-room.is-interactive .about-panel:not(.is-active) { display: none; }
.about-panel-head { display: grid; grid-template-columns: 1.18fr .82fr; gap: 36px; align-items: end; padding-bottom: 28px; border-bottom: 1px solid var(--ink); }
.about-panel-head h2 { max-width: 680px; margin: 0; font-size: 44px; }
.about-panel-head > p { margin: 0; color: #565650; font: 500 13px/1.7 Georgia, "Songti SC", serif; }
.about-detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); }
.about-detail-grid > section { min-height: 176px; padding: 24px 20px 24px 0; }
.about-detail-grid > section + section { padding-left: 20px; border-left: 1px solid var(--line); }
.about-detail-grid h3, .about-steps h3 { margin: 0 0 12px; font-size: 20px; }
.about-detail-grid p:last-child, .about-detail-grid li, .about-steps p { color: #62615c; font-size: 10px; line-height: 1.65; }
.about-detail-grid ul { margin: 0; padding-left: 17px; }
.about-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.about-tags span { padding: 6px 8px; border: 1px solid var(--line); color: #65635e; font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.about-primary-action { display: flex; padding: 24px 0 0; align-items: end; justify-content: space-between; gap: 24px; color: inherit; text-decoration: none; }
.about-primary-action strong { display: block; margin-bottom: 6px; font: 500 24px Georgia, "Songti SC", serif; }
.about-primary-action small { color: var(--muted); }
.about-primary-action b { color: var(--red); font-size: 22px; }
.about-primary-action:hover strong { text-decoration: underline; text-decoration-color: var(--red); text-underline-offset: 5px; }
.about-steps { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.about-steps section { padding: 20px 18px 20px 0; }
.about-steps section + section { padding-left: 18px; border-left: 1px solid var(--line); }
.about-steps b { color: var(--red); font: 700 9px ui-monospace, monospace; }
.about-loki-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 30px; margin-top: 28px; }
.about-loki-intro { padding: 24px; background: var(--sage); }
.about-loki-intro span { display: flex; min-height: 145px; align-items: end; font: italic 64px Georgia, serif; }
.about-loki-intro p { margin: 20px 0 0; color: #40443c; font-size: 11px; line-height: 1.65; }
.about-questions { border-bottom: 1px solid var(--line); }
.about-questions details { border-top: 1px solid var(--line); }
.about-questions summary { padding: 15px 0; cursor: pointer; list-style: none; font: 500 18px Georgia, "Songti SC", serif; }
.about-questions summary::after { content: "+"; float: right; color: var(--red); }
.about-questions details[open] summary::after { content: "−"; }
.about-questions details p { margin: 0; padding: 0 0 17px; color: #5c5b56; font-size: 11px; line-height: 1.7; }
.about-now { display: grid; grid-template-columns: 90px repeat(3, 1fr); margin-top: 26px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.about-now > div, .about-now > a { padding: 17px 14px; }
.about-now > a { border-left: 1px solid var(--line); color: inherit; text-decoration: none; }
.about-now strong, .about-now small { display: block; }
.about-now strong { margin-bottom: 6px; font: 500 16px Georgia, "Songti SC", serif; }
.about-now small { color: var(--muted); font-size: 8px; }
.about-project-list { margin-top: 24px; border-top: 1px solid var(--ink); }
.about-project-list a { display: grid; grid-template-columns: 35px 1fr 1fr 20px; gap: 14px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.about-project-list b { color: var(--red); font: 700 9px ui-monospace, monospace; }
.about-project-list strong { font: 500 21px Georgia, "Songti SC", serif; }
.about-project-list span { color: #5f5d57; font-size: 10px; }
.about-project-list i { color: var(--red); font-style: normal; }
.about-project-list a:hover strong { text-decoration: underline; text-decoration-color: var(--red); text-underline-offset: 4px; }
.about-contact-dock { display: grid; grid-template-columns: 1fr 1fr; margin-left: 42px; color: #f2f0e8; background: var(--dark); }
.about-contact-dock a, .about-contact-dock button { display: flex; min-width: 0; padding: 19px 24px; border: 0; color: inherit; background: transparent; align-items: center; justify-content: space-between; gap: 16px; text-align: left; text-decoration: none; cursor: pointer; }
.about-contact-dock button { border-left: 1px solid #4b4c46; }
.about-contact-dock small, .about-contact-dock strong { display: block; }
.about-contact-dock small { margin-bottom: 5px; color: #c98d92; font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.about-contact-dock strong { overflow-wrap: anywhere; font-size: 13px; }
.about-contact-dock b { color: #c98d92; font-size: 11px; }

.contact-page { padding: 30px 0 110px; }.contact-page header { max-width: 820px; padding-bottom: 52px; border-bottom: 1px solid var(--ink); }.contact-page header .page-path { margin-bottom: 80px; }.contact-page h1 { margin: 0 0 24px; font-size: 80px; }.contact-page header > p:last-child { max-width: 620px; margin: 0; color: #4c4e49; font: 500 20px/1.5 Georgia, "Songti SC", serif; }.contact-page section { max-width: 680px; padding: 45px 0; }.contact-page section h2 { margin: 0 0 14px; font-size: 42px; }.contact-page section p:last-child { color: var(--muted); }
.site-footer { display: flex; width: min(var(--max), calc(100% - 48px)); margin-inline: auto; padding: 20px 0 26px; color: var(--muted); font-size: 10px; justify-content: space-between; }

@media (max-width: 900px) {
  .home-hero, .page-intro-grid, .board-intro-grid, .evolution-intro, .product-hero, .product-story, .article-head, .article-layout, .about-panel-head, .about-loki-layout { grid-template-columns: 1fr; }
  .home-hero { gap: 36px; }.journal-stage, .product-visual { min-height: 390px; }.product-hero-copy { min-height: 500px; padding-right: 0; }.product-story { gap: 40px; }.article-head { gap: 30px; }.article-layout { gap: 20px; }.article-aside { order: 2; }.about-panel-head { gap: 22px; }.page-intro-grid, .board-intro-grid, .evolution-intro { gap: 30px; }.project-row { grid-template-columns: 40px 1fr 25px; gap: 14px; min-height: 130px; }.project-row > p, .project-state { grid-column: 2; }.row-arrow { grid-column: 3; grid-row: 1; }.project-state { display: flex; gap: 16px; align-items: baseline; }.project-state strong { margin: 0; }.project-state time { font-size: 8px; }.evolution-controls { display: grid; gap: 16px; }.evolution-search { justify-content: stretch; }.evolution-search input { flex: 1; width: auto; }
}

@media (max-width: 640px) {
  .shell, .site-header-inner, .site-footer { width: min(100% - 30px, var(--max)); }.site-header-inner { min-height: 62px; gap: 14px; }.brand-lockup small { display: none; }.brand-lockup strong { font-size: 20px; }.site-nav { gap: 14px; }.site-nav a { font-size: 12px; }.home-hero { padding: 38px 0 28px; }.home-copy h1 { font-size: 64px; }.home-statement { font-size: 18px; }.journal-stage { min-height: 390px; }.journal-cover { width: min(78%, 280px); }.journal-copy strong { font-size: 31px; }.home-directory { grid-template-columns: 1fr; }.home-directory a { min-height: 68px; border-right: 0; border-bottom: 1px solid var(--line); }.home-directory a:last-child { border-bottom: 0; }.page-intro, .board-intro { padding-top: 24px; }.page-intro .page-path, .board-intro .page-path { margin-bottom: 52px; }.page-intro h1, .board-intro h1, .evolution-intro h1 { font-size: 56px; }.page-intro-grid > p, .board-intro-grid > p, .evolution-intro > p { font-size: 17px; }.project-index { padding-top: 18px; }.product-title h1 { font-size: 72px; }.product-title > p:last-child { font-size: 19px; }.product-hero-copy { min-height: 470px; }.product-visual { min-height:360px; }.product-visual > span { font-size: 220px; }.product-narrative h2 { font-size: 29px; }.evolution-entry { grid-template-columns: 70px 1fr 20px; gap: 12px; }.evolution-entry .evolution-card-context { grid-column: 2; }.evolution-entry .evolution-entry-copy { grid-column: 2; }.evolution-entry .row-arrow { grid-column: 3; grid-row: 1; }.article-head { padding-top: 48px; }.article-head h1 { font-size: 50px; }.article-layout { padding-top: 34px; }.evolution-body { font-size: 17px; }.evolution-body > p, .evolution-body > ul, .evolution-body > ol { font-size: 17px; }.about-top { padding-top: 24px; }.about-top .page-path { margin-bottom: 52px; }.about-top h1 { font-size: 52px; }.about-top > p:last-child { font-size: 16px; }.about-room { grid-template-columns: 1fr; }.about-menu { min-height: auto; padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }.about-tabs { grid-template-columns: 1fr 1fr; }.about-tab:nth-child(even) { padding-left: 14px; border-left: 1px solid var(--line); }.about-desk-note { margin-top: 24px; }.about-panel { padding: 32px 0; }.about-panel-head h2 { font-size: 34px; }.about-detail-grid, .about-steps, .about-now, .about-contact-dock { grid-template-columns: 1fr; }.about-detail-grid > section + section, .about-steps section + section, .about-now > a { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }.about-detail-grid > section { min-height: auto; }.about-now > div, .about-now > a { padding-inline: 0; }.about-project-list a { grid-template-columns: 28px 1fr 18px; }.about-project-list span { grid-column: 2; }.about-contact-dock { margin-left: 0; }.about-contact-dock button { border-left: 0; border-top: 1px solid #4b4c46; }.contact-page { padding-top: 24px; }.contact-page header .page-path { margin-bottom: 60px; }.contact-page h1 { font-size: 54px; }.contact-page header > p:last-child { font-size: 17px; }.contact-page section h2 { font-size: 34px; }.site-footer { display: grid; gap: 4px; padding-bottom: 24px; }
}
