/* ======================================================================
   DR TOM WALKER / 2026
   A quiet, scrolling-only professional profile.
   No framework, external fonts, menus, sticky overlays or scroll hijacking.

   CONTENTS
   01  Tokens, reset and base typography
   02  Hero and progressive text reveal
   03  Section rhythm and expertise
   04  Professional history
   05  Research and original microscopy
   06  Selected writing
   07  Media references
   08  Résumé and contact
   09  Responsive layouts
   10  Reduced motion, print and utility states
   ====================================================================== */

/* 01 / Tokens and base ------------------------------------------------- */
:root {
  color-scheme: light;
  --paper: #faf9f6;
  --white: #ffffff;
  --warm: #f3f1ed;
  --hero: #f5f3ef;
  --ink: #172329;
  --body: #444e50;
  --muted: #64706d;
  --accent: #45605a;
  --line: #dedfd8;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --page-width: 1264px;
  --gutter: clamp(24px, 5.8vw, 88px);
  --section-space: clamp(86px, 8.3vw, 132px);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--body);
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}
::selection { background: #dce5dc; color: var(--ink); }
img { display: block; max-width: 100%; height: auto; }
svg { display: block; max-width: 100%; }
figure, blockquote { margin: 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); font-family: var(--serif); font-weight: 400; }
h1 { font-size: clamp(51px, 5.5vw, 80px); line-height: 1.02; letter-spacing: -0.062em; }
h2 { margin-bottom: 0; font-size: clamp(32px, 3.05vw, 46px); line-height: 1.15; letter-spacing: -0.041em; text-wrap: balance; }
h3 { font-size: 23px; line-height: 1.27; letter-spacing: -0.018em; }
p { margin-bottom: 1.15em; }
p:last-child { margin-bottom: 0; }
strong { font-weight: 600; }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: .22em; }
a:hover { color: var(--ink); }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; border-radius: 1px; }
abbr[title] { text-decoration: none; }
cite, address { font-style: normal; }
.container { width: min(var(--page-width), calc(100% - var(--gutter) * 2)); margin-inline: auto; }
.eyebrow {
  margin: 0 0 19px;
  color: var(--accent);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.text-link {
  display: inline-block;
  padding-block: 6px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.text-link span { display: inline-block; margin-left: 9px; text-decoration: none; }
.icon { width: 50px; height: 50px; color: var(--accent); flex: 0 0 auto; }

/* 02 / Hero ----------------------------------------------------------- */
.hero { position: relative; isolation: isolate; overflow: hidden; background: var(--hero); }
.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(0, 1.02fr) minmax(150px, .47fr);
  gap: 30px;
  align-items: center;
  min-height: 660px;
  padding-top: 62px;
}
.hero__copy { position: relative; z-index: 3; align-self: center; padding-bottom: 72px; }
.hero h1 { margin: 0 0 23px; white-space: nowrap; }
.hero__lede { max-width: 30rem; margin: 0 0 28px; color: var(--ink); font-family: var(--serif); font-size: clamp(23px, 2.03vw, 29px); line-height: 1.27; letter-spacing: -.023em; }
.hero__description { max-width: 30rem; font-size: 16px; line-height: 1.72; }
.hero__description strong { font-weight: 400; }
.hero__portrait { position: relative; z-index: 1; align-self: end; height: 585px; pointer-events: none; }
.hero__portrait img { position: absolute; left: 50%; bottom: 0; width: auto; height: 555px; max-width: none; transform: translateX(-50%); }
.hero__quote { position: relative; z-index: 3; align-self: center; max-width: 13rem; margin-top: -48px; color: var(--ink); }
.hero__quote p { margin-bottom: 23px; font-family: var(--serif); font-size: 20px; font-style: italic; line-height: 1.46; }
.quote-rule { display: block; width: 28px; height: 1px; margin-bottom: 15px; background: var(--accent); }
.quote-signature { font-family: var(--serif); font-size: 14px; }
/* All text is present in the source. No JS-dependent visibility classes. */
@media (prefers-reduced-motion: no-preference) {
  .hero-fade { animation: hero-text-in 1350ms cubic-bezier(.2,.65,.2,1) both; }
  .hero-fade--1 { animation-delay: 100ms; }
  .hero-fade--2 { animation-delay: 270ms; }
  .hero-fade--3 { animation-delay: 440ms; }
  .hero-fade--4 { animation-delay: 650ms; }
}
@keyframes hero-text-in {
  from { opacity: 0; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 03 / Section rhythm and expertise ---------------------------------- */
.section { padding-block: var(--section-space); }
.section--tinted { background: var(--warm); }
.expertise { padding-top: calc(var(--section-space) + 16px); }
.expertise__grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; margin: 67px 0 0; padding: 0; list-style: none; }
.expertise__item { padding: 0 27px; text-align: center; border-left: 1px solid var(--line); }
.expertise__item:first-child { padding-left: 0; border-left: 0; }
.expertise__item:last-child { padding-right: 0; }
.expertise__item > .icon { margin: 4px auto 26px; }
.expertise__item h3 { margin: 0 0 14px; font-size: 21px; }
.expertise__item p { max-width: 24ch; margin: 0 auto; font-size: 15px; line-height: 1.68; }
.blink-eye { width: 91px; height: 68px; overflow: visible; color: var(--accent); }
.expertise__item > .blink-eye { margin: -5px auto 17px; }

/* 04 / History ------------------------------------------------------- */
.story__grid { display: grid; grid-template-columns: minmax(0,1.22fr) minmax(0,.78fr); gap: clamp(64px, 9.5vw, 150px); align-items: center; }
.story__copy h2 { margin-bottom: 32px; }
.story__copy > p:not(.eyebrow) { max-width: 61ch; font-size: 16px; }
.story__copy .text-link { margin-top: 8px; }
.story__archive { max-width: 340px; margin-inline: auto; }
.archive-mark { padding: 20px 20px 29px; }
.archive-mark img { width: min(100%, 246px); margin-inline: auto; mix-blend-mode: multiply; }
.archive-mark figcaption { margin-top: 13px; color: var(--muted); font-size: 11px; letter-spacing: .03em; text-align: center; }
.story__quote { padding-top: 31px; border-top: 1px solid var(--line); }
.story__quote p { margin-bottom: 19px; color: var(--ink); font-family: var(--serif); font-size: 26px; font-style: italic; line-height: 1.43; letter-spacing: -.018em; }
.story__quote footer { color: var(--muted); font-size: 12px; }

/* 05 / Research ------------------------------------------------------ */
.research__intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 94px; align-items: start; }
.research__intro h2 { max-width: 13ch; }
.research__description { padding-top: 3px; }
.research__description h3 { font-size: 24px; margin: 0 0 20px; }
.research__description p { font-size: 16px; }
.research__evidence { display: grid; grid-template-columns: minmax(0,2.16fr) minmax(255px,1fr); gap: 45px; align-items: start; margin-top: 55px; }
.microscopy { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 23px; }
.microscopy figure { min-width: 0; }
.microscopy__link { display: block; background: #333; }
/* Never object-fit:cover, filter, or otherwise crop the scientific images. */
.microscopy img { width: 100%; height: auto; }
.microscopy figcaption { margin-top: 14px; font-size: 11px; line-height: 1.65; }
.microscopy figcaption span { display: block; }
.figure-label { margin-bottom: 4px; color: var(--ink); font-size: 12px; font-weight: 600; letter-spacing: .015em; }
.microscopy figcaption span + span { color: var(--muted); }
.microscopy__note { grid-column: 1 / -1; max-width: 70ch; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.paper { padding: 27px 29px 29px; background: var(--warm); border-top: 2px solid var(--accent); }
.paper .eyebrow { margin-bottom: 18px; font-size: 10px; }
.paper h3 { margin: 0 0 20px; font-size: 22px; line-height: 1.3; }
.paper__authors { font-size: 13px; line-height: 1.6; }
.paper__meta { margin-top: 16px; margin-bottom: 6px; font-size: 11px; }
.paper__status { max-width: 28ch; margin-bottom: 17px; color: var(--accent); font-size: 11px; line-height: 1.5; }
.paper .text-link { font-size: 13px; }
.research__disclosure { max-width: 106ch; margin: 42px 0 0; padding-top: 23px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; line-height: 1.75; }

/* 06 / Writing ------------------------------------------------------- */
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; }
.section-heading > .text-link { flex: 0 0 auto; margin-bottom: 3px; font-size: 12px; }
.writing__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin-top: 57px; }
.writing-card { display: grid; grid-template-columns: 86px minmax(0,1fr); gap: 21px; align-content: start; }
.writing-card > img { width: 86px; height: 104px; object-fit: cover; border-radius: 2px; }
.writing-card__category { margin: 0 0 10px; color: var(--accent); font-size: 9px; line-height: 1.5; letter-spacing: .09em; text-transform: uppercase; }
.writing-card h3 { margin-bottom: 13px; font-size: 22px; line-height: 1.24; }
.writing-card h3 a { color: var(--ink); text-decoration: none; }
.writing-card h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.writing-card__copy > p:not(.writing-card__category) { font-size: 13px; line-height: 1.65; }
.writing-card .text-link { font-size: 12px; }

/* 07 / Media --------------------------------------------------------- */
.media { padding-block: 96px; }
.media__heading { font-size: 34px; max-width: 26ch; }
.media__intro { max-width: 73ch; margin: 23px 0 0; color: var(--muted); font-size: 14px; }
/* Local publication artwork: never stretch, recolour or redraw wordmarks. */
.press-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 28px; list-style: none; padding: 0; margin: 48px 0 0; }
.press-item { display: flex; flex-direction: column; align-items: center; min-width: 0; text-align: center; }
.press-name { display: flex; align-items: center; justify-content: center; width: 100%; height: 112px; margin-bottom: 16px; line-height: 1; text-decoration: none; }
a.press-name { border-radius: 2px; transition: opacity .18s ease; }
a.press-name:hover { opacity: .75; }
a.press-name:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
.press-name img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.press-name--vogue img { width: 164px; }
.press-name--standard img { width: 245px; }
.press-name--elle img { width: 116px; }
.press-name--gloss img { width: 146px; }
.press-name--mail img { width: 216px; }
.press-name--company img { width: 170px; }
.press-item__detail, .press-item__source { display: block; max-width: 27ch; font-size: 11px; line-height: 1.65; }
.press-item__detail { margin-bottom: 4px; color: var(--ink); }
.press-item__source { color: var(--muted); }

