/* base.css podado para esta web: 294 de 636 reglas · copia completa en auditoria-css/base-completa.css · repetir con podar-css.py */
@layer reset, base, layout, components, sections, variants, skin, state;
@layer reset{*,*::before,*::after{box-sizing: border-box;}
*{margin: 0;}
html{-webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--hdr-h, 96px) + 8px);}
body{font-family: var(--ff-body);
    font-size: var(--fs-body);
    font-weight: var(--fw-body);
    line-height: var(--lh-body);
    color: var(--c-ink);
    background: var(--c-surface);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: clip;}
img,picture,svg,video{display: block; max-width: 100%;}
img{height: auto;}
input,button,textarea,select{font: inherit; color: inherit;}
button{cursor: pointer; border: 0; background: none;}
a{color: inherit;}
ul,ol{list-style: none; padding: 0;}
h1,h2,h3,h4{font-family: var(--ff-head);
    font-weight: var(--fw-head);
    line-height: var(--lh-head);
    letter-spacing: var(--ls-head);
    text-transform: var(--tt-head);
    text-wrap: balance;}
p,li{text-wrap: pretty;}
h1,h2,h3,h4{overflow-wrap: break-word; hyphens: auto;}
p,li,dd,dt,td,th,figcaption,label,blockquote{overflow-wrap: anywhere;}
h1{font-size: var(--fs-h1);}
h2{font-size: var(--fs-h2);}
h3{font-size: var(--fs-h3);}
@font-face {
    font-family: "fallback-metrico";
    src: local("Arial");
    size-adjust: 104%;
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 0%;
  }}
@layer base{.esg-container{width: min(100% - 2 * var(--sp-3), var(--w-container));
    margin-inline: auto;}
.esg-section{padding-block: var(--sp-section);
    counter-increment: sec;}
.esg-head{max-width: 68ch;
    margin-bottom: var(--sp-4);}
.esg-head p{color: var(--c-ink-soft); margin-top: var(--sp-2);}
.esg-eyebrow{margin-bottom: var(--sp-1);}
:focus-visible{outline: 3px solid var(--c-focus);
    outline-offset: 2px;
    border-radius: 2px;}
.esg-skip{position: absolute; left: -9999px;
    background: var(--c-brand); color: var(--c-brand-ink);
    padding: var(--sp-2) var(--sp-3); z-index: 9999;}
.esg-skip:focus{left: var(--sp-2); top: var(--sp-2);}}
@layer components{.esg-btn{display: inline-flex; align-items: center; justify-content: center;
    gap: var(--sp-1);
    padding: var(--btn-pad);
    border-radius: var(--r-btn);
    font-weight: var(--btn-fw);
    text-transform: var(--btn-tt);
    letter-spacing: var(--btn-ls);
    text-decoration: none;
    border: var(--bw-btn) solid transparent;
    transition: background var(--tr) var(--ease), color var(--tr) var(--ease),
                box-shadow var(--tr) var(--ease), transform var(--tr) var(--ease),
                border-color var(--tr) var(--ease);}
.esg-btn--primary{background: var(--c-brand);
    color: var(--c-brand-ink);
    border-color: var(--c-brand);
    box-shadow: var(--sh-btn);}
.esg-btn--primary:hover{background: var(--c-brand-lo);
    color: var(--c-brand-lo-ink, var(--c-brand-ink));   
    border-color: var(--c-brand-lo);
    box-shadow: var(--sh-hover);}
.esg-btn--secondary{color: var(--c-brand-text, var(--c-brand));
    border-color: var(--c-line);}
.esg-btn--secondary:hover{background: var(--c-brand-soft);
    border-color: var(--c-brand);}
.esg-btn:active{transform: translateY(1px) scale(.98); box-shadow: none;}
:is(.esg-card-link, .esg-faq-q, .esg-mnav-link, .esg-nav-link, .esg-drop-menu a, .esg-bar a):active{box-shadow: inset 0 -3px 0 currentColor;}
main a:not([class]):active,.esg-footer a:active{text-decoration-thickness: 3px;}
.esg-btn--call{background: var(--c-cta, var(--c-brand));
    color: var(--c-cta-ink, var(--c-brand-ink));
    border-color: var(--c-cta, var(--c-brand));
    box-shadow: var(--sh-btn);}
.esg-btn--call:hover{box-shadow: var(--sh-hover); transform: translateY(-1px);}
.esg-mnav-cta{width: 100%; min-height: 52px;
    justify-content: center; text-align: center;
    flex-wrap: wrap; column-gap: .45em; row-gap: 0;
    padding-block: var(--sp-1);
    font-size: var(--fs-body);
    line-height: 1.25;}
.esg-mnav-cta svg{width: 1.2em; height: 1.2em; flex: none;}
.esg-mnav-cta-num{white-space: nowrap; font-variant-numeric: tabular-nums;}
@media (max-width: 899px){.esg-header-cta{width: 44px; height: 44px; padding: 0;}
.esg-header-cta-label{position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
      overflow: hidden; clip-path: inset(50%); white-space: nowrap;}}
:is(.esg-section--band, .esg-hero--dark, .esg-cta, .esg-footer)
    .esg-btn--secondary{color: var(--c-band-ink);
    border-color: color-mix(in oklch, var(--c-band-ink) 50%, transparent);}
:is(.esg-section--band, .esg-hero--dark, .esg-cta, .esg-footer)
    .esg-btn--secondary:hover{background: color-mix(in oklch, var(--c-band-ink) 12%, transparent);
    border-color: var(--c-band-ink);}
:is(.esg-footer li, .esg-contact-data, .esg-zone-list li, .esg-prose li) > a:only-child,:is(.esg-footer li, .esg-contact-data, .esg-zone-list li) a,.esg-card h3 > a{display: inline-flex; align-items: center; min-height: 24px;}
@media (pointer: coarse){:is(.esg-footer li, .esg-contact-data, .esg-zone-list li, .esg-prose li) > a:only-child,:is(.esg-footer li, .esg-contact-data, .esg-zone-list li) a,.esg-card h3 > a{min-height: 44px;}}
.esg-table-wrap{max-width: 100%; overflow-x: auto;}
.esg-card{background: var(--c-surface);
    border: var(--bw-card) solid var(--c-line);
    border-radius: var(--r-card);
    padding: var(--card-pad);
    box-shadow: var(--sh-card);
    transition: box-shadow var(--tr) var(--ease), transform var(--tr) var(--ease);
    container-type: inline-size;}
.esg-card:hover{box-shadow: var(--sh-hover);}
.esg-card h3{margin-bottom: var(--sp-1);}
.esg-card p{color: var(--c-ink-soft);}
@container (max-width: 320px){.esg-card{padding: var(--sp-3);}}
.esg-grid{display: grid; gap: var(--sp-gap);}
.esg-grid--2{grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));}
.esg-grid--3{grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));}
.esg-chip{display: inline-flex; align-items: center; gap: var(--sp-1);
    padding: calc(var(--sp-1) * .6) var(--sp-2);
    border: var(--bw-line) solid var(--c-line);
    border-radius: var(--r-btn);
    font-size: var(--fs-small);
    color: var(--c-ink-soft);}
