/* Neysa Sanghavi — an editorial identity for medicine, education, and public service. */
:root {
  --paper: #FCFBF8;
  --paper-light: #FFFFFF;
  --paper-strong: #F0F2F5;
  --ink: #182A46;
  --ink-soft: #526073;
  --line: #D8DDE4;
  --accent: #9A572F;
  --accent-text: #8A4824;
  --gold: #B28A4B;
  --white: #FFFFFF;
  --ivory: #FCFBF8;
  --espresso: #182A46;
  --deep-sage: #243C59;
  --saffron: #D9B67F;
  --plum: #182A46;
  --plum-deep: #182A46;
  --forest: #182A46;
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --max: 1200px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 1rem/1.65 var(--sans); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
figure, dl { margin: 0; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-underline-offset: .22em; text-decoration-thickness: 1px; }
a:hover { text-decoration-color: var(--accent); }
button { cursor: pointer; }
button:disabled { cursor: default; }
[hidden] { display: none !important; }
h1, h2, h3, p { margin: 0 0 1rem; }
h1, h2, h3 { color: var(--ink); font-family: var(--serif); font-weight: 500; letter-spacing: -.025em; line-height: 1.15; overflow-wrap: break-word; }
h1 { font-size: clamp(2.6rem,4.6vw,3.8rem); }
h2 { font-size: clamp(1.9rem,3vw,2.7rem); }
h3 { font-size: 1.45rem; }
::selection { background: #E9D7BB; color: #182A46; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.visually-hidden, .form-honeypot { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.form-honeypot { opacity: 0; pointer-events: none; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 100; padding: .7rem 1rem; background: var(--ink); color: var(--paper); }
.skip-link:focus { top: 1rem; }
.page-shell, .section-shell { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: 2rem; }
.section { padding-block: 4rem; }
.eyebrow { margin-bottom: 1.15rem; color: var(--accent-text); font-size: .8125rem; line-height: 1.45; font-weight: 650; letter-spacing: .09em; text-transform: uppercase; }
.lede { max-width: 60ch; color: var(--ink-soft); font-size: 1.125rem; line-height: 1.7; }
.button-row, .hero-links { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.5rem; }
.button, .nav-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .65rem 1.1rem; border: 1px solid var(--ink); border-radius: 3px; background: var(--ink); color: var(--paper); font: 600 .875rem/1.4 var(--sans); text-decoration: none; transition: background .18s ease, color .18s ease; }
.button:hover, .nav-cta:hover { background: #29415E; border-color: #29415E; color: #FFFFFF; }
.button.secondary { background: transparent; color: var(--ink); border-color: var(--line); }
.button.secondary:hover { border-color: var(--ink); }
.text-link { display: inline-flex; align-items: center; gap: .7rem; min-height: 44px; font-size: .9375rem; font-weight: 600; }

/* One consistent, compact navigation. */
.site-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--line); background: var(--paper); }
.nav-wrap { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 2rem; max-width: var(--max); min-height: 78px; margin-inline: auto; padding: .8rem 2rem; }
.brand { flex-shrink: 0; font: 600 1.25rem/1.2 var(--serif); letter-spacing: -.02em; text-decoration: none; }
.nav-links { display: flex; align-items: center; gap: 1.4rem; }
.nav-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink-soft); font-size: .875rem; text-decoration: none; }
.nav-links a:is(:hover,[aria-current="page"]) { color: var(--ink); text-decoration: underline; text-underline-offset: .5em; }
.nav-links .nav-cta { min-height: 42px; padding: .6rem 1rem; color: var(--paper); }
.nav-links .nav-cta:hover, .nav-links .nav-cta[aria-current="page"] { color: var(--paper); text-decoration: none; }
.menu-button { display: none; min-height: 44px; padding: .5rem .75rem; border: 1px solid var(--line); border-radius: 3px; background: transparent; color: var(--ink); font-size: .875rem; }

/* Opening: a recognisable person and an immediately legible professional record. */
.academic-hero { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(240px,.8fr); align-items: center; gap: clamp(2rem,6vw,5rem); padding-block: 3.5rem 3rem; }
.hero-content { min-width: 0; }
.academic-hero h1 { margin-bottom: .85rem; font-size: clamp(2.65rem,4.8vw,4.25rem); line-height: 1.06; letter-spacing: -.04em; }
.profile-role { margin-bottom: 1.5rem; color: var(--accent-text); font-size: 1rem; font-weight: 550; line-height: 1.55; }
.hero-copy { max-width: 57ch; margin-bottom: 1.6rem; color: var(--ink-soft); font-size: 1.0625rem; line-height: 1.8; }
.portrait-frame { width: min(100%,310px); justify-self: end; overflow: hidden; background: var(--paper-strong); }
.portrait-frame img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 25%; }
.profile-record { padding-bottom: 4rem; }
.hero-proof-grid { display: grid; grid-template-columns: 1.15fr 1.05fr 1.2fr; border-block: 1px solid var(--line); }
.hero-proof-grid a { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; min-width: 0; padding: 1.6rem 1.6rem 1.6rem 0; text-decoration: none; }
.hero-proof-grid a + a { padding-left: 1.6rem; border-left: 1px solid var(--line); }
.hero-proof-grid strong { font: 500 1.225rem/1.4 var(--serif); }
.hero-proof-grid span { color: var(--ink-soft); font-size: .875rem; line-height: 1.5; }
.hero-proof-grid .hero-education > span { color: var(--accent-text); font-weight: 650; }
.hero-proof-grid .education-names { font: 400 .9375rem/1.7 var(--sans); }
.hero-proof-grid a:hover strong { color: var(--accent-text); }

/* Field notes: a quiet index and a single readable account. */
.systems-story { padding-block: 3.5rem 4rem; background: var(--paper-strong); border-block: 1px solid var(--line); }
.systems-heading { margin-bottom: 1.8rem; }
.systems-heading h2 { margin: 0; }
.systems-experience { display: grid; grid-template-columns: minmax(290px,.85fr) minmax(0,1.5fr); gap: 0 2rem; align-items: start; }
.systems-stage { min-width: 0; grid-column: 1; grid-row: 1 / 3; }
.glass-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem; margin-top: .85rem; }
.glass-tab { display: flex; align-items: center; width: 100%; min-height: 46px; padding: .65rem 1rem; border: 1px solid transparent; border-left: 3px solid transparent; border-radius: 3px; background: transparent; color: var(--ink-soft); text-align: left; }
.glass-tab strong { font: 500 .9375rem/1.4 var(--sans); }
.glass-tab:hover { color: var(--ink); background: #E7EBF0; }
.glass-tab.is-active { border-left-color: var(--accent); background: var(--paper-light); color: var(--ink); }
.glass-tab.is-active strong { font-weight: 650; }
.systems-dossier { min-width: 0; background: var(--paper-light); border: 1px solid var(--line); }
.atlas-panel { padding: 1.6rem 2rem 1.4rem; }
.atlas-landscape { margin-bottom: 1.5rem; }
.atlas-landscape img { width: 100%; height: clamp(180px,21vw,250px); object-fit: cover; object-position: center; }
.atlas-landscape figcaption { margin-top: .65rem; color: var(--ink-soft); font-size: .8125rem; line-height: 1.5; }
.atlas-panel h3 { margin-bottom: .9rem; font-size: clamp(1.7rem,2.4vw,2.2rem); line-height: 1.2; }
.field-note-copy { max-width: 68ch; margin-bottom: 1.5rem; color: var(--ink-soft); font-size: 1rem; line-height: 1.8; }
.evidence-drawer { border-top: 1px solid var(--line); }
.evidence-drawer summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 48px; padding: .8rem 0; color: var(--accent-text); font-size: .875rem; font-weight: 600; cursor: pointer; list-style: none; }
.evidence-drawer summary::-webkit-details-marker { display: none; }
.evidence-drawer summary::after { content: '+'; font-size: 1.25rem; line-height: 1; font-weight: 400; }
.evidence-drawer[open] summary::after { content: '−'; }
.evidence-drawer > div { padding-block: .5rem; }
.evidence-drawer p { max-width: 68ch; color: var(--ink-soft); font-size: 1rem; line-height: 1.75; }
.evidence-drawer a { display: inline-flex; align-items: center; min-height: 40px; margin-right: 1.1rem; color: var(--accent-text); font-size: .875rem; font-weight: 550; }
.chapter-measures { padding: 0; margin: 0 0 1rem; list-style: none; }
.chapter-measures li { padding-block: .9rem; border-bottom: 1px solid var(--line); }
.chapter-measures li > span { display: block; margin-bottom: .6rem; color: var(--ink-soft); font-size: .8125rem; }
.measure-statement { margin-bottom: .4rem; }
.measure-statement strong { color: var(--ink); font-weight: 650; }
.degree-note { display: grid; gap: .3rem; margin-bottom: 1rem; font-size: .9375rem; }
.degree-note span { color: var(--ink-soft); }
.systems-stepper { grid-column: 2; display: grid; grid-template-columns: 105px minmax(0,1fr) 105px; align-items: center; min-height: 60px; border-bottom: 1px solid var(--line); }
.systems-stepper button { min-height: 48px; padding: .6rem; border: 0; background: transparent; color: var(--ink); font: 500 .875rem/1.3 var(--sans); }
.systems-stepper button:hover { background: #E7EBF0; }
.systems-stepper button:disabled { opacity: .4; }
.systems-bearing { min-width: 0; text-align: center; color: var(--ink-soft); font-size: .8125rem; line-height: 1.5; }

/* A focused research feature, using the existing botanical illustration. */
.leaf-study { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(240px,.8fr); gap: clamp(2rem,5vw,4.5rem); align-items: center; padding-block: 4rem; }
.leaf-study-copy { min-width: 0; }
.leaf-study-copy h2 { max-width: 20ch; margin-bottom: 1.3rem; font-size: clamp(2rem,3.2vw,2.8rem); line-height: 1.15; }
.leaf-study-copy > p:not(.eyebrow) { color: var(--ink-soft); font-size: 1rem; line-height: 1.75; }
.leaf-study-lede { max-width: 60ch; }
.evidence-links { display: flex; flex-wrap: wrap; gap: .35rem 1.5rem; margin-top: 1.2rem; }
.evidence-links a { display: inline-flex; align-items: center; min-height: 40px; color: var(--accent-text); font-size: .875rem; font-weight: 550; }
.leaf-study-lenses { list-style: none; margin: 1.4rem 0 0; padding: 0; border-top: 1px solid var(--line); }
.leaf-study-lenses li { display: grid; grid-template-columns: 1.6rem minmax(0,1fr); gap: .6rem; padding-block: .7rem; border-bottom: 1px solid var(--line); }
.leaf-study-lenses span { padding-top: .1rem; color: var(--accent-text); font-size: .8125rem; }
.leaf-study-lenses strong { display: block; font-size: .9375rem; font-weight: 600; }
.leaf-study-lenses small { display: block; color: var(--ink-soft); font-size: .875rem; line-height: 1.6; }
.leaf-study-plate { margin: 0; }
.leaf-study-plate img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border: 1px solid var(--line); }
.compact-life-note { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 2rem; padding-block: 2rem; border-top: 1px solid var(--line); }
.compact-life-note .eyebrow { margin: .25rem 0 0; }
.compact-life-note > p:last-child { margin: 0; color: var(--ink-soft); }

/* Publications: the full title always remains available. */
.research-hero, .media-hero, .contact-hero, .cv-document-header { padding-top: 3.5rem; padding-bottom: 2.5rem; }
.research-hero-grid { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem 2rem; }
.research-hero h1, .media-hero h1, .contact-hero h1 { margin-bottom: 1rem; }
.research-hero h1 { margin: 0; }
.publication-surface { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr); gap: 2rem; align-items: start; padding-bottom: 4rem; }
.publication-index { min-width: 0; }
.publication-index-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.publication-index-head h2 { margin: 0; font-size: 1.6rem; }
.editorial-publication-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.editorial-publication-list > li { padding: 1.2rem 0 .8rem; border-bottom: 1px solid var(--line); }
.editorial-publication-list [data-publication] { display: grid; grid-template-columns: 3rem minmax(0,1fr) 14px; gap: .8rem; padding: .35rem; text-decoration: none; border-radius: 3px; }
.editorial-publication-list [data-publication]:is(:hover,:focus-visible,.is-active) { background: var(--paper-strong); }
.publication-number { padding-top: .05rem; color: var(--accent-text); font-size: .8125rem; font-weight: 600; }
.publication-copy { min-width: 0; }
.publication-copy small { display: block; margin-bottom: .4rem; color: var(--ink-soft); font-size: .8125rem; line-height: 1.5; }
.publication-copy h3 { margin: 0 0 .5rem; font-size: 1.25rem; line-height: 1.4; letter-spacing: -.015em; overflow-wrap: break-word; }
.publication-copy em { display: block; color: var(--ink-soft); font: 400 .8125rem/1.6 var(--sans); }
.publication-arrow { color: var(--accent-text); font-size: 1rem; }
.publication-details { display: block; min-height: 44px; margin-left: 4.15rem; padding: .5rem .15rem; border: 0; background: transparent; color: var(--accent-text); font: 550 .875rem/1.4 var(--sans); text-align: left; text-decoration: underline; text-underline-offset: .25em; }
.publication-details span { margin-left: .5rem; }
.publication-preview { position: sticky; top: 6.5rem; padding: 1.6rem; border: 1px solid var(--line); border-top: 3px solid var(--accent); background: var(--paper-strong); scroll-margin-top: 6rem; }
.publication-preview-glass { min-width: 0; }
.preview-meta { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; color: var(--accent-text); font-size: .8125rem; font-weight: 600; }
.publication-preview-glass > p { color: var(--ink-soft); font-size: .8125rem; line-height: 1.6; }
.publication-preview-glass > h2 { margin-bottom: 1rem; font-size: 1.4rem; line-height: 1.4; }
.publication-preview-glass > strong { color: var(--accent-text); font-size: .875rem; font-weight: 600; }
.research-lens { margin-top: 1rem; }
.research-lens > div { padding: .85rem 0; border-top: 1px solid var(--line); }
.research-lens dt { margin-bottom: .4rem; color: var(--ink-soft); font-size: .875rem; font-weight: 650; }
.research-lens dd { margin: 0; font-size: 1rem; line-height: 1.65; }
.preview-source-row { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; margin-top: .6rem; }
.preview-source-row a { display: inline-flex; align-items: center; min-height: 40px; color: var(--accent-text); font-size: .875rem; font-weight: 600; }

/* Media is a readable archive, rather than differently sized promotional tiles. */
.media-bento { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2.5rem; }
.media-tile { min-width: 0; padding-block: 1.6rem; border-top: 1px solid var(--line); }
.media-tile .meta { color: var(--accent-text); font-size: .8125rem; line-height: 1.5; }
.media-tile h3 { margin-bottom: .8rem; font-size: 1.6rem; line-height: 1.3; }
.media-tile > p:not(.meta) { color: var(--ink-soft); font-size: 1rem; line-height: 1.7; }
.media-tile > a { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; color: var(--accent-text); font-size: .875rem; font-weight: 600; }
.contact-panel { padding: 2rem; background: var(--paper-strong); border-left: 3px solid var(--accent); }
.contact-panel h2 { font-size: 1.8rem; }
.contact-panel p { color: var(--ink-soft); }

