/*
Theme Name:  Ideas y Web Child
Theme URI:   https://ideasyweb.net
Description: Child theme — Ideas y Web | Agencia de Experiencias Digitales con IA para PYMES en Bogotá
Author:      Ideas y Web
Template:    kadence
Version:     2.1.0
Text Domain: idw-child
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  --idw-bg:         #06090F;
  --idw-bg-2:       #0C1220;
  --idw-bg-3:       #111827;
  --idw-surface:    rgba(255,255,255,0.04);
  --idw-surface-2:  rgba(255,255,255,0.07);
  --idw-border:     rgba(255,255,255,0.08);
  --idw-border-2:   rgba(255,255,255,0.14);

  --idw-accent:     #B8001A;
  --idw-accent-dim: rgba(184,0,26,0.14);
  --idw-accent2:    #8B0012;
  --idw-power-ring: #ef3a40; /* rojo real del logo (Illustrator) — distinto de --idw-accent */
  --idw-white:      #FFFFFF;
  --idw-text:       rgba(255,255,255,0.82);
  --idw-text-muted: rgba(255,255,255,0.45);
  --idw-text-dim:   rgba(255,255,255,0.22);

  --idw-font-head: 'Plus Jakarta Sans', system-ui, sans-serif;
  --idw-font-body: 'Inter', system-ui, sans-serif;
  --idw-font-mono: 'JetBrains Mono', 'Fira Code', ui-monospace, monospace;

  --idw-section-py: 100px;
  --idw-gap:        24px;

  --r-sm:   8px;
  --r-md:   14px;
  --r-lg:   20px;
  --r-xl:   28px;
  --r-pill: 999px;

  --glow-accent: 0 0 40px rgba(184,0,26,0.18), 0 0 80px rgba(184,0,26,0.07);
  --glow-btn:    0 0 20px rgba(184,0,26,0.35);
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--idw-font-body);
  background: var(--idw-bg);
  color: var(--idw-text);
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}
h1,h2,h3,h4,h5,h6 {
  font-family: var(--idw-font-head);
  color: var(--idw-white);
  line-height: 1.1;
  letter-spacing: -0.025em;
}
p { line-height: 1.75; }
a { color: var(--idw-accent); text-decoration: none; transition: color .2s; }
a:hover { color: var(--idw-accent2); }
img { display: block; max-width: 100%; height: auto; }

/* ============================================================
   KADENCE HEADER
   ============================================================ */
.site-header, .site-top-header-wrap, .kadence-sticky-header, #masthead {
  background: var(--idw-bg) !important;
  border-bottom: 1px solid var(--idw-border) !important;
  box-shadow: none !important;
}
#masthead {
  position: sticky !important; top: 0; z-index: 200;
}
.brand.has-logo-image { display: inline-flex; align-items: center; }
.brand.has-logo-image img.custom-logo { max-height: 92px !important; max-width: none !important; width: auto; }
.brand.has-logo-image .site-title-wrap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.primary-navigation .nav-link,
.primary-navigation .nav-drop-toggle {
  font-family: var(--idw-font-body) !important;
  font-size: .875rem !important;
  font-weight: 500 !important;
  color: var(--idw-text-muted) !important;
}
.primary-navigation .nav-link:hover { color: var(--idw-white) !important; }

/* ============================================================
   LAYOUT UTILS
   ============================================================ */
.idw-wrap {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 48px;
}
.idw-section { padding-block: var(--idw-section-py); }
.idw-section--dark  { background: var(--idw-bg); }
.idw-section--dark2 { background: var(--idw-bg-2); }
.idw-section--dark3 { background: var(--idw-bg-3); }

/* Eyebrow monospace */
.idw-eyebrow {
  font-family: var(--idw-font-mono);
  font-size: .7rem;
  font-weight: 400;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--idw-accent);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
}
.idw-eyebrow::before {
  content: '';
  display: inline-block;
  width: 18px; height: 1px;
  background: var(--idw-accent);
}

/* Gradient text */
.idw-gradient {
  background: linear-gradient(120deg, var(--idw-accent) 0%, #ff6b6b 50%, #fff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Section header */
.idw-section-header { max-width: 680px; margin-bottom: 64px; }
.idw-section-header--center { margin-inline: auto; text-align: center; }
.idw-section-header h2 { font-size: clamp(2rem,4vw,3.2rem); font-weight: 800; margin-bottom: 16px; }
.idw-section-header p { font-size: 1.05rem; color: var(--idw-text-muted); line-height: 1.75; }

/* ============================================================
   BOTONES
   ============================================================ */
.idw-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--idw-font-body); font-size: .9rem; font-weight: 600;
  padding: 13px 28px; border-radius: var(--r-pill);
  border: 1px solid transparent; cursor: pointer; text-decoration: none;
  transition: all .2s; white-space: nowrap;
}
.idw-btn--accent { background: var(--idw-accent); color: var(--idw-bg); border-color: var(--idw-accent); }
.idw-btn--accent:hover { background: var(--idw-accent2); border-color: var(--idw-accent2); color: var(--idw-bg); box-shadow: var(--glow-btn); transform: translateY(-1px); }
.idw-btn--ghost { background: transparent; color: var(--idw-text); border-color: var(--idw-border-2); }
.idw-btn--ghost:hover { background: var(--idw-surface-2); border-color: rgba(255,255,255,.3); color: var(--idw-white); }
.idw-btn--outline-accent { background: var(--idw-accent-dim); color: var(--idw-accent); border-color: rgba(184,0,26,.3); }
.idw-btn--outline-accent:hover { background: rgba(184,0,26,.2); border-color: var(--idw-accent); }
.idw-btn--lg { font-size: 1rem; padding: 16px 36px; }
.idw-btn--sm { font-size: .82rem; padding: 9px 20px; }

