/*
Theme Name: Iwales 2026
Theme URI: https://iwales.org/
Author: Iwales
Description: Tema de bloques ligero y responsive para la web pública de Asociación Iwales.
Version: 0.5.2
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: iwales-2026
*/

:root {
  --iwales-dark: #3a3a39;
  --iwales-red: #c1304a;
  --iwales-gold: #e3b023;
  --iwales-blue: #1d699b;
  --iwales-pink: #e5114a;
  --iwales-bg: #f7f7f5;
  --iwales-text: #242424;
  --iwales-muted: #686868;
  --iwales-border: #e4e4e0;
  --iwales-radius: 22px;
  --iwales-shadow: 0 18px 55px rgba(34,34,34,.08);
  --iwales-shell: 1180px;
  --iwales-gutter: clamp(20px, 4vw, 48px);
  --iwales-split-gap: clamp(1rem, 1.6vw, 1.5rem);
  --iwales-split-max: 1060px;
  --iwales-mark-color: url('assets/iwales-mark-transparent.png');
  --iwales-mark-white: url('assets/iwales-mark-white.png');
  --iwales-mark-light: url('assets/iwales-mark-light.png');
}


*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

:where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid var(--iwales-gold);
  outline-offset: 3px;
}

/* Consistent horizontal rhythm */
.iwales-header-inner,
.iwales-section,
.iwales-notice,
.iwales-participa,
.iwales-content,
.iwales-site-footer > .wp-block-columns,
.iwales-site-footer > .wp-block-separator {
  width: min(calc(100% - (var(--iwales-gutter) * 2)), var(--iwales-shell)) !important;
  max-width: var(--iwales-shell) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Header */
.iwales-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(58,58,57,.10);
  backdrop-filter: blur(16px);
  background: rgba(255,255,255,.96);
}

.iwales-header-inner {
  min-height: 74px;
  gap: 1.5rem;
}

.iwales-header-inner > .wp-block-group {
  flex: 0 0 auto;
  min-width: 0;
}

.iwales-header-inner .wp-block-site-logo img {
  max-height: 50px;
  width: auto;
}

.iwales-header-inner .wp-block-site-title {
  margin: 0;
  white-space: nowrap;
  font-size: 1.05rem;
}

.iwales-header-inner .wp-block-navigation {
  margin-left: auto;
  font-size: .9rem;
  font-weight: 700;
}

.iwales-header-inner .wp-block-navigation__container {
  gap: clamp(.7rem, 1.2vw, 1.15rem);
}

.iwales-header-inner .wp-block-navigation-item__content {
  text-decoration: none;
  white-space: nowrap;
}

.iwales-header-inner .wp-block-navigation-item__content:hover {
  color: var(--iwales-red);
}

.iwales-header-inner .iwales-nav-cta > .wp-block-navigation-item__content {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: .55rem 1rem;
  border-radius: 999px;
  background: var(--iwales-red);
  color: #fff !important;
}

