:root{--red:#e52b30;--black:#0b0b0c;--muted:#a5a5aa;--line:#303033;--white:#f5f5f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,select,textarea{font:inherit}button,a,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;width:100%;object-fit:cover}p{margin:0 0 1.3rem}h1,h2,h3,h4{margin:0;line-height:1.03}h1,h2,h3{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-weight:900;letter-spacing:-.025em}em{font-style:normal;color:var(--red)}header{height:100px;background:#080808;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;position:relative;z-index:5;border-bottom:1px solid #272727}.brand{width:245px;display:block}.brand img{object-fit:contain;height:auto}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a:hover{color:var(--red)}.nav-cta{border:1px solid #555;padding:12px 21px}.menu{display:none}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:white;color:black;padding:15px}.skip:focus{top:15px}.hero{height:min(790px,calc(100svh - 100px));min-height:660px;position:relative;overflow:hidden}.hero-photo{position:absolute;right:0;top:0;width:76%;height:100%;object-position:57% 57%;filter:saturate(.7)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0c 0%,rgba(11,11,12,.94) 22%,rgba(11,11,12,.58) 44%,transparent 70%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 35%)}.hero-content{position:relative;padding:75px 5.5% 100px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.17em;line-height:1.5;margin-bottom:25px}.eyebrow span{display:inline-block;width:22px;height:3px;background:var(--red);vertical-align:middle;margin-right:12px}h1{font-size:clamp(54px,6.8vw,104px);line-height:1.01;max-width:850px}.hero-intro{margin:26px 0;color:#dadadd;font-size:17px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid var(--red);background:var(--red);color:white;min-height:57px;padding:16px 25px;font-size:13px;letter-spacing:.07em;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#bb2026;transform:translateY(-2px)}.button span{font-size:24px;line-height:1}.hero-bottom{position:absolute;left:5.5%;right:5.5%;bottom:27px;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.14em}.hero-bottom a span{margin-left:15px;color:var(--red)}.section{padding:105px 7%;}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:50px}.section-head>p{color:var(--muted);max-width:340px}h2{font-size:clamp(40px,4.1vw,62px)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{position:relative;background:#171719;padding:45px;border-top:3px solid var(--red)}.service-card .index{position:absolute;right:30px;top:25px;font-size:56px;line-height:1;color:#505054;font-family:Impact,Arial,sans-serif}.service-card .eyebrow{color:#c0c0c4;margin-bottom:35px;padding-right:35px}.service-card h3{font-size:clamp(32px,3vw,44px);margin-bottom:23px}.service-card>p:not(.eyebrow){color:#bbbcc1;max-width:410px}.text-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #48484b;padding:22px 0 12px;font-size:15px;font-weight:700;gap:15px}.text-link span{color:var(--red);font-size:24px}.text-link:hover{color:var(--red)}.personal{background:#ececea;color:#111;border-top-color:#555}.personal .eyebrow,.personal>p:not(.eyebrow){color:#525257}.personal .index{color:#85858b}.oppositions{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-top:35px}.training-image{position:relative;min-height:650px}.training-image img{height:100%;position:absolute;object-position:52% center;filter:saturate(.75)}.photo-label{position:absolute;bottom:0;left:0;right:0;background:#151515e8;padding:19px 24px;font-size:12px;letter-spacing:.12em;border-left:4px solid var(--red)}.training-copy>p:not(.eyebrow){color:#b9b9bf}.training-copy h2{margin-bottom:25px}.features{list-style:none;padding:0;margin:27px 0 32px}.features li{display:flex;gap:22px;border-top:1px solid var(--line);padding:19px 0}.features li>span{color:var(--red);font-size:13px;font-weight:bold}.features h4{font-size:17px;margin-bottom:8px;line-height:1.3}.features p{font-size:14px;color:#a5a5aa;line-height:1.6;margin:0}.about{background:var(--white);color:#151515;display:grid;grid-template-columns:1.05fr 1fr;gap:10%;align-items:center}.about figure{margin:0;position:relative}.about figure img{height:620px;object-position:center 40%;filter:grayscale(1)}.about figcaption{background:var(--red);color:white;padding:17px 22px;font-size:12px;letter-spacing:.13em}.about-copy>p:not(.eyebrow){color:#57575b;max-width:480px}.about-copy .lead{font-size:21px;color:#151515!important;margin-top:32px}.about .text-link{max-width:480px;border-color:#b9b9b9}.signature{font-size:24px;font-weight:800;margin-top:38px}.signature small{display:block;font-size:11px;letter-spacing:.2em;font-weight:400}.steps{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;margin:0;padding:0;gap:24px}.steps li{border-top:1px solid #424246;padding-top:26px}.steps li>span{font-family:Impact,Arial,sans-serif;font-size:64px;line-height:1;color:var(--red)}.steps h3{font-size:23px;margin:22px 0 15px}.steps p{font-size:14px;line-height:1.7;color:#aaaab0}.impact{height:600px;position:relative;display:flex;align-items:center;justify-content:flex-end;padding:6% 7%}.impact img{position:absolute;inset:0;height:100%;object-position:center 60%;filter:saturate(.7)}.impact:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.35) 42%,rgba(0,0,0,.85))}.impact>div{position:relative;z-index:1;max-width:52%}.impact h2{font-size:clamp(40px,4.2vw,65px)}.impact em{color:white}.impact .eyebrow{color:#ff555a}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:100px}.contact h2{margin-bottom:30px}.contact>div>p:not(.eyebrow){color:#b5b5ba}.contact-note{border-left:3px solid var(--red);padding-left:20px;margin-top:35px;font-size:14px;color:#a5a5aa}.contact-panel{padding-top:5px}label{display:block;font-size:14px;margin-bottom:12px}select,textarea{display:block;width:100%;background:#19191c;color:white;border:1px solid #444448;border-radius:0;padding:16px;margin-bottom:25px;resize:vertical;font-size:16px}.contact-panel .button{width:100%}.demo-note{color:#b2b2b7;font-size:12px;margin-top:15px}footer{border-top:1px solid var(--line);padding:35px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .brand{width:210px}footer p{margin:0;font-size:12px;letter-spacing:.15em;color:#aaa}footer>a:last-child{font-size:13px;color:#bbb}@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1380px)/2));padding-right:max(7%,calc((100vw - 1380px)/2))}}@media(max-width:1000px){nav{gap:17px}.brand{width:205px}.section{padding:75px 5%}.oppositions{gap:5%}.training-image{min-height:600px}.steps{gap:17px}.steps h3{font-size:19px}.about{gap:6%}.about figure img{height:570px}}@media(max-width:720px){html{scroll-padding-top:25px}header{height:80px;padding:0 5%}.brand{width:210px}.menu{display:flex;align-items:center;gap:12px;border:1px solid #555;background:transparent;color:white;padding:9px 12px;font-size:14px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#111;padding:20px 5%;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #444}nav.open{display:flex}nav a{padding:14px 5px}.nav-cta{margin-top:10px;padding:12px}.hero{height:auto;min-height:770px}.hero-photo{width:100%;height:55%;top:auto;bottom:0;object-position:55% 58%}.hero-shade{background:linear-gradient(180deg,#0b0b0c 38%,rgba(11,11,12,.78) 52%,rgba(11,11,12,.06) 74%,rgba(11,11,12,.7))}.hero-content{padding:43px 5% 300px}h1{font-size:clamp(44px,10.5vw,75px);max-width:100%;line-height:1.05}.eyebrow{font-size:11px;letter-spacing:.13em;margin-bottom:20px}.hero-intro{font-size:16px;margin:20px 0}.hero-bottom{font-size:10px;bottom:22px;left:5%;right:5%}.hero-bottom>span{max-width:160px}.section{padding:62px 6%}.section-head{display:block;margin-bottom:30px}.section-head>p{margin:24px 0 0}h2{font-size:40px}.service-grid,.oppositions,.about,.contact{grid-template-columns:1fr;gap:35px}.service-card{padding:32px 26px}.service-card h3{font-size:36px}.service-card .index{font-size:44px;right:25px}.training-image{min-height:450px}.oppositions{padding-top:0}.training-copy h2{font-size:39px}.about-copy{order:1}.about figure{order:0}.about figure img{height:470px}.steps{grid-template-columns:1fr;gap:0}.steps li{display:grid;grid-template-columns:65px 1fr;column-gap:20px;padding:25px 0}.steps li>span{grid-row:1/3;font-size:53px}.steps h3{font-size:24px;margin:3px 0 10px}.steps p{margin:0;max-width:340px}.impact{height:680px;align-items:flex-start;padding:45px 6%}.impact>div{max-width:100%;width:100%}.impact h2{font-size:43px}.impact img{object-position:25% bottom}.impact:after{background:linear-gradient(180deg,rgba(0,0,0,.87),rgba(0,0,0,.5) 38%,transparent 70%)}.contact{gap:32px}footer{flex-wrap:wrap;padding:30px 6%}footer p{display:none}.button{font-size:12px;padding:16px 20px;gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Preparación de oposiciones: Policía Nacional como opción principal. */
.corps-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}.national{display:flex;flex-direction:column;justify-content:center;padding:55px 45px;background:linear-gradient(145deg,#271416,#171719 65%)}.national h3{font-size:clamp(48px,5.4vw,80px)}.national>p:not(.eyebrow){max-width:440px}.national .text-link{margin-top:25px}.other-corps{display:grid;gap:0;border-top:1px solid #444}.corps-card{padding:25px 28px;border-bottom:1px solid #444}.corps-card .eyebrow{color:#adadb3;margin-bottom:12px}.corps-card h3{font-size:28px;margin-bottom:12px}.corps-card>p:not(.eyebrow){color:#b9b9bf;font-size:15px;margin-bottom:0}.corps-card .text-link{border:0;padding:12px 0 0;font-size:14px}@media(max-width:720px){.corps-grid{grid-template-columns:1fr;gap:25px}.national{padding:42px 27px}.national h3{font-size:58px}.corps-card{padding:25px 10px}.hero-intro{max-width:350px}}

/* Modalidades, credenciales y contacto. */
.hero{height:auto;min-height:780px}.hero-content{padding-top:55px;padding-bottom:100px}.hero h1{font-size:clamp(50px,6.2vw,92px)}.location-line{font-size:12px;line-height:1.8;letter-spacing:.08em;font-weight:bold;max-width:530px;margin:0 0 24px}.location-line span{color:var(--red);padding:0 7px}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:28px 7%;border-bottom:1px solid var(--line);color:#aaa;font-size:14px}.trust-strip strong{display:block;color:white;font-size:17px}.modalities{background:#151517}.modality-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.modality-grid article{border-top:2px solid var(--red);padding-top:30px}.modality-grid h3{font-size:32px;margin-bottom:20px}.modality-grid article>p:not(.eyebrow){color:#bbb;max-width:490px}.credentials{border-top:1px solid #bbb;border-bottom:1px solid #bbb;margin:25px 0}.credentials summary{padding:18px 0;font-size:15px;font-weight:bold;cursor:pointer}.credentials>div{padding-bottom:20px;color:#444;font-size:14px}.credentials h3{font-size:23px;margin:18px 0 12px}.credentials ul{padding-left:20px}.credentials li{margin-bottom:8px}.about figure{align-self:start}.about .about-copy{min-width:0}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;background:#151517}.faq details{border-bottom:1px solid #444}.faq summary{padding:22px 0;cursor:pointer;font-size:17px;font-weight:bold}.faq details p{font-size:16px;color:#bbb;padding-bottom:15px}.contact-note a{color:white;font-weight:bold;display:inline-block;margin-top:12px}.contact-panel{min-width:0}summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}@media(max-width:720px){.hero{min-height:840px}.hero-content{padding:40px 5% 340px}.hero h1{font-size:clamp(40px,9.5vw,64px)}.hero-photo{height:46%}.hero-shade{background:linear-gradient(180deg,#0b0b0c 43%,rgba(11,11,12,.82) 57%,rgba(11,11,12,.06) 78%,rgba(11,11,12,.7))}.location-line{font-size:11px;max-width:310px}.trust-strip{grid-template-columns:1fr;gap:16px;padding:26px 6%;font-size:13px}.trust-strip strong{display:inline;font-size:15px;margin-right:6px}.modality-grid,.faq{grid-template-columns:1fr;gap:30px}.modality-grid h3{font-size:29px}.faq summary{font-size:16px}.hero-bottom{font-size:10px}}

/* Presentación cercana y títulos de lectura clara. */
h1,h2,h3,h4{font-family:'Segoe UI',Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.18;overflow-wrap:normal}h2{font-size:clamp(32px,3.5vw,50px)}.service-card h3,.national h3{font-size:clamp(34px,3.7vw,54px)}.steps h3{font-size:21px;letter-spacing:-.02em}.impact h2{font-size:clamp(32px,3.6vw,52px)}.intro-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:6%;align-items:center;padding:55px 7% 65px;max-width:1600px;margin:auto}.intro-copy{min-width:0}.intro-copy h1{font-size:clamp(40px,4.3vw,64px);line-height:1.13;margin-bottom:25px}.intro-copy .intro-lead{font-size:19px;color:#eee;max-width:560px}.intro-copy>p:not(.eyebrow):not(.intro-location){color:#c6c6cb;max-width:560px}.intro-location{font-size:14px;margin:27px 0 22px;color:#fff}.intro-portrait{margin:0;position:relative;align-self:stretch;min-height:550px}.intro-portrait img{height:100%;position:absolute;inset:0;object-position:50% 40%;filter:none}.intro-portrait figcaption{position:absolute;bottom:0;left:0;right:0;padding:18px 22px;background:#080808ce;font-size:14px;color:white;border-left:3px solid var(--red)}.intro-more{display:block;width:fit-content;margin-top:18px;font-size:14px;color:#bcbcc1}.intro-more:hover{color:white}.about figure img{filter:none}.training-formats{border-top:1px solid #444;margin-top:50px;padding-top:35px}.training-formats>h3{font-size:30px;margin-bottom:14px}.training-formats>p{color:#b9b9bf}.format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:25px}.format-grid article{border-left:2px solid var(--red);padding-left:20px}.format-grid h4{font-size:21px;margin-bottom:12px}.format-grid p{color:#b9b9bf;margin:0;font-size:16px}.training-formats .format-note{font-size:14px;margin:25px 0 0}.corps-card h3,.modality-grid h3{font-size:28px}.about figure img{object-position:center}.training-copy h2{font-size:clamp(32px,3.5vw,50px)}@media(max-width:1000px){.intro-hero{gap:5%;padding:45px 5%}.intro-copy h1{font-size:43px}.steps{grid-template-columns:repeat(3,1fr)}.intro-portrait{min-height:560px}}@media(max-width:720px){.intro-hero{grid-template-columns:1fr;padding:30px 6% 45px;gap:28px}.intro-copy h1{font-size:clamp(35px,9vw,48px)}.intro-copy h1 br:last-of-type{display:none}.intro-copy .intro-lead{font-size:18px}.intro-portrait{min-height:400px}.intro-portrait img{object-position:50% 32%}.intro-location{margin-top:22px}.format-grid{grid-template-columns:1fr;gap:24px}.steps{grid-template-columns:1fr}.steps h3{font-size:23px}.national h3{font-size:38px}.service-card h3{font-size:34px}.impact h2{font-size:38px}h2,.training-copy h2{font-size:34px}.modality-grid h3{font-size:27px}}

/* Mismo protagonismo para las cuatro preparaciones. */
.equal-corps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.equal-corps-card{display:flex;flex-direction:column;padding:36px;background:#171719;border-top:3px solid var(--red);min-width:0}.equal-corps-card h3{font-size:clamp(27px,2.8vw,38px);margin-bottom:20px}.equal-corps-card>p{color:#b9b9bf;flex:1}.equal-corps-card .text-link{margin-top:10px}@media(max-width:720px){.equal-corps{grid-template-columns:1fr}.equal-corps-card{padding:28px}.equal-corps-card h3{font-size:30px}}

/* Fotografía de transición sin texto ni oscurecimiento. */
.impact:after{display:none}.impact img{filter:none}

/* Trayectoria deportiva completa. */
.achievements{grid-column:1/-1;border-top:1px solid #c9c9c9;padding-top:48px;margin-top:15px}.achievements h2{margin-bottom:25px}.achievement-intro,.sport-recognition{max-width:850px;color:#505055}.sport-recognition{margin-bottom:38px}.achievement-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:70px}.achievement-columns h3{font-size:27px;margin-bottom:15px}.achievement-subtitle{font-size:14px;color:#555}.medal-list{list-style:none;margin:0;padding:0}.medal-list li{display:flex;gap:24px;padding:18px 0;border-bottom:1px solid #ccc}.achievement-year{font-size:16px;font-weight:700;color:#b51920;min-width:44px}.medal-list strong{font-size:17px}.medal-list p{font-size:15px;margin:4px 0 0;color:#555;line-height:1.5}.personal-records{margin:0}.personal-records>div{display:flex;justify-content:space-between;gap:18px;align-items:baseline;border-bottom:1px solid #ccc;padding:21px 0}.personal-records dt{font-size:16px}.personal-records dd{font-size:19px;font-weight:700;margin:0;text-align:right}@media(max-width:720px){.achievement-columns{grid-template-columns:1fr;gap:38px}.achievements{padding-top:32px}.achievements h2{font-size:32px}.personal-records dd{font-size:18px}.medal-list li{gap:16px}}

/* El espacio vertical de la cuadrícula debe contar en su altura. */
.about{row-gap:55px}.achievements{min-width:0}.medal-list li>div{min-width:0}.impact:after{display:block;background:linear-gradient(90deg,transparent 30%,rgba(0,0,0,.65) 100%)}.impact-message h2{color:#fff;text-shadow:0 2px 14px #0006}@media(max-width:720px){.about{row-gap:35px}.achievements{order:2}.impact:after{background:linear-gradient(180deg,rgba(0,0,0,.7),transparent 65%)}}
