:root{
  --night:#161a24; --night2:#212737; --nline:#333a4d; --nmu:#a8adb8; --hair:#2c3242;
  --bg:#f4f1ea; --card:#fffdf8; --ink:#161a24; --tx:#3d4350; --mu:#6f7480; --line:#e4dfd3; --soft:#efeadf;
  --olive:#6b7a3a; --olive-t:#55622c; --gold:#e8b33f; --orange:#f07a45;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--night:#0f121a;--night2:#1b2030;--bg:#14171f;--card:#1d212b;--ink:#f1eee6;--tx:#cfd2d8;--mu:#9a9ea8;--line:#2f3542;--soft:#262b36;--olive-t:#b8c77d}}
:root[data-theme="dark"]{--night:#0f121a;--night2:#1b2030;--bg:#14171f;--card:#1d212b;--ink:#f1eee6;--tx:#cfd2d8;--mu:#9a9ea8;--line:#2f3542;--soft:#262b36;--olive-t:#b8c77d}
html.a11y-contrast{--night:#000;--night2:#111;--nline:#fff;--nmu:#fff;--hair:#888;--bg:#fff;--card:#fff;--ink:#000;--tx:#000;--mu:#1a1a1a;--line:#000;--soft:#eee;--olive-t:#2f3812}
html{font-size:16px} html.a11y-big{font-size:19.2px}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--tx);font-family:'Public Sans',Arial,sans-serif;line-height:1.5;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit} button{font:inherit;cursor:pointer;color:inherit;background:none;border:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
[hidden]{display:none!important}
.in{max-width:60rem;margin:0 auto;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#161a24;padding:.5rem 1rem;z-index:50;font-weight:700}
.skip:focus{left:1rem;top:1rem}
.hero{background:var(--night);color:#f4f1ea;padding:1.1rem 0 2.6rem;position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--orange) 0 33.3%,var(--gold) 33.3% 66.6%,var(--olive) 66.6%)}
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.links{display:flex;gap:1.1rem;align-items:center;font-weight:700;font-size:.95rem}
.links a{color:#cfd2d8;text-decoration:none;padding:.2rem 0;border-bottom:2px solid transparent}
.links a[aria-current="page"]{color:#fff;border-bottom-color:var(--gold)}
.links a:hover{color:#fff}
.tools{display:flex;gap:.5rem;align-items:center}
.lang{display:inline-flex;background:var(--night2);border:1px solid var(--nline);border-radius:99px;padding:3px}
.lang a{font-size:.78rem;font-weight:800;letter-spacing:.06em;padding:.45rem .7rem;border-radius:99px;color:var(--nmu);text-decoration:none}
.lang a[aria-current="true"]{background:#f4f1ea;color:#161a24}
.acc{width:2.6rem;height:2.6rem;border-radius:50%;background:#f4f1ea;color:#161a24;display:flex;align-items:center;justify-content:center;flex:none}
.id{display:flex;gap:1.5rem;align-items:center;margin-top:1.4rem}
.id img{width:110px;height:110px;border-radius:50%;border:5px solid var(--gold);object-fit:cover;flex:none}
.id .nm{display:block;font-family:Oswald,Arial,sans-serif;font-weight:450;font-size:2.25rem;line-height:1.1;color:#fff}
.id .nm .g{color:var(--gold)}
.id .sg{display:block;font-size:1.06rem;color:#cfd2d8;margin-top:.3rem;max-width:34rem}
.pitch{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--hair);font-size:1.5rem;line-height:1.45;color:var(--nmu);max-width:40rem}
.pitch strong{color:#fff;font-weight:600}
.ptitle{font-family:Oswald,Arial,sans-serif;font-weight:600;font-size:clamp(2rem,6vw,2.8rem);line-height:1.1;color:#fff;margin-top:1.8rem}
.plede{color:#cfd2d8;margin-top:.5rem;max-width:38rem}
.content{padding:2rem 0 2.6rem}
.h2{font-family:Oswald,Arial,sans-serif;font-size:1.75rem;color:var(--ink);display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.h2 a{font-family:'Public Sans',Arial,sans-serif;font-size:.9rem;color:var(--olive-t);text-decoration:none;font-weight:700}
.h2 a:hover{text-decoration:underline}
.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;margin-top:.9rem}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:1.1rem;padding:.9rem;text-decoration:none;color:inherit}
a.card:hover,a.pub:hover{border-color:var(--gold)}
.card img{width:100%;border-radius:.6rem;display:block}
.meta{display:block;margin-top:.6rem;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mu)}
.card b{display:block;font-family:Oswald,Arial,sans-serif;font-size:1.3rem;color:var(--ink);line-height:1.2;margin-top:.2rem}
.card .d{display:block;font-size:.9rem;margin-top:.2rem}
.pubs{display:grid;gap:.6rem}
.pub{display:block;background:var(--card);border:1px solid var(--line);border-radius:.9rem;padding:.8rem .9rem;text-decoration:none;color:inherit}
.pub small{font-size:.7rem;font-weight:800;color:var(--mu);letter-spacing:.04em;text-transform:uppercase}
.pub b{display:block;font-size:.92rem;color:var(--ink);line-height:1.3;margin-top:.15rem}
.pub .go{display:block;font-size:.8rem;font-weight:700;color:var(--olive-t);margin-top:.35rem}
.dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;margin-right:.35rem;vertical-align:.05rem}
.d-focus{background:var(--orange)} .d-instantane{background:var(--gold)} .d-reflexes{background:var(--olive)} .d-quiz{background:var(--ink)}
.list{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:.9rem}
.note{margin-top:1.2rem;font-size:.88rem;color:var(--mu)}
.topbar{position:sticky;top:0;z-index:25;background:var(--night);border-bottom:1px solid var(--nline);transition:transform .25s}
.topbar .top{padding-top:.6rem;padding-bottom:.6rem}
.topbar.hide{transform:translateY(-100%)}
.hero{padding-top:.2rem}
.qhero{display:grid;grid-template-columns:1.1fr 1fr;gap:1.2rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:1.1rem;padding:.9rem;margin-top:.9rem}
.qhero img{width:100%;border-radius:.6rem;display:block}
.qhero h3{font-family:Oswald,Arial,sans-serif;font-weight:500;font-size:1.5rem;line-height:1.15;margin-top:.2rem}
.qhero h3 a{color:var(--ink);text-decoration:none}
.qhero p{margin-top:.4rem}
.gob{display:inline-block;margin-top:.9rem;background:var(--gold);color:#161a24;font-weight:800;padding:.65rem 1.15rem;border-radius:99px;text-decoration:none}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-top:.9rem}
.pa{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-top:5px solid var(--pc);border-radius:1rem;overflow:hidden;text-decoration:none;color:inherit}
.pa:hover,.pb:hover{box-shadow:0 10px 24px -16px rgba(0,0,0,.45)}
.pa .cov{height:11rem;overflow:hidden;background:var(--night)}.pa .cov img{width:100%;display:block}
.pa .tx{padding:.9rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.lb{font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--mu);display:flex;align-items:center;gap:.4rem}
.lb i{width:.55rem;height:.55rem;border-radius:50%;background:var(--pc);display:inline-block;flex:none}
.pa b{font-family:Oswald,Arial,sans-serif;font-weight:500;font-size:1.2rem;line-height:1.2;color:var(--ink)}
.pa .ch{font-size:.86rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pa .rd{margin-top:auto;padding-top:.3rem;font-weight:800;font-size:.82rem;color:var(--olive-t)}
.plist{display:grid;gap:.7rem;margin-top:.4rem}
.pb{display:grid;grid-template-columns:6rem 1fr auto;gap:1rem;align-items:center;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--pc);border-radius:.9rem;padding:.6rem 1rem .6rem .6rem;text-decoration:none;color:inherit}
.pb img{width:6rem;height:7.5rem;object-fit:cover;object-position:top;border-radius:.5rem;display:block}
.pb b{display:block;font-family:Oswald,Arial,sans-serif;font-weight:500;font-size:1.25rem;line-height:1.2;color:var(--ink);margin-top:.2rem}
.pb .ch{display:block;font-size:.9rem;margin-top:.25rem}
.pb .arr{font-size:1.4rem;color:var(--olive-t);font-weight:700}
@media (max-width:640px){
  .qhero{grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr}
  .pb{grid-template-columns:4.5rem 1fr;gap:.8rem}.pb img{width:4.5rem;height:5.6rem}.pb .arr{display:none}.pb b{font-size:1.08rem}
}
footer{background:var(--night);color:#cfd2d8;padding:1.2rem 0;font-size:.85rem}
footer .in{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;align-items:center}
footer .bm{font-family:Oswald,Arial,sans-serif;color:#fff;letter-spacing:.03em;font-weight:500}
footer .bm i{font-style:normal;color:var(--gold)}
footer a{color:var(--gold);font-weight:700;text-decoration:none}
.panel{position:fixed;top:4.2rem;right:max(16px,env(safe-area-inset-right));width:min(23rem,calc(100vw - 32px));padding:1.2rem;z-index:20;max-height:calc(100vh - 5.5rem);overflow:auto;background:var(--card);color:var(--tx);border:1px solid var(--line);border-radius:1.1rem;box-shadow:0 20px 50px -15px rgba(0,0,0,.45)}
.ph{display:flex;justify-content:space-between;align-items:center;padding-bottom:.7rem;border-bottom:1px solid var(--line)}
.ph h2{font-family:Oswald,Arial,sans-serif;font-size:1.5rem;color:var(--ink)}
.x{width:2.3rem;height:2.3rem;border-radius:50%;border:1.5px solid var(--line);font-size:1.3rem;line-height:1;color:var(--ink)}
.opt{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.opt b{display:block;color:var(--ink);font-size:.95rem}.opt span{font-size:.82rem;color:var(--mu)}
.sw{flex:none;width:3.1rem;height:1.8rem;border-radius:99px;background:var(--soft);border:1.5px solid var(--line);position:relative;transition:background .15s}
.sw::after{content:"";position:absolute;top:.17rem;left:.2rem;width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:left .15s}
.sw[aria-checked="true"]{background:var(--olive);border-color:var(--olive)} .sw[aria-checked="true"]::after{left:1.5rem}
.reset{margin-top:.8rem;width:100%;padding:.6rem;border-radius:99px;border:1.5px solid var(--ink);font-weight:700;color:var(--ink)}
.pfoot{margin-top:.8rem;font-size:.8rem;color:var(--mu)}
@media (max-width:640px){
  .links{gap:.8rem;font-size:.85rem}
  .grid,.list{grid-template-columns:1fr}
  .id{gap:1rem;margin-top:1.4rem}.id img{width:90px;height:90px;border-width:4px}.id .nm{font-size:1.75rem}.id .sg{font-size:.95rem}
  .pitch{font-size:1.19rem;margin-top:1.25rem;padding-top:1.1rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
