/* Refinamiento visual de la portada. No modifica el panel privado. */
.public-home .navbar-public{padding:10px 0;background:transparent!important;box-shadow:none!important;backdrop-filter:none}.public-home .navbar-public .nav-shell{padding:12px 20px;border:1px solid #ffffff30;border-radius:24px;background:linear-gradient(110deg,#082b69ed,#033b7ced);backdrop-filter:blur(18px);box-shadow:0 14px 38px #001b4525;transition:background .25s,box-shadow .25s,border-color .25s}.public-home .navbar-public.scrolled .nav-shell{background:#fffffffa;border-color:#d8e7f1;box-shadow:0 10px 38px #03328c18}.public-home .navbar-brand{display:flex;align-items:center;gap:12px;margin:0 25px 0 0}.nav-logo-mark{width:51px;height:51px;background:#fff;border:1px solid #b3efe7;border-radius:16px;display:grid;place-items:center;box-shadow:0 4px 14px #00173318;flex-shrink:0}.nav-logo-mark img{height:39px;width:39px}.nav-brand-copy strong{font-size:1.04rem;display:block;line-height:1.2;font-weight:800;color:white}.nav-brand-copy small{display:block;font-size:.59rem;letter-spacing:.035em;margin-top:6px;font-weight:500;color:#a8e7ed}.public-home .navbar-public .navbar-nav{gap:4px}.public-home .navbar-public .nav-link{padding:11px 13px;border-radius:13px;font-size:.8rem;font-weight:650;white-space:nowrap;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}.public-home .navbar-public .nav-link:hover,.public-home .navbar-public .nav-link[aria-current]{background:#17e3b619;border-color:#17e3b636;color:#8bfff1!important}.public-home .navbar-public.scrolled .nav-link{color:#294b79!important}.public-home .navbar-public.scrolled .nav-link:hover,.public-home .navbar-public.scrolled .nav-link[aria-current]{background:#e8faf6;color:#006e72!important;border-color:#c1e9df}.public-home .navbar-public.scrolled .nav-brand-copy strong{color:#03328c}.public-home .navbar-public.scrolled .nav-brand-copy small{color:#53728e}.public-home .nav-login{display:flex;align-items:center;justify-content:center;gap:9px;margin-left:8px;padding:12px 16px;background:#17e3b6;color:#033263!important;border:1px solid #38f7ce;border-radius:15px;text-decoration:none;font-size:.8rem;font-weight:800;box-shadow:0 5px 15px #001e4720;white-space:nowrap}.public-home .nav-login>i:last-child{font-size:.67rem}.public-home .navbar-toggler{padding:9px;border-radius:12px;border:1px solid #ffffff45;color:white;font-size:1.5rem}.public-home .navbar-public.scrolled .navbar-toggler{color:#03328c;border-color:#ccdfed}.public-home .hero{padding-top:11rem}.public-home [id]{scroll-margin-top:125px}.public-home [hidden]{display:none!important}
.public-program-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}.public-program-card{padding:30px 26px 24px;border:1px solid #d6e7f1;border-radius:24px;position:relative;background:linear-gradient(155deg,#fff,#f8fcff);display:flex;flex-direction:column;min-width:0;box-shadow:0 10px 34px #03328c07;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}.public-program-card:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#00a4bc,#17e3b6);opacity:0;transition:opacity .25s}.public-program-card:hover{transform:translateY(-5px);border-color:#83d4d1;box-shadow:0 20px 45px #03328c10}.public-program-card:hover:before{opacity:1}.program-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:26px}.program-symbol{width:58px;height:58px;border:1px solid #d0efed;border-radius:19px;background:linear-gradient(135deg,#ebfbf6,#eaf5ff);color:#007b90;display:grid;place-items:center;font-size:1.65rem}.program-label{color:#4e708d;font-size:.66rem;border:1px solid #deebf3;border-radius:99px;padding:6px 10px;background:white}.public-home .public-program-card h3{font-size:1.13rem;line-height:1.4;letter-spacing:-.02em;font-weight:800;margin:0 0 12px;color:#063875;overflow-wrap:anywhere}.public-program-card p{font-size:.84rem;line-height:1.8;color:#5f758e;margin:0 0 28px}.program-consult{margin-top:auto;background:transparent;border:0;border-top:1px solid #e3edf4;padding:18px 0 0;display:flex;align-items:center;justify-content:space-between;color:#007e85;text-align:left;font-size:.8rem;font-weight:750;gap:12px}.program-consult i{transition:transform .2s}.program-consult:hover i{transform:translate(2px,-2px)}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 auto 28px;padding:20px 24px;border:1px solid #dce8f1;border-radius:19px;background:#ffffffdd;max-width:1080px}.catalog-toolbar>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:#174273;font-size:.87rem;font-weight:650}.catalog-toolbar>div:first-child>i{font-size:1.1rem;color:#00828b}.catalog-toolbar small{font-size:.73rem;color:#677e95;font-weight:450;border-left:1px solid #d9e6ef;padding-left:12px}.catalog-toolbar>div:last-child{display:flex;align-items:center;gap:12px}.catalog-toolbar label{font-size:.75rem;color:#637c92}.catalog-toolbar select{border:1px solid #ccdeea;border-radius:11px;background:#fbfdff;color:#224b78;padding:10px 35px 10px 13px;font-size:.85rem;max-width:290px}.public-plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;max-width:1080px;margin:0 auto}.public-plan-card{border:1px solid #cee2ef;border-radius:26px;background:#fff;box-shadow:0 14px 40px #03328c07;padding:30px;display:flex;flex-direction:column;position:relative;overflow:hidden;min-width:0;transition:transform .25s,box-shadow .25s,border-color .25s}.public-plan-card:before{content:'';position:absolute;top:0;left:30px;right:30px;height:4px;background:linear-gradient(90deg,#03328c,#17e3b6);border-radius:0 0 8px 8px}.public-plan-card:hover{transform:translateY(-5px);border-color:#6ecdc4;box-shadow:0 22px 45px #03328c12}.plan-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.plan-card-heading>span{font-size:.69rem;font-weight:750;border-radius:999px;background:#edf8f9;color:#00757e;padding:7px 12px;max-width:90%;overflow-wrap:anywhere}.plan-card-heading>i{color:#4d7894}.public-home .public-plan-card h3{font-size:1.15rem;line-height:1.5;font-weight:800;letter-spacing:-.015em;margin-bottom:12px;overflow-wrap:anywhere;color:#073675}.public-plan-card .plan-description{font-size:.83rem;line-height:1.8;color:#6a7d93;margin-bottom:22px}.plan-price-block{border-block:1px solid #e0ebf3;padding:20px 0;margin-top:auto;margin-bottom:22px}.plan-price-block>small{display:block;color:#607991;font-size:.74rem;margin-bottom:4px}.plan-price-block>div{font-size:2.6rem;font-weight:850;letter-spacing:-.055em;color:#03328c;line-height:1.3}.plan-price-block>div>span{font-size:1.2rem;font-weight:650;letter-spacing:0;margin-right:4px}.plan-inclusions{display:flex;flex-direction:column;gap:14px;margin-bottom:26px}.plan-inclusions>span{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:.8rem;color:#526f8c}.plan-inclusions i{margin-right:4px;color:#008d83;font-size:1rem}.plan-inclusions strong{color:#1b4673;font-weight:700}.plan-consult{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border:1px solid #03328c;border-radius:13px;background:#03328c;color:white;font-size:.85rem;font-weight:750;transition:background .2s,box-shadow .2s}.plan-consult:hover{background:#0554a5;box-shadow:0 8px 20px #03328c20}.plan-conditions{font-size:.68rem;color:#6f8498;text-align:center;margin-top:13px}.catalog-empty{padding:40px 24px;border:1px dashed #bfd9e7;background:#f6fbfd;border-radius:20px;text-align:center;grid-column:1/-1;color:#55738e}.catalog-empty>i{display:block;font-size:2.4rem;color:#008894;margin-bottom:15px}.catalog-empty p{font-size:.9rem;line-height:1.7}
.public-home .public-schedules-section{padding-top:90px}.schedule-board{border:1px solid #d0e4f0;background:#fff;border-radius:28px;box-shadow:0 18px 65px #03328c09;padding:30px}.schedule-board-heading{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:26px}.schedule-board-icon{height:52px;width:52px;display:grid;place-items:center;flex-shrink:0;border-radius:17px;color:#007f8b;background:#eaf9f7;border:1px solid #cef0e9;font-size:1.4rem}.public-home .schedule-board-heading h3{font-size:1.04rem;font-weight:800;margin:0 0 7px;color:#073875}.schedule-board-heading p{font-size:.77rem;color:#667f95;margin:0}.schedule-note{margin-left:auto;display:flex;align-items:center;gap:8px;color:#577a8e;background:#f4f8fc;border:1px solid #e0ebf4;padding:8px 12px;border-radius:999px;font-size:.7rem}.schedule-day-filters{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:2px 2px 14px;margin-bottom:18px;scrollbar-width:thin;scrollbar-color:#b9d5e7 transparent}.schedule-day-filters button{flex-shrink:0;border:1px solid #d6e5f0;background:#fbfdff;color:#456482;padding:11px 15px;border-radius:13px;font-size:.8rem;font-weight:650;display:flex;align-items:center;gap:9px;transition:background .2s,border-color .2s,color .2s}.schedule-day-filters button>span{font-size:.65rem;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;background:#e9f1f7;color:#617e96}.schedule-day-filters button[aria-pressed=true]{background:#03328c;color:white;border-color:#03328c;box-shadow:0 6px 16px #03328c14}.schedule-day-filters button[aria-pressed=true]>span{background:#ffffff25;color:white}.schedule-day-group+section{margin-top:28px}.schedule-day-group h4{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.9rem;font-weight:750;color:#244e78;border-bottom:1px solid #e4edf4;padding-bottom:14px;margin-bottom:18px}.schedule-day-group h4>small{font-weight:450;font-size:.73rem;color:#6c8497}.schedule-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:17px}.public-time-card{padding:22px;border:1px solid #d8e8f1;border-radius:18px;background:linear-gradient(150deg,#faffff,#f6faff);min-width:0;transition:transform .23s,border-color .23s}.public-time-card:hover{transform:translateY(-3px);border-color:#7fcfc7}.time-card-service{font-size:.67rem;letter-spacing:.04em;font-weight:750;color:#007f87}.time-card-hour{display:flex;align-items:center;gap:13px;margin:15px 0 18px}.time-card-hour>i{color:#00898d;font-size:1.3rem}.time-card-hour strong{font-size:1.4rem;color:#03328c;letter-spacing:-.035em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.time-card-hour strong>span{color:#85a1b7;font-weight:400;font-size:1rem}.time-card-place{display:flex;flex-direction:column;gap:9px;font-size:.72rem;color:#5c7890}.time-card-place span{display:flex;align-items:center;gap:9px;overflow-wrap:anywhere}.time-card-place i{color:#39778f}.public-time-card button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:transparent;border:0;border-top:1px solid #dceaf2;padding:16px 0 0;margin-top:20px;text-align:left;font-size:.75rem;font-weight:700;color:#007d83}
.family-mascots{margin:0;position:relative;isolation:isolate;min-height:510px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px 0}.mascot-orbit{position:absolute;width:88%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 45% 50%,#d7f8f1,#eaf8fc 60%,transparent 72%);border:1px solid #d5efec;z-index:-1;top:0;left:6%}.mascot-orbit:before,.mascot-orbit:after{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:#17e3b64f;top:14%;left:10%;box-shadow:400px 160px 0 8px #1ce6f214}.mascot-orbit:after{left:auto;right:9%;top:75%;width:12px;height:12px;background:#03328c12;box-shadow:none}.family-mascots>img{width:112%;max-width:680px;height:auto;object-fit:contain;filter:drop-shadow(0 18px 22px #084a6d0a);position:relative;margin:0 -6%;z-index:1}.family-mascots figcaption{display:flex;align-items:center;gap:14px;padding:18px 23px;background:#ffffffed;border:1px solid #cce7ec;border-radius:19px;box-shadow:0 12px 35px #03328c08;max-width:96%;margin-top:10px}.mascot-caption-icon{width:40px;height:40px;display:grid;place-items:center;color:#008b84;background:#eafaf4;border:1px solid #d4eee5;border-radius:13px;font-size:1rem;flex-shrink:0}.family-mascots figcaption strong{display:block;font-size:.95rem;color:#11447a}.family-mascots figcaption span:not(.mascot-caption-icon){display:block;font-size:.72rem;margin-top:5px;color:#6b8196;line-height:1.6}
.public-home #informes .public-inquiry-shell{position:relative;border:1px solid #bddce8;border-radius:29px;background:#fff;box-shadow:0 20px 70px #03328c0c;padding:38px!important;overflow:hidden}.public-inquiry-shell:before{content:'';position:absolute;left:34px;right:34px;top:0;height:4px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#03328c,#17e3b6)}.public-inquiry-shell>.row{--bs-gutter-x:3rem;--bs-gutter-y:2rem}.public-home .inquiry-intro{border:1px solid #d9eeed;background:linear-gradient(155deg,#eefaf7,#f3f8ff);border-radius:22px;padding:28px!important}.inquiry-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#03328c;color:#74ffdf;font-size:1.7rem;box-shadow:0 8px 20px #03328c14;margin-bottom:25px}.public-home #informes h2{font-size:clamp(1.8rem,2.5vw,2.35rem);line-height:1.18}.public-home #informes p.lead{font-size:.9rem;line-height:1.9;margin-top:20px}.public-home #informes .text-secondary{font-size:.83rem;line-height:1.85}.inquiry-guidance{display:flex;flex-direction:column;gap:17px;border-top:1px solid #d6e8ec;margin-top:26px;padding-top:24px}.inquiry-guidance>div{display:flex;align-items:flex-start;gap:12px;font-size:.76rem;line-height:1.7;color:#55728b}.inquiry-guidance i{color:#008d88;font-size:1.1rem;flex-shrink:0}.public-home #informes .inquiry-fields{padding-left:30px}.public-home #informes .form-label{font-size:.82rem;font-weight:650;color:#2d537c;margin-bottom:9px}.public-home #informes .form-control,.public-home #informes .form-select{border:1px solid #c6dce9;background:#fcfeff;border-radius:12px;min-height:50px;padding:11px 13px;font-size:.96rem;color:#234a73;transition:border-color .2s,box-shadow .2s,background .2s}.public-home #informes .form-control:focus,.public-home #informes .form-select:focus{border-color:#008f94;box-shadow:0 0 0 4px #17e3b618;background:white}.public-home #informes textarea.form-control{min-height:112px}.public-home #informes .form-check{border:1px solid #dce8f0;border-radius:13px;background:#f8fbfd;padding:15px 15px 15px 40px}.public-home #informes .form-check-label{font-size:.75rem;line-height:1.7;color:#55728c}.public-home #informes .form-check-input{width:18px;height:18px;accent-color:#00888d}.public-home #informes button[type=submit]{min-height:51px;border-radius:13px;background:linear-gradient(105deg,#03328c,#07529c)!important;border:1px solid #03328c;font-size:.88rem;box-shadow:0 8px 24px #03328c16}.public-home #informes button[type=submit]:hover{background:#0755a4!important}
.public-home .pool-footer{position:relative;isolation:isolate;overflow:hidden;background:#03328c!important;border-top:1px solid #0c6686}.footer-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-2}.public-home .pool-footer:before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#032869d6,#03328cc2 50%,#032253db);z-index:-1}.public-home .pool-footer .container{position:relative}.public-home .pool-footer h2{color:white}.public-home .pool-footer h3{color:#83fff1;font-size:.88rem;letter-spacing:.015em}.public-home .pool-footer p{color:#e0edff;font-size:.83rem;line-height:1.9}.public-home .pool-footer a:not(.btn){color:#e1f3ff!important;font-size:.81rem;text-decoration:none;transition:color .2s}.public-home .pool-footer a:not(.btn):hover{color:#74ffe1!important;text-decoration:underline;text-underline-offset:5px}.public-home .pool-footer strong{color:white}.public-home .pool-footer .footer-grid{gap:38px}.public-home .pool-footer .footer-bottom{border-color:#d3faff30;color:#dbeeff}.public-home .pool-footer .footer-bottom a,.public-home .pool-footer .footer-bottom span{font-size:.75rem}
@media(min-width:992px){.public-home .navbar-public .nav-shell{max-width:1280px}.public-home .inquiry-intro{width:40%}.public-home .inquiry-fields{width:60%}}
@media(max-width:1199px) and (min-width:992px){.public-home .navbar-public .nav-shell{margin-inline:15px;max-width:calc(100% - 30px)}.nav-brand-copy small{display:none}.public-home .navbar-brand{margin-right:10px}.public-home .navbar-public .nav-link{padding:11px 9px;font-size:.74rem}.public-home .nav-login{font-size:.73rem;padding:12px}.nav-brand-copy strong{font-size:.93rem}}
@media(max-width:991px){.public-home .navbar-public .nav-shell{margin:0 16px;width:calc(100% - 32px);padding:10px 14px;border-radius:19px}.public-home .navbar-public .navbar-collapse{padding:15px 0 0;border-top:1px solid #ffffff20;margin-top:12px}.public-home .navbar-public.scrolled .navbar-collapse{border-top-color:#dce8f1}.public-home .navbar-public .navbar-nav{gap:7px}.public-home .nav-login{margin:7px 0 0}.nav-logo-mark{width:46px;height:46px;border-radius:14px}.nav-logo-mark img{width:36px;height:36px}.nav-brand-copy strong{font-size:1rem}.public-home .hero{padding-top:10rem}.catalog-toolbar{align-items:flex-start}.catalog-toolbar>div:first-child{flex-direction:column;align-items:flex-start;gap:7px}.catalog-toolbar>div:first-child>i{display:none}.catalog-toolbar small{border:0;padding:0}.schedule-note{display:none}.public-home #informes .inquiry-fields{padding-left:24px}.public-home .inquiry-intro{margin-inline:24px;width:calc(100% - 48px)}.family-mascots{min-height:0;max-width:620px;margin:auto}.mascot-orbit{width:76%;left:12%}.family-mascots>img{width:100%;margin:0}.public-home .public-schedules-section{padding-top:65px}}
@media(max-width:575px){.public-home .navbar-public{padding-top:8px}.nav-brand-copy strong{font-size:.94rem}.nav-brand-copy small{font-size:.55rem}.nav-logo-mark{width:43px;height:43px}.public-home .navbar-brand{gap:10px;margin-right:8px}.public-home .hero{padding-top:9.5rem}.public-program-grid{grid-template-columns:1fr;gap:16px}.public-program-card{padding:25px}.public-plans-grid{grid-template-columns:minmax(0,1fr);gap:20px}.public-plan-card{padding:26px 23px}.public-home .public-plan-card h3{font-size:1.08rem}.catalog-toolbar{padding:17px 18px;flex-direction:column;gap:17px}.catalog-toolbar>div:first-child{flex-direction:row;align-items:center;gap:10px}.catalog-toolbar>div:last-child{display:block;width:100%}.catalog-toolbar label{display:block;margin-bottom:7px}.catalog-toolbar select{width:100%;max-width:none;font-size:.9rem}.schedule-board{padding:23px 17px;border-radius:21px}.schedule-board-heading{gap:12px;margin-bottom:22px}.public-home .schedule-board-heading h3{font-size:.9rem}.schedule-board-icon{width:45px;height:45px;border-radius:14px}.schedule-slot-grid{grid-template-columns:minmax(0,1fr)}.schedule-day-filters button{font-size:.77rem;padding:10px 13px}.public-time-card{padding:21px}.time-card-hour strong{font-size:1.4rem}.family-mascots figcaption{padding:15px;gap:10px}.family-mascots figcaption strong{font-size:.83rem}.family-mascots figcaption span:not(.mascot-caption-icon){font-size:.67rem}.mascot-orbit:before{box-shadow:200px 90px 0 5px #1ce6f214}.public-home #informes .public-inquiry-shell{padding:25px!important;border-radius:23px}.public-home .inquiry-intro{margin-inline:24px;padding:23px!important}.public-home #informes h2{font-size:1.9rem}.public-home #informes .form-control,.public-home #informes .form-select{font-size:1rem}.public-home .pool-footer .footer-grid{gap:30px}.public-home .pool-footer h3{font-size:.95rem}.public-home .pool-footer a:not(.btn){font-size:.87rem}}
@media(prefers-reduced-motion:reduce){.public-home .public-program-card,.public-home .public-plan-card,.public-home .public-time-card,.public-home .program-consult i,.public-home .nav-shell{transition:none!important;transform:none!important}}
.contact-program-context{font-size:.76rem!important;line-height:1.7;padding:12px 14px;background:#eefaf7;border:1px solid #d4ebe6;border-radius:11px;color:#1c626d;overflow-wrap:anywhere}
.public-home .family-mascots>img{width:100%;margin:0}.schedule-day-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;align-items:start}.schedule-day-group+section{margin-top:0}.schedule-slot-grid{grid-template-columns:minmax(0,1fr)}.schedule-day-groups[data-filtered=true]{grid-template-columns:minmax(0,1fr)}.schedule-day-groups[data-filtered=true] .schedule-slot-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.schedule-day-groups[data-filtered=true] .public-time-card{max-width:420px}@media(max-width:575px){.schedule-day-groups{grid-template-columns:minmax(0,1fr)}}
