/* Jardín Vivo Premium — capa visual: no altera URL, data-track ni tracking. */
@font-face{font-family:'Bree Serif';src:url('../images/editorial/fonts/bree-serif.ttf') format('truetype');font-display:swap}
:root{--vivo-ink:#073b54;--vivo-blue:#08758e;--vivo-paper:#f9fffe;--vivo-coral:#dc5847;--vivo-yellow:#f9d36f;--vivo-sage:#e5f2d8;--vivo-sky:#c5ebef;--vivo-green:#176e44;--vivo-shadow:0 18px 40px rgba(7,59,84,.13)}
body.vivo-premium{background:var(--vivo-paper);color:var(--vivo-ink);font-family:'Editorial Manrope',Manrope,Arial,sans-serif;overflow-x:clip}.vivo-premium h1,.vivo-premium h2,.vivo-premium h3,.vivo-premium .offer-dialog h2{font-family:'Bree Serif','Editorial Lora',Georgia,serif;letter-spacing:-.025em}.vivo-crayon-route{display:none!important}.editorial-route{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none;opacity:.58;mix-blend-mode:multiply}.editorial-route path{fill:none;stroke-linecap:round;stroke-linejoin:round}.editorial-route-soft{stroke:#35b4c5;stroke-width:36px;opacity:.16}.editorial-route-ink{stroke:#087b9a;stroke-width:5px;opacity:.42}.editorial-route-branch{stroke:#dc5847;stroke-width:4px;opacity:.36}@media(min-width:768px){.editorial-route--desktop{display:block!important}.editorial-route--mobile{display:none!important}}@media(max-width:767px){.editorial-route--desktop{display:none!important}.editorial-route--mobile{display:block!important;opacity:.48}.editorial-route-soft{stroke-width:24px;opacity:.14}.editorial-route-ink{stroke-width:4px}.editorial-route-branch{stroke-width:3.5px}}.vivo-premium main{isolation:isolate;position:relative}.vivo-premium .section-shell{width:min(1180px,calc(100% - 80px))}.vivo-premium .site-header{height:88px;background:rgba(249,255,254,.95);backdrop-filter:blur(12px);border:0;box-shadow:none;position:relative;z-index:4}.vivo-premium .brand{font-family:'Editorial Manrope',Arial,sans-serif;font-weight:800;color:var(--vivo-ink);letter-spacing:-.05em}.vivo-premium .brand span{color:#087eaf}.vivo-premium .brand small{font-family:'Editorial Manrope',Arial,sans-serif;color:var(--vivo-ink);letter-spacing:.03em}.vivo-premium .nav{gap:30px}.vivo-premium .nav a{font-weight:800;color:var(--vivo-ink)}.vivo-premium .nav .nav-cta{background:var(--vivo-green);border:0;color:#fff;border-radius:18px;box-shadow:0 4px 0 #105232,0 8px 20px rgba(23,110,68,.2);padding:14px 22px}.vivo-premium .hero{min-height:580px;display:grid;grid-template-columns:.92fr 1.08fr;gap:48px;align-items:center;padding-top:18px;padding-bottom:28px;position:relative}.vivo-premium .hero:before{content:'';position:absolute;inset:-40px -5vw 0;background:url('../images/editorial/gouache-washes-transparent.png') center/cover no-repeat;opacity:.19;z-index:-1;pointer-events:none}.vivo-premium .hero-copy{z-index:1}.vivo-premium .hero .eyebrow{font-size:13px;color:var(--vivo-ink);font-weight:800;letter-spacing:.03em;text-transform:none}.vivo-premium .hero .eyebrow .eyebrow-dot{background:var(--vivo-coral)}.vivo-premium .hero h1{font-size:clamp(4.2rem,6.5vw,6rem);line-height:.94;max-width:610px;color:var(--vivo-ink)}.vivo-premium .hero h1 em{color:var(--vivo-coral);font-family:inherit;position:relative;z-index:0}.vivo-premium .hero h1 em:after{content:'';position:absolute;height:12px;left:-1%;right:1%;bottom:5px;background:var(--vivo-yellow);z-index:-1;transform:rotate(-2deg);border-radius:99px}.vivo-premium .hero-lead{font-size:18px;line-height:1.65;max-width:470px;color:#1a3d4d;margin:20px 0}.vivo-premium .hero-actions{display:block}.vivo-premium .button{min-height:54px;border-radius:18px;padding:14px 24px;background:var(--vivo-green);box-shadow:0 4px 0 #105232,0 8px 18px rgba(23,110,68,.22),0 16px 28px rgba(23,110,68,.1);font-family:'Editorial Manrope',Arial,sans-serif;font-weight:800;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),background .2s ease}.vivo-premium .button:hover{background:#125b37;transform:translateY(-3px);box-shadow:0 6px 0 #105232,0 12px 24px rgba(23,110,68,.28),0 20px 34px rgba(23,110,68,.14)}.vivo-premium .button:active{transform:translateY(2px);box-shadow:0 1px 0 #105232,0 3px 8px rgba(23,110,68,.18);transition-duration:.1s}.vivo-premium .hero-btn{font-size:16px}.vivo-premium .microcopy{color:#2d4f59;font-size:13px}.vivo-premium .hero-media-wrap{position:relative}.vivo-premium .hero-photo-main{height:520px;transform:rotate(1.6deg);filter:drop-shadow(0 19px 28px rgba(7,59,84,.15));overflow:visible}.vivo-premium .hero-photo-main picture,.vivo-premium .hero-photo-main img{width:100%;height:100%}.vivo-premium .hero-photo-main img{object-fit:cover;object-position:center 58%;border:7px solid #fff;border-radius:43% 45% 10% 12% / 14% 15% 10% 12%}.vivo-premium .hero-badge{display:none}.vivo-premium .hero-photo-main figcaption{display:block;position:absolute;top:25px;left:-30px;bottom:auto;right:auto;background:var(--vivo-yellow);color:var(--vivo-ink);border:0;border-radius:10px 10px 18px 10px;padding:13px 18px;font-family:'Bree Serif',Georgia,serif;font-size:20px;line-height:1.18;max-width:245px;transform:rotate(-7deg);box-shadow:0 6px 14px rgba(7,59,84,.1)}
.vivo-premium .trust{padding:0;border:0;background:transparent}.vivo-premium .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);background:var(--vivo-ink);color:#fff;border-radius:28px 28px 8px 8px;overflow:hidden}.vivo-premium .trust-item{padding:22px 24px;border:0}.vivo-premium .trust-item+.trust-item{border-left:1px solid rgba(255,255,255,.16)}.vivo-premium .trust-badge-icon{color:var(--vivo-yellow)}.vivo-premium .trust-content strong{font-family:'Bree Serif',Georgia,serif;font-size:22px;color:#fff}.vivo-premium .trust-content span{font-size:13px;color:#d5ecf1;line-height:1.45}.vivo-premium .experience-mosaic{padding:72px 0 56px}.vivo-premium .experience-mosaic .section-intro{max-width:780px;margin:0 0 26px;text-align:left}.vivo-premium .section-intro .eyebrow{display:none}.vivo-premium .section-intro h2{font-size:clamp(2.6rem,4vw,4.3rem);color:var(--vivo-ink)}.vivo-premium .section-sub{font-size:17px;color:#264e5c;max-width:540px}.vivo-premium .mosaic-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:440px;gap:24px}.vivo-premium .mosaic-card,.vivo-premium .mosaic-featured{grid-column:auto;grid-row:auto;border-radius:0;overflow:visible;box-shadow:none;position:relative}.vivo-premium .mosaic-card:nth-child(2){margin-top:28px}.vivo-premium .mosaic-card:nth-child(3){margin-top:62px}.vivo-premium .mosaic-card picture,.vivo-premium .mosaic-card img{height:100%;width:100%;border-radius:20px;overflow:hidden}.vivo-premium .mosaic-card img{border:6px solid #fff;box-shadow:var(--vivo-shadow);object-position:center 38%}.vivo-premium .mosaic-card:nth-child(2) img{object-position:center 32%}.vivo-premium .mosaic-card:nth-child(3) img{object-position:center 32%}.vivo-premium .mosaic-caption{background:#fffce9;color:var(--vivo-ink);bottom:12px;left:14px;right:14px;padding:10px 13px;border-radius:6px;text-align:center}.vivo-premium .mosaic-caption .mosaic-tag{color:var(--vivo-blue);font-size:10px}.vivo-premium .mosaic-caption h3{font-family:'Bree Serif',Georgia,serif;font-size:18px;line-height:1.18;margin-top:3px}.vivo-premium .director-section{padding:64px 0 50px;background:transparent}.vivo-premium .director-card{display:grid;grid-template-columns:285px 1fr;gap:72px;align-items:center;padding:44px 60px;border-radius:64px 34px 68px 36px;background:var(--vivo-sage);position:relative}.vivo-premium .director-card:before{content:'';position:absolute;inset:0;background:url('../images/editorial/gouache-washes-transparent.png') center/cover no-repeat;opacity:.08;mix-blend-mode:multiply;pointer-events:none}.vivo-premium .director-photo{width:260px;height:390px;margin:0;transform:rotate(-3deg);position:relative;z-index:1}.vivo-premium .director-photo picture,.vivo-premium .director-photo img{height:100%;width:100%}.vivo-premium .director-photo img{border:6px solid #fff;border-radius:80px 80px 20px 20px;object-fit:cover;box-shadow:var(--vivo-shadow)}.vivo-premium .director-letter{position:relative;z-index:1}.vivo-premium .director-letter>.eyebrow{display:none}.vivo-premium .director-letter h2{font-size:clamp(2.1rem,3.3vw,3.3rem);max-width:750px;color:#174d3c}.vivo-premium .letter-details{margin-top:18px}.vivo-premium .letter-details summary{display:inline-flex;align-items:center;gap:12px;list-style:none;background:rgba(255,255,255,.58);border-radius:14px;padding:11px 15px;color:#2b5040;font-size:14px;font-weight:800;cursor:pointer}.vivo-premium .letter-details summary::-webkit-details-marker{display:none}.vivo-premium .letter-details summary span{font-size:22px;line-height:1}.vivo-premium .letter-details[open] summary span{font-size:0}.vivo-premium .letter-details[open] summary span:after{content:'−';font-size:22px}.vivo-premium .letter-body{max-width:670px;color:#2e5240;margin-top:15px;font-size:15px;line-height:1.7}.vivo-premium .director-signature-block{margin:17px 0 0}.vivo-premium .signature-name{font-family:'Bree Serif',Georgia,serif;font-size:31px;color:var(--vivo-green)}.vivo-premium .director-cta{margin-top:17px}.vivo-premium .learning-chapters{padding:18px 0 42px;background:transparent}.vivo-premium .learning-chapters .section-shell{width:min(1100px,calc(100% - 80px))}.vivo-premium .chapter{border:0;background:#fff;border-radius:20px;margin:11px 0;box-shadow:0 5px 15px rgba(7,59,84,.06)}.vivo-premium .chapter-summary{padding:18px 24px;min-height:0!important;gap:16px}.vivo-premium .chapter-number{font-family:'Bree Serif',Georgia,serif;color:var(--vivo-coral);font-size:26px}.vivo-premium .chapter-heading .eyebrow{font-size:10px;color:var(--vivo-blue)}.vivo-premium .chapter-title{font-family:'Bree Serif',Georgia,serif;font-size:25px;color:var(--vivo-ink);max-width:none}.vivo-premium .chapter-intro{font-size:14px;line-height:1.5;color:#3a5d68}.vivo-premium .chapter-toggle{background:var(--vivo-sky);border-radius:50%;width:42px;height:42px;flex:0 0 42px}.vivo-premium .chapter-content{padding:5px 0 28px}.vivo-premium .promo-section{padding:60px 0 48px;background:transparent}.vivo-premium .promo-container{padding:0}.vivo-premium .promo-header{max-width:850px;text-align:left;margin:0 0 24px}.vivo-premium .promo-header .eyebrow{display:none}.vivo-premium .promo-title{font-family:'Bree Serif',Georgia,serif;font-size:clamp(2.6rem,4vw,4.1rem);color:var(--vivo-ink);max-width:650px}.vivo-premium .promo-lead{font-size:16px;max-width:450px;color:#264e5c;margin-top:14px}.vivo-premium .promo-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.vivo-premium .promo-card{padding:21px 22px 10px;border:0;border-radius:20px;box-shadow:0 8px 18px rgba(7,59,84,.1);min-height:220px;position:relative}.vivo-premium .promo-card--featured{background:var(--vivo-yellow);transform:rotate(-.8deg)}.vivo-premium .promo-card:not(.promo-card--featured){background:var(--vivo-sky);transform:rotate(.5deg)}.vivo-premium .promo-card--accent{background:#f8bdb0!important;transform:rotate(-.4deg)!important}.vivo-premium .promo-badge-pill{position:static;background:transparent;color:var(--vivo-ink);padding:0;font-size:11px;text-align:right;margin:0 0 5px;font-weight:800}.vivo-premium .promo-card--featured .promo-badge-pill{background:transparent;color:var(--vivo-ink)}.vivo-premium .promo-card-body{display:flex;flex-direction:column;height:100%}.vivo-premium .promo-sala-name{font-family:'Bree Serif',Georgia,serif;font-size:29px;color:var(--vivo-ink)}.vivo-premium .promo-regular-price{font-size:12px;color:#3a5663;margin:5px 0 7px}.vivo-premium .promo-price-block{margin:0 0 8px;color:var(--vivo-ink)}.vivo-premium .promo-currency{font-size:22px}.vivo-premium .promo-amount{font-size:37px;font-family:'Editorial Manrope',Arial,sans-serif;font-weight:800}.vivo-premium .promo-urgency-sticker{font-size:10px;letter-spacing:.02em;color:var(--vivo-ink);margin:0 0 10px;font-weight:700}.vivo-premium .promo-card .button{min-height:44px;background:transparent;box-shadow:none;color:var(--vivo-ink);border-radius:0;border-top:1px dashed rgba(7,59,84,.45);padding:11px 0 7px;margin-top:auto;font-size:13px;font-weight:800;justify-content:space-between}.vivo-premium .promo-card .button:hover{transform:translateX(3px);background:transparent;box-shadow:none}.vivo-premium .promo-footer-note{font-size:12px;color:#3a5663;margin-top:20px}.vivo-premium .stories-section{padding:50px 0;background:var(--vivo-ink)}.vivo-premium .stories-section .section-intro{text-align:left;margin:0 0 22px}.vivo-premium .stories-section .eyebrow{display:none}.vivo-premium .stories-section h2{color:#fff;font-size:clamp(2.5rem,4vw,4.1rem);max-width:750px}.vivo-premium .stories-section .section-sub{color:#d7eaee;max-width:570px}.vivo-premium .stories-grid{gap:18px}.vivo-premium .story-card{background:rgba(255,255,255,.94);border:0;border-radius:18px;padding:22px;box-shadow:none}.vivo-premium .story-card:nth-child(2){transform:translateY(20px)}.vivo-premium .story-card:nth-child(3){transform:translateY(40px)}.vivo-premium .story-avatar{display:none}.vivo-premium .story-header strong{color:var(--vivo-ink);font-family:'Bree Serif',Georgia,serif;font-size:19px}.vivo-premium .story-body{font-family:'Bree Serif',Georgia,serif;font-size:17px;line-height:1.5;color:#264e5c}.vivo-premium .story-footer{border:0}.vivo-premium .story-tag{color:var(--vivo-green)}.vivo-premium .stories-section .section-action{margin-top:55px}.vivo-premium .reviews-section{padding:68px 0 56px;background:transparent}.vivo-premium .reviews-section .section-intro{text-align:left}.vivo-premium .reviews-section .eyebrow{display:none}.vivo-premium .reviews-section h2{font-size:clamp(2.5rem,3.8vw,4rem)}.vivo-premium .review-card{background:transparent;border:0;box-shadow:none;padding:5px 28px 5px 0;border-right:1px solid #bddbe0;border-radius:0}.vivo-premium .review-card:last-child{border-right:0}.vivo-premium .review-stars{color:#c68d10}.vivo-premium .review-card>p{font-family:'Bree Serif',Georgia,serif;font-size:19px;line-height:1.5;color:#1e4354}.vivo-premium .review-card--featured{transform:translateY(20px)}.vivo-premium .locations-section{padding:58px 0;background:#e2f2f5}.vivo-premium .locations-section .section-intro{text-align:left}.vivo-premium .locations-section .eyebrow{display:none}.vivo-premium .locations-section h2{font-size:clamp(2.5rem,3.7vw,3.8rem);max-width:670px}.vivo-premium .locations-grid{gap:20px}.vivo-premium .location-card{background:#fff;border-radius:22px;border:0;box-shadow:none;padding:25px}.vivo-premium .location-icon{background:var(--vivo-yellow);color:var(--vivo-ink)}.vivo-premium .location-card h3{font-family:'Bree Serif',Georgia,serif;color:var(--vivo-ink)}.vivo-premium .location-actions .button{background:#fff;color:var(--vivo-green);border:1px solid var(--vivo-green);box-shadow:0 3px 0 #c8e6d5,0 6px 14px rgba(23,110,68,.1);min-height:46px}.vivo-premium .location-actions .button:hover{box-shadow:0 5px 0 #c8e6d5,0 10px 20px rgba(23,110,68,.15);transform:translateY(-2px)}.vivo-premium .location-actions .button:active{transform:translateY(1px);box-shadow:0 1px 0 #c8e6d5,0 2px 6px rgba(23,110,68,.1)}.vivo-premium .faq-section{padding:52px 0;background:transparent}.vivo-premium .faq-layout{gap:60px}.vivo-premium .faq-intro .eyebrow{display:none}.vivo-premium .faq-intro h2{font-size:clamp(2.4rem,3.5vw,3.6rem)}.vivo-premium .faq-cta{margin-top:20px}.vivo-premium .accordion details{border-color:#a5cdd6}.vivo-premium .accordion summary{font-weight:800;color:var(--vivo-ink);padding:7px 0;font-size:15px}.vivo-premium .final-cta{padding:64px 0;background:var(--vivo-ink)}.vivo-premium .final-cta-card{display:grid;grid-template-columns:1fr .82fr;gap:52px;text-align:left;align-items:center}.vivo-premium .final-cta-card h2{font-size:clamp(3rem,4.8vw,5.3rem);color:#fff}.vivo-premium .final-lead,.vivo-premium .final-micro{color:#d8edf1}.vivo-premium .final-photo-editorial{grid-column:2;grid-row:1/5;height:390px;margin:0}.vivo-premium .final-photo-editorial img{height:100%;width:100%;object-fit:cover;object-position:center 50%;border-radius:35% 10% 35% 10%;border:6px solid rgba(255,255,255,.85)}.vivo-premium .final-btn{background:var(--vivo-green);box-shadow:0 4px 0 #105232,0 8px 18px rgba(23,110,68,.25)}.vivo-premium .final-btn:hover{box-shadow:0 6px 0 #105232,0 12px 24px rgba(23,110,68,.3);transform:translateY(-3px)}.vivo-premium .final-btn:active{transform:translateY(2px);box-shadow:0 1px 0 #105232,0 3px 8px rgba(23,110,68,.18)}.vivo-premium .site-footer{padding:30px 0;background:var(--vivo-paper)}.vivo-premium .whatsapp-float{background:var(--vivo-green);border-radius:18px;box-shadow:0 4px 0 #105232,0 10px 22px rgba(23,110,68,.2)}
@media(max-width:767px){.vivo-premium .section-shell,.vivo-premium .learning-chapters .section-shell{width:calc(100% - 40px)}.vivo-premium .site-header{height:76px;padding:0 20px;background:rgba(249,255,254,.96)}.vivo-premium .brand-mark{width:31px;height:39px}.vivo-premium .brand{font-size:20px}.vivo-premium .brand small{font-size:8px}.vivo-premium .menu-toggle{border:1px solid #b9dce1;border-radius:50%;width:44px;height:44px;background:#fff}.vivo-premium .nav{background:#fff;border-radius:18px;box-shadow:var(--vivo-shadow);left:20px;right:20px;top:66px;padding:18px}.vivo-premium .nav .nav-cta{display:none}.vivo-premium .hero{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 0 20px}.vivo-premium .hero:before{inset:-30px -20px 0;background-size:auto 100%;opacity:.15}.vivo-premium .hero-copy{order:0}.vivo-premium .hero .eyebrow{font-size:11px;margin-bottom:10px}.vivo-premium .hero h1{font-size:clamp(44px,12vw,56px);line-height:.99}.vivo-premium .hero h1 br{display:none}.vivo-premium .hero h1 em:after{height:8px;bottom:3px}.vivo-premium .hero-lead{font-size:16px;line-height:1.55;margin:14px 0 0;color:#1a3d4d}.vivo-premium .hero-media-wrap{order:1;margin:22px 2px 0}.vivo-premium .hero-photo-main{height:340px;transform:rotate(1.3deg)}.vivo-premium .hero-photo-main img{border-width:6px;object-position:center 56%}.vivo-premium .hero-photo-main figcaption{font-size:15px;left:-8px;top:13px;padding:11px 13px;max-width:175px}.vivo-premium .hero-actions{order:2;margin-top:20px;width:100%}.vivo-premium .hero-actions .button{width:100%;font-size:16px}.vivo-premium .hero-actions .microcopy{text-align:center;font-size:11px;color:#2d4f59}.vivo-premium .trust{width:100%}.vivo-premium .trust-grid{border-radius:0;grid-template-columns:1fr 1fr}.vivo-premium .trust-item{padding:16px 18px}.vivo-premium .trust-item+.trust-item{border-left:0}.vivo-premium .trust-item:nth-child(even){border-left:1px solid rgba(255,255,255,.14)}.vivo-premium .trust-item:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}.vivo-premium .trust-badge-icon{display:none}.vivo-premium .trust-content strong{font-size:19px}.vivo-premium .trust-content span{font-size:11px}.vivo-premium .experience-mosaic{padding:36px 0 30px}.vivo-premium .experience-mosaic .section-intro{margin-bottom:20px}.vivo-premium .section-intro h2{font-size:34px;line-height:1.08}.vivo-premium .section-sub{font-size:15px;line-height:1.6;margin-top:12px;color:#264e5c}.vivo-premium .mosaic-grid{grid-template-columns:1fr 1fr;grid-template-rows:340px 250px;gap:12px}.vivo-premium .mosaic-card,.vivo-premium .mosaic-featured{margin:0!important}.vivo-premium .mosaic-featured{grid-column:1/3;grid-row:1}.vivo-premium .mosaic-card:nth-child(2),.vivo-premium .mosaic-card:nth-child(3){grid-row:2}.vivo-premium .mosaic-card img{border-width:5px;object-position:center 35%}.vivo-premium .mosaic-caption{left:8px;right:8px;bottom:8px;padding:7px 8px}.vivo-premium .mosaic-caption h3{font-size:14px}.vivo-premium .mosaic-featured .mosaic-caption h3{font-size:19px}.vivo-premium .director-section{padding:32px 0 22px}.vivo-premium .director-card{display:flex;flex-direction:column;align-items:stretch;padding:28px 18px 24px;gap:0;border-radius:37px 22px 43px 25px}.vivo-premium .director-photo{width:220px;height:330px;margin:0 auto 30px}.vivo-premium .director-photo img{border-width:5px}.vivo-premium .director-letter h2{font-size:33px;line-height:1.11}.vivo-premium .letter-details{margin-top:16px}.vivo-premium .letter-details summary{font-size:13px}.vivo-premium .letter-body{font-size:15px;line-height:1.68;color:#2e5240}.vivo-premium .signature-name{font-size:28px}.vivo-premium .director-cta .button{width:100%}.vivo-premium .learning-chapters{padding:14px 0 28px}.vivo-premium .chapter{margin:8px 0;border-radius:16px}.vivo-premium .chapter-summary{padding:14px 16px;gap:10px;grid-template-columns:24px 1fr 34px}.vivo-premium .chapter-number{font-size:18px}.vivo-premium .chapter-title{font-size:19px;line-height:1.2}.vivo-premium .chapter-intro{font-size:12px;color:#3a5d68}.vivo-premium .chapter-toggle{width:34px;height:34px;flex-basis:34px}.vivo-premium .promo-section{padding:38px 0 24px}.vivo-premium .promo-title{font-size:35px;line-height:1.08}.vivo-premium .promo-lead{font-size:15px;color:#264e5c}.vivo-premium .promo-cards-grid{grid-template-columns:1fr;gap:12px;margin:20px 4px 0}.vivo-premium .promo-card{min-height:0;padding:14px 17px 4px;border-radius:17px}.vivo-premium .promo-card--featured,.vivo-premium .promo-card:not(.promo-card--featured),.vivo-premium .promo-card--accent{transform:rotate(0)!important}.vivo-premium .promo-card--featured{transform:rotate(-.6deg)!important}.vivo-premium .promo-card:nth-child(2){transform:rotate(.5deg)!important}.vivo-premium .promo-card--accent{transform:rotate(-.4deg)!important}.vivo-premium .promo-card-body{display:grid;grid-template-columns:1fr auto;align-items:end}.vivo-premium .promo-sala-name{font-size:26px;grid-column:1;grid-row:1}.vivo-premium .promo-regular-price{grid-column:1;grid-row:2}.vivo-premium .promo-price-block{grid-column:2;grid-row:1/3;text-align:right}.vivo-premium .promo-amount{font-size:30px}.vivo-premium .promo-urgency-sticker{grid-column:1/3;grid-row:3;margin-top:4px}.vivo-premium .promo-card .button{grid-column:1/3;grid-row:4}.vivo-premium .stories-section{padding:38px 0}.vivo-premium .stories-section h2{font-size:34px}.vivo-premium .stories-grid{grid-template-columns:1fr;gap:12px}.vivo-premium .story-card:nth-child(2),.vivo-premium .story-card:nth-child(3){transform:none}.vivo-premium .story-card{padding:18px}.vivo-premium .story-body{font-size:17px;color:#264e5c}.vivo-premium .stories-section .section-action{margin-top:20px}.vivo-premium .reviews-section{padding:40px 0 32px}.vivo-premium .reviews-grid{grid-template-columns:1fr;gap:0}.vivo-premium .review-card,.vivo-premium .review-card:last-child{border-right:0;border-bottom:1px solid #bddbe0;padding:18px 0}.vivo-premium .review-card--featured{transform:none}.vivo-premium .review-card>p{font-size:17px;color:#1e4354}.vivo-premium .locations-section{padding:38px 0}.vivo-premium .locations-grid{grid-template-columns:1fr}.vivo-premium .location-card{padding:20px}.vivo-premium .faq-section{padding:36px 0}.vivo-premium .faq-layout{grid-template-columns:1fr;gap:22px}.vivo-premium .faq-intro h2{font-size:33px}.vivo-premium .faq-cta{width:100%}.vivo-premium .final-cta{padding:40px 0}.vivo-premium .final-cta-card{display:flex;flex-direction:column;gap:0;text-align:left}.vivo-premium .final-cta-card h2{font-size:46px;line-height:1.03}.vivo-premium .final-photo-editorial{order:3;width:100%;height:280px;margin:22px 0 18px}.vivo-premium .final-photo-editorial img{border-width:5px;border-radius:28% 10% 28% 10%}.vivo-premium .final-actions{order:4;width:100%}.vivo-premium .final-btn{width:100%;font-size:15px}.vivo-premium .site-footer{padding:24px 20px 90px}.vivo-premium .footer-top{display:block}.vivo-premium .footer-details{margin-top:18px}.vivo-premium .whatsapp-float{display:none}.vivo-premium .whatsapp-mobile-bar{display:block;background:var(--vivo-green);border-radius:15px;left:20px;right:20px;bottom:14px;width:auto;box-shadow:0 3px 0 #105232,0 8px 21px rgba(23,110,68,.28);font-weight:800}.vivo-premium .whatsapp-mobile-bar.is-collision-hidden{opacity:0;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.vivo-premium *, .vivo-premium *:before,.vivo-premium *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.vivo-premium .button:hover{transform:none}}

/* Desktop: hide mobile-only elements */
.reviews-inline-strip { display: none; }
@media (min-width: 768px) {
  .reviews-inline-strip { display: none !important; }
}

/* ============================================================
   AJUSTES FINALES VIVO-PREMIUM: ESPACIOS, CONTRASTE, 3D Y ACORDEONES
   ============================================================ */

/* 1. Ritmo vertical: corrección de espacios muertos */
#contenido .section-space{padding:46px 0 38px!important}
#contenido .experience-mosaic{padding:48px 0 38px!important}
#contenido .director-section{padding:44px 0 36px!important}
#contenido .learning-chapters{padding:20px 0 38px!important}
#contenido .promo-section{padding:46px 0 38px!important}
#contenido .reviews-section,#contenido .locations-section{padding:48px 0 38px!important}
#contenido .faq-section{padding:44px 0 36px!important}
#contenido .final-cta{padding:52px 0 46px!important;background:var(--vivo-ink)!important}

/* 2. Sección Historias: fondo vivo-ink nítido y alto contraste */
#contenido .stories-section,body.vivo-premium #historias{padding:50px 0 44px!important;background:var(--vivo-ink)!important;color:#fff!important}
#contenido .stories-section .eyebrow{display:block!important;color:#79d4e4!important;font-weight:800!important;font-size:11px!important;letter-spacing:.06em!important;text-transform:uppercase!important;margin-bottom:8px!important}
#contenido .stories-section h2,#contenido .stories-section .stories-title{color:#fff!important;font-family:'Bree Serif',Georgia,serif!important;font-size:clamp(2.4rem,3.8vw,3.8rem)!important;line-height:1.08!important}
#contenido .stories-section .section-sub{color:#d6eff3!important;font-size:16px!important;line-height:1.55!important}
#contenido .story-card{background:#fff!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(0,0,0,.14)!important;border:1px solid rgba(255,255,255,.2)!important}
#contenido .story-header strong{color:var(--vivo-ink)!important}
#contenido .story-body{color:#1a3c4a!important;font-size:16px!important;line-height:1.55!important}

/* 3. Directora Rosana: contenedor sage y tipografía legible */
#contenido .director-card{display:grid!important;grid-template-columns:270px 1fr!important;gap:56px!important;align-items:center!important;background:var(--vivo-sage)!important;border-radius:36px!important;padding:42px 52px!important;border:1px solid rgba(23,110,68,.12)!important;box-shadow:0 12px 32px rgba(7,59,84,.07)!important}
#contenido .director-letter h2{color:#124032!important;font-family:'Bree Serif',Georgia,serif!important;line-height:1.15!important}
#contenido .letter-body{color:#1c3e30!important;font-size:15.5px!important;line-height:1.68!important}
#contenido .signature-name{color:var(--vivo-green)!important}

/* 4. Acordeones: eliminar pseudo-elementos, centrar toggle y alinear columnas */
#contenido .chapter-summary::before,#contenido .chapter-summary::after,.chapter-summary::before,.chapter-summary::after{display:none!important;content:none!important}
#contenido .chapter,#contenido .chapter[open],#contenido .chapter--journey{display:block!important;margin:10px 0!important;background:#fff!important;border:1px solid rgba(7,59,84,.1)!important;border-radius:18px!important;box-shadow:0 6px 16px rgba(7,59,84,.05)!important;overflow:hidden!important}
#contenido .chapter-summary{display:grid!important;grid-template-columns:40px minmax(0,1fr) 42px!important;align-items:center!important;gap:16px!important;min-height:0!important;padding:16px 22px!important;background:transparent!important;pointer-events:auto!important;cursor:pointer!important;list-style:none!important}
#contenido .chapter-summary::-webkit-details-marker{display:none!important}
#contenido .chapter-number{position:static!important;grid-column:1!important;display:flex!important;align-items:center!important;justify-content:center!important;font-family:'Bree Serif',Georgia,serif!important;font-size:22px!important;line-height:1!important;color:var(--vivo-coral)!important;text-shadow:none!important;margin:0!important;padding:0!important}
#contenido .chapter-heading{position:static!important;grid-column:2!important;display:flex!important;flex-direction:column!important;gap:3px!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
#contenido .chapter-heading .eyebrow{display:block!important;font-size:10.5px!important;font-weight:800!important;letter-spacing:.04em!important;color:#065f75!important;text-transform:uppercase!important;margin:0 0 2px!important}
#contenido .chapter-title{display:block!important;font-family:'Bree Serif',Georgia,serif!important;font-size:21px!important;line-height:1.2!important;color:var(--vivo-ink)!important;max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
#contenido .chapter-intro{display:block!important;font-size:13px!important;line-height:1.45!important;color:#2f5360!important;max-width:none!important;width:100%!important;margin:2px 0 0!important}
#contenido .chapter-toggle{position:relative!important;grid-column:3!important;display:flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;min-width:38px!important;background:var(--vivo-sky)!important;border-radius:50%!important;margin:0!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important}
#contenido .chapter-toggle::before,#contenido .chapter-toggle::after{content:''!important;position:absolute!important;top:50%!important;left:50%!important;width:14px!important;height:2px!important;border-radius:2px!important;background:var(--vivo-ink)!important;transform:translate(-50%,-50%)!important;transition:transform .18s ease!important}
#contenido .chapter-toggle::after{transform:translate(-50%,-50%) rotate(90deg)!important}
#contenido .chapter[open] .chapter-toggle::after{transform:translate(-50%,-50%) rotate(0deg)!important}
#contenido .chapter-content{display:none!important;max-width:none!important;margin:0!important;padding:4px 22px 24px!important;text-align:left!important;border-top:1px solid rgba(7,59,84,.08)!important}
#contenido .chapter[open] .chapter-content{display:block!important}
#contenido .chapter[open] .chapter-summary{padding-bottom:12px!important}

/* 5. CTAs con profundidad 3D sutil y contraste impecable */
#contenido .button-primary,#contenido .final-btn,#contenido .hero-btn,#contenido .site-header .nav-cta,#contenido .whatsapp-float,#contenido .whatsapp-mobile-bar,body.vivo-premium .button,body.vivo-premium .final-btn{background:var(--vivo-green)!important;color:#fff!important;box-shadow:0 4px 0 #105232,0 8px 18px rgba(23,110,68,.25)!important;border:0!important;border-radius:18px!important;font-weight:800!important;text-decoration:none!important;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),background .18s ease!important}
#contenido .button-primary:hover,#contenido .final-btn:hover,#contenido .hero-btn:hover,#contenido .site-header .nav-cta:hover,#contenido .whatsapp-float:hover,body.vivo-premium .button:hover{background:#125b37!important;transform:translateY(-2px)!important;box-shadow:0 6px 0 #105232,0 12px 22px rgba(23,110,68,.3)!important}
#contenido .button-primary:active,#contenido .final-btn:active,#contenido .hero-btn:active,#contenido .whatsapp-float:active,body.vivo-premium .button:active{transform:translateY(2px)!important;box-shadow:0 1px 0 #105232,0 3px 6px rgba(23,110,68,.18)!important}
#contenido .promo-card .button,body.vivo-premium .promo-card .button{background:var(--vivo-green)!important;color:#fff!important;border:0!important;border-radius:14px!important;box-shadow:0 3px 0 #105232,0 6px 14px rgba(23,110,68,.22)!important;padding:12px 18px!important;min-height:44px!important;font-weight:800!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
#contenido .promo-card .button:hover{background:#125b37!important;transform:translateY(-2px)!important;box-shadow:0 5px 0 #105232,0 8px 18px rgba(23,110,68,.26)!important}
#contenido .location-actions .button,body.vivo-premium .location-actions .button{background:#fff!important;color:var(--vivo-ink)!important;border:1.5px solid rgba(7,59,84,.2)!important;border-radius:14px!important;box-shadow:0 3px 0 rgba(7,59,84,.12),0 6px 14px rgba(7,59,84,.06)!important;font-weight:800!important}
#contenido .location-actions .button:hover{border-color:var(--vivo-green)!important;color:var(--vivo-green)!important;transform:translateY(-2px)!important;box-shadow:0 5px 0 rgba(23,110,68,.2),0 8px 18px rgba(23,110,68,.12)!important}
#contenido .faq-cta,body.vivo-premium .faq-cta{background:#fff!important;color:var(--vivo-ink)!important;border:1.5px solid rgba(7,59,84,.2)!important;border-radius:16px!important;box-shadow:0 4px 0 rgba(7,59,84,.14),0 8px 18px rgba(7,59,84,.08)!important;font-weight:800!important}
#contenido .faq-cta:hover{transform:translateY(-2px)!important;border-color:var(--vivo-green)!important;color:var(--vivo-green)!important;box-shadow:0 6px 0 rgba(23,110,68,.2),0 10px 22px rgba(23,110,68,.14)!important}

/* 6. Elevación UI Premium: Contraste, Tipografía y Fotografía */

/* Hero H1: El Mejor lugar después del Hogar */
#contenido .hero h1,
body.vivo-premium .hero h1 {
  font-family: 'Bree Serif', Georgia, serif !important;
  font-size: clamp(3.4rem, 5.4vw, 5.2rem) !important;
  line-height: 1.02 !important;
  color: var(--vivo-ink) !important;
  letter-spacing: -.025em !important;
  max-width: 630px !important;
}
#contenido .hero h1 em,
body.vivo-premium .hero h1 em {
  color: var(--vivo-coral) !important;
  font-style: normal !important;
  position: relative !important;
  display: inline-block !important;
}
#contenido .hero h1 em::after,
body.vivo-premium .hero h1 em::after {
  content: '' !important;
  position: absolute !important;
  height: 12px !important;
  left: -2% !important;
  right: 0 !important;
  bottom: 4px !important;
  background: var(--vivo-yellow) !important;
  z-index: -1 !important;
  transform: rotate(-1.5deg) !important;
  border-radius: 99px !important;
}

/* Tira de Certezas Institucionales: fondo ink con contraste perfecto */
#contenido .trust-grid,
body.vivo-premium .trust-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  background: var(--vivo-ink) !important;
  color: #ffffff !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 12px 30px rgba(7, 59, 84, 0.12) !important;
  overflow: hidden !important;
}
#contenido .trust-item,
body.vivo-premium .trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 20px 22px !important;
  border: 0 !important;
  background: transparent !important;
}
#contenido .trust-item + .trust-item {
  border-left: 1px solid rgba(255, 255, 255, 0.14) !important;
}
#contenido .trust-item strong {
  display: block !important;
  font-family: 'Bree Serif', Georgia, serif !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
}
#contenido .trust-item span {
  display: block !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
  color: #d6ecf1 !important;
  font-weight: 500 !important;
  margin-top: 3px !important;
}
#contenido .trust-badge-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--vivo-yellow) !important;
  flex: 0 0 28px !important;
}

