:root{--ink:#0a0f1c;--ink2:#141b2e;--lime:#d7ff3a;--red:#ff3b30;--txt:#111827;--mut:#4b5563;--line:#e5e7eb;--bg:#f6f7f9;--r:16px;
--ok:#047857;--okb:#d1fae5;--pr:#9a3412;--prb:#ffedd5;--cl:#b91c1c;--clb:#fee2e2;--so:#f9fafb;--sob:#374151;--na:#374151;--nab:#e5e7eb;
--f:"Inter var",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--fd:"Barlow Condensed","Arial Narrow","Helvetica Neue Condensed",Impact,var(--f)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 var(--f);color:var(--txt);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%}.w{max-width:1180px;margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:9;background:var(--lime);color:var(--ink);padding:8px 12px;border-radius:8px}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
h1,h2,h3{font-family:var(--fd);letter-spacing:-.01em;line-height:1.05;margin:0}
.kicker{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}.kicker.lime{color:var(--lime)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--lime);color:var(--ink);border:0;border-radius:999px;padding:13px 22px;font:800 .95rem var(--f);cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #d7ff3a55}.btn.sm{padding:8px 16px;font-size:.85rem}.btn.ghost{background:transparent;color:var(--txt);border:2px solid var(--txt)}
/* header */
.top{background:var(--ink);color:#fff;position:sticky;top:0;z-index:5;border-bottom:1px solid #ffffff14}.nav{display:flex;justify-content:space-between;align-items:center;height:64px}
.logo{display:flex;align-items:center;gap:9px;font:800 1.25rem var(--f);text-decoration:none;color:inherit;letter-spacing:-.02em}.logo b{color:var(--lime)}
.mark{width:26px;height:26px;border-radius:7px;background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M7 22l6-12 4 8 3-5 4 9' stroke='%230a0f1c' stroke-width='3.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100%}
nav{display:flex;align-items:center;gap:22px}nav a{text-decoration:none;font-weight:600;font-size:.95rem;color:#e5e7eb}nav a:hover{color:#fff}nav a.btn{color:var(--ink)}
/* hero */
.hero{background:radial-gradient(1200px 500px at 85% -10%,#2a3a7a 0%,transparent 60%),radial-gradient(700px 400px at -10% 110%,#3b1d4a 0%,transparent 60%),var(--ink);color:#fff;padding:72px 0 84px;overflow:hidden;position:relative}
.hero:after{content:"";position:absolute;inset:auto -10% -40px -10%;height:120px;background:repeating-linear-gradient(90deg,#ffffff10 0 2px,transparent 2px 60px);transform:skewY(-3deg)}
.hgrid{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:center;position:relative;z-index:1}
.hero h1{font-size:clamp(2.8rem,7vw,5.6rem);font-weight:800;text-transform:uppercase;margin:14px 0 18px;line-height:.92}
.lead{font-size:1.15rem;color:#d1d5db;max-width:560px;margin:0 0 26px}
.nf{display:flex;gap:10px;flex-wrap:wrap}.nf input{flex:1;min-width:220px;padding:14px 18px;border-radius:999px;border:2px solid #ffffff30;background:#ffffff12;color:#fff;font:1rem var(--f)}.nf input::placeholder{color:#9ca3af}.nf input:focus{border-color:var(--lime);outline:0}
.ok{margin:0;font-size:1.05rem}.fine{width:100%;margin:4px 0 0;font-size:.8rem;color:#9ca3af}
.stats{display:flex;gap:28px;list-style:none;padding:0;margin:30px 0 0;color:#9ca3af;font-size:.9rem}.stats b{display:block;font:800 2rem var(--fd);color:#fff}
.hcard{display:block;text-decoration:none;background:linear-gradient(160deg,#1b2440,#10162a);border:1px solid #ffffff1f;border-radius:24px;padding:28px;box-shadow:0 30px 60px #0007;transform:rotate(1.5deg);transition:transform .2s}.hcard:hover{transform:rotate(0)}
.hcard h3{font-size:2rem;margin:8px 0 18px;color:#fff}.hcard .kicker{color:var(--lime)}.hcard .cd{background:#ffffff0d;border-color:#ffffff1a;color:#fff;margin-bottom:16px}.hcard .cd .cl{color:#cbd5e1}
/* section */
.sh{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin:56px 0 18px}.sh h2{font-size:clamp(2rem,4vw,2.8rem);text-transform:uppercase}.sh p{margin:0;color:var(--mut)}
.filters{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:22px;position:sticky;top:64px;z-index:3;background:var(--bg);padding:12px 0}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font:600 .88rem var(--f);color:var(--txt);cursor:pointer}.chip i{font-style:normal;color:var(--mut);font-weight:700;font-size:.8rem}.chip:hover{border-color:#9ca3af}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.chip.on i{color:var(--lime)}
.dot{width:9px;height:9px;border-radius:50%}.d-abierta{background:#10b981}.d-precio{background:#f97316}.d-cierra{background:var(--red)}.d-agotada{background:#6b7280}.d-pendiente{background:#a5b4fc}
.sel{display:flex;gap:8px;flex-wrap:wrap}.sel select,.sel input{padding:9px 14px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font:600 .88rem var(--f);color:var(--txt)}.sel input{min-width:190px}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin-bottom:60px}
.card{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;text-decoration:none;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s,border-color .15s}
.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--acc,#d1d5db)}.card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #0a0f1c14;border-color:#d1d5db}
.k-abierta{--acc:#10b981}.k-precio{--acc:#f97316}.k-cierra{--acc:var(--red)}.k-agotada{--acc:#6b7280}.k-pendiente{--acc:#a5b4fc}
.dt{flex:none;width:58px;height:64px;border-radius:12px;background:var(--ink);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.dt b{font:800 1.7rem var(--fd)}.dt span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--lime);margin-top:3px;font-weight:700}
.cb{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.card h3{font:700 1.06rem/1.25 var(--f);letter-spacing:-.01em}.meta{margin:0;color:var(--mut);font-size:.86rem}
.card.k-agotada .dt{background:#4b5563}.card.k-agotada h3{color:#4b5563}
.badge{display:inline-flex;align-items:center;gap:6px;width:max-content;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.b-abierta{background:var(--okb);color:var(--ok)}.b-precio{background:var(--prb);color:var(--pr)}.b-cierra{background:var(--clb);color:var(--cl)}.b-cierra:before{animation:pulse 1.4s infinite}.b-agotada{background:#e5e7eb;color:#374151}.b-pendiente{background:#e0e7ff;color:#3730a3}
@keyframes pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.cd{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:4px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 12px}.cl{font-size:.8rem;color:var(--mut);line-height:1.3}.cv{white-space:nowrap;font-weight:700}.cv .n{font:800 1.5rem var(--fd)}.cv .u{font-size:.8rem;color:var(--mut)}.cd.none .cv{font-size:.85rem;color:var(--mut)}
.cd.big{flex-direction:column;align-items:flex-start;padding:16px 18px}.cd.big .n{font-size:3.4rem;line-height:1}.cd.big .cv{display:flex;align-items:baseline;gap:6px}
.cd.urgent .n{color:var(--red)}.hcard .cd.urgent .n{color:#ff6b61}.cd.done .cv{color:var(--mut)}
.empty{text-align:center;padding:40px;color:var(--mut)}
/* newsletter */
.news{background:var(--ink);color:#fff;padding:64px 0;margin-top:20px;position:relative;overflow:hidden}.news:before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(var(--lime),transparent 65%);opacity:.18}
.news-in{max-width:1180px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;position:relative}.news h2{font-size:clamp(2rem,4vw,3rem);text-transform:uppercase;margin:8px 0 12px}.news p{color:#d1d5db;margin:0}.news .kicker{color:var(--lime)}
/* race page */
.rhero{background:var(--ink);color:#fff;padding:36px 0 44px;border-bottom:6px solid var(--acc)}.back{display:inline-block;color:#cbd5e1;text-decoration:none;font-size:.9rem;margin-bottom:18px}.back:hover{color:#fff}
.rhero .badge{display:flex}.rhero h1{font-size:clamp(2.2rem,5.5vw,4.2rem);text-transform:uppercase;margin:14px 0 14px;max-width:900px}.rmeta{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0;color:#d1d5db}
.rgrid{display:grid;grid-template-columns:1fr 340px;gap:24px;padding-top:28px;padding-bottom:48px;align-items:start}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;margin-bottom:16px}.panel h2{font-size:1.5rem;text-transform:uppercase;margin-bottom:14px}.panel p{margin:0}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:0}.facts div{background:var(--bg);border-radius:12px;padding:12px 14px}.facts dt{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.facts dd{margin:4px 0 0;font-weight:700}
.unk{color:var(--mut);font-style:italic;font-weight:500}
.tl{list-style:none;margin:0;padding:0 0 0 6px;border-left:2px solid var(--line)}.tl li{position:relative;padding:0 0 16px 22px;display:flex;justify-content:space-between;gap:12px}.tl li:last-child{padding-bottom:0}.tdot{position:absolute;left:-8px;top:5px;width:14px;height:14px;border-radius:50%;background:var(--lime);border:3px solid var(--ink)}.tl li.past{color:var(--mut)}.tl li.past .tdot{background:#d1d5db;border-color:#d1d5db}
.src{margin:0;padding-left:18px;font-size:.88rem}.src a{color:#1d4ed8;word-break:break-all}
.sticky{position:sticky;top:84px;display:flex;flex-direction:column;gap:12px}.sticky .cd{margin:0}.sticky .btn{width:100%}
/* guides */
.ghero{background:var(--ink);color:#fff;padding:40px 0 48px}.ghero h1{font-size:clamp(2.4rem,6vw,4.4rem);text-transform:uppercase;margin:12px 0}.ghero .back{display:block}
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;padding:36px 0 60px}
.gcard{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;text-decoration:none;border-top:6px solid var(--lime);transition:transform .15s,box-shadow .15s}.gcard:hover{transform:translateY(-3px);box-shadow:0 14px 34px #0a0f1c14}.gcard h3{font-size:1.8rem}.gcard p{margin:0;color:var(--mut)}.more{font-weight:800;margin-top:auto}
.prose{max-width:760px;margin:-28px auto 60px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px clamp(20px,5vw,56px);position:relative}
.prose h1{font-size:clamp(2.2rem,5vw,3.4rem);text-transform:uppercase;margin:0 0 18px}.prose h2{font-size:1.8rem;text-transform:uppercase;margin:34px 0 10px}.prose h3{font-size:1.35rem;margin:24px 0 8px}.prose p,.prose li{font-size:1.06rem;color:#1f2937}.prose a{color:#1d4ed8}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem;margin:18px 0;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}.prose th{background:var(--ink);color:#fff;font-weight:700}.prose tr:nth-child(even) td{background:var(--bg)}
/* footer */
.foot{background:#05080f;color:#9ca3af;padding:52px 0 26px;font-size:.92rem}.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}.foot .logo{color:#fff;margin-bottom:12px}.foot h4{color:#fff;margin:0 0 12px;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.foot a:not(.logo){display:block;text-decoration:none;margin-bottom:8px;color:#d1d5db}.foot a:hover{color:var(--lime)}.foot p{margin:0}.legal{border-top:1px solid #ffffff14;margin-top:36px;padding-top:20px;font-size:.82rem}
@media (max-width:900px){.hgrid,.news-in,.rgrid,.fgrid{grid-template-columns:1fr}.hcard{transform:none}.rside{order:-1}.sticky{position:static}}
@media (max-width:600px){.w{padding:0 16px}.hero{padding:44px 0 56px}nav{gap:14px}nav a:not(.btn){font-size:.88rem}.grid{grid-template-columns:1fr}.filters{position:static}.chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px;scrollbar-width:none}.chip{flex:none}.sel{width:100%}.sel select{flex:1}.sel input{flex:1 1 100%}.stats{gap:20px}.facts{grid-template-columns:1fr}.hcard h3{font-size:1.6rem}.nf .btn{width:100%}}