/* Badge */
.idw-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--idw-font-mono); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase;
  padding: 5px 12px; border-radius: var(--r-pill);
  border: 1px solid var(--idw-border-2); color: var(--idw-text-muted); background: var(--idw-surface);
}
.idw-badge--live { background: var(--idw-accent-dim); border-color: rgba(184,0,26,.3); color: var(--idw-accent); }
.idw-badge--live::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--idw-accent);
  animation: idw-pulse 2.5s infinite;
}
@keyframes idw-pulse { 0%,100%{opacity:1} 50%{opacity:.3} }

/* ============================================================
   HERO
   ============================================================ */
.idw-hero {
  background: var(--idw-bg);
  padding-block: 130px 100px;
  position: relative; overflow: hidden;
}
.idw-hero::after {
  content: '';
  position: absolute; top: -200px; right: -100px;
  width: 700px; height: 700px; border-radius: 50%;
  background: radial-gradient(circle, rgba(184,0,26,.12) 0%, transparent 65%);
  pointer-events: none;
}
.idw-hero__inner {
  max-width: 1200px; margin-inline: auto; padding-inline: 48px;
  display: grid; grid-template-columns: 1fr 420px; gap: 80px; align-items: center;
  position: relative; z-index: 1;
}
.idw-hero__content h1 {
  font-size: clamp(3rem,6vw,5.5rem); font-weight: 800;
  line-height: 1.0; letter-spacing: -.035em; color: var(--idw-white); margin-bottom: 28px;
}
.idw-hero__lead { font-size: 1.1rem; color: var(--idw-text-muted); line-height: 1.75; max-width: 500px; margin-bottom: 44px; }
.idw-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin-bottom: 56px; }
.idw-hero__proof {
  display: flex; gap: 32px; flex-wrap: wrap; align-items: center;
  padding-top: 32px; border-top: 1px solid var(--idw-border);
}
.idw-hero__proof-item { display: flex; flex-direction: column; gap: 3px; }
.idw-hero__proof-item strong {
  font-family: var(--idw-font-head); font-size: 1.7rem; font-weight: 800;
  color: var(--idw-white); letter-spacing: -.04em; line-height: 1;
}
.idw-hero__proof-item strong em { color: var(--idw-accent); font-style: normal; }
.idw-hero__proof-item span { font-size: .73rem; color: var(--idw-text-muted); letter-spacing: .04em; }

/* Hero card */
.idw-hero__card {
  background: var(--idw-surface); border: 1px solid var(--idw-border);
  border-radius: var(--r-xl); padding: 28px; position: relative; overflow: hidden;
}
.idw-hero__card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--idw-accent), transparent); opacity: .6;
}
.idw-hero__card-label {
  font-family: var(--idw-font-mono); font-size: .65rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--idw-text-dim); margin-bottom: 18px;
}
.idw-hero__item {
  display: flex; align-items: center; gap: 12px;
  padding: 11px 13px; border-radius: var(--r-md); border: 1px solid transparent;
  margin-bottom: 6px; transition: all .2s;
}
.idw-hero__item:last-child { margin-bottom: 0; }
.idw-hero__item:hover { background: var(--idw-surface-2); border-color: var(--idw-border); }
.idw-hero__item-icon {
  width: 34px; height: 34px; border-radius: var(--r-sm);
  background: var(--idw-accent-dim); border: 1px solid rgba(184,0,26,.2);
  display: flex; align-items: center; justify-content: center; font-size: .95rem; flex-shrink: 0;
}
.idw-hero__item-text { font-size: .87rem; color: var(--idw-text); font-weight: 500; }
.idw-hero__item-sub { font-size: .73rem; color: var(--idw-text-muted); display: block; margin-top: 1px; }
.idw-hero__card-footer {
  margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--idw-border);
  display: flex; align-items: center; justify-content: space-between;
}
.idw-hero__card-footer span { font-size: .73rem; color: var(--idw-text-dim); }

/* ============================================================
   CLIENTS STRIP
   ============================================================ */
.idw-clients {
  padding-block: 44px;
  border-top: 1px solid var(--idw-border);
  border-bottom: 1px solid var(--idw-border);
}
.idw-clients__inner {
  max-width: 1200px; margin-inline: auto; padding-inline: 48px;
  display: flex; align-items: center; gap: 48px; flex-wrap: wrap;
}
.idw-clients__label {
  font-family: var(--idw-font-mono); font-size: .65rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--idw-text-dim); white-space: nowrap; flex-shrink: 0;
}
.idw-clients__logos { display: flex; align-items: center; gap: 40px; flex-wrap: wrap; }
.idw-client-logo {
  font-family: var(--idw-font-head); font-size: .8rem; font-weight: 700;
  color: var(--idw-text-dim); letter-spacing: .06em; text-transform: uppercase; transition: color .2s;
}
.idw-client-logo:hover { color: var(--idw-text-muted); }

/* ============================================================
   BENTO GRID
   ============================================================ */
.idw-bento {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: minmax(60px, auto);
  gap: var(--idw-gap);
}
.idw-bento-card {
  background: var(--idw-surface); border: 1px solid var(--idw-border); border-radius: var(--r-xl);
  padding: 36px; display: flex; flex-direction: column; text-decoration: none; color: inherit;
  transition: border-color .25s, background .25s, transform .2s, box-shadow .25s; position: relative; overflow: hidden;
}
.idw-bento-card::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--idw-accent), transparent); opacity: 0; transition: opacity .3s;
}
.idw-bento-card:hover {
  border-color: rgba(184,0,26,.3); background: linear-gradient(135deg,rgba(184,0,26,.05) 0%,var(--idw-surface) 100%);
  transform: translateY(-3px); box-shadow: 0 16px 48px rgba(0,0,0,.4),var(--glow-accent);
  color: inherit; text-decoration: none;
}
.idw-bento-card:hover::after { opacity: .5; }
.idw-bento-card--featured { border-color: rgba(184,0,26,.25); background: linear-gradient(135deg,rgba(184,0,26,.07) 0%,var(--idw-surface) 100%); }

/* Bento positions */
.idw-bento-card--a { grid-column: span 7; grid-row: span 2; }
.idw-bento-card--b { grid-column: span 5; }
.idw-bento-card--c { grid-column: span 5; }
.idw-bento-card--d { grid-column: span 12; flex-direction: row; gap: 40px; align-items: center; }

