:root{
  --pf-bg:#F5F7FB;
  --pf-panel:#E5EAF3;
  --pf-ink:#12203A;
  --pf-cobalt:#2C56C6;
  --pf-muted:#7C86A0;
  --pf-line:rgba(124,134,160,.32);
  --pf-line-firm:rgba(18,32,58,.14);
  --pf-panel-hi:#FFFFFF;
  --pf-cobalt-dk:#21429B;
  --pf-ink-soft:rgba(18,32,58,.72);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,sans-serif;
  font-size:1rem;
  line-height:1.62;
  color:var(--pf-ink);
  background:var(--pf-bg);
  padding-bottom:96px;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--pf-cobalt-dk);text-underline-offset:3px}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--pf-cobalt);outline-offset:2px}
h1,h2,h3{font-family:Sora,sans-serif;margin:0 0 .55em;color:var(--pf-ink)}
h1{font-size:clamp(2rem,1.2rem + 2.6vw,3.05rem);font-weight:700;line-height:1.06}
h2{font-size:clamp(1.45rem,1.1rem + 1.1vw,2rem);font-weight:600;line-height:1.15}
h3{font-size:1.06rem;font-weight:600;letter-spacing:.01em;line-height:1.3}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.pf-shell{
  max-width:1180px;
  margin:0 auto;
  padding:0 clamp(16px,4vw,34px) 72px;
}
.pf-band{padding:42px 0;border-top:1px solid var(--pf-line-firm)}
.pf-band:first-of-type{border-top:0;padding-top:28px}

