/* Tipografía unificada con el resto del sitio (agosto 2026).
   Antes: fuente propia "Google Font Webble" incrustada aquí en base64 (157 KB)
   para el cuerpo, y Poppins heredado de Astra para los titulares. Ahora los
   casos usan la misma fuente que toda la web y la @font-face duplicada se ha
   eliminado: el archivo pasa de 203 KB a 45 KB. */
.webble-case{
  --navy:#071022;
  --navy-2:#0d1830;
  --blue:#1a73e8;
  --blue-2:#0f5fc7;
  --blue-soft:#eaf2ff;
  --ink:#0a0e16;
  --muted:#687386;
  --line:#e4e9f0;
  --soft:#f5f7fa;
  --green:#16a36a;
  --green-soft:#e7f8ef;
  --white:#fff;
  --shadow:0 22px 70px rgba(27,52,88,.11);
}

body .elementor-location-header,
body [data-elementor-type="header"],
body [data-elementor-type="popup"][data-elementor-id="6071"],
body .elementor-popup-modal[data-elementor-id="6071"],
body .elementor-location-popup[data-elementor-id="6071"],
body .elementor-element-6071,
body .elementor-element[data-id="6071"],
body [class*="elementor-6071"],
body [id*="elementor-popup-modal-6071"]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

