:root { color-scheme:light; --paper:#fafbfc; --surface:#ffffff; --sidebar:#eef2f8; --ink:#26334d; --muted:#5e6a80; --line:#dce2ed; --accent:#345fe3; --brand:#354b8a; --soft:#e9eefb; --serif:Georgia,'Times New Roman',serif; --sans:'Segoe UI',system-ui,sans-serif; --mono:'Courier New',monospace; }
[data-theme="dark"] { color-scheme:dark; --paper:#151b2a; --surface:#1e273b; --sidebar:#111827; --ink:#edf1fa; --muted:#b5c0d6; --line:#3d4c68; --accent:#a6baff; --brand:#a5b8ff; --soft:#283652; }
* { box-sizing:border-box; }html { scroll-behavior:smooth; }body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.65 var(--sans); }a { color:inherit; text-underline-offset:5px; }button,input,summary { font:inherit; color:inherit; }button,summary { cursor:pointer; }button { border:0; background:none; }a,button,input { -webkit-tap-highlight-color:transparent; }:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }h1:focus,h2[tabindex]:focus,main:focus { outline:none; }[hidden] { display:none!important; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }.skip-link { position:fixed; top:-100px; left:16px; z-index:30; padding:12px; background:var(--ink); color:var(--paper); }.skip-link:focus { top:12px; }
.sidebar { width:216px; position:fixed; inset:0 auto 0 0; padding:42px 23px 26px; background:var(--sidebar); border-right:1px solid var(--line); display:flex; flex-direction:column; z-index:5; }.identity { text-decoration:none; display:flex; flex-direction:column; gap:15px; font-size:19px; font-weight:650; letter-spacing:-.4px; }.identity small { display:block; margin-top:5px; max-width:150px; font-size:12px; font-weight:400; line-height:1.5; letter-spacing:0; color:var(--muted); }.pixel-mark { position:relative; display:block; width:40px; height:40px; flex:0 0 auto; background:var(--brand); clip-path:polygon(0 8px,8px 8px,8px 0,32px 0,32px 8px,40px 8px,40px 40px,0 40px); }.pixel-mark::before { content:''; position:absolute; inset:9px 8px 6px; background:var(--paper); clip-path:polygon(50% 0,100% 10px,100% 100%,0 100%,0 10px); }.pixel-mark::after { content:''; position:absolute; width:8px; height:15px; left:16px; bottom:6px; background:var(--accent); box-shadow:10px -13px 0 -2px var(--brand); }.identity:hover .pixel-mark::after { background:var(--ink); }
nav { margin-top:52px; display:flex; flex-direction:column; gap:7px; }nav a { text-decoration:none; display:flex; align-items:center; gap:13px; min-height:44px; padding:9px 12px; font-size:14px; color:var(--muted); border-radius:3px; }nav a>span:first-child { width:18px; text-align:center; font:21px/1 var(--mono); }nav a:hover { background:var(--soft); color:var(--ink); }nav a[aria-current="page"] { color:var(--ink); background:var(--surface); box-shadow:0 1px 3px #00000008; }.nav-number { font:10px var(--mono); margin-left:auto; opacity:.65; }.sidebar-bottom { margin-top:auto; }.sidebar-bottom p { color:var(--muted); font:14px/1.6 var(--serif); }.theme-toggle { padding:10px 0; font-size:12px; min-height:44px; display:flex; align-items:center; gap:10px; color:var(--muted); }
main { margin-left:216px; padding:0 clamp(24px,5vw,78px); max-width:1530px; }.topline { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:26px 0; border-bottom:1px solid var(--line); color:var(--muted); font:11px/1.6 var(--mono); }.preview-indicator { font-size:10px; text-align:right; }.page { padding:48px 0 40px; min-height:calc(100vh - 150px); }.eyebrow { color:var(--accent); font:11px/1.6 var(--mono); text-transform:uppercase; letter-spacing:1.5px; margin:0 0 16px; }
h1 { font:normal clamp(43px,5.5vw,78px)/1.08 var(--serif); letter-spacing:-3.4px; margin:0; }h1 em { font-weight:400; color:var(--brand); }h2 { font:normal 27px/1.25 var(--serif); letter-spacing:-.7px; margin:0; }h3 { margin:0; }.home-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:36px; }.intro-aside { font-size:14px; color:var(--muted); max-width:285px; padding-bottom:5px; }.intro-aside span { display:inline-block; color:var(--ink); margin-top:10px; }
.landscape { position:relative; background:#e8effb; overflow:hidden; }.landscape img { display:block; width:100%; height:auto; min-height:160px; object-fit:cover; image-rendering:pixelated; }.landscape-caption { display:flex; justify-content:space-between; gap:10px; padding:8px 14px; font:10px/1.6 var(--mono); color:#3d5278; background:#e8eef9; }.home-columns { display:grid; grid-template-columns:1.25fr 1fr; gap:42px; margin-top:36px; }.section-top { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:15px; }.section-top h2 { font-size:23px; }.section-top a,.quiet-link { font-size:12px; text-decoration:none; color:var(--muted); padding:12px 0; display:inline-block; }.section-top a:hover,.quiet-link:hover { text-decoration:underline; color:var(--accent); }
.mini-entry { display:flex; align-items:center; text-align:left; gap:16px; width:100%; padding:15px 0; border-top:1px solid var(--line); }.mini-entry:hover strong { color:var(--accent); }.mini-entry strong { font-size:14px; font-weight:600; line-height:1.45; display:block; }.mini-entry small { display:block; color:var(--muted); font:10px/1.6 var(--mono); margin-top:6px; }.mini-thumb { display:grid; place-items:center; width:48px; height:48px; background:var(--soft); color:var(--brand); flex-shrink:0; font:26px var(--mono); }.row-arrow { margin-left:auto; flex-shrink:0; color:var(--muted); }.home-now { border-left:1px solid var(--line); padding-left:30px; }.live-dot { width:6px; height:6px; background:var(--brand); }.now-line { margin:0 0 14px; font-size:13px; line-height:1.6; color:var(--muted); }.now-line strong { display:block; font:10px/1.8 var(--mono); color:var(--accent); text-transform:uppercase; letter-spacing:1px; }
.shelf-invitation { display:flex; align-items:center; gap:25px; padding:22px 24px; margin-top:35px; background:var(--soft); text-decoration:none; }.shelf-invitation strong { display:block; font:22px/1.3 var(--serif); letter-spacing:-.5px; }.shelf-invitation small { display:block; color:var(--muted); font-size:12px; margin-top:7px; }.invitation-arrow { margin-left:auto; font-size:25px; }.mini-spines { display:flex; align-items:flex-end; gap:4px; height:44px; }.mini-spines i { display:block; width:12px; height:39px; background:#5279b8; border-left:3px solid #ffffff35; }.mini-spines i:nth-child(2) { height:46px; background:#7964ae; }.mini-spines i:nth-child(3) { height:34px; background:#91b2d8; }.mini-spines i:nth-child(4) { background:#3d5966; transform:rotate(-10deg); margin-left:4px; }
.page-heading { max-width:760px; margin-bottom:42px; }.page-heading>p:last-child:not(.eyebrow) { max-width:570px; color:var(--muted); font-size:16px; line-height:1.8; margin:22px 0 0; }.browse-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; border-bottom:1px solid var(--line); }.filters,.shelf-filters { display:flex; flex-wrap:wrap; gap:20px; }.filter,.shelf-filter { min-height:48px; padding:10px 0; color:var(--muted); font-size:14px; border-bottom:2px solid transparent; }.filter.active,.shelf-filter.active { color:var(--ink); border-bottom-color:var(--accent); }.filter:hover,.shelf-filter:hover { color:var(--accent); }.search-field { display:flex; align-items:center; gap:10px; color:var(--muted); }.search-field input { width:170px; min-height:44px; padding:6px; border:0; background:transparent; font-size:14px; border-radius:0; }input::placeholder { color:var(--muted); opacity:1; }.results-status { font:11px/1.6 var(--mono); color:var(--muted); min-height:18px; margin:17px 0 24px; }
.work-row { display:grid; grid-template-columns:82px 1fr 100px 20px; align-items:center; gap:22px; width:100%; padding:24px 0; border-bottom:1px solid var(--line); text-align:left; }.work-row:first-child { padding-top:0; }.work-row:hover .work-title { color:var(--accent); }.work-thumb { width:82px; height:75px; display:grid; place-items:center; font:32px var(--mono); color:var(--brand); background:var(--soft); }.work-row[data-category="life"] .work-thumb { background:#ece7f8; color:#644992; }.work-type { font:10px/1.6 var(--mono); color:var(--muted); text-transform:uppercase; letter-spacing:1px; display:block; margin-bottom:7px; }.work-title { display:block; font:25px/1.22 var(--serif); letter-spacing:-.5px; }.work-summary { display:block; font-size:13px; color:var(--muted); margin-top:8px; max-width:500px; }.work-date { color:var(--muted); text-align:right; font:11px var(--mono); }.empty-state { padding:40px 0; }.empty-state p { color:var(--muted); }.text-button { color:var(--accent); text-decoration:underline; text-underline-offset:5px; min-height:44px; padding:8px 0; }
.refine { position:relative; font-size:12px; }.refine summary { list-style:none; padding:12px 0; min-height:44px; color:var(--muted); }.refine summary::-webkit-details-marker { display:none; }.refine summary span { padding-left:12px; }.refine label { position:absolute; top:45px; right:0; z-index:2; display:flex; gap:12px; align-items:center; width:235px; padding:16px; background:var(--surface); border:1px solid var(--line); box-shadow:0 5px 20px #00000010; }.refine input { width:18px; height:18px; accent-color:var(--brand); }
.shelf-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 25px; padding:6px 0 25px; }.shelf-item { min-width:0; }.shelf-object { width:100%; text-align:left; padding:0; display:block; }.object-cover { aspect-ratio:2/2.85; position:relative; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; padding:17px; background:var(--cover-bg,#435b89); color:var(--cover-ink,#fafbfc); box-shadow:inset 4px 0 0 #ffffff18,8px 10px 15px #18284414; transition:transform 200ms,box-shadow 200ms; }.object-cover::after { content:''; position:absolute; inset:0; background-image:linear-gradient(90deg,#00000018,transparent 9%,transparent 93%,#00000018); pointer-events:none; }.shelf-object:hover .object-cover,.shelf-object:focus-visible .object-cover { transform:translateY(-8px) rotate(-1deg); box-shadow:inset 4px 0 0 #ffffff18,8px 18px 20px #18284420; }.cover-film { --cover-bg:#294b78; }.cover-book { --cover-bg:#5c4b86; }.cover-writing { --cover-bg:#dce9f5; --cover-ink:#2b405b; }.cover-other { --cover-bg:#3d5966; }.cover-caption { font:9px/1.5 var(--mono); letter-spacing:1px; text-transform:uppercase; z-index:1; }.cover-title { font:30px/1.1 var(--serif); letter-spacing:-1px; z-index:1; overflow-wrap:anywhere; }.cover-motif { position:absolute; width:75%; height:40%; bottom:15%; left:25%; opacity:.5; background:repeating-linear-gradient(135deg,transparent 0 13px,#bdd4ff 13px 15px,transparent 15px 29px); clip-path:polygon(0 25%,25% 25%,25% 0,75% 0,75% 25%,100% 25%,100% 75%,75% 75%,75% 100%,25% 100%,25% 75%,0 75%); }.cover-book .cover-motif { background:#c5b9eb; width:54%; height:34%; border-radius:50% 50% 0 0; clip-path:none; left:24%; bottom:18%; opacity:.9; }.cover-writing .cover-motif { height:33%; width:75%; left:12%; background:repeating-linear-gradient(0deg,#617f9e 0 1px,transparent 1px 14px); clip-path:none; opacity:.5; }.cover-other .cover-motif { width:55%; left:23%; height:40%; background:#9dcde4; transform:rotate(45deg); clip-path:none; opacity:.8; }.object-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.object-title { display:block; margin-top:18px; font-size:14px; line-height:1.4; font-weight:600; }.object-meta { display:block; color:var(--muted); font:11px/1.6 var(--mono); margin-top:6px; }.object-action { display:block; color:var(--accent); font-size:12px; margin-top:8px; }
.elsewhere { display:grid; grid-template-columns:1fr 1.2fr; gap:45px; padding-top:35px; margin-top:22px; border-top:1px solid var(--line); }.elsewhere p:not(.eyebrow) { color:var(--muted); font-size:14px; }.elsewhere ul { list-style:none; padding:0; margin:0; }.profile-link,.profile-pending { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:15px 0; border-bottom:1px solid var(--line); text-decoration:none; min-height:62px; }.profile-link strong { display:block; font-size:14px; }.profile-link small { display:block; margin-top:3px; color:var(--muted); font:10px/1.5 var(--mono); }.profile-link:hover,.profile-link:hover small { color:var(--accent); }.profile-pending { color:var(--muted); }.profile-pending small { font:10px var(--mono); }
.notes-layout { display:grid; grid-template-columns:1.5fr 1fr; gap:30px; align-items:center; }.knowledge-map { background-image:radial-gradient(var(--line) 1px,transparent 1px); background-size:16px 16px; }.knowledge-map svg { display:block; width:100%; }#graph-edges line { stroke:var(--muted); stroke-width:1; stroke-dasharray:3 5; opacity:.5; }#graph-nodes rect { fill:var(--surface); stroke:var(--line); stroke-width:2; }#graph-nodes text { font:13px var(--mono); fill:var(--ink); text-anchor:middle; pointer-events:none; }#graph-nodes a[aria-pressed="true"] rect { fill:var(--brand); stroke:var(--brand); }#graph-nodes a[aria-pressed="true"] text { fill:var(--paper); }.map-legend { display:flex; gap:16px; justify-content:center; padding:16px 0; font:9px var(--mono); color:var(--muted); text-align:center; }.note-reader { border-left:1px solid var(--line); padding-left:25px; }.note-reader h2 { font-size:32px; margin-bottom:7px; }.note-reader p:not(.eyebrow) { font-size:15px; line-height:1.75; }.note-reader small { color:var(--accent); font:9px/1.5 var(--mono); letter-spacing:.7px; text-transform:uppercase; }.mental-prompt { margin:20px 0 0; padding:14px 0 14px 17px; border-left:3px solid var(--brand); color:var(--ink); font:19px/1.45 var(--serif); }.mental-prompt span { display:block; margin-bottom:6px; color:var(--muted); font:9px/1.5 var(--mono); letter-spacing:1px; text-transform:uppercase; }.related-notes { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }.related-label { flex-basis:100%; color:var(--muted); font:9px/1.5 var(--mono); letter-spacing:1px; text-transform:uppercase; }.related-notes button,.topic-list button { padding:10px 12px; min-height:44px; border:1px solid var(--line); font-size:12px; }.related-notes button:hover { border-color:var(--brand); }.topic-list { display:flex; flex-wrap:wrap; gap:10px; border-top:1px solid var(--line); padding-top:25px; margin-top:30px; }.topic-list button[aria-pressed="true"] { background:var(--brand); color:var(--paper); border-color:var(--brand); }
.about-layout { display:grid; grid-template-columns:1fr 1.25fr; gap:45px; align-items:center; }.about-layout img { width:100%; height:auto; image-rendering:pixelated; }.about-layout p { color:var(--muted); }.primary-link { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; background:var(--brand); color:var(--paper); padding:12px 18px; text-decoration:none; min-height:48px; font-size:14px; }#notes-library { margin:-18px 0 36px; }#notes-library small { display:block; margin-top:9px; color:var(--muted); font:11px var(--mono); }.about-now { margin-top:50px; padding-top:30px; border-top:1px solid var(--line); }#now-list { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin-top:25px; }#now-list p { margin:8px 0; color:var(--muted); }#now-list strong { font:11px var(--mono); text-transform:uppercase; letter-spacing:1px; }
footer { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:25px 0; border-top:1px solid var(--line); color:var(--muted); font:10px/1.8 var(--mono); }footer a { min-height:44px; display:inline-flex; align-items:center; }
dialog { position:fixed; inset:0 0 0 auto; margin:0; width:min(510px,100%); max-width:100%; height:100dvh; max-height:100dvh; padding:0; border:0; border-left:1px solid var(--line); background:var(--paper); color:var(--ink); overflow-y:auto; overscroll-behavior:contain; }dialog::backdrop { background:#121e3865; backdrop-filter:blur(3px); }body:has(dialog[open]) { overflow:hidden; }.dialog-top { position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 26px; background:var(--paper); border-bottom:1px solid var(--line); }.dialog-top .eyebrow { margin:0; font-size:10px; }.dialog-top button { min-height:44px; padding:8px; font-size:13px; }.dialog-top button span { font-size:22px; margin-left:15px; }#detail-art { background:var(--soft); padding:30px; display:flex; justify-content:center; }#detail-art .object-cover { width:150px; }#detail-art .work-thumb { width:100%; height:130px; font-size:55px; }.dialog-body { padding:28px 32px 40px; }.detail-meta { font:11px var(--mono); text-transform:uppercase; color:var(--accent); }.dialog-body h2 { font-size:38px; letter-spacing:-1px; line-height:1.2; overflow-wrap:anywhere; }#detail-byline { font-size:14px; color:var(--muted); }#detail-note { margin:30px 0; font-size:17px; line-height:1.85; white-space:pre-line; }#detail-tags { padding:0; list-style:none; display:flex; gap:10px; flex-wrap:wrap; }#detail-tags li { font:11px var(--mono); color:var(--muted); padding:6px 9px; background:var(--soft); }#detail-action { margin-top:30px; border-top:1px solid var(--line); padding-top:22px; }#detail-action small { display:block; margin-top:10px; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }.notice { padding:18px; background:var(--soft); }
@media(min-width:1450px) { main { padding-inline:80px; } }
@media(max-width:1100px) { .sidebar { width:180px; padding-inline:18px; }main { margin-left:180px; padding-inline:30px; }.home-intro { display:block; }.intro-aside { max-width:none; margin-bottom:0; }.desktop-break { display:none; }.intro-aside span { margin:0 0 0 5px; }.shelf-grid { gap:25px 18px; }.cover-title { font-size:25px; }.object-cover { padding:12px; }.home-columns { gap:25px; }.home-now { padding-left:20px; } }
@media(max-width:800px) { .sidebar { width:150px; padding-inline:14px; }.identity { font-size:17px; }main { margin-left:150px; padding-inline:24px; }.nav-number { display:none; }h1 { font-size:54px; }.shelf-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.home-columns { grid-template-columns:1fr; }.home-now { padding-left:0; border-left:0; border-top:1px solid var(--line); padding-top:25px; }.home-now #home-now { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.work-row { grid-template-columns:60px 1fr 16px; gap:15px; }.work-thumb { width:60px; height:62px; }.work-date { display:none; }.work-title { font-size:22px; }.notes-layout,.about-layout { grid-template-columns:1fr; }.note-reader { border-left:0; padding:20px 0 0; border-top:1px solid var(--line); }.about-layout img { max-width:260px; }.elsewhere { grid-template-columns:1fr; gap:10px; } }
@media(max-width:600px) { .sidebar { position:relative; width:100%; padding:20px 20px 0; border-right:0; border-bottom:1px solid var(--line); }.identity { flex-direction:row; align-items:center; gap:12px; font-size:16px; }.identity small { max-width:none; font-size:11px; margin-top:1px; }.pixel-mark { width:32px; height:32px; clip-path:polygon(0 6px,6px 6px,6px 0,26px 0,26px 6px,32px 6px,32px 32px,0 32px); }.pixel-mark::before { inset:7px 6px 5px; }.pixel-mark::after { width:7px; height:12px; left:13px; bottom:5px; }.sidebar-bottom { position:absolute; right:17px; top:19px; }.sidebar-bottom p,.theme-label { display:none; }.theme-toggle { padding:5px 10px; font-size:23px; }.identity { padding-right:45px; }nav { flex-direction:row; justify-content:space-between; margin-top:20px; gap:0; }nav a { flex:1; justify-content:center; padding:10px 4px; min-height:49px; font-size:12px; border-radius:0; gap:0; }nav a>span:first-child { display:none; }nav a[aria-current="page"] { background:none; box-shadow:none; border-bottom:2px solid var(--accent); }main { margin-left:0; padding-inline:22px; }.topline { padding:17px 0; font-size:10px; }.preview-indicator { max-width:120px; font-size:9px; }.page { padding-top:32px; min-height:60vh; }h1 { font-size:47px; letter-spacing:-2.3px; }.home-intro { margin-bottom:25px; }.intro-aside { font-size:14px; }.intro-aside span { display:block; margin:6px 0 0; }.landscape img { min-height:135px; }.landscape-caption { font-size:8px; }.home-columns { margin-top:24px; }.shelf-invitation { gap:16px; padding:18px 15px; }.shelf-invitation strong { font-size:20px; }.mini-spines { display:none; }.shelf-invitation small { font-size:12px; }.page-heading { margin-bottom:28px; }.page-heading>p:last-child:not(.eyebrow) { font-size:15px; }.filters,.shelf-filters { gap:16px; }.filter,.shelf-filter { font-size:13px; }.browse-toolbar { gap:5px; }.search-field { width:100%; border-top:1px solid var(--line); }.search-field input { width:100%; }.shelf-toolbar .refine { margin-left:auto; }.shelf-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; }.object-cover { padding:17px; }.cover-title { font-size:29px; }.object-title { font-size:14px; }.work-summary { display:none; }.work-row { padding-block:20px; }.work-title { font-size:21px; }#now-list { grid-template-columns:1fr; gap:15px; }.knowledge-map svg { min-height:0; }.map-legend { font-size:8px; gap:12px; }footer { flex-wrap:wrap; font-size:9px; }footer>span:nth-child(2) { display:none; }.dialog-body { padding:22px; }.dialog-body h2 { font-size:32px; } }
@media(max-width:360px) { main { padding-inline:17px; }.shelf-grid { gap:22px 18px; }.cover-title { font-size:25px; }.object-cover { padding:12px; }.filters,.shelf-filters { gap:13px; }.filter,.shelf-filter { font-size:12px; }h1 { font-size:42px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { transition:none!important; } }
#detail-art { padding:20px; }
#detail-art .object-cover { width:112px; padding:10px; }
#detail-art .cover-title { font-size:16px; }
#detail-art .cover-caption { font-size:6px; letter-spacing:.4px; }
#detail-art .work-thumb { height:90px; }
#shelf .page-heading { margin-bottom:25px; }
#shelf.page { padding-top:32px; }
#shelf .page-heading>p:last-child { margin-top:16px; }
@media(max-width:600px) { .knowledge-map { display:none; } .note-reader { border-top:0; padding-top:0; } }
@media(prefers-contrast:more) { :root { --muted:var(--ink); --line:var(--ink); } }

/* Home motion: animate only the small scene details; the reading layout stays still. */
.home-scene { display:block; width:100%; height:auto; }
.scene-cloud { animation:cloud-drift 12s ease-in-out infinite alternate; }
.cloud-two { animation-duration:24s; animation-direction:alternate-reverse; }
.lake-ripple { animation:lake-drift 6s ease-in-out infinite alternate; }
.ripple-two { animation-delay:-2s; animation-duration:7s; }
.ripple-three { animation-delay:-4s; animation-duration:8s; }
.chimney-smoke { animation:smoke-rise 5s ease-in-out infinite; }
.landscape[data-motion="paused"] .home-scene * { animation-play-state:paused; }
.landscape-caption { align-items:center; flex-wrap:wrap; padding-block:4px; }
.motion-toggle { min-height:44px; padding:8px 2px; font:11px/1.5 var(--mono); color:#3d5278; text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }
.motion-toggle:hover { color:#243b66; }
@keyframes cloud-drift { from { transform:translateX(-9px); } to { transform:translateX(24px); } }
@keyframes lake-drift { from { transform:translateX(-2px); opacity:.55; } to { transform:translateX(3px); opacity:1; } }
@keyframes smoke-rise { 0% { transform:translate(0,2px); opacity:0; } 25% { opacity:.8; } 75% { opacity:.45; } 100% { transform:translate(3px,-5px); opacity:0; } }
@keyframes home-arrive { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.scene-stage { position:relative; }
.scene-wanderer { animation:wander-path 16s linear infinite; }
.wanderer-step { animation:walking-bob 600ms steps(2,end) infinite; }
.wanderer-leg { animation:walking-leg 600ms steps(2,end) infinite alternate; }
.leg-two { animation-delay:-600ms; }
.wanderer-greeting { animation:greeting-pop 16s linear infinite; transform-origin:218px 75px; }
.scene-birds { animation:birds-cross 20s linear infinite; }
.scene-explore { display:inline-flex; align-items:center; gap:12px; min-height:44px; padding:8px 0; font:600 12px/1.5 var(--mono); color:#2c477a; text-align:left; }
.scene-explore:hover { text-decoration:underline; text-underline-offset:4px; }
.scene-explore>span:first-child { font-size:20px; }
.scene-destinations { position:absolute; inset:0; display:block; margin:0; pointer-events:none; }
.scene-destinations .scene-place { position:absolute; display:flex; gap:8px; min-height:44px; padding:10px 12px; background:#fafbfc; color:#26334d; box-shadow:3px 3px 0 #425a8360; font:12px/1.4 var(--mono); text-decoration:none; pointer-events:auto; transform:translate(-50%,-100%); border:1px solid #465580; white-space:nowrap; }
.scene-destinations .scene-place:hover { background:#e4ebfa; }
.scene-destinations .scene-place>span:first-child { display:inline; width:auto; font:inherit; }
.scene-place::after { content:''; position:absolute; bottom:-7px; left:50%; width:10px; height:10px; background:inherit; border-right:1px solid #465580; border-bottom:1px solid #465580; transform:rotate(45deg); }
.place-work { left:17%; top:61%; }.place-about { left:42%; top:40%; }.place-shelf { left:79%; top:73%; }
@keyframes wander-path { 0%,6%,100% { transform:translate(0,0); } 38%,53% { transform:translate(62px,7px); } 80% { transform:translate(21px,4px); } }
@keyframes walking-bob { to { transform:translateY(-1px); } }
@keyframes walking-leg { to { transform:translateY(-2px); } }
@keyframes greeting-pop { 0%,15%,94%,100% { opacity:1; transform:translateY(0) scale(1); } 22%,87% { opacity:0; transform:translateY(4px) scale(.9); } }
@keyframes birds-cross { from { transform:translateX(-40px); } to { transform:translateX(490px); } }
@media(max-width:600px) {
  .home-scene { min-height:185px; }
  .scene-destinations { position:static; display:flex; flex-wrap:wrap; gap:10px; padding:10px 14px; background:#e8eef9; }
  .scene-destinations .scene-place { position:static; transform:none; flex:1 1 130px; justify-content:center; white-space:normal; }
  .scene-place::after { display:none; }
  .scene-explore { font-size:11px; gap:8px; }
}
@media(prefers-reduced-motion:no-preference) {
  #home:not([hidden]) .home-intro>div { animation:home-arrive 500ms ease-out both; }
  #home:not([hidden]) .intro-aside { animation:home-arrive 500ms 100ms ease-out both; }
}
@media(prefers-reduced-motion:reduce) {
  #home *,#home *::before,#home *::after { animation:none!important; }
  .motion-toggle { display:none; }
}

/* Decision Lab: a transparent simulated case study, built into the work rather than presented as client evidence. */
.lab-back { display:inline-flex; min-height:44px; align-items:center; margin-bottom:24px; color:var(--muted); font-size:13px; text-decoration:none; }
.lab-back:hover { color:var(--accent); text-decoration:underline; }
.lab-heading { margin-bottom:28px; }
.lab-disclosure { display:grid; grid-template-columns:140px 1fr; gap:20px; margin-bottom:34px; padding:16px 18px; background:var(--soft); font-size:13px; }
.lab-disclosure strong { font:10px/1.6 var(--mono); color:var(--accent); text-transform:uppercase; letter-spacing:1px; }
.lab-disclosure span { color:var(--muted); }
.decision-lab { display:grid; grid-template-columns:minmax(245px,.72fr) minmax(0,1.5fr); border-block:1px solid var(--line); }
.lab-controls { padding:30px 32px 30px 0; border-right:1px solid var(--line); }
.lab-controls h2 { font-size:25px; }
.lab-control { display:block; margin-top:28px; }
.lab-control>span { display:flex; justify-content:space-between; gap:15px; align-items:baseline; }
.lab-control strong { font-size:13px; }
.lab-control output { color:var(--accent); font:11px var(--mono); white-space:nowrap; }
.lab-control input { width:100%; min-height:32px; margin:8px 0 2px; accent-color:var(--brand); cursor:pointer; }
.lab-control small { display:block; color:var(--muted); font-size:11px; line-height:1.55; }
.lab-controls .text-button { margin-top:22px; font-size:12px; }
.lab-results { min-width:0; padding:30px 0 34px 36px; }
.lab-answer { max-width:690px; }
.lab-answer h2 { font-size:34px; }
.lab-answer>p:last-child { max-width:650px; margin:12px 0 0; color:var(--muted); font-size:14px; }
.lab-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin:28px 0; background:var(--line); border:1px solid var(--line); }
.lab-metrics>div { min-width:0; padding:18px; background:var(--surface); }
.lab-metrics span,.lab-metrics small { display:block; color:var(--muted); font:9px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.5px; }
.lab-metrics strong { display:block; margin:7px 0 5px; font:29px/1.1 var(--serif); letter-spacing:-1px; overflow-wrap:anywhere; }
.lab-scorecard { margin-top:25px; }
.lab-scorecard-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:20px; }
.lab-scorecard-heading h3 { font:20px var(--serif); }
.lab-scorecard-heading>span { color:var(--muted); font:9px var(--mono); }
.lab-scorecard-heading i { display:inline-block; width:2px; height:10px; margin-left:5px; background:var(--ink); vertical-align:middle; }
.lab-outcome { margin-top:18px; }
.lab-outcome>div:first-child { display:flex; justify-content:space-between; gap:15px; font-size:12px; }
.lab-outcome>div:first-child strong { font:11px var(--mono); }
.lab-outcome>small { color:var(--muted); font-size:10px; }
.lab-track { position:relative; height:12px; margin:6px 0 4px; background:var(--soft); overflow:visible; }
.lab-track>span { display:block; width:0; height:100%; background:var(--brand); transition:width 220ms ease; }
.lab-outcome[data-state="watch"] .lab-track>span { background:var(--accent); }
.lab-track>i { position:absolute; top:-4px; width:2px; height:20px; background:var(--ink); transform:translateX(-1px); }
.lab-case-notes { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:45px; }
.lab-case-notes h2 { font-size:23px; }
.lab-case-notes p:not(.eyebrow) { color:var(--muted); font-size:13px; }
.lab-case-notes details { grid-column:1/-1; border-top:1px solid var(--line); }
.lab-case-notes summary { display:flex; justify-content:space-between; align-items:center; min-height:52px; color:var(--accent); font-size:13px; list-style:none; }
.lab-case-notes summary::-webkit-details-marker { display:none; }
.lab-case-notes details[open] summary span { transform:rotate(45deg); }
.lab-case-notes ul { margin:0 0 10px; padding:0 0 0 20px; color:var(--muted); font-size:12px; line-height:1.8; }
.lab-loading { min-height:180px; display:grid; place-items:center; border-block:1px solid var(--line); color:var(--muted); font:11px var(--mono); }
.prosperity-three-questions { display:grid; grid-template-columns:repeat(3,1fr); margin:0 0 28px; border-block:1px solid var(--line); }
.prosperity-three-questions article { padding:18px 20px; border-left:1px solid var(--line); }
.prosperity-three-questions article:first-child { border-left:0; }
.prosperity-three-questions span { display:block; color:var(--accent); font:9px var(--mono); }
.prosperity-three-questions strong { display:block; margin:7px 0 4px; font:20px var(--serif); }
.prosperity-three-questions p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.prosperity-story-picker { margin-top:4px; padding:30px 0 34px; border-bottom:1px solid var(--line); }
.prosperity-story-picker h2 { font-size:28px; }
.prosperity-presets { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:20px; }
.prosperity-presets button { min-height:88px; padding:15px; border:1px solid var(--line); background:var(--surface); color:var(--ink); text-align:left; }
.prosperity-presets button strong,.prosperity-presets button small { display:block; }
.prosperity-presets button strong { font:17px/1.3 var(--serif); }
.prosperity-presets button small { margin-top:7px; color:var(--muted); font:10px/1.45 var(--mono); }
.prosperity-presets button:hover,.prosperity-presets button:focus-visible { border-color:var(--brand); transform:translateY(-2px); }
.prosperity-result { max-width:820px; padding-top:42px; }
.prosperity-answer h2 { max-width:760px; font-size:39px; }
.prosperity-view-switch { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:28px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.prosperity-view-switch>span { color:var(--muted); font:9px var(--mono); letter-spacing:.7px; text-transform:uppercase; }
.prosperity-view-switch>div { display:flex; gap:5px; }
.prosperity-view-switch button { min-height:38px; padding:8px 11px; color:var(--muted); border:1px solid transparent; font-size:11px; }
.prosperity-view-switch button[aria-pressed="true"] { color:var(--paper); background:var(--brand); }
.prosperity-view-switch button:not([aria-pressed="true"]):hover { color:var(--ink); border-color:var(--line); }
.prosperity-panel { padding-top:6px; }
.prosperity-people { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:24px; margin:24px 0; padding:18px 20px; background:var(--soft); }
.prosperity-people>div { display:flex; gap:5px; }
.prosperity-people span { position:relative; display:block; width:15px; height:25px; border-bottom:12px solid var(--line); }
.prosperity-people span::before { content:""; position:absolute; left:4px; top:0; width:8px; height:8px; border-radius:50%; background:var(--line); }
.prosperity-people span.lower { border-bottom-color:var(--accent); }
.prosperity-people span.lower::before { background:var(--accent); }
.prosperity-people p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.prosperity-people strong { color:var(--ink); }
.prosperity-chart { margin:30px 0 0; padding:20px; border:1px solid var(--line); background:var(--surface); }
.prosperity-panel>.prosperity-chart { margin-top:18px; }
.prosperity-chart>div:first-child { display:flex; justify-content:space-between; gap:20px; align-items:baseline; }
.prosperity-chart figcaption { font:18px var(--serif); }
.prosperity-chart>div:first-child span { color:var(--muted); font:9px var(--mono); text-transform:uppercase; }
.prosperity-chart svg { display:block; width:100%; height:auto; margin-top:12px; overflow:visible; }
.prosperity-chart svg line { stroke:var(--line); stroke-width:1; }
.prosperity-chart svg text { fill:var(--muted); font:9px var(--mono); }
.prosperity-chart .prosperity-axis { stroke:var(--muted); }
.prosperity-line { fill:none; stroke-width:3; vector-effect:non-scaling-stroke; }
.prosperity-line.average,.prosperity-point.average { stroke:var(--brand); fill:var(--brand); }
.prosperity-line.bottom,.prosperity-point.bottom { stroke:var(--accent); fill:var(--accent); }
.prosperity-legend { display:flex; flex-wrap:wrap; gap:18px; color:var(--muted); font:10px var(--mono); }
.prosperity-legend span { display:flex; align-items:center; gap:7px; }
.prosperity-legend i { width:18px; height:3px; background:var(--brand); }
.prosperity-legend i.bottom { background:var(--accent); }
.prosperity-comparison { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:18px; background:var(--line); border:1px solid var(--line); }
.prosperity-comparison>div { display:flex; justify-content:space-between; align-items:baseline; gap:15px; padding:17px 18px; background:var(--surface); }
.prosperity-comparison span { color:var(--muted); font:11px/1.5 var(--sans); }
.prosperity-comparison strong { color:var(--brand); font:25px var(--serif); white-space:nowrap; }
.prosperity-ppp { display:grid; grid-template-columns:1.1fr .9fr; gap:28px; margin-top:30px; padding:25px; background:var(--soft); }
.prosperity-panel>.prosperity-ppp { margin-top:18px; }
.prosperity-ppp h3 { margin-top:5px; font:25px/1.2 var(--serif); }
.prosperity-ppp p { color:var(--muted); font-size:12px; line-height:1.65; }
.prosperity-ppp>p { grid-column:1/-1; margin:0; padding-top:14px; border-top:1px solid var(--line); }
.prosperity-ppp>p strong { color:var(--ink); }
.prosperity-ppp-values { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; }
.prosperity-ppp-values div { min-width:0; }
.prosperity-ppp-values span { color:var(--muted); font-size:9px; line-height:1.45; }
.prosperity-ppp-values strong { display:block; margin-top:6px; color:var(--brand); font:25px/1 var(--serif); overflow-wrap:anywhere; }
.prosperity-position { display:grid; grid-template-columns:1fr auto; align-items:end; gap:4px 20px; margin-top:18px; padding:16px 18px; border:1px solid var(--line); }
.prosperity-position span { font-size:12px; }
.prosperity-position strong { color:var(--brand); font:26px var(--serif); }
.prosperity-position small { grid-column:1/-1; color:var(--muted); font-size:10px; }
.prosperity-clarifier { margin:18px 0 0; padding:14px 16px; border-left:3px solid var(--brand); background:var(--soft); color:var(--muted); font-size:11px; line-height:1.65; }
.prosperity-clarifier strong { color:var(--ink); }
.prosperity-controls-panel { margin-top:35px; border-block:1px solid var(--line); }
.prosperity-controls-panel>summary { display:flex; justify-content:space-between; align-items:center; min-height:72px; color:var(--ink); list-style:none; cursor:pointer; }
.prosperity-controls-panel>summary::-webkit-details-marker { display:none; }
.prosperity-controls-panel>summary span:first-child { display:flex; flex-direction:column; gap:4px; }
.prosperity-controls-panel>summary small { color:var(--accent); font:9px var(--mono); letter-spacing:.8px; text-transform:uppercase; }
.prosperity-controls-panel>summary strong { font:20px var(--serif); }
.prosperity-controls-panel[open]>summary>span:last-child { transform:rotate(45deg); }
.prosperity-controls { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; padding:8px 0 32px; }
.prosperity-controls-intro { grid-column:1/-1; max-width:650px; }
.prosperity-controls-intro h2 { font-size:27px; }
.prosperity-controls-intro>p:last-child { color:var(--muted); font-size:12px; }
.prosperity-controls .lab-control { margin-top:22px; }
.prosperity-controls>.text-button { justify-self:start; margin-top:24px; }
.prosperity-method { margin-top:28px; border-block:1px solid var(--line); }
.prosperity-method>summary { display:flex; justify-content:space-between; align-items:center; min-height:72px; list-style:none; }
.prosperity-method>summary::-webkit-details-marker { display:none; }
.prosperity-method>summary span:first-child { display:flex; flex-direction:column; gap:4px; }
.prosperity-method>summary small { color:var(--accent); font:9px var(--mono); letter-spacing:.8px; text-transform:uppercase; }
.prosperity-method>summary strong { font:20px var(--serif); }
.prosperity-method[open]>summary>span:last-child { transform:rotate(45deg); }
.prosperity-method-body { padding:4px 0 26px; }
.prosperity-method .prosperity-notes { margin-top:20px; }
.prosperity-assumptions { grid-column:1/-1; padding-top:20px; border-top:1px solid var(--line); }
.prosperity-assumptions h3 { font:18px var(--serif); }
.prosperity-sources { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:42px; padding-top:25px; border-top:1px solid var(--line); }
.prosperity-sources h2 { font-size:23px; }
.prosperity-sources ul { margin:0; padding:0; list-style:none; }
.prosperity-sources li+li { border-top:1px solid var(--line); }
.prosperity-sources a { display:flex; align-items:center; min-height:43px; color:var(--accent); font-size:12px; text-decoration:none; }
.prosperity-sources a:hover { text-decoration:underline; }
.family-lab { display:grid; grid-template-columns:minmax(230px,.72fr) minmax(0,1.45fr); border-block:1px solid var(--line); }
.family-story-picker { padding:30px 30px 30px 0; border-right:1px solid var(--line); }
.family-story-picker h2 { font-size:25px; }
.family-story-picker>div { display:grid; gap:8px; margin-top:24px; }
.family-story-picker button { display:grid; grid-template-columns:25px 1fr; align-items:start; gap:8px; min-height:66px; padding:13px 12px; border:1px solid var(--line); color:var(--muted); text-align:left; }
.family-story-picker button span { color:var(--accent); font:9px var(--mono); }
.family-story-picker button strong { font-size:12px; line-height:1.45; }
.family-story-picker button[aria-pressed="true"] { color:var(--paper); background:var(--brand); border-color:var(--brand); }
.family-result { min-width:0; padding:30px 0 34px 36px; }
.family-result h2 { max-width:680px; font-size:31px; }
.family-result h2 strong { color:var(--brand); font-size:43px; }
.family-result>div>p:not(.eyebrow) { max-width:680px; color:var(--muted); font-size:13px; }
.family-equation { display:grid; grid-template-columns:1fr auto; gap:4px 22px; align-items:center; margin-top:25px; padding:18px 20px; border:1px solid var(--line); }
.family-equation>div { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.family-equation span { padding:6px 8px; background:var(--soft); font:10px var(--mono); }
.family-equation b { color:var(--muted); font:normal 15px var(--mono); }
.family-equation>strong { grid-row:1/3; grid-column:2; color:var(--brand); font:32px var(--serif); }
.family-equation>small { color:var(--muted); font-size:10px; }
.family-secondary { margin-top:20px; padding:17px 18px; background:var(--soft); }
.family-secondary>span { display:block; color:var(--accent); font:9px var(--mono); letter-spacing:.7px; text-transform:uppercase; }
.family-secondary>strong { display:block; margin-top:6px; font:20px/1.35 var(--serif); }
.family-secondary>p { margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.6; }
.family-controls-panel,.family-method { margin-top:28px; border-block:1px solid var(--line); }
.family-controls-panel>summary,.family-method>summary { display:flex; justify-content:space-between; align-items:center; min-height:72px; list-style:none; }
.family-controls-panel>summary::-webkit-details-marker,.family-method>summary::-webkit-details-marker { display:none; }
.family-controls-panel>summary span:first-child,.family-method>summary span:first-child { display:flex; flex-direction:column; gap:4px; }
.family-controls-panel>summary small,.family-method>summary small { color:var(--accent); font:9px var(--mono); letter-spacing:.8px; text-transform:uppercase; }
.family-controls-panel>summary strong,.family-method>summary strong { font:20px var(--serif); }
.family-controls-panel[open]>summary>span:last-child,.family-method[open]>summary>span:last-child { transform:rotate(45deg); }
.family-controls { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; padding:8px 0 32px; }
.family-controls-intro { grid-column:1/-1; max-width:650px; }
.family-controls-intro h2 { font-size:27px; }
.family-controls-intro>p:last-child { color:var(--muted); font-size:12px; }
.family-controls .lab-control { margin-top:22px; }
.family-controls>.text-button { justify-self:start; margin-top:24px; }
.family-trends { margin-top:40px; border-block:1px solid var(--line); }
.family-trends-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; padding:24px 0 20px; }
.family-trends-heading .eyebrow { margin-bottom:5px; }
.family-trends-heading h2 { max-width:560px; font-size:25px; }
.family-trend-switch { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.family-trend-switch button { min-height:38px; padding:8px 11px; border:1px solid var(--line); color:var(--muted); font-size:10px; }
.family-trend-switch button[aria-pressed="true"] { border-color:var(--brand); color:var(--paper); background:var(--brand); }
.family-trend-year { display:block; padding:0 0 17px; }
.family-trend-year>span { display:flex; justify-content:space-between; align-items:baseline; gap:20px; }
.family-trend-year strong { font-size:12px; }
.family-trend-year output { color:var(--accent); font:20px var(--mono); }
.family-trend-year input { display:block; width:100%; min-height:38px; accent-color:var(--brand); cursor:pointer; }
.family-trend-year small { display:block; color:var(--muted); font-size:10px; }
.family-trend-charts { display:grid; gap:1px; background:var(--line); border-block:1px solid var(--line); }
.family-trend-charts-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.family-trend-charts-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.family-trend-figure { min-width:0; margin:0; padding:19px 15px 14px; background:var(--paper); }
.family-trend-figure>div { display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.family-trend-figure figcaption { font-size:12px; font-weight:600; }
.family-trend-figure output { color:var(--brand); font:21px var(--serif); white-space:nowrap; }
.family-trend-figure svg { display:block; width:100%; height:auto; }
.family-trend-figure svg text { fill:var(--muted); font:10px var(--mono); }
.family-trend-grid { stroke:var(--line); stroke-width:1; }
.family-trend-axis { stroke:var(--muted); stroke-width:1; }
.family-trend-line { fill:none; stroke:var(--brand); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.family-trend-selection { stroke:var(--accent); stroke-width:1; stroke-dasharray:3 4; }
.family-trend-point { fill:var(--paper); stroke:var(--accent); stroke-width:3; }
.family-trend-figure>small { display:block; color:var(--muted); font:9px/1.45 var(--mono); text-transform:uppercase; }
.family-trend-reading { margin:0; padding:16px 18px 4px; color:var(--muted); font-size:12px; }
.family-trend-reading strong { color:var(--ink); }
.family-trend-caveat { margin:0; padding:7px 18px 17px; color:var(--muted); font-size:10px; }
.family-method-body { padding:4px 0 26px; }
.family-cautions { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:20px; }
.family-cautions h2 { font-size:22px; }
.family-cautions p:not(.eyebrow) { color:var(--muted); font-size:12px; }
.family-sources { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:28px; padding-top:25px; border-top:1px solid var(--line); }
.family-sources h2 { font-size:23px; }
.family-sources ul { margin:0; padding:0; list-style:none; }
.family-sources li+li { border-top:1px solid var(--line); }
.family-sources a { display:flex; align-items:center; min-height:42px; color:var(--accent); font-size:11px; text-decoration:none; }
.family-sources a:hover { text-decoration:underline; }
@media(max-width:900px) {
  .decision-lab { grid-template-columns:1fr; }
  .lab-controls { padding:26px 0; border-right:0; border-bottom:1px solid var(--line); }
  .lab-results { padding:28px 0; }
  .family-lab { grid-template-columns:1fr; }
  .family-story-picker { padding:26px 0; border-right:0; border-bottom:1px solid var(--line); }
  .family-story-picker>div { grid-template-columns:repeat(3,1fr); }
  .family-result { padding:28px 0; }
  .family-trend-charts-3 { grid-template-columns:1fr; }
  .family-trend-figure svg { max-width:560px; margin-inline:auto; }
}
@media(max-width:600px) {
  .lab-disclosure { grid-template-columns:1fr; gap:6px; }
  .lab-metrics { grid-template-columns:1fr; }
  .lab-metrics>div { padding:15px; }
  .lab-case-notes { grid-template-columns:1fr; gap:20px; }
  .lab-case-notes details { grid-column:auto; }
  .lab-answer h2 { font-size:28px; }
  .prosperity-three-questions,.prosperity-presets { grid-template-columns:1fr; }
  .prosperity-three-questions article { border-left:0; border-top:1px solid var(--line); }
  .prosperity-three-questions article:first-child { border-top:0; }
  .prosperity-result { padding-top:32px; }
  .prosperity-answer h2 { font-size:30px; }
  .prosperity-people { grid-template-columns:1fr; gap:13px; }
  .prosperity-view-switch { align-items:flex-start; flex-direction:column; }
  .prosperity-view-switch>div { width:100%; overflow-x:auto; padding-bottom:3px; }
  .prosperity-view-switch button { white-space:nowrap; }
  .prosperity-chart { padding:14px; }
  .prosperity-comparison,.prosperity-sources,.prosperity-controls,.prosperity-ppp { grid-template-columns:1fr; }
  .prosperity-ppp-values { grid-template-columns:1fr; }
  .prosperity-ppp-values>span { transform:rotate(90deg); justify-self:start; }
  .family-story-picker>div,.family-controls,.family-cautions,.family-sources { grid-template-columns:1fr; }
  .family-result h2 { font-size:27px; }
  .family-result h2 strong { font-size:36px; }
  .family-equation { grid-template-columns:1fr; }
  .family-equation>strong { grid-area:auto; margin-top:8px; }
  .family-trends-heading { align-items:flex-start; flex-direction:column; }
  .family-trend-switch { justify-content:flex-start; }
  .family-trend-charts-2 { grid-template-columns:1fr; }
}

/* Public-data evidence study. */
.evidence-heading { margin-bottom:28px; }
.evidence-intro { display:grid; grid-template-columns:1.4fr .8fr; align-items:end; gap:50px; margin:35px 0 30px; }
.evidence-intro h2 { font-size:32px; }
.evidence-intro p:not(.eyebrow) { max-width:650px; color:var(--muted); font-size:14px; }
.evidence-year-control { display:block; padding-bottom:7px; }
.evidence-year-control>span { display:flex; align-items:baseline; justify-content:space-between; gap:20px; }
.evidence-year-control strong { font-size:13px; }
.evidence-year-control output { color:var(--accent); font:20px var(--mono); }
.evidence-year-control input { display:block; width:100%; min-height:38px; accent-color:var(--brand); cursor:pointer; }
.evidence-year-control small { display:block; color:var(--muted); font-size:11px; }
.evidence-charts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border-block:1px solid var(--line); }
.evidence-figure { min-width:0; margin:0; padding:24px 20px 18px; background:var(--paper); }
.evidence-figure>div { display:flex; justify-content:space-between; align-items:baseline; gap:15px; }
.evidence-figure figcaption { font-size:13px; font-weight:600; }
.evidence-figure output { color:var(--brand); font:25px var(--serif); white-space:nowrap; }
.evidence-figure>small { display:block; color:var(--muted); font:9px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.5px; }
.evidence-figure svg { display:block; width:100%; height:auto; color:var(--ink); }
.evidence-gridline { stroke:var(--line); stroke-width:1; }
.evidence-zero { stroke:var(--muted); stroke-width:1.5; }
.evidence-axis { stroke:var(--muted); stroke-width:1; }
.evidence-line { fill:none; stroke:var(--brand); stroke-width:2.5; stroke-linejoin:round; stroke-linecap:round; }
.evidence-selection { stroke:var(--accent); stroke-width:1; stroke-dasharray:3 4; }
.evidence-point { fill:var(--paper); stroke:var(--accent); stroke-width:3; }
.evidence-axis-label,.evidence-axis-title { fill:var(--muted); font-family:var(--mono); font-size:11px; }
.evidence-axis-title { fill:var(--ink); font-size:12px; }
.evidence-selected-reading { margin:0; padding:18px 20px; background:var(--soft); color:var(--muted); font-size:13px; }
.evidence-selected-reading strong { color:var(--ink); }
.evidence-findings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:42px 0; }
.evidence-findings>div { padding:0 28px; border-left:1px solid var(--line); }
.evidence-findings>div:first-child { padding-left:0; border-left:0; }
.evidence-findings strong { display:block; font:27px/1.25 var(--serif); }
.evidence-findings p:last-child { color:var(--muted); font-size:12px; }
.evidence-conclusion { display:grid; grid-template-columns:1.1fr .9fr; gap:55px; padding:35px 0; border-block:1px solid var(--line); }
.evidence-conclusion p:not(.eyebrow) { color:var(--muted); font-size:13px; }
.evidence-sources { margin:12px 0 0; padding:0; list-style:none; }
.evidence-sources a { display:inline-flex; align-items:center; min-height:38px; color:var(--accent); font-size:12px; }
.evidence-table-wrap { border-bottom:1px solid var(--line); }
.evidence-table-wrap summary { display:flex; align-items:center; justify-content:space-between; min-height:56px; color:var(--accent); font-size:13px; list-style:none; }
.evidence-table-wrap summary::-webkit-details-marker { display:none; }
.evidence-table-wrap[open] summary span { transform:rotate(45deg); }
.evidence-table-scroll { overflow-x:auto; padding-bottom:18px; }
.evidence-table { width:100%; border-collapse:collapse; font-size:12px; }
.evidence-table th,.evidence-table td { padding:10px; border-bottom:1px solid var(--line); text-align:right; white-space:nowrap; }
.evidence-table th:first-child { text-align:left; }
.evidence-table thead th { color:var(--muted); font:10px var(--mono); }
.evidence-table tbody th { font-weight:600; }

/* A confident job-search profile without turning About into a résumé wall. */
.about-opportunity { display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; margin-top:48px; padding:30px; background:var(--soft); }
.about-opportunity p:not(.eyebrow) { margin-top:0; color:var(--muted); font-size:14px; }
.about-opportunity a { display:inline-flex; min-height:44px; align-items:center; color:var(--accent); font-size:13px; }
.about-principles { display:grid; grid-template-columns:.7fr 1.3fr; gap:50px; margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.about-principles ol { margin:0; padding:0; list-style:none; }
.about-principles li { display:grid; grid-template-columns:42px 180px 1fr; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }
.about-principles li>span { color:var(--accent); font:11px var(--mono); }
.about-principles li>strong { font-size:14px; }
.about-principles li>p { margin:0; color:var(--muted); font-size:13px; }
@media(max-width:1000px) {
  .evidence-charts { grid-template-columns:1fr; }
  .evidence-figure { padding-inline:0; }
  .evidence-figure+figure { border-top:1px solid var(--line); }
  .evidence-figure svg { max-width:560px; margin-inline:auto; }
  .about-principles { grid-template-columns:1fr; gap:20px; }
}
@media(max-width:700px) {
  .evidence-intro,.evidence-conclusion,.about-opportunity { grid-template-columns:1fr; gap:20px; }
  .evidence-findings { grid-template-columns:1fr; margin-block:30px; }
  .evidence-findings>div { padding:20px 0; border-left:0; border-top:1px solid var(--line); }
  .evidence-findings>div:first-child { border-top:0; }
  .about-opportunity { padding:22px; }
  .about-principles li { grid-template-columns:35px 1fr; gap:12px; }
  .about-principles li>p { grid-column:2; }
}