.idw-bento-card__icon { font-size: 2.2rem; margin-bottom: 22px; line-height: 1; }
.idw-bento-card__tag {
  font-family: var(--idw-font-mono); font-size: .63rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--idw-accent); margin-bottom: 10px; display: block;
}
.idw-bento-card h3 { font-size: 1.35rem; font-weight: 700; color: var(--idw-white); margin-bottom: 12px; }
.idw-bento-card--a h3 { font-size: 1.7rem; }
.idw-bento-card p { font-size: .9rem; color: var(--idw-text-muted); line-height: 1.7; flex-grow: 1; margin-bottom: 22px; }
.idw-bento-card__features {
  list-style: none; display: flex; flex-direction: column; gap: 7px; margin-bottom: 26px;
}
.idw-bento-card__features li { font-size: .84rem; color: var(--idw-text-muted); display: flex; align-items: flex-start; gap: 8px; }
.idw-bento-card__features li::before { content:'→'; color: var(--idw-accent); flex-shrink: 0; font-size: .78rem; margin-top: 2px; }
.idw-bento-card__arrow {
  display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; font-weight: 600;
  color: var(--idw-accent); margin-top: auto; transition: gap .2s;
}
.idw-bento-card:hover .idw-bento-card__arrow { gap: 10px; }

/* Card D horizontal */
.idw-bento-card--d .idw-bento-card__body { flex: 1; }
.idw-bento-card--d .idw-bento-card__icon { margin-bottom: 0; font-size: 3rem; flex-shrink: 0; }
.idw-bento-card--d h3 { font-size: 1.35rem; }
.idw-bento-card--d .idw-bento-card__features { flex-direction: row; flex-wrap: wrap; gap: 6px 20px; }
.idw-bento-card--d p { margin-bottom: 16px; }

/* ============================================================
   STATS STRIP
   ============================================================ */
.idw-stats-strip {
  display: grid; grid-template-columns: repeat(4,1fr);
  border-top: 1px solid var(--idw-border); border-bottom: 1px solid var(--idw-border);
}
.idw-stat { padding: 48px 40px; border-right: 1px solid var(--idw-border); text-align: center; }
.idw-stat:last-child { border-right: none; }
.idw-stat__number {
  display: block; font-family: var(--idw-font-head);
  font-size: clamp(2.5rem,4vw,3.8rem); font-weight: 800; letter-spacing: -.04em;
  color: var(--idw-white); line-height: 1; margin-bottom: 8px;
}
.idw-stat__number .accent { color: var(--idw-accent); }
.idw-stat__label { font-size: .8rem; color: var(--idw-text-muted); letter-spacing: .04em; }

/* ============================================================
   PROCESS
   ============================================================ */
.idw-process {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 0; position: relative;
}
.idw-process::before {
  content: ''; position: absolute; top: 27px;
  left: calc(12.5%); right: calc(12.5%); height: 1px;
  background: linear-gradient(90deg, var(--idw-accent) 0%, rgba(184,0,26,.6) 100%);
}
.idw-process-step { padding: 0 24px; position: relative; }
.idw-process-step__dot {
  width: 54px; height: 54px; border-radius: 50%;
  background: var(--idw-bg-2); border: 1px solid var(--idw-border-2);
  display: flex; align-items: center; justify-content: center; margin-bottom: 24px; position: relative; z-index: 1;
}
.idw-process-step__dot span { font-family: var(--idw-font-mono); font-size: .78rem; color: var(--idw-accent); font-weight: 600; }
.idw-process-step h3 { font-size: .97rem; font-weight: 700; color: var(--idw-white); margin-bottom: 10px; }
.idw-process-step p { font-size: .87rem; color: var(--idw-text-muted); line-height: 1.7; }

/* ============================================================
   ABOUT
   ============================================================ */
