
:root{--ink:#1a1a1a;--mid:#555;--faint:#767676;--rule:#dcdcd6;--bg:#fbfaf7;
--panel:#fff;--red:#a3241c;--redink:#8d1f18}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
font:17px/1.62 Georgia,"Iowan Old Style","Times New Roman",serif}
a{color:var(--redink);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--red)}
.wrap{max-width:860px;margin:0 auto;padding-inline:20px}
.sans{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}
header.site{border-bottom:3px solid var(--ink);background:var(--panel)}
header.site .wrap{padding-block:22px 16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;align-items:flex-start}
.brand{display:block;font-size:31px;line-height:1.1;font-weight:700;letter-spacing:-.4px;
color:var(--ink);text-decoration:none}
.brand span{color:var(--red)}
.tag{margin:6px 0 0;color:var(--faint);font-size:14.5px;font-style:italic}
.langs{font-size:13px;letter-spacing:.06em;margin-top:6px}
.langs a,.langs b{margin-left:10px;text-decoration:none;text-transform:uppercase}
.langs b{color:var(--ink)}
nav.site{background:var(--panel);border-bottom:1px solid var(--rule);font-size:13.5px}
nav.site .wrap{display:flex;flex-wrap:wrap;gap:4px 20px;padding-block:11px}
nav.site a{color:var(--mid);text-decoration:none;text-transform:uppercase;letter-spacing:.07em;font-weight:600}
nav.site a:hover,nav.site a.on{color:var(--red)}
main{padding-block:34px 56px}
h1{font-size:31px;line-height:1.2;margin:0 0 10px;letter-spacing:-.3px}
h2.sec{font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin:38px 0 8px;
border-bottom:1px solid var(--rule);padding-bottom:6px}
.lede{font-size:19px;line-height:1.55;color:var(--mid);margin:0 0 22px}
.yearnav{font-size:14px;line-height:2.1;margin:0 0 20px}
.yearnav a{margin-right:10px;white-space:nowrap}
ul.works{list-style:none;margin:0;padding:0}
ul.works>li{padding:11px 0;border-bottom:1px solid var(--rule)}
ul.works .t{font-weight:700;font-size:17.5px;line-height:1.35}
ul.works .t a{color:var(--ink);text-decoration:none}
ul.works .t a:hover{color:var(--red);text-decoration:underline}
ul.vs{list-style:none;margin:3px 0 0;padding:0;font-size:13px;color:var(--faint);line-height:1.55}
ul.vs li{padding-left:0}
ul.vs a{color:var(--mid)}
.lg{display:inline-block;min-width:24px;font-size:10.5px;font-weight:700;letter-spacing:.06em;
color:#fff;background:var(--mid);border-radius:2px;padding:0 4px;margin-right:6px;text-align:center;line-height:16px}
.lg.fr{background:#2b4c7e}.lg.en{background:#a3241c}.lg.es{background:#9a6a00}.lg.pt{background:#2f6b3b}
.vt{font-style:italic}
.lg.soon{background:#fff;color:var(--red);border:1px solid var(--red);line-height:14px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:0 0 30px}
.card{display:block;background:var(--panel);border:1px solid var(--rule);padding:14px 15px;text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--red)}
.card b{display:block;font-size:24px;margin-bottom:2px}
.card span{font-size:13px;color:var(--faint)}
#q{width:100%;padding:9px 12px;border:1px solid var(--rule);background:var(--panel);font:inherit;font-size:16px;margin:0 0 18px}
.plain li{margin:0 0 6px}
footer.site{border-top:1px solid var(--rule);font-size:14px;color:var(--faint);padding-block:6px 30px}
footer.site p{margin:14px 0 0}
@media (max-width:560px){.brand{font-size:26px}h1{font-size:26px}}
