/* Inspirit Equity — theme styles. Generated from the approved Version C. */
/* ==========================================================================
   Inspirit Equity — theme styles
   Tokens are the only place colors live. Change them here and the site follows.
   ========================================================================== */
:root {
  --burgundy: #732030;
  --burgundy-deep: #4E1521;
  --burgundy-ink: #5C1A28;
  --parchment: #EFE3CC;
  --cream: #F3E9D6;
  --brass: #C9A46A;
  --brass-dark: #8C6A3A;
  --on-dark: #E3CFC0;
  --on-dark-muted: #D2B5A8;
  --on-light: #4A3A33;
  --on-light-muted: #6E5A50;
  --line-dark: rgba(243,233,214,0.14);
  --line-light: rgba(115,32,48,0.18);
  --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif;
  --wrap: 1280px;
  --gutter: clamp(20px, 5.5vw, 80px);
  --section-y: clamp(72px, 9vw, 120px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; font-family: var(--sans); font-size: 16px; line-height: 1.6; color: var(--cream); background: var(--burgundy); -webkit-font-smoothing: antialiased; }
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--brass); }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.skip-link { position: absolute; left: -9999px; top: 0; background: var(--brass); color: var(--burgundy-deep); padding: 12px 20px; z-index: 100; }
.skip-link:focus { left: 16px; top: 16px; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }

/* Type ---------------------------------------------------------------- */
.display { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(40px, 4.6vw, 64px); line-height: 1.05; letter-spacing: -0.005em; }
.display--sm { font-size: clamp(32px, 3.2vw, 44px); line-height: 1.1; }
.display--lg { font-size: clamp(44px, 5.2vw, 72px); line-height: 1.02; }
.display--xl { font-size: clamp(48px, 6vw, 80px); line-height: 1.0; }
.eyebrow { margin: 0 0 20px; font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--brass); }
.eyebrow--dark { color: var(--brass-dark); }
.label { display: block; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--on-light-muted); margin-bottom: 6px; }
.lead { font-size: 17px; line-height: 1.65; color: var(--on-dark); max-width: 520px; }
.rule { display: block; width: 48px; height: 1px; background: var(--brass); margin: 0 auto; }
.rule--left { margin: 0; }
.numeral { font-family: var(--serif); font-size: 40px; line-height: 1; color: var(--brass); }

.prose p { margin: 0 0 1.2em; }
.prose h2, .prose h3 { font-family: var(--serif); font-weight: 400; line-height: 1.15; margin: 2em 0 0.8em; }
.prose h2 { font-size: clamp(28px, 2.6vw, 40px); }
.prose h3 { font-size: 26px; }
.prose--serif { font-family: var(--serif); font-size: clamp(20px, 1.55vw, 23px); line-height: 1.55; color: var(--on-light); }
.prose--light { color: var(--on-dark); }
.prose--serif.prose--light { color: #E8D9C8; }
.prose a { color: var(--brass-dark); text-decoration: underline; text-underline-offset: 4px; }
.prose--light a { color: var(--brass); }

/* Buttons & links ------------------------------------------------------ */
.btn { display: inline-flex; align-items: center; gap: 12px; padding: 16px 26px; font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; border: 1px solid transparent; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.btn--outline { border-color: var(--brass); color: var(--brass); background: transparent; font-weight: 500; }
.btn--outline:hover { background: var(--brass); color: var(--burgundy-deep); }
.btn--solid { background: var(--brass); color: var(--burgundy-deep); }
.btn--solid:hover { background: var(--cream); color: var(--burgundy-deep); }
.btn--cream { background: var(--cream); color: var(--burgundy-deep); }
.btn--cream:hover { background: var(--brass); color: var(--burgundy-deep); }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--brass); }
.text-link--dark { color: var(--brass-dark); }
.text-link--dark:hover { color: var(--burgundy); }
.link-rows { list-style: none; margin: 0; padding: 0; }
.link-rows a { display: flex; justify-content: space-between; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line-dark); font-size: 14px; letter-spacing: 0.1em; text-transform: uppercase; }
.link-rows a span:last-child { color: var(--brass); }

/* Header --------------------------------------------------------------- */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(115,32,48,0.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line-dark); }
.theme-light .site-header { background: rgba(239,227,204,0.94); border-bottom-color: var(--line-light); color: var(--burgundy); }
.site-header__inner { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.wordmark { font-family: var(--serif); font-size: 24px; letter-spacing: 0.32em; text-transform: uppercase; font-weight: 500; }
.wordmark--small { font-size: 18px; }
.custom-logo { height: 44px; width: auto; }
.site-nav { display: flex; align-items: center; gap: 40px; }
.nav-list { list-style: none; margin: 0; padding: 0; display: flex; gap: 36px; }
.nav-list a { font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; }
.nav-list li:last-child a { color: var(--brass); }
.theme-light .nav-list li:last-child a { color: var(--brass-dark); }
.theme-light .btn--outline { border-color: var(--burgundy); color: var(--burgundy); }
.theme-light .btn--outline:hover { background: var(--burgundy); color: var(--cream); }
.nav-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; flex-direction: column; justify-content: center; gap: 7px; cursor: pointer; }
.nav-toggle span { display: block; height: 1px; width: 26px; background: currentColor; margin: 0 auto; transition: transform .25s; }
.nav-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }

/* Sections ------------------------------------------------------------- */
.section { position: relative; padding: var(--section-y) 0; }
.section--burgundy { background: var(--burgundy); }
.section--deep { background: var(--burgundy-deep); }
.section--parchment { background: var(--parchment); color: var(--burgundy-deep); }
.section--texture { background: var(--burgundy-deep); overflow: hidden; }
.section__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.section--texture::before { content: ""; position: absolute; inset: 0; background: rgba(78,21,33,0.84); z-index: 1; }
.section--texture .wrap { position: relative; z-index: 2; }
.section--contact::before { background: linear-gradient(180deg, rgba(78,21,33,0.88) 0%, rgba(78,21,33,0.96) 100%); }
.section__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; margin-bottom: clamp(40px, 5vw, 72px); }
.section__head .display { max-width: 720px; }
.section__aside { margin: 0; max-width: 320px; font-size: 14px; line-height: 1.6; color: var(--on-dark-muted); }
.section--parchment .section__aside { color: var(--on-light-muted); }

/* Hero ----------------------------------------------------------------- */
.hero { position: relative; min-height: clamp(560px, 62vw, 900px); display: flex; flex-direction: column; justify-content: flex-end; padding: 0 var(--gutter) clamp(48px, 5.5vw, 80px); background: var(--burgundy); overflow: hidden; }
.hero__bg, .hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.hero__wash { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(78,21,33,0) 45%, rgba(78,21,33,0.55) 70%, rgba(78,21,33,0.95) 100%); }
.hero__wash--film { background: linear-gradient(180deg, rgba(78,21,33,0.15) 0%, rgba(78,21,33,0.55) 55%, rgba(78,21,33,0.96) 100%); }
.hero__eyebrow { position: absolute; left: var(--gutter); top: 40px; margin: 0; font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--burgundy); }
.hero__copy { position: relative; max-width: 980px; margin: 0 auto; width: 100%; max-width: var(--wrap); }
.hero__title { margin: 0 0 24px; font-family: var(--serif); font-weight: 400; font-size: clamp(40px, 5vw, 72px); line-height: 1.02; max-width: 820px; }
.hero__title--lg { font-size: clamp(48px, 6.6vw, 96px); line-height: 0.98; }
.hero__sub { margin: 0; font-size: 18px; line-height: 1.6; color: var(--on-dark); max-width: 560px; }
.hero__scroll { position: absolute; right: var(--gutter); bottom: 80px; display: flex; align-items: center; gap: 14px; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--on-dark-muted); }
.hero__actions { display: flex; align-items: center; gap: 20px; margin-top: 28px; flex-wrap: wrap; }
.hero__meta { font-size: 13px; color: var(--on-dark-muted); letter-spacing: 0.06em; }
.hero__count { position: absolute; right: var(--gutter); bottom: 88px; text-align: right; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--on-dark-muted); }
.hero__count strong { display: block; color: var(--cream); font-weight: 500; margin-top: 8px; }
.hero--company { min-height: clamp(420px, 40vw, 560px); }

