/*
Theme Name: ISE Soluciones
Theme URI: https://www.isesoluciones.com
Description: Tema hijo de Twenty Twenty-Five para Importadora de Soluciones Específicas ISE (Panamá).
Author: ISE / desarrollo
Template: twentytwentyfive
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.4
Version: 2.6.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: isesoluciones
*/

/* ═══════════════════════════════════
   0. RESET / LAYOUT BASE
   ═══════════════════════════════════ */
/* Breakpoints (max-width): 960 — tablet ancho (2 cols); 768 — móvil / nav; 520 — una columna */
html { overflow-x: hidden; }
.wp-site-blocks { gap:0!important }
main.wp-block-group { margin-top:0!important }
.wp-block-post-content.is-layout-flow { gap:0!important;row-gap:0!important;column-gap:0!important }
[id^="ise-"] { scroll-margin-top:5rem }

/* ═══════════════════════════════════
   1. DESIGN TOKENS
   ═══════════════════════════════════ */
:root {
	--ise-brand: #062a47;
	--ise-brand-mid: #0b3a5c;
	--ise-dark: #020617;
	--ise-accent: #0d9488;
	--ise-accent-light: #5eead4;
	--ise-muted: #475569;
	--ise-light: #f8fafc;
	--ise-surface: #f1f5f9;
	--ise-radius: 1rem;
	--ise-radius-lg: 1.5rem;
	--ise-section-py: clamp(4rem,10vw,7rem);
	--ise-container: min(72rem, 90vw);
	--ise-transition: .35s cubic-bezier(.22,1,.36,1);
}

/* ═══════════════════════════════════
   2. TYPOGRAPHY UTILS
   ═══════════════════════════════════ */