.idw-about__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.idw-about__content h2 { font-size: clamp(2rem,3.5vw,3rem); font-weight: 800; margin-bottom: 20px; }
.idw-about__content p { font-size: .97rem; color: var(--idw-text-muted); line-height: 1.8; margin-bottom: 14px; }
.idw-about__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 24px 32px; }
.idw-about__panel { background: var(--idw-surface); border: 1px solid var(--idw-border); border-radius: var(--r-xl); overflow: hidden; }
.idw-about__panel-top {
  padding: 32px; border-bottom: 1px solid var(--idw-border);
  background: linear-gradient(135deg,rgba(184,0,26,.06) 0%,transparent 100%);
}
.idw-about__panel-top p { font-family: var(--idw-font-mono); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; color: var(--idw-text-dim); margin-bottom: 16px; }
.idw-about__metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.idw-about__metric strong { display: block; font-family: var(--idw-font-head); font-size: 2.4rem; font-weight: 800; color: var(--idw-white); letter-spacing: -.04em; line-height: 1; margin-bottom: 4px; }
.idw-about__metric strong em { color: var(--idw-accent); font-style: normal; }
.idw-about__metric span { font-size: .75rem; color: var(--idw-text-muted); }
.idw-about__panel-bottom { padding: 22px 32px; }
.idw-about__panel-bottom p { font-family: var(--idw-font-mono); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; color: var(--idw-text-dim); margin-bottom: 12px; }
.idw-about__clients { display: flex; flex-wrap: wrap; gap: 6px; }
.idw-about__client-chip { font-size: .77rem; color: var(--idw-text-muted); background: var(--idw-surface-2); border: 1px solid var(--idw-border); border-radius: var(--r-pill); padding: 4px 12px; }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.idw-testimonials__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--idw-gap); }
.idw-testimonial {
  background: var(--idw-surface); border: 1px solid var(--idw-border); border-radius: var(--r-xl);
  padding: 32px; display: flex; flex-direction: column; gap: 20px; transition: border-color .2s;
}
.idw-testimonial:hover { border-color: var(--idw-border-2); }
.idw-testimonial__stars { display: flex; gap: 3px; color: #F59E0B; font-size: .85rem; }
.idw-testimonial__text { font-size: .93rem; color: var(--idw-text); line-height: 1.8; flex-grow: 1; }
.idw-testimonial__author {
  display: flex; align-items: center; gap: 12px;
  padding-top: 18px; border-top: 1px solid var(--idw-border);
}
.idw-testimonial__avatar {
  width: 40px; height: 40px; border-radius: 50%; background: var(--idw-bg-3);
  border: 1px solid var(--idw-border-2); display: flex; align-items: center; justify-content: center;
  font-family: var(--idw-font-head); font-size: .85rem; font-weight: 700; color: var(--idw-accent); flex-shrink: 0;
}
.idw-testimonial__name { font-size: .87rem; font-weight: 600; color: var(--idw-white); display: block; }
.idw-testimonial__role { font-size: .75rem; color: var(--idw-text-muted); }

/* ============================================================
   FAQ
   ============================================================ */
.idw-faq__list { display: flex; flex-direction: column; gap: 4px; }
.idw-faq-item { border-radius: var(--r-md); border: 1px solid var(--idw-border); overflow: hidden; transition: border-color .2s; }
.idw-faq-item.open { border-color: rgba(184,0,26,.25); }
.idw-faq-item__q {
  padding: 18px 24px; font-family: var(--idw-font-body); font-size: .95rem; font-weight: 500; color: var(--idw-text);
  cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px;
  background: var(--idw-surface); border: none; width: 100%; text-align: left; transition: background .15s, color .15s;
}
.idw-faq-item__q:hover { background: var(--idw-surface-2); color: var(--idw-white); }
.idw-faq-item.open .idw-faq-item__q { color: var(--idw-white); }
.idw-faq-item__q::after { content:'+'; font-size: 1.3rem; color: var(--idw-accent); flex-shrink: 0; line-height: 1; }
.idw-faq-item.open .idw-faq-item__q::after { content:'−'; }
.idw-faq-item__a { display: none; padding: 0 24px 20px; font-size: .92rem; line-height: 1.8; color: var(--idw-text-muted); background: var(--idw-surface); }
.idw-faq-item.open .idw-faq-item__a { display: block; }

/* ============================================================
   CTA FINAL
   ============================================================ */
.idw-cta { padding-block: 120px; text-align: center; position: relative; overflow: hidden; background: var(--idw-bg); }
.idw-cta::before {
  content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 800px; height: 500px;
  background: radial-gradient(ellipse, rgba(184,0,26,.1) 0%, transparent 65%); pointer-events: none;
}
.idw-cta__inner { max-width: 640px; margin-inline: auto; padding-inline: 48px; position: relative; z-index: 1; }
.idw-cta__inner h2 { font-size: clamp(2.4rem,5vw,4rem); font-weight: 800; letter-spacing: -.03em; margin-bottom: 20px; line-height: 1.05; }
.idw-cta__inner p { font-size: 1.05rem; color: var(--idw-text-muted); line-height: 1.75; margin-bottom: 44px; }
.idw-cta__actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ============================================================
   FOOTER
   ============================================================ */
.idw-footer { background: var(--idw-bg-2); border-top: 1px solid var(--idw-border); padding-top: 72px; padding-bottom: 40px; }
.idw-footer__grid {
  max-width: 1200px; margin-inline: auto; padding-inline: 48px;
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px;
  padding-bottom: 56px; margin-bottom: 40px; border-bottom: 1px solid var(--idw-border);
}
.idw-footer__wordmark { font-family: var(--idw-font-head); font-size: 1.1rem; font-weight: 800; color: var(--idw-white); letter-spacing: -.02em; margin-bottom: 10px; }
.idw-footer__tagline { font-size: .87rem; color: var(--idw-text-muted); line-height: 1.7; max-width: 250px; margin-bottom: 22px; }
.idw-footer__contact a { display: block; font-size: .84rem; color: var(--idw-text-dim); line-height: 1.9; transition: color .2s; }
.idw-footer__contact a:hover { color: var(--idw-accent); }
.idw-footer__col-title { font-family: var(--idw-font-mono); font-size: .63rem; letter-spacing: .14em; text-transform: uppercase; color: var(--idw-text-dim); margin-bottom: 18px; }
.idw-footer__col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.idw-footer__col ul li a { font-size: .87rem; color: var(--idw-text-muted); transition: color .2s; }
.idw-footer__col ul li a:hover { color: var(--idw-white); }
.idw-footer__bottom {
  max-width: 1200px; margin-inline: auto; padding-inline: 48px;
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px;
}
.idw-footer__copy { font-family: var(--idw-font-mono); font-size: .7rem; color: var(--idw-text-dim); letter-spacing: .04em; }
.idw-footer__legal { display: flex; gap: 24px; }
.idw-footer__legal a { font-size: .77rem; color: var(--idw-text-dim); transition: color .2s; }
.idw-footer__legal a:hover { color: var(--idw-text-muted); }

/* Hide Kadence footer */
.page-template-page-home .site-footer,
.page-template-page-servicios .site-footer,
.page-template-page-nosotros .site-footer,
.page-template-page-contacto .site-footer,
.page-template-page-faq .site-footer,
.page-template-page-hola .site-footer,
.page-template-page-gracias .site-footer { display: none !important; }

/* ============================================================
   KADENCE FULLWIDTH OVERRIDES
   ============================================================ */
.page-template-page-home .site-content,
.page-template-page-servicios .site-content,
.page-template-page-nosotros .site-content,
.page-template-page-contacto .site-content,
.page-template-page-faq .site-content,
.page-template-page-hola .site-content,
.page-template-page-gracias .site-content,
.page-template-page-home #content,
.page-template-page-servicios #content,
.page-template-page-nosotros #content,
.page-template-page-contacto #content,
.page-template-page-faq #content,
.page-template-page-hola #content,
.page-template-page-gracias #content { padding-top: 0 !important; padding-bottom: 0 !important; }

.page-template-page-home .kadence-inner-wrap,
.page-template-page-servicios .kadence-inner-wrap,
.page-template-page-nosotros .kadence-inner-wrap,
.page-template-page-contacto .kadence-inner-wrap,
.page-template-page-faq .kadence-inner-wrap,
.page-template-page-hola .kadence-inner-wrap,
.page-template-page-gracias .kadence-inner-wrap { max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }

.page-template-page-home #primary,
.page-template-page-servicios #primary,
.page-template-page-nosotros #primary,
.page-template-page-contacto #primary,
.page-template-page-faq #primary,
.page-template-page-hola #primary,
.page-template-page-gracias #primary { width: 100% !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important; }

.page-template-page-home .entry-content,
.page-template-page-servicios .entry-content,
.page-template-page-nosotros .entry-content,
.page-template-page-contacto .entry-content,
.page-template-page-faq .entry-content,
.page-template-page-hola .entry-content,
.page-template-page-gracias .entry-content { padding: 0 !important; margin: 0 !important; }

.page-template-page-home .entry-header,
.page-template-page-servicios .entry-header,
.page-template-page-nosotros .entry-header,
.page-template-page-contacto .entry-header,
.page-template-page-faq .entry-header,
.page-template-page-hola .entry-header,
.page-template-page-gracias .entry-header { display: none !important; }

/* ============================================================
   INNER PAGES
   ============================================================ */
.idw-page-hero {
  background: var(--idw-bg); padding-block: 90px 72px;
  position: relative; overflow: hidden; border-bottom: 1px solid var(--idw-border);
}
.idw-page-hero::after {
  content: ''; position: absolute; top: -150px; right: -80px; width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle,rgba(184,0,26,.1) 0%,transparent 65%); pointer-events: none;
}
.idw-page-hero__inner { max-width: 1200px; margin-inline: auto; padding-inline: 48px; position: relative; z-index: 1; }
.idw-page-hero h1 { font-size: clamp(2.2rem,4vw,3.4rem); font-weight: 800; letter-spacing: -.03em; color: var(--idw-white); margin-bottom: 16px; max-width: 760px; }
.idw-page-hero__lead { font-size: 1.05rem; color: var(--idw-text-muted); line-height: 1.75; max-width: 600px; }

