:root { color-scheme: light; --paper:#f8f6f1; --ink:#102036; --muted:#576376; --line:#d8d5cd; --accent:#1558d6; --serif:Georgia,"Times New Roman",serif; --sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:1rem/1.65 var(--sans); }
img { max-width:100%; height:auto; }
a { color:var(--accent); text-underline-offset:.18em; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible { outline:3px solid rgba(21,88,214,.35); outline-offset:4px; }
.skip-link { position:absolute; left:-9999px; top:.75rem; padding:.6rem .85rem; background:var(--ink); color:white; }
.skip-link:focus { left:.75rem; }
.site-header, main, .site-footer { width:min(76rem,calc(100% - 2.5rem)); margin-inline:auto; }
.site-header { display:flex; justify-content:space-between; align-items:baseline; gap:2rem; padding:1.25rem 0; border-bottom:1px solid var(--line); }
.site-name { color:var(--ink); font:700 1.35rem var(--serif); text-decoration:none; white-space:nowrap; }
.site-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.4rem 1.4rem; }
.site-nav a { color:var(--ink); font-size:.94rem; text-decoration:none; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color:var(--accent); }
.site-nav .language { padding-left:1.2rem; border-left:1px solid var(--line); }
main { padding:3rem 0 6rem; }
.hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(15rem,.65fr); align-items:center; gap:clamp(2rem,7vw,7rem); padding-bottom:3rem; }
.eyebrow { margin:0 0 1.3rem; color:var(--muted); font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3 { color:var(--ink); }
h1 { max-width:15ch; margin:0; font:500 clamp(3rem,7vw,6rem)/.98 var(--serif); letter-spacing:-.045em; }
h2 { margin:0 0 1.2rem; font:500 clamp(2rem,4vw,3.2rem)/1.08 var(--serif); letter-spacing:-.025em; }
h3 { margin:0 0 .55rem; font-size:1.15rem; line-height:1.3; }
.hero .lede { max-width:31ch; margin:1.45rem 0 0; font:clamp(1.5rem,3vw,2.35rem)/1.24 var(--serif); }
.summary,.section-intro,.featured-project p,.expertise p { color:var(--muted); }
.summary { max-width:61ch; }
.actions,.text-links { display:flex; flex-wrap:wrap; gap:.75rem 1.2rem; margin-top:1.8rem; }
.button { display:inline-block; padding:.75rem 1.05rem; border:1px solid var(--accent); font-weight:700; text-decoration:none; }
.button.primary,.button:hover { background:var(--accent); color:white; }
.portrait { display:block; width:min(100%,21rem); aspect-ratio:1; justify-self:end; border:1px solid var(--line); border-radius:50%; object-fit:cover; }
.expertise { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); }
.expertise article { padding:2rem; }
.expertise article:first-child { padding-left:0; }
.expertise article:last-child { padding-right:0; }
.expertise article + article { border-left:1px solid var(--line); }
.expertise p { margin:0; }
.number,.project-label { color:var(--accent); font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.number { display:block; margin-bottom:.65rem; }
.section { padding-top:5rem; }
.featured-project,.principles { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,6vw,6rem); }
.featured-project { padding-top:2rem; border-top:1px solid var(--line); }
.featured-project h3 { margin-top:.5rem; font:500 clamp(2rem,4vw,3rem) var(--serif); }
.featured-project p { max-width:55ch; }
.principles ul { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.principles li { padding:.9rem 0; border-bottom:1px solid var(--line); font:1.2rem var(--serif); }
.page-header { max-width:48rem; padding-bottom:3rem; border-bottom:1px solid var(--line); }
.page-header h1 { max-width:none; font-size:clamp(3rem,7vw,5.5rem); }
.page-header .lede { max-width:60ch; color:var(--muted); font-size:1.15rem; }
.content { max-width:48rem; }
.content section,.content article { margin-top:3.5rem; }
.content h2 { font-size:clamp(1.8rem,4vw,2.6rem); }
.content p,.content li { max-width:68ch; }
.content hr { margin:3rem 0; border:0; border-top:1px solid var(--line); }
.meta { color:var(--muted); font-size:.94rem; }
.article-body { max-width:44rem; font:1.12rem/1.7 var(--serif); }
.article-body p { margin:1.4rem 0; }
.site-footer { display:flex; justify-content:space-between; gap:2rem; padding:1.5rem 0 3rem; border-top:1px solid var(--line); color:var(--muted); font-size:.88rem; }
.site-footer p { margin:0; }
@media (max-width:760px) {
  .site-header { display:block; }
  .site-nav { justify-content:flex-start; gap:.45rem 1rem; margin-top:.8rem; }
  .site-nav .language { padding-left:0; border-left:0; }
  main { padding:2.75rem 0 4rem; }
  .hero { grid-template-columns:1fr; gap:2rem; padding-bottom:3rem; }
  .portrait { grid-row:1; width:10rem; justify-self:start; }
  .expertise { grid-template-columns:1fr; }
  .expertise article { padding:1.5rem 0; }
  .expertise article + article { border-left:0; border-top:1px solid var(--line); }
  .section { padding-top:3.5rem; }
  .featured-project,.principles { grid-template-columns:1fr; gap:1.25rem; }
  .site-footer { display:block; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
