/*
 * Portada CREDICOSMOS — dirección editorial de alto contraste.
 * Referencia estructural: páginas fintech con mucho aire, producto protagonista
 * y alternancia de superficies claras/oscuras. Los tokens y activos siguen
 * perteneciendo a CREDICOSMOS.
 */

body.home-revolut{
  --home-paper:#f8f7ef;
  --home-white:#fff;
  --home-ink:#24102b;
  --home-dark:#180b1d;
  --home-muted:rgba(36,16,43,.66);
  --home-line:rgba(36,16,43,.13);
  background:var(--home-paper);
  color:var(--home-ink);
  font-size:16px;
  line-height:1.55;
}

.home-revolut .wrap{width:min(1240px,calc(100vw - 64px))}
.home-revolut section{scroll-margin-top:78px}
.home-revolut .rail{display:none}
.home-revolut .pad{padding:clamp(7rem,10vw,10.5rem) 0}
.home-revolut .shead{max-width:780px;margin-bottom:clamp(3.5rem,6vw,6rem)}
.home-revolut .shead.center{max-width:880px}
.home-revolut .shead .lead{max-width:650px;margin:1.4rem auto 0}

.home-revolut h1,
.home-revolut h2,
.home-revolut h3,
.home-revolut h4{
  font-family:var(--sans);
  color:var(--home-ink);
}
.home-revolut h1,
.home-revolut h2{
  font-weight:700;
  letter-spacing:-.052em;
  line-height:.94;
  text-transform:uppercase;
}
.home-revolut h1{font-size:clamp(3.7rem,6.2vw,6.25rem);max-width:8.8ch}
.home-revolut h2{font-size:clamp(3rem,5.6vw,5.6rem)}
.home-revolut h1 em,
.home-revolut h2 em,
.home-revolut h3 em{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.035em;
  text-transform:none;
}
.home-revolut .lead{font-size:clamp(1rem,.94rem + .25vw,1.18rem);color:var(--home-muted)}
.home-revolut .eyebrow{
  margin-bottom:1.4rem;
  color:var(--home-muted);
  font-size:.68rem;
  letter-spacing:.16em;
}
.home-revolut .eyebrow::before{width:20px;background:var(--coral);height:2px}
.home-revolut mark,
.home-revolut .mk{
  padding:.01em .16em .08em;
  border-radius:.1em;
}
.home-revolut .hero h1 mark{white-space:nowrap}