.idw-breadcrumb { display: flex; align-items: center; gap: 8px; font-family: var(--idw-font-mono); font-size: .7rem; color: var(--idw-text-dim); margin-bottom: 22px; letter-spacing: .06em; }
.idw-breadcrumb a { color: var(--idw-text-dim); transition: color .2s; }
.idw-breadcrumb a:hover { color: var(--idw-accent); }
.idw-breadcrumb__sep { opacity: .3; }
.idw-breadcrumb__current { color: var(--idw-text-muted); }

.idw-inner-layout { max-width: 1200px; margin-inline: auto; padding-inline: 48px; display: grid; grid-template-columns: 1fr 300px; gap: 64px; padding-block: 80px; align-items: start; }
.idw-inner-layout--full { grid-template-columns: 1fr; max-width: 860px; }

.idw-sidebar-card { background: var(--idw-surface); border: 1px solid rgba(184,0,26,.2); border-radius: var(--r-xl); padding: 28px; position: sticky; top: 100px; }
.idw-sidebar-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--idw-white); margin-bottom: 10px; }
.idw-sidebar-card p { font-size: .87rem; color: var(--idw-text-muted); line-height: 1.7; margin-bottom: 22px; }
.idw-sidebar-card .idw-btn { width: 100%; justify-content: center; margin-bottom: 10px; }

.idw-prose h2 { font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 700; color: var(--idw-white); margin-top: 52px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--idw-border); }
.idw-prose h3 { font-size: 1.1rem; font-weight: 600; color: var(--idw-white); margin-top: 30px; margin-bottom: 12px; }
.idw-prose p { font-size: .97rem; line-height: 1.85; color: var(--idw-text-muted); margin-bottom: 16px; }
.idw-prose strong { color: var(--idw-text); }
.idw-prose ul { list-style: none; margin-bottom: 18px; display: flex; flex-direction: column; gap: 10px; }
.idw-prose ul li { padding-left: 18px; position: relative; font-size: .95rem; color: var(--idw-text-muted); line-height: 1.7; }
.idw-prose ul li::before { content:'→'; position: absolute; left: 0; color: var(--idw-accent); font-size: .8rem; }

.idw-detail-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin-block: 28px; }
.idw-detail-card { background: var(--idw-surface); border: 1px solid var(--idw-border); border-radius: var(--r-md); padding: 20px; border-left: 2px solid var(--idw-accent); }
.idw-detail-card h4 { font-size: .9rem; font-weight: 600; color: var(--idw-white); margin-bottom: 6px; }
.idw-detail-card p { font-size: .84rem; color: var(--idw-text-muted); line-height: 1.65; }

/* ============================================================
   CONTACT
   ============================================================ */