/* Statement ------------------------------------------------------------ */
.statement { background: var(--parchment); color: var(--burgundy-deep); padding: clamp(96px, 12vw, 160px) var(--gutter); text-align: center; }
.statement__inner { max-width: 1000px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 40px; }
.statement__quote { margin: 0; font-family: var(--serif); font-style: italic; font-size: clamp(30px, 3.8vw, 54px); line-height: 1.2; }
.statement__by { font-style: normal; font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--on-light-muted); }

/* Convictions ---------------------------------------------------------- */
.convictions__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px; }
.convictions__list li { padding-top: 32px; border-top: 1px solid rgba(243,233,214,0.18); display: flex; flex-direction: column; gap: 24px; }
.convictions__list h3 { margin: 0; font-family: var(--serif); font-weight: 400; font-size: 30px; line-height: 1.15; }
.convictions__list p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--on-dark); }
[data-reveal] > * { opacity: 0; transform: translateY(16px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].is-visible > * { opacity: 1; transform: none; }
[data-reveal].is-visible > :nth-child(2) { transition-delay: .18s; }
[data-reveal].is-visible > :nth-child(3) { transition-delay: .36s; }
[data-reveal].is-visible > :nth-child(4) { transition-delay: .54s; }
@media (prefers-reduced-motion: reduce) { [data-reveal] > * { opacity: 1; transform: none; } }

/* Portfolio ------------------------------------------------------------ */
.portfolio .display { color: var(--burgundy); }
.portfolio__list { border-top: 1px solid var(--line-light); }
.pf-row { border-bottom: 1px solid var(--line-light); }
.pf-row__head { width: 100%; display: grid; grid-template-columns: 96px 1fr 1fr 160px; gap: 32px; align-items: center; padding: 32px 0; background: none; border: 0; color: inherit; text-align: left; cursor: pointer; }
.pf-row__index { font-family: var(--serif); font-size: 22px; color: var(--on-light-muted); }
.pf-row__name { font-family: var(--serif); font-size: clamp(26px, 2.5vw, 36px); line-height: 1.05; color: var(--burgundy); transition: font-size .3s; }
.pf-row.is-open .pf-row__name { font-size: clamp(30px, 3vw, 44px); }
.pf-row__meta { font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--on-light-muted); }
.pf-row__date { font-size: 13px; color: var(--on-light-muted); text-align: right; }
.pf-row__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s ease; visibility: hidden; }
.pf-row.is-open .pf-row__body { visibility: visible; }
.pf-row.is-open .pf-row__body { grid-template-rows: 1fr; }
.pf-row__body > * { overflow: hidden; min-height: 0; }
.pf-row__grid { display: grid; grid-template-columns: 96px 1fr 1fr 160px; gap: 32px; padding-bottom: 48px; }
.pf-row__text { grid-column: 2; font-size: 16px; line-height: 1.65; color: var(--on-light); max-width: 480px; }
.pf-row__text p { margin: 0 0 20px; }
.pf-row__links { display: flex; gap: 28px; flex-wrap: wrap; }
.pf-row__links .text-link { color: var(--brass-dark); }
.pf-row__image img { width: 100%; height: 300px; object-fit: cover; }
.pf-row__facts { list-style: none; margin: 0; padding: 0; font-size: 13px; color: var(--on-light); line-height: 1.9; }

/* Articles ------------------------------------------------------------- */
.articles__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(243,233,214,0.22); }
.articles__list a { display: grid; grid-template-columns: 160px 1.2fr 1fr 80px; gap: 40px; align-items: baseline; padding: 32px 0; border-bottom: 1px solid var(--line-dark); }
.articles__date { font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--brass); }
.articles__title { font-family: var(--serif); font-size: 28px; line-height: 1.15; }
.articles__excerpt { font-size: 14px; line-height: 1.6; color: var(--on-dark-muted); }
.articles__read { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--brass); text-align: right; }
.articles__list--light { border-top-color: var(--line-light); }
.articles__list--light a { border-bottom-color: var(--line-light); color: var(--burgundy); }
.articles__list--light .articles__date, .articles__list--light .articles__read { color: var(--brass-dark); }
.articles__list--light .articles__excerpt { color: var(--on-light-muted); }
.article__wrap { max-width: 760px; }
.article__wrap .display { color: var(--burgundy); margin-bottom: 32px; }
.article__wrap .rule { margin-bottom: 40px; }
.statement__kicker { margin: 0; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--burgundy); line-height: 1.8; max-width: 640px; }
.site-footer__brand { display: flex; flex-direction: column; gap: 6px; }
.site-footer__tag { font-size: 12px; letter-spacing: 0.02em; }

/* Journal preview ------------------------------------------------------ */
.journal-preview__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; }
.jcard { display: flex; flex-direction: column; gap: 24px; color: var(--cream); }
.jcard:hover { color: var(--cream); }
.jcard:hover .jcard__title { color: var(--brass); }
.jcard__media { position: relative; display: block; height: 520px; overflow: hidden; background: var(--burgundy-ink); }
.jcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.jcard:hover .jcard__media img { transform: scale(1.03); }
.jcard__media--year { background: var(--parchment); color: var(--burgundy-deep); display: flex; flex-direction: column; justify-content: space-between; padding: 40px; }
.jcard__media--year span { font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--on-light-muted); }
.jcard__media--year strong { font-family: var(--serif); font-weight: 400; font-size: clamp(120px, 11vw, 160px); line-height: 0.9; color: var(--burgundy); }
.play-ring { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; border: 1px solid var(--cream); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--cream); }
.jcard__label { font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--brass); }
.jcard__title { font-family: var(--serif); font-size: clamp(28px, 2.7vw, 38px); line-height: 1.1; transition: color .2s; }
.jcard__meta { font-size: 14px; color: var(--on-dark-muted); }

/* Contact -------------------------------------------------------------- */
.contact { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.contact__copy .display { margin-bottom: 28px; }
.contact__address { font-style: normal; margin-top: 40px; font-size: 14px; line-height: 1.6; color: var(--on-dark-muted); }
.contact__address .label { color: var(--on-dark-muted); }
.contact__form { padding-top: 24px; }
.field { display: flex; flex-direction: column; gap: 10px; margin: 0 0 28px; }
.field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.field label { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--on-dark-muted); }
.field input, .field textarea { background: transparent; border: 0; border-bottom: 1px solid rgba(243,233,214,0.3); color: var(--cream); font: inherit; font-size: 16px; padding: 12px 0; border-radius: 0; resize: none; }
.field input:focus, .field textarea:focus { outline: none; border-bottom-color: var(--brass); }
.hp { position: absolute; left: -9999px; }
.form-note { font-family: var(--serif); font-size: 28px; }
.form-note--error { font-family: var(--sans); font-size: 14px; color: var(--brass); }

/* Footer --------------------------------------------------------------- */
.site-footer { background: var(--burgundy-deep); border-top: 1px solid var(--line-dark); }
.theme-light .site-footer { background: var(--parchment); color: var(--burgundy); border-top-color: var(--line-light); }
.site-footer__inner { max-width: var(--wrap); margin: 0 auto; padding: 32px var(--gutter); display: flex; justify-content: space-between; align-items: center; gap: 32px; font-size: 12px; letter-spacing: 0.06em; color: var(--on-dark-muted); }
.theme-light .site-footer__inner { color: var(--on-light-muted); }
.footer-nav { list-style: none; margin: 0; padding: 0; display: flex; gap: 32px; }