.home-revolut .btn{
  min-height:48px;
  padding:.95em 1.65em;
  border-width:1px;
  font-size:.86rem;
  letter-spacing:-.01em;
  box-shadow:none;
}
.home-revolut .btn:hover{transform:translateY(-1px)}
.home-revolut .btn-primary{background:var(--coral);color:var(--plum);box-shadow:none}
.home-revolut .btn-primary:hover{background:#ff8b6d;box-shadow:none}
.home-revolut .btn-line{border-color:rgba(36,16,43,.28);background:transparent}
.home-revolut .btn-line:hover{background:var(--home-white);border-color:var(--home-ink)}

/* Navegación delgada, directa y sin cápsula flotante. */
.home-revolut .nav{
  top:0;
  padding:0;
  background:rgba(248,247,239,.94);
  border-bottom:1px solid transparent;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.home-revolut .nav.stuck{padding:0;border-bottom-color:var(--home-line)}
.home-revolut .nav .wrap{width:min(1320px,calc(100vw - 48px))}
.home-revolut .nav .row{
  min-height:78px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
@supports (backdrop-filter:blur(1px)){
  .home-revolut .nav .row{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
}
.home-revolut .nav.stuck .row{box-shadow:none}
.home-revolut .nav .logo .logo-iso{height:23px}
.home-revolut .nav .logo .logo-word{height:17px}
.home-revolut .nav nav{gap:1.55rem}
.home-revolut .nav nav a{color:var(--home-ink);font-size:.78rem;font-weight:700}
.home-revolut .nav nav a.btn{color:var(--plum);padding:.82em 1.35em;min-height:38px}

/* Hero: mensaje editorial a la izquierda, escultura propia a la derecha. */
.home-revolut .hero{
  min-height:calc(100vh - 78px);
  padding:clamp(5rem,8vw,8rem) 0 clamp(6rem,9vw,9rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:var(--home-paper);
}
.home-revolut .hero .grid{
  grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);
  gap:clamp(4rem,7vw,8rem);
  align-items:center;
}
.home-revolut .hero h1{margin:0}
.home-revolut .hero h1 .l2{display:block;margin-top:.06em}
.home-revolut .hero .lead{max-width:480px;margin-top:2.15rem;color:var(--home-ink)}
.home-revolut .hero .cta{margin-top:2.35rem;gap:.8rem}
.home-revolut .hero .under{
  margin-top:2.15rem;
  padding-top:1.35rem;
  max-width:520px;
  border-top:1px solid var(--home-line);
  color:var(--home-muted);
  font-size:.76rem;
}
.home-revolut .hero .under svg{color:var(--coral-ink);width:13px;height:13px}
.home-revolut .hero-mark{
  order:initial;
  position:relative;
  display:grid;
  place-items:center;
  min-width:0;
  gap:.5rem;
  isolation:isolate;
}
.home-revolut .hero-mark::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:86%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(255,122,86,.14) 0,
    rgba(255,122,86,.055) 44%,
    transparent 72%);
  filter:blur(18px);
}
.home-revolut .hero-mark img{
  width:min(680px,104%);
  max-width:none;
  height:auto;
  display:block;
  transform:translateX(6%);
  mix-blend-mode:multiply;
  filter:saturate(1.01) contrast(1.015);
  -webkit-mask-image:radial-gradient(ellipse 49% 47% at 51% 52%,
    #000 0,
    #000 78%,
    rgba(0,0,0,.94) 85%,
    rgba(0,0,0,.48) 93%,
    transparent 100%);
  mask-image:radial-gradient(ellipse 49% 47% at 51% 52%,
    #000 0,
    #000 78%,
    rgba(0,0,0,.94) 85%,
    rgba(0,0,0,.48) 93%,
    transparent 100%);
}
.home-revolut .hero-mark .slogan{
  position:absolute;
  right:1%;
  bottom:2%;
  padding:.8rem 1.1rem;
  background:var(--home-dark);
  color:var(--cream);
  border-radius:999px;
  letter-spacing:.14em;
  font-size:.58rem;
}
.home-revolut .hero-foot{display:none}

/* Franja de argumentos: reemplaza métricas no verificadas por atributos del producto. */
.home-revolut .metrics{
  padding:0;
  background:var(--home-white);
  border-top:1px solid var(--home-line);
  border-bottom:1px solid var(--home-line);
}
.home-revolut .metrics .item{padding:2.1rem 1.4rem;text-align:left}
.home-revolut .metrics .item+.item{border-left:1px solid var(--home-line)}
.home-revolut .metrics .num{
  font-family:var(--sans);
  font-size:clamp(1.08rem,1.6vw,1.4rem);
  font-weight:700;
  letter-spacing:-.035em;
  color:var(--home-ink);
}
.home-revolut .metrics .lab{
  margin-top:.35rem;
  color:var(--home-muted);
  font-size:.6rem;
  letter-spacing:.14em;
}

/* Tres promesas como colección, con una silueta clara y sin tarjetas genéricas. */
.home-revolut .closer{background:var(--home-white)}
.home-revolut .closer .shead{max-width:950px}
.home-revolut .closer .cgrid{
  width:min(1020px,100%);
  margin:0 auto;
  border-top:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  align-items:end;
}
.home-revolut .ccard{
  min-height:330px;
  padding:2.2rem;
  border:1px solid var(--home-line)!important;
  border-radius:26px;
  background:var(--home-paper);
  justify-content:space-between;
  overflow:hidden;
  position:relative;
}
.home-revolut .ccard::before{
  content:"";
  display:block;
  width:64px;
  height:8px;
  margin-bottom:auto;
  border-radius:999px;
  background:var(--coral);
}
.home-revolut .ccard:nth-child(2){transform:translateY(36px);background:var(--cream)}
.home-revolut .ccard:nth-child(3)::before{background:var(--mint)}
.home-revolut .ccard .cq{
  margin-top:3.4rem;
  font-family:var(--sans);
  font-size:clamp(1.45rem,2.3vw,2.1rem);
  line-height:1.02;
  font-weight:700;
  letter-spacing:-.045em;
  text-transform:uppercase;
  color:var(--home-ink);
}
.home-revolut .ccard .cd{margin-top:1.1rem;color:var(--home-muted);font-size:.9rem}

/* El simulador se presenta como el producto central, no como un formulario suelto. */
.home-revolut .sim{
  background:var(--home-paper);
  border:0;
}
.home-revolut .sim>.iso-bg{display:none}
.home-revolut .sim .shead{max-width:960px}
.home-revolut .sim-grid{
  max-width:1060px;
  margin:0 auto;
  gap:12px;
  padding:12px;
  border-radius:34px;
  background:#e9e7ec;
  border:1px solid rgba(36,16,43,.08);
}
.home-revolut .sim-controls,
.home-revolut .sim-result{
  padding:clamp(1.6rem,3vw,2.7rem);
  border:0;
  border-radius:24px;
  background:var(--home-white);
}
.home-revolut .sim-field label,
.home-revolut .rlabel{color:var(--home-muted);letter-spacing:.14em}
.home-revolut .sim-amount,
.home-revolut .sim-cuotaval{
  font-family:var(--sans);
  font-weight:700;
  letter-spacing:-.045em;
  color:var(--home-ink);
}
.home-revolut .sim-range{height:6px;background:linear-gradient(90deg,var(--coral) var(--pct,25%),rgba(36,16,43,.12) var(--pct,25%))}
.home-revolut .sim-range::-webkit-slider-thumb{background:var(--home-ink);border-color:var(--home-white);box-shadow:none}
.home-revolut .sim-range::-moz-range-thumb{background:var(--home-ink);border-color:var(--home-white);box-shadow:none}
.home-revolut .sim-cuota{
  border-radius:999px;
  aspect-ratio:auto;
  min-height:38px;
  font-family:var(--sans);
  font-size:.88rem;
  font-weight:700;
}
.home-revolut .sim-cuota[aria-pressed=true]{background:var(--coral);border-color:var(--coral)}
.home-revolut .sim-plan{max-width:1060px;margin:14px auto 0;background:var(--home-white);border:1px solid var(--home-line);border-radius:24px}

/* Bloque inmersivo equivalente al gran corte negro de la referencia. */
.home-revolut .hiw-pin{background:var(--home-dark);color:var(--cream)}
.home-revolut .hiw-sticky{background:var(--home-dark)}
.home-revolut .hiw-grid{gap:clamp(3rem,7vw,8rem)}
.home-revolut .hiw-head h2,
.home-revolut .hiw-pin h3{color:var(--cream)}
.home-revolut .hiw-head .eyebrow{color:rgba(241,239,224,.66)}
.home-revolut .hiw-item{border-color:rgba(241,239,224,.16)}
.home-revolut .hiw-item:last-child{border-color:rgba(241,239,224,.16)}
.home-revolut .hiw-btn{font-family:var(--sans);color:rgba(241,239,224,.46);font-weight:700}
.home-revolut .hiw-item.on .hiw-btn{color:var(--cream)}
.home-revolut .hiw-n{border-color:rgba(241,239,224,.22);color:rgba(241,239,224,.48)}
.home-revolut .hiw-item.on .hiw-n{background:var(--coral);border-color:var(--coral);color:var(--plum)}
.home-revolut .hiw-item.done .hiw-n{border-color:var(--coral);color:var(--coral)}
.home-revolut .hiw-body p{color:rgba(241,239,224,.68)}
.home-revolut .hiw-bar{background:rgba(241,239,224,.14)}
.home-revolut .hiw-stage{
  max-height:62vh;
  background:#25122b;
  color:var(--cream);
  border:1px solid rgba(241,239,224,.14);
  border-radius:32px;
}
.home-revolut .hiw-stage .iso-bg{color:var(--coral);opacity:.12}
.home-revolut .hiw-ghost{color:var(--cream);opacity:.06}
.home-revolut .mock-ttl,
.home-revolut .stamp .big{color:var(--cream);font-family:var(--sans);font-weight:700}
.home-revolut .mock-sub,
.home-revolut .rowline{color:rgba(241,239,224,.68)}
.home-revolut .rowline{border-color:rgba(241,239,224,.15)}
.home-revolut .bar{background:rgba(241,239,224,.16)}
.home-revolut .bar.f{background:var(--coral)}
.home-revolut .chipx{border-color:rgba(241,239,224,.18);color:rgba(241,239,224,.72)}

/* Dónde usarlo: dos superficies grandes, claras y legibles. */
.home-revolut #donde{background:var(--home-white)}
.home-revolut #donde .shead{max-width:900px}
.home-revolut .where-grid{gap:14px}
.home-revolut .wcard{
  min-height:500px;
  padding:clamp(2rem,4vw,3.4rem);
  border-radius:28px;
  border:0;
  background:var(--home-paper);
}
.home-revolut .wcard.soon{background:var(--home-ink);color:var(--cream)}
.home-revolut .wcard.soon h3{color:var(--cream)}
.home-revolut .wcard.soon>p,
.home-revolut .wcard.soon li{color:rgba(241,239,224,.7)}
.home-revolut .wcard.soon .tag-line{border-color:rgba(241,239,224,.24);color:var(--cream)}
.home-revolut .wcard.soon .wlink{color:var(--cream)}
.home-revolut .wcard h3{
  margin-top:auto;
  font-size:clamp(2rem,3.5vw,3.3rem);
  line-height:.98;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.home-revolut .wcard>p{max-width:46ch}
.home-revolut .wcard .iso-bg{width:64%;opacity:.09;bottom:auto;top:12%;right:-8%}

.home-revolut .purpose{
  background:var(--coral);
  border:0;
}
.home-revolut .purpose .big{
  max-width:22ch;
  font-family:var(--sans);
  font-size:clamp(2.3rem,4.9vw,5rem);
  line-height:1;
  font-weight:700;
  letter-spacing:-.05em;
  text-transform:uppercase;
  color:var(--plum);
}
.home-revolut .purpose mark{background:var(--cream)}
.home-revolut .purpose .mk-mint{background:var(--mint)}

/* Beneficios: sistema de tarjetas compacto, inspirado en módulos de seguridad. */
.home-revolut #beneficios{background:var(--home-paper)}
.home-revolut #beneficios .shead{margin-inline:auto;text-align:center;max-width:820px}
.home-revolut #beneficios .eyebrow{justify-content:center}
.home-revolut .cards{gap:12px;border:0;grid-template-columns:repeat(3,1fr)}
.home-revolut .bcard{
  min-height:260px;
  padding:2rem;
  border:0!important;
  border-radius:22px;
  background:var(--home-white);
  display:flex;
  flex-direction:column;
}
.home-revolut .bcard .bic{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--coral);
  color:var(--plum);
}
.home-revolut .bcard .bic svg{width:22px;height:22px}
.home-revolut .bcard h3{
  margin-top:auto;
  font-size:1.2rem;
  line-height:1.08;
  font-weight:700;
  letter-spacing:-.025em;
}
.home-revolut .bcard p{color:var(--home-muted);font-size:.88rem}

.home-revolut .icp{
  background:var(--home-white);
  border:0;
}
.home-revolut .icp-grid{grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,9rem)}
.home-revolut .icp-line{
  max-width:19ch;
  font-family:var(--sans);
  font-size:clamp(2rem,3.6vw,3.8rem);
  line-height:1.25;
  font-weight:700;
  letter-spacing:-.045em;
}
.home-revolut .icp-seg{display:inline;color:rgba(36,16,43,.36)}
.home-revolut .icp-seg.on{color:var(--home-ink);background:var(--coral)}

/* Pagos: superficie oscura y tarjetas blancas como la zona de planes del referente. */
.home-revolut .pay{background:var(--home-dark);color:var(--cream)}
.home-revolut .pay h2{color:var(--cream)}
.home-revolut .pay .eyebrow,
.home-revolut .pay .lead{color:rgba(241,239,224,.68)}
.home-revolut .pay-grid{gap:12px}
.home-revolut .pay-card{
  min-height:300px;
  padding:2rem;
  background:var(--home-white);
  border:0;
  border-radius:20px;
}
.home-revolut .pay-bank,
.home-revolut .pay-num{font-family:var(--sans);font-weight:700;letter-spacing:-.035em}
.home-revolut .pay-bank{font-size:1.12rem}
.home-revolut .pay-num{font-size:clamp(1.4rem,2vw,1.8rem)}
.home-revolut .pay-banner{
  background:#28142f;
  color:rgba(241,239,224,.72);
  border:1px solid rgba(241,239,224,.14);
  border-radius:16px;
}
.home-revolut .pay-banner b,
.home-revolut .pay-banner a{color:var(--cream)}

.home-revolut .pagui{
  background:rgba(255,122,86,.08);
  border:0;
}
.home-revolut #pagui h2{max-width:16ch}
.home-revolut .pgcols{border-color:var(--home-line)}
.home-revolut .pgcol+.pgcol{border-color:var(--home-line)}

.home-revolut #preguntas{background:var(--home-white)}
.home-revolut #preguntas .wrap{max-width:980px!important}
.home-revolut .faq details{border-color:var(--home-line)}
.home-revolut .faq summary{
  padding:1.6rem 0;
  font-family:var(--sans);
  font-weight:700;
  font-size:1rem;
}
.home-revolut .faq details p{color:var(--home-muted)}

.home-revolut .final{
  min-height:70vh;
  display:grid;
  align-items:center;
  background:var(--home-paper);
}
.home-revolut .final h2{max-width:13ch}
.home-revolut .final .iso-bg{opacity:.055;width:min(760px,80vw)}

.home-revolut footer.site{
  padding:6.5rem 0 2.5rem;
  background:var(--home-dark);
}
.home-revolut footer.site .top{grid-template-columns:1fr 1.7fr;gap:clamp(3rem,8vw,8rem)}
.home-revolut footer.site .tag-line-txt{font-size:.88rem}
.home-revolut footer.site .cols{gap:2.5rem}
.home-revolut footer.site .cols a{font-size:.82rem}

@media (max-width:1050px){
  .home-revolut .nav nav{gap:1rem}
  .home-revolut .nav nav a{font-size:.72rem}
  .home-revolut .hero .grid{
    grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);
    gap:clamp(2.5rem,5vw,4rem);
  }
  .home-revolut .hero-mark img{width:min(620px,102%);transform:translateX(3%)}
}