/* Mosaico fotográfico limpio: sin degradé oscuro que tape a los chicos */
#contenido .mosaic-caption,
body.vivo-premium .mosaic-caption {
  position: absolute !important;
  inset: auto 12px 12px !important;
  padding: 8px 14px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(8px) !important;
  border-radius: 12px !important;
  border: 1px solid rgba(7, 59, 84, 0.1) !important;
  box-shadow: 0 4px 14px rgba(7, 59, 84, 0.12) !important;
  text-align: center !important;
}
#contenido .mosaic-caption .mosaic-tag {
  display: inline-block !important;
  color: #065f75 !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  margin-bottom: 2px !important;
}
#contenido .mosaic-caption h3 {
  font-family: 'Bree Serif', Georgia, serif !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  color: var(--vivo-ink) !important;
  margin: 0 !important;
}

/* Patio limpio: eliminar bloque oscuro que tapa la imagen */
#contenido .hero-photo-main figcaption,
body.vivo-premium .hero-photo-main figcaption {
  position: absolute !important;
  top: auto !important;
  right: auto !important;
  bottom: 16px !important;
  left: 16px !important;
  max-width: 230px !important;
  width: auto !important;
  height: auto !important;
  padding: 8px 14px !important;
  font-family: 'Editorial Manrope', Manrope, Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: var(--vivo-ink) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(10px) !important;
  border-radius: 12px !important;
  border: 1px solid rgba(7, 59, 84, 0.12) !important;
  box-shadow: 0 4px 14px rgba(7, 59, 84, 0.12) !important;
  transform: none !important;
  z-index: 3 !important;
}