/* Straightforward forms and a deliberately short tutoring page. */
.tutoring-minimal { padding-top: 3.5rem; padding-bottom: 4rem; }
.tutoring-heading { margin-bottom: 2rem; }
.tutoring-heading > p { color: var(--ink-soft); font-size: 1.0625rem; }
.tutoring-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 3rem; padding-block: 1.6rem; border-block: 1px solid var(--line); }
.tutoring-options h2 { margin-bottom: .5rem; font-size: 1.5rem; }
.tutoring-options article p { margin: 0; color: var(--ink-soft); }
.tutoring-exams { grid-column: 1 / -1; margin: .3rem 0 0; color: var(--ink-soft); font-size: .875rem; }
.tutoring-inquiry { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 2rem 3rem; padding-top: 2.5rem; }
.tutoring-inquiry h2 { font-size: 1.9rem; }
.tutoring-inquiry p { max-width: 32ch; color: var(--ink-soft); }
.contact-hero .button-row { margin-top: 1.25rem; }
.contact-page #media-inquiry { padding-top: .5rem; }
.contact-workbench { display: grid; grid-template-columns: minmax(230px,.75fr) minmax(0,1.25fr); gap: 3rem; align-items: start; border-top: 1px solid var(--line); padding-top: 2.5rem; }
.contact-brief { padding-right: 1rem; }
.contact-brief h2 { font-size: 1.7rem; line-height: 1.25; }
.contact-brief > p { color: var(--ink-soft); }
.contact-brief dl { margin-top: 1.5rem; }
.contact-brief dl > div { margin-bottom: 1rem; }
.contact-brief dt { color: var(--ink-soft); font-size: .875rem; }
.contact-brief dd { margin: .15rem 0 0; font-size: .9375rem; overflow-wrap: anywhere; }
.inquiry-form { min-width: 0; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.15rem; }
.field { display: flex; flex-direction: column; min-width: 0; gap: .4rem; }
.field-full { grid-column: 1 / -1; }
.field > span { color: var(--ink); font-size: .875rem; font-weight: 550; }
.field > span small { color: var(--ink-soft); font-size: .8125rem; font-weight: 400; }
.field input, .field select, .field textarea { display: block; width: 100%; min-width: 0; min-height: 48px; padding: .65rem .75rem; border: 1px solid #7A8797; border-radius: 3px; background: var(--paper-light); color: var(--ink); font-size: 1rem; line-height: 1.5; }
.field textarea { min-height: 120px; resize: vertical; }
.field :is(input,select,textarea):focus { border-color: var(--accent); }
.field ::placeholder { color: #657184; opacity: 1; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.2rem; margin-top: 1.25rem; }
.form-actions .button:disabled { opacity: .65; cursor: wait; }
.form-status { max-width: 42ch; color: var(--ink-soft); font-size: .9375rem; }
.form-status[data-error] { color: var(--accent-text); }

/* A traditional CV, with restrained headings and dates that stay attached to entries. */
.cv-document-header .eyebrow { margin-bottom: 1.2rem; }
.cv-title-row { display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.cv-title-row h1 { margin-bottom: .65rem; }
.cv-title-row p { margin-bottom: .4rem; color: var(--ink-soft); font-size: 1rem; }
.cv-title-row span { color: var(--ink-soft); font-size: .875rem; }
.cv-utilities { display: flex; flex-wrap: wrap; align-items: center; justify-content: end; gap: .5rem 1.2rem; max-width: 350px; }
.cv-utilities a, .cv-utilities button { display: inline-flex; align-items: center; min-height: 40px; padding: .25rem 0; border: 0; background: transparent; color: var(--accent-text); font-size: .875rem; font-weight: 550; text-decoration: underline; text-underline-offset: .25em; }
.cv-document { display: grid; grid-template-columns: 165px minmax(0,1fr); gap: 2.5rem; align-items: start; }
.cv-index { position: sticky; top: 6.5rem; }
.cv-index { max-height: calc(100dvh - 7rem); overflow-y: auto; scrollbar-width: thin; }
.cv-index > p { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
.cv-index nav { display: grid; gap: .1rem; }
.cv-index a { min-height: 42px; padding-block: .45rem; color: var(--ink-soft); font-size: .875rem; text-decoration: none; }
.cv-index a:hover { color: var(--accent-text); text-decoration: underline; }
.cv-record { min-width: 0; }
.cv-section { padding-bottom: 2rem; scroll-margin-top: 6rem; }
.cv-section-head { display: flex; align-items: baseline; gap: 1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--ink); }
.cv-section-head p { margin: 0; color: var(--accent-text); font-size: .8125rem; }
.cv-section-head h2 { margin: 0; font-size: clamp(1.5rem,2.6vw,2rem); }
.cv-entry { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 1.5rem; padding-block: .85rem; border-bottom: 1px solid var(--line); scroll-margin-top: 6rem; }
.cv-entry time, .cv-entry .cv-status { color: var(--ink-soft); font-size: .875rem; line-height: 1.6; }
.cv-entry h3, .cv-entry h4 { margin-bottom: .4rem; font: 600 1rem/1.5 var(--sans); letter-spacing: 0; }
.cv-subsection-title { margin: 1.4rem 0 .25rem; color: var(--accent-text); font: 600 .875rem/1.5 var(--sans); letter-spacing: .015em; }
.cv-award-year { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 1.5rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.cv-award-year time { color: var(--ink-soft); font-size: .875rem; line-height: 1.5; }
.cv-award-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .4rem 1.35rem; padding: 0; margin: 0; list-style: none; }
.cv-award-list li { font: 550 .9375rem/1.5 var(--sans); }
.cv-entry p { margin: 0 0 .3rem; color: var(--ink-soft); }
.cv-entry .cv-location { display: block; margin-top: .15rem; color: var(--ink-soft); opacity: .75; font-size: .75rem; line-height: 1.5; letter-spacing: .025em; }
.cv-entry small { display: block; color: var(--ink-soft); font-size: .875rem; line-height: 1.65; }
.cv-publications { list-style: none; padding: 0; margin: 0; }
.cv-publications li { display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 1.3rem; padding-block: 1.2rem; border-bottom: 1px solid var(--line); }
.cv-publications li > span { color: var(--ink-soft); font-size: .875rem; }
.cv-publications p { margin: 0; font-size: .9375rem; line-height: 1.75; }
.cv-doi { color: var(--accent-text); font-size: .875rem; overflow-wrap: anywhere; }
.cv-section-links { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; margin-block: 1rem 0; }
.cv-section-links a { display: inline-flex; align-items: center; min-height: 40px; color: var(--accent-text); font-size: .875rem; }

/* The footer holds the personal signature and quiet Log Pose reference. */
.site-footer { margin-top: 1.5rem; border-top: 1px solid var(--line); }
.footer-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem 2rem; min-height: 95px; padding-block: 1rem; }
.footer-copyright { color: var(--ink-soft); font-size: .8125rem; }
.footer-signature { display: flex; align-items: center; gap: .6rem; margin-left: auto; }
.jairon { color: var(--ink-soft); font: 500 1rem/1.2 var(--serif); }
.footer-log-pose { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; }
.log-pose-sphere { --bearing: -28deg; position: relative; display: block; width: 29px; height: 29px; border: 1px solid #7E8FA4; border-radius: 50%; background: radial-gradient(circle at 32% 24%,#FFFFFF,#FCFBF880 36%,#182A462B 76%); box-shadow: inset -3px -3px 7px #182A4622; }
.log-pose-sphere::before { content: ''; position: absolute; left: 3px; right: 3px; top: 55%; height: 1px; background: #B28A4B70; transform: rotate(-12deg); }
.log-pose-sphere::after { content: ''; position: absolute; inset: auto 15% -3px; height: 5px; border: 1px solid #B28A4B; border-radius: 50%; background: #E9D7BB80; }
.log-pose-sphere i { position: absolute; left: 50%; bottom: 50%; width: 1.5px; height: 11px; background: var(--accent); transform: rotate(var(--bearing)); transform-origin: bottom center; transition: transform .4s ease; }
.footer-log-pose:is(:hover,:focus-visible) .log-pose-sphere { --bearing: 35deg; }
.error-page { min-height: 100vh; }
.error-shell { max-width: 900px; padding-block: 6rem; }
.error-shell h1 { max-width: 18ch; }
.error-shell > p:not(.eyebrow) { max-width: 48ch; color: var(--ink-soft); font-size: 1.125rem; }
.error-shell .button { margin-top: 1rem; }
.error-compass { display: none; }

/* ROOM: a small energy sphere expands into a transparent operating dome. */
.research-page { isolation: isolate; transition: background-color .7s ease, color .7s ease; }
.research-page.is-room-active { --paper: var(--espresso); --paper-strong: var(--deep-sage); --paper-light: var(--deep-sage); --ink: var(--ivory); --ink-soft: #E2E7ED; --line: #FCFBF844; --accent-text: var(--saffron); --plum: var(--ivory); }
.research-page .site-header, .research-page .publication-preview, .research-page .publication-preview-glass { transition: background-color .7s ease, border-color .7s ease, color .7s ease; }
.research-page.is-room-active .publication-preview { background: #243C59CC; border-color: #FCFBF866; box-shadow: 0 16px 65px #182A4655; }
.research-page.is-room-active .publication-preview-glass { background: transparent; }
.research-page.is-room-active .publication-details { color: var(--saffron); }
.research-page.is-room-active .button:hover { background: var(--saffron); color: var(--espresso); }
.research-page.is-room-active .editorial-publication-list [data-publication]:is(:hover,:focus-visible,.is-active) { background: linear-gradient(110deg,#D9B67F30,transparent); }
.research-page #main, .research-page .site-footer { position: relative; z-index: 1; }
.room-control { justify-self: end; min-height: 44px; min-width: 96px; }
.room-trigger { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .7rem 1rem; border: 1px solid var(--line); border-radius: 3px; background: transparent; color: var(--ink-soft); font: 600 .875rem/1.3 var(--sans); letter-spacing: 0; white-space: nowrap; cursor: pointer; }
.room-trigger [data-room-label] { margin: 0; font: inherit; letter-spacing: inherit; transform: none; }
.room-trigger:is(:hover,[aria-pressed="true"]) { background: #D9B67F30; color: var(--ink); border-color: var(--saffron); }
.room-page-field { --room-x: 0px; --room-y: 0px; position: fixed; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; opacity: 0; background: radial-gradient(ellipse at 50% 53%,#53BDDC20,transparent 72%); transition: opacity .5s ease; }
.room-dome { position: absolute; left: 50%; top: 53%; width: 112vmin; height: 112vmin; border-radius: 50%; border: 2px solid #A9EBFFD9; background: radial-gradient(circle at 34% 24%,#DFFAFF26 0%,#5DCFF912 38%,#208DC62E 76%,#6BDEFF57 96%,#E5FBFFB3 100%); box-shadow: inset 0 0 50px #47C9FF73, 0 0 50px #49CDFF80, 0 0 4px #EEFCFF; transform: translate(-50%,-50%) scale(.02); }
.room-dome::before { content: ""; position: absolute; inset: 3%; border-radius: 50%; border-top: 2px solid #EFFEFFFF; border-bottom: 1px solid #BCF0FFCC; transform: rotate(-24deg); }
.room-flow { position: absolute; left: -5%; right: -5%; top: 28%; height: 37%; border-radius: 50%; border: 3px solid transparent; border-top-color: #EEFCFFFF; border-right-color: #AAEAFF99; filter: drop-shadow(0 0 7px #70D8FF); transform: rotate(-25deg); }
.room-flow-second { left: 3%; right: 3%; top: 21%; height: 55%; border-width: 2px; border-top-color: transparent; border-bottom-color: #EEFCFFF2; border-left-color: #AAEAFF66; transform: rotate(35deg); }
.room-flow-third { left: 12%; right: 12%; top: 41%; height: 23%; border-width: 1px; opacity: .7; transform: rotate(-10deg); }
.room-wave { position: absolute; left: var(--room-origin-x, 50%); top: var(--room-origin-y, 50%); width: var(--room-diameter, 150vmax); height: var(--room-diameter, 150vmax); border: 3px solid #E6FAFFF2; border-radius: 50%; box-shadow: inset 0 0 50px #72D6FF80, 0 0 50px #87E0FFAA; opacity: 0; transform: translate(-50%,-50%) scale(.01); }
.research-page.is-room-active .room-page-field { opacity: 1; }
.is-room-active .room-dome { animation: room-unfold 1.8s cubic-bezier(.2,.65,.3,1) both, room-breathe 10s 1.8s ease-in-out infinite; }
.is-room-active .room-flow { animation: room-flow 5s linear infinite; }
.is-room-active .room-flow-second { animation-direction: reverse; animation-duration: 7s; }
.is-room-active .room-flow-third { animation-duration: 4s; }
.is-room-active .room-wave { animation: room-expand 2.8s .35s cubic-bezier(.2,.55,.3,1) both; }
.research-page.is-room-active .room-trigger { position: fixed; z-index: 20; right: max(1.25rem, env(safe-area-inset-right)); bottom: max(1.25rem, env(safe-area-inset-bottom)); background: var(--ivory); color: var(--espresso); border: 1px solid #243C594D; box-shadow: 0 3px 12px #182A4626; }
.research-page.room-paused .room-page-field * { animation-play-state: paused; }
@keyframes room-unfold { 0% { left: var(--room-origin-x,50%); top: var(--room-origin-y,50%); transform: translate(-50%,-50%) scale(.055); opacity: 0; } 18% { left: var(--room-origin-x,50%); top: var(--room-origin-y,50%); transform: translate(-50%,-50%) scale(.12); opacity: 1; } 100% { left: 50%; top: 53%; transform: translate(-50%,-50%) scale(1); opacity: 1; } }
@keyframes room-breathe { 0%,100% { transform: translate(calc(-50% + var(--room-x)),calc(-50% + var(--room-y))) scale(1); } 50% { transform: translate(calc(-48% + var(--room-x)),calc(-52% + var(--room-y))) scale(1.025); } }
@keyframes room-flow { from { transform: rotate(-25deg) rotateY(0deg); } to { transform: rotate(-25deg) rotateY(360deg); } }
@keyframes room-expand { 0% { opacity: 1; transform: translate(-50%,-50%) scale(.025); } 30% { opacity: .8; } 100% { opacity: 0; transform: translate(-50%,-50%) scale(1.15); } }


.research-page.is-room-active .nav-links .nav-cta { background: var(--ivory); color: var(--espresso); }
.research-page.is-room-active .button { background: var(--ivory); color: var(--espresso); }
.research-page.is-room-active .button.secondary { background: transparent; color: var(--ivory); }

/* A compact geographical globe, with labels outside the map. */
.globe-navigator { position: relative; overflow: hidden; border: 1px solid #2E4661; border-radius: 6px; background: #182A46; color: #FCFBF8; }
.globe-topline { position: absolute; z-index: 1; inset: .6rem .85rem auto; display: flex; justify-content: space-between; align-items: center; gap: .75rem; pointer-events: none; }
.globe-topline > span { font-size: .9375rem; font-weight: 550; }
.globe-topline button { min-height: 44px; padding: .35rem .6rem; border: 1px solid #FCFBF855; border-radius: 3px; background: #182A46D9; color: #FCFBF8; font-size: .875rem; pointer-events: auto; }
.globe-topline button:hover { background: #29415E; }
.systems-core { display: block; width: 100%; height: 285px; cursor: grab; touch-action: pan-y pinch-zoom; }
.systems-core.is-dragging { cursor: grabbing; }
.globe-help { margin: 0; padding: 0 1rem 1rem; color: #D8E0EA; font-size: .875rem; line-height: 1.5; }
@media (max-width: 900px) { .systems-core { height: 250px; } }
@media (max-width: 760px) { .systems-core { height: 210px; } .globe-help { padding-bottom: .8rem; } }

/* Responsive composition — content stays readable, and controls remain reachable. */
@media (max-width: 1050px) {
  .nav-links { gap: .85rem; }
  .publication-surface { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .publication-preview { position: relative; top: auto; width: 100%; max-width: 760px; justify-self: center; }
  .cv-document { grid-template-columns: 145px minmax(0,1fr); gap: 1.75rem; }
}
@media (max-width: 900px) {
  .nav-wrap { gap: 1rem; }
  .nav-links { gap: .7rem; }
  .nav-links a { font-size: .875rem; }
  .academic-hero { gap: 2rem; grid-template-columns: minmax(0,1.3fr) minmax(220px,.8fr); }
  .profile-role { font-size: .9375rem; }
  .hero-proof-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero-proof-grid .hero-education { grid-column: 1 / -1; display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 1rem; padding: 1.25rem 0; border-left: 0; border-top: 1px solid var(--line); }
  .systems-experience { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .systems-stage { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 1rem; grid-row: auto; }
  .glass-tabs { margin-top: 0; align-self: center; }
  .systems-stepper { grid-column: 1; }
  .atlas-panel { padding: 1.4rem; }
  .leaf-study { grid-template-columns: minmax(0,1.2fr) minmax(220px,.8fr); gap: 2rem; }
  .contact-workbench { grid-template-columns: minmax(210px,.7fr) minmax(0,1.3fr); gap: 2rem; }
  .cv-entry { grid-template-columns: 100px minmax(0,1fr); gap: 1rem; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 5.5rem; }
  .page-shell, .section-shell { padding-inline: 1.25rem; }
  .nav-wrap { min-height: 68px; padding: .65rem 1.25rem; }
  .brand { font-size: 1.2rem; }
  .menu-button { display: inline-flex; align-items: center; }
  .nav-links { position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: .15rem; padding: .6rem 1.25rem 1rem; background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 14px 22px #182A4610; }
  .nav-links.open { display: flex; }
  .nav-links a { padding: .6rem .5rem; font-size: 1rem; }
  .nav-links .nav-cta { margin-top: .3rem; padding: .65rem 1rem; }
  h1 { font-size: clamp(2.35rem,9vw,3rem); }
  h2 { font-size: 2rem; }
  .academic-hero { grid-template-columns: minmax(0,1fr); gap: 1.5rem; padding-top: 1.8rem; padding-bottom: 2rem; }
  .portrait-frame { order: 1; justify-self: start; width: 180px; }
  .hero-content { order: 2; }
  .academic-hero h1 { font-size: clamp(2.35rem,9.2vw,3.25rem); letter-spacing: -.035em; }
  .profile-role { margin-bottom: 1rem; font-size: .9375rem; }
  .hero-copy { margin-bottom: 1.25rem; font-size: 1rem; line-height: 1.75; }
  .profile-record { padding-bottom: 2.5rem; }
  .hero-proof-grid { grid-template-columns: minmax(0,1fr); }
  .hero-proof-grid a, .hero-proof-grid a + a { padding: 1.2rem 0; border-left: 0; }
  .hero-proof-grid a + a { border-top: 1px solid var(--line); }
  .hero-proof-grid .hero-education { display: flex; gap: .5rem; padding-block: 1.2rem; }
  .hero-proof-grid .education-names br { display: block; }
  .hero-proof-grid strong { font-size: 1.15rem; }
  .systems-story { padding-block: 2.5rem; }
  .systems-heading { margin-bottom: 1.3rem; }
  .systems-experience { display: block; }
  .systems-stage { display: block; margin-bottom: 1rem; }
  .glass-tabs { display: flex; flex-direction: row; margin-top: .85rem; gap: .35rem; overflow-x: auto; padding: .3rem .15rem .65rem; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .glass-tab { flex: 0 0 auto; width: auto; min-width: 90px; min-height: 46px; padding: .6rem .8rem; border: 1px solid var(--line); border-bottom: 3px solid transparent; border-radius: 3px; scroll-snap-align: center; }
  .glass-tab.is-active { border-left-color: var(--line); border-bottom-color: var(--accent); }
  .glass-tab strong { white-space: nowrap; font-size: .875rem; }
  .atlas-panel { padding: 1.1rem; }
  .atlas-landscape { margin-bottom: 1.2rem; }
  .atlas-landscape img { height: auto; aspect-ratio: 1.9 / 1; }
  .atlas-landscape figcaption { font-size: .8125rem; }
  .atlas-panel h3 { font-size: 1.75rem; }
  .field-note-copy { line-height: 1.75; }
  .systems-stepper { grid-template-columns: 88px minmax(0,1fr) 88px; }
  .systems-stepper button { padding-inline: .2rem; font-size: .8125rem; }
  .systems-bearing { font-size: .75rem; }
  .leaf-study { grid-template-columns: minmax(0,1fr); gap: 1.8rem; padding-block: 2.5rem; }
  .leaf-study-copy h2 { font-size: 2.15rem; }
  .leaf-study-plate { width: min(100%,400px); }
  .leaf-study-plate img { max-height: 420px; object-position: center; }
  .compact-life-note { display: block; padding-block: 1.75rem; }
  .compact-life-note .eyebrow { margin-bottom: .6rem; }
  .research-hero, .media-hero, .contact-hero, .cv-document-header { padding-top: 2.5rem; padding-bottom: 2rem; }
  .research-hero-grid { display: block; }
  .research-hero h1 { margin-bottom: 1.25rem; }
  .publication-surface { padding-bottom: 2.5rem; }
  .publication-index-head h2 { font-size: 1.5rem; }
  .editorial-publication-list [data-publication] { grid-template-columns: 2.6rem minmax(0,1fr) 12px; gap: .5rem; padding-inline: 0; }
  .publication-copy h3 { font-size: 1.15rem; }
  .publication-details { margin-left: 3.1rem; }
  .publication-preview { padding: 1.2rem; }
  .publication-preview-glass > h2 { font-size: 1.35rem; }
  .media-bento { grid-template-columns: minmax(0,1fr); }
  .media-tile { padding-block: 1.4rem; }
  .media-tile h3 { font-size: 1.5rem; }
  .section { padding-block: 2.5rem; }
  .contact-panel { padding: 1.5rem; }
  .tutoring-minimal { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .tutoring-options, .tutoring-inquiry { grid-template-columns: minmax(0,1fr); gap: 1.4rem; }
  .tutoring-inquiry { padding-top: 2rem; }
  .contact-hero .button { max-width: 100%; overflow-wrap: anywhere; }
  .contact-workbench { grid-template-columns: minmax(0,1fr); gap: 1.8rem; padding-top: 1.5rem; }
  .contact-brief { padding: 0; }
  .contact-brief dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem 1rem; }
  .contact-brief dl > div:last-child { grid-column: 1 / -1; }
  .form-grid { grid-template-columns: minmax(0,1fr); }
  .cv-title-row { display: block; }
  .cv-utilities { max-width: none; justify-content: start; margin-top: 1rem; }
  .cv-document { display: block; }
  .cv-index { position: static; max-height: none; overflow-y: visible; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
  .cv-index > p { display: none; }
  .cv-index nav { display: flex; overflow-x: auto; gap: 1.25rem; }
  .cv-index a { flex: 0 0 auto; }
  .cv-section { padding-bottom: 2.5rem; }
  .cv-section-head { gap: .6rem; }
  .cv-section-head h2 { font-size: 1.6rem; }
  .cv-entry { grid-template-columns: minmax(0,1fr); gap: .45rem; }
  .cv-award-year { grid-template-columns: minmax(0,1fr); gap: .45rem; }
  .cv-award-list { grid-template-columns: minmax(0,1fr); }
  .cv-publications li { grid-template-columns: minmax(0,1fr); gap: .4rem; }
  .footer-inner { min-height: 82px; gap: .5rem; }
  .error-shell { padding-block: 3.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .room-wave { display: none; }
  .is-room-active .room-dome { transform: translate(-50%,-50%) scale(1); opacity: .65; }
}
@media print {
  :root { --paper: #FFFFFF; --ink: #000000; --ink-soft: #333333; --line: #CCCCCC; --accent-text: #333333; }
  body { background: #FFFFFF; font-size: 10pt; }
  .site-header, .site-footer, .cv-index, .cv-utilities, .skip-link, .room-page-field { display: none; }
  .page-shell, .section-shell { max-width: none; padding-inline: 0; }
  .cv-document { display: block; }
  .cv-document-header { padding-block: 0 1.5rem; }
  .cv-title-row h1 { font-size: 26pt; }
  .cv-section { padding-bottom: 1.5rem; }
  .cv-section-head { break-after: avoid; }
  .cv-section-head h2 { font-size: 16pt; }
  .cv-entry, .cv-award-year, .cv-publications li { break-inside: avoid; }
  .cv-entry { grid-template-columns: 90px minmax(0,1fr); gap: 1rem; }
  .cv-entry h3, .cv-entry h4, .cv-entry p, .cv-entry small, .cv-entry time, .cv-entry .cv-status, .cv-award-year time, .cv-award-list li, .cv-publications p { font-size: 10pt; }
  .cv-entry .cv-location { font-size: 9pt; }
  a { color: #000000; }
  @page { margin: 18mm; }
}

/* 2026 editorial rebuild: a clear clinical record with a quiet maritime thread. */
:root {
  --paper: #F7F8F7;
  --paper-light: #FFFFFF;
  --paper-strong: #EAF0F0;
  --ink: #17313A;
  --ink-soft: #425962;
  --line: #CBD7D8;
  --accent: #A86439;
  --accent-text: #80502F;
  --gold: #A86439;
  --ivory: #F7F8F7;
  --espresso: #17313A;
  --deep-sage: #294B55;
  --saffron: #C49861;
  --plum: #17313A;
  --plum-deep: #17313A;
  --forest: #17313A;
  --max: 1160px;
}
body { line-height: 1.6; }
h1,h2,h3 { letter-spacing: -.02em; }
.site-header { background: rgba(247,248,247,.96); backdrop-filter: blur(12px); }
.nav-wrap { min-height: 70px; }
.nav-links { gap: 1.1rem; }
.academic-hero { grid-template-columns: minmax(0,1.55fr) minmax(235px,.7fr); gap: clamp(2rem,6vw,5rem); padding-block: clamp(3rem,6vw,5.5rem); }
.academic-hero h1 { font-size: clamp(2.6rem,4.2vw,4rem); }
.profile-role { color: var(--accent-text); margin-bottom: 1.35rem; }
.hero-copy { font-size: clamp(1.05rem,1.3vw,1.17rem); line-height: 1.7; color: var(--ink); }
.portrait-frame { width: min(100%,315px); border: 8px solid #fff; box-shadow: 0 16px 44px rgba(18,49,58,.12); }
.work-overview { padding-block: 3.8rem 5.2rem; }
.section-intro { max-width: 720px; margin-bottom: 2rem; }
.section-intro h2 { max-width: 17ch; font-size: clamp(2rem,3.1vw,3rem); }
.work-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); }
.work-grid article { padding: 1.8rem 2rem 1.2rem 0; min-width: 0; }
.work-grid article + article { border-left: 1px solid var(--line); padding-left: 2rem; }
.work-index { display: block; margin-bottom: 1.1rem; font-size: .83rem; font-weight: 700; color: var(--accent-text); letter-spacing: .03em; }
.work-grid h3 { font-size: 1.5rem; margin-bottom: .8rem; }
.work-grid p { color: var(--ink-soft); max-width: 42ch; line-height: 1.7; }
.work-grid a { display: inline-block; margin-top: .5rem; font-size: .9rem; font-weight: 650; text-decoration-color: var(--accent); }
.leaf-study { padding-block: 4rem; border-top: 1px solid var(--line); }
.leaf-study h2 { max-width: 18ch; }
.systems-story { background: #EAF0F0; padding-block: 4rem 5rem; }
.systems-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.section-deck { max-width: 45ch; margin: 0; color: var(--ink-soft); }
.systems-experience { grid-template-columns: minmax(300px,.9fr) minmax(0,1.25fr); gap: 2rem; }
.systems-dossier { box-shadow: 0 10px 35px rgba(18,49,58,.06); }
.atlas-panel { padding: 1.45rem; }
.atlas-landscape img { height: clamp(180px,21vw,235px); }
.glass-tab { border-radius: 0; }
.glass-tab.is-active { border-left-color: var(--accent); }
.room-trigger { isolation: isolate; }
.footer-log-pose { color: var(--ink); }
.research-current { display: grid; grid-template-columns: .8fr 1.2fr; gap: 3rem; padding-block: 2.8rem 3.5rem; border-block: 1px solid var(--line); }
.research-current h2 { max-width: 18ch; }
.research-current p:not(.eyebrow) { max-width: 62ch; font-size: 1.1rem; line-height: 1.7; color: var(--ink-soft); }
.research-current a { font-size: .92rem; font-weight: 650; }
@media (max-width: 900px) {
  .work-grid { grid-template-columns: 1fr; }
  .work-grid article { padding: 1.5rem 0; }
  .work-grid article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .systems-heading { display: block; }
  .section-deck { margin-top: .8rem; }
  .research-current { grid-template-columns: 1fr; gap: .5rem; }
}
@media (max-width: 760px) {
  .academic-hero { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 2rem; padding-block: 2.2rem 3rem; }
  .portrait-frame { width: min(100%,260px); align-self: center; }
  .academic-hero h1 { font-size: clamp(2.5rem,9vw,3.3rem); }
  .work-overview { padding-block: 3rem; }
  .leaf-study { padding-block: 3rem; }
  .systems-story { padding-block: 3rem; }
}
@media print { .work-grid { display: block; } .work-grid article { border: 0 !important; padding: 0 0 1rem !important; } }

/* Warm handloom ivory, indigo and saffron; restrained enough for clinical work. */
:root {
  --paper: #FFF9EF;
  --paper-light: #FFFCF7;
  --paper-strong: #F5EDE0;
  --ink: #263454;
  --ink-soft: #4F596B;
  --line: #D9CCB8;
  --accent: #B37034;
  --accent-text: #86501F;
  --gold: #B37034;
  --ivory: #FFF9EF;
  --espresso: #263454;
  --deep-sage: #344767;
  --saffron: #D5994F;
  --plum: #263454;
  --plum-deep: #1F2E51;
  --forest: #263454;
}
body, .site-header { background: var(--paper); }
::selection { background: #F0D9AC; color: var(--ink); }
.site-header { background: rgba(255,249,239,.96); }
.button:hover,.nav-cta:hover { background: #354873; border-color: #354873; }
.academic-hero { padding-block: clamp(2.7rem,5vw,4.5rem); }
.academic-hero h1 { font-size: clamp(2.45rem,4.15vw,3.8rem); letter-spacing: -.038em; }
.profile-role { display: grid; gap: .6rem; margin-bottom: 1.5rem; color: var(--ink); }
.role-line { display: flex; flex-wrap: wrap; gap: .1rem .55rem; align-items: baseline; line-height: 1.45; }
.role-line strong { font-size: .96rem; font-weight: 660; }
.role-line small { color: var(--ink-soft); font-size: .84rem; }
.hero-copy { max-width: 54ch; }
.portrait-frame { border-color: #FFFCF7; }
.leaf-study { border-top: 0; }
.systems-story { background: #F5EDE0; }
.systems-heading { align-items: baseline; }
.section-deck { color: var(--ink-soft); }
.systems-dossier { background: var(--paper-light); box-shadow: 0 12px 30px #2634540C; }
.atlas-panel { padding: 1.7rem; }
.atlas-panel h3 { margin-bottom: 1.25rem; }
.field-place { margin: 0 0 .65rem; color: var(--accent-text); font-size: .85rem; font-weight: 700; letter-spacing: .035em; }
.field-note-sections { display: grid; gap: 1.05rem; }
.field-note-part { display: grid; grid-template-columns: 6.7rem minmax(0,1fr); gap: 0 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.field-note-part h4 { grid-row: span 2; margin: .12rem 0 0; color: var(--accent-text); font: 700 .77rem/1.5 var(--sans); letter-spacing: .035em; text-transform: uppercase; }
.field-note-part p { margin: 0; color: var(--ink); font-size: .99rem; line-height: 1.62; }
.field-note-part a { margin-top: .4rem; color: var(--accent-text); font-size: .84rem; font-weight: 650; }
.globe-navigator { border-color: #283658; border-radius: 3px; background: radial-gradient(circle at 50% 45%,#4D5C7C,#253353 75%); color: #FFF9EF; }
.globe-topline { inset: .7rem .85rem auto; }
.globe-topline button { background: #253353D9; color: #FFF9EF; }
.globe-topline button:hover { background: #3B4A71; }
.globe-help { color: #F4E8D5; }
.systems-core { height: 315px; }
.glass-tab:hover,.systems-stepper button:hover { background: #EEE3D3; }
.glass-tab.is-active { background: #FFFCF7; }
@media (max-width: 900px) { .systems-core { height: 260px; } }
@media (max-width: 760px) {
  .academic-hero { gap: 1.45rem; }
  .academic-hero h1 { font-size: clamp(2.25rem,8.3vw,3rem); }
  .portrait-frame { width: min(100%,220px); }
  .role-line { display: grid; gap: .15rem; }
  .role-line strong { font-size: .93rem; }
  .role-line small { font-size: .82rem; }
  .systems-experience { display: block; }
  .systems-stage { display: block; margin-bottom: 1rem; }
  .systems-core { height: 215px; }
  .atlas-panel { padding: 1.15rem; }
  .field-note-part { display: block; }
  .field-note-part h4 { margin-bottom: .32rem; }
  .field-note-part a { display: inline-block; }
}

/* Monochrome editorial system with crimson points of emphasis. */
:root {
  --paper: #FCFCFB;
  --paper-light: #FFFFFF;
  --paper-strong: #F2F2F0;
  --ink: #171719;
  --ink-soft: #4B4B4D;
  --line: #D6D6D3;
  --accent: #A51D36;
  --accent-text: #8A142A;
  --gold: #A51D36;
  --ivory: #FCFCFB;
  --espresso: #171719;
  --deep-sage: #303033;
  --saffron: #A51D36;
  --plum: #171719;
  --plum-deep: #111113;
  --forest: #171719;
}
body { background: var(--paper); }
.site-header { background: rgba(252,252,251,.96); }
.button:hover,.nav-cta:hover { background: #8A142A; border-color: #8A142A; }
.academic-hero { border-bottom: 1px solid var(--line); }
.hero-content::before { content: ''; display: block; width: 44px; height: 4px; margin-bottom: 1.6rem; background: var(--accent); }
.role-line strong { color: var(--ink); }
.portrait-frame { border-color: #FFF; box-shadow: 0 12px 36px #00000016; }
.leaf-study { padding-block: clamp(3.4rem,6vw,5.7rem); }
.leaf-study .eyebrow { color: var(--accent-text); }
.leaf-study-plate { border: 1px solid var(--line); }
.systems-story { background: #18181B; border-color: #18181B; }
.systems-heading h2 { color: #FFF; }
.section-deck { color: #D5D5D6; }
.globe-navigator { border: 1px solid #5E5E63; background: #202023; color: #FFF; }
.globe-topline button { border-color: #FFFFFF55; background: #1B1B1DDB; color: #FFF; }
.globe-topline button:hover { background: #444448; }
.globe-help { color: #D2D2D4; }
.globe-hover-label { position: absolute; z-index: 3; padding: .35rem .55rem; border: 1px solid #FFFFFFA8; border-radius: 2px; background: #171719F0; color: #FFF; font-size: .82rem; font-weight: 650; white-space: nowrap; transform: translate(-50%,-150%); pointer-events: none; }
.systems-core.has-pin { cursor: pointer; }
.glass-tab { color: #E4E4E5; }
.glass-tab:hover { background: #343438; color: #FFF; }
.glass-tab.is-active { background: #FFF; color: #171719; border-left-color: var(--accent); }
.systems-dossier { background: #FFF; border-color: #D8D8D8; box-shadow: 0 18px 42px #0000003B; }
.field-intro { display: grid; grid-template-columns: minmax(0,1fr) 136px; gap: 1.25rem; align-items: center; margin-bottom: 1.1rem; }
.field-intro h3 { margin: 0; }
.field-image { width: 136px; overflow: hidden; border: 1px solid #D6D6D3; }
.field-image img { width: 100%; height: 96px; object-fit: cover; transition: transform .3s ease; }
.atlas-panel:hover .field-image img { transform: scale(1.04); }
.field-place { margin-bottom: .4rem; }
.field-note-part { border-color: #E4E4E2; }
.systems-stepper { border-color: #57575B; }
.systems-stepper button,.systems-bearing { color: #EEE; }
.systems-stepper button:hover { background: #343438; }
.systems-stepper button:disabled { color: #B0B0B2; opacity: .55; }
.atlas-panel.is-active .field-intro,.atlas-panel.is-active .field-story { animation: field-reveal .38s ease-out both; }
.atlas-panel.is-active .field-story { animation-delay: .08s; }
@keyframes field-reveal { from { opacity: .35; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 760px) {
  .globe-hover-label { display: none; }
  .glass-tab { color: #EEE; border-color: #707074; }
  .glass-tab.is-active { border-left-color: #707074; border-bottom-color: var(--accent); }
  .field-intro { grid-template-columns: minmax(0,1fr) 92px; gap: .8rem; }
  .field-intro h3 { font-size: 1.5rem; }
  .field-image { width: 92px; }
  .field-image img { height: 76px; }
}
@media (prefers-reduced-motion: reduce) {
  .atlas-panel.is-active .field-intro,.atlas-panel.is-active .field-story { animation: none; }
  .field-image img { transition: none; }
}
.field-story { max-width: 65ch; padding-top: .9rem; border-top: 1px solid var(--line); }
.field-story p { margin: 0 0 1rem; color: var(--ink-soft); font-size: 1rem; line-height: 1.7; }
.field-story .field-lead { color: var(--ink); font-size: clamp(1.08rem,1.3vw,1.18rem); line-height: 1.62; }
.field-source { display: inline-flex; min-height: 40px; align-items: center; margin-top: .15rem; color: var(--accent-text); font-size: .88rem; font-weight: 650; }
.tutoring-minimal .tutoring-inquiry { border-top: 1px solid var(--line); }

/* Signature edition: an editorial question index for global surgery and health diplomacy. */
.signature-hero { position: relative; min-height: min(680px,78vh); grid-template-columns: minmax(0,1.45fr) minmax(270px,.65fr); gap: clamp(1.5rem,4vw,4rem); padding-top: clamp(3rem,7vw,6rem); padding-bottom: clamp(3rem,6vw,5rem); overflow: hidden; }
.signature-hero .hero-content { position: relative; z-index: 1; }
.signature-hero .hero-content::before { display: none; }
.hero-kicker { margin-bottom: 1.5rem; color: var(--accent-text); font: 700 .77rem/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.signature-hero h1 { max-width: 11ch; margin-bottom: 1.6rem; font: 500 clamp(3.65rem,7vw,7.5rem)/.96 var(--serif); letter-spacing: -.068em; }
.signature-hero .profile-role { display: flex; flex-wrap: wrap; gap: .7rem 2rem; margin-bottom: 1.3rem; }
.signature-hero .role-line { display: grid; align-content: start; gap: .1rem; border-left: 2px solid var(--accent); padding-left: .7rem; }
.signature-hero .role-line strong { font-size: .86rem; }
.signature-hero .role-line small { font-size: .75rem; }
.signature-hero .hero-copy { max-width: 49ch; margin-bottom: 1.8rem; font-size: clamp(1rem,1.4vw,1.19rem); line-height: 1.55; }
.signature-hero .portrait-frame { width: min(100%,410px); height: auto; aspect-ratio: 1 / 1.13; align-self: center; justify-self: end; overflow: hidden; border: 0; box-shadow: none; background: #ddd; }
.signature-hero .portrait-frame img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center top; filter: saturate(.9) contrast(1.025); }
.signature-hero .portrait-frame::after { content: ''; display: block; position: relative; height: 4px; margin-top: -4px; background: var(--accent); }
.signature-hero .button { background: var(--accent); border-color: var(--accent); }

.access-exhibit { --access-bearing: -46deg; padding-block: clamp(4rem,7vw,7rem); background: #F3F3F1; scroll-margin-top: 78px; }
.access-intro { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(210px,.6fr); gap: 0 2.5rem; align-items: end; margin-bottom: clamp(2rem,4vw,3.7rem); }
.access-intro .eyebrow { grid-column: 1/-1; }
.access-intro h2 { max-width: 13ch; margin: 0; font: 500 clamp(3.2rem,6vw,6.5rem)/.98 var(--serif); letter-spacing: -.065em; }
.access-intro h2 em { color: var(--accent); font-weight: 400; }
.access-intro > p:last-child { max-width: 32ch; margin: 0 0 .25rem; color: var(--ink-soft); font-size: 1rem; line-height: 1.65; }
.access-workbench { display: grid; grid-template-columns: minmax(260px,.85fr) minmax(0,1.15fr); min-height: 510px; border: 1px solid #BFC0BE; background: #FCFCFB; }
.access-rail { display: flex; flex-direction: column; min-width: 0; border-right: 1px solid #BFC0BE; }
.access-choice { display: grid; grid-template-columns: 2rem minmax(0,1fr) 1rem; gap: .7rem; align-items: center; width: 100%; min-height: 100px; padding: 1rem 1.6rem; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; color: var(--ink); transition: background .25s ease, color .25s ease; }
.access-choice > span:nth-child(2) { font: 500 clamp(1.25rem,1.9vw,1.75rem)/1.17 var(--serif); letter-spacing: -.03em; }
.access-number { align-self: start; padding-top: .2rem; font-size: .76rem; font-weight: 700; color: var(--accent-text); }
.access-arrow { opacity: 0; color: var(--accent); transition: opacity .2s ease, transform .2s ease; }
.access-choice:hover { background: #F3F3F1; }
.access-choice:hover .access-arrow { opacity: 1; transform: translate(2px,-2px); }
.access-choice.is-active { background: var(--ink); color: #fff; }
.access-choice.is-active .access-number,.access-choice.is-active .access-arrow { color: #FF889B; opacity: 1; }
.access-rail-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding: .8rem 1.6rem; color: var(--ink-soft); font-size: .76rem; text-transform: uppercase; letter-spacing: .09em; }
.access-pose { position: relative; display: inline-block; flex: none; width: 31px; height: 31px; border: 1px solid #888; border-radius: 50%; background: radial-gradient(circle,#fff 0 15%,transparent 17%),linear-gradient(90deg,transparent 49%,#BFC0BE 50%,transparent 51%),linear-gradient(transparent 49%,#BFC0BE 50%,transparent 51%); }
.access-pose i { position: absolute; top: 3px; left: 13px; width: 3px; height: 12px; border-radius: 2px; background: var(--accent); transform-origin: 50% 12px; transform: rotate(var(--access-bearing)); transition: transform .55s cubic-bezier(.2,.8,.2,1); }
.access-stage { min-width: 0; display: flex; flex-direction: column; padding: 1.6rem clamp(1.5rem,4vw,3.5rem) 2.7rem; }
.access-topline { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); color: var(--accent-text); font: 700 .75rem/1.4 var(--sans); letter-spacing: .13em; }
.access-panel { position: relative; isolation: isolate; display: flex; flex-direction: column; flex: 1; justify-content: flex-end; min-height: 360px; padding-top: 4.8rem; animation: access-arrive .35s ease-out both; }
.access-ghost { position: absolute; z-index: -1; top: 0; right: 0; color: #EAEAE8; font: 500 clamp(10rem,20vw,21rem)/1 var(--serif); letter-spacing: -.1em; pointer-events: none; }
.access-location { margin-bottom: 1rem; color: var(--accent-text); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.access-panel h3 { max-width: 14ch; margin-bottom: 1.15rem; font: 500 clamp(2.4rem,4.2vw,4.4rem)/1.02 var(--serif); letter-spacing: -.05em; }
.access-panel > p:not(.access-location) { max-width: 53ch; margin-bottom: 1.4rem; font-size: 1.02rem; line-height: 1.65; }
.access-panel a { display: inline-flex; align-items: center; gap: .4rem; width: fit-content; min-height: 44px; color: var(--accent-text); font-size: .89rem; font-weight: 700; }
.access-disclaimer { max-width: 70ch; margin: 1rem 0 0; color: #666; font-size: .79rem; line-height: 1.55; }
@keyframes access-arrive { from { opacity: .2; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }

.systems-story { padding-block: clamp(4rem,7vw,6rem); }
.systems-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2rem; }
.systems-heading h2 { font: 500 clamp(3rem,5vw,5rem)/1 var(--serif); letter-spacing: -.05em; }
.field-heading-copy { max-width: 37ch; margin: 0; color: #D5D5D6; line-height: 1.6; }
.systems-experience { grid-template-columns: minmax(240px,.65fr) minmax(0,1.35fr); gap: 1.5rem; }
.systems-stage { position: sticky; top: 105px; }
.glass-tabs { margin: 0; gap: 0; border-top: 1px solid #666; }
.glass-tab { min-height: 50px; border: 0; border-bottom: 1px solid #555; border-radius: 0; padding: .6rem .8rem; }
.glass-tab.is-active { border-left: 3px solid var(--accent); }
.systems-dossier { box-shadow: none; }
.field-intro { display: block; }
.field-intro h3 { max-width: 24ch; font-size: clamp(2rem,3vw,3.1rem); letter-spacing: -.045em; }
.pathways { padding-block: clamp(4rem,7vw,7rem); }
.pathways-head { display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: 0 3rem; margin-bottom: 2.6rem; }
.pathways-head .eyebrow { grid-column: 1/-1; }
.pathways-head h2 { max-width: 18ch; margin: 0; font: 500 clamp(2.7rem,4.5vw,4.6rem)/1.05 var(--serif); letter-spacing: -.05em; }
.pathways-head > p:last-child { max-width: 34ch; margin: 0; color: var(--ink-soft); }
.pathways-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); }
.pathways-grid a { position: relative; display: flex; flex-direction: column; min-height: 210px; padding: 1.35rem 2.7rem 1.5rem 0; border-bottom: 1px solid var(--line); text-decoration: none; transition: padding-left .2s ease, background .2s ease; }
.pathways-grid a:nth-child(even) { padding-left: 2rem; border-left: 1px solid var(--line); }
.pathways-grid a:hover { padding-left: .55rem; background: #F3F3F1; }
.pathways-grid a:nth-child(even):hover { padding-left: 2.55rem; }
.pathways-grid span { margin-bottom: auto; color: var(--accent-text); font: 700 .76rem/1.4 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.pathways-grid strong { font: 500 clamp(1.6rem,2.7vw,2.7rem)/1.14 var(--serif); letter-spacing: -.04em; }
.pathways-grid small { max-width: 42ch; margin-top: .5rem; color: var(--ink-soft); font-size: .88rem; line-height: 1.5; }
.pathways-grid b { position: absolute; right: 1.1rem; bottom: 1.25rem; color: var(--accent); font-size: 1.15rem; }

/* The question compass is an original navigational sketch, not a clinical score. */
.access-workbench { grid-template-columns: minmax(420px,1fr) minmax(0,1.05fr); }
.access-rail { position: relative; display: block; min-height: 520px; overflow: hidden; background: radial-gradient(circle at center,transparent 0 113px,#D6D6D3 114px 115px,transparent 116px 190px,#E8E8E5 191px 192px,transparent 193px); }
.access-rail::before,.access-rail::after { content: ''; position: absolute; pointer-events: none; background: #E0E0DD; }
.access-rail::before { left: 50%; top: 0; bottom: 0; width: 1px; }
.access-rail::after { top: 50%; left: 0; right: 0; height: 1px; }
.access-choice-list { position: absolute; inset: 0; }
.access-choice { position: absolute; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; width: 142px; min-height: 92px; padding: .55rem .7rem; border: 1px solid #A7A7A5; border-radius: 50%; background: var(--paper); text-align: center; box-shadow: 0 4px 14px #0000000C; }
.access-choice:nth-child(1) { top: 18px; left: calc(50% - 71px); }
.access-choice:nth-child(2) { top: calc(50% - 46px); right: 12px; }
.access-choice:nth-child(3) { bottom: 18px; left: calc(50% - 71px); }
.access-choice:nth-child(4) { top: calc(50% - 46px); left: 12px; }
.access-choice > span:nth-child(2) { font: 500 1.17rem/1.1 var(--serif); }
.access-choice .access-number { align-self: center; padding: 0; font-size: .7rem; }
.access-choice .access-arrow { display: none; }
.access-choice.is-active { border-color: var(--ink); box-shadow: 0 8px 24px #00000029; }
.access-hub { position: absolute; z-index: 3; top: 50%; left: 50%; width: 150px; height: 150px; padding: 0; border: 1px solid #343438; border-radius: 50%; background: #19191B; color: #fff; transform: translate(-50%,-50%); touch-action: none; cursor: grab; box-shadow: 0 10px 28px #00000030, inset 0 0 0 9px #2B2B2E, inset 0 0 0 10px #626267; }
.access-hub:active { cursor: grabbing; }
.access-hub-needle { position: absolute; z-index: 1; top: 19px; left: calc(50% - 3px); width: 6px; height: 55px; background: var(--accent); clip-path: polygon(50% 0,100% 100%,0 100%); transform-origin: 50% 56px; transform: rotate(var(--access-bearing)); transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.access-hub-core { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; place-items: center; width: 49px; height: 49px; border: 1px solid #888; border-radius: 50%; background: #19191B; color: #fff; font: 500 1rem/1 var(--serif); transform: translate(-50%,-50%); }
.access-hub-caption { position: absolute; bottom: 18px; left: 0; width: 100%; color: #DCDCDD; font-size: .56rem; letter-spacing: .12em; text-transform: uppercase; }
.access-rail-foot { position: absolute; z-index: 1; bottom: 10px; right: 12px; left: 12px; display: block; margin: 0; padding: 0; color: #656569; text-align: center; font-size: .66rem; letter-spacing: .07em; }
@media (max-width: 1050px) and (min-width: 761px) {
  .access-workbench { display: block; }
  .access-rail { min-height: 480px; border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 900px) {
  .signature-hero { min-height: 0; grid-template-columns: minmax(0,1.3fr) minmax(200px,.7fr); }
  .signature-hero h1 { font-size: clamp(3.1rem,7vw,5.4rem); }
  .signature-hero .portrait-frame { height: auto; }
  .systems-experience { grid-template-columns: minmax(0,1fr); }
  .systems-stage { position: static; display: block; }
  .glass-tabs { display: flex; overflow-x: auto; gap: .3rem; padding-bottom: .4rem; border-top: 0; scroll-snap-type: x proximity; }
  .glass-tab { flex: 0 0 auto; width: auto; min-height: 48px; border: 1px solid #666; white-space: nowrap; scroll-snap-align: start; }
  .glass-tab.is-active { border-left: 1px solid #666; border-bottom: 3px solid var(--accent); }
  .pathways-head { display: block; }
  .pathways-head h2 { margin-bottom: 1rem; }
}
@media (max-width: 760px) {
  .signature-hero { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.8rem; padding-top: 2.6rem; }
  .signature-hero .hero-content { order: 1; }
  .signature-hero .portrait-frame { order: 2; width: min(100%,420px); height: auto; aspect-ratio: 4/3; justify-self: start; }
  .signature-hero .portrait-frame img { object-position: center top; }
  .signature-hero h1 { font-size: clamp(3.2rem,10vw,5rem); }
  .signature-hero .profile-role { display: grid; }
  .access-exhibit { padding-block: 3.5rem; }
  .access-intro { display: block; }
  .access-intro h2 { font-size: clamp(3.1rem,10vw,4.7rem); margin-bottom: 1rem; }
  .access-intro > p:last-child { max-width: 45ch; }
  .access-workbench { display: block; min-height: 0; }
  .access-rail { display: flex; flex-direction: column; min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); background: none; }
  .access-rail::before,.access-rail::after { display: none; }
  .access-hub { position: relative; top: auto; left: auto; flex: none; width: 112px; height: 112px; margin: 1.2rem auto; transform: none; }
  .access-hub-needle { top: 12px; left: calc(50% - 2px); width: 4px; height: 42px; transform-origin: 50% 44px; }
  .access-hub-caption { bottom: 12px; font-size: .49rem; }
  .access-choice-list { position: static; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .access-choice,.access-choice:nth-child(n) { position: static; width: 100%; min-height: 74px; display: grid; grid-template-columns: 1.4rem minmax(0,1fr); gap: .4rem; padding: .7rem .85rem; border: 0; border-top: 1px solid var(--line); border-right: 1px solid var(--line); border-radius: 0; text-align: left; box-shadow: none; }
  .access-choice .access-number { align-self: start; padding-top: .2rem; }
  .access-choice > span:nth-child(2) { font-size: clamp(1.05rem,4.3vw,1.4rem); }
  .access-rail-foot { display: none; }
  .access-stage { min-height: 395px; padding: 1rem 1.2rem 1.5rem; }
  .access-panel { min-height: 330px; padding-top: 3.2rem; }
  .access-ghost { font-size: clamp(9rem,42vw,16rem); }
  .access-panel h3 { font-size: clamp(2.25rem,8vw,3.7rem); }
  .access-panel > p:not(.access-location) { font-size: .95rem; }
  .systems-heading { display: block; }
  .field-heading-copy { margin-top: .7rem; }
  .systems-experience { display: block; }
  .systems-stage { margin-bottom: 1rem; }
  .pathways-grid { display: block; }
  .pathways-grid a,.pathways-grid a:nth-child(even) { min-height: 165px; padding-left: 0; border-left: 0; }
  .pathways-grid a:hover,.pathways-grid a:nth-child(even):hover { padding-left: .4rem; }
}
@media (max-width: 390px) {
  .signature-hero h1 { font-size: 3rem; }
  .access-choice { padding-inline: .6rem; }
  .access-choice > span:nth-child(2) { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .access-panel { animation: none; }
  .access-hub-needle,.access-choice,.access-arrow { transition: none; }
}

/* Atlas edition — a surgical record meets an editorial map. */
:root {
  --paper: #FAFAF8;
  --paper-light: #FFFFFF;
  --paper-strong: #F1F1EE;
  --ink: #19191B;
  --ink-soft: #56565A;
  --line: #CACAC7;
  --accent: #A51232;
  --accent-text: #94112D;
  --espresso: #19191B;
  --deep-sage: #29292B;
  --forest: #19191B;
  --plum: #19191B;
  --plum-deep: #19191B;
}
::selection { background: #EAB9C5; color: #19191B; }
.site-header { background: #FAFAF8F2; backdrop-filter: blur(18px); }
.nav-links a:is(:hover,[aria-current="page"]) { text-decoration: none; color: var(--accent-text); }
.nav-links .nav-cta { color: #fff; }
.nav-links .nav-cta:is(:hover,[aria-current="page"]) { color: #fff; }
.button,.nav-cta { border-radius: 0; }
.button:hover,.nav-cta:hover { background: #333336; border-color: #333336; }
.cv-page .cv-document-header { border-bottom: 1px solid var(--line); margin-bottom: 2.8rem; }
.cv-page .cv-title-row > div > p { max-width: 65ch; }
.cv-page .cv-section-head h2 { letter-spacing: -.035em; }
.cv-page .cv-index a { text-decoration: none; }
.cv-page .cv-index a:hover { color: var(--accent-text); text-decoration: none; }
.cv-page .cv-entry h3,.cv-page .cv-entry h4 { letter-spacing: -.012em; }
.atlas-home { overflow-x: clip; }
.atlas-home h1,.atlas-home h2,.atlas-home h3 { overflow-wrap: normal; }
.atlas-cover { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(265px,.72fr); grid-template-rows: auto auto; gap: 0 clamp(2.5rem,6vw,6.5rem); padding-top: clamp(2.5rem,5.8vw,5.75rem); padding-bottom: 0; }
.atlas-cover-copy { min-width: 0; align-self: center; padding-bottom: 3rem; }
.atlas-overline,.folio-label { color: var(--accent-text); font: 700 .77rem/1.4 var(--sans); letter-spacing: .11em; text-transform: uppercase; }
.atlas-overline { display: flex; align-items: center; gap: .65rem; margin-bottom: clamp(2rem,4vw,4rem); }
.atlas-mark { display: inline-grid; place-items: center; width: 1.85rem; height: 1.85rem; border: 1px solid currentColor; border-radius: 50%; font-size: 1.15rem; line-height: 1; }
.atlas-cover h1 { margin-bottom: clamp(1.5rem,3vw,3rem); font: 500 clamp(3rem,5.1vw,5.5rem)/.98 var(--serif); letter-spacing: -.055em; }
.atlas-cover h1 i { color: var(--accent); font-size: .67em; font-weight: 400; }
.atlas-thesis { max-width: 18ch; margin-bottom: 1.2rem; font: 500 clamp(2rem,3.7vw,3.9rem)/1.07 var(--serif); letter-spacing: -.045em; }
.atlas-summary { max-width: 47ch; margin-bottom: 2rem; color: var(--ink-soft); font-size: 1.05rem; line-height: 1.7; }
.atlas-cover-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.8rem; }
.atlas-cover-actions a { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 48px; font-size: .9rem; font-weight: 650; text-decoration: none; }
.atlas-cover-actions a:hover { text-decoration: underline; text-underline-offset: .4em; }
.atlas-primary-link { padding: .7rem 1rem; background: var(--ink); color: #fff; }
.atlas-primary-link:hover { color: #fff; }
.atlas-secondary-link { color: var(--accent-text); }
.atlas-cover-photo { position: relative; align-self: stretch; min-width: 0; margin: 0; padding: 0; background: #DFDFDB; }
.atlas-cover-photo img { width: 100%; height: 100%; max-height: 650px; min-height: 475px; object-fit: cover; object-position: center 12%; filter: grayscale(1) contrast(1.05); }
.atlas-cover-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: .7rem; padding: .8rem 1rem; background: #19191BEA; color: #fff; font-size: .72rem; letter-spacing: .04em; }
.atlas-appointments { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.atlas-appointments > div { display: grid; grid-template-columns: 5rem minmax(0,1fr); gap: 0 1rem; align-content: center; min-height: 106px; padding: 1.25rem 1.2rem 1.25rem 0; }
.atlas-appointments > div + div { padding-left: 1.5rem; border-left: 1px solid var(--line); }
.atlas-appointments span { grid-row: 1 / 3; color: var(--accent-text); font: 700 .75rem/1.5 var(--sans); text-transform: uppercase; letter-spacing: .12em; }
.atlas-appointments strong { font-size: .95rem; line-height: 1.5; }
.atlas-appointments small { color: var(--ink-soft); font-size: .82rem; line-height: 1.5; }
.folio-section { margin-top: clamp(4rem,7vw,7rem); padding-block: clamp(3.5rem,7vw,7rem); background: #1B1B1D; color: #F8F8F5; scroll-margin-top: 75px; }
.folio-section h2,.folio-section h3 { color: #F8F8F5; }
.folio-section .folio-label { color: #FF8CA4; }
.folio-heading { display: grid; grid-template-columns: minmax(0,.5fr) minmax(0,1fr); align-items: start; gap: 2rem; margin-bottom: clamp(2rem,4vw,4rem); }
.folio-heading .folio-label { margin-top: .5rem; }
.folio-heading h2 { margin: 0; font: 500 clamp(2.5rem,5vw,5.5rem)/1.02 var(--serif); letter-spacing: -.06em; }
.folio-heading h2 em { color: #EA8DA1; font-weight: 400; }
.folio-layout { display: grid; grid-template-columns: minmax(265px,.75fr) minmax(0,1.25fr); min-height: 530px; border: 1px solid #757579; }
.folio-index { display: flex; flex-direction: column; border-right: 1px solid #757579; }
.folio-tab { display: grid; grid-template-columns: 2rem minmax(0,1fr) 1rem; align-items: center; gap: .7rem; width: 100%; min-height: 108px; padding: 1.2rem clamp(.9rem,2.1vw,1.6rem); border: 0; border-bottom: 1px solid #68686B; background: transparent; color: #F8F8F5; text-align: left; transition: background .25s ease; }
.folio-tab:hover { background: #2B2B2F; }
.folio-tab.is-active { background: #F8F8F5; color: #19191B; }
.folio-tab .folio-no { align-self: start; color: #EA8DA1; font: 700 .77rem/1.6 var(--sans); }
.folio-tab.is-active .folio-no,.folio-tab.is-active .folio-arrow { color: var(--accent-text); }
.folio-tab strong { display: block; font: 500 clamp(1.3rem,2vw,1.8rem)/1.2 var(--serif); letter-spacing: -.02em; }
.folio-tab small { display: block; margin-top: .38rem; color: #BEBEBE; font-size: .75rem; letter-spacing: .03em; }
.folio-tab.is-active small { color: var(--ink-soft); }
.folio-arrow { color: #EA8DA1; transition: transform .2s ease; }
.folio-tab:hover .folio-arrow { transform: translate(3px,-3px); }
.folio-index-note { margin: auto 1.3rem 1.2rem; padding-top: 1rem; color: #B6B6B8; font: 400 .75rem/1.55 var(--sans); }
.folio-index-note span { color: #EA8DA1; }
.folio-stage { position: relative; display: flex; flex-direction: column; min-width: 0; padding: clamp(1.4rem,3vw,2.8rem); }
.folio-topline { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .9rem; border-bottom: 1px solid #68686B; color: #D4D4D2; font: 700 .7rem/1.4 var(--sans); letter-spacing: .12em; }
.folio-panel { position: relative; z-index: 1; display: flex; flex: 1; flex-direction: column; justify-content: center; min-height: 400px; padding: 2.5rem 0; animation: atlas-enter .32s ease-out both; }
.folio-panel-place { display: flex; justify-content: space-between; gap: 1rem; margin: 0 0 1.8rem; color: #EA8DA1; font: 700 .76rem/1.5 var(--sans); letter-spacing: .07em; text-transform: uppercase; }
.folio-panel > .folio-panel-place { max-width: none; margin-bottom: 1.8rem; color: #EA8DA1; font: 700 .76rem/1.5 var(--sans); }
.folio-panel-place span { color: #C9C9C9; text-align: right; }
.folio-panel h3 { max-width: 14ch; margin-bottom: 1.2rem; font: 500 clamp(2.3rem,4vw,4.3rem)/1.04 var(--serif); letter-spacing: -.055em; }
.folio-panel > p:not(.folio-panel-place) { max-width: 57ch; margin-bottom: 1.3rem; color: #E0E0DF; font: 400 1rem/1.75 var(--sans); }
.folio-panel a { position: relative; z-index: 2; display: inline-flex; align-items: center; min-height: 44px; width: fit-content; gap: .5rem; color: #F7A4B6; font-size: .86rem; font-weight: 650; }
.folio-panel-links { display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; }
.folio-watermark { position: absolute; z-index: -1; top: 0; right: 0; color: #FFFFFF09; font: 500 clamp(8rem,17vw,18rem)/1 var(--serif); letter-spacing: -.1em; pointer-events: none; }
.folio-progress { display: grid; grid-template-columns: repeat(4,1fr); gap: .5rem; }
.folio-progress span { height: 3px; background: #66666A; }
.folio-section[data-access-index="0"] .folio-progress span:nth-child(1),.folio-section[data-access-index="1"] .folio-progress span:nth-child(2),.folio-section[data-access-index="2"] .folio-progress span:nth-child(3),.folio-section[data-access-index="3"] .folio-progress span:nth-child(4),.folio-progress span:first-child { background: #EA8DA1; }
.folio-section[data-access-index="1"] .folio-progress span:first-child,.folio-section[data-access-index="2"] .folio-progress span:first-child,.folio-section[data-access-index="3"] .folio-progress span:first-child { background: #66666A; }
@keyframes atlas-enter { from { opacity: .25; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.atlas-routes { padding-block: clamp(4rem,8vw,8rem); }
.atlas-routes-intro { display: flex; align-items: baseline; gap: clamp(2rem,7vw,7rem); padding-bottom: 1.8rem; border-bottom: 1px solid var(--ink); }
.atlas-routes-intro h2 { margin: 0; font: 500 clamp(2.7rem,5vw,5rem)/1 var(--serif); letter-spacing: -.06em; }
.atlas-route-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.atlas-route-grid a { position: relative; display: flex; flex-direction: column; min-height: 190px; padding: 1.6rem 3rem 1.5rem 0; border-bottom: 1px solid var(--line); text-decoration: none; transition: background .2s ease, padding-left .2s ease; }
.atlas-route-grid a:nth-child(even) { padding-left: 2rem; border-left: 1px solid var(--line); }
.atlas-route-grid a:hover { background: #F0F0ED; padding-left: .6rem; }
.atlas-route-grid a:nth-child(even):hover { padding-left: 2.6rem; }
.atlas-route-grid span { margin-bottom: auto; color: var(--accent-text); font: 700 .72rem/1.4 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.atlas-route-grid strong { margin-top: 1rem; font: 500 clamp(1.6rem,2.7vw,2.55rem)/1.2 var(--serif); letter-spacing: -.035em; }
.atlas-route-grid small { max-width: 38ch; margin-top: .5rem; color: var(--ink-soft); font-size: .86rem; line-height: 1.55; }
.atlas-route-grid b { position: absolute; right: 1rem; bottom: 1.2rem; color: var(--accent-text); font-weight: 400; }
@media (max-width: 900px) {
  .atlas-cover { grid-template-columns: minmax(0,1fr) minmax(210px,.65fr); gap: 0 2rem; }
  .atlas-cover h1 { font-size: clamp(2.7rem,5vw,4.3rem); }
  .atlas-thesis { font-size: clamp(1.9rem,3.2vw,3rem); }
  .atlas-cover-photo img { min-height: 420px; }
  .folio-layout { grid-template-columns: minmax(205px,.7fr) minmax(0,1.3fr); }
  .folio-tab { min-height: 100px; }
}
@media (max-width: 760px) {
  .atlas-cover { display: flex; flex-direction: column; padding-top: 2.1rem; }
  .atlas-cover-copy { padding-bottom: 1.8rem; }
  .atlas-overline { margin-bottom: 1.8rem; font-size: .7rem; }
  .atlas-cover h1 { margin-bottom: 1.6rem; font-size: clamp(2.65rem,10vw,4.4rem); }
  .atlas-thesis { max-width: 20ch; font-size: clamp(2rem,7vw,3rem); }
  .atlas-summary { font-size: 1rem; line-height: 1.6; }
  .atlas-cover-photo { width: min(100%,430px); align-self: center; }
  .atlas-cover-photo img { min-height: 0; height: auto; max-height: 450px; aspect-ratio: 4/4.4; object-position: center 12%; }
  .atlas-appointments { width: 100%; margin-top: 1.5rem; grid-template-columns: 1fr; }
  .atlas-appointments > div,.atlas-appointments > div + div { grid-template-columns: 4rem minmax(0,1fr); min-height: 80px; padding: .85rem 0; border-left: 0; }
  .atlas-appointments > div + div { border-top: 1px solid var(--line); }
  .folio-heading { display: block; }
  .folio-heading .folio-label { margin-bottom: 1.1rem; }
  .folio-heading h2 { font-size: clamp(2.4rem,9vw,4.2rem); }
  .folio-layout { display: block; min-height: 0; }
  .folio-index { border-right: 0; border-bottom: 1px solid #757579; }
  .folio-index-note { display: none; }
  .folio-tab { min-height: 70px; padding: .8rem 1rem; }
  .folio-tab strong { font-size: 1.27rem; }
  .folio-stage { padding: 1.2rem; }
  .folio-panel { min-height: 335px; padding: 2.2rem 0; }
  .folio-panel h3 { font-size: clamp(2.15rem,8vw,3.5rem); }
  .folio-panel-place { display: block; font-size: .7rem; }
  .folio-panel-place span { display: block; text-align: left; margin-top: .2rem; }
  .atlas-routes-intro { display: block; }
  .atlas-routes-intro h2 { font-size: 3rem; }
  .atlas-route-grid { grid-template-columns: 1fr; }
  .atlas-route-grid a,.atlas-route-grid a:nth-child(even) { min-height: 155px; padding-left: 0; border-left: 0; }
  .atlas-route-grid a:hover,.atlas-route-grid a:nth-child(even):hover { padding-left: .4rem; }
}
@media (max-width: 390px) {
  .atlas-cover-actions { align-items: stretch; gap: .4rem 1.2rem; }
  .atlas-cover-actions a { gap: .7rem; }
  .folio-stage { padding: 1rem; }
  .folio-panel h3 { font-size: 2.08rem; }
}
@media (prefers-reduced-motion: reduce) { .folio-panel { animation: none; } .folio-tab,.folio-arrow,.atlas-route-grid a { transition: none; } }
@media print {
  .folio-section { background: #fff; color: #000; }
  .folio-section h2,.folio-section h3 { color: #000; }
  .folio-panel > p:not(.folio-panel-place) { color: #222; }
}

/* Quiet edition: typography, one portrait, one interactive reading surface. */
.quiet-edition { background: #FAFAF8; }
.quiet-hero { display: grid; grid-template-columns: minmax(0,1.42fr) minmax(260px,.7fr); gap: 0 clamp(2rem,5vw,5rem); padding-top: clamp(3rem,5vw,5rem); }
.quiet-opening { align-self: center; padding-bottom: 3rem; }
.quiet-kicker { margin-bottom: 2.5rem; color: var(--accent-text); font: 700 .75rem/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.quiet-hero h1 { margin-bottom: 2.1rem; font: 500 clamp(2.2rem,3.1vw,3.25rem)/1.12 var(--serif); letter-spacing: -.038em; }
.quiet-hero h1 em { color: var(--accent-text); font-weight: 400; }
.quiet-statement { max-width: 17ch; margin-bottom: 1.6rem; font: 500 clamp(2.8rem,5vw,5.5rem)/1.04 var(--serif); letter-spacing: -.062em; }
.quiet-statement span { color: var(--accent); }
.quiet-intro { max-width: 46ch; margin-bottom: 1.7rem; color: var(--ink-soft); font-size: 1.06rem; line-height: 1.65; }
.quiet-go { display: inline-flex; align-items: center; justify-content: space-between; gap: 2.5rem; min-height: 48px; padding: .7rem 0; border-bottom: 1px solid var(--ink); font-size: .94rem; font-weight: 650; text-decoration: none; }
.quiet-go:hover { color: var(--accent-text); border-color: var(--accent); }
.quiet-portrait { align-self: stretch; min-width: 0; margin: 0; }
.quiet-portrait img { width: 100%; height: calc(100% - 2rem); max-height: 650px; min-height: 470px; object-fit: cover; object-position: center 12%; filter: grayscale(1) contrast(1.045); }
.quiet-portrait figcaption { padding-top: .65rem; border-top: 2px solid var(--accent); color: var(--ink-soft); font: 600 .68rem/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.quiet-roles { grid-column: 1/-1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.quiet-roles p { display: grid; grid-template-columns: 4.8rem minmax(0,1fr); align-content: center; column-gap: .8rem; min-height: 95px; margin: 0; padding: 1rem 1.5rem 1rem 0; font-size: .91rem; font-weight: 650; line-height: 1.45; }
.quiet-roles p + p { border-left: 1px solid var(--line); padding-left: 1.5rem; }
.quiet-roles span { grid-row: span 2; color: var(--accent-text); font: 700 .7rem/1.5 var(--sans); text-transform: uppercase; letter-spacing: .12em; }
.quiet-roles small { grid-column: 2; color: var(--ink-soft); font-size: .78rem; font-weight: 400; }
.quiet-folio { padding-block: clamp(4rem,7vw,7rem); scroll-margin-top: 72px; }
.quiet-folio-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.8rem; }
.quiet-folio-head p { margin: 0 0 .4rem; color: var(--accent-text); font: 700 .75rem/1.4 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.quiet-folio-head h2 { order: -1; margin: 0; font: 500 clamp(2.5rem,4.5vw,4.8rem)/1.04 var(--serif); letter-spacing: -.055em; }
.quiet-folio-grid { display: grid; grid-template-columns: minmax(240px,.78fr) minmax(0,1.22fr); border-block: 1px solid var(--ink); }
.quiet-tabs { border-right: 1px solid var(--line); }
.quiet-tab { display: flex; align-items: center; gap: 1.5rem; width: 100%; min-height: 86px; padding: 1rem 1.5rem 1rem 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); text-align: left; font: 500 clamp(1.4rem,2.1vw,2rem)/1.2 var(--serif); transition: padding-left .2s ease, color .2s ease; }
.quiet-tab:last-child { border-bottom: 0; }
.quiet-tab span { color: var(--accent-text); font: 700 .75rem/1 var(--sans); }
.quiet-tab:is(:hover,.is-active) { color: var(--accent-text); padding-left: .55rem; }
.quiet-tab.is-active { box-shadow: inset 3px 0 var(--accent); }
.quiet-stage { display: flex; flex-direction: column; min-width: 0; padding: 1.2rem clamp(1.3rem,4vw,4.5rem) 1.8rem; }
.quiet-counter { align-self: end; margin: 0; color: var(--accent-text); font: 700 .7rem/1.4 var(--sans); letter-spacing: .1em; }
.quiet-stage .quiet-panel { display: flex; flex: 1; flex-direction: column; justify-content: center; min-height: 340px; padding: 2rem 0; animation: atlas-enter .28s ease-out both; }
.quiet-stage .quiet-panel > .quiet-place { margin-bottom: 1.3rem; color: var(--accent-text); font: 700 .73rem/1.4 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.quiet-stage .quiet-panel h3 { max-width: 16ch; margin-bottom: 1.2rem; font: 500 clamp(2.2rem,3.7vw,3.8rem)/1.05 var(--serif); letter-spacing: -.05em; }
.quiet-stage .quiet-panel > p:not(.quiet-place) { max-width: 55ch; margin-bottom: 1.2rem; color: var(--ink-soft); font-size: 1rem; line-height: 1.7; }
.quiet-stage .quiet-panel a { width: fit-content; min-height: 44px; color: var(--accent-text); font-size: .88rem; font-weight: 650; }
@media (max-width: 900px) { .quiet-hero { grid-template-columns: minmax(0,1.25fr) minmax(205px,.7fr); gap: 0 2rem; } .quiet-portrait img { min-height: 390px; } .quiet-statement { font-size: clamp(2.55rem,4.6vw,4rem); } }
@media (max-width: 760px) {
  .quiet-hero { display: flex; flex-direction: column; padding-top: 2.5rem; }
  .quiet-opening { padding-bottom: 1.5rem; }
  .quiet-kicker { margin-bottom: 1.7rem; }
  .quiet-hero h1 { margin-bottom: 1.4rem; font-size: clamp(2.2rem,8vw,3.2rem); }
  .quiet-statement { font-size: clamp(2.8rem,10vw,4.7rem); }
  .quiet-portrait { width: min(100%,420px); align-self: center; }
  .quiet-portrait img { height: auto; min-height: 0; max-height: 460px; aspect-ratio: 4/4.3; }
  .quiet-roles { grid-template-columns: 1fr; margin-top: 1.2rem; }
  .quiet-roles p,.quiet-roles p + p { min-height: 73px; padding: .8rem 0; border-left: 0; }
  .quiet-roles p + p { border-top: 1px solid var(--line); }
  .quiet-folio-head { display: block; }
  .quiet-folio-head h2 { margin-bottom: .8rem; }
  .quiet-folio-grid { display: block; }
  .quiet-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-right: 0; border-bottom: 1px solid var(--line); }
  .quiet-tab { min-height: 65px; gap: .6rem; padding: .8rem .5rem; font-size: clamp(1.05rem,4vw,1.4rem); }
  .quiet-tab:nth-child(odd) { border-right: 1px solid var(--line); }
  .quiet-tab:is(:hover,.is-active) { padding-left: .5rem; }
  .quiet-stage { padding: 1.2rem 0 .5rem; }
  .quiet-stage .quiet-panel { min-height: 300px; padding: 1.5rem 0; }
  .quiet-stage .quiet-panel h3 { font-size: clamp(2.2rem,8vw,3.4rem); }
}
@media (max-width: 390px) { .quiet-tab { font-size: 1.02rem; gap: .4rem; } .quiet-roles p { grid-template-columns: 4rem minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) { .quiet-tab { transition: none; } .quiet-stage .quiet-panel { animation: none; } }

/* The photographs set the rhythm; their native proportions are retained. */
.photo-essay { padding-block: clamp(4rem,7vw,7rem); }
.photo-essay-head { display: grid; grid-template-columns: minmax(170px,.55fr) minmax(0,1fr) auto; gap: 1rem 2rem; align-items: end; padding-bottom: 1.2rem; border-bottom: 1px solid var(--ink); }
.photo-essay-head p { margin: 0 0 .3rem; color: var(--accent-text); font: 700 .72rem/1.4 var(--sans); letter-spacing: .11em; text-transform: uppercase; }
.photo-essay-head h2 { margin: 0; font: 500 clamp(2.7rem,5vw,5.5rem)/1 var(--serif); letter-spacing: -.06em; }
.photo-essay-head a { padding-bottom: .3rem; color: var(--accent-text); font-size: .87rem; font-weight: 650; text-decoration: none; }
.photo-essay-head a:hover { text-decoration: underline; }
.photo-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); align-items: start; gap: 2.5rem 1.7rem; padding-top: 2rem; }
.photo-item { min-width: 0; margin: 0; }
.photo-item img { display: block; width: 100%; height: auto; background: #EAEAE7; filter: grayscale(1) contrast(1.035); }
.photo-item figcaption { display: flex; flex-wrap: wrap; gap: .25rem .8rem; padding-top: .7rem; border-top: 2px solid var(--accent); color: var(--ink); font-size: .87rem; line-height: 1.45; }
.photo-item figcaption span { color: var(--accent-text); font: 700 .7rem/1.7 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.photo-item-one { grid-column: 1 / 8; }
.photo-item-two { grid-column: 9 / 13; margin-top: 6rem; }
.photo-item-three { grid-column: 2 / 7; margin-top: 1rem; }
.photo-item-four { grid-column: 8 / 12; margin-top: 4rem; }
.photo-essay-media { padding-top: 1rem; }
.photo-essay-media .photo-grid { margin-bottom: 2rem; }
@media (max-width: 760px) {
 .photo-essay-head { display: block; }
 .photo-essay-head p,.photo-essay-head h2 { margin-bottom: .6rem; }
 .photo-grid { grid-template-columns: 1fr; gap: 2.3rem; padding-top: 1.5rem; }
 .photo-item-one,.photo-item-two,.photo-item-three,.photo-item-four { grid-column: 1; width: min(100%,560px); margin: 0 auto; }
 .photo-item img { max-height: 600px; width: auto; max-width: 100%; margin-inline: auto; }
}

/* Photo diary and press index share the same restrained archive language. */
.photo-item-five { grid-column: 4 / 8; margin-top: 1rem; }
.photo-item a { display: block; color: inherit; text-decoration: none; }
.media-index-title { grid-column: 1/-1; margin: 0; padding: 2.5rem 0 1.2rem; border-bottom: 1px solid var(--ink); font: 500 clamp(2.7rem,5vw,5.5rem)/1 var(--serif); letter-spacing: -.06em; }
.media-bento { counter-reset: press; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; padding-bottom: clamp(3rem,7vw,6rem); }
.media-bento .media-tile {
  counter-increment: press;
  display: grid;
  grid-template-columns: 2.2rem minmax(0,1fr);
  align-content: start;
  min-height: 185px;
  padding: 1.35rem 2rem 1.45rem 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
}
.media-bento .media-tile:nth-of-type(even) { padding-left: 1.5rem; border-left: 1px solid var(--line); }
.media-bento .media-tile::before { content: counter(press,decimal-leading-zero); grid-row: 1/4; color: var(--accent-text); font: 700 .68rem/1.5 var(--sans); }
.media-bento .media-tile .meta { grid-column: 2; color: var(--ink-soft); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.media-bento .media-tile h3 { grid-column: 2; max-width: 25ch; color: var(--ink); font-size: clamp(1.25rem,2vw,1.7rem); }
.media-bento .media-tile a { grid-column: 2; align-self: end; color: var(--accent-text); font-size: .82rem; }
@media (max-width: 760px) {
  .photo-item-five { grid-column: 1; width: min(80%,390px); margin: 0 auto; }
  .media-bento { display: block; }
  .media-bento .media-tile,.media-bento .media-tile:nth-of-type(even) { min-height: 155px; padding: 1.1rem 0; border-left: 0; }
}

/* Cover edition — a typographic diptych, followed by an open record. */
.cover-edition { background: #FAFAF8; }
.cover-story { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(0,.82fr); min-height: min(780px,calc(100svh - 70px)); max-width: 1600px; margin-inline: auto; background: #19191B; }
.cover-copy { position: relative; display: flex; flex-direction: column; min-width: 0; padding: clamp(2rem,4.3vw,5rem) clamp(1.5rem,5vw,6rem) clamp(2rem,3vw,3rem); border-right: 4px solid var(--accent); color: #F9F8F5; }
.cover-copy h1 { margin: clamp(2.5rem,5vw,5rem) 0 1rem; color: #F9F8F5; font: 500 clamp(1.7rem,2.2vw,2.5rem)/1.16 var(--serif); letter-spacing: -.03em; }
.cover-copy h1 i { color: #F4A3B4; font-weight: 400; }
.cover-topline { display: flex; align-items: center; gap: .7rem; color: #E0DAD9; font: 700 .72rem/1.5 var(--sans); letter-spacing: .13em; text-transform: uppercase; }
.cover-star { display: grid; place-items: center; width: 2rem; height: 2rem; flex: none; border: 1px solid #D58FA0; border-radius: 50%; color: #F4A3B4; font-size: 1.2rem; }
.cover-headline { max-width: 10ch; margin: 0 0 3rem; color: #F9F8F5; font: 500 clamp(4.1rem,7.15vw,8rem)/.91 var(--serif); letter-spacing: -.07em; }
.cover-headline em { color: #F4A3B4; font-weight: 400; }
.cover-headline span { color: #C41940; }
.cover-bottom { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem 2rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid #747477; }
.cover-bottom p { max-width: 36ch; margin: 0; color: #E0E0DE; font-size: .94rem; line-height: 1.65; }
.cover-bottom a { display: inline-flex; gap: 1.5rem; color: #F6A4B6; font-size: .88rem; font-weight: 700; text-decoration: none; }
.cover-bottom a:hover { text-decoration: underline; }
.cover-image { position: relative; min-width: 0; margin: 0; background: #D3D3D0; }
.cover-image img { width: 100%; height: 100%; min-height: 570px; object-fit: cover; object-position: center 10%; filter: grayscale(1) contrast(1.05); }
.cover-image figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 1.2rem; background: #19191BE8; color: #F9F8F5; font: 700 .68rem/1.4 var(--sans); letter-spacing: .12em; }
.cover-appointments { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-bottom: 1px solid var(--ink); }
.cover-appointments p { display: grid; grid-template-columns: 5rem minmax(0,1fr); align-content: center; gap: 0 .7rem; min-height: 105px; margin: 0; padding: 1.2rem 1rem 1.2rem 0; font-size: .91rem; font-weight: 650; line-height: 1.5; }
.cover-appointments p + p { padding-left: 1.5rem; border-left: 1px solid var(--line); }
.cover-appointments span { grid-row: span 2; color: var(--accent-text); font: 700 .7rem/1.5 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.cover-appointments small { grid-column: 2; color: var(--ink-soft); font-size: .77rem; font-weight: 400; }
.record-index { display: grid; grid-template-columns: minmax(180px,.4fr) minmax(0,1fr); gap: clamp(2rem,5vw,5rem); padding-block: clamp(4rem,7vw,7rem); scroll-margin-top: 75px; }
.record-heading p { margin-bottom: 1.3rem; color: var(--accent-text); font: 700 .72rem/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.record-heading h2 { max-width: 10ch; margin: 0; font: 500 clamp(2.6rem,4.5vw,5rem)/1.02 var(--serif); letter-spacing: -.055em; }
.record-list { border-top: 1px solid var(--ink); }
.record-list details { border-bottom: 1px solid var(--line); }
.record-list summary { display: grid; grid-template-columns: 2.2rem minmax(0,1fr) 1.6rem; align-items: baseline; gap: 1rem; min-height: 100px; padding: 1.3rem .2rem; cursor: pointer; list-style: none; }
.record-list summary::-webkit-details-marker { display: none; }
.record-list summary span { color: var(--accent-text); font: 700 .7rem/1.5 var(--sans); }
.record-list summary strong { font: 500 clamp(2rem,3.5vw,3.9rem)/1.05 var(--serif); letter-spacing: -.045em; }
.record-list summary b { align-self: center; color: var(--accent-text); font: 400 1.4rem/1 var(--sans); }
.record-list details[open] summary b { transform: rotate(45deg); }
.record-list summary:hover strong,.record-list details[open] summary strong { color: var(--accent-text); }
.record-detail { max-width: 57ch; margin: -.4rem 0 1.5rem 3.2rem; padding-left: 1.2rem; border-left: 2px solid var(--accent); }
.record-detail p { margin-bottom: .7rem; color: var(--ink-soft); font-size: 1rem; line-height: 1.65; }
.record-detail a { display: inline-flex; min-height: 40px; align-items: center; color: var(--accent-text); font-size: .86rem; font-weight: 650; }
@media (max-width: 900px) {
 .cover-story { min-height: 610px; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
 .cover-copy { padding-inline: 1.8rem; }
 .cover-copy h1 { margin-top: 2.2rem; }
 .cover-headline { font-size: clamp(3.7rem,7.2vw,5.7rem); }
 .cover-image img { min-height: 610px; }
 .record-index { grid-template-columns: minmax(160px,.35fr) minmax(0,1fr); gap: 2rem; }
}
@media (max-width: 760px) {
 .cover-story { display: flex; flex-direction: column; min-height: 0; }
 .cover-copy { padding: 2rem 1.25rem 2.3rem; border-right: 0; border-bottom: 4px solid var(--accent); }
 .cover-copy h1 { margin: 2.3rem 0 1.2rem; font-size: clamp(1.9rem,6vw,2.8rem); }
 .cover-headline { max-width: 11ch; margin-bottom: 2.5rem; font-size: clamp(3.8rem,12vw,6.4rem); }
 .cover-bottom { align-items: start; }
 .cover-image img { min-height: 0; height: auto; max-height: 520px; aspect-ratio: 4 / 3.6; object-position: center 12%; }
 .cover-appointments { grid-template-columns: 1fr; }
 .cover-appointments p,.cover-appointments p + p { min-height: 80px; padding: .85rem 0; border-left: 0; }
 .cover-appointments p + p { border-top: 1px solid var(--line); }
 .record-index { display: block; }
 .record-heading { margin-bottom: 2rem; }
 .record-heading h2 { max-width: none; font-size: clamp(2.8rem,8vw,4rem); }
 .record-list summary { min-height: 80px; gap: .5rem; }
 .record-list summary strong { font-size: clamp(1.8rem,6vw,2.8rem); }
 .record-detail { margin-left: 2.5rem; }
}
@media (max-width: 390px) { .cover-headline { font-size: 3.6rem; } .cover-image figcaption { font-size: .6rem; } .record-list summary strong { font-size: 1.7rem; } }
@media (prefers-reduced-motion: reduce) { .record-list summary b { transition: none; } }

/* A softer monochrome portrait, presented as a framed editorial plate. */
.cover-image { padding: clamp(.7rem,1.6vw,1.5rem); background: #252326; }
.cover-image img { min-height: calc(570px - 2rem); height: 100%; filter: grayscale(1) contrast(.86) brightness(1.09); object-position: center 14%; }
.cover-image figcaption { left: clamp(.7rem,1.6vw,1.5rem); right: clamp(.7rem,1.6vw,1.5rem); bottom: clamp(.7rem,1.6vw,1.5rem); background: linear-gradient(transparent,#19191BEA); padding-top: 2.3rem; }
@media (max-width: 900px) { .cover-image img { min-height: calc(610px - 2rem); } }
@media (max-width: 760px) { .cover-image { padding: .75rem; } .cover-image img { min-height: 0; max-height: 520px; height: auto; } .cover-image figcaption { inset: auto .75rem .75rem; } }

/* Media: one tightly composed contact sheet in the language of an exhibition wall. */
.media-page .media-hero { padding-bottom: 1rem; }
.media-page .media-hero h1 { margin: 0; }
.media-page .media-hero + .section { padding-block: 1rem 3rem; }
.media-page .media-hero + .section .contact-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr) auto; align-items: center; gap: 1.5rem; padding: 1.6rem 0; border: 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); background: transparent; }
.media-page .media-hero + .section .contact-panel h2,.media-page .media-hero + .section .contact-panel p { margin: 0; }
.media-page .media-hero + .section .contact-panel h2 { font-size: clamp(1.55rem,2.5vw,2.3rem); }
.media-page .media-hero + .section .contact-panel .button { background: transparent; border: 0; color: var(--accent-text); white-space: nowrap; }
.media-page .media-hero + .section .contact-panel .button::after { content: ' ↗'; }
.media-page .photo-essay-media { max-width: none; padding: clamp(3rem,5vw,5rem) max(1.25rem,calc((100vw - 1136px)/2)); background: #1D1C1E; color: #F7F3EF; }
.media-page .photo-essay-head { grid-template-columns: minmax(150px,.4fr) 1fr; align-items: end; padding-bottom: 1.5rem; border-color: #747071; }
.media-page .photo-essay-head p { color: #DB8E9F; }
.media-page .photo-essay-head h2 { color: #F7F3EF; font-size: clamp(3.3rem,6.8vw,7.5rem); }
.media-page .photo-grid { grid-template-columns: repeat(12,minmax(0,1fr)); align-items: stretch; gap: 1.75rem 1rem; padding-top: 1rem; margin-bottom: 0; }
.media-page .photo-item { margin: 0; width: auto; }
.media-page .photo-item-one { grid-column: 1 / 8; }
.media-page .photo-item-two { grid-column: 8 / 13; }
.media-page .photo-item-three { grid-column: 1 / 5; }
.media-page .photo-item-four { grid-column: 5 / 9; }
.media-page .photo-item-five { grid-column: 9 / 13; }
.media-page .photo-item img { width: 100%; height: auto; aspect-ratio: 1.25; max-height: none; object-fit: cover; margin: 0; filter: grayscale(1) contrast(1.03); background: #322F30; }
.media-page .photo-item-one img { aspect-ratio: 1.49; }
.media-page .photo-item-two img { aspect-ratio: 1.03; object-position: 50% 45%; }
.media-page .photo-item-three img,.media-page .photo-item-four img,.media-page .photo-item-five img { aspect-ratio: .83; }
.media-page .photo-item-five a { height: auto; }
.media-page .photo-item-five img { object-fit: contain; padding: .5rem; background: #353134; }
.media-page .photo-item figcaption { display: block; min-height: 3.5rem; padding-top: .6rem; border-top: 1px solid #8A8585; color: #E7E2DE; font-size: .78rem; }
.media-page .photo-item figcaption span { display: block; margin-bottom: .2rem; color: #E9A0B0; }
.media-page .photo-item a:hover img { filter: grayscale(.5); }
@media (max-width: 760px) {
 .media-page .media-hero + .section .contact-panel { display: block; }
 .media-page .media-hero + .section .contact-panel p { margin: .7rem 0; }
 .media-page .media-hero + .section .contact-panel .button { padding-left: 0; }
 .media-page .photo-essay-media { padding: 2.5rem 1.25rem 3rem; }
 .media-page .photo-essay-head { display: block; }
 .media-page .photo-grid { gap: 1.3rem .75rem; }
 .media-page .photo-item-one { grid-column: 1 / 13; }
 .media-page .photo-item-two,.media-page .photo-item-three,.media-page .photo-item-four,.media-page .photo-item-five { grid-column: span 6; }
 .media-page .photo-item-one img { aspect-ratio: 1.4; }
 .media-page .photo-item-two img,.media-page .photo-item-three img,.media-page .photo-item-four img,.media-page .photo-item-five img { aspect-ratio: .87; }
}
@media (max-width: 470px) {
 .media-page .photo-essay-head h2 { font-size: clamp(3rem,14vw,5rem); }
 .media-page .photo-grid { gap: 1.35rem .55rem; }
 .media-page .photo-item figcaption { font-size: .72rem; line-height: 1.35; }
}

/* A little motion in the controls; the artwork does the visual work. */
.cover-star { transition: transform .6s cubic-bezier(.2,.7,.2,1), border-color .25s; }
.cover-story:hover .cover-star { transform: rotate(90deg); border-color: #F4A3B4; }
.cover-bottom a span { display: inline-block; transition: transform .25s ease; }
.cover-bottom a:is(:hover,:focus-visible) span { transform: translate(4px,4px); }
.cover-image { overflow: hidden; }
.cover-image img { transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.cover-image:hover img { transform: scale(1.018); }

/* A visual plate and a chronological narrative, rather than hidden accordion entries. */
.story-section { padding-block: clamp(4rem,8vw,8rem); scroll-margin-top: 80px; }
.story-heading { display: grid; grid-template-columns: minmax(140px,.33fr) minmax(0,1fr); gap: 2rem; align-items: start; padding-bottom: clamp(2rem,4vw,4rem); }
.story-heading p { margin: .5rem 0 0; color: var(--accent-text); font: 700 .72rem/1.5 var(--sans); letter-spacing: .13em; text-transform: uppercase; }
.story-heading h2 { max-width: 15ch; margin: 0; font: 500 clamp(3.3rem,6.2vw,7rem)/.99 var(--serif); letter-spacing: -.065em; }
.story-layout { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: clamp(2rem,5vw,5rem); align-items: start; }
.story-plate { position: sticky; top: 6.5rem; min-width: 0; margin: 0; }
.story-plate img { width: 100%; height: auto; aspect-ratio: 1.25; object-fit: cover; object-position: 50% 51%; background: #EFEADF; }
.story-plate figcaption { display: flex; align-items: center; gap: .7rem; padding-top: .75rem; border-top: 1px solid var(--ink); color: var(--accent-text); font: 700 .68rem/1.5 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.story-chapters { border-top: 1px solid var(--ink); }
.story-chapter { position: relative; padding: clamp(2rem,4vw,3.2rem) 0 clamp(2.4rem,5vw,4rem); border-bottom: 1px solid var(--line); }
.story-chapter::before { content: ''; position: absolute; top: -1px; left: 0; width: 0; height: 2px; background: #A20C30; transition: width .4s ease; }
.story-chapter:is(:hover,:focus-within)::before { width: min(13rem,40%); }
.story-time { display: block; margin-bottom: 1.2rem; color: var(--accent-text); font: 700 .7rem/1.5 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.story-chapter h3 { max-width: 15ch; margin-bottom: 1.15rem; font: 500 clamp(2.4rem,3.8vw,4.3rem)/1.02 var(--serif); letter-spacing: -.055em; }
.story-chapter p { max-width: 53ch; margin-bottom: 1rem; color: #49494D; font-size: clamp(.96rem,1.2vw,1.06rem); line-height: 1.75; }
.story-chapter a { display: inline-flex; align-items: center; gap: 1.5rem; min-height: 42px; color: var(--accent-text); font-size: .85rem; font-weight: 700; text-decoration: none; }
.story-chapter a span { transition: transform .25s ease; }
.story-chapter a:is(:hover,:focus-visible) span { transform: translate(4px,-4px); }
@media (max-width: 760px) {
 .story-heading { display: block; }
 .story-heading p { margin: 0 0 1.2rem; }
 .story-heading h2 { font-size: clamp(3rem,10vw,5rem); }
 .story-layout { display: block; }
 .story-plate { position: static; margin-bottom: 2.5rem; }
 .story-plate img { aspect-ratio: 1.5; }
 .story-chapter { padding-block: 2rem 2.4rem; }
 .story-chapter h3 { max-width: none; font-size: clamp(2.4rem,8vw,3.5rem); }
}

/* The monochrome archive briefly reveals the colour of the original photographs. */
.media-page .photo-item { overflow: hidden; }
.media-page .photo-item img { transition: filter .55s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.media-page .photo-item:is(:hover,:focus-within) img { filter: grayscale(.12) contrast(1.02); transform: scale(1.018); }
.media-page .photo-item-five:is(:hover,:focus-within) img { filter: grayscale(.3); }
.media-bento .media-tile { transition: padding-left .25s ease; }
.media-bento .media-tile:hover { padding-left: .35rem; }
.media-bento .media-tile:nth-of-type(even):hover { padding-left: 1.85rem; }
@media (prefers-reduced-motion: reduce) {
 .cover-star,.cover-bottom a span,.cover-image img,.story-chapter::before,.story-chapter a span,.media-page .photo-item img,.media-bento .media-tile { transition: none; }
}

@media (prefers-reduced-motion: no-preference) {
 .cover-copy h1 { animation: cover-arrive .8s both; }
 .cover-headline { animation: cover-arrive 1s .14s both; }
 .cover-bottom { animation: cover-arrive .9s .38s both; }
 .cover-image img { animation: portrait-arrive 1.3s .1s both; }
 @keyframes cover-arrive { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
 @keyframes portrait-arrive { from { opacity: 0; transform: scale(1.045); } to { opacity: 1; transform: scale(1); } }
}

/* A lighter editorial cover with the portrait as the sole homepage photograph. */
.cover-edition { background: #F5F2EC; }
.cover-story { width: min(100%,1420px); min-height: 0; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); background: #F5F2EC; border-bottom: 1px solid #BEB7AE; }
.cover-copy { min-height: clamp(540px,48vw,660px); padding: clamp(2rem,4vw,4rem) clamp(2rem,5vw,5.5rem) clamp(2rem,3vw,3rem); border-right: 0; color: #252326; }
.cover-topline { color: #615B59; }
.cover-star { color: #9A243B; border-color: #B96476; }
.cover-copy h1 { margin-top: clamp(2rem,4vw,4rem); color: #252326; }
.cover-copy h1 i,.cover-headline em { color: #9A243B; }
.cover-headline { max-width: 11ch; margin-bottom: 2rem; color: #242225; font-size: clamp(4rem,6vw,6.9rem); line-height: .94; }
.cover-headline span { color: #9A243B; }
.cover-bottom { border-top-color: #BEB7AE; }
.cover-bottom p { color: #514C4B; }
.cover-bottom a { color: #8E2138; }
.cover-image { min-height: 0; padding: clamp(.75rem,1.6vw,1.4rem); background: #DAD5CE; }
.cover-image img { display: block; min-height: 0; height: 100%; max-height: 660px; object-position: center 14%; }
.cover-image figcaption { background: linear-gradient(transparent,#242225B5); }
.cover-appointments { border-bottom-color: #BEB7AE; }
/* Cartographic index: real locations, restrained motion, no documentary images on the homepage. */
.place-atlas { padding-block: clamp(3.5rem,6vw,6rem) clamp(4rem,7vw,7rem); scroll-margin-top: 95px; }
.place-atlas-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem 3rem; padding-bottom: 1.5rem; }
.atlas-eyebrow { margin: 0 0 .75rem; color: #8E2138; font: 700 .75rem/1.5 var(--sans); letter-spacing: .13em; text-transform: uppercase; }
.place-atlas-heading h2 { margin: 0; color: #252326; font: 500 clamp(3.3rem,6vw,6rem)/1 var(--serif); letter-spacing: -.065em; }
.place-atlas-heading > p { max-width: 24ch; margin: 0 0 .3rem; color: #655E5D; font-size: .93rem; line-height: 1.5; }
.atlas-layout { display: grid; grid-template-columns: minmax(0,1.9fr) minmax(265px,.8fr); border-block: 1px solid #BEB7AE; }
.atlas-map { position: relative; align-self: start; width: 100%; aspect-ratio: 2/1; background: #EEEAE2; overflow: hidden; }
.atlas-map > img { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; user-select: none; }
.atlas-route { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.atlas-route path { fill: none; stroke: #A52A43; stroke-width: 2; stroke-dasharray: 5 8; opacity: .65; }
.map-pin { position: absolute; z-index: 2; left: var(--x); top: var(--y); display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; transform: translate(-50%,-50%); }
.map-pin span { display: block; width: 9px; height: 9px; border: 2px solid #F7F4EE; border-radius: 50%; background: #9A243B; box-shadow: 0 0 0 1px #9A243B,0 2px 8px #36262B50; transition: width .28s ease,height .28s ease,box-shadow .28s ease; }
.map-pin:is(:hover,:focus-visible,.is-active) span { width: 15px; height: 15px; box-shadow: 0 0 0 5px #A52A4333,0 2px 9px #36262B40; }
.map-pin:focus-visible { outline: 2px solid #9A243B; outline-offset: 2px; }
.atlas-side { display: flex; flex-direction: column; min-width: 0; border-left: 1px solid #BEB7AE; }
.atlas-place-names { display: flex; flex-wrap: wrap; align-content: start; gap: .35rem; padding: 1.25rem; border-bottom: 1px solid #BEB7AE; }
.map-place-name { min-height: 38px; padding: .45rem .7rem; border: 1px solid #C9C2BA; border-radius: 2px; background: transparent; color: #514C4B; font: 600 .75rem/1.3 var(--sans); transition: border-color .22s,background .22s,color .22s; }
.map-place-name:is(:hover,:focus-visible,.is-active) { border-color: #9A243B; background: #9A243B; color: #FFF9F4; }
.atlas-detail { min-height: 195px; padding: 1.5rem 1.4rem; }
.atlas-detail > span { display: block; margin-bottom: .45rem; color: #9A243B; font: 700 .7rem/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.atlas-detail h3 { margin: 0 0 .6rem; color: #252326; font: 500 clamp(2.4rem,3.2vw,3.5rem)/1.05 var(--serif); letter-spacing: -.055em; }
.atlas-detail p { max-width: 33ch; margin: 0 0 .8rem; color: #514C4B; font-size: .91rem; line-height: 1.5; }
.atlas-detail a { color: #8E2138; font-size: .8rem; font-weight: 700; text-underline-offset: .25em; }
@media (max-width: 900px) { .atlas-layout { display: block; } .atlas-side { border-left: 0; border-top: 1px solid #BEB7AE; } .atlas-detail { min-height: 0; } }
@media (max-width: 760px) {
 .place-atlas { padding-block: 3.5rem; }
 .place-atlas-heading { display: block; }
 .place-atlas-heading > p { max-width: none; margin: 1rem 0 0; }
 .atlas-map { aspect-ratio: 1.75; }
 .atlas-place-names { padding: 1rem 0; gap: .4rem; }
 .map-place-name { font-size: .73rem; }
 .atlas-detail { padding: 1.5rem 0; }
}
@media (prefers-reduced-motion: reduce) { .map-pin span,.map-place-name { transition: none; } }

.atlas-detail { display: flex; align-items: center; min-height: 90px; }
.atlas-detail h3 { margin: 0; }

/* Editorial revision: expansive photography and a full-width cartographic field. */
:root { --serif: "Baskerville", "Iowan Old Style", "Palatino Linotype", Georgia, serif; --sans: "Avenir Next", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.cover-edition { background: #F6F3ED; }
.cover-story { background: #F6F3ED; }
.cover-copy { min-height: clamp(500px,44vw,630px); }
.cover-headline { font-size: clamp(3.8rem,5.75vw,6.6rem); letter-spacing: -.065em; }
.cover-image { background: #D9D4CB; }
.cover-image img { max-height: 630px; }
.place-atlas { max-width: 1480px; padding-inline: clamp(1rem,3vw,3rem); padding-top: clamp(4.5rem,8vw,8rem); }
.place-atlas-heading { padding-bottom: 2rem; }
.place-atlas-heading h2 { font-size: clamp(4.2rem,8.4vw,9rem); font-weight: 400; letter-spacing: -.07em; }
.atlas-layout { position: relative; display: block; border-block: 1px solid #BEB7AE; }
.atlas-map { aspect-ratio: 2/1; }
.atlas-detail { position: absolute; z-index: 4; right: clamp(1rem,2.5vw,2.5rem); bottom: clamp(1rem,2.5vw,2.5rem); min-height: 0; padding: .9rem 1.3rem .8rem; border: 1px solid #BEB7AE; background: #F6F3EDED; backdrop-filter: blur(12px); pointer-events: none; }
.atlas-detail h3 { font-size: clamp(2rem,3.4vw,4rem); line-height: 1; }
.atlas-place-names { justify-content: center; gap: .2rem .7rem; padding: 1.3rem 1rem; border-bottom: 0; }
.map-place-name { min-height: 44px; padding: .5rem .65rem; border: 0; border-bottom: 1px solid transparent; border-radius: 0; background: transparent; }
.map-place-name:is(:hover,:focus-visible,.is-active) { border-color: #9A243B; background: transparent; color: #9A243B; }
.map-pin { width: 38px; height: 38px; }
.media-page { background: #F6F3ED; }
.media-page .media-hero { padding-top: clamp(3.5rem,7vw,7rem); padding-bottom: clamp(2rem,4vw,4rem); }
.media-page .media-hero h1 { max-width: 11ch; font: 400 clamp(4.4rem,8.5vw,9.5rem)/.92 var(--serif); letter-spacing: -.075em; }
.media-page .photo-essay-media { padding-block: clamp(4rem,8vw,8rem); background: #E8E1D6; color: #292426; }
.media-page .photo-essay-head { align-items: end; border-color: #A59D93; }
.media-page .photo-essay-head p { color: #8E2138; }
.media-page .photo-essay-head h2 { color: #292426; font: 400 clamp(3.7rem,7.7vw,8rem)/.96 var(--serif); letter-spacing: -.065em; }
.media-page .photo-grid { column-gap: clamp(1rem,2.2vw,2.4rem); row-gap: clamp(3rem,7vw,7rem); }
.media-page .photo-item-one { grid-column: 1 / 9; }
.media-page .photo-item-two { grid-column: 9 / 13; margin-top: clamp(3rem,9vw,10rem); }
.media-page .photo-item-three { grid-column: 1 / 6; }
.media-page .photo-item-four { grid-column: 7 / 13; margin-top: clamp(2rem,6vw,6rem); }
.media-page .photo-item-five { grid-column: 5 / 9; margin-top: 0; }
.media-page .photo-item img { filter: grayscale(1) contrast(.95); background: #D8D1C6; }
.media-page .photo-item-five img { background: #D8D1C6; }
.media-page .photo-item figcaption { padding-top: .9rem; border-color: #A59D93; color: #514A48; font-size: .83rem; }
.media-page .photo-item figcaption span { color: #8E2138; }
.media-page .photo-item a:hover img { filter: grayscale(.85); }
.media-page .photo-item:is(:hover,:focus-within) img { filter: grayscale(.85) contrast(.98); transform: scale(1.015); }
.media-page .media-index-title { font-size: clamp(3.5rem,6vw,6.5rem); }
.media-page .media-bento .media-tile { min-height: 200px; }
.media-page .media-bento .media-tile h3 { font: 400 clamp(1.45rem,2.1vw,2rem)/1.18 var(--serif); letter-spacing: -.03em; }
.media-page .media-bento .media-tile:hover h3 { color: #8E2138; }
@media (max-width: 760px) {
 .cover-copy { min-height: 0; }
 .cover-headline { font-size: clamp(3.45rem,11vw,5.6rem); }
 .place-atlas { padding-inline: 1rem; }
 .place-atlas-heading h2 { font-size: clamp(4.5rem,15vw,7rem); }
 .atlas-map { aspect-ratio: 1.7; }
 .atlas-detail { right: .65rem; bottom: .65rem; padding: .6rem .8rem; }
 .atlas-detail h3 { font-size: clamp(1.4rem,5vw,2.2rem); }
 .atlas-place-names { justify-content: start; gap: 0 .6rem; padding: .9rem 0; }
 .map-place-name { padding: .4rem .25rem; font-size: .76rem; }
 .media-page .media-hero h1 { font-size: clamp(4.1rem,12vw,6.3rem); }
 .media-page .photo-essay-media { padding: 4rem 1.25rem; }
 .media-page .photo-grid { display: block; }
 .media-page .photo-item-one,.media-page .photo-item-two,.media-page .photo-item-three,.media-page .photo-item-four,.media-page .photo-item-five { width: 100%; margin: 0 0 3.5rem; }
 .media-page .photo-item-two,.media-page .photo-item-four { width: 88%; margin-left: auto; }
 .media-page .photo-item-five { width: min(68%,310px); margin-inline: auto; }
 .media-page .photo-item img,.media-page .photo-item-one img,.media-page .photo-item-two img,.media-page .photo-item-three img,.media-page .photo-item-four img { aspect-ratio: 1.2; }
 .media-page .photo-item-five img { aspect-ratio: .78; }
 .media-page .media-bento .media-tile { min-height: 0; }
}
@media (prefers-reduced-motion: no-preference) {
 .atlas-route path { animation: atlas-travel 14s linear infinite; }
 @keyframes atlas-travel { to { stroke-dashoffset: -104; } }
 .photo-motion-ready .media-page .photo-item { opacity: 0; transform: translateY(26px); transition: opacity .85s ease,transform .9s cubic-bezier(.2,.7,.2,1); }
 .photo-motion-ready .media-page .photo-item.is-visible { opacity: 1; transform: none; }
 .media-page .photo-item-five a:is(:hover,:focus-visible) img { transform: translateY(-6px) rotate(-1deg); }
}

/* Keep the projected land and point coordinates on the same canvas at every width. */
.atlas-map,.place-atlas .atlas-map { aspect-ratio: 2/1; }
.atlas-map > img { object-fit: fill; }
@media (max-width: 760px) { .atlas-map,.place-atlas .atlas-map { aspect-ratio: 2/1; } }


/* Identity: one drawn line moves from the surgical language into the atlas. */
.cover-story { overflow: hidden; }
.cover-copy { min-height: clamp(510px,46vw,670px); }
.cover-copy h1 { position: relative; z-index: 1; margin: clamp(3rem,5vw,5rem) 0 0; color: #292525; font: 400 clamp(5.2rem,8.3vw,9.6rem)/.84 var(--serif); letter-spacing: -.085em; overflow-wrap: normal; }
.cover-copy h1 span { display: block; white-space: nowrap; }
.cover-copy h1 span + span { margin-left: -.05em; }
.cover-line { display: block; width: min(100%,600px); height: clamp(70px,8vw,110px); margin-block: clamp(1.7rem,3vw,3rem) auto; overflow: visible; }
.cover-line-thread { fill: none; stroke: #982742; stroke-width: 2.3; stroke-linecap: round; }
.cover-line-stitches { fill: none; stroke: #982742; stroke-width: 1.5; stroke-linecap: round; }
.cover-image { padding: clamp(.8rem,1.6vw,1.5rem); }
.cover-image img { max-height: 670px; }
.cover-bottom { position: relative; z-index: 1; }
@media (prefers-reduced-motion: no-preference) {
 .cover-line-thread { stroke-dasharray: 850; stroke-dashoffset: 850; animation: draw-thread 1.8s .35s cubic-bezier(.3,.7,.2,1) forwards; }
 .cover-line-stitches { opacity: 0; animation: stitch-appear .7s 1.6s ease forwards; }
 @keyframes draw-thread { to { stroke-dashoffset: 0; } }
 @keyframes stitch-appear { to { opacity: 1; } }
}
@media (max-width: 900px) { .cover-copy h1 { font-size: clamp(4.5rem,8.4vw,7.7rem); } }
@media (max-width: 760px) {
 .cover-copy { min-height: 0; }
 .cover-copy h1 { margin-top: 2.7rem; font-size: clamp(4.15rem,13vw,7rem); }
 .cover-line { height: 68px; margin-block: 1.5rem 2rem; }
 .cover-image img { max-height: 390px; }
}
@media (max-width: 390px) { .cover-copy h1 { font-size: clamp(3.5rem,13vw,4.7rem); } }

/* Documentary photographs keep their complete original frame. */
.media-page .photo-item img,
.media-page .photo-item-one img,
.media-page .photo-item-two img,
.media-page .photo-item-three img,
.media-page .photo-item-four img,
.media-page .photo-item-five img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  padding: 0;
  border: clamp(.35rem,.8vw,.7rem) solid #F6F3ED;
  background: #E8E1D6;
}
.media-page .photo-item:is(:hover,:focus-within) img { transform: none; }

/* A camera roll for the original, uncropped documentary photographs. */
.media-page .photo-essay-media { padding-top: clamp(3rem,5vw,5rem); background: #E8E1D6; }
.media-page .roll-window { position: relative; overflow: hidden; background: #2A2420; }
.media-page .roll-window::before,.media-page .roll-window::after { position: absolute; z-index: 3; right: 0; left: 0; height: 17px; background: radial-gradient(ellipse 8px 5px at center,#D7CFC0 68%,transparent 72%) left center / 36px 17px repeat-x; content: ''; pointer-events: none; }
.media-page .roll-window::before { top: .8rem; }
.media-page .roll-window::after { bottom: .8rem; }
.media-page .roll-window .photo-grid { display: flex; align-items: stretch; gap: clamp(.75rem,1.5vw,1.3rem); max-width: none; margin: 0; padding: 2.8rem clamp(1rem,3vw,3rem); overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #A58C78 #2A2420; }
.media-page .roll-window .photo-item,.media-page .roll-window .photo-item-one,.media-page .roll-window .photo-item-two,.media-page .roll-window .photo-item-three,.media-page .roll-window .photo-item-four,.media-page .roll-window .photo-item-five { flex: 0 0 min(72vw,820px); width: min(72vw,820px); min-width: 0; margin: 0; background: #3B342F; scroll-snap-align: center; }
.media-page .roll-window .photo-item img,
.media-page .roll-window .photo-item-one img,
.media-page .roll-window .photo-item-two img,
.media-page .roll-window .photo-item-three img,
.media-page .roll-window .photo-item-four img,
.media-page .roll-window .photo-item-five img { display: block; width: 100%; height: clamp(310px,42vw,540px); max-height: none; aspect-ratio: auto; object-fit: contain; object-position: center; padding: .5rem; border: 0; background: #3B342F; filter: grayscale(1) contrast(.96); }
.media-page .roll-window .photo-item-five a { display: block; height: clamp(310px,42vw,540px); }
.media-page .roll-window .photo-item-five a img { height: 100%; }
.media-page .roll-window .photo-item figcaption { display: flex; align-items: center; flex-wrap: wrap; gap: .2rem 1rem; min-height: 4.3rem; padding: .7rem 1.2rem; border: 0; color: #F2EEE7; background: #3B342F; font-size: .86rem; }
.media-page .roll-window .photo-item figcaption span { margin: 0; color: #D9AE9A; }
.media-page .roll-window .photo-item:is(:hover,:focus-within) img { transform: none; filter: grayscale(1) contrast(.96); }
.media-page .roll-controls { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; color: #292426; }
.media-page .roll-controls > span { font: 700 .74rem/1.5 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.media-page .roll-controls > div { display: flex; align-items: center; gap: 1rem; }
.media-page .roll-controls [data-roll-count] { min-width: 4rem; text-align: center; font: 700 .74rem/1.4 var(--sans); letter-spacing: .08em; }
.media-page .roll-controls button { width: 44px; height: 44px; border: 1px solid #796F65; border-radius: 50%; background: transparent; color: #292426; font-size: 1.2rem; transition: color .2s,background .2s; }
.media-page .roll-controls button:is(:hover,:focus-visible) { color: #F6F3ED; background: #292426; }
@media (max-width: 760px) {
 .media-page .roll-window .photo-grid { display: flex; gap: .7rem; padding: 2.6rem .6rem; }
 .media-page .roll-window .photo-item,.media-page .roll-window .photo-item-one,.media-page .roll-window .photo-item-two,.media-page .roll-window .photo-item-three,.media-page .roll-window .photo-item-four,.media-page .roll-window .photo-item-five { flex-basis: 88vw; width: 88vw; margin: 0; }
 .media-page .roll-window .photo-item img,.media-page .roll-window .photo-item-one img,.media-page .roll-window .photo-item-two img,.media-page .roll-window .photo-item-three img,.media-page .roll-window .photo-item-four img,.media-page .roll-window .photo-item-five img { height: min(100vw,400px); }
 .media-page .roll-window .photo-item-five a { height: min(100vw,400px); }
 .media-page .roll-window .photo-item figcaption { min-height: 4.5rem; padding: .5rem .75rem; font-size: .76rem; }
}
@media (prefers-reduced-motion: reduce) { .media-page .roll-controls button { transition: none; } }
.cover-copy h1 .cover-honorific { margin: 0 0 .75rem .15rem; color: #8E2138; font: 700 clamp(.78rem,1vw,.95rem)/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.cover-copy h1 .cover-degree { display: inline; color: #8E2138; font-size: .26em; letter-spacing: -.02em; vertical-align: baseline; }

/* A compact film contact sheet, with the book in its own portrait-sized frame. */
.media-page .roll-window { width: min(100%,1080px); margin-inline: auto; }
.media-page .roll-window::before,.media-page .roll-window::after { height: 9px; background: radial-gradient(ellipse 5px 3px at center,#D7CFC0 68%,transparent 72%) left center / 27px 9px repeat-x; }
.media-page .roll-window::before { top: .35rem; }
.media-page .roll-window::after { bottom: .35rem; }
.media-page .roll-window .photo-grid { gap: .7rem; padding: 1.5rem .75rem; }
.media-page .roll-window .photo-item,.media-page .roll-window .photo-item-one,.media-page .roll-window .photo-item-two,.media-page .roll-window .photo-item-three,.media-page .roll-window .photo-item-four { flex-basis: min(60vw,620px); width: min(60vw,620px); }
.media-page .roll-window .photo-item-five { flex-basis: min(36vw,320px); width: min(36vw,320px); }
.media-page .roll-window .photo-item img,.media-page .roll-window .photo-item-one img,.media-page .roll-window .photo-item-two img,.media-page .roll-window .photo-item-three img,.media-page .roll-window .photo-item-four img,.media-page .roll-window .photo-item-five img { height: clamp(260px,31vw,390px); padding: .35rem; }
.media-page .roll-window .photo-item-five a { height: clamp(260px,31vw,390px); }
.media-page .roll-window .photo-item-five a img { height: 100%; width: 100%; object-fit: contain; }
.media-page .roll-window .photo-item figcaption { min-height: 3.5rem; padding: .5rem .75rem; font-size: .77rem; line-height: 1.4; }
.media-page .roll-window .photo-item figcaption span { font-size: .69rem; }
.media-page .roll-controls { width: min(100%,1080px); margin-inline: auto; }
@media (max-width: 760px) {
 .media-page .roll-window .photo-grid { gap: .55rem; padding: 1.4rem .55rem; }
 .media-page .roll-window .photo-item,.media-page .roll-window .photo-item-one,.media-page .roll-window .photo-item-two,.media-page .roll-window .photo-item-three,.media-page .roll-window .photo-item-four { flex-basis: 82vw; width: 82vw; }
 .media-page .roll-window .photo-item-five { flex-basis: 58vw; width: 58vw; }
 .media-page .roll-window .photo-item img,.media-page .roll-window .photo-item-one img,.media-page .roll-window .photo-item-two img,.media-page .roll-window .photo-item-three img,.media-page .roll-window .photo-item-four img,.media-page .roll-window .photo-item-five img { height: min(74vw,340px); }
 .media-page .roll-window .photo-item-five a { height: min(74vw,340px); }
}

/* Portrait and place: an editorial homepage built around the supplied concept. */
.atelier-edition { --rust: #A3412E; background: #F6F2E9; color: #191816; overflow-x: clip; }
.atelier-edition .site-header { position: relative; background: #F6F2E9; border-bottom: 0; }
.atelier-edition .nav-wrap { max-width: 1500px; min-height: 86px; padding-inline: clamp(1.2rem,3.5vw,4rem); }
.atelier-edition .brand { max-width: none; color: var(--rust); font: 650 .76rem/1.2 var(--sans); letter-spacing: .16em; text-transform: uppercase; transform: none; }
.atelier-edition .nav-links { gap: clamp(.75rem,1.7vw,1.9rem); }
.atelier-edition .nav-links a { color: #292320; font: 400 .95rem/1.4 var(--serif); }
.atelier-edition .nav-links .nav-cta { min-height: 44px; padding: 0; border: 0; background: transparent; color: #292320; }
.atelier-edition .nav-links .nav-cta:hover { background: transparent; border: 0; color: var(--rust); }
.atelier-hero { position: relative; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); width: min(100%,1500px); min-height: clamp(620px,49vw,720px); margin: auto; padding: clamp(2rem,3vw,3.3rem) clamp(1.2rem,3.5vw,4rem) 2.6rem; isolation: isolate; }
.atelier-hero::before { position: absolute; z-index: -2; inset: 0; background: radial-gradient(ellipse at 75% 49%,#E9E3D6 0,transparent 35%),radial-gradient(ellipse at 30% 75%,#EFE9DF 0,transparent 40%); content: ''; }
.atelier-copy { position: relative; z-index: 4; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.atelier-kicker { margin-bottom: clamp(2.5rem,4.6vw,5rem); color: var(--rust); font: 650 .76rem/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.atelier-copy h1 { width: max-content; max-width: 115%; margin: .5rem 0 clamp(1.5rem,3vw,3rem); color: #161514; font: 400 clamp(6rem,11.5vw,12.5rem)/.77 Didot,"Bodoni MT","Times New Roman",serif; letter-spacing: -.095em; }
.atelier-copy h1 span { display: block; white-space: nowrap; }
.atelier-copy h1 span + span { margin-left: -.045em; }
.atelier-deck { margin: 0 0 1rem .35rem; font: 400 clamp(1.12rem,1.85vw,1.7rem)/1.45 var(--serif); color: #2E2824; }
.atelier-explore { display: inline-flex; align-items: center; gap: .55rem; margin-left: .35rem; padding-bottom: .14rem; border-bottom: 1px solid var(--rust); color: #302622; font: 400 1.04rem/1.4 var(--serif); text-decoration: none; }
.atelier-explore:hover { color: var(--rust); }
.atelier-portrait-wrap { position: relative; z-index: 5; align-self: start; justify-self: center; width: min(72%,410px); margin: -4rem 0 0 3rem; }
.atelier-portrait-halo { position: absolute; z-index: -1; top: 9%; right: -28%; width: 150%; aspect-ratio: 1; border-radius: 50%; background: #EEE8DD; box-shadow: inset 8px 8px 18px #FFF9EF,inset -9px -9px 22px #D8D0C4,4px 8px 20px #4D403018; }
.atelier-portrait { position: relative; width: 100%; margin: 0; padding: .45rem; background: #25211E; box-shadow: 1px 10px 20px #271C1426; transform: rotate(.3deg); }
.atelier-portrait::before,.atelier-portrait::after { position: absolute; top: .5rem; bottom: .5rem; width: 4px; background: repeating-linear-gradient(to bottom,#79634C 0 5px,transparent 5px 15px); content: ''; opacity: .8; }
.atelier-portrait::before { left: .14rem; }.atelier-portrait::after { right: .14rem; }
.atelier-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; object-position: center 13%; filter: grayscale(1) contrast(.9) brightness(1.07); }
.atelier-trace { position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.atelier-trace path { fill: none; stroke: var(--rust); stroke-width: 1.6; stroke-linecap: round; opacity: .88; }
.atelier-note { position: absolute; z-index: 4; color: var(--rust); font:italic 500 clamp(.84rem,1.1vw,1.02rem)/1.38 var(--serif); letter-spacing:.01em; transform:rotate(-4deg); }
.atelier-note-one { top: 19%; left: 43%; }.atelier-note-two { right: 1.2%; top: 53%; transform: rotate(6deg); }
.atelier-meta { position: absolute; right: clamp(1.2rem,3.5vw,4rem); bottom: 1rem; left: clamp(1.2rem,3.5vw,4rem); display: flex; justify-content: space-between; border-top: 1px solid #B9AFA3; padding-top: .55rem; color: #786B5D; font: 650 .66rem/1.3 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.atelier-chapters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; max-width: 1500px; margin: auto; padding: 1.6rem clamp(1.2rem,3.5vw,4rem) 3.5rem; border-top: 1px solid #C9C0B4; }
.atelier-chapter { display: block; min-width: 0; padding: 0 clamp(1rem,2vw,2rem); border-left: 1px solid #D2C8BA; text-decoration: none; }
.atelier-chapter:first-of-type { padding-left: 0; border-left: 0; }.atelier-chapter:last-of-type { padding-right: 0; }
.atelier-chapter-title { display: flex; align-items: baseline; gap: 1.2rem; margin-bottom: .9rem; color: #231E1B; }
.atelier-chapter-title small { font: 500 .7rem/1 var(--sans); }.atelier-chapter-title strong { font: 400 clamp(1.25rem,2vw,1.8rem)/1.1 var(--serif); }
.atelier-chapter img { width: 100%; height: clamp(160px,16vw,235px); object-fit: cover; filter: saturate(.55) sepia(.12); transition: filter .5s,transform .5s; }
.atelier-chapter:hover img { filter: saturate(.9); transform: translateY(-3px); }
.atelier-chapter-footer { display: flex; justify-content: space-between; gap: 1rem; padding-top: .8rem; color: #695B52; font: 500 .8rem/1.4 var(--sans); }
.atelier-chapter-footer b { color: var(--rust); font-weight: 400; }
.atelier-edition .cover-appointments { border-color: #C9C0B4; }
.atelier-edition .place-atlas-heading h2 { color: #211C19; }
@media (max-width: 1000px) {
 .atelier-hero { min-height: 570px; }
 .atelier-copy h1 { font-size: clamp(5.5rem,10.8vw,8.4rem); }
 .atelier-portrait-wrap { width: min(83%,360px); margin-left: 1rem; }
 .atelier-note-one { left: 42%; top: 14%; }
 .atelier-note-two { right: .8rem; }
}
@media (max-width: 760px) {
 .atelier-edition .site-header { position: sticky; top: 0; z-index: 30; }
 .atelier-edition .nav-wrap { min-height: 65px; }
 .atelier-edition .brand { max-width: none; transform: none; }
 .atelier-edition .menu-button { display: block; }
 .atelier-hero { display: flex; flex-direction: column; min-height: 0; padding: 1.8rem 1.25rem 3.1rem; }
 .atelier-copy { display: contents; }
 .atelier-kicker { order: 0; margin: 0 0 1.5rem; }
 .atelier-copy h1 { order: 1; width: 100%; max-width: 100%; margin: 0 0 1.4rem; font-size: clamp(4.1rem,14vw,7rem); line-height: .8; }
 .atelier-portrait-wrap { order: 2; width: min(70%,330px); margin: 0 auto 1.3rem; }
 .atelier-portrait-halo { right: -16%; }
 .atelier-deck { order: 3; margin: 0 0 .8rem; font-size: 1.18rem; }
 .atelier-explore { order: 4; margin: 0 0 1.1rem; }
 .atelier-note-one,.atelier-note-two,.atelier-trace { display: none; }
 .atelier-meta { bottom: .7rem; left: 1.25rem; right: 1.25rem; }
 .atelier-chapters { grid-template-columns: 1fr; padding: .4rem 1.25rem 2.8rem; }
 .atelier-chapter,.atelier-chapter:first-of-type,.atelier-chapter:last-of-type { display: grid; grid-template-columns: minmax(0,1fr) 40%; column-gap: 1rem; align-items: center; padding: 1rem 0; border: 0; border-bottom: 1px solid #D2C8BA; }
 .atelier-chapter-title { margin: 0; }.atelier-chapter-title strong { font-size: clamp(1.45rem,5vw,2rem); }
 .atelier-chapter img { grid-column: 2; grid-row: 1/3; height: 125px; }
 .atelier-chapter-footer { grid-column: 1; padding: .25rem 0 0 1.9rem; font-size: .74rem; }
}
@media (max-width: 390px) { .atelier-copy h1 { font-size: 13.6vw; } .atelier-portrait-wrap { width: 78%; } }
@media (prefers-reduced-motion: reduce) { .atelier-chapter img { transition: none; } }
