:root{
  --text-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);
  --text-sm:clamp(0.875rem,0.8rem + 0.35vw,1rem);
  --text-base:clamp(1rem,0.95rem + 0.25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + 0.75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --text-hero:clamp(3rem,0.5rem + 7vw,7.5rem);

  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;
  --space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;

  /* Warm paper, ink, and one ledger green */
  --color-bg:#f5f2ea;
  --color-surface:#fbf9f4;
  --color-surface-offset:#ece8dd;
  --color-text:#161c19;
  --color-text-muted:#56605a;
  --color-text-inverse:#f5f2ea;
  --color-primary:#1d4a3a;
  --color-primary-hover:#123327;
  --color-ink:#141a17;
  --color-rule:color-mix(in oklab,var(--color-text) 16%,transparent);
  --color-rule-inverse:color-mix(in oklab,var(--color-text-inverse) 22%,transparent);

  --radius-sm:.25rem;--radius-md:.375rem;--radius-full:9999px;
  --transition-interactive:180ms cubic-bezier(0.16,1,0.3,1);
  --content-narrow:680px;--content-wide:1200px;

  --font-display:'Zodiak','Georgia',serif;
  --font-body:'Switzer','Helvetica Neue',sans-serif;
}

.container{max-width:var(--content-wide);margin-inline:auto;padding-inline:clamp(var(--space-5),5vw,var(--space-16))}
a{color:inherit}

.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:100;background:var(--color-ink);color:var(--color-text-inverse);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);text-decoration:none;font-size:var(--text-sm)}
.skip-link:focus{top:var(--space-4)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--color-bg) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color var(--transition-interactive)}
.site-header.is-scrolled{border-bottom-color:var(--color-rule)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;min-height:var(--space-16)}
.wordmark{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;text-decoration:none;letter-spacing:-0.01em;min-height:44px;display:inline-flex;align-items:center}
.site-nav ul{display:flex;gap:var(--space-8);list-style:none}
.site-nav a{font-size:var(--text-sm);text-decoration:none;color:var(--color-text-muted);min-height:44px;display:inline-flex;align-items:center}
.site-nav a:hover,.site-nav a[aria-current='page']{color:var(--color-text)}
.nav-toggle{display:none;min-width:44px;min-height:44px;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:500}
@media (max-width:760px){
  .nav-toggle{display:inline-flex}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--color-bg);border-bottom:1px solid var(--color-rule)}
  .site-nav.is-open{display:block}
  .site-nav ul{flex-direction:column;gap:0;padding:var(--space-2) clamp(var(--space-5),5vw,var(--space-16)) var(--space-4)}
  .site-nav a{width:100%;min-height:48px;font-size:var(--text-base);color:var(--color-text);border-top:1px solid var(--color-rule)}
}

/* Hero */
.hero{padding-block:clamp(var(--space-12),9vw,var(--space-32)) clamp(var(--space-12),7vw,var(--space-24))}
.eyebrow{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);font-weight:600}
.hero h1{font-family:var(--font-display);font-weight:400;font-size:var(--text-hero);letter-spacing:-0.035em;line-height:.98;margin-block:var(--space-5) clamp(var(--space-10),5vw,var(--space-20))}
.hero-grid{display:grid;gap:var(--space-10);grid-template-columns:1fr}
.hero-lead{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.3;letter-spacing:-0.01em;max-width:26ch}
.hero-lead + p{margin-top:var(--space-6);color:var(--color-text-muted);max-width:52ch}
.facts{border-top:1px solid var(--color-text)}
.facts div{display:grid;grid-template-columns:7rem 1fr;gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--color-rule)}
.facts dt{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);padding-top:.2em}
.facts dd{font-size:var(--text-base)}
.facts--wide div{grid-template-columns:9rem 1fr}
@media (max-width:480px){.facts--wide div{grid-template-columns:1fr;gap:var(--space-1)}}
@media (min-width:900px){.hero-grid{grid-template-columns:7fr 5fr;gap:var(--space-20);align-items:end}}