.esg-form{display: grid; gap: var(--sp-3);}
.esg-field{display: grid; gap: calc(var(--sp-1) * .6); min-width: 0;}
.esg-field label{font-size: var(--fs-small); font-weight: var(--fw-strong);}
.esg-field :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea){width: 100%; min-height: 48px;
    padding: .6em .8em;
    font-size: max(1rem, var(--fs-body));          
    color: var(--c-ink);
    border: var(--bw-line) solid var(--c-ink-soft);
    border-radius: var(--r-input);
    background: var(--c-surface);
    transition: border-color var(--tr) var(--ease), box-shadow var(--tr) var(--ease);}
.esg-field :is(input, select, textarea):focus-visible{border-color: var(--c-brand);
    box-shadow: 0 0 0 3px color-mix(in oklch, var(--c-brand) 25%, transparent);
    outline: 3px solid var(--c-focus); outline-offset: 1px;}
.esg-field textarea:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){min-height: 7lh; field-sizing: content; resize: vertical;}
.esg-field.esg-field--mensaje textarea:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){min-height: 10lh;}
.esg-field :is(input, textarea)[aria-invalid="true"]{border-color: var(--c-error); border-width: 2px;}
.esg-captcha input{max-width: 9em;}
.esg-hp{position: absolute; width: 1px; height: 1px; overflow: hidden;
    clip-path: inset(50%); white-space: nowrap; pointer-events: none;}
.esg-check{display: flex; align-items: flex-start; gap: .75em;
    min-height: 44px; padding-block: .3em;
    font-size: var(--fs-small); line-height: 1.5;
    cursor: pointer;}
.esg-check input[type="checkbox"]{appearance: none; -webkit-appearance: none;
    flex: none; box-sizing: border-box;
    width: 22px; height: 22px; aspect-ratio: 1 / 1;
    margin: max(0px, calc((1.5em - 22px) / 2)) 0 0;   
    display: grid; place-content: center;
    border: 2px solid var(--c-ink-soft);
    border-radius: min(var(--r-input), 5px);
    background: var(--c-surface);
    color: var(--c-cta-ink, var(--c-brand-ink));
    cursor: pointer;
    transition: background-color var(--tr) var(--ease), border-color var(--tr) var(--ease);}
.esg-check input[type="checkbox"]::before{content: ""; width: 12px; height: 12px;
    background: currentColor;
    clip-path: polygon(14% 44%, 0 65%, 43% 100%, 100% 22%, 84% 6%, 41% 68%);
    transform: scale(0);
    transition: transform var(--tr) var(--ease);}
.esg-check input[type="checkbox"]:checked{background: var(--c-cta, var(--c-brand));
    border-color: var(--c-cta, var(--c-brand));}
