/* Diseño exclusivo de la portada pública. */
.home-page{--home-ink:#102a43;--home-muted:#5d7185;--home-accent:#ffcc00;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:#f5f7fb}
html{scroll-behavior:smooth;scroll-padding-top:110px}
.home-page :is(a,button):focus-visible{outline:3px solid #009cc7;outline-offset:5px}
.home-scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:#ffcc00;z-index:1050;pointer-events:none}
.home-page .navbar-tm{    background: linear-gradient(90deg, var(--tm-blue-dark), var(--tm-bluee) 62%, var(--tm-red));
    box-shadow: 0 3px 18px rgba(9, 38, 79, .18);}
.home-page .navbar-brand img{width:105px!important}
.home-page .navbar .nav-link{font-size:.82rem;padding:10px 8px;border-radius:9px;transition:background .2s,color .2s}
.home-page .navbar .nav-link:hover,.home-page .navbar .nav-link.active{background:#ffffff12;color:#ffcc00!important}
.home-page .navbar .btn-tm{background:#ffcc00;color:#102a43;font-size:.82rem;box-shadow:none;font-weight:750;border-radius:10px}
.home-page .tm-slider{background:#0c2035;isolation:isolate}
.home-page .tm-slide{min-height:580px;background:linear-gradient(115deg,#0c2035,#143a57)!important}
.home-page .tm-slide.tm-slide-con-imagen{background-image:linear-gradient(90deg,rgba(5,18,31,.88),rgba(5,18,31,.5)),var(--portada-imagen)!important;background-size:cover!important;background-position:center!important}
.home-page .tm-slide.tm-slide-con-imagen:before{background:none}
.home-page .tm-slide:before{background:radial-gradient(ellipse at 80% 20%,#2f8ba62a,transparent 55%),linear-gradient(90deg,transparent 49.8%,#ffffff03 50%,transparent 50.2%);background-size:auto,90px 100%;pointer-events:none}
.home-page .tm-slide-content{max-width:60%;padding:35px 20px 65px 0!important}
.home-page .tm-slide-content .badge{font-size:.7rem;text-transform:uppercase;letter-spacing:1.7px;border-radius:6px;background:#ffffff12!important;color:#ffda49!important;border:1px solid #ffffff24;padding:10px 13px!important;margin-bottom:24px!important}
.home-page .tm-slide h1{font-size:clamp(2.3rem,4.2vw,4.2rem);line-height:1.08;letter-spacing:-2px;max-width:700px}
.home-page .tm-slide p{font-size:1.05rem;line-height:1.8;max-width:550px;color:#c2d4e2;margin-top:22px}
.home-page .tm-slide .btn{border-radius:10px;font-size:.95rem;padding:15px 22px;background:#ffcc00;border-color:#ffcc00;color:#132c43!important;box-shadow:0 8px 24px #0002}
.home-page .tm-slide .btn:hover{background:#ffe16b;transform:translateY(-2px)}
.home-page #tmHomeSlider>.carousel-control-prev,.home-page #tmHomeSlider>.carousel-control-next{width:4%;opacity:.65}
.home-page #tmHomeSlider>.carousel-indicators{justify-content:flex-start;margin-left:max(6%,calc((100vw - 1296px)/2));bottom:20px}
.home-page #tmHomeSlider>.carousel-indicators button{height:4px;width:24px;transition:width .3s}
.home-page #tmHomeSlider>.carousel-indicators button.active{width:56px;background:#ffcc00}
.home-hero-art{position:absolute;right:8%;top:15%;width:32%;height:380px;display:grid;place-items:center;pointer-events:none}
.home-art-disc{width:210px;height:210px;border-radius:50%;background:linear-gradient(145deg,#2b5772,#122d43);border:1px solid #ffffff28;box-shadow:0 28px 70px #0004,inset 0 0 35px #ffffff08;display:grid;place-items:center;transform:rotate(-9deg);position:relative}
.home-art-disc i{font-size:100px;color:#ffcc00;text-shadow:0 8px 25px #0003}
.home-orbit{position:absolute;border:1px solid #91bdcb35;width:320px;height:320px;border-radius:50%;transform:rotate(-25deg)}
.home-orbit:after{content:'';position:absolute;top:35px;left:40px;width:13px;height:13px;border-radius:50%;background:#ffcc00;box-shadow:0 0 30px #ffcc0060}
.orbit-two{width:380px;height:380px;border-style:dashed;border-color:#91bdcb20;transform:rotate(65deg)}
.home-art-label{position:absolute;bottom:28px;right:12px;background:#ffffff10;backdrop-filter:blur(12px);padding:15px 25px;color:#edf6fb;border:1px solid #ffffff25;border-radius:12px;font-size:.65rem;font-weight:700;letter-spacing:2px;transform:rotate(-5deg)}
.home-road{position:absolute;bottom:7px;left:6px;display:flex;gap:18px;transform:rotate(-25deg)}
.home-road span{width:35px;height:5px;background:#ffcc0080}
.has-promotions .home-hero-art{opacity:.15}
.home-page .tm-publicidad-slot{right:max(40px,calc((100vw - 1296px)/2));width:min(380px,31vw)}
.home-page .tm-publicidad-card{border-radius:22px;box-shadow:0 25px 65px #0003;border:1px solid #ffffff70}
.home-shortcuts{position:relative;z-index:2;margin-top:-1px;padding-top:0}
.home-shortcuts-inner{background:white;border:1px solid #e4ebf1;border-top:4px solid #ffcc00;box-shadow:0 12px 35px #0c20350b;border-radius:0 0 18px 18px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;padding:20px 25px;gap:18px;align-items:center}
.home-eyebrow{display:block;font-size:.63rem;letter-spacing:1.6px;font-weight:800;color:#687d90;margin-bottom:7px}
.home-shortcuts-intro strong{font-size:1.05rem;color:#102a43}
.home-shortcuts a{display:flex;gap:12px;align-items:center;text-decoration:none;color:#15344e;font-size:.85rem;font-weight:650;padding:15px 12px;border-left:1px solid #e4ebf1;transition:background .2s}
.home-shortcuts a:hover{background:#f2f6fa;border-radius:10px}.home-shortcuts a>i:first-child{font-size:1.35rem;color:#b11830}.home-shortcuts a>i:last-child{margin-left:auto;color:#8193a4}
.home-page section{padding-top:85px!important;padding-bottom:85px!important;scroll-margin-top:15px}
.home-page .section-title{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-1.1px;color:#102a43}
.home-page .section-subtitle{font-size:1rem;line-height:1.7;color:#65788b;margin-top:15px}
.home-page section .category-pill{font-size:.66rem;letter-spacing:1.4px;text-transform:uppercase;background:#edf2f7!important;color:#38536e!important;border-radius:6px;padding:8px 13px}
.home-page #servicios{background:#f5f7fb!important}.home-page #cursos,.home-page #libros{background:#edf2f7!important}
.home-page :is(.service-card,.curso-card,.tramite-card){border:1px solid #e0e8ef!important;border-radius:18px!important;box-shadow:0 5px 20px #102a4305!important;transition:transform .25s,box-shadow .25s,border-color .25s}
.home-page :is(.service-card,.curso-card,.tramite-card):hover,.home-page :is(.service-card,.curso-card,.tramite-card):focus-within{transform:translateY(-7px);box-shadow:0 18px 35px #102a4312!important;border-color:#a9bdcc!important}
.home-page .service-card{text-align:left!important;padding:30px!important}.home-page .service-card:before{background:#ffcc00;width:45px;height:4px;left:30px;top:auto;bottom:0}
.home-page .service-card-icon{margin-left:0!important;margin-right:0!important;border-radius:15px!important;display:grid!important;place-items:center;width:58px;height:58px;padding:0!important;font-size:1.5rem!important}
.home-page .service-card h3{font-size:1.15rem;margin-top:24px}.home-page .service-card p{font-size:.88rem;line-height:1.8;min-height:76px}.home-page .service-btn{border:0;padding-left:0;background:transparent;color:#173e62!important}
.home-page .curso-card{padding:24px!important}.home-page .curso-card img{border-radius:12px!important;transition:filter .3s}.home-page .curso-card:hover img{filter:saturate(1.15)}
.home-page .curso-card h3,.home-page .tramite-card h4{color:#133650;line-height:1.4}.home-page .curso-card p,.home-page .tramite-card p{line-height:1.8}
.home-page .btn{transition:transform .2s,background .2s,box-shadow .2s}.home-page section .btn{border-radius:9px;padding:10px 16px;font-size:.8rem;font-weight:650}.home-page .btn:hover i.bi-arrow-right{display:inline-block;transform:translateX(3px)}
.home-page .contact-card{border-radius:20px;box-shadow:none}.home-page .footer-tm{background:#0c2035!important;border-top:4px solid #ffcc00}
.home-back-top{position:fixed;bottom:25px;left:22px;z-index:1000;width:44px;height:44px;display:grid;place-items:center;background:#102a43;color:white;border:1px solid #ffffff30;border-radius:12px;box-shadow:0 5px 20px #102a4320;opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s;text-decoration:none}.home-back-top.is-visible{opacity:1;visibility:visible;transform:none}.home-back-top:hover{background:#214c6f;color:white}
.home-page .social-float{z-index:1030}.home-page .social-float a{box-shadow:0 6px 18px #102a4320}
.home-reveal{opacity:1;transform:none}.home-reveal.is-pending{opacity:0;transform:translateY(20px)}.home-reveal{transition:opacity .6s,transform .6s}
@media(min-width:992px){.home-page .carousel-item.active .home-art-disc{animation:home-float 6s ease-in-out infinite}@keyframes home-float{50%{transform:translateY(-12px) rotate(-4deg)}}}
@media(max-width:1199px){.home-page .navbar .nav-link{font-size:.73rem;padding:9px 5px}.home-page .navbar-nav{gap:0!important}.home-page .tm-slide-content{max-width:62%}.home-hero-art{right:3%;transform:scale(.85)}.home-shortcuts-inner{gap:5px;padding:20px 15px}.home-shortcuts a{font-size:.78rem}}
@media(max-width:991px){.home-page .navbar .nav-link{font-size:.95rem;padding:12px}.home-page .navbar-nav{padding:18px 0;align-items:stretch}.home-page .tm-slide{min-height:510px}.home-page .tm-slide-content{max-width:75%;padding:10px 0 50px!important}.home-hero-art{right:-9%;opacity:.3;transform:scale(.7)}.home-page .tm-slide h1{font-size:2.9rem}.home-shortcuts-inner{grid-template-columns:1fr 1fr}.home-shortcuts-intro{padding:12px}.home-shortcuts a{font-size:.85rem}.home-page .has-promotions .tm-slide-content{max-width:100%}.home-page .has-promotions .tm-slide{min-height:470px}.home-page .tm-publicidad-slot{position:relative;top:auto;right:auto;left:auto;bottom:auto;transform:none;width:auto;margin:0 24px;padding-bottom:30px}.home-page .tm-publicidad-card{min-height:0}.home-page section{padding-top:60px!important;padding-bottom:60px!important}}
@media(max-width:575px){.home-page .tm-slide{min-height:520px}.home-page .tm-slide>.container{padding:35px 27px!important}.home-page .tm-slide-content{max-width:100%;padding:5px 0 40px!important}.home-page .tm-slide h1{font-size:2.65rem;letter-spacing:-1.3px}.home-page .tm-slide p{font-size:.95rem;line-height:1.7}.home-hero-art{opacity:.1;right:-45%;top:10%}.home-page .tm-slide-content .badge{font-size:.58rem;letter-spacing:1px}.home-page .tm-slide .btn{font-size:.85rem;padding:14px 17px}.home-shortcuts-inner{grid-template-columns:1fr;padding:18px;border-radius:0 0 16px 16px;gap:0}.home-shortcuts a{border-left:0;border-top:1px solid #edf2f7;padding:16px 10px}.home-shortcuts-intro{padding:6px 10px 18px}.home-page .service-card p{min-height:0}.home-page section{padding-top:50px!important;padding-bottom:50px!important}.home-page .social-float a{width:38px;height:38px}.home-page .social-float .whatsapp{width:46px;height:46px}.home-back-top{bottom:18px;left:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-page *, .home-page *:before,.home-page *:after{animation:none!important;transition:none!important}.home-reveal.is-pending{opacity:1;transform:none}}


/* El contenido permanece visible durante toda la navegación. */
.home-page .home-reveal.is-pending{opacity:1;transform:none}
