@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400;500;600&display=swap');
/* PSI: maquetación en código según diseño (lienzo 1024px) */
.psi-page { background:#fff; --gold:#b8832f; --or:#b87820; --navy:#14305f; --sans:'Inter',-apple-system,sans-serif; --ser:'Source Serif 4',Georgia,serif; --cor:'Cormorant Garamond',Georgia,serif;}
.psi-page main > section, .psi-page .pf { container-type:inline-size; position:relative; width:100%; overflow:hidden;}
.psi-page main > section > *, .psi-page .pf > * { margin:0;}
.psi-page .eb { display:flex; align-items:center; font:500 0.977cqw/1 var(--sans); letter-spacing:.2em; text-transform:uppercase; color:#1f3566;}
.psi-page .eb i { display:block; width:3.418cqw; height:0.156cqw; min-height:1px; background:var(--gold); margin-right:1.953cqw;}
/* HERO */
.ph { aspect-ratio:1024/483; background:var(--img-ps-hero-bg) center/100% 100% no-repeat;}
.ph > * { position:absolute;}
.ph-rule { left:4.883cqw; top:2.441cqw; width:3.320cqw; height:0.195cqw; min-height:1px; background:var(--gold);}
.ph-eb { left:9.570cqw; top:2.051cqw; font:400 1.016cqw/1 var(--sans); letter-spacing:.125em; text-transform:uppercase; color:#1f3566; white-space:nowrap;}
.ph-h1 { left:4.688cqw; top:4.590cqw; font:400 3.955cqw/4.736cqw var(--ser); color:#0f2d63; white-space:nowrap; letter-spacing:-.03em;}
.ph-h1 span { display:block;} .ph-h1 .g { color:#b5822f;}
.ph-sub { left:4.883cqw; top:19.629cqw; font:400 1.689cqw/2.441cqw var(--sans); color:#14305f; white-space:nowrap;}
.ph-q { left:4.980cqw; top:32.227cqw; font:italic 500 1.758cqw/2.246cqw var(--cor); font-weight:600; color:#2a3a5a; white-space:nowrap;}
.ph-q cite { display:block; font:500 1.465cqw/1 var(--cor); font-style:normal; font-weight:600; letter-spacing:.14em; text-transform:uppercase; margin-top:0.879cqw; color:#22314f;}
.ph-q i { position:absolute; left:0.098cqw; top:10.156cqw; width:4.102cqw; height:0.195cqw; background:var(--gold);}
/* GANAS / AHORRAS */
.pg { aspect-ratio:1024/152; background:linear-gradient(180deg,#fff 0,#faf8f5 100%);}
.pg > div { position:absolute; top:0; height:100%;}
.pg-a { left:2.734cqw; width:47.266cqw;} .pg-b { left:52.734cqw; width:43.945cqw;}
.pg-t { position:absolute; top:0.977cqw; display:flex; align-items:center; left:2.148cqw;}
.pg-b .pg-t { left:1.953cqw; top:1.270cqw;}
.pg-t i { display:block; width:3.320cqw; height:0.156cqw; min-height:1px; background:var(--gold); margin-right:1.758cqw;}
.pg-t h2 { font:500 2.148cqw/1 var(--cor); letter-spacing:.03em; text-transform:uppercase; font-weight:600; color:#14305f;}
.pg-b .pg-t h2 { color:#b06a1c;}
.pg-i { position:absolute; left:0; right:0; top:4.004cqw; bottom:1.367cqw; display:grid;}
.pg-a .pg-i { grid-template-columns:10.938cqw 12.402cqw 12.109cqw 11.426cqw;}
.pg-b .pg-i { grid-template-columns:9.375cqw 11.035cqw 11.914cqw 11.621cqw; left:0; top:4.297cqw;}
.pg-i > div { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center;}
.pg-i > div + div::before { content:''; position:absolute; left:0; top:0.586cqw; bottom:0.586cqw; width:1px; background:#ebe5dc;}
.pg-i span { width:4.688cqw; height:4.688cqw; color:var(--or); margin:-0.781cqw 0 0cqw;}
.pg-b .pg-i span { margin-top:-0.488cqw;} .pg-b .pg-i p { margin-top:0.488cqw;} .pg-i svg { width:100%; height:100%;}
.pg-i p { font:400 1.230cqw/1.562cqw var(--sans); color:#5f6d8a; white-space:nowrap;}
.pg-v { position:absolute; left:51.172cqw; top:2.051cqw; height:10.938cqw; width:1.5px; background:#c8913f;}
/* MÉTODO */
.pm { aspect-ratio:1024/458; background:#fff;}
.pm > * { position:absolute;}
.pm .eb { left:4.199cqw; top:2.344cqw;}
.pm h2 { left:4.199cqw; top:4.492cqw; font:600 2.832cqw/3.320cqw var(--cor); text-transform:uppercase; color:#142b57; letter-spacing:.005em; white-space:nowrap;}
.pm-s { left:4.199cqw; top:7.812cqw; font:500 2.197cqw/2.539cqw var(--cor); font-weight:600; color:#1f3566; white-space:nowrap;}
.pm-r { left:61.133cqw; top:4.395cqw; font:600 1.299cqw/1.611cqw var(--cor); color:#14305f; white-space:nowrap;}
.pm-g { position:absolute; left:0; right:0; top:14.160cqw; height:29.297cqw; list-style:none; padding:0;}
.pm-g li { position:absolute; top:0; width:18.262cqw; height:28.809cqw; background:#fff; box-shadow:0 1px 6px rgba(40,40,60,.08); border-radius:0.195cqw;}
.pm-g li:nth-child(1) { left:2.637cqw;} .pm-g li:nth-child(2) { left:21.875cqw;} .pm-g li:nth-child(3) { left:41.016cqw;} .pm-g li:nth-child(4) { left:60.156cqw;} .pm-g li:nth-child(5) { left:79.297cqw;}
.pm-g img { display:block; width:100%; height:11.230cqw; object-fit:cover;}
.pm-g .n { position:absolute; left:6.836cqw; top:-2.051cqw; width:4.688cqw; height:4.688cqw; border-radius:50%; background:#fff; border:1.5px solid #c8964a; display:grid; place-items:center; font:500 3.320cqw/1 var(--cor); font-variant-numeric:lining-nums; font-weight:600; color:#b5822f; box-shadow:0 1px 4px rgba(0,0,0,.1); padding-bottom:0.293cqw;}
.pm-g h3 { position:absolute; left:0.977cqw; right:0.586cqw; top:12.012cqw; font:600 1.133cqw/1.758cqw var(--sans); text-transform:uppercase; color:#1a2c52; letter-spacing:0; white-space:nowrap;}
.pm-g p { position:absolute; left:0.977cqw; top:18.066cqw; font:400 1.143cqw/1.660cqw var(--sans); color:#8a909f; white-space:nowrap;}
/* BANNER */
.pb { aspect-ratio:1024/269; background:#3a2f26 center/100% 100% no-repeat; color:#fff;}
.pb > * { position:absolute;}
.pb h2 { left:4.883cqw; top:4.297cqw; font:500 2.109cqw/2.637cqw var(--cor); font-weight:600; text-transform:uppercase; color:#fff; letter-spacing:.02em; white-space:nowrap;}
.pb p { left:4.883cqw; top:10.156cqw; font:400 1.230cqw/1.816cqw var(--sans); color:#fff; white-space:nowrap;}
.pb-btn { left:4.883cqw; top:16.602cqw; width:24.121cqw; height:3.809cqw; display:flex; align-items:center; justify-content:center; gap:1.367cqw; background:linear-gradient(90deg,#c58f3c,#a8731f); color:#fff; text-decoration:none; font:500 1.152cqw/1 var(--sans); letter-spacing:.04em; text-transform:uppercase; border-radius:0.195cqw;}
.pb-btn svg { width:1.465cqw; height:1.465cqw;}
/* PIE */
.pf { aspect-ratio:1024/84; background:#fff;}
.pf > * { position:absolute;}
.pf-logo { left:4.688cqw; top:0.586cqw; display:block; text-decoration:none; height:4.492cqw; width:16.602cqw;}
.pf-logo img { position:absolute; left:0; top:0.195cqw; height:4.102cqw; width:auto;}
.pf-logo .n { position:absolute; left:4.883cqw; top:0.781cqw; font:500 2.197cqw/2.734cqw var(--ser); font-weight:500; color:#c07a1e; letter-spacing:.01em;}
.pf-logo .t { position:absolute; left:4.980cqw; top:3.320cqw; font:500 0.781cqw/1 var(--sans); color:#c07a1e; letter-spacing:.3em; text-transform:uppercase; white-space:nowrap;}
.pf-s1 { left:23.438cqw; top:1.758cqw; height:3.516cqw; width:1px; background:#e6dfd6;} .pf-s2 { left:69.922cqw; top:1.758cqw; height:3.516cqw; width:1px; background:#e6dfd6;}
.pf-c { left:24.414cqw; width:44.531cqw; top:2.930cqw; text-align:center; font:600 1.094cqw/1 var(--cor); letter-spacing:.09em; text-transform:uppercase; color:#14305f; white-space:nowrap;}
.pf-c b { font-weight:400; color:var(--gold); padding:0 0.781cqw;}
.pf-r { left:72.754cqw; top:2.734cqw; display:flex; align-items:center; gap:0.781cqw;}
.pf-r i { display:block; width:3.125cqw; height:0.156cqw; background:var(--gold);}
.pf-r em { font:italic 500 1.328cqw/1 var(--cor); font-weight:600; color:#14305f; white-space:nowrap;}
/* MÓVIL */
@media (max-width:760px) {
  .psi-page main > section, .psi-page .pf { aspect-ratio:auto; container-type:normal; height:auto;}
  .psi-page br.bd { display:none;}
  .psi-page .eb { font-size:11px; margin-bottom:10px;} .psi-page .eb i { width:30px; margin-right:12px;}
  .ph { padding:26px 22px 280px; background-image:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.92) 68%,rgba(255,255,255,0)),var(--img-ps-hero-bg); background-size:100% 100%,cover; background-position:0 0,65% bottom;}
  .ph > * { position:static; white-space:normal !important;}
  .ph-rule { display:none;}
  .ph-eb { font-size:11px; letter-spacing:.14em; margin-bottom:14px;}
  .ph-h1 { font-size:32px; line-height:38px; margin-bottom:14px;} .ph-sub { font-size:17px; line-height:25px; margin-bottom:16px;}
  .ph-q { font-size:18px; line-height:24px;} .ph-q cite { font-size:14px; margin-top:12px;} .ph-q i { position:static; display:block; width:40px; margin-top:10px;}
  .pg { padding:22px;} .pg > div { position:static; height:auto; margin-bottom:18px;}
  .pg-v { display:none;}
  .pg-t { position:static; margin-bottom:12px;} .pg-b .pg-t { position:static;}
  .pg-t h2 { font-size:22px;} .pg-t i { width:30px; margin-right:14px;}
  .pg-i, .pg-a .pg-i, .pg-b .pg-i { position:static; display:grid; grid-template-columns:1fr 1fr; gap:18px 8px;}
  .pg-i > div + div::before { display:none;}
  .pg-i span { width:40px; height:40px;} .pg-i p { font-size:14px; line-height:19px; white-space:normal;}
  .pm { padding:26px 22px;} .pm > * { position:static;}
  .pm h2 { font-size:27px; line-height:31px; white-space:normal; margin-bottom:6px;} .pm-s { font-size:20px; line-height:25px; margin-bottom:12px;}
  .pm-r { font-size:15.5px; line-height:21px; white-space:normal; margin-bottom:56px;}
  .pm-g { position:static; display:grid; gap:34px; height:auto;}
  .pm-g li, .pm-g li:nth-child(n) { position:relative; left:auto; width:auto; height:auto; padding-bottom:20px;}
  .pm-g img { height:170px;} .pm-g .n { left:50%; margin-left:-24px; width:48px; height:48px; font-size:30px;}
  .pm-g h3, .pm-g p { position:static; display:block; margin:12px 16px 0; white-space:normal;}
  .pm-g h3 { font-size:14px; line-height:20px; margin-top:22px;} .pm-g p { font-size:14.5px; line-height:22px;}
  .pb { padding:30px 22px; background-size:cover; background-position:55% center;}
  .pb::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,12,8,.7),rgba(15,12,8,.45));}
  .pb > * { position:relative; left:auto !important; top:auto !important; z-index:1; white-space:normal !important;}
  .pb h2 { font-size:25px; line-height:30px; margin-bottom:12px;} .pb p { font-size:15px; line-height:22px; margin-bottom:20px;}
  .pb-btn { width:100%; height:50px; font-size:13px;} .pb-btn svg { width:16px; height:16px;}
  .pf { padding:22px; text-align:center;} .pf > * { position:static !important;}
  .pf-s1, .pf-s2 { display:none;}
  .pf-logo { display:flex; align-items:center; justify-content:center; gap:10px; margin:0 auto 14px; width:auto; height:auto;}
  .pf-logo img, .pf-logo .n, .pf-logo .t { position:static !important; height:auto;} .pf-logo img { height:42px;}
  .pf-logo .n { font-size:26px; line-height:28px;} .pf-logo .t { display:block; font-size:9px;}
  .pf-c { width:auto; font-size:12px; line-height:20px; letter-spacing:.14em; white-space:normal; margin-bottom:12px;} .pf-c b { padding:0 5px;}
  .pf-r { justify-content:center;} .pf-r i { width:28px;} .pf-r em { font-size:16px;}
}
