body{margin:0;background:#fff;color:var(--color-text);font-family:var(--font-body);overflow-x:clip}
.campaign-header{max-width:1200px;margin:auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.campaign-header img{width:220px;height:auto}.campaign-header .btn{font-size:.9rem}
.landing-layout{display:grid;grid-template-columns:minmax(0,850px) 340px;gap:70px;max-width:1320px;padding:0 30px;margin:auto;position:relative;isolation:isolate;align-items:start}
.landing-layout::before{content:'';position:absolute;z-index:-1;top:0;left:50%;transform:translateX(-50%);width:100vw;height:740px;background:linear-gradient(#07182988,#07182999),url('/images/home/academias-oposiciones-aula-home.jpg') center/cover no-repeat;clip-path:polygon(0 0,100% 0,100% 100%,82% 99%,65% 98%,55% 95%,45% 98%,20% 100%,0 100%)}
.landing-hero{height:740px;position:relative;color:#fff;padding:0 35px}.landing-hero h1{position:absolute;top:175px;left:0;width:100%;font-size:2.6rem;line-height:1.2;text-align:center;color:#fff;margin:0;font-weight:700;text-shadow:0 2px 8px #0006}.landing-hero h2{position:absolute;left:35px;bottom:115px;font-size:1.6rem;line-height:1.2;color:#fff;margin:0}
.landing-widget{position:sticky;top:35px;margin-top:60px;z-index:2;min-width:0}.landing-widget__scroll{max-height:calc(100dvh - 70px);overflow-y:auto;overscroll-behavior:contain;border-radius:16px;background:var(--color-primary);padding:8px;scrollbar-width:thin;scrollbar-color:#94aac0 var(--color-primary)}
.landing-widget .sp-form-outer,.landing-widget .sp-form{width:100%!important;max-width:100%!important;margin:0!important}.landing-widget .sp-form{background:var(--color-primary)!important;color:white!important;border:0!important}.landing-widget .sp-form label,.landing-widget .sp-form .sp-field>label,.landing-widget .sp-form p{color:white!important}.landing-widget .sp-form input:not([type=checkbox]),.landing-widget .sp-form select{min-height:34px!important;background:white!important;color:#222!important}.landing-widget .sp-button{background:var(--color-cta)!important;color:white!important;min-height:38px!important;font-size:16px!important}.landing-widget .sp-form a{color:inherit}.landing-widget .sp-form .iti__selected-flag,.landing-widget .sp-form .iti__selected-country,.landing-widget .sp-form .iti__selected-dial-code,.landing-widget .sp-form .iti__country-list{color:#222!important}
.landing-details{padding:75px 0 35px}.landing-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;text-align:center;color:var(--color-primary);padding:15px 20px 0}.landing-benefits svg{width:46px;height:46px;margin:0 auto 22px}.landing-benefits p{font-size:1rem;line-height:1.3;font-weight:700;margin:0}
.landing-image-cta{margin:130px 0 0;border-radius:10px;overflow:hidden}.landing-image-cta h2{background:var(--color-primary);color:#fff;font-size:1.15rem;line-height:1.3;text-align:center;padding:8px 12px;margin:0}.landing-image-cta__visual{height:245px;position:relative;display:grid;place-items:center;isolation:isolate}.landing-image-cta__visual img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.landing-image-cta__visual::after{content:'';position:absolute;inset:0;background:#0005;z-index:-1}.landing-image-cta .btn{font-size:1rem;font-weight:500;box-shadow:none}
.landing-preparation{margin-top:115px}.landing-preparation h2{color:var(--color-primary);font-size:2rem;line-height:1.15;text-align:center;margin:0 0 50px}.landing-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:stretch}.landing-mosaic img{width:100%;height:190px;object-fit:cover;border-radius:8px}.landing-mosaic p{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--color-muted);font-size:1.15rem;line-height:1.3;margin:0;padding:20px 10px}.landing-mosaic p::after{content:'';display:block;width:46px;height:3px;background:var(--color-primary);margin-top:12px}
.campaign-footer{padding:65px 24px 35px;background:white;color:var(--color-text);text-align:center}.campaign-footer img{width:190px;height:auto;margin:0 auto 32px}.campaign-footer nav{display:flex;justify-content:center;gap:15px 35px;flex-wrap:wrap;font-size:.85rem}.campaign-footer a{color:var(--color-text);text-decoration:none}.campaign-footer a:hover{text-decoration:underline}.campaign-footer p{font-size:.75rem;margin:24px 0 0;color:var(--color-muted)}
.campaign-legal{max-width:900px;margin:35px auto 65px;padding:0 24px;line-height:1.75}.campaign-legal h1{margin-bottom:30px}.campaign-legal h2{margin-top:30px}
@media(max-width:1000px){.landing-layout{grid-template-columns:minmax(0,1fr) 310px;gap:35px;padding:0 24px}.landing-hero h1{font-size:2.1rem}.landing-hero h2{left:15px}.landing-mosaic img{height:160px}.landing-mosaic p{font-size:.95rem}.landing-benefits{gap:15px;padding-inline:0}.landing-benefits p{font-size:.85rem}}
@media(max-width:700px){.landing-layout{display:flex;flex-direction:column;padding:0;gap:0}.landing-copy{display:contents}.landing-hero{order:0;width:100%;height:430px;padding:0 24px;background:linear-gradient(#07182988,#071829a8),url('/images/home/academias-oposiciones-aula-home.jpg') 75% center/cover;clip-path:polygon(0 0,100% 0,100% 100%,55% 95%,0 100%)}.landing-layout::before{display:none}.landing-hero h1{top:95px;font-size:2rem}.landing-hero h2{left:30px;bottom:60px;font-size:1.3rem}.landing-widget{position:relative;top:auto;order:1;margin:25px auto 0;width:calc(100% - 40px);max-width:400px}.landing-widget__scroll{max-height:80dvh}.landing-details{order:2;width:100%;padding:50px 22px 25px}.landing-benefits svg{width:36px;height:36px;margin-bottom:15px}.landing-benefits p{font-size:.72rem}.landing-benefits{gap:10px}.landing-image-cta{margin-top:65px}.landing-image-cta__visual{height:210px}.landing-preparation{margin-top:65px}.landing-preparation h2{font-size:1.55rem;margin-bottom:30px}.landing-mosaic img{height:130px}.landing-mosaic p{font-size:.8rem;padding:12px 6px}.campaign-header{padding:15px}.campaign-header img{width:160px}.campaign-header .btn{font-size:.75rem;padding:10px}.campaign-footer{padding-top:45px}.campaign-footer nav{font-size:.8rem;gap:15px}}

/* Landing revisada: cabecera reflejada y formularios por dispositivo. */
.landing-layout::before{transform:translateX(-50%)}
.landing-mobile-form{display:none}
.landing-benefits>div{transition:transform .2s ease,color .2s ease}.landing-benefits>div:hover{transform:translateY(-6px)}
.landing-mosaic img{transition:transform .25s ease,box-shadow .25s ease}.landing-mosaic img:hover{transform:scale(1.035);box-shadow:0 8px 24px #133b6333;position:relative;z-index:1}
.landing-mosaic p:empty::after{display:none}.landing-mosaic p{color:var(--color-primary)}
.landing-image-cta button{cursor:pointer;border:2px solid transparent;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.landing-image-cta button:hover{background:#3cb049;border-color:white;transform:translateY(-2px)}
.sp-popup-outer:has(.sp-form){overflow-y:auto!important;max-height:100dvh!important;padding-bottom:30px;box-sizing:border-box}
@media(max-width:700px){
 .landing-hero{height:380px;background:none;clip-path:none;isolation:isolate;overflow:hidden}
 .landing-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#07182988,#07182999),url('/images/home/academias-oposiciones-aula-home.jpg') 75% center/cover;transform:none}
 .landing-hero h1{top:52%;font-size:1.7rem;padding:0 16px;box-sizing:border-box}.landing-hero h2{left:0;width:100%;text-align:center;bottom:25px;font-size:1.15rem}
 .landing-widget--desktop{display:none}.landing-mobile-form{display:block;order:1;width:100%;background:var(--color-primary);padding:20px 24px;box-sizing:border-box}
 .landing-mobile-form .sp-form-outer,.landing-mobile-form .sp-form{width:100%!important;max-width:100%!important;margin:0!important;border-radius:0!important;background:var(--color-primary)!important;border:0!important}
 .landing-mobile-form .sp-form{color:white!important}.landing-mobile-form .sp-form label,.landing-mobile-form .sp-form p{color:white!important}.landing-mobile-form .sp-form a{color:inherit}
 .landing-mobile-form .sp-button{background:var(--color-cta)!important;color:white!important}.landing-mobile-form input:not([type=checkbox]),.landing-mobile-form select{background:white!important;color:#222!important}
 .landing-mobile-form .iti__selected-flag,.landing-mobile-form .iti__country-list{color:#222!important}
 .landing-mosaic p{font-size:.78rem}.landing-preparation h2{font-size:1.55rem}
}
@media(prefers-reduced-motion:reduce){.landing-mosaic img,.landing-benefits>div,.landing-image-cta button{transition:none}}

.landing-preparation__more{text-align:center;margin:40px 0 0}.landing-preparation__more p{color:var(--color-primary);font-size:1.65rem;font-weight:600;margin:0 0 16px}.landing-preparation__more button{cursor:pointer}.landing-preparation__more button:hover{background:#3cb049}

/* Medidas y efectos contrastados con la landing de referencia. */
.landing-benefits>div{padding:20px;border-radius:10px;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}
.landing-benefits>div:hover{transform:scale(1.05);background:#fff;box-shadow:0 0 31px 6px rgba(203,203,203,.29)}
.landing-benefits svg{width:58px;height:58px;margin-bottom:20px}.landing-benefits p{font-size:1.15rem;font-weight:600}
.landing-image-cta h2{font-size:20px;padding:9px 12px}.landing-image-cta__visual{height:330px;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;padding:20px;box-sizing:border-box}
.landing-image-cta__visual::after{background:#000;opacity:.5;transition:opacity .3s ease}.landing-image-cta__visual:hover::after{opacity:.17}
.landing-image-cta__badge{position:absolute;top:20px;right:20px;max-width:220px;width:calc(100% - 40px);padding:8px;box-sizing:border-box;border-radius:100px;background:#ffffffc7;color:var(--color-primary);font-size:13px;font-weight:600;text-align:center}
.landing-image-cta__content{text-align:center}.landing-image-cta__content h3{color:#fff;font-size:26px;line-height:1.2;margin:0 0 26px;font-weight:600;text-shadow:0 1px 4px #0006}
.landing-image-cta button{padding:12px 10px!important;border-radius:10px;border:2px solid transparent!important;transform:none!important;background:#4cdb51!important;color:#fff!important;font-size:16px;font-weight:500}
.landing-image-cta button:hover{background:#3cb049!important;border-color:#fff!important}
.landing-preparation__more p{margin:0;font-size:1.65rem;line-height:1.4;font-weight:500}
.landing-mosaic img:hover{transform:none;box-shadow:none}
@media(max-width:700px){.landing-benefits>div{padding:15px 5px}.landing-benefits p{font-size:.72rem}.landing-benefits svg{width:40px;height:40px}.landing-image-cta__visual{height:330px}.landing-image-cta__content h3{font-size:24px}.landing-preparation__more p{font-size:1.45rem}}

@media(min-width:701px){.landing-layout::before,.landing-hero{height:600px}.landing-layout::before{background-position:center 44%}.landing-hero h1{top:130px}.landing-hero h2{bottom:130px}.landing-details{padding-top:30px}.landing-image-cta{margin-top:55px}.landing-widget{margin-top:35px}}
#boton-flotante-sendpulse{display:none}
.sp-popup-outer:has(.sp-form){overflow-y:auto!important;overflow-x:hidden!important;max-height:100dvh!important;padding-bottom:30px;box-sizing:border-box}
.sp-form .sp-button{background:#4cdb51!important;border-color:#fff!important;color:#fff!important}
@media(max-width:700px){#boton-flotante-sendpulse{display:block;position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:9999;width:90vw;max-width:400px;padding:14px 10px;background:#4cdb51;color:#fff;font-family:var(--font-body);font-size:16px;font-weight:600;border:0;border-radius:10px;box-shadow:0 4px 8px #0003;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s,background-color .3s}#boton-flotante-sendpulse.visible{opacity:1;visibility:visible;pointer-events:auto}#boton-flotante-sendpulse:hover{background:#3cb049}.campaign-footer{padding-bottom:100px}}

.landing-mosaic__empty::after{display:none!important}.landing-preparation__more{text-align:center;margin-top:40px}.landing-preparation__more p{font-size:1.65rem;font-weight:600;line-height:1.35;margin:0}.landing-image-cta__badge{max-width:280px}

.landing-mosaic__more{font-weight:600}.landing-mosaic__more::after{display:none!important}

.cookie-banner[hidden],.cookie-banner__settings[hidden]{display:none!important}
.cookie-banner{position:fixed;z-index:10020;bottom:20px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 40px));box-sizing:border-box;background:#fff;color:#243444;border:1px solid #d7e1eb;border-top:4px solid var(--color-primary);border-radius:14px;box-shadow:0 8px 40px #102f4b30;padding:22px 26px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 30px;align-items:center;font-family:var(--font-body)}
.cookie-banner h2{font-size:20px;line-height:1.3;color:var(--color-primary);margin:0 0 7px}.cookie-banner p{font-size:14px;line-height:1.55;margin:0}.cookie-banner a{color:var(--color-primary);text-decoration:underline}
.cookie-banner__actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-banner button{font:600 14px var(--font-body);min-height:44px;border-radius:8px;padding:10px 18px;border:1px solid var(--color-primary);background:#fff;color:var(--color-primary);cursor:pointer;box-shadow:none;text-shadow:none}.cookie-banner button[data-cookie-choice="accept"]{background:var(--color-primary);color:#fff}.cookie-banner button:hover{background:#edf3f8}.cookie-banner button[data-cookie-choice="accept"]:hover{background:#0c2d4d}.cookie-banner button:focus-visible,.cookie-banner input:focus-visible{outline:3px solid #4cdb51;outline-offset:3px}
.cookie-banner__settings{grid-column:1/-1;border-top:1px solid #e2e8ef;padding-top:14px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.cookie-banner__settings label{font-size:14px;display:flex;align-items:center;gap:9px}.cookie-banner input{width:20px;height:20px;accent-color:var(--color-primary)}
@media(max-width:700px){.cookie-banner{bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 24px);padding:18px;grid-template-columns:1fr;gap:14px;max-height:75dvh;overflow-y:auto}.cookie-banner h2{font-size:18px}.cookie-banner p{font-size:13px}.cookie-banner__actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.cookie-banner button{font-size:12px;padding:10px 7px}.cookie-banner__settings{align-items:flex-start;flex-direction:column}body.cookie-preview-open #boton-flotante-sendpulse{bottom:calc(var(--cookie-banner-height,230px) + 24px + env(safe-area-inset-bottom))}}

/* Pie móvil compacto; reservar espacio solo si el botón está visible. */
@media(max-width:700px){
 .landing-details{padding-bottom:10px}
 .campaign-legal{margin-top:24px;margin-bottom:20px}
 .campaign-footer{padding:24px 18px 20px}
 .campaign-footer img{width:190px;margin-bottom:18px;opacity:1;filter:none}
 .campaign-footer nav{gap:10px 18px;line-height:1.4}
 .campaign-footer p{margin-top:16px;margin-bottom:0}
 body.has-mobile-sticky .campaign-footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
 #boton-flotante-sendpulse{bottom:calc(12px + env(safe-area-inset-bottom))}
}

/* El kit reserva72px para su CTA; esta landing gestiona su propio botón. */
body{padding-bottom:0}

.landing-mobile-form .sp-form{background:var(--color-primary)!important}.landing-mobile-form .sp-button{background:var(--color-cta)!important}.landing-widget .sp-button{color:var(--color-cta-text)!important}
