:root{--d21-ink:#111f49;--d21-accent:#1645d8;--d21-highlight:#78adff;--d21-blue:#1645d8;--d21-muted:#63708a;--d21-line:#dce2ed;--d21-paper:#f5f7fb}html{scroll-behavior:smooth;scroll-padding-top:100px;height:auto!important}body{font:16px/1.6 Arial,Helvetica,sans-serif;background:var(--d21-paper);color:var(--d21-ink);height:auto!important;background-image:none}body header{height:auto!important}a{color:inherit}a:hover{color:#1645d8}button,input,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:3px solid #1645d8;outline-offset:4px}[hidden]{display:none!important}.container{max-width:1220px;z-index:auto}.d21-skip{position:fixed;top:-100px;left:20px;z-index:2000;background:#fff;padding:12px}.d21-skip:focus{top:12px}.d21-nav{min-height:82px;background:var(--d21-ink)!important;box-shadow:0 1px 0 #ffffff22;padding:15px 0}.d21-nav .navbar-brand img{object-fit:contain;width:175px;height:44px}.d21-nav .nav-link{font-size:14px;font-weight:600;padding:12px 16px!important;color:white!important}.d21-nav .nav-link[aria-current]{color:var(--d21-highlight)!important}.d21-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--d21-accent);border:1px solid var(--d21-accent);color:#fff!important;font-size:14px;font-weight:700;padding:15px 24px;border-radius:4px;text-decoration:none!important;line-height:1.4;box-shadow:none;min-height:48px}.d21-button:hover{background:#1034a4;border-color:#1034a4}.d21-nav-cta{margin-left:22px;padding:12px 18px}.d21-button-outline{background:transparent;border-color:#ffffff77;color:white!important}.d21-button-outline:hover{background:#ffffff16;border-color:white}.d21-hero{margin-top:82px;min-height:650px;color:white;position:relative;background:linear-gradient(90deg,rgba(10,24,67,.96) 0%,rgba(10,24,67,.78) 43%,rgba(10,24,67,.12) 100%),url('../dorsal21_portada.jpg') center 46%/cover}.d21-hero .container{padding-top:74px;padding-bottom:24px}.d21-hero-content{max-width:640px}.d21-eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;margin:0 0 20px}.d21-hero .d21-eyebrow{color:var(--d21-highlight)}.d21-hero h1{font-size:clamp(50px,6.7vw,88px);font-weight:800;letter-spacing:-4px;line-height:1.02;margin:0 0 28px}.d21-hero h1 span{color:var(--d21-highlight)}.d21-hero-content>p:not(.d21-eyebrow){max-width:430px;font-size:17px;line-height:1.7;color:#dce4f7}.d21-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.d21-hero-caption{display:flex;justify-content:space-between;border-top:1px solid #ffffff44;margin-top:55px;padding-top:19px;font-size:10px;letter-spacing:1.8px;color:#dce4f7}main{padding-top:0}main:not(.d21-home){padding-top:110px;min-height:65vh}.d21-calendar,.d21-results,.d21-services{padding:78px 0 16px}.d21-section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}.d21-section-head .d21-eyebrow{color:#1645d8;margin-bottom:12px}.d21-section-head h2,.d21-organizer h2{font-size:clamp(29px,3.3vw,43px);font-weight:800;letter-spacing:-1.6px;line-height:1.12;margin:0}.d21-section-head h2 span{color:#d7192d}.d21-text-link{font-weight:700;font-size:13px;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}.d21-muted{font-size:14px;color:var(--d21-muted)}.d21-filters{display:flex;align-items:end;gap:16px;padding:22px 0;margin:18px 0 15px;border-top:1px solid var(--d21-line);border-bottom:1px solid var(--d21-line)}.d21-filters label{font-size:11px;font-weight:700;margin:0;flex:1}.d21-filters label:first-child{flex:2}.d21-filters input,.d21-filters select{display:block;width:100%;height:46px;border:1px solid #cbd4e7;border-radius:4px;background:white;margin-top:7px;padding:0 12px;font-size:14px;color:var(--d21-ink)}#d21-count{font-size:12px;color:var(--d21-muted);padding:14px 0;min-width:75px}.d21-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.d21-event{background:white;border:1px solid var(--d21-line);border-radius:7px;overflow:hidden;display:flex;flex-direction:column}.d21-poster{height:290px;background:#e9edf6;position:relative;overflow:hidden}.d21-poster>a{display:block;height:100%;padding:12px}.d21-poster img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.d21-poster a:hover img{transform:scale(1.03)}.d21-poster time{position:absolute;top:14px;left:14px;background:var(--d21-ink);color:white;padding:9px 12px;display:flex;flex-direction:column;text-align:center;pointer-events:none;border-radius:3px}.d21-poster time b{font-size:25px;line-height:1.1}.d21-poster time span{font-size:9px;letter-spacing:1px;margin-top:4px}.d21-source{position:absolute;bottom:13px;right:13px;background:#fff;padding:4px 10px;border-radius:3px;font-size:10px;font-weight:700;box-shadow:0 2px 10px #0001}.d21-event-body{padding:22px;display:flex;flex-direction:column;flex:1}.d21-status{font-size:10px;font-weight:700;color:#8e3543;margin:0 0 12px}.d21-status:before{content:'';display:inline-block;width:6px;height:6px;background:currentColor;border-radius:100%;margin-right:7px}.d21-status.is-open{color:#1645d8}.d21-event h3{font-size:17px;font-weight:750;line-height:1.4;letter-spacing:-.3px;margin:0 0 10px}.d21-location{font-size:12px;color:var(--d21-muted);margin:0 0 20px}.d21-event-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:17px;border-top:1px solid var(--d21-line);font-size:12px}.d21-event-actions>a:first-child:not(.d21-button){text-decoration:underline}.d21-button-small{padding:10px 15px;min-height:42px;font-size:12px}.d21-notice,.d21-empty{padding:20px;background:#fff;border:1px solid var(--d21-line);border-radius:4px;font-size:14px}.d21-empty button{background:none;border:0;text-decoration:underline;cursor:pointer;color:#1645d8}.d21-results{padding-bottom:35px}.d21-result-list{background:white;border:1px solid var(--d21-line);border-radius:6px;overflow:hidden}.d21-result-row{display:flex;align-items:center;gap:25px;padding:22px 26px;border-bottom:1px solid var(--d21-line)}.d21-result-row:last-child{border:0}.d21-result-row time{font-size:12px;color:var(--d21-muted);min-width:78px}.d21-result-row>div{flex:1}.d21-result-row h3{font-size:15px;font-weight:700;margin:0 0 4px}.d21-result-row p{font-size:12px;margin:0;color:var(--d21-muted)}.d21-result-row button{font-size:12px;font-weight:700;background:transparent;border:1px solid var(--d21-line);padding:10px 14px;min-height:44px;border-radius:4px;cursor:pointer}.d21-result-row button:hover{background:var(--d21-accent);color:#fff}.d21-organizer{background:var(--d21-ink);color:white;border-radius:7px;padding:49px;display:flex;align-items:center;gap:50px;justify-content:space-between;margin-top:40px}.d21-organizer .d21-eyebrow{color:var(--d21-highlight)}.d21-organizer h2{font-size:34px}.d21-organizer p:last-child{max-width:590px;font-size:14px;color:#dce4f7;margin:20px 0 0}.d21-organizer .d21-button{flex-shrink:0}.d21-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:38px;margin-bottom:65px}.d21-service-grid article{border-top:2px solid #1645d8;padding-top:20px}.d21-service-grid span{font-size:10px;font-weight:700;letter-spacing:1px;color:#63708a}.d21-service-grid h3{font-size:20px;font-weight:700;margin:22px 0 12px}.d21-service-grid p{font-size:14px;color:var(--d21-muted)}.d21-footer{background:var(--d21-ink);color:#dce4f7;margin-top:70px;padding:60px 0 24px}.d21-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px;padding-bottom:45px}.d21-wordmark{font-size:27px;font-weight:900;letter-spacing:-1px;color:white!important}.d21-wordmark span{color:#ef233c}.d21-footer p{font-size:13px;color:#b6c4e4;margin-top:18px}.d21-footer h2{font-size:13px;font-weight:700;letter-spacing:0;margin:8px 0 20px;color:white}.d21-footer-grid>div>a:not(.d21-wordmark){display:block;font-size:12px;margin:9px 0}.d21-footer a:hover{color:var(--d21-highlight)}.d21-footer-bottom{border-top:1px solid #ffffff26;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#b6c4e4}.d21-footer-bottom>div{display:flex;gap:18px;flex-wrap:wrap}.table{font-size:14px}.table td,.table th{vertical-align:middle}.table-responsive{overflow-x:auto}.modal-content{border:0;border-radius:8px}.modal-header{background:var(--d21-paper)}.btn-primary{background:var(--d21-ink)!important}.form-control{font-size:16px;min-height:44px}.d21-interior h1{font-size:clamp(26px,4vw,42px);letter-spacing:-1px;font-weight:800}.d21-services-page{padding:35px 0}.d21-services-page>h1{margin-bottom:20px}.d21-service-detail{display:grid;grid-template-columns:1fr 1.25fr;gap:45px;padding:42px 0;border-top:1px solid var(--d21-line);align-items:center}.d21-service-detail img{width:100%;max-height:310px;object-fit:contain;border-radius:6px;background:white}.d21-service-detail h2{font-size:28px;font-weight:700;letter-spacing:-1px}.d21-service-detail p{font-size:15px;color:var(--d21-muted)}.d21-blog{margin-top:45px}.d21-blog h2{font-size:30px;letter-spacing:-1px}.d21-blog .view img{aspect-ratio:16/10;object-fit:cover;width:100%}.d21-blog h4{font-size:19px}.d21-blog p{font-size:14px}.d21-results-heading{margin:30px 0}.d21-results-heading h1{font-size:38px;font-weight:800;letter-spacing:-1px}
@media(min-width:1500px){.d21-hero{background-position:center 43%}}@media(max-width:991px){.d21-nav{padding:12px 20px}.d21-nav .navbar-collapse{padding:18px 0}.d21-nav-cta{margin:12px 0}.d21-hero{min-height:620px}.d21-hero .container{padding-top:60px}.d21-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.d21-section-head{align-items:start;flex-direction:column;gap:16px}.d21-organizer{padding:32px;flex-direction:column;align-items:start;gap:25px}.d21-footer-grid{gap:30px}.d21-footer-bottom{flex-direction:column}}@media(max-width:600px){.container{padding-left:20px;padding-right:20px}.d21-nav .container{padding:0}.d21-hero{min-height:650px;background-position:60% center}.d21-hero h1{font-size:clamp(42px,12.5vw,54px);letter-spacing:-2px}.d21-hero .container{padding-top:55px}.d21-hero-content>p:not(.d21-eyebrow){font-size:15px;max-width:320px}.d21-hero-caption{margin-top:38px;gap:20px;flex-direction:column;font-size:9px}.d21-hero-actions .d21-button{font-size:12px;padding:14px 16px}.d21-calendar,.d21-results,.d21-services{padding-top:50px}.d21-event-grid{grid-template-columns:1fr}.d21-poster{height:340px}.d21-filters{flex-wrap:wrap}.d21-filters label:first-child{flex-basis:100%}.d21-filters label{flex:1}.d21-section-head h2{font-size:32px}.d21-result-row{flex-wrap:wrap;gap:12px;padding:20px}.d21-result-row>div{flex-basis:65%}.d21-result-row button{margin-left:90px}.d21-service-grid,.d21-footer-grid,.d21-service-detail{grid-template-columns:1fr;gap:25px}.d21-service-grid{margin-bottom:15px}.d21-organizer{padding:28px}.d21-organizer h2{font-size:29px}.d21-footer{margin-top:50px;padding-top:40px}.d21-footer-grid{gap:22px}.d21-service-detail{padding:30px 0}.d21-footer-bottom>div{gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Identidad original y consulta de inscripción por plataforma. */
.d21-hero-brand .d21-hero-content{padding-top:35px;max-width:750px}
.d21-hero-brand h1{font-size:clamp(36px,6vw,80px);letter-spacing:-3px;white-space:nowrap;margin-bottom:18px}
.d21-hero-brand h2{font-size:clamp(23px,3.2vw,40px);font-weight:700;letter-spacing:-.7px;margin:0}
.d21-hero-rule{width:75px;border:0;border-top:3px solid #fff;margin:28px 0}
.d21-hero-brand .d21-hero-tagline{font-size:21px!important;color:#fff!important;max-width:none!important;margin-bottom:30px}
.d21-check-inscription{margin:0 22px 20px;border-top:1px solid var(--d21-line);padding-top:14px;font-size:12px;font-weight:700;color:var(--d21-blue)}
.d21-check-inscription a{text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:6px 0}
@media(max-width:600px){.d21-hero-brand h1{font-size:clamp(30px,9vw,48px);letter-spacing:-1.6px}.d21-hero-brand .d21-hero-content{padding-top:25px}.d21-hero-brand .d21-hero-tagline{font-size:18px!important}.d21-hero-brand{min-height:570px}}

/* Superficies más suaves, manteniendo la identidad azul. */
.d21-hero{border-radius:0 0 32px 32px;overflow:hidden;box-shadow:0 14px 35px rgba(17,31,73,.12)}
.d21-button{border-radius:14px;box-shadow:0 5px 14px rgba(22,69,216,.16);transition:background .2s,box-shadow .2s}
.d21-button:hover{box-shadow:0 8px 20px rgba(22,69,216,.24)}
.d21-button-outline{box-shadow:none}
.d21-nav-cta{border-radius:14px}
.d21-filters{background:#fff;border:1px solid var(--d21-line);border-radius:20px;padding:20px 22px;margin:25px 0;box-shadow:0 5px 20px rgba(17,31,73,.035)}
.d21-filters input,.d21-filters select{border-radius:12px;background:#f7f9fd}
#d21-count{background:#edf2ff;color:#1645d8;padding:9px 13px;border-radius:999px;margin-bottom:5px;min-width:85px;text-align:center;font-weight:700}
.d21-event{border-radius:22px;border-color:#e2e8f3;box-shadow:0 6px 23px rgba(17,31,73,.055);transition:box-shadow .2s,border-color .2s}
.d21-event:hover{box-shadow:0 13px 30px rgba(17,31,73,.13);border-color:#b9c9ee}
.d21-poster{background:linear-gradient(135deg,#edf2fb,#e2eaf8)}
.d21-poster>a{padding:16px}
.d21-poster img{border-radius:10px}
.d21-poster time{border-radius:12px;box-shadow:0 4px 12px #111f4926}
.d21-source{border-radius:999px;padding:5px 12px}
.d21-status{display:inline-block;align-self:flex-start;background:#f5f0f1;padding:5px 10px;border-radius:999px}
.d21-status.is-open{background:#edf2ff}
.d21-result-list{border-radius:20px;box-shadow:0 6px 24px rgba(17,31,73,.045)}
.d21-result-row{transition:background .2s}.d21-result-row:hover{background:#f4f7ff}
.d21-result-row button{border-radius:12px}
.d21-organizer{border-radius:24px;background:linear-gradient(115deg,#111f49,#183c8c);box-shadow:0 12px 30px rgba(17,31,73,.12)}
.d21-service-grid{gap:22px}
.d21-service-grid article{background:#fff;border:1px solid #e2e8f3;border-radius:20px;padding:26px;box-shadow:0 6px 22px rgba(17,31,73,.045)}
.d21-service-grid article>span{display:inline-block;background:#edf2ff;color:#1645d8;border-radius:9px;padding:6px 9px;letter-spacing:.7px}
.d21-service-grid h3{margin-top:18px}
.d21-service-grid p:last-child{margin-bottom:0}
.d21-notice,.d21-empty{border-radius:16px}
.modal-content{border-radius:20px;overflow:hidden;box-shadow:0 18px 60px #111f4933}
.form-control{border-radius:11px}
.d21-service-detail img{border-radius:18px}
.d21-blog .view{border-radius:18px;overflow:hidden}
@media(max-width:600px){.d21-hero{border-radius:0 0 24px 24px}.d21-filters{padding:17px}.d21-event{border-radius:20px}.d21-organizer{border-radius:20px}}

/* Portada: navegación refinada, hero y transición al calendario. */
.d21-nav{background:rgba(14,29,69,.94)!important;border-bottom:1px solid rgba(255,255,255,.10);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 28px rgba(9,20,53,.16);transition:background .2s,box-shadow .2s}
.d21-nav .navbar-nav{align-items:center;gap:5px}
.d21-nav .nav-link{position:relative;border-radius:12px;padding:11px 15px!important;transition:background .2s,color .2s}
.d21-nav .nav-link:hover{background:rgba(255,255,255,.09);color:#fff!important}
.d21-nav .nav-link:after{content:"";position:absolute;left:15px;right:15px;bottom:5px;height:2px;border-radius:2px;background:#78adff;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.d21-nav .nav-link:hover:after,.d21-nav .nav-link[aria-current]:after{transform:scaleX(1)}
.d21-nav .nav-link[aria-current]{color:#fff!important;background:rgba(120,173,255,.10)}
.d21-nav-cta{border:1px solid rgba(255,255,255,.32);box-shadow:0 6px 18px rgba(4,14,43,.2);margin-left:16px}
.d21-nav-cta:hover{border-color:#fff}
.d21-hero{isolation:isolate;border-radius:0 0 38px 38px;background-image:linear-gradient(90deg,rgba(9,22,61,.94) 0%,rgba(9,22,61,.79) 44%,rgba(9,22,61,.22) 100%),url('../dorsal21_portada.jpg')}
.d21-hero:after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:115px;background:linear-gradient(180deg,transparent,var(--d21-paper));pointer-events:none}
.d21-hero .container{position:relative;z-index:1}
.d21-hero-brand .d21-hero-content{max-width:790px;padding:32px 36px 30px;border:1px solid rgba(255,255,255,.18);border-radius:26px;background:linear-gradient(135deg,rgba(12,27,69,.46),rgba(12,27,69,.20));box-shadow:0 18px 45px rgba(4,14,43,.12);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.d21-hero-brand .d21-hero-eyebrow{color:#c6d9ff;font-size:10px;letter-spacing:2.2px;margin:0 0 18px}
.d21-hero-brand h1{margin-bottom:12px}
.d21-hero-brand h2{font-weight:600;color:#edf3ff}
.d21-hero-rule{margin:22px 0;width:64px;border-top-color:#78adff}
.d21-hero-brand .d21-hero-tagline{font-size:20px!important;margin-bottom:22px}
.d21-hero-caption{border-color:rgba(255,255,255,.30);margin-top:36px}
.d21-calendar{position:relative;z-index:2;margin-top:-34px;padding:38px 34px 20px;background:#fff;border:1px solid #e3e9f3;border-radius:28px;box-shadow:0 18px 48px rgba(17,31,73,.10)}
.d21-calendar .d21-section-head{margin-bottom:14px}
.d21-calendar .d21-muted{margin-bottom:0}
.d21-calendar .d21-poster{height:auto;aspect-ratio:4/5;background:#eaf0fa}
.d21-calendar .d21-poster>a{height:100%;padding:0}
.d21-calendar .d21-poster img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0}
.d21-calendar .d21-poster img[src*="logo"]{object-fit:contain;background:#fff;padding:28px}
.d21-calendar .d21-event{border-radius:20px}
.d21-calendar .d21-event-body{padding:20px 21px}
.d21-calendar .d21-check-inscription{margin:0 21px 18px}
@media(max-width:991px){.d21-nav .navbar-collapse{margin-top:12px;padding:14px;background:rgba(8,20,55,.98);border:1px solid rgba(255,255,255,.12);border-radius:18px}.d21-nav .navbar-nav{align-items:stretch}.d21-nav-cta{margin:12px 0 0}.d21-calendar{padding:30px 26px 18px}}
@media(max-width:600px){.d21-nav{padding:10px 16px}.d21-nav .navbar-collapse{margin-top:10px}.d21-hero{border-radius:0 0 27px 27px;min-height:600px;background-position:58% center}.d21-hero-brand .d21-hero-content{padding:25px 22px 24px;border-radius:22px}.d21-hero-brand .d21-hero-eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:15px}.d21-hero-brand h1{white-space:normal;margin-bottom:10px}.d21-hero-brand h2{font-size:24px}.d21-hero-rule{margin:18px 0}.d21-hero-brand .d21-hero-tagline{font-size:17px!important;margin-bottom:18px}.d21-hero-caption{margin-top:26px}.d21-calendar{margin-top:-22px;padding:23px 16px 14px;border-radius:22px}.d21-calendar .d21-poster{aspect-ratio:4/5}.d21-calendar .d21-poster img[src*="logo"]{padding:22px}}
/* Acciones de carrera y ampliación de carteles. */
.d21-calendar .d21-event-actions{display:flex;align-items:stretch;gap:9px;padding-top:15px}
.d21-card-action{display:flex;flex:1;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:12px;font-size:12px;font-weight:700;line-height:1.25;text-align:center;text-decoration:none!important;transition:background .18s,border-color .18s,transform .18s}
.d21-card-action:hover{transform:translateY(-1px)}
.d21-card-action-outline{color:#1645d8!important;background:#f5f8ff;border-color:#d6e1fb}
.d21-card-action-outline:hover{background:#eaf0ff;border-color:#b9cdfa}
.d21-card-action-primary{color:#fff!important;background:#1645d8;border-color:#1645d8;box-shadow:0 5px 14px rgba(22,69,216,.16)}
.d21-card-action-primary:hover{color:#fff!important;background:#1034a4;border-color:#1034a4}
.d21-card-action-primary span{font-size:15px;line-height:1}
.d21-calendar .d21-check-inscription{margin:0 21px 18px;padding:0;border:0;color:#1645d8}
.d21-check-inscription a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 13px;border:1px solid #dbe5fb;border-radius:12px;background:#f1f5ff;color:#1645d8;text-decoration:none;transition:background .18s,border-color .18s}
.d21-check-inscription a:hover{background:#e6eeff;border-color:#b8cdf9;text-decoration:none}
.d21-check-arrow{font-size:16px;font-weight:700}
.d21-poster>a{cursor:zoom-in}
.d21-poster-modal .modal-dialog{width:calc(100% - 30px);max-width:1120px;margin:15px auto}
.d21-poster-modal .modal-content{border:1px solid rgba(255,255,255,.18);background:#f7f9fd;border-radius:20px;overflow:hidden;box-shadow:0 24px 80px rgba(5,13,37,.45)}
.d21-poster-modal .modal-header{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid #e3e9f3;background:#fff}
.d21-poster-modal .modal-title{flex:1;min-width:0;color:#111f49;font-size:16px;font-weight:700;line-height:1.35}
.d21-zoom-controls{display:flex;align-items:center;gap:6px}
.d21-zoom-controls button{min-width:40px;height:38px;padding:0 11px;border:1px solid #d7dfed;border-radius:10px;background:#f5f7fb;color:#1645d8;font-size:17px;font-weight:700;cursor:pointer}
.d21-zoom-controls button:hover{background:#eaf0ff;border-color:#b9cdfa}
#posterZoomFit{font-size:12px;min-width:auto}
.d21-modal-close{float:none;opacity:.7;margin:0 0 0 2px;padding:2px 7px;font-size:28px;line-height:1}
.d21-poster-modal .modal-body{padding:14px}
.d21-modal-viewport{display:flex;justify-content:flex-start;align-items:flex-start;max-height:calc(100vh - 150px);overflow:auto;padding:12px;border-radius:13px;background:#101a36;overscroll-behavior:contain}
.d21-modal-frame{position:relative;flex:0 0 auto;width:max-content;margin:0 auto}
.d21-modal-poster{display:block;height:auto;max-width:none;border-radius:7px;box-shadow:0 8px 26px rgba(0,0,0,.22)}
.d21-modal-icons{position:absolute;top:12px;right:12px;display:flex;gap:8px}
.d21-modal-icons img{width:36px;height:36px;object-fit:contain}
@media(max-width:600px){.d21-calendar .d21-event-actions{gap:7px}.d21-card-action{padding:9px 7px;font-size:11px;border-radius:10px}.d21-calendar .d21-check-inscription{margin-right:16px;margin-left:16px}.d21-poster-modal .modal-dialog{width:calc(100% - 16px);margin:8px auto}.d21-poster-modal .modal-header{flex-wrap:wrap;gap:9px;padding:12px}.d21-poster-modal .modal-title{flex-basis:calc(100% - 44px);font-size:14px}.d21-zoom-controls{order:3}.d21-modal-close{margin-left:auto}.d21-poster-modal .modal-body{padding:8px}.d21-modal-viewport{max-height:calc(100vh - 145px);padding:8px}}
/* Formulario público de consultas y referencia de ticket. */
.d21-contact{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:38px;align-items:start;max-width:1050px;margin:0 auto;padding:30px 0 65px}
.d21-contact-intro{position:sticky;top:120px;padding:18px 4px}
.d21-contact-intro .d21-eyebrow{color:#1645d8;margin-bottom:14px}
.d21-contact-intro h1{font-size:clamp(31px,4vw,46px);line-height:1.08;letter-spacing:-1.7px;font-weight:800;margin:0 0 18px}
.d21-contact-intro h1 span{color:#d7192d}
.d21-contact-intro>p:not(.d21-eyebrow){font-size:15px;color:#63708a;max-width:390px}
.d21-contact-points{display:grid;gap:10px;margin-top:28px;color:#31476b;font-size:13px;font-weight:700}
.d21-contact-points span{display:flex;align-items:center;gap:10px}
.d21-contact-points span:before{content:"";width:8px;height:8px;border-radius:50%;background:#1645d8;box-shadow:0 0 0 4px #edf2ff}
.d21-contact-card{padding:30px;background:#fff;border:1px solid #e0e7f1;border-radius:24px;box-shadow:0 12px 38px rgba(17,31,73,.08)}
.d21-contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.d21-contact-form-grid label{display:block;margin:0;font-size:12px;font-weight:700;color:#25385d}
.d21-contact-form-grid label>span{color:#d7192d}
.d21-contact-form-grid label small{color:#75829a;font-weight:400;margin-left:5px}
.d21-contact-form-grid input,.d21-contact-form-grid select,.d21-contact-form-grid textarea{display:block;width:100%;margin-top:7px;border:1px solid #d4deeb;border-radius:11px;background:#fbfcff;color:#17284e;padding:12px 13px;font-size:14px;min-height:46px}
.d21-contact-form-grid textarea{min-height:145px;resize:vertical;line-height:1.55}
.d21-contact-form-grid input:focus,.d21-contact-form-grid select:focus,.d21-contact-form-grid textarea:focus{outline:3px solid #dce7ff;border-color:#8eaeef}
.d21-contact-message{grid-column:1/-1}
.d21-ticket-captcha{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 0 14px;padding:14px 15px;border:1px solid #e0e7f1;border-radius:12px;background:#f7f9fd;font-size:12px;font-weight:700}
.d21-ticket-captcha input{width:74px;min-height:42px;border:1px solid #d4deeb;border-radius:9px;background:#fff;text-align:center;padding:8px;font-size:16px}
.d21-contact-privacy{display:flex;align-items:start;gap:10px;margin:14px 0 20px;font-size:12px;color:#566782}
.d21-contact-privacy input{width:18px;height:18px;flex:0 0 auto;margin:1px 0 0;accent-color:#1645d8}
.d21-contact-privacy a{color:#1645d8;text-decoration:underline;text-underline-offset:3px}
.d21-contact-card #ticketEnviar{width:100%;border-radius:13px}
.d21-contact-card #ticketEnviar:disabled{opacity:.65;cursor:wait}
.d21-contact-footnote{margin:11px 0 0;color:#7b879c;font-size:11px;text-align:center}
.d21-ticket-response{padding:15px 17px;margin-bottom:20px;border-radius:12px;font-size:13px;font-weight:700}
.d21-ticket-response.is-success{background:#edf4ff;border:1px solid #d3e1ff;color:#173b83}
.d21-ticket-response.is-error{background:#fff1f2;border:1px solid #f3d1d7;color:#9e263a}
.d21-ticket-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:800px){.d21-contact{grid-template-columns:1fr;gap:10px;padding-top:15px}.d21-contact-intro{position:static;padding:0 4px}.d21-contact-intro>p:not(.d21-eyebrow){max-width:600px}.d21-contact-points{display:flex;flex-wrap:wrap;gap:12px 22px;margin:18px 0}.d21-contact-card{padding:24px}}
@media(max-width:560px){.d21-contact{padding-bottom:35px}.d21-contact-card{padding:20px 16px;border-radius:19px}.d21-contact-form-grid{grid-template-columns:1fr;gap:14px}.d21-contact-message{grid-column:auto}.d21-ticket-captcha{align-items:start;flex-direction:column}.d21-ticket-captcha input{width:100%}.d21-contact-points{display:grid}}
/* Presentación cuidada del formulario de tickets. */
.d21-contact{grid-template-columns:minmax(270px,.78fr) minmax(0,1.22fr);gap:24px;max-width:1120px;padding:34px 0 70px;align-items:stretch}
.d21-contact-intro{position:relative;top:auto;align-self:stretch;overflow:hidden;padding:36px 32px;border:1px solid #1c3b7c;border-radius:26px;background:radial-gradient(circle at 100% 0,rgba(120,173,255,.24),transparent 34%),linear-gradient(150deg,#101f4b 0%,#173a81 100%);box-shadow:0 18px 48px rgba(17,31,73,.16);color:#fff}
.d21-contact-intro:after{content:"";position:absolute;right:-82px;bottom:-82px;width:220px;height:220px;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 24px rgba(255,255,255,.025),0 0 0 52px rgba(255,255,255,.02);pointer-events:none}
.d21-contact-intro .d21-eyebrow{color:#a9c7ff;letter-spacing:2.1px}
.d21-contact-intro h1{color:#fff;font-size:clamp(33px,3.5vw,46px);line-height:1.06;letter-spacing:-1.8px;margin-bottom:18px}
.d21-contact-intro h1 span{color:#ff536a}
.d21-contact-intro .d21-contact-lead{max-width:390px;color:#d7e2fb;font-size:14px;line-height:1.75}
.d21-contact-steps{position:relative;display:grid;gap:0;margin:31px 0 27px}
.d21-contact-steps:before{content:"";position:absolute;left:17px;top:25px;bottom:25px;width:1px;background:rgba(190,211,255,.35)}
.d21-contact-steps>div{position:relative;display:flex;gap:14px;align-items:start;padding:0 0 20px}
.d21-contact-steps>div:last-child{padding-bottom:0}
.d21-contact-steps>div>span{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex:0 0 35px;width:35px;height:35px;border:1px solid rgba(186,210,255,.55);border-radius:50%;background:#173a81;color:#dce8ff;font-size:10px;font-weight:700}
.d21-contact-steps p{margin:1px 0 0;display:grid;gap:3px}
.d21-contact-steps strong{color:#fff;font-size:13px}
.d21-contact-steps small{max-width:290px;color:#c4d3f1;font-size:11px;line-height:1.5}
.d21-contact-email{position:relative;z-index:1;display:grid;gap:4px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);color:#d3def6!important;text-decoration:none!important}
.d21-contact-email span{font-size:10px;color:#b8c9eb}
.d21-contact-email strong{font-size:12px;color:#fff}
.d21-contact-email:hover strong{color:#b9d1ff}
.d21-contact-card{padding:31px 32px;border-radius:26px;box-shadow:0 18px 48px rgba(17,31,73,.09)}
.d21-contact-form-heading{display:flex;align-items:center;gap:14px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #e7ecf4}
.d21-contact-form-mark{display:flex;align-items:center;justify-content:center;flex:0 0 46px;height:46px;border-radius:14px;background:#edf3ff;color:#1645d8;font-size:13px;font-weight:800;letter-spacing:-.5px}
.d21-contact-form-heading .d21-eyebrow{margin:0 0 3px;color:#1645d8;font-size:9px;letter-spacing:1.7px}
.d21-contact-form-heading h2{margin:0;color:#14234a;font-size:22px;font-weight:750;letter-spacing:-.5px}
.d21-contact-form-heading p{margin:3px 0 0;color:#78869d;font-size:11px}
.d21-contact-form-heading p strong{color:#d7192d}
.d21-contact-section-title{display:flex;align-items:center;gap:12px;margin:2px 0 15px}
.d21-contact-section-title>span{display:flex;align-items:center;justify-content:center;flex:0 0 29px;height:29px;border-radius:9px;background:#edf3ff;color:#1645d8;font-size:10px;font-weight:800}
.d21-contact-section-title>div{display:grid;gap:1px}
.d21-contact-section-title strong{font-size:13px;color:#1b2d53}
.d21-contact-section-title small{font-size:10px;color:#78869d}
.d21-contact-section-next{margin-top:25px}
.d21-contact-form-grid{gap:15px 14px}
.d21-contact-form-grid label{font-size:11px;color:#344665}
.d21-contact-form-grid label>span{color:#d7192d}
.d21-contact-form-grid input,.d21-contact-form-grid select,.d21-contact-form-grid textarea{margin-top:6px;border-color:#dce4ef;border-radius:10px;background:#fbfcfe;font-size:13px;transition:border-color .16s,box-shadow .16s,background .16s}
.d21-contact-form-grid input:hover,.d21-contact-form-grid select:hover,.d21-contact-form-grid textarea:hover{border-color:#b9c8de;background:#fff}
.d21-contact-form-grid input:focus,.d21-contact-form-grid select:focus,.d21-contact-form-grid textarea:focus{outline:0;border-color:#7099ed;box-shadow:0 0 0 3px rgba(63,112,215,.12);background:#fff}
.d21-contact-topic,.d21-contact-message{grid-column:1/-1}
.d21-contact-form-grid textarea{min-height:150px;padding:13px 14px}
.d21-message-counter{display:block;margin-top:5px;color:#8793a7;font-size:10px;text-align:right}
.d21-ticket-captcha{margin:19px 0 13px;padding:12px 14px;border-color:#e6ebf4;background:#f8faff}
.d21-ticket-captcha>span{display:grid;gap:2px}
.d21-ticket-captcha>span strong{font-size:11px;color:#334765}
.d21-ticket-captcha>span small{font-size:10px;font-weight:400;color:#78869d}
.d21-ticket-captcha input{flex:0 0 72px;width:72px;height:42px;min-height:42px;background:#fff}
.d21-contact-privacy{align-items:center;margin:14px 0 18px;font-size:11px}
.d21-contact-card #ticketEnviar{min-height:50px;border-radius:12px;font-size:13px;box-shadow:0 8px 20px rgba(22,69,216,.16)}
.d21-contact-card #ticketEnviar span{margin-left:auto}
.d21-contact-footnote{font-size:10px}
.d21-ticket-response{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;padding:16px;margin-bottom:22px;border-radius:15px}
.d21-ticket-response-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:#dce9ff;color:#1645d8;font-size:18px;font-weight:800}
.d21-ticket-response.is-error .d21-ticket-response-icon{background:#ffe0e5;color:#a0273c}
.d21-ticket-response strong{display:block;margin-top:1px;font-size:13px}
.d21-ticket-response p{margin:4px 0;color:inherit;font-size:12px;font-weight:400}
.d21-ticket-reference{display:inline-block;margin-top:5px;padding:5px 9px;border:1px solid #c6d8ff;border-radius:8px;background:#fff;color:#1645d8;font:700 11px/1.3 Consolas,monospace;letter-spacing:.4px}
@media(max-width:900px){.d21-contact{grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);gap:16px}.d21-contact-intro{padding:28px 23px}.d21-contact-card{padding:26px 23px}}
@media(max-width:800px){.d21-contact{grid-template-columns:1fr;gap:16px}.d21-contact-intro{padding:28px}.d21-contact-steps{grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.d21-contact-steps:before{display:none}.d21-contact-steps>div{display:block;padding:0}.d21-contact-steps>div>span{margin-bottom:9px}.d21-contact-email{padding-top:14px}}
@media(max-width:560px){.d21-contact{padding-top:12px}.d21-contact-intro{padding:25px 22px;border-radius:21px}.d21-contact-intro h1{font-size:35px}.d21-contact-steps{grid-template-columns:1fr;gap:12px;margin:21px 0}.d21-contact-steps>div{display:flex;gap:12px}.d21-contact-steps>div>span{margin:0}.d21-contact-card{padding:23px 18px;border-radius:21px}.d21-contact-form-heading{padding-bottom:17px;margin-bottom:19px}.d21-contact-form-heading h2{font-size:20px}.d21-contact-section-next{margin-top:21px}.d21-ticket-captcha{align-items:center;flex-direction:row}.d21-contact-privacy{align-items:start}.d21-contact-card #ticketEnviar{width:100%}}
.d21-footer-accreditation{display:inline-flex;align-items:center;justify-content:center;max-width:260px;margin-top:18px;padding:8px 10px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.12)}
.d21-footer-accreditation img{display:block;width:100%;max-width:240px;height:auto;object-fit:contain}
@media(max-width:600px){.d21-footer-accreditation{max-width:230px;margin-top:14px}.d21-footer-accreditation img{max-width:210px}}
/* Header de portada con cristal, degradado y transición al hacer scroll. */
.d21-nav{z-index:1035;transition:background .28s ease,box-shadow .28s ease,border-color .28s ease,padding .28s ease,min-height .28s ease}
.d21-nav:not(.d21-nav-home){background:linear-gradient(105deg,#101f4b 0%,#173a81 66%,#1a4b9c 100%)!important;border-bottom:1px solid rgba(255,255,255,.13);box-shadow:0 8px 26px rgba(9,20,53,.20)}
.d21-nav-home{background:linear-gradient(105deg,rgba(9,21,56,.68) 0%,rgba(13,35,84,.46) 52%,rgba(15,44,100,.24) 100%)!important;border-bottom:1px solid rgba(255,255,255,.19);box-shadow:0 9px 30px rgba(8,17,45,.15);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.d21-nav-home:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 18% 0,rgba(91,145,255,.20),transparent 44%),linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent);pointer-events:none}
.d21-nav .container{position:relative;z-index:1}
.d21-nav .navbar-brand img{transition:width .28s ease,height .28s ease,filter .28s ease;filter:drop-shadow(0 2px 9px rgba(0,0,0,.14))}
.d21-nav .navbar-nav{gap:7px}
.d21-nav .nav-link{padding:11px 15px!important;letter-spacing:.15px}
.d21-nav .nav-link:after{bottom:4px;height:2px;background:linear-gradient(90deg,#79b7ff,#d5e6ff);box-shadow:0 0 10px rgba(121,183,255,.65)}
.d21-nav-cta{background:linear-gradient(120deg,#2870ee,#1645d8 72%,#1238b4)!important;border-color:rgba(255,255,255,.38);box-shadow:0 8px 22px rgba(6,20,65,.32),inset 0 1px rgba(255,255,255,.18)}
.d21-nav-cta:hover{background:linear-gradient(120deg,#3980ff,#1c50e3 72%,#153fc5)!important;box-shadow:0 10px 26px rgba(6,20,65,.38),inset 0 1px rgba(255,255,255,.24)}
.d21-nav .navbar-toggler{border:1px solid rgba(255,255,255,.42);border-radius:12px;padding:8px 10px;box-shadow:0 4px 14px rgba(4,14,43,.18)}
.d21-nav .navbar-toggler:focus{outline:2px solid rgba(178,207,255,.8);outline-offset:3px}
.d21-nav.is-scrolled{min-height:68px;padding:8px 0;background:linear-gradient(105deg,rgba(10,23,60,.97),rgba(20,54,119,.95))!important;border-bottom-color:rgba(255,255,255,.15);box-shadow:0 10px 28px rgba(7,17,48,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.d21-nav.is-scrolled .navbar-brand img{width:158px;height:40px}
.d21-nav.is-scrolled .nav-link{padding-top:9px!important;padding-bottom:9px!important}
.d21-hero-home{margin-top:0!important;padding-top:82px;min-height:732px}
.d21-hero-home .container{padding-top:74px}
@media(max-width:991px){.d21-nav-home:not(.is-scrolled) .navbar-collapse{background:linear-gradient(145deg,rgba(10,25,65,.92),rgba(18,48,106,.88));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.d21-nav.is-scrolled .navbar-collapse{background:rgba(10,24,62,.98)}}
@media(max-width:600px){.d21-nav-home{background:linear-gradient(105deg,rgba(9,21,56,.77),rgba(13,35,84,.55))!important}.d21-nav-home .navbar-brand img{width:155px;height:40px}.d21-hero-home{padding-top:75px;min-height:680px}.d21-hero-home .container{padding-top:55px}.d21-nav.is-scrolled .navbar-brand img{width:145px;height:37px}}
@media(prefers-reduced-motion:reduce){.d21-nav,.d21-nav .navbar-brand img,.d21-nav .nav-link:after{transition:none!important}}
.d21-card-action-outline{color:#1742a8!important;background:linear-gradient(135deg,#e6efff,#cddfff);border-color:#b4cbfa;box-shadow:inset 0 1px rgba(255,255,255,.8)}
.d21-card-action-outline:hover{background:linear-gradient(135deg,#d8e7ff,#bdd2fb);border-color:#98b6f3}
.d21-card-action-outline{color:#a9273b!important;background:linear-gradient(135deg,#fff0f2,#ffdce2);border-color:#f3bdc7;box-shadow:inset 0 1px rgba(255,255,255,.9)}
.d21-card-action-outline:hover{color:#8f1f32!important;background:linear-gradient(135deg,#ffe4e8,#ffcbd4);border-color:#e9a1af}
.d21-results-page{padding:34px 0 60px}.d21-results-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:42px 46px;margin-bottom:26px;border-radius:18px;color:#fff;background:radial-gradient(circle at 88% 15%,#4779db 0,transparent 33%),linear-gradient(125deg,#101e49,#1645a8 75%,#2461d0);box-shadow:0 18px 45px #142c6330}.d21-results-hero .d21-eyebrow{color:#a9c7ff;margin-bottom:12px}.d21-results-hero h1,.d21-results-hero h2{font-size:clamp(36px,5vw,56px);letter-spacing:-2px;font-weight:800;margin:0}.d21-results-hero h1 span,.d21-results-hero h2 span{color:#ff5363}.d21-results-hero-copy>p:last-child{color:#e3ebff;margin:12px 0 0}.d21-results-count{display:flex;align-items:center;gap:13px;padding:15px 19px;border:1px solid #ffffff55;border-radius:13px;background:#ffffff15;backdrop-filter:blur(8px);white-space:nowrap}.d21-results-count strong{font-size:30px;line-height:1}.d21-results-count span{font-size:12px;max-width:84px;line-height:1.35}.d21-results-table-card{overflow:hidden;background:#fff;border:1px solid #e0e6f1;border-radius:16px;box-shadow:0 12px 36px #162e6210}.d21-results-table-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;border-bottom:1px solid #e7ebf3}.d21-results-table-head h2{margin:0;color:#111f49;font-size:20px;font-weight:750}.d21-results-table-head p{margin:5px 0 0;color:#71809c;font-size:13px}.d21-results-live{display:inline-flex;align-items:center;gap:8px;color:#435371;font-size:11px;white-space:nowrap}.d21-results-live i{width:8px;height:8px;border-radius:50%;background:#1645d8;box-shadow:0 0 0 4px #1645d81c}.d21-classification-list{margin:0!important;border-collapse:separate!important;border-spacing:0!important}.d21-classification-list thead th{padding:14px 18px!important;background:#f4f7fc;color:#64718a!important;border:0!important;border-bottom:1px solid #e4e9f2!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}.d21-classification-list tbody td{padding:12px 18px!important;border-top:0!important;border-bottom:1px solid #edf0f6!important;color:#253453}.d21-classification-list tbody tr:hover{background:#f7f9ff}.d21-race-date{display:flex;align-items:center;justify-content:center;flex-direction:column;width:56px;height:56px;border-radius:12px;background:#edf3ff;color:#1645d8}.d21-race-date strong{font-size:21px;line-height:1}.d21-race-date span{margin-top:4px;font-size:9px;font-weight:700;letter-spacing:.4px}.d21-race-name{color:#15244d;font-size:14px}.d21-race-place{color:#5d6b87;font-size:13px}.d21-race-place span{color:#8994a8}.d21-results-open{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #c9d6f4;border-radius:9px;background:#fff;color:#1645d8;font-size:12px;font-weight:700;cursor:pointer;transition:all .18s}.d21-results-open:hover{background:#1645d8;border-color:#1645d8;color:#fff;transform:translateY(-1px)}.d21-results-open span:last-child{font-size:16px}.d21-results-table-card .dataTables_wrapper{padding:0 18px 16px}.d21-results-table-card .dataTables_filter,.d21-results-table-card .dataTables_length{padding:16px 4px;color:#65728b;font-size:12px}.d21-results-table-card .dataTables_filter input,.d21-results-table-card .dataTables_length select{height:40px;padding:0 12px;border:1px solid #d8dfeb;border-radius:8px;background:#fff;color:#15244d}.d21-results-table-card .dataTables_filter input{min-width:230px;margin-left:8px}.d21-results-table-card .dataTables_info{padding-top:14px;color:#75819a;font-size:11px}.d21-results-table-card .dataTables_paginate{padding-top:8px}.d21-results-table-card .paginate_button{border-radius:7px!important}.d21-results-error{padding:17px 20px;border:1px solid #f0c7cd;border-radius:10px;background:#fff5f6;color:#9c2738}.d21-results-modal .modal-content{overflow:hidden;border-radius:17px;box-shadow:0 24px 80px #0b173b45}.d21-results-modal .modal-header{align-items:center;padding:22px 26px;background:linear-gradient(120deg,#f5f8ff,#fff);border-bottom:1px solid #e5eaf3}.d21-results-modal .d21-eyebrow{margin:0 0 5px;color:#1645d8;font-size:9px}.d21-results-modal .modal-title{font-size:22px;font-weight:750;color:#111f49}.d21-results-modal .modal-body{padding:22px 26px}.d21-results-close{font-size:28px;color:#52617e;opacity:1}.d21-results-modal-content .table{margin:0;font-size:13px}.d21-results-modal-content .table thead th{border-top:0;background:#f4f7fc;color:#566681;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.d21-results-modal-content .table td,.d21-results-modal-content .table th{padding:13px 12px}.d21-results-modal-content .table a{color:#1645d8!important}.d21-results-loading{display:flex;align-items:center;gap:12px;padding:24px;color:#64718a}.d21-classification-detail{padding-top:20px!important}.d21-classification-detail>section,.d21-classification-detail .row.shadow-sm{border:1px solid #e1e7f1;border-radius:18px!important;box-shadow:0 12px 35px #15275112!important}.d21-classification-detail h2,.d21-classification-detail h3{color:#14234d}.d21-classification-detail .btn-compartir{background:#1645d8!important;border-color:#1645d8!important}.d21-classification-detail .d21-badge-local{background:#d7192d!important;color:#fff!important}.d21-classification-detail #tabla-clasificacion{border-collapse:separate;border-spacing:0;font-size:13px}.d21-classification-detail #tabla-clasificacion thead th{padding:13px 11px;background:#f2f5fb;color:#53617b;border-bottom:1px solid #dce3ef;white-space:nowrap}.d21-classification-detail #tabla-clasificacion tbody td{padding:11px 10px;border-bottom:1px solid #edf0f6}.d21-classification-detail #tabla-clasificacion tbody tr:hover{background:#f7f9ff}.d21-classification-detail .dataTables_wrapper .dataTables_filter input,.d21-classification-detail .dataTables_wrapper .dataTables_length select{height:40px;padding:0 11px;border:1px solid #d8dfeb;border-radius:8px;background:#fff}.d21-classification-detail .dataTables_wrapper .dataTables_filter,.d21-classification-detail .dataTables_wrapper .dataTables_length{margin:10px 0 14px;color:#65728b;font-size:12px}.d21-classification-detail .dataTables_wrapper .dataTables_info,.d21-classification-detail .dataTables_wrapper .dataTables_paginate{padding-top:14px;font-size:12px}
.d21-results-count{flex-shrink:0;white-space:normal}.d21-results-count>span{display:flex;flex-direction:column;gap:2px;max-width:none;width:118px}.d21-results-count>span span{display:block;max-width:none;font-size:12px;line-height:1.3}.d21-modal-record-count{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:7px 11px;border:1px solid #d7e2fa;border-radius:999px;background:#eef4ff;color:#1645d8;font-size:12px;font-weight:700;white-space:nowrap}.d21-modal-no-records{color:#78849b;font-size:12px}.d21-modal-results-link{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #c9d6f4;border-radius:8px;color:#1645d8!important;font-size:12px;font-weight:700;text-decoration:none!important;white-space:nowrap}.d21-modal-results-link:hover{border-color:#1645d8;background:#1645d8;color:#fff!important}.d21-modal-results-link span{font-size:15px}@media(max-width:600px){.d21-results-hero{align-items:flex-start;flex-direction:column;padding:28px 24px}.d21-results-count{align-self:flex-start}.d21-results-count>span{width:auto}.d21-results-count>span span{white-space:nowrap}.d21-results-table-head{align-items:flex-start;flex-direction:column;padding:21px}.d21-results-modal .modal-body{padding:14px}.d21-modal-record-count{min-width:0;padding:6px 8px;font-size:11px}.d21-results-modal-content .table td,.d21-results-modal-content .table th{padding:10px 8px}}
.d21-classification-board{margin:30px 0 24px;padding:26px;border:1px solid #dfe5ef;border-radius:18px;background:linear-gradient(145deg,#fff,#f7f9fd);box-shadow:0 12px 32px #142c6310}.d21-classification-board-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.d21-classification-board-head .d21-eyebrow{margin:0 0 6px;color:#1645d8;font-size:10px}.d21-classification-board-head h2{margin:0;color:#111f49;font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-1px}.d21-classification-board-head p:last-child{margin:6px 0 0;color:#66738e;font-size:13px}.d21-board-count{display:grid;place-items:center;min-width:95px;padding:12px;border:1px solid #d9e2f4;border-radius:13px;background:#edf3ff;color:#1645d8}.d21-board-count strong{font-size:25px;line-height:1.1}.d21-board-count span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.d21-podium-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.d21-podium-card{overflow:hidden;border:1px solid #e3e8f0;border-radius:14px;background:#fff}.d21-podium-card h3{display:flex;align-items:center;gap:10px;margin:0;padding:14px 16px;border-bottom:1px solid #e9edf4;background:#f7f9fc;color:#14234d;font-size:15px;font-weight:800}.d21-podium-card h3 span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eaf0ff;color:#1645d8;font-size:17px}.d21-podium-person{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #edf0f5}.d21-podium-person:last-child{border-bottom:0}.d21-podium-rank{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf2fa;color:#52617d;font-size:13px;font-weight:900}.d21-podium-person[data-rank="1"] .d21-podium-rank{background:#fff2d5;color:#9a6300}.d21-podium-person[data-rank="2"] .d21-podium-rank{background:#edf0f5;color:#52617d}.d21-podium-person[data-rank="3"] .d21-podium-rank{background:#f9e7dd;color:#9a4a24}.d21-podium-person div{min-width:0}.d21-podium-person strong{display:block;overflow:hidden;color:#14234d;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.d21-podium-person small{display:block;overflow:hidden;margin-top:3px;color:#71809a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.d21-podium-person>b{color:#1645d8;font-size:12px;white-space:nowrap}.d21-podium-empty{margin:0;padding:18px;color:#71809a;font-size:12px}.d21-classification-table-title{margin:30px 0 16px!important;text-align:left!important;color:#14234d!important;font-size:27px!important;font-weight:800!important;letter-spacing:-.7px;text-transform:none!important}.d21-classification-detail .d21-pdf-action{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:47px;margin:0 0 10px;padding:11px 14px;border:1px solid #d8e1f1;border-radius:10px;background:#fff!important;color:#1645d8!important;text-align:left;font-size:12px;font-weight:750;box-shadow:0 3px 10px #162e6208}.d21-classification-detail .d21-pdf-action:hover{border-color:#1645d8;background:#edf3ff!important;transform:translateY(-1px)}.d21-classification-detail .d21-pdf-awards{border-color:#ead1d5;color:#bd1730!important}.d21-classification-detail .d21-pdf-awards:hover{background:#fff3f4!important}.d21-classification-detail #tabla-clasificacion_wrapper{padding:16px;border:1px solid #e1e7f1;border-radius:14px;background:#fff;box-shadow:0 8px 28px #142c630b}.d21-classification-detail #tabla-clasificacion_wrapper .dataTables_filter input,.d21-classification-detail #tabla-clasificacion_wrapper .dataTables_length select{min-height:40px;padding:0 11px;border:1px solid #d8dfeb;border-radius:8px;background:#fff}.d21-classification-detail #tabla-clasificacion_wrapper .dataTables_filter,.d21-classification-detail #tabla-clasificacion_wrapper .dataTables_length{color:#65728b;font-size:12px}.d21-classification-detail #tabla-clasificacion_wrapper .dataTables_info,.d21-classification-detail #tabla-clasificacion_wrapper .dataTables_paginate{padding-top:14px;color:#687691;font-size:11px}.d21-classification-detail #tabla-clasificacion_wrapper .paginate_button{border-radius:7px!important}@media(max-width:700px){.d21-classification-board{padding:19px;margin-top:20px}.d21-classification-board-head{align-items:flex-start}.d21-podium-grid{grid-template-columns:1fr}.d21-board-count{min-width:76px}.d21-classification-board-head h2{font-size:25px}.d21-classification-table-title{font-size:23px!important}}
/* Filtros y estadísticas de resultados por recorrido. */
.d21-filter-intro{margin:0 0 18px}.d21-filter-intro .d21-eyebrow{margin:0 0 5px;color:#1645d8;font-size:10px;font-weight:800;letter-spacing:1.5px}.d21-filter-intro>p:last-child{margin:0;color:#71809a;font-size:13px}.d21-result-filters>.row{row-gap:16px}.d21-filter-card{height:100%;padding:23px 24px;border:1px solid #dfe6f2;border-radius:16px;background:linear-gradient(145deg,#fff,#f6f9ff);box-shadow:0 8px 28px #162e620a}.d21-filter-card h6{display:flex;align-items:center;gap:10px;color:#14234d;font-size:14px;font-weight:800;margin-bottom:18px!important}.d21-filter-card h6 i{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:9px;background:#e8efff;color:#1645d8;font-size:13px}.d21-filter-card label{display:block;margin:0 0 7px;color:#65738e;font-size:11px;font-weight:700}.d21-filter-card select{display:block;width:100%;min-height:46px;padding:10px 32px 10px 13px;border:1px solid #d5dfef;border-radius:10px;background-color:#fff;color:#17264f;font-family:inherit;font-size:13px;cursor:pointer;transition:border-color .18s,box-shadow .18s}.d21-filter-card select:hover{border-color:#8faaf0}.d21-filter-card select:focus{border-color:#1645d8;outline:3px solid #1645d81c;outline-offset:2px}.d21-course-card{background:#edf3ff;border-color:#cfddf7}.d21-statistics-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin:6px 0;padding:12px 16px;border:1px solid #bfd0f4;border-radius:11px;background:linear-gradient(120deg,#edf3ff,#f8faff);color:#1645d8;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 4px 12px #1645d80a;transition:background .18s,color .18s,box-shadow .18s}.d21-statistics-button:hover{background:#1645d8;border-color:#1645d8;color:#fff;box-shadow:0 6px 18px #1645d826}.d21-statistics-button:focus-visible{outline:3px solid #739cf0;outline-offset:3px}.d21-statistics-button i{font-size:16px}@media(max-width:600px){.d21-filter-card{padding:18px}.d21-result-filters .row>[class*="col-"]{margin-bottom:10px}.d21-filter-card select{font-size:16px}.d21-filter-intro>p:last-child{line-height:1.6}}

/* Versión compacta del selector de filtros. */
.d21-filter-intro{margin-bottom:10px}.d21-filter-intro .d21-eyebrow{margin-bottom:3px;font-size:9px}.d21-filter-intro>p:last-child{font-size:12px}.d21-result-filters>.row{row-gap:10px}.d21-filter-card{padding:13px 16px;border-radius:12px}.d21-filter-card h6{gap:8px;margin-bottom:10px!important;font-size:12px}.d21-filter-card h6 i{width:25px;height:25px;border-radius:7px;font-size:11px}.d21-filter-card label{margin-bottom:4px;font-size:10px}.d21-filter-card select{min-height:36px;padding:6px 28px 6px 10px;border-radius:8px;font-size:12px}.d21-filter-card .mt-3{margin-top:10px!important}.d21-filter-card .mb-3{margin-bottom:10px!important}@media(max-width:600px){.d21-filter-card{padding:12px 14px}.d21-result-filters .row>[class*="col-"]{margin-bottom:6px}.d21-filter-card select{min-height:40px;font-size:16px}.d21-filter-intro>p:last-child{line-height:1.4}}

.d21-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.d21-filter-fields>.d21-filter-field{min-width:0;padding:0;margin:0!important}.d21-filter-fields>.d21-filter-field:only-child{grid-column:1/-1}@media(max-width:420px){.d21-filter-fields{gap:7px}.d21-filter-fields select{padding-left:6px;padding-right:18px;font-size:13px}}

.d21-athlete{color:#14234d}.d21-athlete-header{padding:23px;border-radius:14px;background:linear-gradient(120deg,#101e49,#1645a8);color:#fff}.d21-athlete-header .d21-eyebrow{color:#b9d1ff;font-size:10px;letter-spacing:1.5px}.d21-athlete-header h3{margin:8px 0 10px;font-size:25px;font-weight:800}.d21-athlete-header p{margin-bottom:5px}.d21-athlete-header small{color:#dae5ff}.d21-athlete-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.d21-athlete-metrics>div{padding:18px;border:1px solid #d7e3fc;border-radius:12px;background:#eef4ff}.d21-athlete-metrics span,.d21-athlete-ranks span{display:block;font-size:11px;color:#64738e;margin-bottom:7px}.d21-athlete-metrics strong{font-size:30px;color:#1645d8;font-variant-numeric:tabular-nums}.d21-athlete-metrics strong small{font-size:12px}.d21-athlete-ranks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.d21-athlete-ranks>div{padding:15px;border:1px solid #e0e6f2;border-radius:11px}.d21-athlete-ranks strong{font-size:25px}.d21-athlete-ranks strong small{font-size:12px;font-weight:400;color:#71809a}.d21-athlete-note{font-size:10px;color:#71809a;margin:9px 0 18px}.d21-athlete-percent{padding:18px;background:#f5f8ff;border-radius:12px}.d21-athlete-percent strong,.d21-athlete-percent span{display:block}.d21-athlete-percent span{font-size:12px;color:#71809a;margin-top:4px}.d21-athlete-progress{height:7px;margin-top:12px;background:#dce5f8;border-radius:8px;overflow:hidden}.d21-athlete-progress i{display:block;height:100%;background:#1645d8}.d21-athlete-comparison,.d21-athlete-share{margin-top:20px}.d21-athlete h4{font-size:15px;font-weight:800;margin-bottom:12px}.d21-athlete-comparison>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #e7ecf5;font-size:13px}.d21-athlete-share p{font-size:12px;color:#71809a}.d21-athlete-share>div{display:flex;flex-wrap:wrap;gap:9px}.d21-athlete-share button,.d21-athlete-share a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 13px;border:1px solid #cad8f4;border-radius:9px;background:#eef4ff;color:#1645d8;font-size:12px;font-weight:700;cursor:pointer}.d21-athlete-share button:disabled{opacity:.6}.d21-share-status{margin:10px 0 0}.d21-athlete-share button:focus-visible,.d21-athlete-share a:focus-visible{outline:3px solid #739cf0;outline-offset:2px}@media(max-width:480px){.d21-athlete-header{padding:17px}.d21-athlete-header h3{font-size:21px}.d21-athlete-metrics strong{font-size:23px}.d21-athlete-ranks{grid-template-columns:1fr}.d21-athlete-ranks>div{display:flex;align-items:center;justify-content:space-between}.d21-athlete-ranks span{margin:0}.d21-athlete-share>div>*{flex:1 1 45%}}

#modalEstadisticas .d21-athlete-header h3{color:#fff!important;text-shadow:none;line-height:1.3;overflow-wrap:anywhere}#modalEstadisticas .d21-athlete-header>p:not(.d21-eyebrow){color:#fff}#modalEstadisticas .d21-athlete-header .d21-eyebrow{color:#c5d8ff}

.d21-home-blog{padding:10px 0 20px}.d21-blog .d21-section-head h2{font-size:clamp(29px,3.3vw,43px);font-weight:800;letter-spacing:-1.6px}.d21-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:26px}.d21-blog-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #dce2ed;border-radius:14px;background:#fff;box-shadow:0 6px 24px #162e6208;transition:box-shadow .2s}.d21-blog-card:hover{box-shadow:0 12px 30px #162e6216}.d21-blog-image{display:block;overflow:hidden;aspect-ratio:16/10;background:#e9edf6}.d21-blog-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.d21-blog-image:hover img{transform:scale(1.035)}.d21-blog-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:23px}.d21-blog-category{display:inline-block;margin-bottom:14px;padding:5px 10px;border-radius:6px;background:#edf3ff;color:#1645d8;font-size:10px;font-weight:700;line-height:1.4}.d21-blog-copy h3{margin:0 0 12px;color:#14234d;font-size:19px;font-weight:750;line-height:1.4;letter-spacing:-.3px}.d21-blog-copy h3 a{color:inherit}.d21-blog-copy h3 a:hover{color:#1645d8}.d21-blog-copy>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 22px;color:#63708a;font-size:13px;line-height:1.7}.d21-blog-read{display:flex;align-items:center;justify-content:space-between;align-self:stretch;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid #e4e9f2;color:#1645d8;font-size:12px;font-weight:700}.d21-blog-read span{font-size:19px}@media(min-width:901px){.d21-blog-copy h3{min-height:106px}}@media(max-width:900px){.d21-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.d21-blog-grid{grid-template-columns:1fr;gap:18px}.d21-blog-copy{padding:20px}.d21-blog-copy h3{font-size:19px}}

/* Vista ajustada del diploma y acciones compactas de clasificación. */
#tabla-clasificacion .d21-athlete-action,.dtr-details .d21-athlete-action{display:inline-flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:34px;min-height:34px;margin:0;padding:0!important;border-radius:7px;font-size:13px;box-shadow:none}#tabla-clasificacion td:has(>.d21-athlete-action){width:38px;padding-left:4px;padding-right:4px}#modalEstadisticas .d21-athlete-header h3{font-size:clamp(25px,3.2vw,34px);font-weight:800;letter-spacing:-.6px}.d21-diploma-modal .modal-dialog{width:calc(100% - 24px);max-width:1350px;margin:12px auto;min-height:calc(100% - 24px)}.d21-diploma-modal .modal-content{overflow:hidden;max-height:calc(100vh - 24px)}.d21-diploma-modal .modal-header{flex-shrink:0;padding:12px 18px;align-items:center}.d21-diploma-modal .modal-title{font-size:17px;font-weight:700}.d21-diploma-modal .modal-body{padding:0;min-height:0;overflow:hidden;background:#e9edf5}.d21-diploma-viewport{height:calc(100vh - 165px);max-height:850px;min-height:100px;overflow:auto;overscroll-behavior:contain;padding:12px}.d21-diploma-viewport img{display:block;margin:auto;max-width:none!important;object-fit:contain;background:#fff;box-shadow:0 5px 24px #101e4926}.d21-diploma-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:10px 14px;background:#fff;border-top:1px solid #dce2ed;flex-shrink:0}.d21-diploma-toolbar button,.d21-diploma-toolbar a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 12px;border:1px solid #cad8f4;border-radius:8px;background:#edf3ff;color:#1645d8;font-size:12px;font-weight:700;cursor:pointer}.d21-diploma-toolbar button:disabled{opacity:.4;cursor:default}.d21-diploma-toolbar>span{font-size:11px;color:#64738e;min-width:42px;text-align:center}.d21-diploma-toolbar a{background:#1645d8;color:#fff}@media(max-width:600px){.d21-diploma-viewport{height:calc(100vh - 205px)}.d21-diploma-toolbar{gap:5px;padding:8px}.d21-diploma-toolbar button,.d21-diploma-toolbar a{padding:7px 9px}.d21-diploma-modal .modal-header{padding:10px 14px}}

/* Selector de recorridos: contenido desplazable dentro de la pantalla. */
#modalRecorridos .modal-dialog{margin:16px auto;min-height:calc(100% - 32px);padding:0 12px}#modalRecorridos .modal-content{display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden}#modalRecorridos .modal-header{flex:0 0 auto}#modalRecorridos .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#modalRecorridos .modal-body .table-responsive{overflow-x:auto}@media(max-width:600px){#modalRecorridos .modal-dialog{margin:10px auto;min-height:calc(100% - 20px);padding:0 10px}#modalRecorridos .modal-content{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px)}}

#tabla-clasificacion th.d21-runner-name{width:40%}#tabla-clasificacion td.d21-runner-name{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;min-width:180px}#tabla-clasificacion td.d21-runner-name strong{display:inline;font-size:15px;line-height:1.45;white-space:normal!important}#tabla-clasificacion td.d21-runner-name>div{white-space:normal!important}#tabla-clasificacion .d21-runner-time{white-space:nowrap}#tabla-clasificacion .d21-runner-time strong{display:block;font-size:14px;color:#14234d}#tabla-clasificacion .d21-runner-time small{display:block;margin-top:3px;font-size:11px;color:#71809a}@media(max-width:600px){#tabla-clasificacion td.d21-runner-name{min-width:110px}#tabla-clasificacion td.d21-runner-name strong{font-size:13px}}

/* Casilla nativa visible: anula la ocultación de checkboxes de MDB. */
.d21-contact-privacy input[type="checkbox"]{position:static!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;display:inline-block!important;appearance:auto!important;-webkit-appearance:checkbox!important;width:20px!important;height:20px!important;min-height:20px!important;flex:0 0 20px;margin:2px 0 0!important;padding:0!important;clip:auto!important;clip-path:none!important;transform:none!important;accent-color:#1645d8}.d21-contact-privacy{cursor:pointer;align-items:flex-start}.d21-contact-privacy input[type="checkbox"]:focus-visible{outline:3px solid #739cf0;outline-offset:3px}
