/* Agent CV page — same editorial system as lmb.css (cream / aubergine / green,
   Newsreader + Geist + Geist Mono). Self-hosted fonts + tokens duplicated here
   because this page links only nav.css + agent.css. CSP-safe: no inline style. */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/nr-400.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/nr-400i.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/nr-500.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/nr-600.woff2') format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/gs-400.woff2') format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/gs-500.woff2') format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/gs-600.woff2') format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/gm-400.woff2') format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/gm-500.woff2') format('woff2')}
:root{
  --cream:#FCF6F2;--white:#FFFFFF;--ink:#212121;--muted:#4A4A4A;--hairline:#EAE2DB;
  --aubergine:#482353;--green:#2C6E48;--paper:#FFFDFC;
  --max:1480px;--gutter:clamp(22px,4.8vw,84px);--colgap:24px;
}
*{box-sizing:border-box}
html{background:var(--cream);color:var(--ink);scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Geist,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
a{color:inherit;text-decoration:none}
::selection{background:var(--hairline);color:var(--ink)}
.page{min-height:100vh;overflow:hidden}
.top-rule{position:fixed;z-index:30;top:0;left:0;right:0;height:1px;background:var(--aubergine)}
.mono{font-family:"Geist Mono",monospace}

/* shared 12-col band */
.band{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(12,1fr);gap:var(--colgap)}

/* ---- hero ---- */
.cv-hero{padding-top:128px;padding-bottom:8px;align-items:end}
.back{grid-column:2/12;display:inline-flex;align-items:center;gap:9px;font-family:"Geist Mono",monospace;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:40px;transition:color .15s}
.back:hover{color:var(--ink)}
.back .ar{transition:transform .2s}
.back:hover .ar{transform:translateX(-3px)}
.cv-portrait{grid-column:2/5;border:1px solid var(--hairline);background:var(--cream);border-radius:3px;overflow:hidden;aspect-ratio:220/170;display:flex;align-items:center;justify-content:center}
.cv-portrait svg{width:100%;height:100%;display:block}
.cv-headline{grid-column:5/12;padding-bottom:6px}
.cv-eyebrow{font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--aubergine);border-top:1px solid var(--aubergine);padding-top:13px;display:flex;flex-wrap:wrap;gap:10px 18px}
.cv-eyebrow .sep{color:var(--hairline)}
.cv-name{margin:22px 0 0;font-family:Newsreader,"Source Serif 4",serif;font-size:clamp(50px,7vw,104px);font-weight:500;letter-spacing:-.05em;line-height:.86}
.cv-role{margin-top:16px;font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.cv-mandate{margin:20px 0 0;font-family:Newsreader,"Source Serif 4",serif;font-size:clamp(26px,3vw,44px);font-weight:500;letter-spacing:-.03em;line-height:.98;max-width:18ch}
.hero-rule{grid-column:2/12;height:1px;background:var(--hairline);margin-top:64px}

/* ---- brief + side facts ---- */
.cv-brief{padding-top:62px;padding-bottom:8px}
.brief-eyebrow{grid-column:2/4;font-family:"Geist Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:6px}
.brief-text{grid-column:4/9;margin:0;font-family:Newsreader,"Source Serif 4",serif;font-size:clamp(20px,1.55vw,25px);line-height:1.42;letter-spacing:-.01em;color:#262220}
.facts{grid-column:10/12;border-top:1px solid var(--ink);padding-top:16px;display:flex;flex-direction:column;gap:18px}
.fact .k{font-family:"Geist Mono",monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.fact .v{margin-top:5px;font-size:13.5px;line-height:1.35;color:var(--ink)}

/* ---- method ---- */
.cv-method{padding-top:72px;padding-bottom:8px}
.method-head{grid-column:2/4;font-family:"Geist Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--aubergine);border-top:1px solid var(--aubergine);padding-top:13px}
.method-grid{grid-column:4/12;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hairline);border-left:1px solid var(--hairline)}
.mcell{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:20px 20px 26px;min-height:150px;background:var(--paper)}
.mcell .mi{font-family:"Geist Mono",monospace;font-size:10px;letter-spacing:.12em;color:var(--aubergine)}
.mcell .mt{margin-top:14px;font-size:14px;line-height:1.4;color:var(--ink)}
.determinism{grid-column:4/12;margin-top:22px;border-left:2px solid var(--green);background:var(--white);padding:15px 20px;display:flex;align-items:baseline;gap:12px}
.determinism .dk{font-family:"Geist Mono",monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);white-space:nowrap}
.determinism .dt{font-size:13.5px;line-height:1.45;color:#2a2a2a}

/* ---- focus pull-quote ---- */
.cv-focus{padding-top:64px;padding-bottom:8px}
.focus-q{grid-column:4/11;margin:0;font-family:Newsreader,"Source Serif 4",serif;font-style:italic;font-size:clamp(24px,2.6vw,38px);line-height:1.12;letter-spacing:-.02em;color:var(--ink);border-top:1px solid var(--hairline);padding-top:30px}
.focus-q .qm{color:var(--aubergine);font-style:normal}

/* ---- in the line: prev / next ---- */
.cv-line{padding-top:76px;padding-bottom:120px}
.line-head{grid-column:2/4;font-family:"Geist Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:18px}
.line-cards{grid-column:4/12;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nbr{border:1px solid var(--hairline);border-radius:3px;background:var(--paper);padding:16px 18px;display:flex;align-items:center;gap:16px;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s}
.nbr:hover{transform:translateY(-3px);border-color:#d8cdc5}
.nbr.next{flex-direction:row-reverse;text-align:right}
.nbr-pic{width:62px;height:62px;flex:0 0 62px;border:1px solid var(--hairline);border-radius:2px;background:var(--cream);overflow:hidden}
.nbr-pic svg{width:100%;height:100%;display:block}
.nbr>span{display:block}
.nbr-dir{display:block;font-family:"Geist Mono",monospace;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--aubergine)}
.nbr-name{display:block;margin-top:6px;font-family:Newsreader,"Source Serif 4",serif;font-size:22px;font-weight:500;letter-spacing:-.03em;line-height:1}
.nbr-role{display:block;margin-top:5px;font-family:"Geist Mono",monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.line-back{grid-column:4/12;margin-top:26px;display:flex;justify-content:center}
.line-back a{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 22px;border:1px solid var(--ink);border-radius:2px;font-size:13px}
.line-back a:hover{background:var(--ink);color:var(--cream)}
.line-back .ar{transition:transform .2s}
.line-back a:hover .ar{transform:translateX(3px)}

/* ---- directory fallback (no / unknown id) ---- */
.dir{padding-top:128px;padding-bottom:120px}
.dir-eyebrow{grid-column:2/5;font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--aubergine);border-top:1px solid var(--aubergine);padding-top:13px}
.dir h1{grid-column:2/12;margin:22px 0 0;font-family:Newsreader,"Source Serif 4",serif;font-size:clamp(44px,6vw,92px);font-weight:500;letter-spacing:-.05em;line-height:.88}
.dir-grid{grid-column:2/12;margin-top:54px;border-top:1px solid var(--hairline)}
.dir-row{display:grid;grid-template-columns:46px 2fr 3fr auto;align-items:center;gap:var(--colgap);border-bottom:1px solid var(--hairline);padding:16px 0}
.dir-row:hover{background:var(--paper)}
.dir-pic{width:40px;height:40px;border:1px solid var(--hairline);border-radius:2px;overflow:hidden;background:var(--cream)}
.dir-pic svg{width:100%;height:100%;display:block}
.dir-name{font-family:Newsreader,"Source Serif 4",serif;font-size:24px;font-weight:500;letter-spacing:-.03em}
.dir-skill{color:var(--muted);font-size:14px;line-height:1.35}
.dir-arr{font-family:"Geist Mono",monospace;font-size:11px;color:var(--aubergine);justify-self:end}

footer.foot{border-top:1px solid var(--hairline)}
.foot-in{max-width:var(--max);margin:0 auto;padding:26px var(--gutter);display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;align-items:baseline}
.foot-in span{font-family:"Geist Mono",monospace;font-size:10px;letter-spacing:.06em;color:var(--muted)}
.foot-in .disc{max-width:560px;text-transform:none;letter-spacing:0}

@media(max-width:980px){
  .band{grid-template-columns:repeat(6,1fr)}
  .cv-hero{padding-top:96px}
  .back,.hero-rule{grid-column:1/7}
  .cv-portrait{grid-column:1/3}
  .cv-headline{grid-column:1/7;margin-top:26px}
  .cv-mandate{max-width:none}
  .brief-eyebrow,.method-head,.line-head{grid-column:1/7}
  .brief-text{grid-column:1/7;margin-top:14px}
  .facts{grid-column:1/7;margin-top:30px}
  .method-grid,.determinism,.line-cards,.line-back{grid-column:1/7}
  .method-grid{grid-template-columns:1fr}
  .focus-q{grid-column:1/7}
  .line-cards{grid-template-columns:1fr}
  .nbr.next{flex-direction:row;text-align:left}
  .dir-eyebrow,.dir h1,.dir-grid{grid-column:1/7}
  .dir-row{grid-template-columns:40px 1fr auto}
  .dir-skill{display:none}
}
