@import url('/fonts/fonts.css');
@import url('/cursor-bronze.css');
:root {
  --paper:#F5F0E6; --ink:#171412; --burgundy:#750D20; --rule:#b8a48f; --night:#15110e; --gold:#decba4;
  --gutter:clamp(1.25rem,4vw,4.5rem); --display:'Instrument Serif',Georgia,serif; --body:'DM Sans',Arial,sans-serif;
  font-family:var(--body); color:var(--ink); background:var(--paper); font-kerning:normal;
}
* { box-sizing:border-box; }
body { margin:0; }
a { color:inherit; text-underline-offset:.25em; }
a:hover { color:var(--burgundy); }
button { font:inherit; color:inherit; cursor:pointer; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--burgundy); outline-offset:5px; }
.skip { position:absolute; left:1rem; top:-10rem; z-index:10; background:var(--paper); padding:.75rem; }
.skip:focus { top:.75rem; }
.nav { position:relative; z-index:2; min-height:6rem; margin:0 var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:1.5rem; border-bottom:1px solid var(--burgundy); }
.home-brand,.footer-brand { font-family:var(--display); color:var(--burgundy); text-decoration:none; font-size:2rem; line-height:1.2; flex:none; }
.mm-nav { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1.25rem; }
.mm-nav a { font-size:1rem; line-height:1.4; text-decoration:none; padding:.75rem 0; }
.mm-nav a:hover { text-decoration:underline; }
.mm-nav .methodology-nav { color:var(--burgundy); }
.header-controls { display:flex; align-items:center; gap:1.5rem; flex:none; }
.lang { display:flex; gap:1rem; }
.lang button { min-height:44px; padding:.5rem .125rem; background:none; border:0; font-size:.875rem; }
.lang button[aria-pressed=true] { color:var(--burgundy); box-shadow:inset 0 -2px var(--burgundy); }
.mm-trigger { display:none; min-height:44px; padding:.5rem 0; border:0; background:none; align-items:center; gap:.75rem; font-size:1rem; }
.menu-mark { font-size:1.5rem; }
[data-menu-open] .menu-mark { transform:rotate(45deg); }