/* Film ----------------------------------------------------------------- */
.hero--film { min-height: clamp(560px, 60vw, 860px); }
.hero__copy--film { max-width: var(--wrap); }
.film-intro__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; padding-bottom: var(--section-y); border-bottom: 1px solid var(--line-dark); }
.film-intro { padding-bottom: 0; }
.film-intro .prose { font-size: 15px; line-height: 1.7; max-width: 520px; }
.film-row__head { display: flex; align-items: baseline; gap: 24px; margin-bottom: 40px; }
.film-row__tag { font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--on-dark-muted); }
.film-row__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.film-row__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ep-card { display: flex; flex-direction: column; gap: 18px; color: var(--cream); }
.ep-card:hover { color: var(--cream); }
.ep-card:hover .ep-card__title { color: var(--brass); }
.ep-card__media { position: relative; display: block; height: 236px; overflow: hidden; background: var(--burgundy-ink); }
.ep-card--tall .ep-card__media { height: 300px; }
.ep-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.ep-card:hover .ep-card__media img { transform: scale(1.03); }
.ep-card__media::after { content: ""; position: absolute; inset: 0; background: rgba(78,21,33,0.35); }
.ep-card__num { position: absolute; left: 20px; bottom: 14px; z-index: 1; font-family: var(--serif); font-size: 40px; }
.ep-card__runtime { position: absolute; right: 20px; bottom: 20px; z-index: 1; font-size: 11px; letter-spacing: 0.14em; background: rgba(78,21,33,0.8); padding: 4px 8px; }
.ep-card__title { font-family: var(--serif); font-size: 28px; line-height: 1.1; transition: color .2s; }
.ep-card--tall .ep-card__title { font-size: 24px; }
.ep-card__text { font-size: 14px; line-height: 1.6; color: var(--on-dark-muted); }
.crosslinks__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

/* Episode single ------------------------------------------------------- */
.episode__player { aspect-ratio: 16 / 9; background: var(--burgundy-ink); margin-bottom: 64px; position: relative; overflow: hidden; }
.episode__player iframe, .episode__player video { width: 100%; height: 100%; display: block; }
.episode__placeholder img { width: 100%; height: 100%; object-fit: cover; opacity: .6; }
.episode__placeholder span { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; background: rgba(78,21,33,0.85); padding: 10px 14px; white-space: nowrap; }
.episode__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 80px; align-items: start; }
.episode__grid .display { margin-bottom: 24px; }

/* Journal / Founder ---------------------------------------------------- */
body.theme-light { background: var(--parchment); color: var(--burgundy-deep); }
.founder__grid { display: grid; grid-template-columns: minmax(280px, 520px) 1fr; gap: clamp(48px, 8vw, 120px); align-items: start; }
.founder__portrait { position: sticky; top: 120px; }
.founder__media { height: clamp(420px, 50vw, 680px); overflow: hidden; }
.founder__media img { width: 100%; height: 100%; object-fit: cover; object-position: left center; }
.founder__name { margin: 32px 0 0; font-family: var(--serif); font-size: 28px; color: var(--burgundy); }
.founder__name span { display: block; font-family: var(--sans); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--on-light-muted); margin-top: 8px; }
.founder__text { max-width: 640px; }
.founder__text .display { color: var(--burgundy); margin-bottom: 40px; }
.founder__text .rule { margin-bottom: 40px; }
.founder__sig { margin: 48px 0 0; font-family: var(--serif); font-style: italic; font-size: 40px; color: var(--burgundy); }
.founder__sig span { display: block; font-family: var(--sans); font-style: normal; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--on-light-muted); margin-top: 8px; }
.prose--light .founder__sig, .letter .founder__sig { color: var(--cream); }
.letter .founder__sig span { color: var(--on-dark-muted); }

/* Letter --------------------------------------------------------------- */
.letter::before { background: rgba(78,21,33,0.9); }
.letter { color: var(--cream); }
.letter__grid { display: grid; grid-template-columns: 300px 1fr; gap: 80px; align-items: start; }
.letter__toc { position: sticky; top: 120px; display: flex; flex-direction: column; }
.letter__toc .label { color: var(--on-light-muted); padding-bottom: 16px; border-bottom: 1px solid var(--line-dark); margin-bottom: 0; }
.letter__year { font-family: var(--serif); font-size: clamp(88px, 8.5vw, 120px); line-height: 0.9; margin-bottom: 32px; }
.letter__toc ol { list-style: none; margin: 0 0 32px; padding: 0; }
.letter__toc li a { display: block; padding: 16px 0; border-bottom: 1px solid var(--line-dark); font-size: 14px; }
.letter__toc li a.is-active { color: var(--brass); }
.letter__toc .btn { align-self: flex-start; margin-bottom: 24px; }
.letter__body { max-width: 700px; }
.letter__title { margin-bottom: 40px; color: var(--cream); }
.letter__body .prose, .letter__body { font-family: var(--serif); font-size: 22px; line-height: 1.55; color: #E8D9C8; }
.letter__body h2 { font-family: var(--sans); font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--brass); margin: 3em 0 1em; }
.letter__body h2:first-of-type { margin-top: 0; }
.letter__body .eyebrow { font-family: var(--sans); }
.pullquote { margin: 48px 0; padding: 40px 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); font-style: italic; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.25; color: var(--cream); }
.stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 48px 0 0; }
.stats div { padding-top: 20px; border-top: 1px solid var(--brass); }
.stats dt { font-size: 48px; line-height: 1; color: var(--cream); }
.stats dd { margin: 10px 0 0; font-family: var(--sans); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--on-dark-muted); }

/* Archive -------------------------------------------------------------- */
.archive__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-light); }
.archive__list a { display: grid; grid-template-columns: 200px 1fr 260px 120px; gap: 40px; align-items: center; padding: 36px 0; border-bottom: 1px solid var(--line-light); color: var(--burgundy); }
.archive__year { font-family: var(--serif); font-size: 48px; line-height: 1; }
.archive__title { font-family: var(--serif); font-size: 30px; line-height: 1.1; }
.archive__companies { font-size: 13px; color: var(--on-light-muted); }
.archive__read { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--brass-dark); text-align: right; }

/* Company single ------------------------------------------------------- */
.company__grid { display: grid; grid-template-columns: 1fr 320px; gap: 80px; align-items: start; }
.company__aside { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 24px; font-size: 15px; color: var(--on-light); }
.company__aside p { margin: 0; }

/* Responsive ----------------------------------------------------------- */
@media (max-width: 1080px) {
  .convictions__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journal-preview__grid { grid-template-columns: 1fr 1fr; }
  .jcard--wide { grid-column: 1 / -1; }
  .film-row__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .letter__grid { grid-template-columns: 1fr; }
  .letter__toc { position: static; }
  .archive__list a { grid-template-columns: 120px 1fr 100px; }
  .articles__list a { grid-template-columns: 140px 1fr 80px; }
  .articles__excerpt { display: none; }
  .archive__companies { display: none; }
}
@media (max-width: 860px) {
  .nav-toggle { display: flex; }
  .site-nav { position: fixed; inset: 88px 0 0; background: var(--burgundy); flex-direction: column; align-items: flex-start; padding: 40px var(--gutter); gap: 32px; transform: translateX(100%); transition: transform .3s; }
  .theme-light .site-nav { background: var(--parchment); }
  .site-nav.is-open { transform: none; }
  .nav-list { flex-direction: column; gap: 24px; }
  .nav-list a { font-size: 16px; }
  .section__head { flex-direction: column; align-items: flex-start; gap: 20px; }
  .pf-row__head, .pf-row__grid { grid-template-columns: 48px 1fr; row-gap: 8px; }
  .pf-row__meta { grid-column: 2; }
  .pf-row__date { grid-column: 2; text-align: left; }
  .pf-row__text, .pf-row__image, .pf-row__facts { grid-column: 2; }
  .contact, .film-intro__grid, .crosslinks__grid, .episode__grid, .founder__grid, .company__grid { grid-template-columns: 1fr; gap: 48px; }
  .founder__portrait, .company__aside { position: static; }
  .film-row__grid { grid-template-columns: 1fr; }
  .film-row__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journal-preview__grid { grid-template-columns: 1fr; }
  .jcard__media { height: 360px; }
  .hero__scroll, .hero__count { display: none; }
  .hero__eyebrow { top: 24px; }
  .site-footer__inner { flex-direction: column; align-items: flex-start; }
  .stats { grid-template-columns: 1fr; }
  .archive__list a { grid-template-columns: 80px 1fr; }
  .articles__list a { grid-template-columns: 1fr; gap: 8px; }
  .articles__read { display: none; }
  .archive__read { display: none; }
}
@media (max-width: 560px) {
  .convictions__list, .film-row__grid--4, .field-row { grid-template-columns: 1fr; }
  .site-header__inner { height: 72px; }
  .site-nav { inset: 72px 0 0; }
}

