* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + var(--space-6)); }
body { margin: 0; background: var(--color-page); color: var(--color-text); font: 400 var(--font-body)/1.7 var(--font-sans); -webkit-font-smoothing: antialiased; }
::selection { background: var(--color-accent); color: var(--color-page); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: var(--color-glow); }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 5px; }
main:focus { outline: none; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { color: var(--color-text); font-weight: 500; letter-spacing: -.055em; line-height: 1.12; text-wrap: balance; }
h2 { font-size: var(--font-heading); }
h3 { font-size: 1.35rem; letter-spacing: -.035em; }
p { color: var(--color-text-secondary); }
svg { width: var(--icon-size); height: var(--icon-size); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.shell { width: min(calc(100% - var(--page-gutter) * 2), var(--container-width)); margin-inline: auto; }
.section { padding-block: var(--space-section); }
.text-accent, .text-accent:hover { color: var(--color-accent) !important; }
.text-soft { color: var(--color-text-secondary); }
.text-dim, .text-muted { color: var(--color-text-secondary) !important; }
.eyebrow { color: var(--color-text-secondary); font-size: var(--font-caption); font-weight: 600; text-transform: uppercase; letter-spacing: .18em; }
.skip-link { position: fixed; top: var(--space-3); left: var(--space-4); z-index: 200; padding: var(--space-3) var(--space-5); background: var(--color-text); color: var(--color-page); transform: translateY(-180%); }
.skip-link:focus { transform: none; }
.button, .btn-submit { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-8); min-height: 54px; padding: .9rem 1.4rem; border: 1px solid var(--color-transparent); border-radius: var(--radius-control); font-weight: 600; font-size: var(--font-small); line-height: 1.5; cursor: pointer; transition: background var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast); }
.button span { font-size: 1.3rem; line-height: 1; }
.button-primary, .btn-submit { color: var(--color-on-action); background: var(--color-action); box-shadow: var(--shadow-action); }
.button-primary:hover, .btn-submit:hover { color: var(--color-on-action); background: var(--color-action-hover); transform: translateY(-2px); }
.button-outline { color: var(--color-text); border-color: var(--color-input-border); background: var(--color-transparent); }
.button-outline:hover { color: var(--color-text); border-color: var(--color-text-secondary); background: var(--color-surface-raised); }
.button-small { min-height: var(--control-size); padding: .65rem 1rem; }
.button:active, .btn-submit:active { transform: translateY(0); }
.text-button { display: inline-flex; align-items: center; justify-content: space-between; gap: var(--space-8); min-height: var(--control-size); font-size: var(--font-small); font-weight: 600; }
.text-button span { font-size: 1.25rem; color: var(--color-accent); }
.text-button:hover { color: var(--color-accent); }
.site-header { min-height: var(--header-height); position: sticky; top: 0; z-index: 100; background: var(--color-header); border-bottom: 1px solid var(--color-hairline); backdrop-filter: blur(16px); }
.nav-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); min-height: var(--header-height); }
.brand { display: inline-flex; align-items: center; gap: .8rem; font-size: 1.1rem; font-weight: 700; letter-spacing: -.04em; white-space: nowrap; color: var(--color-text); }
.brand:hover { color: var(--color-text); }
.brand-dot { color: var(--color-accent); }
.brand-symbol { display: inline-flex; align-items: center; color: var(--color-accent); font-weight: 800; font-size: 1.5rem; letter-spacing: -.14em; line-height: 1; border: 1px solid var(--color-border); width: 38px; height: 38px; border-radius: 50%; padding-left: .35rem; }
.brand-symbol span { font-size: 1.15rem; }
.nav-links { display: flex; align-items: center; gap: var(--space-10); }
.nav-links > a { font-size: var(--font-small); color: var(--color-text-secondary); padding-block: var(--space-3); }
.nav-links > a:hover, .nav-links > a[aria-current] { color: var(--color-text); }
.nav-links > .button { color: var(--color-text); margin-left: var(--space-5); }
.menu-toggle { display: none; }
.hero { position: relative; isolation: isolate; min-height: min(850px, calc(100svh - var(--header-height))); display: flex; flex-direction: column; justify-content: center; overflow: clip; border-bottom: 1px solid var(--color-hairline); }
.hero-artwork { position: absolute; inset: 0; z-index: -2; pointer-events: none; overflow: hidden; }
.hero-artwork img { position: absolute; left: 50%; top: -12%; transform: translateX(-50%); width: min(var(--art-width), 110%); height: 110%; object-fit: contain; opacity: .58; mask-image: radial-gradient(ellipse, var(--color-text) 42%, var(--color-transparent) 72%); }
.hero-artwork::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, var(--color-page) 0%, var(--color-transparent) 12%, var(--color-overlay) 65%, var(--color-page) 100%); }
.hero-content { position: relative; text-align: center; padding-top: 9rem; padding-bottom: 7.5rem; }
.hero-eyebrow { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-3); margin-bottom: var(--space-8); }
.signal-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--color-accent); box-shadow: 0 0 16px var(--color-glow); display: inline-block; flex: 0 0 auto; }
.hero h1 { font-size: var(--font-display); font-weight: 500; line-height: .99; letter-spacing: -.065em; }
.hero h1 span { color: var(--color-text-secondary); }
.hero-description { max-width: 570px; margin: var(--space-8) auto 0; font-size: 1rem; line-height: 1.8; }
.hero-actions { display: flex; gap: var(--space-8); align-items: center; justify-content: center; margin-top: var(--space-8); }
.hero-bottom { display: flex; justify-content: space-between; align-items: flex-end; font-size: var(--font-caption); line-height: 1.8; color: var(--color-text-muted); padding-bottom: var(--space-8); }
.hero-bottom > :last-child { text-align: right; }
.hero-bottom a { display: flex; gap: var(--space-6); min-height: var(--control-size); align-items: center; }
.hero-bottom a:hover { color: var(--color-text); }
.hero-note { display: flex; align-items: center; gap: var(--space-5); }
.motion-toggle { display: inline-grid; place-items: center; flex: 0 0 var(--control-size); width: var(--control-size); height: var(--control-size); padding: 0; border: 1px solid var(--color-input-border); border-radius: 50%; color: var(--color-text-secondary); background: var(--color-transparent); cursor: pointer; }
.motion-toggle[hidden] { display: none; }
.motion-toggle:hover { color: var(--color-text); background: var(--color-surface-raised); }
.motion-toggle svg { width: var(--icon-small); height: var(--icon-small); }
.motion-toggle .motion-play, .is-motion-paused .motion-toggle .motion-pause { display: none; }
.is-motion-paused .motion-toggle .motion-play { display: block; }
.affiliations { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); padding-block: var(--space-10); border-bottom: 1px solid var(--color-hairline); }
.affiliations p, .affiliation-note { font-size: var(--font-small); color: var(--color-text-muted); }
.affiliations > a { display: inline-flex; align-items: center; justify-content: center; min-width: 0; min-height: var(--control-size); width: var(--affiliation-logo-width); }
.affiliation-logo { display: block; width: 100%; max-width: var(--affiliation-logo-width); height: auto; }
.section-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-12); }
.section-index { font-size: var(--font-caption); color: var(--color-text-muted); }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 10vw, 9rem); align-items: start; }
.about-copy p { max-width: 57ch; font-size: .9rem; margin-bottom: var(--space-5); }
.about-copy .lead-copy { font-size: 1.1rem; color: var(--color-text); line-height: 1.7; }
.about-copy .text-button { margin-top: var(--space-3); }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: var(--space-20); border-top: 1px solid var(--color-hairline); padding-top: var(--space-10); gap: var(--space-6); }
.metrics > div { display: flex; flex-direction: column; gap: var(--space-3); border-right: 1px solid var(--color-hairline); padding-left: var(--space-8); }
.metrics > div:first-child { padding-left: 0; }
.metrics > div:last-child { border: 0; }
.metrics strong { font-size: 3.5rem; line-height: 1.1; letter-spacing: -.06em; font-weight: 500; }
.metrics strong span { color: var(--color-accent); }
.metrics > div > span { font-size: var(--font-small); color: var(--color-text-muted); }
.expertise-section { background: linear-gradient(180deg, var(--color-surface), var(--color-page)); border-block: 1px solid var(--color-hairline); }
.section-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-10); margin-bottom: var(--space-12); }
.section-intro > p { font-size: .9rem; max-width: 290px; padding-bottom: var(--space-1); }
.expertise-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--space-8); }
.expertise-feature { padding: var(--space-10); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: radial-gradient(ellipse at 50% 0, var(--color-glow-soft), var(--color-transparent) 65%), var(--color-surface); display: flex; flex-direction: column; align-items: flex-start; }
.feature-artwork { position: relative; width: 100%; height: var(--launch-art-height); margin-bottom: var(--space-8); }
.rocket-scene { position: relative; height: 100%; aspect-ratio: 1; max-width: 100%; margin-inline: auto; isolation: isolate; }
.rocket-scene::before { content: ''; position: absolute; inset: 43% 25% 4% 13%; z-index: -1; background: radial-gradient(ellipse, var(--color-glow), var(--color-transparent) 70%); opacity: .4; }
.rocket-motion-toggle { position: absolute; right: 0; bottom: 0; }
.feature-artwork img { display: block; width: auto; max-width: 100%; height: 100%; max-height: 100%; margin-inline: auto; object-fit: contain; }
.card-overline { font-size: var(--font-caption); color: var(--color-accent); margin-bottom: var(--space-4); }
.expertise-feature h3 { font-size: 1.8rem; margin-bottom: var(--space-4); }
.expertise-feature p { font-size: .9rem; margin-bottom: var(--space-6); }
.expertise-feature .text-button { margin-top: auto; }
.expertise-list { display: flex; flex-direction: column; }
.expertise-row { display: grid; grid-template-columns: 28px 1fr 24px; gap: var(--space-5); padding: var(--space-8) var(--space-4); border-bottom: 1px solid var(--color-border); }
.expertise-row:first-child { padding-top: var(--space-6); }
.expertise-row > span { font-size: var(--font-caption); color: var(--color-text-muted); padding-top: .2rem; }
.expertise-row h3 { margin-bottom: var(--space-3); }
.expertise-row p { font-size: var(--font-small); max-width: 45ch; }
.expertise-row svg { color: var(--color-accent); }
.focus-strip { display: flex; flex-wrap: wrap; gap: var(--space-6) var(--space-10); align-items: center; margin-top: var(--space-12); font-size: var(--font-small); color: var(--color-text-secondary); }
.focus-strip span:first-child { margin-right: auto; color: var(--color-text-muted); }
.insights-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
.insight-card { display: flex; flex-direction: column; border: 1px solid var(--color-border); border-radius: var(--radius-card); overflow: hidden; background: var(--color-surface); transition: transform var(--motion-fast), border-color var(--motion-fast); }
.insight-card:hover { color: var(--color-text); border-color: var(--color-input-border); transform: translateY(-4px); }
.insight-content { display: flex; flex-direction: column; flex: 1; padding: var(--space-8); }
.insight-content time { color: var(--color-text-muted); font-size: var(--font-caption); margin-bottom: var(--space-4); }
.insight-content h3 { font-size: 1.3rem; line-height: 1.35; margin-bottom: var(--space-4); }
.insight-content p { font-size: var(--font-small); margin-bottom: var(--space-8); }
.read-link { display: flex; justify-content: space-between; align-items: center; font-size: var(--font-small); font-weight: 500; margin-top: auto; }.read-link span { font-size: 1.25rem; color: var(--color-accent); }
.contact-section { border-top: 1px solid var(--color-hairline); background: radial-gradient(ellipse at 10% 40%, var(--color-glow-soft), var(--color-transparent) 60%); }
.contact-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: var(--space-20); align-items: start; }
.contact-copy { position: sticky; top: calc(var(--header-height) + var(--space-12)); }
.contact-copy .eyebrow { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-8); }
.contact-copy h2 { font-size: clamp(3rem, 5vw, 4.5rem); margin-bottom: var(--space-8); }
.contact-copy > p:not(.eyebrow) { font-size: .9rem; }
.contact-expectation { display: flex; align-items: flex-start; gap: var(--space-5); padding-block: var(--space-8); margin-top: var(--space-8); border-top: 1px solid var(--color-border); }
.expectation-icon { font-size: 1.5rem; color: var(--color-accent); line-height: 1; }.contact-expectation p { font-size: var(--font-small); max-width: 34ch; }
.contact-copy .confidential { display: flex; gap: var(--space-3); align-items: center; font-size: var(--font-small); }.confidential svg { width: 18px; height: 18px; color: var(--color-accent); }
.contact-panel { padding: var(--space-8); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); }
.form-intro { margin-bottom: var(--space-8); }.form-intro h3 { margin-bottom: var(--space-2); }.form-intro > span { font-size: .75rem; color: var(--color-text-muted); }
.label-custom { display: block; font-size: .75rem; color: var(--color-text-secondary); margin-bottom: var(--space-2); font-weight: 500; }
.input-custom { background-color: var(--color-page); border: 1px solid var(--color-input-border); border-radius: var(--radius-control); color: var(--color-text); font-size: var(--font-small); padding: .85rem 1rem; min-height: 48px; }
.input-custom::placeholder { color: var(--color-text-muted); opacity: 1; }
.input-custom:focus { background-color: var(--color-page); color: var(--color-text); border-color: var(--color-focus); box-shadow: none; outline: 2px solid var(--color-focus); outline-offset: 2px; }
.input-custom option { color: var(--color-text); background: var(--color-surface); }
textarea.input-custom { min-height: var(--textarea-height); resize: vertical; }
.btn-submit { width: 100%; margin-top: var(--space-2) !important; }
.btn-submit:disabled { background: var(--color-surface-raised); color: var(--color-text-secondary); border-color: var(--color-border); box-shadow: none; cursor: not-allowed; transform: none; }
.pitch-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.form-privacy { font-size: var(--font-caption); margin-top: var(--space-5); text-align: center; color: var(--color-text-muted); }.form-privacy a { color: var(--color-text-secondary); text-decoration: underline; text-underline-offset: 3px; }
.form-wrapper > .alert { margin-bottom: var(--space-6); padding: var(--space-4); border: 1px solid var(--color-input-border); border-radius: var(--radius-control); }
.alert-danger { color: var(--color-error); background: var(--color-error-surface); }.alert-success { color: var(--color-success); background: var(--color-success-surface); }
.site-footer { border-top: 1px solid var(--color-hairline); padding-top: var(--space-16); background: var(--color-page); }
.footer-main { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--space-12); padding-bottom: var(--space-16); }
.footer-main p { font-size: var(--font-small); margin-top: var(--space-5); }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }.footer-links a { display: inline-flex; align-items: center; min-height: 32px; gap: var(--space-4); color: var(--color-text-secondary); font-size: var(--font-small); }.footer-links a:hover { color: var(--color-text); }
.footer-bottom { display: flex; gap: var(--space-8); border-top: 1px solid var(--color-hairline); padding-block: var(--space-6); font-size: var(--font-caption); color: var(--color-text-muted); }.footer-bottom > span { margin-right: auto; }.footer-bottom a { min-height: 24px; }.footer-bottom a:hover { color: var(--color-text); }
.journal-page { padding-block: var(--space-section); }.journal-header { margin-bottom: var(--space-20); }.journal-header h1 { font-size: clamp(3.5rem, 6.5vw, 6rem); margin-block: var(--space-6); }.journal-header > p:last-child { font-size: .95rem; }
.journal-row { display: grid; grid-template-columns: 130px 1fr 40px; gap: var(--space-10); padding-block: var(--space-10); border-top: 1px solid var(--color-border); }.journal-row time { font-size: var(--font-small); color: var(--color-text-muted); padding-top: .4rem; }.journal-row h2 { font-size: clamp(1.5rem, 2.8vw, 2.4rem); margin-bottom: var(--space-4); }.journal-row p { max-width: 65ch; font-size: .9rem; }.row-arrow { font-size: 2rem; color: var(--color-accent); }.journal-row:hover h2 { color: var(--color-accent); }
.pagination-row { display: flex; flex-wrap: wrap; gap: var(--space-2); justify-content: center; margin-top: var(--space-12); }.pagination-row a { display: grid; place-items: center; min-width: 44px; min-height: var(--control-size); padding: .5rem .85rem; border: 1px solid var(--color-border); border-radius: var(--radius-control); font-size: var(--font-small); }.pagination-row a[aria-current] { color: var(--color-on-action); background: var(--color-action); border-color: var(--color-action); }.pagination-row a:hover { border-color: var(--color-focus); }
.article-shell { max-width: 820px; margin: 0 auto; padding: var(--space-section) var(--space-6); }.back-link { display: inline-flex; align-items: center; min-height: var(--control-size); font-size: var(--font-small); color: var(--color-accent); }.article-header { margin-block: var(--space-12); }.article-header time, .article-header > span { font-size: var(--font-small); color: var(--color-text-muted); }.article-header h1 { font-size: clamp(2.5rem, 4.8vw, 4.5rem); margin-block: var(--space-6); }.post-body { color: var(--color-text-secondary); line-height: 1.9; font-size: 1rem; }.post-body p { margin-bottom: var(--space-6); }.post-body h2, .post-body h3 { margin-top: var(--space-12); margin-bottom: var(--space-5); font-size: 1.8rem; }.post-body strong { color: var(--color-text); font-weight: 600; }.post-body a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; }.post-body li { margin-bottom: var(--space-3); }.article-bottom { display: flex; gap: var(--space-6); align-items: center; justify-content: space-between; border-top: 1px solid var(--color-border); margin-top: var(--space-16); padding-top: var(--space-8); font-size: var(--font-small); }
.pt-page { padding-top: var(--space-section); }.section-title { font-size: var(--font-heading); }.section-label { font-size: var(--font-caption); letter-spacing: .16em; text-transform: uppercase; color: var(--color-accent); margin-bottom: var(--space-5); }
.reveal { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  [data-motion="background"].has-motion .motion-layer { animation: orbit-turn var(--motion-orbit) linear infinite; }
  [data-motion="rocket"].has-motion .rocket-scene { animation: rocket-rise var(--motion-rocket) ease-in-out infinite; }
  [data-motion="rocket"].has-motion .rocket-scene::before { animation: exhaust-pulse var(--motion-exhaust) ease-in-out infinite; }
  [data-motion].is-motion-paused .motion-layer, [data-motion].is-motion-offscreen .motion-layer, [data-motion].is-motion-paused .motion-layer::before, [data-motion].is-motion-offscreen .motion-layer::before { animation-play-state: paused; }
  @keyframes rocket-rise { 0%, 100% { transform: translate(calc(-1 * var(--rocket-travel-x)), var(--space-2)) rotate(-2deg); } 50% { transform: translate(var(--rocket-travel-x), calc(-1 * var(--rocket-travel-y))) rotate(2deg); } }
  @keyframes exhaust-pulse { 0%, 100% { opacity: .25; } 50% { opacity: .9; } }
  @keyframes orbit-turn { from { transform: translateX(-50%) rotate(0turn); } to { transform: translateX(-50%) rotate(1turn); } }
  .hero-content { animation: entrance var(--motion-enter) var(--motion-ease) both; }
  .reveal.is-revealing { animation: entrance var(--motion-enter) var(--motion-ease) both; }
  @keyframes entrance { from { opacity: 0; transform: translateY(var(--motion-distance)); } to { opacity: 1; transform: translateY(0); } }
}
@media (max-width: 1000px) {
  .about-grid { gap: var(--space-12); grid-template-columns: 1fr 1fr; }.contact-grid { gap: var(--space-10); }.section-intro { align-items: flex-start; }.section-intro > p { max-width: 230px; }.expertise-feature { padding: var(--space-8); }.nav-links { gap: var(--space-6); }.nav-links > .button { margin-left: 0; }
}
@media (max-width: 767px) {
  :root { --header-height: 74px; --font-display: clamp(3.3rem, 10vw, 5rem); --font-heading: clamp(2.1rem, 7.6vw, 3rem); }
  .site-header { position: sticky; }.nav-row { flex-wrap: wrap; gap: 0; }.brand { font-size: 1rem; }.brand-symbol { width: 34px; height: 34px; font-size: 1.3rem; }.menu-toggle { display: inline-flex; min-height: var(--control-size); min-width: 44px; align-items: center; gap: var(--space-3); border: 0; padding: var(--space-2); background: var(--color-transparent); color: var(--color-text); font-size: var(--font-small); }.menu-icon { position: relative; width: 18px; height: 10px; border-block: 1px solid currentColor; }.menu-toggle[aria-expanded="true"] .menu-icon { transform: rotate(45deg); border-bottom: 0; height: 1px; }.menu-toggle[aria-expanded="true"] .menu-icon::after { content: ''; position: absolute; inset: -1px 0 0; border-top: 1px solid currentColor; transform: rotate(90deg); }
  .nav-links { width: 100%; flex-direction: column; align-items: stretch; gap: var(--space-1); padding-bottom: var(--space-5); }.nav-links > a { min-height: var(--control-size); }.nav-links > .button { margin-top: var(--space-3); }.js .nav-links:not(.is-open) { display: none; }
  .hero { min-height: 690px; }.hero-content { padding-top: 7.5rem; padding-bottom: var(--space-16); }.hero-artwork img { top: -4%; width: 900px; max-width: none; height: 85%; opacity: .52; }.hero-eyebrow { font-size: .6rem; margin-bottom: var(--space-6); letter-spacing: .12em; }.hero-description { margin-top: var(--space-6); max-width: 34ch; font-size: .9rem; }.desktop-break { display: none; }.hero-actions { flex-direction: column; gap: var(--space-4); margin-top: var(--space-6); }.hero-bottom { justify-content: space-between; padding-bottom: var(--space-5); }.hero-bottom > span, .hero-note > span { display: none; }
  .affiliations { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); padding-block: var(--space-8); }.affiliations > p { grid-column: 1 / -1; text-align: center; font-size: .75rem; }.affiliations > a { width: 100%; max-width: var(--affiliation-logo-width); justify-self: center; }.affiliation-note { display: none; }
  .section-heading { margin-bottom: var(--space-8); }.section-index { font-size: .6rem; }.eyebrow { font-size: .625rem; letter-spacing: .13em; }.about-grid { grid-template-columns: 1fr; gap: var(--space-10); }.metrics { grid-template-columns: 1fr 1fr; row-gap: var(--space-8); margin-top: var(--space-12); }.metrics > div { padding-left: 0; }.metrics > div:nth-child(2) { border: 0; padding-left: var(--space-4); }.metrics > div:nth-child(4) { padding-left: var(--space-4); }.metrics strong { font-size: 2.7rem; }.metrics > div > span { font-size: .75rem; }
  .section-intro { flex-direction: column; gap: var(--space-6); margin-bottom: var(--space-8); }.section-intro > p { max-width: 45ch; }.expertise-grid { grid-template-columns: minmax(0, 1fr); }.expertise-feature { padding: var(--space-8); }.feature-artwork { height: 220px; }.expertise-row { padding: var(--space-6) 0; gap: var(--space-3); grid-template-columns: 24px 1fr 22px; }.expertise-row h3 { font-size: 1.25rem; }.focus-strip { gap: var(--space-4) var(--space-6); font-size: .75rem; }.focus-strip span:first-child { width: 100%; }
  .insights-grid { grid-template-columns: 1fr; gap: var(--space-6); }.insight-content { padding: var(--space-6); }.insight-content h3 { font-size: 1.4rem; }
  .contact-grid { grid-template-columns: 1fr; gap: var(--space-10); }.contact-copy { position: static; }.contact-copy h2 { font-size: 3.4rem; }.contact-expectation p { max-width: 45ch; }.contact-panel { padding: var(--space-6); }.footer-main { grid-template-columns: 1fr 1fr; gap: var(--space-8); padding-bottom: var(--space-10); }.footer-main > div:first-child { grid-column: 1 / -1; }.footer-main p { margin-top: var(--space-3); }.footer-bottom { flex-wrap: wrap; gap: var(--space-3) var(--space-6); }.footer-bottom > span { width: 100%; }
  .journal-row { grid-template-columns: 1fr 26px; gap: var(--space-4); padding-block: var(--space-8); }.journal-row time { grid-column: 1 / -1; }.journal-row h2 { font-size: 1.6rem; }.journal-header { margin-bottom: var(--space-12); }.journal-header h1 { font-size: 3.4rem; }.article-header { margin-block: var(--space-8); }.article-header h1 { font-size: 2.6rem; }.article-bottom { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 359px) { .affiliations { grid-template-columns: 1fr; gap: var(--space-5); } .brand-symbol { display: none; }.menu-label { display: none; }.contact-panel { padding: var(--space-5); }.hero h1 { font-size: 3.1rem; }.hero-description { font-size: var(--font-small); }.contact-copy h2 { font-size: 2.9rem; }.section-index { display: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