/* Sections */
.section{padding-block:clamp(var(--space-12),7vw,var(--space-24));border-top:1px solid var(--color-rule)}
.section-grid{display:grid;gap:var(--space-8);grid-template-columns:1fr}
.section-title{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-0.02em}
.section-note{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);max-width:28ch}
@media (min-width:900px){
  .section-grid{grid-template-columns:3fr 9fr;gap:var(--space-16)}
  .section-head{position:sticky;top:calc(var(--space-16) + var(--space-10));align-self:start}
}

/* Work */
.work-item{display:grid;gap:var(--space-4);padding-block:var(--space-8);border-top:1px solid var(--color-rule)}
.work-item:first-child{border-top:1px solid var(--color-text);}
.work-item h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-0.02em}
.work-meta{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2)}
.work-item p{color:var(--color-text);max-width:60ch}
.work-item p + p{margin-top:var(--space-4)}
@media (min-width:700px){.work-item{grid-template-columns:5fr 7fr;gap:var(--space-10)}}

/* Writing */
.post-list{list-style:none;border-top:1px solid var(--color-text)}
.post-list li{max-width:none;border-bottom:1px solid var(--color-rule)}
.post-link{display:grid;gap:var(--space-3);padding-block:var(--space-8);text-decoration:none;grid-template-columns:1fr auto;align-items:start}
.post-link h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-0.02em;max-width:22ch}
.post-link p{grid-column:1;color:var(--color-text-muted);max-width:58ch}
.post-meta{grid-column:1;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}
.post-arrow{grid-column:2;grid-row:1;font-size:var(--text-xl);line-height:1.15;color:var(--color-primary);transition:transform var(--transition-interactive)}
.post-link:hover h3{color:var(--color-primary)}
.post-link:hover .post-arrow{transform:translateX(4px)}
.post-link:active h3{color:var(--color-primary-hover)}

/* About */
.about p{max-width:62ch}
.about p + p{margin-top:var(--space-5)}
.about .lead{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.3;letter-spacing:-0.01em;max-width:30ch;margin-bottom:var(--space-8)}
.areas{margin-top:var(--space-12);display:grid;gap:0 var(--space-10);grid-template-columns:1fr;list-style:none;border-top:1px solid var(--color-text)}
.areas li{padding-block:var(--space-4);border-bottom:1px solid var(--color-rule);max-width:none}
@media (min-width:700px){.areas{grid-template-columns:1fr 1fr}.areas li:nth-child(2){border-top:0}}
.areas-label{margin-top:var(--space-12);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}
.areas-label + .areas{margin-top:var(--space-4)}

/* Career */
.career{border-top:1px solid var(--color-text)}
.career caption{text-align:left}
.career th,.career td{text-align:left;vertical-align:top;padding-block:var(--space-4);border-bottom:1px solid var(--color-rule)}
.career thead th{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-weight:500}
.career td:first-child{font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap;padding-right:var(--space-8);width:9.5rem}
.career td:nth-child(2){font-weight:500;padding-right:var(--space-8);width:44%}
.career-sub{margin-top:var(--space-16)}
.subhead{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-4)}
@media (max-width:700px){
  .career thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .career tr{display:block;padding-block:var(--space-4);border-bottom:1px solid var(--color-rule)}
  .career td,.career td:nth-child(2){display:block;padding:0;border:0;width:auto}
  .career td:first-child{width:auto;font-size:var(--text-sm);margin-bottom:var(--space-1)}
}

