/* Layout: a research magazine. A slim masthead, an intro with the author's photo and a coverage strip of the
   11 GICS sectors, the latest note as a large feature, then a grid of cards. Each sector has its own color,
   used for its dot, its card panel and the charts inside its notes. */

/* Fonts are stored with the site, so pages load fast anywhere and nothing is fetched from other servers. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;
  src:url(fonts/archivo-latin-standard-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:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;
  src:url(fonts/archivo-latin-ext-standard-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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:"Spectral";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/spectral-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Spectral";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/spectral-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Spectral";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/spectral-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Spectral";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/spectral-latin-600-normal.woff2) format("woff2")}
@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")}
@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")}

:root{
  --paper:#F2F3EF; --sheet:#FAFAF7; --ink:#191D1B; --muted:#58615B; --faint:#89918B; --rule:#D3D8D1;
  --accent:#1B5E6A; --accent-ink:#FFFFFF; --accent-soft:#D8E6E5; --mark:#F1E07C;
  /* One color per GICS sector */
  --s-en:#C2410C; --s-mt:#8A6A2F; --s-in:#4A5F78; --s-cd:#B5307A; --s-cs:#2F7D4F; --s-hc:#C0392B;
  --s-fn:#2563A8; --s-it:#6A45B8; --s-cm:#0F7490; --s-ut:#A8740E; --s-re:#5E7A1C;
  --sc:var(--accent);
  --f-display:"Archivo","Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  --f-body:"Spectral",Georgia,"Times New Roman","Songti SC","Noto Serif SC","Source Han Serif SC",serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#121615; --sheet:#191E1D; --ink:#E5E9E4; --muted:#A1AAA4; --faint:#6F7973; --rule:#2B3331;
    --accent:#82C3CD; --accent-ink:#0E1A1C; --accent-soft:#1D3236; --mark:#5A5124;
    --s-en:#F08A55; --s-mt:#CDAA6A; --s-in:#93A9C4; --s-cd:#E77BB6; --s-cs:#6CC48F; --s-hc:#EE7F73;
    --s-fn:#78A9E8; --s-it:#A98BEA; --s-cm:#5CC3DA; --s-ut:#E3B455; --s-re:#A7C565;
    color-scheme:dark;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
button,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:6px;z-index:10;font-family:var(--f-display);text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(16px,4vw,48px);padding-block:clamp(18px,3vw,28px) 40px}

/* Shared small parts */
.eyebrow{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.eyebrow a{color:inherit;text-underline-offset:3px}
.sec{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.dot{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:var(--sc)}
.badge{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;background:var(--mark);color:var(--ink);padding:2px 6px;border-radius:3px;font-weight:500;white-space:nowrap}
.meta{font-family:var(--f-mono);font-size:.72rem;color:var(--muted);margin:0;font-variant-numeric:tabular-nums}
.count{font-family:var(--f-mono);font-weight:400;font-size:.78rem;color:var(--muted);letter-spacing:0}
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:600;font-size:.85rem;line-height:1.2;padding:8px 14px;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);border-radius:6px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:var(--ink)}
.empty{padding:28px 0;color:var(--muted);font-style:italic;margin:0}

/* Masthead */
.top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;padding-bottom:16px;border-bottom:1px solid var(--rule);margin-bottom:clamp(26px,4vw,44px)}
.brand{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;text-decoration:none;min-width:0}
.brand-name{font-family:var(--f-display);font-weight:800;font-stretch:125%;font-size:1.32rem;letter-spacing:-.01em;line-height:1.1}
.brand-label{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.top-nav{display:flex;gap:22px;font-family:var(--f-display);font-weight:600;font-size:.93rem}
.top-nav a{text-decoration:none;padding-block:3px;border-bottom:2px solid transparent}
.top-nav a[aria-current="page"]{border-bottom-color:var(--accent)}
.top-nav a:hover{color:var(--accent)}

/* Avatar: your photo, or your initials until you add one */
.avatar{display:block;flex:none;border-radius:50%;object-fit:cover;background:var(--accent-soft)}
.avatar-mono{display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-family:var(--f-display);font-weight:800;font-stretch:120%;letter-spacing:.02em}
.avatar-sm{width:40px;height:40px;font-size:.85rem}
.avatar-md{width:76px;height:76px;font-size:1.5rem}
.avatar-lg{width:clamp(120px,22vw,168px);height:clamp(120px,22vw,168px);font-size:clamp(2.4rem,5vw,3.4rem)}

/* Home intro */
.intro{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px 22px;align-items:center;margin-bottom:clamp(28px,4vw,44px)}
.intro-text{display:grid;gap:8px;min-width:0}
.intro-tag{font-family:var(--f-body);font-style:italic;font-weight:400;font-size:clamp(1.25rem,2.6vw,1.8rem);line-height:1.35;margin:0;max-width:36ch;text-wrap:balance}
.intro-meta{font-family:var(--f-mono);font-size:.74rem;color:var(--muted);margin:0}
.intro-meta a{color:var(--accent);text-underline-offset:3px}
.intro .cov{grid-column:1/-1}
@media (min-width:900px){
  .intro{grid-template-columns:auto minmax(0,1fr) auto}
  .intro .cov{grid-column:auto}
}
.cov{display:grid;gap:6px;justify-items:start}
.cov-cells{display:flex;flex-wrap:wrap;gap:3px}
.cov-cell{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--rule);border-radius:4px;font-family:var(--f-mono);font-size:.56rem;color:var(--faint);text-decoration:none}
.cov-cell.on{background:var(--sc);border-color:var(--sc);color:var(--paper);font-weight:500}
.cov-cell.on:hover{outline:2px solid var(--sc);outline-offset:1px}
.cov-cell.sel{outline:2px solid var(--ink);outline-offset:1px}
.cov-cap{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0}

