/* base.css podado para esta web: 329 de 796 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{.plc-container{width: min(100% - 2 * var(--sp-3), var(--w-container));
    margin-inline: auto;}
.plc-section{padding-block: var(--sp-section);
    counter-increment: sec;}
.plc-section--alt{background: var(--c-surface-2);}
.plc-head{max-width: 68ch;
    margin-bottom: var(--sp-4);}
.plc-head--center{margin-inline: auto; text-align: center;}
.plc-head p{color: var(--c-ink-soft); margin-top: var(--sp-2);}
.plc-eyebrow{margin-bottom: var(--sp-1);}
:focus-visible{outline: 3px solid var(--c-focus);
    outline-offset: 2px;
    border-radius: 2px;}
.plc-skip{position: absolute; left: -9999px;
    background: var(--c-brand); color: var(--c-brand-ink);
    padding: var(--sp-2) var(--sp-3); z-index: 9999;}
.plc-skip:focus{left: var(--sp-2); top: var(--sp-2);}}
@layer components{.plc-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);}
.plc-btn--primary{background: var(--c-brand);
    color: var(--c-brand-ink);
    border-color: var(--c-brand);
    box-shadow: var(--sh-btn);}
.plc-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);}
.plc-btn--secondary{color: var(--c-brand-text, var(--c-brand));
    border-color: var(--c-line);}
.plc-btn--secondary:hover{background: var(--c-brand-soft);
    border-color: var(--c-brand);}
.plc-btn--accent{background: var(--c-accent);
    color: var(--c-accent-ink);
    border-color: var(--c-accent);}
.plc-btn:active{transform: translateY(1px) scale(.98); box-shadow: none;}
:is(.plc-card-link, .plc-faq-q, .plc-mnav-link, .plc-nav-link, .plc-drop-menu a, .plc-bar a):active{box-shadow: inset 0 -3px 0 currentColor;}
main a:not([class]):active,.plc-footer a:active{text-decoration-thickness: 3px;}
.plc-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);}
.plc-btn--call:hover{box-shadow: var(--sh-hover); transform: translateY(-1px);}
.plc-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;}
.plc-mnav-cta svg{width: 1.2em; height: 1.2em; flex: none;}
.plc-mnav-cta-num{white-space: nowrap; font-variant-numeric: tabular-nums;}
@media (max-width: 899px){.plc-header-cta{width: 44px; height: 44px; padding: 0;}
.plc-header-cta-label{position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
      overflow: hidden; clip-path: inset(50%); white-space: nowrap;}}
:is(.plc-section--band, .plc-hero--dark, .plc-cta, .plc-footer)
    .plc-btn--secondary{color: var(--c-band-ink);
    border-color: color-mix(in oklch, var(--c-band-ink) 50%, transparent);}
:is(.plc-section--band, .plc-hero--dark, .plc-cta, .plc-footer)
    .plc-btn--secondary:hover{background: color-mix(in oklch, var(--c-band-ink) 12%, transparent);
    border-color: var(--c-band-ink);}
:is(.plc-footer li, .plc-contact-data, .plc-zone-list li, .plc-prose li) > a:only-child,:is(.plc-footer li, .plc-contact-data, .plc-zone-list li) a,.plc-card h3 > a{display: inline-flex; align-items: center; min-height: 24px;}
@media (pointer: coarse){:is(.plc-footer li, .plc-contact-data, .plc-zone-list li, .plc-prose li) > a:only-child,:is(.plc-footer li, .plc-contact-data, .plc-zone-list li) a,.plc-card h3 > a{min-height: 44px;}}
.plc-table-wrap{max-width: 100%; overflow-x: auto;}
.plc-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;}
.plc-card:hover{box-shadow: var(--sh-hover);}
.plc-card h3{margin-bottom: var(--sp-1);}
.plc-card p{color: var(--c-ink-soft);}
@container (max-width: 320px){.plc-card{padding: var(--sp-3);}}
.plc-grid{display: grid; gap: var(--sp-gap);}
.plc-grid--2{grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));}
.plc-grid--4{grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));}
.plc-icon{width: 1.5em; height: 1.5em;
    stroke: currentColor;
    stroke-width: var(--icon-sw);
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: none;}
.plc-form{display: grid; gap: var(--sp-3);}
.plc-field{display: grid; gap: calc(var(--sp-1) * .6); min-width: 0;}
.plc-field label{font-size: var(--fs-small); font-weight: var(--fw-strong);}
.plc-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);}
.plc-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;}
.plc-field textarea:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){min-height: 7lh; field-sizing: content; resize: vertical;}
.plc-field.plc-field--mensaje textarea:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){min-height: 10lh;}
.plc-field :is(input, textarea)[aria-invalid="true"]{border-color: var(--c-error); border-width: 2px;}
.plc-captcha input{max-width: 9em;}
.plc-hp{position: absolute; width: 1px; height: 1px; overflow: hidden;
    clip-path: inset(50%); white-space: nowrap; pointer-events: none;}
.plc-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;}
.plc-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);}
.plc-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);}
.plc-check input[type="checkbox"]:checked{background: var(--c-cta, var(--c-brand));
    border-color: var(--c-cta, var(--c-brand));}
.plc-check input[type="checkbox"]:checked::before{transform: scale(1);}
.plc-check input[type="checkbox"]:focus-visible{outline: 3px solid var(--c-focus); outline-offset: 2px;}
.plc-check input[type="checkbox"][aria-invalid="true"]{border-color: var(--c-error);}
.plc-check > span{min-width: 0;}
.plc-check a{color: inherit; text-decoration: underline; text-underline-offset: .2em;}
@media (forced-colors: active){.plc-check input[type="checkbox"]{border-color: CanvasText;}
.plc-check input[type="checkbox"]:checked{background: Highlight;}}
.plc-form-submit{justify-self: start; min-height: 48px;}
@media (max-width: 599px){.plc-form-submit{justify-self: stretch;}}
.plc-form-submit[disabled]{opacity: .6; cursor: progress;}
.plc-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);}
.plc-form-msg[data-estado="error"]{border-color: var(--c-error); border-left-width: 4px;}
.plc-form-msg[data-estado="ok"]{border-left: 4px solid var(--c-cta, var(--c-brand));}
.plc-form-msg[hidden]{display: none;}
@starting-style { .plc-form-msg { opacity: 0; transform: translateY(6px); } }
.plc-form-msg{transition: opacity var(--tr) var(--ease), transform var(--tr) var(--ease);}
.plc-faq-item{border-bottom: var(--bw-line) solid var(--c-line);}
.plc-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);}
.plc-faq-q .plc-faq-mark{transition: transform var(--tr) var(--ease); flex: none;}
.plc-faq-q[aria-expanded="true"] .plc-faq-mark{transform: rotate(180deg);}
.plc-faq-a{display: grid; grid-template-rows: 0fr;
    transition: grid-template-rows var(--tr) var(--ease);}
.plc-faq-a > div{overflow: hidden; visibility: hidden; transition: visibility var(--tr) var(--ease);}
.plc-faq-a.is-open > div{visibility: visible;}
.plc-faq-a.is-open{grid-template-rows: 1fr;}
.plc-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));}
.plc-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);}
.plc-topbar .plc-container{display: flex; flex-wrap: nowrap; gap: var(--sp-2);
    align-items: center; justify-content: space-between;}
.plc-topbar-msg{min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
.plc-topbar a{color: inherit; font-weight: var(--fw-strong); white-space: nowrap;}
.plc-topbar-tel{flex: none; text-decoration: none; display: inline-flex; align-items: center; min-height: 24px;}
.plc-header{position: sticky; top: 0; z-index: 960;
    background: var(--c-surface);
    border-bottom: var(--bw-line) solid var(--c-line);}
.plc-header-main{display: flex; align-items: center;
    gap: var(--sp-2);
    min-height: 64px;
    padding-block: var(--sp-1);}
.plc-logo{display: inline-flex; align-items: center;
    flex: 0 1 auto; min-width: 0;
    margin-right: auto;
    text-decoration: none; color: var(--c-ink);}
.plc-logo img,.plc-logo svg{height: 40px; width: auto;
    max-width: min(180px, 44vw);
    object-fit: contain;}
.plc-nav{display: none;}
.plc-nav-list{display: flex; align-items: center; gap: var(--sp-2);}
.plc-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);}
.plc-nav-link:hover,.plc-nav-link[aria-current="page"],.plc-nav-link.is-current,.plc-drop.is-open > .plc-nav-link{text-decoration-line: underline;
    text-decoration-color: var(--c-menu-mark);}
.plc-chev{width: .75em; height: .75em; flex: none;
    transition: transform var(--tr) var(--ease);}
[aria-expanded="true"] > .plc-chev{transform: rotate(180deg);}
.plc-drop{position: relative;}
.plc-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);}
.plc-drop-menu::before{content: ""; position: absolute; left: 0; right: 0; bottom: 100%;
    height: calc(var(--sp-1) + 4px);}
.plc-drop--end > .plc-drop-menu{left: auto; right: 0;}
.plc-drop.is-open > .plc-drop-menu,html:not(.plc-js) .plc-drop:is(:hover, :focus-within) > .plc-drop-menu{opacity: 1; visibility: visible; transform: none;}
.plc-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);}
.plc-drop-menu a:hover{background: var(--c-surface-2);}
.plc-drop-menu a[aria-current="page"]{font-weight: var(--fw-strong);
    box-shadow: inset 3px 0 0 var(--c-menu-mark);}
.plc-header-cta{flex: none; min-height: 44px; white-space: nowrap;}
.plc-header-cta svg{width: 1.15em; height: 1.15em; flex: none;}
.plc-burger{display: inline-grid; place-items: center; flex: none;
    width: 44px; height: 44px;              
    color: var(--c-ink);
    border-radius: var(--r-input);}
.plc-burger-box{position: relative; display: block; width: 22px; height: 16px;}
.plc-burger-line,.plc-burger-line::before,.plc-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);}
.plc-burger-line{top: 7px;}
.plc-burger-line::before{content: ""; top: -7px;}
.plc-burger-line::after{content: ""; top: 7px;}
.plc-burger[aria-expanded="true"] .plc-burger-line{background-color: transparent;}
.plc-burger[aria-expanded="true"] .plc-burger-line::before{top: 0; transform: rotate(45deg);}
.plc-burger[aria-expanded="true"] .plc-burger-line::after{top: 0; transform: rotate(-45deg);}
.plc-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);}
.plc-mnav.is-open{transform: none; opacity: 1; visibility: visible; pointer-events: auto;}
.plc-mnav-list > li{border-bottom: var(--bw-line) solid var(--c-line);}
.plc-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;}
.plc-mnav-link:hover{background: var(--c-surface-2);}
.plc-mnav-link[aria-current="page"],.plc-mnav-link.is-current{box-shadow: inset 4px 0 0 var(--c-menu-mark);}
.plc-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);}
.plc-mdrop-menu > ul{min-height: 0; overflow: hidden;}
.plc-mdrop-menu.is-open{grid-template-rows: 1fr; visibility: visible;}
.plc-mdrop-menu .plc-mnav-link{min-height: 44px;
    padding-left: calc(var(--sp-3) * 2);
    font-weight: var(--fw-body);}
.plc-mnav .plc-chev{width: 1em; height: 1em;}
.plc-mnav-foot{display: grid; gap: var(--sp-1); padding: var(--sp-3) var(--sp-3) 0;}
html.plc-lock{overflow: hidden;}
@media (min-width: 900px){.plc-header:not(.plc-header--late) .plc-nav{display: block;}
.plc-header:not(.plc-header--late) :is(.plc-burger, .plc-mnav){display: none;}}
@media (min-width: 900px) and (max-width: 1099px){.plc-header:not(.plc-header--late) .plc-nav-list{gap: var(--sp-1);}}
.plc-hero-actions{display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-3);}}
@layer variants{.plc-ventajas--v1 .plc-grid{grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));}
.plc-ventajas--v3 .plc-grid{grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
    text-align: center;}
.plc-ventajas--v3 .plc-card{border: 0; box-shadow: none; background: none;}
.plc-proceso--p1 .plc-grid{grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));}
@media (min-width: 900px){.plc-contacto--ct4 .plc-contact-grid{display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--sp-5);}}
.plc-footer{background: var(--c-band); color: var(--c-band-ink);}
.plc-footer a{color: inherit; text-decoration: none;}
.plc-footer a:hover{text-decoration: underline;}
.plc-footer h3,.plc-footer-title{font-size: var(--fs-small); font-weight: var(--fw-strong); margin-bottom: var(--sp-2);}
.plc-footer address{font-style: normal;}
.plc-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){.plc-footer-link{min-height: 44px;}}
.plc-footer-grid{display: grid; gap: var(--sp-4); padding-block: var(--sp-5);
    grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));}
.plc-footer address ul,.plc-footer-legal{list-style: none; margin: 0; padding: 0;}
.plc-footer-legal{display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--sp-3);}
.plc-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){.plc-footer--fo1 .plc-footer-grid{grid-template-columns: 1.4fr; grid-auto-flow: column; grid-auto-columns: 1fr;}}
.plc-cta{background: var(--c-brand); color: var(--c-brand-ink);
    padding-block: var(--sp-section); text-align: center;}
.plc-cta h2{color: var(--c-brand-ink);}
.plc-cta p{color: var(--c-brand-ink); opacity: .9; max-width: 60ch; margin-inline: auto;}
.plc-cta .plc-hero-actions{justify-content: center;}
.plc-cta .plc-btn--secondary{color: var(--c-brand-ink);
    border-color: color-mix(in oklch, var(--c-brand-ink) 55%, transparent);}
.plc-cta .plc-btn--secondary:hover{background: color-mix(in oklch, var(--c-brand-ink) 12%, transparent);
    border-color: var(--c-brand-ink);}}
@layer state{:is(.plc-section--band, .plc-hero--h2, .plc-hero--h3, .plc-hero--h5, .plc-contacto--ct3, .plc-footer)
    :is(.plc-eyebrow, .plc-chip, .plc-card-link, .plc-tl-when, .plc-stat-l, .plc-signal-mark, .plc-stars, .plc-case-meta):not(:is(.plc-card, .plc-form) *){color: var(--c-band-ink);}
.plc-cta :is(.plc-eyebrow, .plc-chip){color: var(--c-brand-ink);}
:is(.plc-section--band, .plc-hero--dark, .plc-hero--h2, .plc-hero--h3, .plc-hero--h5, .plc-contacto--ct3, .plc-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(.plc-section--band, .plc-hero--dark, .plc-hero--h2, .plc-hero--h3, .plc-hero--h5, .plc-contacto--ct3, .plc-footer)
    :is(.plc-card, .plc-form, .plc-cookies){--c-brand-text: var(--c-brand-text-claro, var(--c-brand));
    --c-ink-soft: var(--c-ink-soft-claro, currentColor);}
.plc-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);}
.plc-cookies.is-visible{transform: translateY(0); visibility: visible;}
.plc-cookies .plc-container{display: flex; flex-wrap: wrap; gap: var(--sp-2);
    align-items: center; justify-content: space-between;}
.plc-cookies p{font-size: var(--fs-small); max-width: 62ch;}
.plc-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);}
.plc-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;}
.plc-bar a:first-child{background: var(--c-cta, var(--c-brand)); color: var(--c-cta-ink, var(--c-brand-ink));}
@media (min-width: 900px){.plc-bar{display: none;}}
html:has(.plc-cookies.is-visible){scroll-padding-bottom: calc(var(--cookies-h, 120px) + 16px);}
html:has(.plc-cookies.is-visible) body{padding-bottom: calc(var(--cookies-h, 120px) + 16px);}
@media (max-height: 500px) and (orientation: landscape){.plc-topbar{display: none;}
.plc-header-main{min-height: 52px; padding-block: 2px;}
.plc-cookies{padding-block: var(--sp-1);}
.plc-cookies p{font-size: var(--fs-small); line-height: 1.35;}
.plc-cookies .plc-container{display: flex; align-items: center; gap: var(--sp-2);}
.plc-cookies .plc-btn{flex: none; min-height: 40px; padding-block: 0;}
.plc-bar a{height: 44px;}
body{padding-bottom: calc(44px + env(safe-area-inset-bottom, 0px));}}
@media (max-width: 899px){.plc-cookies{bottom: calc(52px + env(safe-area-inset-bottom, 0px));}
body:not(:has(.plc-bar)) .plc-cookies{bottom: 0; padding-bottom: env(safe-area-inset-bottom, 0px);}}
@media (max-width: 899px) and (max-height: 500px) and (orientation: landscape){.plc-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{.plc-header,.plc-mnav,.plc-drop-menu,.plc-cookies,.plc-bar,.plc-cta{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;}
.plc-cta,.plc-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{.plc-prose{max-width: 68ch;}
.plc-prose p + p{margin-top: var(--sp-2);}
.plc-prose :is(strong, b){font-weight: var(--fw-strong);}
.plc-table{width: 100%; border-collapse: collapse;}
.plc-table :is(th, td){padding: var(--sp-2); text-align: left;
    border-bottom: var(--bw-line) solid var(--c-line);}
.plc-table th{font-family: var(--ff-head); font-weight: var(--fw-head);
    font-size: var(--fs-small);}
.plc-table tbody tr:nth-child(odd){background: var(--c-surface-2);}
@media (max-width: 720px){.plc-table,.plc-table tbody,.plc-table tr,.plc-table td{display: block;}
.plc-table thead{position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);}
.plc-table tr{border: var(--bw-card) solid var(--c-line);
      border-radius: var(--r-card); padding: var(--sp-2); margin-bottom: var(--sp-2);}
.plc-table td{border: 0; display: grid; grid-template-columns: 1fr 1fr;
      gap: var(--sp-2);}
.plc-table td::before{content: attr(data-th);
      font-weight: var(--fw-strong); font-size: var(--fs-small);}}
.plc-tiers{display: grid; gap: var(--sp-gap);
    grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));}}
@layer sections{.plc-v{padding-block: var(--sp-section); position: relative;}
.plc-v--oscura{background: var(--c-band); color: var(--c-band-ink);}
.plc-v--marca{background: var(--c-brand); color: var(--c-brand-ink);}
.plc-v--suave{background: var(--c-surface-2);}
.plc-v--marca :is(h2, h3, p, li, a:not(.plc-btn)){color: inherit;}
.plc-v--oscura :is(h2, h3){color: var(--c-band-ink);}
.plc-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));}
.plc-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(.plc-v--oscura, .plc-v--marca, .plc-hv--sangre) :is(.plc-card, .plc-form, .plc-v-nivel, .plc-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(.plc-v--oscura, .plc-v--marca, .plc-hv--sangre) :is(.plc-card, .plc-form, .plc-v-nivel, .plc-hv-flotante) :is(h2, h3){color: inherit;}
:is(.plc-v--oscura, .plc-v--marca, .plc-hv--sangre) .plc-btn--secondary{color: inherit; background: transparent; border-color: color-mix(in oklch, currentColor 60%, transparent);}
:is(.plc-v--oscura, .plc-v--marca, .plc-hv--sangre) .plc-btn--secondary:hover{background: transparent; border-color: currentColor; text-decoration: underline; text-underline-offset: .2em;}
.plc-v-cab{max-width: 46rem; margin-bottom: var(--sp-5);}
.plc-v-cab--centro{margin-inline: auto; text-align: center;}
.plc-v-cab p{color: var(--c-ink-soft);}
.plc-hv{padding-block: clamp(2.5rem, 6vw, 5.5rem); position: relative; isolation: isolate;}
.plc-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);}
.plc-hv-texto > p{font-size: 1.125rem; max-width: 38rem; color: var(--c-ink-soft);}
.plc-hv-acciones{display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-4);}
.plc-hv-media{position: relative;}
.plc-hv-media img{display: block; width: 100%; height: 100%; object-fit: cover; border-radius: var(--r-img, 0);}
.plc-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;}
.plc-hv-datos strong{display: block; font-family: var(--ff-head); font-size: 1.5rem; line-height: 1.1;}
.plc-hv-datos span{font-size: var(--fs-small); color: var(--c-ink-soft);}
.plc-hv--revista .plc-hv-grid{display: grid; gap: var(--sp-5); align-items: center;}
.plc-hv--revista .plc-hv-media{aspect-ratio: 3 / 4; max-height: 620px; border-right: 4px solid var(--c-brand); padding-right: var(--sp-3);}
@media (min-width: 900px){.plc-hv--revista .plc-hv-grid{grid-template-columns: 1fr 1fr;}}
.plc-v-sintomas{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); border: 1px solid var(--c-line);}
.plc-v-sintomas > *{padding: var(--card-pad, 1.5rem); border: 1px solid var(--c-line); margin: -1px 0 0 -1px; background: var(--c-surface);}
.plc-v-sintomas h3{margin-top: 0; font-size: var(--fs-h3);}
.plc-v-sintomas a{font-weight: 600;}
.plc-v-niveles{display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); align-items: stretch;}
.plc-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);}
.plc-v-nivel--destacado{border-color: var(--c-brand); box-shadow: var(--sh-card, none);}
.plc-v-nivel h3{margin: 0; font-size: var(--fs-h3);}
.plc-v-nivel ul{margin: 0; padding-left: 1.1rem; display: grid; gap: .3rem;}
.plc-v-nivel .plc-btn{margin-top: auto; align-self: flex-start;}
.plc-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));}
.plc-v-pasos > li{counter-increment: v-paso; position: relative; padding-top: 3.4rem;}
.plc-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);}
.plc-v-pasos > li::after{content: ""; position: absolute; top: 1.3rem; left: 3.2rem; right: -1rem; height: 2px; background: var(--c-line);}
.plc-v-pasos > li:last-child::after{display: none;}
.plc-v-pasos h3{margin: 0 0 .3rem; font-size: var(--fs-h3);}
@media (max-width: 899px){.plc-v-pasos > li::after{display: none;}}
.plc-v-check{display: grid; gap: var(--sp-5); align-items: center;}
.plc-v-check img{width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-img, 0); display: block;}
.plc-v-check ul{list-style: none; padding: 0; display: grid; gap: var(--sp-2);}
.plc-v-check li{padding-left: 1.9rem; position: relative;}
.plc-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){.plc-v-check{grid-template-columns: 1fr 1fr;}}
.plc-v-aviso{display: grid; gap: var(--sp-3); align-items: center;}
.plc-v-aviso h2{margin: 0;}
.plc-v-aviso p{margin: .3rem 0 0;}
@media (min-width: 900px){.plc-v-aviso{grid-template-columns: 1fr auto;}}
.plc-v-numeradas{list-style: none; padding: 0; margin: 0; counter-reset: v-num; display: grid; gap: var(--sp-4);
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));}
.plc-v-numeradas > li{counter-increment: v-num; 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); display: flex; flex-direction: column; gap: var(--sp-2);}
.plc-v-numeradas > li::before{content: counter(v-num); width: 2.2rem; height: 2.2rem; display: grid; place-items: center; font-weight: 700;
    border: 2px solid currentColor; border-radius: var(--r-btn, 4px);}
.plc-v-numeradas h3{margin: 0; font-size: var(--fs-h3);}
.plc-v-dudas{display: grid; gap: var(--sp-5);}
@media (min-width: 900px){.plc-v-dudas{grid-template-columns: .8fr 1.2fr;}
.plc-v-dudas > .plc-v-cab{position: sticky; top: 6rem; align-self: start;}}
.plc-v-cursiva{font-style: italic; font-weight: 400;}
@media (min-width: 640px){.plc-form--f2{grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--sp-3);}
.plc-form--f2 :is(.plc-field--mensaje, .plc-check, .plc-form-submit, .plc-form-msg){grid-column: 1 / -1;}}
.plc-campos--c4 .plc-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);}
.plc-campos--c4 .plc-field label{text-transform: uppercase; letter-spacing: .08em; font-size: .78rem;}}
@layer variants{.plc-header--sin-barra .plc-topbar{display: none;}
.plc-menu--m3 .plc-nav-link{position: relative;}
.plc-menu--m3 :is(.plc-nav-link:hover, .plc-nav-link[aria-current="page"], .plc-nav-link.is-current, .plc-drop.is-open > .plc-nav-link){text-decoration-line: none;}
.plc-menu--m3 :is(.plc-nav-link[aria-current="page"], .plc-nav-link.is-current, .plc-nav-link:hover)::after{content: ""; position: absolute; left: 50%; bottom: 4px; width: 6px; height: 6px; margin-left: -3px; border-radius: 50%; background: var(--c-menu-mark);}
.plc-movil--completo .plc-mnav-link{font-size: clamp(1.25rem, 5.5vw, 1.6rem); font-family: var(--ff-head); min-height: 56px;}
.plc-movil--completo .plc-mnav-list > li{border-bottom-width: 0;}
.plc-hdr--oculta{transition: transform var(--tr) var(--ease);}
html.plc-hdr-bajando .plc-hdr--oculta{transform: translateY(-100%);}
@media (prefers-reduced-motion: reduce){.plc-hdr--oculta{transition: none;}}}
@layer components{.plc-ico{width: 1.6em; height: 1.6em; flex: none; color: var(--c-brand-text); --ico-duo: var(--c-accent, var(--c-brand)); vertical-align: -.35em;}
.plc-v--oscura .plc-ico,.plc-v--marca .plc-ico{color: currentColor;}
:is(.plc-v-sintomas, .plc-v-numeradas, .plc-v-nivel) .plc-ico{width: 2.2rem; height: 2.2rem; margin-bottom: var(--sp-1); display: block;}}
@layer skin{:is(.plc-hv-media, .plc-v-fila, .plc-v-check, .plc-v-galeria, .plc-card-img) img{object-position: var(--foco, 50% 50%);}
.plc-foto--duotono{position: relative; isolation: isolate;}
.plc-foto--duotono img{filter: grayscale(1) contrast(1.1);}
.plc-foto--duotono::after{content: ""; position: absolute; inset: 0; background: var(--c-brand); mix-blend-mode: color; opacity: .9;
    pointer-events: none; border-radius: inherit;}}
@layer sections{.plc-v-decision{display: grid; gap: var(--sp-4);}
@media (min-width: 800px){.plc-v-decision{grid-template-columns: 1fr 1fr;}}
.plc-v-opcion{padding: var(--card-pad, 1.5rem); border: var(--bw-card, 1px) solid var(--c-line); border-radius: var(--r-card, 10px); background: var(--c-surface);}
.plc-v-opcion h3{margin-top: 0; font-size: var(--fs-h3);}
.plc-v-opcion ul{padding-left: 1.1rem; display: grid; gap: .4rem; margin: 0;}
.plc-v-opcion--cambiar{border-color: var(--c-brand);}
.plc-v-materiales{display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));}
.plc-v-material{padding: var(--card-pad, 1.5rem); border-radius: var(--r-card, 10px); background: var(--c-surface); border: var(--bw-card, 1px) solid var(--c-line); display: flex; flex-direction: column; gap: var(--sp-1);}
.plc-v-material h3{margin: 0; font-size: var(--fs-h3);}
.plc-v-material p:last-child{margin-top: auto; padding-top: var(--sp-1); border-top: 1px dashed var(--c-line); font-size: var(--fs-small);}
.plc-v-estaciones{display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); counter-reset: v-est;}
.plc-v-estacion{padding-left: var(--sp-3); border-left: 4px solid var(--c-accent, var(--c-brand));}
.plc-v-estacion h3{margin: 0 0 .4rem; font-size: var(--fs-h3);}
.plc-v-factores{list-style: none; padding: 0; margin: 0; display: grid; gap: var(--sp-2); counter-reset: v-fac;}
.plc-v-factores > li{counter-increment: v-fac; display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: var(--sp-2); align-items: start;
    padding: var(--sp-2) 0; border-bottom: 1px solid var(--c-line);}
.plc-v-factores > li::before{content: counter(v-fac); width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 50%;
    background: var(--c-brand-soft, var(--c-surface-2)); color: var(--c-ink); font-weight: 700;}
.plc-v-factores strong{display: block;}
.plc-v-revisar{list-style: none; padding: 0; margin: 0; display: grid; gap: var(--sp-2); grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));}
.plc-v-revisar > li{position: relative; padding: var(--sp-2) var(--sp-2) var(--sp-2) 2.6rem; background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-card, 8px);}
.plc-v-revisar > li::before{content: ""; position: absolute; left: .9rem; top: 1.05rem; width: 1rem; height: 1rem; border: 2px solid var(--c-brand); border-radius: 3px;}
.plc-v-edificios{display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));}
.plc-v-edificio h3{margin: 0 0 .4rem; font-size: var(--fs-h3);}
.plc-v-edificio{padding-top: var(--sp-2); border-top: 1px solid var(--c-line);}
.plc-v--tinte{background: color-mix(in oklch, var(--c-brand) 7%, var(--c-surface));}
.plc-v--tinte .plc-v-opcion,.plc-v--tinte .plc-v-material,.plc-v--tinte .plc-v-revisar > li{background: var(--c-surface);}}
@layer variants{.plc-header--hd9{background: color-mix(in oklch, var(--c-surface) 86%, transparent); border-bottom: 1px solid color-mix(in oklch, var(--c-line) 70%, transparent);}
@supports (backdrop-filter: blur(1px)){.plc-header--hd9{backdrop-filter: saturate(1.4) blur(12px);}}
@supports not (backdrop-filter: blur(1px)){.plc-header--hd9{background: var(--c-surface);}}
.plc-b-b1 .plc-btn{border-width: var(--bw-btn, 2px);}
:is(.plc-t-t1, .plc-t-t2, .plc-t-t3, .plc-t-t4, .plc-t-t5) :is(.plc-card, .plc-v-nivel, .plc-v-numeradas > li, .plc-v-opcion, .plc-v-material,
      .plc-v-distrito, .plc-v-revisar > li, .plc-v-sintomas > *, .plc-hv-flotante){transition: box-shadow var(--tr) var(--ease);}
.plc-t-t1 :is(.plc-card, .plc-v-material){border-style: solid;}}
@layer sections{.plc-hv-confianza{position: relative; z-index: 3; margin: calc(var(--sp-4) * -1) auto 0; width: max-content; max-width: calc(100% - 2rem);
    display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-1) var(--sp-4); list-style: none; padding: .8rem 1.4rem;
    background: var(--c-surface); color: var(--c-ink); border-radius: 999px; box-shadow: 0 10px 30px oklch(0 0 0 / .12); font-size: var(--fs-small); font-weight: 600;}
@media (max-width: 699px){.plc-hv-confianza{border-radius: var(--r-card, 12px);}}}