.esg-check input[type="checkbox"]:checked::before{transform: scale(1);}
.esg-check input[type="checkbox"]:focus-visible{outline: 3px solid var(--c-focus); outline-offset: 2px;}
.esg-check input[type="checkbox"][aria-invalid="true"]{border-color: var(--c-error);}
.esg-check > span{min-width: 0;}
.esg-check a{color: inherit; text-decoration: underline; text-underline-offset: .2em;}
@media (forced-colors: active){.esg-check input[type="checkbox"]{border-color: CanvasText;}
.esg-check input[type="checkbox"]:checked{background: Highlight;}}
.esg-form-submit{justify-self: start; min-height: 48px;}
@media (max-width: 599px){.esg-form-submit{justify-self: stretch;}}
.esg-form-submit[disabled]{opacity: .6; cursor: progress;}
.esg-form-msg{padding: var(--sp-2);
    border-radius: var(--r-input);
    border: var(--bw-line) solid var(--c-line);
    background: var(--c-surface-2);
    color: var(--c-ink);}
.esg-form-msg[data-estado="error"]{border-color: var(--c-error); border-left-width: 4px;}
.esg-form-msg[data-estado="ok"]{border-left: 4px solid var(--c-cta, var(--c-brand));}
.esg-form-msg[hidden]{display: none;}
@starting-style { .esg-form-msg { opacity: 0; transform: translateY(6px); } }
.esg-form-msg{transition: opacity var(--tr) var(--ease), transform var(--tr) var(--ease);}
.esg-faq-item{border-bottom: var(--bw-line) solid var(--c-line);}
.esg-faq-q{width: 100%; min-height: 44px; text-align: left;
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--sp-2);
    padding: var(--sp-3) 0;
    font-family: var(--ff-head);
    font-size: var(--fs-h3);
    font-weight: var(--fw-head);}
.esg-faq-q .esg-faq-mark{transition: transform var(--tr) var(--ease); flex: none;}
.esg-faq-q[aria-expanded="true"] .esg-faq-mark{transform: rotate(180deg);}
.esg-faq-a{display: grid; grid-template-rows: 0fr;
    transition: grid-template-rows var(--tr) var(--ease);}