/* ==========================================================================
   Round two: full-bleed hero, founder intro, two clocks, reading tools, motion
   ========================================================================== */
/* 1. Full-viewport painting; the wash rises as you scroll into the site. */
.hero--full { height: 100vh; min-height: 560px; padding: 0; display: block; }
.hero__sticky { position: relative; height: 100%; overflow: hidden; }
.hero--full .hero__scroll { bottom: 48px; }
.hero__wash--scroll { display: none; }
.hero--trailer .hero__copy--film, .hero--trailer .hero__count { position: absolute; }
.hero--trailer .hero__copy--film { left: var(--gutter); right: var(--gutter); bottom: 120px; }
.hero--trailer .hero__count { bottom: 140px; }
@keyframes drift { from { transform: scale(1); } to { transform: scale(1.06); } }
.hero__bg--drift, .section__bg { animation: drift 40s ease-in-out infinite alternate; transform-origin: 50% 40%; }
.hero--trailer .hero__wash--film { background: linear-gradient(180deg, rgba(78,21,33,0.05) 0%, rgba(78,21,33,0.4) 60%, rgba(78,21,33,0.96) 100%); }

/* 2. Founder intro */
.founder-intro__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: center; }
.video-poster { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: var(--burgundy-ink); border: 0; padding: 0; cursor: pointer; color: var(--cream); }
.video-poster img { width: 100%; height: 100%; object-fit: cover; }
.video-poster iframe, .video-poster video { position: absolute; inset: 0; width: 100%; height: 100%; }
.play-ring--lg { width: 96px; height: 96px; transition: transform .3s ease, background .3s ease; }
.video-poster:hover .play-ring--lg { transform: translate(-50%, -50%) scale(1.06); background: rgba(243,233,214,0.12); }
.placeholder-note { position: absolute; left: 20px; bottom: 20px; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; background: rgba(78,21,33,0.85); padding: 8px 12px; }
.founder-intro__text .display { margin-bottom: 24px; }
.founder-intro__links { display: flex; gap: 32px; flex-wrap: wrap; margin-top: 32px; }

/* 4. Two clocks */
.clocks .display { color: var(--burgundy); }
.clocks__control { max-width: 720px; margin: 0 auto clamp(40px, 5vw, 64px); display: flex; flex-direction: column; gap: 16px; }
.clocks__control label { display: flex; align-items: baseline; gap: 12px; font-family: var(--serif); font-size: 28px; color: var(--burgundy); }
.clocks__control output { font-size: 64px; line-height: 1; }
.clocks__range { -webkit-appearance: none; appearance: none; width: 100%; height: 2px; background: var(--line-light); outline: none; }
.clocks__range::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; border-radius: 50%; background: var(--burgundy); border: 3px solid var(--parchment); box-shadow: 0 0 0 1px var(--burgundy); cursor: grab; }
.clocks__range::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--burgundy); border: 3px solid var(--parchment); box-shadow: 0 0 0 1px var(--burgundy); cursor: grab; }
.clocks__range:focus-visible::-webkit-slider-thumb { outline: 2px solid var(--brass-dark); outline-offset: 3px; }
.clocks__ticks { display: flex; justify-content: space-between; font-size: 11px; letter-spacing: 0.16em; color: var(--on-light-muted); }
.clocks__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.clock { padding: 40px; min-height: 280px; display: flex; flex-direction: column; gap: 20px; border: 1px solid var(--line-light); }
.clock--inspirit { background: var(--burgundy); color: var(--cream); border-color: var(--burgundy); }
.clock__label { font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--on-light-muted); }
.clock--inspirit .clock__label { color: var(--brass); }
.clock__text { margin: 0; font-family: var(--serif); font-size: clamp(24px, 2.2vw, 30px); line-height: 1.25; flex-grow: 1; transition: opacity .25s; }
.clock__text.is-changing { opacity: 0; }
.clock__owner { font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--on-light-muted); }
.clock--inspirit .clock__owner { color: var(--on-dark-muted); }
.clock--fund.is-sold { border-color: var(--brass-dark); }

/* 7. Reading tools */
.reading-progress { position: sticky; top: 88px; z-index: 5; height: 2px; background: var(--line-dark); margin-bottom: 32px; }
.reading-progress span { display: block; height: 100%; width: 0; background: var(--brass); transition: width .1s linear; }
.share-quote { position: absolute; z-index: 60; transform: translate(-50%, -110%); background: var(--cream); color: var(--burgundy-deep); font-family: var(--sans); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; padding: 10px 14px; border: 0; cursor: pointer; box-shadow: 0 8px 24px rgba(0,0,0,0.25); }
.share-quote::after { content: ""; position: absolute; left: 50%; bottom: -6px; width: 12px; height: 12px; background: var(--cream); transform: translateX(-50%) rotate(45deg); }
.letter__body ::selection { background: var(--brass); color: var(--burgundy-deep); }

/* 8. Physical hover */
.pf-row { transition: background .25s ease; }
.pf-row:hover { background: rgba(115,32,48,0.04); }
.pf-row__head { transition: transform .3s ease; }
.pf-row:hover .pf-row__head { transform: translateX(6px); }
.grey-to-color { filter: grayscale(1) contrast(1.05); transition: filter .6s ease, transform .8s ease; }
a:hover .grey-to-color, button:hover .grey-to-color, .jcard:hover .grey-to-color, .ep-card:hover .grey-to-color { filter: grayscale(0); }
.jcard__media img, .ep-card__media img { filter: grayscale(0.85); transition: filter .6s ease, transform .8s ease; }
.jcard:hover .jcard__media img, .ep-card:hover .ep-card__media img { filter: grayscale(0); transform: scale(1.03); }
.articles__list a, .archive__list a, .link-rows a { transition: transform .3s ease, color .2s; }
.articles__list a:hover, .archive__list a:hover, .link-rows a:hover { transform: translateX(6px); }
.btn { transition: background .2s, color .2s, border-color .2s, transform .2s; }
.btn:hover { transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
  .hero__bg--drift, .section__bg { animation: none; }
  .jcard__media img, .ep-card__media img, .grey-to-color { filter: none; }
}
@media (max-width: 860px) {
  .founder-intro__grid, .clocks__grid { grid-template-columns: 1fr; gap: 32px; }
  .hero--trailer .hero__copy--film { bottom: 100px; }
  .hero--trailer .hero__count { display: none; }
  .reading-progress { top: 72px; }
}

