/* Bloques de la web propia (usa las variables del tema: --brand, --accent, --bg, --ink, --r) */
.sb{margin:0;padding:0}.sb-wrap{max-width:1100px;margin:0 auto;padding:2rem 1rem}
.sb h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.1;margin:0 0 .6rem}.sb h2{font-size:clamp(1.4rem,3vw,2rem);margin:0 0 .8rem}.sb h3{margin:.4rem 0}
.sb p{margin:.4rem 0 1rem;line-height:1.6}
.sb-btn{display:inline-block;padding:.7rem 1.3rem;border-radius:var(--r);background:var(--brand);color:#fff;text-decoration:none;font-weight:700}
.sb-hero-in{display:flex;align-items:center}.sb-hero-in .sb-btn{background:var(--accent);color:#17212b}.sb-hero-in p{font-size:1.15rem;max-width:44rem;margin-left:auto;margin-right:auto}
.sb-hero-in[style*="text-align:left"] p{margin-left:0}.sb-hero-in .sb-wrap{width:100%}
.sb-empty{padding:2rem 1rem;text-align:center;color:var(--mute,#667585);border:1px dashed var(--line);border-radius:var(--r);margin:1rem auto}
.sb-ph{display:grid;place-items:center;min-height:140px;background:#8881;border:1px dashed var(--line);border-radius:var(--r);color:var(--mute,#667585);font-size:.9rem}
.sb-car{position:relative;overflow:hidden;height:var(--h)}.sb-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}.sb-track::-webkit-scrollbar{display:none}
.sb-slide{position:relative;flex:0 0 100%;scroll-snap-align:start;display:block;height:100%}.sb-slide img{width:100%;height:100%;object-fit:cover;display:block}
.sb-cap{position:absolute;left:0;right:0;bottom:0;padding:1.2rem 1rem .8rem;background:linear-gradient(transparent,#000a);color:#fff;font-weight:600}
.sb-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:#0008;color:#fff;font-size:1.6rem;cursor:pointer;line-height:1}.sb-nav.prev{left:.7rem}.sb-nav.next{right:.7rem}
.sb-dots{position:absolute;bottom:.6rem;left:0;right:0;display:flex;justify-content:center;gap:.4rem;pointer-events:none}.sb-dots i{width:8px;height:8px;border-radius:50%;background:#fff6}.sb-dots i.on{background:#fff}
.sb-it{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.sb-it.rev .sb-it-img{order:2}.sb-it-img img{width:100%;border-radius:var(--r);display:block}
.sb-gal{display:grid;grid-template-columns:repeat(var(--c),1fr);gap:.7rem}.sb-gal figure{margin:0}.sb-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);display:block}.sb-gal figcaption{font-size:.85rem;color:var(--mute,#667585);margin-top:.3rem}
.sb-feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.2rem;margin-top:1rem}.sb-feat>div{padding:1.2rem;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}.sb-feat p{margin:0}
.sb-ic{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--brand);color:#fff;font-size:1.25rem}
.sb-cta-in{padding:1rem 0}.sb-cta-in .sb-btn.inv{border:0}
.sb-video{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden}.sb-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sb-props-ph{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.sb-props-ph .sb-note{grid-column:1/-1;text-align:center;margin:0;color:var(--mute,#667585)}
@media (max-width:720px){.sb-it{grid-template-columns:1fr}.sb-it.rev .sb-it-img{order:0}.sb-gal{grid-template-columns:repeat(2,1fr)}.sb-props-ph{grid-template-columns:1fr}}

.sb-props-ph{grid-template-columns:repeat(4,1fr)}@media(max-width:720px){.sb-props-ph{grid-template-columns:repeat(2,1fr)}}

/* ───── Diseño: portada con efectos, secciones con fondo y marcadores de imagen ───── */
.sb h2:after{content:"";display:block;width:46px;height:4px;border-radius:4px;background:var(--accent);margin:.55rem 0 0}
.sb [style*="text-align:center"] h2:after,.sb h2[style*="text-align:center"]:after{margin-inline:auto}
.sb-hero h2:after,.sb-cta h2:after{display:none}
.sb-hero-in{position:relative;overflow:hidden;isolation:isolate}
.sb-hero-in:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.2),transparent 42%),radial-gradient(circle at 12% 88%,rgba(255,255,255,.1),transparent 38%);pointer-events:none}
.sb-hero-body{position:relative;z-index:2;padding-block:3.2rem 4.6rem}
.sb-hero-in.is-left .sb-hero-body{text-align:left}.sb-hero-in:not(.is-left) .sb-hero-body{text-align:center}
.sb-hero-in:not(.is-left) .sb-actions,.sb-hero-in:not(.is-left) .sb-stats{justify-content:center}
.sb-hero-in:not(.fx-none) h1{text-shadow:0 2px 24px rgba(0,0,0,.18)}
.sb-kicker{display:inline-block;margin-bottom:.9rem;padding:.3rem .85rem;border-radius:999px;border:1px solid currentColor;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.9;background:rgba(255,255,255,.1);backdrop-filter:blur(6px)}
.sb-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem}
.sb-btn{transition:transform .18s,box-shadow .18s}.sb-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.22)}
.sb-btn.ghost{background:transparent!important;color:inherit!important;border:2px solid currentColor;box-shadow:none}.sb-btn.ghost:hover{background:rgba(255,255,255,.14)!important}
.sb-stats{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;margin:2rem 0 0;padding:0;list-style:none}
.sb-stats li{display:flex;flex-direction:column;gap:.1rem;min-width:90px}.sb-stats b{font-size:clamp(1.5rem,3.4vw,2.2rem);line-height:1;font-weight:800}.sb-stats span{font-size:.82rem;opacity:.85;text-transform:uppercase;letter-spacing:.08em}
.sb-divider{position:absolute;left:0;bottom:-1px;width:100%;height:56px;z-index:3;fill:var(--bg);display:block}
/* efectos */
.sb-fx-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.fx-gradient{background-size:220% 220%!important;animation:sbGrad 14s ease-in-out infinite}
@keyframes sbGrad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.sb-shape{position:absolute;z-index:-1;border-radius:50%;background:rgba(255,255,255,.12);pointer-events:none;animation:sbFloat 16s ease-in-out infinite}
.sb-shape.s1{width:260px;height:260px;left:-70px;top:-60px}.sb-shape.s2{width:150px;height:150px;right:8%;top:14%;animation-delay:-4s;background:rgba(255,255,255,.16)}
.sb-shape.s3{width:90px;height:90px;left:18%;bottom:12%;animation-delay:-8s}.sb-shape.s4{width:340px;height:340px;right:-120px;bottom:-130px;animation-delay:-2s;background:rgba(255,255,255,.08)}
.sb-shape.s5{width:46px;height:46px;left:7%;bottom:34%;animation-delay:-11s;border-radius:12px;transform:rotate(20deg)}
@keyframes sbFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(18px,-26px,0)}}
.sb-waves{position:absolute;left:-6%;bottom:0;width:112%;height:46%;z-index:-1;pointer-events:none}
.sb-waves path{fill:rgba(255,255,255,.1);animation:sbWave 12s ease-in-out infinite alternate}.sb-waves .w2{fill:rgba(255,255,255,.14);animation-duration:9s;animation-direction:alternate-reverse}
@keyframes sbWave{from{transform:translateX(-4%)}to{transform:translateX(4%)}}
@media (prefers-reduced-motion:reduce){.fx-gradient,.sb-shape,.sb-waves path{animation:none}}
/* secciones con fondo */
.tone-soft{background:color-mix(in srgb,var(--brand) 7%,var(--bg))}
.tone-dark{background:color-mix(in srgb,var(--ink) 90%,var(--brand));color:#fff;--ink:#fff;--card:rgba(255,255,255,.08);--line:rgba(255,255,255,.2);--mute:rgba(255,255,255,.72)}
.tone-dark h2,.tone-dark h3,.tone-dark p{color:#fff}.tone-dark .sb-ic{background:var(--accent);color:#17212b}
/* tarjetas de ventajas */
.sb-feat>div{transition:transform .2s,box-shadow .2s}.sb-feat>div:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.1)}
.sb-ic{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 55%,var(--accent)));box-shadow:0 6px 14px color-mix(in srgb,var(--brand) 35%,transparent)}
/* llamado a la acción con volumen */
.sb-cta-in{position:relative;overflow:hidden;isolation:isolate;padding:1.6rem 0}
.sb-cta-in:before,.sb-cta-in:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.14);z-index:-1}
.sb-cta-in:before{width:320px;height:320px;left:-90px;top:-150px}.sb-cta-in:after{width:240px;height:240px;right:-60px;bottom:-130px}
/* marcadores de imagen / propiedad */
.sb-ph-art{position:relative;overflow:hidden;min-height:240px;border:0;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 22%,var(--bg)),color-mix(in srgb,var(--accent) 24%,var(--bg)));color:color-mix(in srgb,var(--brand) 55%,transparent)}
.sb-ph-art svg{width:72px;height:72px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sb-ph-card{min-height:150px;flex-direction:column;gap:.5rem}.sb-ph-card i{display:block;height:8px;border-radius:4px;width:55%;background:currentColor;opacity:.25}.sb-ph-card i+i{width:35%}
.sb-it-img img{box-shadow:0 18px 40px rgba(0,0,0,.14)}
.sb-hero-in.is-left p{margin-left:0;margin-right:auto}.sb-hero-in:not(.is-left) p{margin-left:auto;margin-right:auto}

/* El pie de página pega con la última sección (sin hueco cuando no hay formulario de contacto) */
.sb-page + footer.site{margin-top:0}

/* ───── Animaciones (solo con la clase sb-anim, que el sitio activa si el visitante no pidió «reducir movimiento») ───── */
.sb-anim .sb-hero-body>*{animation:sbRise .9s cubic-bezier(.22,.8,.3,1) both}
.sb-anim .sb-hero-body>:nth-child(2){animation-delay:.12s}.sb-anim .sb-hero-body>:nth-child(3){animation-delay:.24s}.sb-anim .sb-hero-body>:nth-child(4){animation-delay:.36s}.sb-anim .sb-hero-body>:nth-child(5){animation-delay:.5s}
@keyframes sbRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.sb-anim .sb h2,.sb-anim .sb-text p,.sb-anim .sb-feat>div,.sb-anim .sb .cards>*,.sb-anim .sb-gal figure,.sb-anim .sb-it-img,.sb-anim .sb-it-tx,.sb-anim .sb-cta-in .sb-wrap,.sb-anim .sb-contact>p,.sb-anim .sb-video,.sb-anim .sb-car{opacity:0;animation:sbFallback 0s 4s forwards}
.sb-anim .sb .sb-d{opacity:1;animation:none}
.sb-anim .sb-r{transform:translateY(30px);transition:opacity .75s cubic-bezier(.22,.8,.3,1),transform .75s cubic-bezier(.22,.8,.3,1);transition-delay:var(--d,0s)}
.sb-anim .sb-r.l{transform:translateX(-42px)}.sb-anim .sb-r.r{transform:translateX(42px)}.sb-anim .sb-r.z{transform:scale(.93)}
.sb-anim .sb .sb-r.in{opacity:1;transform:none;animation:none}
@keyframes sbFallback{to{opacity:1;transform:none}}
.sb-anim h2.sb-r:after{width:0;transition:width .8s .35s ease}.sb-anim h2.sb-r.in:after{width:46px}
.sb-anim .sb-hero-in .sb-btn:not(.ghost){position:relative;overflow:hidden}
.sb-anim .sb-hero-in .sb-btn:not(.ghost):after{content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);animation:sbShine 5s ease-in-out 1.8s infinite}
@keyframes sbShine{0%,55%{left:-70%}100%{left:140%}}
.sb-anim .sb-cta-in .sb-btn{animation:sbPulse 2.8s ease-out infinite}
@keyframes sbPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.5)}70%,100%{box-shadow:0 0 0 18px rgba(255,255,255,0)}}
.sb-anim .sb-kicker{animation:sbRise .9s cubic-bezier(.22,.8,.3,1) both,sbGlow 3.2s ease-in-out 1.2s infinite}
@keyframes sbGlow{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}50%{box-shadow:0 0 22px 2px rgba(255,255,255,.28)}}
/* efectos al pasar el mouse (siempre) */
.sb-ic{transition:transform .28s}.sb-feat>div:hover .sb-ic{transform:scale(1.14) rotate(-8deg)}
.sb-it-img{overflow:hidden;border-radius:var(--r)}.sb-it-img img{transition:transform .9s cubic-bezier(.22,.8,.3,1)}.sb-it-img:hover img{transform:scale(1.05)}
.sb .cards .card{transition:transform .28s,box-shadow .28s}.sb .cards .card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(0,0,0,.15)}
.sb-gal img{transition:transform .5s}.sb-gal figure:hover img{transform:scale(1.04)}