.esg-faq-a > div{overflow: hidden; visibility: hidden; transition: visibility var(--tr) var(--ease);}
.esg-faq-a.is-open > div{visibility: visible;}
.esg-faq-a.is-open{grid-template-rows: 1fr;}
.esg-faq-a > div > *{padding-bottom: var(--sp-3); color: var(--c-ink-soft);}}
@layer layout{:root{--c-menu-mark: var(--c-cta, var(--c-brand));}
.esg-topbar{background: var(--c-band);
    color: var(--c-band-ink);
    font-size: var(--fs-small);
    line-height: 1.3;
    padding-block: calc(var(--sp-1) * .8);}
.esg-topbar .esg-container{display: flex; flex-wrap: nowrap; gap: var(--sp-2);
    align-items: center; justify-content: space-between;}
.esg-topbar-msg{min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
.esg-topbar a{color: inherit; font-weight: var(--fw-strong); white-space: nowrap;}
.esg-topbar-tel{flex: none; text-decoration: none; display: inline-flex; align-items: center; min-height: 24px;}
.esg-header{position: sticky; top: 0; z-index: 960;
    background: var(--c-surface);
    border-bottom: var(--bw-line) solid var(--c-line);}
.esg-header-main{display: flex; align-items: center;
    gap: var(--sp-2);
    min-height: 64px;
    padding-block: var(--sp-1);}
.esg-logo{display: inline-flex; align-items: center;
    flex: 0 1 auto; min-width: 0;
    margin-right: auto;
    text-decoration: none; color: var(--c-ink);}
.esg-logo img,.esg-logo svg{height: 40px; width: auto;
    max-width: min(180px, 44vw);
    object-fit: contain;}
.esg-nav{display: none;}
.esg-nav-list{display: flex; align-items: center; gap: var(--sp-2);}
.esg-nav-link{display: inline-flex; align-items: center; gap: .35em;
    min-height: 44px;
    padding-inline: var(--sp-1);
    color: var(--c-ink);
    font-size: var(--fs-body);
    font-weight: var(--fw-strong);
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    text-underline-offset: .45em;
    text-decoration-thickness: 2px;
    border-radius: var(--r-input);}
.esg-nav-link:hover,.esg-nav-link[aria-current="page"],.esg-nav-link.is-current,.esg-drop.is-open > .esg-nav-link{text-decoration-line: underline;
    text-decoration-color: var(--c-menu-mark);}
.esg-chev{width: .75em; height: .75em; flex: none;
    transition: transform var(--tr) var(--ease);}
[aria-expanded="true"] > .esg-chev{transform: rotate(180deg);}
.esg-drop{position: relative;}
.esg-drop-menu{position: absolute; top: calc(100% + var(--sp-1)); left: 0; z-index: 10;
    width: max-content;
    min-width: 240px;
    max-width: min(360px, calc(100vw - 2 * var(--sp-3)));
    padding: var(--sp-1);
    background: var(--c-surface);
    border: var(--bw-line) solid var(--c-line);
    border-radius: var(--r-card);
    box-shadow: var(--sh-hover);
    opacity: 0; visibility: hidden; transform: translateY(-6px);
    transition: opacity var(--tr) var(--ease), transform var(--tr) var(--ease),
                visibility var(--tr) var(--ease);}
.esg-drop-menu::before{content: ""; position: absolute; left: 0; right: 0; bottom: 100%;
    height: calc(var(--sp-1) + 4px);}
.esg-drop--end > .esg-drop-menu{left: auto; right: 0;}
.esg-drop.is-open > .esg-drop-menu,html:not(.esg-js) .esg-drop:is(:hover, :focus-within) > .esg-drop-menu{opacity: 1; visibility: visible; transform: none;}
.esg-drop-menu a{display: flex; align-items: center;
    min-height: 44px;
    padding: .55em var(--sp-2);           
    color: var(--c-ink);
    font-size: var(--fs-body);
    font-weight: var(--fw-body);
    line-height: 1.3;
    text-decoration: none;
    border-radius: var(--r-input);}
.esg-drop-menu a:hover{background: var(--c-surface-2);}
.esg-drop-menu a[aria-current="page"]{font-weight: var(--fw-strong);
    box-shadow: inset 3px 0 0 var(--c-menu-mark);}
.esg-header-cta{flex: none; min-height: 44px; white-space: nowrap;}
.esg-header-cta svg{width: 1.15em; height: 1.15em; flex: none;}
.esg-burger{display: inline-grid; place-items: center; flex: none;
    width: 44px; height: 44px;              
    color: var(--c-ink);
    border-radius: var(--r-input);}
.esg-burger-box{position: relative; display: block; width: 22px; height: 16px;}
.esg-burger-line,.esg-burger-line::before,.esg-burger-line::after{position: absolute; left: 0; width: 100%; height: 2px;
    background: currentColor;
    transition: transform var(--tr) var(--ease), top var(--tr) var(--ease),
                background-color var(--tr) var(--ease);}
.esg-burger-line{top: 7px;}
.esg-burger-line::before{content: ""; top: -7px;}
.esg-burger-line::after{content: ""; top: 7px;}
.esg-burger[aria-expanded="true"] .esg-burger-line{background-color: transparent;}
.esg-burger[aria-expanded="true"] .esg-burger-line::before{top: 0; transform: rotate(45deg);}
.esg-burger[aria-expanded="true"] .esg-burger-line::after{top: 0; transform: rotate(-45deg);}
.esg-mnav{position: absolute; top: 100%; left: 0; right: 0; z-index: 1;
    display: flex; flex-direction: column;
    height: calc(100vh - var(--hdr-h, 120px));
    height: calc(100dvh - var(--hdr-h, 120px));
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--c-surface);
    border-top: var(--bw-line) solid var(--c-line);
    box-shadow: var(--sh-hover);
    padding-bottom: calc(var(--sp-3) + env(safe-area-inset-bottom, 0px));
    transform: translateY(-8px);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: transform var(--tr) var(--ease), opacity var(--tr) var(--ease),
                visibility var(--tr) var(--ease);}
.esg-mnav.is-open{transform: none; opacity: 1; visibility: visible; pointer-events: auto;}
.esg-mnav-list > li{border-bottom: var(--bw-line) solid var(--c-line);}
.esg-mnav-link{display: flex; align-items: center; justify-content: space-between;
    gap: var(--sp-2);
    width: 100%; min-height: 48px;
    padding: .6em var(--sp-3);
    color: var(--c-ink);
    font-size: var(--fs-body);
    font-weight: var(--fw-strong);
    line-height: 1.3;
    text-align: left;
    text-decoration: none;
    overflow-wrap: break-word;}
.esg-mnav-link:hover{background: var(--c-surface-2);}
.esg-mnav-link[aria-current="page"],.esg-mnav-link.is-current{box-shadow: inset 4px 0 0 var(--c-menu-mark);}
.esg-mdrop-menu{display: grid; grid-template-rows: 0fr;
    visibility: hidden;
    background: var(--c-surface-2);
    transition: grid-template-rows var(--tr) var(--ease), visibility var(--tr) var(--ease);}
.esg-mdrop-menu > ul{min-height: 0; overflow: hidden;}
.esg-mdrop-menu.is-open{grid-template-rows: 1fr; visibility: visible;}
.esg-mdrop-menu .esg-mnav-link{min-height: 44px;
    padding-left: calc(var(--sp-3) * 2);
    font-weight: var(--fw-body);}
.esg-mnav .esg-chev{width: 1em; height: 1em;}
.esg-mnav-foot{display: grid; gap: var(--sp-1); padding: var(--sp-3) var(--sp-3) 0;}
html.esg-lock{overflow: hidden;}
@media (min-width: 900px){.esg-header:not(.esg-header--late) .esg-nav{display: block;}
.esg-header:not(.esg-header--late) :is(.esg-burger, .esg-mnav){display: none;}}
@media (min-width: 900px) and (max-width: 1099px){.esg-header:not(.esg-header--late) .esg-nav-list{gap: var(--sp-1);}}
@media (min-width: 1100px){:is(.esg-header--hd2, .esg-header--hd3, .esg-header--hd4) .esg-header-main{display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; column-gap: var(--sp-3);}
:is(.esg-header--hd2, .esg-header--hd3, .esg-header--hd4) .esg-logo{margin: 0;}
:is(.esg-header--hd2, .esg-header--hd3, .esg-header--hd4) .esg-header-cta{justify-self: end;}
.esg-header--hd3 .esg-header-main{grid-template-areas: "nav logo cta";}
.esg-header--hd3 .esg-nav{grid-area: nav; justify-self: start;}
.esg-header--hd3 .esg-logo{grid-area: logo; justify-self: center;}
.esg-header--hd3 .esg-header-cta{grid-area: cta;}
:is(.esg-header--hd2, .esg-header--hd3, .esg-header--hd4) .esg-burger{grid-area: cta; justify-self: end;}}
.esg-badges{display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-3);}}
@layer variants{@media (min-width: 900px){.esg-contacto--ct4 .esg-contact-grid{display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--sp-5);}}
.esg-footer{background: var(--c-band); color: var(--c-band-ink);}
.esg-footer a{color: inherit; text-decoration: none;}
.esg-footer a:hover{text-decoration: underline;}
.esg-footer h3,.esg-footer-title{font-size: var(--fs-small); font-weight: var(--fw-strong); margin-bottom: var(--sp-2);}
.esg-footer address{font-style: normal;}
.esg-footer-link{font: inherit; color: inherit; background: none; border: 0; padding: 0;
    cursor: pointer; text-align: left; text-decoration: underline; text-underline-offset: .2em;
    display: inline-flex; align-items: center; min-height: 24px;}
