:root{--bg: #f8f4ec;--text: #1c1c1a;--text-muted: #6b6560;--rule: rgba(28, 28, 26, .12);--accent: #a0261e;--serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:1.05rem;line-height:1.65;-webkit-font-smoothing:antialiased;font-feature-settings:"kern" 1,"liga" 1;min-height:100vh;display:flex;align-items:stretch;justify-content:center}::selection{background:var(--accent);color:var(--bg)}a{color:var(--text)}a:hover{color:var(--accent)}.book-italic{font-family:var(--serif);font-style:italic;font-size:1.08em;letter-spacing:.005em}.card{max-width:880px;width:100%;margin:0 auto;padding:7rem 2.5rem 4rem;display:flex;flex-direction:column;gap:5rem}.head{text-align:left}.name{font-family:var(--serif);font-weight:500;font-size:clamp(3rem,6vw,4.5rem);line-height:1;letter-spacing:-.01em;margin:0 0 1.5rem;color:var(--text)}.role{font-family:var(--sans);font-size:.86rem;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .5rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline}.sep{color:var(--accent);opacity:.55}.place{font-family:var(--sans);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:0}.bio{display:grid;grid-template-columns:280px 1fr;gap:3.5rem;align-items:start}.portrait{margin:0;overflow:hidden;border-radius:2px;box-shadow:0 18px 60px #1c1c1a24}.portrait img{width:100%;height:auto;display:block;filter:grayscale(100%) contrast(1.06) brightness(.98);transition:filter .6s ease}.portrait:hover img{filter:grayscale(85%) contrast(1.08) brightness(1)}.bio-text{padding-top:.25rem}.bio-text p{color:var(--text);line-height:1.8;font-size:1.05rem;margin:0 0 1.5rem}.bio-text p:last-child{margin-bottom:0}.bio-text a{color:var(--accent);text-decoration:underline;text-decoration-color:#a0261e59;text-underline-offset:4px;transition:text-decoration-color .2s}.bio-text a:hover{text-decoration-color:var(--accent)}.section-label{font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 1.5rem}.routes{padding-top:2rem;border-top:1px solid var(--rule)}.route-list{list-style:none;display:flex;flex-direction:column;gap:1.5rem;margin:0;padding:0}.route-list li{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:baseline}.route-when{font-family:var(--sans);font-size:.98rem;color:var(--text);line-height:1.5}.route-go{font-family:var(--sans);font-size:.82rem;font-weight:500;letter-spacing:.1em;color:var(--accent);text-decoration:none;white-space:nowrap;transition:opacity .2s,transform .2s}.route-go:hover{transform:translate(3px);opacity:.8}.foot{padding-top:2rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:1rem}.foot-contact,.foot-meta{margin:0;font-family:var(--sans);font-size:.78rem;letter-spacing:.04em;color:var(--text-muted)}.foot-contact a{color:var(--text-muted);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}.foot-contact a:hover{color:var(--accent);text-decoration-color:var(--accent)}.foot-contact .sep{margin:0 .5rem}.foot-meta{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}@media(max-width:720px){.card{padding:4rem 1.5rem 3rem;gap:3.5rem}.name{font-size:clamp(2.4rem,11vw,3.2rem)}.bio{grid-template-columns:1fr;gap:2rem}.portrait{max-width:220px;margin:0}.route-list li{grid-template-columns:1fr;gap:.35rem}.foot{flex-direction:column;gap:.5rem;align-items:flex-start}.foot-contact .sep{display:inline}}@media print{@page{size:85mm 55mm;margin:4mm}body{background:#fff}.card{padding:0;max-width:none;gap:1.5mm}.bio,.routes,.foot-meta{display:none}.head{text-align:left}.name{font-size:14pt;margin-bottom:1mm;line-height:1}.role{font-size:7pt;letter-spacing:.04em;margin-bottom:.5mm;gap:.3mm}.sep{color:#a0261e}.place{font-size:6pt;letter-spacing:.16em;margin-bottom:2mm}.foot{padding:0;border-top:none;display:block}.foot-contact{font-size:7pt;letter-spacing:.02em}.foot-contact a{color:#1c1c1a;text-decoration:none}.foot-contact .sep,.foot-contact a[download]{display:none}}