/* Metamorfose: name and introduction. */
.home-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:end; column-gap:3rem; margin:0 var(--gutter); padding-top:2rem; }
.hero-name { grid-column:1; grid-row:1; padding-top:1rem; }
h1 { margin:0; font-family:var(--display); font-size:clamp(7rem,3rem + 11vw,14rem); font-weight:400; letter-spacing:-.025em; line-height:.83; }
h1 a { color:var(--burgundy); text-decoration:none; display:inline-block; }
h1 span { display:block; }
h1,h2 { overflow-wrap:anywhere; }
.mm-rule { display:block; width:46%; height:1px; margin-top:1.75rem; background:var(--burgundy); }
.signature { color:var(--burgundy); font-size:1rem; line-height:1.5; letter-spacing:.07em; margin:1rem 0 2rem; }
.hero-copy { grid-column:2; grid-row:1; position:relative; padding:0 0 2rem; min-width:0; }
.intro { font-size:1.125rem; line-height:1.65; max-width:43ch; margin:0 0 1.5rem; text-wrap:pretty; }
.actions { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.actions a { font-family:'Playfair Display',Georgia,serif; font-size:clamp(1.25rem,1.7vw,1.3125rem); font-weight:400; line-height:1.3; min-height:44px; padding:.375rem 0; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.3em; text-decoration-skip-ink:none; text-decoration-color:color-mix(in srgb,var(--ink) 30%,var(--paper)); }
.actions .primary { color:#8B3A1A; text-decoration-color:currentColor; }
.mm-index-toggle { display:none; align-items:center; gap:.5em; margin-top:1.5rem; min-height:44px; padding:.5rem 0; border:0; border-radius:0; background:none; font-family:'JetBrains Mono',ui-monospace,monospace; font-size:.8125rem; font-weight:400; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.4em; text-decoration-skip-ink:none; }
.mm-ready .mm-index-toggle { display:inline-flex; }

/* Supplied index changes: left position, wider panel, wrapping links. */
.mm-index { position:fixed; inset:auto auto 2rem var(--gutter); margin:0; width:min(50%,560px); max-width:calc(100% - 2 * var(--gutter)); max-height:85dvh; overflow:auto; background:var(--paper); color:var(--ink); border:1px solid var(--burgundy); padding:1.5rem; }
.mm-index::backdrop { background:rgb(23 20 18 / .45); }
.mm-index-head { display:flex; justify-content:space-between; align-items:start; gap:1.5rem; padding-bottom:1rem; border-bottom:1px solid var(--burgundy); }
.mm-index h2 { font-family:var(--display); font-size:2rem; font-weight:400; line-height:1.1; margin:0; text-wrap:balance; }
.mm-index-close { display:flex; align-items:center; gap:.5rem; min-height:44px; border:0; padding:.25rem 0; background:none; font-size:1rem; }
.mm-index p { font-size:1rem; line-height:1.6; margin:1rem 0; }
.mm-index ul,.mm-index-fallback ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1.5rem; }
.mm-index li a,.mm-index-fallback li a { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:2px 8px; padding:.75rem 0; min-height:44px; border-top:1px solid var(--rule); font-size:1rem; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; }
.mm-index li a span:first-child { flex:1; }
.mm-menu-from-index { display:none; align-items:center; gap:1rem; margin-top:1rem; min-height:44px; padding:.5rem 0; border:0; border-bottom:1px solid var(--burgundy); background:none; }
.mm-index-fallback { margin:2rem var(--gutter); }
.mm-ready .mm-index-fallback { display:none; }

/* Existing research content beneath the new opening. */
.defense-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); column-gap:3rem; align-items:center; margin:2rem var(--gutter) 4rem; padding:1.5rem 0; border-block:1px solid var(--burgundy); }
.defense-kicker { grid-column:1; font-size:.875rem; line-height:1.6; color:var(--burgundy); margin:0 0 .5rem; }
.defense-feature h2 { grid-column:1; font-family:var(--display); font-size:2.5rem; line-height:1.15; font-weight:400; margin:0; }
.defense-topic { grid-column:2; grid-row:1; font-size:1rem; line-height:1.6; margin:0; }
.defense-link { grid-column:2; grid-row:2; display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; min-height:44px; padding:.5rem 0; text-decoration:none; color:var(--burgundy); }
.defense-play,.defense-duration { font-size:.875rem; flex:none; }
.defense-duration { margin-left:auto; }
.defense-link:hover { text-decoration:underline; }
.methodology-feature { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:center; gap:clamp(2rem,6vw,5.5rem); background:var(--burgundy); color:var(--paper); padding:clamp(2rem,4.5vw,4rem) var(--gutter); margin-bottom:4rem; }
.eyebrow { color:var(--burgundy); font-size:.875rem; line-height:1.5; margin:0 0 1rem; }
.methodology-copy,.methodology-topics { min-width:0; }
.methodology-feature .eyebrow { color:var(--paper); }
.methodology-feature h2 { font-family:var(--display); font-size:clamp(3rem,1.8rem + 3.5vw,4.75rem); font-weight:400; line-height:1.08; margin:0 0 1.25rem; text-wrap:balance; overflow-wrap:anywhere; }
.methodology-intro { font-size:1.125rem; line-height:1.65; max-width:44ch; margin:0 0 1.5rem; text-wrap:pretty; }
.methodology-feature a { color:var(--paper); }
.methodology-feature a:hover { color:var(--gold); }
.methodology-feature a:focus-visible { outline-color:var(--paper); }
.methodology-cta { display:inline-block; font-family:var(--display); font-size:clamp(1.5rem,1.25rem + .5vw,1.875rem); line-height:1.25; text-decoration:none; border-bottom:1px solid currentColor; padding:.5rem 0; min-height:44px; }
.methodology-topics a { display:flex; justify-content:space-between; align-items:center; gap:1.25rem; min-height:58px; padding:.75rem 0; border-bottom:1px solid rgb(245 240 230 / .4); font-family:var(--body); font-size:clamp(1.125rem,1rem + .35vw,1.375rem); line-height:1.4; text-decoration:none; }
.methodology-topics a:first-of-type { border-top:1px solid rgb(245 240 230 / .4); }
.methodology-topics a span:first-child { min-width:0; overflow-wrap:anywhere; }
.methodology-topics a span:last-child { flex:none; }
.entry-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 var(--gutter) 4rem; gap:2.5rem; }
.entry-links article { min-width:0; padding-right:2rem; }
.entry-links article + article { border-left:1px solid var(--rule); padding-left:2.5rem; }
.entry-links h2 { font-family:var(--display); font-size:clamp(2.5rem,2rem + 2vw,3.5rem); font-weight:400; line-height:1.1; margin:0 0 1rem; text-wrap:balance; }
.entry-links p { font-size:1.125rem; line-height:1.65; max-width:46ch; margin:0 0 1rem; }
.entry-links a { font-family:var(--display); font-size:1.5rem; color:var(--burgundy); }
.board { background:var(--night); color:var(--paper); padding:3rem var(--gutter) 4rem; }
.board a:focus-visible { outline-color:var(--paper); }
.board-head { display:flex; justify-content:space-between; gap:1.25rem; flex-wrap:wrap; border-bottom:1px solid #706044; padding-bottom:1.25rem; }
.board-head h2 { font-size:1rem; font-weight:400; color:var(--gold); margin:0; }
.board-head span { font-size:.875rem; color:var(--gold); }
.board-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:5rem; gap:1.25rem; margin-top:2rem; }
.board figure { margin:0; display:flex; flex-direction:column; min-height:0; gap:.5rem; }
.board figure a { display:block; flex:1; min-height:0; border:1px solid #706044; overflow:hidden; }
.board img { width:100%; height:100%; object-fit:cover; display:block; }
.board figcaption { font-size:.875rem; color:var(--gold); line-height:1.5; }
.bio { padding:4rem var(--gutter); max-width:1440px; margin:auto; }
.section-head { border-bottom:1px solid var(--ink); padding-bottom:1.25rem; }
.section-head h2 { font-family:var(--display); font-size:3.5rem; font-weight:400; margin:0; }
.bio-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:3rem; margin-top:2rem; }
.facts { margin:0; padding:0; list-style:none; }
.facts li { border-top:1px solid var(--rule); padding:1rem 0; display:grid; grid-template-columns:minmax(0,6rem) minmax(0,1fr); gap:1rem; font-size:1rem; line-height:1.5; overflow-wrap:anywhere; }
.facts span { font-size:.875rem; color:#65584e; }
.prose { max-width:50ch; font-size:1.125rem; line-height:1.7; }
.prose p { margin:0 0 1.5rem; }
.prose p + p { color:#62584f; }
footer { margin:0 var(--gutter); border-top:1px solid var(--ink); padding:1.5rem 0 2rem; display:flex; align-items:center; justify-content:space-between; gap:1.25rem; font-size:.875rem; line-height:1.5; flex-wrap:wrap; }
@media(max-width:1000px) {
  .nav { min-height:5rem; flex-wrap:wrap; gap:1rem; }
  .mm-ready .mm-trigger { display:inline-flex; }
  .mm-nav { order:3; width:100%; padding:1rem 0; border-top:1px solid var(--rule); }
  .mm-ready:not([data-menu-open]) .mm-nav { display:none; }
  .mm-menu-from-index { display:inline-flex; }
  .home-hero { grid-template-columns:1fr; gap:0; padding-top:1.5rem; }
  .hero-name { grid-column:1; grid-row:1; padding:0; }
  h1 { font-size:clamp(3rem,1rem + 21vw,11rem); }
  .signature { margin-bottom:1.5rem; }
  .hero-copy { grid-column:1; grid-row:2; padding:0 0 2rem; }
  .intro { max-width:50ch; }
  .mm-index { width:min(80%,560px); }
  .defense-feature { margin-top:0; }
  .entry-links { grid-template-columns:1fr; gap:2rem; }
  .entry-links article,.entry-links article + article { border-left:0; border-bottom:1px solid var(--rule); padding:0 0 2rem; }
}
@media(max-width:720px) {
  .header-controls { gap:1rem; }
  .defense-feature { grid-template-columns:minmax(0,1fr); gap:.75rem; margin-bottom:3rem; }
  .defense-topic,.defense-link { grid-column:1; grid-row:auto; }
  .methodology-feature { grid-template-columns:1fr; gap:2rem; margin-bottom:3rem; }
  .methodology-feature h2 { font-size:clamp(2.875rem,2rem + 4vw,3.75rem); }
  .methodology-topics a { font-size:1.125rem; }
  .mm-index { inset:auto 1rem 1rem; width:auto; max-width:none; padding:1.25rem; }
  .mm-index ul { grid-template-columns:1fr; }
  .board-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; gap:1.5rem 1rem; }
  .board-grid figure { grid-column:auto!important; grid-row:auto!important; }
  .board figure a { aspect-ratio:3 / 4; }
  .bio-grid { grid-template-columns:minmax(0,1fr); gap:2rem; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:0ms!important; transition-duration:0ms!important; scroll-behavior:auto!important; }
}