/* Contact */
.contact{background:var(--color-ink);color:var(--color-text-inverse);padding-block:clamp(var(--space-16),10vw,var(--space-32))}
.contact h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);letter-spacing:-0.025em;max-width:18ch}
.contact p{margin-top:var(--space-6);max-width:48ch;color:color-mix(in oklab,var(--color-text-inverse) 78%,transparent)}
.btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);margin-top:var(--space-10);background:var(--color-text-inverse);color:var(--color-ink);border-radius:var(--radius-full);text-decoration:none;font-size:var(--text-sm);font-weight:600}
.btn:hover{background:#fff}
.btn:active{background:var(--color-surface-offset)}
.contact :focus-visible{outline-color:var(--color-text-inverse)}

/* Footer */
.site-footer{background:var(--color-ink);color:color-mix(in oklab,var(--color-text-inverse) 70%,transparent);font-size:var(--text-xs);padding-block:var(--space-12) var(--space-8);border-top:1px solid var(--color-rule-inverse)}
.site-footer p{max-width:none}
.footer-top{display:flex;flex-wrap:wrap;gap:var(--space-6) var(--space-12);justify-content:space-between;align-items:flex-start;padding-bottom:var(--space-8);border-bottom:1px solid var(--color-rule-inverse)}
.footer-name{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-0.01em;color:var(--color-text-inverse);margin-bottom:var(--space-1)}
.footer-links{list-style:none;display:flex;flex-wrap:wrap;gap:0 var(--space-8)}
.footer-links li{max-width:none}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);text-decoration:none;color:inherit}
.footer-links a:hover{color:var(--color-text-inverse)}
.footer-legal{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-12);justify-content:space-between;padding-top:var(--space-6)}
.footer-legal p:last-child{max-width:62ch}
.site-footer--light{background:transparent;color:var(--color-text-muted);border-top-color:var(--color-rule)}
.site-footer--light .footer-top{border-bottom-color:var(--color-rule)}
.site-footer--light .footer-name,.site-footer--light .footer-links a:hover{color:var(--color-text)}

/* Article */
.article{padding-block:clamp(var(--space-10),6vw,var(--space-20)) clamp(var(--space-16),8vw,var(--space-24))}
.article-wrap{max-width:var(--content-narrow);margin-inline:auto}
.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none}
.back-link:hover{color:var(--color-primary)}
.article h1{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);letter-spacing:-0.025em;line-height:1.08;margin-block:var(--space-6) var(--space-6)}
.article .dek{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.4;color:var(--color-text-muted);max-width:none}
.byline{margin-top:var(--space-8);padding-block:var(--space-4);border-block:1px solid var(--color-rule);font-size:var(--text-sm);color:var(--color-text-muted);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);justify-content:space-between}
.prose{margin-top:var(--space-10)}
.prose p{max-width:none;line-height:1.7}
.prose p + p{margin-top:var(--space-5)}
.prose h2{font-size:var(--text-lg);font-weight:600;margin-block:var(--space-12) var(--space-4);letter-spacing:-0.01em}
.prose a{color:var(--color-primary);text-underline-offset:.25em;text-decoration-thickness:1px}
.prose a:hover{color:var(--color-primary-hover)}
.exhibit{margin-block:var(--space-10);border-top:1px solid var(--color-text);border-bottom:1px solid var(--color-text)}
.exhibit figcaption{max-width:none;padding-block:var(--space-4);font-weight:600;font-size:var(--text-sm);border-bottom:1px solid var(--color-rule)}
.exhibit-no{display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-1)}
.exhibit table{width:100%;border-collapse:collapse;font-size:var(--text-sm);line-height:1.45}
.exhibit th,.exhibit td{text-align:left;vertical-align:top;padding:var(--space-3) var(--space-4) var(--space-3) 0}
.exhibit th:last-child,.exhibit td:last-child{padding-right:0}
.exhibit thead th{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-weight:500}
.exhibit tbody tr{border-top:1px solid var(--color-rule)}
.exhibit tbody th{font-weight:600;white-space:nowrap}
.more{margin-top:var(--space-20)}
.more .subhead{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-weight:500}
.more .post-link{padding-block:var(--space-6)}
.more .post-link h3{font-size:var(--text-lg);font-family:var(--font-body);font-weight:600;letter-spacing:-0.01em;max-width:none}
.more .post-arrow{font-size:var(--text-lg)}

/* Thought-leadership home */
.hero--lead h1{font-size:clamp(2.6rem,1rem + 6.2vw,6.25rem);line-height:1.02;letter-spacing:-0.032em;max-width:13ch;margin-block:0 clamp(var(--space-10),5vw,var(--space-20))}
.hero-name{display:block;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.14em;line-height:1.4;text-transform:uppercase;color:var(--color-primary);font-weight:600;margin-bottom:var(--space-6)}
.hero-intro{font-size:var(--text-lg);line-height:1.5;max-width:44ch}
.hero-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-8);margin-top:var(--space-8)}
.hero-links .btn{margin-top:0}
.btn--primary{background:var(--color-primary);color:var(--color-text-inverse)}
.btn--primary:hover{background:var(--color-primary-hover)}
.btn--primary:active{background:var(--color-ink)}
.text-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--color-primary);text-decoration:none}
.text-link:hover{color:var(--color-primary-hover);text-decoration:underline;text-underline-offset:.25em}
.about .text-link{margin-top:var(--space-6)}

