:root {
  --paper:#f7f5ef; --ink:#26382d; --sage:#718474; --rust:#984c35;
  --rule:#b7bdb4; --muted:#526559;
  --serif:Newsreader,Georgia,serif; --sans:Inter,Arial,sans-serif;
  --section-title:58px; --entry-title:36px; --summary-size:17px; --label-size:15px;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:32px}
body {margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.6}
a {color:inherit;text-decoration:none}
a:hover {color:var(--rust)}
a:focus-visible,summary:focus-visible {outline:2px solid var(--rust);outline-offset:6px}
h1,h2,h3,p {margin:0}
figure {margin:0}
h1,h2,h3 {font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.025em}
.wrap {width:min(1400px,calc(100% - 160px));margin-inline:auto}
.site-header {border-bottom:1px solid var(--rule)}
.header-inner {display:flex;align-items:center;justify-content:space-between;min-height:96px;gap:32px}
.wordmark {font-family:var(--serif);font-size:33px;font-weight:500;letter-spacing:-.025em;white-space:nowrap}
nav {display:flex;align-items:center;gap:26px;font-size:16px}
nav a {padding:8px 0}
nav a:hover {text-decoration:underline;text-underline-offset:7px}
.nav-github {display:flex;align-items:center;gap:8px;padding-left:26px;border-left:1px solid var(--rule)}
.arrow {width:22px;height:22px;flex:none;vertical-align:middle;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.skip-link {position:fixed;top:-100px;left:20px;padding:10px 16px;background:var(--paper);z-index:20;border:1px solid var(--ink)}
.skip-link:focus {top:12px}
.hero {display:grid;grid-template-columns:1.05fr 1fr;gap:40px 64px;padding-block:48px;align-items:start}
.hero h1 {font-size:clamp(100px,8.3vw,128px);line-height:.92;letter-spacing:-.05em;font-weight:500}
.dot {color:var(--rust)}
.hero-deck {font-family:var(--serif);font-size:32px;line-height:1.18;letter-spacing:-.015em;margin-top:28px;max-width:750px}
.hero-copy {max-width:715px;font-size:18px;line-height:1.55;margin-top:22px}
.hero-copy p+p {margin-top:16px}
.hero-portrait img {display:block;width:100%;height:auto}
figcaption {font-size:14px;line-height:1.55;color:var(--muted);margin-top:10px}
.text-link {display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid currentColor;font-size:16px;line-height:1.6;padding-bottom:3px}
.text-link .arrow {transition:transform .18s ease}
.text-link:hover .arrow {transform:translateX(3px)}
.begin {grid-column:1/-1;border-top:1px solid var(--rule);padding-top:24px}
.begin h2 {font-size:25px;letter-spacing:0;color:var(--muted);margin-bottom:20px}
.begin-links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.begin-links>a {display:grid;grid-template-columns:28px 1fr 22px;align-items:center;gap:14px;padding:8px 28px 8px 0;min-height:72px;font-family:var(--serif);font-size:36px;line-height:1.2}
.begin-links>a+a {border-left:1px solid var(--rule);padding-left:28px}
.begin .index {color:var(--sage);font-family:var(--sans);font-size:14px}
.begin .arrow {color:var(--rust)}
.section {border-top:1px solid var(--rule);padding-block:48px 64px}
.section-header {margin-bottom:40px}
.section-heading {display:flex;align-items:flex-start;gap:24px}
.section-number {font-family:var(--serif);font-size:25px;color:var(--rust);padding-top:8px;min-width:30px}
.section-heading h2 {font-size:var(--section-title)}
.section-deck {max-width:900px;margin:16px 0 0 54px;font-family:var(--sans);font-size:var(--summary-size);line-height:1.55;color:var(--muted)}
.section-context {max-width:850px;margin:12px 0 0 54px;font-size:14px;line-height:1.6;color:var(--muted)}
.section-action {margin:18px 0 0 54px}
.section-action .text-link {font-size:15px;color:var(--rust)}
.section h3 {font-size:var(--entry-title);line-height:1.12;letter-spacing:-.025em}
.genre {color:var(--rust);font-size:var(--label-size);line-height:1.5;margin-bottom:16px}
.writing-features,.sketches {display:grid;grid-template-columns:1fr 1fr;gap:50px}
.writing-entry+ .writing-entry {border-left:1px solid var(--rule);padding-left:50px}
.piece-description {font-size:var(--summary-size);line-height:1.55;color:var(--muted);margin-top:18px}
.piece-status,.recognition {font-size:14px;line-height:1.55;margin-top:14px}
.piece-status {color:var(--muted)}
.recognition {color:var(--rust)}
blockquote {font-family:var(--serif);font-size:25px;line-height:1.4;margin:24px 0 0;color:var(--muted)}
.feature-links {display:flex;gap:28px;flex-wrap:wrap;margin-top:28px}
.sketches {border-top:1px solid var(--rule);padding-top:32px;margin-top:40px}
.paper-row {display:grid;grid-template-columns:1fr 1fr;gap:64px;border-top:1px solid var(--rule);padding-block:32px}
.paper-row .genre {margin-bottom:12px}
.authors {font-size:14px;color:var(--muted);margin-top:16px}
.authors strong {font-weight:600;color:var(--ink)}
.publication-venue {font-size:14px;line-height:1.55;color:var(--muted);margin-top:12px}
.publication-venue a {text-decoration:underline;text-underline-offset:3px}
.paper-detail {font-size:var(--summary-size);line-height:1.55}
.paper-detail .paper-note {font-size:14px;line-height:1.55;color:var(--muted);margin-top:14px}
.paper-links {display:flex;gap:28px;flex-wrap:wrap;margin-top:22px}
.paper-links .text-link {font-size:15px}
.project-row {display:grid;grid-template-columns:1fr 1.2fr;gap:100px;border-top:1px solid var(--rule);padding-block:30px 34px}
.project-row p {font-size:var(--summary-size);line-height:1.55}
.project-row .impact-note {font-size:14px;line-height:1.55;color:var(--muted);margin-top:12px}
.project-row .tech {font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;letter-spacing:.03em;margin-top:14px}
.project-row .text-link {color:var(--rust);margin-top:18px}
.community-grid {display:grid;grid-template-columns:1.5fr 1fr;gap:48px}
.community-activity {grid-column:1/-1}
.community-activity>.story-description {max-width:900px}
.community-photos {display:grid;grid-template-columns:1.5fr 1fr;gap:48px}
.photo-story {min-width:0}
.story-description {font-size:var(--summary-size);line-height:1.55;color:var(--muted);margin-top:18px;max-width:650px}
.photo-story figure {margin-top:24px}
.photo-story img {display:block;width:100%;height:auto}
.photo-story>.text-link {color:var(--rust);margin-top:24px}
.sports-grid {display:grid;grid-template-columns:1fr 1fr;gap:64px}
.sports-photo {max-width:360px}
.fencing-photo img {aspect-ratio:5/6;object-fit:cover;object-position:65% center}
.art-collection {border-top:1px solid var(--rule);padding-top:32px;margin-top:48px}
.gallery-instruction {font-size:14px;line-height:1.55;color:var(--muted);margin-top:12px}
.art-gallery {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:28px}
.art-gallery figure {min-width:0}
.art-image-link {display:flex;align-items:center;justify-content:center;width:100%;height:350px}
.art-image-link img {display:block;width:100%;height:100%;object-fit:contain}
.art-image-link:hover {outline:1px solid var(--rust);outline-offset:5px}
.reader {max-width:850px;padding-top:48px}
.reader>.text-link {font-size:15px}
.reader-heading {padding-block:48px 38px;border-bottom:1px solid var(--rule)}
.reader-heading h1 {font-size:65px;line-height:1.05;max-width:830px}
.reader-heading .byline {font-size:16px;margin-top:24px}
.reading-meta,.reader-heading .editorial-note {font-size:14px;line-height:1.6;color:var(--muted);margin-top:16px;max-width:620px}
.reader-heading .text-link {margin-top:22px;font-size:15px}
.prose {max-width:750px;margin:40px auto 60px;font-family:var(--serif);font-size:24px;line-height:1.6;letter-spacing:.001em}
.prose>p {margin-bottom:26px}
.poem {font-size:25px;line-height:1.55;max-width:730px}
.poem>p {margin-bottom:36px}
.references {margin-top:48px;border-top:1px solid var(--rule);padding-top:22px;font-family:var(--sans);font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.references summary {cursor:pointer;font-size:17px}
.references li {margin-bottom:16px}
.reader-end {border-top:1px solid var(--rule);padding:26px 0 72px;display:flex;gap:36px}
.essay-figure {margin:36px 0 42px;break-inside:avoid}
.essay-figure img {display:block;width:100%;height:auto;background:#fff;border:1px solid var(--rule)}
.essay-figure figcaption {font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--muted);margin-top:12px}
.essay-figure>.text-link {font-family:var(--sans);font-size:14px;color:var(--rust);margin-top:10px}
@media(min-width:1500px) {
  .hero {padding-block:60px 48px}
}
@media(max-width:1100px) {
  :root {--section-title:52px;--entry-title:33px}
  .wrap {width:calc(100% - 80px)}
  .header-inner {flex-wrap:wrap;gap:12px 24px;padding-block:20px}
  nav {gap:18px;font-size:14px;flex-wrap:wrap}
  .nav-github {padding-left:18px}
  .hero {gap:36px 40px;grid-template-columns:1.05fr 1fr;padding-block:48px}
  .hero h1 {font-size:100px}
  .hero-deck {font-size:27px}
  .hero-copy {font-size:17px}
  .begin-links>a {font-size:31px;gap:10px;padding-right:16px}
  .begin-links>a+a {padding-left:16px}
  .community-grid,.community-photos {gap:34px}
  .sports-grid {gap:40px}
  .art-gallery {gap:20px}
  .art-image-link {height:280px}
  .writing-features,.sketches {gap:34px}
  .writing-entry+ .writing-entry {padding-left:34px}
  .project-row {gap:60px}
  .paper-row {gap:36px}
}
@media(max-width:760px) {
  :root {--section-title:40px;--entry-title:31px;--summary-size:16px;--label-size:13px}
  html {scroll-padding-top:22px}
  .wrap {width:calc(100% - 48px)}
  .header-inner {position:relative;min-height:120px;align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:12px;padding-block:20px}
  .wordmark {font-size:29px}
  nav {gap:13px;font-size:12px;width:100%;flex-wrap:wrap}
  nav a {padding:4px 0}
  nav .nav-github {position:absolute;top:24px;right:0;border-left:0;padding-left:0;font-size:13px;gap:4px}
  .nav-github .arrow {width:16px;height:16px}
  .hero {grid-template-columns:1fr;gap:24px;padding-block:36px 40px}
  .hero-main {display:contents}
  .hero h1 {font-size:clamp(88px,23vw,110px);line-height:.88}
  .hero h1 {order:0}
  .hero-portrait {order:1}
  .hero-deck {order:2;font-size:29px;margin-top:0}
  .hero-copy {order:3;font-size:17px;line-height:1.55;margin-top:0}
  .begin {order:4;margin-top:8px;padding-top:20px}
  .begin h2 {font-size:23px;margin-bottom:12px}
  .begin-links {grid-template-columns:1fr}
  .begin-links>a {min-height:64px;font-size:28px;gap:9px;grid-template-columns:28px 1fr 20px;padding:8px 0;border-bottom:1px solid var(--rule)}
  .begin-links>a+a {border-left:0;padding-left:0}
  .section {padding-block:32px 46px}
  .section-header {margin-bottom:30px}
  .section-heading {gap:18px}
  .section-number {font-size:20px;padding-top:5px;min-width:22px}
  .section-deck,.section-context,.section-action {margin-left:40px}
  .section-deck {margin-top:14px}
  .section-context {font-size:13px}
  .section-action .text-link {font-size:14px}
  .writing-features,.sketches {grid-template-columns:1fr;gap:28px}
  .writing-entry+ .writing-entry {padding:28px 0 0;border-left:0;border-top:1px solid var(--rule)}
  .sketches {margin-top:28px;padding-top:28px}
  .genre {margin-bottom:14px}
  .piece-description {margin-top:16px}
  blockquote {font-size:22px;margin-top:20px}
  .feature-links {gap:24px;margin-top:24px}
  .text-link {font-size:15px;gap:12px}
  .paper-row {grid-template-columns:1fr;gap:18px;padding-block:26px}
  .paper-links {gap:22px;margin-top:18px}
  .authors {margin-top:12px;font-size:13px}
  .project-row {grid-template-columns:1fr;gap:18px;padding-block:26px}
  .project-row .text-link {font-size:15px}
  .community-grid,.sports-grid {grid-template-columns:1fr;gap:36px}
  .community-photos {grid-template-columns:1fr;gap:24px}
  .photo-story figure {margin-top:20px}
  .story-description {margin-top:16px}
  .art-collection {margin-top:36px;padding-top:28px}
  .art-gallery {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
  .art-image-link {height:260px}
  .art-gallery figcaption {font-size:13px}
  .reader {padding-top:28px}
  .reader-heading {padding-block:32px 28px}
  .reader-heading h1 {font-size:clamp(36px,6.2vw,43px)}
  .reader-heading .byline {font-size:15px;margin-top:20px}
  .prose {font-size:21px;line-height:1.65;margin-top:30px}
  .poem {font-size:clamp(16px,4.6vw,22px);line-height:1.65}
  .poem>p {margin-bottom:30px}
  .reader-end {gap:26px;padding-bottom:48px}
  .reader-end .text-link {font-size:14px}
}
@media(max-width:380px) {
  .art-gallery {grid-template-columns:1fr;gap:28px}
  .art-image-link {height:340px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  .text-link .arrow {transition:none}
}
@media print {
  nav,.skip-link,.reader-end {display:none}
  .wrap {width:100%;max-width:100%}
  body {background:white;color:black}
  .reader {padding-top:0}
  .reader-heading h1 {font-size:36pt}
  .prose {font-size:14pt;line-height:1.5}
  .reader-heading {padding-block:20px}
  .prose p {break-inside:avoid}
  .references {display:block}
}