/* Principles ----------------------------------------------------------- */
.principles__layout { display: grid; grid-template-columns: minmax(280px, 420px) 1fr; gap: clamp(48px, 8vw, 120px); align-items: start; }
.principles__intro { position: sticky; top: 120px; }
.principles__intro .display { color: var(--burgundy-deep); margin-bottom: 28px; }
.principles__intro .display em { font-style: italic; color: var(--burgundy); }
.principles__lead { margin: 0; font-size: 16px; line-height: 1.7; color: var(--on-light); max-width: 360px; }
.principles__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--burgundy); }
.principles__list li { display: grid; grid-template-columns: 56px 1fr; gap: 24px; padding: 40px 0; border-bottom: 1px solid var(--line-light); align-items: start; transition: transform .3s ease; }
.principles__list li:hover { transform: translateX(8px); }
.principles__list svg { width: 26px; height: 26px; margin-top: 10px; fill: none; stroke: var(--burgundy); stroke-width: 1.3; transition: fill .3s ease; }
.principles__list li:hover svg { fill: var(--burgundy); }
.principles__list h3 { margin: 0 0 14px; font-family: var(--serif); font-weight: 400; font-size: clamp(30px, 2.8vw, 40px); line-height: 1.1; color: var(--burgundy-deep); }
.principles__list p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--on-light); max-width: 560px; }
@media (max-width: 860px) {
  .principles__layout { grid-template-columns: 1fr; gap: 40px; }
  .principles__intro { position: static; }
  .principles__list li { grid-template-columns: 40px 1fr; gap: 16px; padding: 28px 0; }
}
.portfolio__more { margin: 48px 0 0; }
.btn--outline-dark { border-color: var(--burgundy); color: var(--burgundy); }
.btn--outline-dark:hover { background: var(--burgundy); color: var(--cream); }
.pf-row--static .pf-row__head { cursor: default; }
.pf-row--static:hover .pf-row__head { transform: none; }
.pf-row--static:hover { background: transparent; }
@media (max-width: 1080px) { .principles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .principles__grid li:nth-child(3) { border-left: 0; } .principles__grid li:nth-child(n+3) { border-top: 1px solid var(--line-light); } }
@media (max-width: 560px) { .principles__grid { grid-template-columns: 1fr; } .principles__grid li { border-left: 0; border-top: 1px solid var(--line-light); } .principles__grid li:first-child { border-top: 0; } }

/* Divider between the statement and the principles */
.principles { border-top: 1px solid var(--burgundy); }
.principles::before { content: ""; position: absolute; left: 50%; top: -1px; transform: translateX(-50%); width: 120px; height: 3px; background: var(--burgundy); }