/* 08 / Résumé and contact -------------------------------------------- */
.resume { padding-block: 85px; }
.resume h2 { font-size: 34px; }
.resume__grid { display: grid; grid-template-columns: 1fr 1fr 1.12fr; gap: 44px; margin-top: 46px; }
.resume-item { display: flex; gap: 20px; min-width: 0; }
.resume-item .icon { width: 42px; height: 42px; margin-top: 1px; }
.resume-item h3 { margin-bottom: 11px; font-size: 21px; }
.resume-item p { margin: 0; font-size: 13px; line-height: 1.75; }
.contact { padding-top: 98px; padding-bottom: 34px; }
.contact__grid { display: grid; grid-template-columns: 1fr 1fr 142px; align-items: center; gap: 47px; }
.contact h2 { font-size: 34px; }
.contact__grid > div:first-child > p:not(.eyebrow) { max-width: 40ch; margin-top: 24px; font-size: 14px; }
.contact__address { display: flex; align-items: center; gap: 20px; min-width: 0; }
.contact__address .icon { width: 29px; height: 29px; }
.contact__address a { color: var(--ink); font-family: var(--serif); font-size: clamp(20px, 1.9vw, 29px); line-height: 1.5; letter-spacing: -.035em; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
.contact__eye { align-self: center; text-align: center; }
.contact__eye .blink-eye { width: 91px; height: 68px; margin: 0 auto 8px; }
.contact__eye p { color: var(--muted); font-family: var(--serif); font-size: 15px; font-style: italic; line-height: 1.5; }
.contact__note { padding-top: 64px; }
.contact__note p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }

/* 09 / Responsive: reflow, never a shrunken desktop page --------------- */
@media (min-width: 1600px) {
  .hero__grid { min-height: 700px; }
  .hero__portrait { height: 615px; }
  .hero__portrait img { height: 585px; }
}
@media (max-width: 1190px) {
  .hero__grid { grid-template-columns: minmax(0,1.12fr) minmax(0,1fr); min-height: 675px; gap: 24px; padding-top: 65px; }
  .hero__copy { grid-row: 1 / 3; padding-bottom: 50px; }
  .hero__portrait { grid-column: 2; grid-row: 1 / 3; height: 570px; }
  .hero__portrait img { height: 500px; }
  .hero__quote { grid-column: 2; grid-row: 1; align-self: start; margin: 0 0 0 auto; max-width: 16rem; text-align: right; }
  .hero__quote p { font-size: 15px; margin-bottom: 8px; }
  .hero__quote .quote-rule, .hero__quote .quote-signature { display: none; }
  .hero__description { font-size: 15px; }
  .hero__lede { font-size: 25px; }
  .expertise__item { padding-inline: 18px; }
  .expertise__item h3 { font-size: 20px; }
  .expertise__item p { font-size: 14px; }
  .story__grid { gap: 65px; grid-template-columns: 1.25fr .75fr; }
  .story__quote p { font-size: 23px; }
  .research__intro { gap: 65px; }
  .research__evidence { gap: 30px; grid-template-columns: minmax(0,1.9fr) minmax(240px,1fr); }
  .paper { padding: 23px; }
  .writing__grid { gap: 28px; }
  .writing-card { grid-template-columns: 65px minmax(0,1fr); gap: 15px; }
  .writing-card > img { width: 65px; height: 84px; }
  .writing-card h3 { font-size: 20px; }
  .press-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 38px 32px; }
  .resume__grid { gap: 29px; }
  .resume-item { gap: 14px; }
  .resume-item h3 { font-size: 19px; }
  .contact__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .contact__eye { grid-column: 2; grid-row: 2; justify-self: end; display: flex; align-items: center; gap: 22px; text-align: left; }
  .contact__eye .blink-eye { margin: 0; }
  .contact__eye p { font-size: 14px; }
  .contact__note { padding-top: 34px; }
}
@media (max-width: 900px) {
  .press-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 38px 32px; }
  :root { --gutter: 38px; --section-space: 85px; }
  .hero__grid { min-height: 650px; }
  .hero h1 { font-size: 54px; }
  .hero__lede { font-size: 23px; }
  .hero__portrait { height: 525px; }
  .hero__portrait img { height: 455px; }
  .hero__quote { max-width: 13rem; }
  .expertise__grid { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 49px; margin-top: 49px; }
  .expertise__item { padding-inline: 28px; }
  .expertise__item:nth-child(odd) { border-left: 0; padding-left: 0; }
  .expertise__item:nth-child(even) { padding-right: 0; }
  .expertise__item p { max-width: 28ch; font-size: 15px; }
  .story__grid { grid-template-columns: minmax(0,1.1fr) minmax(0,.8fr); gap: 42px; }
  .story__copy > p:not(.eyebrow) { font-size: 15px; }
  .story__quote p { font-size: 22px; }
  .research__intro { grid-template-columns: 1fr; gap: 28px; }
  .research__intro h2 { max-width: none; }
  .research__description { max-width: 70ch; }
  .research__evidence { grid-template-columns: 1fr; margin-top: 32px; gap: 34px; }
  .paper { display: grid; grid-template-columns: 1.3fr 1fr; column-gap: 38px; padding: 30px; }
  .paper > .eyebrow { grid-column: 1 / -1; }
  .paper h3 { grid-column: 1; grid-row: 2 / 6; margin: 0; }
  .paper__authors, .paper__meta, .paper__status, .paper .text-link { grid-column: 2; }
  .paper__authors { margin-bottom: 4px; }
  .paper__meta { margin-top: 8px; }
  .research__disclosure { margin-top: 30px; }
  .writing__grid { grid-template-columns: 1fr; gap: 32px; margin-top: 42px; }
  .writing-card { grid-template-columns: 96px minmax(0,1fr); gap: 26px; padding-top: 27px; border-top: 1px solid var(--line); }
  .writing-card:first-child { padding-top: 0; border-top: 0; }
  .writing-card > img { width: 96px; height: 110px; }
  .writing-card h3 { max-width: 30ch; font-size: 24px; }
  .writing-card__copy > p:not(.writing-card__category) { font-size: 15px; max-width: 48ch; }
  .section-heading { display: block; }
  .section-heading > .text-link { margin-top: 23px; }
  .resume__grid { grid-template-columns: 1fr; gap: 32px; }
  .resume-item { gap: 25px; }
  .resume-item h3 { font-size: 23px; }
  .resume-item p { font-size: 15px; }
  .resume-item p br { display: none; }
  .contact__address { gap: 12px; }
  .contact__address a { font-size: 22px; }
}
@media (max-width: 700px) {
  :root { --gutter: 26px; --section-space: 76px; }
  body { font-size: 16px; }
  h1 { font-size: 50px; }
  h2 { font-size: 36px; line-height: 1.13; }
  h3 { font-size: 23px; }
  .eyebrow { font-size: 10px; margin-bottom: 18px; }
  .hero__grid { display: flex; flex-direction: column; align-items: stretch; gap: 0; min-height: 0; padding-top: 46px; }
  .hero__copy { display: contents; }
  .hero h1 { order: 0; margin: 0 0 17px; font-size: clamp(42px,10.8vw,64px); white-space: normal; }
  .hero__lede { order: 1; max-width: 26ch; margin: 0; font-size: clamp(22px,5.6vw,28px); }
  .hero__portrait { order: 2; align-self: stretch; height: auto; margin: 32px calc(-1 * var(--gutter)) 29px; overflow: hidden; }
  .hero__portrait img { position: static; transform: none; width: 100%; max-width: 100%; height: auto; }
  .hero__description { order: 3; max-width: 58ch; font-size: 16px; line-height: 1.76; }
  .hero__description p { margin-bottom: 18px; }
  .hero__quote { order: 4; align-self: stretch; max-width: 32ch; margin: 22px 0 43px; text-align: left; }
  .hero__quote p { margin-bottom: 0; font-size: 20px; line-height: 1.45; }
  .hero__quote .quote-rule, .hero__quote .quote-signature { display: none; }
  .expertise { padding-top: 86px; }
  .expertise__grid { margin-top: 40px; row-gap: 41px; }
  .expertise__item { padding-inline: 18px; }
  .expertise__item h3 { font-size: 21px; }
  .expertise__item p { max-width: 27ch; font-size: 14px; line-height: 1.7; }
  .expertise__item > .icon { width: 45px; height: 45px; margin-bottom: 25px; }
  .expertise__item > .blink-eye { height: 63px; width: 84px; }
  .story__grid { grid-template-columns: 1fr; gap: 41px; }
  .story__copy h2 { margin-bottom: 28px; }
  .story__copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
  .story__archive { display: grid; grid-template-columns: 1fr; gap: 30px; max-width: none; }
  .archive-mark { padding: 9px 14px 0; }
  .archive-mark img { max-width: 214px; }
  .story__quote { padding-top: 27px; }
  .story__quote p { max-width: 33ch; font-size: 26px; line-height: 1.46; }
  .research__intro { gap: 29px; }
  .research__description h3 { font-size: 24px; }
  .research__description p { line-height: 1.8; }
  .research__evidence { margin-top: 35px; }
  .microscopy { gap: 26px; grid-template-columns: 1fr; }
  .microscopy figcaption { margin-top: 12px; }
  .figure-label { font-size: 13px; }
  .microscopy__note { font-size: 12px; line-height: 1.7; }
  .paper { display: block; padding: 27px; }
  .paper h3 { margin-bottom: 21px; font-size: 25px; }
  .paper__authors { font-size: 14px; }
  .paper__meta, .paper__status { font-size: 12px; }
  .paper__meta { margin-top: 14px; }
  .paper__status { max-width: none; margin-bottom: 15px; }
  .paper .text-link { font-size: 14px; }
  .research__disclosure { font-size: 12px; }
  .writing-card { grid-template-columns: 82px minmax(0,1fr); gap: 21px; }
  .writing-card > img { width: 82px; height: 101px; }
  .writing-card h3 { font-size: 23px; }
  .writing-card__copy > p:not(.writing-card__category) { font-size: 14px; }
  .writing-card .text-link { font-size: 13px; }
  .media { padding-block: 76px; }
  .media__heading { font-size: 34px; max-width: 21ch; }
  .media__intro { font-size: 14px; }
  .press-grid { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 18px; row-gap: 38px; margin-top: 41px; }
  .press-item__detail, .press-item__source { font-size: 11px; }
  .press-name { height: 87px; margin-bottom: 13px; }
  .press-name--vogue img { width: 136px; }
  .press-name--standard img { width: 185px; }
  .press-name--gloss img { width: 146px; }
  .press-name--mail img { width: 164px; }
  .press-name--company img { width: 154px; }
  .resume { padding-block: 72px; }
  .resume h2 { font-size: 34px; }
  .resume__grid { margin-top: 35px; }
  .resume-item { gap: 22px; }
  .resume-item .icon { width: 37px; height: 37px; }
  .resume-item h3 { font-size: 24px; }
  .resume-item p { font-size: 15px; }
  .contact { padding-top: 75px; padding-bottom: 27px; }
  .contact__grid { grid-template-columns: 1fr; gap: 32px; }
  .contact h2 { font-size: 34px; }
  .contact__grid > div:first-child > p:not(.eyebrow) { font-size: 15px; }
  .contact__address { gap: 14px; }
  .contact__address a { font-size: clamp(21px,5.4vw,29px); }
  .contact__address .icon { width: 27px; height: 27px; }
  .contact__eye { grid-column: auto; grid-row: auto; justify-self: start; gap: 26px; }
  .contact__eye p { font-size: 17px; }
  .contact__note { padding-top: 31px; }
  .contact__note p { font-size: 11px; }
}
@media (max-width: 370px) {
  :root { --gutter: 22px; }
  h2 { font-size: 32px; }
  .hero h1 { font-size: 43px; }
  .hero__lede { font-size: 23px; }
  .expertise__grid { grid-template-columns: 1fr; gap: 35px; }
  .expertise__item, .expertise__item:nth-child(even), .expertise__item:nth-child(odd) { border-left: 0; padding: 0; }
  .expertise__item p { max-width: 29ch; font-size: 15px; }
  .writing-card { grid-template-columns: 64px minmax(0,1fr); gap: 16px; }
  .writing-card > img { width: 64px; height: 84px; }
  .writing-card h3 { font-size: 22px; }

  .resume-item { gap: 17px; }
}

