@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/jakarta.woff2?v=7660bd99) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/jakarta-italic.woff2?v=ead151e2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lora';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/lora-italic.woff2?v=e7ae818b) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--t9:#0f4a3f;--t7:#1c7a66;--t:#339977;--t3:#7fd1ae;--mint:#a6f0b4;--mint-s:#e4f8ea;--blue:#4499dd;--blue-d:#2a6fb0;--blue-s:#e3f0fb;--bg:#eef8f4;--ink:#14332c;--soft:#4d6b63;--card:#fff;--line:rgba(51,153,119,.18);--r:24px;--sh:0 12px 34px rgba(15,74,63,.10);--sh2:0 26px 54px rgba(15,74,63,.20);--grad:linear-gradient(120deg,var(--t7),var(--t) 55%,var(--blue))}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--t7);text-decoration:none;transition:color .2s}a:hover{color:var(--blue-d)}
h1,h2,h3{line-height:1.12;margin:0 0 .6em;color:var(--t9);letter-spacing:-.01em}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}h3{font-size:1.25rem}p{margin:0 0 1em}
em{font-family:'Lora',serif;font-style:italic;font-weight:600}
.container{width:min(1180px,100% - 48px);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--t9);color:#fff;padding:10px 16px;border-radius:10px;z-index:100}.skip-link:focus{left:8px;color:#fff}
main section{padding:84px 0;position:relative}
.section-alt{background:linear-gradient(180deg,var(--mint-s),#dff1f6)}
.section-title{text-align:center;max-width:700px;margin:0 auto 52px}
.section-title p{color:var(--soft)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t)}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--grad)}
.section-title .eyebrow{justify-content:center}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border-radius:999px;font-weight:700;font-size:.97rem;border:2px solid transparent;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s,color .25s}
.btn:hover{transform:translateY(-3px)}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 10px 24px rgba(51,153,119,.35)}.btn-primary:hover{color:#fff;box-shadow:0 16px 32px rgba(68,153,221,.4)}
.btn-whatsapp{background:#25d366;color:#08391e;animation:pulse 2.2s infinite}.btn-whatsapp:hover{color:#08391e}
.btn-whatsapp::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 3.5A11 11 0 0 0 3.2 17.3L2 22l4.8-1.2A11 11 0 1 0 20.5 3.5Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 3.5A11 11 0 0 0 3.2 17.3L2 22l4.8-1.2A11 11 0 1 0 20.5 3.5Z'/%3E%3C/svg%3E") center/contain no-repeat}
.btn-outline{background:transparent;color:var(--t7);border-color:var(--t)}.btn-outline:hover{background:var(--t);color:#fff}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:10px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}.brand img{width:48px;height:48px;flex:none;object-fit:contain;border-radius:12px;overflow:hidden;font-size:0;color:transparent}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text strong{font-family:'Lora',serif;font-style:italic;font-size:1.3rem;color:var(--t7)}
.brand-text span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-d);font-weight:600}
.main-nav{display:flex;align-items:center;gap:24px}
.main-nav>ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;align-items:center}
.main-nav a,.main-nav summary{color:var(--ink);font-weight:600;font-size:.95rem;padding:9px 14px;border-radius:999px;cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;transition:background .2s,color .2s}
.main-nav summary::-webkit-details-marker{display:none}
.main-nav a:hover,.main-nav summary:hover,.main-nav a[aria-current=page]{background:var(--mint-s);color:var(--t7)}
.main-nav .btn-primary{color:#fff;padding:11px 22px}.main-nav .btn-primary:hover{background:var(--grad);color:#fff}
.nav-subgroup{position:relative}.chevron-sm{width:14px;height:14px;transition:transform .25s}.nav-subgroup[open] .chevron-sm{transform:rotate(180deg)}
.nav-subgroup>ul{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;background:#fff;border-radius:18px;box-shadow:var(--sh2);padding:8px;list-style:none;margin:0;animation:rise .25s both;border:1px solid var(--line)}
.nav-toggle,.nav-close{display:none;background:var(--mint-s);border:0;border-radius:12px;width:44px;height:44px;color:var(--t7);cursor:pointer;place-items:center}
.nav-toggle svg,.nav-close svg{width:22px;height:22px}
.nav-backdrop{display:none}
@media(max-width:1023px){
.nav-toggle{display:grid}.nav-close{display:grid;align-self:flex-end}
.main-nav{position:fixed;top:0;right:0;height:100dvh;width:min(340px,86vw);background:#fff;flex-direction:column;align-items:stretch;padding:20px;gap:16px;transform:translateX(105%);transition:transform .35s;z-index:70;overflow:auto;box-shadow:var(--sh2)}
.main-nav.is-open{transform:none}
.main-nav>ul{flex-direction:column;align-items:stretch}
.nav-subgroup>ul{position:static;box-shadow:none;border:0;padding:0 0 0 12px}
.nav-backdrop.is-open{display:block;position:fixed;inset:0;background:rgba(15,74,63,.45);z-index:60}}
/* hero */
.hero{padding:96px 0 150px!important;background:linear-gradient(135deg,var(--t9) 0%,var(--t7) 45%,var(--blue) 120%);color:#fff;overflow:hidden}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.hero::before{width:480px;height:480px;top:-140px;right:-100px;background:radial-gradient(circle,var(--mint),transparent 70%);opacity:.45;animation:floaty 9s ease-in-out infinite}
.hero::after{width:420px;height:420px;bottom:-170px;left:-110px;background:radial-gradient(circle,var(--blue),transparent 70%);opacity:.5;animation:floaty 11s ease-in-out infinite reverse}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero .eyebrow{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:999px;color:#fff}.hero .eyebrow::before{display:none}
.hero h1{color:#fff;font-size:clamp(2.3rem,5.2vw,4.1rem);font-weight:800;margin:20px 0}
.hero h1 em{display:block;font-size:1.15em;font-weight:600;background:linear-gradient(90deg,var(--mint),#bfe6ff,var(--mint));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite;padding-bottom:.1em}
.hero p{font-size:1.1rem;max-width:560px;opacity:.95}
.hero-content>*{animation:rise .9s both}.hero-content>*:nth-child(2){animation-delay:.1s}.hero-content>*:nth-child(3){animation-delay:.2s}.hero-content>*:nth-child(4){animation-delay:.3s}
.hero .btn-primary{background:#fff;color:var(--t9);box-shadow:0 14px 30px rgba(0,0,0,.22)}.hero .btn-primary:hover{color:var(--blue-d)}
.hero-media{position:relative;animation:rise 1.1s .2s both}
.hero-media::before{content:"";position:absolute;inset:-22px;border-radius:50%;border:2px dashed rgba(255,255,255,.35);animation:spin 40s linear infinite}
.hero-media img{position:relative;width:100%;border-radius:46% 54% 50% 50%/55% 45% 55% 45%;border:6px solid rgba(255,255,255,.4);box-shadow:0 30px 60px rgba(0,0,0,.3);animation:floaty 8s ease-in-out infinite;object-fit:cover;aspect-ratio:1;background:rgba(255,255,255,.12)}
.hero::selection{background:var(--mint)}
.hero+section,.mission-vision{padding-top:0!important}
.mission-vision{margin-top:-70px;z-index:2}
.hero{--wave:1}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;height:90px;width:100%}
@media(max-width:860px){.hero-inner{grid-template-columns:1fr}.hero-media{max-width:380px;margin-inline:auto}}
/* mission */
.mv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.mv-card{background:var(--card);border-radius:28px;padding:38px;box-shadow:var(--sh);transition:transform .35s,box-shadow .35s;border-top:5px solid var(--t)}
.mv-card{position:relative;overflow:hidden;isolation:isolate}
.mv-card>*{position:relative;z-index:1}
.mv-card::before{content:"";position:absolute;z-index:0;right:-50px;bottom:-60px;width:280px;height:280px;background:url(../img/general/logo-256.webp?v=34932d65) center/contain no-repeat;opacity:.22;filter:blur(7px) saturate(1.3);transform:rotate(-8deg);transition:transform .8s,opacity .5s}
.mv-card:nth-child(2)::before{right:auto;left:-60px;transform:rotate(8deg) scaleX(-1)}
.mv-card:hover::before{opacity:.32;transform:rotate(0) scale(1.08)}
.mv-card::after{content:"";position:absolute;z-index:0;top:-70px;right:-70px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,var(--mint-s),transparent 70%)}
.mv-card:nth-child(2)::after{background:radial-gradient(circle,var(--blue-s),transparent 70%)}
.mv-card:nth-child(2){border-top-color:var(--blue)}
.mv-card:hover{transform:translateY(-6px);box-shadow:var(--sh2)}
.mv-icon{width:60px;height:60px;border-radius:18px;background:var(--grad);display:grid;place-items:center;color:#fff;margin-bottom:18px}.mv-icon svg{width:28px;height:28px}
.mv-card p{color:var(--soft);margin:10px 0 0}
/* services */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:28px}
.service-card{background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.service-card:hover{transform:translateY(-10px);box-shadow:var(--sh2)}
.service-card .photo{position:relative;height:210px;overflow:hidden;background:linear-gradient(135deg,var(--t7),var(--blue))}
.service-card .photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.service-card:hover .photo img{transform:scale(1.08)}
.service-card .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(15,74,63,.82))}
.photo-title{position:absolute;left:20px;right:20px;bottom:16px;z-index:1;display:flex;align-items:center;gap:12px}
.photo-title h3{margin:0;color:#fff;font-size:1.2rem}.photo-title h3 a{color:#fff}
.photo-title .icon{flex:none;width:46px;height:46px;border-radius:14px;background:#fff;color:var(--t);display:grid;place-items:center}.photo-title .icon svg{width:24px;height:24px}
.service-card:nth-child(3n+2) .icon{color:var(--blue)}.service-card:nth-child(3n) .icon{color:var(--t7)}
.service-card .body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
.service-card .body p{color:var(--soft);font-size:.95rem}
.card-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--t7)}.card-link svg{width:18px;height:18px;transition:transform .25s}.card-link:hover svg{transform:translateX(6px)}
/* team carousel */
.team-carousel-viewport{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 4px 26px;scrollbar-width:none}.team-carousel-viewport::-webkit-scrollbar{display:none}
.team-preview-card{flex:0 0 210px;scroll-snap-align:start;background:#fff;border-radius:24px;padding:22px 16px;text-align:center;box-shadow:var(--sh);display:flex;flex-direction:column;gap:4px;color:var(--ink);transition:transform .3s,box-shadow .3s}
.team-preview-card:hover{transform:translateY(-8px);box-shadow:var(--sh2);color:var(--ink)}
.team-preview-card img{width:112px;height:112px;margin:0 auto 12px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 0 0 3px var(--t3)}
.team-preview-card:nth-child(even) img{box-shadow:0 0 0 3px #9ccbf0}
.team-preview-card .name{font-weight:700;font-size:.97rem}.team-preview-card .role{font-size:.82rem;color:var(--t7);font-weight:600}
.team-carousel-controls,.testimonial-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:8px}
.testimonial-arrow{width:48px;height:48px;border-radius:50%;border:2px solid var(--t);background:#fff;color:var(--t7);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.testimonial-arrow:hover{background:var(--t);color:#fff;transform:scale(1.08)}.testimonial-arrow svg{width:22px;height:22px}
/* workshops / contact cards */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.contact-card{position:relative;overflow:hidden;background:var(--card);border-radius:28px;padding:38px;box-shadow:var(--sh)}
.contact-card h2,.contact-card h3{color:var(--t9)}.contact-card p{color:var(--soft)}
#trabajo-heading~*{}
section[aria-labelledby=trabajo-heading] .contact-card{color:#fff;background:linear-gradient(135deg,var(--t7),var(--t))}
section[aria-labelledby=trabajo-heading] .contact-card:nth-child(2){background:linear-gradient(135deg,var(--blue-d),var(--blue))}
section[aria-labelledby=trabajo-heading] .contact-card h3,section[aria-labelledby=trabajo-heading] .contact-card p{color:#fff}
section[aria-labelledby=trabajo-heading] .contact-card::after{content:"";position:absolute;right:-60px;bottom:-70px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.14)}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.contact-list li{display:flex;gap:16px;align-items:flex-start}
.contact-list .ic{flex:none;width:48px;height:48px;border-radius:15px;background:var(--mint-s);color:var(--t7);display:grid;place-items:center}.contact-list .ic svg{width:24px;height:24px}
.map-wrap{border-radius:28px;overflow:hidden;box-shadow:var(--sh);min-height:420px;height:100%}.map-wrap iframe{width:100%;height:100%;min-height:420px;display:block}
/* testimonials */
.testimonial-carousel{max-width:760px;margin:0 auto}
.testimonial-slide{display:none;margin:0;position:relative;background:#fff;border-radius:30px;padding:60px 44px 36px;box-shadow:var(--sh);text-align:center}
.testimonial-slide.is-active{display:block;animation:rise .6s both}
.testimonial-slide::before{content:"“";position:absolute;top:6px;left:50%;transform:translateX(-50%);font-family:'Lora',serif;font-size:110px;line-height:1;color:var(--t3)}
.testimonial-slide blockquote{margin:0}.testimonial-slide blockquote p{font-family:'Lora',serif;font-style:italic;font-size:1.2rem;color:var(--ink)}
.testimonial-slide figcaption{display:flex;flex-direction:column}.testimonial-slide .name{font-weight:700;color:var(--t9)}.testimonial-slide .role{font-size:.85rem;color:var(--blue-d);font-weight:600}
.testimonial-dots{display:flex;gap:8px}.dot{width:10px;height:10px;border-radius:99px;border:0;background:var(--t3);opacity:.5;cursor:pointer;transition:width .3s,opacity .3s;padding:0}.dot.is-active{width:30px;opacity:1;background:var(--grad)}
/* ticker */
.logo-ticker{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.logo-ticker-track{display:flex;gap:20px;width:max-content;animation:ticker 40s linear infinite;align-items:center}
.logo-ticker-track img{width:140px;height:84px;object-fit:contain;background:#fff;border-radius:16px;padding:10px;box-shadow:var(--sh)}
.logo-ticker:hover .logo-ticker-track{animation-play-state:paused}
/* cta */
.cta-band{position:relative;overflow:hidden;border-radius:36px;padding:72px 32px;text-align:center;color:#fff;background:linear-gradient(120deg,var(--t9),var(--t7) 45%,var(--t) 75%,var(--blue))}
.cta-band::before,.cta-band::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.1)}
.cta-band::before{width:280px;height:280px;top:-90px;left:-60px;animation:floaty 8s ease-in-out infinite}.cta-band::after{width:320px;height:320px;bottom:-110px;right:-50px;animation:floaty 10s ease-in-out infinite reverse}
.cta-band>*{position:relative;z-index:1}.cta-band h2{color:#fff}.cta-band p{max-width:560px;margin:0 auto 30px;font-size:1.05rem}.cta-band .hero-actions{justify-content:center}
.cta-band .btn-outline{color:#fff;border-color:rgba(255,255,255,.7)}.cta-band .btn-outline:hover{background:#fff;color:var(--t9)}
/* page hero (subpages) */
.page-hero{padding:80px 0 90px!important;color:#fff;background:linear-gradient(135deg,var(--t9),var(--t7) 55%,var(--blue));overflow:hidden;isolation:isolate}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.4rem);margin-bottom:16px}.page-hero p{max-width:680px;font-size:1.1rem;opacity:.96}
.page-hero .eyebrow{color:var(--mint)}.page-hero .eyebrow::before{background:var(--mint)}
.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.28;mix-blend-mode:luminosity}
.page-hero::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-120px;top:-150px;background:radial-gradient(circle,var(--mint),transparent 70%);opacity:.4;z-index:1;animation:floaty 9s ease-in-out infinite}
.breadcrumbs{display:flex;gap:10px;list-style:none;padding:0;margin:0 0 22px;font-size:.88rem}
.breadcrumbs li+li::before{content:"›";margin-right:10px;opacity:.7}.breadcrumbs a{color:#d6f5e6}.breadcrumbs a:hover{color:#fff}.breadcrumbs li[aria-current]{font-weight:700}
main>section:nth-of-type(2) .container>p{max-width:820px;font-size:1.08rem;color:var(--soft)}
main>.page-hero+section>.container{background:#fff;border-radius:var(--r);padding:40px;box-shadow:var(--sh);border-left:6px solid var(--t)}
/* team grid */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.team-card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);cursor:pointer;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s;outline:none}
.team-card:hover,.team-card:focus-visible{transform:translateY(-8px);box-shadow:var(--sh2)}.team-card:focus-visible{outline:3px solid var(--blue)}
.team-photo{aspect-ratio:1;overflow:hidden;background:linear-gradient(135deg,var(--t3),#9ccbf0)}.team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.team-card:hover .team-photo img{transform:scale(1.07)}
.team-info{padding:22px 22px 26px;display:flex;flex-direction:column;gap:6px;flex:1}.team-info h3{font-size:1.08rem;margin:0}
.team-info .role{font-size:.88rem;color:var(--soft)}
.view-profile{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--t7);font-size:.92rem}.view-profile svg{width:18px;height:18px;transition:transform .25s}.team-card:hover .view-profile svg{transform:translateX(6px)}
/* services list */
.services-list{background:#fff;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
.services-list>summary{cursor:pointer;list-style:none;padding:22px 28px;font-weight:700;color:#fff;background:var(--grad);display:flex;justify-content:space-between;align-items:center}
.services-list>summary::-webkit-details-marker{display:none}.services-list .chevron{transition:transform .3s}.services-list[open]>summary .chevron{transform:rotate(180deg)}
.services-body{padding:26px 28px;display:grid;gap:14px}
.services-body>ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.services-body li,.services-group li{position:relative;padding:12px 16px 12px 44px;background:var(--mint-s);border-radius:14px;font-size:.95rem}
.services-body li::before,.services-group li::before{content:"";position:absolute;left:16px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--grad)}
.services-group{border:1px solid var(--line);border-radius:18px;overflow:hidden}
.services-group-title{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:16px 20px;font-weight:700;background:#fff;transition:background .2s}.services-group-title::-webkit-details-marker{display:none}.services-group-title:hover{background:var(--mint-s)}
.services-group-icon{width:40px;height:40px;border-radius:12px;background:var(--grad);color:#fff;display:grid;place-items:center}.services-group-icon svg{width:20px;height:20px}
.services-group-name{flex:1;color:var(--t9)}.services-group-count{min-width:30px;height:30px;border-radius:99px;background:var(--blue-s);color:var(--blue-d);display:grid;place-items:center;font-size:.85rem}
.services-group-chevron{transition:transform .3s}.services-group[open] .services-group-chevron{transform:rotate(180deg)}
.services-group ul{list-style:none;margin:0;padding:16px 20px 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
/* partners */
.partners-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:26px}
.partner-card{background:#fff;border-radius:var(--r);padding:18px 18px 24px;text-align:center;box-shadow:var(--sh);transition:transform .35s,box-shadow .35s}
.partner-card:hover{transform:translateY(-8px);box-shadow:var(--sh2)}
.partner-card img{width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:16px;background:var(--mint-s);padding:10px}.partner-card h3{font-size:1.02rem;margin:16px 0 0}
/* modal */
.team-modal{border:0;padding:0;border-radius:28px;width:min(760px,92vw);max-height:88vh;overflow:auto;box-shadow:0 40px 90px rgba(15,74,63,.4);color:var(--ink)}
.team-modal::backdrop{background:rgba(15,74,63,.6);backdrop-filter:blur(4px)}.team-modal[open]{animation:rise .35s both;display:grid;grid-template-columns:260px 1fr}
.team-modal-photo{background:linear-gradient(135deg,var(--t3),#9ccbf0);min-height:260px}.team-modal-photo img{width:100%;height:100%;object-fit:cover}
.team-modal-body{padding:36px}.team-modal-body .role{color:var(--t7);font-weight:600;display:block;margin-bottom:14px}
.team-modal-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;color:var(--t9);cursor:pointer;display:grid;place-items:center;z-index:2;box-shadow:var(--sh)}.team-modal-close svg{width:20px;height:20px}
@media(max-width:640px){.team-modal[open]{grid-template-columns:1fr}}
/* footer */
.site-footer{background:linear-gradient(180deg,var(--t9),#0a332b);color:#cfe8df;padding:70px 0 26px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:36px}
@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}
.footer-brand h2{font-family:'Lora',serif;font-style:italic;color:#fff;font-size:1.7rem}
.site-footer h3{color:var(--mint);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.93rem}.site-footer a{color:#cfe8df}.site-footer a:hover{color:var(--mint)}
.footer-bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:.85rem;opacity:.85}.footer-bottom p{margin:0}
/* reveal */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes floaty{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-22px) scale(1.05)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes ticker{to{transform:translateX(-50%)}}
@keyframes shine{to{background-position:200% center}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}100%{box-shadow:0 0 0 20px rgba(37,211,102,0)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ---- Compatibilidad con el HTML y el JS actuales del sitio ---- */
/* La bio solo se muestra dentro del modal. */
.team-bio{display:none}
.nav-subgroup.is-current>summary{color:var(--t7);background:var(--mint-s)}
@media(max-width:1023px){.nav-cta .btn{width:100%}}
/* El JS centra la tarjeta destacada; el snap obligatorio la desplazaría. */
.team-carousel-viewport{scroll-snap-type:none;padding:22px 4px 34px}
.team-preview-card.is-active{transform:scale(1.08);box-shadow:var(--sh2)}
.team-preview-card.is-active img{box-shadow:0 0 0 3px var(--blue)}
.avatar-placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,var(--t3),#9ccbf0);color:#fff}
.avatar-placeholder svg{width:40%;height:40%}
.team-preview-card .avatar-placeholder{width:112px;height:112px;margin:0 auto 12px;border-radius:50%}
.team-modal-photo .avatar-placeholder{aspect-ratio:16/9}
.team-modal-body p{font-family:inherit;font-style:normal;font-size:1rem;color:var(--ink);margin:0 0 1em}.team-modal-body .lead{font:inherit;color:inherit}
.footer-contact p{margin:0 0 8px;font-size:.93rem}

/* ---- Menú: submenú "Especialidades" y versión móvil ---- */
/* Puente invisible entre el botón y el desplegable: sin él, al bajar el
   cursor se cruza un hueco, el hover se pierde y el menú se cierra. */
.nav-subgroup>ul{top:100%;margin-top:0;z-index:80}
.nav-subgroup>ul::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav-subgroup>ul li{display:block}
.nav-subgroup>ul a{display:flex;border-radius:12px;white-space:nowrap}
.nav-subgroup[open]>summary{background:var(--mint-s);color:var(--t7)}
@media(max-width:1023px){
/* backdrop-filter convierte al header en el bloque contenedor de los
   elementos fixed, y el menú lateral quedaba recortado a su altura. */
.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
.header-inner{flex-wrap:nowrap}
.brand-text strong{font-size:1.1rem}
.brand-text span{font-size:.6rem}
.main-nav{padding:20px 20px 28px}
.main-nav a,.main-nav summary{padding:13px 16px;border-radius:14px;justify-content:space-between}
.main-nav>ul{gap:4px}
.nav-subgroup>ul{min-width:0;padding:4px 0 4px 12px;background:transparent}
.nav-subgroup>ul::before{display:none}
.nav-subgroup>ul a{white-space:normal}
.main-nav .btn-primary{justify-content:center}
}
@media(max-width:600px){
main section{padding:60px 0}
.hero{padding:64px 0 120px!important}
.container{width:min(1180px,100% - 32px)}
.mv-card,.contact-card{padding:28px}
.cta-band{padding:52px 22px;border-radius:28px}
.testimonial-slide{padding:56px 24px 28px}
.team-preview-card{flex-basis:180px}
.btn{padding:13px 22px}
}
@media(max-width:380px){.brand-text span{display:none}}

/* ---- Fotos del carrusel ---- */
/* Las fotos originales son de 500-1000 px (sobradas para 112 px): no están
   pixeladas, sino con fondos muy claros. Se encuadra desde arriba para no
   cortar rostros y se añade un fondo y un leve contraste. */
.team-preview-card img{object-position:center 18%;background:linear-gradient(135deg,var(--t3),#9ccbf0);filter:contrast(1.06) saturate(1.05)}

/* ---- Botón de WhatsApp: logotipo real ---- */
.btn-whatsapp::before{width:22px;height:22px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.3-.15-1.263-.465-2.403-1.485-.888-.795-1.484-1.77-1.66-2.07-.174-.3-.019-.465.13-.615.136-.135.301-.345.451-.523.146-.181.194-.301.297-.496.1-.21.049-.375-.025-.524-.075-.15-.672-1.62-.922-2.206-.24-.584-.487-.51-.672-.51-.172-.015-.371-.015-.571-.015-.2 0-.523.074-.797.359-.273.3-1.045 1.02-1.045 2.475s1.07 2.865 1.219 3.075c.149.18 2.095 3.195 5.076 4.483.709.3 1.263.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.695.248-1.29.173-1.414-.074-.123-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.3-.15-1.263-.465-2.403-1.485-.888-.795-1.484-1.77-1.66-2.07-.174-.3-.019-.465.13-.615.136-.135.301-.345.451-.523.146-.181.194-.301.297-.496.1-.21.049-.375-.025-.524-.075-.15-.672-1.62-.922-2.206-.24-.584-.487-.51-.672-.51-.172-.015-.371-.015-.571-.015-.2 0-.523.074-.797.359-.273.3-1.045 1.02-1.045 2.475s1.07 2.865 1.219 3.075c.149.18 2.095 3.195 5.076 4.483.709.3 1.263.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.695.248-1.29.173-1.414-.074-.123-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---- Cartera de servicios ---- */
.services-list{border:1px solid var(--line)}
.services-list>summary{padding:24px 30px;font-size:1.1rem;letter-spacing:-.005em}
.services-body{padding:22px;gap:16px;background:linear-gradient(180deg,#fff,var(--bg))}
.services-group{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 4px 16px rgba(15,74,63,.05);transition:box-shadow .3s,border-color .3s}
.services-group[open]{border-color:var(--t3);box-shadow:var(--sh)}
.services-group-title{padding:16px 20px;border-radius:0}
.services-group[open]>.services-group-title{background:linear-gradient(90deg,var(--mint-s),#fff);border-bottom:1px solid var(--line)}
.services-group-icon{width:44px;height:44px;border-radius:14px;flex:none;box-shadow:0 6px 14px rgba(51,153,119,.28)}
.services-group-name{font-size:1.04rem}
.services-group-count{padding:0 8px}
.services-group ul{padding:18px 20px 22px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.services-body li,.services-group li{display:flex;align-items:center;gap:12px;padding:13px 16px;min-height:56px;line-height:1.35;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--ink);font-weight:500;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s}
.services-body li::before,.services-group li::before{content:"";position:static;flex:none;width:28px;height:28px;margin:0;border-radius:50%;background:var(--mint-s);box-shadow:inset 0 0 0 1px var(--line)}
.services-body li::after,.services-group li::after{content:"";position:absolute;left:16px;top:50%;width:28px;height:28px;margin-top:-14px;background:var(--t7);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 12.5 10 17.5 19 7'/%3E%3C/svg%3E") center/14px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 12.5 10 17.5 19 7'/%3E%3C/svg%3E") center/14px no-repeat}
.services-group li:nth-child(even)::after{background:var(--blue-d)}
.services-group li:nth-child(even)::before{background:var(--blue-s)}
.services-group li:hover{transform:translateY(-2px);border-color:var(--t3);box-shadow:0 8px 20px rgba(15,74,63,.10)}
@media(max-width:600px){.services-body{padding:14px}.services-group ul{grid-template-columns:1fr;padding:14px}.services-list>summary{padding:20px}}

/* ---- Carrusel de profesionales: bordes "lavados" ---- */
/* La tira recorta (overflow) las sombras de las tarjetas y deja ver un
   rectángulo más claro; además la sombra grande de la tarjeta destacada se
   pintaba encima de las vecinas y las desvanecía. Se da margen a la sombra,
   se suaviza y la destacada pasa por encima de las demás. */
.team-carousel-viewport{padding:34px 30px 56px}
.team-preview-card{position:relative;z-index:0;box-shadow:0 4px 14px rgba(15,74,63,.08)}
.team-preview-card.is-active{z-index:2;box-shadow:0 14px 30px rgba(15,74,63,.16)}
.team-preview-card:hover{box-shadow:0 14px 30px rgba(15,74,63,.16)}

/* ---- Contacto ---- */
.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:22px;margin-bottom:28px}
.contact-method{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:2px;padding:28px;border-radius:var(--r);background:#fff;color:var(--ink);box-shadow:var(--sh);border:1px solid var(--line);transition:transform .3s,box-shadow .3s}
.contact-method:hover{transform:translateY(-6px);box-shadow:var(--sh2);color:var(--ink)}
.contact-method::after{content:"";position:absolute;right:-40px;top:-40px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,var(--mint-s),transparent 70%)}
.contact-method .ic{width:52px;height:52px;border-radius:16px;background:var(--grad);color:#fff;display:grid;place-items:center;margin-bottom:14px;position:relative;z-index:1;box-shadow:0 8px 18px rgba(51,153,119,.3)}
.contact-method .ic svg{width:26px;height:26px}
.contact-method .cm-label{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t)}
.contact-method strong{font-size:1.2rem;color:var(--t9);overflow-wrap:anywhere}
.contact-method .cm-hint{font-size:.9rem;color:var(--soft)}
.contact-method-wa .ic{background:linear-gradient(135deg,#25d366,#128c7e)}
.contact-main{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch}
.contact-stack{display:grid;gap:28px;min-width:0}
.contact-card{min-width:0;padding:32px}
.contact-card h2{font-size:1.35rem;margin-bottom:18px}
.contact-card .contact-list li{overflow-wrap:anywhere}
.contact-card .hero-actions{margin-top:22px}
.hours-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hours-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;border-radius:16px;background:var(--mint-s);border:1px solid var(--line)}
.hours-list .day{font-weight:700;color:var(--t9)}
.hours-list .time{text-align:right;color:var(--ink);font-weight:500;line-height:1.5}
.hours-list .closed{background:#f4f6f6}.hours-list .closed .time{color:var(--soft)}
@media(max-width:900px){.contact-main{grid-template-columns:minmax(0,1fr)}.map-wrap{min-height:340px}.map-wrap iframe{min-height:340px}}

/* ---- Evitar desborde horizontal en móvil ---- */
html,body{overflow-x:hidden}
.contact-grid,.services-grid,.mv-grid,.team-grid,.partners-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.contact-main{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
@media(max-width:900px){.contact-main{grid-template-columns:minmax(0,1fr)}}
.map-wrap,.map-wrap iframe{max-width:100%}
.hero-actions .btn{max-width:100%;text-align:center}
@media(max-width:480px){.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.contact-card{padding:24px}.hours-list li{flex-direction:column;align-items:flex-start;gap:4px}.hours-list .time{text-align:left}}

/* La regla genérica de las subpáginas envuelve el primer bloque en una
   tarjeta blanca; en Contacto ya hay tarjetas propias y se duplicaba. */
main>.page-hero+section[aria-labelledby=info-heading]>.container{background:none;box-shadow:none;border:0;padding:0;border-radius:0}

/* ---- Portada: imagen rectangular en lugar de la figura circular ---- */
.hero-media{padding:0 0 22px 22px}
.hero-media::before{inset:22px 22px 0 0;border-radius:32px;border:2px solid rgba(255,255,255,.4);background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(166,240,180,.12));animation:none}
.hero-media img{aspect-ratio:auto;height:auto;object-fit:contain;border-radius:28px;border:5px solid rgba(255,255,255,.55);background:#fff;animation:none;box-shadow:0 30px 60px rgba(0,0,0,.28)}

/* ---- Carrusel: miniaturas propias, sin filtros que las deformen ---- */
.team-preview-card img{filter:none;object-position:center;image-rendering:auto}

/* ---- Quiénes somos ---- */
.about{padding:96px 0 40px!important}
.about .section-title{max-width:760px;margin-bottom:34px}
.about .section-title h2 em{color:var(--t7)}
.about-ages{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.about-ages li{padding:9px 20px;border-radius:999px;background:#fff;border:1px solid var(--t3);color:var(--t7);font-weight:700;font-size:.92rem;box-shadow:0 4px 12px rgba(51,153,119,.12)}
.about-ages li:nth-child(even){border-color:#9ccbf0;color:var(--blue-d)}
.about-pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:22px}
.about-pillars li{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px 24px;box-shadow:var(--sh);transition:transform .3s,box-shadow .3s}
.about-pillars li:hover{transform:translateY(-8px);box-shadow:var(--sh2)}
.about-ic{flex:none;width:54px;height:54px;border-radius:17px;background:var(--grad);color:#fff;display:grid;place-items:center;margin-bottom:10px;box-shadow:0 8px 18px rgba(51,153,119,.28)}
.about-ic svg{width:26px;height:26px}
.about-pillars li:nth-child(even) .about-ic{background:linear-gradient(135deg,var(--blue-d),var(--blue))}
.about-pillars strong{color:var(--t9);font-size:1.08rem;line-height:1.25}
.about-pillars span:not(.about-ic){color:var(--soft);font-size:.93rem;line-height:1.55}
.about-purpose{position:relative;overflow:hidden;margin:28px 0 0;padding:30px 36px 30px 40px;border-radius:26px;color:#fff;font-family:'Lora',serif;font-style:italic;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.55;background:linear-gradient(120deg,var(--t9),var(--t7) 55%,var(--blue))}
.about-purpose::before{content:"";position:absolute;right:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.1)}
.about-purpose span{display:block;margin-bottom:8px;font-family:'Plus Jakarta Sans',sans-serif;font-style:normal;font-weight:700;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
@media(max-width:900px){.about{padding:64px 0 20px!important}}
@media(max-width:600px){.about-purpose{padding:26px 24px}}

/* ---- Portada: collage de imágenes ---- */
.hero-media{padding:0}
.hero-media::before{display:none}
.hero-collage{position:relative;padding:0 0 70px 0}
.hero-media .hero-photo{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;border-radius:32px;border:5px solid rgba(255,255,255,.55);background:rgba(255,255,255,.12);box-shadow:0 30px 60px rgba(0,0,0,.28);animation:none}
.hero-media .hero-banner{position:absolute;left:-34px;bottom:0;width:68%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:20px;border:4px solid #fff;background:#fff;box-shadow:0 22px 44px rgba(0,0,0,.3);animation:floaty 9s ease-in-out infinite}
.hero-chip{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border-radius:20px;background:rgba(255,255,255,.96);color:var(--t9);box-shadow:0 18px 38px rgba(0,0,0,.22)}
.hero-chip strong{display:block;font-size:.92rem;line-height:1.2}
.hero-chip small{display:block;font-size:.76rem;color:var(--soft)}
.hero-chip-top{top:-18px;right:-14px;animation:floaty 8s ease-in-out infinite reverse}
.chip-ic{flex:none;width:42px;height:42px;border-radius:13px;background:var(--grad);color:#fff;display:grid;place-items:center}
.chip-ic svg{width:22px;height:22px}
.hero-chip-team{right:-12px;bottom:6px;max-width:58%}
.chip-avatars{display:flex;flex:none}
.chip-avatars img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-12px;background:var(--mint-s);animation:none;aspect-ratio:1;box-shadow:none}
.chip-avatars img:first-child{margin-left:0}
@media(max-width:1100px){.hero-media .hero-banner{left:-14px}.hero-chip-top{right:-6px}.hero-chip-team{right:-6px}}
@media(max-width:860px){.hero-media{max-width:520px;margin-inline:auto}}
@media(max-width:520px){.hero-collage{padding-bottom:84px}.hero-media .hero-banner{left:0;width:78%}.hero-chip-top{right:0;top:-14px}.hero-chip-team{right:0;bottom:0;max-width:62%;padding:8px 12px 8px 8px}.chip-avatars{display:none}.hero-chip small{display:none}}
.hero-media .hero-banner{width:56%}
.hero-chip-team{max-width:46%;flex-wrap:nowrap}
.hero-chip-team small{display:none}
@media(max-width:520px){.hero-media .hero-banner{width:80%}.hero-chip-team{max-width:60%}}

/* auto-fit estiraba una tarjeta sola a todo el ancho; auto-fill conserva el tamaño de columna */
.team-grid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}
.partners-grid{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}

/* ---- Horarios de atención (mismo lenguaje que las tarjetas de profesionales) ---- */
.hours-list{gap:16px}
.hours-list li.hours-day{position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:16px;padding:20px 20px 20px 24px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh);transition:transform .3s,box-shadow .3s,border-color .3s}
.hours-list li.hours-day::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--grad)}
.hours-list li.hours-day:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.hours-list li.hours-day.is-today{border-color:var(--t3);background:linear-gradient(135deg,#fff 55%,var(--mint-s))}
.hd-ic{flex:none;width:46px;height:46px;border-radius:15px;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:0 8px 16px rgba(51,153,119,.25)}
.hd-ic svg{width:22px;height:22px}
.hd-body{flex:1;min-width:0}
.hd-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.hours-list li.hours-day .day{font-weight:800;font-size:1.05rem;color:var(--t9)}
.hd-status{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--blue-s);color:var(--blue-d)}
.hd-status.is-open{background:#d9f7e4;color:#12703a}
.hd-status.is-open::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#25d366;vertical-align:middle;animation:pulse 2s infinite}
.slots{display:flex;flex-wrap:wrap;gap:10px}
.slot{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:14px;background:var(--mint-s);border:1px solid var(--line);color:var(--ink);font-size:.95rem}
.slot svg{width:18px;height:18px;color:var(--t7);flex:none}
.slot small{font-size:.78rem;font-weight:600;color:var(--soft)}
.slot b{font-weight:700;color:var(--t9);white-space:nowrap}
.hours-list li.hours-day:nth-child(2) .slot{background:var(--blue-s)}.hours-list li.hours-day:nth-child(2) .slot svg{color:var(--blue-d)}
.hours-list li.hours-day.closed::before{background:#c3cfcb}
.hours-list li.hours-day.closed .hd-ic{background:linear-gradient(135deg,#9fb0ab,#c3cfcb);box-shadow:none}
.slot-closed{background:#f1f4f3;color:var(--soft);font-weight:600}
@media(max-width:480px){.hours-list li.hours-day{flex-direction:column;gap:12px}}
.hours-list .slot{padding:8px 11px;gap:6px}.hours-list .slots{gap:8px}

/* ---- Modal de profesionales: mismo tamaño y misma presentación para todos ---- */
.team-modal{width:min(900px,92vw);height:min(560px,88vh);max-height:none;overflow:hidden}
.team-modal[open]{grid-template-columns:minmax(0,340px) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.team-modal-photo{position:relative;isolation:isolate;min-height:0;height:100%;background:linear-gradient(160deg,#e6f4ef,#e0edf8)}
.team-modal-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;mix-blend-mode:multiply}
.team-modal-body{min-height:0;overflow-y:auto;padding:40px 44px 36px 40px;scrollbar-width:thin;scrollbar-color:var(--t3) transparent}
.team-modal-body h2,.team-modal-body h3{margin-bottom:6px;padding-right:44px}
@media(max-width:700px){
.team-modal{height:min(720px,90vh)}
.team-modal[open]{grid-template-columns:minmax(0,1fr);grid-template-rows:230px minmax(0,1fr)}
.team-modal-body{padding:24px 22px 28px}
}

/* ---- Alianzas: logos sobre blanco (antes tenían un fondo verdoso) ---- */
.partner-card{display:flex;flex-direction:column;border:1px solid var(--line)}
.partner-card img{background:#fff;border:1px solid var(--line);padding:16px;object-fit:contain;aspect-ratio:4/3}
.partner-card h3{margin:16px 0 0;font-size:1rem;color:var(--t9)}
.partner-card:hover img{border-color:var(--t3)}

.taller-tabs{display:flex;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:0 auto 24px;padding:6px;border-radius:999px;background:var(--t7);box-shadow:inset 0 0 0 1px var(--t3)}
.taller-tab{display:flex;align-items:center;gap:10px;padding:12px 24px;border:0;border-radius:999px;background:transparent;color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background .25s,color .25s}
.taller-tab svg{width:22px;height:22px}
.taller-tab:hover{background:rgba(255,255,255,.18)}
.taller-tab.is-active{background:#fff;color:var(--t9);box-shadow:var(--sh)}
#tab-ninos.is-active{background:var(--blue-d);color:#fff}

.taller-panel{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;align-items:center;padding:36px;border-radius:28px;background:#fff;box-shadow:var(--sh2)}
.taller-panel[hidden]{display:none}
.taller-panel.is-active{animation:tallerIn .45s ease}
@keyframes tallerIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.taller-intro h3{color:var(--t9);font-size:1.5rem;margin-bottom:10px}
.taller-intro p{color:var(--soft);margin:0}
.taller-features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.taller-features li{display:flex;gap:14px;align-items:center;padding:16px;border-radius:18px;background:var(--mint-s);transition:transform .25s,box-shadow .25s}
.taller-features li:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.taller-features strong{display:block;color:var(--t9)}
.taller-features li span:not(.taller-fi){display:block;font-size:.88rem;color:var(--soft)}
.taller-fi{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#fff;background:var(--grad)}
.taller-fi svg{width:22px;height:22px}
#panel-ninos{border-top:6px solid var(--blue-d)}
#panel-ninos .taller-intro h3{color:var(--blue-d)}
#panel-ninos .taller-intro p,#panel-ninos .taller-features li span:not(.taller-fi){color:#2d4256}
#panel-ninos .taller-features strong{color:#12304d}
#panel-ninos .taller-features li{background:#d6e9fb;box-shadow:inset 0 0 0 1px rgba(42,111,176,.25)}
#panel-adultos{border-top:6px solid var(--t)}
#panel-ninos .taller-fi{background:linear-gradient(135deg,var(--blue-d),var(--blue))}
.taller-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(130px,17vw,210px);gap:16px;margin-top:32px}
.taller-photo{position:relative;padding:0;border:0;overflow:hidden;border-radius:24px;cursor:zoom-in;box-shadow:var(--sh);background:transparent;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.taller-photo:first-child{grid-column:span 2;grid-row:span 2}
.taller-photo:hover,.taller-photo:focus-visible{transform:translateY(-4px);z-index:2;box-shadow:var(--sh2)}
.taller-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:none;image-rendering:auto;transition:transform .6s ease}
.taller-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,74,63,.55),transparent 55%);opacity:0;transition:opacity .35s}
.taller-photo:hover::after{opacity:1}
.taller-photo:hover img{transform:scale(1.08)}
.taller-zoom{z-index:1;position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--t9);background:#fff;opacity:0;transform:translateY(8px);transition:.3s}
.taller-zoom svg{width:22px;height:22px}
.taller-photo:hover .taller-zoom,.taller-photo:focus-visible .taller-zoom{opacity:1;transform:none}
.taller-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(8,35,30,.88)}
.taller-lightbox[hidden]{display:none}
.taller-lightbox img{max-width:min(1100px,100%);max-height:88vh;border-radius:16px;box-shadow:var(--sh2)}
.taller-lb-close{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:var(--t9);cursor:pointer}
.taller-lb-close svg{width:22px;height:22px}
@media(max-width:820px){.taller-panel{grid-template-columns:1fr;padding:26px}}
.taller-lb-nav{position:absolute;top:50%;translate:0 -50%;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:var(--t9);cursor:pointer}
.taller-lb-nav svg{width:24px;height:24px}
.taller-lb-prev{left:18px}.taller-lb-next{right:18px}
@media(max-width:700px){.taller-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(110px,30vw,180px);gap:10px}.taller-photo{border-radius:16px}.taller-photo:first-child{grid-column:span 2;grid-row:span 2}}
@media(max-width:560px){.taller-tab{padding:10px 14px;font-size:.92rem}}

.taller-videos{margin-top:48px;text-align:center}
.taller-videos-title{color:var(--t9);font-size:1.6rem;margin-bottom:6px}
.taller-videos-sub{color:var(--soft);margin:0 0 24px}
.taller-videos-cta{margin-top:28px}

.pv{--aw:clamp(210px,68vw,272px);--iw:calc(var(--aw)*.65);--gap:16px;position:relative;max-width:1040px;margin:0 auto}
.pv-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:28px}
.pv-chip{padding:9px 18px;border:0;border-radius:999px;background:#fff;color:var(--t9);font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .25s,color .25s,transform .25s}
.pv-chip:hover{transform:translateY(-2px)}
.pv-chip.is-active{background:var(--t9);color:#fff}
.pv-stage{position:relative;padding:0 14px}
.pv-viewport{container-type:inline-size;overflow:hidden;padding:12px 0 24px;touch-action:pan-y}
.pv-track{--i:0;--n:5;display:flex;align-items:center;gap:var(--gap);width:max-content;transform:translateX(max(calc(var(--i)*-1*(var(--iw) + var(--gap))),min(0px,calc(100cqw - var(--aw) - (var(--n) - 1)*(var(--iw) + var(--gap))))));transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.pv-card{position:relative;flex:none;width:var(--iw);aspect-ratio:9/16;border-radius:26px;overflow:hidden;background:var(--t9);transition:width .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s}
.pv-card[hidden]{display:none}
.pv-card.is-active{width:var(--aw);box-shadow:var(--sh2)}
.pv-poster{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:var(--t9);cursor:pointer}
.pv-poster img{display:block;width:100%;height:100%;object-fit:cover}
.pv-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(15,74,63,.45));transition:opacity .3s}
.pv-card.is-active .pv-poster::after{opacity:.5}
.pv-play{position:absolute;z-index:1;top:50%;left:50%;translate:-50% -50%;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--t9);transition:transform .3s,width .55s,height .55s}
.pv-play svg{width:42%;height:42%;margin-left:6%}
.pv-card.is-active .pv-play{width:74px;height:74px}
.pv-poster:hover .pv-play{transform:scale(1.1)}
.pv-card iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0}
.pv-card.is-loading .pv-poster{position:relative;z-index:1}
.pv-card.is-loading .pv-play{display:none}
.pv-card.is-loading .pv-poster::before{content:"";position:absolute;z-index:2;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border:4px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:pvSpin .8s linear infinite}
@keyframes pvSpin{to{transform:rotate(360deg)}}
.pv-arrow{position:absolute;top:50%;translate:0 -50%;z-index:2;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:var(--t9);font-size:1.3rem;box-shadow:var(--sh);cursor:pointer;transition:transform .25s,opacity .25s}
.pv-arrow:hover{transform:scale(1.1)}
.pv-arrow[disabled]{opacity:.35;pointer-events:none}
.pv-prev{left:0}.pv-next{right:0}
.pv-meta{display:flex;flex-direction:column;align-items:center;gap:12px}
.pv-now{padding:8px 18px;border-radius:999px;background:var(--mint-s);color:var(--t9);font-weight:600;font-size:.92rem}
.pv-dots{display:flex;gap:8px}
.pv-dot{width:9px;height:9px;padding:0;border:0;border-radius:99px;background:var(--t3);opacity:.6;cursor:pointer;transition:width .35s,opacity .35s,background .35s}
.pv-dot.is-active{width:28px;opacity:1;background:var(--t7)}
@media(max-width:560px){.pv-stage{padding:0}.pv-arrow{width:34px;height:34px;font-size:1.1rem}.pv-prev{left:4px}.pv-next{right:4px}.pv-chip{padding:8px 14px;font-size:.85rem}.pv{--gap:12px}}

.footer-social{display:flex;gap:10px;margin-top:18px}
.footer-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;transition:background .25s,transform .25s,color .25s}
.footer-social a:hover{background:var(--mint);color:var(--t9);transform:translateY(-3px)}
.footer-social svg{width:20px;height:20px}
.taller-videos-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
/* Horarios: filas limpias, sin iconos ni recuadros */
.hours-list li.hours-day{padding:18px 22px 18px 26px}
.hours-list .slots{display:block}
.hours-list .slot{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:9px 0;border:0;border-radius:0;background:none;border-top:1px dashed var(--line)}
.hours-list .slot:first-child{border-top:0;padding-top:2px}
.hours-list li.hours-day:nth-child(2) .slot{background:none}
.hours-list .slot small{font-size:.9rem;font-weight:500;color:var(--soft)}
.hours-list .slot b{font-size:1.05rem;font-variant-numeric:tabular-nums}
.hours-list .slot-closed{display:block;padding:2px 0;border:0;background:none}
@media(max-width:480px){.hours-list li.hours-day{flex-direction:column;gap:0}}