/* Featured note */
.featured{margin-bottom:clamp(36px,5vw,56px)}
.feature{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:var(--sheet);text-decoration:none;min-width:0}
@media (min-width:860px){.feature{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.feature-body{display:flex;flex-direction:column;gap:14px;padding:clamp(22px,3.5vw,40px);min-width:0}
.kicker{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;background:var(--ink);color:var(--paper);padding:2px 7px;border-radius:3px;margin-right:4px}
.feature-title{font-family:var(--f-display);font-weight:750;font-stretch:110%;font-size:clamp(1.65rem,3.5vw,2.55rem);line-height:1.08;letter-spacing:-.01em;margin:0;text-wrap:balance;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:5px}
.feature:hover .feature-title{text-decoration-color:var(--sc)}
.feature-sum{margin:0;color:var(--muted);font-size:1.06rem;line-height:1.55;max-width:58ch}
.feature-figs{display:flex;flex-wrap:wrap;gap:14px 34px;margin:4px 0 0}
.feature-figs dt{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.feature-figs dd{margin:2px 0 0;font-family:var(--f-display);font-weight:700;font-stretch:106%;font-size:1.25rem;font-variant-numeric:tabular-nums}
.read{margin-top:auto;padding-top:6px;font-family:var(--f-display);font-weight:600;font-size:.9rem;color:var(--accent)}

/* Sector panel used on the feature and on cards: a cover image, or the note's first key figure */
.feature-art,.card-art{position:relative;overflow:hidden;display:flex;align-items:flex-end;background:var(--sheet);background:color-mix(in srgb,var(--sc) 13%,var(--sheet))}
.feature-art{min-height:240px;padding:clamp(22px,3vw,34px)}
.card-art{height:128px;padding:14px 18px}
.art-code{position:absolute;right:-4px;top:-10px;font-family:var(--f-display);font-weight:900;font-stretch:125%;line-height:1;color:var(--sc);opacity:.15;pointer-events:none}
.feature-art .art-code{font-size:clamp(7rem,14vw,10rem)}
.card-art .art-code{font-size:4.6rem}
.art-fig{position:relative;display:grid;gap:3px;min-width:0}
.art-v{font-family:var(--f-display);font-weight:750;font-stretch:108%;line-height:1;color:var(--sc);color:color-mix(in srgb,var(--sc) 82%,var(--ink));font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.feature-art .art-v{font-size:clamp(2.7rem,6vw,4.4rem)}
.card-art .art-v{font-size:1.85rem}
.art-l{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.has-img{padding:0}
.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* All notes */
.grid-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 24px;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.grid-head h2{font-family:var(--f-display);font-weight:700;font-stretch:112%;font-size:1.05rem;letter-spacing:.02em;margin:0;display:flex;gap:10px;align-items:baseline}
.search{flex:0 1 260px;min-width:0}
.search input{width:100%;color:var(--ink);background:var(--sheet);border:1px solid var(--rule);border-radius:6px;padding:8px 12px}
.search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:.7rem;border:1px solid var(--rule);border-radius:999px;padding:4px 11px;text-decoration:none;color:var(--ink);background:var(--sheet)}
.chip:hover{border-color:var(--sc)}
.chip.sel{border-color:var(--sc);background:var(--sheet);background:color-mix(in srgb,var(--sc) 14%,var(--sheet))}
.chip:not([style]).sel{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chip-n{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:20px;margin-top:20px}
.card{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:var(--sheet);text-decoration:none;min-width:0}
.card:hover{border-color:var(--sc)}
@media (prefers-reduced-motion:no-preference){
  .card,.feature{transition:border-color .15s ease,transform .15s ease}
  .card:hover{transform:translateY(-2px)}
}
.card-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1;min-width:0}
.card-title{font-family:var(--f-display);font-weight:650;font-stretch:106%;font-size:1.13rem;line-height:1.25;margin:0;text-wrap:balance;overflow-wrap:anywhere}
.card:hover .card-title{text-decoration:underline;text-decoration-color:var(--sc);text-decoration-thickness:2px;text-underline-offset:4px}
.card-sum{margin:0;color:var(--muted);font-size:.96rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card .meta{margin-top:auto;padding-top:4px}

/* Empty site */
.soon{display:grid;gap:16px;max-width:820px;border:1px solid var(--rule);border-radius:14px;background:var(--sheet);padding:clamp(24px,5vw,52px)}
.soon-title{font-family:var(--f-display);font-weight:750;font-stretch:110%;font-size:clamp(1.55rem,3.4vw,2.3rem);line-height:1.1;margin:0;text-wrap:balance}
.soon-text{margin:0;color:var(--muted);max-width:60ch}
.soon-dots{display:flex;flex-wrap:wrap;gap:6px}
.soon-dots span{width:16px;height:16px;border-radius:4px;background:var(--sc)}

/* Sector page */
.sector-hero{display:grid;gap:10px;padding-bottom:20px;border-bottom:1px solid var(--rule)}
.sector-title{display:flex;align-items:center;gap:14px;font-family:var(--f-display);font-weight:800;font-stretch:115%;font-size:clamp(1.9rem,5vw,3.1rem);line-height:1.05;margin:0;text-wrap:balance}
.sector-title .dot{width:16px;height:16px}

/* Note page */
.back{display:inline-block;font-family:var(--f-mono);font-size:.78rem;color:var(--muted);text-decoration:none;margin-bottom:24px}
.back:hover{color:var(--accent)}
.post-head{display:grid;gap:16px;max-width:860px;padding-bottom:28px;margin-bottom:32px;border-bottom:1px solid var(--rule)}
.post-head .sec a{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}
.post-head .sec a:hover{color:var(--ink)}
.post-title{font-family:var(--f-display);font-weight:750;font-stretch:112%;font-size:clamp(2rem,4.6vw,3.25rem);line-height:1.04;letter-spacing:-.015em;margin:0;text-wrap:balance;overflow-wrap:anywhere}
.post-dek{margin:0;font-style:italic;font-size:clamp(1.15rem,2vw,1.34rem);line-height:1.5;color:var(--muted);max-width:58ch}
.byline{display:flex;align-items:center;gap:12px;margin-top:4px}
.byline-text{display:grid;gap:2px}
.byline-name{font-family:var(--f-display);font-weight:600;font-size:.95rem}
.example-note{font-size:.95rem;color:var(--muted);border:1px dashed var(--rule);border-radius:6px;padding:10px 14px;margin:0;max-width:68ch}
.post-cover{margin:0 0 36px;max-width:860px}
.post-cover img{display:block;width:100%;max-height:480px;object-fit:cover;border-radius:12px;border:1px solid var(--rule)}
.post-grid{display:grid;gap:36px;grid-template-areas:"glance" "body"}
.post-grid>.prose{grid-area:body;min-width:0}
.glance{grid-area:glance;min-width:0;display:grid;gap:26px;align-content:start}
.figs{background:var(--sheet);background:color-mix(in srgb,var(--sc) 8%,var(--sheet));border:1px solid var(--rule);border-radius:10px;padding:18px 20px}
.glance h2{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 14px}
.figs dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:18px 22px;margin:0}
.fig dt{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.4}
.fig .v{font-family:var(--f-display);font-weight:700;font-stretch:106%;font-size:1.5rem;line-height:1.15;margin:4px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fig .n{margin:3px 0 0;font-size:.86rem;font-style:italic;color:var(--muted);line-height:1.4}
.toc{display:none}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.toc a{display:block;border-left:2px solid var(--rule);padding:5px 0 5px 12px;font-family:var(--f-display);font-size:.86rem;color:var(--muted);line-height:1.35;text-decoration:none}
.toc a:hover{color:var(--ink);border-left-color:var(--sc)}
@media (min-width:1040px){
  .post-grid{grid-template-columns:minmax(0,68ch) 260px;grid-template-areas:"body glance";gap:64px;justify-content:space-between}
  .glance{position:sticky;top:28px}
  .figs dl{grid-template-columns:minmax(0,1fr)}
  .toc{display:block}
}

.prose{font-size:1.125rem;line-height:1.72;max-width:68ch}
.prose>*{margin:0}
.prose>*+*{margin-top:1.05em}
.prose h2{font-family:var(--f-display);font-weight:700;font-stretch:106%;font-size:1.42rem;line-height:1.25;margin-top:2.1em;text-wrap:balance;scroll-margin-top:24px}
.prose>h2:first-child{margin-top:0}
.prose h3{font-family:var(--f-display);font-weight:650;font-size:1.12rem;line-height:1.3;margin-top:1.6em;scroll-margin-top:24px}
.prose ul,.prose ol{padding-left:1.25em}
.prose li+li{margin-top:.45em}
.prose li::marker{color:var(--sc)}
.prose strong{font-weight:600}
.prose a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
.prose mark{background:var(--mark);color:inherit;padding:.04em .2em;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.prose code{font-family:var(--f-mono);font-size:.84em;background:var(--accent-soft);padding:.1em .35em;border-radius:3px}
.prose blockquote{margin-block:1.6em;padding-left:1.1em;border-left:2px solid var(--sc);font-style:italic;font-size:1.2rem;line-height:1.55}
.prose blockquote p{margin:0}
.prose hr{border:0;border-top:1px solid var(--rule);margin-block:2.2em}
.prose figure.img{margin-block:1.8em}
.prose figure.img img{display:block;border-radius:8px;border:1px solid var(--rule)}
.prose figure.img figcaption{font-family:var(--f-mono);font-size:.74rem;color:var(--muted);margin-top:8px;line-height:1.45}
.table-wrap{overflow-x:auto;margin-block:1.6em}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem;line-height:1.45}
.prose th{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;text-align:left;padding:8px 14px 8px 0;border-bottom:1px solid var(--ink);white-space:nowrap}
.prose th.num{text-align:right}
.prose td{padding:9px 14px 9px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.prose td.num{font-family:var(--f-mono);font-size:.86rem;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.bars{margin-block:1.8em;background:var(--sheet);border:1px solid var(--rule);border-radius:10px;padding:18px 20px}
.bars figcaption{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;line-height:1.45}
.bar-rows{display:grid;grid-template-columns:fit-content(40%) minmax(0,1fr) auto;gap:10px 14px;align-items:center}
.bar-label{font-size:.98rem;line-height:1.3;min-width:0;overflow-wrap:anywhere}
.bar-track{height:12px;background:var(--accent-soft);background:color-mix(in srgb,var(--sc) 16%,var(--sheet));border-radius:2px;overflow:hidden}
.bar-fill{display:block;height:100%;background:var(--sc);border-radius:2px}
.bar-val{font-family:var(--f-mono);font-size:.84rem;text-align:right;font-variant-numeric:tabular-nums}
.prose .sources{margin-top:2.6em;padding-top:1.2em;border-top:1px solid var(--rule)}
.prose .sources h2{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 10px;font-stretch:100%}
.prose .sources ol{margin:0;padding-left:1.6em;font-size:.95rem;line-height:1.5;display:grid;gap:6px}
.prose .sources li+li{margin-top:0}
.prose .sources li::marker{font-family:var(--f-mono);font-size:.78rem;color:var(--muted)}
.post-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-top:56px;padding-top:24px;border-top:1px solid var(--rule)}
.post-nav a{display:grid;gap:4px;text-decoration:none;padding:14px 16px;border:1px solid var(--rule);border-radius:10px;background:var(--sheet);min-width:0}
.post-nav a:hover{border-color:var(--sc)}
.post-nav span{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.post-nav strong{font-family:var(--f-display);font-weight:650;font-size:1rem;line-height:1.3}
.post-nav .next{text-align:right}

/* About */
.about-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px 32px;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--rule)}
@media (max-width:560px){.about-head{grid-template-columns:minmax(0,1fr)}}
.about-head>div{display:grid;gap:10px;min-width:0}
.about-name{font-family:var(--f-display);font-weight:800;font-stretch:120%;font-size:clamp(2.1rem,5vw,3.3rem);line-height:1;letter-spacing:-.015em;margin:0;overflow-wrap:anywhere}
.about-body{display:grid;gap:28px;max-width:68ch;margin-top:32px}
.lbl-h{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 8px}
.copyrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.email{font-family:var(--f-mono);font-size:.95rem;overflow-wrap:anywhere;color:var(--accent);text-underline-offset:3px}
.linklist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.linklist a{color:var(--accent);text-underline-offset:3px}

/* 404 */
.lost{max-width:60ch;display:grid;gap:16px;padding-block:6vh}

.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:72px;padding-top:20px;border-top:1px solid var(--rule);font-family:var(--f-mono);font-size:.72rem;color:var(--muted)}
.foot a{color:inherit;text-underline-offset:3px}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 18px}