.idw-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.idw-form label { display: block; font-family: var(--idw-font-mono); font-size: .68rem; font-weight: 600; color: var(--idw-text-muted); margin-bottom: 8px; letter-spacing: .08em; text-transform: uppercase; }
.idw-form input,
.idw-form select,
.idw-form textarea { width: 100%; font-family: var(--idw-font-body); font-size: .93rem; color: var(--idw-text); background: var(--idw-surface); border: 1px solid var(--idw-border); border-radius: var(--r-md); padding: 13px 16px; transition: border-color .2s,box-shadow .2s; appearance: none; }
.idw-form input::placeholder,
.idw-form textarea::placeholder { color: var(--idw-text-dim); }
.idw-form input:focus,
.idw-form select:focus,
.idw-form textarea:focus { outline: none; border-color: rgba(184,0,26,.5); box-shadow: 0 0 0 3px rgba(184,0,26,.1); }
.idw-form textarea { resize: vertical; min-height: 140px; }
.idw-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.idw-form__group { margin-bottom: 18px; }
.idw-form__submit { width: 100%; justify-content: center; }
.idw-form__disclaimer { font-size: .74rem; color: var(--idw-text-dim); text-align: center; margin-top: 12px; line-height: 1.6; }
.idw-contact-info { display: flex; flex-direction: column; gap: 14px; }
.idw-contact-info-item { display: flex; gap: 14px; align-items: flex-start; padding: 18px; background: var(--idw-surface); border: 1px solid var(--idw-border); border-radius: var(--r-lg); }
.idw-contact-info-item__icon { width: 42px; height: 42px; flex-shrink: 0; background: var(--idw-accent-dim); border: 1px solid rgba(184,0,26,.2); border-radius: var(--r-sm); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.idw-contact-info-item__body h4 { font-family: var(--idw-font-mono); font-size: .65rem; font-weight: 600; color: var(--idw-text-muted); margin-bottom: 4px; text-transform: uppercase; letter-spacing: .08em; }
.idw-contact-info-item__body a,
.idw-contact-info-item__body p { font-size: .92rem; color: var(--idw-text); text-decoration: none; line-height: 1.5; transition: color .2s; }
.idw-contact-info-item__body a:hover { color: var(--idw-accent); }

/* ============================================================
   HOLA / GRACIAS
   ============================================================ */
.idw-hola { min-height: 100vh; background: var(--idw-bg); display: flex; align-items: center; justify-content: center; padding: 60px 24px; position: relative; overflow: hidden; }
.idw-hola::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 600px; height: 600px; background: radial-gradient(circle,rgba(184,0,26,.1) 0%,transparent 60%); pointer-events: none; }
.idw-hola__inner { max-width: 520px; text-align: center; position: relative; z-index: 1; }
.idw-hola__emoji { font-size: 4rem; margin-bottom: 24px; display: block; }
.idw-hola__inner h1 { font-size: clamp(2.5rem,6vw,4rem); font-weight: 800; letter-spacing: -.04em; color: var(--idw-white); margin-bottom: 20px; }
.idw-hola__inner p { font-size: 1.05rem; color: var(--idw-text-muted); line-height: 1.75; margin-bottom: 40px; }
.idw-hola__actions { display: flex; flex-direction: column; gap: 12px; align-items: center; }
.idw-hola__list { margin-top: 44px; background: var(--idw-surface); border: 1px solid var(--idw-border); border-radius: var(--r-xl); padding: 26px; text-align: left; }
.idw-hola__list p { font-family: var(--idw-font-mono); font-size: .63rem; letter-spacing: .14em; text-transform: uppercase; color: var(--idw-text-dim); margin-bottom: 14px; }
.idw-hola__list ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.idw-hola__list ul li { font-size: .92rem; color: var(--idw-text); display: flex; align-items: center; gap: 12px; }
.idw-hola__list ul li::before { content:'→'; color: var(--idw-accent); font-size: .78rem; flex-shrink: 0; }

.idw-gracias { min-height: 100vh; background: var(--idw-bg); display: flex; align-items: center; justify-content: center; padding: 60px 24px; }
.idw-gracias__card { max-width: 500px; width: 100%; background: var(--idw-surface); border: 1px solid var(--idw-border); border-radius: var(--r-xl); padding: 52px 44px; text-align: center; }
.idw-gracias__icon { width: 68px; height: 68px; background: var(--idw-accent-dim); border: 1px solid rgba(184,0,26,.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 26px; font-size: 1.7rem; }
.idw-gracias__card h1 { font-size: 1.9rem; margin-bottom: 12px; }
.idw-gracias__card p { font-size: .94rem; color: var(--idw-text-muted); line-height: 1.75; margin-bottom: 28px; }
.idw-gracias__actions { display: flex; flex-direction: column; gap: 10px; }

/* ============================================================
   404
   ============================================================ */
.idw-404 {
  min-height: 100vh; background: var(--idw-bg); display: flex; align-items: center; justify-content: center;
  padding: 60px 24px; position: relative; overflow: hidden;
}
.idw-404::before {
  content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 700px; height: 700px; background: radial-gradient(circle, rgba(184,0,26,.09) 0%, transparent 60%); pointer-events: none;
}
.idw-404__inner { max-width: 560px; text-align: center; position: relative; z-index: 1; }
.idw-404__inner h1 {
  font-size: clamp(2.2rem,5vw,3.4rem); font-weight: 800; letter-spacing: -.03em;
  color: var(--idw-white); margin-bottom: 16px;
}
.idw-404__inner p { font-size: 1.02rem; color: var(--idw-text-muted); line-height: 1.75; margin-bottom: 36px; }
.idw-404__actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 48px; }
.idw-404__links { border-top: 1px solid var(--idw-border); padding-top: 28px; }
.idw-404__links p { font-family: var(--idw-font-mono); font-size: .63rem; letter-spacing: .14em; text-transform: uppercase; color: var(--idw-text-dim); margin-bottom: 16px; }
.idw-404__links-grid { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.idw-404__links-grid a {
  font-size: .85rem; color: var(--idw-text-muted); padding: 8px 16px; border-radius: var(--r-pill);
  border: 1px solid var(--idw-border-2); transition: all .2s;
}
.idw-404__links-grid a:hover { color: var(--idw-white); border-color: rgba(255,255,255,.3); background: var(--idw-surface-2); }

/* ============================================================
   PORTAFOLIO
   ============================================================ */
.idw-pf-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 40px; }
.idw-pf-filter {
  font-family: var(--idw-font-body); font-size: .82rem; font-weight: 600;
  padding: 9px 20px; border-radius: var(--r-pill); border: 1px solid var(--idw-border-2);
  background: transparent; color: var(--idw-text-muted); cursor: pointer; transition: all .2s;
}
.idw-pf-filter:hover { border-color: rgba(255,255,255,.3); color: var(--idw-white); }
.idw-pf-filter.is-active { background: var(--idw-accent); border-color: var(--idw-accent); color: var(--idw-white); }

