.rse-page {
    --rse-green: #2b663e;
    --rse-dark: #233b2a;
    --rse-muted: #647069;
    --rse-line: #dfe8e1;
    color: var(--rse-dark);
    background: #fbfdfb;
    padding-top: 60px;
}

.rse-page *, .rse-page *::before, .rse-page *::after { box-sizing: border-box; }
.rse-page :is(a, button, select):focus-visible { outline: 3px solid #d11583; outline-offset: 4px; }
.rse-page .rse-section { scroll-margin-top: 110px; }
.rse-topbar { position: relative; z-index: 3; border-top: 4px solid var(--rse-green); border-bottom: 1px solid var(--rse-line); background: #fff; }
.rse-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1600px; min-height: 78px; margin-inline: auto; padding-left: clamp(24px, 12vw, 188px); padding-right: clamp(24px, 5.8vw, 90px); }
.rse-topbar__logo { display: inline-flex; flex: 0 0 auto; align-items: center; text-decoration: none; }
.rse-topbar__logo img { display: block; width: 219px; max-width: 100%; height: auto; }
.rse-topbar__links { display: flex; align-items: center; justify-content: flex-end; gap: clamp(17px, 2vw, 32px); min-width: 0; }
.rse-topbar__links a { color: #39483e; font-size: 14px; font-weight: 500; line-height: 1.3; text-decoration: none; white-space: nowrap; }
.rse-topbar__links a:hover, .rse-topbar__links a[aria-current="location"] { color: var(--rse-green); }
.rse-topbar__links .rse-topbar__highlight { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 19px; border: 1px solid var(--rse-green); border-radius: 999px; color: var(--rse-green); background: #fff; }
.rse-topbar__links .rse-topbar__highlight:hover, .rse-topbar__links .rse-topbar__highlight[aria-current="location"] { color: #fff; background: var(--rse-green); }
.rse-topbar__toggle { display: none; }
.rse-layout { display: grid; grid-template-columns: 188px minmax(0, 1fr); max-width: 1600px; margin-inline: auto; }
.rse-layout__sidebar { border-right: 1px solid var(--rse-line); min-width: 0; background: #fff; }
.rse-layout__main { min-width: 0; overflow: clip; }
.rse-sidebar { position: sticky; top: 104px; padding: 32px 16px 30px 20px; }
.rse-sidebar__brand { display: block; color: var(--rse-green); font-size: 15px; font-weight: 800; line-height: 1.3; text-decoration: none; }
.rse-sidebar__menu { list-style: none; margin: 28px 0 0; padding: 0; }
.rse-sidebar__menu li { margin-bottom: 16px; }
.rse-sidebar__menu a { display: block; padding: 5px 0; color: #424f47; font-size: 14px; line-height: 1.45; text-decoration: none; }
.rse-sidebar a:hover, .rse-sidebar a[aria-current="location"] { color: var(--rse-green); font-weight: 700; }
.rse-page :is(h1, h2, h3, p) { margin-top: 0; }
.rse-page h1, .rse-page h2, .rse-page h3 { color: inherit; font-family: inherit; font-weight: 750; }
.rse-page p { color: inherit; line-height: 1.55; }
.rse-eyebrow { margin-bottom: 18px; color: var(--rse-green) !important; font-size: 11px; font-weight: 800; letter-spacing: .16em; line-height: 1.35; text-transform: uppercase; }
.rse-eyebrow--light { color: #e5f5e5 !important; }
.rse-button { display: inline-flex; align-items: center; justify-content: center; min-height: 39px; padding: 9px 20px; border-radius: 999px; font-size: 13px; font-weight: 750; line-height: 1.3; text-align: center; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.rse-button--light { color: #245d35; background: #fff; }
.rse-button--light:hover { color: #174a28; background: #e7f2e8; }
.rse-button--outline { border: 1px solid var(--rse-green); color: var(--rse-green); background: transparent; white-space: nowrap; }
.rse-button--outline:hover { color: #fff; background: var(--rse-green); }
.rse-button--unavailable { color: #68726b; background: #ecf1ed; cursor: default; }

.rse-hero { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr); align-items: center; gap: clamp(30px, 5vw, 86px); min-height: 490px; padding: 58px clamp(34px, 5.8vw, 90px); color: #fff; background: linear-gradient(108deg, #28613b 0%, #2e7141 58%, #419848 100%); }
.rse-hero__copy { max-width: 530px; }
.rse-hero .rse-eyebrow { border-left: 3px solid #db298b; padding-left: 11px; }
.rse-hero h1 { margin-bottom: 24px; color: #fff; font-size: clamp(34px, 4vw, 61px); letter-spacing: -.045em; line-height: 1.08; }
.rse-hero__copy > p:not(.rse-eyebrow) { max-width: 360px; margin-bottom: 24px; font-size: 16px; }
.rse-hero__visual { position: relative; min-width: 0; }
.rse-hero__visual > img { display: block; width: 100%; height: clamp(245px, 26vw, 345px); object-fit: cover; object-position: center; border-radius: 65px 8px 65px 8px; }
.rse-hero__note { position: absolute; left: -20px; bottom: -20px; display: flex; flex-direction: column; padding: 16px 19px; border-radius: 16px 4px 4px 16px; color: #213b2c; background: #81d488; box-shadow: 0 9px 20px #173f2c30; font-size: 12px; }
.rse-hero__note strong { font-size: 14px; }

.rse-model { display: grid; grid-template-columns: minmax(125px, .65fr) minmax(0, 1.5fr) minmax(175px, .7fr); gap: 38px; align-items: center; padding: 42px clamp(34px, 5.8vw, 90px); border-bottom: 1px solid var(--rse-line); }
.rse-model .rse-eyebrow { max-width: 150px; margin: 0; }
.rse-model > p:not(.rse-model__statement) { margin: 0; font-size: 16px; }
.rse-model__statement { margin: 0; padding-left: 23px; border-left: 1px solid var(--rse-line); font-size: 18px; font-weight: 750; line-height: 1.25 !important; }
.rse-commitments, .rse-memory, .rse-history, .rse-documents { padding-inline: clamp(34px, 5.8vw, 90px); }
.rse-commitments { padding-block: 78px 86px; }
.rse-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 28px; }
.rse-section-heading h2 { margin-bottom: 0; font-size: clamp(28px, 3vw, 44px); letter-spacing: -.035em; line-height: 1.1; }
.rse-section-heading > p { max-width: 270px; margin: 0; color: var(--rse-muted); font-size: 14px; text-align:justify; }
.rse-commitment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.rse-commitment-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--rse-line); border-radius: 8px; background: #fff; }
.rse-commitment-card > img { display: block; width: 100%; height: clamp(165px, 16vw, 235px); object-fit: cover; }
.rse-commitment-card__body { display: flex; flex: 1; flex-direction: column; padding: 21px 20px 20px; }
.rse-commitment-card__number { margin-bottom: 12px; color: var(--rse-green); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rse-commitment-card h3 { min-height: 2.25em; margin-bottom: 12px; font-size: 20px; letter-spacing: -.025em; line-height: 1.15; }
.rse-commitment-card p { min-height: 6.2em; margin-bottom: 22px; color: var(--rse-muted); font-size: 14px; }
.rse-commitment-card ul { margin: auto 0 0; padding: 17px 0 0; border-top: 1px solid var(--rse-line); list-style: none; }
.rse-commitment-card li { position: relative; padding: 5px 0 5px 16px; color: #435148; font-size: 13px; }
.rse-commitment-card li::before { position: absolute; left: 0; color: var(--rse-green); content: "+"; font-weight: 800; }

.rse-approach { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: clamp(45px, 7vw, 110px); padding: 68px clamp(34px, 5.8vw, 90px); background: #f0f7f2; }
.rse-approach h2 { max-width: 330px; margin-bottom: 18px; font-size: clamp(29px, 3.2vw, 45px); letter-spacing: -.035em; line-height: 1.1; }
.rse-approach > div > p:last-child { max-width: 370px; color: var(--rse-muted); font-size: 15px; }
.rse-approach__steps { margin: 0; padding: 0; list-style: none; }
.rse-approach__steps li { display: grid; grid-template-columns: 35px minmax(0, 1fr); gap: 15px; padding: 17px 0; border-top: 1px solid #d7e5da; }
.rse-approach__steps li:last-child { border-bottom: 1px solid #d7e5da; }
.rse-approach__steps li > span { padding-top: 4px; color: var(--rse-green); font-size: 12px; font-weight: 700; }
.rse-approach__steps h3 { margin-bottom: 4px; font-size: 17px; }
.rse-approach__steps p { margin: 0; color: var(--rse-muted); font-size: 13px; }

.rse-memory { padding-top: 76px; }
.rse-memory__feature { display: grid; grid-template-columns: .93fr 1.07fr; min-height: 310px; overflow: hidden; border: 1px solid var(--rse-line); border-radius: 8px; }
.rse-memory__cover-area { display: flex; align-items: center; justify-content: center; overflow: hidden; background: #f0f6f2; }
.rse-memory__cover { display: flex; flex-direction: column; width: 190px; min-height: 250px; padding: 21px 17px; border-bottom: 6px solid #45a956; background: #fff; box-shadow: 12px 12px 0 #a7aaa7, 0 13px 25px #1b3c2428; transform: rotate(-7deg); }
.rse-memory__cover img { width: 125px; height: 32px; object-fit: contain; object-position: left center; }
.rse-memory__cover span { margin-top: 25px; color: var(--rse-green); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.rse-memory__cover strong { margin-top: 9px; color: #39974a; font-size: 19px; line-height: 1.12; }
.rse-memory__cover b { margin-top: 18px; color: #39974a; font-size: 37px; }
.rse-memory__feature-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 38px clamp(30px, 4vw, 58px); color: #fff; background: var(--rse-green); }
.rse-memory__feature-copy h3 { margin-bottom: 12px; color: #fff; font-size: clamp(24px, 2.5vw, 34px); letter-spacing: -.03em; line-height: 1.12; }
.rse-memory__feature-copy > p:not(.rse-eyebrow) { max-width: 390px; margin-bottom: 24px; font-size: 14px; }
.rse-revista-trigger { border: 0; cursor: pointer; font-family: inherit; }
.rse-revista-modal { width: min(1100px, calc(100vw - 32px)); height: min(780px, 90vh); height: min(780px, 90dvh); max-width: none; max-height: none; margin: auto; padding: 0; overflow: hidden; border: 0; border-radius: 14px; color: var(--rse-dark); background: #fff; box-shadow: 0 18px 55px #10291855; }
.rse-revista-modal[open] { display: flex; flex-direction: column; }
.rse-revista-modal::backdrop { background: #102918a8; }
.rse-revista-modal__header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; padding: 12px 20px 12px 26px; border-bottom: 1px solid var(--rse-line); }
.rse-revista-modal__header h2 { margin: 0; color: var(--rse-dark); font-size: clamp(18px, 2vw, 24px); line-height: 1.2; }
.rse-revista-modal__close { display: inline-flex; flex: 0 0 40px; align-items: center; justify-content: center; width: 40px; min-height: 40px; padding: 0; border: 1px solid var(--rse-line); border-radius: 50%; color: var(--rse-green); background: #fff; font-family: inherit; font-size: 27px; line-height: 1; cursor: pointer; }
.rse-revista-modal__close:hover { background: #e7f2e8; }
.rse-revista-modal__content { flex: 1 1 auto; min-height: 0; }
.rse-revista-modal__iframe { display: block; width: 100%; height: 100%; border: 0; }

.rse-history { padding-top: 28px; }
.rse-history__filter { display: flex; align-items: center; gap: 14px; padding-block: 20px 22px; border-top: 1px solid var(--rse-line); }
.rse-history__filter h2 { margin: 0 auto 0 0; font-size: 21px; }
.rse-history__filter label { font-size: 13px; font-weight: 700; }
.rse-history__filter select { min-width: 145px; padding: 9px 32px 9px 12px; border: 1px solid var(--rse-green); border-radius: 7px; color: var(--rse-green); background: #fff; font-size: 13px; }
.rse-history__list { overflow: hidden; border: 1px solid var(--rse-line); border-radius: 8px; background: #fff; }
.rse-history__bar { display: flex; justify-content: space-between; gap: 15px; padding: 14px 20px; color: #fff; background: var(--rse-green); font-size: 12px; font-weight: 700; }
.rse-history__entry { display: grid; grid-template-columns: 100px minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 25px 20px; border-bottom: 1px solid var(--rse-line); }
.rse-history__entry:last-child { border-bottom: 0; }
.rse-history__entry[hidden] { display: none; }
.rse-history__year { padding-left: 14px; border-left: 3px solid #48a965; color: var(--rse-green); font-size: 29px; font-weight: 800; letter-spacing: -.03em; }
.rse-history__type { color: var(--rse-muted); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.rse-history__entry h3 { margin: 3px 0 4px; font-size: 17px; }
.rse-history__entry p { margin: 0; color: var(--rse-muted); font-size: 13px; }
.rse-history__action { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.rse-history__action small { color: var(--rse-muted); font-size: 10px; }

.rse-documents { padding-top: 34px; padding-bottom: 80px; }
.rse-documents > h2 { margin-bottom: 10px; font-size: 21px; }
.rse-documents__row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 19px 0; border-top: 1px solid var(--rse-line); }
/* Contiene los textos .visually-hidden para que no desborden el scroll de html. */
.rse-documents__row .rse-button { position: relative; }
.rse-documents__row h3 { margin-bottom: 4px; font-size: 16px; }
.rse-documents__row p { margin: 0; color: var(--rse-muted); font-size: 13px; }

@media (max-width: 1100px) {
    .rse-layout { grid-template-columns: 165px minmax(0, 1fr); }
    .rse-hero { gap: 30px; }
    .rse-hero h1 { font-size: clamp(32px, 4vw, 48px); }
    .rse-commitment-card h3 { font-size: 18px; }
}
@media (max-width: 1050px) {
    .rse-topbar__inner { min-height: 70px; padding-inline: 24px; }
    .rse-topbar__logo img { width: 200px; }
    .rse-topbar__toggle { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; padding: 8px 13px; border: 1px solid var(--rse-green); border-radius: 999px; color: var(--rse-green); background: #fff; font-size: 13px; font-weight: 700; cursor: pointer; }
    .rse-topbar__toggle-icon { display: block; width: 16px; height: 12px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; position: relative; }
    .rse-topbar__toggle-icon::after { position: absolute; top: 4px; left: 0; width: 100%; border-top: 2px solid currentColor; content: ""; }
    .rse-topbar__links { position: absolute; top: 100%; right: 24px; display: none; flex-direction: column; align-items: stretch; gap: 0; width: min(320px, calc(100vw - 32px)); padding: 10px; border: 1px solid var(--rse-line); border-radius: 10px; background: #fff; box-shadow: 0 12px 25px #183d2430; }
    .rse-topbar__links.is-open { display: flex; }
    .rse-topbar__links a { display: block; padding: 12px 14px; }
    .rse-topbar__links .rse-topbar__highlight { justify-content: flex-start; margin-top: 5px; padding-inline: 14px; }
}
@media (max-width: 850px) {
    .rse-page { padding-top: 60px; }
    .rse-layout { display: block; }
    .rse-layout__sidebar { border-right: 0; border-bottom: 1px solid var(--rse-line); }
    .rse-sidebar { position: static; padding: 14px 24px; }
    .rse-sidebar__brand { margin-bottom: 9px; }
    .rse-sidebar__menu { display: flex; gap: 6px; overflow-x: auto; margin: 0; padding-bottom: 3px; scrollbar-width: thin; }
    .rse-sidebar__menu li { flex: 0 0 auto; margin: 0; }
    .rse-sidebar__menu a { padding: 6px 11px; border-radius: 999px; background: #f0f6f2; white-space: nowrap; }
    .rse-model { gap: 20px; }
    .rse-commitment-grid { gap: 12px; }
    .rse-commitment-card__body { padding: 17px 14px; }
}
@media (max-width: 480px) {
    .rse-topbar__inner { gap: 8px; padding-inline: 16px; }
    .rse-topbar__logo img { width: 148px; }
    .rse-topbar__toggle { gap: 6px; padding-inline: 10px; font-size: 12px; }
    .rse-topbar__links { right: 16px; }
}
@media (max-width: 360px) {
    .rse-topbar__logo img { width: 132px; }
    .rse-topbar__toggle { gap: 4px; padding-inline: 8px; font-size: 11px; }
}
@media (max-width: 680px) {
    .rse-revista-modal { width: calc(100vw - 16px); height: 90vh; height: 90dvh; border-radius: 10px; }
    .rse-revista-modal__header { min-height: 58px; padding: 10px 12px 10px 16px; }
    .rse-revista-modal__header h2 { font-size: 17px; }
    .rse-page .rse-section { scroll-margin-top: 86px; }
    .rse-hero { grid-template-columns: 1fr; gap: 30px; padding: 44px 24px 48px; }
    .rse-hero h1 { font-size: clamp(35px, 8vw, 48px); }
    .rse-hero__visual { margin-left: 17px; }
    .rse-hero__visual > img { height: 260px; }
    .rse-model { grid-template-columns: 1fr; gap: 16px; padding: 36px 24px; }
    .rse-model .rse-eyebrow { max-width: none; }
    .rse-model__statement { padding-left: 16px; }
    .rse-commitments, .rse-memory, .rse-history, .rse-documents { padding-inline: 24px; }
    .rse-commitments { padding-block: 56px 62px; }
    .rse-section-heading { display: block; }
    .rse-section-heading > p { margin-top: 15px; }
    .rse-commitment-grid { grid-template-columns: 1fr; gap: 18px; }
    .rse-commitment-card > img { height: 220px; }
    .rse-commitment-card h3, .rse-commitment-card p { min-height: 0; }
    .rse-approach { grid-template-columns: 1fr; gap: 25px; padding: 54px 24px; }
    .rse-memory { padding-top: 55px; }
    .rse-memory__feature { grid-template-columns: 1fr; }
    .rse-memory__cover-area { min-height: 300px; }
    .rse-memory__feature-copy { padding: 34px 26px; }
    .rse-history__filter { flex-wrap: wrap; }
    .rse-history__filter h2 { flex-basis: 100%; }
    .rse-history__entry { grid-template-columns: 75px minmax(0, 1fr); gap: 12px; }
    .rse-history__year { font-size: 24px; }
    .rse-history__action { grid-column: 2; align-items: flex-start; }
    .rse-documents__row { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (max-width: 390px) {
    .rse-history__bar span:last-child { display: none; }
    .rse-hero__visual > img { height: 210px; }
}
@media (prefers-reduced-motion: no-preference) {
    .rse-page { scroll-behavior: smooth; }
}


.rse-hero__visual {
    position: relative;
    width: 100%;
}

    .rse-hero__visual iframe {
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9;
        height: auto;
        border: none;
        border-radius: 20px;
    }

/* Imagen temporal en reemplazo del video de YouTube */
.rse-hero__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}