@media (pointer: coarse){.esg-footer-link{min-height: 44px;}}
.esg-footer-grid{display: grid; gap: var(--sp-4); padding-block: var(--sp-5);
    grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));}
.esg-footer address ul,.esg-footer-legal{list-style: none; margin: 0; padding: 0;}
.esg-footer-legal{display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--sp-3);}
.esg-footer-bottom{border-top: var(--bw-line) solid color-mix(in oklch, var(--c-band-ink) 20%, transparent);
    padding-block: var(--sp-3);
    display: flex; flex-wrap: wrap; gap: var(--sp-2);
    justify-content: space-between;
    font-size: var(--fs-small);}
@media (min-width: 900px){.esg-footer--fo1 .esg-footer-grid{grid-template-columns: 1.4fr; grid-auto-flow: column; grid-auto-columns: 1fr;}}}
@layer state{:is(.esg-section--band, .esg-hero--h2, .esg-hero--h3, .esg-hero--h5, .esg-contacto--ct3, .esg-footer)
    :is(.esg-eyebrow, .esg-chip, .esg-card-link, .esg-tl-when, .esg-stat-l, .esg-signal-mark, .esg-stars, .esg-case-meta):not(:is(.esg-card, .esg-form) *){color: var(--c-band-ink);}
:is(.esg-section--band, .esg-hero--dark, .esg-hero--h2, .esg-hero--h3, .esg-hero--h5, .esg-contacto--ct3, .esg-footer){--c-brand-text: var(--c-brand-text-oscuro, var(--c-band-ink));
    --c-ink-soft: var(--c-band-ink-soft, var(--c-band-ink));}
:is(.esg-section--band, .esg-hero--dark, .esg-hero--h2, .esg-hero--h3, .esg-hero--h5, .esg-contacto--ct3, .esg-footer)
    :is(.esg-card, .esg-form, .esg-cookies){--c-brand-text: var(--c-brand-text-claro, var(--c-brand));
    --c-ink-soft: var(--c-ink-soft-claro, currentColor);}
.esg-cookies{position: fixed; inset-inline: 0; bottom: 0; z-index: 950;
    background: var(--c-surface);
    border-top: var(--bw-line) solid var(--c-line);
    box-shadow: var(--sh-hover);
    padding: var(--sp-3);
    transform: translateY(100%);
    visibility: hidden;                  
    transition: transform .25s var(--ease), visibility .25s var(--ease);}
.esg-cookies.is-visible{transform: translateY(0); visibility: visible;}
.esg-cookies .esg-container{display: flex; flex-wrap: wrap; gap: var(--sp-2);
    align-items: center; justify-content: space-between;}
.esg-cookies p{font-size: var(--fs-small); max-width: 62ch;}
.esg-bar{position: fixed; inset-inline: 0; bottom: 0; z-index: 940;
    display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
    background: var(--c-surface);
    border-top: var(--bw-line) solid var(--c-line);
    padding-bottom: env(safe-area-inset-bottom, 0px);}
.esg-bar a{display: flex; align-items: center; justify-content: center; gap: var(--sp-1);
    height: 52px; padding: 0 var(--sp-1);     
    text-align: center; text-decoration: none; font-weight: var(--fw-strong);
    font-size: var(--fs-small); line-height: 1.2;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;}
.esg-bar a:first-child{background: var(--c-cta, var(--c-brand)); color: var(--c-cta-ink, var(--c-brand-ink));}
@media (min-width: 900px){.esg-bar{display: none;}}
html:has(.esg-cookies.is-visible){scroll-padding-bottom: calc(var(--cookies-h, 120px) + 16px);}
html:has(.esg-cookies.is-visible) body{padding-bottom: calc(var(--cookies-h, 120px) + 16px);}
@media (max-height: 500px) and (orientation: landscape){.esg-topbar{display: none;}
.esg-header-main{min-height: 52px; padding-block: 2px;}
.esg-cookies{padding-block: var(--sp-1);}
.esg-cookies p{font-size: var(--fs-small); line-height: 1.35;}
.esg-cookies .esg-container{display: flex; align-items: center; gap: var(--sp-2);}
.esg-cookies .esg-btn{flex: none; min-height: 40px; padding-block: 0;}
.esg-bar a{height: 44px;}
body{padding-bottom: calc(44px + env(safe-area-inset-bottom, 0px));}}
@media (max-width: 899px){.esg-cookies{bottom: calc(52px + env(safe-area-inset-bottom, 0px));}
body:not(:has(.esg-bar)) .esg-cookies{bottom: 0; padding-bottom: env(safe-area-inset-bottom, 0px);}}
@media (max-width: 899px) and (max-height: 500px) and (orientation: landscape){.esg-cookies{bottom: calc(44px + env(safe-area-inset-bottom, 0px));}}
@media (max-width: 899px){body{padding-bottom: calc(52px + env(safe-area-inset-bottom, 0px));}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: .01ms !important;
      scroll-behavior: auto !important;}}
