body.web-resolvia:has(> main#contenido > .wr-hero) { background: var(--wr-color-paper) url("../../images/shared/textura-papel-marfil.png") repeat 0 0 / 512px 320px; }
body.web-resolvia:has(> main#contenido > .wr-hero) > .wr-header,
body.web-resolvia:has(> main#contenido > .wr-hero) > .wr-footer,
body.web-resolvia:has(> main#contenido > .wr-hero) > main#contenido > .wr-return { background: transparent; }
.wr-hero { overflow: hidden; }
.wr-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(24rem, 1.05fr); min-height: 36rem; align-items: stretch; }
.wr-hero__copy { align-self: center; padding: 3.25rem 1rem 1.5rem 3rem; }
.wr-hero h1 { width: 100%; max-width: 21ch; margin: 0; font-size: clamp(1.65rem, 3.8vw, 3rem); font-weight: 400; line-height: 0.96; }
.wr-hero h1 strong { display: block; color: var(--wr-color-gold); font-weight: 400; }
body.web-resolvia .wr-hero a.wr-button { color: var(--wr-color-white); }
.wr-hero__copy > p { max-width: 27rem; margin: 0 0 1.75rem; font-size: 1.1rem; line-height: 1.4; }
.wr-hero__art { min-height: 0; margin: 0; }
.wr-hero__art img { width: 100%; height: auto; object-fit: contain; object-position: center top; }
.wr-hero-principles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: min(31rem, 100%); margin-top: 3rem; }
.wr-hero-principles article { min-width: 0; padding-inline: 0.45rem; text-align: center; border-right: 1px solid var(--wr-color-line); }
.wr-hero-principles article:last-child { border-right: 0; }
body.web-resolvia .wr-hero-principles img { width: 64px; height: 64px; margin: 0 auto 0.35rem; object-fit: contain; object-position: center; }
.wr-hero-principles p { margin: 0; font-size: 0.82rem; line-height: 1.15; }
.wr-positioning { padding: 1.25rem; border-block: 1px solid var(--wr-color-line); text-align: center; }
.wr-positioning p { margin: 0; }
.wr-positioning p:first-child { font-size: 1.7rem; }
.wr-positioning p:last-child { font-size: 0.95rem; }
.wr-essentials { padding-block: 2rem 1.5rem; }
.wr-section-heading { text-align: center; }
.wr-section-heading h2 { margin: 0; font-size: 2.65rem; font-weight: 400; line-height: 1; }
.wr-section-heading p { margin: 0; font-size: 1.05rem; }
.wr-principles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 2.5rem; }
.wr-principles article { min-width: 0; padding: 1rem 1.5rem; text-align: center; border-right: 1px solid var(--wr-color-line); }
.wr-principles article:last-child { border-right: 0; }
body.web-resolvia .wr-principles img { width: 110px; height: 105px; margin-inline: auto; object-fit: contain; object-position: center; }
body.web-resolvia .wr-principles article:first-child img { width: 100px; }
.wr-principles h3 { margin: 0.5rem 0; font-size: 1.35rem; font-weight: 400; }
.wr-principles p { margin: 0; font-family: var(--wr-font-ui); font-size: 0.9rem; }
.wr-return { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: center; gap: 1.5rem; overflow: hidden; margin-bottom: 1.5rem; padding: 0.5rem 1.5rem 0.5rem 0.5rem; border: 1px solid var(--wr-color-gold); border-radius: 0.75rem; background: var(--wr-color-paper); }
.wr-return__art { min-width: 0; margin: 0; }
.wr-return__art img { width: 100%; height: auto; object-fit: contain; }
.wr-return__copy { min-width: 0; padding-block: 1rem; text-align: left; }
.wr-return h2 { margin: 0; font-size: clamp(1.6rem, 2.5vw, 2.1rem); font-weight: 400; line-height: 1.15; }
.wr-return .wr-ornament { margin: 0.9rem 0 0.5rem; }
.wr-return p { margin: 0; font-family: var(--wr-font-display); font-size: 1rem; line-height: 1.45; overflow-wrap: break-word; }
.wr-return p + p { margin-top: 0.55rem; }
@media (max-width: 52rem) {
    .wr-hero__inner { grid-template-columns: 1fr; }
    .wr-hero__copy { padding: 3rem 2rem; text-align: center; }
    .wr-hero h1, .wr-hero__copy > p { margin-inline: auto; }
    .wr-hero .wr-ornament { margin-inline: auto; }
    .wr-hero__art { min-height: 28rem; }
    .wr-hero-principles { margin-inline: auto; }
    .wr-principles { grid-template-columns: repeat(2, 1fr); }
    .wr-principles article:nth-child(2) { border-right: 0; }
    .wr-principles article:nth-child(-n+2) { border-bottom: 1px solid var(--wr-color-line); }
    .wr-return { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 1rem; }
    .wr-return__art { width: min(100%, 30rem); margin-inline: auto; }
}
@media (max-width: 36rem) {
    .wr-hero__copy { padding: 2.5rem 0.5rem; }
    .wr-hero h1 { font-size: clamp(1.5rem, 7vw, 2.8rem); }
    .wr-hero__art { min-height: 24rem; }
    .wr-hero-principles { grid-template-columns: repeat(2, 1fr); gap: 1.2rem 0; }
    .wr-hero-principles article:nth-child(2) { border-right: 0; }
    .wr-principles { grid-template-columns: 1fr; }
    .wr-principles article { border-right: 0; border-bottom: 1px solid var(--wr-color-line); }
    .wr-principles article:last-child { border-bottom: 0; }
}

/* Home: misma estrella tipográfica y dorado del footer canónico. */
body.web-resolvia:has(> main#contenido > .wr-hero) > main#contenido .wr-ornament::before {
    content: "✦";
    width: 1rem;
    height: 1.3rem;
    margin-top: -0.65rem;
    color: var(--wr-color-gold);
    background: transparent;
    transform: none;
    font: 400 1rem/1.3 var(--wr-font-display);
    text-align: center;
}

/* Separación de la estrella y la línea, sin ocultar la textura del fondo. */
body.web-resolvia:has(> main#contenido > .wr-hero) > main#contenido .wr-ornament {
    position: relative;
    border-top-color: transparent;
    background: linear-gradient(to right, transparent 1.3rem, var(--wr-color-gold) 1.3rem) left top / 100% 1px no-repeat;
    background-origin: border-box;
}
body.web-resolvia:has(> main#contenido > .wr-hero) > main#contenido .wr-ornament::before {
    position: absolute;
    top: -0.65rem;
    left: -0.05rem;
    margin: 0;
}
body.web-resolvia:has(> main#contenido > .wr-hero) > main#contenido .wr-ornament--center {
    background-image: linear-gradient(to right, var(--wr-color-gold) calc(50% - .85rem), transparent calc(50% - .85rem), transparent calc(50% + .85rem), var(--wr-color-gold) calc(50% + .85rem));
}
body.web-resolvia:has(> main#contenido > .wr-hero) > main#contenido .wr-ornament--center::before {
    left: calc(50% - .5rem);
}