/* Featured essay */
.post-featured .post-link{padding-block:var(--space-10)}
.post-featured .post-link h3{font-size:var(--text-2xl);line-height:1.06;letter-spacing:-0.025em;max-width:16ch}
.post-featured .post-link p{font-size:var(--text-lg);line-height:1.45;max-width:42ch;color:var(--color-text)}
.post-link h3{grid-column:1}
.post-kicker{grid-column:1 / -1;grid-row:1;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);font-weight:600}
.post-featured .post-arrow{grid-row:2;font-size:var(--text-2xl);line-height:1.06}

/* Topics */
.topics{display:grid;grid-template-columns:1fr;border-top:1px solid var(--color-text)}
.topic{padding-block:var(--space-8);border-bottom:1px solid var(--color-rule)}
.topic h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-0.02em}
.topic > p{margin-top:var(--space-3);color:var(--color-text-muted);max-width:40ch}
.topic ul{list-style:none;margin-top:var(--space-4)}
.topic li{max-width:none}
.topic li a{display:inline-block;padding-block:.6rem;font-size:var(--text-sm);font-weight:500;text-decoration:underline;text-decoration-color:var(--color-rule);text-underline-offset:.3em}
.topic li a:hover{color:var(--color-primary);text-decoration-color:currentColor}
@media (min-width:700px){.topics{grid-template-columns:1fr 1fr;column-gap:var(--space-12)}}

/* Principles */
.principles{list-style:none;border-top:1px solid var(--color-text);counter-reset:principle}
.principles li{display:grid;grid-template-columns:2.5rem 1fr;column-gap:var(--space-4);row-gap:var(--space-2);padding-block:var(--space-8);border-bottom:1px solid var(--color-rule);max-width:none;counter-increment:principle}
.principles li::before{content:counter(principle,decimal-leading-zero);grid-row:1 / span 3;font-size:var(--text-xs);letter-spacing:.1em;color:var(--color-text-muted);font-variant-numeric:tabular-nums;padding-top:.75em}
.principles h3{grid-column:2;font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-0.02em}
.principles p{grid-column:2;color:var(--color-text-muted);max-width:54ch}
.principles .text-link{grid-column:2;justify-self:start;font-weight:500}

/* Speaking */
.contact-grid{display:grid;gap:var(--space-12);grid-template-columns:1fr}
.talks-label{margin-top:0!important;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase}
.talks{list-style:none;margin-top:var(--space-4);border-top:1px solid var(--color-rule-inverse)}
.talks li{padding-block:var(--space-4);border-bottom:1px solid var(--color-rule-inverse);max-width:none}
@media (min-width:900px){.contact-grid{grid-template-columns:5fr 7fr;gap:var(--space-20);align-items:start}}

/* About page */
.page-head{padding-block:clamp(var(--space-12),7vw,var(--space-24)) clamp(var(--space-10),5vw,var(--space-16))}
.page-head h1{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);letter-spacing:-0.03em;line-height:1.02;margin-block:var(--space-5) var(--space-6);font-size:clamp(2.5rem,1rem + 5vw,5rem)}
.page-lead{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.3;letter-spacing:-0.01em;max-width:30ch;color:var(--color-text-muted)}

/* Article author note */
.author-note{margin-top:var(--space-16);padding-top:var(--space-6);border-top:1px solid var(--color-text);font-size:var(--text-sm);color:var(--color-text-muted);max-width:none}
.author-note a{color:var(--color-text);text-underline-offset:.25em}
.author-note a:hover{color:var(--color-primary)}
.author-note + .more{margin-top:var(--space-12)}

.areas--flush{margin-top:0}

@media print{
  .site-header,.site-footer,.more,.back-link,.skip-link,.contact,.hero-links{display:none !important}
  body{background:#fff;color:#000;font-size:11pt}
  .article{padding:0}
  .article-wrap{max-width:none}
  .prose a,.author-note a{color:inherit;text-decoration:none}
  .prose h2{break-after:avoid}
  .exhibit{break-inside:avoid}
}

html{scroll-padding-top:60px}
