/* ==========================================================================
   Hoolistic Web Toolkit · Kit Digital
   Hereda las fuentes del tema. Colores de la plantilla Osty (siguen el modo oscuro).
   ========================================================================== */

.hwt-kd{
	--hwt-kd-text:var(--color-contrast-higher,#262626);
	--hwt-kd-soft:var(--color-contrast-medium,#6b6870);
	--hwt-kd-card:rgba(0,0,0,.045);
	--hwt-kd-line:var(--color-contrast-low,#dcdad6);
	--hwt-kd-accent:var(--color-contrast-higher,#262626);
	--hwt-kd-gap:clamp(72px,10vw,140px);
	color:var(--hwt-kd-text);
}
@supports (background:color-mix(in srgb,red 5%,transparent)){.hwt-kd{--hwt-kd-card:color-mix(in srgb,var(--color-contrast-higher,#262626) 5%,transparent)}}
/* Los logos oficiales son oscuros: en modo oscuro van sobre una placa blanca. */
body[data-theme="dark"] .hwt-kd__logos,html[data-theme="dark"] .hwt-kd__logos{padding:14px 18px;border-radius:14px;background:#fff}
/* Modo oscuro del tema (Osty: <body data-theme="dark">): mismas variables, valores de reserva oscuros. */
body[data-theme="dark"] .hwt-kd,html[data-theme="dark"] .hwt-kd{
	--hwt-kd-text:var(--color-contrast-higher,#f5f5f5);
	--hwt-kd-soft:var(--color-contrast-medium,#a3a1a6);
	--hwt-kd-line:var(--color-contrast-low,#3a3838);
	--hwt-kd-card:rgba(255,255,255,.06);
	--hwt-kd-accent:var(--color-contrast-higher,#f5f5f5);
}
.hwt-kd,.hwt-kd__card,.hwt-kd__steps li,.hwt-kd__cta,.hwt-kd__btn,.hwt-kd__cats li,.hwt-kd__sol{transition:color .3s ease,background-color .3s ease,border-color .3s ease}
.hwt-kd *,.hwt-kd *::before,.hwt-kd *::after{box-sizing:border-box}
.hwt-kd p{margin:0 0 .8em}
.hwt-kd__section{margin-top:var(--hwt-kd-gap)}
.hwt-kd__rich>:last-child{margin-bottom:0}
.hwt-kd__rich a,.hwt-kd__sol-body a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.hwt-kd__soft{color:var(--hwt-kd-soft)}

/* Títulos */
.hwt-kd .hwt-kd__title{margin:0;font-size:clamp(2.4rem,6vw,4.5rem);line-height:1.02;letter-spacing:-.02em;color:inherit;text-transform:uppercase}
.hwt-kd .hwt-kd__h{margin:0 0 clamp(24px,3vw,40px);font-size:clamp(1.8rem,4vw,3rem);line-height:1.08;letter-spacing:-.01em;color:inherit;text-transform:uppercase}
.hwt-kd .hwt-kd__h--small{margin-bottom:14px;font-size:clamp(1.15rem,1.8vw,1.4rem);text-transform:none;letter-spacing:normal}
.hwt-kd .hwt-kd__card-title{margin:0 0 8px;font-size:1.1rem;line-height:1.3;color:inherit;text-transform:none;letter-spacing:normal}

/* Intro */
.hwt-kd__intro{display:flex;flex-direction:column}
.hwt-kd__logos{order:-1;display:block;width:100%;max-width:880px;height:auto;margin:0 0 clamp(32px,5vw,56px)}
.hwt-kd__intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,80px);align-items:end;padding-bottom:clamp(28px,4vw,48px);border-bottom:1px solid var(--hwt-kd-line)}
.hwt-kd__lead{margin:18px 0 0;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.45;color:var(--hwt-kd-soft);max-width:34ch}

/* Botones */
.hwt-kd__btn{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:13px 24px;border-radius:999px;background:var(--hwt-kd-text);color:var(--color-bg,#fff);font-weight:600;font-size:.95rem;text-decoration:none;transition:transform .2s ease,opacity .2s ease}
.hwt-kd__btn:hover{transform:translateY(-2px);color:var(--color-bg,#fff)}
.hwt-kd__btn--ghost{background:transparent;color:var(--hwt-kd-text);box-shadow:inset 0 0 0 1.5px var(--hwt-kd-text)}
.hwt-kd__btn--ghost:hover{color:var(--hwt-kd-text)}
.hwt-kd__btns{display:flex;flex-wrap:wrap;gap:12px}
.hwt-kd__btns .hwt-kd__btn{margin-top:22px}

/* Tarjetas de segmentos */
.hwt-kd__cards{display:grid;gap:16px}
.hwt-kd__cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hwt-kd__card{padding:clamp(22px,2.5vw,32px);border-radius:24px;background:var(--hwt-kd-card)}
.hwt-kd__amount{margin:4px 0 12px!important;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--hwt-kd-accent)}

/* Categorías */
.hwt-kd__cats{list-style:none;margin:0 0 clamp(28px,4vw,44px);padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.hwt-kd__cats li{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:120px;margin:0;padding:18px;border:1px solid var(--hwt-kd-line);border-radius:18px;font-size:.95rem;line-height:1.3}
.hwt-kd__cats strong{font-size:1.15rem;color:var(--hwt-kd-accent)}

/* Soluciones (acordeón) */
.hwt-kd__solutions{border-top:1px solid var(--hwt-kd-line)}
.hwt-kd__sol{border-bottom:1px solid var(--hwt-kd-line)}
.hwt-kd__sol>summary{display:grid;grid-template-columns:1fr auto 14px;gap:20px;align-items:center;padding:22px 0;cursor:pointer;list-style:none}
.hwt-kd__sol>summary::-webkit-details-marker{display:none}
.hwt-kd__sol>summary::marker{content:""}
.hwt-kd__sol>summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.hwt-kd__sol-head{display:flex;flex-direction:column;gap:6px}
.hwt-kd .hwt-kd__sol-title{margin:0;font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.3;color:inherit;text-transform:none;letter-spacing:normal}
.hwt-kd__tag{order:-1;align-self:flex-start;padding:3px 10px;border-radius:999px;background:var(--hwt-kd-card);font-size:.78rem;color:var(--hwt-kd-soft)}
.hwt-kd__sol-price{font-weight:600;white-space:nowrap}
.hwt-kd__icon{position:relative;width:14px;height:14px}
.hwt-kd__icon::before,.hwt-kd__icon::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:currentColor;transition:transform .25s ease}
.hwt-kd__icon::after{transform:rotate(90deg)}
.hwt-kd__sol[open] .hwt-kd__icon::after{transform:rotate(0)}
.hwt-kd__sol-body{padding:0 34px 26px 0;max-width:78ch;line-height:1.6}
.hwt-kd__sol[open] .hwt-kd__sol-body{animation:hwt-kd-in .3s ease}
.hwt-kd__sol-body ul{margin:0 0 .8em;padding-left:1.2em}
.hwt-kd__sol-body li{margin-bottom:.4em}
.hwt-kd__facts{display:flex;flex-wrap:wrap;gap:10px 36px;margin:14px 0 0}
.hwt-kd__facts dt{font-size:.8rem;color:var(--hwt-kd-soft)}
.hwt-kd__facts dd{margin:0;font-weight:600}
@keyframes hwt-kd-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* Pasos */
.hwt-kd__steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:hwt-kd}
.hwt-kd__steps li{counter-increment:hwt-kd;margin:0;padding:clamp(22px,2.5vw,28px);border-radius:24px;background:var(--hwt-kd-card)}
.hwt-kd__steps li::before{content:counter(hwt-kd,decimal-leading-zero);display:block;margin-bottom:28px;font-size:.85rem;font-weight:600;color:var(--hwt-kd-soft)}

/* Llamada a la acción */
.hwt-kd__cta{padding:clamp(32px,5vw,64px);border-radius:24px;background:var(--hwt-kd-card)}
.hwt-kd__cta .hwt-kd__h{margin-bottom:14px}

/* Trabajo y clientes */
.hwt-kd__work{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
.hwt-kd__clients{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.hwt-kd__clients li{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;margin:0;padding:14px;border:1px solid var(--hwt-kd-line);border-radius:14px}
.hwt-kd__clients img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.85}

/* Tableta y móvil */
@media (max-width:1024px){
	.hwt-kd__cats{grid-template-columns:repeat(3,minmax(0,1fr))}
	.hwt-kd__steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
	.hwt-kd__intro-grid,.hwt-kd__work{grid-template-columns:1fr}
	.hwt-kd__cards--3,.hwt-kd__steps{grid-template-columns:1fr}
	.hwt-kd__cats{grid-template-columns:repeat(2,minmax(0,1fr))}
	.hwt-kd__cats li{min-height:0}
	.hwt-kd__sol>summary{grid-template-columns:1fr 14px;gap:12px}
	.hwt-kd__sol-price{grid-column:1;grid-row:2;font-size:.95rem}
	.hwt-kd__icon{grid-column:2;grid-row:1}
	.hwt-kd__sol-body{padding-right:0}
	.hwt-kd__clients{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.hwt-kd__sol[open] .hwt-kd__sol-body{animation:none}.hwt-kd__btn,.hwt-kd__icon::after{transition:none}}