.idw-pf-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--idw-gap); }
.idw-pf-card {
  background: var(--idw-surface); border: 1px solid var(--idw-border); border-radius: var(--r-xl);
  padding: 28px; display: flex; flex-direction: column; transition: border-color .25s, transform .2s;
}
.idw-pf-card:hover { border-color: rgba(184,0,26,.3); transform: translateY(-3px); }
.idw-pf-card__icon { font-size: 2rem; margin-bottom: 18px; line-height: 1; }
.idw-pf-card__image {
  width: 100%; aspect-ratio: 4/3; border-radius: var(--r-md); margin-bottom: 18px;
  background-size: cover; background-position: center; background-color: var(--idw-bg-3);
}
.idw-pf-card__tag {
  font-family: var(--idw-font-mono); font-size: .63rem; letter-spacing: .08em; text-transform: uppercase;
  color: var(--idw-accent); margin-bottom: 8px; display: block;
}
.idw-pf-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--idw-white); margin-bottom: 8px; }
.idw-pf-card p { font-size: .85rem; color: var(--idw-text-muted); line-height: 1.6; }

/* ============================================================
   BLOG
   ============================================================ */
.idw-blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--idw-gap); }
.idw-blog-card {
  background: var(--idw-surface); border: 1px solid var(--idw-border); border-radius: var(--r-xl);
  padding: 28px; display: flex; flex-direction: column; text-decoration: none; color: inherit;
  transition: border-color .25s, transform .2s;
}
.idw-blog-card:hover { border-color: rgba(184,0,26,.3); transform: translateY(-3px); }
.idw-blog-card__meta { font-family: var(--idw-font-mono); font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; color: var(--idw-accent); margin-bottom: 10px; }
.idw-blog-card h2 { font-size: 1.15rem; font-weight: 700; color: var(--idw-white); margin-bottom: 10px; line-height: 1.3; }
.idw-blog-card p { font-size: .87rem; color: var(--idw-text-muted); line-height: 1.7; flex-grow: 1; margin-bottom: 16px; }
.idw-blog-card__more { font-size: .82rem; font-weight: 600; color: var(--idw-accent); }

.idw-single-post { max-width: 760px; margin-inline: auto; padding-inline: 48px; padding-block: 64px; }
.idw-single-post__meta { font-family: var(--idw-font-mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--idw-text-dim); margin-bottom: 16px; }
.idw-single-post h1 { font-size: clamp(1.8rem,3.5vw,2.6rem); font-weight: 800; letter-spacing: -.02em; color: var(--idw-white); margin-bottom: 28px; line-height: 1.15; }
.idw-single-post .idw-prose img { border-radius: var(--r-lg); margin-block: 24px; }

/* ============================================================
   POWER BUTTON INTERACTIVO
   ============================================================ */
.idw-power-btn {
  background: none; border: none; cursor: pointer; padding: 4px;
  display: inline-flex; align-items: center; justify-content: center;
  position: relative; -webkit-tap-highlight-color: transparent;
}
.idw-power-btn::before {
  content: ''; position: absolute; inset: -4px; border-radius: 50%;
  border: 1px solid var(--idw-accent); opacity: 0; transform: scale(.7); pointer-events: none;
}
.idw-power-btn.is-pulsing::before { animation: idw-power-pulse .55s ease-out; }
@keyframes idw-power-pulse { 0%{opacity:.8;transform:scale(.7);} 100%{opacity:0;transform:scale(1.6);} }

/* Invitación a interactuar: tilt 3D en hover + "despertar" la primera vez que entra en pantalla */
.idw-power-btn { perspective: 300px; }
.idw-power-btn::after {
  content: ''; position: absolute; inset: -10px; border-radius: 50%;
  background: radial-gradient(circle, rgba(184,0,26,.22) 0%, transparent 70%);
  opacity: 0; transition: opacity .25s ease; pointer-events: none;
}
.idw-power-btn:hover::after { opacity: 1; }
.idw-power-icon {
  transition: transform .12s ease-out;
  transform: rotateX(var(--idw-tilt-y, 0deg)) rotateY(var(--idw-tilt-x, 0deg));
}
.idw-power-btn.idw-power-wake .idw-power-icon { animation: idw-power-wake 1.1s ease-in-out; }
@keyframes idw-power-wake {
  0%   { transform: rotate(0deg) scale(1); }
  20%  { transform: rotate(-10deg) scale(1.08); }
  40%  { transform: rotate(8deg) scale(1.08); }
  60%  { transform: rotate(-6deg) scale(1.03); }
  80%  { transform: rotate(3deg) scale(1.01); }
  100% { transform: rotate(0deg) scale(1); }
}

.idw-power-icon { display: block; overflow: visible; }
.idw-power-icon__ring {
  fill: var(--idw-power-ring, var(--idw-accent));
  transition: fill .25s, filter .25s;
  filter: drop-shadow(0 0 6px rgba(184,0,26,.5));
}
.idw-power-icon__stem,
.idw-power-icon__dot {
  fill: var(--idw-white);
  filter: drop-shadow(0 0 5px rgba(255,255,255,.7));
  transition: transform .35s cubic-bezier(.34,1.56,.64,1);
  transform-box: fill-box; transform-origin: center;
}
.idw-power-btn:hover .idw-power-icon__dot { transform: scale(1.15); }
.idw-power-btn:active .idw-power-icon__dot { transform: scale(.9); }
.idw-power-btn:hover .idw-power-icon__ring {
  fill: var(--idw-accent2); filter: drop-shadow(0 0 10px rgba(184,0,26,.8));
}
.idw-power-btn:focus-visible { outline: 2px solid var(--idw-accent); outline-offset: 4px; border-radius: 50%; }
.idw-power-btn.is-active .idw-power-icon__ring { fill: var(--idw-white); }

.idw-power-btn--inline { vertical-align: middle; margin-left: 8px; }
.idw-hero__power-top {
  display: flex; justify-content: center; position: relative; z-index: 2;
  padding-top: 8px; margin-bottom: 12px;
}
.idw-section-header .idw-power-btn { margin-top: 6px; }
.idw-power-btn--stats {
  position: absolute; top: -16px; left: 50%; transform: translateX(-50%);
  background: var(--idw-bg-2); border-radius: 50%; box-shadow: 0 0 0 6px var(--idw-bg-2);
}
.idw-power-btn--cta { margin-bottom: 18px; }