.webble-case *{box-sizing:border-box}
.webble-case{scroll-behavior:smooth}
.webble-case{margin:0;background:#fff;color:var(--ink);font-family:"Google Font",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-weight:400;font-synthesis:none;-webkit-font-smoothing:antialiased}
.webble-case a{color:inherit}
.webble-case .wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}
.webble-case .skip-link{position:fixed;left:-9999px;top:12px;z-index:1000;background:#fff;padding:12px 16px;border-radius:8px}.webble-case .skip-link:focus{left:12px}

.webble-case .site-header{height:70px;background:rgba(7,16,34,.97);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}
.webble-case .header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.webble-case .brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-size:23px;font-weight:760;letter-spacing:-.045em}
.webble-case .brand-mark{width:29px;height:29px;border:2px solid #fff;border-radius:50%;position:relative;display:inline-block}
.webble-case .brand-mark:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--blue);right:-5px;bottom:-3px;border:3px solid var(--navy)}
.webble-case .main-nav{display:flex;align-items:center;gap:27px}.webble-case .main-nav a{text-decoration:none;color:#b1bbca;font-size:13px}.webble-case .main-nav a:hover{color:#fff}.webble-case .main-nav .header-cta{background:#fff;color:var(--navy);padding:11px 16px;border-radius:9px;font-weight:700}

.webble-case .hero{padding:42px 0 75px;background:radial-gradient(circle at 86% 22%,rgba(26,115,232,.17),transparent 28%),linear-gradient(180deg,#edf4ff 0%,#fff 94%);overflow:hidden}
.webble-case .breadcrumbs{display:flex;gap:8px;align-items:center;font-size:12px;color:#8490a2;margin-bottom:42px}.webble-case .breadcrumbs a{text-decoration:none}.webble-case .breadcrumbs a:hover{color:var(--blue)}.webble-case .breadcrumbs span:last-child{color:var(--ink)}
.webble-case .hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);gap:65px;align-items:center}
.webble-case .eyebrow,.webble-case .tag{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:var(--blue-soft);color:var(--blue);padding:9px 14px;font-size:11px;font-weight:780;letter-spacing:.105em;text-transform:uppercase}
.webble-case .eyebrow{background:#fff;border:1px solid #cbdcf6;margin-bottom:23px;box-shadow:0 6px 24px rgba(26,115,232,.07)}
.webble-case .eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px rgba(26,115,232,.1)}
.webble-case h1{font-size:clamp(45px,5vw,67px);line-height:1.035;letter-spacing:-.055em;margin:0 0 24px;font-weight:680;max-width:790px}.webble-case h1 em{font-style:normal;color:var(--blue)}
.webble-case .hero-lead{margin:0;color:var(--muted);font-size:19px;line-height:1.66;max-width:730px}
.webble-case .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}.webble-case .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;border:1px solid transparent;border-radius:11px;padding:15px 22px;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s}.webble-case .btn:hover{transform:translateY(-2px)}.webble-case .btn-primary{background:var(--blue);color:#fff;box-shadow:0 13px 27px rgba(26,115,232,.22)}.webble-case .btn-secondary{background:#fff;color:var(--blue);border-color:#bdd1ee}
.webble-case .hero-micro{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;color:#768297;font-size:12px}.webble-case .hero-micro span:before{content:"✓";color:var(--green);font-weight:850;margin-right:6px}

.webble-case .hero-case{height:480px;border-radius:27px;overflow:hidden;position:relative;background:#dce8f9;box-shadow:var(--shadow)}
.webble-case .case-image{position:absolute;inset:0;background:url("https://www.webble.es/wp-content/uploads/2026/06/exito-sem-piscinas.webp") center/cover no-repeat;transform:scale(1.01)}
.webble-case .hero-case:after{content:"";position:absolute;inset:36% 0 0;background:linear-gradient(180deg,transparent,var(--navy) 82%)}
.webble-case .case-overlay{position:absolute;z-index:2;left:28px;right:28px;bottom:27px;color:#fff}
.webble-case .client-line{display:flex;align-items:center;gap:13px}.webble-case .client-logo{display:block;flex:0 0 auto;width:52px;height:52px;border-radius:13px;background-color:#08a9ee;background-image:url("https://www.webble.es/wp-content/uploads/2026/07/logo-resena-piscinas.webp");background-position:center;background-size:124%;background-repeat:no-repeat;border:1px solid rgba(82,183,241,.42);overflow:hidden}.webble-case .client-line strong{display:block;font-size:17px}.webble-case .client-line div span{display:block;color:#9eacc0;font-size:12px;margin-top:3px}
.webble-case .case-status{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.16);font-size:12px;color:#c4cfdd;display:flex;align-items:center;gap:8px}.webble-case .case-status span{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 5px rgba(74,222,128,.12)}

.webble-case .metric-band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.webble-case .metric-grid{display:grid;grid-template-columns:repeat(4,1fr)}.webble-case .metric{padding:28px 26px;border-right:1px solid var(--line);min-height:130px;display:flex;flex-direction:column;justify-content:center}.webble-case .metric:last-child{border-right:0}.webble-case .metric strong{font-size:31px;letter-spacing:-.04em;color:var(--blue);line-height:1}.webble-case .metric span{font-size:12px;line-height:1.5;color:var(--muted);margin-top:8px;max-width:190px}

.webble-case .section{padding:96px 0}.webble-case .soft{background:var(--soft)}
.webble-case .intro-section{padding:108px 0}.webble-case .intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.webble-case .section-copy{position:sticky;top:120px}.webble-case .section-copy h2,.webble-case .section h2,.webble-case .results h2,.webble-case .conclusion h2,.webble-case .cta h2{font-size:clamp(36px,4.4vw,54px);line-height:1.075;letter-spacing:-.05em;margin:19px 0 0;font-weight:650}.webble-case .section-copy h2 em{font-style:normal;color:var(--blue)}.webble-case .intro-text{border-left:1px solid var(--line);padding-left:52px}.webble-case .intro-text p{font-size:18px;line-height:1.8;color:var(--muted);margin:0 0 21px}.webble-case .intro-text p:first-child{color:var(--ink);font-weight:570;font-size:21px}
.webble-case .section-head{max-width:780px;text-align:center;margin:0 auto 52px}.webble-case .section-head p{color:var(--muted);font-size:17px;line-height:1.7;margin:18px 0 0}

.webble-case .challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.webble-case .challenge-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:29px;position:relative;transition:.23s}.webble-case .challenge-card:hover{transform:translateY(-4px);border-color:#b7d0f2;box-shadow:0 18px 45px rgba(24,76,145,.08)}.webble-case .card-num{position:absolute;right:25px;top:25px;font-size:11px;font-weight:800;color:#a4adba;letter-spacing:.1em}.webble-case .icon-box{width:45px;height:45px;border-radius:13px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;margin-bottom:24px}.webble-case .icon-box svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.webble-case .challenge-card h3{font-size:20px;margin:0 0 10px}.webble-case .challenge-card p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}

.webble-case .system-section{overflow:hidden}.webble-case .system-grid{display:grid;grid-template-columns:1fr .88fr;gap:78px;align-items:center}.webble-case .system-copy h2{font-size:clamp(38px,4.2vw,53px);line-height:1.08;letter-spacing:-.05em;margin:19px 0}.webble-case .system-copy>p{color:var(--muted);font-size:17px;line-height:1.75;margin:0}.webble-case .system-principle{display:flex;gap:14px;align-items:flex-start;margin-top:28px;background:#f4f7fb;border-radius:15px;padding:18px}.webble-case .system-principle>span{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:750}.webble-case .system-principle p{font-size:13px;line-height:1.6;margin:2px 0 0;color:#607086}.webble-case .system-principle strong{color:var(--ink)}
.webble-case .data-flow{background:var(--navy);border-radius:25px;padding:27px;box-shadow:var(--shadow)}.webble-case .flow-item{display:flex;align-items:center;gap:15px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px;color:#fff}.webble-case .flow-item.featured{background:var(--blue);border-color:var(--blue)}.webble-case .flow-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:10px;font-weight:800;letter-spacing:.08em}.webble-case .flow-item strong{display:block;font-size:15px}.webble-case .flow-item small{display:block;color:#9daabc;font-size:11px;margin-top:4px}.webble-case .flow-item.featured small{color:#d9e9ff}.webble-case .flow-arrow{text-align:center;color:#526279;display:block;height:21px;line-height:21px}
.webble-case .model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:55px}.webble-case .model-card{border:1px solid var(--line);border-radius:16px;padding:21px;background:#fff}.webble-case .model-card>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:800;font-size:12px;margin-bottom:16px}.webble-case .model-card strong{font-size:15px}.webble-case .model-card p{font-size:12px;color:var(--muted);line-height:1.55;margin:7px 0 0}

.webble-case .results{padding:104px 0;background:radial-gradient(circle at 8% 20%,rgba(26,115,232,.18),transparent 28%),var(--navy);color:#fff}.webble-case .results-head{max-width:770px;margin-bottom:52px}.webble-case .tag-dark{background:rgba(26,115,232,.16);color:#91bdf6}.webble-case .results-head h2,.webble-case .conclusion h2,.webble-case .cta h2{color:#fff}.webble-case .results-head p{color:#a8b4c5;font-size:17px;line-height:1.7;margin:18px 0 0}.webble-case .results-grid{display:grid;grid-template-columns:1.16fr .84fr;gap:18px}.webble-case .result-main,.webble-case .result-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);border-radius:21px}.webble-case .result-main{padding:31px}.webble-case .result-label{display:flex;justify-content:space-between;gap:20px;align-items:start}.webble-case .result-label span{font-size:17px;font-weight:650}.webble-case .result-label small{font-size:11px;color:#8fa0b6}.webble-case .bar-chart{margin-top:42px}.webble-case .bar-row{display:grid;grid-template-columns:75px 1fr 52px;align-items:center;gap:14px;margin:23px 0}.webble-case .bar-row>span{font-size:12px;color:#93a1b4}.webble-case .bar-track{height:42px;background:rgba(255,255,255,.06);border-radius:8px;overflow:hidden}.webble-case .bar-track i{display:block;width:var(--bar);height:100%;background:#4b5c73;border-radius:8px;transform-origin:left;animation:growbar 1s ease both}.webble-case .bar-row.active .bar-track i{background:linear-gradient(90deg,var(--blue),#66a5f7)}.webble-case .bar-row strong{font-size:15px}.webble-case .chart-note{font-size:11px;color:#73849b;line-height:1.6;margin:30px 0 0}.webble-case .result-stack{display:grid;grid-template-columns:1fr 1fr;gap:12px}.webble-case .result-card{padding:24px}.webble-case .result-card>span{font-size:11px;color:#91a0b5}.webble-case .result-card strong{display:block;font-size:34px;color:#fff;margin:17px 0 6px;letter-spacing:-.045em}.webble-case .result-card p{font-size:11px;color:#91a0b5;line-height:1.5;margin:0}
.webble-case .testimonial{margin:54px 0 0;display:grid;grid-template-columns:60px 1fr;gap:22px;border-top:1px solid rgba(255,255,255,.12);padding-top:43px}.webble-case .quote-mark{font-size:72px;color:var(--blue);line-height:.8}.webble-case .testimonial>p{font-size:22px;line-height:1.6;color:#e6edf6;margin:0;max-width:920px}.webble-case .testimonial footer{grid-column:2;display:flex;align-items:center;gap:12px;margin-top:6px}.webble-case .testimonial-logo{width:44px;height:44px}.webble-case .testimonial footer strong{display:block;font-size:13px}.webble-case .testimonial footer div span{display:block;color:#8392a7;font-size:11px;margin-top:4px}

.webble-case .diversification{background:#fff}.webble-case .category-track{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.webble-case .category{min-height:180px;border:1px solid var(--line);border-radius:17px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,#fff,#f8fafc);transition:.22s}.webble-case .category:hover{transform:translateY(-4px);border-color:#b5cef1}.webble-case .category>span{font-size:10px;color:var(--blue);font-weight:850;letter-spacing:.1em;margin-bottom:auto}.webble-case .category strong{font-size:15px;line-height:1.35}.webble-case .category small{font-size:11px;color:var(--muted);margin-top:7px}.webble-case .diversification-callout{margin-top:21px;padding:21px 24px;border-radius:16px;background:var(--blue-soft);display:flex;gap:15px;align-items:center}.webble-case .diversification-callout>span{width:37px;height:37px;flex:0 0 auto;border-radius:11px;background:var(--blue);color:#fff;display:grid;place-items:center}.webble-case .diversification-callout p{font-size:13px;color:#55708f;line-height:1.6;margin:0}.webble-case .diversification-callout strong{color:var(--ink)}

.webble-case .method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.webble-case .method-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;min-height:205px;transition:.22s}.webble-case .method-card:hover{transform:translateY(-4px);box-shadow:0 16px 42px rgba(25,75,140,.07)}.webble-case .method-card.featured{border-color:#a9c8f4;background:linear-gradient(180deg,#fff,#f3f8ff)}.webble-case .method-card>span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:850;margin-bottom:31px}.webble-case .method-card.featured>span{background:var(--blue);color:#fff}.webble-case .method-card h3{font-size:18px;margin:0 0 9px}.webble-case .method-card p{font-size:13px;color:var(--muted);line-height:1.65;margin:0}

.webble-case .impact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.webble-case .impact-copy{position:sticky;top:120px}.webble-case .impact-copy h2{font-size:clamp(38px,4.1vw,52px);line-height:1.08;letter-spacing:-.05em;margin:19px 0}.webble-case .impact-copy p{font-size:16px;line-height:1.75;color:var(--muted)}.webble-case .impact-list{border-top:1px solid var(--line)}.webble-case .impact-item{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:18px 3px}.webble-case .impact-item span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:850}.webble-case .impact-item p{margin:0;font-size:15px}

.webble-case .conclusion{padding:100px 0;background:linear-gradient(135deg,#0b1426,#11294f);color:#fff;text-align:center}.webble-case .conclusion-inner{max-width:920px}.webble-case .conclusion h2{margin-top:20px}.webble-case .conclusion p{max-width:770px;margin:23px auto 0;font-size:17px;line-height:1.75;color:#aab9cd}

.webble-case .related{overflow:hidden}.webble-case .mq-carousel{overflow:hidden;position:relative;padding:10px 0;touch-action:pan-y;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 1.5%,#000 98.5%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 1.5%,#000 98.5%,transparent 100%)}.webble-case .mq-track{display:flex;width:max-content;will-change:transform}.webble-case .mq-track>*{margin-right:16px}.webble-case .mq-carousel.grabbing{cursor:grabbing!important;user-select:none}.webble-case .mq-carousel.grabbing a{pointer-events:none}.webble-case .mq-carousel .blog-card{flex:0 0 360px;display:flex;flex-direction:column;min-height:220px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 26px;text-decoration:none;box-shadow:0 4px 18px rgba(16,24,40,.06);transition:border-color .2s,box-shadow .2s,transform .2s}.webble-case .mq-carousel .blog-card:hover{border-color:var(--blue);box-shadow:0 12px 30px rgba(16,24,40,.12);transform:translateY(-4px)}.webble-case .blog-cat{font-size:11px;font-weight:500;color:var(--blue);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.webble-case .blog-title{font-size:16px;font-weight:500;color:var(--ink);line-height:1.35;margin:0 0 10px}.webble-case .blog-desc{font-size:13px;color:var(--muted);line-height:1.55}.webble-case .blog-read{display:flex;align-items:center;gap:6px;color:var(--blue);font-size:12px;font-weight:500;margin-top:auto;padding-top:18px}

.webble-case .cta{padding:94px 0;background:var(--navy);text-align:center;color:#fff}.webble-case .cta-inner{max-width:820px}.webble-case .cta h2{margin-top:20px}.webble-case .cta p{font-size:17px;line-height:1.7;color:#a8b5c7;max-width:690px;margin:20px auto 28px}.webble-case .btn-light{background:#fff;color:var(--blue)}.webble-case .cta small{display:block;color:#72829a;font-size:11px;margin-top:19px}

.webble-case .site-footer{background:#050b16;color:#7f8ca0;padding:30px 0}.webble-case .footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px}.webble-case .footer-brand{font-size:18px}.webble-case .footer-brand .brand-mark{width:23px;height:23px}.webble-case .footer-inner nav{display:flex;gap:19px}.webble-case .footer-inner nav a{text-decoration:none}.webble-case .footer-inner nav a:hover{color:#fff}

.webble-case /* ===== Tipografía: mismo sistema que Agencia SEM ===== */
h1{font-weight:500;line-height:1.1;letter-spacing:-.025em}
.webble-case .section-copy h2,.webble-case .section h2,.webble-case .results h2,.webble-case .conclusion h2,.webble-case .cta h2,.webble-case .system-copy h2,.webble-case .impact-copy h2{font-weight:500;line-height:1.16;letter-spacing:-.025em}
.webble-case .hero-lead,.webble-case .section-head p,.webble-case .system-copy>p,.webble-case .results-head p,.webble-case .impact-copy p,.webble-case .conclusion p,.webble-case .cta p{font-weight:400}
.webble-case .eyebrow,.webble-case .tag{font-weight:600}
.webble-case .btn,.webble-case .main-nav a,.webble-case .intro-text p:first-child,.webble-case .challenge-card h3,.webble-case .method-card h3,.webble-case .related-card h3,.webble-case .growth-lab-head h3,.webble-case .method-difference h3,.webble-case .chain-step h3{font-weight:500}

.webble-case .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.webble-case .reveal.is-visible{opacity:1;transform:none}
@keyframes growbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.webble-case{scroll-behavior:auto}.webble-case .reveal{opacity:1;transform:none;transition:none}.webble-case .bar-track i{animation:none}}

@media(max-width:980px){
  .webble-case .main-nav a:not(.header-cta){display:none}
  .webble-case .hero-grid,.webble-case .system-grid,.webble-case .intro-grid,.webble-case .impact-grid{grid-template-columns:1fr}.webble-case .hero-grid{gap:46px}.webble-case .hero-case{height:430px;max-width:680px}.webble-case .intro-grid,.webble-case .impact-grid{gap:44px}.webble-case .section-copy,.webble-case .impact-copy{position:static}.webble-case .intro-text{padding-left:0;border-left:0}.webble-case .metric-grid{grid-template-columns:repeat(2,1fr)}.webble-case .metric:nth-child(2){border-right:0}.webble-case .metric:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .webble-case .challenge-grid{grid-template-columns:repeat(3,1fr)}.webble-case .model-grid{grid-template-columns:repeat(2,1fr)}.webble-case .results-grid{grid-template-columns:1fr}.webble-case .category-track{grid-template-columns:repeat(3,1fr)}.webble-case .category{min-height:160px}.webble-case .method-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:650px){
  .webble-case .wrap{width:min(100% - 30px,1180px)}.webble-case .site-header{height:62px}.webble-case .brand{font-size:21px}.webble-case .brand-mark{width:26px;height:26px}.webble-case .header-cta{font-size:11px!important;padding:10px 12px!important}
  .webble-case .hero{padding:31px 0 55px}.webble-case .breadcrumbs{margin-bottom:28px}.webble-case h1{font-size:42px}.webble-case .hero-lead{font-size:17px}.webble-case .hero-actions{display:grid}.webble-case .hero-actions .btn{width:100%}.webble-case .hero-micro{display:grid;gap:8px}.webble-case .hero-case{height:360px}.webble-case .case-overlay{left:20px;right:20px;bottom:20px}.webble-case .client-logo{width:46px;height:46px}
  .webble-case .metric-grid{grid-template-columns:1fr 1fr}.webble-case .metric{padding:22px 16px;min-height:133px}.webble-case .metric strong{font-size:27px}.webble-case .metric span{font-size:11px}.webble-case .metric:nth-child(2){border-right:0}.webble-case .metric:nth-child(3){border-right:1px solid var(--line)}
  .webble-case .section,.webble-case .intro-section{padding:70px 0}.webble-case .section h2,.webble-case .section-copy h2,.webble-case .results h2,.webble-case .conclusion h2,.webble-case .cta h2,.webble-case .system-copy h2,.webble-case .impact-copy h2{font-size:35px}.webble-case .section-head{margin-bottom:36px}.webble-case .section-head p{font-size:15px}.webble-case .intro-text p{font-size:16px}.webble-case .intro-text p:first-child{font-size:18px}
  .webble-case .challenge-grid,.webble-case .model-grid,.webble-case .method-grid{grid-template-columns:1fr}.webble-case .system-grid{gap:38px}.webble-case .data-flow{padding:19px}.webble-case .model-grid{margin-top:35px}.webble-case .results{padding:74px 0}.webble-case .result-stack{grid-template-columns:1fr 1fr}.webble-case .result-main{padding:22px}.webble-case .bar-row{grid-template-columns:61px 1fr 46px;gap:9px}.webble-case .testimonial{grid-template-columns:1fr;gap:8px}.webble-case .testimonial>p{font-size:18px}.webble-case .testimonial footer{grid-column:1}.webble-case .quote-mark{font-size:60px}.webble-case .category-track{grid-template-columns:1fr 1fr}.webble-case .category{min-height:145px;padding:18px}.webble-case .impact-grid{gap:35px}.webble-case .mq-carousel .blog-card{flex-basis:74vw;min-height:210px;padding:20px}.webble-case .cta{padding:72px 0}.webble-case .footer-inner{align-items:flex-start;flex-direction:column}.webble-case .footer-inner nav{flex-wrap:wrap}
}

@media(max-width:410px){.webble-case .result-stack,.webble-case .category-track{grid-template-columns:1fr}.webble-case .metric-grid{grid-template-columns:1fr}.webble-case .metric{border-right:0!important;border-bottom:1px solid var(--line)}.webble-case .metric:last-child{border-bottom:0}}

.webble-case /* ===== Diversificación: laboratorio animado por categorías ===== */
.growth-lab{border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 20px 60px rgba(24,63,111,.07)}
.webble-case .growth-lab-head{padding:28px 31px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}
.webble-case .lab-kicker{display:block;font-size:10px;font-weight:820;letter-spacing:.11em;text-transform:uppercase;color:var(--blue);margin-bottom:9px}
.webble-case .growth-lab-head h3{font-size:22px;letter-spacing:-.025em;margin:0;font-weight:620}
.webble-case .lab-controls{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.webble-case .lab-arrow{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#7b8798;font:inherit;font-size:21px;line-height:1;cursor:pointer;transition:.2s}.webble-case .lab-arrow:hover{border-color:#aac9f3;color:var(--blue);background:#f7faff}
.webble-case .lab-count{min-width:39px;text-align:center;color:#8994a5;font-size:12px}.webble-case .lab-count b{color:var(--ink);font-size:14px}
.webble-case .lab-timer{width:35px;height:35px;display:block;transform:rotate(-90deg)}.webble-case .lab-timer svg{width:100%;height:100%}.webble-case .lab-timer circle{fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-dasharray:94.25;stroke-dashoffset:94.25}
.webble-case .growth-lab.is-running .lab-timer circle{animation:labCountdown 6s linear forwards}
.webble-case .growth-canvas{padding:27px 31px 31px;background-color:#f8fafc;background-image:radial-gradient(#dfe5ed 1px,transparent 1px);background-size:16px 16px}
.webble-case .canvas-title{max-width:1040px;margin:0 auto -1px;background:#fff;border:1px solid var(--line);border-radius:14px 14px 0 0;padding:12px 17px;color:#8b96a7;font-size:12px;font-weight:620;display:flex;align-items:center;gap:9px}.webble-case .canvas-title>span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,106,.1)}
.webble-case .flow-board{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr) 72px minmax(0,1fr);align-items:center;background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:0 0 14px 14px;padding:45px 29px 32px;min-height:250px}
.webble-case .growth-node{min-height:142px;background:#fff;border:1px solid #dfe4eb;border-radius:14px;padding:17px 18px;display:flex;flex-direction:column;position:relative;z-index:2;box-shadow:0 7px 20px rgba(20,47,82,.04);transition:border-color .25s,box-shadow .25s,transform .25s}
.webble-case .growth-node:hover{transform:translateY(-3px);border-color:#bad2f5}
.webble-case .growth-node.category-node{border-color:#8ebaf6;box-shadow:0 0 0 4px rgba(26,115,232,.07),0 12px 30px rgba(26,115,232,.08)}
.webble-case .node-heading{display:flex;align-items:center;gap:8px;color:#8a96a7;border-bottom:1px solid var(--line);margin:-1px -1px 15px;padding:0 1px 12px;font-size:10px;font-weight:780;letter-spacing:.08em}.webble-case .node-heading svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.webble-case .category-node .node-heading{color:var(--blue)}
.webble-case .growth-node strong{font-size:15px;line-height:1.35;margin-top:auto}.webble-case .growth-node small{color:#8b96a7;font-size:10px;line-height:1.45;margin-top:7px}
.webble-case .growth-connector{height:2px;background:#dfe4ea;position:relative;overflow:visible}.webble-case .growth-connector i{position:absolute;left:0;top:0;height:2px;width:100%;background:linear-gradient(90deg,var(--blue),#76a9ef);transform-origin:left;animation:labLine 2.2s ease-in-out infinite}.webble-case .growth-connector b{position:absolute;top:50%;left:0;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px rgba(26,115,232,.1);animation:labDot 2.2s ease-in-out infinite}
.webble-case .growth-insight{max-width:880px;margin:22px auto 0;display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 17px;box-shadow:0 7px 20px rgba(22,48,82,.04)}.webble-case .insight-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:var(--blue);color:#fff;flex:0 0 auto}.webble-case .growth-insight small{display:block;color:#8b96a7;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:780}.webble-case .growth-insight p{font-size:12px;line-height:1.55;color:#56657a;margin:4px 0 0}.webble-case .growth-insight.is-changing div{animation:labText .35s ease}
.webble-case .category-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.webble-case .category-tab{border:0;border-right:1px solid var(--line);background:#fff;padding:17px 13px;color:#748094;font:inherit;font-size:11px;line-height:1.35;cursor:pointer;transition:.2s;text-align:left}.webble-case .category-tab:last-child{border-right:0}.webble-case .category-tab span{display:block;color:#a7b0bc;font-size:9px;font-weight:800;letter-spacing:.08em;margin-bottom:7px}.webble-case .category-tab:hover{background:#f8faff;color:var(--ink)}.webble-case .category-tab.active{background:#eef5ff;color:var(--blue);font-weight:680;box-shadow:inset 0 3px 0 var(--blue)}.webble-case .category-tab.active span{color:var(--blue)}
.webble-case .diversification-summary{margin:22px auto 0;max-width:900px;display:grid;grid-template-columns:auto 1fr;gap:16px 25px;align-items:center;padding:19px 23px;border-radius:15px;background:var(--navy);color:#fff}.webble-case .diversification-summary strong{font-size:15px}.webble-case .diversification-summary p{color:#aab6c7;font-size:12px;line-height:1.55;margin:0}

.webble-case /* ===== Metodología: mismo lenguaje visual que Agencia SEM ===== */
.method-chain{margin-bottom:43px}.webble-case .method-row{display:flex;align-items:stretch;margin-bottom:16px}.webble-case .method-row:last-child{margin-bottom:0}
.webble-case .chain-step{flex:1;min-width:0;position:relative;text-align:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:27px 18px 21px;display:flex;flex-direction:column;transition:.22s}.webble-case .chain-step:hover{transform:translateY(-4px);border-color:#8fbbf5;box-shadow:0 14px 34px rgba(26,115,232,.09)}
.webble-case .chain-num{position:absolute;top:-10px;left:50%;transform:translateX(-50%);padding:3px 10px;background:var(--blue-soft);color:var(--blue);border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.05em}.webble-case .chain-icon{width:44px;height:44px;display:grid;place-items:center;margin:0 auto 14px;border-radius:12px;background:var(--blue-soft);color:var(--blue);transition:.2s}.webble-case .chain-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.webble-case .chain-step:hover .chain-icon{background:var(--blue);color:#fff}.webble-case .chain-step h3{font-size:14px;line-height:1.3;margin:0 0 7px}.webble-case .chain-step p{color:var(--muted);font-size:11px;line-height:1.55;margin:0 0 6px}.webble-case .chain-step em{color:#8994a5;font-size:10.5px;line-height:1.5;margin:0 0 10px}.webble-case .chain-step small{display:inline-block;margin:auto auto 0;padding:4px 9px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:9px;line-height:1.45;font-weight:680}
.webble-case .chain-step.chain-final{background:#f2f7ff;border-color:#86b7f5}.webble-case .chain-final .chain-num,.webble-case .chain-final .chain-icon{background:var(--blue);color:#fff}
.webble-case .chain-arrow{width:27px;flex:0 0 27px;display:grid;place-items:center}.webble-case .chain-arrow svg{width:22px;height:12px;fill:none;stroke:var(--blue);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.webble-case .chain-arrow path{stroke-dasharray:6;animation:chainFlow .8s linear infinite}
.webble-case .method-accordion{display:none}.webble-case .method-difference{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;border:1px solid var(--line);border-radius:20px;background:#fff;padding:39px 44px}.webble-case .method-difference h3{font-size:23px;letter-spacing:-.025em;margin:0 0 10px}.webble-case .method-difference>div>p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}.webble-case .difference-cards{display:grid;gap:9px}.webble-case .difference-cards p{display:flex;align-items:flex-start;gap:9px;border-radius:9px;padding:11px 14px;font-size:12px!important;line-height:1.45!important}.webble-case .difference-cards span{font-weight:850}.webble-case .difference-bad{background:#fff0f0;color:#903232!important;border-left:3px solid #dc4444}.webble-case .difference-good{background:#edf9f1;color:#17643b!important;border-left:3px solid var(--green)}

@keyframes labCountdown{from{stroke-dashoffset:0}to{stroke-dashoffset:94.25}}
@keyframes labLine{0%{transform:scaleX(0);opacity:.45}50%,100%{transform:scaleX(1);opacity:1}}
@keyframes labDot{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 9px);opacity:0}}
@keyframes labText{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes chainFlow{from{stroke-dashoffset:18}to{stroke-dashoffset:0}}

@media(max-width:980px){
  .webble-case .growth-lab-head{padding:25px}.webble-case .growth-canvas{padding:25px 22px}.webble-case .flow-board{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) 42px minmax(0,1fr);padding:39px 20px 27px}.webble-case .growth-node{padding:15px;min-height:145px}.webble-case .category-tab{padding:15px 9px;font-size:10px}
  .webble-case .chain-step{padding:25px 12px 19px}.webble-case .chain-step p{font-size:10.5px}.webble-case .chain-step em{font-size:10px}.webble-case .chain-arrow{width:20px;flex-basis:20px}.webble-case .chain-arrow svg{width:18px}.webble-case .method-difference{padding:32px;gap:28px}
}

@media(max-width:760px){
  .webble-case .growth-lab-head{align-items:flex-start;flex-direction:column}.webble-case .lab-controls{align-self:flex-end;margin-top:-10px}.webble-case .growth-canvas{padding:18px 14px}.webble-case .canvas-title{font-size:11px}.webble-case .flow-board{grid-template-columns:1fr;padding:25px 16px;gap:0}.webble-case .growth-node{min-height:120px}.webble-case .growth-connector{width:2px;height:31px;margin:0 auto;background:#dfe4ea}.webble-case .growth-connector i{width:2px;height:100%;background:linear-gradient(180deg,var(--blue),#76a9ef);transform-origin:top;animation:labLineVertical 2.2s ease-in-out infinite}.webble-case .growth-connector b{top:0;left:50%;margin-top:0;margin-left:-4.5px;animation:labDotVertical 2.2s ease-in-out infinite}.webble-case .growth-insight{align-items:flex-start}.webble-case .category-tabs{display:flex;overflow-x:auto;scrollbar-width:none}.webble-case .category-tabs::-webkit-scrollbar{display:none}.webble-case .category-tab{flex:0 0 175px;border-right:1px solid var(--line)}.webble-case .diversification-summary{grid-template-columns:1fr;gap:7px}
  .webble-case .method-chain-desktop{display:none}.webble-case .method-accordion{display:grid;gap:9px;margin-bottom:28px}.webble-case .method-acc-item{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.webble-case .method-acc-item.open{border-color:#8fbbf5}.webble-case .method-acc-head{width:100%;border:0;background:#fff;display:flex;align-items:center;gap:11px;text-align:left;padding:14px 16px;font:inherit;cursor:pointer}.webble-case .method-acc-head>span{width:31px;height:31px;border-radius:50%;background:#f1f4f8;color:#7d8899;display:grid;place-items:center;font-size:10px;font-weight:800}.webble-case .method-acc-item.open .method-acc-head>span{background:var(--blue);color:#fff}.webble-case .method-acc-head strong{flex:1;font-size:14px}.webble-case .method-acc-head b{font-size:17px;color:#98a2b1;transition:.2s}.webble-case .method-acc-item.open .method-acc-head b{transform:rotate(180deg);color:var(--blue)}.webble-case .method-acc-body{display:none;padding:0 17px 15px 58px;color:var(--muted);font-size:12px;line-height:1.6}.webble-case .method-acc-item.open .method-acc-body{display:block}.webble-case .method-difference{grid-template-columns:1fr;padding:25px 20px;gap:20px}.webble-case .method-difference h3{font-size:20px}.webble-case .method-difference>div>p{font-size:13px}
}

@media(max-width:480px){.webble-case .growth-lab-head{padding:21px 18px}.webble-case .growth-lab-head h3{font-size:19px}.webble-case .lab-controls{margin-top:0;align-self:flex-start}.webble-case .growth-insight{padding:14px}.webble-case .growth-insight p{font-size:11px}.webble-case .diversification-summary{padding:18px}.webble-case .method-difference{padding:22px 17px}.webble-case .difference-cards p{font-size:11px!important}}

@keyframes labLineVertical{0%{transform:scaleY(0);opacity:.45}50%,100%{transform:scaleY(1);opacity:1}}
@keyframes labDotVertical{0%{top:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:calc(100% - 9px);opacity:0}}

@media(prefers-reduced-motion:reduce){.webble-case .lab-timer circle,.webble-case .growth-connector i,.webble-case .growth-connector b,.webble-case .chain-arrow path{animation:none!important}.webble-case .lab-timer circle{stroke-dashoffset:30}.webble-case .growth-connector i{transform:none}}

.webble-case /* ===== Capa de inteligencia artificial ===== */
.ai-layer{margin-top:26px;min-height:330px;border-radius:23px;padding:38px 42px;display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center;overflow:hidden;position:relative;color:#fff;background:radial-gradient(circle at 82% 50%,rgba(62,130,238,.24),transparent 31%),linear-gradient(135deg,#091326,#0d1d39)}
.webble-case .ai-layer:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(90deg,transparent 35%,#000)}
.webble-case .ai-layer-copy{position:relative;z-index:2}.webble-case .ai-label{display:inline-flex;align-items:center;gap:9px;color:#90bdf8;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.webble-case .ai-label i{width:8px;height:8px;border-radius:50%;background:#62a0f4;box-shadow:0 0 0 6px rgba(98,160,244,.1);animation:aiPulse 2.2s ease-in-out infinite}.webble-case .ai-layer h3{color:#fff;font-size:31px;letter-spacing:-.035em;line-height:1.12;margin:17px 0 13px;max-width:570px}.webble-case .ai-layer-copy>p{color:#a9b7ca;font-size:13px;line-height:1.72;margin:0;max-width:630px}.webble-case .ai-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.webble-case .ai-chips span{font-size:9.5px;color:#c5d5e9;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:999px;padding:6px 10px}
.webble-case .ai-visual{height:250px;position:relative;display:grid;place-items:center;z-index:2}.webble-case .ai-core{width:116px;height:116px;border-radius:50%;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#2579e8,#0f4ea8);box-shadow:0 0 0 12px rgba(47,126,233,.08),0 18px 45px rgba(0,0,0,.24);position:relative;z-index:3}.webble-case .ai-core span{font-size:28px;font-weight:760;letter-spacing:-.04em}.webble-case .ai-core small{font-size:8px;color:#d9e9ff;margin-top:4px}.webble-case .ai-orbit{position:absolute;border:1px solid rgba(126,178,244,.22);border-radius:50%;animation:aiSpin 14s linear infinite}.webble-case .ai-orbit i{position:absolute;width:9px;height:9px;border-radius:50%;background:#6ba8f6;box-shadow:0 0 14px #6ba8f6}.webble-case .orbit-one{width:184px;height:184px}.webble-case .orbit-one i{left:22px;top:20px}.webble-case .orbit-two{width:236px;height:236px;animation-duration:20s;animation-direction:reverse}.webble-case .orbit-two i{right:17px;bottom:42px;background:#5be0b1;box-shadow:0 0 14px #5be0b1}.webble-case .ai-signal{position:absolute;padding:7px 10px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:rgba(7,18,36,.82);backdrop-filter:blur(5px);font-size:8.5px;color:#b9c8db;animation:aiFloat 3.4s ease-in-out infinite}.webble-case .signal-one{left:3%;top:19%}.webble-case .signal-two{right:0;top:27%;animation-delay:.6s}.webble-case .signal-three{right:5%;bottom:15%;animation-delay:1.1s}
@keyframes aiSpin{to{transform:rotate(360deg)}}@keyframes aiPulse{50%{box-shadow:0 0 0 9px rgba(98,160,244,0)}}@keyframes aiFloat{50%{transform:translateY(-6px)}}
@media(max-width:850px){.webble-case .ai-layer{grid-template-columns:1fr;padding:33px;gap:16px}.webble-case .ai-visual{height:230px}}
@media(max-width:480px){.webble-case .ai-layer{padding:27px 20px}.webble-case .ai-layer h3{font-size:27px}.webble-case .ai-visual{height:220px}.webble-case .orbit-two{width:210px;height:210px}.webble-case .ai-chips{gap:5px}}
@media(prefers-reduced-motion:reduce){.webble-case .ai-label i,.webble-case .ai-orbit,.webble-case .ai-signal{animation:none!important}}

@media(min-width:761px) and (max-width:1100px){
  .webble-case .method-row-five{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
  .webble-case .method-row-five .chain-arrow{display:none}
  .webble-case .method-row-five .chain-step{grid-column:span 2}
  .webble-case .method-row-five .chain-step:nth-of-type(4){grid-column:2 / span 2}
  .webble-case .method-row-five .chain-step:nth-of-type(5){grid-column:4 / span 2}
}

.webble-case /* ===== Escala tipográfica compartida con Agencia SEM ===== */
h1{font-size:52px;line-height:1.15;letter-spacing:-.02em}
.webble-case .section-copy h2,.webble-case .section h2,.webble-case .results h2,.webble-case .conclusion h2,.webble-case .cta h2,.webble-case .system-copy h2,.webble-case .impact-copy h2{font-size:36px;line-height:1.2;letter-spacing:normal}
.webble-case .hero-lead{font-size:18px;line-height:1.7}
.webble-case .section-head p,.webble-case .results-head p,.webble-case .conclusion p,.webble-case .cta p{font-size:17px;line-height:1.7}
.webble-case .intro-text p{font-size:16px;line-height:1.8}.webble-case .intro-text p:first-child{font-size:18px}
.webble-case .system-copy>p,.webble-case .impact-copy p{font-size:16px;line-height:1.8}

@media(min-width:621px) and (max-width:1100px){
  .webble-case h1{font-size:clamp(36px,5vw,44px);line-height:1.1}
  .webble-case .section-copy h2,.webble-case .section h2,.webble-case .results h2,.webble-case .conclusion h2,.webble-case .cta h2,.webble-case .system-copy h2,.webble-case .impact-copy h2{font-size:30px;line-height:1.2}
  .webble-case .hero-lead{font-size:17px;line-height:1.7}
  .webble-case .section-head p,.webble-case .results-head p,.webble-case .conclusion p,.webble-case .cta p{font-size:16.5px;line-height:1.65}
}

@media(max-width:620px){
  .webble-case h1{font-size:26px;line-height:1.15}
  .webble-case .section-copy h2,.webble-case .section h2,.webble-case .results h2,.webble-case .conclusion h2,.webble-case .cta h2,.webble-case .system-copy h2,.webble-case .impact-copy h2{font-size:24px;line-height:1.25}
  .webble-case .hero-lead{font-size:18px;line-height:1.7}
  .webble-case .section-head p,.webble-case .results-head p,.webble-case .conclusion p,.webble-case .cta p{font-size:16px;line-height:1.6}
  .webble-case .intro-text p{font-size:15px;line-height:1.7}.webble-case .intro-text p:first-child{font-size:17px}
  .webble-case .system-copy>p,.webble-case .impact-copy p{font-size:15px;line-height:1.7}
}
/* El antiguo menú lateral de Elementor no forma parte de las páginas nuevas. */
body.single-webble_case header.elementor-element-929504f,
body.post-type-archive-webble_case header.elementor-element-929504f {
  display: none !important;
}

/* ===== Integración con Astra: lienzo completo para los nuevos casos ===== */
body.single-webble_case #content > .ast-container,
body.post-type-archive-webble_case #content > .ast-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-webble_case .webble-case,
body.post-type-archive-webble_case .webble-case,
body.single-webble_case .webble-case > div,
body.post-type-archive-webble_case .webble-case > div {
  width: 100% !important;
  max-width: none !important;
}

/* ===== Reseña: colocación estable y legible en todos los casos ===== */
.webble-case blockquote.testimonial {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: 60px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 22px !important;
  row-gap: 6px !important;
  float: none !important;
}

.webble-case blockquote.testimonial > .quote-mark {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: auto !important;
  min-width: 0 !important;
}

.webble-case blockquote.testimonial > p {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 920px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.webble-case blockquote.testimonial > footer {
  grid-column: 2 !important;
  grid-row: 2 !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  float: none !important;
}

.webble-case blockquote.testimonial > footer strong {
  color: #e6edf6 !important;
}

.webble-case blockquote.testimonial > footer div span {
  color: #91a0b5 !important;
}

@media (max-width: 650px) {
  .webble-case blockquote.testimonial {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    row-gap: 10px !important;
  }

  .webble-case blockquote.testimonial > .quote-mark,
  .webble-case blockquote.testimonial > p,
  .webble-case blockquote.testimonial > footer {
    grid-column: 1 !important;
  }

  .webble-case blockquote.testimonial > .quote-mark { grid-row: 1 !important; }
  .webble-case blockquote.testimonial > p { grid-row: 2 !important; }
  .webble-case blockquote.testimonial > footer { grid-row: 3 !important; }
}


/* Titulares: heredan la fuente del contenedor en vez de Poppins (Astra). */
.webble-case h1,.webble-case h2,.webble-case h3,.webble-case h4,.webble-case h5,.webble-case h6,
.webble-case strong,.webble-case b,.webble-case button,.webble-case input,.webble-case select,.webble-case textarea{font-family:inherit}


/* ============================================================
   ALINEACION-MOVIL-PEREDA
   Igualar el comportamiento movil al de /casos-de-exito/pereda/.
   ============================================================ */

/* a · Titular del hero. agencia-sem.css define .hero h1{color:#fff}
      sin ambito y en un hero claro queda invisible. Hace falta
      section.hero (0,2,2) para ganarle a .hero.hero h1 (0,2,1). */
.webble-case section.hero h1,
.webble-case section.hero h1 strong{color:var(--ink)}
.webble-case section.hero h1 em{color:var(--blue)}

/* b · La capsula del hero cabe en una sola linea */
@media(max-width:760px){
  .webble-case .hero .eyebrow{
    font-size:clamp(8.4px,2.45vw,11px);
    letter-spacing:.055em;
    padding:8px 13px;
    gap:7px;
    margin-bottom:18px;
  }
  .webble-case .hero .eyebrow-dot{width:6px;height:6px;flex:0 0 6px;box-shadow:none}
}

/* c · Banda de metricas: cuadricula 2x2 en tarjetas */
@media(max-width:760px){
  .webble-case .metric-band{border:0;background:transparent;padding:0}
  .webble-case .metric-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:22px 20px 26px;
  }
  .webble-case .metric{
    min-height:0;padding:15px 14px 16px;background:#fff;
    border:1px solid var(--line);border-radius:14px;
    box-shadow:0 2px 10px rgba(10,14,22,.035);
  }
  .webble-case .metric b,
  .webble-case .metric strong{font-size:25px;letter-spacing:-.045em}
  .webble-case .metric span{font-size:11px;line-height:1.4;margin-top:6px;max-width:none}
}
@media(max-width:410px){
  .webble-case .metric-grid{gap:9px;padding:20px 16px 24px}
  .webble-case .metric b,
  .webble-case .metric strong{font-size:23px}
  .webble-case .metric span{font-size:10.5px}
}


/* d · Red de seguridad: una capsula larga no puede ensanchar la columna.
      Los hijos de un grid llevan min-width:auto (min-content), asi que
      un texto sin partir arrastra toda la reticula y desborda el hero. */
.webble-case .hero-grid > *{min-width:0}
.webble-case .hero .eyebrow{max-width:100%}


/* e · Logo real del cliente en la tarjeta del hero, en lugar de las
      iniciales. La caja la define .mock-logo; la imagen se ajusta
      dentro sin deformarse. */
.webble-case .mock-logo.has-img{background:#fff;padding:5px;overflow:hidden}
.webble-case .mock-logo.has-img img{width:100%;height:100%;object-fit:contain;display:block;border-radius:inherit}


/* f · Recuadro del logo del cliente. Por defecto blanco con holgura,
      como en Piscinas. Cuando el logo es una pastilla de color a
      sangre (Ineo, Aparkate, Kuarere) el recuadro toma el color del
      logo y la imagen lo llena, para que no quede un cerco blanco.
      Colores muestreados del propio archivo. */
.webble-case .mock-logo.has-img{background:#fff;padding:5px;overflow:hidden}
.webble-case .mock-logo.has-img img{width:100%;height:100%;object-fit:contain;display:block;border-radius:inherit}

.ineo-page .mock-logo.has-img{background:#015f81;padding:0}
.aparkate-page .mock-logo.has-img{background:#ed6d4b;padding:0}
.kuarere-page .mock-logo.has-img{background:#2f265b;padding:0}
.ineo-page .mock-logo.has-img img,
.aparkate-page .mock-logo.has-img img,
.kuarere-page .mock-logo.has-img img{object-fit:cover}

/* ============================================================
   NORMA · Seccion de impacto: las dos columnas cierran igual.
   La lista de checks toma la altura de la columna de texto y
   reparte sus filas, en vez de quedarse corta cuando el caso
   tiene menos puntos que otros (Aparkate: 4 frente a 6).
   Solo en dos columnas; por debajo de 981px la rejilla apila.
   ============================================================ */
@media(min-width:981px){
  .webble-case .impact-grid{align-items:stretch}
  .webble-case .impact-list{display:flex;flex-direction:column}
  .webble-case .impact-list .impact-item{flex:1 1 auto;min-height:66px}
}

/* ============================================================
   Cadena de metodo de CUATRO pasos (Kuarere, BGE Abogados).
   En escritorio hereda el flex de .method-row. En el tramo de
   tablet, donde la variante de cinco pasa a rejilla 3+2, la de
   cuatro pasa a 2x2 y esconde las flechas.
   ============================================================ */
@media(min-width:761px) and (max-width:1100px){
  .webble-case .method-row-four{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .webble-case .method-row-four .chain-arrow{display:none}
}

/* Kuarere y BGE llevan parrafos largos donde Taquillea lleva una
   frase. A ese tamano la cursiva de 10,5px se vuelve ilegible, asi
   que en la variante de cuatro el texto se lee como parrafo normal. */
.webble-case .method-row-four .chain-step em{
  font-style:normal;font-size:12px;line-height:1.62;color:#6b7280;margin-top:9px}
.webble-case .method-row-four .chain-step p{font-size:11.5px}
/* Kuarere mete nombres de parametro en <code> dentro de la tarjeta.
   Sin esto el tema los pinta a 15px sobre un texto de 12. */
.webble-case .chain-step code,
.webble-case .method-acc-body code{
  font-size:.92em;background:#f1f4f9;border-radius:4px;padding:1px 4px;word-break:break-word}

/* ============================================================
   NORMA · Titulos del acordeon de metodo, como en Pereda.
   Astra pinta TODO <button> en mayusculas con letter-spacing 1px
   desde un bloque inline sin ambito. Pereda ya lo corregia en su
   propio CSS; aqui pasa a ser la regla del sistema para que los
   demas casos no queden en versalitas en movil.
   ============================================================ */
.webble-case .method-acc-head,
.webble-case .method-acc-head strong{color:var(--ink)}
.webble-case .method-acc-head strong{
  font-weight:600;text-transform:none;letter-spacing:normal;font-size:14px}

/* ============================================================
   NORMA · La cadena de metodo respira respecto al bloque de
   arriba. Se usa margin-top y NO padding: los margenes
   adyacentes colapsan, asi que donde el bloque anterior ya
   traia separacion (Pereda 42, Taquillea 52) no se suma nada,
   y donde no traia ninguna (el .panel oscuro de Aparkate,
   Kuarere, BGE e Ineo) aparecen los 42.
   separacion con el bloque anterior
   ============================================================ */
.webble-case .method-chain{margin-top:42px}
@media(max-width:760px){
  .webble-case .method-accordion{margin-top:30px}
}

/* ============================================================
   COMPONENTES-PROMOVIDOS · ago 2026
   Tarjeta del hero (.mock-*), FAQs (.faq-list) y firma de
   autoria (.author-line / .author-wrap) estaban duplicados en
   ineo.css, kuarere.css, bge-abogados.css y aparkate.css. Se
   promueven aqui para que Piscinas Athena y Taquillea puedan
   usarlos. Las copias locales siguen cargando despues, asi que
   en esos cuatro casos no cambia nada.
   ============================================================ */
.webble-case .mock-head{display:flex;align-items:center;gap:12px;position:relative}
.webble-case .mock-logo{width:44px;height:44px;border-radius:11px;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.webble-case .mock-logo img{display:block;width:100%;height:100%;object-fit:cover}
.webble-case .mock-name{font-size:15px;font-weight:600;letter-spacing:-.01em}
.webble-case .mock-role{font-size:11.5px;color:rgba(255,255,255,.5);margin-top:2px}
.webble-case .mock-pill{margin-left:auto;display:inline-flex;align-items:center;gap:7px;
  font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#86efac;background:rgba(22,163,74,.16);padding:6px 11px;border-radius:100px;
  box-shadow:inset 0 0 0 1px rgba(134,239,172,.22);white-space:nowrap}
.webble-case .dot-g{width:6px;height:6px;border-radius:50%;background:#22c55e;flex-shrink:0;
  box-shadow:0 0 0 4px rgba(34,197,94,.16);animation:wcs-aparkate-wb-pulse-g 2s ease-in-out infinite}
.webble-case .mstep:nth-child(2) .dot-g, .webble-case .mstep:nth-child(2) .dot-a{animation-delay:.4s}
.webble-case .mstep:nth-child(3) .dot-g, .webble-case .mstep:nth-child(3) .dot-a{animation-delay:.8s}
.webble-case .mock-foot .dot-g{animation-delay:1.2s}
.webble-case .mock-label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.42);margin:24px 0 10px;position:relative}
.webble-case .mock-search{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);
  border-radius:11px;padding:13px 15px;font-size:13.5px;color:rgba(255,255,255,.9);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);position:relative}
.webble-case .mock-search svg{flex-shrink:0;opacity:.5}
.webble-case .mock-search>span:not(.caret){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.webble-case .caret{width:1.5px;height:15px;background:var(--blue);animation:wcs-aparkate-blink 1.15s steps(1) infinite;flex-shrink:0}
.webble-case .mock-steps{display:grid;gap:9px;margin-top:12px;position:relative}
.webble-case .mock-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;position:relative}
.webble-case .mock-chip{font-size:11px;color:rgba(255,255,255,.7);background:rgba(255,255,255,.07);
  padding:5px 11px;border-radius:100px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.webble-case .mock-foot{display:flex;align-items:center;gap:9px;margin-top:18px;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:rgba(255,255,255,.62);
  position:relative;line-height:1.5}
@media(max-width:390px){
.webble-case .mock-pill{font-size:9px;padding:5px 9px}
}
.webble-case .byline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px;
  padding-top:22px;border-top:1px solid var(--border)}
@media(max-width:560px){
.webble-case .byline{gap:9px}
}
.webble-case .byline .by-d{white-space:nowrap}
@media(max-width:640px){
.webble-case .byline{flex-wrap:nowrap;align-items:flex-start}
}
.webble-case .faq-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;
  max-width:1120px;margin:0 auto;}
.webble-case .faq-list details{background:#fff;border:.5px solid #e5e7eb;border-radius:14px;
  overflow:hidden;padding:0;transition:border-color .2s ease;}
.webble-case .faq-list details[open]{border-color:#93c4f8}
.webble-case .faq-list summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:22px 24px;font-size:15px;font-weight:500;color:var(--navy);
  line-height:1.4;cursor:pointer;list-style:none;}
.webble-case .faq-list summary::-webkit-details-marker{display:none}
.webble-case .faq-list summary::after{content:"";flex:0 0 24px;width:24px;height:24px;margin-top:1px;border-radius:50%;
  background-color:var(--blue);
  background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);
  background-size:11px 1.6px,1.6px 11px;
  background-position:center,center;background-repeat:no-repeat;
  transition:background-size .18s ease;}
.webble-case .faq-list details[open] summary::after{background-size:11px 1.6px,1.6px 0}
.webble-case .faq-list p{margin:0;padding:0 24px 22px;font-size:14px;line-height:1.75;color:var(--muted)}
.webble-case .faq-list p strong{color:var(--navy);font-weight:500}
@media(min-width:621px) and (max-width:1100px){
.webble-case .faq-list summary{padding:20px}
.webble-case .faq-list p{padding:0 20px 20px}
}
@media(max-width:900px){
.webble-case .faq-list{grid-template-columns:1fr;gap:12px}
}
@media(max-width:650px){
.webble-case .faq-list summary{font-size:15px;padding:18px}
.webble-case .faq-list p{font-size:15px;line-height:1.6;padding:0 18px 18px}
}
.webble-case .author-wrap{padding:26px 0;border-bottom:1px solid var(--border);background:#fff}
.webble-case .author-line{display:flex;align-items:flex-start;gap:16px;max-width:1000px}
.webble-case .author-line .av{flex:0 0 58px;width:58px;height:58px;border-radius:50%;overflow:hidden;
  background:#eef2f7;box-shadow:0 0 0 3px #eaf2ff}
.webble-case .author-line .av img{width:58px;height:58px;object-fit:cover;display:block;border-radius:50%}
.webble-case .author-line .who{flex:1 1 auto;font-size:14.5px;line-height:1.62;color:var(--muted)}
.webble-case .author-line .who b{display:block;font-size:16.5px;font-weight:600;color:var(--navy);margin-bottom:2px}
.webble-case .author-line .role{color:var(--blue);font-weight:500}
.webble-case .author-line .dates{display:block;margin-top:8px;font-size:12.5px;color:var(--hint)}
.webble-case .author-line a.partner-badge{display:inline-flex;align-items:center;gap:6px;
  padding:3px 10px 3px 7px;border:1px solid var(--border);border-radius:999px;background:#fff;
  color:var(--navy);font-weight:500;text-decoration:none;white-space:nowrap;vertical-align:middle}
.webble-case .author-line a.partner-badge:hover{border-color:#93c4f8}
.webble-case .author-line a.partner-badge svg{width:15px;height:15px;flex:0 0 15px;display:block}
@media(max-width:650px){
.webble-case .author-line{gap:13px}
.webble-case .author-line .av,.webble-case .author-line .av img{flex-basis:46px;width:46px;height:46px}
.webble-case .author-line .who{font-size:13.5px}
.webble-case .author-line .who b{font-size:15px}
}
.webble-case .author-wrap .wrap{max-width:1240px;margin-left:auto;margin-right:auto}

/* contenedor de la tarjeta del hero (faltaba en la promocion) */
.webble-case .mock{background:var(--ink);border-radius:20px;padding:24px;color:#fff;
  box-shadow:0 30px 70px rgba(10,14,22,.28);position:relative;overflow:hidden}
.webble-case .mock::before{content:"";position:absolute;inset:0;
  background:radial-gradient(520px 260px at 88% -8%,rgba(26,115,232,.30),transparent 62%);
  pointer-events:none}
.webble-case .mock.reveal-h{animation-delay:.14s}
@media(max-width:760px){
  .webble-case .mock{padding:18px;border-radius:16px}
}

/* filas de la tarjeta del hero */
.webble-case .mstep:nth-child(2) .dot-g, .webble-case .mstep:nth-child(2) .dot-a{animation-delay:.4s}
.webble-case .mstep:nth-child(3) .dot-g, .webble-case .mstep:nth-child(3) .dot-a{animation-delay:.8s}
.webble-case .mstep{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.05);
  border-radius:11px;padding:12px 14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.webble-case .mstep-n{width:22px;height:22px;border-radius:6px;background:rgba(26,115,232,.22);color:#93c5fd;
  display:grid;place-items:center;font-size:10.5px;font-weight:700;flex-shrink:0}
.webble-case .mstep-t{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.webble-case .mstep-v{font-size:13px;font-weight:500;margin-top:2px}
.webble-case .mstep-r{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:rgba(255,255,255,.55);white-space:nowrap}
@media(max-width:390px){
.webble-case .mstep-r{display:none}
}

/* ============================================================
   NORMA · Enlaces de texto del cuerpo, visibles en todos los casos
   `.webble-case a{color:inherit}` deja invisible cualquier enlace
   nuevo. Pereda lo arreglaba solo dentro de .intro-text, .section-head
   y .impact-copy, asi que en Piscinas los tres anchors de la ficha
   salian del color del parrafo y sin subrayado. Esto lo cubre en
   cualquier parrafo. Se usa color literal y no var(--blue): no todos
   los CSS de caso definen esa variable.
   :not([class]) deja fuera botones, tarjetas y distintivos.
   ============================================================ */
.webble-case p a:not([class]),
.webble-case li a:not([class]),
.webble-case .intro-text a:not([class]){
  color:#1a73e8;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.webble-case p a:not([class]):hover,
.webble-case li a:not([class]):hover{color:#0d55b8}

/* En las secciones oscuras el azul de marca no contrasta */
.webble-case .results p a:not([class]),
.webble-case .conclusion p a:not([class]),
.webble-case .cta p a:not([class]){color:#8ab8f5}
.webble-case .results p a:not([class]):hover,
.webble-case .conclusion p a:not([class]):hover,
.webble-case .cta p a:not([class]):hover{color:#c2dbfb}
/* salvo la de Aparkate, que desde 2.2.0 es clara */
.aparkate-page .results p a:not([class]){color:#1a73e8}

/* ============================================================
   AIRE-AUTORIA · Piscinas Athena, ago 2026
   Su firma quedaba pegada a la banda de metricas (0 px). El
   componente compartido no trae padding propio: en Pereda lo pone
   pereda.css y en Ineo, Kuarere, BGE y Aparkate lo pone el
   <section class="author-wrap">. Piscinas no carga CSS propio, asi
   que va aqui acotado con .piscinas-page. Sin acotar, y con la
   especificidad necesaria para aplicarse, pisaba tambien a Pereda
   y le subia el hueco de 45 a 67 px.
   ============================================================ */
.piscinas-page .author-line{padding:44px 0 22px}
@media(max-width:760px){
  .piscinas-page .author-line{padding:30px 0 18px}
}

/* ============================================================
   OTROS-CASOS-PROMOVIDO · ago 2026
   Tarjetas del bloque «Sigue leyendo» (.otros / .ocase y familia).
   Vivian solo en ineo/kuarere/bge/aparkate. Se promueven para que
   Taquillea y Piscinas puedan usarlas. Las copias locales siguen
   cargando despues, asi que en esos cuatro no cambia nada.
   ============================================================ */
.webble-case .pend{display:inline-block;font-size:10.5px;font-weight:600;text-transform:uppercase;
  letter-spacing:.06em;color:var(--amber);background:var(--amber-light);
  border:1px dashed var(--amber);border-radius:100px;padding:2px 9px;
  vertical-align:middle;line-height:1.5;white-space:normal}
.webble-case .otros{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px}
.webble-case .ocase{display:block;background:#fff;border:1px solid var(--border);border-radius:16px;
  padding:26px 28px;transition:transform .3s ease,box-shadow .3s ease}
.webble-case .otros a.ocase[href^="/"]{border-bottom:1px solid var(--border);color:inherit;font-weight:400}
/* borde discontinuo naranja retirado a peticion de Manuel */
.webble-case .ocase:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(16,24,40,.09)}
.webble-case .ocase .ok{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.webble-case .ocase h3{font-size:19px;font-weight:600;margin:11px 0 8px;letter-spacing:-.014em;color:var(--navy)}
.webble-case .ocase p{font-size:14.5px;color:var(--muted);line-height:1.62}
.webble-case .ocase .oa{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:14px;
  font-weight:500;color:var(--blue)}
@media(max-width:1000px){
.webble-case .otros{grid-template-columns:1fr}
}
/* ==================================================================
   COLOR DE MARCA · Piscinas Athena · DETALLE COMPLETO
   Piscinas no tiene fichero propio, por eso su bloque vive aqui.
   Replica el sistema de pereda.css: el tono del cliente va en los
   acentos de contenido y en las superficies oscuras. Los botones,
   los .tag y los pasos intermedios de la cadena siguen en azul
   Webble, exactamente igual que en Pereda.
   ================================================================== */
.webble-case .piscinas-page{--client:#00b4fc;--client-mid:#007daf;--client-dark:#004864;--client-soft:#ebf7fc;--client-deep:#155d79;--client-abyss:#07202a;--client-panel:#103746;--client-lite:#7ecded;--client-mute:#98becd;--client-line:#88d3f2;--client-glow:#1d9bcd;--client-num:#a1dff7}

/* --- superficies claras --- */
.webble-case .piscinas-page .hero{background:radial-gradient(circle at 86% 20%,rgba(0,125,175,.20),transparent 30%),linear-gradient(180deg,#ebf7fc 0%,#fff 94%)}
.webble-case .piscinas-page h1 em,.webble-case .piscinas-page section.hero h1 em{color:var(--client-mid)}
.webble-case .piscinas-page .eyebrow-dot{background:var(--client-mid);box-shadow:0 0 0 5px rgba(0,125,175,.12)}
.webble-case .piscinas-page .metric strong,.webble-case .piscinas-page .metric b{color:var(--client-mid)}
.webble-case .piscinas-page .icon-box{background:var(--client-soft);color:var(--client-mid)}
.webble-case .piscinas-page .chain-final .chain-num,.webble-case .piscinas-page .chain-final .chain-icon{background:var(--client-mid)}
.webble-case .piscinas-page .intro-text a,.webble-case .piscinas-page .section-head p a,.webble-case .piscinas-page .impact-copy p a{color:var(--client-mid);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.webble-case .piscinas-page .author-line .av{background:var(--client-soft);border:1px solid rgba(0,125,175,.20);box-shadow:0 0 0 4px rgba(0,125,175,.07)}
.webble-case .piscinas-page .author-line .role{color:var(--client-mid);font-weight:600}
.webble-case .piscinas-page .author-line a{color:var(--client-mid);text-decoration:underline;text-underline-offset:2px}
.webble-case .piscinas-page .author-line a.partner-badge{color:var(--ink);text-decoration:none}
.webble-case .piscinas-page .faq-list summary::before{color:var(--client-mid)}

/* --- tarjeta oscura del hero (equivale a .pereda-case) --- */
.webble-case .piscinas-page .mock{background:linear-gradient(145deg,#155d79,#07202a)}
.webble-case .piscinas-page .mock-role{color:#98becd}
.webble-case .piscinas-page .mock-label{color:#7ecded}
.webble-case .piscinas-page .mock-search{background:rgba(136,211,242,.07);border-color:rgba(136,211,242,.30)}
.webble-case .piscinas-page .caret{background:#1d9bcd}
.webble-case .piscinas-page .mstep{background:rgba(136,211,242,.06)}
.webble-case .piscinas-page .mstep-n{background:rgba(29,155,205,.30);color:#a1dff7}
.webble-case .piscinas-page .mstep-t,.webble-case .piscinas-page .mstep-r{color:#98becd}
.webble-case .piscinas-page .mock-chip{background:rgba(136,211,242,.09);border-color:rgba(136,211,242,.16);color:#98becd}
.webble-case .piscinas-page .mock-foot{color:#98becd;border-top-color:rgba(136,211,242,.16)}

/* --- paneles oscuros interiores (equivale a .routing-insight) --- */
.webble-case .piscinas-page .data-flow,.webble-case .piscinas-page .diversification-summary{background:#103746}
/* ============ FIN COLOR DE MARCA · Piscinas Athena ============ */

/* Taquillea heredaba este aire de .piscinas-page; al separarse las
   clases hay que darselo por su cuenta.                            */
.webble-case .cucalon-page .author-line{padding:44px 0 22px}
@media(max-width:760px){.webble-case .cucalon-page .author-line{padding:30px 0 18px}}

/* CIFRA DE LA BANDA DE CREDENCIALES
   Va en <b> en unos y en <strong> en otros; el azul de Webble queda
   como red de seguridad si alguna pagina no definiera --client-mid. */
.webble-case .metric b,.webble-case .metric strong{color:var(--client-mid,#1a73e8)}

/* --- mas detalles con el tono del cliente (Piscinas) --------------
   Equivalencias con Pereda: .card-ico y .rn hacen de .icon-box,
   .fcard.is-key hace de .funnel-core (borde claro + aro) y .lnk-pend
   es un enlace de cuerpo de texto. Los bloques de "otros casos"
   (.ok, .oa) se dejan en azul Webble porque son de otros clientes. */
.webble-case .piscinas-page .card-ico{background:var(--client-soft);color:var(--client-mid)}
.webble-case .piscinas-page .rn{background:var(--client-soft);color:var(--client-mid)}
.webble-case .piscinas-page .fcard.is-key{border-color:#94d5f0;box-shadow:0 8px 22px rgba(0,125,175,.12)}
.webble-case .piscinas-page .lnk-pend{color:var(--client-mid)}

/* ===== SECCION AUDITORIA GRATUITA · casos de exito =====
   Sustituye a la antigua .cta oscura. Movil primero; desde 781px
   tablet y escritorio. Prefijado con .wbas para no chocar con
   Astra ni Elementor. El boton abre la ventana 11818.          */
.webble-case .wbas{--wbas-blue:#1a73e8;--wbas-blue-light:#e8f0fd;--wbas-green-light:#dcfce7;--wbas-border:#e5e7eb;--wbas-muted:#6b7280;--wbas-hint:#9ca3af;background:#fff;padding:0;color:#0A0E16;overflow:visible}
.webble-case .wbas *{box-sizing:border-box}
.webble-case .wbas .wbas-hero{padding:52px 22px 46px;text-align:center;max-width:none}
.webble-case .wbas .wbas-tag{display:inline-block;font-size:11.5px;font-weight:500;color:var(--wbas-blue);text-transform:uppercase;letter-spacing:.1em;background:var(--wbas-blue-light);padding:6px 15px;border-radius:20px;margin-bottom:20px}
.webble-case .wbas .wbas-hero h2{margin:0;font-size:31px;line-height:1.16;font-weight:500;letter-spacing:-.028em;color:#0A0E16}
.webble-case .wbas .wbas-hero p{margin:16px auto 0;max-width:560px;font-size:16px;line-height:1.62;color:var(--wbas-muted)}
.webble-case .wbas .wbas-caja{margin:30px 22px 46px;background:#fff;border:1px solid var(--wbas-border);border-radius:18px;padding:24px 20px 26px}
.webble-case .wbas .wbas-boton{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:56px;padding:0 20px;border:0;border-radius:12px;font-family:inherit;font-size:16.5px;font-weight:600;letter-spacing:-.005em;background:var(--wbas-blue);color:#fff;cursor:pointer;text-decoration:none;transition:background .18s,transform .12s}
.webble-case .wbas .wbas-boton:hover{background:#1765ce;color:#fff}
.webble-case .wbas .wbas-boton:active{transform:scale(.985)}
.webble-case .wbas .wbas-boton svg{width:17px;height:17px;flex:0 0 auto}
.webble-case .wbas .wbas-micro{margin:12px 0 0;text-align:center;font-size:13px;color:var(--wbas-hint);line-height:1.5}
.webble-case .wbas .wbas-k{margin:26px 0 0;padding:22px 0 0;border-top:1px solid #eef0f4;font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--wbas-hint)}
.webble-case .wbas .wbas-lista{margin:26px 0 0;padding:22px 0 0;border-top:1px solid #eef0f4;list-style:none}
.webble-case .wbas .wbas-k+.wbas-lista{margin-top:4px;padding-top:0;border-top:0}
.webble-case .wbas .wbas-lista li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;text-align:left;margin:0}
.webble-case .wbas .wbas-lista li+li{border-top:1px solid #f0f2f6}
.webble-case .wbas .wbas-lista li::before{content:none}
.webble-case .wbas .wbas-tick{flex:0 0 auto;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--wbas-green-light);display:flex;align-items:center;justify-content:center}
.webble-case .wbas .wbas-tick svg{width:12px;height:12px}
.webble-case .wbas .wbas-lista li span+span{font-size:14.8px;line-height:1.5;color:#3f4655}
.webble-case .wbas .wbas-pie{height:0}
@media (min-width:781px){.webble-case .wbas .wbas-hero{padding:66px 40px 22px;max-width:820px;margin:0 auto}.webble-case .wbas .wbas-hero h2{font-size:46px}.webble-case .wbas .wbas-hero p{font-size:17.5px}.webble-case .wbas .wbas-caja{max-width:620px;margin:34px auto 0;padding:30px 30px 32px}.webble-case .wbas .wbas-pie{height:66px}}
/* ===== FIN SECCION AUDITORIA GRATUITA ===== */

/* la seccion no depende del observador de scroll: siempre visible */
.webble-case .wbas .reveal{opacity:1;transform:none}

/* Astra pone todos los button en mayusculas: aqui no */
.webble-case .wbas .wbas-boton{text-transform:none;letter-spacing:-.005em}

/* El script de animacion marca los bloques con la clase "in", pero la
   hoja solo reconocia "is-visible". Resultado: casi toda la pagina se
   quedaba en opacity:0. Se acepta tambien "in".                      */
.webble-case .reveal.in{opacity:1;transform:none}