/* Foto de los chicos vertical, estética y en escala natural */
#contenido .final-photo-editorial,
body.vivo-premium .final-photo-editorial {
  display: block !important;
  width: 100% !important;
  max-width: 310px !important;
  height: auto !important;
  margin: 28px auto 0 !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35) !important;
  overflow: hidden !important;
}

#contenido .final-photo-editorial img,
body.vivo-premium .final-photo-editorial img {
  display: block !important;
  width: 100% !important;
  max-width: 310px !important;
  height: auto !important;
  max-height: 410px !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: cover !important;
  object-position: center 25% !important;
  border-radius: 22px !important;
  border: 5px solid rgba(255, 255, 255, 0.95) !important;
  mask: none !important;
  -webkit-mask: none !important;
}

/* Eliminar fondo azul oscuro en FAQ y dejarlo limpio sobre papel marfil */
#contenido .faq-section,
body.vivo-premium .faq-section {
  background: transparent !important;
  color: var(--vivo-ink) !important;
}
#contenido .faq-intro .eyebrow {
  color: #065f75 !important;
  font-weight: 800 !important;
}
#contenido .faq-intro h2 {
  color: var(--vivo-ink) !important;
}
#contenido .faq-intro .section-sub {
  color: #173f4e !important;
  font-weight: 500 !important;
}
#contenido .accordion details {
  border-color: #b3d7de !important;
}
#contenido .accordion summary {
  color: var(--vivo-ink) !important;
  font-weight: 800 !important;
}
#contenido .accordion details p {
  color: #1a3f4e !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}