.ise-label {
	display:inline-block; padding:.35rem .9rem; border-radius:999px;
	font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
	background:rgba(13,148,136,.1); color:var(--ise-accent); margin-bottom:.75rem;
}
.ise-label--light { background:rgba(94,234,212,.12); color:#0f766e }

.ise-h2 {
	font-family:var(--wp--preset--font-family--ise-heading,sans-serif);
	font-size:clamp(1.75rem,4vw,2.75rem); font-weight:800; letter-spacing:-.02em;
	line-height:1.15; color:var(--ise-brand); margin:0 0 1rem;
}
.ise-h2--light { color:var(--ise-light) }
.ise-h2 em { font-style:normal; color:var(--ise-accent) }
.ise-h2--light em { color:var(--ise-accent-light) }

/* ═══════════════════════════════════
   3. BUTTONS
   ═══════════════════════════════════ */
.ise-btn {
	display:inline-flex; align-items:center; gap:.4rem; padding:.75rem 1.5rem;
	border-radius:999px; font-size:.9rem; font-weight:700; text-decoration:none;
	transition: transform var(--ise-transition), box-shadow var(--ise-transition), background var(--ise-transition);
	cursor:pointer; border:2px solid transparent;
}
.ise-btn:hover { transform:translateY(-2px) }

.ise-btn--primary { background:var(--ise-accent); color:#fff; box-shadow:0 4px 24px rgba(13,148,136,.35) }
.ise-btn--primary:hover { background:#0f766e; color:#fff; box-shadow:0 8px 32px rgba(13,148,136,.45) }

.ise-btn--ghost { background:transparent; border-color:rgba(255,255,255,.72); color:#fff }
.ise-btn--ghost:hover { background:rgba(255,255,255,.12); border-color:#fff; color:#fff }

.ise-btn--dark { background:var(--ise-brand); color:#fff; box-shadow:0 4px 16px rgba(6,42,71,.25) }
.ise-btn--dark:hover { background:var(--ise-brand-mid); color:#fff }

.ise-btn--accent { background:var(--ise-accent-light); color:var(--ise-dark); font-weight:800 }
.ise-btn--accent:hover { background:#99f6e4; color:var(--ise-dark) }

/* ═══════════════════════════════════
   4. REVEAL ANIMATIONS
   ═══════════════════════════════════ */
.ise-reveal {
	opacity:0; transform:translateY(32px);
	transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}
.ise-reveal.ise-visible {
	opacity:1; transform:translateY(0);
}
@media(prefers-reduced-motion:reduce){
	.ise-reveal { opacity:1; transform:none; transition:none }
}

/* ═══════════════════════════════════
   5. HEADER
   ═══════════════════════════════════ */
.ise-site-header { margin-bottom:0!important }
.ise-topbar { border-bottom:1px solid rgba(255,255,255,.12) }
@media(max-width:768px) {
	.ise-topbar { display:none!important }
}
.ise-topbar p,.ise-topbar a { color:#fff!important; font-size:.8125rem!important; font-weight:500; letter-spacing:.02em }
.ise-topbar a:hover { color:#e0f2fe!important }

.ise-header-main {
	z-index:100;
	box-shadow:0 12px 40px rgba(0,0,0,.18);
	background:linear-gradient(180deg,#020617 0%,#0a1628 100%)!important;
	border-bottom:1px solid rgba(94,234,212,.15);
}

/* JS añade .is-fixed cuando la topbar sale de la vista.
   Importante: no usar transform aquí — con transform, los hijos position:fixed del bloque
   Navigation (overlay del menú móvil) se anclan al header en lugar del viewport y el menú
   queda recortado / la X se superpone a los enlaces. */
.ise-header-main.is-fixed {
	position:fixed;
	top:0;
	left:0;
	width:100%;
}
body.admin-bar .ise-header-main.is-fixed { top:32px }
@media screen and (max-width:782px) {
	body.admin-bar .ise-header-main.is-fixed { top:46px }
}
/* Menú móvil abierto: subir el stacking del header para que el overlay (z-index alto del core)
   quede por encima de la burbuja WhatsApp (99990) y del resto de la página */
html.has-modal-open .ise-header-main {
	z-index:100001;
}

/* Spacer insertado por JS para evitar salto de contenido */
.ise-header-spacer { display:none }
.ise-header-spacer.is-active { display:block }
.ise-header-main .ise-header-logo,
.ise-header-main .ise-header-logo .custom-logo-link { display:block; line-height:0 }
.ise-header-main .ise-header-logo img,
.ise-header-main .ise-header-logo .custom-logo {
	height:auto;
	max-height:52px;
	width:auto;
	max-width:min(280px,46vw);
	object-fit:contain;
	vertical-align:middle;
}
.ise-header-main .ise-header-logo .custom-logo-link { outline-offset:4px }
.ise-header-main .wp-block-navigation .wp-block-navigation-item__content { border-radius:999px; padding:.35rem .7rem; font-weight:600; font-size:.875rem; color:#f1f5f9!important; transition:background .2s,color .2s }
.ise-header-main .wp-block-navigation .wp-block-navigation-item__content:hover { background:rgba(94,234,212,.12); color:#fff!important }
.ise-header-cta .wp-block-button__link { padding:.45rem 1.1rem!important; font-size:.8125rem!important; font-weight:700!important; letter-spacing:.04em; text-transform:uppercase; background:#5eead4!important; color:#041f33!important; border:none!important }
.ise-header-cta .wp-block-button__link:hover { background:#ccfbf1!important; color:#020617!important }
@media(max-width:768px) {
	.ise-header-main .ise-header-logo img,
	.ise-header-main .ise-header-logo .custom-logo { max-height:44px; max-width:min(200px,58vw) }
	.ise-header-main .ise-header-cta .wp-block-button__link { padding:.4rem .85rem!important; font-size:.75rem!important; min-height:44px; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center }
}

/* ═══════════════════════════════════
   6. HERO FULL-WIDTH
   ═══════════════════════════════════ */
.ise-hero-wrap { margin:0!important }
.has-ise-hero-gradient-background,.ise-hero-wrap.has-background,.ise-site-footer.has-background { background:linear-gradient(152deg,#041f33 0%,#0b3a5c 38%,#0c5c6e 72%,#0e7490 100%)!important }

/* --- Hero: base layout --- */
.ise-hero-full {
	position:relative; display:flex; flex-direction:column; justify-content:center;
	max-width:var(--ise-container); margin:0 auto;
	padding:clamp(3rem,8vw,6rem) clamp(1.25rem,5vw,3rem);
	min-height:min(85vh,700px);
}
.ise-hero-full--video {
	max-width:none;
	padding-left:0;
	padding-right:0;
}

/* --- Hero: video de fondo --- */
.ise-hero-video {
	position:absolute; inset:0; overflow:hidden; z-index:0;
}
.ise-hero-video__el {
	position:absolute; top:50%; left:50%;
	min-width:100%; min-height:100%;
	width:auto; height:auto;
	transform:translate(-50%,-50%);
	object-fit:cover;
}
.ise-hero-video__overlay {
	position:absolute; inset:0;
	background:
		linear-gradient(to right,
			rgba(4,31,51,.96) 0%,
			rgba(4,31,51,.92) 25%,
			rgba(11,58,92,.72) 50%,
			rgba(12,92,110,.45) 75%,
			rgba(14,116,144,.30) 100%
		);
	mix-blend-mode:normal;
}
.ise-hero-video__vignette {
	position:absolute; inset:0;
	background:
		linear-gradient(to bottom, rgba(4,31,51,.5) 0%, transparent 20%, transparent 80%, rgba(4,31,51,.6) 100%);
}

/* --- Hero: anillos decorativos flotantes --- */
.ise-hero-full__rings {
	position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:1;
}
.ise-hero-ring {
	position:absolute; opacity:.6;
}
.ise-hero-ring--1 {
	width:clamp(300px,50vw,550px); height:auto;
	top:-8%; right:-5%;
	animation:ise-ring-spin 60s linear infinite;
}
.ise-hero-ring--2 {
	width:clamp(200px,35vw,400px); height:auto;
	bottom:5%; right:10%;
	animation:ise-ring-spin 45s linear infinite reverse;
}
@keyframes ise-ring-spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

/* --- Hero: contenido sobre video --- */
.ise-hero-full--video .ise-hero-full__content {
	position:relative; z-index:2;
	max-width:var(--ise-container);
	width:100%;
	margin:0 auto;
	padding-left:clamp(1.25rem,5vw,3rem);
	padding-right:clamp(1.25rem,5vw,3rem);
}
.ise-hero-full__content { position:relative; z-index:2; max-width:640px }
.ise-hero-full__tag { font-size:.72rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:#ecfdf5; margin:0 0 1rem;
	text-shadow:0 1px 6px rgba(0,0,0,.4);
}
.ise-hero-full__title { font-family:var(--wp--preset--font-family--ise-heading,sans-serif); font-size:clamp(2rem,5vw,3.5rem); font-weight:800; line-height:1.08; color:#fff; margin:0 0 1.25rem;
	text-shadow:0 2px 20px rgba(0,0,0,.35);
}
/* Color sólido (WCAG) en lugar de gradiente recortado en texto */
.ise-hero-full__title span { color:#7dd3fc }
.ise-hero-full__sub { font-size:clamp(.95rem,1.8vw,1.1rem); line-height:1.7; color:#f1f5f9; margin:0 0 1.5rem; max-width:520px;
	text-shadow:0 1px 8px rgba(0,0,0,.3);
}
.ise-hero-full__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-bottom:2.5rem }

.ise-hero-full__stats { display:flex; gap:2rem; flex-wrap:wrap }
.ise-hero-stat { text-align:left }
.ise-hero-stat strong { display:block; font-family:var(--wp--preset--font-family--ise-heading,sans-serif); font-size:clamp(1.5rem,3vw,2.25rem); font-weight:800; color:#fff; line-height:1; text-shadow:0 2px 12px rgba(0,0,0,.3) }
.ise-hero-stat span { font-size:.75rem; font-weight:600; color:#e2e8f0; text-transform:uppercase; letter-spacing:.1em }

@media(max-width:768px) {
	.ise-hero-full--video { min-height:auto; padding-top:3rem; padding-bottom:3rem }
	.ise-hero-ring--1 { width:220px; top:-5%; right:-15% }
	.ise-hero-ring--2 { display:none }
	.ise-hero-full__stats { gap:1rem 1.25rem; justify-content:space-between; width:100%; max-width:100% }
	.ise-hero-stat { flex:1 1 30%; min-width:0; text-align:center }
	.ise-hero-stat span { font-size:.68rem; letter-spacing:.06em }
}

/* ═══════════════════════════════════
   7. MARQUEE
   ═══════════════════════════════════ */
.ise-marquee { overflow:hidden; background:#020617; border-block:1px solid rgba(94,234,212,.2); margin:0!important }
/* 6 copias idénticas: el ancho total supera monitores ultraanchos y el bucle no muestra huecos */
.ise-marquee .ise-marquee__inner {
	display:flex;
	width:max-content;
	flex-wrap:nowrap;
	animation:ise-marquee-scroll 28s linear infinite;
	will-change:transform;
}
.ise-marquee__chunk {
	flex-shrink:0;
	padding:.7rem 2rem .7rem 0;
	font-family:var(--wp--preset--font-family--ise-heading,sans-serif);
	font-size:clamp(.78rem,1.6vw,.9rem);
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:#e2e8f0;
	white-space:nowrap;
}
.ise-marquee__dot { color:#5eead4; padding:0 .5rem }
@keyframes ise-marquee-scroll { from{transform:translateX(0)} to{transform:translateX(calc(-100% / 6))} }
@media(prefers-reduced-motion:reduce) { .ise-marquee .ise-marquee__inner { animation:none; flex-wrap:wrap; justify-content:center; width:100% } .ise-marquee__chunk { white-space:normal; text-align:center; padding:.75rem 1rem } }

/* ═══════════════════════════════════
   8. QUIÉNES SOMOS (About)
   ═══════════════════════════════════ */
.ise-about {
	display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,4rem); align-items:center;
	max-width:var(--ise-container); margin:0 auto; padding:var(--ise-section-py) clamp(1.25rem,5vw,3rem);
}
@media(max-width:768px) { .ise-about { grid-template-columns:1fr } }

.ise-about__content p { color:var(--ise-muted); font-size:1rem; line-height:1.75; margin:0 0 1.25rem }
.ise-about__content strong { color:var(--ise-brand) }

.ise-icon-list { list-style:none; padding:0; margin:0 0 1.5rem }
.ise-icon-list li { display:flex; align-items:center; gap:.65rem; padding:.45rem 0; font-size:.95rem; color:var(--ise-muted); border-bottom:1px solid rgba(6,42,71,.06) }
.ise-icon-list li:last-child { border-bottom:none }
.ise-icon-list svg { flex-shrink:0 }

.ise-img-placeholder { border-radius:var(--ise-radius-lg); overflow:hidden; box-shadow:0 20px 60px rgba(6,42,71,.15) }
.ise-img-placeholder svg,
.ise-img-placeholder img,
.ise-img-placeholder picture { width:100%; height:auto; display:block; vertical-align:middle }
.ise-img-placeholder picture img { aspect-ratio:4/3; object-fit:cover }
.ise-img-placeholder img { aspect-ratio:4/3; object-fit:cover }

/* ═══════════════════════════════════
   8½. MARCAS (Brand Marquee)
   ═══════════════════════════════════ */
.ise-section--brands { background:#fff }

.ise-brands {
	max-width:var(--ise-container);
	margin:0 auto;
	padding:var(--ise-section-py) clamp(1.25rem,5vw,3rem);
}
.ise-brands__header { text-align:center; margin-bottom:3rem }
.ise-brands__sub {
	color:var(--ise-muted); font-size:1.05rem; line-height:1.7;
	max-width:520px; margin:.6rem auto 0;
}

.ise-brands__marquee {
	position:relative;
	overflow:hidden;
	padding:2rem 0;
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
	mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.ise-brands__track {
	display:flex;
	align-items:center;
	/* Mismo hueco entre marcas: cada logo va en un “slot” de ancho fijo + gap fijo (ignora el blanco del PNG). */
	gap:clamp(1rem,2.5vw,1.75rem);
	width:max-content;
	animation:ise-brands-scroll 35s linear infinite;
}
.ise-brands__track img {
	display:block;
	flex:0 0 auto;
	width:clamp(7.5rem,14vw,11rem);
	min-width:clamp(7.5rem,14vw,11rem);
	max-width:clamp(7.5rem,14vw,11rem);
	height:clamp(3rem,7vw,4.25rem);
	object-fit:contain;
	object-position:center;
	box-sizing:border-box;
	filter:grayscale(100%) opacity(.55);
	transition:filter .4s ease, transform .4s ease;
}
@media(hover:hover) {
	.ise-brands__track img:hover {
		filter:grayscale(0%) opacity(1);
		transform:scale(1.12);
	}
	.ise-brands__marquee:hover .ise-brands__track {
		animation-play-state:paused;
	}
}
@keyframes ise-brands-scroll {
	0%   { transform:translateX(0) }
	100% { transform:translateX(-50%) }
}
@media(prefers-reduced-motion:reduce) {
	.ise-brands__track { animation:none; flex-wrap:wrap; justify-content:center; width:auto; gap:1.25rem }
}

.ise-brands__count {
	text-align:center;
	color:var(--ise-muted);
	font-size:.95rem;
	margin-top:1.5rem;
	line-height:1.6;
}
.ise-brands__count strong {
	color:var(--ise-accent);
	font-family:var(--wp--preset--font-family--ise-heading,sans-serif);
	font-size:1.15rem;
}

/* ═══════════════════════════════════
   9. PRODUCTOS (Products)
   ═══════════════════════════════════ */
.ise-section--dark { background:linear-gradient(165deg,#041f33 0%,#0b3a5c 50%,#0e5c6e 100%) }

.ise-products,.ise-projects,.ise-contact {
	max-width:var(--ise-container); margin:0 auto; padding:var(--ise-section-py) clamp(1.25rem,5vw,3rem);
}

.ise-products__header { margin-bottom:2.5rem }
.ise-products__intro { color:#94a3b8; font-size:1rem; line-height:1.7; max-width:540px }

.ise-products__grid {
	display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem;
}
@media(max-width:960px) { .ise-products__grid { grid-template-columns:repeat(2,1fr) } }
@media(max-width:520px) { .ise-products__grid { grid-template-columns:1fr } }

.ise-product-card {
	display:flex; flex-direction:column; padding:1.75rem; border-radius:var(--ise-radius-lg);
	background:rgba(255,255,255,.04); border:1px solid rgba(94,234,212,.1);
	text-decoration:none; color:#fff;
	transition:transform var(--ise-transition),background var(--ise-transition),border-color var(--ise-transition);
}
.ise-product-card:hover { transform:translateY(-6px); background:rgba(94,234,212,.08); border-color:rgba(94,234,212,.3); color:#fff }

.ise-product-card__icon { width:48px; height:48px; margin-bottom:1rem; color:var(--ise-accent-light) }
.ise-product-card__icon svg { width:100%; height:100% }
.ise-product-card h3 { font-size:1.1rem; font-weight:700; margin:0 0 .5rem; color:#fff }
.ise-product-card p { font-size:.875rem; color:#94a3b8; line-height:1.6; margin:0; flex:1 }
.ise-product-card__arrow { font-size:1.25rem; color:var(--ise-accent-light); margin-top:1rem; opacity:0; transform:translateX(-8px); transition:opacity .3s,transform .3s }
.ise-product-card:hover .ise-product-card__arrow { opacity:1; transform:translateX(0) }

.ise-products__cta,.ise-projects__cta,.ise-services__cta { margin-top:2.5rem; text-align:center }

/* ═══════════════════════════════════
   10. SERVICIOS (Services)
   ═══════════════════════════════════ */
.ise-services,.ise-sectors,.ise-clients {
	max-width:var(--ise-container); margin:0 auto; padding:var(--ise-section-py) clamp(1.25rem,5vw,3rem);
}
.ise-services__header { margin-bottom:2.5rem }

.ise-services__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem }
@media(max-width:960px) { .ise-services__grid { grid-template-columns:repeat(2,1fr) } }
@media(max-width:520px) { .ise-services__grid { grid-template-columns:1fr } }

.ise-service-card {
	padding:2rem 1.5rem; border-radius:var(--ise-radius-lg); background:#fff;
	border:1px solid rgba(6,42,71,.08); position:relative; overflow:hidden;
	cursor:default;
	transition:
		transform var(--ise-transition),
		box-shadow var(--ise-transition),
		background .35s ease,
		border-color .35s ease;
}
.ise-service-card__number,
.ise-service-card h3,
.ise-service-card p {
	transition:color .35s ease;
}

@media (hover:hover) {
	.ise-service-card:hover,
	.ise-service-card:focus-within {
		transform:translateY(-4px);
		box-shadow:0 18px 50px rgba(13,148,136,.28);
		background:linear-gradient(145deg,#0f766e,#0d9488,#14b8a6);
		border-color:transparent;
	}
	.ise-service-card:hover .ise-service-card__number,
	.ise-service-card:focus-within .ise-service-card__number { color:rgba(255,255,255,.22) }
	.ise-service-card:hover h3,
	.ise-service-card:focus-within h3 { color:#fff }
	.ise-service-card:hover p,
	.ise-service-card:focus-within p { color:rgba(241,245,249,.92) }
}

.ise-service-card__number { font-family:var(--wp--preset--font-family--ise-heading,sans-serif); font-size:2.5rem; font-weight:800; color:rgba(13,148,136,.12); line-height:1; margin-bottom:.75rem }
.ise-service-card h3 { font-size:1.05rem; font-weight:700; color:var(--ise-brand); margin:0 0 .5rem }
.ise-service-card p { font-size:.875rem; color:var(--ise-muted); line-height:1.65; margin:0 }

/* .ise-service-card--highlight sin reglas: evita verde fijo si el HTML en BD aún la incluye */

/* ═══════════════════════════════════
   11. PROYECTOS (Projects)
   ═══════════════════════════════════ */
.ise-projects__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2rem }
@media(max-width:960px) { .ise-projects__grid { grid-template-columns:repeat(2,1fr) } }
@media(max-width:520px) { .ise-projects__grid { grid-template-columns:1fr } }

.ise-project-card {
	border-radius:var(--ise-radius-lg); overflow:hidden; background:rgba(255,255,255,.04); border:1px solid rgba(94,234,212,.1);
	transition:transform var(--ise-transition),border-color var(--ise-transition);
}
.ise-project-card:hover { transform:translateY(-6px); border-color:rgba(94,234,212,.3) }
.ise-project-card__img svg,
.ise-project-card__img img,
.ise-project-card__img picture { width:100%; height:auto; display:block; vertical-align:middle }
.ise-project-card__img img { aspect-ratio:400/220; object-fit:cover }
.ise-project-card__body { padding:1.25rem 1.5rem }
.ise-project-card__body h3 { font-size:1rem; font-weight:700; color:#fff; margin:0 0 .35rem }
.ise-project-card__body p { font-size:.85rem; color:#94a3b8; margin:0; line-height:1.5 }

/* ═══════════════════════════════════
   12. SECTORES (Sector Cards)
   ═══════════════════════════════════ */
.ise-sectors__header { margin-bottom:2.5rem }
.ise-sectors__sub { color:var(--ise-muted); font-size:1.05rem; line-height:1.7; max-width:520px; margin:.5rem 0 0 }

.ise-sectors__grid {
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:1rem;
}
@media(max-width:1060px) { .ise-sectors__grid { grid-template-columns:repeat(3,1fr) } }
@media(max-width:640px)  { .ise-sectors__grid { grid-template-columns:repeat(2,1fr) } }
@media(max-width:400px)  { .ise-sectors__grid { grid-template-columns:1fr } }

.ise-sectors__cta { margin-top:2.5rem; text-align:center }

.ise-sector-card {
	position:relative;
	display:flex; flex-direction:column; align-items:flex-start;
	padding:1.5rem 1.25rem 1.75rem;
	border-radius:var(--ise-radius-lg);
	background:#fff;
	border:1px solid rgba(6,42,71,.07);
	text-decoration:none;
	overflow:hidden;
	transition:
		transform .3s cubic-bezier(.4,0,.2,1),
		box-shadow .3s cubic-bezier(.4,0,.2,1),
		background .4s ease,
		border-color .4s ease;
}
.ise-sector-card::before {
	content:'';
	position:absolute; inset:0;
	background:linear-gradient(145deg,#0f766e,#0d9488,#14b8a6);
	opacity:0;
	transition:opacity .4s ease;
	z-index:0;
}
.ise-sector-card > * { position:relative; z-index:1 }

.ise-sector-card__icon {
	width:2.75rem; height:2.75rem;
	display:flex; align-items:center; justify-content:center;
	border-radius:.75rem;
	background:rgba(13,148,136,.08);
	color:var(--ise-accent);
	margin-bottom:1rem;
	transition:background .35s ease, color .35s ease, transform .35s ease;
}
.ise-sector-card__icon svg { width:1.5rem; height:1.5rem }

.ise-sector-card h3 {
	font-size:.95rem; font-weight:700;
	color:var(--ise-brand); margin:0 0 .35rem;
	transition:color .35s ease;
}
.ise-sector-card p {
	font-size:.8rem; color:var(--ise-muted);
	line-height:1.55; margin:0; flex:1;
	transition:color .35s ease;
}
.ise-sector-card__arrow {
	display:inline-block; margin-top:.75rem;
	font-size:1.1rem; font-weight:700;
	color:var(--ise-accent);
	opacity:0; transform:translateX(-6px);
	transition:opacity .3s ease, transform .3s ease, color .3s ease;
}

@media(hover:hover) {
	.ise-sector-card:hover {
		transform:translateY(-6px);
		box-shadow:0 20px 50px rgba(13,148,136,.22);
		border-color:transparent;
	}
	.ise-sector-card:hover::before { opacity:1 }
	.ise-sector-card:hover .ise-sector-card__icon {
		background:rgba(255,255,255,.18); color:#fff; transform:scale(1.08);
	}
	.ise-sector-card:hover h3 { color:#fff }
	.ise-sector-card:hover p { color:rgba(241,245,249,.88) }
	.ise-sector-card:hover .ise-sector-card__arrow {
		opacity:1; transform:translateX(0); color:#fff;
	}
}

/* Tags legacy (página sectores.html) */
.ise-sectors__tags { display:flex; flex-wrap:wrap; gap:.6rem; margin:1.5rem 0 2rem }
.ise-tag {
	display:inline-block; padding:.55rem 1.15rem; border-radius:999px;
	font-size:.85rem; font-weight:600; color:var(--ise-brand);
	background:#fff; border:1px solid rgba(6,42,71,.1);
	transition:transform .25s,background .25s,color .25s;
}
.ise-tag:hover { transform:translateY(-2px); background:var(--ise-accent); color:#fff; border-color:var(--ise-accent) }

/* ═══════════════════════════════════
   13. CLIENTES v2 (Dual Marquee)
   ═══════════════════════════════════ */
.ise-section--clients { background:#fff }

.ise-clients-v2 {
	max-width:var(--ise-container);
	margin:0 auto;
	padding:var(--ise-section-py) clamp(1.25rem,5vw,3rem);
}
.ise-clients-v2__header { text-align:center; margin-bottom:2.5rem }
.ise-clients-v2__sub {
	color:var(--ise-muted); font-size:1.05rem; line-height:1.7;
	max-width:520px; margin:.6rem auto 0;
}

.ise-clients-v2__tag {
	font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
	color:var(--ise-accent); margin:0 0 .5rem; padding-left:clamp(.5rem,2vw,1rem);
}

.ise-clients-v2__marquee {
	position:relative;
	overflow:hidden;
	padding:1rem 0;
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
	mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
	margin-bottom:1.5rem;
}
.ise-clients-v2__track {
	display:flex;
	align-items:center;
	gap:clamp(1rem,2.5vw,1.75rem);
	width:max-content;
	animation:ise-clients-scroll 30s linear infinite;
}
.ise-clients-v2__marquee--reverse .ise-clients-v2__track {
	animation-name:ise-clients-scroll-rev;
	animation-duration:38s;
}
.ise-clients-v2__track img {
	display:block;
	flex:0 0 auto;
	width:clamp(7.5rem,14vw,11rem);
	min-width:clamp(7.5rem,14vw,11rem);
	max-width:clamp(7.5rem,14vw,11rem);
	height:clamp(3rem,7vw,4.25rem);
	object-fit:contain;
	object-position:center;
	filter:grayscale(100%) opacity(.5);
	transition:filter .4s ease, transform .4s ease;
}
@media(hover:hover) {
	.ise-clients-v2__track img:hover {
		filter:grayscale(0%) opacity(1);
		transform:scale(1.1);
	}
	.ise-clients-v2__marquee:hover .ise-clients-v2__track {
		animation-play-state:paused;
	}
}
@keyframes ise-clients-scroll {
	0%   { transform:translateX(0) }
	100% { transform:translateX(-50%) }
}
@keyframes ise-clients-scroll-rev {
	0%   { transform:translateX(-50%) }
	100% { transform:translateX(0) }
}
@media(prefers-reduced-motion:reduce) {
	.ise-clients-v2__track { animation:none; flex-wrap:wrap; justify-content:center; width:auto; gap:1.25rem }
}

.ise-clients-v2__cta { text-align:center; margin-top:1rem }

/* Legacy (inner pages) */
.ise-clients__logos { display:flex; flex-wrap:wrap; gap:1rem; margin:1.5rem 0 1.5rem }
.ise-client-logo {
	flex:1 1 120px; min-height:80px; display:flex; align-items:center; justify-content:center;
	border-radius:var(--ise-radius); background:#fff; border:1px solid rgba(6,42,71,.08);
	transition:transform .25s,box-shadow .25s;
}
.ise-client-logo:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(6,42,71,.1) }
.ise-client-logo span { font-weight:700; color:var(--ise-brand-mid); font-size:.9rem }
.ise-clients__note { color:var(--ise-muted); font-size:.9rem; line-height:1.7; margin-bottom:1.5rem }

/* ═══════════════════════════════════
   14. CONTACTO
   ═══════════════════════════════════ */
.ise-contact { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,4rem); align-items:center }
@media(max-width:768px) { .ise-contact { grid-template-columns:1fr } }

.ise-contact__content p { color:#cbd5e1; font-size:1rem; line-height:1.75; margin:0 0 1.5rem }
.ise-contact__info { display:flex; flex-direction:column; gap:.75rem; margin-bottom:1.75rem }
.ise-contact__item { display:flex; align-items:flex-start; gap:.75rem; font-size:.9rem; color:#cbd5e1 }
.ise-contact__item a { color:var(--ise-accent-light); text-decoration:none; font-weight:600 }
.ise-contact__item a:hover { color:#fff; text-decoration:underline }
.ise-contact__actions { display:flex; flex-wrap:wrap; gap:.75rem }

.ise-contact__map-placeholder { border-radius:var(--ise-radius-lg); overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.2) }
.ise-contact__map-placeholder svg { width:100%; height:auto; display:block }

.ise-map-embed__frame,
.ise-img-placeholder .ise-map-embed__frame,
.ise-contact__map-placeholder .ise-map-embed__frame {
	width:100%;
	min-height:240px;
	height:clamp(220px, 42vw, 380px);
	border:0;
	border-radius:var(--ise-radius-lg);
	display:block;
	background:#0b3a5c;
}
@media(max-width:768px) {
	.ise-map-embed__frame,
	.ise-img-placeholder .ise-map-embed__frame,
	.ise-contact__map-placeholder .ise-map-embed__frame {
		min-height:280px;
		height:clamp(280px, 55vw, 400px);
	}
}

/* ═══════════════════════════════════
   15. FOOTER
   ═══════════════════════════════════ */
.ise-site-footer { margin-top:0!important; padding-top:clamp(3rem,6vw,4.5rem)!important; padding-bottom:clamp(2.5rem,5vw,3.5rem)!important }
.ise-site-footer .ise-footer-logo { margin:0 0 1rem; line-height:0 }
.ise-site-footer .ise-footer-logo a { display:inline-block; outline-offset:4px }
.ise-site-footer .ise-footer-logo img {
	width:auto;
	max-width:min(7.5rem,32vw);
	height:auto;
	max-height:5.5rem;
	object-fit:contain;
	filter:drop-shadow(0 4px 14px rgba(0,0,0,.2));
}
.ise-site-footer,.ise-site-footer .wp-block-site-tagline,.ise-site-footer .wp-block-site-title,.ise-site-footer .wp-block-site-title a { color:#f1f5f9!important; -webkit-text-fill-color:currentColor; background:none!important }
.ise-site-footer .wp-block-column>p,.ise-site-footer .wp-block-column p { color:#e2e8f0!important; font-size:.9375rem!important; line-height:1.65!important; margin-bottom:.65rem }
.ise-site-footer a { color:#f8fafc!important; text-decoration-thickness:1px; text-underline-offset:.25em; font-weight:500 }
.ise-site-footer a:hover { color:#7dd3fc!important }
.ise-site-footer .wp-block-heading { color:#fff!important; font-size:1rem; letter-spacing:.04em; text-transform:uppercase; font-weight:700; margin-bottom:.75rem }
.ise-site-footer .wp-block-navigation .wp-block-navigation-item__content { color:#f1f5f9!important; font-weight:500; padding:.2rem 0 }
.ise-site-footer .wp-block-navigation .wp-block-navigation-item__content:hover { color:#7dd3fc!important; background:transparent!important }
.ise-site-footer .wp-block-separator { border-color:rgba(255,255,255,.28)!important; opacity:1!important; margin-top:2rem; margin-bottom:1.5rem }
.ise-site-footer .wp-block-group .has-small-font-size { font-size:.9375rem!important; color:#f1f5f9!important }
.ise-site-footer .has-ise-on-dark-color { color:#f8fafc!important }

@media(max-width:768px) {
	.ise-site-footer .wp-block-columns { flex-direction:column!important; gap:1.5rem!important }
	.ise-site-footer .wp-block-column { flex-basis:100%!important; text-align:center }
	/* Ocultar columna de enlaces en móvil (ya hay menú sticky) */
	.ise-site-footer .wp-block-columns > .wp-block-column:nth-child(2) { display:none!important }
	.ise-site-footer .ise-footer-logo { margin-inline:auto }
	.ise-site-footer .ise-footer-logo img { max-width:100px; height:auto }
	.ise-site-footer .wp-block-site-title,
	.ise-site-footer .wp-block-site-tagline { text-align:center }
	.ise-site-footer .wp-block-heading { text-align:center; margin-bottom:.5rem }
	.ise-site-footer .wp-block-column > p { text-align:center }
	.ise-site-footer .alignwide > .wp-block-group:last-child { justify-content:center; text-align:center; flex-direction:column; gap:.5rem }
	.ise-site-footer .wp-block-separator { margin-top:1.5rem; margin-bottom:1rem }
}

/* ═══════════════════════════════════
   16. GRADIENTS (fallbacks)
   ═══════════════════════════════════ */
.has-ise-mesh-gradient-background,.ise-section--mesh.has-background,.ise-section--mesh {
	background: radial-gradient(1200px 600px at 10% -10%,rgba(14,165,168,.18),transparent 55%),
		radial-gradient(900px 500px at 100% 0%,rgba(34,211,238,.12),transparent 50%),
		linear-gradient(180deg,#eef4f9,#f8fafc)!important;
}
.has-ise-cta-strip-gradient-background,.ise-cta-strip.has-background { background:linear-gradient(90deg,#062a47,#0b3a5c,#0e7490)!important }

/* ═══════════════════════════════════
   17. CONTENT HEADINGS (pages, not custom HTML)
   ═══════════════════════════════════ */
.wp-block-post-content .wp-block-heading { color:var(--ise-brand) }

/* ═══════════════════════════════════
   18. MOBILE NAV
   ═══════════════════════════════════ */
/* Solo móvil: el core oculta el open a partir de 600px; nuestro display:flex global
   empataba especificidad y ganaba por orden de carga → hamburguesa en desktop. */
@media(max-width:599px) {
	.ise-header-main .wp-block-navigation__responsive-container-open {
		color:#f8fafc!important;
		background:transparent;
		border:none;
		padding:.35rem;
		min-width:44px;
		min-height:44px;
		display:flex;
		align-items:center;
		justify-content:center;
		cursor:pointer;
	}
	.ise-header-main .wp-block-navigation__responsive-container-open svg {
		width:24px;
		height:24px;
		fill:currentColor;
	}
}
@media(min-width:600px) {
	.ise-header-main .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display:none!important;
	}
}

/* Overlay móvil: (A) sin animación del core que deja transform≠none; (B) barra superior para la X + lista centrada */
@media not (prefers-reduced-motion) {
	.wp-block-navigation__responsive-container.is-menu-open {
		animation:ise-nav-overlay-fade .2s ease-out forwards!important;
	}
}
@keyframes ise-nav-overlay-fade {
	from { opacity:0 }
	to   { opacity:1 }
}
@media(prefers-reduced-motion:reduce) {
	.wp-block-navigation__responsive-container.is-menu-open { animation:none!important }
}
.wp-block-navigation__responsive-container.is-menu-open {
	background:linear-gradient(165deg,#041f33 0%,#0b3a5c 40%,#0c5c6e 75%,#0e7490 100%)!important;
	border:none!important;
	box-shadow:none!important;
	padding:0!important;
	display:flex!important;
	flex-direction:column!important;
	min-height:100dvh;
}
/* Blur en capa aparte para no combinar transform del core + filter en el mismo nodo de contención */
.wp-block-navigation__responsive-container.is-menu-open::before {
	content:"";
	position:absolute;
	inset:0;
	z-index:0;
	pointer-events:none;
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
	position:relative;
	z-index:1;
	display:flex!important;
	flex-direction:column!important;
	flex:1 1 auto!important;
	width:100%!important;
	max-width:100%!important;
	margin-left:0!important;
	margin-right:0!important;
	min-height:0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
	position:static!important;
	display:flex!important;
	flex-direction:column!important;
	flex:1 1 auto!important;
	width:100%;
	min-height:0;
}
/* Barra superior: X en flujo normal, alineada a la derecha (independiente del bloque de enlaces) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	color:#fff!important;
	position:relative!important;
	top:auto!important;
	right:auto!important;
	align-self:stretch;
	flex:0 0 auto;
	width:100%;
	max-width:100%;
	box-sizing:border-box;
	margin:0!important;
	padding:max(0.65rem, env(safe-area-inset-top, 0px)) max(1rem, env(safe-area-inset-right, 0px)) 0.5rem max(1rem, env(safe-area-inset-left, 0px))!important;
	min-height:52px;
	display:flex!important;
	align-items:center;
	justify-content:flex-end;
	background:rgba(2,6,23,.35)!important;
	border:none!important;
	border-bottom:1px solid rgba(255,255,255,.12)!important;
	cursor:pointer;
	z-index:2;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
	width:26px; height:26px; fill:currentColor; opacity:.92;
}
/* Lista: ocupa el resto, centrada verticalmente, scroll si hace falta */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	display:flex!important;
	flex-direction:column!important;
	align-items:center!important;
	justify-content:center!important;
	flex:1 1 auto!important;
	width:100%;
	min-height:0!important;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	padding:1.25rem 2rem max(1.25rem, env(safe-area-inset-bottom, 0px))!important;
	padding-top:1rem!important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	display:flex!important;
	flex-direction:column!important;
	align-items:center!important;
	gap:0!important;
	width:100%;
	max-width:280px;
	margin:0 auto;
}
/* Cada item */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width:100%;
	text-align:center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color:#f8fafc!important;
	min-height:48px;
	display:flex!important;
	align-items:center;
	justify-content:center;
	padding:.6rem 1rem!important;
	border-radius:0;
	font-size:1.05rem!important;
	font-weight:500;
	letter-spacing:.03em;
	transition:color .2s;
	width:100%;
	box-sizing:border-box;
	border-bottom:1px solid rgba(255,255,255,.1);
	text-decoration:none!important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child .wp-block-navigation-item__content {
	border-bottom:none;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	color:#5eead4!important;
}
/* Foco (WP enfoca el primer enlace al abrir): no debe parecer “página actual” */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:not(.current-menu-item) .wp-block-navigation-item__content:focus-visible {
	outline:2px solid rgba(148,163,184,.55);
	outline-offset:3px;
	color:#f1f5f9!important;
	font-weight:500;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:not(.current-menu-item) .wp-block-navigation-item__content:focus:not(:focus-visible) {
	color:#e2e8f0!important;
}
/* Item activo (URL real) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content {
	color:#5eead4!important;
	font-weight:600;
	box-shadow:inset 0 0 0 1px rgba(94,234,212,.45);
	border-radius:.4rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content:focus-visible {
	outline:2px solid rgba(94,234,212,.75);
	outline-offset:2px;
}
/* Desktop: mismo criterio foco vs actual */
.ise-header-main .wp-block-navigation-item:not(.current-menu-item) .wp-block-navigation-item__content:focus-visible {
	outline:2px solid rgba(94,234,212,.45);
	outline-offset:3px;
}

/* ═══════════════════════════════════
   19. INNER PAGES
   ═══════════════════════════════════ */
body.page:not(.home) main .wp-block-post-title { max-width:48rem; margin-inline:auto; padding-inline:var(--wp--style--root--padding-left,1rem); color:var(--ise-brand) }
body.page:not(.home) .wp-block-post-content { padding-bottom:0 }
body.page:not(.home) .wp-block-post-content>p,body.page:not(.home) .wp-block-post-content>.wp-block-heading,body.page:not(.home) .wp-block-post-content>.wp-block-list,body.page:not(.home) .wp-block-post-content>.wp-block-columns,body.page:not(.home) .wp-block-post-content>.wp-block-group { max-width:48rem; margin-left:auto; margin-right:auto; padding-left:var(--wp--style--root--padding-left,1rem); padding-right:var(--wp--style--root--padding-right,1rem) }
body.page:not(.home) .wp-block-post-content p,body.page:not(.home) .wp-block-post-content li { color:var(--ise-muted) }
body.page:not(.home) .wp-block-post-content .ise-page-hero p,
body.page:not(.home) .wp-block-post-content .ise-page-hero li { color:rgba(255,255,255,.92) }
body.page:not(.home) .wp-block-post-content .ise-page-section--dark p,
body.page:not(.home) .wp-block-post-content .ise-page-section--dark li { color:rgba(241,245,249,.92) }

/* ═══════════════════════════════════
   20. GLOBAL BUTTON TRANSITIONS
   ═══════════════════════════════════ */
.wp-block-button__link.wp-element-button { transition:transform .2s,box-shadow .2s,background .2s }
.wp-block-button__link.wp-element-button:hover { transform:translateY(-1px) }

/* ═══════════════════════════════════
   20b. FULL-BLEED for custom HTML sections inside post-content
   ═══════════════════════════════════ */
.wp-block-post-content .ise-page-hero,
.wp-block-post-content .ise-page-section {
	width:100vw; position:relative; left:50%; right:50%;
	margin-left:-50vw; margin-right:-50vw;
	max-width:none;
}

/* ═══════════════════════════════════
   21. PAGE HERO (inner pages)
   ═══════════════════════════════════ */
.ise-page-hero {
	background:linear-gradient(152deg,#041f33 0%,#0b3a5c 38%,#0c5c6e 72%,#0e7490 100%);
	position:relative; overflow:hidden;
}
.ise-page-hero::before {
	content:""; position:absolute; inset:0;
	background:radial-gradient(ellipse 70% 50% at 50% -20%,rgba(34,211,238,.2),transparent 55%);
	pointer-events:none;
}
.ise-page-hero__inner {
	position:relative; z-index:1;
	max-width:var(--ise-container); margin:0 auto;
	padding:clamp(4rem,10vw,7rem) clamp(1.25rem,5vw,3rem) clamp(3rem,6vw,4rem);
}
.ise-page-hero__title {
	font-family:var(--wp--preset--font-family--ise-heading,sans-serif);
	font-size:clamp(2rem,5vw,3.25rem); font-weight:800; line-height:1.1;
	color:#fff; margin:0 0 1rem;
}
.ise-page-hero__title em { font-style:normal; color:#7dd3fc }
.ise-page-hero__sub { font-size:clamp(1rem,2vw,1.15rem); line-height:1.75; color:rgba(255,255,255,.82); margin:0; max-width:560px }

/* ═══════════════════════════════════
   22. PAGE SECTIONS (inner pages)
   ═══════════════════════════════════ */
.ise-page-section { padding:var(--ise-section-py) 0 }
.ise-page-section--alt { background:var(--ise-surface) }
.ise-page-section--dark { background:linear-gradient(165deg,#041f33 0%,#0b3a5c 50%,#0e5c6e 100%) }
.ise-page-section--brands-inner { background:#fff }
.ise-page-container { max-width:var(--ise-container); margin:0 auto; padding:0 clamp(1.25rem,5vw,3rem) }
.ise-page-cta { text-align:center; margin-top:2.5rem }

/* ═══════════════════════════════════
   23. SPLIT LAYOUT (text + visual)
   ═══════════════════════════════════ */
.ise-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,4rem); align-items:center }
@media(max-width:768px) { .ise-split { grid-template-columns:1fr } }
.ise-split__text p { color:var(--ise-muted); font-size:1rem; line-height:1.75; margin:0 0 1.25rem }
.ise-split__text strong { color:var(--ise-brand) }

/* ═══════════════════════════════════
   24. GRID LAYOUTS
   ═══════════════════════════════════ */
.ise-two-col { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem }
.ise-three-col { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem }
.ise-four-col { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem }
@media(max-width:960px) { .ise-four-col { grid-template-columns:repeat(2,1fr) } .ise-three-col { grid-template-columns:repeat(2,1fr) } }
@media(max-width:520px) { .ise-two-col,.ise-three-col,.ise-four-col { grid-template-columns:1fr } }

/* ═══════════════════════════════════
   25. INFO CARDS (inner pages)
   ═══════════════════════════════════ */
.ise-info-card {
	padding:2rem; border-radius:var(--ise-radius-lg); background:#fff;
	border:1px solid rgba(6,42,71,.08);
	transition:transform var(--ise-transition),box-shadow var(--ise-transition);
}
.ise-info-card:hover { transform:translateY(-4px); box-shadow:0 16px 48px rgba(6,42,71,.1) }
.ise-info-card__icon { font-size:2rem; margin-bottom:.75rem }
.ise-info-card h3 { font-size:1.1rem; font-weight:700; color:var(--ise-brand); margin:0 0 .5rem }
.ise-info-card p { font-size:.9rem; color:var(--ise-muted); line-height:1.65; margin:0 }

/* ═══════════════════════════════════
   26. STAT CARDS
   ═══════════════════════════════════ */
.ise-stat-card {
	text-align:center; padding:1.5rem 1rem; border-radius:var(--ise-radius-lg);
	background:#fff; border:1px solid rgba(6,42,71,.08);
	transition:transform .25s;
}
.ise-stat-card:hover { transform:translateY(-3px) }
.ise-stat-card strong {
	display:block; font-family:var(--wp--preset--font-family--ise-heading,sans-serif);
	font-size:clamp(1.75rem,3.5vw,2.5rem); font-weight:800; color:var(--ise-accent); line-height:1; margin-bottom:.35rem;
}
.ise-stat-card span { font-size:.8rem; font-weight:600; color:var(--ise-muted); text-transform:uppercase; letter-spacing:.08em }

/* ═══════════════════════════════════
   27. PRODUCT CARDS (light variant)
   ═══════════════════════════════════ */
.ise-products__grid--light { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem }
@media(max-width:960px) { .ise-products__grid--light { grid-template-columns:repeat(2,1fr) } }
@media(max-width:520px) { .ise-products__grid--light { grid-template-columns:1fr } }

.ise-product-card--light {
	display:flex; flex-direction:column; padding:2rem; border-radius:var(--ise-radius-lg);
	background:#fff; border:1px solid rgba(6,42,71,.08); text-decoration:none; color:var(--ise-brand);
	transition:transform var(--ise-transition),box-shadow var(--ise-transition);
}
.ise-product-card--light:hover { transform:translateY(-6px); box-shadow:0 16px 48px rgba(6,42,71,.12); color:var(--ise-brand) }
.ise-product-card--light .ise-product-card__icon { width:48px; height:48px; margin-bottom:1rem; color:var(--ise-accent) }
.ise-product-card--light h3 { font-size:1.15rem; font-weight:700; color:var(--ise-brand); margin:0 0 .5rem }
.ise-product-card--light p { font-size:.9rem; color:var(--ise-muted); line-height:1.65; margin:0; flex:1 }

/* ═══════════════════════════════════
   28. PROJECT ROWS (inner page)
   ═══════════════════════════════════ */
.ise-projects-list { display:flex; flex-direction:column; gap:1.5rem }
.ise-project-row {
	display:grid; grid-template-columns:280px 1fr; gap:1.5rem; align-items:center;
	padding:1.25rem; border-radius:var(--ise-radius-lg); background:#fff;
	border:1px solid rgba(6,42,71,.08);
	transition:transform var(--ise-transition),box-shadow var(--ise-transition);
}
.ise-project-row:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(6,42,71,.1) }
@media(min-width:769px) and (max-width:960px) { .ise-project-row { grid-template-columns:220px 1fr } }
@media(max-width:768px) { .ise-project-row { grid-template-columns:1fr } }
.ise-project-row__img { border-radius:var(--ise-radius); overflow:hidden }
.ise-project-row__img svg,
.ise-project-row__img img,
.ise-project-row__img picture { width:100%; height:auto; display:block; vertical-align:middle }
.ise-project-row__img img { aspect-ratio:320/200; object-fit:cover }
.ise-project-row__body h3 { font-size:1.1rem; font-weight:700; color:var(--ise-brand); margin:0 0 .25rem }
.ise-project-row__loc { font-size:.8rem; font-weight:600; color:var(--ise-accent); margin:0 0 .5rem }
.ise-project-row__body p { font-size:.9rem; color:var(--ise-muted); line-height:1.6; margin:0 }

/* ═══════════════════════════════════
   29. CONTACT GRID (inner page)
   ═══════════════════════════════════ */
.ise-contact-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem }
@media(max-width:960px) { .ise-contact-grid { grid-template-columns:repeat(2,1fr) } }
@media(max-width:520px) { .ise-contact-grid { grid-template-columns:1fr } }

.ise-contact-block {
	text-align:center; padding:2rem 1.5rem; border-radius:var(--ise-radius-lg);
	background:#fff; border:1px solid rgba(6,42,71,.08);
	transition:transform var(--ise-transition),box-shadow var(--ise-transition);
}
.ise-contact-block:hover { transform:translateY(-4px); box-shadow:0 12px 36px rgba(6,42,71,.1) }
.ise-contact-block__icon { margin-bottom:1rem }
.ise-contact-block h3 { font-size:1rem; font-weight:700; color:var(--ise-brand); margin:0 0 .5rem }
.ise-contact-block p { font-size:.9rem; color:var(--ise-muted); line-height:1.65; margin:0 }
.ise-contact-block a { color:var(--ise-accent); text-decoration:none; font-weight:600 }
.ise-contact-block a:hover { color:var(--ise-brand); text-decoration:underline }

/* ═══════════════════════════════════
   30. SECTOR TAGS (large variant)
   ═══════════════════════════════════ */
.ise-sectors__tags--big { gap:.85rem }
.ise-tag--lg { padding:.75rem 1.5rem; font-size:1rem }

/* ═══════════════════════════════════
   31. CLIENT LOGOS (dark section)
   ═══════════════════════════════════ */
.ise-page-section--dark .ise-client-logo { background:rgba(255,255,255,.06); border-color:rgba(94,234,212,.15) }
.ise-page-section--dark .ise-client-logo span { color:#e2e8f0 }
.ise-page-section--dark .ise-client-logo:hover { background:rgba(94,234,212,.1); border-color:rgba(94,234,212,.3) }

/* ═══════════════════════════════════
   32. TEAM / LAS CARAS DE ISE
   ═══════════════════════════════════ */
.ise-team__grid {
	display:grid; grid-template-columns:repeat(3,1fr); gap:2rem;
}
@media(max-width:960px) { .ise-team__grid { grid-template-columns:repeat(2,1fr) } }
@media(max-width:520px) { .ise-team__grid { grid-template-columns:1fr; max-width:100%; margin-inline:0 } }

.ise-team-card {
	background:#fff; border-radius:var(--ise-radius-lg); overflow:hidden;
	border:1px solid rgba(6,42,71,.08);
	transition:transform var(--ise-transition),box-shadow var(--ise-transition);
	display:flex; flex-direction:column;
}
.ise-team-card:hover { transform:translateY(-6px); box-shadow:0 20px 48px rgba(6,42,71,.12) }

.ise-team-card__photo {
	position:relative; overflow:hidden; aspect-ratio:1/1;
}
.ise-team-card__photo picture { display:block; width:100%; height:100%; margin:0 }
.ise-team-card__photo img {
	width:100%; height:100%; object-fit:cover; display:block;
	transition:transform .5s ease;
}
.ise-team-card:hover .ise-team-card__photo img { transform:scale(1.05) }

.ise-team-card__photo--placeholder {
	width:100%; height:100%; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg,#e2e8f0,#f1f5f9);
	color:var(--ise-muted); font-size:3rem;
}

.ise-team-card__body { padding:1.5rem; flex:1; display:flex; flex-direction:column }
.ise-team-card__name {
	font-family:var(--wp--preset--font-family--ise-heading,sans-serif);
	font-size:1.15rem; font-weight:800; color:var(--ise-brand); margin:0 0 .15rem;
}
.ise-team-card__role {
	font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
	color:var(--ise-accent); margin:0 0 .75rem;
}
.ise-team-card__bio {
	font-size:.88rem; line-height:1.65; color:var(--ise-muted); margin:0 0 1rem; flex:1;
}
.ise-team-card__tags { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:auto }
.ise-team-card__tag {
	font-size:.7rem; font-weight:600; padding:.3rem .65rem; border-radius:100px;
	background:rgba(13,148,136,.08); color:var(--ise-accent);
}
.ise-team-card__link {
	display:inline-flex; align-items:center; gap:.35rem;
	font-size:.82rem; font-weight:600; color:var(--ise-accent); text-decoration:none;
	margin-top:.75rem; transition:color .2s;
}
.ise-team-card__link:hover { color:var(--ise-brand); text-decoration:underline }

/* ═══════════════════════════════════
   33. WHATSAPP (burbuja flotante global)
   ═══════════════════════════════════ */
.ise-wa-float {
	position:fixed;
	z-index:99990;
	right:max(1rem, env(safe-area-inset-right, 0px));
	bottom:max(1.25rem, env(safe-area-inset-bottom, 0px));
	width:3.5rem;
	height:3.5rem;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:linear-gradient(145deg,#128c7e,#25d366);
	color:#fff;
	box-shadow:0 4px 6px rgba(6,42,71,.12),0 14px 32px rgba(18,140,126,.45);
	border:2px solid rgba(255,255,255,.35);
	text-decoration:none;
	transition:transform .25s ease,box-shadow .25s ease;
}
.ise-wa-float:hover {
	transform:scale(1.06);
	box-shadow:0 6px 10px rgba(6,42,71,.14),0 18px 40px rgba(18,140,126,.55);
	color:#fff;
}
.ise-wa-float:focus-visible {
	outline:3px solid #5eead4;
	outline-offset:3px;
}
.ise-wa-float__inner {
	position:relative;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:center;
}
.ise-wa-float__icon { display:block }
.ise-wa-float__pulse {
	position:absolute;
	inset:-4px;
	border-radius:50%;
	background:rgba(37,211,102,.35);
	animation:ise-wa-pulse 2.4s ease-out infinite;
	z-index:1;
}
@keyframes ise-wa-pulse {
	0% { transform:scale(1); opacity:.55 }
	70% { transform:scale(1.35); opacity:0 }
	100% { transform:scale(1.35); opacity:0 }
}
@media(prefers-reduced-motion:reduce) {
	.ise-wa-float__pulse { animation:none; opacity:0 }
}
@media print { .ise-wa-float { display:none!important } }
.admin-bar .ise-wa-float { bottom:max(2.75rem, calc(1.25rem + env(safe-area-inset-bottom, 0px))) }

/* CTAs a ancho completo en móvil (hero + bloques oscuros en home e internas) */
@media(max-width:520px) {
	.ise-hero-full__actions { flex-direction:column; align-items:stretch }
	.ise-hero-full__actions .ise-btn { width:100%; justify-content:center; box-sizing:border-box }
	.ise-section--dark .ise-products__cta .ise-btn,
	.ise-section--dark .ise-projects__cta .ise-btn,
	.ise-section--dark .ise-services__cta .ise-btn,
	.ise-page-section--dark .ise-page-container > .ise-btn { width:100%; max-width:100%; justify-content:center; box-sizing:border-box }
}