@media (max-width:900px){
  .home-revolut .wrap{width:min(100% - 40px,760px)}
  .home-revolut .pad{padding:6.5rem 0}
  .home-revolut .nav .wrap{width:calc(100vw - 32px)}
  .home-revolut .nav .row{min-height:68px}
  .home-revolut .nav nav{
    inset:calc(100% + 1px) 0 auto;
    background:var(--home-paper);
    border:0;
    border-radius:0 0 20px 20px;
    box-shadow:0 24px 44px -26px rgba(36,16,43,.55);
  }
  .home-revolut .nav nav a{font-size:.95rem}
  .home-revolut .hero{min-height:auto;padding:4.5rem 0 6rem}
  .home-revolut .hero .grid{grid-template-columns:1fr;gap:3.5rem}
  .home-revolut .hero-mark{order:initial}
  .home-revolut .hero-mark img{width:min(600px,100%);transform:none}
  .home-revolut .hero-mark .slogan{right:3%;bottom:2%}
  .home-revolut .closer .cgrid{grid-template-columns:1fr;max-width:600px}
  .home-revolut .ccard{min-height:280px}
  .home-revolut .ccard:nth-child(2){transform:none}
  .home-revolut .hiw-grid{grid-template-columns:1fr}
  .home-revolut .hiw-stage{aspect-ratio:4/3;max-height:none}
  .home-revolut .where-grid,
  .home-revolut .sim-grid,
  .home-revolut .icp-grid{grid-template-columns:1fr}
  .home-revolut .wcard{min-height:430px}
  .home-revolut .cards{grid-template-columns:repeat(2,1fr)}
  .home-revolut footer.site .top{grid-template-columns:1fr}
}