@media print{.esg-header,.esg-mnav,.esg-drop-menu,.esg-cookies,.esg-bar{display: none;}
body{color: CanvasText; background: Canvas;}}}
@layer skin{:root{--pat-size: 18px;
    --pat-ink: color-mix(in oklch, var(--c-ink) 7%, transparent);
    --pat-brand: color-mix(in oklch, var(--c-brand) 10%, transparent);
    --div-h: 56px;}
.esg-footer{--pat-ink: color-mix(in oklch, var(--c-band-ink) 9%, transparent);
    --pat-brand: color-mix(in oklch, var(--c-band-ink) 12%, transparent);}}
@layer sections{.esg-intro-grid{display: grid; gap: var(--sp-4);}
@media (min-width: 900px){.esg-intro-grid{grid-template-columns: 1.6fr 1fr;}}
.esg-prose{max-width: 68ch;}
.esg-prose p + p{margin-top: var(--sp-2);}
.esg-prose :is(strong, b){font-weight: var(--fw-strong);}
.esg-table{width: 100%; border-collapse: collapse;}
.esg-table :is(th, td){padding: var(--sp-2); text-align: left;
    border-bottom: var(--bw-line) solid var(--c-line);}
.esg-table th{font-family: var(--ff-head); font-weight: var(--fw-head);
    font-size: var(--fs-small);}
.esg-table tbody tr:nth-child(odd){background: var(--c-surface-2);}
@media (max-width: 720px){.esg-table,.esg-table tbody,.esg-table tr,.esg-table td{display: block;}
.esg-table thead{position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);}
.esg-table tr{border: var(--bw-card) solid var(--c-line);
      border-radius: var(--r-card); padding: var(--sp-2); margin-bottom: var(--sp-2);}
.esg-table td{border: 0; display: grid; grid-template-columns: 1fr 1fr;
      gap: var(--sp-2);}
.esg-table td::before{content: attr(data-th);
      font-weight: var(--fw-strong); font-size: var(--fs-small);}}}
