:root{
  --bg:#F7F7F8; --surface:#FFFFFF; --text:#151022; --dim:#463D5C; --dimmer:#847C99;
  --coral:#E8543C; --violet:#6D5CD6; --line:#E4E1EA;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif;
  font-size:17px; line-height:1.65;
}
.wrap{max-width:760px; margin:0 auto; padding:56px 20px 96px}
header.top{border-bottom:1px solid var(--line); padding-bottom:28px; margin-bottom:40px}
.eyebrow{
  font-size:13px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--coral); font-weight:600; margin:0 0 10px
}
h1{
  font-family:'Bricolage Grotesque',system-ui,sans-serif;
  font-size:clamp(30px,6vw,46px); line-height:1.1; margin:0 0 14px; font-weight:700;
}
h2{
  font-family:'Bricolage Grotesque',system-ui,sans-serif;
  font-size:clamp(21px,3.6vw,26px); line-height:1.25; margin:44px 0 12px; font-weight:700;
}
h3{font-size:18px; margin:28px 0 8px; font-weight:600}
p,li{color:var(--dim)}
p{margin:0 0 14px}
ul,ol{margin:0 0 16px; padding-left:22px}
li{margin:0 0 8px}
strong{color:var(--text); font-weight:600}
a{color:var(--violet); text-decoration:underline; text-underline-offset:3px}
.meta{font-size:14px; color:var(--dimmer); margin:0}
.card{
  background:var(--surface); border:1px solid var(--line); border-radius:14px;
  padding:20px 22px; margin:0 0 20px
}
.falta{
  background:#FFF4F2; border:1px solid var(--coral); border-radius:10px;
  padding:3px 9px; color:var(--coral); font-weight:600; font-size:15px;
  display:inline-block;
}
table{width:100%; border-collapse:collapse; margin:0 0 20px; font-size:15px}
th,td{text-align:left; padding:11px 12px; border-bottom:1px solid var(--line); vertical-align:top}
th{color:var(--text); font-weight:600; background:var(--surface)}
td{color:var(--dim)}
.nav{display:flex; flex-wrap:wrap; gap:10px; margin:0 0 40px}
.nav a{
  background:var(--surface); border:1px solid var(--line); border-radius:999px;
  padding:8px 16px; font-size:15px; text-decoration:none; color:var(--text); font-weight:500
}
.nav a.on{background:var(--text); color:#fff; border-color:var(--text)}
footer{margin-top:60px; padding-top:24px; border-top:1px solid var(--line); font-size:14px; color:var(--dimmer)}
@media(max-width:560px){
  .wrap{padding:36px 16px 72px}
  body{font-size:16px}
  table{font-size:14px; table-layout:fixed}
  th,td{padding:9px 7px; word-break:break-word; overflow-wrap:anywhere}
  .card{padding:16px 16px}
}
