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