@layer sections{.esg-v{padding-block: var(--sp-section); position: relative;}
.esg-v--oscura{background: var(--c-band); color: var(--c-band-ink);}
.esg-v--marca{background: var(--c-brand); color: var(--c-brand-ink);}
.esg-v--suave{background: var(--c-surface-2);}
.esg-v--marca :is(h2, h3, p, li, a:not(.esg-btn)){color: inherit;}
.esg-v--oscura :is(h2, h3){color: var(--c-band-ink);}
.esg-v--oscura{--c-ink-soft: var(--c-band-ink-soft, oklch(0.88 0 0)); --c-brand-text: var(--c-brand-text-oscuro, var(--c-band-ink));
    --c-accent-text: var(--c-accent-text-oscuro, var(--c-band-ink));}
.esg-v--marca{--c-ink-soft: color-mix(in oklch, var(--c-brand-ink) 86%, var(--c-brand)); --c-brand-text: var(--c-brand-ink);}
:is(.esg-v--oscura, .esg-v--marca, .esg-hv--sangre) :is(.esg-card, .esg-form, .esg-v-nivel, .esg-hv-flotante){color: var(--c-ink); --c-ink-soft: var(--c-ink-soft-claro, oklch(0.4 0 0)); --c-brand-text: var(--c-brand-text-claro, var(--c-brand));}
:is(.esg-v--oscura, .esg-v--marca, .esg-hv--sangre) :is(.esg-card, .esg-form, .esg-v-nivel, .esg-hv-flotante) :is(h2, h3){color: inherit;}
:is(.esg-v--oscura, .esg-v--marca, .esg-hv--sangre) .esg-btn--secondary{color: inherit; background: transparent; border-color: color-mix(in oklch, currentColor 60%, transparent);}
:is(.esg-v--oscura, .esg-v--marca, .esg-hv--sangre) .esg-btn--secondary:hover{background: transparent; border-color: currentColor; text-decoration: underline; text-underline-offset: .2em;}
.esg-v-cab{max-width: 46rem; margin-bottom: var(--sp-5);}
.esg-v-cab--centro{margin-inline: auto; text-align: center;}
.esg-v-cab p{color: var(--c-ink-soft);}
.esg-hv{padding-block: clamp(2.5rem, 6vw, 5.5rem); position: relative; isolation: isolate;}
.esg-hv h1{font-size: var(--fs-hero, clamp(2.5rem, 1.4rem + 3.6vw, 4rem)); line-height: var(--lh-head, 1.05); margin: 0 0 var(--sp-3);}
.esg-hv-texto > p{font-size: 1.125rem; max-width: 38rem; color: var(--c-ink-soft);}
.esg-hv-acciones{display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-4);}
.esg-hv-media{position: relative;}
.esg-hv-media img{display: block; width: 100%; height: 100%; object-fit: cover; border-radius: var(--r-img, 0);}
.esg-hv-datos{display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-5); margin-top: var(--sp-5); padding-top: var(--sp-3);
    border-top: 1px solid var(--c-line); list-style: none; padding-left: 0;}
.esg-hv-datos strong{display: block; font-family: var(--ff-head); font-size: 1.5rem; line-height: 1.1;}
.esg-hv-datos span{font-size: var(--fs-small); color: var(--c-ink-soft);}
.esg-hv--partido .esg-hv-grid{display: grid; gap: var(--sp-5); align-items: center;}
.esg-hv--partido .esg-hv-media{aspect-ratio: 4 / 5; max-height: 560px; margin: 0 var(--sp-3) var(--sp-3) 0;}
.esg-hv--partido .esg-hv-media::before{content: ""; position: absolute; inset: var(--sp-3) calc(var(--sp-3) * -1) calc(var(--sp-3) * -1) var(--sp-3);
    background: var(--c-accent, var(--c-brand)); z-index: -1; border-radius: var(--r-img, 0);}
@media (min-width: 900px){.esg-hv--partido .esg-hv-grid{grid-template-columns: 1.1fr .9fr;}}
.esg-v-lista{list-style: none; padding: 0; margin: 0; counter-reset: v-lista; border-top: 1px solid var(--c-line);}
.esg-v--oscura .esg-v-lista,.esg-v--oscura .esg-v-lista > li{border-color: oklch(1 0 0 / .16);}
.esg-v-lista > li{counter-increment: v-lista; display: grid; grid-template-columns: 2.4rem minmax(0, 1fr) auto; gap: var(--sp-2); align-items: baseline;
    padding-block: var(--sp-3); border-bottom: 1px solid var(--c-line);}
.esg-v-lista > li::before{content: counter(v-lista, decimal-leading-zero); font-family: var(--ff-head); font-weight: 700; color: var(--c-accent-text, var(--c-brand-text));}
.esg-v--oscura .esg-v-lista > li::before{color: var(--c-brand-text-oscuro, var(--c-band-ink));}
.esg-v-lista h3{margin: 0; font-size: var(--fs-h3);}
@media (min-width: 640px){.esg-v-lista > li{grid-template-columns: 3.2rem minmax(0, 1fr) auto; gap: var(--sp-3);}}
.esg-v-lista p{margin: .25rem 0 0; color: var(--c-ink-soft);}
.esg-v-lista a.esg-v-flecha{align-self: center; text-decoration: none; font-size: 1.4rem; min-width: 44px; min-height: 44px; display: grid; place-items: center;}
.esg-v-sintomas{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); border: 1px solid var(--c-line);}
.esg-v-sintomas > *{padding: var(--card-pad, 1.5rem); border: 1px solid var(--c-line); margin: -1px 0 0 -1px; background: var(--c-surface);}
.esg-v-sintomas h3{margin-top: 0; font-size: var(--fs-h3);}
.esg-v-sintomas a{font-weight: 600;}
.esg-v-niveles{display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); align-items: stretch;}
.esg-v-nivel{display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--card-pad, 1.5rem); border: var(--bw-card, 1px) solid var(--c-line);
    border-radius: var(--r-card, 12px); background: var(--c-surface);}