/* Hero */
.iwales-hero {
  position: relative;
  overflow: hidden;
  border-radius: 0 0 32px 32px;
  background:
    radial-gradient(circle at 92% 18%, rgba(227,176,35,.28), transparent 30%),
    radial-gradient(circle at 72% 90%, rgba(29,105,155,.38), transparent 34%),
    linear-gradient(125deg, #272726 0%, #393939 60%, #4c3038 100%);
}

.iwales-hero::after {
  content: "";
  position: absolute;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  right: -72px;
  bottom: -110px;
  border: 38px solid rgba(229,17,74,.20);
  pointer-events: none;
}

.iwales-hero > .wp-block-group.alignwide {
  width: min(calc(100% - (var(--iwales-gutter) * 2)), var(--iwales-shell)) !important;
  max-width: var(--iwales-shell) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.iwales-hero > .wp-block-group.alignwide.is-layout-constrained > * {
  margin-left: 0 !important;
  margin-right: auto !important;
}

.iwales-hero > .wp-block-spacer:first-child,
.iwales-hero > .wp-block-spacer:last-child {
  height: clamp(52px, 6vw, 76px) !important;
}

.iwales-kicker {
  display: inline-block;
  margin-bottom: .6rem;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--iwales-gold);
}

.iwales-hero h1 {
  max-width: 780px;
  margin-top: .35rem;
  margin-bottom: 1.25rem;
  font-size: clamp(2.75rem, 5vw, 4.7rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.iwales-hero p:not(.iwales-kicker) {
  max-width: 680px;
  margin-bottom: 1.4rem;
  font-size: clamp(1.08rem, 1.6vw, 1.35rem) !important;
  line-height: 1.55;
}

/* Buttons */
.iwales-actions { gap: .75rem; }
.iwales-actions .wp-block-button__link {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 750;
  border-radius: 999px;
  padding-inline: 1.2rem;
}
.iwales-button-primary .wp-block-button__link { background: var(--iwales-red); color: #fff; }
.iwales-button-secondary .wp-block-button__link { background: #fff; color: var(--iwales-dark); }

/* Home sections */
.iwales-section {
  padding-block: clamp(3.25rem, 5.5vw, 4.75rem);
}

/* WordPress constrained layout was making headings narrower than cards.
   On home sections every direct child shares the same grid width. */
.iwales-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  width: 100%;
  max-width: none;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.iwales-section-heading {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 0 1.8rem 0 !important;
}

.iwales-section-heading h2 {
  margin-top: .25rem;
  margin-bottom: .7rem;
  font-size: clamp(1.9rem, 3vw, 2.65rem);
  line-height: 1.12;
  text-wrap: balance;
}

.iwales-section-heading p {
  color: var(--iwales-muted);
  font-size: 1.05rem;
}

.iwales-grid {
  display: grid !important;
  width: 100%;
  gap: clamp(1rem, 1.8vw, 1.3rem);
  align-items: stretch;
}

/* Gutenberg may keep the flow-layout block gap on direct children even
   after this group is converted to CSS Grid. That pushed cards 2+ down,
   making the first card look larger. Grid gap is the only spacing here. */
.iwales-grid > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  min-width: 0;
}

.iwales-grid > .iwales-card {
  height: 100%;
}

.iwales-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.iwales-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.iwales-card {
  min-width: 0;
  border: 1px solid var(--iwales-border);
  border-radius: var(--iwales-radius);
  padding: clamp(1.25rem, 2vw, 1.75rem);
  background: #fff;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.iwales-card:hover { transform: translateY(-3px); box-shadow: var(--iwales-shadow); border-color: transparent; }
.iwales-card h3 { margin-top: .75rem; margin-bottom: .5rem; font-size: clamp(1.12rem, 1.5vw, 1.28rem); }
.iwales-card p { color: var(--iwales-muted); }
.iwales-card a { font-weight: 750; }
.iwales-icon {
  width: 46px;
  height: 46px;
  margin-top: 0;
  margin-bottom: .5rem;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  background: #f1f4f6;
}

/* Quick appointment CTA */
.iwales-notice {
  border-radius: var(--iwales-radius);
  padding: clamp(1.4rem, 3vw, 2.1rem);
  background: #fff7dc;
  border: 1px solid #f0d16f;
}

.iwales-notice .wp-block-columns {
  gap: clamp(1.25rem, 3vw, 2.5rem);
}

.iwales-notice h2 {
  margin-top: .2rem;
  margin-bottom: .65rem;
  font-size: clamp(1.55rem, 2.4vw, 2.05rem);
}

.iwales-notice p:last-child { margin-bottom: 0; }

/* Projects */
.iwales-project-card {
  min-height: clamp(220px, 20vw, 255px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.iwales-project-card.is-blue { background: linear-gradient(145deg, #123f5d, #1d699b); color: #fff; border: none; }
.iwales-project-card.is-red { background: linear-gradient(145deg, #8e2336, #c1304a); color: #fff; border: none; }
.iwales-project-card.is-dark { background: linear-gradient(145deg, #292928, #494947); color: #fff; border: none; }
.iwales-project-card p, .iwales-project-card a { color: inherit; }

.iwales-instagram-shell {
  min-height: 220px;
  border-radius: var(--iwales-radius);
  background: #fff;
  border: 1px dashed #cfcfca;
  padding: clamp(1rem, 2vw, 1.4rem);
}

.iwales-participa {
  margin-top: clamp(1rem, 2vw, 2rem) !important;
  border-radius: 28px;
  background: linear-gradient(120deg, #f7e8eb, #f8f4e6 52%, #e7f0f6);
  padding: clamp(2rem, 4vw, 3.5rem);
}

/* Internal pages */
.iwales-page-hero {
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
  background: #f4f4f1;
  border-radius: 0 0 28px 28px;
}

.iwales-page-hero > .wp-block-post-title {
  width: min(calc(100% - (var(--iwales-gutter) * 2)), var(--iwales-shell)) !important;
  max-width: var(--iwales-shell) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.iwales-content { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.iwales-content > * { max-width: 820px; }
.iwales-content > .alignwide, .iwales-content > .alignfull { max-width: none; }

/* Footer */
.iwales-site-footer {
  margin-top: clamp(3rem, 6vw, 5rem);
  background: #262625;
  color: #fff;
}
.iwales-site-footer a { color: #fff; }
.iwales-site-footer .iwales-footer-muted { color: #c7c7c2; }

/* Tablet */
@media (max-width: 980px) {
  .iwales-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iwales-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* Open the native WordPress mobile menu earlier, before links can wrap. */
  .iwales-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
  .iwales-site-header .wp-block-navigation__responsive-container-open {
    display: flex !important;
  }
  .iwales-site-header .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    padding: 1.4rem var(--iwales-gutter) 2rem;
    background: #fff;
  }
  .iwales-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: stretch;
  }
  .iwales-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    width: 100%;
    gap: .25rem;
    align-items: stretch;
  }
  .iwales-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100%;
  }
  .iwales-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    width: 100%;
    padding: .8rem 0;
    font-size: 1rem;
  }
  .iwales-site-header .wp-block-navigation__responsive-container.is-menu-open .iwales-nav-cta > .wp-block-navigation-item__content {
    justify-content: center;
    margin-top: .6rem;
    padding: .7rem 1rem;
  }
}

/* Mobile */
@media (max-width: 680px) {
  :root { --iwales-gutter: 18px; }

  .iwales-site-header { position: relative; }
  .iwales-header-inner { min-height: 64px; gap: .75rem; }
  .iwales-header-inner .wp-block-site-logo img { max-height: 42px; }
  .iwales-header-inner .wp-block-site-title { font-size: .98rem; }

  .iwales-grid-3, .iwales-grid-4 { grid-template-columns: 1fr; }

  .iwales-hero { border-radius: 0 0 22px 22px; }
  .iwales-hero::after {
    width: 180px;
    height: 180px;
    right: -82px;
    bottom: -82px;
    border-width: 28px;
  }
  .iwales-hero > .wp-block-spacer:first-child,
  .iwales-hero > .wp-block-spacer:last-child { height: 42px !important; }
  .iwales-hero h1 {
    max-width: 100%;
    font-size: clamp(2.45rem, 12vw, 3.45rem) !important;
    line-height: 1.02 !important;
  }
  .iwales-hero p:not(.iwales-kicker) {
    max-width: 100%;
    font-size: 1.08rem !important;
  }

  .iwales-section { padding-block: 3rem; }
  .iwales-section-heading { margin-bottom: 1.4rem !important; }
  .iwales-section-heading h2 { font-size: 1.85rem; }

  .iwales-actions {
    flex-direction: column;
    align-items: stretch !important;
  }
  .iwales-actions .wp-block-button,
  .iwales-actions .wp-block-button__link { width: 100%; }

  .iwales-card {
    border-radius: 18px;
    padding: 1.25rem;
  }

  .iwales-notice { border-radius: 18px; padding: 1.3rem; }
  .iwales-notice .wp-block-columns { gap: .75rem; }
  .iwales-notice .wp-block-column { flex-basis: 100% !important; }
  .iwales-notice .wp-block-buttons { justify-content: stretch !important; }
  .iwales-notice .wp-block-button,
  .iwales-notice .wp-block-button__link { width: 100%; }

  .iwales-project-card { min-height: 205px; }
  .iwales-participa { border-radius: 20px; padding: 1.5rem; }

  .iwales-site-footer > .wp-block-columns { gap: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* ================================================================
   Visual refinement · v0.2.0
   ================================================================ */

/* Brand fallback: use the real Site Logo whenever configured. If the
   staging site has no logo yet, show a clean text wordmark instead of
   leaking the staging site's title ("Iwales Gestion"). */
.iwales-brand,
.iwales-footer-brand {
  gap: .8rem;
}

.iwales-brand-name,
.iwales-footer-brand-name {
  margin: 0 !important;
  font-size: 1.3rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.035em;
}

.iwales-brand-name a {
  color: var(--iwales-dark);
  text-decoration: none;
}

.iwales-brand:has(.wp-block-site-logo img) .iwales-brand-name,
.iwales-footer-brand:has(.wp-block-site-logo img) .iwales-footer-brand-name {
  display: none;
}

/* Header polish */
.iwales-site-header {
  box-shadow: 0 1px 0 rgba(0,0,0,.025);
}

.iwales-header-inner {
  min-height: 78px;
}

.iwales-header-inner .wp-block-navigation-item__content {
  position: relative;
  padding-block: .45rem;
}

.iwales-header-inner .wp-block-navigation-item:not(.iwales-nav-cta) > .wp-block-navigation-item__content::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: .14rem;
  height: 2px;
  border-radius: 999px;
  background: var(--iwales-red);
  transition: right .18s ease;
}

.iwales-header-inner .wp-block-navigation-item:not(.iwales-nav-cta) > .wp-block-navigation-item__content:hover::after,
.iwales-header-inner .wp-block-navigation-item.current-menu-item:not(.iwales-nav-cta) > .wp-block-navigation-item__content::after,
.iwales-header-inner .wp-block-navigation-item.current-menu-ancestor:not(.iwales-nav-cta) > .wp-block-navigation-item__content::after {
  right: 0;
}

.iwales-header-inner .iwales-nav-cta > .wp-block-navigation-item__content {
  box-shadow: 0 7px 18px rgba(193,48,74,.18);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.iwales-header-inner .iwales-nav-cta > .wp-block-navigation-item__content:hover {
  transform: translateY(-1px);
  background: #a9273e;
  box-shadow: 0 10px 24px rgba(193,48,74,.24);
}

/* Hero: a calmer scale and a recognisable Iwales colour composition.
   The right-side artwork is CSS only, so no fake logo or stock image is used. */
.iwales-hero {
  min-height: clamp(485px, 50vw, 620px);
  display: flex;
  align-items: center;
  isolation: isolate;
  background:
    radial-gradient(circle at 81% 20%, rgba(227,176,35,.16), transparent 22%),
    radial-gradient(circle at 72% 100%, rgba(29,105,155,.34), transparent 31%),
    linear-gradient(123deg, #252524 0%, #303131 53%, #42313a 100%);
}

.iwales-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: clamp(270px, 31vw, 470px);
  aspect-ratio: 1 / 1.13;
  right: clamp(30px, 7vw, 130px);
  top: 50%;
  transform: translateY(-50%) rotate(7deg);
  border-radius: 34% 66% 57% 43% / 40% 43% 57% 60%;
  background:
    radial-gradient(circle at 28% 24%, rgba(227,176,35,.92) 0 7%, transparent 7.5%),
    radial-gradient(circle at 66% 68%, rgba(229,17,74,.78) 0 11%, transparent 11.5%),
    radial-gradient(circle at 74% 28%, rgba(29,105,155,.86) 0 15%, transparent 15.5%),
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.025));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 16px rgba(255,255,255,.018), 0 40px 80px rgba(0,0,0,.15);
  opacity: .9;
}

.iwales-hero::after {
  width: clamp(185px, 18vw, 270px);
  height: clamp(185px, 18vw, 270px);
  right: clamp(-78px, -3vw, -32px);
  bottom: clamp(-115px, -7vw, -72px);
  border-width: clamp(28px, 3vw, 42px);
  opacity: .95;
}

.iwales-hero > .wp-block-group.alignwide {
  position: relative;
  z-index: 1;
}

.iwales-hero > .wp-block-group.alignwide.is-layout-constrained > * {
  max-width: min(690px, 62vw) !important;
}

.iwales-hero h1 {
  font-size: clamp(2.8rem, 4.6vw, 4.45rem) !important;
  line-height: 1.015 !important;
}

.iwales-hero p:not(.iwales-kicker) {
  max-width: 630px !important;
  color: rgba(255,255,255,.92);
}

/* Section rhythm */
.iwales-section + .iwales-section {
  border-top: 1px solid rgba(58,58,57,.06);
}

.iwales-section-heading h2 {
  letter-spacing: -.025em;
}

.iwales-section-heading .iwales-kicker {
  margin-bottom: .35rem;
}

/* Service cards */
.iwales-card:has(.iwales-icon) {
  display: flex;
  flex-direction: column;
  min-height: 258px;
  padding: clamp(1.35rem, 2.1vw, 1.8rem);
}

.iwales-card:has(.iwales-icon) > p:last-child {
  margin-top: auto;
  margin-bottom: 0;
  padding-top: .8rem;
}

.iwales-card:has(.iwales-icon) > p:last-child a {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
}

.iwales-card:has(.iwales-icon) > p:last-child a:hover {
  color: var(--iwales-red);
}

.iwales-icon {
  margin-bottom: .7rem;
  border: 1px solid rgba(29,105,155,.08);
  background: #f2f5f7;
  color: var(--iwales-blue);
  font-size: 0;
  font-weight: 800;
}

.iwales-card:nth-child(1) .iwales-icon::before { content: "✚"; }
.iwales-card:nth-child(2) .iwales-icon::before { content: "◇"; }
.iwales-card:nth-child(3) .iwales-icon::before { content: "○"; }
.iwales-card:nth-child(4) .iwales-icon::before { content: "✦"; }
.iwales-card:nth-child(5) .iwales-icon::before { content: "▤"; }
.iwales-card:nth-child(6) .iwales-icon::before { content: "△"; }
.iwales-icon::before { font-size: 1.2rem; line-height: 1; }

.iwales-card:nth-child(2) .iwales-icon { color: var(--iwales-red); background: #fbf1f3; }
.iwales-card:nth-child(3) .iwales-icon { color: var(--iwales-gold); background: #fff8e4; }
.iwales-card:nth-child(4) .iwales-icon { color: #754769; background: #f7f0f5; }
.iwales-card:nth-child(5) .iwales-icon { color: var(--iwales-dark); background: #f1f1ef; }
.iwales-card:nth-child(6) .iwales-icon { color: var(--iwales-pink); background: #fff0f4; }

/* Quick appointment */
.iwales-notice {
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 45px rgba(88,70,16,.06);
}

.iwales-notice::after {
  content: "";
  position: absolute;
  right: -48px;
  top: -58px;
  width: 165px;
  height: 165px;
  border-radius: 50%;
  border: 27px solid rgba(227,176,35,.16);
  pointer-events: none;
}

.iwales-notice > * { position: relative; z-index: 1; }

/* Project cards */
.iwales-project-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: clamp(225px, 19vw, 270px);
  padding: clamp(1.55rem, 2.4vw, 2rem);
  box-shadow: 0 14px 36px rgba(0,0,0,.08);
}

.iwales-project-card::before {
  content: "PROYECTO";
  position: absolute;
  z-index: -1;
  top: 1.45rem;
  left: 1.55rem;
  font-size: .7rem;
  line-height: 1;
  letter-spacing: .11em;
  font-weight: 800;
  color: rgba(255,255,255,.72);
}

.iwales-project-card::after {
  content: "";
  position: absolute;
  z-index: -2;
  width: 175px;
  height: 175px;
  right: -75px;
  top: -75px;
  border-radius: 50%;
  border: 24px solid rgba(255,255,255,.075);
}

.iwales-project-card h3 {
  font-size: clamp(1.18rem, 1.6vw, 1.35rem);
}

.iwales-project-card p {
  max-width: 31ch;
  margin-bottom: 0;
  color: rgba(255,255,255,.88);
}

/* News query cards */
.wp-block-post-template.iwales-grid > li {
  display: flex;
  min-width: 0;
  margin: 0 !important;
}

.wp-block-post-template.iwales-grid > li > .iwales-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
}

.wp-block-post-template.iwales-grid .wp-block-post-featured-image {
  margin: 0 !important;
  overflow: hidden;
  background: #f0f1ef;
}

.wp-block-post-template.iwales-grid .wp-block-post-featured-image img {
  width: 100%;
  transition: transform .28s ease;
}

.wp-block-post-template.iwales-grid .iwales-card:hover .wp-block-post-featured-image img {
  transform: scale(1.025);
}

.wp-block-post-template.iwales-grid .wp-block-post-date,
.wp-block-post-template.iwales-grid .wp-block-post-title,
.wp-block-post-template.iwales-grid .wp-block-post-excerpt {
  margin-left: 1.45rem;
  margin-right: 1.45rem;
}

.wp-block-post-template.iwales-grid .wp-block-post-date {
  margin-top: 1.25rem;
  margin-bottom: .35rem;
  color: var(--iwales-muted);
}

.wp-block-post-template.iwales-grid .wp-block-post-title {
  margin-top: 0;
  margin-bottom: .65rem;
  font-size: 1.25rem;
}

.wp-block-post-template.iwales-grid .wp-block-post-excerpt {
  margin-top: 0;
  margin-bottom: 1.35rem;
  color: var(--iwales-muted);
}

.wp-block-post-template.iwales-grid .wp-block-post-excerpt__more-link {
  display: inline-flex;
  margin-top: .6rem;
  font-weight: 750;
}

/* Instagram area: when the Instagram plugin is not connected yet, show a
   deliberate staging state instead of a raw shortcode/dashed empty box. */
.iwales-instagram-shell {
  min-height: 250px;
  border: 1px solid var(--iwales-border);
  background:
    radial-gradient(circle at 10% 20%, rgba(227,176,35,.11), transparent 21%),
    radial-gradient(circle at 90% 80%, rgba(193,48,74,.10), transparent 24%),
    #fff;
  box-shadow: 0 12px 40px rgba(34,34,34,.045);
}

.iwales-instagram-shell:not(:has(#sb_instagram)) {
  display: grid;
  place-items: center;
  text-align: center;
}

.iwales-instagram-shell:not(:has(#sb_instagram)) > * {
  display: none !important;
}

.iwales-instagram-shell:not(:has(#sb_instagram))::before {
  content: "Instagram de Iwales · El feed aparecerá aquí automáticamente cuando conectemos la cuenta.";
  display: block;
  max-width: 520px;
  padding: 2rem;
  color: var(--iwales-muted);
  font-weight: 650;
}

/* Participate */
.iwales-participa {
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 55px rgba(34,34,34,.06);
}

.iwales-participa::after {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  right: -90px;
  bottom: -105px;
  border-radius: 50%;
  border: 34px solid rgba(29,105,155,.10);
  pointer-events: none;
}

.iwales-participa > * { position: relative; z-index: 1; }

/* Footer */
.iwales-site-footer {
  background:
    radial-gradient(circle at 12% 15%, rgba(29,105,155,.13), transparent 24%),
    linear-gradient(135deg, #222221, #2c2c2b 58%, #33272b);
}

.iwales-site-footer .wp-block-columns {
  align-items: flex-start;
}

.iwales-site-footer h3 {
  margin-top: .1rem;
  margin-bottom: .95rem;
}

.iwales-site-footer .wp-block-navigation__container {
  gap: .45rem;
}

.iwales-site-footer .wp-block-navigation-item__content {
  color: #d9d9d5;
  font-size: .94rem;
}

.iwales-site-footer .wp-block-navigation-item__content:hover {
  color: #fff;
}

.iwales-footer-brand-name {
  color: #fff;
  font-size: 1.55rem;
}

.iwales-footer-separator {
  margin-top: 2.6rem !important;
  margin-bottom: 1.35rem !important;
  border-color: rgba(255,255,255,.14) !important;
}

.iwales-footer-bottom {
  gap: 1rem 2rem;
}

.iwales-footer-bottom p {
  margin: 0 !important;
}

@media (max-width: 1100px) {
  .iwales-hero::before {
    right: 1vw;
    opacity: .65;
  }
  .iwales-hero > .wp-block-group.alignwide.is-layout-constrained > * {
    max-width: min(660px, 68vw) !important;
  }
}

@media (max-width: 980px) {
  .iwales-hero {
    min-height: auto;
  }
  .iwales-hero::before {
    width: 310px;
    right: -105px;
    opacity: .38;
  }
  .iwales-hero > .wp-block-group.alignwide.is-layout-constrained > * {
    max-width: min(650px, 82vw) !important;
  }
}

@media (max-width: 680px) {
  .iwales-header-inner { min-height: 66px; }
  .iwales-brand-name { font-size: 1.18rem; }

  .iwales-hero {
    min-height: auto;
  }
  .iwales-hero::before {
    width: 230px;
    right: -128px;
    top: 36%;
    opacity: .27;
  }
  .iwales-hero > .wp-block-group.alignwide.is-layout-constrained > * {
    max-width: 100% !important;
  }

  .iwales-card:has(.iwales-icon) {
    min-height: 0;
  }

  .iwales-project-card::before {
    top: 1.25rem;
    left: 1.25rem;
  }

  .iwales-site-footer .wp-block-columns {
    row-gap: 2.4rem;
  }

  .iwales-footer-bottom {
    display: block !important;
  }

  .iwales-footer-bottom p + p {
    margin-top: .65rem !important;
  }
}


/* ================================================================
   Brand integration · v0.2.1
   Use the real Iwales mark and logo instead of generic circles.
   ================================================================ */

.iwales-brand,
.iwales-footer-brand {
  gap: .9rem;
}

.iwales-brand-link,
.iwales-footer-logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  line-height: 0;
}

.iwales-brand-logo {
  display: block;
  width: clamp(154px, 14vw, 224px);
  height: auto;
}

.iwales-footer-logo-link {
  padding: .65rem .8rem;
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
}

.iwales-footer-logo {
  display: block;
  width: clamp(165px, 18vw, 245px);
  height: auto;
}

.iwales-brand:has(.iwales-brand-logo) .iwales-brand-name,
.iwales-footer-brand:has(.iwales-footer-logo) .iwales-footer-brand-name {
  display: none;
}

.iwales-hero::before {
  width: clamp(290px, 31vw, 470px);
  aspect-ratio: 1 / 1.06;
  right: clamp(30px, 7vw, 120px);
  top: 50%;
  transform: translateY(-50%) rotate(-3deg);
  border-radius: 30px;
  background-image:
    var(--iwales-mark-color),
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.05));
  background-repeat: no-repeat, no-repeat;
  background-position: center center, center center;
  background-size: 78% auto, cover;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 38px 80px rgba(0,0,0,.18);
  opacity: .94;
}

.iwales-hero::after {
  width: clamp(170px, 16vw, 240px);
  height: clamp(110px, 10vw, 160px);
  right: clamp(-15px, 1.2vw, 36px);
  bottom: clamp(12px, 1vw, 18px);
  border: 0;
  border-radius: 0;
  background: var(--iwales-mark-white) center / contain no-repeat;
  opacity: .08;
}

.iwales-notice::after {
  right: -8px;
  top: -4px;
  width: 180px;
  height: 118px;
  border: 0;
  border-radius: 0;
  background: var(--iwales-mark-color) center / contain no-repeat;
  opacity: .12;
}

.iwales-project-card::after {
  width: 180px;
  height: 118px;
  right: -18px;
  top: -6px;
  border: 0;
  border-radius: 0;
  background: var(--iwales-mark-white) center / contain no-repeat;
  opacity: .12;
}

.iwales-participa::after {
  width: 250px;
  height: 165px;
  right: -28px;
  bottom: -18px;
  border: 0;
  border-radius: 0;
  background: var(--iwales-mark-color) center / contain no-repeat;
  opacity: .09;
}

.iwales-site-footer::before {
  content: "";
  position: absolute;
  right: min(4vw, 48px);
  top: 26px;
  width: clamp(150px, 14vw, 220px);
  height: clamp(96px, 9vw, 142px);
  background: var(--iwales-mark-white) center / contain no-repeat;
  opacity: .055;
  pointer-events: none;
}

.iwales-site-footer { position: relative; overflow: hidden; }

@media (max-width: 1100px) {
  .iwales-hero::before {
    right: 1vw;
    opacity: .78;
  }
}

@media (max-width: 980px) {
  .iwales-brand-logo { width: 176px; }
  .iwales-footer-logo { width: 215px; }
  .iwales-hero::before {
    width: 300px;
    right: -70px;
    opacity: .55;
  }
  .iwales-hero::after {
    right: -20px;
    bottom: 16px;
    opacity: .06;
  }
}

@media (max-width: 680px) {
  .iwales-brand-logo { width: 148px; }
  .iwales-footer-logo-link { padding: .6rem .72rem; }
  .iwales-footer-logo { width: 190px; }
  .iwales-hero::before {
    width: 228px;
    right: -88px;
    top: 34%;
    opacity: .34;
  }
  .iwales-hero::after {
    width: 124px;
    height: 82px;
    right: -18px;
    bottom: 8px;
    opacity: .055;
  }
  .iwales-notice::after {
    width: 140px;
    height: 92px;
    right: -20px;
    top: -2px;
  }
  .iwales-project-card::after {
    width: 140px;
    height: 92px;
    right: -20px;
    top: -10px;
  }
  .iwales-participa::after {
    width: 168px;
    height: 110px;
    right: -18px;
    bottom: -12px;
  }
  .iwales-site-footer::before {
    width: 140px;
    height: 92px;
    right: -22px;
    top: 18px;
  }
}


/* ================================================================
   Brand mark correction · v0.2.2
   True transparent mark, no white tile, no decorative overlap.
   ================================================================ */

/* Hero: use the W itself, not a framed card. */
.iwales-hero::before {
  width: clamp(320px, 34vw, 520px);
  height: clamp(245px, 25vw, 395px);
  aspect-ratio: auto;
  right: clamp(18px, 4vw, 75px);
  top: 50%;
  transform: translateY(-50%) rotate(-2deg);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: var(--iwales-mark-light) center / contain no-repeat;
  opacity: .32;
}

.iwales-hero::after {
  display: none;
}

/* Appointment CTA: keep the mark in its own empty visual zone,
   well away from the action button. */
.iwales-notice::after {
  right: clamp(132px, 15vw, 190px);
  top: 50%;
  transform: translateY(-50%) rotate(-4deg);
  width: 118px;
  height: 78px;
  border: 0;
  border-radius: 0;
  background: var(--iwales-mark-color) center / contain no-repeat;
  opacity: .085;
}

/* Project cards: watermark only, with no square/background. */
.iwales-project-card::after {
  width: 152px;
  height: 100px;
  right: -8px;
  top: 8px;
  border: 0;
  border-radius: 0;
  background: var(--iwales-mark-white) center / contain no-repeat;
  opacity: .105;
}

/* The W should never create a rectangular visual container. */
.iwales-project-card::after,
.iwales-notice::after,
.iwales-participa::after,
.iwales-site-footer::before {
  box-shadow: none !important;
}

.iwales-participa::after {
  width: 230px;
  height: 150px;
  right: -18px;
  bottom: -18px;
  border: 0;
  border-radius: 0;
  background: var(--iwales-mark-color) center / contain no-repeat;
  opacity: .07;
}

.iwales-site-footer::before {
  background: var(--iwales-mark-white) center / contain no-repeat;
  opacity: .045;
}

@media (max-width: 1100px) {
  .iwales-hero::before {
    right: -20px;
    opacity: .25;
  }
}

@media (max-width: 980px) {
  .iwales-hero::before {
    width: 300px;
    height: 220px;
    right: -90px;
    opacity: .18;
  }
  .iwales-notice::after {
    right: 138px;
    width: 96px;
    height: 64px;
    opacity: .07;
  }
}

@media (max-width: 680px) {
  .iwales-hero::before {
    width: 220px;
    height: 162px;
    right: -96px;
    top: 33%;
    opacity: .12;
  }

  /* On narrow screens the CTA needs all available width for text/button. */
  .iwales-notice::after {
    right: 12px;
    top: 14px;
    transform: none;
    width: 76px;
    height: 50px;
    opacity: .055;
  }

  .iwales-project-card::after {
    width: 122px;
    height: 80px;
    right: -10px;
    top: 8px;
    opacity: .09;
  }
}


/* ================================================================
   Targeted layout correction · v0.2.3
   Keep validated branding; align desktop CTA motif with project cards
   and add safe mobile breathing room below hero actions.
   ================================================================ */

/* Desktop/tablet CTA: same visual language as project-card watermark.
   The mark sits partially cropped in the upper-right corner, away from
   the action button, instead of floating behind the button. */
@media (min-width: 681px) {
  .iwales-notice::after {
    right: -12px;
    top: -24px;
    transform: rotate(-3deg);
    width: 158px;
    height: 104px;
    background: var(--iwales-mark-color) center / contain no-repeat;
    opacity: .075;
  }
}

/* Mobile hero: give the action row and especially the second button a
   little more bottom air before the white section begins. */
@media (max-width: 680px) {
  .iwales-hero .iwales-actions {
    margin-bottom: .9rem !important;
  }

  .iwales-hero > .wp-block-spacer:last-child {
    height: 58px !important;
    min-height: 58px !important;
  }
}


/* ================================================================
   Interior service pages · v0.3.0
   First implementation: Salud sexual
   ================================================================ */

.iwales-service-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(3.8rem, 7vw, 6.4rem) 0 clamp(3.5rem, 6vw, 5.6rem);
  border-radius: 0 0 34px 34px;
  color: #fff;
  background:
    radial-gradient(circle at 75% 105%, rgba(29,105,155,.34), transparent 35%),
    linear-gradient(123deg, #252524 0%, #303131 55%, #442f38 100%);
}

.iwales-service-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: clamp(-30px, 3vw, 52px);
  top: 50%;
  width: clamp(250px, 29vw, 430px);
  height: clamp(165px, 19vw, 285px);
  transform: translateY(-47%) rotate(-4deg);
  background: var(--iwales-mark-white) center / contain no-repeat;
  opacity: .10;
  pointer-events: none;
}

.iwales-service-hero > .wp-block-group,
.iwales-service-shell,
.iwales-service-band > .wp-block-group {
  width: min(calc(100% - (var(--iwales-gutter) * 2)), var(--iwales-shell)) !important;
  max-width: var(--iwales-shell) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.iwales-service-hero .iwales-kicker { color: var(--iwales-gold); }

.iwales-service-hero h1 {
  max-width: 830px;
  margin: .35rem 0 1rem;
  font-size: clamp(2.7rem, 5vw, 4.65rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.038em;
  text-wrap: balance;
}

.iwales-service-hero .iwales-service-lead {
  max-width: 720px;
  margin: 0 0 1.5rem;
  color: rgba(255,255,255,.91);
  font-size: clamp(1.08rem, 1.6vw, 1.34rem);
  line-height: 1.55;
}

.iwales-trust-strip {
  display: flex !important;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 2rem !important;
}

.iwales-trust-strip > * {
  margin: 0 !important;
  padding: .62rem .86rem;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  font-size: .86rem;
  font-weight: 700;
  backdrop-filter: blur(5px);
}

.iwales-service-shell {
  padding-block: clamp(3.5rem, 6vw, 5rem);
}

.iwales-service-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.iwales-service-intro > * { margin: 0 !important; min-width: 0; }
.iwales-service-intro h2,
.iwales-service-section-title h2 {
  margin: .3rem 0 .8rem;
  font-size: clamp(2rem, 3.2vw, 2.8rem);
  line-height: 1.1;
  letter-spacing: -.028em;
  text-wrap: balance;
}
.iwales-service-intro p { font-size: 1.05rem; color: var(--iwales-muted); }

.iwales-service-sidecard {
  position: relative;
  overflow: hidden;
  padding: 1.55rem;
  border-radius: 22px;
  border: 1px solid var(--iwales-border);
  background: #fff;
  box-shadow: 0 14px 36px rgba(34,34,34,.055);
}
.iwales-service-sidecard::after {
  content:"";
  position:absolute;
  right:-24px;
  bottom:-12px;
  width:128px;
  height:84px;
  background:var(--iwales-mark-transparent) center/contain no-repeat;
  opacity:.055;
  pointer-events:none;
}
.iwales-service-sidecard h3 { margin-top:0; font-size:1.2rem; }
.iwales-service-sidecard p { position:relative; z-index:1; }

.iwales-service-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 1.8vw, 1.35rem);
  margin-top: 1.8rem !important;
}
.iwales-service-grid > * { margin:0 !important; min-width:0; }

.iwales-service-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 270px;
  padding: 1.55rem;
  border: 1px solid var(--iwales-border);
  border-radius: 22px;
  background: #fff;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.iwales-service-card:hover {
  transform: translateY(-3px);
  border-color: transparent;
  box-shadow: var(--iwales-shadow);
}
.iwales-service-card .iwales-service-number {
  width: fit-content;
  margin:0 0 1.35rem !important;
  padding:.42rem .62rem;
  border-radius:999px;
  background:#f1f4f6;
  color:var(--iwales-blue);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.06em;
}
.iwales-service-card:nth-child(2) .iwales-service-number { background:#fbf1f3; color:var(--iwales-red); }
.iwales-service-card:nth-child(3) .iwales-service-number { background:#fff7df; color:#a87600; }
.iwales-service-card:nth-child(4) .iwales-service-number { background:#f3f0f3; color:#705468; }
.iwales-service-card:nth-child(5) .iwales-service-number { background:#f0f0ee; color:var(--iwales-dark); }
.iwales-service-card:nth-child(6) .iwales-service-number { background:#fff0f4; color:var(--iwales-pink); }
.iwales-service-card h3 { margin:0 0 .65rem; font-size:1.25rem; }
.iwales-service-card p { margin-top:0; color:var(--iwales-muted); }
.iwales-service-card > p:last-child { margin-top:auto; margin-bottom:0; padding-top:.7rem; }
.iwales-service-card a { font-weight:750; }

.iwales-service-band {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3.6rem, 6vw, 5rem);
  background: #f5f6f4;
}
.iwales-service-band.is-dark {
  color:#fff;
  background:linear-gradient(128deg,#292928,#343535 62%,#3f3036);
}
.iwales-service-band.is-dark::after {
  content:"";
  position:absolute;
  right:-30px;
  bottom:-50px;
  width:330px;
  height:215px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.055;
}
.iwales-service-band.is-dark > .wp-block-group { position:relative; z-index:1; }
.iwales-service-band.is-dark p { color:rgba(255,255,255,.84); }

.iwales-feature-split {
  display:grid !important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.1rem,2.2vw,2rem);
  align-items:center;
}
.iwales-feature-split > * { margin:0 !important; min-width:0; }
.iwales-feature-panel {
  position:relative;
  overflow:hidden;
  min-height:320px;
  padding:clamp(1.7rem,3vw,2.5rem);
  border-radius:28px;
  background:linear-gradient(145deg,#123f5d,#1d699b);
  color:#fff;
  box-shadow:0 18px 50px rgba(29,105,155,.17);
}
.iwales-feature-panel::after {
  content:"";
  position:absolute;
  right:-45px;
  bottom:-22px;
  width:245px;
  height:160px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.11;
}
.iwales-feature-panel > * { position:relative; z-index:1; }
.iwales-feature-panel .iwales-kicker { color:#f6d977; }
.iwales-feature-panel h2 { max-width:12ch; font-size:clamp(2rem,3.2vw,2.85rem); line-height:1.05; }
.iwales-feature-panel p { max-width:40ch; color:rgba(255,255,255,.88); }

.iwales-check-list { margin:1rem 0 1.5rem !important; padding-left:0 !important; list-style:none; }
.iwales-check-list li { position:relative; margin:.7rem 0; padding-left:1.65rem; color:inherit; }
.iwales-check-list li::before {
  content:"";
  position:absolute;
  left:0;
  top:.52em;
  width:.65rem;
  height:.65rem;
  border-radius:50%;
  background:var(--iwales-red);
  box-shadow:0 0 0 4px rgba(193,48,74,.10);
}

.iwales-mini-cards {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.iwales-mini-cards > * { margin:0 !important; }
.iwales-mini-card {
  padding:1.25rem;
  border-radius:18px;
  border:1px solid var(--iwales-border);
  background:#fff;
}
.iwales-mini-card h3 { margin:.1rem 0 .45rem; font-size:1.08rem; }
.iwales-mini-card p { margin:0; color:var(--iwales-muted); font-size:.96rem; }

.iwales-related-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem !important;
}
.iwales-related-grid > * { margin:0 !important; }
.iwales-related-card {
  position:relative;
  overflow:hidden;
  min-height:210px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:1.45rem;
  border-radius:22px;
  color:#fff;
  background:linear-gradient(145deg,#292928,#474746);
}
.iwales-related-card.is-blue { background:linear-gradient(145deg,#123f5d,#1d699b); }
.iwales-related-card.is-red { background:linear-gradient(145deg,#8e2336,#c1304a); }
.iwales-related-card::after {
  content:"";
  position:absolute;
  right:-25px;
  top:-10px;
  width:145px;
  height:95px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.10;
}
.iwales-related-card > * { position:relative; z-index:1; }
.iwales-related-card h3 { margin:0 0 .5rem; font-size:1.18rem; }
.iwales-related-card p { margin:0; color:rgba(255,255,255,.86); }

.iwales-service-cta {
  position:relative;
  overflow:hidden;
  padding:clamp(2rem,4vw,3.25rem);
  border:1px solid #f0d16f;
  border-radius:28px;
  background:#fff7dc;
  box-shadow:0 16px 45px rgba(88,70,16,.06);
}
.iwales-service-cta::after {
  content:"";
  position:absolute;
  right:-20px;
  top:-15px;
  width:210px;
  height:138px;
  background:var(--iwales-mark-transparent) center/contain no-repeat;
  opacity:.065;
}
.iwales-service-cta > * { position:relative; z-index:1; }
.iwales-service-cta h2 { max-width:18ch; margin:.2rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }
.iwales-service-cta p { max-width:680px; }

@media (max-width: 900px) {
  .iwales-service-intro,
  .iwales-feature-split { grid-template-columns:1fr; }
  .iwales-service-grid,
  .iwales-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-service-hero::after { right:-120px; opacity:.065; }
}

@media (max-width: 680px) {
  .iwales-service-hero {
    padding-top:3rem;
    padding-bottom:3.2rem;
    border-radius:0 0 24px 24px;
  }
  .iwales-service-hero::after {
    width:210px;
    height:138px;
    right:-92px;
    top:27%;
    opacity:.055;
  }
  .iwales-service-hero h1 { font-size:clamp(2.45rem,12vw,3.35rem) !important; }
  .iwales-trust-strip { gap:.45rem; margin-top:1.6rem !important; }
  .iwales-trust-strip > * { font-size:.78rem; padding:.52rem .68rem; }
  .iwales-service-shell { padding-block:3rem; }
  .iwales-service-grid,
  .iwales-related-grid,
  .iwales-mini-cards { grid-template-columns:1fr; }
  .iwales-service-card { min-height:0; }
  .iwales-feature-panel { min-height:285px; border-radius:22px; }
  .iwales-service-cta { border-radius:20px; padding:1.5rem; }
  .iwales-service-cta::after { width:145px; height:96px; right:-35px; top:-8px; }
}


/* ================================================================
   Diversidad page · v0.3.1
   ================================================================ */
.iwales-diversity-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(3.8rem, 7vw, 6.4rem) 0 clamp(3.5rem, 6vw, 5.6rem);
  border-radius: 0 0 34px 34px;
  color: #fff;
  background:
    radial-gradient(circle at 77% 105%, rgba(29,105,155,.28), transparent 35%),
    radial-gradient(circle at 95% 2%, rgba(227,176,35,.14), transparent 27%),
    linear-gradient(123deg, #302b30 0%, #49333d 55%, #563345 100%);
}
.iwales-diversity-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  right:clamp(-30px,3vw,50px);
  top:50%;
  width:clamp(260px,30vw,440px);
  height:clamp(170px,20vw,290px);
  transform:translateY(-47%) rotate(3deg);
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.095;
  pointer-events:none;
}
.iwales-diversity-hero > .wp-block-group,
.iwales-diversity-shell,
.iwales-diversity-band > .wp-block-group {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.iwales-diversity-hero .iwales-kicker { color:#f1c84e; }
.iwales-diversity-hero h1 {
  max-width:840px;
  margin:.35rem 0 1rem;
  font-size:clamp(2.7rem,5vw,4.65rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.038em;
  text-wrap:balance;
}
.iwales-diversity-hero .iwales-service-lead {
  max-width:730px;
  margin:0 0 1.5rem;
  color:rgba(255,255,255,.91);
  font-size:clamp(1.08rem,1.6vw,1.34rem);
  line-height:1.55;
}
.iwales-diversity-shell { padding-block:clamp(3.5rem,6vw,5rem); }

.iwales-diversity-intro {
  display:grid !important;
  grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.iwales-diversity-intro > * { margin:0 !important; min-width:0; }
.iwales-diversity-intro h2,
.iwales-diversity-section-title h2 {
  margin:.3rem 0 .8rem;
  font-size:clamp(2rem,3.2vw,2.8rem);
  line-height:1.1;
  letter-spacing:-.028em;
  text-wrap:balance;
}
.iwales-diversity-intro p { font-size:1.05rem; color:var(--iwales-muted); }

.iwales-diversity-sidecard {
  position:relative;
  overflow:hidden;
  padding:1.55rem;
  border-radius:22px;
  border:1px solid #ecdfe4;
  background:linear-gradient(145deg,#fff,#fcf5f7);
  box-shadow:0 14px 36px rgba(74,42,54,.055);
}
.iwales-diversity-sidecard::after {
  content:"";
  position:absolute;
  right:-24px;
  bottom:-12px;
  width:128px;
  height:84px;
  background:var(--iwales-mark-transparent) center/contain no-repeat;
  opacity:.055;
  pointer-events:none;
}
.iwales-diversity-sidecard > * { position:relative; z-index:1; }
.iwales-diversity-sidecard h3 { margin-top:0; font-size:1.2rem; }

.iwales-diversity-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,1.8vw,1.35rem);
  margin-top:1.8rem !important;
}
.iwales-diversity-grid > * { margin:0 !important; min-width:0; }
.iwales-diversity-card {
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:270px;
  padding:1.55rem;
  border:1px solid var(--iwales-border);
  border-radius:22px;
  background:#fff;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.iwales-diversity-card:hover {
  transform:translateY(-3px);
  border-color:transparent;
  box-shadow:var(--iwales-shadow);
}
.iwales-diversity-card::after {
  content:"";
  position:absolute;
  right:-36px;
  top:-18px;
  width:120px;
  height:80px;
  background:var(--iwales-mark-transparent) center/contain no-repeat;
  opacity:.032;
}
.iwales-diversity-card > * { position:relative; z-index:1; }
.iwales-diversity-tag {
  width:fit-content;
  margin:0 0 1.35rem !important;
  padding:.42rem .62rem;
  border-radius:999px;
  background:#fbf1f3;
  color:var(--iwales-red);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.06em;
}
.iwales-diversity-card:nth-child(2) .iwales-diversity-tag { background:#eef5f9; color:var(--iwales-blue); }
.iwales-diversity-card:nth-child(3) .iwales-diversity-tag { background:#fff7df; color:#9b7108; }
.iwales-diversity-card:nth-child(4) .iwales-diversity-tag { background:#f4eef3; color:#704e66; }
.iwales-diversity-card:nth-child(5) .iwales-diversity-tag { background:#f0f0ee; color:var(--iwales-dark); }
.iwales-diversity-card:nth-child(6) .iwales-diversity-tag { background:#fff0f4; color:var(--iwales-pink); }
.iwales-diversity-card h3 { margin:0 0 .65rem; font-size:1.25rem; }
.iwales-diversity-card p { margin-top:0; color:var(--iwales-muted); }
.iwales-diversity-card > p:last-child { margin-top:auto; margin-bottom:0; padding-top:.7rem; }
.iwales-diversity-card a { font-weight:750; }

.iwales-diversity-band {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.6rem,6vw,5rem);
  background:linear-gradient(120deg,#f8eaee 0%,#faf7e9 48%,#eaf2f7 100%);
}
.iwales-diversity-band::after {
  content:"";
  position:absolute;
  right:-40px;
  bottom:-45px;
  width:310px;
  height:205px;
  background:var(--iwales-mark-transparent) center/contain no-repeat;
  opacity:.05;
}
.iwales-diversity-band > .wp-block-group { position:relative; z-index:1; }
.iwales-diversity-feature {
  display:grid !important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
}
.iwales-diversity-feature > * { margin:0 !important; min-width:0; }
.iwales-diversity-feature-panel {
  position:relative;
  overflow:hidden;
  min-height:320px;
  padding:clamp(1.7rem,3vw,2.5rem);
  border-radius:28px;
  color:#fff;
  background:linear-gradient(145deg,#8d273a,#c1304a 58%,#d64f68);
  box-shadow:0 18px 50px rgba(193,48,74,.18);
}
.iwales-diversity-feature-panel::after {
  content:"";
  position:absolute;
  right:-42px;
  bottom:-20px;
  width:245px;
  height:160px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.11;
}
.iwales-diversity-feature-panel > * { position:relative; z-index:1; }
.iwales-diversity-feature-panel .iwales-kicker { color:#ffe49b; }
.iwales-diversity-feature-panel h2 { max-width:13ch; font-size:clamp(2rem,3.2vw,2.85rem); line-height:1.05; }
.iwales-diversity-feature-panel p { max-width:42ch; color:rgba(255,255,255,.9); }

.iwales-diversity-values {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.iwales-diversity-values > * { margin:0 !important; }
.iwales-diversity-value {
  padding:1.25rem;
  border-radius:18px;
  border:1px solid rgba(58,58,57,.10);
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(5px);
}
.iwales-diversity-value h3 { margin:.1rem 0 .45rem; font-size:1.08rem; }
.iwales-diversity-value p { margin:0; color:var(--iwales-muted); font-size:.96rem; }

.iwales-diversity-dark {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.6rem,6vw,5rem);
  color:#fff;
  background:linear-gradient(128deg,#292928,#343535 62%,#41303a);
}
.iwales-diversity-dark::after {
  content:"";
  position:absolute;
  right:-35px;
  bottom:-55px;
  width:335px;
  height:220px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.055;
}
.iwales-diversity-dark > .wp-block-group { position:relative; z-index:1; }
.iwales-diversity-dark p { color:rgba(255,255,255,.84); }
.iwales-diversity-dark-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem !important;
}
.iwales-diversity-dark-grid > * { margin:0 !important; }
.iwales-diversity-dark-card {
  min-height:205px;
  padding:1.45rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.055);
}
.iwales-diversity-dark-card:nth-child(2) { background:rgba(29,105,155,.18); }
.iwales-diversity-dark-card:nth-child(3) { background:rgba(193,48,74,.18); }
.iwales-diversity-dark-card h3 { margin:0 0 .5rem; font-size:1.18rem; color:#fff; }
.iwales-diversity-dark-card p { margin:0; }

.iwales-diversity-cta {
  position:relative;
  overflow:hidden;
  padding:clamp(2rem,4vw,3.25rem);
  border:1px solid #e8d4dc;
  border-radius:28px;
  background:linear-gradient(120deg,#fff8fa,#fffdf6);
  box-shadow:0 16px 45px rgba(74,42,54,.06);
}
.iwales-diversity-cta::after {
  content:"";
  position:absolute;
  right:-18px;
  top:-10px;
  width:205px;
  height:135px;
  background:var(--iwales-mark-transparent) center/contain no-repeat;
  opacity:.06;
}
.iwales-diversity-cta > * { position:relative; z-index:1; }
.iwales-diversity-cta h2 { max-width:20ch; margin:.2rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }
.iwales-diversity-cta p { max-width:700px; }

@media (max-width:900px) {
  .iwales-diversity-intro,
  .iwales-diversity-feature { grid-template-columns:1fr; }
  .iwales-diversity-grid,
  .iwales-diversity-dark-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-diversity-hero::after { right:-120px; opacity:.06; }
}
@media (max-width:760px) {
  .iwales-art-grid { grid-template-columns:1fr; width:100%; }
}

@media (max-width:680px) {
  .iwales-diversity-hero {
    padding-top:3rem;
    padding-bottom:3.2rem;
    border-radius:0 0 24px 24px;
  }
  .iwales-diversity-hero::after {
    width:210px;
    height:138px;
    right:-92px;
    top:27%;
    opacity:.052;
  }
  .iwales-diversity-hero h1 { font-size:clamp(2.45rem,12vw,3.35rem) !important; }
  .iwales-diversity-shell { padding-block:3rem; }
  .iwales-diversity-grid,
  .iwales-diversity-values,
  .iwales-diversity-dark-grid { grid-template-columns:1fr; }
  .iwales-diversity-card { min-height:0; }
  .iwales-diversity-feature-panel { min-height:285px; border-radius:22px; }
  .iwales-diversity-cta { border-radius:20px; padding:1.5rem; }
  .iwales-diversity-cta::after { width:145px; height:96px; right:-35px; top:-8px; }
}


/* ================================================================
   Atención social page · v0.3.2
   ================================================================ */
.iwales-social-hero {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:clamp(3.8rem,7vw,6.3rem) 0 clamp(3.5rem,6vw,5.4rem);
  border-radius:0 0 34px 34px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 10%, rgba(227,176,35,.18), transparent 27%),
    radial-gradient(circle at 70% 110%, rgba(29,105,155,.38), transparent 38%),
    linear-gradient(123deg,#26343c 0%,#28495c 55%,#2c566e 100%);
}
.iwales-social-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  right:clamp(-35px,2vw,45px);
  top:50%;
  width:clamp(260px,30vw,445px);
  height:clamp(170px,20vw,295px);
  transform:translateY(-48%) rotate(-2deg);
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.095;
  pointer-events:none;
}
.iwales-social-hero > .wp-block-group,
.iwales-social-shell,
.iwales-social-band > .wp-block-group {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.iwales-social-hero .iwales-kicker { color:#f2cd62; }
.iwales-social-hero h1 {
  max-width:870px;
  margin:.35rem 0 1rem;
  font-size:clamp(2.7rem,5vw,4.65rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.038em;
  text-wrap:balance;
}
.iwales-social-hero .iwales-service-lead {
  max-width:740px;
  margin:0 0 1.5rem;
  color:rgba(255,255,255,.91);
  font-size:clamp(1.08rem,1.6vw,1.34rem);
  line-height:1.55;
}
.iwales-social-shell { padding-block:clamp(3.5rem,6vw,5rem); }

.iwales-social-intro {
  display:grid !important;
  grid-template-columns:minmax(0,1.25fr) minmax(275px,.75fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.iwales-social-intro > * { margin:0 !important; min-width:0; }
.iwales-social-intro h2,
.iwales-social-title h2 {
  margin:.3rem 0 .8rem;
  font-size:clamp(2rem,3.2vw,2.8rem);
  line-height:1.1;
  letter-spacing:-.028em;
  text-wrap:balance;
}
.iwales-social-intro p { font-size:1.05rem; color:var(--iwales-muted); }
.iwales-social-sidecard {
  position:relative;
  overflow:hidden;
  padding:1.55rem;
  border-radius:22px;
  border:1px solid #d8e5ec;
  background:linear-gradient(145deg,#fff,#f4f8fa);
  box-shadow:0 14px 36px rgba(25,66,89,.055);
}
.iwales-social-sidecard::after {
  content:"";
  position:absolute;
  right:-24px;
  bottom:-12px;
  width:128px;
  height:84px;
  background:var(--iwales-mark-transparent) center/contain no-repeat;
  opacity:.05;
  pointer-events:none;
}
.iwales-social-sidecard > * { position:relative; z-index:1; }
.iwales-social-sidecard h3 { margin-top:0; font-size:1.2rem; }

.iwales-social-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,1.8vw,1.35rem);
  margin-top:1.8rem !important;
}
.iwales-social-grid > * { margin:0 !important; min-width:0; }
.iwales-social-card {
  display:flex;
  flex-direction:column;
  min-height:270px;
  padding:1.55rem;
  border:1px solid var(--iwales-border);
  border-radius:22px;
  background:#fff;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.iwales-social-card:hover { transform:translateY(-3px); border-color:transparent; box-shadow:var(--iwales-shadow); }
.iwales-social-tag {
  width:fit-content;
  margin:0 0 1.25rem !important;
  padding:.42rem .62rem;
  border-radius:999px;
  background:#eaf2f6;
  color:#1d699b;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.07em;
}
.iwales-social-card:nth-child(2) .iwales-social-tag { background:#fff6dc; color:#936b00; }
.iwales-social-card:nth-child(3) .iwales-social-tag { background:#fbf0f2; color:var(--iwales-red); }
.iwales-social-card:nth-child(4) .iwales-social-tag { background:#eef4ef; color:#43634a; }
.iwales-social-card:nth-child(5) .iwales-social-tag { background:#f1f0f1; color:#5a4b57; }
.iwales-social-card:nth-child(6) .iwales-social-tag { background:#eff0ee; color:var(--iwales-dark); }
.iwales-social-card h3 { margin:0 0 .65rem; font-size:1.24rem; }
.iwales-social-card p { margin-top:0; color:var(--iwales-muted); }
.iwales-social-card > p:last-child { margin-top:auto; margin-bottom:0; padding-top:.7rem; }
.iwales-social-card a { font-weight:750; }

.iwales-social-process {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem !important;
}
.iwales-social-process > * { margin:0 !important; }
.iwales-social-step {
  position:relative;
  min-height:190px;
  padding:1.5rem;
  border-radius:20px;
  background:#f5f7f7;
  border:1px solid #e4e9eb;
}
.iwales-social-step-number {
  margin:0 0 .8rem !important;
  color:var(--iwales-blue);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.08em;
}
.iwales-social-step h3 { margin:.1rem 0 .5rem; font-size:1.15rem; }
.iwales-social-step p { margin:0; color:var(--iwales-muted); }

.iwales-social-band {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.7rem,6vw,5.2rem);
  background:#f3f6f7;
}
.iwales-social-feature {
  display:grid !important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
}
.iwales-social-feature > * { margin:0 !important; min-width:0; }
.iwales-social-feature-panel {
  position:relative;
  overflow:hidden;
  min-height:330px;
  padding:clamp(1.7rem,3vw,2.5rem);
  border-radius:28px;
  color:#fff;
  background:linear-gradient(145deg,#184d6d,#1d699b);
  box-shadow:0 18px 50px rgba(29,105,155,.16);
}
.iwales-social-feature-panel::after {
  content:"";
  position:absolute;
  right:-42px;
  bottom:-20px;
  width:240px;
  height:158px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.10;
}
.iwales-social-feature-panel > * { position:relative; z-index:1; }
.iwales-social-feature-panel .iwales-kicker { color:#f3d46f; }
.iwales-social-feature-panel h2 { max-width:13ch; font-size:clamp(2rem,3.1vw,2.75rem); line-height:1.06; }
.iwales-social-feature-panel p { max-width:42ch; color:rgba(255,255,255,.88); }

.iwales-social-network {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.8rem,6vw,5.2rem);
  color:#fff;
  background:linear-gradient(128deg,#292928,#333838 60%,#2e4652);
}
.iwales-social-network::after {
  content:"";
  position:absolute;
  right:-34px;
  bottom:-54px;
  width:335px;
  height:218px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.055;
}
.iwales-social-network > .wp-block-group { position:relative; z-index:1; }
.iwales-social-network .iwales-kicker { color:#f1cd64; }
.iwales-social-network h2 { max-width:760px; margin:.3rem 0 .8rem; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.1; }
.iwales-social-network p { max-width:780px; color:rgba(255,255,255,.84); }
.iwales-social-network-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.7rem !important;
}
.iwales-social-network-grid > * { margin:0 !important; }
.iwales-social-network-card {
  min-height:175px;
  padding:1.35rem;
  border-radius:19px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(3px);
}
.iwales-social-network-card h3 { margin:.1rem 0 .5rem; color:#fff; font-size:1.12rem; }
.iwales-social-network-card p { margin:0; color:rgba(255,255,255,.78); font-size:.96rem; }

.iwales-social-cta {
  position:relative;
  overflow:hidden;
  padding:clamp(2rem,4vw,3.25rem);
  border-radius:28px;
  border:1px solid #d7e5eb;
  background:linear-gradient(120deg,#f5fafc,#fff 55%,#fff9e8);
  box-shadow:0 16px 45px rgba(25,66,89,.055);
}
.iwales-social-cta::after {
  content:"";
  position:absolute;
  right:-20px;
  top:-10px;
  width:205px;
  height:135px;
  background:var(--iwales-mark-transparent) center/contain no-repeat;
  opacity:.055;
}
.iwales-social-cta > * { position:relative; z-index:1; }
.iwales-social-cta h2 { max-width:20ch; margin:.2rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }
.iwales-social-cta p { max-width:700px; }

@media (max-width:900px) {
  .iwales-social-intro,
  .iwales-social-feature { grid-template-columns:1fr; }
  .iwales-social-grid,
  .iwales-social-process,
  .iwales-social-network-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-social-hero::after { right:-115px; opacity:.065; }
}

@media (max-width:680px) {
  .iwales-social-hero {
    padding-top:3rem;
    padding-bottom:3.25rem;
    border-radius:0 0 24px 24px;
  }
  .iwales-social-hero::after {
    width:210px;
    height:138px;
    right:-92px;
    top:28%;
    opacity:.055;
  }
  .iwales-social-hero h1 { font-size:clamp(2.4rem,12vw,3.3rem) !important; }
  .iwales-social-shell { padding-block:3rem; }
  .iwales-social-grid,
  .iwales-social-process,
  .iwales-social-network-grid { grid-template-columns:1fr; }
  .iwales-social-card { min-height:0; }
  .iwales-social-step { min-height:0; }
  .iwales-social-feature-panel { min-height:285px; border-radius:22px; }
  .iwales-social-cta { border-radius:20px; padding:1.5rem; }
  .iwales-social-cta::after { width:145px; height:96px; right:-35px; top:-8px; }
}


/* ================================================================
   Psychology page · v0.3.3
   ================================================================ */
.iwales-psych-hero {
  position:relative;
  overflow:hidden;
  padding-block:clamp(4.25rem,7vw,6.3rem);
  border-radius:0 0 34px 34px;
  color:#fff;
  background:
    linear-gradient(125deg,rgba(39,39,38,.97),rgba(52,48,55,.96) 54%,rgba(45,73,88,.96)),
    #2f3030;
}
.iwales-psych-hero::after {
  content:"";
  position:absolute;
  right:clamp(-95px,-4vw,-28px);
  top:50%;
  width:clamp(300px,33vw,500px);
  height:clamp(195px,22vw,330px);
  transform:translateY(-50%) rotate(-5deg);
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.075;
  pointer-events:none;
}
.iwales-psych-hero > .wp-block-group,
.iwales-psych-band > .wp-block-group,
.iwales-psych-network > .wp-block-group {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
  position:relative;
  z-index:1;
}
.iwales-psych-hero .iwales-kicker { color:#f0cc69; }
.iwales-psych-hero h1 {
  max-width:850px;
  margin:.35rem 0 1rem;
  font-size:clamp(2.7rem,5vw,4.6rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.038em;
  text-wrap:balance;
}
.iwales-psych-lead {
  max-width:750px;
  margin:0 0 1.5rem;
  color:rgba(255,255,255,.9);
  font-size:clamp(1.08rem,1.55vw,1.32rem);
  line-height:1.58;
}
.iwales-psych-trust {
  gap:.7rem 1rem;
  margin-top:1.55rem !important;
}
.iwales-psych-trust p {
  margin:0 !important;
  padding:.48rem .72rem;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  color:rgba(255,255,255,.83);
  background:rgba(255,255,255,.045);
  font-size:.84rem;
  font-weight:700;
}
.iwales-psych-shell {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
  padding-block:clamp(3.5rem,6vw,5rem);
}
.iwales-psych-intro {
  display:grid !important;
  grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.iwales-psych-intro > * { margin:0 !important; min-width:0; }
.iwales-psych-intro h2,
.iwales-psych-title h2 {
  margin:.3rem 0 .8rem;
  font-size:clamp(2rem,3.2vw,2.8rem);
  line-height:1.1;
  letter-spacing:-.028em;
  text-wrap:balance;
}
.iwales-psych-intro p { color:var(--iwales-muted); font-size:1.05rem; }
.iwales-psych-sidecard {
  position:relative;
  overflow:hidden;
  padding:1.6rem;
  border:1px solid #e3dfe6;
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#f8f5f8);
  box-shadow:0 14px 36px rgba(71,54,76,.055);
}
.iwales-psych-sidecard::after {
  content:"";
  position:absolute;
  right:-26px;
  bottom:-12px;
  width:135px;
  height:88px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.05;
}
.iwales-psych-sidecard > * { position:relative; z-index:1; }
.iwales-psych-sidecard h3 { margin-top:0; font-size:1.2rem; }
.iwales-psych-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,1.8vw,1.35rem);
  margin-top:1.8rem !important;
}
.iwales-psych-grid > * { margin:0 !important; min-width:0; }
.iwales-psych-card {
  display:flex;
  flex-direction:column;
  min-height:255px;
  padding:1.55rem;
  border:1px solid var(--iwales-border);
  border-radius:22px;
  background:#fff;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.iwales-psych-card:hover { transform:translateY(-3px); border-color:transparent; box-shadow:var(--iwales-shadow); }
.iwales-psych-tag {
  width:fit-content;
  margin:0 0 1.2rem !important;
  padding:.42rem .62rem;
  border-radius:999px;
  background:#f4edf3;
  color:#704b67;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.07em;
}
.iwales-psych-card:nth-child(2) .iwales-psych-tag { background:#edf4f7; color:#315f77; }
.iwales-psych-card:nth-child(3) .iwales-psych-tag { background:#fff5dc; color:#906c0b; }
.iwales-psych-card:nth-child(4) .iwales-psych-tag { background:#fbf0f2; color:var(--iwales-red); }
.iwales-psych-card:nth-child(5) .iwales-psych-tag { background:#f1f1ef; color:var(--iwales-dark); }
.iwales-psych-card:nth-child(6) .iwales-psych-tag { background:#eef4ef; color:#49634f; }
.iwales-psych-card h3 { margin:0 0 .65rem; font-size:1.24rem; }
.iwales-psych-card p { margin-top:0; color:var(--iwales-muted); }
.iwales-psych-card > p:last-child { margin-top:auto; margin-bottom:0; padding-top:.7rem; }
.iwales-psych-card a { font-weight:750; }

.iwales-psych-band {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.8rem,6vw,5.3rem);
  background:linear-gradient(135deg,#f6f3f6,#fbfbfa 54%,#eef5f7);
}
.iwales-psych-feature {
  display:grid !important;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
}
.iwales-psych-feature > * { margin:0 !important; min-width:0; }
.iwales-psych-feature-panel {
  position:relative;
  overflow:hidden;
  min-height:330px;
  padding:clamp(1.95rem,3.15vw,2.8rem);
  border-radius:28px;
  color:#fff;
  background:linear-gradient(145deg,#4f3e4c,#6a5164 58%,#49687a);
  box-shadow:0 18px 50px rgba(65,48,65,.15);
}
.iwales-psych-feature-panel::after {
  content:"";
  position:absolute;
  right:-42px;
  bottom:-20px;
  width:245px;
  height:160px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.09;
}
.iwales-psych-feature-panel > * { position:relative; z-index:1; }
.iwales-psych-feature-panel .iwales-kicker { color:#f0d175; }
.iwales-psych-feature-panel h2 { max-width:12ch; font-size:clamp(1.92rem,2.8vw,2.55rem); line-height:1.06; }
.iwales-psych-feature-panel p { max-width:44ch; color:rgba(255,255,255,.88); }

.iwales-psych-feature-panel h2 { overflow-wrap:normal; word-break:normal; }
.iwales-psych-checks { margin:1.2rem 0 0; padding:0; list-style:none; }
.iwales-psych-checks li { position:relative; padding-left:1.55rem; margin:.65rem 0; color:var(--iwales-muted); }
.iwales-psych-checks li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--iwales-blue); font-weight:850; }

.iwales-psych-process {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem !important;
}
.iwales-psych-process > * { margin:0 !important; }
.iwales-psych-step {
  min-height:190px;
  padding:1.5rem;
  border-radius:20px;
  background:#f6f6f4;
  border:1px solid #e6e6e1;
}
.iwales-psych-step-number { margin:0 0 .8rem !important; color:#704b67; font-size:.78rem; font-weight:850; letter-spacing:.08em; }
.iwales-psych-step h3 { margin:.1rem 0 .5rem; font-size:1.15rem; }
.iwales-psych-step p { margin:0; color:var(--iwales-muted); }

.iwales-psych-network {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.8rem,6vw,5.2rem);
  color:#fff;
  background:linear-gradient(128deg,#282827,#333238 56%,#2c4654);
}
.iwales-psych-network::after {
  content:"";
  position:absolute;
  right:-38px;
  bottom:-52px;
  width:335px;
  height:218px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.05;
}
.iwales-psych-network .iwales-kicker { color:#f0cc68; }
.iwales-psych-network h2 { max-width:780px; margin:.3rem 0 .8rem; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.1; }
.iwales-psych-network p { max-width:800px; color:rgba(255,255,255,.84); }
.iwales-psych-network-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.7rem !important;
}
.iwales-psych-network-grid > * { margin:0 !important; }
.iwales-psych-network-card {
  min-height:172px;
  padding:1.35rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:19px;
  background:rgba(255,255,255,.055);
}
.iwales-psych-network-card h3 { margin:.1rem 0 .5rem; color:#fff; font-size:1.12rem; }
.iwales-psych-network-card p { margin:0; color:rgba(255,255,255,.78); font-size:.96rem; }

.iwales-psych-cta {
  position:relative;
  overflow:hidden;
  padding:clamp(2rem,4vw,3.25rem);
  border-radius:28px;
  border:1px solid #e2dfe4;
  background:linear-gradient(120deg,#faf7fa,#fff 56%,#f0f6f8);
  box-shadow:0 16px 45px rgba(65,48,65,.05);
}
.iwales-psych-cta::after {
  content:"";
  position:absolute;
  right:-18px;
  top:-8px;
  width:205px;
  height:135px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.045;
}
.iwales-psych-cta > * { position:relative; z-index:1; }
.iwales-psych-cta h2 { max-width:20ch; margin:.2rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }
.iwales-psych-cta p { max-width:720px; }

@media (max-width:900px) {
  .iwales-psych-intro,
  .iwales-psych-feature { grid-template-columns:1fr; }
  .iwales-psych-grid,
  .iwales-psych-process,
  .iwales-psych-network-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-psych-hero::after { right:-120px; opacity:.06; }
}
@media (max-width:680px) {
  .iwales-psych-hero { padding-top:3rem; padding-bottom:3.35rem; border-radius:0 0 24px 24px; }
  .iwales-psych-hero::after { width:210px; height:138px; right:-92px; top:30%; opacity:.05; }
  .iwales-psych-hero h1 { font-size:clamp(2.4rem,12vw,3.25rem) !important; }
  .iwales-psych-shell { padding-block:3rem; }
  .iwales-psych-grid,
  .iwales-psych-process,
  .iwales-psych-network-grid { grid-template-columns:1fr; }
  .iwales-psych-card,
  .iwales-psych-step { min-height:0; }
  .iwales-psych-feature-panel { min-height:285px; border-radius:22px; }
  .iwales-psych-cta { border-radius:20px; padding:1.5rem; }
  .iwales-psych-cta::after { width:145px; height:96px; right:-35px; top:-8px; }
}


/* ================================================================
   Formación · v0.3.5
   Dynamic, professional training page with Iwales brand language.
   ================================================================ */

.iwales-training-hero {
  position:relative;
  overflow:hidden;
  padding-block:clamp(4rem,7vw,6.3rem);
  border-radius:0 0 32px 32px;
  color:#fff;
  background:
    linear-gradient(120deg,rgba(29,105,155,.96),rgba(39,64,77,.98) 54%,rgba(58,58,57,.98)),
    #1d699b;
}
.iwales-training-hero::before {
  content:"";
  position:absolute;
  right:clamp(-70px,2vw,40px);
  top:50%;
  transform:translateY(-50%) rotate(-5deg);
  width:clamp(300px,34vw,520px);
  height:clamp(205px,23vw,355px);
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.10;
  pointer-events:none;
}
.iwales-training-hero::after {
  content:"";
  position:absolute;
  right:-140px;
  bottom:-140px;
  width:0;
  height:0;
  border:0;
  background:transparent;
  pointer-events:none;
}
.iwales-training-hero > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-training-hero .iwales-kicker { color:#f5cf59; }
.iwales-training-hero h1 {
  max-width:820px;
  margin:.25rem 0 1.15rem;
  font-size:clamp(2.8rem,5vw,4.7rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.iwales-training-hero .iwales-training-lead {
  max-width:720px;
  margin:0 0 1.55rem;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.08rem,1.55vw,1.32rem);
  line-height:1.55;
}

.iwales-training-shell {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
  padding-block:clamp(3.5rem,6vw,5.2rem);
}
.iwales-training-intro {
  display:grid !important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.iwales-training-intro > * { margin:0 !important; min-width:0; }
.iwales-training-intro h2 {
  margin:.3rem 0 .8rem;
  font-size:clamp(2rem,3.3vw,2.85rem);
  line-height:1.08;
  letter-spacing:-.025em;
}
.iwales-training-note {
  position:relative;
  overflow:hidden;
  padding:clamp(1.4rem,2.5vw,2rem);
  border:1px solid #efd57a;
  border-radius:24px;
  background:#fff8df;
  box-shadow:0 14px 38px rgba(99,77,12,.06);
}
.iwales-training-note::after {
  content:"";
  position:absolute;
  right:-28px;
  bottom:-12px;
  width:165px;
  height:108px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.075;
}
.iwales-training-note > * { position:relative; z-index:1; }
.iwales-training-note p { margin-bottom:0; }

.iwales-training-topics {
  background:linear-gradient(180deg,#f7f9fa,#fff);
  border-top:1px solid rgba(58,58,57,.06);
  border-bottom:1px solid rgba(58,58,57,.06);
}
.iwales-training-topics > .wp-block-group {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
  padding-block:clamp(3.8rem,6vw,5.3rem);
}
.iwales-training-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.75rem !important;
}
.iwales-training-grid > * { margin:0 !important; min-width:0; }
.iwales-training-card {
  display:flex;
  flex-direction:column;
  min-height:250px;
  padding:1.55rem;
  border:1px solid var(--iwales-border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 8px 26px rgba(34,34,34,.035);
}
.iwales-training-card:hover {
  transform:translateY(-3px);
  box-shadow:0 18px 45px rgba(34,34,34,.075);
  border-color:transparent;
}
.iwales-training-card .iwales-training-tag {
  display:inline-flex;
  align-self:flex-start;
  margin:0 0 1rem;
  padding:.38rem .65rem;
  border-radius:999px;
  background:#eef4f8;
  color:var(--iwales-blue);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.iwales-training-card:nth-child(2) .iwales-training-tag { background:#fbf0f3; color:var(--iwales-red); }
.iwales-training-card:nth-child(3) .iwales-training-tag { background:#fff7df; color:#9b7410; }
.iwales-training-card:nth-child(4) .iwales-training-tag { background:#f3eef4; color:#6a5164; }
.iwales-training-card:nth-child(5) .iwales-training-tag { background:#eef5ef; color:#49634f; }
.iwales-training-card:nth-child(6) .iwales-training-tag { background:#f1f1ef; color:var(--iwales-dark); }
.iwales-training-card h3 { margin:0 0 .65rem; font-size:1.22rem; }
.iwales-training-card p { margin-top:0; color:var(--iwales-muted); }
.iwales-training-card > p:last-child { margin-top:auto; margin-bottom:0; padding-top:.65rem; }

.iwales-training-audience {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.8rem,6vw,5.3rem);
  color:#fff;
  background:linear-gradient(135deg,#232f36,#1e475e 58%,#213844);
}
.iwales-training-audience::after {
  content:"";
  position:absolute;
  right:-46px;
  top:-28px;
  width:300px;
  height:195px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.055;
}
.iwales-training-audience > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-training-audience .iwales-kicker { color:#f5cf59; }
.iwales-training-audience h2 { max-width:760px; font-size:clamp(2rem,3.3vw,2.85rem); line-height:1.08; }
.iwales-training-audience > .wp-block-group > p { max-width:780px; color:rgba(255,255,255,.82); }
.iwales-training-audience-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.65rem !important;
}
.iwales-training-audience-grid > * { margin:0 !important; min-width:0; }
.iwales-training-audience-card {
  min-height:180px;
  padding:1.45rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(4px);
}
.iwales-training-audience-card h3 { margin:.1rem 0 .55rem; color:#fff; }
.iwales-training-audience-card p { margin:0; color:rgba(255,255,255,.78); }

.iwales-training-process {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:1.7rem !important;
}
.iwales-training-process > * { margin:0 !important; min-width:0; }
.iwales-training-step {
  min-height:205px;
  padding:1.4rem;
  border-radius:20px;
  background:#f7f7f5;
  border:1px solid var(--iwales-border);
}
.iwales-training-step-number {
  margin:0 0 1rem !important;
  color:var(--iwales-red);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.08em;
}
.iwales-training-step h3 { margin:0 0 .55rem; font-size:1.08rem; }
.iwales-training-step p { margin:0; color:var(--iwales-muted); }

.iwales-training-case {
  display:grid !important;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  gap:clamp(1.25rem,2.4vw,2.15rem);
  align-items:stretch;
  padding-right:clamp(1.25rem,2.4vw,2rem);
  margin-top:clamp(1rem,2vw,1.5rem) !important;
}
.iwales-training-case > * { margin:0 !important; min-width:0; }
.iwales-training-case-panel {
  position:relative;
  overflow:hidden;
  min-height:340px;
  padding:clamp(1.9rem,3.15vw,2.65rem);
  border-radius:26px;
  color:#fff;
  background:linear-gradient(145deg,#85283a,#c1304a 64%,#9d2c42);
  box-shadow:0 18px 50px rgba(116,35,52,.13);
}
.iwales-training-case-panel::after {
  content:"";
  position:absolute;
  right:-36px;
  bottom:-15px;
  width:230px;
  height:150px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.08;
}
.iwales-training-case-panel > * { position:relative; z-index:1; }
.iwales-training-case-panel .iwales-kicker { color:#f6d679; }
.iwales-training-case-panel h2 { max-width:none; width:100%; margin:.25rem 0 .8rem; font-size:clamp(1.85rem,2.55vw,2.4rem); line-height:1.08; }
.iwales-training-case-panel p { color:rgba(255,255,255,.88); }
.iwales-training-case-panel h2 { overflow-wrap:normal; word-break:normal; }
.iwales-training-list { margin:1rem 0 0; padding:0; list-style:none; }
.iwales-training-list li { position:relative; padding-left:1.5rem; margin:.58rem 0; color:var(--iwales-muted); }
.iwales-training-list li::before { content:"✓"; position:absolute; left:0; color:var(--iwales-blue); font-weight:850; }

.iwales-training-cta {
  position:relative;
  overflow:hidden;
  padding:clamp(1.8rem,3.5vw,2.8rem);
  border-radius:26px;
  border:1px solid #efd57a;
  background:linear-gradient(125deg,#fff8df,#fffdf7 68%,#eef5f8);
  box-shadow:0 16px 42px rgba(76,65,25,.06);
}
.iwales-training-cta::after {
  content:"";
  position:absolute;
  right:-28px;
  top:-16px;
  width:190px;
  height:125px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.07;
}
.iwales-training-cta > * { position:relative; z-index:1; }
.iwales-training-cta h2 { max-width:22ch; margin:.25rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }
.iwales-training-cta p { max-width:760px; }

@media (max-width:980px) {
  .iwales-training-intro,
  .iwales-training-case { grid-template-columns:1fr; }
  .iwales-training-case { padding-right:0; }
  .iwales-training-grid,
  .iwales-training-audience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-training-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-training-hero::before { right:-115px; opacity:.075; }
}

@media (max-width:680px) {
  .iwales-training-hero { padding-top:3.1rem; padding-bottom:3.7rem; border-radius:0 0 24px 24px; }
  .iwales-training-hero h1 { font-size:clamp(2.45rem,12vw,3.3rem) !important; }
  .iwales-training-hero::before { width:220px; height:150px; right:-88px; top:31%; opacity:.06; }
  .iwales-training-shell { padding-block:3rem; }
  .iwales-training-grid,
  .iwales-training-audience-grid,
  .iwales-training-process { grid-template-columns:1fr; }
  .iwales-training-card,
  .iwales-training-step,
  .iwales-training-audience-card { min-height:0; }
  .iwales-training-case-panel { min-height:300px; border-radius:22px; }
  .iwales-training-cta { border-radius:20px; padding:1.5rem; }
  .iwales-training-cta::after { width:145px; height:96px; right:-40px; top:-8px; }
}


/* ================================================================
   Shared split-layout system · v0.4.0
   Use for all future two-column editorial/feature sections.
   Prevents columns drifting toward opposite page edges on desktop.
   ================================================================ */
.iwales-split-cluster,
.iwales-training-case {
  display: grid !important;
  width: 100% !important;
  max-width: var(--iwales-split-max) !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr) !important;
  gap: var(--iwales-split-gap) !important;
  align-items: stretch;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.iwales-split-cluster > *,
.iwales-training-case > * {
  min-width: 0;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* The text column should form one visual unit with the feature panel,
   rather than being visually parked at the far right of the shell. */
.iwales-training-case > :not(.iwales-training-case-panel) {
  width: 100%;
  max-width: 500px;
  justify-self: start;
  padding-left: clamp(.2rem, .5vw, .45rem);
}

@media (max-width: 980px) {
  .iwales-split-cluster,
  .iwales-training-case {
    max-width: none !important;
    grid-template-columns: 1fr !important;
    gap: 1.35rem !important;
  }

  .iwales-training-case > :not(.iwales-training-case-panel) {
    max-width: none;
    padding-left: 0;
  }
}


/* ================================================================
   Arte y cultura · v0.4.1
   Visual and cultural page built on the shared split-layout system.
   ================================================================ */
.iwales-art-hero {
  position:relative;
  overflow:hidden;
  padding-block:clamp(4.1rem,7vw,6.4rem);
  border-radius:0 0 32px 32px;
  color:#fff;
  background:linear-gradient(125deg,#242424 0%,#4d2737 42%,#9b2c45 72%,#1d699b 135%);
}
.iwales-art-hero::after {
  content:"";
  position:absolute;
  right:clamp(-45px,3vw,42px);
  top:50%;
  transform:translateY(-50%) rotate(-5deg);
  width:clamp(300px,34vw,520px);
  height:clamp(205px,23vw,355px);
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.095;
  pointer-events:none;
}
.iwales-art-hero > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-art-hero .iwales-kicker { color:#f3c94d; }
.iwales-art-hero h1 {
  max-width:820px;
  margin:.25rem 0 1.1rem;
  font-size:clamp(2.85rem,5vw,4.75rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.iwales-art-lead {
  max-width:720px;
  margin:0 0 1.55rem !important;
  color:rgba(255,255,255,.91);
  font-size:clamp(1.08rem,1.55vw,1.32rem);
  line-height:1.55;
}
.iwales-art-shell {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
  padding-block:clamp(3.6rem,6vw,5.2rem);
}
.iwales-art-intro {
  display:grid !important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.5rem,3vw,3.3rem);
  align-items:start;
}
.iwales-art-intro > * { margin:0 !important; min-width:0; }
.iwales-art-intro h2 { margin:.3rem 0 .8rem; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; letter-spacing:-.025em; }
.iwales-art-note {
  position:relative;
  overflow:hidden;
  padding:clamp(1.45rem,2.5vw,2rem);
  border-radius:24px;
  background:linear-gradient(135deg,#f7e7eb,#fff8df 60%,#eaf3f8);
  border:1px solid rgba(193,48,74,.13);
}
.iwales-art-note::after {
  content:"";
  position:absolute;
  right:-30px;
  bottom:-12px;
  width:170px;
  height:112px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.07;
}
.iwales-art-note > * { position:relative; z-index:1; }
.iwales-art-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1rem,2vw,1.35rem);
  width:min(100%,980px);
  margin:1.7rem auto 0 !important;
}
.iwales-art-grid > * { margin:0 !important; min-width:0; }
.iwales-art-card {
  display:flex;
  flex-direction:column;
  min-height:220px;
  padding:1.6rem;
  border:1px solid var(--iwales-border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 8px 25px rgba(34,34,34,.035);
}
.iwales-art-card:nth-child(1) { border-top:4px solid var(--iwales-red); }
.iwales-art-card:nth-child(2) { border-top:4px solid var(--iwales-blue); }
.iwales-art-card:nth-child(3) { border-top:4px solid var(--iwales-gold); }
.iwales-art-card:nth-child(4) { border-top:4px solid var(--iwales-dark); }
.iwales-art-card h3 { margin:.2rem 0 .6rem; font-size:clamp(1.18rem,1.7vw,1.35rem); line-height:1.12; overflow-wrap:normal; word-break:normal; hyphens:none; text-wrap:balance; }
.iwales-art-card p { margin-top:0; color:var(--iwales-muted); }
.iwales-art-card > p:last-child { margin-top:auto; margin-bottom:0; padding-top:.6rem; }

.iwales-art-feature-band {
  padding-block:clamp(3.8rem,6vw,5.3rem);
  background:linear-gradient(180deg,#f7f7f5,#fff);
  border-block:1px solid rgba(58,58,57,.06);
}
.iwales-art-feature-band > .wp-block-group {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-art-feature-panel {
  position:relative;
  overflow:hidden;
  min-height:390px;
  padding:clamp(1.9rem,3vw,2.6rem);
  border-radius:28px;
  color:#fff;
  background:linear-gradient(145deg,#7f2236,#c1304a 58%,#8f2940);
  box-shadow:0 18px 52px rgba(120,36,54,.15);
}
.iwales-art-feature-panel::after {
  content:"";
  position:absolute;
  right:-30px;
  bottom:-12px;
  width:250px;
  height:165px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.085;
}
.iwales-art-feature-panel > * { position:relative; z-index:1; }
.iwales-art-feature-panel .iwales-kicker { color:#f5d16a; }
.iwales-art-feature-panel h2 { margin:.25rem 0 .8rem; font-size:clamp(2rem,2.9vw,2.65rem); line-height:1.07; }
.iwales-art-feature-panel p { color:rgba(255,255,255,.88); }
.iwales-art-feature-text h2 { max-width:18ch; margin:.25rem 0 .8rem; font-size:clamp(1.95rem,2.8vw,2.55rem); line-height:1.08; }
.iwales-art-feature-text p { color:var(--iwales-muted); }
.iwales-art-list { margin:1rem 0 0; padding:0; list-style:none; }
.iwales-art-list li { position:relative; padding-left:1.5rem; margin:.62rem 0; color:var(--iwales-muted); }
.iwales-art-list li::before { content:"↗"; position:absolute; left:0; color:var(--iwales-red); font-weight:850; }

.iwales-art-participate {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.8rem,6vw,5.3rem);
  color:#fff;
  background:linear-gradient(135deg,#222221,#2d3e48 58%,#1d699b);
}
.iwales-art-participate::after {
  content:"";
  position:absolute;
  right:-55px;
  top:-30px;
  width:300px;
  height:195px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.05;
}
.iwales-art-participate > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-art-participate .iwales-kicker { color:#f3c94d; }
.iwales-art-participate h2 { max-width:760px; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; }
.iwales-art-steps {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem !important;
}
.iwales-art-steps > * { margin:0 !important; min-width:0; }
.iwales-art-step {
  min-height:190px;
  padding:1.45rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.07);
}
.iwales-art-step h3 { margin:.1rem 0 .55rem; color:#fff; }
.iwales-art-step p { margin:0; color:rgba(255,255,255,.78); }

.iwales-art-cta {
  position:relative;
  overflow:hidden;
  padding:clamp(1.8rem,3.5vw,2.8rem);
  border-radius:26px;
  border:1px solid rgba(193,48,74,.18);
  background:linear-gradient(125deg,#f8e9ed,#fff9e8 62%,#eef5f8);
  box-shadow:0 16px 42px rgba(64,48,51,.055);
}
.iwales-art-cta::after {
  content:"";
  position:absolute;
  right:-26px;
  top:-14px;
  width:190px;
  height:125px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.07;
}
.iwales-art-cta > * { position:relative; z-index:1; }
.iwales-art-cta h2 { max-width:22ch; margin:.25rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }

@media (max-width:980px) {
  .iwales-art-intro { grid-template-columns:1fr; }
  .iwales-art-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-art-hero::after { right:-110px; opacity:.065; }
}
@media (max-width:680px) {
  .iwales-art-hero { padding-top:3.1rem; padding-bottom:3.7rem; border-radius:0 0 24px 24px; }
  .iwales-art-hero h1 { font-size:clamp(2.45rem,12vw,3.3rem) !important; }
  .iwales-art-hero::after { width:220px; height:150px; right:-90px; top:31%; opacity:.05; }
  .iwales-art-shell { padding-block:3rem; }
  .iwales-art-grid,
  .iwales-art-steps { grid-template-columns:1fr; }
  .iwales-art-card,
  .iwales-art-step { min-height:0; }
  .iwales-art-feature-panel { min-height:310px; border-radius:22px; }
  .iwales-art-cta { border-radius:20px; padding:1.5rem; }
  .iwales-art-cta::after { width:145px; height:96px; right:-38px; top:-8px; }
}


/* ================================================================
   Proyectos · v0.4.4
   Wide reusable project cards and shared split-layout composition.
   ================================================================ */
.iwales-projects-hero {
  position:relative;
  overflow:hidden;
  padding-block:clamp(4.1rem,7vw,6.4rem);
  border-radius:0 0 32px 32px;
  color:#fff;
  background:linear-gradient(125deg,#202d35 0%,#1d587a 48%,#244e61 72%,#3a3a39 120%);
}
.iwales-projects-hero::after {
  content:"";
  position:absolute;
  right:clamp(-42px,3vw,46px);
  top:50%;
  transform:translateY(-50%) rotate(-4deg);
  width:clamp(310px,35vw,530px);
  height:clamp(210px,24vw,365px);
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.085;
  pointer-events:none;
}
.iwales-projects-hero > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-projects-hero .iwales-kicker { color:#f3c94d; }
.iwales-projects-hero h1 {
  max-width:830px;
  margin:.25rem 0 1.1rem;
  font-size:clamp(2.85rem,5vw,4.7rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.iwales-projects-lead {
  max-width:730px;
  margin:0 0 1.55rem !important;
  color:rgba(255,255,255,.91);
  font-size:clamp(1.08rem,1.55vw,1.32rem);
  line-height:1.55;
}
.iwales-projects-shell {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
  padding-block:clamp(3.7rem,6vw,5.3rem);
}
.iwales-projects-intro-note {
  position:relative;
  overflow:hidden;
  padding:clamp(1.45rem,2.5vw,2rem);
  border-radius:24px;
  border:1px solid #efd57a;
  background:linear-gradient(135deg,#fff8df,#fffdf7 67%,#eef5f8);
}
.iwales-projects-intro-note::after {
  content:"";
  position:absolute;
  right:-30px;
  bottom:-12px;
  width:170px;
  height:112px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.065;
}
.iwales-projects-intro-note > * { position:relative; z-index:1; }

.iwales-projects-band {
  background:linear-gradient(180deg,#f6f8f9,#fff);
  border-block:1px solid rgba(58,58,57,.06);
}
.iwales-projects-band > .wp-block-group {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
  padding-block:clamp(3.9rem,6vw,5.5rem);
}
.iwales-projects-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1rem,1.8vw,1.35rem);
  margin-top:1.8rem !important;
}
.iwales-projects-grid > * { margin:0 !important; min-width:0; }
.iwales-project-card-lg {
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:300px;
  padding:clamp(1.55rem,2.5vw,2.1rem);
  border-radius:26px;
  color:#fff;
  box-shadow:0 16px 45px rgba(34,34,34,.09);
}
.iwales-project-card-lg::after {
  content:"";
  position:absolute;
  right:-34px;
  top:-16px;
  width:220px;
  height:145px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.075;
  pointer-events:none;
}
.iwales-project-card-lg > * { position:relative; z-index:1; }
.iwales-project-card-lg.is-blue { background:linear-gradient(145deg,#174d6e,#1d699b); }
.iwales-project-card-lg.is-red { background:linear-gradient(145deg,#84283a,#c1304a); }
.iwales-project-card-lg.is-gold { background:linear-gradient(145deg,#8b6510,#b88413 62%,#927019); }
.iwales-project-card-lg.is-dark { background:linear-gradient(145deg,#282827,#454543); }
.iwales-project-label {
  display:inline-flex;
  align-self:flex-start;
  margin:0 0 1.15rem !important;
  padding:.42rem .68rem;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:#fff;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.iwales-project-card-lg h3 {
  max-width:20ch;
  margin:.1rem 0 .75rem;
  font-size:clamp(1.45rem,2.1vw,1.95rem);
  line-height:1.06;
  overflow-wrap:normal;
  word-break:normal;
}
.iwales-project-card-lg p:not(.iwales-project-label) {
  max-width:46ch;
  color:rgba(255,255,255,.88);
}
.iwales-project-card-lg > p:last-child {
  margin-top:auto;
  margin-bottom:0;
  padding-top:1rem;
}
.iwales-project-card-lg a { color:#fff; font-weight:800; }

.iwales-projects-method-panel {
  position:relative;
  overflow:hidden;
  min-height:350px;
  padding:clamp(1.9rem,3vw,2.6rem);
  border-radius:28px;
  color:#fff;
  background:linear-gradient(145deg,#2b3032,#3a3a39 60%,#294f61);
  box-shadow:0 18px 50px rgba(34,34,34,.12);
}
.iwales-projects-method-panel::after {
  content:"";
  position:absolute;
  right:-34px;
  bottom:-15px;
  width:245px;
  height:160px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.07;
}
.iwales-projects-method-panel > * { position:relative; z-index:1; }
.iwales-projects-method-panel .iwales-kicker { color:#f3c94d; }
.iwales-projects-method-panel h2 {
  margin:.25rem 0 .8rem;
  font-size:clamp(2rem,2.9vw,2.65rem);
  line-height:1.07;
  max-width:14ch;
}
.iwales-projects-method-panel p { color:rgba(255,255,255,.87); }
.iwales-projects-method-list { margin:.8rem 0 0; padding:0; list-style:none; }
.iwales-projects-method-list li {
  position:relative;
  margin:.62rem 0;
  padding-left:1.55rem;
  color:var(--iwales-muted);
}
.iwales-projects-method-list li::before {
  content:"✓";
  position:absolute;
  left:0;
  color:var(--iwales-blue);
  font-weight:850;
}

.iwales-projects-network {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.9rem,6vw,5.4rem);
  color:#fff;
  background:linear-gradient(135deg,#222221,#2c3e48 57%,#1f5f83);
}
.iwales-projects-network::after {
  content:"";
  position:absolute;
  right:-55px;
  top:-30px;
  width:300px;
  height:195px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.045;
}
.iwales-projects-network > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-projects-network .iwales-kicker { color:#f3c94d; }
.iwales-projects-network h2 { max-width:760px; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; }
.iwales-projects-network > .wp-block-group > p { max-width:780px; color:rgba(255,255,255,.82); }
.iwales-projects-network-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.65rem !important;
}
.iwales-projects-network-grid > * { margin:0 !important; min-width:0; }
.iwales-projects-network-card {
  min-height:180px;
  padding:1.45rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  background:rgba(255,255,255,.07);
}
.iwales-projects-network-card h3 { margin:.1rem 0 .55rem; color:#fff; }
.iwales-projects-network-card p { margin:0; color:rgba(255,255,255,.78); }

.iwales-projects-cta {
  position:relative;
  overflow:hidden;
  padding:clamp(1.8rem,3.5vw,2.8rem);
  border-radius:26px;
  border:1px solid rgba(29,105,155,.18);
  background:linear-gradient(125deg,#eef5f8,#fffdf7 62%,#f8e9ed);
  box-shadow:0 16px 42px rgba(45,59,66,.055);
}
.iwales-projects-cta::after {
  content:"";
  position:absolute;
  right:-28px;
  top:-14px;
  width:190px;
  height:125px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.065;
}
.iwales-projects-cta > * { position:relative; z-index:1; }
.iwales-projects-cta h2 { max-width:22ch; margin:.25rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }

@media (max-width:980px) {
  .iwales-projects-network-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-projects-hero::after { right:-110px; opacity:.06; }
}
@media (max-width:820px) {
  .iwales-projects-grid { grid-template-columns:1fr; }
  .iwales-project-card-lg { min-height:260px; }
}
@media (max-width:680px) {
  .iwales-projects-hero { padding-top:3.1rem; padding-bottom:3.7rem; border-radius:0 0 24px 24px; }
  .iwales-projects-hero h1 { font-size:clamp(2.45rem,12vw,3.3rem) !important; }
  .iwales-projects-hero::after { width:220px; height:150px; right:-90px; top:31%; opacity:.045; }
  .iwales-projects-shell { padding-block:3rem; }
  .iwales-projects-network-grid { grid-template-columns:1fr; }
  .iwales-projects-network-card { min-height:0; }
  .iwales-projects-method-panel { min-height:300px; border-radius:22px; }
  .iwales-projects-cta { border-radius:20px; padding:1.5rem; }
  .iwales-projects-cta::after { width:145px; height:96px; right:-38px; top:-8px; }
}


/* ================================================================
   Actualidad + entradas · v0.4.5
   Dynamic post index and polished single-post reading experience.
   ================================================================ */
.iwales-news-hero {
  position:relative;
  overflow:hidden;
  padding-block:clamp(4rem,7vw,6.2rem);
  border-radius:0 0 32px 32px;
  color:#fff;
  background:linear-gradient(125deg,#242424 0%,#3b3035 40%,#8d2b41 75%,#1d699b 135%);
}
.iwales-news-hero::after {
  content:"";
  position:absolute;
  right:clamp(-45px,3vw,44px);
  top:50%;
  transform:translateY(-50%) rotate(-4deg);
  width:clamp(300px,34vw,515px);
  height:clamp(205px,23vw,350px);
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.075;
  pointer-events:none;
}
.iwales-news-hero > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-news-hero .iwales-kicker { color:#f3c94d; }
.iwales-news-hero h1 {
  max-width:850px;
  margin:.25rem 0 1.1rem;
  font-size:clamp(2.85rem,5vw,4.65rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.iwales-news-lead {
  max-width:730px;
  margin:0 0 1.55rem !important;
  color:rgba(255,255,255,.91);
  font-size:clamp(1.08rem,1.55vw,1.32rem);
  line-height:1.55;
}
.iwales-news-filters { gap:.6rem !important; }
.iwales-news-filters > * { margin:0 !important; }
.iwales-news-filters a {
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:.45rem .8rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:.88rem;
  font-weight:750;
  text-decoration:none;
}
.iwales-news-filters a:hover { background:rgba(255,255,255,.15); }

.iwales-news-shell {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
  padding-block:clamp(3.7rem,6vw,5.4rem);
}
.iwales-news-heading { margin-bottom:1.8rem !important; }
.iwales-news-heading h2 { margin:.25rem 0 0; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; }
.iwales-news-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,1.8vw,1.35rem);
  padding:0 !important;
  list-style:none;
}
.iwales-news-grid > li {
  display:flex;
  min-width:0;
  margin:0 !important;
}
.iwales-news-card {
  width:100%;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid var(--iwales-border);
  border-radius:24px;
  background:#fff;
  box-shadow:0 8px 28px rgba(34,34,34,.045);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.iwales-news-card:hover { transform:translateY(-3px); border-color:transparent; box-shadow:0 18px 48px rgba(34,34,34,.09); }
.iwales-news-image { margin:0 !important; overflow:hidden; background:#eef0ee; }
.iwales-news-image img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.iwales-news-card:hover .iwales-news-image img { transform:scale(1.025); }
.iwales-news-card-body { display:flex; flex:1; flex-direction:column; padding:1.35rem 1.4rem 1.45rem; }
.iwales-news-card-body > * { margin-block-start:0; }
.iwales-news-meta { gap:.55rem 1rem !important; margin:0 0 .8rem !important; color:var(--iwales-muted); font-size:.8rem; }
.iwales-news-meta > * { margin:0 !important; }
.iwales-news-terms a {
  color:var(--iwales-red);
  font-weight:800;
  text-decoration:none;
}
.iwales-news-card h3 {
  margin:0 0 .65rem;
  font-size:clamp(1.18rem,1.6vw,1.4rem);
  line-height:1.12;
  overflow-wrap:normal;
  word-break:normal;
}
.iwales-news-card h3 a { color:var(--iwales-text); text-decoration:none; }
.iwales-news-card .wp-block-post-excerpt { margin-top:auto; color:var(--iwales-muted); }
.iwales-news-card .wp-block-post-excerpt__more-link { display:inline-flex; margin-top:.7rem; color:var(--iwales-red); font-weight:800; text-decoration:none; }
.iwales-news-grid > li:first-child { grid-column:span 2; }
.iwales-news-grid > li:first-child .iwales-news-card { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); min-height:335px; }
.iwales-news-grid > li:first-child .iwales-news-image { min-height:100%; }
.iwales-news-grid > li:first-child .iwales-news-card-body { justify-content:center; padding:clamp(1.6rem,3vw,2.25rem); }
.iwales-news-grid > li:first-child h3 { font-size:clamp(1.65rem,2.6vw,2.2rem); }
.iwales-news-pagination { margin-top:2.3rem !important; gap:.45rem !important; }
.iwales-news-pagination a,
.iwales-news-pagination .page-numbers {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  min-height:40px;
  padding:.45rem .7rem;
  border:1px solid var(--iwales-border);
  border-radius:999px;
  text-decoration:none;
}
.iwales-news-pagination .current { background:var(--iwales-dark); color:#fff; border-color:var(--iwales-dark); }
.iwales-news-empty { padding:2rem; border:1px dashed var(--iwales-border); border-radius:22px; background:#fafaf8; }

.iwales-news-social {
  padding-block:clamp(3.8rem,6vw,5.3rem);
  background:linear-gradient(180deg,#f7f7f5,#fff);
  border-block:1px solid rgba(58,58,57,.06);
}
.iwales-news-social > .wp-block-group { width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important; max-width:var(--iwales-shell) !important; margin-inline:auto !important; }
.iwales-news-social-copy h2 { margin:.25rem 0 .8rem; font-size:clamp(1.95rem,2.9vw,2.6rem); line-height:1.08; }
.iwales-news-social-copy p { color:var(--iwales-muted); }

/* Single post */
.iwales-article-hero {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.6rem,6vw,5.5rem);
  border-radius:0 0 32px 32px;
  color:#fff;
  background:linear-gradient(125deg,#282827,#3a3a39 52%,#4c3038);
}
.iwales-article-hero::after {
  content:"";
  position:absolute;
  right:-40px;
  top:50%;
  transform:translateY(-50%);
  width:clamp(270px,28vw,430px);
  height:clamp(180px,19vw,285px);
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.055;
}
.iwales-article-hero-inner { position:relative; z-index:1; width:min(calc(100% - (var(--iwales-gutter) * 2)),980px) !important; max-width:980px !important; margin-inline:auto !important; }
.iwales-article-terms { margin-bottom:.9rem !important; }
.iwales-article-terms a { color:#f4cf5b; font-size:.82rem; font-weight:850; text-decoration:none; text-transform:uppercase; letter-spacing:.06em; }
.iwales-article-hero h1 { max-width:900px; margin:.2rem 0 1rem; font-size:clamp(2.35rem,4.3vw,4rem) !important; line-height:1.04 !important; letter-spacing:-.035em; text-wrap:balance; }
.iwales-article-meta { gap:.65rem 1.4rem !important; color:rgba(255,255,255,.74); font-size:.9rem; }
.iwales-article-meta > * { margin:0 !important; }
.iwales-article-shell { width:min(calc(100% - (var(--iwales-gutter) * 2)),980px) !important; max-width:980px !important; margin-inline:auto !important; padding-block:clamp(2.8rem,5vw,4.5rem); }
.iwales-article-featured { margin:0 0 clamp(2rem,4vw,3.2rem) !important; }
.iwales-article-featured img { width:100%; border-radius:26px; }
.iwales-article-content { font-size:1.05rem; line-height:1.72; }
.iwales-article-content > * { max-width:780px; }
.iwales-article-content > .alignwide { max-width:980px; }
.iwales-article-content > .alignfull { max-width:none; }
.iwales-article-content h2 { margin-top:2.2em; font-size:clamp(1.7rem,2.8vw,2.25rem); line-height:1.12; }
.iwales-article-content h3 { margin-top:1.8em; line-height:1.16; }
.iwales-article-separator { margin:3rem 0 1.6rem !important; }
.iwales-article-nav { gap:1rem !important; }
.iwales-article-nav a { font-weight:750; text-decoration:none; }
.iwales-article-back { width:min(calc(100% - (var(--iwales-gutter) * 2)),980px) !important; max-width:980px !important; margin:-1.8rem auto 0 !important; padding-bottom:1.4rem; }

@media (max-width:980px) {
  .iwales-news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-news-grid > li:first-child { grid-column:1 / -1; }
  .iwales-news-grid > li:first-child .iwales-news-card { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .iwales-news-hero::after { right:-110px; opacity:.055; }
}
@media (max-width:720px) {
  .iwales-news-grid { grid-template-columns:1fr; }
  .iwales-news-grid > li:first-child .iwales-news-card { display:flex; min-height:0; }
  .iwales-news-grid > li:first-child .iwales-news-image { min-height:0; }
  .iwales-news-grid > li:first-child h3 { font-size:1.4rem; }
}
@media (max-width:680px) {
  .iwales-news-hero { padding-top:3.1rem; padding-bottom:3.7rem; border-radius:0 0 24px 24px; }
  .iwales-news-hero h1 { font-size:clamp(2.45rem,12vw,3.3rem) !important; }
  .iwales-news-hero::after { width:220px; height:150px; right:-90px; opacity:.04; }
  .iwales-news-shell { padding-block:3rem; }
  .iwales-news-filters { gap:.45rem !important; }
  .iwales-news-filters a { min-height:36px; padding:.4rem .7rem; font-size:.82rem; }
  .iwales-news-card { border-radius:20px; }
  .iwales-news-card-body { padding:1.2rem; }
  .iwales-article-hero { padding-top:3rem; padding-bottom:3.6rem; border-radius:0 0 24px 24px; }
  .iwales-article-hero::after { width:200px; height:132px; right:-90px; opacity:.04; }
  .iwales-article-shell { padding-block:2.4rem 3.4rem; }
  .iwales-article-featured img { border-radius:20px; }
  .iwales-article-content { font-size:1rem; }
  .iwales-article-nav { display:block !important; }
  .iwales-article-nav > * + * { margin-top:1rem !important; }
}


/* ================================================================
   Participa · v0.4.6
   Warm action-oriented page, based on reusable split/grid components.
   ================================================================ */
.iwales-join-hero {
  position:relative;
  overflow:hidden;
  padding-block:clamp(4.1rem,7vw,6.4rem);
  border-radius:0 0 32px 32px;
  color:#fff;
  background:linear-gradient(125deg,#2b2b2a 0%,#5e3341 43%,#a42e48 73%,#b98525 132%);
}
.iwales-join-hero::after {
  content:"";
  position:absolute;
  right:clamp(-35px,3vw,48px);
  top:50%;
  transform:translateY(-50%) rotate(-4deg);
  width:clamp(300px,34vw,520px);
  height:clamp(205px,23vw,355px);
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.09;
  pointer-events:none;
}
.iwales-join-hero > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-join-hero .iwales-kicker { color:#f3cb59; }
.iwales-join-hero h1 {
  max-width:840px;
  margin:.25rem 0 1.1rem;
  font-size:clamp(2.85rem,5vw,4.75rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.iwales-join-lead {
  max-width:720px;
  margin:0 0 1.55rem !important;
  color:rgba(255,255,255,.91);
  font-size:clamp(1.08rem,1.55vw,1.32rem);
  line-height:1.55;
}
.iwales-join-shell {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
  padding-block:clamp(3.6rem,6vw,5.2rem);
}
.iwales-join-intro h2 {
  max-width:18ch;
  margin:.25rem 0 .8rem;
  font-size:clamp(2rem,3.2vw,2.8rem);
  line-height:1.08;
  letter-spacing:-.025em;
}
.iwales-join-note {
  position:relative;
  overflow:hidden;
  padding:clamp(1.45rem,2.5vw,2rem);
  border-radius:24px;
  border:1px solid rgba(193,48,74,.14);
  background:linear-gradient(135deg,#f8eaee,#fff8e4 62%,#eef5f8);
}
.iwales-join-note::after {
  content:"";
  position:absolute;
  right:-25px;
  bottom:-12px;
  width:165px;
  height:108px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.065;
}
.iwales-join-note > * { position:relative; z-index:1; }
.iwales-join-grid-wrap {
  background:linear-gradient(180deg,#f8f8f6,#fff);
  border-block:1px solid rgba(58,58,57,.06);
}
.iwales-join-grid-wrap > .wp-block-group {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
  padding-block:clamp(3.8rem,6vw,5.3rem);
}
.iwales-join-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1rem,1.8vw,1.35rem);
  margin-top:1.7rem !important;
}
.iwales-join-grid > * { margin:0 !important; min-width:0; }
.iwales-join-card {
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:270px;
  padding:clamp(1.45rem,2.3vw,1.9rem);
  border:1px solid var(--iwales-border);
  border-radius:24px;
  background:#fff;
  box-shadow:0 9px 28px rgba(34,34,34,.04);
}
.iwales-join-card::after {
  content:"";
  position:absolute;
  right:-32px;
  top:-16px;
  width:145px;
  height:95px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.035;
}
.iwales-join-card > * { position:relative; z-index:1; }
.iwales-join-card:nth-child(1) { border-top:4px solid var(--iwales-red); }
.iwales-join-card:nth-child(2) { border-top:4px solid var(--iwales-gold); }
.iwales-join-card:nth-child(3) { border-top:4px solid var(--iwales-blue); }
.iwales-join-card:nth-child(4) { border-top:4px solid var(--iwales-dark); }
.iwales-join-label {
  display:inline-flex;
  align-self:flex-start;
  margin:0 0 .9rem !important;
  padding:.36rem .64rem;
  border-radius:999px;
  background:#f7eef1;
  color:var(--iwales-red);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.iwales-join-card:nth-child(2) .iwales-join-label { background:#fff7df; color:#98710f; }
.iwales-join-card:nth-child(3) .iwales-join-label { background:#edf4f8; color:var(--iwales-blue); }
.iwales-join-card:nth-child(4) .iwales-join-label { background:#f1f1ef; color:var(--iwales-dark); }
.iwales-join-card h3 { margin:0 0 .65rem; font-size:clamp(1.28rem,2vw,1.55rem); line-height:1.08; }
.iwales-join-card p { margin-top:0; color:var(--iwales-muted); }
.iwales-join-card > p:last-child { margin-top:auto; margin-bottom:0; padding-top:.75rem; }
.iwales-join-card a { font-weight:800; }

.iwales-join-feature-band {
  padding-block:clamp(3.8rem,6vw,5.3rem);
  background:linear-gradient(180deg,#fff,#f8f8f6);
}
.iwales-join-feature-band > .wp-block-group {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-join-volunteer-panel {
  position:relative;
  overflow:hidden;
  min-height:365px;
  padding:clamp(1.9rem,3vw,2.6rem);
  border-radius:28px;
  color:#fff;
  background:linear-gradient(145deg,#85283a,#c1304a 62%,#9d2c42);
  box-shadow:0 18px 52px rgba(120,36,54,.14);
}
.iwales-join-volunteer-panel::after {
  content:"";
  position:absolute;
  right:-34px;
  bottom:-12px;
  width:245px;
  height:160px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.08;
}
.iwales-join-volunteer-panel > * { position:relative; z-index:1; }
.iwales-join-volunteer-panel .iwales-kicker { color:#f6d475; }
.iwales-join-volunteer-panel h2 { margin:.25rem 0 .8rem; font-size:clamp(1.95rem,2.8vw,2.55rem); line-height:1.08; }
.iwales-join-volunteer-panel p { color:rgba(255,255,255,.88); }
.iwales-join-list { margin:1rem 0 0; padding:0; list-style:none; }
.iwales-join-list li { position:relative; padding-left:1.55rem; margin:.62rem 0; color:var(--iwales-muted); }
.iwales-join-list li::before { content:"✓"; position:absolute; left:0; color:var(--iwales-red); font-weight:850; }

.iwales-join-member {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.8rem,6vw,5.3rem);
  color:#fff;
  background:linear-gradient(135deg,#222221,#3b3335 50%,#5b3441);
}
.iwales-join-member::after {
  content:"";
  position:absolute;
  right:-52px;
  top:-26px;
  width:310px;
  height:205px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.045;
}
.iwales-join-member > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-join-member .iwales-kicker { color:#f3cb59; }
.iwales-join-member h2 { max-width:780px; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; }
.iwales-join-member > .wp-block-group > p { max-width:770px; color:rgba(255,255,255,.82); }
.iwales-join-member-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem !important;
}
.iwales-join-member-grid > * { margin:0 !important; min-width:0; }
.iwales-join-member-card {
  min-height:175px;
  padding:1.45rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  background:rgba(255,255,255,.07);
}
.iwales-join-member-card h3 { margin:.1rem 0 .55rem; color:#fff; }
.iwales-join-member-card p { margin:0; color:rgba(255,255,255,.77); }

.iwales-join-cta {
  position:relative;
  overflow:hidden;
  padding:clamp(1.8rem,3.5vw,2.8rem);
  border-radius:26px;
  border:1px solid rgba(193,48,74,.16);
  background:linear-gradient(125deg,#f8e9ed,#fff9e8 62%,#eef5f8);
  box-shadow:0 16px 42px rgba(64,48,51,.055);
}
.iwales-join-cta::after {
  content:"";
  position:absolute;
  right:-28px;
  top:-14px;
  width:190px;
  height:125px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.065;
}
.iwales-join-cta > * { position:relative; z-index:1; }
.iwales-join-cta h2 { max-width:22ch; margin:.25rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }

@media (max-width:980px) {
  .iwales-join-grid { grid-template-columns:1fr; }
  .iwales-join-member-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-join-hero::after { right:-110px; opacity:.06; }
}
@media (max-width:680px) {
  .iwales-join-hero { padding-top:3.1rem; padding-bottom:3.7rem; border-radius:0 0 24px 24px; }
  .iwales-join-hero h1 { font-size:clamp(2.45rem,12vw,3.3rem) !important; }
  .iwales-join-hero::after { width:220px; height:150px; right:-90px; top:31%; opacity:.05; }
  .iwales-join-shell { padding-block:3rem; }
  .iwales-join-member-grid { grid-template-columns:1fr; }
  .iwales-join-card,
  .iwales-join-member-card { min-height:0; }
  .iwales-join-volunteer-panel { min-height:300px; border-radius:22px; }
  .iwales-join-cta { border-radius:20px; padding:1.5rem; }
  .iwales-join-cta::after { width:145px; height:96px; right:-38px; top:-8px; }
}


/* ================================================================
   Voluntariado + Persona socia · v0.4.7
   Child pages of Participa. Uses the shared split-layout system.
   ================================================================ */
.iwales-volunteer-hero,
.iwales-member-hero {
  position:relative;
  overflow:hidden;
  padding-block:clamp(4rem,7vw,6.2rem);
  border-radius:0 0 32px 32px;
  color:#fff;
}
.iwales-volunteer-hero {
  background:linear-gradient(125deg,#22383e 0%,#1d699b 54%,#365f67 100%);
}
.iwales-member-hero {
  background:linear-gradient(125deg,#3b2d35 0%,#8f2d43 56%,#c1304a 100%);
}
.iwales-volunteer-hero::after,
.iwales-member-hero::after {
  content:"";
  position:absolute;
  right:clamp(-50px,3vw,45px);
  top:50%;
  transform:translateY(-50%) rotate(-4deg);
  width:clamp(300px,34vw,510px);
  height:clamp(200px,23vw,345px);
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.075;
  pointer-events:none;
}
.iwales-volunteer-hero > .wp-block-group,
.iwales-member-hero > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-volunteer-hero .iwales-kicker,
.iwales-member-hero .iwales-kicker { color:#f4d066; }
.iwales-volunteer-hero h1,
.iwales-member-hero h1 {
  max-width:820px;
  margin:.25rem 0 1.1rem;
  font-size:clamp(2.8rem,5vw,4.65rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.038em;
  text-wrap:balance;
}
.iwales-volunteer-lead,
.iwales-member-lead {
  max-width:720px;
  margin:0 0 1.5rem !important;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.08rem,1.55vw,1.32rem);
  line-height:1.55;
}
.iwales-participation-shell {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
  padding-block:clamp(3.6rem,6vw,5.2rem);
}
.iwales-participation-intro h2 {
  margin:.3rem 0 .8rem;
  font-size:clamp(2rem,3.2vw,2.8rem);
  line-height:1.08;
  letter-spacing:-.025em;
}
.iwales-participation-note {
  position:relative;
  overflow:hidden;
  padding:clamp(1.45rem,2.5vw,2rem);
  border-radius:24px;
  background:linear-gradient(135deg,#eef5f8,#fff 58%,#fff7df);
  border:1px solid rgba(29,105,155,.12);
}
.iwales-participation-note::after {
  content:"";
  position:absolute;
  right:-30px;
  bottom:-12px;
  width:170px;
  height:112px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.06;
}
.iwales-participation-note > * { position:relative; z-index:1; }

.iwales-participation-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:1.7rem !important;
}
.iwales-participation-grid > * { margin:0 !important; min-width:0; }
.iwales-participation-card {
  display:flex;
  flex-direction:column;
  min-height:225px;
  padding:1.55rem;
  border:1px solid var(--iwales-border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 8px 25px rgba(34,34,34,.035);
}
.iwales-participation-card:nth-child(1) { border-top:4px solid var(--iwales-red); }
.iwales-participation-card:nth-child(2) { border-top:4px solid var(--iwales-blue); }
.iwales-participation-card:nth-child(3) { border-top:4px solid var(--iwales-gold); }
.iwales-participation-card:nth-child(4) { border-top:4px solid var(--iwales-dark); }
.iwales-participation-card h3 { margin:.15rem 0 .6rem; font-size:clamp(1.22rem,1.8vw,1.45rem); line-height:1.1; }
.iwales-participation-card p { margin-top:0; color:var(--iwales-muted); }

.iwales-volunteer-band,
.iwales-member-band {
  padding-block:clamp(3.8rem,6vw,5.3rem);
  border-block:1px solid rgba(58,58,57,.06);
  background:linear-gradient(180deg,#f7f8f7,#fff);
}
.iwales-volunteer-band > .wp-block-group,
.iwales-member-band > .wp-block-group {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-volunteer-panel,
.iwales-member-panel {
  position:relative;
  overflow:hidden;
  min-height:330px;
  padding:clamp(1.9rem,3vw,2.6rem);
  border-radius:26px;
  color:#fff;
  box-shadow:0 18px 50px rgba(34,34,34,.11);
}
.iwales-volunteer-panel { background:linear-gradient(145deg,#174d6e,#1d699b 62%,#285a6a); }
.iwales-member-panel { background:linear-gradient(145deg,#81283a,#c1304a 62%,#972d42); }
.iwales-volunteer-panel::after,
.iwales-member-panel::after {
  content:"";
  position:absolute;
  right:-36px;
  bottom:-18px;
  width:235px;
  height:155px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.075;
}
.iwales-volunteer-panel > *, .iwales-member-panel > * { position:relative; z-index:1; }
.iwales-volunteer-panel .iwales-kicker,
.iwales-member-panel .iwales-kicker { color:#f5d472; }
.iwales-volunteer-panel h2,
.iwales-member-panel h2 { margin:.25rem 0 .8rem; font-size:clamp(1.95rem,2.75vw,2.5rem); line-height:1.08; }
.iwales-volunteer-panel p,
.iwales-member-panel p { color:rgba(255,255,255,.88); }
.iwales-participation-list { margin:1rem 0 0; padding:0; list-style:none; }
.iwales-participation-list li { position:relative; padding-left:1.55rem; margin:.62rem 0; color:var(--iwales-muted); }
.iwales-participation-list li::before { content:"✓"; position:absolute; left:0; color:var(--iwales-red); font-weight:850; }

.iwales-participation-process {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem !important;
}
.iwales-participation-process > * { margin:0 !important; min-width:0; }
.iwales-participation-step {
  min-height:195px;
  padding:1.4rem;
  border-radius:20px;
  border:1px solid var(--iwales-border);
  background:#f7f7f5;
}
.iwales-participation-step-number {
  margin:0 0 .9rem !important;
  color:var(--iwales-red);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.08em;
}
.iwales-participation-step h3 { margin:0 0 .5rem; font-size:1.08rem; }
.iwales-participation-step p { margin:0; color:var(--iwales-muted); }

.iwales-member-values {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.8rem,6vw,5.3rem);
  color:#fff;
  background:linear-gradient(135deg,#242424,#3e3036 58%,#653040);
}
.iwales-member-values::after {
  content:"";
  position:absolute;
  right:-55px;
  top:-30px;
  width:300px;
  height:195px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.045;
}
.iwales-member-values > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-member-values .iwales-kicker { color:#f3cb59; }
.iwales-member-values h2 { max-width:780px; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; }
.iwales-member-values-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem !important;
}
.iwales-member-values-grid > * { margin:0 !important; min-width:0; }
.iwales-member-value {
  min-height:170px;
  padding:1.45rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  background:rgba(255,255,255,.065);
}
.iwales-member-value h3 { margin:.1rem 0 .55rem; color:#fff; }
.iwales-member-value p { margin:0; color:rgba(255,255,255,.78); }

.iwales-participation-cta {
  position:relative;
  overflow:hidden;
  padding:clamp(1.8rem,3.5vw,2.8rem);
  border-radius:26px;
  border:1px solid rgba(193,48,74,.16);
  background:linear-gradient(125deg,#f7e9ed,#fff9e9 64%,#edf5f8);
  box-shadow:0 16px 42px rgba(64,48,51,.055);
}
.iwales-participation-cta::after {
  content:"";
  position:absolute;
  right:-28px;
  top:-14px;
  width:190px;
  height:125px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.065;
}
.iwales-participation-cta > * { position:relative; z-index:1; }
.iwales-participation-cta h2 { max-width:23ch; margin:.25rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }

@media (max-width:980px) {
  .iwales-participation-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-member-values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-volunteer-hero::after, .iwales-member-hero::after { right:-110px; opacity:.055; }
}
@media (max-width:680px) {
  .iwales-volunteer-hero, .iwales-member-hero { padding-top:3.1rem; padding-bottom:3.7rem; border-radius:0 0 24px 24px; }
  .iwales-volunteer-hero h1, .iwales-member-hero h1 { font-size:clamp(2.45rem,12vw,3.3rem) !important; }
  .iwales-volunteer-hero::after, .iwales-member-hero::after { width:220px; height:150px; right:-90px; top:31%; opacity:.045; }
  .iwales-participation-shell { padding-block:3rem; }
  .iwales-participation-grid,
  .iwales-participation-process,
  .iwales-member-values-grid { grid-template-columns:1fr; }
  .iwales-participation-card,
  .iwales-participation-step,
  .iwales-member-value { min-height:0; }
  .iwales-volunteer-panel, .iwales-member-panel { min-height:0; border-radius:22px; }
  .iwales-participation-cta { border-radius:20px; padding:1.5rem; }
  .iwales-participation-cta::after { width:145px; height:96px; right:-38px; top:-8px; }
}


/* ================================================================
   Sobre Iwales · v0.4.8
   Institutional page using the shared layout system.
   ================================================================ */
.iwales-about-hero {
  position:relative;
  overflow:hidden;
  padding-block:clamp(4.2rem,7vw,6.4rem);
  border-radius:0 0 32px 32px;
  color:#fff;
  background:linear-gradient(125deg,#252524 0%,#39484f 46%,#1d699b 105%);
}
.iwales-about-hero::after {
  content:"";
  position:absolute;
  right:clamp(-60px,2vw,42px);
  top:50%;
  transform:translateY(-50%) rotate(-4deg);
  width:clamp(310px,34vw,520px);
  height:clamp(210px,23vw,355px);
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.085;
  pointer-events:none;
}
.iwales-about-hero > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-about-hero .iwales-kicker { color:#f3cb57; }
.iwales-about-hero h1 {
  max-width:820px;
  margin:.25rem 0 1.1rem;
  font-size:clamp(2.85rem,5vw,4.75rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.iwales-about-lead {
  max-width:760px;
  margin:0 0 1.55rem !important;
  color:rgba(255,255,255,.91);
  font-size:clamp(1.08rem,1.55vw,1.32rem);
  line-height:1.55;
}
.iwales-about-shell {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
  padding-block:clamp(3.6rem,6vw,5.2rem);
}
.iwales-about-intro {
  display:grid !important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.5rem,3vw,3rem);
  align-items:start;
}
.iwales-about-intro > * { margin:0 !important; min-width:0; }
.iwales-about-intro h2 { margin:.3rem 0 .8rem; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; letter-spacing:-.025em; }
.iwales-about-note {
  position:relative;
  overflow:hidden;
  padding:clamp(1.45rem,2.5vw,2rem);
  border-radius:24px;
  background:linear-gradient(135deg,#eef5f8,#fff 58%,#fff8df);
  border:1px solid rgba(29,105,155,.13);
}
.iwales-about-note::after {
  content:"";
  position:absolute;
  right:-28px;
  bottom:-12px;
  width:170px;
  height:112px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.065;
}
.iwales-about-note > * { position:relative; z-index:1; }

.iwales-about-history {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.9rem,6vw,5.4rem);
  background:linear-gradient(180deg,#f7f7f5,#fff);
  border-block:1px solid rgba(58,58,57,.06);
}
.iwales-about-history > .wp-block-group {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-about-history .iwales-split-cluster { align-items:stretch; }
.iwales-about-origin-panel {
  position:relative;
  overflow:hidden;
  min-height:330px;
  padding:clamp(1.9rem,3vw,2.6rem);
  border-radius:28px;
  color:#fff;
  background:linear-gradient(145deg,#153f58,#1d699b 62%,#214f69);
  box-shadow:0 18px 48px rgba(29,105,155,.14);
}
.iwales-about-origin-panel::after {
  content:"";
  position:absolute;
  right:-34px;
  bottom:-14px;
  width:240px;
  height:158px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.075;
}
.iwales-about-origin-panel > * { position:relative; z-index:1; }
.iwales-about-origin-panel .iwales-kicker { color:#f4cf64; }
.iwales-about-origin-panel h2 { margin:.25rem 0 .8rem; font-size:clamp(2rem,2.8vw,2.55rem); line-height:1.07; }
.iwales-about-origin-panel p { color:rgba(255,255,255,.88); }
.iwales-about-timeline { margin:1rem 0 0; padding:0; list-style:none; }
.iwales-about-timeline li { position:relative; margin:.7rem 0; padding-left:1.55rem; color:var(--iwales-muted); }
.iwales-about-timeline li::before { content:"•"; position:absolute; left:.1rem; color:var(--iwales-red); font-size:1.3rem; line-height:1; }

.iwales-about-areas {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:1.7rem !important;
}
.iwales-about-areas > * { margin:0 !important; min-width:0; }
.iwales-about-area {
  min-height:220px;
  padding:1.5rem;
  border:1px solid var(--iwales-border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 8px 24px rgba(34,34,34,.035);
}
.iwales-about-area:nth-child(1) { border-top:4px solid var(--iwales-blue); }
.iwales-about-area:nth-child(2) { border-top:4px solid var(--iwales-red); }
.iwales-about-area:nth-child(3) { border-top:4px solid var(--iwales-gold); }
.iwales-about-area:nth-child(4) { border-top:4px solid var(--iwales-dark); }
.iwales-about-area h3 { margin:.2rem 0 .6rem; font-size:1.22rem; line-height:1.1; }
.iwales-about-area p { margin:0; color:var(--iwales-muted); }

.iwales-about-values {
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.9rem,6vw,5.4rem);
  color:#fff;
  background:linear-gradient(135deg,#222221,#2e3132 55%,#3b2930);
}
.iwales-about-values::after {
  content:"";
  position:absolute;
  right:-48px;
  top:-30px;
  width:300px;
  height:195px;
  background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.05;
}
.iwales-about-values > .wp-block-group {
  position:relative;
  z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important;
  margin-inline:auto !important;
}
.iwales-about-values .iwales-kicker { color:#f3c94d; }
.iwales-about-values h2 { max-width:780px; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; }
.iwales-about-values-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem !important;
}
.iwales-about-values-grid > * { margin:0 !important; min-width:0; }
.iwales-about-value {
  min-height:190px;
  padding:1.45rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  background:rgba(255,255,255,.065);
}
.iwales-about-value h3 { margin:.1rem 0 .55rem; color:#fff; }
.iwales-about-value p { margin:0; color:rgba(255,255,255,.78); }

.iwales-about-network {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:1.5rem !important;
}
.iwales-about-network > * { margin:0 !important; min-width:0; }
.iwales-about-network-card {
  padding:1.45rem;
  border-radius:20px;
  border:1px solid var(--iwales-border);
  background:#f8f8f6;
}
.iwales-about-network-card h3 { margin:.1rem 0 .55rem; }
.iwales-about-network-card p { margin:0; color:var(--iwales-muted); }

.iwales-about-cta {
  position:relative;
  overflow:hidden;
  padding:clamp(1.8rem,3.5vw,2.8rem);
  border-radius:26px;
  border:1px solid rgba(29,105,155,.16);
  background:linear-gradient(125deg,#eef5f8,#fff 58%,#fff8df);
  box-shadow:0 16px 42px rgba(47,61,70,.055);
}
.iwales-about-cta::after {
  content:"";
  position:absolute;
  right:-26px;
  top:-14px;
  width:190px;
  height:125px;
  background:var(--iwales-mark-color) center/contain no-repeat;
  opacity:.065;
}
.iwales-about-cta > * { position:relative; z-index:1; }
.iwales-about-cta h2 { max-width:22ch; margin:.25rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }

@media (max-width:980px) {
  .iwales-about-intro { grid-template-columns:1fr; }
  .iwales-about-values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-about-hero::after { right:-110px; opacity:.06; }
}
@media (max-width:680px) {
  .iwales-about-hero { padding-top:3.1rem; padding-bottom:3.7rem; border-radius:0 0 24px 24px; }
  .iwales-about-hero h1 { font-size:clamp(2.45rem,12vw,3.3rem) !important; }
  .iwales-about-hero::after { width:220px; height:150px; right:-90px; top:31%; opacity:.045; }
  .iwales-about-shell { padding-block:3rem; }
  .iwales-about-areas,
  .iwales-about-values-grid,
  .iwales-about-network { grid-template-columns:1fr; }
  .iwales-about-area,
  .iwales-about-value { min-height:0; }
  .iwales-about-origin-panel { min-height:0; border-radius:22px; }
  .iwales-about-cta { border-radius:20px; padding:1.5rem; }
  .iwales-about-cta::after { width:145px; height:96px; right:-38px; top:-8px; }
}


/* ================================================================
   Transparencia · v0.4.9
   Document hub prepared for real public files.
   ================================================================ */
.iwales-transparency-hero {
  position:relative; overflow:hidden; color:#fff;
  padding-block:clamp(4.1rem,7vw,6.2rem);
  border-radius:0 0 32px 32px;
  background:linear-gradient(125deg,#252524 0%,#31454f 48%,#1d699b 110%);
}
.iwales-transparency-hero::after {
  content:""; position:absolute; right:clamp(-55px,2vw,45px); top:50%;
  transform:translateY(-50%) rotate(-4deg); width:clamp(300px,34vw,515px);
  height:clamp(205px,23vw,350px); background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.075; pointer-events:none;
}
.iwales-transparency-hero > .wp-block-group,
.iwales-transparency-band > .wp-block-group {
  position:relative; z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important; margin-inline:auto !important;
}
.iwales-transparency-hero .iwales-kicker { color:#f2cf62; }
.iwales-transparency-hero h1 { max-width:850px; margin:.25rem 0 1.1rem; font-size:clamp(2.8rem,5vw,4.7rem)!important; line-height:1.01!important; letter-spacing:-.035em; text-wrap:balance; }
.iwales-transparency-lead { max-width:730px; margin:0 0 1.45rem!important; color:rgba(255,255,255,.9); font-size:clamp(1.08rem,1.55vw,1.3rem); line-height:1.55; }
.iwales-transparency-shell { width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell))!important; max-width:var(--iwales-shell)!important; margin-inline:auto!important; padding-block:clamp(3.6rem,6vw,5.2rem); }
.iwales-transparency-intro { display:grid!important; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(1.5rem,3vw,3.2rem); align-items:start; }
.iwales-transparency-intro > * { margin:0!important; min-width:0; }
.iwales-transparency-intro h2 { margin:.3rem 0 .8rem; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; letter-spacing:-.025em; }
.iwales-transparency-note { position:relative; overflow:hidden; padding:clamp(1.45rem,2.6vw,2rem); border-radius:24px; border:1px solid #d9e6ee; background:linear-gradient(135deg,#edf5f8,#fff 58%,#fff8e3); }
.iwales-transparency-note::after { content:""; position:absolute; right:-30px; bottom:-13px; width:170px; height:112px; background:var(--iwales-mark-color) center/contain no-repeat; opacity:.065; }
.iwales-transparency-note > * { position:relative; z-index:1; }
.iwales-transparency-docs { background:linear-gradient(180deg,#f7f9fa,#fff); border-block:1px solid rgba(58,58,57,.06); }
.iwales-transparency-docs > .wp-block-group { width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell))!important; max-width:var(--iwales-shell)!important; margin-inline:auto!important; padding-block:clamp(3.8rem,6vw,5.3rem); }
.iwales-transparency-grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.7rem!important; }
.iwales-transparency-grid > * { margin:0!important; min-width:0; }
.iwales-transparency-card { display:flex; flex-direction:column; min-height:245px; padding:1.55rem; border:1px solid var(--iwales-border); border-radius:22px; background:#fff; box-shadow:0 8px 26px rgba(34,34,34,.035); }
.iwales-transparency-card-tag { display:inline-flex; align-self:flex-start; margin:0 0 1rem!important; padding:.38rem .65rem; border-radius:999px; background:#edf4f8; color:var(--iwales-blue); font-size:.71rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.iwales-transparency-card:nth-child(2) .iwales-transparency-card-tag { background:#fbf0f3; color:var(--iwales-red); }
.iwales-transparency-card:nth-child(3) .iwales-transparency-card-tag { background:#fff7df; color:#8d6b12; }
.iwales-transparency-card:nth-child(4) .iwales-transparency-card-tag { background:#f1f1ef; color:var(--iwales-dark); }
.iwales-transparency-card:nth-child(5) .iwales-transparency-card-tag { background:#eef5ef; color:#49634f; }
.iwales-transparency-card:nth-child(6) .iwales-transparency-card-tag { background:#f3eef4; color:#6a5164; }
.iwales-transparency-card h3 { margin:.1rem 0 .65rem; font-size:1.2rem; line-height:1.15; }
.iwales-transparency-card p { margin-top:0; color:var(--iwales-muted); }
.iwales-transparency-card > p:last-child { margin-top:auto; margin-bottom:0; padding-top:.7rem; font-size:.9rem; }
.iwales-transparency-band { position:relative; overflow:hidden; padding-block:clamp(3.8rem,6vw,5.2rem); color:#fff; background:linear-gradient(135deg,#232323,#31444d 58%,#1d699b); }
.iwales-transparency-band::after { content:""; position:absolute; right:-55px; top:-32px; width:300px; height:195px; background:var(--iwales-mark-white) center/contain no-repeat; opacity:.05; }
.iwales-transparency-band .iwales-kicker { color:#f2cf62; }
.iwales-transparency-band h2 { max-width:770px; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; }
.iwales-transparency-band p { max-width:800px; color:rgba(255,255,255,.82); }
.iwales-transparency-principles { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.55rem!important; }
.iwales-transparency-principles > * { margin:0!important; min-width:0; }
.iwales-transparency-principle { min-height:170px; padding:1.4rem; border-radius:20px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.07); }
.iwales-transparency-principle h3 { margin:.1rem 0 .55rem; color:#fff; }
.iwales-transparency-principle p { margin:0; color:rgba(255,255,255,.76); }
.iwales-transparency-cta { position:relative; overflow:hidden; padding:clamp(1.8rem,3.5vw,2.8rem); border-radius:26px; border:1px solid #d9e6ee; background:linear-gradient(125deg,#edf5f8,#fffdf7 65%,#f8e9ed); box-shadow:0 16px 42px rgba(45,61,69,.055); }
.iwales-transparency-cta::after { content:""; position:absolute; right:-28px; top:-15px; width:190px; height:125px; background:var(--iwales-mark-color) center/contain no-repeat; opacity:.06; }
.iwales-transparency-cta > * { position:relative; z-index:1; }
.iwales-transparency-cta h2 { max-width:22ch; margin:.25rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }
@media (max-width:980px) {
  .iwales-transparency-intro { grid-template-columns:1fr; }
  .iwales-transparency-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .iwales-transparency-principles { grid-template-columns:1fr; }
  .iwales-transparency-hero::after { right:-115px; opacity:.055; }
}
@media (max-width:680px) {
  .iwales-transparency-hero { padding-top:3.1rem; padding-bottom:3.7rem; border-radius:0 0 24px 24px; }
  .iwales-transparency-hero h1 { font-size:clamp(2.4rem,12vw,3.25rem)!important; }
  .iwales-transparency-hero::after { width:220px; height:150px; right:-90px; opacity:.045; }
  .iwales-transparency-shell { padding-block:3rem; }
  .iwales-transparency-grid { grid-template-columns:1fr; }
  .iwales-transparency-card { min-height:0; }
  .iwales-transparency-cta { border-radius:20px; padding:1.5rem; }
}


/* ================================================================
   Contacto · v0.5.0
   Clear contact hub using established Iwales layout rules.
   ================================================================ */
.iwales-contact-hero {
  position:relative; overflow:hidden; color:#fff;
  padding-block:clamp(4.1rem,7vw,6.2rem);
  border-radius:0 0 32px 32px;
  background:linear-gradient(125deg,#242424 0%,#333839 48%,#1d699b 112%);
}
.iwales-contact-hero::after {
  content:""; position:absolute; right:clamp(-55px,2vw,42px); top:50%;
  transform:translateY(-50%) rotate(-4deg); width:clamp(300px,34vw,515px);
  height:clamp(205px,23vw,350px); background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.08; pointer-events:none;
}
.iwales-contact-hero > .wp-block-group,
.iwales-contact-band > .wp-block-group {
  position:relative; z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important; margin-inline:auto !important;
}
.iwales-contact-hero .iwales-kicker { color:#f2cf62; }
.iwales-contact-hero h1 {
  max-width:820px; margin:.25rem 0 1.1rem;
  font-size:clamp(2.8rem,5vw,4.7rem)!important; line-height:1.01!important;
  letter-spacing:-.035em; text-wrap:balance;
}
.iwales-contact-lead {
  max-width:720px; margin:0 0 1.5rem!important; color:rgba(255,255,255,.9);
  font-size:clamp(1.08rem,1.55vw,1.3rem); line-height:1.55;
}
.iwales-contact-shell {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell))!important;
  max-width:var(--iwales-shell)!important; margin-inline:auto!important;
  padding-block:clamp(3.6rem,6vw,5.2rem);
}
.iwales-contact-intro {
  display:grid!important; grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
  gap:clamp(1.5rem,3vw,3.2rem); align-items:start;
}
.iwales-contact-intro > * { margin:0!important; min-width:0; }
.iwales-contact-intro h2 { margin:.3rem 0 .8rem; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; letter-spacing:-.025em; }
.iwales-contact-note {
  position:relative; overflow:hidden; padding:clamp(1.45rem,2.6vw,2rem);
  border-radius:24px; border:1px solid #d9e6ee;
  background:linear-gradient(135deg,#edf5f8,#fff 58%,#fff8e3);
}
.iwales-contact-note::after { content:""; position:absolute; right:-30px; bottom:-13px; width:170px; height:112px; background:var(--iwales-mark-color) center/contain no-repeat; opacity:.065; }
.iwales-contact-note > * { position:relative; z-index:1; }

.iwales-contact-methods {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem;
  margin-top:1.7rem!important; max-width:1060px;
}
.iwales-contact-methods > * { margin:0!important; min-width:0; }
.iwales-contact-card {
  display:flex; flex-direction:column; min-height:220px; padding:1.55rem;
  border:1px solid var(--iwales-border); border-radius:22px; background:#fff;
  box-shadow:0 8px 26px rgba(34,34,34,.035);
}
.iwales-contact-card-tag {
  display:inline-flex; align-self:flex-start; margin:0 0 1rem!important; padding:.38rem .65rem;
  border-radius:999px; background:#edf4f8; color:var(--iwales-blue);
  font-size:.71rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase;
}
.iwales-contact-card:nth-child(2) .iwales-contact-card-tag { background:#fbf0f3; color:var(--iwales-red); }
.iwales-contact-card:nth-child(3) .iwales-contact-card-tag { background:#fff7df; color:#8d6b12; }
.iwales-contact-card:nth-child(4) .iwales-contact-card-tag { background:#f3eef4; color:#6a5164; }
.iwales-contact-card h3 { margin:.1rem 0 .65rem; font-size:1.25rem; line-height:1.12; }
.iwales-contact-card p { margin-top:0; color:var(--iwales-muted); }
.iwales-contact-card > p:last-child { margin-top:auto; margin-bottom:0; padding-top:.7rem; }
.iwales-contact-card a { font-weight:750; }

.iwales-contact-band {
  position:relative; overflow:hidden; padding-block:clamp(3.8rem,6vw,5.2rem); color:#fff;
  background:linear-gradient(135deg,#222221,#30414a 58%,#1d699b);
}
.iwales-contact-band::after { content:""; position:absolute; right:-55px; top:-32px; width:300px; height:195px; background:var(--iwales-mark-white) center/contain no-repeat; opacity:.05; }
.iwales-contact-band .iwales-kicker { color:#f2cf62; }
.iwales-contact-band h2 { max-width:780px; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; }
.iwales-contact-band > .wp-block-group > p { max-width:800px; color:rgba(255,255,255,.82); }
.iwales-contact-needs {
  display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.55rem!important;
}
.iwales-contact-needs > * { margin:0!important; min-width:0; }
.iwales-contact-need {
  min-height:190px; padding:1.45rem; border-radius:20px;
  border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.07);
}
.iwales-contact-need h3 { margin:.1rem 0 .55rem; color:#fff; }
.iwales-contact-need p { margin:0 0 .85rem; color:rgba(255,255,255,.76); }
.iwales-contact-need a { color:#fff; font-weight:750; }

.iwales-contact-location-panel {
  position:relative; overflow:hidden; min-height:320px; padding:clamp(1.8rem,3vw,2.5rem);
  border-radius:28px; color:#fff; background:linear-gradient(145deg,#154e72,#1d699b 62%,#315668);
  box-shadow:0 18px 50px rgba(27,75,103,.13);
}
.iwales-contact-location-panel::after { content:""; position:absolute; right:-35px; bottom:-16px; width:230px; height:150px; background:var(--iwales-mark-white) center/contain no-repeat; opacity:.08; }
.iwales-contact-location-panel > * { position:relative; z-index:1; }
.iwales-contact-location-panel .iwales-kicker { color:#f6d679; }
.iwales-contact-location-panel h2 { margin:.25rem 0 .8rem; font-size:clamp(1.95rem,2.8vw,2.55rem); line-height:1.08; }
.iwales-contact-location-panel p { color:rgba(255,255,255,.88); }
.iwales-contact-location-text h2 { max-width:18ch; margin:.25rem 0 .8rem; font-size:clamp(1.95rem,2.8vw,2.55rem); line-height:1.08; }
.iwales-contact-location-text p { color:var(--iwales-muted); }
.iwales-contact-list { margin:1rem 0 0; padding:0; list-style:none; }
.iwales-contact-list li { position:relative; padding-left:1.5rem; margin:.62rem 0; color:var(--iwales-muted); }
.iwales-contact-list li::before { content:"✓"; position:absolute; left:0; color:var(--iwales-blue); font-weight:850; }

.iwales-contact-social {
  position:relative; overflow:hidden; padding:clamp(1.8rem,3.5vw,2.8rem);
  border-radius:26px; border:1px solid rgba(193,48,74,.16);
  background:linear-gradient(125deg,#f8e9ed,#fffdf7 64%,#edf5f8);
  box-shadow:0 16px 42px rgba(64,48,51,.055);
}
.iwales-contact-social::after { content:""; position:absolute; right:-28px; top:-15px; width:190px; height:125px; background:var(--iwales-mark-color) center/contain no-repeat; opacity:.06; }
.iwales-contact-social > * { position:relative; z-index:1; }
.iwales-contact-social h2 { max-width:22ch; margin:.25rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }

@media (max-width:980px) {
  .iwales-contact-intro { grid-template-columns:1fr; }
  .iwales-contact-needs { grid-template-columns:1fr; }
  .iwales-contact-hero::after { right:-115px; opacity:.055; }
}
@media (max-width:680px) {
  .iwales-contact-hero { padding-top:3.1rem; padding-bottom:3.7rem; border-radius:0 0 24px 24px; }
  .iwales-contact-hero h1 { font-size:clamp(2.4rem,12vw,3.25rem)!important; }
  .iwales-contact-hero::after { width:220px; height:150px; right:-90px; opacity:.045; }
  .iwales-contact-shell { padding-block:3rem; }
  .iwales-contact-methods { grid-template-columns:1fr; }
  .iwales-contact-card, .iwales-contact-need { min-height:0; }
  .iwales-contact-location-panel { min-height:0; border-radius:22px; }
  .iwales-contact-social { border-radius:20px; padding:1.5rem; }
}

/* ================================================================
   Pedir cita · v0.5.1
   Public gateway to the booking flow managed by Iwales Gestión.
   ================================================================ */
.iwales-appointment-hero {
  position:relative; overflow:hidden; color:#fff;
  padding-block:clamp(4.1rem,7vw,6.2rem);
  border-radius:0 0 32px 32px;
  background:linear-gradient(125deg,#242424 0%,#31464f 48%,#1d699b 112%);
}
.iwales-appointment-hero::after {
  content:""; position:absolute; right:clamp(-55px,2vw,42px); top:50%;
  transform:translateY(-50%) rotate(-4deg); width:clamp(300px,34vw,515px);
  height:clamp(205px,23vw,350px); background:var(--iwales-mark-white) center/contain no-repeat;
  opacity:.08; pointer-events:none;
}
.iwales-appointment-hero > .wp-block-group,
.iwales-appointment-band > .wp-block-group {
  position:relative; z-index:1;
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width:var(--iwales-shell) !important; margin-inline:auto !important;
}
.iwales-appointment-hero .iwales-kicker { color:#f2cf62; }
.iwales-appointment-hero h1 {
  max-width:850px; margin:.25rem 0 1.1rem;
  font-size:clamp(2.8rem,5vw,4.7rem)!important; line-height:1.01!important;
  letter-spacing:-.035em; text-wrap:balance;
}
.iwales-appointment-lead {
  max-width:735px; margin:0 0 1.5rem!important; color:rgba(255,255,255,.9);
  font-size:clamp(1.08rem,1.55vw,1.3rem); line-height:1.55;
}
.iwales-appointment-shell {
  width:min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell))!important;
  max-width:var(--iwales-shell)!important; margin-inline:auto!important;
  padding-block:clamp(3.6rem,6vw,5.2rem);
}
.iwales-appointment-intro {
  display:grid!important; grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
  gap:clamp(1.5rem,3vw,3.2rem); align-items:start;
}
.iwales-appointment-intro > * { margin:0!important; min-width:0; }
.iwales-appointment-intro h2 { margin:.3rem 0 .8rem; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; letter-spacing:-.025em; }
.iwales-appointment-note {
  position:relative; overflow:hidden; padding:clamp(1.45rem,2.6vw,2rem);
  border-radius:24px; border:1px solid #d9e6ee;
  background:linear-gradient(135deg,#edf5f8,#fff 58%,#fff8e3);
}
.iwales-appointment-note::after { content:""; position:absolute; right:-30px; bottom:-13px; width:170px; height:112px; background:var(--iwales-mark-color) center/contain no-repeat; opacity:.065; }
.iwales-appointment-note > * { position:relative; z-index:1; }
.iwales-appointment-note a { font-weight:750; }

.iwales-appointment-steps {
  display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem;
  margin-top:clamp(2rem,4vw,3.2rem)!important;
}
.iwales-appointment-steps > * { margin:0!important; min-width:0; }
.iwales-appointment-step {
  min-height:235px; padding:1.55rem; border:1px solid var(--iwales-border);
  border-radius:22px; background:#fff; box-shadow:0 8px 26px rgba(34,34,34,.035);
}
.iwales-appointment-step-number {
  display:inline-flex; margin:0 0 1rem!important; width:2.45rem; height:2.45rem;
  align-items:center; justify-content:center; border-radius:999px;
  background:#edf4f8; color:var(--iwales-blue); font-weight:850; font-size:.82rem;
}
.iwales-appointment-step:nth-child(2) .iwales-appointment-step-number { background:#fbf0f3; color:var(--iwales-red); }
.iwales-appointment-step:nth-child(3) .iwales-appointment-step-number { background:#fff7df; color:#8d6b12; }
.iwales-appointment-step h3 { margin:.1rem 0 .65rem; font-size:1.28rem; line-height:1.14; }
.iwales-appointment-step p { margin-top:0; color:var(--iwales-muted); }

.iwales-appointment-band {
  position:relative; overflow:hidden; padding-block:clamp(3.8rem,6vw,5.2rem); color:#fff;
  background:linear-gradient(135deg,#222221,#30414a 58%,#1d699b);
}
.iwales-appointment-band::after { content:""; position:absolute; right:-55px; top:-32px; width:300px; height:195px; background:var(--iwales-mark-white) center/contain no-repeat; opacity:.05; }
.iwales-appointment-band .iwales-kicker { color:#f2cf62; }
.iwales-appointment-band h2 { max-width:780px; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.08; }
.iwales-appointment-band > .wp-block-group > p { max-width:830px; color:rgba(255,255,255,.82); }
.iwales-appointment-help-grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.55rem!important; }
.iwales-appointment-help-grid > * { margin:0!important; min-width:0; }
.iwales-appointment-help {
  min-height:190px; padding:1.45rem; border-radius:20px;
  border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.07);
}
.iwales-appointment-help h3 { margin:.1rem 0 .55rem; color:#fff; }
.iwales-appointment-help p { margin:0 0 .8rem; color:rgba(255,255,255,.76); }
.iwales-appointment-help a { color:#fff; font-weight:750; }

.iwales-appointment-privacy {
  position:relative; overflow:hidden; padding:clamp(1.8rem,3.5vw,2.8rem);
  border-radius:26px; border:1px solid rgba(29,105,155,.16);
  background:linear-gradient(125deg,#edf5f8,#fff 58%,#fff8df);
  box-shadow:0 16px 42px rgba(47,61,70,.055);
}
.iwales-appointment-privacy::after { content:""; position:absolute; right:-26px; top:-14px; width:190px; height:125px; background:var(--iwales-mark-color) center/contain no-repeat; opacity:.06; }
.iwales-appointment-privacy > * { position:relative; z-index:1; }
.iwales-appointment-privacy h2 { max-width:24ch; margin:.25rem 0 .7rem; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.1; }
.iwales-appointment-privacy > p { max-width:850px; }

@media (max-width:980px) {
  .iwales-appointment-intro { grid-template-columns:1fr; }
  .iwales-appointment-steps { grid-template-columns:1fr; }
  .iwales-appointment-help-grid { grid-template-columns:1fr; }
  .iwales-appointment-step, .iwales-appointment-help { min-height:0; }
  .iwales-appointment-hero::after { right:-115px; opacity:.055; }
}
@media (max-width:680px) {
  .iwales-appointment-hero { padding-top:3.1rem; padding-bottom:3.7rem; border-radius:0 0 24px 24px; }
  .iwales-appointment-hero h1 { font-size:clamp(2.4rem,12vw,3.25rem)!important; }
  .iwales-appointment-hero::after { width:220px; height:150px; right:-90px; opacity:.045; }
  .iwales-appointment-shell { padding-block:3rem; }
  .iwales-appointment-privacy { border-radius:20px; padding:1.5rem; }
}


/* ================================================================
   Global QA & finishing pass · v0.5.2
   Navigation, interaction states, search/archive/404 and responsive polish.
   ================================================================ */

/* Keep headings readable: never split ordinary words to make them fit. */
:where(h1,h2,h3,h4,h5,h6) {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

/* Long technical strings may still wrap where they genuinely need to. */
:where(.iwales-contact-card,.iwales-contact-need,.iwales-appointment-help) a[href^="mailto:"] {
  overflow-wrap: anywhere;
}

img, svg, video, iframe { max-width: 100%; }

/* Consistent interactive behaviour throughout the site. */
.wp-element-button,
.wp-block-button__link,
.iwales-news-card,
.iwales-card {
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
  transform: translateY(-1px);
}

.wp-block-button__link:active,
.wp-element-button:active {
  transform: translateY(0);
}

.iwales-button-primary .wp-block-button__link:hover {
  background: #a9273e;
  box-shadow: 0 10px 24px rgba(193,48,74,.20);
}

.iwales-button-secondary .wp-block-button__link:hover {
  background: #f3f3f0;
}

/* Comfortable and consistent tap/click targets. */
.iwales-site-header .wp-block-navigation-item__content,
.iwales-site-footer .wp-block-navigation-item__content {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.iwales-site-footer .wp-block-navigation-item__content {
  padding-block: .15rem;
}

/* Text links inside long-form content remain recognisable without affecting cards/buttons. */
.iwales-content :where(p,li) a:not(.wp-block-button__link),
.iwales-article-content :where(p,li) a:not(.wp-block-button__link) {
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

/* Search and basic form controls */
.iwales-search-form .wp-block-search__inside-wrapper,
.iwales-error-search .wp-block-search__inside-wrapper {
  gap: .55rem;
  padding: .35rem;
  border: 1px solid var(--iwales-border);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(34,34,34,.04);
}

.iwales-search-form .wp-block-search__input,
.iwales-error-search .wp-block-search__input {
  min-width: 0;
  border: 0;
  border-radius: 999px;
  padding: .7rem 1rem;
  background: transparent;
  outline: 0;
}

.iwales-search-form .wp-block-search__button,
.iwales-error-search .wp-block-search__button {
  margin: 0;
  border: 0;
  border-radius: 999px;
  padding: .72rem 1.15rem;
  background: var(--iwales-red);
  color: #fff;
  font-weight: 750;
}

/* Search and archive fallback pages */
.iwales-archive-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3.5rem,6vw,5.25rem);
  border-radius: 0 0 30px 30px;
  background: linear-gradient(125deg,#f2f3f1,#fff 55%,#edf4f8);
}

.iwales-archive-hero::after {
  content: "";
  position: absolute;
  right: clamp(-70px,2vw,30px);
  top: 50%;
  transform: translateY(-50%) rotate(-4deg);
  width: clamp(260px,30vw,430px);
  height: clamp(175px,20vw,290px);
  background: var(--iwales-mark-color) center/contain no-repeat;
  opacity: .055;
  pointer-events: none;
}

.iwales-archive-hero > .wp-block-group,
.iwales-archive-shell {
  width: min(calc(100% - (var(--iwales-gutter) * 2)),var(--iwales-shell)) !important;
  max-width: var(--iwales-shell) !important;
  margin-inline: auto !important;
}

.iwales-archive-hero > .wp-block-group { position: relative; z-index: 1; }
.iwales-archive-hero h1 { max-width: 820px; margin: .3rem 0 .75rem; font-size: clamp(2.45rem,4.4vw,4rem); line-height: 1.04; letter-spacing: -.03em; }
.iwales-archive-hero p { max-width: 720px; color: var(--iwales-muted); font-size: 1.08rem; }
.iwales-archive-shell { padding-block: clamp(3rem,5vw,4.6rem); }

.iwales-archive-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1rem;
}
.iwales-archive-grid > * { min-width: 0; margin: 0 !important; }
.iwales-archive-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--iwales-border);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(34,34,34,.035);
}
.iwales-archive-card:hover { transform: translateY(-2px); box-shadow: var(--iwales-shadow); }
.iwales-archive-card .wp-block-post-featured-image { margin: 0 !important; }
.iwales-archive-card .wp-block-post-featured-image img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.iwales-archive-card-body { padding: 1.3rem 1.35rem 1.45rem; }
.iwales-archive-card-body > * { margin-top: 0; }
.iwales-archive-card-body .wp-block-post-date { display: block; margin-bottom: .55rem; color: var(--iwales-muted); font-size: .88rem; }
.iwales-archive-card-body .wp-block-post-title { margin-bottom: .7rem; font-size: clamp(1.22rem,1.6vw,1.42rem); line-height: 1.13; }
.iwales-archive-card-body .wp-block-post-title a { color: var(--iwales-dark); }
.iwales-archive-card-body .wp-block-post-excerpt { color: var(--iwales-muted); }
.iwales-archive-card-body .wp-block-post-excerpt__more-link { font-weight: 750; }
.iwales-archive-pagination { margin-top: 2.2rem !important; gap: .45rem !important; }
.iwales-archive-pagination a,
.iwales-archive-pagination .page-numbers {
  min-width: 42px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center;
  padding: .45rem .75rem; border: 1px solid var(--iwales-border); border-radius: 999px; background: #fff;
}
.iwales-archive-pagination .current { background: var(--iwales-dark); color: #fff; border-color: var(--iwales-dark); }
.iwales-archive-empty { padding: 1.6rem; border-radius: 20px; background: #f7f7f5; border: 1px solid var(--iwales-border); }

/* 404 */
.iwales-error-shell {
  width: min(calc(100% - (var(--iwales-gutter) * 2)), 900px) !important;
  max-width: 900px !important;
  margin-inline: auto !important;
  padding-block: clamp(4.5rem,8vw,7.5rem);
  text-align: center;
}
.iwales-error-code { margin: 0 0 .5rem !important; color: var(--iwales-red); font-size: .82rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.iwales-error-shell h1 { margin: .25rem auto .85rem; max-width: 720px; font-size: clamp(2.5rem,5vw,4.25rem); line-height: 1.03; }
.iwales-error-shell > p:not(.iwales-error-code) { max-width: 650px; margin-inline: auto; color: var(--iwales-muted); font-size: 1.08rem; }
.iwales-error-search { max-width: 650px; margin: 1.8rem auto 1.2rem !important; }
.iwales-error-actions { justify-content: center; }

@media (max-width: 980px) {
  .iwales-archive-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 680px) {
  .iwales-site-header .wp-block-navigation-item__content { min-height: 48px; }
  .iwales-archive-hero { padding-block: 3.1rem 3.7rem; border-radius: 0 0 24px 24px; }
  .iwales-archive-hero::after { width: 220px; height: 150px; right: -95px; opacity: .04; }
  .iwales-archive-grid { grid-template-columns: 1fr; }
  .iwales-archive-card-body { padding: 1.2rem; }
  .iwales-search-form .wp-block-search__inside-wrapper,
  .iwales-error-search .wp-block-search__inside-wrapper { border-radius: 20px; align-items: stretch; }
  .iwales-search-form .wp-block-search__button,
  .iwales-error-search .wp-block-search__button { min-width: 96px; }
  .iwales-error-shell { text-align: left; }
  .iwales-error-shell h1,
  .iwales-error-shell > p:not(.iwales-error-code) { margin-inline: 0; }
  .iwales-error-actions { justify-content: flex-start; }
}