/* 10 / Accessibility, print and utility states ----------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .hero-fade { opacity: 1; transform: none; }
}
@media (forced-colors: active) {
  .paper { border: 1px solid; }
  .icon, .blink-eye, .press-name { color: CanvasText; }
}
@media print {
  :root { --gutter: 20px; --section-space: 30px; }
  body { background: white; color: black; font-size: 11pt; }
  .hero, .section--tinted, .paper { background: white; }
  .hero-fade { animation: none !important; opacity: 1 !important; transform: none !important; }
  .hero__grid { display: block; min-height: 0; padding-top: 0; }
  .hero__copy { padding-bottom: 0; }
  .hero__portrait, .hero__quote, .contact__eye { display: none; }
  .hero h1 { font-size: 34pt; }
  h2 { font-size: 23pt; }
  .story__grid, .research__intro, .research__evidence { grid-template-columns: 1fr; gap: 25px; }
  .story__archive { display: none; }
  .paper { display: block; }
  .expertise__grid, .resume__grid { margin-top: 25px; }
  .writing__grid { gap: 25px; }
  .press-grid { grid-template-columns: repeat(3,1fr); }
  .contact__grid { grid-template-columns: 1fr 1fr; }
  figure, article, .paper, .press-item { break-inside: avoid; }
  a { color: inherit; }
}
.not-found { min-height: 100vh; display: grid; place-content: center; }
.not-found main { padding-block: 70px; }
.not-found h1 { margin-bottom: 24px; font-size: clamp(42px,7vw,85px); }