#contenido .faq-cta,
body.vivo-premium .faq-cta {
  background: var(--vivo-green) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 0 #105232, 0 8px 18px rgba(23, 110, 68, 0.25) !important;
  border: 0 !important;
}
#contenido .faq-cta:hover {
  background: #125b37 !important;
  color: #ffffff !important;
}

/* Contraste en bloques oscuros (Historias y Cierre Final) */
#contenido .final-cta-card,
body.vivo-premium .final-cta-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  gap: 16px !important;
}
#contenido .final-cta-card h2 {
  font-size: clamp(2.6rem, 4.3vw, 4.3rem) !important;
  line-height: 1.05 !important;
  color: #ffffff !important;
}
#contenido .final-cta .final-eyebrow,
body.vivo-premium .final-eyebrow {
  color: #79d4e4 !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}
#contenido .final-lead,
body.vivo-premium .final-lead {
  color: #e8f7fa !important;
  font-size: 17px !important;
  line-height: 1.62 !important;
  font-weight: 500 !important;
  max-width: 620px !important;
}
#contenido .final-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 6px !important;
}
#contenido .final-micro,
body.vivo-premium .final-micro {
  color: #ccecf2 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
}

/* Tipografía y Contraste General en bloques claros */
#contenido .site-header .nav a {
  color: var(--vivo-ink) !important;
  font-weight: 800 !important;
}
#contenido .site-header .nav a:hover {
  color: var(--vivo-green) !important;
}
#contenido .hero-lead,
body.vivo-premium .hero-lead {
  color: #173d4c !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
}
#contenido .hero-lead strong {
  color: var(--vivo-ink) !important;
  font-weight: 800 !important;
}
#contenido .hero .microcopy {
  color: #1a4352 !important;
  font-weight: 600 !important;
}
#contenido .trust-item strong {
  color: #ffffff !important;
  font-size: 21px !important;
}
#contenido .trust-item span {
  color: #d6ecf1 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