/* preview-only */
.soon{min-height:calc(100vh - 108px);display:flex;align-items:center;}
.soon__wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;width:100%;}
.soon .star{fill:var(--burgundy);}
.soon__label{margin:0;font-family:var(--serif);font-weight:500;font-size:14px;letter-spacing:0.22em;text-transform:uppercase;color:var(--brass-dark);}
.soon__title{margin:0;font-family:'Cinzel',serif;font-weight:400;font-size:clamp(30px,4.5vw,56px);letter-spacing:0.1em;text-transform:uppercase;color:var(--burgundy);}
.soon__text{margin:0;font-family:var(--serif);font-size:20px;color:var(--on-light);}
.site-header__inner{height:108px;}
.logo,.logo__img{height:80px;}
.reading-progress{top:108px !important;}
@media (max-width:860px){.site-header__inner{height:80px;}.logo,.logo__img{height:52px;}.site-nav{inset:80px 0 0;}}
.letter__sub-note{margin-left:18px;padding-left:18px;border-left:1px solid var(--line-dark);font-family:var(--serif);font-weight:400;font-style:italic;font-size:26px;letter-spacing:0;text-transform:none;color:var(--cream);}
.letter__pull{margin:0.6em 0 1.6em;padding:28px 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;}
.letter__pull span{font-family:'Cinzel',serif;font-size:clamp(20px,2.2vw,30px);letter-spacing:0.12em;text-transform:uppercase;color:var(--cream);}
.letter__pull .star{fill:var(--brass);}
.letter__eyebrow{margin:0 0 16px;font-family:var(--serif);font-weight:500;font-size:14px;letter-spacing:0.22em;text-transform:uppercase;color:var(--brass);}
.letter__salute{font-style:italic;}
.letter__sub{margin:2.2em 0 .8em;font-family:'Cinzel',serif;font-weight:400;font-size:16px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brass);}
.co-list{border-top:1px solid var(--burgundy);}
.co{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:center;max-width:none;padding:44px 0;border-bottom:1px solid var(--line-light);transition:background .25s;}
.co:hover{background:rgba(115,32,48,0.035);}
.co__tile{width:260px;height:160px;background:#FBF7EE;border:1px solid rgba(115,32,48,0.14);box-shadow:0 1px 0 rgba(115,32,48,0.06);display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;transition:transform .3s ease,box-shadow .3s ease;}
.co:hover .co__tile{transform:translateY(-2px);box-shadow:0 10px 24px rgba(78,21,33,0.12);}
.co__tile img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;}
.co__tile--navy1{background:#14264B;border-color:#14264B;padding:0;}
.co__tile--navy1 img{max-height:100%;max-width:100%;}
.co__tile--navy2{background:#161E2F;border-color:#161E2F;padding:16px;}
.co__body{display:flex;flex-direction:column;gap:6px;max-width:720px;}
.co__top{display:flex;justify-content:space-between;align-items:baseline;gap:32px;}
.co__name{font-size:clamp(28px,2.6vw,38px);}
.co__date{font-family:var(--serif);font-weight:500;font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--brass-dark);}
.co__where{font-weight:500;font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--on-light-muted);}
.co__body .co__why{margin-top:10px;font-size:21px;line-height:1.5;color:var(--on-light);}
.co__links{margin-top:14px;}
@media (max-width:860px){.co{grid-template-columns:1fr;gap:20px;align-items:start;}.co__tile{width:200px;height:124px;}.co__top{flex-direction:column;gap:6px;}}
.person__portrait--photo{background:var(--burgundy-deep);overflow:hidden;}
.person__portrait--photo img{width:100%;height:100%;object-fit:cover;display:block;}
.people__grid.people__grid--team{grid-template-columns:1fr !important;gap:0;padding:40px 0 64px;margin-bottom:0;}
.people__grid--team .person{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:56px;align-items:center;padding:56px 0;border-bottom:1px solid var(--line-light);}
.people__grid--team .person:last-child{border-bottom:0;}
.people__grid--team .person__portrait{width:100%;}
.people__grid--team .person__name{font-size:clamp(36px,3.6vw,52px);margin:0;}
.people__grid--team .person__title{font-size:16px;margin-top:12px;}
.people__grid--team .person__portrait{font-size:44px;}
.people__grid--team .person__name{font-size:36px;margin-top:18px;}
.people__grid--team .person__title{font-size:15px;}
.people__more summary{padding:32px 0;}
@media (max-width:860px){.people__grid--team .person{grid-template-columns:1fr;gap:20px;padding:40px 0;}}
@media (max-width:560px){.people__grid--team{grid-template-columns:1fr;}}
.people__group{margin:0 0 20px;font-family:var(--serif);font-weight:500;font-size:14px;letter-spacing:0.22em;text-transform:uppercase;color:var(--brass-dark);padding-bottom:14px;border-bottom:1px solid var(--burgundy);}
.people__group--summary{margin:0;padding:0;border:0;}
.hero__headline em{font-style:normal;font-weight:700;color:var(--burgundy);text-shadow:0 0 1px rgba(243,233,214,0.45),0 2px 22px rgba(78,21,33,0.55);}
.hero__headline{display:block;font-family:'Cinzel',serif;font-weight:400;font-size:clamp(30px,4.2vw,64px);letter-spacing:0.08em;text-transform:uppercase;line-height:1.15;color:var(--cream);}
.hero__para{display:block;max-width:640px;font-family:var(--serif);font-weight:400;font-size:clamp(18px,1.5vw,23px);line-height:1.55;letter-spacing:0;text-transform:none;color:rgba(243,233,214,0.9);}
.news__list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(243,233,214,0.28);}
.news__list a{display:grid;grid-template-columns:180px 1fr 140px;gap:32px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line-dark);color:var(--cream);}
.news__list a:hover .news__title{color:var(--brass);}
.news__date{font-family:var(--serif);font-weight:500;font-size:14px;letter-spacing:0.18em;text-transform:uppercase;color:var(--brass);}
.news__title{font-family:var(--serif);font-size:clamp(20px,1.8vw,26px);line-height:1.3;transition:color .2s;}
.news__kind{font-family:var(--serif);font-weight:500;font-size:13px;letter-spacing:0.18em;text-transform:uppercase;color:var(--on-dark-muted);text-align:right;}
@media (max-width:860px){.news__list a{grid-template-columns:1fr;gap:6px;}.news__kind{text-align:left;}}
.hero--reel .hero__video{z-index:1;}
.hero--reel .hero__tint,.hero--reel .hero__wash--quote,.hero--reel .hero__quote,.hero--reel .hero__scroll{z-index:2;}
.hero__kicker{display:block;margin-top:6px;font-family:var(--serif);font-weight:500;font-size:clamp(14px,1.1vw,17px);letter-spacing:0.32em;text-transform:uppercase;color:var(--brass);}
.partner{background:var(--parchment);color:var(--burgundy-deep);padding:clamp(72px,9vw,120px) 0;border-top:1px solid var(--burgundy);}
.partner__title{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;margin-bottom:clamp(40px,6vw,72px);}
.partner__title .star{fill:var(--burgundy);}
.partner__title h2{margin:0;font-family:'Cinzel',serif;font-weight:400;font-size:clamp(20px,2vw,30px);letter-spacing:0.12em;text-transform:uppercase;color:var(--burgundy);}
.partner__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.partner__grid li{padding:8px clamp(20px,3vw,40px) 16px;border-left:1px solid var(--line-light);display:flex;flex-direction:column;gap:14px;}
.partner__grid li:first-child{border-left:0;padding-left:0;}
.partner__grid h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.1;color:var(--burgundy);}
.partner__grid p{margin:0;font-family:var(--serif);font-size:19px;line-height:1.5;color:var(--on-light);}
@media (max-width:1080px){.partner__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 0;}.partner__grid li:nth-child(3){border-left:0;padding-left:0;}}
@media (max-width:560px){.partner__grid{grid-template-columns:1fr;}.partner__grid li{border-left:0;padding-left:0;border-top:1px solid var(--line-light);padding-top:24px;}.partner__grid li:first-child{border-top:0;}}
.fslides{position:absolute;inset:0;overflow:hidden;}
.fslide{position:absolute;inset:0;transform:translateX(100%);transition:transform .7s cubic-bezier(.77,0,.18,1);}
.fslide.is-active{transform:none;}
.fslide.is-leaving{transform:translateX(-100%);}
.fslide .hero__copy--film{position:absolute;left:var(--gutter);right:var(--gutter);bottom:200px;}
.fslides__controls{position:absolute;left:var(--gutter);bottom:110px;display:flex;align-items:center;gap:16px;z-index:2;}
.fslides__count{margin-left:8px;font-family:var(--serif);font-size:16px;letter-spacing:0.12em;color:var(--on-dark-muted);}
.fslides__count b{font-weight:500;color:var(--cream);}
.hero--slides .hero__scroll{z-index:2;}
@media (prefers-reduced-motion:reduce){.fslide{transition:none;}}
@media (max-width:860px){.fslide .hero__copy--film{bottom:190px;}.fslides__controls{bottom:100px;flex-wrap:wrap;}}
/* House mark */
.star{width:14px;height:19px;fill:var(--brass);display:inline-block;}
.notefold .star,.people .star,.cos .star{fill:var(--burgundy);}
.hero__quote .star{fill:var(--brass);}
.star--sig{width:11px;height:15px;margin-left:10px;vertical-align:baseline;fill:var(--burgundy);}
.letter .star--sig{fill:var(--brass);}
.star--tiny{width:9px;height:12px;margin:0 8px;vertical-align:-1px;}
.letter__body h2::before{content:"";display:inline-block;width:9px;height:12px;margin-right:12px;vertical-align:-1px;background:var(--brass);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32'><path d='M12 0c.6 9 2.4 13.4 12 16-9.6 2.6-11.4 7-12 16-.6-9-2.4-13.4-12-16C9.6 13.4 11.4 9 12 0z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32'><path d='M12 0c.6 9 2.4 13.4 12 16-9.6 2.6-11.4 7-12 16-.6-9-2.4-13.4-12-16C9.6 13.4 11.4 9 12 0z'/></svg>") center/contain no-repeat;}
.letter__body h2:first-of-type::before{display:none;}
/* Two faces: Cinzel for inscriptions, Cormorant for everything else; the sans lives in form fields only */
body,.lead,.section__aside,.co__where,.co__date,.co__why,.hero__sub,.hero__meta,.ep-card__text,.jcard__meta,.archive__companies,.contact__address,.person__title,.people__title,.notefold__label,.eyebrow,.label,.nav-list a,.text-link,.btn,.facts__label,.film-row__tag,.cpanel__text,.stats dd,.site-footer__inner,.form-note--error,.jcard__label,.archive__read,.letter__toc li a,.co-list p,.prose p{font-family:var(--serif);}
body{font-size:19px;}
.lead{font-size:22px;}
.section__aside,.ep-card__text,.jcard__meta,.co__why,.people__title{font-size:19px;}
.eyebrow,.label,.nav-list a,.text-link,.btn,.facts__label,.film-row__tag,.co__where,.person__title,.people__title,.notefold__label,.jcard__label,.archive__read,.site-footer__inner,.hero__meta,.co__date{font-weight:500;letter-spacing:0.18em;}
.nav-list a{font-size:15px;}
.text-link,.btn{font-size:15px;}
.eyebrow,.label,.facts__label,.notefold__label,.jcard__label,.co__where,.person__title,.people__title{font-size:14px;}
.site-footer__inner{font-size:15px;letter-spacing:0.08em;}
.field label{font-family:var(--serif);font-size:14px;letter-spacing:0.18em;font-weight:500;}
.field input,.field textarea{font-family:var(--sans);font-size:16px;}
.journal-preview__grid--one{grid-template-columns:minmax(0,560px);}
.site-footer__inner--plain{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.site-footer__est{color:var(--cream);}
.theme-light .site-footer__est{color:var(--burgundy);}
.facts{background:var(--burgundy);color:var(--cream);padding:clamp(48px,6vw,80px) var(--gutter);border-top:1px solid var(--burgundy-deep);}
.partner{padding-bottom:clamp(72px,9vw,120px);}
.facts__list{list-style:none;margin:0 auto;padding:0;max-width:var(--wrap);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.facts__list li{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:24px 24px;border-left:1px solid rgba(243,233,214,0.18);}
.facts__list li:first-child{border-left:0;}
.facts__big{font-family:'Cinzel',serif;font-weight:400;font-size:clamp(22px,2.2vw,32px);letter-spacing:0.08em;text-transform:uppercase;line-height:1.2;color:var(--cream);}
.facts__label{font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:var(--brass);}
@media (max-width:860px){.facts__list{grid-template-columns:repeat(2,minmax(0,1fr));}.facts__list li:nth-child(3){border-left:0;}.facts__list li:nth-child(n+3){border-top:1px solid rgba(243,233,214,0.18);}}
.cos--minor{padding-top:0;}
.cos--minor .section__head{border-top:1px solid var(--burgundy);padding-top:clamp(56px,7vw,96px);}
.cos--minor .display{color:var(--burgundy-deep);}
.people .display{color:var(--burgundy);}
.people__lead,.people__grid,.people__list{list-style:none;margin:0;padding:0;}
.people__lead{display:grid;grid-template-columns:minmax(260px,400px) 1fr;gap:48px;align-items:end;padding-bottom:56px;margin-bottom:56px;border-bottom:1px solid var(--burgundy);}
.person{display:flex;flex-direction:column;gap:10px;}
.person__portrait{display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;background:var(--burgundy-deep);color:var(--brass);font-family:'Cinzel',serif;font-size:28px;letter-spacing:0.12em;}
.person--lead .person__portrait{font-size:40px;}
.person__name{font-family:var(--serif);font-size:24px;line-height:1.1;color:var(--burgundy-deep);margin-top:8px;}
.person--lead .person__name{font-size:clamp(32px,3vw,44px);}
.person__title{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--on-light-muted);}
.people__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px;margin-bottom:64px;}
.people__more{border-top:1px solid var(--burgundy);border-bottom:1px solid var(--burgundy);}
.people__more summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:24px 0;}
.people__more summary::-webkit-details-marker{display:none;}
.people__more[open] .notefold__chev{transform:rotate(180deg);background:var(--burgundy);color:var(--cream);}
.people__list{padding:8px 0 32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 64px;}
.people__list li{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:16px 0;border-bottom:1px solid var(--line-light);}
.people__name{font-family:var(--serif);font-size:22px;color:var(--burgundy-deep);}
.people__title{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--on-light-muted);text-align:right;}
@media (max-width:1080px){.people__grid:not(.people__grid--team){grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:860px){.people__lead{grid-template-columns:1fr;}.people__grid:not(.people__grid--team){grid-template-columns:repeat(2,minmax(0,1fr));}.people__list{grid-template-columns:1fr;}}
.site-header{position:sticky;top:0;left:0;right:0;background:rgba(115,32,48,0.92);border-bottom-color:var(--line-dark);backdrop-filter:blur(10px);transition:background .35s ease,border-color .35s ease;}
.site-header.is-solid{background:rgba(115,32,48,0.92);border-bottom-color:var(--line-dark);backdrop-filter:blur(10px);}
body.theme-light .site-header.is-solid{background:rgba(239,227,204,0.94);border-bottom-color:var(--line-light);}

.reading-progress{top:88px;}
.journal-preview__grid{grid-template-columns:1fr 1fr;}
@media (max-width:860px){.journal-preview__grid{grid-template-columns:1fr;}}
.notefold{padding:clamp(40px,5vw,64px) 0;}
.notefold__wrap{max-width:860px;}
.notefold__details{border-top:1px solid var(--burgundy);border-bottom:1px solid var(--burgundy);}
.notefold__summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-areas:"label chev" "title chev";align-items:center;gap:6px 24px;padding:28px 0;color:var(--burgundy-deep);}
.notefold__summary::-webkit-details-marker{display:none;}
.notefold__label{grid-area:label;font-size:12px;letter-spacing:0.22em;text-transform:uppercase;color:var(--brass-dark);}
.notefold__title{grid-area:title;font-family:var(--serif);font-size:clamp(28px,2.8vw,40px);line-height:1.1;color:var(--burgundy);}
.notefold__chev{grid-area:chev;width:44px;height:44px;border:1px solid var(--burgundy);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--burgundy);transition:transform .3s ease,background .2s,color .2s;}
.notefold__details[open] .notefold__chev{transform:rotate(180deg);background:var(--burgundy);color:var(--cream);}
.notefold__summary:hover .notefold__chev{background:var(--burgundy);color:var(--cream);}
.notefold__body{padding:8px 0 40px;max-width:680px;}
.notefold__body .founder__sig{margin-top:32px;}
.conduct-one{background:var(--burgundy-deep);color:var(--cream);min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,7vw,96px) var(--gutter);box-sizing:border-box;}
.conduct-one__title{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;margin-bottom:clamp(40px,6vw,80px);}
.conduct-one__title h2{margin:0;font-family:'Cinzel',serif;font-weight:400;font-size:clamp(20px,2vw,30px);letter-spacing:0.12em;text-transform:uppercase;color:var(--cream);}
.conduct-one__grid{list-style:none;margin:0 auto;padding:0;max-width:var(--wrap);width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.cquad{padding:clamp(32px,4vw,56px) clamp(24px,4vw,64px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;border-top:1px solid rgba(243,233,214,0.14);}
.cquad:nth-child(-n+2){border-top:0;}
.cquad:nth-child(even){border-left:1px solid rgba(243,233,214,0.14);}
.cpanel__num{font-family:'Cinzel',serif;font-size:13px;letter-spacing:0.3em;color:var(--brass);}
.cpanel__line{margin:0;font-family:'Cinzel',serif;font-weight:400;font-size:clamp(20px,2vw,30px);letter-spacing:0.08em;text-transform:uppercase;line-height:1.25;color:var(--cream);}
.cpanel__text{margin:0;font-family:var(--serif);font-size:clamp(18px,1.5vw,23px);line-height:1.45;color:var(--on-dark);max-width:440px;}
@media (max-width:860px){.conduct-one{min-height:0;}.conduct-one__grid{grid-template-columns:1fr;}.cquad{border-left:0 !important;border-top:1px solid rgba(243,233,214,0.14) !important;}.cquad:first-child{border-top:0 !important;}}
.hero--reel .hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero--reel .hero__tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(78,21,33,0.12) 0%,rgba(78,21,33,0.28) 100%);mix-blend-mode:multiply;}
.hero--reel .hero__wash--quote{background:radial-gradient(ellipse 60% 58% at 50% 50%,rgba(40,10,18,0.62) 0%,rgba(40,10,18,0.3) 50%,rgba(40,10,18,0) 100%);}

