@font-face {
  font-family: 'EB Garamond';
  src: url('./assets/fonts/eb-garamond-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}
:root {
  --paper: #F6F4EE;
  --brand: #3C432D;
  --olive: #3C432D;
  --color-bg: var(--paper);
  --color-text: var(--brand);
  --color-muted: #646653;
  --color-surface: #ECEEE5;
  --color-border: oklch(from var(--color-text) l c h / .2);
  --color-primary: var(--brand);
  --font-body: 'EB Garamond', Georgia, serif;
  --font-display: 'EB Garamond', Georgia, serif;
  --text-xs: clamp(.875rem, .84rem + .15vw, 1rem);
  --text-sm: clamp(1rem, .95rem + .2vw, 1.125rem);
  --text-base: clamp(1.125rem, 1.05rem + .3vw, 1.3rem);
  --text-lg: clamp(1.5rem, 1.2rem + .6vw, 1.85rem);
  --text-xl: clamp(2rem, 1.3rem + 1.8vw, 3.1rem);
  --text-hero: clamp(2.8rem, 1.1rem + 3.7vw, 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;
  --gutter: clamp(var(--space-6), 5vw, var(--space-20));
  --radius-sm: 0;
  --transition-interactive: 180ms ease;
  color-scheme: light;
}
[data-theme="dark"] {
  --color-bg: #292E21;
  --color-text: var(--paper);
  --color-muted: #C3C6AD;
  --color-surface: #363C2D;
  --color-primary: var(--paper);
  color-scheme: dark;
}
body { background: var(--color-bg); color: var(--color-text); font: 400 var(--text-base)/1.55 var(--font-body); font-synthesis: none; }
a { color: inherit; text-decoration: none; }
button { background: transparent; border: 0; color: inherit; font: inherit; cursor: pointer; }
.svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.skip-link { position: fixed; top: var(--space-3); left: var(--space-3); padding: var(--space-3) var(--space-4); background: var(--brand); color: var(--paper); z-index: 100; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
.eyebrow, .descriptor, .hero-foot, .section-number { font-size: var(--text-xs); font-weight: 500; line-height: 1.5; letter-spacing: .1em; }
.site-header { display: flex; align-items: center; gap: var(--space-12); min-height: 104px; padding-inline: var(--gutter); }
.header-brand { width: 175px; min-height: 44px; display: flex; align-items: center; flex-shrink: 0; }
.header-brand svg { width: 100%; }
.main-nav { display: flex; gap: var(--space-8); align-items: center; margin-left: auto; font-size: var(--text-sm); }
.main-nav a { display: flex; align-items: center; min-height: 44px; gap: var(--space-4); }
.main-nav a:hover, .text-link:hover, .back-top:hover, .header-brand:hover { opacity: .65; }
button:active, a:active { opacity: .55; }
.language-control { display: flex; align-items: center; gap: var(--space-1); font-size: var(--text-xs); }
.language-control button { min-height: 44px; min-width: 44px; color: var(--color-muted); padding: var(--space-2); }
.language-control button[aria-pressed="true"] { color: var(--color-text); text-decoration: underline; text-underline-offset: 5px; }
.language-control>span { color: var(--color-muted); }
.js-control { display: none; }
.js .language-control { display: flex; }
.hero { padding: clamp(var(--space-12), 6.5vw, var(--space-24)) var(--gutter) 0; }
.hero-signature { padding-inline: var(--space-2); }
.hero-wordmark { width: 100%; }
.descriptor { margin-top: var(--space-6); letter-spacing: .22em; }
.hero-bottom { display: grid; grid-template-columns: 1.85fr 1fr; align-items: end; gap: var(--space-16); margin-top: clamp(var(--space-16), 7vw, var(--space-24)); margin-bottom: var(--space-12); }
h1 { font: 400 var(--text-hero)/1.08 var(--font-display); letter-spacing: -.015em; }
.hero-aside { padding-bottom: var(--space-2); max-width: 37ch; }
.hero-aside p { color: var(--color-muted); }
.text-link { display: inline-flex; align-items: center; min-height: 44px; gap: var(--space-12); margin-top: var(--space-5); font-size: var(--text-sm); }
.hero-foot { border-top: 1px solid var(--color-border); display: flex; justify-content: space-between; gap: var(--space-6); padding-block: var(--space-5); letter-spacing: .08em; }
.image-band { margin: var(--space-4) var(--gutter) 0; background: var(--color-surface); overflow: hidden; }
.image-band img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 65%; background: var(--color-surface); }
@media(max-width: 600px) {
  .image-band img { aspect-ratio: 1; object-position: center; }
}
.image-band.image-failed { display: none; }
.section-shell { display: grid; grid-template-columns: .75fr 2.6fr; gap: var(--space-16); padding-inline: var(--gutter); }
.section-label { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-6); padding-top: var(--space-2); }
.section-number { color: var(--color-muted); letter-spacing: 0; }
h2 { font: 400 var(--text-xl)/1.12 var(--font-display); letter-spacing: -.01em; }
h3 { font: 400 var(--text-lg)/1.2 var(--font-display); letter-spacing: 0; }
.about-section { padding-block: var(--space-24) var(--space-32); }
.about-content { max-width: 890px; }
.about-content h2 { max-width: 20ch; }
.about-copy { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-12); margin-top: var(--space-10); }
.about-copy p { color: var(--color-muted); max-width: 40ch; }
.ownership-section { padding-block: var(--space-20) var(--space-24); background: var(--color-surface); }
.ownership-intro { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-12); align-items: start; margin-bottom: var(--space-12); }
.ownership-intro h2 { max-width: 18ch; }
.ownership-intro>p { color: var(--color-muted); }
.principle { display: grid; grid-template-columns: .18fr .85fr 1.25fr; gap: var(--space-8); border-top: 1px solid var(--color-border); padding-block: var(--space-8); }
.principle:last-child { padding-bottom: 0; }
.principle-index { padding-top: var(--space-1); font-size: var(--text-xs); color: var(--color-muted); }
.principle p { color: var(--color-muted); }
.ownership-questions { margin-top: var(--space-16); border-top: 1px solid var(--color-border); padding-top: var(--space-10); }
.ownership-questions>h3 { margin-top: var(--space-4); }
.questions-intro { margin-top: var(--space-5); color: var(--color-muted); max-width: 65ch; }
.question-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-8); margin-top: var(--space-10); }
.question-grid h4, .leadership-note h4, .experience-grid dt { font-size: var(--text-base); font-weight: 500; line-height: 1.45; }
.question-grid p { margin-top: var(--space-4); color: var(--color-muted); font-size: var(--text-sm); }
.founder-section { padding-block: var(--space-24); }
.founder-portrait { margin-top: var(--space-12); }
.founder-portrait img { width: 100%; height: auto; aspect-ratio: 2 / 3; display: block; background: #080808; }
.founder-portrait figcaption { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--color-muted); }
.founder-content>h2 { max-width: 24ch; }
.founder-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: var(--space-16); margin-top: var(--space-12); }
.founder-grid h3 { margin-top: var(--space-4); margin-bottom: var(--space-6); max-width: 25ch; }
.founder-grid p:not(.eyebrow) { color: var(--color-muted); }
.founder-bio .founder-title { font-size: var(--text-sm); color: var(--color-text); margin-top: calc(-1 * var(--space-3)); margin-bottom: var(--space-6); max-width: 36ch; }
.founder-bio>p+p, .founder-engagement>p+p, .founder-role>p+p { margin-top: var(--space-5); }
.founder-context { border-left: 1px solid var(--color-border); padding-left: var(--space-10); }
.founder-context h3 { font-size: var(--text-lg); }
.founder-role>p:not(.eyebrow), .founder-engagement>p:not(.eyebrow) { font-size: var(--text-sm); }
.founder-engagement { margin-top: var(--space-10); border-top: 1px solid var(--color-border); padding-top: var(--space-8); }
.founder-engagement .engagement-note { font-size: var(--text-xs); margin-top: var(--space-6); max-width: 38ch; }
.leadership-note { margin-top: var(--space-8); }
.leadership-note p { margin-top: var(--space-4); }
.recognition-note { margin-top: var(--space-8); }
.recognition-note h4 { font-size: var(--text-base); font-weight: 500; }
.recognition-note p { margin-top: var(--space-3); font-size: var(--text-sm); }
.founder-role .text-link { font-size: var(--text-sm); gap: var(--space-4); }
.inline-source { text-decoration: underline; text-underline-offset: 3px; }
.inline-source:hover { color: var(--color-text); }
.experience-section { border-top: 1px solid var(--color-border); margin-top: var(--space-12); padding-top: var(--space-10); }
.experience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-8); margin-top: var(--space-8); }
.experience-grid dd { margin: var(--space-4) 0 0; color: var(--color-muted); font-size: var(--text-sm); }
.perspective-mark { width: 86px; color: var(--olive); }
[data-theme="dark"] .perspective-mark { color: #C3C6AD; }
.contact-section { padding-block: var(--space-24); border-top: 1px solid var(--color-border); }
.contact-content h2 { max-width: 24ch; }
.contact-details { display: grid; grid-template-columns: 1.65fr 1fr; gap: var(--space-16); margin-top: var(--space-10); }
.contact-invitation p { color: var(--color-muted); max-width: 43ch; }
.contact-invitation .contact-guidance { margin-top: var(--space-5); font-size: var(--text-sm); }
.contact-email { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--space-5); margin-top: var(--space-6); min-height: 44px; border-bottom: 1px solid var(--color-text); padding-bottom: var(--space-2); overflow-wrap: anywhere; }
.contact-email:hover { color: var(--color-muted); border-color: var(--color-muted); }
address { font-style: normal; color: var(--color-muted); }
address>.address-label { display: block; font-size: var(--text-xs); letter-spacing: .08em; margin-bottom: var(--space-4); color: var(--color-text); }
.site-footer { padding: var(--space-12) var(--gutter) var(--space-6); background: var(--color-surface); }
.footer-main { display: grid; grid-template-columns: 1fr 1fr auto; gap: var(--space-12); align-items: center; padding-bottom: var(--space-12); }
.footer-logo { width: 200px; display: flex; align-items: center; min-height: 44px; }
.footer-logo svg { width: 100%; }
.footer-main p { font-size: var(--text-sm); }
.back-top { display: inline-flex; gap: var(--space-8); min-height: 44px; align-items: center; font-size: var(--text-sm); }
.footer-bottom { display: grid; grid-template-columns: 1fr 1fr auto; gap: var(--space-12); padding-top: var(--space-6); border-top: 1px solid var(--color-border); color: var(--color-muted); align-items: start; font-size: var(--text-xs); }
.legal-entity a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.js .footer-controls { display: flex; gap: var(--space-6); flex-wrap: wrap; }
.footer-controls button { min-height: 44px; font-size: var(--text-xs); }
.footer-controls button:hover { color: var(--color-text); text-decoration: underline; text-underline-offset: 4px; }
.theme-button { display: flex; align-items: center; gap: var(--space-3); }
dialog { width: min(650px, calc(100vw - 2 * var(--gutter))); max-height: calc(100dvh - var(--space-12)); border: 1px solid var(--color-border); margin: auto; padding: var(--space-10); background: var(--color-bg); color: var(--color-text); }
dialog::backdrop { background: rgb(23 26 18 / .48); }
.dialog-heading { display: flex; gap: var(--space-6); align-items: start; justify-content: space-between; margin-bottom: var(--space-8); }
.dialog-heading h2 { font-size: var(--text-lg); max-width: 22ch; }
.privacy-close { font-size: var(--text-sm); min-height: 44px; padding-inline: var(--space-3); border: 1px solid var(--color-border); }
dialog p { margin-top: var(--space-5); font-size: var(--text-sm); color: var(--color-muted); }
dialog a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
section { scroll-margin-top: var(--space-6); }
@media(min-width: 1800px) { body { max-width: 1800px; margin-inline: auto; } }
@media(max-width: 1050px) {
  .site-header { gap: var(--space-6); }
  .main-nav { gap: var(--space-6); }
  .hero-bottom { gap: var(--space-8); grid-template-columns: 1.6fr 1fr; }
  .section-shell { grid-template-columns: .7fr 2.7fr; gap: var(--space-8); }
  .section-label { flex-direction: column; gap: var(--space-3); }
  .about-copy, .ownership-intro { gap: var(--space-8); }
  .contact-details { gap: var(--space-8); }
  .founder-grid { gap: var(--space-8); }
  .founder-context { padding-left: var(--space-6); }
  .question-grid, .experience-grid { gap: var(--space-6); }
  .footer-main, .footer-bottom { gap: var(--space-6); }
  .footer-bottom { grid-template-columns: .8fr 1.2fr 1fr; }
}
@media(max-width: 760px) {
  .site-header { min-height: 100px; flex-wrap: wrap; padding-block: var(--space-4); gap: var(--space-1) var(--space-4); }
  .header-brand { width: 154px; order: 0; }
  .language-control { margin-left: auto; order: 1; }
  .main-nav { order: 2; width: 100%; margin: 0; justify-content: space-between; gap: var(--space-3); }
  .main-nav a { font-size: var(--text-xs); }
  .hero { padding-top: var(--space-10); }
  .hero-signature { padding: 0; }
  .descriptor { font-size: var(--text-xs); letter-spacing: .13em; margin-top: var(--space-4); }
  .hero-bottom { grid-template-columns: 1fr; gap: var(--space-8); margin-top: var(--space-12); margin-bottom: var(--space-8); }
  h1 { font-size: clamp(2.25rem, 1rem + 5.6vw, 3.8rem); }
  .hero-aside { max-width: 45ch; }
  .hero-aside p { font-size: var(--text-base); }
  .text-link { margin-top: var(--space-3); gap: var(--space-8); }
  .hero-foot { flex-direction: column; gap: var(--space-2); letter-spacing: .05em; padding-block: var(--space-4); }
  .image-band { margin-top: var(--space-3); }
  .section-shell { grid-template-columns: 1fr; gap: var(--space-8); }
  .section-label { flex-direction: row; padding-top: 0; }
  .about-section { padding-block: var(--space-16) var(--space-20); }
  .about-copy { grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-8); }
  .about-copy p { max-width: 50ch; }
  .ownership-section { padding-block: var(--space-16); }
  .ownership-intro { grid-template-columns: 1fr; gap: var(--space-6); margin-bottom: var(--space-8); }
  .ownership-intro h2 { max-width: 23ch; }
  .principle { grid-template-columns: var(--space-6) 1fr; gap: var(--space-4) var(--space-5); padding-block: var(--space-6); }
  .principle p { grid-column: 2; }
  .ownership-questions { margin-top: var(--space-10); padding-top: var(--space-8); }
  .question-grid, .experience-grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .question-grid { margin-top: var(--space-8); }
  .question-grid article+article, .experience-grid>div+div { border-top: 1px solid var(--color-border); padding-top: var(--space-6); }
  .founder-section { padding-block: var(--space-16); }
  .founder-portrait { max-width: 340px; margin-top: var(--space-8); }
  .founder-grid { grid-template-columns: 1fr; gap: var(--space-10); margin-top: var(--space-8); }
  .founder-context { border-left: 0; border-top: 1px solid var(--color-border); padding: var(--space-8) 0 0; }
  .founder-engagement { margin-top: var(--space-8); }
  .experience-section { margin-top: var(--space-10); padding-top: var(--space-8); }
  .perspective-mark { width: 60px; }
  .contact-section { padding-block: var(--space-16); }
  .contact-details { grid-template-columns: 1fr; gap: var(--space-10); margin-top: var(--space-8); }
  .contact-email { font-size: var(--text-sm); gap: var(--space-4); }
  .site-footer { padding-block: var(--space-10) var(--space-6); }
  .footer-main { grid-template-columns: 1fr auto; gap: var(--space-6); padding-bottom: var(--space-8); }
  .footer-main p { grid-column: 1 / -1; grid-row: 2; }
  .footer-logo { width: 152px; }
  .back-top { font-size: var(--text-xs); gap: var(--space-3); }
  .footer-bottom { grid-template-columns: 1fr; gap: var(--space-3); }
  .footer-controls { justify-content: space-between; }
  dialog { padding: var(--space-6); width: calc(100vw - var(--space-8)); }
}
@media(max-width: 380px) {
  .main-nav { gap: var(--space-2); }
  .main-nav a { gap: var(--space-2); }
}
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