#contenido .section-sub,
.vivo-premium .section-sub {
  color: #173d4c !important;
  font-weight: 500 !important;
}
#contenido .review-card > p,
.vivo-premium .review-card > p {
  color: #0d2f3d !important;
  font-size: 18.5px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}
#contenido .review-card strong {
  color: var(--vivo-ink) !important;
  font-weight: 800 !important;
}
#contenido .review-card small {
  color: #264e5d !important;
  font-weight: 600 !important;
}
#contenido .location-description {
  color: #194050 !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
}
#contenido .locations-section {
  position: relative !important;
  z-index: 2 !important;
}
#contenido .location-map-link {
  color: #086a82 !important;
  font-weight: 700 !important;
  position: relative !important;
  z-index: 3 !important;
}
#contenido .final-cta::before {
  pointer-events: none !important;
}
.vivo-premium .eyebrow {
  color: #065f75 !important;
  font-weight: 800 !important;
}
.vivo-premium .review-stars {
  color: #b57d00 !important;
}


/* Desktop: hide mobile-only interactive components */
.mosaic-mobile-nav,
.promo-mobile-chips,
.promo-mobile-nav,
.stories-mobile-chips,
.stories-mobile-nav,
.reviews-mobile-strip {
  display: none !important;
}

/* ============================================================
   8. CIERRE DE CONVERSIÓN EMOCIONAL FINAL (Historias + CTA Máximo)
   ============================================================ */

