@font-face{font-family:'Special Elite';src:url('assets/fonts/special-elite.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#f3eee3;--ink:#252421;--muted:#665c4f;--rule:#b9ad98;--red:#862722;--body:'Courier New',Courier,monospace;--display:'Special Elite','Courier New',monospace;--paper-wash:rgba(243,238,227,.65);--panel:rgba(255,250,240,.28);--sketch-filter:none;--sketch-blend:multiply;--selection:#ddc3a0}
:root[data-theme=dark]{color-scheme:dark;--paper:#201c18;--ink:#eee3ce;--muted:#c4b49b;--rule:#76634e;--red:#e39480;--paper-wash:rgba(28,24,20,.89);--panel:rgba(65,51,39,.38);--sketch-filter:invert(1) grayscale(1) sepia(.35);--sketch-blend:screen;--selection:#74513b}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper:#201c18;--ink:#eee3ce;--muted:#c4b49b;--rule:#76634e;--red:#e39480;--paper-wash:rgba(28,24,20,.89);--panel:rgba(65,51,39,.38);--sketch-filter:invert(1) grayscale(1) sepia(.35);--sketch-blend:screen;--selection:#74513b}}
::selection{background:var(--selection);color:var(--ink)}body{background-color:var(--paper);background-image:linear-gradient(var(--paper-wash),var(--paper-wash)),url('assets/parchment-paper.png');background-size:auto,768px 512px}
.header-controls{display:flex;align-items:center;gap:26px}.theme-picker{display:flex;gap:8px;align-items:center;color:var(--muted);font:11px var(--mono);padding-left:20px;border-left:1px solid var(--rule)}.theme-picker select{border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink);font:12px var(--mono);padding:5px 3px;cursor:pointer}.theme-picker select:focus-visible{outline:2px solid var(--red);outline-offset:4px}.theme-picker option{background:var(--paper);color:var(--ink)}
.hero{min-height:385px}.hero-copy{width:58%;padding:36px 0 28px}.hero h1{font:400 clamp(38px,5.55vw,82px)/1.15 var(--display);letter-spacing:-.015em;margin-bottom:9px}.hero h2{font:400 clamp(20px,2.5vw,36px)/1.3 var(--display);letter-spacing:0;margin-bottom:12px}.hero p{max-width:570px;font:16px/1.5 var(--mono)}.hero .hero-subtitle{font-size:20px;margin-bottom:16px}.red-rule{display:block;width:30px;height:2px;background:var(--red);margin-bottom:16px}.hero .eyebrow{font-size:10px;letter-spacing:.19em;color:var(--red);margin-bottom:16px}.hero-art{width:56%;right:-2%;top:0;filter:var(--sketch-filter);mix-blend-mode:var(--sketch-blend);opacity:1;mask-image:radial-gradient(ellipse at center,#000 55%,transparent 78%)}
.sketch{background-image:none;filter:var(--sketch-filter);mix-blend-mode:var(--sketch-blend);overflow:hidden}.folio-card{padding:22px;min-height:250px}.card-copy{width:47%}.folio-card h3{font:400 23px/1.2 var(--display);letter-spacing:0;margin-bottom:16px}.folio-card p{font:12px/1.5 var(--mono);margin-bottom:14px}.folio-card .sketch{width:51%;height:auto;right:0;bottom:12px;opacity:1;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 92%,transparent)}.folio-card:hover,.callout{background:var(--panel)}.arrow{color:var(--red)}.page-heading h1,.page-content h2,.page-content h3{font-family:var(--display);letter-spacing:0}.page-heading .lead{font:20px/1.6 var(--mono)}.page-content p{font:16px/1.7 var(--mono)}.project-link p,.course p{font-size:15px}.page-heading .sketch{mask-image:radial-gradient(ellipse,#000 50%,transparent 77%)}.gallery-empty{background:var(--panel)}.closing{font-size:11px}.page-heading h1{line-height:1.25}
@media(max-width:1050px){.hero-copy{width:62%}.hero-art{width:49%;right:-4%;opacity:.75}.masthead{flex-wrap:wrap}.hero h1{font-size:60px}.hero h2{font-size:28px}}
@media(max-width:650px){.header-controls{width:100%;justify-content:space-between;gap:10px}.theme-picker{padding-left:12px;gap:5px}.theme-picker span{display:none}.hero{min-height:0}.hero-copy{width:100%;padding:32px 0 12px}.hero h1{font-size:42px}.hero h2{font-size:25px}.hero .hero-subtitle{font-size:16px}.hero p{font-size:14px}.hero-art{width:100%;right:auto;top:auto;height:175px;opacity:1;margin-bottom:10px}.folio-card{min-height:242px}.folio-card h3{font-size:23px}.folio-card p{font-size:12px}.card-copy{width:49%}.folio-card .sketch{width:53%;height:95%;right:0}.page-heading .lead{font-size:17px}.page-content p{font-size:15px}.people h2{font-size:25px}}

.hero-art{overflow:hidden}
@media(max-width:650px){.card-copy{width:55%}.folio-card h3{font-size:22px}.folio-card .sketch{width:45%;height:auto;right:0;bottom:12px}}
/* Five chapters: three across, then two wider plates. */
.folio-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.folio-card{grid-column:span 2}.folio-card:nth-last-child(-n+2){grid-column:span 3}.folio-card .sketch{max-width:260px}
@media(max-width:1050px){.folio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.folio-card,.folio-card:nth-last-child(-n+2){grid-column:span 1}.folio-card:last-child{grid-column:span 2}}
@media(max-width:650px){.folio-grid{grid-template-columns:1fr}.folio-card,.folio-card:nth-last-child(-n+2),.folio-card:last-child{grid-column:span 1}}
/* Pencil plates for the people Kevin admires. Preserve graphite on paper in both themes. */
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.people li{position:relative;display:block;padding:0 0 24px;border-bottom:1px solid var(--rule)}.people li:before{display:block;font-size:16px;margin-bottom:12px}.admired-portrait{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;max-height:440px;margin:0 auto 22px}.person-copy h2{font-size:28px}.people li:first-child{grid-column:1/-1;display:grid;grid-template-columns:36px minmax(180px,280px) 1fr;align-items:center;gap:28px}.people li:first-child:before{align-self:start;padding-top:10px}.people li:first-child .admired-portrait{margin:0;max-height:none}.people li:first-child h2{font-size:38px}.hero h2{font-size:clamp(20px,2.1vw,30px)}.hero .hero-subtitle{font-size:18px;line-height:1.6;max-width:610px}
@media(max-width:650px){.people{grid-template-columns:1fr;gap:30px}.people li:first-child{display:block}.people li:first-child .admired-portrait{max-height:440px;margin:0 auto 22px}.people li:first-child h2{font-size:28px}.hero h2{font-size:25px}.hero .hero-subtitle{font-size:15px}}
.timeline li.timeline-illustrated{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:start;gap:28px}.timeline-illustrated figure{margin:0}.timeline-illustrated img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
@media(max-width:650px){.timeline li.timeline-illustrated{grid-template-columns:1fr;gap:20px}}
.project-sketch{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
@media(max-width:650px){.page-heading .project-sketch{max-width:350px;margin:24px auto 0}}
.folio-card .story-portrait{position:absolute;right:24px;top:12px;height:calc(100% - 24px);width:auto;max-width:45%;object-fit:contain;mask-image:radial-gradient(ellipse at center,#000 55%,transparent 78%)}
@media(max-width:650px){.folio-card .story-portrait{right:10px;max-width:44%}}
/* Consolidated courses, project notes, and observatory plates. */
.header-controls,.masthead nav{flex-wrap:wrap}.header-controls{min-width:0}.masthead nav{gap:18px}.contact-panel{padding:30px 0 42px;max-width:780px}.contact-panel h2{font:26px/1.3 var(--display);margin:0 0 16px}.contact-panel p{font:15px/1.7 var(--mono)}.detail-list{padding:0;list-style:none;counter-reset:detail}.detail-list article,.detail-list li{padding:22px 0;border-top:1px solid var(--rule)}ol.detail-list li{counter-increment:detail;padding-left:42px;position:relative}ol.detail-list li:before{content:counter(detail,decimal-leading-zero);position:absolute;left:0;top:24px;color:var(--red);font:12px var(--mono)}.architecture-plate{margin:24px 0}.architecture-plate img{display:block;width:100%;height:auto}.architecture-plate figcaption{font:13px/1.6 var(--mono);color:var(--muted);margin-top:14px}.page-content ul,.page-content ol:not(.timeline):not(.people):not(.detail-list){font:15px/1.8 var(--mono);padding-left:24px}.page-content li{overflow-wrap:anywhere}.page-content details{border:1px solid var(--rule);padding:20px;background:var(--panel)}.page-content summary{cursor:pointer;color:var(--red);font:16px/1.5 var(--mono)}.page-content details[open] summary{margin-bottom:24px}.person-copy p{margin-bottom:16px}.person-copy .tag{color:var(--red);font-size:13px}.admired-portrait,.timeline-illustrated img,.project-sketch,.story-portrait,.architecture-plate img{filter:var(--sketch-filter);mix-blend-mode:var(--sketch-blend)}.button-link+.button-link{margin-left:16px}.page-content .wrap{max-width:100%}.page-content .section-label{display:block}.page-content .detail-row{padding:18px 0;border-top:1px solid var(--rule)}.page-content .detail-row>.index{display:block;color:var(--red);font:12px var(--mono);margin-bottom:12px}.page-content .source-excerpt,.page-content .answer-examples article{border-left:2px solid var(--red);padding-left:20px}.page-content .answer-examples article+article{margin-top:24px}.page-content .text-link svg,.page-content .contact-email svg{width:20px;height:20px;vertical-align:middle;margin-left:8px}.page-content .contact-email{color:var(--red);font:16px var(--mono)}
@media(max-width:650px){.masthead nav{gap:14px}.header-controls{row-gap:14px}.theme-picker{margin-left:auto}.button-link+.button-link{margin-left:0;margin-right:16px}.person-copy p{font-size:15px}.page-content .intro-copy{min-width:0}}