.logo{display:flex;align-items:center;height:56px;}
.logo__img{height:56px;width:auto;}
.logo__img--burgundy{display:none;}
.theme-light .logo__img--cream{display:none;}
.theme-light .logo__img--burgundy{display:block;}
.hero__wash--quote{display:block !important;position:absolute;inset:0;background:radial-gradient(ellipse 62% 60% at 50% 50%,rgba(78,21,33,0.72) 0%,rgba(78,21,33,0.4) 50%,rgba(78,21,33,0) 100%);}
.hero__quote{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(880px,86vw);margin:0;display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;font-family:'Cinzel',serif;font-weight:400;font-style:normal;color:var(--cream);text-shadow:0 2px 20px rgba(78,21,33,0.5);}
.hero__line{display:block;font-size:clamp(17px,1.55vw,24px);line-height:1.55;letter-spacing:0.08em;text-transform:uppercase;color:rgba(243,233,214,0.82);}
.hero__line--strong{font-size:clamp(22px,2.4vw,36px);line-height:1.35;letter-spacing:0.05em;color:var(--cream);}
.hero__rule{display:block;width:48px;height:1px;background:var(--brass);}
.hero--full .hero__scroll{bottom:32px;}
@media (max-width:860px){.logo__img{height:44px;}}
 .reading-progress{top:88px;}
/* Version B: quieter */
.nav-list--plain li:last-child a{color:inherit;}
.hero--full .hero__wash{display:none;}
.statement{padding-bottom:clamp(72px,9vw,120px);}
.excerpt{padding-top:0;}
.excerpt__wrap{max-width:720px;margin:0 auto;}
.excerpt__body{font-family:var(--serif);font-size:clamp(21px,1.7vw,25px);line-height:1.55;color:var(--on-light);}
.excerpt__body p{margin:0 0 1.2em;}
.excerpt__sig{display:flex;align-items:baseline;gap:32px;margin:16px 0 0;font-family:var(--serif);font-style:italic;font-size:36px;color:var(--burgundy);}
.conduct__layout{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:clamp(48px,8vw,120px);align-items:start;}
.conduct__layout .display{position:sticky;top:120px;}
.conduct__list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(243,233,214,0.28);}
.conduct__list li{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:32px 0;border-bottom:1px solid var(--line-dark);align-items:start;}
.conduct__list svg{width:22px;height:22px;margin-top:8px;fill:none;stroke:var(--brass);stroke-width:1.3;}
.conduct__list h3{margin:0 0 8px;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.1;}
.conduct__list p{margin:0;font-size:16px;line-height:1.6;color:var(--on-dark);max-width:520px;}
.cos .display{color:var(--burgundy);}
.co-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--burgundy);}
.co{padding:36px 0;border-bottom:1px solid var(--line-light);display:grid;grid-template-columns:1fr;gap:8px;max-width:820px;}
.co__head{display:flex;justify-content:space-between;align-items:baseline;gap:32px;}
.co__name{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,38px);line-height:1.1;color:var(--burgundy);}
.co__date{font-size:13px;color:var(--on-light-muted);white-space:nowrap;}
.co__where{margin:0;font-size:13px;letter-spacing:0.08em;color:var(--on-light-muted);}
.co__why{margin:8px 0 0;font-family:var(--serif);font-size:20px;line-height:1.5;color:var(--on-light);}
.co__links{display:flex;gap:28px;margin-top:12px;}
.ledger .display{margin:0;}
.ledger__list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(243,233,214,0.22);max-width:900px;}
.ledger__list li{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:20px 0;border-bottom:1px solid var(--line-dark);align-items:baseline;}
.ledger__date{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--brass);}
.ledger__line{font-family:var(--serif);font-size:22px;line-height:1.35;}
.contact__form--letter{max-width:480px;}
.site-footer__inner--motto{justify-content:space-between;}
.site-footer__motto{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--cream);letter-spacing:0;}
.theme-light .site-footer__motto{color:var(--burgundy);}
.jcard__media img,.ep-card__media img{filter:none;}
.jcard:hover .jcard__media img,.ep-card:hover .ep-card__media img{transform:none;}
.articles__list a:hover,.archive__list a:hover,.link-rows a:hover{transform:none;}
.btn:hover{transform:none;}
@media (max-width:860px){.conduct__layout{grid-template-columns:1fr;gap:32px;}.conduct__layout .display{position:static;}.ledger__list li{grid-template-columns:1fr;gap:6px;}.co__head{flex-direction:column;gap:6px;}}