.esg-v-nivel--destacado{border-color: var(--c-brand); box-shadow: var(--sh-card, none);}
.esg-v-nivel h3{margin: 0; font-size: var(--fs-h3);}
.esg-v-nivel ul{margin: 0; padding-left: 1.1rem; display: grid; gap: .3rem;}
.esg-v-nivel .esg-btn{margin-top: auto; align-self: flex-start;}
.esg-v-pasos{list-style: none; padding: 0; margin: 0; display: grid; gap: var(--sp-4); counter-reset: v-paso;
    grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));}
.esg-v-pasos > li{counter-increment: v-paso; position: relative; padding-top: 3.4rem;}
.esg-v-pasos > li::before{content: counter(v-paso); position: absolute; top: 0; left: 0; width: 2.6rem; height: 2.6rem; border-radius: 50%;
    display: grid; place-items: center; font-weight: 700; background: var(--c-brand); color: var(--c-brand-ink);}
.esg-v-pasos > li::after{content: ""; position: absolute; top: 1.3rem; left: 3.2rem; right: -1rem; height: 2px; background: var(--c-line);}
.esg-v-pasos > li:last-child::after{display: none;}
.esg-v-pasos h3{margin: 0 0 .3rem; font-size: var(--fs-h3);}
@media (max-width: 899px){.esg-v-pasos > li::after{display: none;}}
.esg-v-check{display: grid; gap: var(--sp-5); align-items: center;}
.esg-v-check img{width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-img, 0); display: block;}
.esg-v-check ul{list-style: none; padding: 0; display: grid; gap: var(--sp-2);}
.esg-v-check li{padding-left: 1.9rem; position: relative;}
.esg-v-check li::before{content: ""; position: absolute; left: 0; top: .45em; width: 1.1rem; height: .55rem; border-left: 3px solid var(--c-brand);
    border-bottom: 3px solid var(--c-brand); transform: rotate(-45deg);}
@media (min-width: 900px){.esg-v-check{grid-template-columns: 1fr 1fr;}
.esg-v-check--invertido > :first-child{order: 2;}}
.esg-v-zonas{display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-2); list-style: none; padding: 0; margin: 0;}
.esg-v-zonas li a,.esg-v-zonas li span{display: inline-flex; align-items: center; min-height: 44px; padding: .4rem 1rem; border: 1px solid var(--c-line);
    border-radius: 999px; text-decoration: none;}
.esg-v-aviso{display: grid; gap: var(--sp-3); align-items: center;}
.esg-v-aviso h2{margin: 0;}
.esg-v-aviso p{margin: .3rem 0 0;}
@media (min-width: 900px){.esg-v-aviso{grid-template-columns: 1fr auto;}}
.esg-v-dudas{display: grid; gap: var(--sp-5);}
@media (min-width: 900px){.esg-v-dudas{grid-template-columns: .8fr 1.2fr;}
.esg-v-dudas > .esg-v-cab{position: sticky; top: 6rem; align-self: start;}}
.esg-v-subrayado{background-image: linear-gradient(transparent 62%, var(--c-accent, var(--c-brand-soft)) 62%, var(--c-accent, var(--c-brand-soft)) 90%, transparent 90%);
    padding-inline: .08em;}
@media (min-width: 900px){.esg-form--f5 .esg-field{grid-template-columns: 12rem minmax(0, 1fr); align-items: center; column-gap: var(--sp-3);}
.esg-form--f5 .esg-field--mensaje{align-items: start;}
.esg-form--f5 :is(.esg-check, .esg-form-submit){margin-left: calc(12rem + var(--sp-3));}}
.esg-campos--c4 .esg-field :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea){border: 2px solid var(--c-ink); border-radius: var(--r-input, 0);}
.esg-campos--c4 .esg-field label{text-transform: uppercase; letter-spacing: .08em; font-size: .78rem;}}
@layer variants{.esg-movil--panel .esg-mnav{border-top-width: var(--bw-line);}
.esg-menu--m2 .esg-nav-link{padding-inline: .8em; border-radius: 999px;}
.esg-menu--m2 :is(.esg-nav-link:hover, .esg-nav-link[aria-current="page"], .esg-nav-link.is-current, .esg-drop.is-open > .esg-nav-link){text-decoration-line: none; background: var(--c-surface-2); box-shadow: inset 0 0 0 1px var(--c-line);}
.esg-hdr--compacta{transition: transform var(--tr) var(--ease);}
@media (min-width: 900px){html.esg-hdr-compacta .esg-hdr--compacta .esg-topbar{display: none;}
html.esg-hdr-compacta .esg-hdr--compacta .esg-header-main{padding-block: var(--sp-1);}
html.esg-hdr-compacta .esg-hdr--compacta .esg-logo img{height: 32px; width: auto;}}
@media (prefers-reduced-motion: reduce){.esg-hdr--compacta{transition: none;}}}
@layer skin{:is(.esg-hv-media, .esg-v-fila, .esg-v-check, .esg-v-galeria, .esg-card-img) img{object-position: var(--foco, 50% 50%);}}