/* Efecto 1 — boot flash: pulso global al presionar el logo del header */
body.idw-boot-flash::after {
  content: ''; position: fixed; inset: 0; z-index: 9999; pointer-events: none;
  background: radial-gradient(circle at center, rgba(255,255,255,.9) 0%, rgba(184,0,26,.5) 35%, transparent 70%);
  mix-blend-mode: screen; animation: idw-boot-flash-anim .6s ease-out forwards;
}
body.idw-boot-flash::before {
  content: ''; position: fixed; inset: 0; z-index: 9998; pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(255,255,255,.06) 0px, rgba(255,255,255,.06) 1px, transparent 1px, transparent 3px);
  animation: idw-boot-scanline .6s steps(2) forwards;
}
@keyframes idw-boot-flash-anim { 0%{opacity:0;} 15%{opacity:1;} 100%{opacity:0;} }
@keyframes idw-boot-scanline { 0%{opacity:.9; transform: translateY(-2%);} 100%{opacity:0; transform: translateY(2%);} }

/* Efecto 2 — reveal panel: panel oculto en el hero */
.idw-power-reveal-trigger { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 32px; }
.idw-power-reveal-trigger span { font-family: var(--idw-font-mono); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--idw-text-dim); }
.idw-power-reveal-panel {
  max-height: 0; opacity: 0; overflow: hidden;
  transition: max-height .45s cubic-bezier(.22,1,.36,1), opacity .3s ease, margin-top .45s ease;
}
.idw-power-reveal-panel.is-open { max-height: 260px; opacity: 1; margin-top: -12px; margin-bottom: 20px; }
.idw-power-reveal-box {
  background: var(--idw-surface); border: 1px solid rgba(184,0,26,.25); border-radius: var(--r-md);
  padding: 18px 20px; font-family: var(--idw-font-mono); font-size: .78rem; color: var(--idw-text-muted); line-height: 1.8;
}
.idw-power-caret {
  display: inline-block; width: 7px; height: 13px; background: var(--idw-accent); margin-left: 2px;
  animation: idw-power-caret-blink 1s steps(1) infinite; vertical-align: middle;
}
@keyframes idw-power-caret-blink { 50% { opacity: 0; } }

/* Efecto 3 — modo intenso: intensifica el glow del panel en Nosotros */
.idw-about__panel { transition: box-shadow .5s ease, border-color .5s ease; }
body.idw-mode-intense .idw-about__panel {
  box-shadow: 0 0 50px rgba(184,0,26,.35), 0 0 110px rgba(184,0,26,.15);
  border-color: rgba(184,0,26,.5);
}
body.idw-mode-intense .idw-about__metric strong { text-shadow: 0 0 18px rgba(184,0,26,.6); }

/* Efecto 4 — replay: reinicia el stagger de entrada de un grupo de tarjetas */
[data-power-replay-scope].js-armed [data-power-item] { opacity: 0; transform: translateY(18px); }
[data-power-replay-scope].js-armed [data-power-item].idw-power-animate {
  animation: idw-power-stagger-in .55s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes idw-power-stagger-in { to { opacity: 1; transform: translateY(0); } }

/* Efecto 5 — count: anima los números en contadores al presionar */
[data-power-count].is-counting { text-shadow: 0 0 20px rgba(184,0,26,.7); }

@media (prefers-reduced-motion: reduce) {
  [data-power-replay-scope].js-armed [data-power-item] { opacity: 1; transform: none; animation: none !important; }
  body.idw-boot-flash::before, body.idw-boot-flash::after { animation: none !important; display: none; }
  .idw-power-btn.idw-power-wake .idw-power-icon { animation: none !important; }
  .idw-power-icon { transition: none !important; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .idw-hero__inner { grid-template-columns:1fr; gap:56px; }
  .idw-bento-card--a { grid-column:span 12; }
  .idw-bento-card--b,.idw-bento-card--c { grid-column:span 6; }
  .idw-bento-card--d { flex-direction:column; gap:20px; }
  .idw-about__grid { grid-template-columns:1fr; gap:48px; }
  .idw-footer__grid { grid-template-columns:1fr 1fr; gap:36px; }
  .idw-stats-strip { grid-template-columns:repeat(2,1fr); }
  .idw-stat { border-bottom:1px solid var(--idw-border); }
  .idw-process { grid-template-columns:repeat(2,1fr); gap:40px; }
  .idw-process::before { display:none; }
  .idw-testimonials__grid { grid-template-columns:1fr 1fr; }
  .idw-pf-grid,.idw-blog-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
  :root { --idw-section-py:72px; }
  .idw-wrap,.idw-hero__inner,.idw-clients__inner,.idw-footer__grid,.idw-footer__bottom,.idw-page-hero__inner,.idw-inner-layout { padding-inline:24px; }
  .idw-hero { padding-block:90px 72px; }
  .idw-bento-card--b,.idw-bento-card--c { grid-column:span 12; }
  .idw-inner-layout { grid-template-columns:1fr; padding-block:56px; }
  .idw-sidebar-card { position:static; }
  .idw-contact-grid { grid-template-columns:1fr; gap:44px; }
  .idw-testimonials__grid { grid-template-columns:1fr; }
  .idw-footer__grid { grid-template-columns:1fr; }
  .idw-footer__bottom { flex-direction:column; text-align:center; }
  .idw-detail-cards { grid-template-columns:1fr; }
  .idw-form__row { grid-template-columns:1fr; }
  .idw-process { grid-template-columns:1fr; }
  .idw-cta__inner { padding-inline:24px; }
  .idw-pf-grid,.idw-blog-grid { grid-template-columns:1fr; }
  .idw-single-post { padding-inline:24px; padding-block:44px; }
}
@media (max-width:480px){
  .idw-hero__actions { flex-direction:column; align-items:flex-start; }
  .idw-cta__actions { flex-direction:column; align-items:center; }
  .idw-stats-strip { grid-template-columns:1fr; }
  .idw-bento-card { padding:22px; }
  .idw-about__metrics { grid-template-columns:1fr; }
  .idw-gracias__card { padding:36px 22px; }
}