/* ===================== Mobile pass — last in cascade, wins ===================== */
@supports (height:100svh){.hero--full{height:100svh;min-height:520px;}}
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);}
html,body{overflow-x:hidden;-webkit-tap-highlight-color:transparent;}
img,svg,video{max-width:100%;}
@media (max-width:860px){
  /* header + nav */
  .site-header__inner{height:76px;padding:0 20px;}
  .logo,.logo__img{height:50px;}
  .nav-toggle{display:flex;margin-right:-8px;}
  .site-nav{position:fixed;top:76px;left:0;right:0;bottom:0;height:auto;background:var(--burgundy);padding:32px 24px;flex-direction:column;align-items:flex-start;gap:0;transform:translateX(100%);transition:transform .3s ease;z-index:60;overflow-y:auto;}
  .site-nav.is-open{transform:none;}
  .nav-list{flex-direction:column;gap:0;width:100%;}
  .nav-list li{border-bottom:1px solid var(--line-dark);}
  .nav-list a{display:block;padding:18px 0;font-size:22px;letter-spacing:0.12em;}
  .theme-light .site-nav{background:var(--burgundy);color:var(--cream);}
  .reading-progress{top:76px !important;}
  /* hero */
  .hero{min-height:520px;}
  .hero__quote{width:88vw;gap:16px;}
  .hero__headline{font-size:clamp(26px,7.4vw,34px);letter-spacing:0.06em;line-height:1.2;}
  .hero__para{font-size:17px;line-height:1.5;}
  .hero__kicker{font-size:12px;letter-spacing:0.26em;}
  .hero__scroll{display:none;}
  /* sections */
  .section,.partner,.conduct-one{padding-left:0;padding-right:0;}
  .wrap{padding:0 20px;}
  .conduct-one{padding:56px 20px;}
  .display{font-size:clamp(30px,8vw,38px);}
  .display--lg,.display--xl{font-size:clamp(32px,9vw,42px);}
  .section__head{margin-bottom:32px;}
  .notefold{padding:32px 0;}
  .notefold__title{font-size:26px;}
  .notefold__chev{width:38px;height:38px;}
  .cquad{padding:28px 8px;}
  .cpanel__line{font-size:19px;}
  .cpanel__text{font-size:17px;}
  .partner__grid li{padding:22px 0 !important;border-left:0 !important;border-top:1px solid var(--line-light);}
  .partner__grid li:first-child{border-top:0;}
  .partner__grid h3{font-size:26px;}
  .partner__grid p{font-size:17px;}
  .facts{padding:32px 20px;}
  .facts__list li{padding:18px 10px;}
  .facts__big{font-size:18px;}
  .facts__label{font-size:11px;}
  /* companies */
  .co{padding:32px 0;gap:18px;}
  .co__tile{width:100%;max-width:280px;height:150px;}
  .co__name{font-size:28px;}
  .co__body .co__why{font-size:18px;}
  .co__links{flex-wrap:wrap;gap:16px;}
  /* letter card + news */
  .jcard__media{height:300px;}
  .jcard__media--year strong{font-size:110px;}
  .news__list a{padding:20px 0;}
  .news__title{font-size:19px;}
  /* contact */
  .contact{gap:36px;}
  .contact__form--letter{max-width:none;}
  .btn{width:100%;justify-content:center;}
  /* film */
  .hero--trailer{min-height:100svh;}
  .fslide .hero__copy--film{bottom:150px;left:20px;right:20px;}
  .hero__title--lg{font-size:clamp(28px,8vw,36px);}
  .hero__sub{font-size:16px;}
  .fslides__controls{left:20px;right:20px;bottom:48px;flex-direction:column;align-items:stretch;gap:10px;}
  .fslides__controls .btn{width:100%;}
  .fslides__count{text-align:center;margin:0;}
  .film-row__grid,.film-row__grid--4{grid-template-columns:1fr;gap:28px;}
  .ep-card__media{height:200px;}
  .ep-card--tall .ep-card__media{height:260px;}
  /* journal */
  .letter__grid{gap:32px;}
  .letter__year{font-size:72px;margin-bottom:16px;}
  .letter__toc .btn{width:auto;}
  .letter__body,.letter__body .prose{font-size:19px;line-height:1.55;}
  .letter__title{font-size:30px;}
  .letter__sub{font-size:14px;}
  .letter__sub-note{display:block;margin:10px 0 0;padding:0;border:0;font-size:22px;}
  .founder__sig{font-size:32px;}
  .archive__list a{grid-template-columns:70px 1fr;gap:12px;}
  .archive__year{font-size:34px;}
  .archive__title{font-size:22px;}
  /* people */
  .people__grid:not(.people__grid--team){grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;}
  .person__name{font-size:20px;}
  .person__title{font-size:11px;letter-spacing:0.12em;}
  .people__grid--team .person{grid-template-columns:1fr;gap:16px;padding:32px 0;}
  .people__grid--team .person__portrait{max-width:320px;}
  .people__grid--team .person__name{font-size:30px;}
  .people__more summary{padding:22px 0;}
  /* footer */
  .site-footer__inner{padding:28px 20px;flex-direction:column;align-items:flex-start;gap:12px;font-size:14px;}
}
@media (max-width:400px){
  .hero__headline{font-size:24px;}
  .facts__list{grid-template-columns:1fr;}
  .facts__list li{border-left:0;border-top:1px solid rgba(243,233,214,0.18);}
  .facts__list li:first-child{border-top:0;}
  .people__grid:not(.people__grid--team){grid-template-columns:1fr;}
}

/* Theme-only additions (WordPress pages that the preview did not have) */
.article__wrap{max-width:760px;}
.article__wrap .display{color:var(--burgundy);margin-bottom:24px;}
.article__wrap .star{fill:var(--burgundy);display:block;margin:0 0 32px;}
.news__list--light{border-top-color:var(--burgundy);}
.news__list--light a{border-bottom-color:var(--line-light);color:var(--burgundy-deep);}
.news__list--light .news__date{color:var(--brass-dark);}
.news__list--light .news__kind{color:var(--on-light-muted);}
.custom-logo{height:80px;width:auto;}
.nav-list li:last-child a{color:inherit;}
.hp{position:absolute;left:-9999px;}
.pagination{margin-top:40px;font-family:var(--serif);}
.wp-block-image img{height:auto;}

.founder__handsig{display:block;width:220px;height:auto;margin:36px 0 -20px -8px;}
@media (max-width:860px){.founder__handsig{width:180px;}}

/* Mobile menu: the header's backdrop-filter would trap the fixed panel inside the bar, so drop it on phones and size the panel explicitly */
@media (max-width:860px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--burgundy);}
  body.theme-light .site-header{background:var(--parchment);}
  .site-nav{position:fixed !important;top:76px !important;left:0 !important;right:0 !important;bottom:auto !important;height:calc(100vh - 76px);height:calc(100svh - 76px);width:100%;box-sizing:border-box;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .site-nav.is-open{transform:none !important;}
  .nav-toggle{position:relative;z-index:1001;}
  .nav-toggle span{background:var(--cream);}
  body.theme-light .nav-toggle span{background:var(--burgundy);}
}
