:root { color-scheme: light; --paper:#fbf6ec; --ink:#1c1814; --muted:#5a5048; --line:#e3d8c0; --accent:#5b3a7a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,Arial,sans-serif; line-height:1.7; }
a { color:var(--accent); text-underline-offset:0.2em; overflow-wrap:anywhere; }
a:hover { color:#7a431f; }
a:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
.skip-link { position:absolute; top:-100px; left:12px; padding:10px; background:white; z-index:10; }
.skip-link:focus { top:12px; }
.site-header, .article-shell, .work-shell, main, .site-footer, footer { max-width:960px; margin:auto; padding:24px; }
.site-header, .site-nav, .article-nav, header nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
.site-header { border-bottom:1px solid var(--line); }
.site-header .brand { font-family:Fraunces,Georgia,serif; font-size:24px; font-weight:700; text-decoration:none; }
nav a { margin-right:12px; }
.lang-button { border:1px solid var(--line); border-radius:20px; padding:6px 12px; text-decoration:none; font-size:13px; }
.lang-button[aria-current="page"] { background:var(--ink); color:var(--paper); }
.breadcrumbs { padding:8px 0; font-size:13px; color:var(--muted); }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; }
.breadcrumbs li + li::before { content:"/"; padding-right:8px; }
h1,h2,h3 { font-family:Fraunces,Georgia,serif; line-height:1.2; letter-spacing:-0.025em; }
h1 { font-size:clamp(32px,5vw,58px); max-width:850px; margin:36px 0 20px; }
h2 { margin-top:44px; font-size:28px; }
h3 { font-size:23px; }
p,li { max-width:76ch; }
.lead, .article-lead { font-size:20px; color:var(--muted); }
.eyebrow, .article-meta { color:var(--accent); font-size:13px; font-weight:600; }
.work-grid, .case-study-grid { display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); margin:28px 0; }
.work-card, .case-study-card { padding:24px; border:1px solid var(--line); border-radius:16px; background:#fffaf2; }
.work-card h2, .case-study-card h2 { margin-top:0; font-size:24px; }
.work-card p, .case-study-card p { font-size:15px; }
.article-contact, .contact-panel { border-top:1px solid var(--line); margin-top:48px; padding-top:20px; }
.site-footer, footer { border-top:1px solid var(--line); font-size:13px; color:var(--muted); }
@media(max-width:480px) { .site-header,main,footer { padding:20px; } h1 { margin-top:24px; } .lead { font-size:18px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .site-header,.skip-link,.article-contact,.site-footer { display:none; } body { background:white; color:black; } main { max-width:none; padding:0; } a { color:black; } }