/* Historias Reales: 3 Tarjetas Editoriales Premium */
#contenido .stories-section {
  background: linear-gradient(180deg, #073b54 0%, #04293a 100%) !important;
  padding: 68px 0 60px !important;
  position: relative !important;
}
#contenido .stories-section .section-intro h2,
#contenido .stories-section h2 {
  color: #ffffff !important;
  font-family: 'Bree Serif', Georgia, serif !important;
  font-size: clamp(2.3rem, 4vw, 3.8rem) !important;
  line-height: 1.1 !important;
}
#contenido .stories-section .section-sub {
  color: #d6ecf1 !important;
  font-size: 16.5px !important;
  line-height: 1.6 !important;
}
#contenido .stories-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin: 36px 0 0 !important;
}
#contenido .story-card,
#contenido .story-card:nth-child(n + 2) {
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 26px 24px 22px !important;
  box-shadow: 0 14px 34px rgba(4, 38, 51, 0.16) !important;
  border: 1px solid rgba(214, 236, 241, 0.75) !important;
  position: relative !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
#contenido .story-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 44px rgba(4, 38, 51, 0.24) !important;
}
#contenido .story-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #edf5f7 !important;
}
#contenido .story-person-info {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
#contenido .story-avatar {
  display: flex !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: #e0f2f5 !important;
  color: #073b54 !important;
  font-weight: 800 !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
}
#contenido .story-person-info strong {
  display: block !important;
  font-size: 16px !important;
  color: var(--vivo-ink) !important;
  font-weight: 800 !important;
}
#contenido .story-person-info small {
  display: block !important;
  font-size: 12px !important;
  color: #4a6c79 !important;
  font-weight: 600 !important;
}
#contenido .story-stars {
  color: #d49b42 !important;
  font-size: 15px !important;
  letter-spacing: 2px !important;
}
#contenido .story-narrative {
  display: flex !important;
  flex-direction: column !important;
  gap: 11px !important;
  flex-grow: 1 !important;
}
#contenido .story-moment {
  padding: 10px 14px !important;
  border-radius: 12px !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}
#contenido .story-moment p {
  margin: 0 !important;
  font-style: normal !important;
}
#contenido .story-moment--doubt {
  background: #fbfcfd !important;
  color: #45626e !important;
  border-left: 3px solid #9dc0cb !important;
}
#contenido .story-moment--care {
  background: #f1f8fa !important;
  color: #09374c !important;
  border-left: 3px solid #087eaf !important;
  font-weight: 600 !important;
}
#contenido .story-moment--happy {
  background: #edf7f2 !important;
  color: #0d512e !important;
  border-left: 3px solid #1fa35c !important;
  font-weight: 700 !important;
}
#contenido .story-phase-tag {
  display: block !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
  opacity: 0.85 !important;
}
#contenido .story-footer {
  margin-top: 16px !important;
  padding-top: 12px !important;
  border-top: 1px dashed #deedf1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
#contenido .story-tag {
  color: #156d3e !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

/* Cierre Emocional Final: Headline Protagonista y CTA de Máxima Jerarquía */
#contenido .final-cta {
  background: linear-gradient(180deg, #073b54 0%, #03212f 100%) !important;
  padding: 76px 0 68px !important;
}
#contenido .final-cta-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  max-width: 820px !important;
  margin: 0 auto !important;
}
#contenido .final-cta-card .final-eyebrow {
  color: #72d2e3 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
}
#contenido .final-cta-card h2 {
  font-family: 'Bree Serif', Georgia, serif !important;
  font-size: clamp(34px, 4.8vw, 56px) !important;
  color: #ffffff !important;
  line-height: 1.08 !important;
  margin: 0 0 18px !important;
  text-wrap: balance !important;
}
#contenido .final-cta-card .final-lead {
  font-size: clamp(16px, 1.8vw, 20px) !important;
  line-height: 1.62 !important;
  color: #d6ecf2 !important;
  max-width: 660px !important;
  margin: 0 0 28px !important;
}
#contenido .final-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}
#contenido .final-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 64px !important;
  padding: 18px 44px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, #24a15f 0%, #136a3b 100%) !important;
  color: #ffffff !important;
  border: 2px solid rgba(255, 255, 255, 0.45) !important;
  box-shadow: 0 6px 0 #0c3e22, 0 16px 36px rgba(19, 106, 59, 0.48), 0 0 0 6px rgba(255, 255, 255, 0.16) !important;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1), filter 0.22s ease !important;
}
#contenido .final-btn:hover {
  transform: translateY(-4px) scale(1.02) !important;
  box-shadow: 0 8px 0 #0c3e22, 0 22px 46px rgba(19, 106, 59, 0.6), 0 0 0 8px rgba(255, 255, 255, 0.25) !important;
}
#contenido .final-btn:active {
  transform: translateY(2px) scale(0.99) !important;
  box-shadow: 0 2px 0 #0c3e22, 0 6px 16px rgba(19, 106, 59, 0.35) !important;
}
#contenido .final-micro {
  color: #c7ebf2 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin-top: 14px !important;
}
#contenido .final-photo-editorial {
  margin: 32px auto 0 !important;
  max-width: 320px !important;
}

/* ============================================================
   MOBILE ART DIRECTION V2 (390px / Mobile First)
   Boutique Preschool + Editorial Contemporánea
   ============================================================ */