@media (max-width:620px){
  .home-revolut .wrap{width:calc(100vw - 32px)}
  .home-revolut .pad{padding:5rem 0}
  .home-revolut h1{font-size:clamp(3rem,16vw,4.4rem)}
  .home-revolut h2{font-size:clamp(2.55rem,13vw,3.8rem)}
  .home-revolut .hero{padding-top:3.5rem}
  .home-revolut .hero .lead{font-size:1rem}
  .home-revolut .hero .cta{display:grid}
  .home-revolut .hero .under{display:grid;gap:.55rem}
  .home-revolut .hero-mark img{width:100%;transform:none}
  .home-revolut .metrics .row{grid-template-columns:1fr 1fr;gap:0}
  .home-revolut .metrics .item{padding:1.5rem 1rem}
  .home-revolut .metrics .item:nth-child(odd){border-left:0}
  .home-revolut .metrics .item:nth-child(even){border-left:1px solid var(--home-line)}
  .home-revolut .metrics .item:nth-child(n+3){border-top:1px solid var(--home-line)}
  .home-revolut .metrics .num{font-size:1rem}
  .home-revolut .ccard{min-height:250px;padding:1.6rem}
  .home-revolut .sim-grid{padding:7px;border-radius:24px}
  .home-revolut .sim-controls,
  .home-revolut .sim-result{border-radius:18px}
  .home-revolut .sim-cuotas{grid-template-columns:repeat(4,1fr);gap:.45rem}
  .home-revolut .hiw-stage{aspect-ratio:1/1}
  .home-revolut .scene{padding:1.4rem}
  .home-revolut .wcard{min-height:390px;padding:1.7rem}
  .home-revolut .cards{grid-template-columns:1fr}
  .home-revolut .bcard{min-height:230px}
  .home-revolut .pay-grid{grid-template-columns:1fr}
  .home-revolut .pgcols,
  .home-revolut .how{grid-template-columns:1fr}
  .home-revolut .pgcol{padding:1.6rem 0}
  .home-revolut .pgcol+.pgcol{border-left:0;border-top:1px solid var(--home-line)}
  .home-revolut .final{min-height:auto}
}

@media (prefers-reduced-motion:reduce){
  .home-revolut .ccard:nth-child(2){transform:none}
}
