/* KATA WEB BUILDER — bloque de fotografía.
   Mismo contrato de encuadre que el motor original: object-fit cover con
   object-position distinto por pantalla. Donde el contenedor tiene la
   proporción del activo no hay recorte y las variables quedan inertes;
   donde difiere, deciden qué parte de la imagen se ve. */
.kwb-foto { margin: 0; }
.kwb-foto picture { display: block; position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: #0B0E13; }
.kwb-foto__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--p-m, 50% 50%); }
@media (min-width: 48rem) {
  .kwb-foto picture { aspect-ratio: 16 / 9; }
  .kwb-foto__img { object-position: var(--p-d, 50% 50%); }
}
.kwb-foto__pie { font-size: .85rem; color: var(--kws-ink-muted, #5C6577); padding-top: .5rem; }

/* Hero editorial del Builder: mensaje e imagen conectados, sin depender de
   los estilos privados de la portada KATA Web Systems. Sin scripts ni fuentes
   externas; solo afecta a las páginas con una imagen de cabecera disponible. */
.kwb-hero-editorial {
  padding-block: clamp(1.5rem, 4vw, 4rem);
  background: linear-gradient(125deg, var(--kws-paper, #fff) 35%, var(--kws-paper-alt, #f5f6f8));
}
.kwb-hero-editorial__grid { display: grid; gap: 1.5rem; align-items: center; }
.kwb-hero-editorial__copy, .kwb-hero-editorial__media { min-width: 0; }
.kwb-hero-editorial__copy { padding-block: .75rem; }
.kwb-hero-editorial .kws-eyebrow { max-width: 40em; line-height: 1.6; }
.kwb-hero-editorial h1 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.25rem, 4vw, 3.9rem);
  font-weight: 500; line-height: 1.06; letter-spacing: -.035em;
  text-wrap: balance; overflow-wrap: anywhere;
}
.kwb-hero-editorial .kws-hero__lede { font-size: 1.05rem; line-height: 1.75; }
.kwb-hero-editorial .kws-actions { margin-top: 1.5rem; }
.kwb-hero-editorial .kws-btn {
  min-height: 48px; max-width: 100%; text-align: left;
  border-radius: 1.5rem 1.5rem 1.5rem .3rem;
  transition: background-color .18s ease, border-color .18s ease;
}
.kwb-hero-editorial__media { position: relative; padding: .6rem .6rem 1.1rem; }
.kwb-hero-editorial__media::before {
  content: ''; position: absolute; inset: 8% 0 0 6%;
  border: 1px solid var(--kws-rule, #d9dde4);
  border-radius: .5rem 3rem 1rem 3rem; pointer-events: none;
}
.kwb-hero-editorial .kwb-foto { position: relative; }
.kwb-hero-editorial .kwb-foto picture {
  aspect-ratio: 3 / 2; border-radius: 2.5rem .5rem 2.5rem .5rem;
  box-shadow: 0 14px 32px rgba(25, 30, 40, .1);
}
@media (min-width: 64rem) {
  .kwb-hero-editorial__grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 2.5rem; }
  .kwb-hero-editorial__grid--text { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .kwb-hero-editorial .kws-btn { transition: none; }
}

/* Cabecera y pie propios del Builder: no proceden del motor original. */
.kwb-cab { border-bottom: 1px solid var(--kws-rule, #D9DDE4); background: var(--kws-paper, #fff); }
.kwb-cab__in { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1rem 0; flex-wrap: wrap; }
.kwb-cab__marca { font-weight: 700; text-decoration: none; color: var(--kws-ink, #191E28); font-size: 1.05rem; }
.kwb-cab__nav { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.kwb-cab__nav a { text-decoration: none; color: var(--kws-ink-soft, #3A4150); font-size: .95rem; }
.kwb-cab__nav a[aria-current="page"] { color: var(--kws-orange, #D6431B); font-weight: 600; }
.kwb-pie { border-top: 1px solid var(--kws-rule, #D9DDE4); padding: 2rem 0; margin-top: 3rem; background: var(--kws-paper-alt, #F5F6F8); }
.kwb-pie__estado { font-size: .82rem; color: var(--kws-ink-muted, #5C6577); }

/* Contenido editorial: alcance por página; conserva los tokens de cada marca. */
.kwb-editorial .kwb-cab__marca { font-family: Georgia, 'Times New Roman', serif; font-size: 1.25rem; font-weight: 500; }
.kwb-editorial .kwb-cab__nav { gap: .75rem 1.35rem; }
.kwb-editorial .kwb-cab__nav a { font-size: .9rem; line-height: 1.4; }
.kwb-editorial .kwb-hero-editorial__copy { max-width: 48rem; }
.kwb-editorial .kwb-hero-editorial__grid--text { max-width: 64rem; }
.kwb-editorial .kws-eyebrow { color: var(--kws-orange); letter-spacing: .13em; font-size: .75rem; }
.kwb-editorial-section { padding-block: clamp(2rem, 4vw, 3.75rem); }
.kwb-editorial-section + .kwb-editorial-section { border-top: 1px solid var(--kws-rule); }
.kwb-editorial-prose { max-width: 54rem; }
.kwb-editorial-prose h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 500; line-height: 1.2; margin: 0 0 1.2rem; text-wrap: balance; }
.kwb-editorial-prose p { max-width: 70ch; color: var(--kws-ink-soft); margin: 0 0 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.kwb-editorial-warning { margin-block: 1.5rem; padding: 1rem 1.25rem; border: 1px solid var(--kws-rule); border-left: 4px solid var(--kws-orange); background: var(--kws-paper-alt); }
.kwb-editorial-warning h2 { font-size: 1rem; margin: 0 0 .5rem; }
.kwb-editorial-warning ul { margin: 0; padding-left: 1.25rem; overflow-wrap: anywhere; }

/* Un conjunto de tres superficies: principal arriba y apoyos navegables abajo. */
.kwb-hero-mosaic .kwb-hero-editorial__media { padding: 0; }
.kwb-hero-mosaic .kwb-hero-editorial__media::before { display: none; }
.kwb-hero-mosaic__images { overflow: hidden; border-radius: 1.5rem; box-shadow: 0 14px 32px rgba(25, 30, 40, .1); background: var(--kws-paper-alt); }
.kwb-hero-mosaic .kwb-foto picture { border-radius: 0; box-shadow: none; }
.kwb-hero-mosaic__main .kwb-foto picture { aspect-ratio: 3 / 2; }
.kwb-hero-mosaic__supports { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; margin-top: .25rem; }
.kwb-hero-mosaic__supports > :only-child { grid-column: 1 / -1; }
.kwb-hero-tile { display: block; min-width: 0; position: relative; color: #fff; isolation: isolate; text-decoration: none; }
.kwb-hero-tile .kwb-foto picture { aspect-ratio: 4 / 3; }
.kwb-hero-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 15%, rgba(15, 24, 18, .88)); pointer-events: none; }
.kwb-hero-tile__caption { position: absolute; z-index: 1; left: 1rem; right: 1rem; bottom: 1rem; font-weight: 600; line-height: 1.3; font-size: clamp(.875rem, 1.4vw, 1.125rem); overflow-wrap: anywhere; }
.kwb-hero-tile:focus-visible { outline-offset: -5px; outline-color: #fff; }

/* Natural editorial is an explicit page theme. No legacy selector is replaced. */
.kwb-natural {
  --kwb-terra: #aa6448; --kwb-deep: #293f32; --kwb-cream: #f7f4ee;
  background-color: var(--kws-paper);
  background-image: radial-gradient(rgba(65, 77, 55, .09) .55px, transparent .7px);
  background-size: 6px 6px;
  font-family: 'Segoe UI', Arial, sans-serif;
}
.kwb-natural .kws-wrap { max-width: 80rem; padding-inline: clamp(1.15rem, 4vw, 3.25rem); }
.kwb-natural :is(h1, h2, h3) { text-wrap: balance; }
.kwb-natural :is(a, p, strong, h1, h2) { overflow-wrap: anywhere; }
.kwb-natural-header { position: relative; z-index: 5; background: var(--kws-paper); border-bottom: 1px solid var(--kws-rule); }
.kwb-natural-header__inner { min-height: 6rem; display: flex; gap: 2rem; align-items: center; justify-content: space-between; }
.kwb-natural-brand { display: inline-flex; align-items: center; gap: .85rem; min-width: 0; max-width: 24rem; font: 500 clamp(1.4rem, 2.5vw, 1.85rem)/1.1 Georgia, serif; color: var(--kws-ink); text-decoration: none; letter-spacing: -.055em; }
.kwb-natural-brand__mark { flex: 0 0 2.7rem; display: grid; place-items: center; width: 2.7rem; height: 3rem; border: 1px solid var(--kws-orange); border-radius: 50% 50% 38% 38%; color: var(--kws-orange); font-size: 1.5rem; letter-spacing: 0; }
.kwb-natural-nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .35rem 1.4rem; }
.kwb-natural-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--kws-ink-soft); font-size: .88rem; font-weight: 600; line-height: 1.3; text-decoration: none; text-underline-offset: .55rem; }
.kwb-natural-nav a:is(:hover, [aria-current='page']) { color: var(--kwb-terra); text-decoration: underline; text-decoration-thickness: 2px; }
.kwb-natural-menu { display: none; }
.kwb-natural .kwb-hero-editorial { position: relative; padding-block: clamp(2.5rem, 5vw, 5rem); background: transparent; border-bottom: 1px solid var(--kws-rule); }
.kwb-natural .kwb-hero-editorial__grid { gap: clamp(1.75rem, 4vw, 4rem); }
.kwb-natural .kwb-hero-editorial__copy { padding: 0; max-width: 36rem; }
.kwb-natural .kwb-hero-editorial .kws-eyebrow { display: flex; align-items: center; gap: .7rem; color: var(--kwb-terra); font-weight: 650; font-size: .7rem; letter-spacing: .15em; margin: 0 0 1.35rem; }
.kwb-natural .kwb-hero-editorial .kws-eyebrow::before { content: ''; width: 1.75rem; height: 1px; background: currentColor; flex: 0 0 auto; }
.kwb-natural .kwb-hero-editorial h1 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(2.65rem, 4.65vw, 4.85rem); line-height: 1.035; letter-spacing: -.055em; margin: 0 0 1.35rem; }
.kwb-natural .kwb-hero-editorial .kws-hero__lede { color: var(--kws-ink-soft); font-size: clamp(1rem, 1.25vw, 1.125rem); line-height: 1.75; max-width: 45ch; margin: 0; }
.kwb-natural .kwb-hero-editorial .kws-actions { margin-top: 1.75rem; }
.kwb-natural :is(.kws-btn, .kwb-natural-action) { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.4rem; min-height: 48px; max-width: 100%; padding: .85rem 1.3rem; border-radius: 2rem; background: var(--kws-orange); border: 1px solid var(--kws-orange); color: #fff; font-family: 'Segoe UI', Arial, sans-serif; font-weight: 600; font-size: .9rem; line-height: 1.35; text-decoration: none; box-shadow: none; }
.kwb-natural :is(.kws-btn, .kwb-natural-action):hover { background: var(--kws-orange-deep); border-color: var(--kws-orange-deep); }
.kwb-natural .kwb-hero-editorial__media { min-width: 0; }
.kwb-natural .kwb-hero-mosaic__images { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .78fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: .4rem; height: clamp(23rem, 37vw, 32rem); background: none; overflow: visible; border-radius: 0; box-shadow: none; }
.kwb-natural .kwb-hero-mosaic__main { grid-row: 1 / 3; min-height: 0; min-width: 0; }
.kwb-natural .kwb-hero-mosaic__supports { display: contents; }
.kwb-natural .kwb-hero-mosaic__images :is(.kwb-foto, picture) { height: 100%; aspect-ratio: auto; }
.kwb-natural .kwb-hero-mosaic__main .kwb-foto picture { border-radius: 6rem .65rem .65rem .65rem; }
.kwb-natural .kwb-hero-tile { min-height: 0; border-radius: .65rem; overflow: hidden; }
.kwb-natural .kwb-hero-tile:last-child { border-bottom-right-radius: 3rem; }
.kwb-natural .kwb-hero-tile__caption { inset: auto 1rem 1rem; font-size: clamp(.85rem, 1.05vw, 1rem); font-weight: 600; }
.kwb-natural .kwb-hero-tile::after { background: linear-gradient(transparent 32%, rgba(16, 30, 20, .88)); }
.kwb-natural .kwb-hero-editorial__grid--text { max-width: 64rem; margin-inline: auto; }
.kwb-natural .kwb-hero-editorial__grid--text .kwb-hero-editorial__copy { max-width: 57rem; }
.kwb-natural .kwb-hero-editorial__grid--text .kws-hero__lede { max-width: 68ch; }
.kwb-natural .kwb-editorial-section { padding-block: clamp(2.2rem, 4.5vw, 4.5rem); }
.kwb-natural .kwb-editorial-prose { max-width: 58rem; }
.kwb-natural .kwb-editorial-prose h2 { font-size: clamp(1.8rem, 3.4vw, 2.8rem); font-weight: 400; letter-spacing: -.035em; margin-bottom: 1.35rem; }
.kwb-natural .kwb-editorial-prose p { max-width: 68ch; font-size: 1.025rem; line-height: 1.9; }
.kwb-natural-block { padding-block: clamp(2.75rem, 6vw, 6rem); }
.kwb-natural-block--acento { background: var(--kws-paper-alt); }
.kwb-natural-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.kwb-natural-section-head > div { max-width: 52rem; min-width: 0; }
.kwb-natural-section-head h2 { margin: 0 0 .8rem; font: 400 clamp(2rem, 4vw, 3.4rem)/1.12 Georgia, serif; letter-spacing: -.045em; }
.kwb-natural-section-head p { max-width: 65ch; color: var(--kws-ink-soft); line-height: 1.8; margin: 0; }
.kwb-natural-section-head .kwb-natural-action { flex: 0 0 auto; max-width: 22rem; }
.kwb-natural-mosaic { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: minmax(clamp(10rem, 17vw, 14rem), auto); grid-auto-flow: row; gap: .4rem; border-radius: 2rem .6rem 2rem .6rem; overflow: hidden; }
.kwb-natural-tile { display: grid; align-items: end; position: relative; min-width: 0; min-height: 0; grid-column: span 2; color: #fff; background: var(--kws-orange-deep); isolation: isolate; text-decoration: none; }
.kwb-natural-tile:first-child { grid-column: span 4; grid-row: span 2; }
.kwb-natural-tile:nth-child(4), .kwb-natural-tile:nth-child(5) { grid-column: span 3; }
.kwb-natural-mosaic[data-count='4'] .kwb-natural-tile:last-child { grid-column: span 6; }
.kwb-natural-mosaic[data-count='6'] .kwb-natural-tile:nth-child(n+4) { grid-column: span 2; }
.kwb-natural-mosaic[data-count='7'] .kwb-natural-tile:nth-child(n+6) { grid-column: span 3; }
.kwb-natural-tile :is(.kwb-foto, picture) { height: 100%; aspect-ratio: auto; }
.kwb-natural-tile > .kwb-foto { position: absolute; inset: 0; }
.kwb-natural-tile::after { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(180deg, transparent 22%, rgba(12, 27, 17, .88)); }
.kwb-natural-tile__copy { position: relative; margin: clamp(1rem, 2.8vw, 2.25rem); padding-right: 1.2rem; z-index: 1; display: block; }
.kwb-natural-tile__copy strong { display: block; font: 400 clamp(1.25rem, 2.4vw, 2rem)/1.13 Georgia, serif; letter-spacing: -.02em; }
.kwb-natural-tile:first-child .kwb-natural-tile__copy strong { font-size: clamp(1.75rem, 3.8vw, 3rem); }
.kwb-natural-tile__copy > span { display: block; margin-top: .65rem; font-size: .875rem; line-height: 1.55; }
.kwb-natural-tile__arrow { position: absolute; right: 1.1rem; bottom: 1.05rem; z-index: 1; width: 2.1rem; height: 2.1rem; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .65); border-radius: 50%; font-size: 1.25rem; }
.kwb-natural-tile__missing { display: block; padding: 1rem; font-size: .8rem; }
.kwb-natural-tile .kwb-foto__img { transition: transform .3s ease; }
.kwb-natural-tile:hover .kwb-foto__img { transform: scale(1.025); }
.kwb-natural-tile:focus-visible { z-index: 2; outline: 3px solid #fff; outline-offset: -5px; }
.kwb-natural-band { position: relative; padding-block: clamp(2.75rem, 6vw, 6rem); background: var(--kws-paper-alt); }
.kwb-natural-band__inner { display: grid; gap: 2.5rem; align-items: center; }
.kwb-natural-band__copy { max-width: 57rem; min-width: 0; }
.kwb-natural-band h2 { max-width: 25ch; margin: 0 0 1.1rem; font: 400 clamp(2.1rem, 4.3vw, 3.6rem)/1.12 Georgia, serif; letter-spacing: -.045em; }
.kwb-natural-band p { max-width: 66ch; margin: 0 0 1.5rem; font-size: 1.03rem; line-height: 1.8; }
.kwb-natural-band--acento { color: var(--kwb-cream); background: var(--kwb-deep); }
.kwb-natural-band--acento p { color: #e0e5db; }
.kwb-natural-band--acento .kwb-natural-action { background: var(--kwb-cream); border-color: var(--kwb-cream); color: var(--kwb-deep); }
.kwb-natural-band--acento .kwb-natural-action:hover { background: #e6ddcc; border-color: #e6ddcc; }
.kwb-natural-band__photo { min-width: 0; }
.kwb-natural-band__photo picture { aspect-ratio: 5 / 4; border-radius: 5rem 1rem 5rem 1rem; }
.kwb-natural-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 3rem; }
.kwb-natural-link { display: flex; align-items: flex-start; gap: 1.2rem; min-width: 0; padding-block: 1.65rem; color: var(--kws-ink); text-decoration: none; border-top: 1px solid var(--kws-rule); }
.kwb-natural-link__number { flex: 0 0 auto; margin-top: .3rem; color: var(--kwb-terra); font-size: .75rem; letter-spacing: .08em; }
.kwb-natural-link__copy { display: block; min-width: 0; flex: 1; }
.kwb-natural-link__copy strong { display: block; font: 400 clamp(1.3rem, 2.4vw, 1.9rem)/1.25 Georgia, serif; }
.kwb-natural-link__copy > span { display: block; margin-top: .6rem; font-size: .92rem; color: var(--kws-ink-soft); line-height: 1.7; }
.kwb-natural-link__arrow { margin-top: .2rem; color: var(--kwb-terra); font-size: 1.4rem; }
.kwb-natural-link:hover strong { text-decoration: underline; text-underline-offset: .25rem; text-decoration-thickness: 1px; }
.kwb-natural-footer { background: var(--kwb-deep); color: var(--kwb-cream); padding-block: clamp(3rem, 6vw, 5rem) 1.5rem; }
.kwb-natural-footer__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 3rem; }
.kwb-natural-footer__brand { font: 400 clamp(1.7rem, 3vw, 2.5rem)/1.2 Georgia, serif; letter-spacing: -.04em; color: inherit; text-decoration: none; }
.kwb-natural-footer__lede { max-width: 36ch; font-size: .95rem; line-height: 1.8; color: #d1dacc; }
.kwb-natural-footer h2 { margin: .25rem 0 1.1rem; color: #d1dacc; font: 600 .75rem/1.4 'Segoe UI', Arial, sans-serif; text-transform: uppercase; letter-spacing: .12em; }
.kwb-natural-footer__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .15rem 1.75rem; }
.kwb-natural-footer__links a { display: flex; align-items: center; min-height: 44px; width: fit-content; color: inherit; font-size: .94rem; text-decoration: none; line-height: 1.5; }
.kwb-natural-footer__links a:hover { text-decoration: underline; text-underline-offset: .3rem; }
.kwb-natural-footer__note { margin: 2.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid #637160; font-size: .82rem; line-height: 1.75; max-width: 95ch; color: #d1dacc; }
.kwb-natural-footer__bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .75rem; padding-top: 2rem; margin-top: 2rem; border-top: 1px solid #637160; font-size: .72rem; color: #d1dacc; }
.kwb-natural-footer :focus-visible { outline-color: var(--kwb-cream); }
@media (min-width: 64rem) {
  .kwb-natural .kwb-hero-editorial__grid:not(.kwb-hero-editorial__grid--text) { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); }
  .kwb-natural-band__inner--photo { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 4rem; }
}
@media (max-width: 63.99rem) {
  .kwb-natural-header__inner { min-height: 5rem; gap: 1rem; }
  .kwb-natural-nav--desktop { display: none; }
  .kwb-natural-menu { display: block; flex: 0 0 auto; }
  .kwb-natural-menu summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: .75rem; min-height: 44px; padding: .4rem .5rem; font-size: .85rem; color: var(--kws-ink); font-weight: 600; }
  .kwb-natural-menu summary::-webkit-details-marker { display: none; }
  .kwb-natural-menu__icon { width: 1.15rem; height: .55rem; border-block: 1px solid currentColor; }
  .kwb-natural-menu[open] .kwb-natural-nav { display: flex; position: absolute; top: 100%; left: 0; right: 0; padding: 1rem clamp(1.15rem, 4vw, 3.25rem); background: var(--kws-paper); border-block: 1px solid var(--kws-rule); box-shadow: 0 .8rem 1rem rgba(25, 40, 30, .08); justify-content: flex-start; }
  .kwb-natural .kwb-hero-editorial__copy { max-width: 48rem; }
  .kwb-natural .kwb-hero-editorial .kws-hero__lede { max-width: 65ch; }
  .kwb-natural .kwb-hero-mosaic__images { height: clamp(22rem, 60vw, 32rem); }
}
@media (max-width: 47.99rem) {
  .kwb-natural-brand { font-size: 1.45rem; gap: .55rem; max-width: calc(100% - 5.75rem); }
  .kwb-natural-brand__mark { flex-basis: 2.15rem; width: 2.15rem; height: 2.5rem; font-size: 1.2rem; }
  .kwb-natural .kwb-hero-editorial { padding-block: 2rem 2.5rem; }
  .kwb-natural .kwb-hero-editorial h1 { font-size: clamp(2.6rem, 8.6vw, 4rem); }
  .kwb-natural .kwb-hero-mosaic__images { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; height: auto; gap: .35rem; }
  .kwb-natural .kwb-hero-mosaic__main { grid-column: 1 / -1; grid-row: auto; height: clamp(14rem, 60vw, 23rem); }
  .kwb-natural .kwb-hero-mosaic__main .kwb-foto picture { border-radius: 4rem .5rem .5rem .5rem; }
  .kwb-natural .kwb-hero-tile { height: clamp(9rem, 35vw, 13rem); }
  .kwb-natural .kwb-hero-tile__caption { left: .8rem; right: .8rem; bottom: .85rem; font-size: .9rem; }
  .kwb-natural-section-head { display: block; }
  .kwb-natural-section-head .kwb-natural-action { margin-top: 1.25rem; max-width: 100%; }
  .kwb-natural-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(12rem, auto); gap: .3rem; border-radius: 1.5rem .5rem; }
  .kwb-natural-mosaic .kwb-natural-tile { grid-column: span 1 !important; grid-row: span 1; min-height: 12rem; }
  .kwb-natural-mosaic .kwb-natural-tile:first-child { grid-column: 1 / -1 !important; min-height: 19rem; }
  .kwb-natural-mosaic[data-count='4'] .kwb-natural-tile:last-child, .kwb-natural-mosaic[data-count='6'] .kwb-natural-tile:last-child, .kwb-natural-mosaic[data-count='8'] .kwb-natural-tile:last-child { grid-column: 1 / -1 !important; }
  .kwb-natural-tile__copy { margin: 1rem; padding-right: 0; padding-bottom: 1.2rem; }
  .kwb-natural-tile__copy strong { padding-right: 1.25rem; font-size: 1.4rem; }
  .kwb-natural-tile__copy > span { font-size: .82rem; line-height: 1.5; }
  .kwb-natural-tile__arrow { width: 1.6rem; height: 1.6rem; right: .55rem; bottom: .55rem; font-size: 1rem; }
  .kwb-natural-links { grid-template-columns: 1fr; }
  .kwb-natural-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
  .kwb-natural-footer__links { column-gap: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .kwb-natural-tile .kwb-foto__img { transition: none; }
  .kwb-natural-tile:hover .kwb-foto__img { transform: none; }
}

/* Luz y textura — a warm paper surface, window light and botanical linework. */
.kwb-natural--artesanal {
  --kwb-terra: #7d4934;
  --kwb-paper-fibres: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'%3E%3Cg fill='none' stroke='%23b2a58b' stroke-width='.65' opacity='.22'%3E%3Cpath d='M12 28q7-2 17 0m91 33 15-1m91-35 8 1M42 146l13-2m156-34q7 2 16 0m65 67-15 1M19 267l15 1m95-34 17-2m76 47 9 1M89 92l-1 6m89 76 1 9m-81 109-1 8m159-65 1 6'/%3E%3C/g%3E%3C/svg%3E");
  --kwb-botanical: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 380'%3E%3Cg fill='none' stroke='%23829175' stroke-width='1.35' stroke-linecap='round'%3E%3Cpath d='M9 379C35 319 93 280 107 206S114 85 169 11M65 295C35 285 20 262 15 234c27 10 43 29 50 61ZM89 249c30-2 58-20 75-53-35 6-58 24-75 53ZM107 197c-29-12-45-40-47-68 27 17 43 39 47 68ZM119 141c31-1 63-20 81-53-36 5-63 23-81 53ZM139 75c-17-17-22-38-18-62 18 18 22 38 18 62Z'/%3E%3C/g%3E%3C/svg%3E");
  background-color: #f7f4ee;
  background-image: var(--kwb-paper-fibres);
  background-size: 320px 320px;
}
.kwb-natural--artesanal .kwb-natural-header {
  background-color: #faf8f2;
  background-image: var(--kwb-paper-fibres);
  border-bottom-color: #d4d5c6;
}
.kwb-natural--artesanal .kwb-hero-editorial {
  isolation: isolate; overflow: hidden;
  background-image: linear-gradient(113deg, transparent 10%, rgba(255,253,247,.9) 30%, transparent 30.3%, transparent 45%, rgba(232,220,195,.3) 45.3%, transparent 64%), var(--kwb-paper-fibres);
  border-bottom-color: #d4d5c6;
}
.kwb-natural--artesanal .kwb-hero-editorial::before {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  width: 50%; height: 120%; right: -4%; top: 1.2rem;
  border-radius: 22rem 0 0 1rem;
  background-color: #dce1d1;
  background-image: linear-gradient(132deg, rgba(255,255,242,.6), transparent 44%, rgba(159,173,146,.2)), var(--kwb-paper-fibres);
  box-shadow: inset 1.5rem .3rem 3rem rgba(250,248,235,.5);
}
.kwb-natural--artesanal .kwb-hero-editorial::after {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  width: 50%; height: 110%; right: -1%; top: 3.4rem;
  border: 1px solid rgba(132,145,116,.5); border-radius: 22rem 0 0 1rem;
}
.kwb-natural--artesanal .kwb-hero-editorial__grid { position: relative; }
.kwb-natural--artesanal .kwb-hero-editorial__media::before { display: none; }
.kwb-natural--artesanal .kwb-natural-block[data-kwb-block='mosaico'] {
  background-color: #eee9df;
  background-image: var(--kwb-botanical), linear-gradient(180deg, #f7f4ee, transparent 11rem), var(--kwb-paper-fibres);
  background-repeat: no-repeat, no-repeat, repeat;
  background-size: clamp(9rem, 15vw, 15rem) auto, 100% 12rem, 320px 320px;
  background-position: right -3rem top -4rem, top, top;
  border-bottom: 1px solid #d8d4c5;
}
.kwb-natural--artesanal .kwb-natural-mosaic {
  box-shadow: 0 1.6rem 2.8rem -1.8rem rgba(58,57,36,.42);
}
.kwb-natural--artesanal .kwb-editorial-section {
  background-color: #faf8f2;
  background-image: var(--kwb-paper-fibres);
}
.kwb-natural--artesanal .kwb-editorial-section + .kwb-editorial-section { border-top: 0; padding-top: 1rem; }
.kwb-natural--artesanal .kwb-editorial-prose { position: relative; }
.kwb-natural--artesanal .kwb-editorial-prose::before {
  content: ''; position: absolute; left: 0; top: .35rem; width: 2px; height: 4.5rem;
  background: linear-gradient(#a59d7b, transparent); pointer-events: none;
}
.kwb-natural--artesanal .kwb-natural-block[data-kwb-block='enlaces'] {
  background-color: #e9edde;
  background-image: radial-gradient(ellipse at 9% 100%, rgba(201,211,184,.58), transparent 64%), var(--kwb-paper-fibres);
  border-top: 1px solid #d3dac8;
}
.kwb-natural--artesanal .kwb-natural-link { border-top-color: #bfc9b1; }
.kwb-natural--artesanal .kwb-natural-band--suave {
  background-image: var(--kwb-paper-fibres), linear-gradient(110deg, #ede6d8, #f5f1e7);
}
@media (min-width: 80rem) {
  .kwb-natural--artesanal .kwb-editorial-section:has(+ .kwb-natural-band),
  .kwb-natural--artesanal .kwb-editorial-section:last-child {
    background-image: var(--kwb-botanical), var(--kwb-paper-fibres);
    background-repeat: no-repeat, repeat;
    background-size: 10rem auto, 320px 320px;
    background-position: left -2.5rem center, top;
  }
}
@media (max-width: 63.99rem) {
  .kwb-natural--artesanal .kwb-hero-editorial::before {
    width: 79%; height: 57%; top: auto; bottom: -2rem; right: -5%; border-top-left-radius: 14rem;
  }
  .kwb-natural--artesanal .kwb-hero-editorial::after {
    width: 82%; height: 55%; top: auto; bottom: -3rem; right: -1%; border-top-left-radius: 14rem;
  }
  .kwb-natural--artesanal .kwb-hero-editorial:has(.kwb-hero-editorial__grid--text)::before,
  .kwb-natural--artesanal .kwb-hero-editorial:has(.kwb-hero-editorial__grid--text)::after { width: 28%; opacity: .35; }
}
@media (max-width: 47.99rem) {
  .kwb-natural--artesanal .kwb-hero-editorial { background-image: linear-gradient(128deg, rgba(255,253,247,.7), transparent 35%), var(--kwb-paper-fibres); }
  .kwb-natural--artesanal .kwb-natural-block[data-kwb-block='mosaico'] {
    background-size: 7rem auto, 100% 9rem, 320px 320px;
    background-position: right -5.6rem top -2.8rem, top, top;
  }
  .kwb-natural--artesanal .kwb-natural-section-head { padding-right: 1.25rem; }
  .kwb-natural--artesanal .kwb-editorial-prose::before { left: .4rem; width: 1px; height: 3rem; }
}