@media (max-width: 767px) {
  /* ── SECTION REORDER: Flex container + order ── */
  #contenido {
    display: flex !important;
    flex-direction: column !important;
  }
  #contenido > .editorial-route { order: 0 !important; }
  #contenido > .hero { order: 1 !important; }
  #contenido > .trust { order: 2 !important; }
  #contenido > .experience-mosaic { order: 3 !important; }
  #contenido > .promo-section { order: 4 !important; }
  #contenido > .director-section { order: 5 !important; }
  #contenido > .learning-chapters { order: 6 !important; }
  #contenido > .stories-section { order: 7 !important; }
  #contenido > .reviews-section { order: 99 !important; display: none !important; }
  #contenido > .locations-section { order: 8 !important; }
  #contenido > .faq-section { order: 99 !important; display: none !important; }
  #contenido > .final-cta { order: 9 !important; }

  /* ── Reviews inline strip (inside Historias, mobile only) ── */
  .reviews-inline-strip {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    margin: 14px 0 4px !important;
  }
  .reviews-inline-strip .reviews-strip-header {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px 8px !important;
    font-size: 13px !important;
    color: #ffffff !important;
  }
  .reviews-inline-strip .reviews-strip-stars {
    color: #f7d568 !important;
    font-size: 14px !important;
    letter-spacing: 2px !important;
  }
  .reviews-inline-strip .reviews-strip-header strong {
    font-weight: 800 !important;
    color: #ffffff !important;
  }
  .reviews-inline-strip .reviews-strip-badge {
    font-size: 10.5px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    color: #c0e8f0 !important;
    padding: 2px 8px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
  }
  .reviews-inline-strip .reviews-strip-quote {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #d6ecf2 !important;
    font-style: italic !important;
  }
  .reviews-inline-strip .reviews-strip-quote p {
    margin: 0 0 4px !important;
  }
  .reviews-inline-strip .reviews-strip-quote cite {
    display: block !important;
    font-size: 11.5px !important;
    color: #9cc8d4 !important;
    font-style: normal !important;
    font-weight: 600 !important;
  }

  /* Hide old mobile strip in Reviews section */
  .reviews-mobile-strip {
    display: none !important;
  }

  /* Reveal elements visible immediately without delay */
  #contenido .reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  /* 0. Mobile Typography & Global Cadence */
  body.vivo-premium {
    font-size: 16.5px !important;
    line-height: 1.48 !important;
  }
  #contenido .section-space {
    padding: 24px 0 20px !important;
  }
  #contenido .section-shell {
    padding: 0 16px !important;
  }
  #contenido .eyebrow {
    font-size: 11.5px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
  }
  #contenido h2 {
    font-size: clamp(28px, 7.8vw, 36px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.015em !important;
    margin: 0 0 8px !important;
  }
  #contenido .section-sub {
    font-size: 15px !important;
    line-height: 1.45 !important;
    color: #3b5b68 !important;
    margin-bottom: 16px !important;
    max-width: 38ch !important;
  }

  /* 1. HERO REFINADO: 1 idea emocional, proporción armónica */
  #contenido .hero {
    padding: 12px 0 16px !important;
  }
  #contenido .hero h1 {
    font-size: clamp(38px, 9.8vw, 46px) !important;
    line-height: 1.07 !important;
    letter-spacing: -0.02em !important;
    margin: 6px 0 12px !important;
  }
  #contenido .hero-lead {
    font-size: 17px !important;
    line-height: 1.45 !important;
    color: #2c4e5b !important;
    margin-bottom: 16px !important;
    max-width: 36ch !important;
  }
  #contenido .hero-actions {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
  #contenido .hero-btn {
    width: 100% !important;
    min-height: 54px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    padding: 14px 20px !important;
    border-radius: 20px !important;
    justify-content: center !important;
    text-align: center !important;
    box-shadow: 0 4px 14px rgba(23, 110, 68, 0.32) !important;
  }
  #contenido .hero-actions .microcopy {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    color: #557784 !important;
    text-align: center !important;
    margin: 0 !important;
  }
  #contenido .hero-photo-main {
    margin: 16px auto 0 !important;
    max-width: 350px !important;
    aspect-ratio: 16/11 !important;
    max-height: 245px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 28px rgba(4, 38, 51, 0.16) !important;
    position: relative !important;
  }
  #contenido .hero-photo-main img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 75% !important;
    border-radius: 22px !important;
  }
  #contenido .hero-photo-main figcaption {
    display: none !important;
  }
  #contenido .hero-badge-top {
    top: 10px !important;
    left: 10px !important;
    font-size: 11px !important;
    padding: 5px 10px !important;
    border-radius: 12px !important;
    backdrop-filter: blur(8px) !important;
    background: rgba(255, 255, 255, 0.9) !important;
  }
  #contenido .hero-badge-bottom {
    bottom: 10px !important;
    right: 10px !important;
    font-size: 11px !important;
    padding: 5px 10px !important;
    border-radius: 12px !important;
    backdrop-filter: blur(8px) !important;
    background: rgba(255, 255, 255, 0.9) !important;
  }

  /* 2. FRANJA DE CONFIANZA: Grid 2x2 de 180-230px */
  #contenido .trust {
    padding: 4px 0 12px !important;
    background: transparent !important;
    border: 0 !important;
  }
  #contenido .trust-grid,
  body.vivo-premium .trust-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin: 4px 0 14px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }
  #contenido .trust-item,
  body.vivo-premium .trust-item {
    background: #ffffff !important;
    padding: 12px 10px 12px 12px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(198, 224, 230, 0.8) !important;
    box-shadow: 0 4px 14px rgba(4, 38, 51, 0.05) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-height: 100px !important;
    height: auto !important;
    gap: 4px !important;
    overflow: visible !important;
  }
  #contenido .trust-badge-icon {
    display: flex !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    border-radius: 6px !important;
    background: #eaf5f8 !important;
    color: #087eaf !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 2px !important;
  }
  #contenido .trust-badge-icon svg {
    width: 14px !important;
    height: 14px !important;
  }
  #contenido .trust-badge-green {
    background: #e9f6ef !important;
    color: #177844 !important;
  }
  #contenido .trust-item strong {
    font-size: 16.5px !important;
    font-weight: 800 !important;
    color: #073b54 !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }
  #contenido .trust-item span {
    font-size: 11.5px !important;
    line-height: 1.28 !important;
    color: #436371 !important;
    margin: 0 !important;
  }

  /* 3. EXPERIENCIA COTIDIANA: 1 Protagonista + Swipe Peek */
  #contenido .experience-mosaic {
    padding: 22px 0 18px !important;
    overflow: hidden !important;
  }
  #contenido .experience-mosaic .section-intro {
    margin-bottom: 14px !important;
  }
  #contenido .experience-mosaic h2 {
    font-size: 30px !important;
    line-height: 1.12 !important;
  }
  #contenido .mosaic-grid {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 14px !important;
    padding: 4px 16px 12px !important;
    margin: 0 -16px !important;
    scrollbar-width: none !important;
  }
  #contenido .mosaic-grid::-webkit-scrollbar {
    display: none !important;
  }
  #contenido .mosaic-card {
    flex: 0 0 82vw !important;
    max-width: 320px !important;
    scroll-snap-align: center !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    aspect-ratio: 4/5 !important;
    max-height: 360px !important;
    box-shadow: 0 10px 28px rgba(4, 38, 51, 0.14) !important;
    position: relative !important;
    margin: 0 !important;
  }
  #contenido .mosaic-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 22px !important;
  }
  #contenido .mosaic-caption {
    position: absolute !important;
    inset: auto 0 0 0 !important;
    background: linear-gradient(180deg, transparent 0%, rgba(4, 38, 51, 0.9) 45%, rgba(4, 38, 51, 0.98) 100%) !important;
    padding: 24px 16px 14px !important;
  }
  #contenido .mosaic-tag {
    font-size: 10.5px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #f7d568 !important;
    margin-bottom: 4px !important;
    display: block !important;
  }
  #contenido .mosaic-caption h3 {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #ffffff !important;
    margin: 0 !important;
  }
  .mosaic-mobile-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 6px !important;
  }
  .mosaic-hint {
    font-size: 11px !important;
    color: #517380 !important;
    font-weight: 600 !important;
  }
  .mosaic-dots {
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
  }
  .mosaic-dot {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #c5dfe5 !important;
    transition: all 0.25s ease !important;
  }
  .mosaic-dot.is-active {
    width: 18px !important;
    border-radius: 3px !important;
    background: #087eaf !important;
  }

  /* 4. ROSANA: Retrato + Frase + Acordeón opcional (1.1–1.2 viewports) */
  #contenido .director-section {
    padding: 22px 0 18px !important;
  }
  #contenido .director-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding: 20px 16px !important;
    border-radius: 24px !important;
    background: linear-gradient(165deg, #ffffff 0%, #f6fbfc 100%) !important;
    border: 1.5px solid rgba(194, 222, 229, 0.8) !important;
    box-shadow: 0 10px 30px rgba(4, 38, 51, 0.08) !important;
  }
  #contenido .director-photo {
    width: 110px !important;
    height: 140px !important;
    margin: 0 auto !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 20px rgba(4, 38, 51, 0.14) !important;
    border: 3px solid #ffffff !important;
  }
  #contenido .director-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
  }
  #contenido .director-letter {
    text-align: center !important;
  }
  #contenido .director-letter .eyebrow {
    font-size: 11.5px !important;
    font-weight: 800 !important;
    color: #087eaf !important;
    margin-bottom: 4px !important;
  }
  #contenido .director-letter h2 {
    font-size: 22px !important;
    line-height: 1.2 !important;
    color: #073b54 !important;
    margin: 0 0 10px !important;
    text-wrap: balance !important;
  }
  #contenido .letter-details {
    margin: 8px 0 !important;
    border: 1px dashed #b9dce3 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    text-align: left !important;
  }
  #contenido .letter-details summary {
    padding: 9px 14px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #087eaf !important;
    cursor: pointer !important;
  }
  #contenido .letter-details .letter-body {
    padding: 10px 14px 14px !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    color: #3b5a67 !important;
    border-top: 1px solid #edf4f6 !important;
  }
  #contenido .director-signature-block {
    margin: 6px 0 12px !important;
    text-align: center !important;
  }
  #contenido .signature-name {
    font-family: 'Bree Serif', Georgia, serif !important;
    font-size: 19px !important;
    color: #073b54 !important;
    margin: 0 !important;
  }
  #contenido .signature-role {
    font-size: 12px !important;
    color: #587986 !important;
    margin: 2px 0 0 !important;
  }
  #contenido .director-cta .button {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    justify-content: center !important;
    border-radius: 16px !important;
  }

  /* 5. PROPUESTA PEDAGÓGICA: 3 Filas Editoriales Compactas */
  #contenido .learning-chapters {
    padding: 14px 0 18px !important;
  }
  #contenido .chapter {
    border-radius: 18px !important;
    margin: 8px 0 !important;
    border: 1.5px solid #c9e4eb !important;
    background: #ffffff !important;
    box-shadow: 0 4px 14px rgba(4, 38, 51, 0.04) !important;
  }
  #contenido .chapter-summary {
    padding: 13px 16px !important;
    display: grid !important;
    grid-template-columns: 32px 1fr 30px !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer !important;
    list-style: none !important;
  }
  #contenido .chapter-summary::-webkit-details-marker {
    display: none !important;
  }
  #contenido .chapter-number {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #087eaf !important;
    background: #e3f4f7 !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #contenido .chapter-heading .eyebrow {
    font-size: 10.5px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: #507785 !important;
    margin: 0 0 2px !important;
    display: block !important;
  }
  #contenido .chapter-title {
    font-size: 16.5px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #062b3b !important;
    margin: 0 !important;
  }
  #contenido .chapter-intro {
    display: none !important;
  }
  #contenido .chapter-toggle {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    border-radius: 50% !important;
    background: #eef6f8 !important;
    border: 1.5px solid #bce1ea !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #087eaf !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    position: relative !important;
    align-self: center !important;
    justify-self: end !important;
    margin: 0 !important;
    transition: transform 0.25s ease, background-color 0.25s ease !important;
  }
  #contenido .chapter-toggle::before {
    display: none !important;
  }
  #contenido .chapter-toggle::after {
    content: "+" !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    display: block !important;
    line-height: 1 !important;
    transform: none !important;
    font-size: 20px !important;
    color: #087eaf !important;
  }
  #contenido .chapter[open] .chapter-toggle {
    transform: rotate(45deg) !important;
    background: #d4eef5 !important;
  }
  #contenido .chapter-content {
    padding: 8px 16px 20px !important;
    border-top: 1px solid #edf5f7 !important;
  }

  /* 6. PROMOCIONES: Sala 2 Protagonista + Tabs/Chips + Swipe */
  #contenido .promo-section {
    padding: 24px 0 20px !important;
  }
  #contenido .promo-title {
    font-size: 26px !important;
    line-height: 1.15 !important;
  }
  #contenido .promo-lead {
    font-size: 15px !important;
    line-height: 1.45 !important;
    margin-bottom: 14px !important;
  }
  .promo-mobile-chips {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 auto 16px !important;
    padding: 4px !important;
    background: #edf5f8 !important;
    border-radius: 24px !important;
    max-width: 350px !important;
    border: 1px solid #c9e3eb !important;
  }
  .promo-chip {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 8px 4px !important;
    border-radius: 18px !important;
    background: transparent !important;
    border: 0 !important;
    color: #456977 !important;
    font-family: inherit !important;
    cursor: pointer !important;
    transition: all 0.22s ease !important;
  }
  .promo-chip.is-active {
    background: #ffffff !important;
    color: #073b54 !important;
    box-shadow: 0 4px 12px rgba(4, 38, 51, 0.12) !important;
  }
  .promo-chip-name {
    font-size: 13px !important;
    font-weight: 800 !important;
  }
  .promo-chip-discount {
    font-size: 10px !important;
    font-weight: 800 !important;
    color: #167a42 !important;
  }
  #contenido .promo-cards-grid {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 14px !important;
    padding: 4px 16px 14px !important;
    margin: 0 -16px !important;
    scrollbar-width: none !important;
  }
  #contenido .promo-cards-grid::-webkit-scrollbar {
    display: none !important;
  }
  #contenido .promo-card {
    flex: 0 0 calc(100vw - 44px) !important;
    max-width: 350px !important;
    scroll-snap-align: center !important;
    border-radius: 24px !important;
    margin: 0 !important;
    box-shadow: 0 10px 30px rgba(4, 38, 51, 0.12) !important;
  }
  .promo-mobile-nav {
    display: flex !important;
    justify-content: center !important;
    margin-top: 8px !important;
  }
  .promo-dots {
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
  }
  .promo-dot {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #c5dfe5 !important;
    transition: all 0.25s ease !important;
  }
  .promo-dot.is-active {
    width: 18px !important;
    border-radius: 3px !important;
    background: #087eaf !important;
  }
  .promo-footer-note {
    font-size: 11.5px !important;
    margin-top: 10px !important;
    color: #557784 !important;
    opacity: 0.9 !important;
    text-align: center !important;
  }

  /* 7. ADAPTACIÓN + TESTIMONIOS: 1 historia completa por vez en swipe */
  #contenido .stories-section {
    padding: 26px 0 22px !important;
  }
  #contenido .stories-section h2 {
    font-size: 26px !important;
    line-height: 1.15 !important;
  }
  #contenido .stories-section .section-sub {
    font-size: 14.5px !important;
    margin-bottom: 14px !important;
  }
  .stories-mobile-chips {
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
    margin: 0 auto 14px !important;
    padding: 4px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border-radius: 20px !important;
    max-width: 350px !important;
  }
  .story-chip {
    flex: 1 !important;
    padding: 7px 4px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #d6ecf2 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 16px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    font-family: inherit !important;
  }
  .story-chip.is-active {
    background: #ffffff !important;
    color: #073b54 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
  }
  #contenido .stories-grid {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 14px !important;
    padding: 4px 16px 14px !important;
    margin: 0 -16px !important;
    scrollbar-width: none !important;
  }
  #contenido .stories-grid::-webkit-scrollbar {
    display: none !important;
  }
  #contenido .story-card,
  #contenido .story-card:nth-child(n + 2) {
    flex: 0 0 calc(100vw - 44px) !important;
    max-width: 350px !important;
    scroll-snap-align: center !important;
    border-radius: 22px !important;
    margin: 0 !important;
    padding: 20px 18px 16px !important;
  }
  .stories-mobile-nav {
    display: flex !important;
    justify-content: center !important;
    margin-top: 8px !important;
  }
  .stories-dots {
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
  }
  .story-dot {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.3) !important;
    transition: all 0.25s ease !important;
  }
  .story-dot.is-active {
    width: 18px !important;
    border-radius: 3px !important;
    background: #ffffff !important;
  }
  #contenido .stories-section .section-action {
    margin-top: 14px !important;
  }
  #contenido .stories-section .button {
    width: 100% !important;
    min-height: 50px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    justify-content: center !important;
    border-radius: 18px !important;
  }

  /* 8. GOOGLE REVIEWS: Now hidden on mobile (integrated into Historias via .reviews-inline-strip) */

  /* 9. SEDES: 2 Fichas Compactas con Mapa y WhatsApp */
  #contenido .locations-section {
    padding: 22px 0 18px !important;
  }
  #contenido .locations-section h2 {
    font-size: 26px !important;
    line-height: 1.15 !important;
  }
  #contenido .locations-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 14px !important;
  }
  #contenido .location-card {
    padding: 16px 14px !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    border: 1.5px solid #c9e4eb !important;
    box-shadow: 0 4px 14px rgba(4, 38, 51, 0.05) !important;
  }
  .location-card-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 6px !important;
  }
  .location-tag {
    font-size: 10.5px !important;
    text-transform: uppercase !important;
    color: #597d8c !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    display: block !important;
  }
  .location-card-header h3 {
    font-size: 18px !important;
    color: #073b54 !important;
    font-weight: 800 !important;
    margin: 0 !important;
  }
  .location-description {
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #40606d !important;
    margin: 4px 0 12px !important;
  }
  .location-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .location-map-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    padding: 10px 8px !important;
    border-radius: 14px !important;
    border: 1px solid #b8dce4 !important;
    color: #087eaf !important;
    background: #f0f8fa !important;
    text-align: center !important;
  }
  .location-actions .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    padding: 10px 8px !important;
    border-radius: 14px !important;
    text-align: center !important;
    background: #167a42 !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: 0 3px 10px rgba(22, 122, 66, 0.28) !important;
  }

  /* 10. FAQ: Compacto */
  #contenido .faq-section {
    padding: 22px 0 18px !important;
  }
  #contenido .faq-intro h2 {
    font-size: 26px !important;
    line-height: 1.15 !important;
  }
  #contenido .faq-intro .section-sub {
    font-size: 14.5px !important;
    margin-bottom: 14px !important;
  }
  #contenido .faq-cta {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 14.5px !important;
    font-weight: 800 !important;
    justify-content: center !important;
    border-radius: 16px !important;
  }
  #contenido .accordion details {
    margin: 6px 0 !important;
    border-radius: 14px !important;
  }
  #contenido .accordion summary {
    padding: 12px 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  /* 11. CIERRE FINAL: Clímax emocional (1–1.3 viewports) */
  #contenido .final-cta {
    padding: 34px 0 28px !important;
  }
  #contenido .final-cta-card h2 {
    font-size: 30px !important;
    line-height: 1.1 !important;
    margin: 0 0 10px !important;
    color: #ffffff !important;
  }
  #contenido .final-cta-card .final-lead {
    font-size: 15.5px !important;
    line-height: 1.45 !important;
    color: #d6ecf2 !important;
    margin: 0 auto 16px !important;
    max-width: 34ch !important;
  }
  #contenido .final-btn {
    width: 100% !important;
    min-height: 56px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    padding: 15px 20px !important;
    border-radius: 20px !important;
    justify-content: center !important;
    text-align: center !important;
  }
  #contenido .final-micro {
    font-size: 12px !important;
    color: #c0e5ee !important;
    margin-top: 10px !important;
  }
  #contenido .final-photo-editorial {
    max-width: 250px !important;
    margin: 16px auto 0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    border: 3px solid rgba(255, 255, 255, 0.4) !important;
    aspect-ratio: 4/3 !important;
    max-height: 180px !important;
  }
  #contenido .final-photo-editorial img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 30% !important;
  }

  /* 12. STICKY CTA: Barra/Pill 54px con safe-area iOS */
  body.vivo-premium .whatsapp-mobile-bar {
    position: fixed !important;
    left: 16px !important;
    right: 16px !important;
    bottom: max(14px, env(safe-area-inset-bottom, 14px)) !important;
    width: auto !important;
    height: 54px !important;
    min-height: 54px !important;
    border-radius: 27px !important;
    background: linear-gradient(135deg, #1fa35c 0%, #136a3b 100%) !important;
    color: #ffffff !important;
    border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
    box-shadow: 0 4px 18px rgba(18, 91, 55, 0.38), 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 99 !important;
    transition: opacity 0.28s ease, transform 0.28s ease !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(16px) !important;
  }
  body.vivo-premium .whatsapp-mobile-bar.vivo-ready {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  body.vivo-premium .whatsapp-mobile-bar.is-collision-hidden {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(16px) !important;
  }

  /* Header mobile nav */
  body.vivo-premium .menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 9px !important;
    border: 1px solid #b9dce1 !important;
    border-radius: 50% !important;
    background: #fff !important;
    position: relative !important;
    z-index: 7 !important;
  }
  body.vivo-premium .menu-toggle span:not(.sr-only) {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background: var(--vivo-ink) !important;
    border-radius: 2px !important;
  }
  body.vivo-premium .nav {
    display: none !important;
  }
  body.vivo-premium .nav.is-open {
    display: flex !important;
    position: absolute !important;
    top: 66px !important;
    left: 20px !important;
    right: 20px !important;
    z-index: 6 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    padding: 16px !important;
    background: #fff !important;
    border-radius: 18px !important;
    box-shadow: var(--vivo-shadow) !important;
  }
  body.vivo-premium .nav.is-open a {
    display: block !important;
    padding: 11px 8px !important;
    color: var(--vivo-ink) !important;
  }
  body.vivo-premium .nav.is-open .nav-cta {
    display: flex !important;
    justify-content: center !important;
    color: #fff !important;
    background: var(--vivo-green) !important;
    border-radius: 12px !important;
  }
}




