:root{--navy:#05285e;--blue:#0b4d8f;--yellow:#feb60b;--gold:#dfa400;--text:#24364a;--soft:#f3f7fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.site{min-width:320px;margin:0;color:var(--text);background:#fff;font-family:Arial,"Segoe UI",sans-serif;line-height:1.6}.clsf-shell{width:min(1420px,calc(100% - 36px));margin-inline:auto}.clsf-skip{position:fixed;top:8px;left:8px;z-index:9999;padding:8px 12px;color:#fff;background:#000;transform:translateY(-150%)}.clsf-skip:focus{transform:none}
/* MENÚ BLANCO TRANSLÚCIDO APROBADO */
.clsf-header{position:sticky;top:0;z-index:2000;color:var(--navy);background:rgba(255,255,255,.88);border-bottom:1px solid rgba(5,40,94,.14);box-shadow:0 8px 24px rgba(5,40,94,.11);-webkit-backdrop-filter:blur(15px) saturate(135%);backdrop-filter:blur(15px) saturate(135%)}.clsf-header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}.clsf-brand{display:flex;align-items:center;gap:12px;min-width:330px;color:var(--navy);text-decoration:none}.clsf-brand img{width:auto;max-width:165px;max-height:68px;object-fit:contain}.clsf-brand-copy{display:grid}.clsf-brand strong{font-size:clamp(1rem,1.45vw,1.3rem);line-height:1.2}.clsf-brand small{color:rgba(5,40,94,.68);font-size:.76rem}.clsf-menu-toggle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.clsf-menu-button{display:none}.clsf-nav{display:flex;flex:1 1 auto;min-width:0;justify-content:flex-end}.clsf-menu-list,.clsf-submenu{margin:0;padding:0;list-style:none}.clsf-menu-list{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:3px}.clsf-menu-item{position:relative;flex:0 0 auto}.clsf-menu-item>a,.clsf-menu-heading{display:flex;align-items:center;gap:5px;min-height:43px;padding:9px 11px;color:var(--navy);background:transparent;border:1px solid transparent;border-radius:8px;font-size:clamp(.78rem,.85vw,.9rem);font-weight:750;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .2s ease,background .2s ease}.clsf-menu-item>a:hover,.clsf-menu-heading:hover{color:var(--navy);background:rgba(5,40,94,.07)}.clsf-menu-item.current>a,.clsf-menu-item.current>.clsf-menu-heading{color:var(--navy);background:var(--yellow);border-color:var(--yellow);box-shadow:0 5px 14px rgba(223,164,0,.2)}.clsf-menu-item.active:not(.current)>a,.clsf-menu-item.active:not(.current)>.clsf-menu-heading{color:var(--navy);background:rgba(254,182,11,.18);border-color:rgba(223,164,0,.35)}.clsf-menu-caret{font-size:.72em}.clsf-submenu{position:absolute;top:calc(100% + 2px);left:0;z-index:40;display:none;min-width:235px;padding:8px;background:rgba(255,255,255,.97);border:1px solid rgba(5,40,94,.14);border-radius:10px;box-shadow:0 16px 35px rgba(5,40,94,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.clsf-menu-item:hover>.clsf-submenu,.clsf-menu-item:focus-within>.clsf-submenu{display:block}.clsf-submenu .clsf-menu-item>a,.clsf-submenu .clsf-menu-heading{width:100%;min-height:38px;padding:8px 10px;color:var(--navy);white-space:normal}.clsf-submenu .clsf-menu-item.current>a,.clsf-submenu .clsf-menu-item.current>.clsf-menu-heading,.clsf-submenu .clsf-menu-item>a:hover{color:var(--navy);background:var(--yellow);border-color:transparent}.clsf-mobile-social{display:none}
.clsf-component{width:100%;max-width:none;min-height:60vh;margin:0;padding:0}.clsf-component>.alert{width:min(1180px,calc(100% - 36px));margin:18px auto}.clsf-component-only .container-component{width:100%;margin:0;padding:0}
/* FOOTER GLOBAL RESPONSIVE APROBADO */
.clsf-footer-v2,.clsf-footer-v2 *{box-sizing:border-box}.clsf-footer-v2{--ft-navy:#031a3d;--ft-blue:#05285e;--ft-blue-light:#0a3b78;--ft-yellow:#dfa400;--ft-text:#dce6f0;--ft-muted:#aebed0;--ft-white:#fff;position:relative;width:100%;overflow:hidden;color:var(--ft-white);background:radial-gradient(circle at 92% 5%,rgba(255,255,255,.08),transparent 29%),linear-gradient(125deg,var(--ft-navy) 0%,var(--ft-blue) 46%,var(--ft-blue-light) 100%)}.clsf-footer-v2::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--ft-yellow),#f5cb42,var(--ft-yellow))}.clsf-footer-v2-main{width:min(1560px,calc(100% - 160px));margin-inline:auto;padding:54px 0 38px}.clsf-footer-v2-top{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.78fr) minmax(0,1.14fr);grid-template-areas:"brand links location";column-gap:48px;row-gap:36px;align-items:start}.clsf-footer-v2-brand{grid-area:brand}.clsf-footer-v2-links-wrap{grid-area:links}.clsf-footer-v2-location{grid-area:location}.clsf-footer-v2-brand h2{margin:0 0 9px;color:#fff;font-size:clamp(22px,2.4vw,30px);line-height:1.15;font-weight:900}.clsf-footer-v2-subtitle{display:block;margin-bottom:18px;color:var(--ft-yellow);font-size:12px;font-weight:850;letter-spacing:.5px}.clsf-footer-v2-description{max-width:430px;margin:0 0 16px;color:var(--ft-text);font-size:14px;line-height:1.72}.clsf-footer-v2-motto{margin:0;color:var(--ft-yellow);font-size:12px;font-weight:900;letter-spacing:.75px;text-transform:uppercase}.clsf-footer-v2 h3{position:relative;margin:0 0 20px;padding-bottom:10px;color:#fff;font-size:16px;font-weight:900}.clsf-footer-v2 h3::after{content:"";position:absolute;left:0;bottom:0;width:40px;height:3px;background:var(--ft-yellow);border-radius:20px}.clsf-footer-v2-links{display:grid;gap:10px;margin:0;padding:0;list-style:none}.clsf-footer-v2-links a{display:inline-flex;align-items:center;gap:8px;color:var(--ft-text)!important;text-decoration:none;font-size:13px;font-weight:700}.clsf-footer-v2-links a::before{content:"›";color:var(--ft-yellow);font-size:18px;font-weight:900}.clsf-footer-v2-links a:hover{color:#fff!important}.clsf-footer-v2-map{position:relative;display:block;height:170px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:#0a376a;text-decoration:none}.clsf-footer-v2-map img{display:block;width:100%;height:100%;object-fit:cover;opacity:.88}.clsf-footer-v2-map::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,26,61,.62))}.clsf-footer-v2-map-label{position:absolute;right:12px;bottom:11px;z-index:2;padding:5px 9px;color:var(--ft-navy);background:var(--ft-yellow);border-radius:7px;font-size:11px;font-weight:900}.clsf-footer-v2-place{margin:10px 0 0;color:var(--ft-muted);font-size:12px}.clsf-footer-v2-social{display:flex;align-items:center;gap:10px;margin-top:13px}.clsf-footer-v2-social-title{color:var(--ft-text);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.7px}.clsf-footer-v2-social-links{display:flex;gap:8px}.clsf-footer-v2-social-links a{display:grid;width:36px;height:36px;color:var(--ft-navy)!important;background:var(--ft-yellow);border-radius:50%;place-items:center;transition:transform .2s ease,background .2s ease}.clsf-footer-v2-social-links a:hover{background:#fff;transform:translateY(-2px)}.clsf-footer-v2-social-links svg,.clsf-mobile-social-links svg{width:18px;height:18px;fill:currentColor}.clsf-footer-v2-contact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:35px;padding-top:30px;border-top:1px solid rgba(255,255,255,.14)}.clsf-footer-v2-contact-card{display:flex;align-items:center;gap:12px;min-width:0;min-height:92px;padding:14px;color:inherit!important;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);border-radius:14px;text-decoration:none}.clsf-footer-v2-contact-card:hover{background:rgba(255,255,255,.09)}.clsf-footer-v2-contact-icon{display:grid;width:46px;height:46px;flex:0 0 46px;color:var(--ft-yellow);background:rgba(223,164,0,.10);border:1px solid rgba(223,164,0,.3);border-radius:14px;place-items:center}.clsf-footer-v2-contact-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.clsf-footer-v2-contact-copy{min-width:0}.clsf-footer-v2-contact-copy strong{display:block;margin-bottom:4px;color:var(--ft-white);font-size:12px;font-weight:900}.clsf-footer-v2-contact-copy span{display:block;color:var(--ft-text);font-size:12.5px;line-height:1.45;overflow-wrap:anywhere}.clsf-footer-v2-bottom{padding:17px max(22px,calc((100% - 1320px)/2));background:rgba(0,0,0,.22);border-top:1px solid rgba(255,255,255,.12)}.clsf-footer-v2-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1320px;margin:0 auto;color:var(--ft-muted);font-size:11px;line-height:1.5}.clsf-footer-v2-powered{color:var(--ft-yellow);font-weight:850}.clsf-back-top{position:fixed;right:18px;bottom:18px;z-index:1200;display:grid;width:38px;height:38px;color:var(--navy)!important;background:var(--yellow);border:1px solid rgba(5,40,94,.18);border-radius:50%;box-shadow:0 8px 22px rgba(5,40,94,.2);place-items:center;text-decoration:none;font-weight:900}
/* OFFLINE / MANTENIMIENTO */
.clsf-offline{display:grid;min-height:100vh;padding:24px;background:linear-gradient(135deg,#eef5fb,#fff);place-items:center}.clsf-offline section{width:min(520px,100%);padding:35px;background:#fff;border-top:6px solid var(--yellow);border-radius:15px;box-shadow:0 22px 55px rgba(5,40,94,.16)}.clsf-offline-brand{display:flex;align-items:center;gap:13px;margin-bottom:22px}.clsf-offline-brand img{width:70px;height:70px;object-fit:contain}.clsf-offline-brand div{display:grid}.clsf-offline-brand strong{color:var(--navy);font-size:18px}.clsf-offline-brand span{color:#66798c;font-size:12px}.clsf-offline-kicker{color:var(--gold);font-size:11px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}.clsf-offline h1{margin:5px 0 10px;color:var(--navy);font-size:clamp(28px,5vw,42px)}.clsf-offline p{margin:0 0 24px;color:#627387}.clsf-offline form{display:grid;gap:14px}.clsf-offline label{display:grid;gap:5px;color:var(--navy);font-size:13px;font-weight:800}.clsf-offline input{min-height:46px;padding:10px 12px;border:1px solid #bbcddd;border-radius:8px;font:inherit}.clsf-offline input:focus{outline:3px solid rgba(254,182,11,.25);border-color:var(--gold)}.clsf-offline button{min-height:46px;color:var(--navy);background:var(--yellow);border:0;border-radius:8px;font-weight:900;cursor:pointer}.clsf-offline button:hover{background:#f2c33f}
.clsf-error-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--soft)}.clsf-error-card{width:min(680px,100%);padding:42px;text-align:center;background:#fff;border-top:8px solid var(--yellow);border-radius:18px}.clsf-button{display:inline-flex;padding:11px 18px;color:var(--navy);background:var(--yellow);border-radius:8px;text-decoration:none;font-weight:900}
@media(max-width:1040px){.clsf-header-inner{min-height:78px;padding:8px 0}.clsf-brand{min-width:0;max-width:calc(100% - 64px)}.clsf-brand img{max-height:58px}.clsf-brand strong{font-size:.98rem}.clsf-brand small{display:none}.clsf-menu-button{display:grid;width:48px;height:46px;flex:0 0 48px;padding:10px 9px;color:var(--navy);background:rgba(255,255,255,.74);border:1px solid rgba(5,40,94,.28);border-radius:9px;box-shadow:0 5px 15px rgba(5,40,94,.10);cursor:pointer;place-content:center;gap:5px}.clsf-menu-button span{display:block;width:25px;height:2px;background:var(--navy);border-radius:99px;transition:transform .2s ease,opacity .2s ease}.clsf-menu-toggle:checked+.clsf-menu-button span:nth-child(1){transform:translateY(7px) rotate(45deg)}.clsf-menu-toggle:checked+.clsf-menu-button span:nth-child(2){opacity:0}.clsf-menu-toggle:checked+.clsf-menu-button span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.clsf-nav{position:absolute;top:100%;right:-18px;left:-18px;display:block;width:auto;max-height:0;overflow:hidden;visibility:hidden;opacity:0;background:rgba(255,255,255,.95);border-bottom:3px solid var(--yellow);box-shadow:0 18px 32px rgba(5,40,94,.20);-webkit-backdrop-filter:blur(17px) saturate(135%);backdrop-filter:blur(17px) saturate(135%);transition:max-height .28s ease,opacity .2s ease,visibility .2s ease}.clsf-menu-toggle:checked~.clsf-nav{max-height:calc(100vh - 78px);overflow-y:auto;visibility:visible;opacity:1}.clsf-menu-list{display:flex;width:min(100% - 24px,760px);margin:0 auto;padding:12px 0 16px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:3px}.clsf-menu-item{width:100%}.clsf-menu-item>a,.clsf-menu-heading{width:100%;min-height:44px;padding:10px 12px;justify-content:space-between;font-size:.92rem;white-space:normal}.clsf-submenu{position:static;display:block;min-width:0;margin:2px 0 6px 14px;padding:4px 0 4px 10px;background:rgba(5,40,94,.045);border:0;border-left:2px solid var(--yellow);border-radius:0;box-shadow:none}.clsf-submenu .clsf-menu-item>a,.clsf-submenu .clsf-menu-heading{min-height:38px;padding:8px 10px;color:rgba(5,40,94,.88);font-size:.86rem}.clsf-mobile-social{display:grid;width:min(100% - 24px,760px);margin:0 auto;padding:14px 0 20px;border-top:1px solid rgba(5,40,94,.12);place-items:center;gap:9px}.clsf-mobile-social-title{color:var(--navy);font-size:.75rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.clsf-mobile-social-links{display:flex;align-items:center;justify-content:center;gap:10px}.clsf-mobile-social-links a{display:grid;width:39px;height:39px;color:var(--navy);background:rgba(5,40,94,.06);border:1px solid rgba(5,40,94,.14);border-radius:50%;place-items:center;text-decoration:none}.clsf-footer-v2-top{grid-template-columns:1fr 1fr;grid-template-areas:"brand brand" "links location"}.clsf-footer-v2-contact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.clsf-footer-v2-main{width:min(100% - 28px,620px);padding-top:45px}.clsf-footer-v2-top{grid-template-columns:1fr;grid-template-areas:"brand" "links" "location";gap:34px;text-align:center}.clsf-footer-v2-description{margin-right:auto;margin-left:auto}.clsf-footer-v2 h3::after{left:50%;transform:translateX(-50%)}.clsf-footer-v2-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 16px}.clsf-footer-v2-links a{justify-content:center}.clsf-footer-v2-map{max-width:430px;height:180px;margin:0 auto}.clsf-footer-v2-social{justify-content:center}.clsf-footer-v2-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:30px;padding-top:26px}.clsf-footer-v2-contact-card{min-height:102px;padding:13px 11px;gap:10px;text-align:left}.clsf-footer-v2-contact-icon{width:44px;height:44px;flex-basis:44px;border-radius:13px}.clsf-footer-v2-contact-copy strong{font-size:11px}.clsf-footer-v2-contact-copy span{font-size:11.5px}.clsf-footer-v2-bottom-inner{flex-direction:column;gap:5px;text-align:center}.clsf-back-top{right:12px;bottom:12px;width:33px;height:33px;font-size:13px}}
@media(max-width:600px){.clsf-shell{width:calc(100% - 24px)}.clsf-brand-copy strong{display:block;max-width:255px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:420px){.clsf-footer-v2-links{grid-template-columns:1fr}.clsf-footer-v2-contact{grid-template-columns:1fr}.clsf-footer-v2-contact-card{width:min(100%,350px);min-height:78px;margin:0 auto;padding:13px 15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* =========================================================
   CLSF 1.0.21 — AJUSTES FINALES APROBADOS
   Mantiene la base restaurada 1.0.20.
========================================================= */
@media(min-width:1041px){
  .clsf-header{background:rgba(255,255,255,.68);border-bottom-color:rgba(5,40,94,.10);box-shadow:0 7px 22px rgba(5,40,94,.09);-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%)}
  .clsf-header-inner{align-items:stretch}
  .clsf-brand{align-self:center}
  .clsf-nav,.clsf-menu-list{align-items:stretch}
  .clsf-menu-list>.clsf-menu-item{display:flex;align-items:stretch}
  .clsf-menu-list>.clsf-menu-item>a,.clsf-menu-list>.clsf-menu-item>.clsf-menu-heading{height:100%;min-height:88px;padding:0 13px;border:0;border-radius:0;justify-content:center}
  .clsf-menu-list>.clsf-menu-item>a:hover,.clsf-menu-list>.clsf-menu-item>.clsf-menu-heading:hover{color:var(--navy);background:var(--yellow)}
  .clsf-menu-list>.clsf-menu-item.current>a,.clsf-menu-list>.clsf-menu-item.current>.clsf-menu-heading,.clsf-menu-list>.clsf-menu-item.active>a,.clsf-menu-list>.clsf-menu-item.active>.clsf-menu-heading{color:var(--navy);background:var(--yellow);border-color:transparent;box-shadow:none}
  .clsf-submenu{top:100%;background:rgba(255,255,255,.96)}
  .clsf-submenu .clsf-menu-item>a,.clsf-submenu .clsf-menu-heading{height:auto;min-height:38px;padding:8px 10px;border-radius:7px;justify-content:flex-start}
}
.clsf-back-top{right:20px;bottom:91px;width:36px;height:36px;color:#fff!important;background:rgba(0,0,0,.58);border:1px solid rgba(255,255,255,.52);box-shadow:0 8px 22px rgba(0,0,0,.24);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.clsf-back-top:hover{color:#fff!important;background:rgba(0,0,0,.78)}
.clsf-whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:1250;display:grid;width:58px;height:58px;color:#fff!important;background:#25d366;border:2px solid rgba(255,255,255,.94);border-radius:50%;box-shadow:0 10px 28px rgba(0,0,0,.28);place-items:center;text-decoration:none;isolation:isolate}
.clsf-whatsapp-float::before,.clsf-whatsapp-float::after{content:"";position:absolute;inset:-5px;z-index:-1;border:2px solid rgba(37,211,102,.62);border-radius:50%;animation:clsf-wa-pulse 2s ease-out infinite}
.clsf-whatsapp-float::after{animation-delay:1s}
.clsf-whatsapp-float svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.clsf-whatsapp-float:hover{color:#fff!important;background:#1fbd5a;transform:translateY(-2px)}
@keyframes clsf-wa-pulse{0%{transform:scale(.86);opacity:.82}75%,100%{transform:scale(1.42);opacity:0}}
@media(max-width:680px){.clsf-back-top{right:14px;bottom:83px;width:33px;height:33px;font-size:13px}.clsf-whatsapp-float{right:12px;bottom:14px;width:55px;height:55px}.clsf-whatsapp-float svg{width:29px;height:29px}}
@media(prefers-reduced-motion:reduce){.clsf-whatsapp-float::before,.clsf-whatsapp-float::after{animation:none!important}.clsf-whatsapp-float:hover{transform:none}}

/* =========================================================
   CLSF 1.0.22 — CAPA DE COMPATIBILIDAD DE PÁGINAS
   Se carga desde la plantilla para no modificar com_clsfsite.
========================================================= */

/* ---- site.css ---- */
.clsf-page{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:48px 0 70px}.clsf-page-hero{padding:50px;color:#fff;background:linear-gradient(135deg,#05285e,#0b4d8f);border-radius:18px}.clsf-page-hero h1{font-size:clamp(2rem,5vw,4rem)}.clsf-panel{margin-top:25px;padding:30px;background:#fff;border-radius:16px}
/* =========================================================
   HOME CLSF 2027
   HTML + CSS, SIN JAVASCRIPT
   No modifica el header ni el menú de la plantilla.
========================================================= */

#clsf-home-2027,
#clsf-home-2027 * {
    box-sizing: border-box;
}

#clsf-home-2027 {
    --clsf-navy: #05285e;
    --clsf-blue: #0b4d8f;
    --clsf-sky: #1687ca;
    --clsf-yellow: #feb60b;
    --clsf-gold: #dfa400;
    --clsf-text: #26384c;
    --clsf-muted: #68788a;
    --clsf-white: #ffffff;
    --clsf-light: #f4f8fc;

    width: 100%;
    overflow-x: hidden;
    color: var(--clsf-text);
    background: var(--clsf-white);
    font-family: inherit;
}

#clsf-home-2027 img {
    display: block;
    max-width: 100%;
}

#clsf-home-2027 a {
    text-decoration: none;
}

#clsf-home-2027 a,
#clsf-home-2027 label,
#clsf-home-2027 video {
    -webkit-tap-highlight-color: transparent;
}

#clsf-home-2027 a:focus-visible,
#clsf-home-2027 label:focus-visible,
#clsf-home-2027 video:focus-visible {
    outline: 3px solid rgba(254, 182, 11, 0.85);
    outline-offset: 4px;
}


/* =========================================================
   HERO Y SLIDER MANUAL
========================================================= */

#clsf-home-2027 .clsf-hero-area {
    position: relative;
    margin-bottom: 68px;
}

#clsf-home-2027 .clsf-slider {
    position: relative;
    width: 100%;
    min-height: 600px;
    overflow: hidden;
    background: var(--clsf-navy);
}

#clsf-home-2027 .clsf-slider-radio {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

#clsf-home-2027 .clsf-slides {
    position: relative;
    min-height: 600px;
}

#clsf-home-2027 .clsf-slide {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.6s ease,
        visibility 0.6s ease;
}

#clsf-slide-1:checked ~ .clsf-slides .clsf-slide-1,
#clsf-slide-2:checked ~ .clsf-slides .clsf-slide-2 {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

#clsf-home-2027 .clsf-slide-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#clsf-home-2027 .clsf-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        90deg,
        rgba(5, 40, 94, 0.97) 0%,
        rgba(5, 40, 94, 0.90) 37%,
        rgba(5, 40, 94, 0.58) 67%,
        rgba(5, 40, 94, 0.17) 100%
    );
}

#clsf-home-2027 .clsf-slide-inner {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 80px 62px 150px;
}

#clsf-home-2027 .clsf-slide-copy {
    max-width: 740px;
}

#clsf-home-2027 .clsf-slide-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 20px;
    padding: 9px 16px;
    color: var(--clsf-white);
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
}

#clsf-home-2027 .clsf-slide-label::before {
    content: "";
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    background: var(--clsf-yellow);
    border-radius: 50%;
}

#clsf-home-2027 .clsf-slide-title {
    max-width: 790px;
    margin: 0 0 21px;
    color: var(--clsf-white);
    font-size: clamp(42px, 6vw, 72px);
    font-weight: 900;
    line-height: 1.02;
    letter-spacing: -2px;
    text-shadow: 0 5px 20px rgba(0, 20, 55, 0.40);
}

#clsf-home-2027 .clsf-slide-title span {
    display: block;
    color: var(--clsf-yellow);
}

#clsf-home-2027 .clsf-slide-description {
    max-width: 690px;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, 0.96);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.65;
    text-shadow: 0 3px 12px rgba(0, 20, 55, 0.35);
}

#clsf-home-2027 .clsf-hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 51px;
    padding: 13px 23px;
    color: var(--clsf-navy) !important;
    background: var(--clsf-yellow);
    border: 2px solid var(--clsf-yellow);
    border-radius: 9px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.20);
    font-size: 14px;
    font-weight: 850;
    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

#clsf-home-2027 .clsf-hero-button:hover {
    color: var(--clsf-navy) !important;
    background: var(--clsf-white);
    border-color: var(--clsf-white);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.27);
    transform: translateY(-3px);
}

#clsf-home-2027 .clsf-hero-button span {
    font-size: 21px;
    line-height: 1;
}

#clsf-home-2027 .clsf-slider::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 8;
    height: 7px;
    background: linear-gradient(
        90deg,
        var(--clsf-yellow) 0%,
        var(--clsf-yellow) 68%,
        var(--clsf-white) 100%
    );
}


/* Controles */

#clsf-home-2027 .clsf-slider-controls {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: none;
    align-items: center;
    justify-content: space-between;
    padding: 0 22px;
    pointer-events: none;
}

#clsf-slide-1:checked ~ .clsf-controls-1,
#clsf-slide-2:checked ~ .clsf-controls-2 {
    display: flex;
}

#clsf-home-2027 .clsf-slider-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 47px;
    height: 47px;
    color: var(--clsf-white);
    background: rgba(5, 40, 94, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        transform 0.25s ease;
}

#clsf-home-2027 .clsf-slider-arrow:hover {
    color: var(--clsf-navy);
    background: var(--clsf-yellow);
    transform: scale(1.07);
}

#clsf-home-2027 .clsf-slider-arrow svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.3;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Indicadores */

#clsf-home-2027 .clsf-slider-dots {
    position: absolute;
    right: 0;
    bottom: 118px;
    left: 0;
    z-index: 12;
    display: flex;
    justify-content: center;
    gap: 9px;
}

#clsf-home-2027 .clsf-slider-dot {
    width: 11px;
    height: 11px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.64);
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 999px;
    cursor: pointer;
    text-indent: -9999px;
    transition:
        width 0.25s ease,
        background-color 0.25s ease;
}

#clsf-slide-1:checked ~ .clsf-slider-dots label[for="clsf-slide-1"],
#clsf-slide-2:checked ~ .clsf-slider-dots label[for="clsf-slide-2"] {
    width: 31px;
    background: var(--clsf-yellow);
    border-color: var(--clsf-yellow);
}


/* =========================================================
   ACCESOS INSTITUCIONALES
========================================================= */

#clsf-home-2027 .clsf-access-wrapper {
    position: absolute;
    right: 20px;
    bottom: -62px;
    left: 20px;
    z-index: 20;
    width: calc(100% - 40px);
    max-width: 1120px;
    margin: 0 auto;
    padding: 13px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(5, 40, 94, 0.10);
    border-radius: 18px;
    box-shadow: 0 20px 48px rgba(5, 40, 94, 0.20);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

#clsf-home-2027 .clsf-access-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
}

#clsf-home-2027 .clsf-access-card {
    --access-color: var(--clsf-blue);

    position: relative;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) 32px;
    align-items: center;
    gap: 13px;
    min-height: 88px;
    padding: 12px 14px;
    overflow: hidden;
    color: var(--clsf-navy) !important;
    background: #f8fafd;
    border: 1px solid #e3eaf2;
    border-radius: 13px;
    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

#clsf-home-2027 .clsf-access-card::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    background: var(--access-color);
    transition: width 0.25s ease;
}

#clsf-home-2027 .clsf-access-card:hover {
    color: var(--clsf-navy) !important;
    background: var(--clsf-white);
    border-color: rgba(5, 40, 94, 0.18);
    box-shadow: 0 12px 25px rgba(5, 40, 94, 0.14);
    transform: translateY(-4px);
}

#clsf-home-2027 .clsf-access-card:hover::before {
    width: 7px;
}

#clsf-home-2027 .clsf-access-platform {
    --access-color: #f19b24;
}

#clsf-home-2027 .clsf-access-office {
    --access-color: #1675d1;
}

#clsf-home-2027 .clsf-access-admission {
    --access-color: #e4a400;
}

#clsf-home-2027 .clsf-access-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    padding: 6px;
    background: var(--clsf-white);
    border: 1px solid rgba(5, 40, 94, 0.09);
    border-radius: 14px;
    box-shadow: 0 7px 16px rgba(5, 40, 94, 0.11);
}

#clsf-home-2027 .clsf-access-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#clsf-home-2027 .clsf-access-copy {
    min-width: 0;
}

#clsf-home-2027 .clsf-access-copy strong {
    display: block;
    margin-bottom: 4px;
    color: var(--clsf-navy);
    font-size: 15px;
    font-weight: 850;
    line-height: 1.25;
}

#clsf-home-2027 .clsf-access-copy span {
    display: block;
    color: #6c7a8a;
    font-size: 12px;
    line-height: 1.4;
}

#clsf-home-2027 .clsf-access-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: var(--clsf-navy);
    background: var(--clsf-white);
    border: 1px solid #dfe7ef;
    border-radius: 50%;
    font-size: 19px;
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        transform 0.25s ease;
}

#clsf-home-2027 .clsf-access-card:hover .clsf-access-arrow {
    color: var(--clsf-white);
    background: var(--access-color);
    border-color: transparent;
    transform: translateX(3px);
}


/* =========================================================
   PRESENTACIÓN
========================================================= */

#clsf-home-2027 .clsf-presentation {
    max-width: 940px;
    margin: 0 auto;
    padding: 54px 22px 46px;
    text-align: center;
}

#clsf-home-2027 .clsf-section-label {
    display: inline-block;
    margin-bottom: 11px;
    color: var(--clsf-sky);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

#clsf-home-2027 .clsf-presentation h2,
#clsf-home-2027 .clsf-section-heading h2,
#clsf-home-2027 .clsf-why-video-heading h2 {
    margin: 0 0 15px;
    color: var(--clsf-navy);
    font-size: clamp(30px, 4vw, 44px);
    font-weight: 900;
    line-height: 1.15;
}

#clsf-home-2027 .clsf-presentation h2 span,
#clsf-home-2027 .clsf-why-video-heading h2 span {
    color: var(--clsf-gold);
}

#clsf-home-2027 .clsf-presentation p,
#clsf-home-2027 .clsf-section-heading p,
#clsf-home-2027 .clsf-why-video-heading p {
    max-width: 790px;
    margin: 0 auto;
    color: var(--clsf-muted);
    font-size: 16px;
    line-height: 1.75;
}


/* =========================================================
   OFERTA ACADÉMICA
========================================================= */

#clsf-home-2027 .clsf-academic {
    position: relative;
    padding: 62px 22px 70px;
    overflow: hidden;
    background: linear-gradient(
        180deg,
        #f5f9ff 0%,
        #edf5fc 55%,
        #f9fbfd 100%
    );
}

#clsf-home-2027 .clsf-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1480px;
    margin: 0 auto;
}

#clsf-home-2027 .clsf-section-heading {
    margin-bottom: 34px;
    text-align: center;
}

#clsf-home-2027 .clsf-academic-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
}

#clsf-home-2027 .clsf-level-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 355px;
    overflow: hidden;
    color: var(--clsf-text) !important;
    background: var(--clsf-white);
    border: 1px solid rgba(5, 40, 94, 0.10);
    border-radius: 17px;
    box-shadow: 0 14px 34px rgba(5, 40, 94, 0.11);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

#clsf-home-2027 .clsf-level-card:hover {
    color: var(--clsf-text) !important;
    border-color: rgba(22, 135, 202, 0.30);
    box-shadow: 0 21px 42px rgba(5, 40, 94, 0.17);
    transform: translateY(-7px);
}

#clsf-home-2027 .clsf-level-image {
    position: relative;
    height: 210px;
    overflow: hidden;
    background: #dce9f5;
}

#clsf-home-2027 .clsf-level-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 55%,
        rgba(5, 40, 94, 0.28) 100%
    );
}

#clsf-home-2027 .clsf-level-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

#clsf-home-2027 .clsf-level-card:hover .clsf-level-image img {
    transform: scale(1.07);
}

#clsf-home-2027 .clsf-level-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 22px 20px 20px;
}

#clsf-home-2027 .clsf-level-content h3 {
    margin: 0 0 7px;
    color: var(--clsf-navy);
    font-size: 20px;
    font-weight: 900;
    line-height: 1.25;
}

#clsf-home-2027 .clsf-level-content p {
    margin: 0 0 19px;
    color: var(--clsf-muted);
    font-size: 13px;
    line-height: 1.55;
}

#clsf-home-2027 .clsf-level-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: auto -20px -20px;
    padding: 15px 20px 17px;
    color: var(--clsf-yellow);
    background: linear-gradient(
        135deg,
        #0b4d8f 0%,
        #07366f 100%
    );
    border-top: 3px solid var(--clsf-yellow);
    font-size: 12.5px;
    font-weight: 900;
    line-height: 1.4;
    transition: background 0.25s ease;
}

#clsf-home-2027 .clsf-level-arrow {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    background: var(--clsf-yellow);
    border: 1px solid var(--clsf-yellow);
    border-radius: 50%;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

#clsf-home-2027 .clsf-level-arrow::before {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--clsf-navy);
    border-right: 2px solid var(--clsf-navy);
    transform: translateX(-2px) rotate(45deg);
}

#clsf-home-2027 .clsf-level-card:hover .clsf-level-arrow {
    background: var(--clsf-white);
    border-color: var(--clsf-white);
    transform: translateX(4px);
}


/* =========================================================
   VIDEO Y RAZONES
========================================================= */

#clsf-home-2027 .clsf-why-video-section {
    position: relative;
    padding: 66px 22px 76px;
    overflow: hidden;
    background: linear-gradient(
        180deg,
        #ffffff 0%,
        #f3f8fc 100%
    );
}

#clsf-home-2027 .clsf-why-video-section::before,
#clsf-home-2027 .clsf-why-video-section::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

#clsf-home-2027 .clsf-why-video-section::before {
    top: -185px;
    right: -175px;
    width: 420px;
    height: 420px;
    background: rgba(22, 135, 202, 0.08);
}

#clsf-home-2027 .clsf-why-video-section::after {
    bottom: -220px;
    left: -190px;
    width: 410px;
    height: 410px;
    background: rgba(254, 182, 11, 0.07);
}

#clsf-home-2027 .clsf-why-video-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

#clsf-home-2027 .clsf-why-video-heading {
    max-width: 800px;
    margin: 0 auto 30px;
    text-align: center;
}

#clsf-home-2027 .clsf-why-video-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
    color: var(--clsf-sky);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

#clsf-home-2027 .clsf-why-video-label::before,
#clsf-home-2027 .clsf-why-video-label::after {
    content: "";
    width: 25px;
    height: 2px;
    background: var(--clsf-yellow);
    border-radius: 10px;
}

#clsf-home-2027 .clsf-why-video-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(0, 0.92fr);
    align-items: stretch;
    gap: 30px;
}

#clsf-home-2027 .clsf-institutional-video-card {
    height: 100%;
    overflow: hidden;
    background: var(--clsf-white);
    border: 1px solid rgba(5, 40, 94, 0.11);
    border-radius: 23px;
    box-shadow: 0 20px 48px rgba(5, 40, 94, 0.14);
}

#clsf-home-2027 .clsf-institutional-video-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: linear-gradient(
        135deg,
        #031b42,
        #05285e 60%,
        #0b4d8f
    );
}

#clsf-home-2027 .clsf-institutional-video-frame::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    height: 5px;
    background: linear-gradient(
        90deg,
        var(--clsf-yellow),
        var(--clsf-sky)
    );
    pointer-events: none;
}

#clsf-home-2027 .clsf-institutional-video-frame video,
#clsf-home-2027 .clsf-institutional-video-frame iframe {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

#clsf-home-2027 .clsf-institutional-video-content {
    padding: 27px 29px 30px;
}

#clsf-home-2027 .clsf-institutional-video-content h3 {
    margin: 0 0 13px;
    color: var(--clsf-navy);
    font-size: clamp(23px, 3vw, 31px);
    font-weight: 900;
    line-height: 1.2;
}

#clsf-home-2027 .clsf-institutional-video-content p {
    margin: 0;
    color: var(--clsf-muted);
    font-size: 14px;
    line-height: 1.75;
}

#clsf-home-2027 .clsf-why-video-reasons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

#clsf-home-2027 .clsf-why-video-reason {
    position: relative;
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    min-width: 0;
    padding: 20px 21px;
    overflow: hidden;
    background: var(--clsf-white);
    border: 1px solid #e1e9f1;
    border-radius: 17px;
    box-shadow: 0 10px 25px rgba(5, 40, 94, 0.08);
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

#clsf-home-2027 .clsf-why-video-reason::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 5px;
    background: linear-gradient(
        180deg,
        var(--clsf-sky),
        var(--clsf-yellow)
    );
}

#clsf-home-2027 .clsf-why-video-reason:hover {
    border-color: rgba(22, 135, 202, 0.30);
    box-shadow: 0 17px 34px rgba(5, 40, 94, 0.13);
    transform: translateY(-4px);
}

#clsf-home-2027 .clsf-why-video-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    color: var(--clsf-sky);
    background: linear-gradient(
        145deg,
        #f5fcff,
        #dff3ff
    );
    border: 2px solid rgba(22, 135, 202, 0.42);
    border-radius: 50%;
    box-shadow:
        0 9px 20px rgba(22, 135, 202, 0.15),
        inset 0 0 0 5px rgba(22, 135, 202, 0.06);
}

#clsf-home-2027 .clsf-why-video-icon::after {
    content: "";
    position: absolute;
    right: 1px;
    bottom: 1px;
    width: 13px;
    height: 13px;
    background: var(--clsf-yellow);
    border: 3px solid var(--clsf-white);
    border-radius: 50%;
}

#clsf-home-2027 .clsf-why-video-icon svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#clsf-home-2027 .clsf-why-video-reason-content h3 {
    margin: 0 0 7px;
    color: var(--clsf-navy);
    font-size: 17px;
    font-weight: 900;
    line-height: 1.3;
}

#clsf-home-2027 .clsf-why-video-reason-content p {
    margin: 0;
    color: var(--clsf-muted);
    font-size: 13px;
    line-height: 1.65;
}


/* =========================================================
   FOOTER CON MAPA
========================================================= */

#clsf-home-2027 #clsf-footer-wrap {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    overflow: hidden;
}

#clsf-home-2027 #clsf-global-footer {
    --footer-navy: #05285e;
    --footer-navy-light: #0a3b78;
    --footer-navy-dark: #031a3d;
    --footer-yellow: #dfa400;
    --footer-white: #ffffff;
    --footer-text: #dce6f0;
    --footer-soft: #aebed0;
    --footer-border: rgba(255, 255, 255, 0.14);

    position: relative;
    width: 100%;
    overflow: hidden;
    color: var(--footer-white);
    background:
        radial-gradient(
            circle at 92% 8%,
            rgba(255, 255, 255, 0.065),
            transparent 28%
        ),
        linear-gradient(
            120deg,
            var(--footer-navy-dark) 0%,
            var(--footer-navy) 38%,
            var(--footer-navy-light) 100%
        );
}

#clsf-home-2027 #clsf-global-footer::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 5;
    height: 5px;
    background: linear-gradient(
        90deg,
        var(--footer-yellow),
        #f3c53e,
        var(--footer-yellow)
    );
}

#clsf-home-2027 .clsf-footer-main {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 52px clamp(25px, 5vw, 90px) 46px;
}

#clsf-home-2027 .clsf-footer-inner {
    display: grid;
    grid-template-columns:
        minmax(300px, 1.25fr)
        minmax(165px, 0.65fr)
        minmax(230px, 0.9fr)
        minmax(255px, 0.95fr);
    grid-template-areas:
        "brand links location contact";
    align-items: start;
    gap: clamp(28px, 3.7vw, 58px);
    width: 100%;
    max-width: 1540px;
    margin: 0 auto;
}

#clsf-home-2027 .clsf-footer-brand {
    grid-area: brand;
}

#clsf-home-2027 .clsf-footer-navigation {
    grid-area: links;
}

#clsf-home-2027 .clsf-footer-location {
    grid-area: location;
}

#clsf-home-2027 .clsf-footer-contact {
    grid-area: contact;
}

#clsf-home-2027 .clsf-footer-brand-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0 0 20px;
}

#clsf-home-2027 .clsf-footer-logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 90px;
    flex: 0 0 90px;
    padding: 5px;
    background: var(--footer-white);
    border: 3px solid var(--footer-yellow);
    border-radius: 50%;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.27);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

#clsf-home-2027 .clsf-footer-logo-link:hover {
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.34);
    transform: translateY(-3px);
}

#clsf-home-2027 .clsf-footer-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#clsf-home-2027 .clsf-footer-brand-title h2 {
    margin: 0 0 5px;
    color: var(--footer-white);
    font-size: 21px;
    font-weight: 900;
    line-height: 1.25;
}

#clsf-home-2027 .clsf-footer-brand-title span {
    display: block;
    color: var(--footer-yellow);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.5;
}

#clsf-home-2027 .clsf-footer-description {
    max-width: 390px;
    margin: 0 0 15px;
    color: var(--footer-text);
    font-size: 13px;
    line-height: 1.75;
}

#clsf-home-2027 .clsf-footer-motto {
    margin: 0;
    color: var(--footer-yellow);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

#clsf-home-2027 .clsf-footer-column h3 {
    position: relative;
    margin: 0 0 22px;
    padding-bottom: 10px;
    color: var(--footer-white);
    font-size: 16px;
    font-weight: 900;
}

#clsf-home-2027 .clsf-footer-column h3::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 38px;
    height: 3px;
    background: var(--footer-yellow);
    border-radius: 10px;
}

#clsf-home-2027 .clsf-footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

#clsf-home-2027 .clsf-footer-links li {
    margin: 0 0 11px;
}

#clsf-home-2027 .clsf-footer-links a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--footer-text) !important;
    font-size: 13px;
    line-height: 1.5;
    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

#clsf-home-2027 .clsf-footer-links a::before {
    content: "›";
    color: var(--footer-yellow);
    font-size: 18px;
}

#clsf-home-2027 .clsf-footer-links a:hover {
    color: var(--footer-yellow) !important;
    transform: translateX(4px);
}


/* Mapa */

#clsf-home-2027 .clsf-footer-map-link {
    position: relative;
    display: block;
    width: 100%;
    max-width: 280px;
    height: 150px;
    overflow: hidden;
    background: #dce7f1;
    border: 2px solid rgba(255, 255, 255, 0.20);
    border-radius: 13px;
    box-shadow: 0 13px 27px rgba(0, 0, 0, 0.24);
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

#clsf-home-2027 .clsf-footer-map-link:hover {
    border-color: var(--footer-yellow);
    box-shadow: 0 18px 35px rgba(0, 0, 0, 0.32);
    transform: translateY(-4px);
}

#clsf-home-2027 .clsf-footer-map-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#clsf-home-2027 .clsf-footer-map-link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 45%,
        rgba(3, 26, 61, 0.70) 100%
    );
}

#clsf-home-2027 .clsf-footer-map-pin {
    position: absolute;
    top: 45%;
    left: 51%;
    z-index: 3;
    width: 18px;
    height: 18px;
    background: var(--footer-yellow);
    border: 4px solid var(--footer-white);
    border-radius: 50% 50% 50% 0;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.30);
    transform: translate(-50%, -50%) rotate(-45deg);
}

#clsf-home-2027 .clsf-footer-map-action {
    position: absolute;
    right: 12px;
    bottom: 10px;
    z-index: 3;
    padding: 6px 10px;
    color: var(--footer-navy);
    background: var(--footer-yellow);
    border-radius: 6px;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

#clsf-home-2027 .clsf-footer-location-name {
    margin: 11px 0 15px;
    color: var(--footer-soft);
    font-size: 12px;
}


/* Redes */

#clsf-home-2027 .clsf-footer-social-title {
    display: block;
    margin-bottom: 9px;
    color: var(--footer-white);
    font-size: 12px;
    font-weight: 800;
}

#clsf-home-2027 .clsf-footer-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#clsf-home-2027 .clsf-footer-social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 37px;
    height: 37px;
    color: var(--footer-white) !important;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

#clsf-home-2027 .clsf-footer-social-links a:hover {
    color: var(--footer-navy) !important;
    background: var(--footer-yellow);
    transform: translateY(-3px);
}

#clsf-home-2027 .clsf-footer-social-links svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}


/* Contacto */

#clsf-home-2027 .clsf-footer-contact-list {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#clsf-home-2027 .clsf-footer-contact-item {
    display: grid;
    grid-template-columns: 39px minmax(0, 1fr);
    align-items: start;
    gap: 11px;
}

#clsf-home-2027 .clsf-footer-contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    color: var(--footer-yellow);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 10px;
}

#clsf-home-2027 .clsf-footer-contact-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

#clsf-home-2027 .clsf-footer-contact-content strong {
    display: block;
    margin-bottom: 3px;
    color: var(--footer-white);
    font-size: 12px;
    font-weight: 850;
}

#clsf-home-2027 .clsf-footer-contact-content span,
#clsf-home-2027 .clsf-footer-contact-content a {
    color: var(--footer-text) !important;
    font-size: 12.5px;
    line-height: 1.55;
}

#clsf-home-2027 .clsf-footer-contact-content a:hover {
    color: var(--footer-yellow) !important;
}


/* Parte inferior */

#clsf-home-2027 .clsf-footer-bottom {
    position: relative;
    z-index: 2;
    padding: 17px clamp(22px, 5vw, 90px);
    background: rgba(0, 0, 0, 0.20);
    border-top: 1px solid var(--footer-border);
}

#clsf-home-2027 .clsf-footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    width: 100%;
    max-width: 1540px;
    margin: 0 auto;
    color: var(--footer-soft);
    font-size: 11px;
    line-height: 1.5;
}

#clsf-home-2027 .clsf-footer-powered {
    color: var(--footer-yellow);
    font-weight: 800;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1180px) {

    #clsf-home-2027 .clsf-academic-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #clsf-home-2027 .clsf-footer-inner {
        grid-template-columns: 1.2fr 0.8fr 1fr;
        grid-template-areas:
            "brand links location"
            "brand contact contact";
    }
}

@media (max-width: 900px) {

    #clsf-home-2027 .clsf-hero-area {
        margin-bottom: 170px;
    }

    #clsf-home-2027 .clsf-slider,
    #clsf-home-2027 .clsf-slides {
        min-height: 650px;
    }

    #clsf-home-2027 .clsf-slide-inner {
        padding-right: 75px;
        padding-left: 75px;
    }

    #clsf-home-2027 .clsf-access-grid {
        grid-template-columns: 1fr;
    }

    #clsf-home-2027 .clsf-access-wrapper {
        bottom: -147px;
        max-width: 650px;
    }

    #clsf-home-2027 .clsf-slider-dots {
        bottom: 202px;
    }

    #clsf-home-2027 .clsf-why-video-layout {
        grid-template-columns: 1fr;
    }

    #clsf-home-2027 .clsf-footer-inner {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "brand brand"
            "links location"
            "contact contact";
    }
}

@media (max-width: 720px) {

    #clsf-home-2027 .clsf-academic-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {

    #clsf-home-2027 .clsf-hero-area {
        margin-bottom: 22px;
    }

    #clsf-home-2027 .clsf-slider,
    #clsf-home-2027 .clsf-slides {
        min-height: 615px;
    }

    #clsf-home-2027 .clsf-slide {
        align-items: flex-start;
    }

    #clsf-home-2027 .clsf-slide-image {
        object-position: 60% center;
    }

    #clsf-home-2027 .clsf-slide::after {
        background: linear-gradient(
            180deg,
            rgba(5, 40, 94, 0.94) 0%,
            rgba(5, 40, 94, 0.83) 53%,
            rgba(5, 40, 94, 0.70) 100%
        );
    }

    #clsf-home-2027 .clsf-slide-inner {
        padding: 63px 22px 134px;
        text-align: center;
    }

    #clsf-home-2027 .clsf-slide-copy {
        max-width: 100%;
    }

    #clsf-home-2027 .clsf-slide-label {
        font-size: 10px;
    }

    #clsf-home-2027 .clsf-slide-title {
        font-size: 41px;
        letter-spacing: -1px;
    }

    #clsf-home-2027 .clsf-slide-description {
        font-size: 15px;
    }

    #clsf-home-2027 .clsf-slider-controls {
        align-items: flex-end;
        padding: 0 17px 74px;
    }

    #clsf-home-2027 .clsf-slider-arrow {
        width: 41px;
        height: 41px;
    }

    #clsf-home-2027 .clsf-slider-dots {
        bottom: 88px;
    }

    #clsf-home-2027 .clsf-access-wrapper {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        width: calc(100% - 28px);
        margin: -18px auto 0;
        padding: 10px;
        border-radius: 15px;
    }

    #clsf-home-2027 .clsf-access-grid {
        gap: 8px;
    }

    #clsf-home-2027 .clsf-access-card {
        grid-template-columns: 53px minmax(0, 1fr) 29px;
        min-height: 73px;
        padding: 9px 10px;
    }

    #clsf-home-2027 .clsf-access-icon {
        width: 48px;
        height: 48px;
        border-radius: 11px;
    }

    #clsf-home-2027 .clsf-access-copy strong {
        font-size: 13px;
    }

    #clsf-home-2027 .clsf-access-copy span {
        font-size: 11px;
    }

    #clsf-home-2027 .clsf-presentation {
        padding-top: 54px;
    }

    #clsf-home-2027 .clsf-academic-grid {
        grid-template-columns: 1fr;
    }

    #clsf-home-2027 .clsf-level-image {
        height: 245px;
    }

    #clsf-home-2027 .clsf-why-video-section {
        padding-right: 16px;
        padding-left: 16px;
    }

    #clsf-home-2027 .clsf-institutional-video-card {
        border-radius: 17px;
    }

    #clsf-home-2027 .clsf-institutional-video-content {
        padding: 22px 20px 24px;
    }

    #clsf-home-2027 .clsf-why-video-reason {
        grid-template-columns: 53px minmax(0, 1fr);
        gap: 14px;
        padding: 18px 16px;
    }

    #clsf-home-2027 .clsf-why-video-icon {
        width: 51px;
        height: 51px;
    }

    #clsf-home-2027 .clsf-footer-inner {
        grid-template-columns: 1fr;
        grid-template-areas:
            "brand"
            "links"
            "location"
            "contact";
    }

    #clsf-home-2027 .clsf-footer-brand-header {
        align-items: flex-start;
    }

    #clsf-home-2027 .clsf-footer-logo-link {
        width: 76px;
        height: 76px;
        flex-basis: 76px;
    }

    #clsf-home-2027 .clsf-footer-map-link {
        max-width: 100%;
    }

    #clsf-home-2027 .clsf-footer-bottom-inner {
        flex-direction: column;
        gap: 5px;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {

    #clsf-home-2027 *,
    #clsf-home-2027 *::before,
    #clsf-home-2027 *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Integración final CLSF */
html { scroll-behavior: smooth; }
body:has(#clsf-home-2027) .clsf-component { width:100%; max-width:none; padding:0; }
#clsf-home-2027 { width:100vw; max-width:none; margin-inline:calc(50% - 50vw); }
#clsf-home-2027 .clsf-institutional-video-frame iframe { position:absolute; inset:0; z-index:1; width:100%; height:100%; border:0; }
#clsf-home-2027 .clsf-footer-map-link { padding:10px; background:#031a3d; }
#clsf-home-2027 .clsf-footer-map-link img { object-fit:contain; }
#clsf-home-2027 .clsf-back-top {
    position:fixed; right:20px; bottom:20px; z-index:1500;
    display:flex; align-items:center; justify-content:center;
    width:36px; height:36px;
    color:rgba(255,255,255,.92)!important;
    background:rgba(0,0,0,.48);
    border:1px solid rgba(255,255,255,.25);
    border-radius:50%;
    box-shadow:0 7px 18px rgba(0,0,0,.22);
    font-size:15px; font-weight:700; line-height:1;
    -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px);
    transition:background-color .2s ease, transform .2s ease;
}
#clsf-home-2027 .clsf-back-top:hover { color:#fff!important; background:rgba(0,0,0,.72); transform:translateY(-3px); }
@media(max-width:650px){#clsf-home-2027 .clsf-back-top{right:12px;bottom:12px;width:33px;height:33px;font-size:13px;}}


/* =========================================================
   FOOTER SIN LOGO Y ALINEACIÓN MÓVIL CORREGIDA
========================================================= */
#clsf-home-2027 .clsf-footer-brand-header {
    display: block;
    margin-bottom: 18px;
}

#clsf-home-2027 .clsf-footer-brand-title h2,
#clsf-home-2027 .clsf-footer-brand-title span,
#clsf-home-2027 .clsf-footer-description,
#clsf-home-2027 .clsf-footer-motto {
    text-align: left;
}

@media (max-width: 650px) {
    #clsf-home-2027 .clsf-footer-main {
        padding-right: 20px;
        padding-left: 20px;
    }

    #clsf-home-2027 .clsf-footer-inner,
    #clsf-home-2027 .clsf-footer-brand,
    #clsf-home-2027 .clsf-footer-column,
    #clsf-home-2027 .clsf-footer-location,
    #clsf-home-2027 .clsf-footer-contact {
        text-align: left;
    }

    #clsf-home-2027 .clsf-footer-brand-header {
        display: block;
        margin-bottom: 14px;
    }

    #clsf-home-2027 .clsf-footer-column h3::after {
        right: auto;
        left: 0;
    }

    #clsf-home-2027 .clsf-footer-social-links {
        justify-content: flex-start;
    }

    #clsf-home-2027 .clsf-footer-bottom-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        text-align: left;
    }

    #clsf-home-2027 .clsf-footer-powered {
        align-self: flex-end;
        text-align: right;
    }
}


/* =========================================================
   FOOTER: CONTACTO MEJORADO Y CENTRADO COMPLETO EN MÓVIL
========================================================= */
#clsf-home-2027 .clsf-contact-whatsapp-icon {
    color: #25d366;
    background: rgba(37, 211, 102, 0.12);
    border-color: rgba(37, 211, 102, 0.34);
}

#clsf-home-2027 .clsf-contact-clock-icon {
    color: var(--footer-yellow);
    background: rgba(223, 164, 0, 0.12);
    border-color: rgba(223, 164, 0, 0.34);
}

#clsf-home-2027 .clsf-contact-whatsapp-icon svg,
#clsf-home-2027 .clsf-contact-clock-icon svg {
    width: 22px;
    height: 22px;
}

@media (max-width: 650px) {
    #clsf-home-2027 .clsf-footer-inner,
    #clsf-home-2027 .clsf-footer-brand,
    #clsf-home-2027 .clsf-footer-column,
    #clsf-home-2027 .clsf-footer-location,
    #clsf-home-2027 .clsf-footer-contact,
    #clsf-home-2027 .clsf-footer-brand-title,
    #clsf-home-2027 .clsf-footer-contact-content {
        text-align: center;
    }

    #clsf-home-2027 .clsf-footer-brand-header {
        display: grid;
        margin-bottom: 14px;
        place-items: center;
    }

    #clsf-home-2027 .clsf-footer-brand-title h2,
    #clsf-home-2027 .clsf-footer-brand-title span,
    #clsf-home-2027 .clsf-footer-description,
    #clsf-home-2027 .clsf-footer-motto {
        text-align: center;
    }

    #clsf-home-2027 .clsf-footer-description {
        margin-right: auto;
        margin-left: auto;
    }

    #clsf-home-2027 .clsf-footer-column h3::after {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }

    #clsf-home-2027 .clsf-footer-links a {
        justify-content: center;
    }

    #clsf-home-2027 .clsf-footer-map-link {
        margin-right: auto;
        margin-left: auto;
    }

    #clsf-home-2027 .clsf-footer-location-name {
        text-align: center;
    }

    #clsf-home-2027 .clsf-footer-social-links {
        justify-content: center;
    }

    #clsf-home-2027 .clsf-footer-contact-list {
        justify-items: center;
    }

    #clsf-home-2027 .clsf-footer-contact-item {
        width: min(100%, 310px);
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 8px;
    }

    #clsf-home-2027 .clsf-footer-contact-icon {
        margin: 0 auto;
    }

    #clsf-home-2027 .clsf-footer-contact-content strong,
    #clsf-home-2027 .clsf-footer-contact-content span,
    #clsf-home-2027 .clsf-footer-contact-content a {
        text-align: center;
    }

    #clsf-home-2027 .clsf-footer-bottom-inner {
        align-items: center;
        text-align: center;
    }

    #clsf-home-2027 .clsf-footer-powered {
        align-self: center;
        text-align: center;
    }
}


/* =========================================================
   AJUSTE DE ENCUADRE MÓVIL DE LOS SLIDES
========================================================= */
@media (max-width: 650px) {
    #clsf-home-2027 .clsf-slide-1 .clsf-slide-image {
        object-position: 80% center;
    }

    #clsf-home-2027 .clsf-slide-2 .clsf-slide-image {
        object-position: 78% center;
    }

    #clsf-home-2027 .clsf-slide::after {
        background:
            linear-gradient(
                90deg,
                rgba(5, 40, 94, 0.93) 0%,
                rgba(5, 40, 94, 0.80) 55%,
                rgba(5, 40, 94, 0.36) 100%
            ),
            linear-gradient(
                180deg,
                rgba(5, 40, 94, 0.78) 0%,
                rgba(5, 40, 94, 0.68) 100%
            );
    }
}

/* ===== ADMISIONES CLSF 2027: INICIO ===== */

.clsf-admision-page,.clsf-admision-page *{box-sizing:border-box}
.clsf-admision-page{--azul:#003763;--azul2:#082f80;--azul3:#061e4d;--dorado:#f2b705;--texto:#0f172a;font-family:'Segoe UI',Arial,sans-serif;color:var(--texto);background:#f5f7fb;overflow:hidden}
.clsf-admision-page a{text-decoration:none}
.clsf-admision-hero{width:100vw;margin-left:calc(50% - 50vw);min-height:500px;position:relative;display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/Matricula.jpg') 54% center/cover no-repeat}
.clsf-admision-hero:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:8px;background:linear-gradient(90deg,var(--dorado),var(--dorado),#fff)}
.clsf-hero-inner{width:100%;max-width:1180px;margin:auto;padding:74px 46px 66px;position:relative;z-index:2;color:#fff}
.clsf-hero-copy{max-width:660px}
.clsf-hero-label{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:10px 16px;border-radius:999px;font-size:13px;font-weight:900;letter-spacing:1px;text-transform:uppercase;margin-bottom:18px;backdrop-filter:blur(8px)}
.clsf-hero-label i{color:var(--dorado)}
.clsf-hero-title{margin:0 0 12px;max-width:620px;font-size:clamp(46px,6vw,78px);line-height:.92;font-weight:950;letter-spacing:-2px;text-transform:uppercase}
.clsf-hero-title .yellow,.clsf-hero-title .white{display:block}.clsf-hero-title .yellow{color:var(--dorado)}.clsf-hero-title .white{color:#fff}
.clsf-hero-year{display:flex;align-items:center;gap:14px;margin:18px 0 20px;font-size:clamp(18px,2vw,25px);font-weight:900;letter-spacing:6px;text-transform:uppercase}
.clsf-hero-year:before,.clsf-hero-year:after{content:"";width:70px;height:1px;background:rgba(255,255,255,.65)}
.clsf-hero-levels{display:flex;flex-wrap:wrap;gap:13px;align-items:center;margin-bottom:30px;font-size:19px;font-weight:800}.clsf-hero-levels span:not(:last-child):after{content:"•";color:var(--dorado);margin-left:13px}
.clsf-hero-actions{display:flex;flex-wrap:wrap;gap:14px}.clsf-btn-primary,.clsf-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;border-radius:10px;font-weight:900;font-size:14px;text-transform:uppercase;letter-spacing:.4px;transition:.25s ease}.clsf-btn-primary{background:var(--dorado);color:#08245a;box-shadow:0 14px 28px rgba(242,183,5,.28)}.clsf-btn-outline{color:#fff;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.08)}.clsf-btn-primary:hover,.clsf-btn-outline:hover{background:#fff;color:#08245a;transform:translateY(-3px)}
.clsf-main-content{max-width:1180px;margin:0 auto;padding:42px 20px 56px}.clsf-section-heading{display:flex;align-items:center;gap:18px;margin-bottom:28px}.clsf-section-heading h2{margin:0;color:#08245a;font-size:22px;font-weight:950;text-transform:uppercase;letter-spacing:.7px;white-space:nowrap}.clsf-section-heading:after{content:"";width:100%;height:1px;background:#dbe3ef}
.clsf-convocatoria{margin-top:-20px;position:relative;z-index:5}.clsf-convocatoria-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.clsf-convocatoria-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:28px 22px 24px;text-align:center;box-shadow:0 12px 30px rgba(15,23,42,.08);position:relative;overflow:hidden;min-height:245px;transition:.25s ease}.clsf-convocatoria-card:after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:5px;background:var(--azul2)}.clsf-convocatoria-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(15,23,42,.13)}.clsf-convocatoria-card.destacada{border-color:var(--dorado);transform:translateY(-6px)}.clsf-convocatoria-card.destacada:after{background:var(--dorado)}
.clsf-card-icon{width:78px;height:78px;margin:0 auto 18px;border-radius:50%;background:#edf2fb;display:flex;align-items:center;justify-content:center}.clsf-card-icon img{max-width:52px;max-height:52px;object-fit:contain}.clsf-convocatoria-card.destacada .clsf-card-icon{background:#fff3c4}.clsf-convocatoria-card h3{margin:0 0 12px;color:#08245a;font-size:19px;font-weight:950}.clsf-date{display:block;color:var(--azul2);font-size:16px;font-weight:950;margin-bottom:10px}.clsf-convocatoria-card p{margin:0;color:#334155;font-size:15px;line-height:1.55}.clsf-arrow{position:absolute;right:-20px;top:50%;transform:translateY(-50%);color:#cbd5e1;font-size:32px;z-index:2}
.clsf-process{margin-top:58px;padding:38px 0 10px}.clsf-process-subtitle{margin:-14px 0 34px;color:#475569;font-size:18px;line-height:1.5}.clsf-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative}.clsf-step{text-align:center;position:relative}.clsf-step:before{content:"";position:absolute;top:48px;left:-50%;width:100%;border-top:4px dotted #cbd5e1;z-index:0}.clsf-step:first-child:before{display:none}.clsf-step-number{width:34px;height:34px;margin:0 auto -4px;border-radius:50%;background:var(--azul2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950;position:relative;z-index:2}.clsf-step-icon{width:84px;height:84px;margin:0 auto 18px;border-radius:50%;background:#f8fafc;border:3px solid #e2e8f0;color:var(--azul2);display:flex;align-items:center;justify-content:center;font-size:32px;position:relative;z-index:1}.clsf-step h3{margin:0 0 8px;color:#08245a;font-size:16px;font-weight:950}.clsf-step p{margin:0 auto;max-width:190px;color:#334155;font-size:14px;line-height:1.5}.clsf-step p strong{color:var(--azul2)}
.clsf-important{margin-top:40px;background:#fffaf0;border:1px solid #fde68a;border-left:8px solid var(--dorado);border-radius:10px;padding:22px 24px;display:flex;gap:18px;align-items:center}.clsf-important-icon{width:64px;height:64px;border-radius:50%;background:var(--dorado);color:#08245a;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.clsf-important h3{margin:0 0 5px;color:#08245a;font-size:20px;font-weight:950}.clsf-important p{margin:0;color:#334155;line-height:1.55;font-size:15.5px}
.clsf-cta{margin-top:34px;background:linear-gradient(135deg,#06245a,var(--azul2));color:#fff;border-radius:12px;padding:28px 34px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;box-shadow:0 18px 42px rgba(8,47,128,.22)}.clsf-cta-content{display:flex;align-items:center;gap:18px}.clsf-cta-icon{width:62px;height:62px;border-radius:50%;background:#0c3ca0;color:var(--dorado);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.clsf-cta h2{margin:0 0 4px;font-size:26px;font-weight:950}.clsf-cta p{margin:0;color:rgba(255,255,255,.88);font-size:16px}
.clsf-recursos-full{width:100vw;margin-left:calc(50% - 50vw);margin-top:62px;background:radial-gradient(circle at top left,rgba(242,183,5,.14),transparent 32%),linear-gradient(135deg,#061e4d 0%,#082f80 58%,#061e4d 100%);padding:64px 22px;position:relative;overflow:hidden}.clsf-recursos-full:after{content:"";position:absolute;left:0;bottom:0;height:7px;width:100%;background:linear-gradient(90deg,var(--dorado),var(--dorado),#fff)}.clsf-recursos-inner{max-width:1180px;margin:0 auto;position:relative;z-index:2}.clsf-recursos-titulo{text-align:center;max-width:780px;margin:0 auto 34px}.clsf-recursos-titulo span{display:inline-flex;align-items:center;gap:9px;color:var(--dorado);font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.clsf-recursos-titulo h2{margin:0 0 12px;color:#fff;font-size:clamp(28px,4vw,42px);font-weight:950;text-transform:uppercase}.clsf-recursos-titulo p{margin:0;color:rgba(255,255,255,.88);font-size:17px;line-height:1.65}.clsf-recursos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.clsf-recurso-card{background:rgba(255,255,255,.98);border-radius:12px;padding:28px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;box-shadow:0 18px 42px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.85)}.clsf-recurso-icon{width:84px;height:84px;border-radius:22px;background:linear-gradient(180deg,#f6f9ff 0%,#e8f0ff 100%);color:var(--azul2);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(11,47,128,.10),0 10px 24px rgba(6,30,77,.10)}.clsf-recurso-icon svg{width:42px;height:42px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.clsf-recurso-info h3{margin:0 0 7px;color:#08245a;font-size:22px;font-weight:950}.clsf-recurso-info p{margin:0;color:#475569;font-size:15.5px;line-height:1.55}.clsf-recurso-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 20px;border-radius:8px;background:var(--azul2);color:#fff;font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.clsf-recurso-btn:hover{background:var(--dorado);color:#08245a}

@media(max-width:1050px){.clsf-convocatoria-grid,.clsf-recursos-grid{grid-template-columns:repeat(2,1fr)}.clsf-timeline{grid-template-columns:repeat(2,1fr);gap:32px 20px}.clsf-step:before{display:none}.clsf-cta{grid-template-columns:1fr;text-align:center}.clsf-cta-content{justify-content:center}.clsf-recurso-card{grid-template-columns:auto 1fr}.clsf-recurso-btn{grid-column:1/-1;width:100%}}
@media(max-width:768px){.clsf-admision-hero{min-height:510px;align-items:flex-end;background:linear-gradient(180deg,rgba(4,27,68,.22) 0%,rgba(4,27,68,.68) 48%,rgba(4,27,68,.98) 100%),url('/images/2026/Matricula.jpg') 72% center/cover no-repeat,#061e4d}.clsf-hero-inner{padding:210px 18px 42px}.clsf-hero-title{font-size:40px;letter-spacing:-1px}.clsf-hero-year{font-size:15px;letter-spacing:3px}.clsf-hero-year:before,.clsf-hero-year:after{width:30px}.clsf-hero-levels{font-size:16px}.clsf-hero-actions{flex-direction:column}.clsf-btn-primary,.clsf-btn-outline{width:100%}.clsf-main-content{padding:34px 16px 44px}.clsf-section-heading h2{font-size:18px;white-space:normal}.clsf-convocatoria-grid,.clsf-recursos-grid,.clsf-timeline{grid-template-columns:1fr}.clsf-convocatoria-card.destacada{transform:none}.clsf-arrow{display:none}.clsf-process{margin-top:38px}.clsf-important{align-items:flex-start;padding:20px}.clsf-important-icon{width:50px;height:50px;font-size:22px}.clsf-cta{padding:24px 20px}.clsf-cta-content{align-items:flex-start;text-align:left}.clsf-recurso-card{grid-template-columns:1fr;text-align:center}.clsf-recurso-icon{margin:auto}.clsf-recurso-btn{grid-column:auto}.clsf-recursos-full{padding:50px 16px}}

.clsf-svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.clsf-icon{display:inline-block;width:1em;height:1em;flex:0 0 auto;vertical-align:-.14em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.clsf-hero-label .clsf-icon{color:var(--dorado)}



/* Pulsación visual segura: solo CSS, sin scripts. */
.clsf-btn-pulse{animation:clsf-adm-pulse 2.2s ease-in-out infinite}
@keyframes clsf-adm-pulse{
  0%,100%{transform:scale(1);box-shadow:0 14px 28px rgba(242,183,5,.28)}
  50%{transform:scale(1.035);box-shadow:0 17px 38px rgba(242,183,5,.48)}
}
.clsf-btn-pulse:hover{animation-play-state:paused}

/* Ventanas emergentes CSS-only. */
.clsf-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
.clsf-modal:target{opacity:1;visibility:visible;pointer-events:auto}
.clsf-modal-backdrop{position:absolute;inset:0;background:rgba(3,18,48,.78);backdrop-filter:blur(5px)}
.clsf-modal-dialog{position:relative;z-index:2;width:min(880px,100%);max-height:88vh;overflow:auto;background:#fff;border:1px solid #dbe3ef;border-radius:18px;box-shadow:0 28px 80px rgba(3,18,48,.38)}
.clsf-modal-header{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 19px;background:#fff;border-bottom:1px solid #e2e8f0}
.clsf-modal-header h2{margin:0;color:#08245a;font-size:clamp(22px,3vw,31px);font-weight:950}
.clsf-modal-header p{margin:6px 0 0;color:#64748b;font-size:14px;line-height:1.5}
.clsf-modal-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;color:#08245a;background:#f1f5f9;border:1px solid #dbe3ef;border-radius:50%;font-size:25px;font-weight:700;line-height:1}
.clsf-modal-close:hover{color:#fff;background:#082f80}
.clsf-modal-body{padding:25px 26px 30px}
.clsf-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.clsf-doc-block{padding:22px;background:#f8fafc;border:1px solid #dfe7f0;border-top:5px solid #082f80;border-radius:13px}
.clsf-doc-block h3{margin:0 0 14px;color:#08245a;font-size:19px;font-weight:950}
.clsf-doc-list{margin:0;padding-left:20px;color:#334155}
.clsf-doc-list li{margin:0 0 10px;line-height:1.55}
.clsf-doc-note{margin-top:20px;padding:17px 19px;color:#4a3800;background:#fff8d8;border:1px solid #f2d56b;border-left:6px solid #f2b705;border-radius:10px;line-height:1.6}
.clsf-grade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.clsf-grade-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:13px 15px;color:#08245a;background:#f8fafc;border:1px solid #dfe7f0;border-radius:10px;font-weight:850}
.clsf-grade-item span{font-size:12px;color:#64748b;font-weight:700;text-align:right}
.clsf-grade-item.no-temario{background:#fff8d8;border-color:#f2d56b}
.clsf-modal-pending{margin:20px 0 0;color:#64748b;font-size:13px;line-height:1.6}

@media(max-width:700px){
  .clsf-doc-grid,.clsf-grade-grid{grid-template-columns:1fr}
  .clsf-modal{padding:10px}
  .clsf-modal-dialog{max-height:92vh;border-radius:14px}
  .clsf-modal-header{padding:20px 18px 15px}
  .clsf-modal-body{padding:20px 18px 24px}
}

@media(prefers-reduced-motion:reduce){
  .clsf-btn-pulse{animation:none}
  .clsf-modal{transition:none}
}

/* Integración segura con la plantilla CLSF */
body:has(.clsf-admision-page) .clsf-component{width:100%;max-width:none;padding:0;overflow:visible}
body:has(.clsf-admision-page){overflow-x:hidden}

/* ===== ADMISIONES CLSF 2027: FIN ===== */

/* ===== OFERTA ACADÉMICA CLSF 1.0.12 ===== */
/* =========================================================
   OFERTA ACADÉMICA — COLEGIO LA SAGRADA FAMILIA
   HTML + CSS — SIN JAVASCRIPT NI LIBRERÍAS EXTERNAS
   Preparado para un bloque HTML de Joomla.
========================================================= */

#clsf-oferta-general,
#clsf-oferta-general * { box-sizing: border-box; }

#clsf-oferta-general {
    --azul: #003763;
    --azul-2: #07558d;
    --celeste: #eaf6fd;
    --dorado: #dfa400;
    --dorado-claro: #fff4cf;
    --texto: #33485c;
    --gris: #6b7a89;
    --blanco: #ffffff;
    --fondo: #f5f8fb;
    width: 100%;
    overflow: hidden;
    color: var(--texto);
    background: var(--blanco);
    font-family: 'Segoe UI', Arial, sans-serif;
}

#clsf-oferta-general img { display: block; max-width: 100%; }
#clsf-oferta-general a { text-decoration: none; }
#clsf-oferta-general a:focus-visible {
    outline: 4px solid rgba(223,164,0,.55);
    outline-offset: 4px;
}

#clsf-oferta-general .clsf-shell {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

/* HERO / SLIDE PRINCIPAL */
#clsf-oferta-general .clsf-hero {
    position: relative;
    min-height: 540px;
    display: flex;
    align-items: center;
    isolation: isolate;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(4,27,68,.97) 0%, rgba(6,42,99,.90) 36%, rgba(6,42,99,.45) 65%, rgba(6,42,99,.08) 100%),
        url('/images/2026/06/03/Admision.jpg') 54% center / cover no-repeat;
}

#clsf-oferta-general .clsf-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 7px;
    background: linear-gradient(90deg, var(--dorado) 0 72%, #ffffff 72% 100%);
}

#clsf-oferta-general .clsf-hero-content {
    width: min(720px, 100%);
    padding: 82px 0 88px;
    color: #fff;
}

#clsf-oferta-general .clsf-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    padding: 8px 14px;
    color: #fff;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    backdrop-filter: blur(6px);
}

#clsf-oferta-general .clsf-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    background: var(--dorado);
    border-radius: 50%;
}

#clsf-oferta-general .clsf-hero h1 {
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(44px, 7vw, 76px);
    font-weight: 900;
    line-height: .98;
    letter-spacing: -2px;
    text-shadow: 0 5px 20px rgba(0,25,55,.35);
}

#clsf-oferta-general .clsf-hero h1 span {
    display: block;
    color: var(--dorado);
}

#clsf-oferta-general .clsf-hero p {
    max-width: 680px;
    margin: 0 0 28px;
    color: rgba(255,255,255,.96);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.65;
}

#clsf-oferta-general .clsf-hero-button,
#clsf-oferta-general .clsf-admission-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 13px 23px;
    color: var(--azul) !important;
    background: var(--dorado);
    border: 2px solid var(--dorado);
    border-radius: 9px;
    box-shadow: 0 10px 25px rgba(0,0,0,.18);
    font-size: 14px;
    font-weight: 900;
    transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}

#clsf-oferta-general .clsf-hero-button:hover,
#clsf-oferta-general .clsf-admission-button:hover {
    color: var(--azul) !important;
    background: #fff;
    border-color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 16px 31px rgba(0,0,0,.24);
}

/* ENCABEZADOS */
#clsf-oferta-general .clsf-heading {
    max-width: 790px;
    margin: 0 auto 36px;
    text-align: center;
}

#clsf-oferta-general .clsf-label {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--dorado);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

#clsf-oferta-general .clsf-heading h2 {
    margin: 0 0 14px;
    color: var(--azul);
    font-size: clamp(31px, 4vw, 45px);
    font-weight: 900;
    line-height: 1.12;
}

#clsf-oferta-general .clsf-heading h2 span { color: var(--dorado); }

#clsf-oferta-general .clsf-heading p {
    margin: 0;
    color: var(--gris);
    font-size: 16px;
    line-height: 1.75;
}

/* PRESENTACIÓN */
#clsf-oferta-general .clsf-intro {
    padding: 76px 20px 66px;
    background: #fff;
}

#clsf-oferta-general .clsf-intro-box {
    width: min(990px, 100%);
    margin: 0 auto;
    text-align: center;
}

#clsf-oferta-general .clsf-intro-box h2 {
    margin: 0 0 16px;
    color: var(--azul);
    font-size: clamp(31px, 4vw, 47px);
    line-height: 1.13;
    font-weight: 900;
}

#clsf-oferta-general .clsf-intro-box h2 span { color: var(--dorado); }

#clsf-oferta-general .clsf-intro-box p {
    max-width: 850px;
    margin: 0 auto;
    color: var(--gris);
    font-size: 17px;
    line-height: 1.8;
}

/* NIVELES */
#clsf-oferta-general .clsf-levels {
    padding: 76px 0 86px;
    background: linear-gradient(180deg, #f5f9fd 0%, #edf5fb 55%, #f9fbfd 100%);
}

#clsf-oferta-general .clsf-level-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

#clsf-oferta-general .clsf-level-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    color: var(--texto) !important;
    background: #fff;
    border: 1px solid rgba(0,55,99,.12);
    border-radius: 18px;
    box-shadow: 0 14px 35px rgba(0,55,99,.10);
    transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease;
}

#clsf-oferta-general .clsf-level-card:hover {
    border-color: rgba(223,164,0,.85);
    transform: translateY(-7px);
    box-shadow: 0 23px 46px rgba(0,55,99,.17);
}

#clsf-oferta-general .clsf-level-image {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #dfe8ef;
}

#clsf-oferta-general .clsf-level-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 48%, rgba(0,38,74,.55) 100%);
}

#clsf-oferta-general .clsf-level-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

#clsf-oferta-general .clsf-level-card:hover .clsf-level-image img { transform: scale(1.06); }

#clsf-oferta-general .clsf-badge {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    padding: 6px 10px;
    color: var(--azul);
    background: rgba(223,164,0,.97);
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .6px;
    text-transform: uppercase;
}

#clsf-oferta-general .clsf-level-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 21px 18px 0;
}

#clsf-oferta-general .clsf-level-content h3 {
    margin: 0 0 9px;
    color: var(--azul);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 900;
}

#clsf-oferta-general .clsf-level-content p {
    flex: 1;
    margin: 0 0 19px;
    color: var(--gris);
    font-size: 13.5px;
    line-height: 1.6;
}

#clsf-oferta-general .clsf-level-footer {
    margin: auto -18px 0;
    padding: 15px 18px;
    color: #fff;
    background: var(--azul);
    border-top: 3px solid var(--dorado);
    font-size: 13px;
    font-weight: 850;
    text-align: center;
    transition: background .25s ease;
}

#clsf-oferta-general .clsf-level-card:hover .clsf-level-footer { background: #07558d; }

/* FORMACIÓN INTEGRAL */
#clsf-oferta-general .clsf-integral {
    padding: 82px 0;
    background: #fff;
}

#clsf-oferta-general .clsf-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

#clsf-oferta-general .clsf-feature-card {
    min-height: 250px;
    padding: 25px 22px;
    background: #fff;
    border: 1px solid #e0e8ef;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(0,55,99,.08);
}

#clsf-oferta-general .clsf-feature-icon,
#clsf-oferta-general .clsf-faith-icon,
#clsf-oferta-general .clsf-support-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 18px;
    color: var(--azul);
    background: linear-gradient(145deg, #f4fbff 0%, #dff1fb 100%);
    border: 1px solid rgba(0,55,99,.13);
    border-radius: 18px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(0,55,99,.08);
    transition: transform .25s ease, box-shadow .25s ease;
}

#clsf-oferta-general svg {
    width: 35px;
    height: 35px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#clsf-oferta-general svg text {
    fill: currentColor;
    stroke: none;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 900;
}

#clsf-oferta-general .clsf-feature-card:hover .clsf-feature-icon,
#clsf-oferta-general .clsf-faith-card:hover .clsf-faith-icon {
    transform: translateY(-3px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 12px 24px rgba(0,55,99,.15);
}

#clsf-oferta-general .clsf-feature-card h3,
#clsf-oferta-general .clsf-faith-card h3,
#clsf-oferta-general .clsf-support-card h3 {
    margin: 0 0 9px;
    color: var(--azul);
    font-size: 19px;
    font-weight: 900;
}

#clsf-oferta-general .clsf-feature-card p,
#clsf-oferta-general .clsf-faith-card p,
#clsf-oferta-general .clsf-support-card p {
    margin: 0;
    color: var(--gris);
    font-size: 14px;
    line-height: 1.68;
}

/* IDENTIDAD CATÓLICA */
#clsf-oferta-general .clsf-faith {
    position: relative;
    padding: 84px 0;
    color: #fff;
    background: linear-gradient(135deg, #003763 0%, #064f88 100%);
}

#clsf-oferta-general .clsf-faith::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .12;
    background-image: radial-gradient(circle at 20% 20%, #fff 0 2px, transparent 2.5px);
    background-size: 44px 44px;
    pointer-events: none;
}

#clsf-oferta-general .clsf-faith .clsf-shell { position: relative; z-index: 2; }
#clsf-oferta-general .clsf-faith .clsf-label { color: #ffd45c; }
#clsf-oferta-general .clsf-faith .clsf-heading h2 { color: #fff; }
#clsf-oferta-general .clsf-faith .clsf-heading p { color: rgba(255,255,255,.80); }

#clsf-oferta-general .clsf-faith-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 17px;
}

#clsf-oferta-general .clsf-faith-card {
    padding: 24px 21px;
    background: rgba(255,255,255,.09);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    backdrop-filter: blur(5px);
}

#clsf-oferta-general .clsf-faith-icon {
    color: #fff;
    background: linear-gradient(145deg, #f7c51b 0%, #dfa400 100%);
    border-color: rgba(255,255,255,.38);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 10px 22px rgba(0,0,0,.16);
}

#clsf-oferta-general .clsf-faith-icon svg { width: 38px; height: 38px; }
#clsf-oferta-general .clsf-faith-icon.clsf-eucharist svg { width: 42px; height: 42px; }

#clsf-oferta-general .clsf-faith-card h3 { color: #fff; }
#clsf-oferta-general .clsf-faith-card p { color: rgba(255,255,255,.80); }

/* SEGUIMIENTO */
#clsf-oferta-general .clsf-support {
    padding: 82px 0;
    background: var(--fondo);
}

#clsf-oferta-general .clsf-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

#clsf-oferta-general .clsf-support-card {
    padding: 27px 24px;
    background: #fff;
    border: 1px solid #e0e8ef;
    border-top: 5px solid var(--dorado);
    border-radius: 17px;
    box-shadow: 0 13px 31px rgba(0,55,99,.08);
}

/* GALERÍA OCULTA */
#clsf-oferta-general .clsf-gallery-hidden { display: none !important; }

/* CTA */
#clsf-oferta-general .clsf-cta {
    position: relative;
    padding: 78px 20px;
    text-align: center;
    background: linear-gradient(135deg, #fff8df 0%, #fff 55%, #edf7fd 100%);
}

#clsf-oferta-general .clsf-cta-box {
    width: min(880px, 100%);
    margin: 0 auto;
    padding: 42px 34px;
    background: #fff;
    border: 1px solid rgba(0,55,99,.12);
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(0,55,99,.12);
}

#clsf-oferta-general .clsf-cta h2 {
    margin: 0 0 13px;
    color: var(--azul);
    font-size: clamp(29px, 4vw, 43px);
    font-weight: 900;
    line-height: 1.14;
}

#clsf-oferta-general .clsf-cta h2 span { color: var(--dorado); }

#clsf-oferta-general .clsf-cta p {
    max-width: 680px;
    margin: 0 auto 25px;
    color: var(--gris);
    font-size: 16px;
    line-height: 1.7;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
    #clsf-oferta-general .clsf-level-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    #clsf-oferta-general .clsf-feature-grid,
    #clsf-oferta-general .clsf-faith-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    #clsf-oferta-general .clsf-shell { width: min(100% - 28px, 1180px); }
    #clsf-oferta-general .clsf-hero {
        min-height: 650px;
        align-items: flex-end;
        background:
            linear-gradient(180deg, rgba(4,27,68,.10) 0%, rgba(4,27,68,.62) 45%, rgba(4,27,68,.98) 100%),
            url('/images/2026/06/03/Admision.jpg') 64% top / auto 58% no-repeat,
            #061e4d;
    }
    #clsf-oferta-general .clsf-hero-content { padding: 300px 0 62px; }
    #clsf-oferta-general .clsf-hero h1 { font-size: clamp(41px, 13vw, 59px); letter-spacing: -1.2px; }
    #clsf-oferta-general .clsf-level-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #clsf-oferta-general .clsf-support-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    #clsf-oferta-general .clsf-intro,
    #clsf-oferta-general .clsf-levels,
    #clsf-oferta-general .clsf-integral,
    #clsf-oferta-general .clsf-faith,
    #clsf-oferta-general .clsf-support { padding-top: 62px; padding-bottom: 64px; }
    #clsf-oferta-general .clsf-level-grid,
    #clsf-oferta-general .clsf-feature-grid,
    #clsf-oferta-general .clsf-faith-grid { grid-template-columns: 1fr; }
    #clsf-oferta-general .clsf-level-image { aspect-ratio: 16 / 9; }
    #clsf-oferta-general .clsf-cta-box { padding: 34px 20px; }
    #clsf-oferta-general .clsf-hero-button,
    #clsf-oferta-general .clsf-admission-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    #clsf-oferta-general * { scroll-behavior: auto !important; transition: none !important; }
}



/* =========================================================
   EFECTO DE ENTRADA AL DESPLAZARSE
   Mejora progresiva: sin JavaScript, todo permanece visible.
========================================================= */
#clsf-oferta-general .clsf-reveal {
    opacity: 1;
    transform: none;
}

#clsf-oferta-general.clsf-reveal-ready .clsf-reveal {
    opacity: 0;
    transform: translateY(34px);
    transition:
        opacity .68s ease,
        transform .68s cubic-bezier(.2,.72,.24,1);
    will-change: opacity, transform;
}

#clsf-oferta-general.clsf-reveal-ready .clsf-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

#clsf-oferta-general.clsf-reveal-ready .clsf-level-card:nth-child(2),
#clsf-oferta-general.clsf-reveal-ready .clsf-feature-card:nth-child(2),
#clsf-oferta-general.clsf-reveal-ready .clsf-faith-card:nth-child(2),
#clsf-oferta-general.clsf-reveal-ready .clsf-support-card:nth-child(2) {
    transition-delay: .07s;
}

#clsf-oferta-general.clsf-reveal-ready .clsf-level-card:nth-child(3),
#clsf-oferta-general.clsf-reveal-ready .clsf-feature-card:nth-child(3),
#clsf-oferta-general.clsf-reveal-ready .clsf-faith-card:nth-child(3),
#clsf-oferta-general.clsf-reveal-ready .clsf-support-card:nth-child(3) {
    transition-delay: .14s;
}

#clsf-oferta-general.clsf-reveal-ready .clsf-level-card:nth-child(4),
#clsf-oferta-general.clsf-reveal-ready .clsf-feature-card:nth-child(4),
#clsf-oferta-general.clsf-reveal-ready .clsf-faith-card:nth-child(4) {
    transition-delay: .21s;
}

#clsf-oferta-general.clsf-reveal-ready .clsf-level-card:nth-child(5) {
    transition-delay: .28s;
}

@media (prefers-reduced-motion: reduce) {
    #clsf-oferta-general.clsf-reveal-ready .clsf-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
/* ===== FIN OFERTA ACADÉMICA CLSF 1.0.12 ===== */


/* =========================================================
   HOME — REVISIÓN EDITORIAL V2 APROBADA
========================================================= */
#clsf-home-2027 .clsf-presentation .clsf-section-label {
    display: inline-block;
    margin-bottom: 12px;
}

#clsf-home-2027 .clsf-slide-copy {
    max-width: 860px;
}

#clsf-home-2027 .clsf-slide-title-balanced {
    max-width: 850px;
    margin-bottom: 24px;
    font-size: clamp(46px, 5.15vw, 70px);
    line-height: .98;
    letter-spacing: -2.2px;
    text-wrap: balance;
}

#clsf-home-2027 .clsf-slide-title-balanced .clsf-slide-title-line,
#clsf-home-2027 .clsf-slide-title-balanced .clsf-slide-title-accent {
    display: block;
    white-space: nowrap;
}

#clsf-home-2027 .clsf-slide-title-balanced .clsf-slide-title-line {
    color: var(--clsf-white);
}

#clsf-home-2027 .clsf-slide-title-balanced .clsf-slide-title-accent {
    margin-top: 7px;
    color: var(--clsf-yellow);
}

#clsf-home-2027 .clsf-slide-description-wide {
    max-width: 790px;
    margin-bottom: 31px;
    font-size: clamp(16px, 1.42vw, 18px);
    line-height: 1.65;
}

#clsf-home-2027 .clsf-academic .clsf-academic-heading-redesign {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: min(100%, 900px);
    margin: 0 auto 42px;
    text-align: center;
}

#clsf-home-2027 .clsf-academic .clsf-academic-heading-redesign::after {
    display: none !important;
    content: none !important;
}

#clsf-home-2027 .clsf-academic-heading-redesign .clsf-section-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 15px;
    padding: 7px 13px;
    color: #1579ba;
    background: rgba(22, 135, 202, .09);
    border: 1px solid rgba(22, 135, 202, .18);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.7px;
    line-height: 1;
    text-transform: uppercase;
}

#clsf-home-2027 .clsf-academic .clsf-academic-heading-redesign h2 {
    max-width: 820px;
    margin: 0;
    color: var(--clsf-navy);
    font-size: clamp(34px, 4vw, 49px);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -1.3px;
    text-transform: none;
    white-space: normal !important;
    text-wrap: balance;
}

#clsf-home-2027 .clsf-heading-accent {
    display: block;
    width: 72px;
    height: 4px;
    margin: 19px auto 18px;
    background: linear-gradient(90deg, var(--clsf-gold), var(--clsf-yellow));
    border-radius: 999px;
}

#clsf-home-2027 .clsf-academic .clsf-academic-heading-redesign p {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    color: var(--clsf-muted);
    font-size: 16px;
    line-height: 1.75;
    text-align: center;
}

@media (max-width: 900px) {
    #clsf-home-2027 .clsf-slide-title-balanced {
        max-width: 720px;
        font-size: clamp(42px, 7.2vw, 60px);
    }
    #clsf-home-2027 .clsf-slide-title-balanced .clsf-slide-title-line,
    #clsf-home-2027 .clsf-slide-title-balanced .clsf-slide-title-accent {
        white-space: normal;
    }
}

@media (max-width: 650px) {
    #clsf-home-2027 .clsf-slide-title-balanced {
        max-width: 100%;
        margin-right: auto;
        margin-left: auto;
        font-size: clamp(36px, 10vw, 45px) !important;
        line-height: 1.02;
        letter-spacing: -1.3px;
    }
    #clsf-home-2027 .clsf-slide-title-balanced .clsf-slide-title-accent {
        margin-top: 4px;
    }
    #clsf-home-2027 .clsf-slide-description-wide {
        max-width: 520px;
        margin-right: auto;
        margin-left: auto;
        font-size: 14.5px;
        line-height: 1.58;
    }
    #clsf-home-2027 .clsf-academic {
        padding-top: 54px;
    }
    #clsf-home-2027 .clsf-academic .clsf-academic-heading-redesign {
        width: 100%;
        margin-bottom: 32px;
    }
    #clsf-home-2027 .clsf-academic .clsf-academic-heading-redesign h2 {
        font-size: clamp(30px, 9vw, 39px);
        letter-spacing: -.8px;
    }
    #clsf-home-2027 .clsf-academic .clsf-academic-heading-redesign p {
        max-width: 560px;
        font-size: 15px;
        line-height: 1.68;
    }
}

@media (max-width: 390px) {
    #clsf-home-2027 .clsf-slide-title-balanced {
        font-size: 34px !important;
    }
    #clsf-home-2027 .clsf-slide-description-wide {
        font-size: 13.8px;
    }
}




/* =========================================================
   HOME: enlace directo al video, sin iframe ni API externa
========================================================= */
#clsf-home-2027 .clsf-video-link{position:absolute;inset:0;z-index:1;display:grid;place-items:center;overflow:hidden;color:#fff!important;background:#031b42;text-decoration:none}
#clsf-home-2027 .clsf-video-link-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.01)}
#clsf-home-2027 .clsf-video-link-shade{position:absolute;inset:0;background:linear-gradient(135deg,rgba(3,27,66,.78),rgba(5,40,94,.48))}
#clsf-home-2027 .clsf-video-link-content{position:relative;z-index:2;display:grid;justify-items:center;gap:8px;padding:24px;text-align:center}
#clsf-home-2027 .clsf-video-link-content strong{font-size:15px;font-weight:900}
#clsf-home-2027 .clsf-video-link-content small{color:rgba(255,255,255,.86);font-size:12px;font-weight:700}
#clsf-home-2027 .clsf-video-link:hover .clsf-video-play{background:#fff;color:#05285e;transform:scale(1.06)}
#clsf-home-2027 .clsf-video-link:focus-visible{outline:4px solid rgba(223,164,0,.72);outline-offset:-6px}
#clsf-home-2027 .clsf-video-play{display:grid;width:58px;height:58px;color:#fff;background:#dfa400;border:3px solid rgba(255,255,255,.82);border-radius:50%;box-shadow:0 12px 28px rgba(0,0,0,.28);place-items:center;transition:transform .2s ease,background .2s ease,color .2s ease}
#clsf-home-2027 .clsf-video-play svg{width:27px;height:27px;fill:currentColor;stroke:none}

/* Integración con la plantilla global: sin márgenes negativos ni duplicados. */
#clsf-home-2027,#clsf-oferta-general,.clsf-admision-page{width:100%;max-width:100%;margin:0}
.clsf-admision-hero,.clsf-recursos-full{width:100%;margin-left:0}
#clsf-home-2027 .clsf-access-icon img{display:block;width:46px;height:46px;object-fit:contain;contain:paint}
#clsf-home-2027 .clsf-access-card{backface-visibility:hidden}
@media(max-width:520px){#clsf-home-2027 .clsf-video-link-content{padding:18px}#clsf-home-2027 .clsf-video-play{width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){#clsf-home-2027 .clsf-video-play{transition:none!important}}

/* ---- oferta.css ---- */

/* =========================================================
   OFERTA ACADÉMICA — COLEGIO LA SAGRADA FAMILIA
   HTML + CSS — SIN JAVASCRIPT NI LIBRERÍAS EXTERNAS
   Preparado para un bloque HTML de Joomla.
========================================================= */

#clsf-oferta-general,
#clsf-oferta-general * { box-sizing: border-box; }

#clsf-oferta-general {
    --azul: #003763;
    --azul-2: #07558d;
    --celeste: #eaf6fd;
    --dorado: #dfa400;
    --dorado-claro: #fff4cf;
    --texto: #33485c;
    --gris: #6b7a89;
    --blanco: #ffffff;
    --fondo: #f5f8fb;
    width: 100%;
    overflow: hidden;
    color: var(--texto);
    background: var(--blanco);
    font-family: "Segoe UI", Arial, sans-serif;
}

#clsf-oferta-general img { display: block; max-width: 100%; }
#clsf-oferta-general a { text-decoration: none; }
#clsf-oferta-general a:focus-visible {
    outline: 4px solid rgba(223,164,0,.55);
    outline-offset: 4px;
}

#clsf-oferta-general .clsf-shell {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

/* HERO / SLIDE PRINCIPAL */
#clsf-oferta-general .clsf-hero {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    isolation: isolate;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(4,27,68,.97) 0%, rgba(6,42,99,.90) 36%, rgba(6,42,99,.45) 65%, rgba(6,42,99,.08) 100%),
        url("/images/2026/Matricula.jpg") 54% center / cover no-repeat;
}

#clsf-oferta-general .clsf-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 7px;
    background: linear-gradient(90deg, var(--dorado) 0 72%, #ffffff 72% 100%);
}

#clsf-oferta-general .clsf-hero-content {
    width: min(720px, 100%);
    padding: 82px 0 88px;
    color: #fff;
}

#clsf-oferta-general .clsf-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    padding: 8px 14px;
    color: #fff;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    backdrop-filter: blur(6px);
}

#clsf-oferta-general .clsf-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    background: var(--dorado);
    border-radius: 50%;
}

#clsf-oferta-general .clsf-hero h1 {
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(44px, 7vw, 76px);
    font-weight: 900;
    line-height: .98;
    letter-spacing: -2px;
    text-shadow: 0 5px 20px rgba(0,25,55,.35);
}

#clsf-oferta-general .clsf-hero h1 span {
    display: block;
    color: var(--dorado);
}

#clsf-oferta-general .clsf-hero p {
    max-width: 680px;
    margin: 0 0 28px;
    color: rgba(255,255,255,.96);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.65;
}

#clsf-oferta-general .clsf-hero-button,
#clsf-oferta-general .clsf-admission-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 13px 23px;
    color: var(--azul) !important;
    background: var(--dorado);
    border: 2px solid var(--dorado);
    border-radius: 9px;
    box-shadow: 0 10px 25px rgba(0,0,0,.18);
    font-size: 14px;
    font-weight: 900;
    transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}

#clsf-oferta-general .clsf-hero-button:hover,
#clsf-oferta-general .clsf-admission-button:hover {
    color: var(--azul) !important;
    background: #fff;
    border-color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 16px 31px rgba(0,0,0,.24);
}

/* ENCABEZADOS */
#clsf-oferta-general .clsf-heading {
    max-width: 790px;
    margin: 0 auto 36px;
    text-align: center;
}

#clsf-oferta-general .clsf-label {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--dorado);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

#clsf-oferta-general .clsf-heading h2 {
    margin: 0 0 14px;
    color: var(--azul);
    font-size: clamp(31px, 4vw, 45px);
    font-weight: 900;
    line-height: 1.12;
}

#clsf-oferta-general .clsf-heading h2 span { color: var(--dorado); }

#clsf-oferta-general .clsf-heading p {
    margin: 0;
    color: var(--gris);
    font-size: 16px;
    line-height: 1.75;
}

/* PRESENTACIÓN */
#clsf-oferta-general .clsf-intro {
    padding: 76px 20px 66px;
    background: #fff;
}

#clsf-oferta-general .clsf-intro-box {
    width: min(990px, 100%);
    margin: 0 auto;
    text-align: center;
}

#clsf-oferta-general .clsf-intro-box h2 {
    margin: 0 0 16px;
    color: var(--azul);
    font-size: clamp(31px, 4vw, 47px);
    line-height: 1.13;
    font-weight: 900;
}

#clsf-oferta-general .clsf-intro-box h2 span { color: var(--dorado); }

#clsf-oferta-general .clsf-intro-box p {
    max-width: 850px;
    margin: 0 auto;
    color: var(--gris);
    font-size: 17px;
    line-height: 1.8;
}

/* NIVELES */
#clsf-oferta-general .clsf-levels {
    padding: 76px 0 86px;
    background: linear-gradient(180deg, #f5f9fd 0%, #edf5fb 55%, #f9fbfd 100%);
}

#clsf-oferta-general .clsf-level-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

#clsf-oferta-general .clsf-level-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    color: var(--texto) !important;
    background: #fff;
    border: 1px solid rgba(0,55,99,.12);
    border-radius: 18px;
    box-shadow: 0 14px 35px rgba(0,55,99,.10);
    transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease;
}

#clsf-oferta-general .clsf-level-card:hover {
    border-color: rgba(223,164,0,.85);
    transform: translateY(-7px);
    box-shadow: 0 23px 46px rgba(0,55,99,.17);
}

#clsf-oferta-general .clsf-level-image {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #dfe8ef;
}

#clsf-oferta-general .clsf-level-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 48%, rgba(0,38,74,.55) 100%);
}

#clsf-oferta-general .clsf-level-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

#clsf-oferta-general .clsf-level-card:hover .clsf-level-image img { transform: scale(1.06); }

#clsf-oferta-general .clsf-badge {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    padding: 6px 10px;
    color: var(--azul);
    background: rgba(223,164,0,.97);
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .6px;
    text-transform: uppercase;
}

#clsf-oferta-general .clsf-level-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 21px 18px 0;
}

#clsf-oferta-general .clsf-level-content h3 {
    margin: 0 0 9px;
    color: var(--azul);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 900;
}

#clsf-oferta-general .clsf-level-content p {
    flex: 1;
    margin: 0 0 19px;
    color: var(--gris);
    font-size: 13.5px;
    line-height: 1.6;
}

#clsf-oferta-general .clsf-level-footer {
    margin: auto -18px 0;
    padding: 15px 18px;
    color: #fff;
    background: var(--azul);
    border-top: 3px solid var(--dorado);
    font-size: 13px;
    font-weight: 850;
    text-align: center;
    transition: background .25s ease;
}

#clsf-oferta-general .clsf-level-card:hover .clsf-level-footer { background: #07558d; }

/* FORMACIÓN INTEGRAL */
#clsf-oferta-general .clsf-integral {
    padding: 82px 0;
    background: #fff;
}

#clsf-oferta-general .clsf-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

#clsf-oferta-general .clsf-feature-card {
    min-height: 250px;
    padding: 25px 22px;
    background: #fff;
    border: 1px solid #e0e8ef;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(0,55,99,.08);
}

#clsf-oferta-general .clsf-feature-icon,
#clsf-oferta-general .clsf-faith-icon,
#clsf-oferta-general .clsf-support-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 18px;
    color: var(--azul);
    background: linear-gradient(145deg, #f4fbff 0%, #dff1fb 100%);
    border: 1px solid rgba(0,55,99,.13);
    border-radius: 18px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(0,55,99,.08);
    transition: transform .25s ease, box-shadow .25s ease;
}

#clsf-oferta-general svg {
    width: 35px;
    height: 35px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#clsf-oferta-general svg text {
    fill: currentColor;
    stroke: none;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 900;
}

#clsf-oferta-general .clsf-feature-card:hover .clsf-feature-icon,
#clsf-oferta-general .clsf-faith-card:hover .clsf-faith-icon {
    transform: translateY(-3px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 12px 24px rgba(0,55,99,.15);
}

#clsf-oferta-general .clsf-feature-card h3,
#clsf-oferta-general .clsf-faith-card h3,
#clsf-oferta-general .clsf-support-card h3 {
    margin: 0 0 9px;
    color: var(--azul);
    font-size: 19px;
    font-weight: 900;
}

#clsf-oferta-general .clsf-feature-card p,
#clsf-oferta-general .clsf-faith-card p,
#clsf-oferta-general .clsf-support-card p {
    margin: 0;
    color: var(--gris);
    font-size: 14px;
    line-height: 1.68;
}

/* IDENTIDAD CATÓLICA */
#clsf-oferta-general .clsf-faith {
    position: relative;
    padding: 84px 0;
    color: #fff;
    background: linear-gradient(135deg, #003763 0%, #064f88 100%);
}

#clsf-oferta-general .clsf-faith::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .12;
    background-image: radial-gradient(circle at 20% 20%, #fff 0 2px, transparent 2.5px);
    background-size: 44px 44px;
    pointer-events: none;
}

#clsf-oferta-general .clsf-faith .clsf-shell { position: relative; z-index: 2; }
#clsf-oferta-general .clsf-faith .clsf-label { color: #ffd45c; }
#clsf-oferta-general .clsf-faith .clsf-heading h2 { color: #fff; }
#clsf-oferta-general .clsf-faith .clsf-heading p { color: rgba(255,255,255,.80); }

#clsf-oferta-general .clsf-faith-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 17px;
}

#clsf-oferta-general .clsf-faith-card {
    padding: 24px 21px;
    background: rgba(255,255,255,.09);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    backdrop-filter: blur(5px);
}

#clsf-oferta-general .clsf-faith-icon {
    color: #fff;
    background: linear-gradient(145deg, #f7c51b 0%, #dfa400 100%);
    border-color: rgba(255,255,255,.38);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 10px 22px rgba(0,0,0,.16);
}

#clsf-oferta-general .clsf-faith-icon svg { width: 38px; height: 38px; }
#clsf-oferta-general .clsf-faith-icon.clsf-eucharist svg { width: 42px; height: 42px; }

#clsf-oferta-general .clsf-faith-card h3 { color: #fff; }
#clsf-oferta-general .clsf-faith-card p { color: rgba(255,255,255,.80); }

/* SEGUIMIENTO */
#clsf-oferta-general .clsf-support {
    padding: 82px 0;
    background: var(--fondo);
}

#clsf-oferta-general .clsf-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

#clsf-oferta-general .clsf-support-card {
    padding: 27px 24px;
    background: #fff;
    border: 1px solid #e0e8ef;
    border-top: 5px solid var(--dorado);
    border-radius: 17px;
    box-shadow: 0 13px 31px rgba(0,55,99,.08);
}

/* GALERÍA OCULTA */
#clsf-oferta-general .clsf-gallery-hidden { display: none !important; }

/* CTA */
#clsf-oferta-general .clsf-cta {
    position: relative;
    padding: 78px 20px;
    text-align: center;
    background: linear-gradient(135deg, #fff8df 0%, #fff 55%, #edf7fd 100%);
}

#clsf-oferta-general .clsf-cta-box {
    width: min(880px, 100%);
    margin: 0 auto;
    padding: 42px 34px;
    background: #fff;
    border: 1px solid rgba(0,55,99,.12);
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(0,55,99,.12);
}

#clsf-oferta-general .clsf-cta h2 {
    margin: 0 0 13px;
    color: var(--azul);
    font-size: clamp(29px, 4vw, 43px);
    font-weight: 900;
    line-height: 1.14;
}

#clsf-oferta-general .clsf-cta h2 span { color: var(--dorado); }

#clsf-oferta-general .clsf-cta p {
    max-width: 680px;
    margin: 0 auto 25px;
    color: var(--gris);
    font-size: 16px;
    line-height: 1.7;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
    #clsf-oferta-general .clsf-level-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    #clsf-oferta-general .clsf-feature-grid,
    #clsf-oferta-general .clsf-faith-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    #clsf-oferta-general .clsf-shell { width: min(100% - 28px, 1180px); }
    #clsf-oferta-general .clsf-hero {
        min-height: 510px;
        align-items: flex-end;
        background:
            linear-gradient(180deg, rgba(4,27,68,.10) 0%, rgba(4,27,68,.62) 45%, rgba(4,27,68,.98) 100%),
            url("/images/2026/Matricula.jpg") 72% center / cover no-repeat,
            #061e4d;
    }
    #clsf-oferta-general .clsf-hero-content { padding: 210px 0 48px; }
    #clsf-oferta-general .clsf-hero h1 { font-size: clamp(41px, 13vw, 59px); letter-spacing: -1.2px; }
    #clsf-oferta-general .clsf-level-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #clsf-oferta-general .clsf-support-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    #clsf-oferta-general .clsf-intro,
    #clsf-oferta-general .clsf-levels,
    #clsf-oferta-general .clsf-integral,
    #clsf-oferta-general .clsf-faith,
    #clsf-oferta-general .clsf-support { padding-top: 62px; padding-bottom: 64px; }
    #clsf-oferta-general .clsf-level-grid,
    #clsf-oferta-general .clsf-feature-grid,
    #clsf-oferta-general .clsf-faith-grid { grid-template-columns: 1fr; }
    #clsf-oferta-general .clsf-level-image { aspect-ratio: 16 / 9; }
    #clsf-oferta-general .clsf-cta-box { padding: 34px 20px; }
    #clsf-oferta-general .clsf-hero-button,
    #clsf-oferta-general .clsf-admission-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    #clsf-oferta-general * { scroll-behavior: auto !important; transition: none !important; }
}




#clsf-oferta-general #clsf-global-footer {
    --footer-navy: #05285e;
    --footer-navy-light: #0a3b78;
    --footer-navy-dark: #031a3d;
    --footer-yellow: #dfa400;
    --footer-white: #ffffff;
    --footer-text: #dce6f0;
    --footer-soft: #aebed0;
    --footer-border: rgba(255, 255, 255, 0.14);

    position: relative;
    width: 100%;
    overflow: hidden;
    color: var(--footer-white);
    background:
        radial-gradient(
            circle at 92% 8%,
            rgba(255, 255, 255, 0.065),
            transparent 28%
        ),
        linear-gradient(
            120deg,
            var(--footer-navy-dark) 0%,
            var(--footer-navy) 38%,
            var(--footer-navy-light) 100%
        );
}

#clsf-oferta-general #clsf-global-footer::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 5;
    height: 5px;
    background: linear-gradient(
        90deg,
        var(--footer-yellow),
        #f3c53e,
        var(--footer-yellow)
    );
}












































/* Mapa */
















/* Redes */












/* Contacto */
















/* Parte inferior */








/* Distribución responsive del footer, igual que en el Home */









/* =========================================================
   FOOTER SIN LOGO Y ALINEACIÓN MÓVIL CORREGIDA
========================================================= */







/* =========================================================
   FOOTER: CONTACTO MEJORADO Y CENTRADO COMPLETO EN MÓVIL
========================================================= */
#clsf-oferta-general .clsf-contact-whatsapp-icon {
    color: #25d366;
    background: rgba(37, 211, 102, 0.12);
    border-color: rgba(37, 211, 102, 0.34);
}

#clsf-oferta-general .clsf-contact-clock-icon {
    color: var(--footer-yellow);
    background: rgba(223, 164, 0, 0.12);
    border-color: rgba(223, 164, 0, 0.34);
}

#clsf-oferta-general .clsf-contact-whatsapp-icon svg,
#clsf-oferta-general .clsf-contact-clock-icon svg {
    width: 22px;
    height: 22px;
}




/* Coherencia visual con la interfaz de Admisiones */
#clsf-oferta-general .clsf-hero {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}
#clsf-oferta-general .clsf-level-card,
#clsf-oferta-general .clsf-feature-card,
#clsf-oferta-general .clsf-support-card,
#clsf-oferta-general .clsf-cta-box {
    border-radius: 12px;
}
#clsf-oferta-general .clsf-level-card,
#clsf-oferta-general .clsf-feature-card,
#clsf-oferta-general .clsf-support-card {
    box-shadow: 0 12px 30px rgba(15,23,42,.08);
}



/* =========================================================
   FOOTER GLOBAL V2 — PREVISUALIZACIÓN
   En la versión final se moverá a la plantilla CLSF.
========================================================= */




























































#clsf-oferta-general .clsf-contact-location { --contact-accent: #f2b705; }
#clsf-oferta-general .clsf-contact-phone { --contact-accent: #65c9ff; }
#clsf-oferta-general .clsf-contact-whatsapp { --contact-accent: #25d366; }
#clsf-oferta-general .clsf-contact-hours { --contact-accent: #f4c84b; }



















/* Tablet */


/* Móvil */


/* Teléfonos estrechos */





/* =========================================================
   PREVISUALIZACIÓN DEL MENÚ GLOBAL AJUSTADO
========================================================= */


































/* =========================================================
   AJUSTES AL FOOTER: MISMO ESTILO SOCIAL DEL HOME
========================================================= */






















/* =========================================================
   CORRECCIÓN FINAL DEL FOOTER — DISTRIBUCIÓN E ICONOS HOME
========================================================= */




/* Restauración exacta de los iconos sociales del Home. */















body:has(#clsf-oferta-general) .clsf-component{width:100%;max-width:none;padding:0;overflow:visible}
body:has(#clsf-oferta-general){overflow-x:hidden}

/* CLSF 1.0.16: integración y etiquetas unificadas */
#clsf-oferta-general{width:100%;max-width:100%;margin:0}
#clsf-oferta-general .clsf-label{display:inline-flex;align-items:center;justify-content:center;max-width:100%;margin:0 0 13px;padding:8px 14px;color:#1579ba;background:rgba(22,135,202,.09);border:1px solid rgba(22,135,202,.19);border-radius:999px;font-size:11px;font-weight:950;letter-spacing:1.55px;line-height:1.25;text-align:center;text-transform:uppercase}
#clsf-oferta-general .clsf-faith .clsf-label{color:#1579ba;background:#eaf6fd;border-color:rgba(22,135,202,.24)}

/* ---- institucion.css ---- */
#clsf-nosotros,#clsf-nosotros *{box-sizing:border-box}
#clsf-nosotros{
--blue:#003763;--dark:#06254a;--gold:#dfa400;--ink:#10243b;
--muted:#627286;--line:#dce6ef;--soft:#f4f8fb;--blue-soft:#eaf3fb;
font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);overflow:hidden
}
#clsf-nosotros a{text-decoration:none}
#clsf-nosotros a:focus-visible{outline:4px solid rgba(223,164,0,.55);outline-offset:4px}
#clsf-nosotros svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#clsf-nosotros .shell{width:min(1180px,calc(100% - 40px));margin:auto}
#clsf-nosotros .label{display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;padding:7px 13px;color:var(--blue);background:#eaf6fd;border:1px solid rgba(0,55,99,.18);border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
#clsf-nosotros .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border-radius:10px;font-size:14px;font-weight:850;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}
#clsf-nosotros .btn svg{width:18px;height:18px}
#clsf-nosotros .gold{background:var(--gold);color:var(--dark);box-shadow:0 12px 28px rgba(223,164,0,.24)}
#clsf-nosotros .gold:hover{background:#f2ba00;transform:translateY(-2px)}
#clsf-nosotros .outline{color:#fff;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.06)}
#clsf-nosotros .outline:hover{background:rgba(255,255,255,.13)}

#clsf-nosotros .hero{
position:relative;min-height:540px;display:flex;align-items:center;color:#fff;overflow:hidden;
background:
radial-gradient(circle at 86% 17%, rgba(223,164,0,.22), transparent 18%),
linear-gradient(120deg, #06254a 0%, #003763 58%, #0b4b79 100%)
}
#clsf-nosotros .hero:before{
content:"";position:absolute;inset:0;
background:
linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/44px 44px,
linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/44px 44px;
opacity:.5
}
#clsf-nosotros .hero:after{
content:"";position:absolute;right:-160px;bottom:-180px;width:520px;height:520px;border-radius:50%;
background:radial-gradient(circle, rgba(255,255,255,.12) 0%, rgba(255,255,255,.03) 52%, rgba(255,255,255,0) 72%);
}
#clsf-nosotros .hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:55px;align-items:center;padding:72px 0}
#clsf-nosotros .kicker{display:inline-flex;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
#clsf-nosotros h1{font-size:clamp(46px,7vw,82px);line-height:.98;margin:20px 0 18px;letter-spacing:-.04em}
#clsf-nosotros h1 span{color:#ffc400}
#clsf-nosotros .hero-copy p{max-width:680px;margin:0;color:rgba(255,255,255,.85);font-size:18px;line-height:1.72}
#clsf-nosotros .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

#clsf-nosotros .hero-panel{
position:relative;z-index:1;max-width:420px;margin-left:auto;background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.18);border-radius:26px;padding:28px;backdrop-filter:blur(4px);
box-shadow:0 20px 45px rgba(0,0,0,.18)
}
#clsf-nosotros .hero-badge{
display:inline-flex;align-items:center;justify-content:center;min-width:90px;height:38px;
padding:0 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);
font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff
}
#clsf-nosotros .hero-panel h3{margin:16px 0 12px;font-size:30px;line-height:1.14;color:#fff}
#clsf-nosotros .hero-panel p{margin:0;color:rgba(255,255,255,.78);line-height:1.7}
#clsf-nosotros .hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
#clsf-nosotros .metric{
padding:16px 14px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)
}
#clsf-nosotros .metric strong{display:block;font-size:28px;line-height:1;margin-bottom:6px;color:#ffc400}
#clsf-nosotros .metric span{display:block;color:rgba(255,255,255,.78);font-size:13px;line-height:1.45}
#clsf-nosotros .hero-orb{
position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.18)
}
#clsf-nosotros .hero-orb.one{width:120px;height:120px;right:28px;top:-18px}
#clsf-nosotros .hero-orb.two{width:62px;height:62px;left:-18px;bottom:55px;background:rgba(223,164,0,.18);border-color:rgba(223,164,0,.35)}
#clsf-nosotros .hero-line{
position:absolute;left:-30px;right:50px;bottom:-22px;height:80px;border-radius:40px;
border:1px solid rgba(255,255,255,.08)
}

#clsf-nosotros .section{padding:90px 0}
#clsf-nosotros .heading{text-align:center;max-width:800px;margin:0 auto 40px}
#clsf-nosotros .heading h2,#clsf-nosotros .about-copy h2{font-size:clamp(31px,4vw,49px);line-height:1.12;margin:0 0 14px;color:var(--blue)}
#clsf-nosotros .heading h2 span,#clsf-nosotros .about-copy h2 span{color:var(--gold)}
#clsf-nosotros .heading p{margin:0;color:var(--muted);font-size:16px;line-height:1.72}

#clsf-nosotros .about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}
#clsf-nosotros .about-copy p{margin:0 0 15px;color:var(--muted);line-height:1.75;font-size:16px}
#clsf-nosotros .about-panel{position:relative;min-height:390px;border-radius:28px;background:linear-gradient(145deg,#edf5fc,#fff);border:1px solid var(--line);overflow:hidden;padding:34px}
#clsf-nosotros .about-panel:before{content:"1938";position:absolute;right:-8px;bottom:-30px;font-size:145px;font-weight:900;color:rgba(0,55,99,.06)}
#clsf-nosotros .panel-icon,#clsf-nosotros .icon{display:grid;place-items:center;background:#eaf3fb;color:var(--blue)}
#clsf-nosotros .panel-icon{width:78px;height:78px;border-radius:22px;background:var(--blue);color:#fff;margin-bottom:25px}
#clsf-nosotros .panel-icon svg{width:40px;height:40px}
#clsf-nosotros .about-panel strong{display:block;color:var(--blue);font-size:28px;line-height:1.22;max-width:350px}
#clsf-nosotros .about-panel p{position:relative;margin:15px 0 0;max-width:400px;color:var(--muted);line-height:1.72}

#clsf-nosotros .soft{background:var(--soft)}
#clsf-nosotros .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
#clsf-nosotros .card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:29px 25px;box-shadow:0 12px 30px rgba(22,50,78,.07)}
#clsf-nosotros .card:before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;background:var(--gold)}
#clsf-nosotros .icon{width:56px;height:56px;border-radius:16px;margin-bottom:18px}
#clsf-nosotros .icon svg{width:29px;height:29px}
#clsf-nosotros .card h3{margin:0 0 10px;color:var(--blue);font-size:21px}
#clsf-nosotros .card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.68}

#clsf-nosotros .direction{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
#clsf-nosotros .direction article{border-radius:22px;padding:31px 26px;border:1px solid var(--line);background:#fff}
#clsf-nosotros .direction article:nth-child(2){background:linear-gradient(145deg,#062b55,#003763);color:#fff;border-color:#003763;box-shadow:0 16px 36px rgba(0,55,99,.18)}
#clsf-nosotros .direction article:nth-child(3){background:#fff7df}
#clsf-nosotros .direction article:nth-child(2) .icon{background:rgba(255,255,255,.1);color:#ffc400}
#clsf-nosotros .direction h3{font-size:25px;color:var(--blue);margin:0 0 12px}
#clsf-nosotros .direction article:nth-child(2) h3{color:#fff}
#clsf-nosotros .direction p{margin:0;color:var(--muted);font-size:15px;line-height:1.72}
#clsf-nosotros .direction article:nth-child(2) p{color:rgba(255,255,255,.8)}
#clsf-nosotros .values{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}
#clsf-nosotros .values span{padding:8px 11px;border-radius:999px;background:#fff;color:var(--blue);border:1px solid rgba(0,55,99,.10);font-size:13px;font-weight:800}

#clsf-nosotros .identity{background:linear-gradient(135deg,#06254a,#003763);color:#fff}
#clsf-nosotros .identity .heading h2{color:#fff}
#clsf-nosotros .identity .label{color:#fff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22)}
#clsf-nosotros .identity .heading p{color:rgba(255,255,255,.75)}
#clsf-nosotros .identity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
#clsf-nosotros .identity-card{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;border-radius:22px;padding:30px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
#clsf-nosotros .identity-card .icon{margin:0;background:var(--gold);color:var(--dark)}
#clsf-nosotros .identity-card h3{margin:0 0 9px;font-size:25px;color:#fff}
#clsf-nosotros .identity-card p{margin:0;color:rgba(255,255,255,.76);line-height:1.7}

#clsf-nosotros .founders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:960px;margin:auto}
#clsf-nosotros .founder{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:24px;background:#fff;box-shadow:0 12px 30px rgba(22,50,78,.06)}
#clsf-nosotros .founder-photo{
width:82px;height:82px;border-radius:50%;flex:0 0 82px;display:grid;place-items:center;overflow:hidden;
background:linear-gradient(145deg,#f6fbff,#e4eef7);border:4px solid #fff;box-shadow:0 0 0 1px var(--line),0 10px 24px rgba(22,50,78,.08)
}
#clsf-nosotros .founder-photo img{width:100%;height:100%;object-fit:cover;display:block}
#clsf-nosotros .founder-photo span{
display:grid;place-items:center;width:100%;height:100%;font-size:24px;font-weight:900;color:var(--blue);background:linear-gradient(145deg,#f8fbff,#e7eff7)
}
#clsf-nosotros .founder small{display:block;color:var(--gold);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
#clsf-nosotros .founder h3{margin:0 0 8px;color:var(--blue);font-size:22px}
#clsf-nosotros .founder p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65}

#clsf-nosotros .timeline{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
#clsf-nosotros .timeline:before{content:"";position:absolute;left:8%;right:8%;top:35px;height:2px;background:linear-gradient(90deg,var(--gold),#9bbbd5,var(--gold))}
#clsf-nosotros .time{position:relative;padding-top:72px}
#clsf-nosotros .time-dot{position:absolute;top:22px;left:22px;width:28px;height:28px;border-radius:50%;background:var(--gold);border:7px solid #fff;box-shadow:0 0 0 2px var(--gold)}
#clsf-nosotros .time-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px 21px}
#clsf-nosotros .time-card strong{display:block;color:var(--blue);font-size:27px;margin-bottom:8px}
#clsf-nosotros .time-card h3{margin:0 0 8px;color:var(--blue);font-size:18px}
#clsf-nosotros .time-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.62}

#clsf-nosotros .video-section{padding:90px 0;background:#fff}
#clsf-nosotros .video-wrap{max-width:980px;margin:auto}
#clsf-nosotros .video-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 42px rgba(22,50,78,.10)}

#clsf-nosotros .video-poster{position:relative;min-height:460px;display:grid;place-items:center;overflow:hidden;color:#fff;background:radial-gradient(circle at 78% 24%,rgba(223,164,0,.30),transparent 20%),linear-gradient(135deg,#061f43,#003763 58%,#0b4b79);isolation:isolate}
#clsf-nosotros .video-poster:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/46px 46px,linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/46px 46px;z-index:-2}
#clsf-nosotros .video-poster:after{content:"";position:absolute;width:520px;height:520px;right:-190px;bottom:-260px;border-radius:50%;border:1px solid rgba(255,255,255,.16);box-shadow:0 0 0 55px rgba(255,255,255,.03);z-index:-1}
#clsf-nosotros .video-poster-inner{display:grid;justify-items:center;gap:17px;max-width:680px;padding:46px 30px;text-align:center}
#clsf-nosotros .video-play{display:grid;place-items:center;width:92px;height:92px;border-radius:50%;color:var(--dark);background:var(--gold);box-shadow:0 18px 38px rgba(0,0,0,.24),0 0 0 13px rgba(255,255,255,.10);transition:transform .2s ease,box-shadow .2s ease}
#clsf-nosotros .video-play svg{width:42px;height:42px;margin-left:5px;fill:currentColor;stroke:none}
#clsf-nosotros .video-poster strong{color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.14}
#clsf-nosotros .video-poster-text{max-width:610px;color:rgba(255,255,255,.80);font-size:15px;line-height:1.7}
#clsf-nosotros .video-action{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border-radius:999px;color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);font-size:13px;font-weight:900}
#clsf-nosotros .video-poster:hover .video-play{transform:scale(1.06);box-shadow:0 22px 44px rgba(0,0,0,.27),0 0 0 16px rgba(255,255,255,.12)}

#clsf-nosotros .video-content{padding:28px 30px 31px;text-align:center}
#clsf-nosotros .video-content h3{margin:0 0 10px;color:var(--blue);font-size:clamp(24px,3vw,34px);line-height:1.2}
#clsf-nosotros .video-content h3 span{color:var(--gold)}
#clsf-nosotros .video-content p{max-width:720px;margin:0 auto;color:var(--muted);font-size:15px;line-height:1.7}

#clsf-nosotros .cta{padding:80px 0}
#clsf-nosotros .cta-box{text-align:center;border:1px solid var(--line);border-radius:24px;padding:42px 28px;background:linear-gradient(145deg,#fff,#f7fbfe);box-shadow:0 14px 35px rgba(22,50,78,.07)}
#clsf-nosotros .cta-box h2{font-size:clamp(30px,4vw,46px);line-height:1.14;margin:0 0 13px;color:var(--blue)}
#clsf-nosotros .cta-box h2 span{color:var(--gold)}
#clsf-nosotros .cta-box p{max-width:700px;margin:0 auto 24px;color:var(--muted);line-height:1.7}
#clsf-nosotros .cta-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
#clsf-nosotros .cta .outline{color:var(--blue);border-color:var(--line);background:#fff}
#clsf-nosotros .cta .outline:hover{background:#eaf3fb}

@media(max-width:960px){
#clsf-nosotros .hero-grid,#clsf-nosotros .about-grid{grid-template-columns:1fr}
#clsf-nosotros .grid3,#clsf-nosotros .direction{grid-template-columns:1fr}
#clsf-nosotros .timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
#clsf-nosotros .timeline:before{display:none}
#clsf-nosotros .hero-panel{max-width:100%}
}
@media(max-width:720px){
#clsf-nosotros .shell{width:min(100% - 28px,1180px)}
#clsf-nosotros .hero{min-height:auto}
#clsf-nosotros .hero-grid{padding:46px 0 42px}
#clsf-nosotros .hero-copy p{font-size:16px}
#clsf-nosotros h1{font-size:42px;letter-spacing:-1px}
#clsf-nosotros .hero-panel{display:none}
#clsf-nosotros .actions{flex-direction:column}
#clsf-nosotros .actions .btn{width:100%}
#clsf-nosotros .section,#clsf-nosotros .video-section{padding:65px 0}
#clsf-nosotros .identity-grid,#clsf-nosotros .founders,#clsf-nosotros .timeline{grid-template-columns:1fr}
#clsf-nosotros .identity-card{grid-template-columns:1fr}
#clsf-nosotros .founder{grid-template-columns:auto 1fr;align-items:start}
#clsf-nosotros .time{padding-top:0}
#clsf-nosotros .time-dot{display:none}
#clsf-nosotros .video-card{border-radius:18px}
#clsf-nosotros .video-content{padding:23px 20px 25px}
#clsf-nosotros .video-poster{min-height:310px}
#clsf-nosotros .video-poster-inner{padding:38px 22px}
#clsf-nosotros .video-play{width:76px;height:76px}
#clsf-nosotros .video-play svg{width:35px;height:35px}
}
@media(prefers-reduced-motion:reduce){#clsf-nosotros *,#clsf-nosotros *:before,#clsf-nosotros *:after{scroll-behavior:auto!important;transition:none!important}}


/* CLSF 1.0.21: slide y miniatura unificados */
#clsf-nosotros .hero{min-height:500px;background:radial-gradient(circle at 86% 17%,rgba(223,164,0,.18),transparent 18%),linear-gradient(120deg,#041b44 0%,#003763 58%,#0b4d8f 100%);box-shadow:inset 0 -7px 0 var(--gold)}
#clsf-nosotros .video-poster{background:linear-gradient(135deg,rgba(4,27,68,.78),rgba(0,55,99,.58)),url('/images/2026/banner-08.jpg') center/cover no-repeat}
@media(max-width:720px){#clsf-nosotros .hero{min-height:510px}}

/* ---- parvularia.css ---- */
#clsf-parvularia,#clsf-parvularia *{box-sizing:border-box}
#clsf-parvularia{--azul:#003763;--azul2:#07558d;--azul3:#061e4d;--dorado:#dfa400;--amarillo:#f2b705;--celeste:#eaf6fd;--texto:#33485c;--gris:#68798a;--blanco:#fff;--fondo:#f5f8fb;width:100%;overflow:hidden;color:var(--texto);background:#fff;font-family:'Segoe UI',Arial,sans-serif}
#clsf-parvularia a{text-decoration:none}#clsf-parvularia img{display:block;max-width:100%}
#clsf-parvularia a:focus-visible{outline:4px solid rgba(223,164,0,.55);outline-offset:4px}
#clsf-parvularia .pv-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
#clsf-parvularia .pv-hero{position:relative;min-height:550px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,rgba(4,27,68,.98) 0%,rgba(6,42,99,.92) 36%,rgba(6,42,99,.48) 65%,rgba(6,42,99,.10) 100%),url('/components/com_clsfsite/media/images/parvularia-portada.webp') center/cover no-repeat}
#clsf-parvularia .pv-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,var(--dorado) 0 72%,#fff 72% 100%)}
#clsf-parvularia .pv-hero-copy{width:min(720px,100%);padding:82px 0 92px;color:#fff;position:relative;z-index:2}
#clsf-parvularia .pv-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:8px 14px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:12px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;backdrop-filter:blur(6px)}
#clsf-parvularia .pv-kicker:before{content:"";width:8px;height:8px;background:var(--dorado);border-radius:50%}
#clsf-parvularia .pv-hero h1{margin:0 0 18px;color:#fff;font-size:clamp(48px,7vw,82px);font-weight:950;line-height:.95;letter-spacing:-2px;text-shadow:0 5px 20px rgba(0,25,55,.35)}
#clsf-parvularia .pv-hero h1 span{display:block;color:var(--dorado)}
#clsf-parvularia .pv-hero p{max-width:680px;margin:0 0 28px;color:rgba(255,255,255,.96);font-size:clamp(17px,2vw,21px);line-height:1.65}
#clsf-parvularia .pv-actions{display:flex;gap:12px;flex-wrap:wrap}
#clsf-parvularia .pv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 23px;border-radius:9px;font-size:14px;font-weight:900;transition:.25s ease}
#clsf-parvularia .pv-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#clsf-parvularia .pv-btn-gold{color:var(--azul)!important;background:var(--dorado);border:2px solid var(--dorado);box-shadow:0 10px 25px rgba(0,0,0,.18)}
#clsf-parvularia .pv-btn-gold:hover{background:#fff;border-color:#fff;transform:translateY(-3px)}
#clsf-parvularia .pv-btn-outline{color:#fff!important;background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.52)}
#clsf-parvularia .pv-btn-outline:hover{background:#fff;color:var(--azul)!important;transform:translateY(-3px)}
#clsf-parvularia .pv-section{padding:78px 0}
#clsf-parvularia .pv-heading{max-width:820px;margin:0 auto 38px;text-align:center}
#clsf-parvularia .pv-label{display:inline-block;margin-bottom:10px;color:var(--dorado);font-size:12px;font-weight:950;letter-spacing:1.55px;text-transform:uppercase}
#clsf-parvularia .pv-heading h2{margin:0 0 14px;color:var(--azul);font-size:clamp(31px,4vw,46px);font-weight:950;line-height:1.12}
#clsf-parvularia .pv-heading h2 span{color:var(--dorado)}
#clsf-parvularia .pv-heading p{margin:0;color:var(--gris);font-size:16.5px;line-height:1.75}
#clsf-parvularia .pv-intro{padding:76px 0 68px;background:#fff}
#clsf-parvularia .pv-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
#clsf-parvularia .pv-intro-copy .pv-label{margin-bottom:12px}
#clsf-parvularia .pv-intro-copy h2{margin:0 0 18px;color:var(--azul);font-size:clamp(33px,4vw,50px);line-height:1.1;font-weight:950}
#clsf-parvularia .pv-intro-copy h2 span{color:var(--dorado)}
#clsf-parvularia .pv-intro-copy p{margin:0 0 16px;color:var(--gris);font-size:17px;line-height:1.8}
#clsf-parvularia .pv-intro-panel{position:relative;padding:34px;background:linear-gradient(145deg,#f2f8fd,#e5f3fb);border:1px solid rgba(0,55,99,.09);border-radius:24px;box-shadow:0 18px 45px rgba(0,55,99,.10)}
#clsf-parvularia .pv-intro-panel:before{content:"";position:absolute;width:120px;height:120px;right:-24px;top:-24px;border-radius:50%;background:rgba(223,164,0,.15)}
#clsf-parvularia .pv-intro-panel strong{display:block;margin-bottom:12px;color:var(--azul);font-size:24px;line-height:1.25}
#clsf-parvularia .pv-intro-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:13px}
#clsf-parvularia .pv-intro-panel li{display:flex;align-items:flex-start;gap:12px;color:var(--texto);line-height:1.55}
#clsf-parvularia .pv-intro-panel li:before{content:"✓";display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;color:var(--azul);background:var(--dorado);border-radius:50%;font-weight:950}
#clsf-parvularia .pv-approach{background:linear-gradient(180deg,#f5f9fd,#eef6fb)}
#clsf-parvularia .pv-grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
#clsf-parvularia .pv-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:980px;margin:0 auto}
#clsf-parvularia .pv-feature{min-width:0;padding:26px 22px;background:#fff;border:1px solid rgba(0,55,99,.11);border-radius:18px;box-shadow:0 13px 30px rgba(0,55,99,.08);transition:.25s ease}
#clsf-parvularia .pv-feature:hover{transform:translateY(-6px);border-color:rgba(223,164,0,.65);box-shadow:0 20px 38px rgba(0,55,99,.14)}
#clsf-parvularia .pv-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:19px;color:var(--azul);background:linear-gradient(145deg,#edf7fd,#dceefa);border-radius:15px}
#clsf-parvularia .pv-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
#clsf-parvularia .pv-feature h3{margin:0 0 10px;color:var(--azul);font-size:19px;line-height:1.25;font-weight:900}
#clsf-parvularia .pv-feature p{margin:0;color:var(--gris);font-size:14.7px;line-height:1.65}
#clsf-parvularia .pv-levels{background:#fff}
#clsf-parvularia .pv-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#clsf-parvularia .pv-level{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(0,55,99,.12);border-radius:22px;box-shadow:0 16px 38px rgba(0,55,99,.10);transition:.26s ease}
#clsf-parvularia .pv-level:hover{transform:translateY(-7px);box-shadow:0 24px 46px rgba(0,55,99,.16)}
#clsf-parvularia .pv-level-top{position:relative;min-height:184px;padding:28px;display:flex;align-items:flex-end;overflow:hidden}
#clsf-parvularia .pv-level:nth-child(1) .pv-level-top{background:linear-gradient(145deg,#ffd6df,#fff0cf)}
#clsf-parvularia .pv-level:nth-child(2) .pv-level-top{background:linear-gradient(145deg,#cbeefe,#dcf8e7)}
#clsf-parvularia .pv-level:nth-child(3) .pv-level-top{background:linear-gradient(145deg,#e0d5ff,#ffdcbf)}
#clsf-parvularia .pv-people{position:absolute;inset:20px 18px auto auto;width:150px;height:130px;opacity:.96}
#clsf-parvularia .pv-person{position:absolute;bottom:0;width:48px;height:77px;border-radius:24px 24px 10px 10px;background:var(--azul)}
#clsf-parvularia .pv-person:before{content:"";position:absolute;width:39px;height:39px;left:4px;top:-32px;border-radius:50%;background:#d7ac88}
#clsf-parvularia .pv-person.a{left:12px;background:#fff}#clsf-parvularia .pv-person.a:before{background:#efc2a1}
#clsf-parvularia .pv-person.b{left:51px;background:var(--azul)}
#clsf-parvularia .pv-person.c{left:94px;background:var(--dorado);height:64px}#clsf-parvularia .pv-person.c:before{background:#efc2a1}
#clsf-parvularia .pv-grade{position:relative;z-index:2;display:inline-flex;padding:8px 12px;color:var(--azul);background:var(--dorado);border-radius:8px;font-size:12px;font-weight:950;letter-spacing:.5px;text-transform:uppercase}
#clsf-parvularia .pv-level-body{padding:28px}
#clsf-parvularia .pv-level-body h3{margin:0 0 7px;color:var(--azul);font-size:27px;font-weight:950}
#clsf-parvularia .pv-level-sub{display:block;margin-bottom:16px;color:var(--dorado);font-size:14px;font-weight:900}
#clsf-parvularia .pv-level-body p{margin:0 0 18px;color:var(--gris);font-size:15.5px;line-height:1.7}
#clsf-parvularia .pv-level-body ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
#clsf-parvularia .pv-level-body li{position:relative;padding-left:22px;color:var(--texto);font-size:14.5px;line-height:1.5}
#clsf-parvularia .pv-level-body li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--dorado);box-shadow:0 0 0 4px rgba(223,164,0,.14)}
#clsf-parvularia .pv-areas{background:linear-gradient(180deg,#f7fafc,#edf5fb)}
#clsf-parvularia .pv-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
#clsf-parvularia .pv-area{display:flex;gap:15px;align-items:flex-start;padding:22px;background:#fff;border:1px solid rgba(0,55,99,.10);border-radius:16px;box-shadow:0 10px 24px rgba(0,55,99,.06)}
#clsf-parvularia .pv-area .pv-icon{flex:0 0 50px;width:50px;height:50px;margin:0;border-radius:13px}
#clsf-parvularia .pv-area .pv-icon svg{width:26px;height:26px}
#clsf-parvularia .pv-area h3{margin:1px 0 6px;color:var(--azul);font-size:17px;font-weight:900}
#clsf-parvularia .pv-area p{margin:0;color:var(--gris);font-size:14px;line-height:1.55}
#clsf-parvularia .pv-panda{padding:78px 0;background:linear-gradient(115deg,#051f51,#073d74 55%,#07558d);color:#fff}
#clsf-parvularia .pv-panda-card{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;padding:36px 40px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);border-radius:24px;box-shadow:0 22px 48px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
#clsf-parvularia .pv-panda-icon{display:grid;place-items:center;width:92px;height:92px;color:var(--azul3);background:var(--dorado);border-radius:22px}
#clsf-parvularia .pv-panda-icon svg{width:56px;height:56px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
#clsf-parvularia .pv-panda-copy .pv-label{color:var(--dorado)}
#clsf-parvularia .pv-panda-copy h2{margin:0 0 10px;color:#fff;font-size:clamp(29px,4vw,43px);line-height:1.12;font-weight:950}
#clsf-parvularia .pv-panda-copy p{margin:0;color:rgba(255,255,255,.88);font-size:16px;line-height:1.75}
#clsf-parvularia .pv-panda .pv-btn-outline{white-space:nowrap}
#clsf-parvularia .pv-support{background:#fff}
#clsf-parvularia .pv-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#clsf-parvularia .pv-support-card{position:relative;padding:27px 25px;background:#fff;border:1px solid rgba(0,55,99,.11);border-top:4px solid var(--dorado);border-radius:16px;box-shadow:0 14px 34px rgba(0,55,99,.09)}
#clsf-parvularia .pv-support-card h3{margin:18px 0 8px;color:var(--azul);font-size:20px;font-weight:900}
#clsf-parvularia .pv-support-card p{margin:0;color:var(--gris);font-size:14.7px;line-height:1.65}
#clsf-parvularia .pv-cta{padding:78px 0;background:radial-gradient(circle at 15% 40%,#fff1c8 0,transparent 33%),linear-gradient(135deg,#fffaf0,#edf6fb)}
#clsf-parvularia .pv-cta-box{max-width:980px;margin:0 auto;padding:42px;text-align:center;background:rgba(255,255,255,.94);border:1px solid rgba(0,55,99,.11);border-radius:24px;box-shadow:0 18px 48px rgba(0,55,99,.11)}
#clsf-parvularia .pv-cta-box h2{margin:0 0 12px;color:var(--azul);font-size:clamp(31px,4vw,45px);line-height:1.12;font-weight:950}
#clsf-parvularia .pv-cta-box h2 span{color:var(--dorado)}
#clsf-parvularia .pv-cta-box p{max-width:690px;margin:0 auto 24px;color:var(--gris);font-size:16px;line-height:1.7}
#clsf-parvularia .pv-gallery-placeholder{display:none}
@media(max-width:1080px){#clsf-parvularia .pv-grid-5{grid-template-columns:repeat(3,1fr)}#clsf-parvularia .pv-grid-3{grid-template-columns:repeat(3,1fr)}#clsf-parvularia .pv-area-grid{grid-template-columns:repeat(2,1fr)}#clsf-parvularia .pv-panda-card{grid-template-columns:auto 1fr}#clsf-parvularia .pv-panda-card .pv-btn{grid-column:1/-1;width:100%}}
@media(max-width:820px){#clsf-parvularia .pv-grid-3{grid-template-columns:1fr}#clsf-parvularia .pv-intro-grid{grid-template-columns:1fr}#clsf-parvularia .pv-intro-panel{order:2}#clsf-parvularia .pv-level-grid,#clsf-parvularia .pv-support-grid{grid-template-columns:1fr}#clsf-parvularia .pv-level-top{min-height:160px}}
@media(max-width:680px){#clsf-parvularia .pv-shell{width:min(100% - 30px,1180px)}#clsf-parvularia .pv-actions{flex-direction:column}#clsf-parvularia .pv-btn{width:100%}#clsf-parvularia .pv-section{padding:60px 0}#clsf-parvularia .pv-intro{padding:58px 0}#clsf-parvularia .pv-grid-5,#clsf-parvularia .pv-area-grid{grid-template-columns:1fr}#clsf-parvularia .pv-panda-card{grid-template-columns:1fr;text-align:center;padding:30px 24px}#clsf-parvularia .pv-panda-icon{margin:auto}#clsf-parvularia .pv-cta-box{padding:34px 22px}}

/* ===== CLSF 1.0.16: integración, consistencia y respuesta móvil ===== */
#clsf-parvularia{width:100%;max-width:100%;margin:0;font-family:inherit}
#clsf-parvularia .pv-label{display:inline-flex;align-items:center;justify-content:center;max-width:100%;margin:0 0 13px;padding:8px 14px;color:#1579ba;background:rgba(22,135,202,.09);border:1px solid rgba(22,135,202,.19);border-radius:999px;font-size:11px;font-weight:950;letter-spacing:1.55px;line-height:1.25;text-align:center;text-transform:uppercase}
#clsf-parvularia .pv-level-top::before{content:"";position:absolute;width:150px;height:150px;right:-34px;top:-44px;border-radius:50%;background:rgba(255,255,255,.38)}
#clsf-parvularia .pv-level-top::after{content:"";position:absolute;width:72px;height:72px;left:24px;top:22px;border:2px dashed rgba(0,55,99,.15);border-radius:22px;transform:rotate(12deg)}
#clsf-parvularia .pv-level-art{position:absolute;inset:13px 18px auto auto;z-index:1;width:150px;height:132px;display:grid;place-items:center;color:var(--azul)}
#clsf-parvularia .pv-level-art svg{position:relative;z-index:2;width:64px;height:64px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 7px 12px rgba(0,55,99,.12))}
#clsf-parvularia .pv-level-number{position:absolute;right:0;top:-13px;z-index:1;color:rgba(0,55,99,.15);font-size:96px;font-weight:950;line-height:1}
#clsf-parvularia .pv-grade{max-width:calc(100% - 20px)}
@media(max-width:680px){
  #clsf-parvularia .pv-hero{min-height:510px;align-items:center;background:linear-gradient(180deg,rgba(4,27,68,.74) 0%,rgba(4,27,68,.82) 52%,rgba(4,27,68,.96) 100%),url('/components/com_clsfsite/media/images/parvularia-portada.webp') 72% center/cover no-repeat}
  #clsf-parvularia .pv-hero-copy{padding:58px 0 54px}
  #clsf-parvularia .pv-hero h1{font-size:clamp(39px,12vw,48px);line-height:1;letter-spacing:-1px}
  #clsf-parvularia .pv-hero p{font-size:15.5px;line-height:1.58}
  #clsf-parvularia .pv-kicker{margin-bottom:14px}
  #clsf-parvularia .pv-level-art{right:14px;transform:scale(.88);transform-origin:top right}
}

#clsf-parvularia .pv-panda-icon{width:116px;height:116px;padding:8px;background:linear-gradient(145deg,#fff5c7,#f4b900);border-radius:28px}
#clsf-parvularia .pv-panda-character{width:100%;height:100%;overflow:visible}
#clsf-parvularia .pv-panda-ear,#clsf-parvularia .pv-panda-body,#clsf-parvularia .pv-panda-patch{fill:#10233f}
#clsf-parvularia .pv-panda-face{fill:#fffdf5;stroke:#10233f;stroke-width:3}
#clsf-parvularia .pv-panda-eye,#clsf-parvularia .pv-panda-nose{fill:#10233f}
#clsf-parvularia .pv-panda-smile{fill:none;stroke:#10233f;stroke-width:3;stroke-linecap:round}
#clsf-parvularia .pv-panda-scarf{fill:#e6a900}
#clsf-parvularia .pv-panda-star{fill:#1687ca}#clsf-parvularia .pv-panda-star.small{fill:#f08b55}
@media(max-width:680px){#clsf-parvularia .pv-panda-icon{width:108px;height:108px}}


/* CLSF 1.0.21: slide interior unificado con Admisiones */
#clsf-parvularia .pv-hero{min-height:500px;background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/components/com_clsfsite/media/images/parvularia-portada.webp') center/cover no-repeat}
@media(max-width:680px){#clsf-parvularia .pv-hero{min-height:510px;background:linear-gradient(180deg,rgba(4,27,68,.76) 0%,rgba(4,27,68,.86) 52%,rgba(4,27,68,.98) 100%),url('/components/com_clsfsite/media/images/parvularia-portada.webp') 72% center/cover no-repeat}}

/* ---- primer-ciclo.css ---- */
#clsf-primer-ciclo,#clsf-primer-ciclo *{box-sizing:border-box}
#clsf-primer-ciclo{--azul:#003763;--azul2:#07558d;--azul3:#061e4d;--dorado:#dfa400;--amarillo:#f2b705;--celeste:#eaf6fd;--texto:#33485c;--gris:#68798a;--blanco:#fff;--fondo:#f5f8fb;width:100%;overflow:hidden;color:var(--texto);background:#fff;font-family:'Segoe UI',Arial,sans-serif}
#clsf-primer-ciclo a{text-decoration:none}#clsf-primer-ciclo img{display:block;max-width:100%}
#clsf-primer-ciclo a:focus-visible{outline:4px solid rgba(223,164,0,.55);outline-offset:4px}
#clsf-primer-ciclo .pc-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
#clsf-primer-ciclo .pc-hero{position:relative;min-height:550px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,rgba(4,27,68,.98) 0%,rgba(6,42,99,.93) 35%,rgba(6,42,99,.70) 53%,rgba(6,42,99,.18) 76%,rgba(6,42,99,.03) 100%),url('/images/2026/oferta-academica/primer-ciclo-portada.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}
#clsf-primer-ciclo .pc-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,var(--dorado) 0 72%,#fff 72% 100%)}
#clsf-primer-ciclo .pc-hero-copy{width:min(720px,100%);padding:82px 0 92px;color:#fff;position:relative;z-index:2}
#clsf-primer-ciclo .pc-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:8px 14px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:12px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;backdrop-filter:blur(6px)}
#clsf-primer-ciclo .pc-kicker:before{content:"";width:8px;height:8px;background:var(--dorado);border-radius:50%}
#clsf-primer-ciclo .pc-hero h1{margin:0 0 18px;color:#fff;font-size:clamp(48px,7vw,82px);font-weight:950;line-height:.95;letter-spacing:-2px;text-shadow:0 5px 20px rgba(0,25,55,.35)}
#clsf-primer-ciclo .pc-hero h1 span{display:block;color:var(--dorado)}
#clsf-primer-ciclo .pc-hero p{max-width:680px;margin:0 0 28px;color:rgba(255,255,255,.96);font-size:clamp(17px,2vw,21px);line-height:1.65}
#clsf-primer-ciclo .pc-actions{display:flex;gap:12px;flex-wrap:wrap}
#clsf-primer-ciclo .pc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 23px;border-radius:9px;font-size:14px;font-weight:900;transition:.25s ease}
#clsf-primer-ciclo .pc-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#clsf-primer-ciclo .pc-btn-gold{color:var(--azul)!important;background:var(--dorado);border:2px solid var(--dorado);box-shadow:0 10px 25px rgba(0,0,0,.18)}
#clsf-primer-ciclo .pc-btn-gold:hover{background:#fff;border-color:#fff;transform:translateY(-3px)}
#clsf-primer-ciclo .pc-btn-outline{color:#fff!important;background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.52)}
#clsf-primer-ciclo .pc-btn-outline:hover{background:#fff;color:var(--azul)!important;transform:translateY(-3px)}
#clsf-primer-ciclo .pc-section{padding:78px 0}
#clsf-primer-ciclo .pc-heading{max-width:820px;margin:0 auto 38px;text-align:center}
#clsf-primer-ciclo .pc-label{display:inline-block;margin-bottom:10px;color:var(--dorado);font-size:12px;font-weight:950;letter-spacing:1.55px;text-transform:uppercase}
#clsf-primer-ciclo .pc-heading h2{margin:0 0 14px;color:var(--azul);font-size:clamp(31px,4vw,46px);font-weight:950;line-height:1.12}
#clsf-primer-ciclo .pc-heading h2 span{color:var(--dorado)}
#clsf-primer-ciclo .pc-heading p{margin:0;color:var(--gris);font-size:16.5px;line-height:1.75}
#clsf-primer-ciclo .pc-intro{padding:76px 0 68px;background:#fff}
#clsf-primer-ciclo .pc-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
#clsf-primer-ciclo .pc-intro-copy .pc-label{margin-bottom:12px}
#clsf-primer-ciclo .pc-intro-copy h2{margin:0 0 18px;color:var(--azul);font-size:clamp(33px,4vw,50px);line-height:1.1;font-weight:950}
#clsf-primer-ciclo .pc-intro-copy h2 span{color:var(--dorado)}
#clsf-primer-ciclo .pc-intro-copy p{margin:0 0 16px;color:var(--gris);font-size:17px;line-height:1.8}
#clsf-primer-ciclo .pc-intro-panel{position:relative;padding:34px;background:linear-gradient(145deg,#f2f8fd,#e5f3fb);border:1px solid rgba(0,55,99,.09);border-radius:24px;box-shadow:0 18px 45px rgba(0,55,99,.10)}
#clsf-primer-ciclo .pc-intro-panel:before{content:"";position:absolute;width:120px;height:120px;right:-24px;top:-24px;border-radius:50%;background:rgba(223,164,0,.15)}
#clsf-primer-ciclo .pc-intro-panel strong{display:block;margin-bottom:12px;color:var(--azul);font-size:24px;line-height:1.25}
#clsf-primer-ciclo .pc-intro-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:13px}
#clsf-primer-ciclo .pc-intro-panel li{display:flex;align-items:flex-start;gap:12px;color:var(--texto);line-height:1.55}
#clsf-primer-ciclo .pc-intro-panel li:before{content:"✓";display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;color:var(--azul);background:var(--dorado);border-radius:50%;font-weight:950}
#clsf-primer-ciclo .pc-approach{background:linear-gradient(180deg,#f5f9fd,#eef6fb)}
#clsf-primer-ciclo .pc-grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
#clsf-primer-ciclo .pc-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:980px;margin:0 auto}
#clsf-primer-ciclo .pc-feature{min-width:0;padding:26px 22px;background:#fff;border:1px solid rgba(0,55,99,.11);border-radius:18px;box-shadow:0 13px 30px rgba(0,55,99,.08);transition:.25s ease}
#clsf-primer-ciclo .pc-feature:hover{transform:translateY(-6px);border-color:rgba(223,164,0,.65);box-shadow:0 20px 38px rgba(0,55,99,.14)}
#clsf-primer-ciclo .pc-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:19px;color:var(--azul);background:linear-gradient(145deg,#edf7fd,#dceefa);border-radius:15px}
#clsf-primer-ciclo .pc-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
#clsf-primer-ciclo .pc-feature h3{margin:0 0 10px;color:var(--azul);font-size:19px;line-height:1.25;font-weight:900}
#clsf-primer-ciclo .pc-feature p{margin:0;color:var(--gris);font-size:14.7px;line-height:1.65}
#clsf-primer-ciclo .pc-levels{background:#fff}
#clsf-primer-ciclo .pc-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#clsf-primer-ciclo .pc-level{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(0,55,99,.12);border-radius:22px;box-shadow:0 16px 38px rgba(0,55,99,.10);transition:.26s ease}
#clsf-primer-ciclo .pc-level:hover{transform:translateY(-7px);box-shadow:0 24px 46px rgba(0,55,99,.16)}
#clsf-primer-ciclo .pc-level-top{position:relative;min-height:184px;padding:28px;display:flex;align-items:flex-end;overflow:hidden}
#clsf-primer-ciclo .pc-level:nth-child(1) .pc-level-top{background:linear-gradient(145deg,#ffd6df,#fff0cf)}
#clsf-primer-ciclo .pc-level:nth-child(2) .pc-level-top{background:linear-gradient(145deg,#cbeefe,#dcf8e7)}
#clsf-primer-ciclo .pc-level:nth-child(3) .pc-level-top{background:linear-gradient(145deg,#e0d5ff,#ffdcbf)}
#clsf-primer-ciclo .pc-people{position:absolute;inset:20px 18px auto auto;width:150px;height:130px;opacity:.96}
#clsf-primer-ciclo .pc-person{position:absolute;bottom:0;width:48px;height:77px;border-radius:24px 24px 10px 10px;background:var(--azul)}
#clsf-primer-ciclo .pc-person:before{content:"";position:absolute;width:39px;height:39px;left:4px;top:-32px;border-radius:50%;background:#d7ac88}
#clsf-primer-ciclo .pc-person.a{left:12px;background:#fff}#clsf-primer-ciclo .pc-person.a:before{background:#efc2a1}
#clsf-primer-ciclo .pc-person.b{left:51px;background:var(--azul)}
#clsf-primer-ciclo .pc-person.c{left:94px;background:var(--dorado);height:64px}#clsf-primer-ciclo .pc-person.c:before{background:#efc2a1}
#clsf-primer-ciclo .pc-grade{position:relative;z-index:2;display:inline-flex;padding:8px 12px;color:var(--azul);background:var(--dorado);border-radius:8px;font-size:12px;font-weight:950;letter-spacing:.5px;text-transform:uppercase}
#clsf-primer-ciclo .pc-level-body{padding:28px}
#clsf-primer-ciclo .pc-level-body h3{margin:0 0 7px;color:var(--azul);font-size:27px;font-weight:950}
#clsf-primer-ciclo .pc-level-sub{display:block;margin-bottom:16px;color:var(--dorado);font-size:14px;font-weight:900}
#clsf-primer-ciclo .pc-level-body p{margin:0 0 18px;color:var(--gris);font-size:15.5px;line-height:1.7}
#clsf-primer-ciclo .pc-level-body ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
#clsf-primer-ciclo .pc-level-body li{position:relative;padding-left:22px;color:var(--texto);font-size:14.5px;line-height:1.5}
#clsf-primer-ciclo .pc-level-body li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--dorado);box-shadow:0 0 0 4px rgba(223,164,0,.14)}
#clsf-primer-ciclo .pc-areas{background:linear-gradient(180deg,#f7fafc,#edf5fb)}
#clsf-primer-ciclo .pc-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
#clsf-primer-ciclo .pc-area{display:flex;gap:15px;align-items:flex-start;padding:22px;background:#fff;border:1px solid rgba(0,55,99,.10);border-radius:16px;box-shadow:0 10px 24px rgba(0,55,99,.06)}
#clsf-primer-ciclo .pc-area .pc-icon{flex:0 0 50px;width:50px;height:50px;margin:0;border-radius:13px}
#clsf-primer-ciclo .pc-area .pc-icon svg{width:26px;height:26px}
#clsf-primer-ciclo .pc-area h3{margin:1px 0 6px;color:var(--azul);font-size:17px;font-weight:900}
#clsf-primer-ciclo .pc-area p{margin:0;color:var(--gris);font-size:14px;line-height:1.55}
#clsf-primer-ciclo .pc-extra{padding:78px 0;background:linear-gradient(115deg,#051f51,#073d74 55%,#07558d);color:#fff}
#clsf-primer-ciclo .pc-extra-card{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;padding:36px 40px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);border-radius:24px;box-shadow:0 22px 48px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
#clsf-primer-ciclo .pc-extra-icon{display:grid;place-items:center;width:92px;height:92px;color:var(--azul3);background:var(--dorado);border-radius:22px}
#clsf-primer-ciclo .pc-extra-icon svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
#clsf-primer-ciclo .pc-extra-copy .pc-label{color:var(--dorado)}
#clsf-primer-ciclo .pc-extra-copy h2{margin:0 0 10px;color:#fff;font-size:clamp(29px,4vw,43px);line-height:1.12;font-weight:950}
#clsf-primer-ciclo .pc-extra-copy p{margin:0;color:rgba(255,255,255,.88);font-size:16px;line-height:1.75}
#clsf-primer-ciclo .pc-extra .pc-btn-outline{white-space:nowrap}
#clsf-primer-ciclo .pc-support{background:#fff}
#clsf-primer-ciclo .pc-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#clsf-primer-ciclo .pc-support-card{position:relative;padding:27px 25px;background:#fff;border:1px solid rgba(0,55,99,.11);border-top:4px solid var(--dorado);border-radius:16px;box-shadow:0 14px 34px rgba(0,55,99,.09)}
#clsf-primer-ciclo .pc-support-card h3{margin:18px 0 8px;color:var(--azul);font-size:20px;font-weight:900}
#clsf-primer-ciclo .pc-support-card p{margin:0;color:var(--gris);font-size:14.7px;line-height:1.65}
#clsf-primer-ciclo .pc-cta{padding:78px 0;background:radial-gradient(circle at 15% 40%,#fff1c8 0,transparent 33%),linear-gradient(135deg,#fffaf0,#edf6fb)}
#clsf-primer-ciclo .pc-cta-box{max-width:980px;margin:0 auto;padding:42px;text-align:center;background:rgba(255,255,255,.94);border:1px solid rgba(0,55,99,.11);border-radius:24px;box-shadow:0 18px 48px rgba(0,55,99,.11)}
#clsf-primer-ciclo .pc-cta-box h2{margin:0 0 12px;color:var(--azul);font-size:clamp(31px,4vw,45px);line-height:1.12;font-weight:950}
#clsf-primer-ciclo .pc-cta-box h2 span{color:var(--dorado)}
#clsf-primer-ciclo .pc-cta-box p{max-width:690px;margin:0 auto 24px;color:var(--gris);font-size:16px;line-height:1.7}
#clsf-primer-ciclo .pc-gallery-placeholder{display:none}
@media(max-width:1080px){#clsf-primer-ciclo .pc-grid-5{grid-template-columns:repeat(3,1fr)}#clsf-primer-ciclo .pc-grid-3{grid-template-columns:repeat(3,1fr)}#clsf-primer-ciclo .pc-area-grid{grid-template-columns:repeat(2,1fr)}#clsf-primer-ciclo .pc-extra-card{grid-template-columns:auto 1fr}#clsf-primer-ciclo .pc-extra-card .pc-btn{grid-column:1/-1;width:100%}}
@media(max-width:820px){#clsf-primer-ciclo .pc-grid-3{grid-template-columns:1fr}#clsf-primer-ciclo .pc-intro-grid{grid-template-columns:1fr}#clsf-primer-ciclo .pc-intro-panel{order:2}#clsf-primer-ciclo .pc-level-grid,#clsf-primer-ciclo .pc-support-grid{grid-template-columns:1fr}#clsf-primer-ciclo .pc-level-top{min-height:160px}}
@media(max-width:680px){#clsf-primer-ciclo .pc-shell{width:min(100% - 30px,1180px)}#clsf-primer-ciclo .pc-actions{flex-direction:column}#clsf-primer-ciclo .pc-btn{width:100%}#clsf-primer-ciclo .pc-section{padding:60px 0}#clsf-primer-ciclo .pc-intro{padding:58px 0}#clsf-primer-ciclo .pc-grid-5,#clsf-primer-ciclo .pc-area-grid{grid-template-columns:1fr}#clsf-primer-ciclo .pc-extra-card{grid-template-columns:1fr;text-align:center;padding:30px 24px}#clsf-primer-ciclo .pc-extra-icon{margin:auto}#clsf-primer-ciclo .pc-cta-box{padding:34px 22px}}

/* ===== CLSF 1.0.16: integración, consistencia y respuesta móvil ===== */
#clsf-primer-ciclo{width:100%;max-width:100%;margin:0;font-family:inherit}
#clsf-primer-ciclo .pc-label{display:inline-flex;align-items:center;justify-content:center;max-width:100%;margin:0 0 13px;padding:8px 14px;color:#1579ba;background:rgba(22,135,202,.09);border:1px solid rgba(22,135,202,.19);border-radius:999px;font-size:11px;font-weight:950;letter-spacing:1.55px;line-height:1.25;text-align:center;text-transform:uppercase}
#clsf-primer-ciclo .pc-level-top::before{content:"";position:absolute;width:150px;height:150px;right:-34px;top:-44px;border-radius:50%;background:rgba(255,255,255,.38)}
#clsf-primer-ciclo .pc-level-top::after{content:"";position:absolute;width:72px;height:72px;left:24px;top:22px;border:2px dashed rgba(0,55,99,.15);border-radius:22px;transform:rotate(12deg)}
#clsf-primer-ciclo .pc-level-art{position:absolute;inset:13px 18px auto auto;z-index:1;width:150px;height:132px;display:grid;place-items:center;color:var(--azul)}
#clsf-primer-ciclo .pc-level-art svg{position:relative;z-index:2;width:64px;height:64px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 7px 12px rgba(0,55,99,.12))}
#clsf-primer-ciclo .pc-level-number{position:absolute;right:0;top:-13px;z-index:1;color:rgba(0,55,99,.15);font-size:96px;font-weight:950;line-height:1}
#clsf-primer-ciclo .pc-grade{max-width:calc(100% - 20px)}
@media(max-width:680px){
  #clsf-primer-ciclo .pc-hero{min-height:510px;align-items:center;background:linear-gradient(180deg,rgba(4,27,68,.76) 0%,rgba(4,27,68,.84) 52%,rgba(4,27,68,.97) 100%),url('/images/2026/oferta-academica/primer-ciclo-portada.png') 72% center/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}
  #clsf-primer-ciclo .pc-hero-copy{padding:58px 0 54px}
  #clsf-primer-ciclo .pc-hero h1{font-size:clamp(39px,12vw,48px);line-height:1;letter-spacing:-1px}
  #clsf-primer-ciclo .pc-hero p{font-size:15.5px;line-height:1.58}
  #clsf-primer-ciclo .pc-kicker{margin-bottom:14px}
  #clsf-primer-ciclo .pc-level-art{right:14px;transform:scale(.88);transform-origin:top right}
}


/* CLSF 1.0.21: slide interior unificado con Admisiones */
#clsf-primer-ciclo .pc-hero{min-height:500px;background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/oferta-academica/primer-ciclo-portada.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}
@media(max-width:680px){#clsf-primer-ciclo .pc-hero{min-height:510px;background:linear-gradient(180deg,rgba(4,27,68,.76) 0%,rgba(4,27,68,.86) 52%,rgba(4,27,68,.98) 100%),url('/images/2026/oferta-academica/primer-ciclo-portada.png') 72% center/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}}

/* ---- segundo-ciclo.css ---- */
#clsf-segundo-ciclo,#clsf-segundo-ciclo *{box-sizing:border-box}
#clsf-segundo-ciclo{--azul:#003763;--azul2:#07558d;--azul3:#061e4d;--dorado:#dfa400;--amarillo:#f2b705;--celeste:#eaf6fd;--texto:#33485c;--gris:#68798a;--blanco:#fff;--fondo:#f5f8fb;width:100%;overflow:hidden;color:var(--texto);background:#fff;font-family:'Segoe UI',Arial,sans-serif}
#clsf-segundo-ciclo a{text-decoration:none}#clsf-segundo-ciclo img{display:block;max-width:100%}
#clsf-segundo-ciclo a:focus-visible{outline:4px solid rgba(223,164,0,.55);outline-offset:4px}
#clsf-segundo-ciclo .sc-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
#clsf-segundo-ciclo .sc-hero{position:relative;min-height:550px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,rgba(4,27,68,.98) 0%,rgba(6,42,99,.93) 35%,rgba(6,42,99,.70) 53%,rgba(6,42,99,.18) 76%,rgba(6,42,99,.03) 100%),url('/images/2026/oferta-academica/segundo-ciclo-portada.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}
#clsf-segundo-ciclo .sc-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,var(--dorado) 0 72%,#fff 72% 100%)}
#clsf-segundo-ciclo .sc-hero-copy{width:min(720px,100%);padding:82px 0 92px;color:#fff;position:relative;z-index:2}
#clsf-segundo-ciclo .sc-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:8px 14px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:12px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;backdrop-filter:blur(6px)}
#clsf-segundo-ciclo .sc-kicker:before{content:"";width:8px;height:8px;background:var(--dorado);border-radius:50%}
#clsf-segundo-ciclo .sc-hero h1{margin:0 0 18px;color:#fff;font-size:clamp(48px,7vw,82px);font-weight:950;line-height:.95;letter-spacing:-2px;text-shadow:0 5px 20px rgba(0,25,55,.35)}
#clsf-segundo-ciclo .sc-hero h1 span{display:block;color:var(--dorado)}
#clsf-segundo-ciclo .sc-hero p{max-width:680px;margin:0 0 28px;color:rgba(255,255,255,.96);font-size:clamp(17px,2vw,21px);line-height:1.65}
#clsf-segundo-ciclo .sc-actions{display:flex;gap:12px;flex-wrap:wrap}
#clsf-segundo-ciclo .sc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 23px;border-radius:9px;font-size:14px;font-weight:900;transition:.25s ease}
#clsf-segundo-ciclo .sc-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#clsf-segundo-ciclo .sc-btn-gold{color:var(--azul)!important;background:var(--dorado);border:2px solid var(--dorado);box-shadow:0 10px 25px rgba(0,0,0,.18)}
#clsf-segundo-ciclo .sc-btn-gold:hover{background:#fff;border-color:#fff;transform:translateY(-3px)}
#clsf-segundo-ciclo .sc-btn-outline{color:#fff!important;background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.52)}
#clsf-segundo-ciclo .sc-btn-outline:hover{background:#fff;color:var(--azul)!important;transform:translateY(-3px)}
#clsf-segundo-ciclo .sc-section{padding:78px 0}
#clsf-segundo-ciclo .sc-heading{max-width:820px;margin:0 auto 38px;text-align:center}
#clsf-segundo-ciclo .sc-label{display:inline-block;margin-bottom:10px;color:var(--dorado);font-size:12px;font-weight:950;letter-spacing:1.55px;text-transform:uppercase}
#clsf-segundo-ciclo .sc-heading h2{margin:0 0 14px;color:var(--azul);font-size:clamp(31px,4vw,46px);font-weight:950;line-height:1.12}
#clsf-segundo-ciclo .sc-heading h2 span{color:var(--dorado)}
#clsf-segundo-ciclo .sc-heading p{margin:0;color:var(--gris);font-size:16.5px;line-height:1.75}
#clsf-segundo-ciclo .sc-intro{padding:76px 0 68px;background:#fff}
#clsf-segundo-ciclo .sc-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
#clsf-segundo-ciclo .sc-intro-copy .sc-label{margin-bottom:12px}
#clsf-segundo-ciclo .sc-intro-copy h2{margin:0 0 18px;color:var(--azul);font-size:clamp(33px,4vw,50px);line-height:1.1;font-weight:950}
#clsf-segundo-ciclo .sc-intro-copy h2 span{color:var(--dorado)}
#clsf-segundo-ciclo .sc-intro-copy p{margin:0 0 16px;color:var(--gris);font-size:17px;line-height:1.8}
#clsf-segundo-ciclo .sc-intro-panel{position:relative;padding:34px;background:linear-gradient(145deg,#f2f8fd,#e5f3fb);border:1px solid rgba(0,55,99,.09);border-radius:24px;box-shadow:0 18px 45px rgba(0,55,99,.10)}
#clsf-segundo-ciclo .sc-intro-panel:before{content:"";position:absolute;width:120px;height:120px;right:-24px;top:-24px;border-radius:50%;background:rgba(223,164,0,.15)}
#clsf-segundo-ciclo .sc-intro-panel strong{display:block;margin-bottom:12px;color:var(--azul);font-size:24px;line-height:1.25}
#clsf-segundo-ciclo .sc-intro-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:13px}
#clsf-segundo-ciclo .sc-intro-panel li{display:flex;align-items:flex-start;gap:12px;color:var(--texto);line-height:1.55}
#clsf-segundo-ciclo .sc-intro-panel li:before{content:"✓";display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;color:var(--azul);background:var(--dorado);border-radius:50%;font-weight:950}
#clsf-segundo-ciclo .sc-approach{background:linear-gradient(180deg,#f5f9fd,#eef6fb)}
#clsf-segundo-ciclo .sc-grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
#clsf-segundo-ciclo .sc-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:980px;margin:0 auto}
#clsf-segundo-ciclo .sc-feature{min-width:0;padding:26px 22px;background:#fff;border:1px solid rgba(0,55,99,.11);border-radius:18px;box-shadow:0 13px 30px rgba(0,55,99,.08);transition:.25s ease}
#clsf-segundo-ciclo .sc-feature:hover{transform:translateY(-6px);border-color:rgba(223,164,0,.65);box-shadow:0 20px 38px rgba(0,55,99,.14)}
#clsf-segundo-ciclo .sc-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:19px;color:var(--azul);background:linear-gradient(145deg,#edf7fd,#dceefa);border-radius:15px}
#clsf-segundo-ciclo .sc-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
#clsf-segundo-ciclo .sc-feature h3{margin:0 0 10px;color:var(--azul);font-size:19px;line-height:1.25;font-weight:900}
#clsf-segundo-ciclo .sc-feature p{margin:0;color:var(--gris);font-size:14.7px;line-height:1.65}
#clsf-segundo-ciclo .sc-levels{background:#fff}
#clsf-segundo-ciclo .sc-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#clsf-segundo-ciclo .sc-level{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(0,55,99,.12);border-radius:22px;box-shadow:0 16px 38px rgba(0,55,99,.10);transition:.26s ease}
#clsf-segundo-ciclo .sc-level:hover{transform:translateY(-7px);box-shadow:0 24px 46px rgba(0,55,99,.16)}
#clsf-segundo-ciclo .sc-level-top{position:relative;min-height:184px;padding:28px;display:flex;align-items:flex-end;overflow:hidden}
#clsf-segundo-ciclo .sc-level:nth-child(1) .sc-level-top{background:linear-gradient(145deg,#ffd6df,#fff0cf)}
#clsf-segundo-ciclo .sc-level:nth-child(2) .sc-level-top{background:linear-gradient(145deg,#cbeefe,#dcf8e7)}
#clsf-segundo-ciclo .sc-level:nth-child(3) .sc-level-top{background:linear-gradient(145deg,#e0d5ff,#ffdcbf)}
#clsf-segundo-ciclo .sc-people{position:absolute;inset:20px 18px auto auto;width:150px;height:130px;opacity:.96}
#clsf-segundo-ciclo .sc-person{position:absolute;bottom:0;width:48px;height:77px;border-radius:24px 24px 10px 10px;background:var(--azul)}
#clsf-segundo-ciclo .sc-person:before{content:"";position:absolute;width:39px;height:39px;left:4px;top:-32px;border-radius:50%;background:#d7ac88}
#clsf-segundo-ciclo .sc-person.a{left:12px;background:#fff}#clsf-segundo-ciclo .sc-person.a:before{background:#efc2a1}
#clsf-segundo-ciclo .sc-person.b{left:51px;background:var(--azul)}
#clsf-segundo-ciclo .sc-person.c{left:94px;background:var(--dorado);height:64px}#clsf-segundo-ciclo .sc-person.c:before{background:#efc2a1}
#clsf-segundo-ciclo .sc-grade{position:relative;z-index:2;display:inline-flex;padding:8px 12px;color:var(--azul);background:var(--dorado);border-radius:8px;font-size:12px;font-weight:950;letter-spacing:.5px;text-transform:uppercase}
#clsf-segundo-ciclo .sc-level-body{padding:28px}
#clsf-segundo-ciclo .sc-level-body h3{margin:0 0 7px;color:var(--azul);font-size:27px;font-weight:950}
#clsf-segundo-ciclo .sc-level-sub{display:block;margin-bottom:16px;color:var(--dorado);font-size:14px;font-weight:900}
#clsf-segundo-ciclo .sc-level-body p{margin:0 0 18px;color:var(--gris);font-size:15.5px;line-height:1.7}
#clsf-segundo-ciclo .sc-level-body ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
#clsf-segundo-ciclo .sc-level-body li{position:relative;padding-left:22px;color:var(--texto);font-size:14.5px;line-height:1.5}
#clsf-segundo-ciclo .sc-level-body li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--dorado);box-shadow:0 0 0 4px rgba(223,164,0,.14)}
#clsf-segundo-ciclo .sc-areas{background:linear-gradient(180deg,#f7fafc,#edf5fb)}
#clsf-segundo-ciclo .sc-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
#clsf-segundo-ciclo .sc-area{display:flex;gap:15px;align-items:flex-start;padding:22px;background:#fff;border:1px solid rgba(0,55,99,.10);border-radius:16px;box-shadow:0 10px 24px rgba(0,55,99,.06)}
#clsf-segundo-ciclo .sc-area .sc-icon{flex:0 0 50px;width:50px;height:50px;margin:0;border-radius:13px}
#clsf-segundo-ciclo .sc-area .sc-icon svg{width:26px;height:26px}
#clsf-segundo-ciclo .sc-area h3{margin:1px 0 6px;color:var(--azul);font-size:17px;font-weight:900}
#clsf-segundo-ciclo .sc-area p{margin:0;color:var(--gris);font-size:14px;line-height:1.55}
#clsf-segundo-ciclo .sc-extra{padding:78px 0;background:linear-gradient(115deg,#051f51,#073d74 55%,#07558d);color:#fff}
#clsf-segundo-ciclo .sc-extra-card{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;padding:36px 40px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);border-radius:24px;box-shadow:0 22px 48px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
#clsf-segundo-ciclo .sc-extra-icon{display:grid;place-items:center;width:92px;height:92px;color:var(--azul3);background:var(--dorado);border-radius:22px}
#clsf-segundo-ciclo .sc-extra-icon svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
#clsf-segundo-ciclo .sc-extra-copy .sc-label{color:var(--dorado)}
#clsf-segundo-ciclo .sc-extra-copy h2{margin:0 0 10px;color:#fff;font-size:clamp(29px,4vw,43px);line-height:1.12;font-weight:950}
#clsf-segundo-ciclo .sc-extra-copy p{margin:0;color:rgba(255,255,255,.88);font-size:16px;line-height:1.75}
#clsf-segundo-ciclo .sc-extra .sc-btn-outline{white-space:nowrap}
#clsf-segundo-ciclo .sc-support{background:#fff}
#clsf-segundo-ciclo .sc-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#clsf-segundo-ciclo .sc-support-card{position:relative;padding:27px 25px;background:#fff;border:1px solid rgba(0,55,99,.11);border-top:4px solid var(--dorado);border-radius:16px;box-shadow:0 14px 34px rgba(0,55,99,.09)}
#clsf-segundo-ciclo .sc-support-card h3{margin:18px 0 8px;color:var(--azul);font-size:20px;font-weight:900}
#clsf-segundo-ciclo .sc-support-card p{margin:0;color:var(--gris);font-size:14.7px;line-height:1.65}
#clsf-segundo-ciclo .sc-cta{padding:78px 0;background:radial-gradient(circle at 15% 40%,#fff1c8 0,transparent 33%),linear-gradient(135deg,#fffaf0,#edf6fb)}
#clsf-segundo-ciclo .sc-cta-box{max-width:980px;margin:0 auto;padding:42px;text-align:center;background:rgba(255,255,255,.94);border:1px solid rgba(0,55,99,.11);border-radius:24px;box-shadow:0 18px 48px rgba(0,55,99,.11)}
#clsf-segundo-ciclo .sc-cta-box h2{margin:0 0 12px;color:var(--azul);font-size:clamp(31px,4vw,45px);line-height:1.12;font-weight:950}
#clsf-segundo-ciclo .sc-cta-box h2 span{color:var(--dorado)}
#clsf-segundo-ciclo .sc-cta-box p{max-width:690px;margin:0 auto 24px;color:var(--gris);font-size:16px;line-height:1.7}
#clsf-segundo-ciclo .sc-gallery-placeholder{display:none}
@media(max-width:1080px){#clsf-segundo-ciclo .sc-grid-5{grid-template-columns:repeat(3,1fr)}#clsf-segundo-ciclo .sc-grid-3{grid-template-columns:repeat(3,1fr)}#clsf-segundo-ciclo .sc-area-grid{grid-template-columns:repeat(2,1fr)}#clsf-segundo-ciclo .sc-extra-card{grid-template-columns:auto 1fr}#clsf-segundo-ciclo .sc-extra-card .sc-btn{grid-column:1/-1;width:100%}}
@media(max-width:820px){#clsf-segundo-ciclo .sc-grid-3{grid-template-columns:1fr}#clsf-segundo-ciclo .sc-intro-grid{grid-template-columns:1fr}#clsf-segundo-ciclo .sc-intro-panel{order:2}#clsf-segundo-ciclo .sc-level-grid,#clsf-segundo-ciclo .sc-support-grid{grid-template-columns:1fr}#clsf-segundo-ciclo .sc-level-top{min-height:160px}}
@media(max-width:680px){#clsf-segundo-ciclo .sc-shell{width:min(100% - 30px,1180px)}#clsf-segundo-ciclo .sc-actions{flex-direction:column}#clsf-segundo-ciclo .sc-btn{width:100%}#clsf-segundo-ciclo .sc-section{padding:60px 0}#clsf-segundo-ciclo .sc-intro{padding:58px 0}#clsf-segundo-ciclo .sc-grid-5,#clsf-segundo-ciclo .sc-area-grid{grid-template-columns:1fr}#clsf-segundo-ciclo .sc-extra-card{grid-template-columns:1fr;text-align:center;padding:30px 24px}#clsf-segundo-ciclo .sc-extra-icon{margin:auto}#clsf-segundo-ciclo .sc-cta-box{padding:34px 22px}}

/* ===== CLSF 1.0.16: integración, consistencia y respuesta móvil ===== */
#clsf-segundo-ciclo{width:100%;max-width:100%;margin:0;font-family:inherit}
#clsf-segundo-ciclo .sc-label{display:inline-flex;align-items:center;justify-content:center;max-width:100%;margin:0 0 13px;padding:8px 14px;color:#1579ba;background:rgba(22,135,202,.09);border:1px solid rgba(22,135,202,.19);border-radius:999px;font-size:11px;font-weight:950;letter-spacing:1.55px;line-height:1.25;text-align:center;text-transform:uppercase}
#clsf-segundo-ciclo .sc-level-top::before{content:"";position:absolute;width:150px;height:150px;right:-34px;top:-44px;border-radius:50%;background:rgba(255,255,255,.38)}
#clsf-segundo-ciclo .sc-level-top::after{content:"";position:absolute;width:72px;height:72px;left:24px;top:22px;border:2px dashed rgba(0,55,99,.15);border-radius:22px;transform:rotate(12deg)}
#clsf-segundo-ciclo .sc-level-art{position:absolute;inset:13px 18px auto auto;z-index:1;width:150px;height:132px;display:grid;place-items:center;color:var(--azul)}
#clsf-segundo-ciclo .sc-level-art svg{position:relative;z-index:2;width:64px;height:64px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 7px 12px rgba(0,55,99,.12))}
#clsf-segundo-ciclo .sc-level-number{position:absolute;right:0;top:-13px;z-index:1;color:rgba(0,55,99,.15);font-size:96px;font-weight:950;line-height:1}
#clsf-segundo-ciclo .sc-grade{max-width:calc(100% - 20px)}
@media(max-width:680px){
  #clsf-segundo-ciclo .sc-hero{min-height:510px;align-items:center;background:linear-gradient(180deg,rgba(4,27,68,.76) 0%,rgba(4,27,68,.84) 52%,rgba(4,27,68,.97) 100%),url('/images/2026/oferta-academica/segundo-ciclo-portada.png') 72% center/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}
  #clsf-segundo-ciclo .sc-hero-copy{padding:58px 0 54px}
  #clsf-segundo-ciclo .sc-hero h1{font-size:clamp(39px,12vw,48px);line-height:1;letter-spacing:-1px}
  #clsf-segundo-ciclo .sc-hero p{font-size:15.5px;line-height:1.58}
  #clsf-segundo-ciclo .sc-kicker{margin-bottom:14px}
  #clsf-segundo-ciclo .sc-level-art{right:14px;transform:scale(.88);transform-origin:top right}
}


/* CLSF 1.0.21: slide interior unificado con Admisiones */
#clsf-segundo-ciclo .sc-hero{min-height:500px;background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/oferta-academica/segundo-ciclo-portada.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}
@media(max-width:680px){#clsf-segundo-ciclo .sc-hero{min-height:510px;background:linear-gradient(180deg,rgba(4,27,68,.76) 0%,rgba(4,27,68,.86) 52%,rgba(4,27,68,.98) 100%),url('/images/2026/oferta-academica/segundo-ciclo-portada.png') 72% center/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}}

/* ---- tercer-ciclo.css ---- */
#clsf-tercer-ciclo,#clsf-tercer-ciclo *{box-sizing:border-box}
#clsf-tercer-ciclo{--azul:#003763;--azul2:#07558d;--azul3:#061e4d;--dorado:#dfa400;--amarillo:#f2b705;--celeste:#eaf6fd;--texto:#33485c;--gris:#68798a;--blanco:#fff;--fondo:#f5f8fb;width:100%;overflow:hidden;color:var(--texto);background:#fff;font-family:'Segoe UI',Arial,sans-serif}
#clsf-tercer-ciclo a{text-decoration:none}#clsf-tercer-ciclo img{display:block;max-width:100%}
#clsf-tercer-ciclo a:focus-visible{outline:4px solid rgba(223,164,0,.55);outline-offset:4px}
#clsf-tercer-ciclo .tc-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
#clsf-tercer-ciclo .tc-hero{position:relative;min-height:550px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,rgba(4,27,68,.98) 0%,rgba(6,42,99,.93) 35%,rgba(6,42,99,.70) 53%,rgba(6,42,99,.18) 76%,rgba(6,42,99,.03) 100%),url('/images/2026/oferta-academica/tercerciclo.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}
#clsf-tercer-ciclo .tc-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,var(--dorado) 0 72%,#fff 72% 100%)}
#clsf-tercer-ciclo .tc-hero-copy{width:min(720px,100%);padding:82px 0 92px;color:#fff;position:relative;z-index:2}
#clsf-tercer-ciclo .tc-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:8px 14px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:12px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;backdrop-filter:blur(6px)}
#clsf-tercer-ciclo .tc-kicker:before{content:"";width:8px;height:8px;background:var(--dorado);border-radius:50%}
#clsf-tercer-ciclo .tc-hero h1{margin:0 0 18px;color:#fff;font-size:clamp(48px,7vw,82px);font-weight:950;line-height:.95;letter-spacing:-2px;text-shadow:0 5px 20px rgba(0,25,55,.35)}
#clsf-tercer-ciclo .tc-hero h1 span{display:block;color:var(--dorado)}
#clsf-tercer-ciclo .tc-hero p{max-width:680px;margin:0 0 28px;color:rgba(255,255,255,.96);font-size:clamp(17px,2vw,21px);line-height:1.65}
#clsf-tercer-ciclo .tc-actions{display:flex;gap:12px;flex-wrap:wrap}
#clsf-tercer-ciclo .tc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 23px;border-radius:9px;font-size:14px;font-weight:900;transition:.25s ease}
#clsf-tercer-ciclo .tc-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#clsf-tercer-ciclo .tc-btn-gold{color:var(--azul)!important;background:var(--dorado);border:2px solid var(--dorado);box-shadow:0 10px 25px rgba(0,0,0,.18)}
#clsf-tercer-ciclo .tc-btn-gold:hover{background:#fff;border-color:#fff;transform:translateY(-3px)}
#clsf-tercer-ciclo .tc-btn-outline{color:#fff!important;background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.52)}
#clsf-tercer-ciclo .tc-btn-outline:hover{background:#fff;color:var(--azul)!important;transform:translateY(-3px)}
#clsf-tercer-ciclo .tc-section{padding:78px 0}
#clsf-tercer-ciclo .tc-heading{max-width:820px;margin:0 auto 38px;text-align:center}
#clsf-tercer-ciclo .tc-label{display:inline-block;margin-bottom:10px;color:var(--dorado);font-size:12px;font-weight:950;letter-spacing:1.55px;text-transform:uppercase}
#clsf-tercer-ciclo .tc-heading h2{margin:0 0 14px;color:var(--azul);font-size:clamp(31px,4vw,46px);font-weight:950;line-height:1.12}
#clsf-tercer-ciclo .tc-heading h2 span{color:var(--dorado)}
#clsf-tercer-ciclo .tc-heading p{margin:0;color:var(--gris);font-size:16.5px;line-height:1.75}
#clsf-tercer-ciclo .tc-intro{padding:76px 0 68px;background:#fff}
#clsf-tercer-ciclo .tc-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
#clsf-tercer-ciclo .tc-intro-copy .tc-label{margin-bottom:12px}
#clsf-tercer-ciclo .tc-intro-copy h2{margin:0 0 18px;color:var(--azul);font-size:clamp(33px,4vw,50px);line-height:1.1;font-weight:950}
#clsf-tercer-ciclo .tc-intro-copy h2 span{color:var(--dorado)}
#clsf-tercer-ciclo .tc-intro-copy p{margin:0 0 16px;color:var(--gris);font-size:17px;line-height:1.8}
#clsf-tercer-ciclo .tc-intro-panel{position:relative;padding:34px;background:linear-gradient(145deg,#f2f8fd,#e5f3fb);border:1px solid rgba(0,55,99,.09);border-radius:24px;box-shadow:0 18px 45px rgba(0,55,99,.10)}
#clsf-tercer-ciclo .tc-intro-panel:before{content:"";position:absolute;width:120px;height:120px;right:-24px;top:-24px;border-radius:50%;background:rgba(223,164,0,.15)}
#clsf-tercer-ciclo .tc-intro-panel strong{display:block;margin-bottom:12px;color:var(--azul);font-size:24px;line-height:1.25}
#clsf-tercer-ciclo .tc-intro-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:13px}
#clsf-tercer-ciclo .tc-intro-panel li{display:flex;align-items:flex-start;gap:12px;color:var(--texto);line-height:1.55}
#clsf-tercer-ciclo .tc-intro-panel li:before{content:"✓";display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;color:var(--azul);background:var(--dorado);border-radius:50%;font-weight:950}
#clsf-tercer-ciclo .tc-approach{background:linear-gradient(180deg,#f5f9fd,#eef6fb)}
#clsf-tercer-ciclo .tc-grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
#clsf-tercer-ciclo .tc-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:980px;margin:0 auto}
#clsf-tercer-ciclo .tc-feature{min-width:0;padding:26px 22px;background:#fff;border:1px solid rgba(0,55,99,.11);border-radius:18px;box-shadow:0 13px 30px rgba(0,55,99,.08);transition:.25s ease}
#clsf-tercer-ciclo .tc-feature:hover{transform:translateY(-6px);border-color:rgba(223,164,0,.65);box-shadow:0 20px 38px rgba(0,55,99,.14)}
#clsf-tercer-ciclo .tc-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:19px;color:var(--azul);background:linear-gradient(145deg,#edf7fd,#dceefa);border-radius:15px}
#clsf-tercer-ciclo .tc-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
#clsf-tercer-ciclo .tc-feature h3{margin:0 0 10px;color:var(--azul);font-size:19px;line-height:1.25;font-weight:900}
#clsf-tercer-ciclo .tc-feature p{margin:0;color:var(--gris);font-size:14.7px;line-height:1.65}
#clsf-tercer-ciclo .tc-levels{background:#fff}
#clsf-tercer-ciclo .tc-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#clsf-tercer-ciclo .tc-level{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(0,55,99,.12);border-radius:22px;box-shadow:0 16px 38px rgba(0,55,99,.10);transition:.26s ease}
#clsf-tercer-ciclo .tc-level:hover{transform:translateY(-7px);box-shadow:0 24px 46px rgba(0,55,99,.16)}
#clsf-tercer-ciclo .tc-level-top{position:relative;min-height:184px;padding:28px;display:flex;align-items:flex-end;overflow:hidden}
#clsf-tercer-ciclo .tc-level:nth-child(1) .tc-level-top{background:linear-gradient(145deg,#ffd6df,#fff0cf)}
#clsf-tercer-ciclo .tc-level:nth-child(2) .tc-level-top{background:linear-gradient(145deg,#cbeefe,#dcf8e7)}
#clsf-tercer-ciclo .tc-level:nth-child(3) .tc-level-top{background:linear-gradient(145deg,#e0d5ff,#ffdcbf)}
#clsf-tercer-ciclo .tc-people{position:absolute;inset:20px 18px auto auto;width:150px;height:130px;opacity:.96}
#clsf-tercer-ciclo .tc-person{position:absolute;bottom:0;width:48px;height:77px;border-radius:24px 24px 10px 10px;background:var(--azul)}
#clsf-tercer-ciclo .tc-person:before{content:"";position:absolute;width:39px;height:39px;left:4px;top:-32px;border-radius:50%;background:#d7ac88}
#clsf-tercer-ciclo .tc-person.a{left:12px;background:#fff}#clsf-tercer-ciclo .tc-person.a:before{background:#efc2a1}
#clsf-tercer-ciclo .tc-person.b{left:51px;background:var(--azul)}
#clsf-tercer-ciclo .tc-person.c{left:94px;background:var(--dorado);height:64px}#clsf-tercer-ciclo .tc-person.c:before{background:#efc2a1}
#clsf-tercer-ciclo .tc-grade{position:relative;z-index:2;display:inline-flex;padding:8px 12px;color:var(--azul);background:var(--dorado);border-radius:8px;font-size:12px;font-weight:950;letter-spacing:.5px;text-transform:uppercase}
#clsf-tercer-ciclo .tc-level-body{padding:28px}
#clsf-tercer-ciclo .tc-level-body h3{margin:0 0 7px;color:var(--azul);font-size:27px;font-weight:950}
#clsf-tercer-ciclo .tc-level-sub{display:block;margin-bottom:16px;color:var(--dorado);font-size:14px;font-weight:900}
#clsf-tercer-ciclo .tc-level-body p{margin:0 0 18px;color:var(--gris);font-size:15.5px;line-height:1.7}
#clsf-tercer-ciclo .tc-level-body ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
#clsf-tercer-ciclo .tc-level-body li{position:relative;padding-left:22px;color:var(--texto);font-size:14.5px;line-height:1.5}
#clsf-tercer-ciclo .tc-level-body li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--dorado);box-shadow:0 0 0 4px rgba(223,164,0,.14)}
#clsf-tercer-ciclo .tc-areas{background:linear-gradient(180deg,#f7fafc,#edf5fb)}
#clsf-tercer-ciclo .tc-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
#clsf-tercer-ciclo .tc-area{display:flex;gap:15px;align-items:flex-start;padding:22px;background:#fff;border:1px solid rgba(0,55,99,.10);border-radius:16px;box-shadow:0 10px 24px rgba(0,55,99,.06)}
#clsf-tercer-ciclo .tc-area .tc-icon{flex:0 0 50px;width:50px;height:50px;margin:0;border-radius:13px}
#clsf-tercer-ciclo .tc-area .tc-icon svg{width:26px;height:26px}
#clsf-tercer-ciclo .tc-area h3{margin:1px 0 6px;color:var(--azul);font-size:17px;font-weight:900}
#clsf-tercer-ciclo .tc-area p{margin:0;color:var(--gris);font-size:14px;line-height:1.55}
#clsf-tercer-ciclo .tc-extra{padding:78px 0;background:linear-gradient(115deg,#051f51,#073d74 55%,#07558d);color:#fff}
#clsf-tercer-ciclo .tc-extra-card{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;padding:36px 40px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);border-radius:24px;box-shadow:0 22px 48px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
#clsf-tercer-ciclo .tc-extra-icon{display:grid;place-items:center;width:92px;height:92px;color:var(--azul3);background:var(--dorado);border-radius:22px}
#clsf-tercer-ciclo .tc-extra-icon svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
#clsf-tercer-ciclo .tc-extra-copy .tc-label{color:var(--dorado)}
#clsf-tercer-ciclo .tc-extra-copy h2{margin:0 0 10px;color:#fff;font-size:clamp(29px,4vw,43px);line-height:1.12;font-weight:950}
#clsf-tercer-ciclo .tc-extra-copy p{margin:0;color:rgba(255,255,255,.88);font-size:16px;line-height:1.75}
#clsf-tercer-ciclo .tc-extra .tc-btn-outline{white-space:nowrap}
#clsf-tercer-ciclo .tc-support{background:#fff}
#clsf-tercer-ciclo .tc-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#clsf-tercer-ciclo .tc-support-card{position:relative;padding:27px 25px;background:#fff;border:1px solid rgba(0,55,99,.11);border-top:4px solid var(--dorado);border-radius:16px;box-shadow:0 14px 34px rgba(0,55,99,.09)}
#clsf-tercer-ciclo .tc-support-card h3{margin:18px 0 8px;color:var(--azul);font-size:20px;font-weight:900}
#clsf-tercer-ciclo .tc-support-card p{margin:0;color:var(--gris);font-size:14.7px;line-height:1.65}
#clsf-tercer-ciclo .tc-cta{padding:78px 0;background:radial-gradient(circle at 15% 40%,#fff1c8 0,transparent 33%),linear-gradient(135deg,#fffaf0,#edf6fb)}
#clsf-tercer-ciclo .tc-cta-box{max-width:980px;margin:0 auto;padding:42px;text-align:center;background:rgba(255,255,255,.94);border:1px solid rgba(0,55,99,.11);border-radius:24px;box-shadow:0 18px 48px rgba(0,55,99,.11)}
#clsf-tercer-ciclo .tc-cta-box h2{margin:0 0 12px;color:var(--azul);font-size:clamp(31px,4vw,45px);line-height:1.12;font-weight:950}
#clsf-tercer-ciclo .tc-cta-box h2 span{color:var(--dorado)}
#clsf-tercer-ciclo .tc-cta-box p{max-width:690px;margin:0 auto 24px;color:var(--gris);font-size:16px;line-height:1.7}
#clsf-tercer-ciclo .tc-gallery-placeholder{display:none}
@media(max-width:1080px){#clsf-tercer-ciclo .tc-grid-5{grid-template-columns:repeat(3,1fr)}#clsf-tercer-ciclo .tc-grid-3{grid-template-columns:repeat(3,1fr)}#clsf-tercer-ciclo .tc-area-grid{grid-template-columns:repeat(2,1fr)}#clsf-tercer-ciclo .tc-extra-card{grid-template-columns:auto 1fr}#clsf-tercer-ciclo .tc-extra-card .tc-btn{grid-column:1/-1;width:100%}}
@media(max-width:820px){#clsf-tercer-ciclo .tc-grid-3{grid-template-columns:1fr}#clsf-tercer-ciclo .tc-intro-grid{grid-template-columns:1fr}#clsf-tercer-ciclo .tc-intro-panel{order:2}#clsf-tercer-ciclo .tc-level-grid,#clsf-tercer-ciclo .tc-support-grid{grid-template-columns:1fr}#clsf-tercer-ciclo .tc-level-top{min-height:160px}}
@media(max-width:680px){#clsf-tercer-ciclo .tc-shell{width:min(100% - 30px,1180px)}#clsf-tercer-ciclo .tc-actions{flex-direction:column}#clsf-tercer-ciclo .tc-btn{width:100%}#clsf-tercer-ciclo .tc-section{padding:60px 0}#clsf-tercer-ciclo .tc-intro{padding:58px 0}#clsf-tercer-ciclo .tc-grid-5,#clsf-tercer-ciclo .tc-area-grid{grid-template-columns:1fr}#clsf-tercer-ciclo .tc-extra-card{grid-template-columns:1fr;text-align:center;padding:30px 24px}#clsf-tercer-ciclo .tc-extra-icon{margin:auto}#clsf-tercer-ciclo .tc-cta-box{padding:34px 22px}}

/* ===== CLSF 1.0.16: integración, consistencia y respuesta móvil ===== */
#clsf-tercer-ciclo{width:100%;max-width:100%;margin:0;font-family:inherit}
#clsf-tercer-ciclo .tc-label{display:inline-flex;align-items:center;justify-content:center;max-width:100%;margin:0 0 13px;padding:8px 14px;color:#1579ba;background:rgba(22,135,202,.09);border:1px solid rgba(22,135,202,.19);border-radius:999px;font-size:11px;font-weight:950;letter-spacing:1.55px;line-height:1.25;text-align:center;text-transform:uppercase}
#clsf-tercer-ciclo .tc-level-top::before{content:"";position:absolute;width:150px;height:150px;right:-34px;top:-44px;border-radius:50%;background:rgba(255,255,255,.38)}
#clsf-tercer-ciclo .tc-level-top::after{content:"";position:absolute;width:72px;height:72px;left:24px;top:22px;border:2px dashed rgba(0,55,99,.15);border-radius:22px;transform:rotate(12deg)}
#clsf-tercer-ciclo .tc-level-art{position:absolute;inset:13px 18px auto auto;z-index:1;width:150px;height:132px;display:grid;place-items:center;color:var(--azul)}
#clsf-tercer-ciclo .tc-level-art svg{position:relative;z-index:2;width:64px;height:64px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 7px 12px rgba(0,55,99,.12))}
#clsf-tercer-ciclo .tc-level-number{position:absolute;right:0;top:-13px;z-index:1;color:rgba(0,55,99,.15);font-size:96px;font-weight:950;line-height:1}
#clsf-tercer-ciclo .tc-grade{max-width:calc(100% - 20px)}
@media(max-width:680px){
  #clsf-tercer-ciclo .tc-hero{min-height:510px;align-items:center;background:linear-gradient(180deg,rgba(4,27,68,.78) 0%,rgba(4,27,68,.86) 52%,rgba(4,27,68,.98) 100%),url('/images/2026/oferta-academica/tercerciclo.png') 72% center/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}
  #clsf-tercer-ciclo .tc-hero-copy{padding:58px 0 54px}
  #clsf-tercer-ciclo .tc-hero h1{font-size:clamp(39px,12vw,48px);line-height:1;letter-spacing:-1px}
  #clsf-tercer-ciclo .tc-hero p{font-size:15.5px;line-height:1.58}
  #clsf-tercer-ciclo .tc-kicker{margin-bottom:14px}
  #clsf-tercer-ciclo .tc-level-art{right:14px;transform:scale(.88);transform-origin:top right}
}


/* CLSF 1.0.21: slide interior unificado con Admisiones */
#clsf-tercer-ciclo .tc-hero{min-height:500px;background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/oferta-academica/tercerciclo.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}
@media(max-width:680px){#clsf-tercer-ciclo .tc-hero{min-height:510px;background:linear-gradient(180deg,rgba(4,27,68,.76) 0%,rgba(4,27,68,.86) 52%,rgba(4,27,68,.98) 100%),url('/images/2026/oferta-academica/tercerciclo.png') 72% center/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}}

/* ---- bachillerato.css ---- */
#clsf-bachillerato,#clsf-bachillerato *{box-sizing:border-box}
#clsf-bachillerato{--azul:#003763;--azul2:#07558d;--azul3:#061e4d;--dorado:#dfa400;--amarillo:#f2b705;--celeste:#eaf6fd;--texto:#33485c;--gris:#68798a;--blanco:#fff;--fondo:#f5f8fb;width:100%;overflow:hidden;color:var(--texto);background:#fff;font-family:'Segoe UI',Arial,sans-serif}
#clsf-bachillerato a{text-decoration:none}#clsf-bachillerato img{display:block;max-width:100%}
#clsf-bachillerato a:focus-visible{outline:4px solid rgba(223,164,0,.55);outline-offset:4px}
#clsf-bachillerato .bc-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
#clsf-bachillerato .bc-hero{position:relative;min-height:550px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,rgba(4,27,68,.98) 0%,rgba(6,42,99,.93) 35%,rgba(6,42,99,.70) 53%,rgba(6,42,99,.18) 76%,rgba(6,42,99,.03) 100%),url('/images/2026/oferta-academica/bachillerato.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}
#clsf-bachillerato .bc-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,var(--dorado) 0 72%,#fff 72% 100%)}
#clsf-bachillerato .bc-hero-copy{width:min(720px,100%);padding:82px 0 92px;color:#fff;position:relative;z-index:2}
#clsf-bachillerato .bc-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:8px 14px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:12px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;backdrop-filter:blur(6px)}
#clsf-bachillerato .bc-kicker:before{content:"";width:8px;height:8px;background:var(--dorado);border-radius:50%}
#clsf-bachillerato .bc-hero h1{margin:0 0 18px;color:#fff;font-size:clamp(48px,7vw,82px);font-weight:950;line-height:.95;letter-spacing:-2px;text-shadow:0 5px 20px rgba(0,25,55,.35)}
#clsf-bachillerato .bc-hero h1 span{display:block;color:var(--dorado)}
#clsf-bachillerato .bc-hero p{max-width:680px;margin:0 0 28px;color:rgba(255,255,255,.96);font-size:clamp(17px,2vw,21px);line-height:1.65}
#clsf-bachillerato .bc-actions{display:flex;gap:12px;flex-wrap:wrap}
#clsf-bachillerato .bc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 23px;border-radius:9px;font-size:14px;font-weight:900;transition:.25s ease}
#clsf-bachillerato .bc-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#clsf-bachillerato .bc-btn-gold{color:var(--azul)!important;background:var(--dorado);border:2px solid var(--dorado);box-shadow:0 10px 25px rgba(0,0,0,.18)}
#clsf-bachillerato .bc-btn-gold:hover{background:#fff;border-color:#fff;transform:translateY(-3px)}
#clsf-bachillerato .bc-btn-outline{color:#fff!important;background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.52)}
#clsf-bachillerato .bc-btn-outline:hover{background:#fff;color:var(--azul)!important;transform:translateY(-3px)}
#clsf-bachillerato .bc-section{padding:78px 0}
#clsf-bachillerato .bc-heading{max-width:820px;margin:0 auto 38px;text-align:center}
#clsf-bachillerato .bc-label{display:inline-block;margin-bottom:10px;color:var(--dorado);font-size:12px;font-weight:950;letter-spacing:1.55px;text-transform:uppercase}
#clsf-bachillerato .bc-heading h2{margin:0 0 14px;color:var(--azul);font-size:clamp(31px,4vw,46px);font-weight:950;line-height:1.12}
#clsf-bachillerato .bc-heading h2 span{color:var(--dorado)}
#clsf-bachillerato .bc-heading p{margin:0;color:var(--gris);font-size:16.5px;line-height:1.75}
#clsf-bachillerato .bc-intro{padding:76px 0 68px;background:#fff}
#clsf-bachillerato .bc-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
#clsf-bachillerato .bc-intro-copy .bc-label{margin-bottom:12px}
#clsf-bachillerato .bc-intro-copy h2{margin:0 0 18px;color:var(--azul);font-size:clamp(33px,4vw,50px);line-height:1.1;font-weight:950}
#clsf-bachillerato .bc-intro-copy h2 span{color:var(--dorado)}
#clsf-bachillerato .bc-intro-copy p{margin:0 0 16px;color:var(--gris);font-size:17px;line-height:1.8}
#clsf-bachillerato .bc-intro-panel{position:relative;padding:34px;background:linear-gradient(145deg,#f2f8fd,#e5f3fb);border:1px solid rgba(0,55,99,.09);border-radius:24px;box-shadow:0 18px 45px rgba(0,55,99,.10)}
#clsf-bachillerato .bc-intro-panel:before{content:"";position:absolute;width:120px;height:120px;right:-24px;top:-24px;border-radius:50%;background:rgba(223,164,0,.15)}
#clsf-bachillerato .bc-intro-panel strong{display:block;margin-bottom:12px;color:var(--azul);font-size:24px;line-height:1.25}
#clsf-bachillerato .bc-intro-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:13px}
#clsf-bachillerato .bc-intro-panel li{display:flex;align-items:flex-start;gap:12px;color:var(--texto);line-height:1.55}
#clsf-bachillerato .bc-intro-panel li:before{content:"✓";display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;color:var(--azul);background:var(--dorado);border-radius:50%;font-weight:950}
#clsf-bachillerato .bc-approach{background:linear-gradient(180deg,#f5f9fd,#eef6fb)}
#clsf-bachillerato .bc-grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
#clsf-bachillerato .bc-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:980px;margin:0 auto}
#clsf-bachillerato .bc-feature{min-width:0;padding:26px 22px;background:#fff;border:1px solid rgba(0,55,99,.11);border-radius:18px;box-shadow:0 13px 30px rgba(0,55,99,.08);transition:.25s ease}
#clsf-bachillerato .bc-feature:hover{transform:translateY(-6px);border-color:rgba(223,164,0,.65);box-shadow:0 20px 38px rgba(0,55,99,.14)}
#clsf-bachillerato .bc-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:19px;color:var(--azul);background:linear-gradient(145deg,#edf7fd,#dceefa);border-radius:15px}
#clsf-bachillerato .bc-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
#clsf-bachillerato .bc-feature h3{margin:0 0 10px;color:var(--azul);font-size:19px;line-height:1.25;font-weight:900}
#clsf-bachillerato .bc-feature p{margin:0;color:var(--gris);font-size:14.7px;line-height:1.65}
#clsf-bachillerato .bc-levels{background:#fff}
#clsf-bachillerato .bc-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#clsf-bachillerato .bc-level{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(0,55,99,.12);border-radius:22px;box-shadow:0 16px 38px rgba(0,55,99,.10);transition:.26s ease}
#clsf-bachillerato .bc-level:hover{transform:translateY(-7px);box-shadow:0 24px 46px rgba(0,55,99,.16)}
#clsf-bachillerato .bc-level-top{position:relative;min-height:184px;padding:28px;display:flex;align-items:flex-end;overflow:hidden}
#clsf-bachillerato .bc-level:nth-child(1) .bc-level-top{background:linear-gradient(145deg,#ffd6df,#fff0cf)}
#clsf-bachillerato .bc-level:nth-child(2) .bc-level-top{background:linear-gradient(145deg,#cbeefe,#dcf8e7)}
#clsf-bachillerato .bc-level:nth-child(3) .bc-level-top{background:linear-gradient(145deg,#e0d5ff,#ffdcbf)}
#clsf-bachillerato .bc-people{position:absolute;inset:20px 18px auto auto;width:150px;height:130px;opacity:.96}
#clsf-bachillerato .bc-person{position:absolute;bottom:0;width:48px;height:77px;border-radius:24px 24px 10px 10px;background:var(--azul)}
#clsf-bachillerato .bc-person:before{content:"";position:absolute;width:39px;height:39px;left:4px;top:-32px;border-radius:50%;background:#d7ac88}
#clsf-bachillerato .bc-person.a{left:12px;background:#fff}#clsf-bachillerato .bc-person.a:before{background:#efc2a1}
#clsf-bachillerato .bc-person.b{left:51px;background:var(--azul)}
#clsf-bachillerato .bc-person.c{left:94px;background:var(--dorado);height:64px}#clsf-bachillerato .bc-person.c:before{background:#efc2a1}
#clsf-bachillerato .bc-grade{position:relative;z-index:2;display:inline-flex;padding:8px 12px;color:var(--azul);background:var(--dorado);border-radius:8px;font-size:12px;font-weight:950;letter-spacing:.5px;text-transform:uppercase}
#clsf-bachillerato .bc-level-body{padding:28px}
#clsf-bachillerato .bc-level-body h3{margin:0 0 7px;color:var(--azul);font-size:27px;font-weight:950}
#clsf-bachillerato .bc-level-sub{display:block;margin-bottom:16px;color:var(--dorado);font-size:14px;font-weight:900}
#clsf-bachillerato .bc-level-body p{margin:0 0 18px;color:var(--gris);font-size:15.5px;line-height:1.7}
#clsf-bachillerato .bc-level-body ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
#clsf-bachillerato .bc-level-body li{position:relative;padding-left:22px;color:var(--texto);font-size:14.5px;line-height:1.5}
#clsf-bachillerato .bc-level-body li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--dorado);box-shadow:0 0 0 4px rgba(223,164,0,.14)}
#clsf-bachillerato .bc-areas{background:linear-gradient(180deg,#f7fafc,#edf5fb)}
#clsf-bachillerato .bc-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
#clsf-bachillerato .bc-area{display:flex;gap:15px;align-items:flex-start;padding:22px;background:#fff;border:1px solid rgba(0,55,99,.10);border-radius:16px;box-shadow:0 10px 24px rgba(0,55,99,.06)}
#clsf-bachillerato .bc-area .bc-icon{flex:0 0 50px;width:50px;height:50px;margin:0;border-radius:13px}
#clsf-bachillerato .bc-area .bc-icon svg{width:26px;height:26px}
#clsf-bachillerato .bc-area h3{margin:1px 0 6px;color:var(--azul);font-size:17px;font-weight:900}
#clsf-bachillerato .bc-area p{margin:0;color:var(--gris);font-size:14px;line-height:1.55}
#clsf-bachillerato .bc-extra{padding:78px 0;background:linear-gradient(115deg,#051f51,#073d74 55%,#07558d);color:#fff}
#clsf-bachillerato .bc-extra-card{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;padding:36px 40px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);border-radius:24px;box-shadow:0 22px 48px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
#clsf-bachillerato .bc-extra-icon{display:grid;place-items:center;width:92px;height:92px;color:var(--azul3);background:var(--dorado);border-radius:22px}
#clsf-bachillerato .bc-extra-icon svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
#clsf-bachillerato .bc-extra-copy .bc-label{color:var(--dorado)}
#clsf-bachillerato .bc-extra-copy h2{margin:0 0 10px;color:#fff;font-size:clamp(29px,4vw,43px);line-height:1.12;font-weight:950}
#clsf-bachillerato .bc-extra-copy p{margin:0;color:rgba(255,255,255,.88);font-size:16px;line-height:1.75}
#clsf-bachillerato .bc-extra .bc-btn-outline{white-space:nowrap}
#clsf-bachillerato .bc-support{background:#fff}
#clsf-bachillerato .bc-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#clsf-bachillerato .bc-support-card{position:relative;padding:27px 25px;background:#fff;border:1px solid rgba(0,55,99,.11);border-top:4px solid var(--dorado);border-radius:16px;box-shadow:0 14px 34px rgba(0,55,99,.09)}
#clsf-bachillerato .bc-support-card h3{margin:18px 0 8px;color:var(--azul);font-size:20px;font-weight:900}
#clsf-bachillerato .bc-support-card p{margin:0;color:var(--gris);font-size:14.7px;line-height:1.65}
#clsf-bachillerato .bc-cta{padding:78px 0;background:radial-gradient(circle at 15% 40%,#fff1c8 0,transparent 33%),linear-gradient(135deg,#fffaf0,#edf6fb)}
#clsf-bachillerato .bc-cta-box{max-width:980px;margin:0 auto;padding:42px;text-align:center;background:rgba(255,255,255,.94);border:1px solid rgba(0,55,99,.11);border-radius:24px;box-shadow:0 18px 48px rgba(0,55,99,.11)}
#clsf-bachillerato .bc-cta-box h2{margin:0 0 12px;color:var(--azul);font-size:clamp(31px,4vw,45px);line-height:1.12;font-weight:950}
#clsf-bachillerato .bc-cta-box h2 span{color:var(--dorado)}
#clsf-bachillerato .bc-cta-box p{max-width:690px;margin:0 auto 24px;color:var(--gris);font-size:16px;line-height:1.7}
#clsf-bachillerato .bc-gallery-placeholder{display:none}
@media(max-width:1080px){#clsf-bachillerato .bc-grid-5{grid-template-columns:repeat(3,1fr)}#clsf-bachillerato .bc-grid-3{grid-template-columns:repeat(3,1fr)}#clsf-bachillerato .bc-area-grid{grid-template-columns:repeat(2,1fr)}#clsf-bachillerato .bc-extra-card{grid-template-columns:auto 1fr}#clsf-bachillerato .bc-extra-card .bc-btn{grid-column:1/-1;width:100%}}
@media(max-width:820px){#clsf-bachillerato .bc-grid-3{grid-template-columns:1fr}#clsf-bachillerato .bc-intro-grid{grid-template-columns:1fr}#clsf-bachillerato .bc-intro-panel{order:2}#clsf-bachillerato .bc-level-grid,#clsf-bachillerato .bc-support-grid{grid-template-columns:1fr}#clsf-bachillerato .bc-level-top{min-height:160px}}
@media(max-width:680px){#clsf-bachillerato .bc-shell{width:min(100% - 30px,1180px)}#clsf-bachillerato .bc-actions{flex-direction:column}#clsf-bachillerato .bc-btn{width:100%}#clsf-bachillerato .bc-section{padding:60px 0}#clsf-bachillerato .bc-intro{padding:58px 0}#clsf-bachillerato .bc-grid-5,#clsf-bachillerato .bc-area-grid{grid-template-columns:1fr}#clsf-bachillerato .bc-extra-card{grid-template-columns:1fr;text-align:center;padding:30px 24px}#clsf-bachillerato .bc-extra-icon{margin:auto}#clsf-bachillerato .bc-cta-box{padding:34px 22px}}

/* ===== CLSF 1.0.16: integración, consistencia y respuesta móvil ===== */
#clsf-bachillerato{width:100%;max-width:100%;margin:0;font-family:inherit}
#clsf-bachillerato .bc-label{display:inline-flex;align-items:center;justify-content:center;max-width:100%;margin:0 0 13px;padding:8px 14px;color:#1579ba;background:rgba(22,135,202,.09);border:1px solid rgba(22,135,202,.19);border-radius:999px;font-size:11px;font-weight:950;letter-spacing:1.55px;line-height:1.25;text-align:center;text-transform:uppercase}
#clsf-bachillerato .bc-level-top::before{content:"";position:absolute;width:150px;height:150px;right:-34px;top:-44px;border-radius:50%;background:rgba(255,255,255,.38)}
#clsf-bachillerato .bc-level-top::after{content:"";position:absolute;width:72px;height:72px;left:24px;top:22px;border:2px dashed rgba(0,55,99,.15);border-radius:22px;transform:rotate(12deg)}
#clsf-bachillerato .bc-level-art{position:absolute;inset:13px 18px auto auto;z-index:1;width:150px;height:132px;display:grid;place-items:center;color:var(--azul)}
#clsf-bachillerato .bc-level-art svg{position:relative;z-index:2;width:64px;height:64px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 7px 12px rgba(0,55,99,.12))}
#clsf-bachillerato .bc-level-number{position:absolute;right:0;top:-13px;z-index:1;color:rgba(0,55,99,.15);font-size:96px;font-weight:950;line-height:1}
#clsf-bachillerato .bc-grade{max-width:calc(100% - 20px)}
@media(max-width:680px){
  #clsf-bachillerato .bc-hero{min-height:510px;align-items:center;background:linear-gradient(180deg,rgba(4,27,68,.80) 0%,rgba(4,27,68,.88) 52%,rgba(4,27,68,.98) 100%),url('/images/2026/oferta-academica/bachillerato.png') 72% center/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}
  #clsf-bachillerato .bc-hero-copy{padding:58px 0 54px}
  #clsf-bachillerato .bc-hero h1{font-size:clamp(39px,12vw,48px);line-height:1;letter-spacing:-1px}
  #clsf-bachillerato .bc-hero p{font-size:15.5px;line-height:1.58}
  #clsf-bachillerato .bc-kicker{margin-bottom:14px}
  #clsf-bachillerato .bc-level-art{right:14px;transform:scale(.88);transform-origin:top right}
}
#clsf-bachillerato .bc-level-grid.bc-two-levels{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;margin-left:auto;margin-right:auto}
@media(max-width:820px){#clsf-bachillerato .bc-level-grid.bc-two-levels{grid-template-columns:1fr}}


/* CLSF 1.0.21: slide interior unificado con Admisiones */
#clsf-bachillerato .bc-hero{min-height:500px;background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/oferta-academica/bachillerato.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}
@media(max-width:680px){#clsf-bachillerato .bc-hero{min-height:510px;background:linear-gradient(180deg,rgba(4,27,68,.76) 0%,rgba(4,27,68,.86) 52%,rgba(4,27,68,.98) 100%),url('/images/2026/oferta-academica/bachillerato.png') 72% center/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat}}

/* ---- bolsa.css ---- */
#clsf-bolsa,#clsf-bolsa *{box-sizing:border-box}
#clsf-bolsa{--blue:#003763;--blue2:#082b54;--gold:#dfa400;--ink:#10243b;--muted:#607083;--soft:#f3f7fb;--line:#dbe5ef;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;overflow:hidden}
#clsf-bolsa a{text-decoration:none}
#clsf-bolsa a:focus-visible{outline:4px solid rgba(223,164,0,.55);outline-offset:4px}
#clsf-bolsa svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#clsf-bolsa .bt-shell{width:min(1180px,calc(100% - 40px));margin:auto}
#clsf-bolsa .bt-hero{position:relative;min-height:500px;display:flex;align-items:center;color:#fff;background:radial-gradient(circle at 76% 22%,rgba(223,164,0,.25),transparent 21%),linear-gradient(120deg,#061f43,#003763 58%,#0d4a7a);overflow:hidden;isolation:isolate}
#clsf-bolsa .bt-hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-180px;bottom:-260px;border:1px solid rgba(255,255,255,.16)}
#clsf-bolsa .bt-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:50px;align-items:center;padding:70px 0}
#clsf-bolsa .bt-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
#clsf-bolsa .bt-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}
#clsf-bolsa h1{font-size:clamp(44px,7vw,78px);line-height:1;margin:20px 0 18px;letter-spacing:-.04em}
#clsf-bolsa .bt-hero-copy p{margin:0;max-width:670px;color:rgba(255,255,255,.84);font-size:18px;line-height:1.7}
#clsf-bolsa .bt-hero-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
#clsf-bolsa .bt-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border-radius:10px;font-size:14px;font-weight:850;transition:.2s ease}
#clsf-bolsa .bt-btn-gold{background:var(--gold);color:#082b54;box-shadow:0 12px 28px rgba(223,164,0,.24)}
#clsf-bolsa .bt-btn-gold:hover{background:#f2ba00;transform:translateY(-2px)}
#clsf-bolsa .bt-btn-outline{color:#fff;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.06)}
#clsf-bolsa .bt-btn-outline:hover{background:rgba(255,255,255,.13)}
#clsf-bolsa .bt-art{position:relative;height:360px}
#clsf-bolsa .bt-briefcase{position:absolute;width:250px;height:180px;right:50px;bottom:35px;border-radius:28px;background:linear-gradient(145deg,#134c7f,#082b54);border:1px solid rgba(255,255,255,.28);box-shadow:0 28px 45px rgba(0,0,0,.22)}
#clsf-bolsa .bt-briefcase:before{content:"";position:absolute;width:90px;height:44px;border:14px solid var(--gold);border-bottom:0;border-radius:22px 22px 0 0;left:66px;top:-48px}
#clsf-bolsa .bt-briefcase:after{content:"";position:absolute;left:0;right:0;top:76px;height:4px;background:rgba(255,255,255,.18)}
#clsf-bolsa .bt-paper{position:absolute;width:155px;height:205px;right:250px;top:55px;border-radius:20px;background:#fff;transform:rotate(-7deg);box-shadow:0 20px 38px rgba(0,0,0,.18)}
#clsf-bolsa .bt-paper:before{content:"";position:absolute;left:28px;right:28px;top:58px;height:8px;border-radius:5px;background:#d9e5f0;box-shadow:0 28px 0 #d9e5f0,0 56px 0 #d9e5f0,0 84px 0 #d9e5f0}
#clsf-bolsa .bt-paper-icon{position:absolute;z-index:2;right:295px;top:80px;color:var(--blue)}
#clsf-bolsa .bt-paper-icon svg{width:50px;height:50px}
#clsf-bolsa .bt-art-dot{position:absolute;border-radius:50%;background:var(--gold)}
#clsf-bolsa .bt-art-dot.one{width:58px;height:58px;right:18px;top:42px}
#clsf-bolsa .bt-art-dot.two{width:26px;height:26px;left:30px;bottom:40px;background:#f0a98d}
#clsf-bolsa .bt-section{padding:88px 0}
#clsf-bolsa .bt-heading{text-align:center;max-width:790px;margin:0 auto 38px}
#clsf-bolsa .bt-label{display:inline-flex;align-items:center;justify-content:center;max-width:100%;margin:0 0 13px;padding:8px 14px;color:#1579ba;background:rgba(22,135,202,.09);border:1px solid rgba(22,135,202,.19);border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.13em;line-height:1.25;text-align:center;text-transform:uppercase}
#clsf-bolsa .bt-heading h2{font-size:clamp(30px,4vw,48px);line-height:1.12;margin:0 0 14px;color:var(--blue)}
#clsf-bolsa .bt-heading h2 span{color:var(--gold)}
#clsf-bolsa .bt-heading p{margin:0;color:var(--muted);font-size:16px;line-height:1.7}
#clsf-bolsa .bt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
#clsf-bolsa .bt-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 24px;box-shadow:0 12px 30px rgba(22,50,78,.07)}
#clsf-bolsa .bt-card:before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;background:var(--gold);border-radius:0 0 4px 4px}
#clsf-bolsa .bt-icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:#edf5fd;color:var(--blue);margin-bottom:18px}
#clsf-bolsa .bt-icon svg{width:28px;height:28px}
#clsf-bolsa .bt-card h3{margin:0 0 10px;color:var(--blue);font-size:20px}
#clsf-bolsa .bt-card p{margin:0 0 14px;color:var(--muted);font-size:14.5px;line-height:1.65}
#clsf-bolsa .bt-card ul{margin:0;padding-left:18px}
#clsf-bolsa .bt-card li{color:var(--muted);font-size:14px;line-height:1.6;margin:6px 0}
#clsf-bolsa .bt-vacancies{background:var(--soft)}
#clsf-bolsa .bt-status{max-width:900px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 14px 35px rgba(22,50,78,.07);display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start}
#clsf-bolsa .bt-status-icon{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;background:#edf5fd;color:var(--blue)}
#clsf-bolsa .bt-status-icon svg{width:36px;height:36px}
#clsf-bolsa .bt-status h2{margin:0 0 10px;color:var(--blue);font-size:30px}
#clsf-bolsa .bt-status p{margin:0;color:var(--muted);line-height:1.7}
#clsf-bolsa .bt-upload{padding:88px 0;background:linear-gradient(140deg,#082b54,#003763);color:#fff}
#clsf-bolsa .bt-upload-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:center}
#clsf-bolsa .bt-upload-art{height:280px;border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;position:relative}
#clsf-bolsa .bt-upload-art svg{width:120px;height:120px;color:var(--gold)}
#clsf-bolsa .bt-upload-copy h2{font-size:42px;line-height:1.12;margin:0 0 15px}
#clsf-bolsa .bt-upload-copy p{margin:0 0 22px;color:rgba(255,255,255,.8);line-height:1.7}
#clsf-bolsa .bt-upload .bt-label{color:#fff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22)}
#clsf-bolsa .bt-requirements{margin:0 0 24px;padding:0;list-style:none}
#clsf-bolsa .bt-requirements li{position:relative;padding:8px 0 8px 28px;color:rgba(255,255,255,.86);line-height:1.55}
#clsf-bolsa .bt-requirements li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:900}
#clsf-bolsa .bt-note{padding:68px 0;background:#fff}
#clsf-bolsa .bt-note-box{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;border:1px solid var(--line);border-radius:18px;padding:26px;background:#fff}
#clsf-bolsa .bt-note-box .bt-icon{margin:0}
#clsf-bolsa .bt-note-box h3{margin:0 0 7px;color:var(--blue)}
#clsf-bolsa .bt-note-box p{margin:0;color:var(--muted);line-height:1.65;font-size:14px}
@media(max-width:920px){
#clsf-bolsa .bt-hero-grid,#clsf-bolsa .bt-upload-grid{grid-template-columns:1fr}
#clsf-bolsa .bt-grid{grid-template-columns:1fr}
#clsf-bolsa .bt-art{height:290px}
}
@media(max-width:620px){
#clsf-bolsa .bt-shell{width:min(100% - 28px,1180px)}
#clsf-bolsa .bt-hero{min-height:auto}
#clsf-bolsa .bt-hero-grid{padding:55px 0 35px}
#clsf-bolsa .bt-hero-copy p{font-size:16px}
#clsf-bolsa .bt-art{display:none}
#clsf-bolsa .bt-briefcase{width:190px;height:140px;right:10px}
#clsf-bolsa .bt-briefcase:before{left:48px;width:70px}
#clsf-bolsa .bt-paper{width:118px;height:165px;right:165px;top:35px}
#clsf-bolsa .bt-paper-icon{right:198px;top:55px}
#clsf-bolsa .bt-paper-icon svg{width:38px;height:38px}
#clsf-bolsa .bt-section,#clsf-bolsa .bt-upload{padding:64px 0}
#clsf-bolsa .bt-status{grid-template-columns:1fr;padding:27px 23px}
#clsf-bolsa .bt-upload-copy h2{font-size:34px}
#clsf-bolsa .bt-note-box{grid-template-columns:1fr}
}


/* CLSF 1.0.21: slide interior unificado */
#clsf-bolsa .bt-hero{min-height:500px;background:radial-gradient(circle at 76% 22%,rgba(223,164,0,.18),transparent 21%),linear-gradient(120deg,#041b44 0%,#003763 58%,#0b4d8f 100%);box-shadow:inset 0 -7px 0 var(--gold)}
@media(max-width:620px){#clsf-bolsa .bt-hero{min-height:510px}}

/* ---- contacto.css ---- */
#clsf-contacto,#clsf-contacto *{box-sizing:border-box}
#clsf-contacto{--blue:#003763;--blue2:#082b54;--gold:#dfa400;--ink:#10243b;--muted:#607083;--soft:#f3f7fb;--line:#dbe5ef;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;overflow:hidden}
#clsf-contacto a{text-decoration:none}
#clsf-contacto a:focus-visible{outline:4px solid rgba(223,164,0,.55);outline-offset:4px}
#clsf-contacto svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#clsf-contacto .ct-shell{width:min(1180px,calc(100% - 40px));margin:auto}
#clsf-contacto .ct-hero{position:relative;min-height:500px;display:flex;align-items:center;color:#fff;background:radial-gradient(circle at 78% 22%,rgba(255,208,100,.28),transparent 22%),linear-gradient(120deg,#06234a 0%,#003763 58%,#0f5083 100%);isolation:isolate;overflow:hidden}
#clsf-contacto .ct-hero:after{content:"";position:absolute;inset:auto -8% -45% 42%;height:90%;border-radius:50%;background:rgba(255,255,255,.06);transform:rotate(-8deg);z-index:-1}
#clsf-contacto .ct-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px;padding:70px 0}
#clsf-contacto .ct-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
#clsf-contacto .ct-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}
#clsf-contacto h1{font-size:clamp(46px,7vw,82px);line-height:.98;margin:20px 0 18px;letter-spacing:-.04em}
#clsf-contacto .ct-hero-copy p{max-width:670px;margin:0;color:rgba(255,255,255,.86);font-size:18px;line-height:1.7}
#clsf-contacto .ct-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
#clsf-contacto .ct-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border-radius:10px;font-weight:800;font-size:14px;transition:.2s ease}
#clsf-contacto .ct-btn-primary{background:var(--gold);color:#082b54;box-shadow:0 12px 28px rgba(223,164,0,.25)}
#clsf-contacto .ct-btn-primary:hover{transform:translateY(-2px);background:#f2ba00}
#clsf-contacto .ct-btn-outline{color:#fff;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.06)}
#clsf-contacto .ct-btn-outline:hover{background:rgba(255,255,255,.13)}
#clsf-contacto .ct-hero-art{position:relative;height:360px}
#clsf-contacto .ct-art-card{position:absolute;border:1px solid rgba(255,255,255,.28);background:linear-gradient(160deg,rgba(255,255,255,.20),rgba(255,255,255,.06));backdrop-filter:blur(5px);border-radius:34px}
#clsf-contacto .ct-art-card.a{width:210px;height:300px;right:58px;top:20px}
#clsf-contacto .ct-art-card.b{width:150px;height:220px;right:0;bottom:15px;background:linear-gradient(160deg,rgba(255,206,109,.55),rgba(255,255,255,.10))}
#clsf-contacto .ct-art-card.c{width:130px;height:185px;left:20px;bottom:20px}
#clsf-contacto .ct-art-icon{position:absolute;display:grid;place-items:center;border-radius:26px;color:#fff}
#clsf-contacto .ct-art-icon svg{width:70px;height:70px}
#clsf-contacto .ct-art-icon.pin{right:110px;top:88px}
#clsf-contacto .ct-art-icon.msg{left:56px;bottom:70px}
#clsf-contacto .ct-art-dot{position:absolute;border-radius:50%;background:var(--gold);box-shadow:0 0 0 12px rgba(223,164,0,.10)}
#clsf-contacto .ct-art-dot.one{width:50px;height:50px;left:145px;top:45px}
#clsf-contacto .ct-art-dot.two{width:24px;height:24px;right:18px;top:10px;background:#f0a98d}
#clsf-contacto .ct-section{padding:88px 0}
#clsf-contacto .ct-heading{text-align:center;max-width:780px;margin:0 auto 38px}
#clsf-contacto .ct-label{display:inline-flex;align-items:center;justify-content:center;max-width:100%;margin:0 0 13px;padding:8px 14px;color:#1579ba;background:rgba(22,135,202,.09);border:1px solid rgba(22,135,202,.19);border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.13em;line-height:1.25;text-align:center;text-transform:uppercase}
#clsf-contacto .ct-heading h2{font-size:clamp(30px,4vw,48px);line-height:1.12;margin:0 0 14px;color:var(--blue)}
#clsf-contacto .ct-heading h2 span{color:var(--gold)}
#clsf-contacto .ct-heading p{margin:0;color:var(--muted);font-size:16px;line-height:1.7}
#clsf-contacto .ct-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
#clsf-contacto .ct-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 22px;box-shadow:0 12px 30px rgba(22,50,78,.07)}
#clsf-contacto .ct-card:before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;border-radius:0 0 4px 4px;background:var(--gold)}
#clsf-contacto .ct-card-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:#edf5fd;color:var(--blue);margin-bottom:18px}
#clsf-contacto .ct-card-icon svg{width:27px;height:27px}
#clsf-contacto .ct-card h3{margin:0 0 9px;color:var(--blue);font-size:19px}
#clsf-contacto .ct-card p,#clsf-contacto .ct-card a{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65}
#clsf-contacto .ct-card a:hover{color:var(--blue)}
#clsf-contacto .ct-map-section{background:var(--soft)}
#clsf-contacto .ct-map-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}
#clsf-contacto .ct-map{position:relative;min-height:430px;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#dce9f5,#f9fbfd);border:1px solid var(--line)}
#clsf-contacto .ct-map:before,#clsf-contacto .ct-map:after{content:"";position:absolute;inset:-10%;background:repeating-linear-gradient(25deg,transparent 0 54px,rgba(0,55,99,.08) 55px 58px,transparent 59px 110px);transform:rotate(-5deg)}
#clsf-contacto .ct-map:after{background:repeating-linear-gradient(105deg,transparent 0 68px,rgba(223,164,0,.12) 69px 72px,transparent 73px 138px);transform:rotate(9deg)}
#clsf-contacto .ct-map-pin{position:absolute;z-index:2;left:52%;top:46%;width:78px;height:78px;border-radius:50% 50% 50% 0;background:var(--gold);transform:rotate(-45deg);box-shadow:0 18px 35px rgba(0,55,99,.22)}
#clsf-contacto .ct-map-pin:after{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:#fff;left:27px;top:27px}
#clsf-contacto .ct-map-badge{position:absolute;z-index:3;left:24px;bottom:24px;background:#fff;border-radius:14px;padding:14px 17px;box-shadow:0 12px 30px rgba(0,55,99,.14)}
#clsf-contacto .ct-map-badge strong{display:block;color:var(--blue);font-size:15px;margin-bottom:4px}
#clsf-contacto .ct-map-badge span{color:var(--muted);font-size:13px}
#clsf-contacto .ct-contact-panel{background:linear-gradient(145deg,#082b54,#003763);color:#fff;border-radius:24px;padding:36px}
#clsf-contacto .ct-contact-panel h2{font-size:34px;line-height:1.15;margin:0 0 14px}
#clsf-contacto .ct-contact-panel p{color:rgba(255,255,255,.8);line-height:1.7;margin:0 0 22px}
#clsf-contacto .ct-contact-panel .ct-label{color:#fff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22)}
#clsf-contacto .ct-channel{display:flex;gap:15px;align-items:flex-start;padding:18px 0;border-top:1px solid rgba(255,255,255,.13)}
#clsf-contacto .ct-channel-icon{flex:0 0 46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:var(--gold)}
#clsf-contacto .ct-channel-icon svg{width:24px;height:24px}
#clsf-contacto .ct-channel strong{display:block;margin-bottom:4px}
#clsf-contacto .ct-channel span,#clsf-contacto .ct-channel a{color:rgba(255,255,255,.76);font-size:14px;line-height:1.55}
#clsf-contacto .ct-social{padding:68px 0;background:#fff}
#clsf-contacto .ct-social-box{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 34px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(22,50,78,.06)}
#clsf-contacto .ct-social-box h2{margin:0;color:var(--blue);font-size:28px}
#clsf-contacto .ct-social-box p{margin:6px 0 0;color:var(--muted)}
#clsf-contacto .ct-social-links{display:flex;gap:10px;flex-wrap:wrap}
#clsf-contacto .ct-social-links a{padding:11px 15px;border-radius:10px;background:#edf5fd;color:var(--blue);font-weight:800;font-size:13px}
#clsf-contacto .ct-social-links a:hover{background:var(--blue);color:#fff}
@media(max-width:960px){
#clsf-contacto .ct-hero-grid,#clsf-contacto .ct-map-grid{grid-template-columns:1fr}
#clsf-contacto .ct-hero-art{height:300px}
#clsf-contacto .ct-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
#clsf-contacto .ct-shell{width:min(100% - 28px,1180px)}
#clsf-contacto .ct-hero{min-height:auto}
#clsf-contacto .ct-hero-grid{padding:55px 0 35px}
#clsf-contacto .ct-hero-copy p{font-size:16px}
#clsf-contacto .ct-hero-art{display:none}
#clsf-contacto .ct-art-card.a{width:165px;height:230px;right:38px}
#clsf-contacto .ct-art-card.b{width:120px;height:175px}
#clsf-contacto .ct-art-card.c{width:105px;height:145px}
#clsf-contacto .ct-art-icon.pin{right:80px;top:70px}
#clsf-contacto .ct-art-icon.msg{left:35px;bottom:50px}
#clsf-contacto .ct-art-icon svg{width:50px;height:50px}
#clsf-contacto .ct-section{padding:64px 0}
#clsf-contacto .ct-cards{grid-template-columns:1fr}
#clsf-contacto .ct-map{min-height:330px}
#clsf-contacto .ct-contact-panel{padding:28px 24px}
#clsf-contacto .ct-social-box{display:block;padding:26px 22px}
#clsf-contacto .ct-social-links{margin-top:20px}
}


/* CLSF 1.0.21: Contacto final — slide limpio, mapa real y redes correctas */
#clsf-contacto .ct-hero{min-height:500px;background:radial-gradient(circle at 78% 22%,rgba(223,164,0,.18),transparent 22%),linear-gradient(120deg,#041b44 0%,#003763 58%,#0b4d8f 100%);box-shadow:inset 0 -7px 0 var(--gold)}
#clsf-contacto .ct-hero-grid{grid-template-columns:1fr}
#clsf-contacto .ct-hero-copy{max-width:780px}
#clsf-contacto .ct-hero-art{display:none!important}
#clsf-contacto .ct-map{position:relative;min-height:430px;overflow:hidden;background:#dfeaf2}
#clsf-contacto .ct-map-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
#clsf-contacto .ct-map:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,55,99,.02),rgba(0,55,99,.28));pointer-events:none}
#clsf-contacto .ct-map-pin,#clsf-contacto .ct-map-badge{z-index:2}
#clsf-contacto .ct-map-open{display:inline-flex;align-items:center;justify-content:center;margin-top:9px;padding:7px 11px;color:#082b54;background:var(--gold);border-radius:7px;font-size:11px;font-weight:900}
#clsf-contacto .ct-social-links a{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:10px 15px;border-radius:10px}
#clsf-contacto .ct-social-links a svg{width:22px;height:22px;flex:0 0 22px}
#clsf-contacto .ct-social-facebook svg{fill:currentColor;stroke:none}
#clsf-contacto .ct-social-instagram svg{fill:none;stroke:currentColor;stroke-width:1.8}
#clsf-contacto .ct-social-youtube svg{fill:none;stroke:currentColor;stroke-width:1.7}
#clsf-contacto .ct-social-youtube svg path:first-child{fill:currentColor;stroke:none}
#clsf-contacto .ct-social-youtube svg path:last-child{fill:#fff;stroke:none}
@media(max-width:620px){#clsf-contacto .ct-hero{min-height:510px}.ct-social-links{justify-content:center}#clsf-contacto .ct-map{min-height:340px}}

/* =========================================================
   CLSF 1.0.22 — CORRECCIONES FINALES APROBADAS
========================================================= */
.clsf-header{background:rgba(255,255,255,.58)!important;-webkit-backdrop-filter:blur(18px) saturate(145%)!important;backdrop-filter:blur(18px) saturate(145%)!important}
@media(min-width:1041px){
  .clsf-header-inner{align-items:stretch!important}
  .clsf-nav,.clsf-menu-list,.clsf-menu-list>.clsf-menu-item{align-self:stretch!important}
  .clsf-menu-list>.clsf-menu-item>a,.clsf-menu-list>.clsf-menu-item>.clsf-menu-heading{height:100%!important;min-height:100%!important;border-radius:0!important}
  .clsf-menu-list>.clsf-menu-item.current>a,.clsf-menu-list>.clsf-menu-item.current>.clsf-menu-heading,.clsf-menu-list>.clsf-menu-item.active>a,.clsf-menu-list>.clsf-menu-item.active>.clsf-menu-heading{background:var(--yellow)!important;color:var(--navy)!important}
}
.clsf-back-top{right:20px!important;bottom:91px!important;width:36px!important;height:36px!important;color:#fff!important;background:rgba(0,0,0,.58)!important;border:1px solid rgba(255,255,255,.52)!important;box-shadow:0 8px 22px rgba(0,0,0,.24)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}
.clsf-back-top:hover{background:rgba(0,0,0,.78)!important;color:#fff!important}
@media(max-width:680px){.clsf-back-top{right:14px!important;bottom:83px!important;width:33px!important;height:33px!important}}

/* Sliders/heroes internos: misma altura y tono de Admisiones. */
#clsf-nosotros .hero,#clsf-oferta-general .clsf-hero,#clsf-parvularia .pv-hero,#clsf-primer-ciclo .pc-hero,#clsf-segundo-ciclo .sc-hero,#clsf-tercer-ciclo .tc-hero,#clsf-bachillerato .bc-hero,#clsf-bolsa .bt-hero,#clsf-contacto .ct-hero,.clsf-admision-hero{min-height:500px!important}
#clsf-tercer-ciclo .tc-hero{background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/oferta-academica/tercerciclo.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat!important}
#clsf-bachillerato .bc-hero{background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/oferta-academica/bachillerato.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat!important}
.clsf-admision-hero,#clsf-oferta-general .clsf-hero{background-image:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/Matricula.jpg')!important}
#clsf-nosotros .video-poster{background:linear-gradient(135deg,rgba(4,27,68,.78),rgba(0,55,99,.58)),url('/images/2026/banner-08.jpg') center/cover no-repeat!important}
@media(max-width:680px){
 #clsf-nosotros .hero,#clsf-oferta-general .clsf-hero,#clsf-parvularia .pv-hero,#clsf-primer-ciclo .pc-hero,#clsf-segundo-ciclo .sc-hero,#clsf-tercer-ciclo .tc-hero,#clsf-bachillerato .bc-hero,#clsf-bolsa .bt-hero,#clsf-contacto .ct-hero,.clsf-admision-hero{min-height:510px!important}
 #clsf-tercer-ciclo .tc-hero{background:linear-gradient(180deg,rgba(4,27,68,.76) 0%,rgba(4,27,68,.86) 52%,rgba(4,27,68,.98) 100%),url('/images/2026/oferta-academica/tercerciclo.png') 72% center/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat!important}
 #clsf-bachillerato .bc-hero{background:linear-gradient(180deg,rgba(4,27,68,.76) 0%,rgba(4,27,68,.86) 52%,rgba(4,27,68,.98) 100%),url('/images/2026/oferta-academica/bachillerato.png') 72% center/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat!important}
}


/* =========================================================
   CLSF 1.0.23 — CORRECCIONES PUNTUALES SOBRE 1.0.22
   - sliders/heroes: mismo tono y alto de Admisiones
   - mapa.jpeg solo en footer
   - WhatsApp encima de volver-arriba, entrada CSS sin JS
========================================================= */

/* Footer: la imagen proporcionada se muestra completa dentro del marco. */
.clsf-footer-v2-map img{
    object-fit:contain!important;
    object-position:center!important;
    background:#031a3d!important;
    opacity:.96!important;
}

/* Contacto: recuperar el mapa visual de ubicación; mapa.jpeg NO se usa aquí. */
#clsf-contacto .ct-map{
    position:relative!important;
    min-height:430px!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,#dce9f5,#f9fbfd)!important;
    border:1px solid var(--line)!important;
}
#clsf-contacto .ct-map-image{display:none!important}
#clsf-contacto .ct-map:before,
#clsf-contacto .ct-map:after{
    content:""!important;
    position:absolute!important;
    inset:-10%!important;
    pointer-events:none!important;
}
#clsf-contacto .ct-map:before{
    background:repeating-linear-gradient(25deg,transparent 0 54px,rgba(0,55,99,.08) 55px 58px,transparent 59px 110px)!important;
    transform:rotate(-5deg)!important;
}
#clsf-contacto .ct-map:after{
    background:repeating-linear-gradient(105deg,transparent 0 68px,rgba(223,164,0,.12) 69px 72px,transparent 73px 138px)!important;
    transform:rotate(9deg)!important;
}
#clsf-contacto .ct-map-pin,
#clsf-contacto .ct-map-badge{z-index:3!important}

/* Unificación real de altura: 500px en escritorio para TODOS los sliders/heroes. */
#clsf-home-2027 .clsf-slider,
#clsf-home-2027 .clsf-slides,
#clsf-nosotros .hero,
#clsf-oferta-general .clsf-hero,
#clsf-parvularia .pv-hero,
#clsf-primer-ciclo .pc-hero,
#clsf-segundo-ciclo .sc-hero,
#clsf-tercer-ciclo .tc-hero,
#clsf-bachillerato .bc-hero,
#clsf-bolsa .bt-hero,
#clsf-contacto .ct-hero,
.clsf-admision-hero{
    height:500px!important;
    min-height:500px!important;
    max-height:500px!important;
}

/* Mismo tono azul de Admisiones en todas las imágenes de portada. */
#clsf-home-2027 .clsf-slide::after{
    background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%)!important;
}
.clsf-admision-hero,
#clsf-oferta-general .clsf-hero{
    background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/Matricula.jpg') 54% center/cover no-repeat!important;
}
#clsf-parvularia .pv-hero{
    background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/components/com_clsfsite/media/images/parvularia-portada.webp') center/cover no-repeat!important;
}
#clsf-primer-ciclo .pc-hero{
    background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/oferta-academica/primer-ciclo-portada.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat!important;
}
#clsf-segundo-ciclo .sc-hero{
    background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/oferta-academica/segundo-ciclo-portada.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat!important;
}
#clsf-tercer-ciclo .tc-hero{
    background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/oferta-academica/tercerciclo.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat!important;
}
#clsf-bachillerato .bc-hero{
    background:linear-gradient(90deg,rgba(4,27,68,.97) 0%,rgba(6,42,99,.90) 36%,rgba(6,42,99,.45) 65%,rgba(6,42,99,.08) 100%),url('/images/2026/oferta-academica/bachillerato.png') center right/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat!important;
}
/* Páginas sin fotografía de portada: mismo azul institucional de Admisiones. */
#clsf-nosotros .hero,
#clsf-bolsa .bt-hero,
#clsf-contacto .ct-hero{
    background:linear-gradient(120deg,#041b44 0%,#062a63 58%,#0b4d8f 100%)!important;
}

/* Home: compactar contenido para respetar exactamente los 500px. */
#clsf-home-2027 .clsf-slide-inner{padding-top:52px!important;padding-bottom:108px!important}

/* WhatsApp: arriba de la flecha, icono limpio y entrada visible sin JavaScript. */
.clsf-back-top{
    right:18px!important;
    bottom:18px!important;
    width:36px!important;
    height:36px!important;
    color:#fff!important;
    background:rgba(0,0,0,.58)!important;
    border:1px solid rgba(255,255,255,.52)!important;
    box-shadow:0 8px 22px rgba(0,0,0,.24)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    backdrop-filter:blur(8px)!important;
}
.clsf-whatsapp-float{
    position:fixed!important;
    right:14px!important;
    bottom:68px!important;
    z-index:1250!important;
    display:grid!important;
    width:58px!important;
    height:58px!important;
    color:#fff!important;
    background:#25d366!important;
    border:2px solid rgba(255,255,255,.98)!important;
    border-radius:50%!important;
    box-shadow:0 12px 30px rgba(0,0,0,.30)!important;
    place-items:center!important;
    text-decoration:none!important;
    isolation:isolate!important;
    animation:clsf-wa-enter .72s cubic-bezier(.18,.89,.32,1.28) .18s both!important;
}
.clsf-whatsapp-float svg{width:34px!important;height:34px!important;overflow:visible!important}
.clsf-whatsapp-float .clsf-wa-bubble{fill:none!important;stroke:#fff!important;stroke-width:2.15!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.clsf-whatsapp-float .clsf-wa-phone{fill:#fff!important;stroke:none!important}
.clsf-whatsapp-float::before,
.clsf-whatsapp-float::after{
    content:""!important;
    position:absolute!important;
    inset:-5px!important;
    z-index:-1!important;
    border:2px solid rgba(37,211,102,.64)!important;
    border-radius:50%!important;
    animation:clsf-wa-pulse 2.15s ease-out 1s infinite!important;
}
.clsf-whatsapp-float::after{animation-delay:1.9s!important}
@keyframes clsf-wa-enter{
    0%{opacity:0;transform:translateY(24px) scale(.72)}
    65%{opacity:1;transform:translateY(-4px) scale(1.05)}
    100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes clsf-wa-pulse{
    0%{transform:scale(.88);opacity:.80}
    78%,100%{transform:scale(1.45);opacity:0}
}

@media(max-width:900px) and (min-width:651px){
    #clsf-home-2027 .clsf-slider,
    #clsf-home-2027 .clsf-slides{height:500px!important;min-height:500px!important;max-height:500px!important}
    #clsf-home-2027 .clsf-slide-inner{padding:44px 75px 82px!important}
    #clsf-home-2027 .clsf-slider-dots{bottom:88px!important}
}

@media(max-width:650px){
    #clsf-home-2027 .clsf-slider,
    #clsf-home-2027 .clsf-slides,
    #clsf-nosotros .hero,
    #clsf-oferta-general .clsf-hero,
    #clsf-parvularia .pv-hero,
    #clsf-primer-ciclo .pc-hero,
    #clsf-segundo-ciclo .sc-hero,
    #clsf-tercer-ciclo .tc-hero,
    #clsf-bachillerato .bc-hero,
    #clsf-bolsa .bt-hero,
    #clsf-contacto .ct-hero,
    .clsf-admision-hero{
        height:510px!important;
        min-height:510px!important;
        max-height:510px!important;
    }
    #clsf-home-2027 .clsf-slide-inner{padding:42px 22px 56px!important}
    #clsf-home-2027 .clsf-slider-controls{padding:0 17px 18px!important}
    #clsf-home-2027 .clsf-slider-dots{bottom:28px!important}
    .clsf-back-top{right:12px!important;bottom:13px!important;width:33px!important;height:33px!important}
    .clsf-whatsapp-float{right:9px!important;bottom:60px!important;width:55px!important;height:55px!important}
    .clsf-whatsapp-float svg{width:32px!important;height:32px!important}
}

@media(prefers-reduced-motion:reduce){
    .clsf-whatsapp-float,
    .clsf-whatsapp-float::before,
    .clsf-whatsapp-float::after{animation:none!important}
}


/* =========================================================
   CLSF 1.0.24 — CORRECCIONES PUNTUALES
   - Fundadoras: fotografías reales
   - Acerca de Nosotros: contenido dentro del hero de 500px
   - Contáctanos: arte lateral restaurado estilo Bolsa de Trabajo
========================================================= */

/* Institución: mantener el alto global de 500px, pero sin recortar acciones. */
@media(min-width:961px){
    #clsf-nosotros .hero-grid{
        height:100%!important;
        padding:26px 0!important;
        gap:42px!important;
        align-items:center!important;
    }
    #clsf-nosotros .hero-copy{align-self:center!important}
    #clsf-nosotros .kicker{padding:7px 12px!important;font-size:11px!important}
    #clsf-nosotros h1{
        margin:12px 0 12px!important;
        font-size:clamp(48px,5.2vw,70px)!important;
        line-height:.94!important;
    }
    #clsf-nosotros .hero-copy p{
        max-width:650px!important;
        font-size:16.5px!important;
        line-height:1.55!important;
    }
    #clsf-nosotros .actions{margin-top:18px!important;gap:10px!important}
    #clsf-nosotros .actions .btn{
        min-height:44px!important;
        padding:0 17px!important;
        font-size:13px!important;
    }
    #clsf-nosotros .hero-panel{
        max-width:500px!important;
        padding:20px 22px!important;
        border-radius:23px!important;
    }
    #clsf-nosotros .hero-badge{height:32px!important;min-width:84px!important;font-size:11.5px!important}
    #clsf-nosotros .hero-panel h3{
        margin:11px 0 8px!important;
        font-size:25px!important;
        line-height:1.08!important;
    }
    #clsf-nosotros .hero-panel p{font-size:14px!important;line-height:1.45!important}
    #clsf-nosotros .hero-metrics{gap:10px!important;margin-top:14px!important}
    #clsf-nosotros .metric{padding:11px 12px!important;border-radius:14px!important}
    #clsf-nosotros .metric strong{font-size:23px!important;margin-bottom:4px!important}
    #clsf-nosotros .metric span{font-size:11.5px!important;line-height:1.3!important}
    #clsf-nosotros .hero-orb.one{width:92px!important;height:92px!important;top:-16px!important}
    #clsf-nosotros .hero-orb.two{width:48px!important;height:48px!important;bottom:35px!important}
}

/* Fotos de las fundadoras: encuadre limpio y consistente. */
#clsf-nosotros .founder-photo{
    width:96px!important;
    height:96px!important;
    flex-basis:96px!important;
    background:#eef4f9!important;
}
#clsf-nosotros .founder-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center top!important;
}

/* Contáctanos: recuperar una composición gráfica lateral, sin imagen ni JS. */
@media(min-width:961px){
    #clsf-contacto .ct-hero-grid{
        height:100%!important;
        grid-template-columns:1.08fr .92fr!important;
        gap:48px!important;
        padding:38px 0!important;
        align-items:center!important;
    }
    #clsf-contacto .ct-hero-copy{max-width:690px!important}
    #clsf-contacto .ct-hero-art{
        display:block!important;
        position:relative!important;
        height:330px!important;
        width:100%!important;
        max-width:470px!important;
        margin-left:auto!important;
    }
    #clsf-contacto .ct-art-card.a{width:205px!important;height:282px!important;right:62px!important;top:20px!important}
    #clsf-contacto .ct-art-card.b{width:145px!important;height:205px!important;right:0!important;bottom:12px!important}
    #clsf-contacto .ct-art-card.c{width:125px!important;height:172px!important;left:18px!important;bottom:24px!important}
    #clsf-contacto .ct-art-icon.pin{right:112px!important;top:80px!important}
    #clsf-contacto .ct-art-icon.msg{left:52px!important;bottom:68px!important}
    #clsf-contacto .ct-art-dot.one{left:140px!important;top:42px!important}
}
@media(max-width:960px){
    #clsf-contacto .ct-hero-grid{grid-template-columns:1fr!important}
    #clsf-contacto .ct-hero-art{display:none!important}
}

/* Institución en móvil: foto y texto de fundadoras sin desbordes. */
@media(max-width:720px){
    #clsf-nosotros .founder-photo{width:82px!important;height:82px!important;flex-basis:82px!important}
}

/* =========================================================
   CLSF 1.0.25 — AJUSTES VISUALES ACUMULADOS
   - Menú: hover gris translúcido / activo amarillo
   - Home: cápsula Identidad, video y tarjetas refinadas
   - Institución: menos espacio, fundadoras, identidad institucional + himno
   - Contacto: hero de atención, tarjetas elegantes, mapa real, redes completas
========================================================= */

/* ---------- MENÚ ---------- */
@media (min-width:1041px){
  .clsf-menu-list>.clsf-menu-item:not(.current):not(.active)>a:hover,
  .clsf-menu-list>.clsf-menu-item:not(.current):not(.active)>.clsf-menu-heading:hover{
    background:rgba(67,76,89,.14)!important;
    border-color:rgba(67,76,89,.08)!important;
    color:var(--navy)!important;
  }
  .clsf-menu-list>.clsf-menu-item.current>a:hover,
  .clsf-menu-list>.clsf-menu-item.current>.clsf-menu-heading:hover,
  .clsf-menu-list>.clsf-menu-item.active>a:hover,
  .clsf-menu-list>.clsf-menu-item.active>.clsf-menu-heading:hover{
    background:var(--yellow)!important;
    color:var(--navy)!important;
  }
}
.clsf-submenu .clsf-menu-item>a:hover,
.clsf-submenu .clsf-menu-item>.clsf-menu-heading:hover{
  background:rgba(67,76,89,.10)!important;
  color:var(--navy)!important;
}
.clsf-submenu .clsf-menu-item.current>a{
  background:var(--yellow)!important;
  color:var(--navy)!important;
}
.clsf-institution-submenu{min-width:250px!important}

/* ---------- HOME: cápsula IDENTIDAD ---------- */
#clsf-home-2027 .clsf-presentation .clsf-section-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 0 15px!important;
  padding:7px 13px!important;
  color:#1579ba!important;
  background:rgba(22,135,202,.09)!important;
  border:1px solid rgba(22,135,202,.18)!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:1.7px!important;
  line-height:1!important;
  text-transform:uppercase!important;
}

/* Home: efecto de reproducción más protagonista, coherente con Institución. */
#clsf-home-2027 .clsf-video-play{
  width:82px!important;
  height:82px!important;
  color:#082b54!important;
  background:#f0b400!important;
  border:0!important;
  box-shadow:0 18px 38px rgba(0,0,0,.28),0 0 0 12px rgba(255,255,255,.11)!important;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease!important;
}
#clsf-home-2027 .clsf-video-play svg{width:36px!important;height:36px!important}
#clsf-home-2027 .clsf-video-link:hover .clsf-video-play{
  color:#082b54!important;
  background:#ffc51a!important;
  transform:scale(1.07)!important;
  box-shadow:0 22px 46px rgba(0,0,0,.32),0 0 0 16px rgba(255,255,255,.14)!important;
}
#clsf-home-2027 .clsf-video-link-content strong{margin-top:4px;font-size:16px!important;letter-spacing:.15px}

/* Home: cajas junto al video más elegantes y diferenciadas. */
#clsf-home-2027 .clsf-why-video-reason{
  border:1px solid rgba(5,40,94,.10)!important;
  background:linear-gradient(135deg,#ffffff 0%,#f4f8fc 100%)!important;
  box-shadow:0 12px 30px rgba(5,40,94,.08)!important;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease!important;
}
#clsf-home-2027 .clsf-why-video-reason:nth-child(even){
  background:linear-gradient(135deg,#f7fbff 0%,#edf5fb 100%)!important;
}
#clsf-home-2027 .clsf-why-video-reason::before{
  width:4px!important;
  background:linear-gradient(180deg,#1687ca,#dfa400)!important;
}
#clsf-home-2027 .clsf-why-video-reason:hover{
  background:linear-gradient(135deg,#eef7ff 0%,#ffffff 100%)!important;
  border-color:rgba(22,135,202,.28)!important;
  box-shadow:0 18px 38px rgba(5,40,94,.14)!important;
  transform:translateY(-5px)!important;
}
#clsf-home-2027 .clsf-why-video-reason:hover .clsf-why-video-icon{
  color:#fff!important;
  background:#003763!important;
  border-color:#003763!important;
  transform:scale(1.04)!important;
}
#clsf-home-2027 .clsf-why-video-icon{
  border-radius:18px!important;
  transition:transform .25s ease,color .25s ease,background .25s ease,border-color .25s ease!important;
}

/* ---------- INSTITUCIÓN ---------- */
#clsf-nosotros #acerca-de-nosotros,
#clsf-nosotros #historia-fundadoras,
#clsf-nosotros #identidad-institucional{scroll-margin-top:108px}

@media(min-width:961px){
  #clsf-nosotros .hero-grid{
    padding:10px 0 22px!important;
  }
  #clsf-nosotros .hero-copy,
  #clsf-nosotros .hero-panel{
    transform:translateY(-13px)!important;
  }
}

/* La portada del video de Historia usa un fotograma real del video de YouTube. */
#clsf-nosotros .video-poster{
  background:
    linear-gradient(135deg,rgba(4,27,68,.76),rgba(0,55,99,.48)),
    url('https://img.youtube.com/vi/2AqFQZCVP6k/hqdefault.jpg') center 38%/cover no-repeat!important;
}

/* Fundadoras: el retrato llena el círculo sin bordes vacíos. */
#clsf-nosotros .founder-photo{overflow:hidden!important;border:5px solid #fff!important;box-shadow:0 0 0 1px rgba(5,40,94,.15),0 12px 26px rgba(5,40,94,.10)!important}
#clsf-nosotros .founder-photo img{
  object-fit:cover!important;
  object-position:center 22%!important;
  transform:scale(1.09)!important;
}

/* Identidad institucional */
#clsf-nosotros .clsf-institutional-identity{
  background:linear-gradient(180deg,#f4f8fc 0%,#ffffff 100%)!important;
}
#clsf-nosotros .clsf-identity-showcase{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:34px;
}
#clsf-nosotros .clsf-identity-feature{
  position:relative;
  min-width:0;
  padding:28px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(5,40,94,.12);
  border-radius:24px;
  box-shadow:0 14px 34px rgba(5,40,94,.08);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
#clsf-nosotros .clsf-identity-feature:hover{
  transform:translateY(-5px);
  border-color:rgba(223,164,0,.42);
  box-shadow:0 20px 44px rgba(5,40,94,.13);
}
#clsf-nosotros .clsf-identity-number{
  position:absolute;
  top:18px;
  right:20px;
  color:rgba(5,40,94,.14);
  font-size:34px;
  font-weight:950;
  letter-spacing:-1px;
}
#clsf-nosotros .clsf-identity-feature small{
  display:block;
  margin-bottom:9px;
  color:#c48e00;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.4px;
  text-transform:uppercase;
}
#clsf-nosotros .clsf-identity-feature h3{
  max-width:90%;
  margin:0 0 10px;
  color:#003763;
  font-size:clamp(23px,2.4vw,32px);
  line-height:1.18;
}
#clsf-nosotros .clsf-identity-feature p{
  margin:0;
  color:#64748b;
  font-size:14.5px;
  line-height:1.68;
}
#clsf-nosotros .clsf-identity-motto{
  color:#fff;
  background:linear-gradient(135deg,#041b44 0%,#003763 64%,#0a4f88 100%);
  border-color:transparent;
}
#clsf-nosotros .clsf-identity-motto small{color:#f0b400}
#clsf-nosotros .clsf-identity-motto h3{max-width:94%;color:#fff;font-size:clamp(28px,3vw,39px)}
#clsf-nosotros .clsf-identity-motto p{color:rgba(255,255,255,.80)}
#clsf-nosotros .clsf-identity-motto .clsf-identity-number{color:rgba(255,255,255,.13)}
#clsf-nosotros .clsf-identity-logo{display:grid;grid-template-columns:124px 1fr;gap:22px;align-items:center}
#clsf-nosotros .clsf-identity-logo-wrap{
  display:grid;
  width:118px;
  height:118px;
  place-items:center;
  padding:9px;
  background:#f8fbfd;
  border:1px solid rgba(5,40,94,.12);
  border-radius:50%;
}
#clsf-nosotros .clsf-identity-logo-wrap img{display:block;max-width:100%;max-height:100%;object-fit:contain}
#clsf-nosotros .clsf-identity-mascot{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center}
#clsf-nosotros .clsf-panda-mark{
  display:grid;
  width:142px;
  height:142px;
  place-items:center;
  background:radial-gradient(circle at 30% 20%,#fff,#eaf2f8);
  border:1px solid rgba(5,40,94,.12);
  border-radius:30px;
}
#clsf-nosotros .clsf-panda-mark svg{width:126px;height:126px}
#clsf-nosotros .panda-ear,#clsf-nosotros .panda-eye-patch,#clsf-nosotros .panda-eye,#clsf-nosotros .panda-nose{fill:#102033}
#clsf-nosotros .panda-face{fill:#fff;stroke:#d6e1eb;stroke-width:3}
#clsf-nosotros .panda-mouth{fill:none;stroke:#102033;stroke-width:4;stroke-linecap:round}
#clsf-nosotros .panda-scarf{fill:#dfa400}
#clsf-nosotros .clsf-identity-hymn{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
#clsf-nosotros .clsf-hymn-player{width:100%;margin-top:18px;accent-color:#dfa400}
#clsf-nosotros .clsf-hymn-lyrics{
  padding:22px 24px;
  color:#fff;
  background:linear-gradient(135deg,#062a63,#0a4c83);
  border-radius:18px;
}
#clsf-nosotros .clsf-hymn-lyrics strong{display:block;margin-bottom:10px;color:#f0b400;font-size:15px}
#clsf-nosotros .clsf-hymn-lyrics p{color:rgba(255,255,255,.82);font-size:14px}

/* ---------- CONTACTO ---------- */
@media(min-width:961px){
  #clsf-contacto .ct-hero-grid{padding:12px 0 26px!important}
  #clsf-contacto .ct-hero-copy,
  #clsf-contacto .ct-service-art{transform:translateY(-12px)}
}
#clsf-contacto .ct-service-art{
  position:relative;
  width:min(100%,470px);
  height:330px;
  margin-left:auto;
}
#clsf-contacto .ct-service-glow{
  position:absolute;
  inset:42px 30px 22px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(240,180,0,.24),rgba(255,255,255,.02) 60%,transparent 72%);
}
#clsf-contacto .ct-service-monitor{
  position:absolute;
  left:26px;
  bottom:38px;
  width:270px;
  height:176px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.06));
  box-shadow:0 24px 48px rgba(1,20,54,.24);
  backdrop-filter:blur(10px);
}
#clsf-contacto .ct-service-screen{position:absolute;inset:18px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(4,27,68,.34)}
#clsf-contacto .ct-service-screen span{display:block;height:9px;margin:18px 18px 0;border-radius:99px;background:rgba(255,255,255,.24)}
#clsf-contacto .ct-service-screen span:nth-child(2){width:62%}
#clsf-contacto .ct-service-screen span:nth-child(3){width:78%}
#clsf-contacto .ct-service-base{position:absolute;left:94px;bottom:-25px;width:84px;height:28px;border-radius:0 0 12px 12px;background:rgba(255,255,255,.16)}
#clsf-contacto .ct-service-headset{
  position:absolute;
  right:14px;
  top:22px;
  display:grid;
  width:205px;
  height:205px;
  place-items:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.05));
  box-shadow:0 22px 45px rgba(1,20,54,.28),0 0 0 14px rgba(255,255,255,.035);
}
#clsf-contacto .ct-service-headset svg{width:170px;height:170px}
#clsf-contacto .headset-band,#clsf-contacto .headset-mic,#clsf-contacto .headset-smile{fill:none;stroke:#f0b400;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
#clsf-contacto .headset-pad{fill:#f0b400}
#clsf-contacto .headset-face{fill:rgba(255,255,255,.92)}
#clsf-contacto .headset-eye,#clsf-contacto .headset-mic-dot{fill:#003763}
#clsf-contacto .headset-smile{stroke:#003763;stroke-width:5}
#clsf-contacto .ct-service-caption{
  position:absolute;
  right:16px;
  bottom:9px;
  display:grid;
  min-width:190px;
  padding:13px 16px;
  color:#fff;
  background:rgba(3,26,61,.72);
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  backdrop-filter:blur(10px);
}
#clsf-contacto .ct-service-caption strong{font-size:14px}
#clsf-contacto .ct-service-caption span{margin-top:3px;color:rgba(255,255,255,.75);font-size:12px}

/* Tarjetas de contacto tipo editorial, sin iconos genéricos. */
#clsf-contacto .ct-cards-elegant{gap:16px!important}
#clsf-contacto .ct-card-elegant{
  position:relative!important;
  display:flex!important;
  min-height:245px!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  padding:25px 24px 23px!important;
  overflow:hidden!important;
  color:inherit!important;
  background:linear-gradient(145deg,#ffffff,#f6f9fc)!important;
  border:1px solid rgba(5,40,94,.11)!important;
  border-radius:22px!important;
  box-shadow:0 13px 31px rgba(5,40,94,.07)!important;
  text-decoration:none!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}
#clsf-contacto .ct-card-elegant::before{display:none!important}
#clsf-contacto .ct-card-elegant::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:96px;
  height:96px;
  background:radial-gradient(circle at 100% 0,rgba(223,164,0,.18),transparent 68%);
}
#clsf-contacto .ct-card-elegant:hover{
  transform:translateY(-6px)!important;
  border-color:rgba(223,164,0,.42)!important;
  box-shadow:0 20px 42px rgba(5,40,94,.13)!important;
}
#clsf-contacto .ct-card-no{
  display:inline-flex;
  margin-bottom:20px;
  padding:5px 9px;
  color:#003763;
  background:#f5c842;
  border-radius:999px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.8px;
}
#clsf-contacto .ct-card-eyebrow{margin-bottom:6px;color:#1687ca;font-size:11px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase}
#clsf-contacto .ct-card-elegant h3{margin:0 0 10px!important;color:#003763!important;font-size:23px!important}
#clsf-contacto .ct-card-elegant p{margin:0!important;color:#607086!important;font-size:14px!important;line-height:1.65!important}
#clsf-contacto .ct-card-action{display:inline-flex;margin-top:auto;padding-top:18px;color:#003763;font-size:12.5px;font-weight:900}
#clsf-contacto .ct-card-action span{margin-left:7px;transition:transform .2s ease}
#clsf-contacto .ct-card-elegant:hover .ct-card-action span{transform:translateX(4px)}
#clsf-contacto .ct-card-wa .ct-card-no{color:#fff;background:#25d366}
#clsf-contacto .ct-card-action-static{color:#7a8796;font-weight:750}

/* Mapa de Contáctanos: captura real de la zona proporcionada por la institución. */
#clsf-contacto .ct-map{
  min-height:430px!important;
  background:#dfeaf2!important;
  border:1px solid rgba(5,40,94,.12)!important;
  box-shadow:0 16px 38px rgba(5,40,94,.09)!important;
}
#clsf-contacto .ct-map::before{display:none!important}
#clsf-contacto .ct-map::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(3,26,61,.01) 35%,rgba(3,26,61,.30) 100%)!important;
  pointer-events:none!important;
}
#clsf-contacto .ct-map-image{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
#clsf-contacto .ct-map-badge{z-index:4!important;left:22px!important;bottom:22px!important;padding:16px 18px!important;border-radius:16px!important}
#clsf-contacto .ct-map-open{margin-top:10px!important}

/* Panel de ayuda: movimiento y cambio sutil al pasar el mouse, sin JS. */
#clsf-contacto .ct-channel{
  position:relative;
  display:grid!important;
  grid-template-columns:50px minmax(0,1fr) 22px;
  gap:14px!important;
  align-items:center!important;
  margin:0!important;
  padding:17px 12px!important;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.13)!important;
  border-radius:14px!important;
  text-decoration:none!important;
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease!important;
}
#clsf-contacto .ct-channel:hover{
  background:rgba(255,255,255,.075)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.08)!important;
  transform:translateY(-4px)!important;
}
#clsf-contacto .ct-channel-copy{display:block;min-width:0}
#clsf-contacto .ct-channel-copy strong{display:block;margin-bottom:4px;color:#fff;font-size:15px}
#clsf-contacto .ct-channel-copy span{display:block;color:rgba(255,255,255,.76);font-size:13px;line-height:1.5}
#clsf-contacto .ct-channel-icon{transition:transform .22s ease,background .22s ease,color .22s ease!important}
#clsf-contacto .ct-channel:hover .ct-channel-icon{color:#003763!important;background:#f0b400!important;transform:scale(1.05)!important}
#clsf-contacto .ct-channel-arrow{color:#f0b400;font-size:21px;font-weight:900;transition:transform .22s ease}
#clsf-contacto .ct-channel:hover .ct-channel-arrow{transform:translateX(4px)}

/* Redes sociales: colores de marca y hover elegante. */
#clsf-contacto .ct-social-box{align-items:center!important}
#clsf-contacto .ct-social-links{justify-content:flex-end!important;gap:10px!important}
#clsf-contacto .ct-social-links a{
  min-height:50px!important;
  padding:11px 16px!important;
  border:1px solid rgba(5,40,94,.09)!important;
  border-radius:14px!important;
  box-shadow:0 8px 20px rgba(5,40,94,.05)!important;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease!important;
}
#clsf-contacto .ct-social-links a:hover{transform:translateY(-4px)!important;box-shadow:0 14px 26px rgba(5,40,94,.12)!important}
#clsf-contacto .ct-social-facebook{color:#1877f2!important;background:#eef5ff!important}
#clsf-contacto .ct-social-facebook:hover{color:#fff!important;background:#1877f2!important}
#clsf-contacto .ct-social-instagram{color:#c13584!important;background:linear-gradient(135deg,#fff1f7,#fff7ec)!important}
#clsf-contacto .ct-social-instagram:hover{color:#fff!important;background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)!important}
#clsf-contacto .ct-social-youtube{color:#ff0000!important;background:#fff1f1!important}
#clsf-contacto .ct-social-youtube:hover{color:#fff!important;background:#ff0000!important}
#clsf-contacto .ct-social-x{color:#111!important;background:#f2f2f2!important}
#clsf-contacto .ct-social-x:hover{color:#fff!important;background:#111!important}
#clsf-contacto .ct-social-tiktok{color:#111!important;background:linear-gradient(135deg,#eafcff,#fff0f5)!important}
#clsf-contacto .ct-social-tiktok:hover{color:#fff!important;background:linear-gradient(135deg,#00f2ea 0%,#111 48%,#ff0050 100%)!important}
#clsf-contacto .ct-social-links svg{width:22px!important;height:22px!important;fill:currentColor!important;stroke:none!important}
#clsf-contacto .ct-social-instagram svg{fill:none!important;stroke:currentColor!important;stroke-width:1.9!important}
#clsf-contacto .ct-social-youtube svg path:last-child{fill:#fff!important}

/* Footer / menú móvil: redes completas y reconocibles. */
.clsf-footer-v2-social-links a.clsf-social-facebook,.clsf-mobile-social-links a.clsf-social-facebook{background:#1877f2!important;color:#fff!important}
.clsf-footer-v2-social-links a.clsf-social-instagram,.clsf-mobile-social-links a.clsf-social-instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)!important;color:#fff!important}
.clsf-footer-v2-social-links a.clsf-social-youtube,.clsf-mobile-social-links a.clsf-social-youtube{background:#ff0000!important;color:#fff!important}
.clsf-footer-v2-social-links a.clsf-social-x,.clsf-mobile-social-links a.clsf-social-x{background:#111!important;color:#fff!important}
.clsf-footer-v2-social-links a.clsf-social-tiktok,.clsf-mobile-social-links a.clsf-social-tiktok{background:linear-gradient(135deg,#00f2ea,#111 48%,#ff0050)!important;color:#fff!important}
.clsf-footer-v2-social-links a:hover,.clsf-mobile-social-links a:hover{filter:brightness(1.08);transform:translateY(-3px)}

@media(max-width:960px){
  #clsf-contacto .ct-service-art{display:none!important}
  #clsf-contacto .ct-hero-copy{transform:none!important}
  #clsf-nosotros .hero-copy,#clsf-nosotros .hero-panel{transform:none!important}
  #clsf-nosotros .clsf-identity-showcase{grid-template-columns:1fr}
  #clsf-nosotros .clsf-identity-hymn{grid-column:auto;grid-template-columns:1fr}
}
@media(max-width:680px){
  #clsf-nosotros .clsf-identity-feature{padding:23px 20px}
  #clsf-nosotros .clsf-identity-logo,#clsf-nosotros .clsf-identity-mascot{grid-template-columns:1fr}
  #clsf-nosotros .clsf-identity-logo-wrap,#clsf-nosotros .clsf-panda-mark{margin-bottom:4px}
  #clsf-contacto .ct-card-elegant{min-height:210px!important}
  #clsf-contacto .ct-social-links{justify-content:center!important}
  #clsf-contacto .ct-social-links a{flex:1 1 135px;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  #clsf-home-2027 .clsf-why-video-reason,
  #clsf-home-2027 .clsf-why-video-icon,
  #clsf-nosotros .clsf-identity-feature,
  #clsf-contacto .ct-card-elegant,
  #clsf-contacto .ct-channel,
  #clsf-contacto .ct-social-links a{transition:none!important;transform:none!important}
}


/* =========================================================
   CLSF 1.0.27 — CIERRE ACUMULATIVO
   Patrón de heroes: Home escritorio / Admisiones móvil
========================================================= */

/* Home: tarjetas junto al video sin barras laterales de colores. */
#clsf-home-2027 .clsf-why-video-reason::before{display:none!important;content:none!important}
#clsf-home-2027 .clsf-why-video-reason{
  overflow:hidden!important;
  border:1px solid rgba(5,40,94,.09)!important;
  background:linear-gradient(145deg,#fff 0%,#f7fafc 100%)!important;
}
#clsf-home-2027 .clsf-why-video-reason:nth-child(even){background:linear-gradient(145deg,#fbfdff 0%,#f1f6fa 100%)!important}
#clsf-home-2027 .clsf-why-video-reason:hover{border-color:rgba(22,135,202,.24)!important;background:linear-gradient(145deg,#f5faff 0%,#fff 100%)!important}

/* Footer: mapa interactivo, suave y sin JS. */
.clsf-footer-v2-map{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;will-change:transform}
.clsf-footer-v2-map img{transition:transform .34s ease,filter .34s ease!important}
.clsf-footer-v2-map-label{transition:transform .25s ease,background .25s ease,box-shadow .25s ease!important}
.clsf-footer-v2-map:hover{transform:translateY(-5px) scale(1.015)!important;box-shadow:0 22px 42px rgba(0,0,0,.30)!important;border-color:rgba(240,180,0,.55)!important}
.clsf-footer-v2-map:hover img{transform:scale(1.035)!important;filter:brightness(1.05)!important}
.clsf-footer-v2-map:hover .clsf-footer-v2-map-label{transform:translateY(-2px)!important;background:#ffc51a!important;box-shadow:0 8px 18px rgba(0,0,0,.18)!important}

/* Páginas nuevas de Institución. */
.clsf-institution-page .clsf-institution-links a{text-decoration:none!important;color:inherit!important}
.clsf-history-page .identity{background:linear-gradient(135deg,#041b44,#003763)!important;color:#fff!important}
.clsf-history-page .identity .heading h2{color:#fff!important}
.clsf-history-page .identity .heading p{color:rgba(255,255,255,.80)!important}
.clsf-history-hero{background:linear-gradient(120deg,#041b44 0%,#062a63 58%,#0b4d8f 100%)!important}
.clsf-identity-hero{background:linear-gradient(120deg,#041b44 0%,#003763 58%,#0b4d8f 100%)!important}

/* HERO MASTER: mismo alto, jerarquía, cápsula y posición que el Home. */
#clsf-nosotros .hero,
#clsf-oferta-general .clsf-hero,
#clsf-parvularia .pv-hero,
#clsf-primer-ciclo .pc-hero,
#clsf-segundo-ciclo .sc-hero,
#clsf-tercer-ciclo .tc-hero,
#clsf-bachillerato .bc-hero,
#clsf-bolsa .bt-hero,
#clsf-contacto .ct-hero,
.clsf-admision-hero{
  height:500px!important;min-height:500px!important;max-height:500px!important;overflow:hidden!important;
  box-shadow:inset 0 -7px 0 #dfa400!important;
}
#clsf-nosotros .hero-grid,
#clsf-bolsa .bt-hero-grid,
#clsf-contacto .ct-hero-grid{height:100%!important;min-height:0!important;align-items:center!important}
#clsf-oferta-general .clsf-hero .clsf-shell,
#clsf-parvularia .pv-hero .pv-shell,
#clsf-primer-ciclo .pc-hero .pc-shell,
#clsf-segundo-ciclo .sc-hero .sc-shell,
#clsf-tercer-ciclo .tc-hero .tc-shell,
#clsf-bachillerato .bc-hero .bc-shell{height:100%!important;display:flex!important;align-items:center!important}

/* Titulares: escala del Home. */
#clsf-nosotros .hero h1,
#clsf-oferta-general .clsf-hero h1,
#clsf-parvularia .pv-hero h1,
#clsf-primer-ciclo .pc-hero h1,
#clsf-segundo-ciclo .sc-hero h1,
#clsf-tercer-ciclo .tc-hero h1,
#clsf-bachillerato .bc-hero h1,
#clsf-bolsa .bt-hero h1,
#clsf-contacto .ct-hero h1,
.clsf-admision-hero .clsf-hero-title{
  margin:0 0 18px!important;max-width:790px!important;color:#fff!important;
  font-size:clamp(42px,6vw,72px)!important;font-weight:900!important;line-height:1.02!important;letter-spacing:-2px!important;
  text-shadow:0 5px 20px rgba(0,20,55,.40)!important;
}
#clsf-nosotros .hero h1 span,
#clsf-oferta-general .clsf-hero h1 span,
#clsf-parvularia .pv-hero h1 span,
#clsf-primer-ciclo .pc-hero h1 span,
#clsf-segundo-ciclo .sc-hero h1 span,
#clsf-tercer-ciclo .tc-hero h1 span,
#clsf-bachillerato .bc-hero h1 span{color:#f0b400!important}

/* Cápsulas equivalentes al label del Home. */
#clsf-nosotros .kicker,#clsf-oferta-general .clsf-kicker,#clsf-parvularia .pv-kicker,#clsf-primer-ciclo .pc-kicker,#clsf-segundo-ciclo .sc-kicker,#clsf-tercer-ciclo .tc-kicker,#clsf-bachillerato .bc-kicker,#clsf-bolsa .bt-kicker,#clsf-contacto .ct-kicker,.clsf-admision-hero .clsf-hero-label{
  display:inline-flex!important;align-items:center!important;gap:9px!important;margin:0 0 20px!important;padding:9px 16px!important;
  color:#fff!important;background:rgba(255,255,255,.13)!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;
  font-size:12px!important;font-weight:800!important;letter-spacing:1px!important;text-transform:uppercase!important;backdrop-filter:blur(7px)!important;
}

/* Texto descriptivo equivalente al Home. */
#clsf-nosotros .hero-copy>p,#clsf-oferta-general .clsf-hero-content>p,#clsf-parvularia .pv-hero-copy>p,#clsf-primer-ciclo .pc-hero-copy>p,#clsf-segundo-ciclo .sc-hero-copy>p,#clsf-tercer-ciclo .tc-hero-copy>p,#clsf-bachillerato .bc-hero-copy>p,#clsf-bolsa .bt-hero-copy>p,#clsf-contacto .ct-hero-copy>p{
  max-width:690px!important;margin:0 0 26px!important;color:rgba(255,255,255,.96)!important;font-size:clamp(16px,2vw,20px)!important;line-height:1.62!important;
  text-shadow:0 3px 12px rgba(0,20,55,.35)!important;
}

/* Contenido: misma línea vertical del Home en escritorio. */
@media(min-width:901px){
  #clsf-nosotros .hero-grid,#clsf-bolsa .bt-hero-grid,#clsf-contacto .ct-hero-grid{padding:50px 0 84px!important}
  #clsf-oferta-general .clsf-hero-content,#clsf-parvularia .pv-hero-copy,#clsf-primer-ciclo .pc-hero-copy,#clsf-segundo-ciclo .sc-hero-copy,#clsf-tercer-ciclo .tc-hero-copy,#clsf-bachillerato .bc-hero-copy{padding:50px 0 84px!important}
  .clsf-admision-hero .clsf-hero-inner{padding:50px 46px 84px!important}
  #clsf-nosotros .hero-copy,#clsf-nosotros .hero-panel,#clsf-contacto .ct-hero-copy,#clsf-contacto .ct-service-art{transform:none!important}
}

/* TABLET: subir contenido y mantener proporción común. */
@media(max-width:900px) and (min-width:651px){
  #clsf-nosotros .hero,#clsf-oferta-general .clsf-hero,#clsf-parvularia .pv-hero,#clsf-primer-ciclo .pc-hero,#clsf-segundo-ciclo .sc-hero,#clsf-tercer-ciclo .tc-hero,#clsf-bachillerato .bc-hero,#clsf-bolsa .bt-hero,#clsf-contacto .ct-hero,.clsf-admision-hero{height:540px!important;min-height:540px!important;max-height:540px!important}
  #clsf-nosotros .hero-grid,#clsf-bolsa .bt-hero-grid,#clsf-contacto .ct-hero-grid{padding:130px 28px 46px!important;display:grid!important;grid-template-columns:1fr!important;align-content:end!important}
  #clsf-oferta-general .clsf-hero-content,#clsf-parvularia .pv-hero-copy,#clsf-primer-ciclo .pc-hero-copy,#clsf-segundo-ciclo .sc-hero-copy,#clsf-tercer-ciclo .tc-hero-copy,#clsf-bachillerato .bc-hero-copy,.clsf-admision-hero .clsf-hero-inner{padding:130px 28px 46px!important}
  #clsf-nosotros .hero-panel,#clsf-bolsa .bt-art,#clsf-contacto .ct-service-art{display:none!important}
  #clsf-nosotros .hero h1,#clsf-oferta-general .clsf-hero h1,#clsf-parvularia .pv-hero h1,#clsf-primer-ciclo .pc-hero h1,#clsf-segundo-ciclo .sc-hero h1,#clsf-tercer-ciclo .tc-hero h1,#clsf-bachillerato .bc-hero h1,#clsf-bolsa .bt-hero h1,#clsf-contacto .ct-hero h1,.clsf-admision-hero .clsf-hero-title{font-size:48px!important;letter-spacing:-1px!important}
}

/* MÓVIL: patrón maestro = Admisiones. */
@media(max-width:650px){
  #clsf-nosotros .hero,#clsf-oferta-general .clsf-hero,#clsf-parvularia .pv-hero,#clsf-primer-ciclo .pc-hero,#clsf-segundo-ciclo .sc-hero,#clsf-tercer-ciclo .tc-hero,#clsf-bachillerato .bc-hero,#clsf-bolsa .bt-hero,#clsf-contacto .ct-hero,.clsf-admision-hero{
    height:510px!important;min-height:510px!important;max-height:510px!important;align-items:flex-end!important;
  }
  #clsf-nosotros .hero-grid,#clsf-bolsa .bt-hero-grid,#clsf-contacto .ct-hero-grid{
    height:100%!important;padding:190px 18px 38px!important;display:grid!important;grid-template-columns:1fr!important;align-content:end!important;
  }
  #clsf-oferta-general .clsf-hero .clsf-shell,#clsf-parvularia .pv-hero .pv-shell,#clsf-primer-ciclo .pc-hero .pc-shell,#clsf-segundo-ciclo .sc-hero .sc-shell,#clsf-tercer-ciclo .tc-hero .tc-shell,#clsf-bachillerato .bc-hero .bc-shell{align-items:flex-end!important}
  #clsf-oferta-general .clsf-hero-content,#clsf-parvularia .pv-hero-copy,#clsf-primer-ciclo .pc-hero-copy,#clsf-segundo-ciclo .sc-hero-copy,#clsf-tercer-ciclo .tc-hero-copy,#clsf-bachillerato .bc-hero-copy,.clsf-admision-hero .clsf-hero-inner{
    width:100%!important;padding:190px 18px 38px!important;
  }
  #clsf-nosotros .hero-panel,#clsf-bolsa .bt-art,#clsf-contacto .ct-service-art{display:none!important}
  #clsf-nosotros .hero h1,#clsf-oferta-general .clsf-hero h1,#clsf-parvularia .pv-hero h1,#clsf-primer-ciclo .pc-hero h1,#clsf-segundo-ciclo .sc-hero h1,#clsf-tercer-ciclo .tc-hero h1,#clsf-bachillerato .bc-hero h1,#clsf-bolsa .bt-hero h1,#clsf-contacto .ct-hero h1,.clsf-admision-hero .clsf-hero-title{
    margin-bottom:12px!important;font-size:40px!important;line-height:1!important;letter-spacing:-1px!important;
  }
  #clsf-nosotros .kicker,#clsf-oferta-general .clsf-kicker,#clsf-parvularia .pv-kicker,#clsf-primer-ciclo .pc-kicker,#clsf-segundo-ciclo .sc-kicker,#clsf-tercer-ciclo .tc-kicker,#clsf-bachillerato .bc-kicker,#clsf-bolsa .bt-kicker,#clsf-contacto .ct-kicker,.clsf-admision-hero .clsf-hero-label{margin-bottom:12px!important;padding:7px 12px!important;font-size:10px!important}
  #clsf-nosotros .hero-copy>p,#clsf-oferta-general .clsf-hero-content>p,#clsf-parvularia .pv-hero-copy>p,#clsf-primer-ciclo .pc-hero-copy>p,#clsf-segundo-ciclo .sc-hero-copy>p,#clsf-tercer-ciclo .tc-hero-copy>p,#clsf-bachillerato .bc-hero-copy>p,#clsf-bolsa .bt-hero-copy>p,#clsf-contacto .ct-hero-copy>p{margin-bottom:18px!important;font-size:15px!important;line-height:1.48!important}
  #clsf-nosotros .actions,#clsf-parvularia .pv-actions,#clsf-primer-ciclo .pc-actions,#clsf-segundo-ciclo .sc-actions,#clsf-tercer-ciclo .tc-actions,#clsf-bachillerato .bc-actions,#clsf-bolsa .bt-hero-actions,#clsf-contacto .ct-hero-actions,.clsf-admision-hero .clsf-hero-actions{display:flex!important;flex-direction:column!important;gap:9px!important;width:100%!important;margin-top:0!important}
  #clsf-nosotros .actions a,#clsf-parvularia .pv-actions a,#clsf-primer-ciclo .pc-actions a,#clsf-segundo-ciclo .sc-actions a,#clsf-tercer-ciclo .tc-actions a,#clsf-bachillerato .bc-actions a,#clsf-bolsa .bt-hero-actions a,#clsf-contacto .ct-hero-actions a,.clsf-admision-hero .clsf-hero-actions a{width:100%!important;min-height:43px!important;padding:10px 13px!important;font-size:12.5px!important}
  #clsf-home-2027 .clsf-why-video-reason::before{display:none!important}
}

@media(prefers-reduced-motion:reduce){.clsf-footer-v2-map,.clsf-footer-v2-map img,.clsf-footer-v2-map-label{transition:none!important;transform:none!important}}


/* CLSF 1.0.28 — navegación institucional robusta */
.clsf-menu-parent{font-family:inherit;text-align:left;appearance:none;-webkit-appearance:none}
.clsf-menu-parent:focus-visible{outline:2px solid rgba(5,40,94,.55);outline-offset:-3px}
@media(min-width:1041px){
  .clsf-menu-list>.clsf-menu-item>.clsf-menu-parent{height:100%;min-height:88px;padding:0 13px;border:0;border-radius:0;justify-content:center}
  .clsf-menu-list>.clsf-menu-item:not(.current):not(.active)>.clsf-menu-parent:hover,
  .clsf-menu-list>.clsf-menu-item:not(.current):not(.active)>.clsf-menu-parent:focus{background:rgba(70,78,88,.16)!important;color:var(--navy)!important}
}

/* ==========================================================
   CLSF 1.0.29 — INSTITUCIÓN: ORDEN, HERO VISUAL E HIMNO
   ========================================================== */

/* Hero institucional con composición real en dos columnas. */
@media(min-width:901px){
  #clsf-nosotros .clsf-institution-hero-grid{
    grid-template-columns:minmax(0,1.16fr) minmax(330px,.84fr)!important;
    gap:48px!important;
  }
  #clsf-nosotros .clsf-institution-hero-art{
    display:block!important;
  }
}

#clsf-nosotros .clsf-institution-hero-art{
  position:relative;
  width:min(100%,430px);
  height:330px;
  margin-left:auto;
  isolation:isolate;
}

/* Identidad: emblema central con elementos en órbita. */
#clsf-nosotros .clsf-identity-art::before{
  content:"";
  position:absolute;
  inset:34px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(240,180,0,.18) 0%,rgba(255,255,255,.06) 52%,transparent 72%);
  filter:blur(2px);
}
#clsf-nosotros .clsf-identity-orbit{
  position:absolute;
  left:50%;top:50%;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
#clsf-nosotros .clsf-orbit-one{width:280px;height:280px}
#clsf-nosotros .clsf-orbit-two{width:380px;height:250px;transform:translate(-50%,-50%) rotate(-16deg)}
#clsf-nosotros .clsf-identity-emblem{
  position:absolute;left:50%;top:50%;z-index:3;
  display:grid;width:156px;height:156px;padding:18px;place-items:center;
  transform:translate(-50%,-50%);
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.60);
  border-radius:34px;
  box-shadow:0 26px 60px rgba(0,20,55,.28),0 0 0 12px rgba(255,255,255,.055);
}
#clsf-nosotros .clsf-identity-emblem img{display:block;max-width:100%;max-height:100%;object-fit:contain}
#clsf-nosotros .clsf-identity-chip{
  position:absolute;z-index:4;
  display:flex;align-items:center;gap:9px;
  min-width:110px;padding:10px 13px;
  color:#fff;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);border-radius:999px;
  box-shadow:0 12px 28px rgba(1,20,54,.18);
  backdrop-filter:blur(10px);
}
#clsf-nosotros .clsf-identity-chip span{display:grid;width:27px;height:27px;place-items:center;color:#003763;background:#f0b400;border-radius:50%;font-size:10px;font-weight:950}
#clsf-nosotros .clsf-identity-chip strong{font-size:12px;letter-spacing:.03em}
#clsf-nosotros .clsf-chip-motto{left:0;top:42px}
#clsf-nosotros .clsf-chip-logo{right:-4px;top:78px}
#clsf-nosotros .clsf-chip-panda{left:8px;bottom:46px}
#clsf-nosotros .clsf-chip-hymn{right:4px;bottom:34px}
#clsf-nosotros .clsf-identity-note{position:absolute;right:44px;top:12px;color:rgba(240,180,0,.70);font-size:38px;font-weight:900;transform:rotate(8deg)}

/* Historia: retratos y año, sin dejar un lado vacío. */
#clsf-nosotros .clsf-history-art::before{
  content:"";position:absolute;inset:42px 26px 34px;border-radius:46% 54% 50% 50%;
  background:radial-gradient(circle at 45% 45%,rgba(240,180,0,.23),rgba(255,255,255,.05) 58%,transparent 74%);
}
#clsf-nosotros .clsf-history-year{
  position:absolute;z-index:4;left:50%;top:50%;
  display:grid;width:150px;height:150px;place-items:center;align-content:center;
  transform:translate(-50%,-50%);
  color:#fff;background:rgba(4,27,68,.76);border:1px solid rgba(255,255,255,.30);border-radius:50%;
  box-shadow:0 24px 55px rgba(0,20,55,.30),0 0 0 11px rgba(255,255,255,.05);backdrop-filter:blur(12px)
}
#clsf-nosotros .clsf-history-year span,#clsf-nosotros .clsf-history-year small{font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72)}
#clsf-nosotros .clsf-history-year strong{margin:2px 0;color:#f0b400;font-size:38px;line-height:1;font-weight:950}
#clsf-nosotros .clsf-founder-orbit{
  position:absolute;z-index:5;width:116px;height:116px;padding:5px;overflow:hidden;
  background:#fff;border-radius:50%;box-shadow:0 18px 38px rgba(0,20,55,.28)
}
#clsf-nosotros .clsf-founder-orbit img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 22%;border-radius:50%}
#clsf-nosotros .clsf-founder-one{left:20px;top:36px}
#clsf-nosotros .clsf-founder-two{right:18px;bottom:34px}
#clsf-nosotros .clsf-history-line{position:absolute;z-index:2;left:70px;right:70px;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(240,180,0,.78),transparent);transform:rotate(-18deg)}
#clsf-nosotros .clsf-history-quote{position:absolute;z-index:6;right:34px;top:38px;padding:8px 12px;color:#003763;background:#f0b400;border-radius:999px;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 24px rgba(0,20,55,.22)}

/* Identidad: estructura tipo bento más equilibrada. */
#clsf-nosotros .clsf-identity-showcase{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  align-items:stretch;
}
#clsf-nosotros .clsf-identity-motto{min-height:270px;display:flex;align-items:flex-end}
#clsf-nosotros .clsf-motto-mark{position:absolute;left:22px;top:-20px;color:rgba(255,255,255,.10);font-family:Georgia,serif;font-size:150px;line-height:1}
#clsf-nosotros .clsf-identity-logo,#clsf-nosotros .clsf-identity-mascot{min-height:210px}
#clsf-nosotros .clsf-identity-logo-wrap{width:132px;height:132px;padding:12px;background:#fff;box-shadow:inset 0 0 0 1px rgba(5,40,94,.06),0 10px 24px rgba(5,40,94,.07)}
#clsf-nosotros .clsf-identity-hymn{
  position:relative;grid-column:1/-1!important;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr)!important;
  padding:0!important;gap:0!important;overflow:hidden;
  background:linear-gradient(135deg,#041b44 0%,#062d69 55%,#0b4d8f 100%)!important;border-color:transparent!important;
}
#clsf-nosotros .clsf-hymn-intro{padding:34px 32px;color:#fff}
#clsf-nosotros .clsf-hymn-intro small{color:#f0b400!important}
#clsf-nosotros .clsf-hymn-intro h3{max-width:100%;color:#fff!important;font-size:clamp(28px,3vw,38px)!important}
#clsf-nosotros .clsf-hymn-intro>p{color:rgba(255,255,255,.80)!important}
#clsf-nosotros .clsf-hymn-audio-card{display:flex;align-items:center;gap:13px;margin:22px 0 12px;padding:14px 16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:15px}
#clsf-nosotros .clsf-hymn-audio-icon{display:grid;width:42px;height:42px;place-items:center;flex:0 0 42px;color:#003763;background:#f0b400;border-radius:50%;font-size:22px;font-weight:950}
#clsf-nosotros .clsf-hymn-audio-card div{display:grid;gap:2px}.clsf-hymn-audio-card strong{color:#fff;font-size:14px}.clsf-hymn-audio-card span{color:rgba(255,255,255,.66);font-size:12px}
#clsf-nosotros .clsf-hymn-player{display:block;width:100%;margin-top:10px!important}
#clsf-nosotros .clsf-hymn-lyrics{padding:0!important;background:rgba(255,255,255,.97)!important;border-radius:0!important;color:#173b67!important}
#clsf-nosotros .clsf-hymn-lyrics-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;padding:24px 26px 15px;border-bottom:1px solid rgba(5,40,94,.10)}
#clsf-nosotros .clsf-hymn-lyrics-head strong{margin:0!important;color:#003763!important;font-size:19px!important}
#clsf-nosotros .clsf-hymn-lyrics-head span{color:#8a99aa;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
#clsf-nosotros .clsf-hymn-lyrics-scroll{max-height:410px;padding:20px 26px 26px;overflow:auto;scrollbar-width:thin;scrollbar-color:#c9d6e2 transparent}
#clsf-nosotros .clsf-hymn-stanza{margin:0 0 18px!important;color:#53677e!important;font-size:14.5px!important;line-height:1.75!important}
#clsf-nosotros .clsf-hymn-stanza:last-child{margin-bottom:0!important}
#clsf-nosotros .clsf-hymn-chorus{padding:14px 16px;color:#003763!important;background:linear-gradient(135deg,#fff8df,#fffdf5);border-left:4px solid #f0b400;border-radius:0 12px 12px 0;font-weight:750}
#clsf-nosotros .clsf-identity-next{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:30px}
#clsf-nosotros .clsf-identity-next a{display:inline-flex;align-items:center;gap:8px;padding:11px 15px;color:#003763;background:#fff;border:1px solid rgba(5,40,94,.12);border-radius:12px;box-shadow:0 7px 18px rgba(5,40,94,.06);font-size:13px;font-weight:850;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
#clsf-nosotros .clsf-identity-next a:hover{transform:translateY(-3px);border-color:rgba(223,164,0,.46);box-shadow:0 12px 24px rgba(5,40,94,.11)}
#clsf-nosotros .clsf-history-next{padding-bottom:60px}

/* Tablet: la composición se simplifica sin empujar el texto del hero. */
@media(max-width:900px){
  #clsf-nosotros .clsf-institution-hero-art{display:none!important}
  #clsf-nosotros .clsf-identity-showcase{grid-template-columns:1fr!important}
  #clsf-nosotros .clsf-identity-hymn{grid-column:auto!important;grid-template-columns:1fr!important}
  #clsf-nosotros .clsf-hymn-lyrics-scroll{max-height:none}
}

@media(max-width:650px){
  #clsf-nosotros .clsf-identity-feature{padding:22px 18px!important;border-radius:18px!important}
  #clsf-nosotros .clsf-identity-motto{min-height:235px}
  #clsf-nosotros .clsf-identity-logo,#clsf-nosotros .clsf-identity-mascot{display:grid!important;grid-template-columns:88px 1fr!important;gap:16px!important;min-height:0!important;align-items:center!important}
  #clsf-nosotros .clsf-identity-logo-wrap,#clsf-nosotros .clsf-panda-mark{width:86px!important;height:86px!important;margin:0!important;border-radius:20px!important}
  #clsf-nosotros .clsf-panda-mark svg{width:78px!important;height:78px!important}
  #clsf-nosotros .clsf-identity-feature h3{max-width:100%!important;font-size:22px!important}
  #clsf-nosotros .clsf-identity-motto h3{font-size:28px!important}
  #clsf-nosotros .clsf-hymn-intro{padding:25px 20px}
  #clsf-nosotros .clsf-hymn-lyrics-head{display:grid;gap:4px;padding:20px 20px 13px}
  #clsf-nosotros .clsf-hymn-lyrics-scroll{padding:17px 20px 22px}
  #clsf-nosotros .clsf-identity-next{display:grid;grid-template-columns:1fr;margin-top:22px}
  #clsf-nosotros .clsf-identity-next a{justify-content:center}
}

/* =========================================================
   CLSF 1.0.40 — CIERRE CONSOLIDADO RESPONSIVE
   Texto estable + CTA más abajo + encuadre móvil por hero.
========================================================= */

/* Marcador visual de San Salvador en el mapa del footer. */
.clsf-footer-v2-map-pin{
  position:absolute;left:48%;top:51%;z-index:4;width:30px;height:38px;
  color:#f5b800;transform:translate(-50%,-100%);
  filter:drop-shadow(0 5px 6px rgba(0,0,0,.42));pointer-events:none
}
.clsf-footer-v2-map-pin svg{display:block;width:100%;height:100%;overflow:visible}
.clsf-footer-v2-map-pin path{fill:currentColor;stroke:#fff;stroke-width:1.8}
.clsf-footer-v2-map-pin circle{fill:#05285e;stroke:#fff;stroke-width:1.6}
.clsf-footer-v2-map-city{
  position:absolute;left:calc(48% + 18px);top:calc(51% - 34px);z-index:4;
  padding:3px 7px;color:#05285e;background:rgba(255,255,255,.94);border-radius:6px;
  box-shadow:0 4px 10px rgba(0,0,0,.18);font-size:9px;font-weight:900;line-height:1.2;
  white-space:nowrap;pointer-events:none
}

/* Home: flechas siempre al centro del área visual. */
@media(max-width:900px){
  #clsf-home-2027 .clsf-slider-controls{
    inset:0!important;align-items:center!important;padding:0 14px!important
  }
  #clsf-home-2027 .clsf-slider-arrow{width:42px!important;height:42px!important}
}

/* Tablet y móvil: hero sin corte rígido y botones con más respiración. */
@media(max-width:900px){
  #clsf-nosotros .hero,
  #clsf-oferta-general .clsf-hero,
  #clsf-parvularia .pv-hero,
  #clsf-primer-ciclo .pc-hero,
  #clsf-segundo-ciclo .sc-hero,
  #clsf-tercer-ciclo .tc-hero,
  #clsf-bachillerato .bc-hero,
  #clsf-bolsa .bt-hero,
  #clsf-contacto .ct-hero,
  .clsf-admision-hero{
    height:auto!important;min-height:560px!important;max-height:none!important;overflow:hidden!important
  }

  #clsf-nosotros .hero-grid,
  #clsf-bolsa .bt-hero-grid,
  #clsf-contacto .ct-hero-grid{
    min-height:560px!important;height:auto!important;padding:64px 34px 38px!important;
    align-content:start!important;align-items:start!important
  }

  #clsf-oferta-general .clsf-hero .clsf-shell,
  #clsf-parvularia .pv-hero .pv-shell,
  #clsf-primer-ciclo .pc-hero .pc-shell,
  #clsf-segundo-ciclo .sc-hero .sc-shell,
  #clsf-tercer-ciclo .tc-hero .tc-shell,
  #clsf-bachillerato .bc-hero .bc-shell{
    min-height:560px!important;height:auto!important;display:flex!important;align-items:flex-start!important
  }

  #clsf-oferta-general .clsf-hero-content,
  #clsf-parvularia .pv-hero-copy,
  #clsf-primer-ciclo .pc-hero-copy,
  #clsf-segundo-ciclo .sc-hero-copy,
  #clsf-tercer-ciclo .tc-hero-copy,
  #clsf-bachillerato .bc-hero-copy{
    width:100%!important;max-width:680px!important;padding:62px 34px 38px!important;margin:0!important;
    transform:none!important
  }

  #clsf-nosotros .hero-copy,
  #clsf-bolsa .bt-hero-copy,
  #clsf-contacto .ct-hero-copy{transform:none!important}

  /* Los botones quedan por debajo del texto, no pegados al párrafo. */
  #clsf-nosotros .actions,
  #clsf-parvularia .pv-actions,
  #clsf-primer-ciclo .pc-actions,
  #clsf-segundo-ciclo .sc-actions,
  #clsf-tercer-ciclo .tc-actions,
  #clsf-bachillerato .bc-actions,
  #clsf-bolsa .bt-hero-actions,
  #clsf-contacto .ct-hero-actions{
    margin-top:30px!important;gap:10px!important
  }

  /* Oferta: mantener título/texto arriba y llevar el CTA hacia el borde inferior. */
  #clsf-oferta-general .clsf-hero .clsf-shell{height:560px!important}
  #clsf-oferta-general .clsf-hero-content{
    min-height:560px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important
  }
  #clsf-oferta-general .clsf-hero-button{margin-top:auto!important;margin-bottom:8px!important}

  /* Admisiones: título más protagonista y CTA separado hacia abajo. */
  .clsf-admision-hero{min-height:600px!important;align-items:stretch!important}
  .clsf-admision-hero .clsf-hero-inner{
    min-height:600px!important;height:600px!important;width:100%!important;max-width:1180px!important;
    margin:0 auto!important;padding:52px 34px 28px!important;display:flex!important;align-items:stretch!important
  }
  .clsf-admision-hero .clsf-hero-copy{
    width:100%!important;max-width:660px!important;display:flex!important;flex-direction:column!important
  }
  .clsf-admision-hero .clsf-hero-title{
    font-size:clamp(48px,8vw,58px)!important;line-height:.94!important;letter-spacing:-1.2px!important
  }
  .clsf-admision-hero .clsf-hero-actions{
    margin-top:auto!important;padding-top:22px!important;margin-bottom:2px!important;gap:10px!important
  }

  /* Reencuadre de fotografías para mostrar mejor a las personas. */
  #clsf-oferta-general .clsf-hero,
  .clsf-admision-hero{
    background:linear-gradient(180deg,rgba(4,27,68,.28) 0%,rgba(4,27,68,.62) 45%,rgba(4,27,68,.97) 100%),url('/images/2026/Matricula.jpg') 76% 30%/cover no-repeat,#061e4d!important
  }
  #clsf-parvularia .pv-hero{
    background:linear-gradient(180deg,rgba(4,27,68,.52) 0%,rgba(4,27,68,.75) 48%,rgba(4,27,68,.97) 100%),url('/components/com_clsfsite/media/images/parvularia-portada.webp') 74% 30%/cover no-repeat!important
  }
  #clsf-primer-ciclo .pc-hero{
    background:linear-gradient(180deg,rgba(4,27,68,.52) 0%,rgba(4,27,68,.76) 48%,rgba(4,27,68,.97) 100%),url('/images/2026/oferta-academica/primer-ciclo-portada.png') 75% 31%/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat!important
  }
  #clsf-segundo-ciclo .sc-hero{
    background:linear-gradient(180deg,rgba(4,27,68,.52) 0%,rgba(4,27,68,.76) 48%,rgba(4,27,68,.97) 100%),url('/images/2026/oferta-academica/segundo-ciclo-portada.png') 75% 31%/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat!important
  }
  #clsf-tercer-ciclo .tc-hero{
    background:linear-gradient(180deg,rgba(4,27,68,.52) 0%,rgba(4,27,68,.77) 48%,rgba(4,27,68,.97) 100%),url('/images/2026/oferta-academica/tercerciclo.png') 77% 31%/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat!important
  }
  #clsf-bachillerato .bc-hero{
    background:linear-gradient(180deg,rgba(4,27,68,.54) 0%,rgba(4,27,68,.78) 48%,rgba(4,27,68,.97) 100%),url('/images/2026/oferta-academica/bachillerato.png') 77% 30%/cover no-repeat,url('/components/com_clsfsite/media/images/niveles-portada-fallback.webp') center/cover no-repeat!important
  }
}

/* Teléfono: composición final de Home y heroes. */
@media(max-width:650px){
  /* HOME: bajar todo el bloque y despejar especialmente los rostros de slide 2. */
  #clsf-home-2027 .clsf-slider,
  #clsf-home-2027 .clsf-slides{min-height:650px!important}
  #clsf-home-2027 .clsf-slide{align-items:stretch!important}
  #clsf-home-2027 .clsf-slide-inner{
    min-height:650px!important;padding:168px 20px 74px!important;display:flex!important;align-items:flex-end!important;
    text-align:center!important
  }
  #clsf-home-2027 .clsf-slide-2 .clsf-slide-inner{padding-top:188px!important}
  #clsf-home-2027 .clsf-slide-copy{width:100%!important;max-width:100%!important}
  #clsf-home-2027 .clsf-slide-title{font-size:36px!important;line-height:1.03!important;margin-bottom:14px!important}
  #clsf-home-2027 .clsf-slide-description{font-size:14.5px!important;line-height:1.5!important;margin-bottom:22px!important}
  #clsf-home-2027 .clsf-slide-label{margin-bottom:12px!important}
  #clsf-home-2027 .clsf-hero-button{min-height:48px!important;padding:12px 18px!important}
  #clsf-home-2027 .clsf-slide-1 .clsf-slide-image{object-position:75% 31%!important}
  #clsf-home-2027 .clsf-slide-2 .clsf-slide-image{object-position:80% 25%!important}
  #clsf-home-2027 .clsf-slide::after{
    background:linear-gradient(180deg,rgba(5,40,94,.20) 0%,rgba(5,40,94,.42) 31%,rgba(5,40,94,.84) 62%,rgba(5,40,94,.98) 100%)!important
  }
  #clsf-home-2027 .clsf-slider-controls{inset:0!important;align-items:center!important;padding:0 12px!important}
  #clsf-home-2027 .clsf-slider-dots{bottom:22px!important}

  /* Generales: se conserva el texto arriba, CTA con más aire abajo. */
  #clsf-nosotros .hero,
  #clsf-oferta-general .clsf-hero,
  #clsf-parvularia .pv-hero,
  #clsf-primer-ciclo .pc-hero,
  #clsf-segundo-ciclo .sc-hero,
  #clsf-tercer-ciclo .tc-hero,
  #clsf-bachillerato .bc-hero,
  #clsf-bolsa .bt-hero,
  #clsf-contacto .ct-hero{min-height:570px!important}

  #clsf-nosotros .hero-grid,
  #clsf-bolsa .bt-hero-grid,
  #clsf-contacto .ct-hero-grid{min-height:570px!important;padding:48px 20px 28px!important}

  #clsf-oferta-general .clsf-hero .clsf-shell,
  #clsf-parvularia .pv-hero .pv-shell,
  #clsf-primer-ciclo .pc-hero .pc-shell,
  #clsf-segundo-ciclo .sc-hero .sc-shell,
  #clsf-tercer-ciclo .tc-hero .tc-shell,
  #clsf-bachillerato .bc-hero .bc-shell{min-height:570px!important}

  #clsf-oferta-general .clsf-hero-content,
  #clsf-parvularia .pv-hero-copy,
  #clsf-primer-ciclo .pc-hero-copy,
  #clsf-segundo-ciclo .sc-hero-copy,
  #clsf-tercer-ciclo .tc-hero-copy,
  #clsf-bachillerato .bc-hero-copy{padding:46px 20px 28px!important}

  #clsf-nosotros .hero h1,
  #clsf-parvularia .pv-hero h1,
  #clsf-primer-ciclo .pc-hero h1,
  #clsf-segundo-ciclo .sc-hero h1,
  #clsf-tercer-ciclo .tc-hero h1,
  #clsf-bachillerato .bc-hero h1,
  #clsf-bolsa .bt-hero h1,
  #clsf-contacto .ct-hero h1{font-size:38px!important;line-height:1.02!important}

  /* Oferta Académica: título mayor y botón junto al borde inferior sin cortarse. */
  #clsf-oferta-general .clsf-hero .clsf-shell{height:590px!important;min-height:590px!important}
  #clsf-oferta-general .clsf-hero{min-height:590px!important}
  #clsf-oferta-general .clsf-hero-content{height:590px!important;min-height:590px!important;padding:44px 20px 25px!important}
  #clsf-oferta-general .clsf-hero h1{font-size:46px!important;line-height:.98!important}
  #clsf-oferta-general .clsf-hero-button{width:100%!important;min-height:49px!important;margin-top:auto!important;margin-bottom:4px!important}

  /* Admisiones: mayor jerarquía y botones claramente abajo. */
  .clsf-admision-hero{min-height:630px!important;height:630px!important}
  .clsf-admision-hero .clsf-hero-inner{min-height:630px!important;height:630px!important;padding:42px 20px 24px!important}
  .clsf-admision-hero .clsf-hero-title{font-size:50px!important;line-height:.91!important;letter-spacing:-1px!important;margin-bottom:10px!important}
  .clsf-admision-hero .clsf-hero-year{margin:14px 0 14px!important;font-size:14px!important;letter-spacing:2.6px!important}
  .clsf-admision-hero .clsf-hero-levels{margin-bottom:0!important;font-size:15px!important}
  .clsf-admision-hero .clsf-hero-actions{margin-top:auto!important;padding-top:18px!important;margin-bottom:0!important}
  .clsf-admision-hero .clsf-hero-actions a{width:100%!important;min-height:48px!important;padding:11px 13px!important;font-size:12.5px!important}

  /* Reencuadre móvil más conservador de los fondos fotográficos. */
  #clsf-oferta-general .clsf-hero,
  .clsf-admision-hero{
    background:linear-gradient(180deg,rgba(4,27,68,.18) 0%,rgba(4,27,68,.50) 43%,rgba(4,27,68,.98) 100%),url('/images/2026/Matricula.jpg') 79% 25%/cover no-repeat,#061e4d!important
  }
  #clsf-parvularia .pv-hero{background-position:center,76% 27%!important}
  #clsf-primer-ciclo .pc-hero{background-position:center,77% 28%,center!important}
  #clsf-segundo-ciclo .sc-hero{background-position:center,77% 28%,center!important}
  #clsf-tercer-ciclo .tc-hero{background-position:center,79% 28%,center!important}
  #clsf-bachillerato .bc-hero{background-position:center,79% 27%,center!important}

  /* Footer pin. */
  .clsf-footer-v2-map-pin{left:48%!important;top:52%!important}
  .clsf-footer-v2-map-city{left:calc(48% + 16px)!important;top:calc(52% - 32px)!important}
}


/* =========================================================
   CLSF 1.0.44 — CIERRE MÓVIL ADMISIONES + MENÚ
   - Institución conserva el mismo peso tipográfico del menú.
   - En Admisiones, solo "Nuevo ingreso" queda arriba.
   - Título/año/niveles quedan centrados en el hero.
   - CTA permanecen en la franja inferior.
   - Foto se reencuadra para liberar el área izquierda del texto.
========================================================= */
.clsf-menu-list>.clsf-menu-item>.clsf-menu-parent{
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:750!important;
  line-height:inherit!important;
}

.clsf-admision-hero .clsf-hero-center{display:contents}

@media(max-width:768px){
  .clsf-admision-hero{
    height:620px!important;
    min-height:620px!important;
    max-height:620px!important;
    align-items:stretch!important;
    background:
      linear-gradient(90deg,rgba(3,28,68,.94) 0%,rgba(4,37,82,.78) 43%,rgba(4,38,83,.35) 72%,rgba(4,38,83,.12) 100%),
      linear-gradient(180deg,rgba(3,28,68,.10) 0%,rgba(3,28,68,.14) 60%,rgba(3,28,68,.62) 100%),
      url('/images/2026/Matricula.jpg') 88% 24%/cover no-repeat!important;
  }
  .clsf-admision-hero .clsf-hero-inner{
    width:100%!important;
    height:620px!important;
    min-height:620px!important;
    padding:24px 20px 24px!important;
    display:block!important;
  }
  .clsf-admision-hero .clsf-hero-copy{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    transform:none!important;
  }
  .clsf-admision-hero .clsf-hero-label{
    position:relative!important;
    z-index:4!important;
    align-self:flex-start!important;
    margin:0!important;
    padding:8px 14px!important;
    font-size:11px!important;
  }
  .clsf-admision-hero .clsf-hero-center{
    position:relative!important;
    z-index:4!important;
    display:flex!important;
    flex:1 1 auto!important;
    min-height:0!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    width:min(72%,430px)!important;
    padding:18px 0 12px!important;
    transform:translateY(18px)!important;
  }
  .clsf-admision-hero .clsf-hero-title{
    margin:0 0 18px!important;
    font-size:56px!important;
    line-height:.90!important;
    letter-spacing:-1.2px!important;
  }
  .clsf-admision-hero .clsf-hero-year{
    margin:0 0 17px!important;
    font-size:14px!important;
    letter-spacing:2.8px!important;
  }
  .clsf-admision-hero .clsf-hero-levels{
    margin:0!important;
    font-size:15px!important;
    line-height:1.35!important;
    gap:8px!important;
  }
  .clsf-admision-hero .clsf-hero-actions{
    position:relative!important;
    z-index:5!important;
    flex:0 0 auto!important;
    width:100%!important;
    margin:0!important;
    padding:0 0 4px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
  }
  .clsf-admision-hero .clsf-hero-actions a{
    width:100%!important;
    min-height:51px!important;
    padding:12px 14px!important;
    font-size:13px!important;
  }
}

@media(max-width:430px){
  .clsf-admision-hero{
    height:610px!important;
    min-height:610px!important;
    max-height:610px!important;
    background:
      linear-gradient(90deg,rgba(3,28,68,.95) 0%,rgba(4,37,82,.80) 43%,rgba(4,38,83,.34) 72%,rgba(4,38,83,.10) 100%),
      linear-gradient(180deg,rgba(3,28,68,.08) 0%,rgba(3,28,68,.12) 58%,rgba(3,28,68,.64) 100%),
      url('/images/2026/Matricula.jpg') 90% 25%/cover no-repeat!important;
  }
  .clsf-admision-hero .clsf-hero-inner{height:610px!important;min-height:610px!important;padding:20px 18px 20px!important}
  .clsf-admision-hero .clsf-hero-center{width:76%!important;transform:translateY(20px)!important}
  .clsf-admision-hero .clsf-hero-title{font-size:52px!important}
  .clsf-admision-hero .clsf-hero-year{font-size:13px!important;letter-spacing:2.4px!important}
  .clsf-admision-hero .clsf-hero-levels{font-size:14px!important}
  .clsf-admision-hero .clsf-hero-actions a{min-height:50px!important;font-size:12.5px!important}
}

/* =========================================================
   CLSF 1.0.45 — CENTRADO DE HEROES + MODALES DE OFERTA
   - Restaura los modales CSS-only de Club Panda y Clubes/refuerzos.
   - Limita la imagen oficial del Panda para que nunca desborde.
   - Centra horizontalmente el contenido de todas las portadas móviles.
   - Centra verticalmente los heroes generales que aún quedaban arriba.
   - Admisiones conserva Nuevo ingreso arriba y CTA abajo.
========================================================= */

/* ---------- Club Panda / Clubes y refuerzos: modal CSS-only ---------- */
.clsf-soon-modal{
  position:fixed!important;
  inset:0!important;
  z-index:12000!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
  overflow:auto!important;
}
.clsf-soon-modal:target{display:flex!important}
.clsf-soon-backdrop{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  background:rgba(1,18,48,.78)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}
.clsf-soon-card{
  position:relative!important;
  z-index:1!important;
  width:min(100%,470px)!important;
  margin:auto!important;
  padding:34px 30px 30px!important;
  overflow:hidden!important;
  text-align:center!important;
  color:#082a5c!important;
  background:#fff!important;
  border:1px solid rgba(8,42,92,.12)!important;
  border-radius:24px!important;
  box-shadow:0 24px 70px rgba(0,18,52,.32)!important;
}
.clsf-soon-close{
  position:absolute!important;
  top:12px!important;
  right:14px!important;
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  color:#082a5c!important;
  background:#eef4fa!important;
  border-radius:50%!important;
  font-size:26px!important;
  line-height:1!important;
  text-decoration:none!important;
}
.clsf-soon-icon{
  display:grid!important;
  place-items:center!important;
  width:82px!important;
  height:82px!important;
  margin:0 auto 16px!important;
  padding:14px!important;
  color:#082a5c!important;
  background:#fff5cf!important;
  border:1px solid rgba(238,177,0,.28)!important;
  border-radius:22px!important;
}
.clsf-soon-icon svg{display:block!important;width:52px!important;height:52px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.clsf-soon-icon-image{padding:5px!important;background:#fff!important}
.clsf-soon-icon-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
.clsf-soon-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  margin:0 auto 10px!important;
  padding:5px 12px!important;
  color:#7a5600!important;
  background:#fff3bd!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.8px!important;
  text-transform:uppercase!important;
}
.clsf-soon-card h2{margin:0 0 10px!important;color:#082a5c!important;font-size:30px!important;line-height:1.08!important}
.clsf-soon-card p{margin:0 auto 22px!important;max-width:390px!important;color:#49627e!important;font-size:15px!important;line-height:1.55!important}
.clsf-soon-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  padding:11px 18px!important;
  color:#082a5c!important;
  background:#f3b900!important;
  border-radius:13px!important;
  font-weight:900!important;
  text-decoration:none!important;
}

/* El Panda del bloque Club Panda nunca puede ocupar la página completa. */
#clsf-parvularia .pv-panda-icon{overflow:hidden!important}
#clsf-parvularia .pv-panda-icon .pv-panda-official,
#clsf-parvularia .pv-panda-official{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

@media(max-width:768px){
  /* HOME: ya estaba bien encuadrado; solo aseguramos centro horizontal. */
  #clsf-home-2027 .clsf-slide-copy{
    margin-inline:auto!important;
    text-align:center!important;
  }
  #clsf-home-2027 .clsf-slide-label{margin-left:auto!important;margin-right:auto!important}
  #clsf-home-2027 .clsf-hero-button{margin-left:auto!important;margin-right:auto!important}

  /* Portadas institucionales y de Oferta: bloque centrado en el hero. */
  #clsf-nosotros .hero-grid,
  #clsf-bolsa .bt-hero-grid,
  #clsf-contacto .ct-hero-grid{
    align-content:center!important;
    align-items:center!important;
  }

  #clsf-nosotros .hero-copy,
  #clsf-bolsa .bt-hero-copy,
  #clsf-contacto .ct-hero-copy{
    width:100%!important;
    max-width:680px!important;
    margin-inline:auto!important;
    text-align:center!important;
  }

  #clsf-nosotros .kicker,
  #clsf-bolsa .bt-kicker,
  #clsf-contacto .ct-kicker{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  #clsf-nosotros .actions,
  #clsf-bolsa .bt-hero-actions,
  #clsf-contacto .ct-hero-actions{
    margin-left:auto!important;
    margin-right:auto!important;
    justify-content:center!important;
  }

  #clsf-oferta-general .clsf-hero .clsf-shell,
  #clsf-parvularia .pv-hero .pv-shell,
  #clsf-primer-ciclo .pc-hero .pc-shell,
  #clsf-segundo-ciclo .sc-hero .sc-shell,
  #clsf-tercer-ciclo .tc-hero .tc-shell,
  #clsf-bachillerato .bc-hero .bc-shell{
    align-items:center!important;
    justify-content:center!important;
  }

  #clsf-oferta-general .clsf-hero-content,
  #clsf-parvularia .pv-hero-copy,
  #clsf-primer-ciclo .pc-hero-copy,
  #clsf-segundo-ciclo .sc-hero-copy,
  #clsf-tercer-ciclo .tc-hero-copy,
  #clsf-bachillerato .bc-hero-copy{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    min-height:0!important;
    height:auto!important;
    margin-inline:auto!important;
    text-align:center!important;
  }

  #clsf-oferta-general .clsf-kicker,
  #clsf-parvularia .pv-kicker,
  #clsf-primer-ciclo .pc-kicker,
  #clsf-segundo-ciclo .sc-kicker,
  #clsf-tercer-ciclo .tc-kicker,
  #clsf-bachillerato .bc-kicker{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  #clsf-parvularia .pv-actions,
  #clsf-primer-ciclo .pc-actions,
  #clsf-segundo-ciclo .sc-actions,
  #clsf-tercer-ciclo .tc-actions,
  #clsf-bachillerato .bc-actions{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    justify-content:center!important;
  }

  /* Oferta general deja de pegar el botón al borde: el conjunto queda centrado. */
  #clsf-oferta-general .clsf-hero-content{min-height:100%!important}
  #clsf-oferta-general .clsf-hero-button{
    width:min(100%,420px)!important;
    margin:30px auto 0!important;
  }

  /* Admisiones: conservar la composición aprobada, centrar SOLO el bloque central. */
  .clsf-admision-hero .clsf-hero-center{
    width:100%!important;
    max-width:520px!important;
    margin-inline:auto!important;
    align-items:center!important;
    text-align:center!important;
  }
  .clsf-admision-hero .clsf-hero-title,
  .clsf-admision-hero .clsf-hero-year,
  .clsf-admision-hero .clsf-hero-levels{
    width:100%!important;
    text-align:center!important;
    justify-content:center!important;
  }
  .clsf-admision-hero .clsf-hero-levels{display:flex!important;flex-wrap:wrap!important}
  /* Nuevo ingreso queda arriba a la izquierda, tal como se pidió. */
  .clsf-admision-hero .clsf-hero-label{align-self:flex-start!important;text-align:left!important}
}

@media(max-width:480px){
  .clsf-soon-modal{padding:16px!important}
  .clsf-soon-card{padding:30px 20px 22px!important;border-radius:20px!important}
  .clsf-soon-card h2{font-size:26px!important}
  .clsf-soon-card p{font-size:14px!important}
  .clsf-soon-icon{width:74px!important;height:74px!important}

  /* En teléfonos angostos, botones de los heroes mantienen ancho cómodo y centrado. */
  #clsf-nosotros .actions,
  #clsf-parvularia .pv-actions,
  #clsf-primer-ciclo .pc-actions,
  #clsf-segundo-ciclo .sc-actions,
  #clsf-tercer-ciclo .tc-actions,
  #clsf-bachillerato .bc-actions,
  #clsf-bolsa .bt-hero-actions,
  #clsf-contacto .ct-hero-actions{
    width:100%!important;
  }
}

/* =========================================================
   CLSF 1.0.46 — AJUSTE QUIRURGICO PANDA IDENTIDAD
   ÚNICO CAMBIO: contener /images/panda.png dentro de su cuadro.
========================================================= */
#clsf-nosotros .clsf-panda-photo{
  overflow:hidden!important;
  padding:6px!important;
}
#clsf-nosotros .clsf-panda-photo img{
  display:block!important;
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}

/* =========================================================
   CLSF - FIX QUIRURGICO MAPA CONTACTO
   No modifica ninguna otra sección.
========================================================= */

#clsf-contacto .ct-map-frame{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    border:0 !important;
    margin:0 !important;
    padding:0 !important;
    z-index:1 !important;
}

#clsf-contacto .ct-map::after{
    z-index:2 !important;
    pointer-events:none !important;
}

#clsf-contacto .ct-map-badge{
    z-index:4 !important;
}


/* =========================================================
   CLSF 1.0.47 - FIX QUIRURGICO MAPA CONTACTO
   Solo adapta el iframe existente al contenedor .ct-map.
========================================================= */
#clsf-contacto .ct-map-frame{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  z-index:1!important;
}
#clsf-contacto .ct-map::after{
  z-index:2!important;
  pointer-events:none!important;
}
#clsf-contacto .ct-map-badge{
  z-index:4!important;
}

/* CLSF 1.0.49 OFFER + ADMISSIONS MOBILE REFINE START */
@media (max-width: 650px){
  /* OFERTA ACADÉMICA: bajar el contenido para despejar los rostros */
  #clsf-oferta-general .clsf-hero{
    min-height:650px!important;
    height:650px!important;
    background:
      linear-gradient(180deg,rgba(4,27,68,.10) 0%,rgba(4,27,68,.28) 28%,rgba(4,27,68,.74) 64%,rgba(4,27,68,.94) 100%),
      url('/images/2026/Matricula.jpg') 74% 22%/cover no-repeat,
      #061e4d!important;
  }
  #clsf-oferta-general .clsf-hero .clsf-shell{
    min-height:650px!important;
    height:650px!important;
  }
  #clsf-oferta-general .clsf-hero-content{
    min-height:650px!important;
    height:650px!important;
    padding:235px 22px 36px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    align-items:center!important;
    text-align:center!important;
  }
  #clsf-oferta-general .clsf-kicker{
    margin-bottom:18px!important;
  }
  #clsf-oferta-general .clsf-hero h1{
    margin-bottom:16px!important;
  }
  #clsf-oferta-general .clsf-hero-content > p{
    max-width:100%!important;
    margin:0 auto 22px!important;
  }
  #clsf-oferta-general .clsf-hero-button{
    width:100%!important;
    min-height:50px!important;
    margin:0!important;
  }

  /* ADMISIÓN: misma lectura visual de Oferta, con ambos alumnos visibles */
  .clsf-admision-hero{
    min-height:680px!important;
    height:680px!important;
    max-height:680px!important;
    background:
      linear-gradient(180deg,rgba(4,27,68,.12) 0%,rgba(4,27,68,.26) 28%,rgba(4,27,68,.70) 64%,rgba(4,27,68,.94) 100%),
      linear-gradient(90deg,rgba(3,28,68,.70) 0%,rgba(4,37,82,.28) 38%,rgba(4,38,83,.08) 100%),
      url('/images/2026/Matricula.jpg') 74% 22%/cover no-repeat!important;
  }
  .clsf-admision-hero .clsf-hero-inner{
    min-height:680px!important;
    height:680px!important;
    padding:18px 18px 22px!important;
  }
  .clsf-admision-hero .clsf-hero-copy{
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .clsf-admision-hero .clsf-hero-label{
    align-self:flex-start!important;
    margin:0!important;
  }
  .clsf-admision-hero .clsf-hero-center{
    width:min(86%, 480px)!important;
    margin:0 auto!important;
    align-items:center!important;
    text-align:center!important;
    transform:translateY(136px)!important;
  }
  .clsf-admision-hero .clsf-hero-title,
  .clsf-admision-hero .clsf-hero-year,
  .clsf-admision-hero .clsf-hero-levels{
    text-align:center!important;
  }
  .clsf-admision-hero .clsf-hero-title{
    font-size:54px!important;
    line-height:.92!important;
    margin-bottom:16px!important;
  }
  .clsf-admision-hero .clsf-hero-year{margin-bottom:16px!important}
  .clsf-admision-hero .clsf-hero-levels{margin-bottom:0!important}
  .clsf-admision-hero .clsf-hero-actions{
    margin-top:auto!important;
    padding-top:18px!important;
    gap:10px!important;
  }
  .clsf-admision-hero .clsf-hero-actions a{
    width:100%!important;
    min-height:50px!important;
  }
}
/* CLSF 1.0.49 OFFER + ADMISSIONS MOBILE REFINE END */