/* Barra flotante */
.pf-bar{position:sticky;top:14px;z-index:40;padding-top:8px}
.pf-bar__pill{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid var(--pf-line);
  border-radius:999px;
  padding:9px 9px 9px 20px;
  box-shadow:0 6px 20px rgba(18,32,58,.08);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.pf-bar__brand{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:Sora,sans-serif;
  font-weight:700;
  font-size:1.04rem;
  color:var(--pf-ink);
  text-decoration:none;
  flex-shrink:0;
}
.pf-bar__brand:hover{text-decoration:none;color:var(--pf-cobalt-dk)}
.pf-bar__brand svg{display:block;width:20px;height:20px}
.pf-bar__links{
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.pf-bar__link{
  font-family:Inter,sans-serif;
  font-weight:600;
  font-size:.88rem;
  color:var(--pf-ink);
  text-decoration:none;
  padding:7px 11px;
  border-radius:999px;
}
.pf-bar__link:hover{color:var(--pf-cobalt-dk);text-decoration:none;background:rgba(44,86,198,.08)}
.pf-bar__link--on{color:var(--pf-cobalt-dk);background:rgba(44,86,198,.10)}
.pf-bar__cta{margin-left:6px;flex-shrink:0}
.pf-bar__toggle{
  display:none;
  width:42px;height:42px;
  border:0;background:transparent;
  border-radius:999px;
  cursor:pointer;
  padding:10px;
}
.pf-bar__toggle span{
  display:block;height:2px;margin:5px 0;background:var(--pf-ink);border-radius:2px;
}
.pf-drawer{
  display:none;
  margin-top:8px;
  background:var(--pf-panel-hi);
  border:1px solid var(--pf-line);
  border-radius:14px;
  box-shadow:0 8px 24px rgba(18,32,58,.08);
  padding:10px;
}
.pf-drawer a{
  display:block;
  padding:11px 14px;
  border-radius:10px;
  text-decoration:none;
  color:var(--pf-ink);
  font-weight:600;
  font-size:.92rem;
}
.pf-drawer a:hover,.pf-drawer a.pf-bar__link--on{
  background:rgba(44,86,198,.10);
  color:var(--pf-cobalt-dk);
  text-decoration:none;
}
.pf-drawer--on{display:block}

.pf-btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:Inter,sans-serif;font-weight:600;font-size:.88rem;
  line-height:1.2;text-decoration:none;border-radius:999px;
  padding:10px 16px;cursor:pointer;border:1px solid transparent;
}
.pf-btn:hover{text-decoration:none}
.pf-btn--solid{background:var(--pf-cobalt);color:#FFFFFF;border-color:var(--pf-cobalt)}
.pf-btn--solid:hover{background:var(--pf-cobalt-dk);color:#FFFFFF;border-color:var(--pf-cobalt-dk)}
.pf-btn--ghost{background:#FFFFFF;color:var(--pf-ink);border:1px solid var(--pf-line-firm)}
.pf-btn--ghost:hover{background:var(--pf-panel);color:var(--pf-ink)}
.pf-btn--on-ink{background:#FFFFFF;color:#12203A;border-color:#FFFFFF}
.pf-btn--on-ink:hover{background:var(--pf-panel);color:#12203A}
.pf-btn--ghost-on-ink{background:transparent;color:#FFFFFF;border:1px solid #FFFFFF}
.pf-btn--ghost-on-ink:hover{background:rgba(255,255,255,.12);color:#FFFFFF}
.pf-hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 26px}

/* Cabecera del tablero */
.pf-hero{padding:36px 0 12px}
.pf-hero__grid,.pf-split{
  display:grid;
  grid-template-columns:1.22fr .78fr;
  gap:28px;
  align-items:start;
}
.pf-hero__claim{margin-bottom:.4em}
.pf-hero__sub{color:var(--pf-ink-soft);max-width:40rem}
.pf-kpi{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.pf-kpi__cell{
  background:var(--pf-panel-hi);
  border:1px solid var(--pf-line);
  border-radius:14px;
  padding:14px 12px;
  box-shadow:0 1px 2px rgba(18,32,58,.05);
}
.pf-kpi__num{
  font-family:Sora,sans-serif;
  font-weight:700;
  font-size:clamp(1.9rem,1.4rem + 1.6vw,2.75rem);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
  line-height:1;
  color:var(--pf-ink);
}
.pf-kpi__label{
  display:block;
  margin-top:8px;
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--pf-muted);
}
.pf-status{
  background:var(--pf-panel);
  border:1px solid var(--pf-line);
  border-radius:14px;
  padding:18px 18px 14px;
}
.pf-status h2{font-size:1.06rem;margin-bottom:14px}
.pf-status__row{
  display:grid;
  grid-template-columns:1.2fr .9fr auto;
  gap:8px;
  align-items:center;
  padding:9px 0;
  border-top:1px solid var(--pf-line);
  font-size:.92rem;
}
.pf-status__row:first-of-type{border-top:0}
.pf-status__dot{
  width:8px;height:8px;border-radius:50%;background:var(--pf-cobalt);display:inline-block;
}
.pf-status__dot--off{background:var(--pf-muted)}
.pf-status__note{
  margin-top:12px;
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--pf-muted);
}

.pf-board{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(258px,1fr));
  gap:16px;
}
.pf-card{
  background:var(--pf-panel-hi);
  border:1px solid var(--pf-line);
  border-radius:14px;
  box-shadow:0 1px 2px rgba(18,32,58,.05);
  padding:16px 16px 14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:border-color .2s ease,transform .2s ease;
}
.pf-card:hover{border-color:var(--pf-cobalt);transform:translateY(-2px)}
.pf-card__head h3{margin:0}
.pf-card__meta{
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--pf-muted);
}
.pf-card__body{color:var(--pf-ink-soft);flex:1}
.pf-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.pf-tick{
  display:inline-block;
  font-size:.72rem;
  font-weight:600;
  background:rgba(44,86,198,.10);
  color:var(--pf-cobalt-dk);
  border-radius:999px;
  padding:3px 9px;
  letter-spacing:.02em;
}
.pf-card a.pf-more{
  font-weight:600;
  font-size:.88rem;
  text-decoration:none;
  color:var(--pf-cobalt-dk);
}
.pf-card a.pf-more:hover{text-decoration:underline}

.pf-aside{
  position:sticky;
  top:92px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.pf-aside__unit{
  background:var(--pf-panel);
  border:1px solid var(--pf-line);
  border-radius:14px;
  padding:16px;
}
.pf-aside__unit h2,.pf-aside__unit h3{font-size:1.06rem;margin-bottom:10px}
.pf-aside__unit ul{margin:0;padding-left:1.1rem}
.pf-aside__unit li{margin:.35em 0}
.pf-aside__unit a{text-decoration:none}
.pf-aside__unit a:hover{text-decoration:underline}

.pf-ledger{
  border:1px solid var(--pf-line);
  border-radius:14px;
  overflow:hidden;
  background:var(--pf-panel-hi);
  font-variant-numeric:tabular-nums;
}
.pf-ledger__row{
  display:grid;
  grid-template-columns:.34fr .66fr;
  gap:12px;
  padding:11px 14px;
  border-top:1px solid var(--pf-line);
  align-items:start;
}
.pf-ledger__row:first-child{border-top:0;font-weight:600;font-family:Sora,sans-serif;font-size:.88rem}
.pf-ledger__row:nth-child(odd){background:rgba(229,234,243,.55)}
.pf-ledger--3 .pf-ledger__row{grid-template-columns:1.1fr .9fr .9fr}
.pf-ledger__key{font-weight:600;color:var(--pf-ink)}
.pf-ledger__val{color:var(--pf-ink-soft)}
.pf-note{
  margin-top:10px;
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--pf-muted);
}

.pf-steps{display:flex;flex-direction:column;gap:0;border-left:2px solid var(--pf-line);padding-left:22px}
.pf-steps__item{position:relative;padding:0 0 26px}
.pf-steps__item:last-child{padding-bottom:0}
.pf-steps__item::before{
  content:attr(data-n);
  position:absolute;left:-35px;top:0;
  width:24px;height:24px;border-radius:50%;
  background:var(--pf-cobalt);color:#FFFFFF;
  font-family:Sora,sans-serif;font-size:.72rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.pf-steps__item h3{margin-bottom:.4em}

.pf-faq{display:flex;flex-direction:column;gap:8px}
.pf-faq__q{
  background:var(--pf-panel-hi);
  border:1px solid var(--pf-line);
  border-radius:14px;
  padding:12px 16px;
}
.pf-faq__q summary{
  font-family:Sora,sans-serif;
  font-weight:600;
  cursor:pointer;
  list-style:none;
}
.pf-faq__q summary::-webkit-details-marker{display:none}
.pf-faq__a{margin-top:10px;color:var(--pf-ink-soft)}

.pf-form{display:flex;flex-direction:column;gap:14px;position:relative}
.pf-form__field{display:flex;flex-direction:column;gap:6px}
.pf-form__field label{font-weight:600;font-size:.92rem}
.pf-form__field input,
.pf-form__field select,
.pf-form__field textarea{
  font:inherit;color:var(--pf-ink);
  background:var(--pf-panel-hi);
  border:1px solid var(--pf-line-firm);
  border-radius:10px;
  padding:10px 12px;
}
.pf-form__field textarea{min-height:140px;resize:vertical}
.pf-form__check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem}
.pf-form__check input{margin-top:4px}
.pf-form__note{font-size:.92rem;color:var(--pf-ink-soft)}
.pf-form__ok,.pf-form__bad{
  border-radius:14px;padding:14px 16px;margin-bottom:18px;
}
.pf-form__ok{background:rgba(44,86,198,.10);color:var(--pf-ink);border:1px solid var(--pf-line)}
.pf-form__bad{background:#FFFFFF;color:var(--pf-ink);border:1px solid var(--pf-cobalt)}
.pf-form__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.pf-pics{
  display:grid;
  grid-template-columns:1.22fr .78fr;
  gap:18px;
  align-items:start;
}
.pf-pics figure,.pf-shot figure{margin:0}
.pf-pics img,.pf-shot img{
  width:100%;border-radius:14px;border:1px solid var(--pf-line);
  object-fit:cover;max-height:440px;
}
.pf-pics figcaption,.pf-shot figcaption{
  margin-top:8px;
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--pf-muted);
}
.pf-shot{margin:0}
.pf-map{margin-top:28px;border-radius:14px;overflow:hidden;border:1px solid var(--pf-line)}
.pf-map__frame{display:block;width:100%}

.pf-cta{
  background:var(--pf-ink);
  color:#FFFFFF;
  border-radius:14px;
  padding:32px 28px;
}
.pf-cta h2{color:#FFFFFF}
.pf-cta p{color:rgba(255,255,255,.80);max-width:40rem}
.pf-cta__acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

.pf-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.pf-cols .pf-card{height:100%}
.pf-list{margin:0;padding-left:1.15rem}
.pf-list li{margin:.55em 0}

.pf-data dt{font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--pf-muted);margin-top:12px}
.pf-data dd{margin:2px 0 0}

.lift-in{opacity:1;transform:none}
html.js .lift-in{opacity:0;transform:translateY(12px);transition:opacity .48s ease,transform .48s ease}
html.js .lift-in.pf-shown{opacity:1;transform:none}
.no-js .lift-in{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){
  .lift-in,html.js .lift-in{opacity:1!important;transform:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

.pf-foot{
  background:var(--pf-ink);
  color:rgba(255,255,255,.80);
  padding:18px clamp(16px,4vw,34px);
  font-size:.84rem;
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  justify-content:space-between;
  align-items:center;
}
.pf-foot a{color:#FFFFFF;text-decoration:none}
.pf-foot a:hover{text-decoration:underline;color:#FFFFFF}
.pf-foot__dim{color:rgba(255,255,255,.62);font-size:.78rem}

.pf-cookie{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  background:var(--pf-ink);color:#FFFFFF;
  padding:14px clamp(16px,4vw,34px);
  display:flex;flex-wrap:wrap;gap:12px 20px;
  justify-content:space-between;align-items:center;
  border-top:1px solid rgba(255,255,255,.12);
}
.pf-cookie__txt{margin:0;max-width:52rem;color:#FFFFFF}
.pf-cookie__txt a{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}
.pf-cookie__acts{display:flex;gap:8px;flex-shrink:0}

@media (min-width:821px){
  .pf-drawer,.pf-drawer--on{display:none !important}
}
@media (max-width:900px){
  .pf-hero__grid,.pf-split,.pf-pics{grid-template-columns:1fr}
  .pf-aside{position:static}
  .pf-cols{grid-template-columns:1fr}
  .pf-ledger--3 .pf-ledger__row{grid-template-columns:1fr}
}
@media (max-width:820px){
  .pf-bar__links,.pf-bar__cta{display:none}
  .pf-bar__toggle{display:block}
  .pf-kpi{grid-template-columns:1fr}
  .pf-status__row{grid-template-columns:1fr auto;gap:4px}
}
@media (max-width:560px){
  .pf-ledger__row{grid-template-columns:1fr}
}
