/* Alfa Limpiezas · capa de diseño "azulejo" (se carga después de home.css / inner.css) */
:root{--line:#DCE3EE;--r:14px}

/* ---------- greca: borde de azulejo en dorado ---------- */
.greca{position:absolute;left:0;right:0;height:14px;pointer-events:none;
  background:linear-gradient(135deg,var(--albero) 25%,transparent 25%) -7px 0/14px 14px,
             linear-gradient(225deg,var(--albero) 25%,transparent 25%) -7px 0/14px 14px}
.hero-simple{position:relative}
.hero-simple::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;z-index:3;pointer-events:none;
  background:linear-gradient(135deg,var(--albero) 25%,transparent 25%) -7px 0/14px 14px,
             linear-gradient(225deg,var(--albero) 25%,transparent 25%) -7px 0/14px 14px}
.ft{position:relative}
.ft::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;
  background:linear-gradient(315deg,var(--albero) 25%,transparent 25%) -7px 0/14px 14px,
             linear-gradient(45deg,var(--albero) 25%,transparent 25%) -7px 0/14px 14px}

/* ---------- portadas ilustradas ---------- */
.cv{position:relative;overflow:hidden;background:var(--cv-bg);color:var(--cv-pt);isolation:isolate}
.cv::before{content:"";position:absolute;inset:-40px;z-index:-1;background:currentColor;opacity:var(--cv-op,.2);
  -webkit-mask:url(/assets/pattern.svg) 0 0/80px 80px;mask:url(/assets/pattern.svg) 0 0/80px 80px;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
a:hover>.cv::before,a:hover .cv::before{transform:translate(-26px,-26px)}
.cv .gi{position:absolute;right:18px;bottom:12px;width:104px;height:104px;color:var(--cv-ac);transform:rotate(-7deg);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.cv .gi svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round}
a:hover .cv .gi{transform:rotate(0deg) scale(1.08)}
.cv .gtag{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:8px;padding:7px 13px 7px 8px;border-radius:999px;background:var(--cv-chip);color:var(--cv-chipfg);font:700 .78rem/1 var(--f-body)}
.cv .gtag i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--cv-ac);color:var(--cv-bg)}
.cv .gtag i svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.v-navy{--cv-bg:#14294D;--cv-pt:#fff;--cv-op:.14;--cv-ac:#E3A93C;--cv-chip:rgba(255,255,255,.12);--cv-chipfg:#fff}
.v-blue{--cv-bg:#2F5AA8;--cv-pt:#fff;--cv-op:.16;--cv-ac:#fff;--cv-chip:rgba(12,24,48,.28);--cv-chipfg:#fff}
.v-gold{--cv-bg:#E3A93C;--cv-pt:#0C1830;--cv-op:.16;--cv-ac:#0C1830;--cv-chip:rgba(12,24,48,.12);--cv-chipfg:#0C1830}
.v-cream{--cv-bg:#ECE6D8;--cv-pt:#14294D;--cv-op:.12;--cv-ac:#2F5AA8;--cv-chip:#fff;--cv-chipfg:#14294D}
.v-gold .gtag i,.v-cream .gtag i{color:#fff}
.v-gold .gtag i{background:#0C1830;color:#E3A93C}

/* ---------- tarjetas de guía ---------- */
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gcard{display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s,border-color .25s}
.gcard:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(12,24,48,.14);border-color:var(--brand)}
.gcard .cv{aspect-ratio:16/9}
.gcard .gb{display:flex;flex-direction:column;gap:10px;padding:20px 22px 20px;flex:1}
.gcard h3{margin:0;font:700 1.12rem/1.3 var(--f-display);letter-spacing:-.01em;text-wrap:balance}
.gcard p{margin:0;color:var(--soft);font-size:.92rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gcard .gf{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;font-size:.85rem;font-weight:700;color:var(--soft)}
.gcard .go{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--cal-2);color:var(--anil);transition:background .2s,color .2s,transform .2s}
.gcard:hover .go{background:var(--albero);color:var(--ink);transform:translateX(3px)}
.gcard .go svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ggroup+.ggroup{margin-top:64px}
.ggroup>h2{font:800 clamp(1.5rem,2.4vw,2rem)/1.15 var(--f-display);letter-spacing:-.025em;margin:0 0 22px;display:flex;align-items:baseline;gap:14px}
.ggroup>h2 small{font:600 .95rem var(--f-body);color:var(--soft);letter-spacing:0}
.ggroup[hidden]{display:none}
.ggrid-rel{grid-template-columns:repeat(3,1fr)}

/* ---------- guía destacada ---------- */
.gfeat{display:grid;grid-template-columns:1.15fr 1fr;background:var(--anil);color:#fff;border-radius:18px;overflow:hidden;text-decoration:none;box-shadow:0 26px 60px rgba(12,24,48,.22);transition:transform .3s}
.gfeat:hover{transform:translateY(-4px)}
.gfeat .ph{position:relative;min-height:380px;background:var(--anil) center/cover no-repeat;isolation:isolate}
.gfeat .ph::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,41,77,.15),rgba(20,41,77,.9)),linear-gradient(0deg,rgba(20,41,77,.5),transparent 50%)}
.gfeat .ph::after{content:"";position:absolute;inset:0;z-index:-1;background:#fff;opacity:.1;-webkit-mask:url(/assets/pattern.svg) 0 0/80px 80px;mask:url(/assets/pattern.svg) 0 0/80px 80px}
.gfeat .tx{position:relative;padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:18px}
.gfeat .badge-f{align-self:flex-start;white-space:nowrap;display:inline-flex;gap:8px;align-items:center;background:var(--albero);color:var(--ink);font:800 .8rem/1 var(--f-body);padding:8px 14px;border-radius:999px}
.gfeat h2{margin:0;font:800 clamp(1.7rem,2.8vw,2.5rem)/1.1 var(--f-display);letter-spacing:-.03em;text-wrap:balance}
.gfeat p{margin:0;color:rgba(255,255,255,.82);font-size:1.05rem;line-height:1.55;max-width:30em}
.gfeat .btn{align-self:flex-start;margin-top:6px}
.gfeat .meta{color:rgba(255,255,255,.65);font-size:.88rem;font-weight:600}

/* ---------- filtros ---------- */
.gfilter{display:flex;flex-wrap:wrap;gap:10px;margin:44px 0 36px}
.gfilter button{font:700 .95rem/1 var(--f-body);padding:13px 20px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.gfilter button:hover{border-color:var(--brand)}
.gfilter button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.gfilter button span{opacity:.6;font-weight:600;margin-left:6px}

/* ---------- barrios como mosaicos ---------- */
.btiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.btile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;padding:18px;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;background:var(--cv-bg);isolation:isolate;transition:transform .25s,box-shadow .25s}
.btile::before{content:"";position:absolute;inset:-30px;z-index:-1;background:currentColor;opacity:.13;-webkit-mask:url(/assets/pattern.svg) 0 0/64px 64px;mask:url(/assets/pattern.svg) 0 0/64px 64px;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.btile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(12,24,48,.2)}
.btile:hover::before{transform:translate(-22px,-22px)}
.btile .pin{position:absolute;top:16px;right:16px;width:34px;height:34px;color:var(--cv-ac)}
.btile .pin svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.btile b{font:800 1.25rem/1.15 var(--f-display);letter-spacing:-.02em}
.btile small{margin-top:4px;font-size:.82rem;opacity:.8}
.btile.v-gold,.btile.v-cream{color:var(--ink)}
.btile.v-cream{color:var(--anil)}

/* ---------- iconos de servicio (sustituyen los ticks) ---------- */
.feature .badge{flex:0 0 46px;height:46px;width:46px;border-radius:12px;background:var(--anil);color:var(--albero);display:grid;place-items:center}
.feature .badge svg{width:23px;height:23px;stroke-width:1.7}
.feature{border-radius:var(--r);transition:transform .25s,box-shadow .25s,border-color .25s}
.feature:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(12,24,48,.1);border-color:var(--brand)}
/* "por qué nosotros": tarjetas oscuras sin párrafo */
.feature:not(:has(p)){position:relative;background:var(--anil);border-color:transparent;color:#fff;overflow:hidden;isolation:isolate;align-items:center;padding-top:22px;padding-bottom:22px}
.feature:not(:has(p))::before{content:"";position:absolute;inset:-20px;z-index:-1;background:#fff;opacity:.07;-webkit-mask:url(/assets/pattern.svg) 0 0/72px 72px;mask:url(/assets/pattern.svg) 0 0/72px 72px}
.feature:not(:has(p)) .badge{background:var(--albero);color:var(--ink)}
.feature:not(:has(p)) h4{color:#fff;font-size:1.05rem;line-height:1.35}

/* ---------- pasos ---------- */
.steps{position:relative;counter-reset:none}
.step{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:26px 22px 24px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.step:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(12,24,48,.12)}
.step .n{font:800 3.4rem/1 var(--f-display);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--brand);background:none;width:auto;height:auto;border-radius:0;display:block;margin-bottom:14px;box-shadow:none}
.step::after{content:"";position:absolute;right:-26px;top:-26px;width:96px;height:96px;background:var(--albero);opacity:.18;-webkit-mask:url(/assets/pattern.svg) 0 0/96px 96px;mask:url(/assets/pattern.svg) 0 0/96px 96px}
.step h4{margin:0 0 8px;font-size:1.08rem}

/* ---------- cabecera de guía: metadatos ---------- */
.hmeta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hmeta span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);color:#fff;font:700 .85rem/1 var(--f-body)}
.hmeta svg{width:15px;height:15px;fill:none;stroke:var(--albero);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- artículo ---------- */
.article-body h2{position:relative;padding-top:6px}
.article-body h2::before{content:"";display:block;width:44px;height:4px;border-radius:2px;background:var(--albero);margin-bottom:14px}
.article-body ul{padding-left:0;list-style:none}
.article-body ul li{position:relative;padding-left:26px;margin:.5em 0}
.article-body ul li::before{content:"";position:absolute;left:2px;top:.52em;width:9px;height:9px;background:var(--albero);transform:rotate(45deg);border-radius:1px}
.article-body .answer{border-radius:var(--r)}

/* ---------- portada: cifras ---------- */
.statement .st-text{min-width:0}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.st{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r);background:var(--anil);color:#fff;padding:22px 20px;display:flex;flex-direction:column;gap:6px}
.st::before{content:"";position:absolute;inset:-20px;z-index:-1;background:#fff;opacity:.08;-webkit-mask:url(/assets/pattern.svg) 0 0/72px 72px;mask:url(/assets/pattern.svg) 0 0/72px 72px}
.st b{font:800 clamp(2.1rem,3.4vw,3rem)/1 var(--f-display);letter-spacing:-.04em;color:var(--albero);font-variant-numeric:tabular-nums}
.st span{font-size:.92rem;line-height:1.3;color:rgba(255,255,255,.85)}
.st:nth-child(2){background:var(--brand)}
.st:nth-child(3){background:var(--brand)}
.st:nth-child(2) b,.st:nth-child(3) b{color:#fff}

/* ---------- portada: enlaces como guías ---------- */
.links-sec .ggrid{margin-top:8px}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .ggrid,.ggrid-rel{grid-template-columns:1fr 1fr}
  .btiles{grid-template-columns:1fr 1fr 1fr}
  .gfeat{grid-template-columns:1fr}
  .gfeat .ph{min-height:220px}
}
@media (max-width:620px){
  .ggrid,.ggrid-rel{grid-template-columns:1fr}
  .btiles{grid-template-columns:1fr 1fr}
  .gfilter{flex-wrap:nowrap;overflow-x:auto;margin-left:-20px;margin-right:-20px;padding:0 20px 6px;scrollbar-width:none}
  .gfilter::-webkit-scrollbar{display:none}
  .gfilter button{white-space:nowrap}
  .cv .gi{width:92px;height:92px}
  .stats{gap:10px}
  .st{padding:18px 16px}
}
@media (prefers-reduced-motion:reduce){.cv::before,.btile::before,.gcard,.gfeat,.feature,.step{transition:none!important}}

/* portada: bloque de cifras junto a la frase */
@media (min-width:981px){
  .statement .wrap{grid-template-columns:1.25fr 1fr;gap:72px;align-items:center}
}
@media (max-width:980px){
  .statement .wrap{display:block}
  .stats{margin-top:32px}
}
.why{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.why li{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r)}
.why .ai{flex:0 0 44px;height:44px;border-radius:12px;background:var(--anil);color:var(--albero);display:grid;place-items:center}
.why .ai svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.why b{display:block;font-size:1rem;margin-bottom:2px}
.why span:not(.ai){color:var(--soft);font-size:.93rem;line-height:1.45}
.panel .tag{align-self:flex-start;display:inline-block;background:rgba(12,24,48,.78);padding:7px 12px;border-radius:999px;letter-spacing:.1em}
@media (min-width:981px){.statement .sub{margin-top:24px;padding-left:20px}}
.feature .badge svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.feature .badge{background:var(--anil);border-radius:12px}
.feature .badge svg{color:var(--albero);width:23px;height:23px}
.feature:not(:has(p)) .badge{background:var(--albero)}
.feature:not(:has(p)) .badge svg{color:var(--ink)}
.zonas-wide .btiles,.article-body .btiles{margin-left:0}
@media (max-width:620px){.gcard .cv{aspect-ratio:2.1/1}}
