/* ==========================================================================
   WELUX EXCHANGE — v2 «toque fresco» (23/10/2026)
   Lenguaje visual de Cuba with Yoyo: paleta cálida caribeña (marfil, arena,
   tinta cálida), azur cielo-mar y oro de marca, Oswald para titulares e
   Inter para texto, fotografía real de La Habana, tarjetas cálidas con
   sombra suave y botones en pastilla. Vanilla CSS, móvil primero.
   ========================================================================== */

:root{
  --ink:#1B1C1A;
  --ink-soft:#554339;
  --ink-faint:#8A7466;
  --bg:#FBF5EA;
  --bg-alt:#F4EADA;
  --card:#FFFDF8;
  --line:rgba(85,67,57,.16);
  --azur:#2389CE;
  --azur-deep:#1668A8;
  --navy:#063A5E;
  --gold:#C9A227;
  --gold-bright:#D4AF37;
  --gold-pale:#F7E7A0;
  --gold-deep:#8A6A1F;
  --wa:#1E9E57;
  --wa-deep:#177C44;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow-card:0 24px 48px -18px rgba(6,58,94,.28),0 10px 24px -10px rgba(118,93,74,.25);
  --shadow-soft:0 14px 30px -14px rgba(118,93,74,.35);
  --radius:22px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:var(--bg);
  font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--azur-deep)}
::selection{background:rgba(212,175,55,.38);color:var(--ink)}
:focus-visible{outline:2px solid rgba(201,162,39,.9);outline-offset:3px;border-radius:6px}
.wrap{width:min(1160px,100% - 2.5rem);margin-inline:auto}

h1,h2,h3,.brand-name,.footer-brand,.step-num,.pay-badge,.band-quote p{
  font-family:'Oswald','Arial Narrow',sans-serif;
}

/* ---------- Botones ---------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  border-radius:999px;border:1px solid transparent;cursor:pointer;
  font-family:'Inter',sans-serif;font-weight:600;font-size:.98rem;
  padding:.72rem 1.5rem;text-decoration:none;text-align:center;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .25s ease,color .25s ease;
}
.btn-sm{padding:.5rem 1.1rem;font-size:.9rem}
.btn-lg{padding:.95rem 1.9rem;font-size:1.05rem;width:100%}
.btn-wa{background:var(--wa);color:#fff;box-shadow:0 10px 22px -10px rgba(23,124,68,.55)}
.btn-wa:hover{background:var(--wa-deep);transform:translateY(-2px)}
.btn-primary{background:var(--azur);color:#fff;box-shadow:0 12px 24px -10px rgba(22,104,168,.55)}
.btn-primary:hover{background:var(--azur-deep);transform:translateY(-2px)}
.btn-primary:disabled{opacity:.6;transform:none;cursor:wait}
.btn-ghost{background:transparent;color:var(--azur-deep);border-color:rgba(22,104,168,.35)}
.btn-ghost:hover{border-color:var(--azur-deep);background:rgba(35,137,206,.06)}
.btn-light{background:rgba(255,253,248,.94);color:var(--navy)}
.btn-light:hover{background:#fff;transform:translateY(-2px)}

/* ---------- Cabecera flotante (pastilla, como CWY) ---------------------- */
.site-head{
  position:fixed;top:.9rem;left:50%;transform:translateX(-50%);
  width:min(1160px,100% - 2rem);z-index:50;
  background:rgba(251,245,234,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(201,162,39,.35);border-radius:999px;
  box-shadow:0 14px 34px -14px rgba(118,93,74,.35);
  padding:.45rem .6rem .45rem 1.1rem;
}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink)}
.brand-mark{width:34px;height:34px;border-radius:10px}
.brand-name{font-size:1.18rem;font-weight:500;letter-spacing:.01em}
.brand-name strong{font-weight:700;color:var(--azur-deep)}
.mainnav{display:none;gap:1.6rem}
.mainnav a{
  color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:.92rem;
  background-image:linear-gradient(90deg,var(--gold-deep),var(--gold-bright),var(--gold-pale));
  background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .35s var(--ease),color .25s ease;padding-bottom:2px;
}
.mainnav a:hover{color:var(--ink);background-size:100% 2px}
.ticker{
  display:flex;align-items:center;gap:.5rem;justify-content:center;
  margin-top:.4rem;padding:.32rem .8rem;border-radius:999px;
  background:linear-gradient(90deg,rgba(201,162,39,.16),rgba(212,175,55,.22),rgba(201,162,39,.16));
  color:var(--gold-deep);font-size:.8rem;font-weight:600;letter-spacing:.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ticker-dot{width:7px;height:7px;border-radius:50%;background:var(--gold-bright);flex:none;box-shadow:0 0 0 3px rgba(212,175,55,.25)}
@media (min-width:900px){ .mainnav{display:flex} }

/* ---------- Hero fotográfico -------------------------------------------- */
.hero{position:relative;padding:9.5rem 0 4.5rem;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 62%}
.hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(6,58,94,.38) 0%,rgba(6,58,94,.08) 34%,rgba(251,245,234,0) 62%),
    linear-gradient(90deg,rgba(6,42,74,.62) 0%,rgba(6,42,74,.28) 46%,rgba(6,42,74,0) 72%),
    linear-gradient(0deg,var(--bg) 0%,rgba(251,245,234,0) 26%);
}
.hero-grid{position:relative;z-index:1;display:grid;gap:2.2rem;align-items:start}
.hero-copy{color:#FFF9EC;padding-top:1rem}
.eyebrow{
  font-family:'Oswald',sans-serif;font-size:.82rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-pale);margin-bottom:1rem;
}
.eyebrow-dark{color:var(--gold-deep)}
.hero-copy h1{
  font-size:clamp(2.3rem,6vw,3.9rem);font-weight:600;line-height:1.06;letter-spacing:.005em;
  text-shadow:0 3px 26px rgba(6,42,74,.45);max-width:14.5em;
}
.hero-copy h1 .hl{
  background:linear-gradient(110deg,var(--gold-deep),var(--gold) 30%,var(--gold-pale) 52%,var(--gold) 74%,var(--gold-deep));
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
}
.lead{margin-top:1.15rem;font-size:1.09rem;line-height:1.62;max-width:34em;color:#FDF3DC;text-shadow:0 2px 14px rgba(6,42,74,.4)}
.hero-points{list-style:none;margin-top:1.5rem;display:grid;gap:.55rem}
.hero-points li{
  position:relative;padding-left:1.9rem;font-weight:500;color:#FFF9EC;
}
.hero-points li::before{
  content:"";position:absolute;left:0;top:.18em;width:1.15rem;height:1.15rem;border-radius:50%;
  background:var(--gold-bright) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' fill='none' stroke='%23063A5E' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/72% no-repeat;
}
.hero-methods{display:flex;align-items:center;gap:.55rem;margin-top:1.7rem;flex-wrap:wrap}
.hm-label{font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,249,236,.85)}
.hm-badge{
  padding:.34rem .95rem;border-radius:999px;font-weight:700;font-size:.88rem;color:#FFF9EC;
  background:rgba(6,58,94,.42);border:1px solid rgba(247,231,160,.5);backdrop-filter:blur(6px);
}

/* ---------- Tarjeta calculadora ----------------------------------------- */
.calc-card{
  background:var(--card);border-radius:26px;border:1px solid rgba(201,162,39,.45);
  box-shadow:var(--shadow-card);padding:1.7rem 1.6rem 1.5rem;position:relative;
}
.calc-card::after{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1.4px;pointer-events:none;
  background:linear-gradient(140deg,rgba(212,175,55,.85),rgba(212,175,55,0) 38%,rgba(35,137,206,.35) 82%,rgba(212,175,55,.6));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}
.calc-head h2{font-size:1.55rem;font-weight:600;color:var(--navy)}
.calc-sub{color:var(--ink-soft);font-size:.93rem;margin:.25rem 0 1.25rem}
.field-label{display:block;font-weight:600;font-size:.86rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:.9rem 0 .4rem}
.field{
  display:flex;align-items:stretch;border:1.6px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.field:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(212,175,55,.18)}
.field input{
  flex:1;min-width:0;border:0;padding:.95rem 1rem;font:inherit;font-size:1.22rem;font-weight:600;color:var(--ink);background:transparent;
}
.field input:focus{outline:none}
.field select{
  border:0;border-left:1px solid var(--line);background:var(--bg-alt);padding:0 .8rem;
  font:inherit;font-weight:600;font-size:.95rem;color:var(--navy);cursor:pointer;max-width:44%;
}
.swap-row{display:flex;align-items:center;gap:1rem;margin-top:.85rem}
.swap-btn{
  width:44px;height:44px;flex:none;border-radius:50%;border:1.6px solid rgba(22,104,168,.35);
  background:#fff;color:var(--azur-deep);cursor:pointer;display:grid;place-items:center;
  transition:transform .35s var(--ease),background-color .25s ease;
}
.swap-btn svg{width:21px;height:21px}
.swap-btn:hover{background:rgba(35,137,206,.08);transform:rotate(180deg)}
.chips{display:flex;gap:.45rem;flex-wrap:wrap}
.chip{
  border:1.4px solid var(--line);background:#fff;border-radius:999px;padding:.38rem .95rem;
  font:inherit;font-weight:600;font-size:.9rem;color:var(--ink-soft);cursor:pointer;
  transition:all .2s ease;
}
.chip:hover{border-color:var(--gold);color:var(--gold-deep);background:rgba(247,231,160,.25)}
.calc-rates{margin:1.15rem 0 1.25rem;padding:.85rem 1rem;background:var(--bg-alt);border-radius:14px}
.rate-line{font-weight:700;color:var(--navy);font-size:1.02rem}
.ref-line{color:var(--ink-soft);font-size:.9rem;margin-top:.15rem}
.calc-card .btn{margin-top:.55rem}
.calc-note{text-align:center;color:var(--ink-faint);font-size:.87rem;margin-top:.8rem}

/* ---------- Banda con cita ---------------------------------------------- */
.band{position:relative;min-height:340px;display:flex;align-items:flex-end;overflow:hidden}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.band-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,42,74,.82) 0%,rgba(6,42,74,.25) 55%,rgba(6,42,74,.05) 100%)}
.band-quote{
  position:relative;z-index:1;width:min(900px,100% - 2.5rem);margin:0 auto;padding:5.5rem 0 2.4rem;color:#FFF9EC;
}
.band-quote p{font-size:clamp(1.35rem,3.2vw,2rem);font-weight:500;line-height:1.35;letter-spacing:.005em}

/* ---------- Secciones ---------------------------------------------------- */
.section{padding:4.6rem 0}
.section-alt{background:var(--bg-alt)}
.section-title{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:600;color:var(--navy);line-height:1.12;margin-bottom:.7rem}
.section-lead{color:var(--ink-soft);font-size:1.05rem;max-width:44em}

/* Tabla de tasas */
.table-card{
  margin-top:2rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-soft);overflow:hidden;
}
.rates-table{width:100%;border-collapse:collapse;font-size:.98rem}
.rates-table th{
  text-align:left;padding:1rem 1.1rem;background:var(--navy);color:#F7E7A0;
  font-family:'Oswald',sans-serif;font-weight:500;letter-spacing:.05em;font-size:.86rem;text-transform:uppercase;
}
.rates-table td{padding:1rem 1.1rem;border-top:1px solid var(--line);color:var(--ink-soft)}
.rates-table td:first-child{font-family:'Oswald',sans-serif;font-weight:600;font-size:1.1rem;color:var(--navy)}
.rates-table td.our{color:var(--ink);font-weight:700}
.table-foot{padding:.85rem 1.1rem;color:var(--ink-faint);font-size:.87rem;border-top:1px solid var(--line);background:rgba(244,234,218,.5)}
@media (max-width:640px){
  .rates-table{font-size:.86rem}
  .rates-table th,.rates-table td{padding:.7rem .6rem}
}

/* Ofertas */
.offer-grid{display:grid;gap:1.1rem;margin-top:1.6rem}
.offer-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.6rem 1.5rem;box-shadow:var(--shadow-soft);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.offer-card:hover{transform:translateY(-5px)}
.offer-kicker{font-family:'Oswald',sans-serif;letter-spacing:.13em;text-transform:uppercase;font-size:.78rem;font-weight:600;color:var(--gold-deep);margin-bottom:.45rem}
.offer-card h3{font-size:1.28rem;font-weight:600;color:var(--navy);margin-bottom:.45rem}
.offer-card p{color:var(--ink-soft)}

/* Pasos + foto */
.steps-grid{display:grid;gap:2.4rem;align-items:center}
.steps{display:grid;gap:1.5rem;margin-top:1.8rem}
.step{display:flex;gap:1.2rem}
.step-num{font-size:2.1rem;font-weight:700;color:var(--gold);line-height:1}
.step h3{font-size:1.25rem;font-weight:600;color:var(--navy);margin-bottom:.3rem}
.step p{color:var(--ink-soft)}
.steps-photo,.form-photo{border-radius:26px;overflow:hidden;box-shadow:var(--shadow-soft)}
.steps-photo img,.form-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3.4}
.steps-photo figcaption,.form-photo figcaption{
  background:var(--card);padding:.9rem 1.15rem;color:var(--ink-soft);font-size:.92rem;border-top:2px solid rgba(201,162,39,.4);
}

/* Formulario */
.form-grid{display:grid;gap:2.4rem;align-items:start}
.form-card{
  background:var(--card);border:1px solid rgba(201,162,39,.4);border-radius:26px;
  box-shadow:var(--shadow-card);padding:2rem 1.8rem;
}
.form-card form{margin-top:1.6rem;display:grid;gap:1rem}
.form-row{display:grid;gap:1rem}
.form-field label{display:block;font-weight:600;font-size:.88rem;color:var(--ink-soft);margin-bottom:.35rem}
.form-field input,.form-field select,.form-field textarea{
  width:100%;border:1.6px solid var(--line);border-radius:13px;background:#fff;
  padding:.78rem .95rem;font:inherit;color:var(--ink);
  transition:border-color .25s ease, box-shadow .25s ease;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(212,175,55,.18);
}
.form-field textarea{resize:vertical}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-error{
  background:#FBEAE6;border:1px solid #E5A495;color:#8C3220;border-radius:13px;padding:.85rem 1rem;font-size:.94rem;
}
.form-note{color:var(--ink-faint);font-size:.85rem}
.lead-ok{
  margin-top:1.6rem;background:linear-gradient(160deg,rgba(247,231,160,.5),rgba(35,137,206,.08));
  border:1.6px solid var(--gold);border-radius:18px;padding:1.5rem;text-align:center;
}
.lead-ok-title{font-family:'Oswald',sans-serif;font-size:1.45rem;font-weight:600;color:var(--navy);margin-bottom:.4rem}
.lead-ok p{color:var(--ink-soft);margin-bottom:1.1rem}
.lead-ok .btn{width:auto}

/* Métodos */
.pay-grid{display:grid;gap:1.1rem;margin-top:2rem}
.pay-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.7rem 1.5rem;box-shadow:var(--shadow-soft);
  transition:transform .5s var(--ease);
}
.pay-card:hover{transform:translateY(-5px)}
.pay-badge{
  display:inline-block;background:var(--navy);color:var(--gold-pale);border-radius:999px;
  padding:.3rem 1rem;font-weight:600;letter-spacing:.06em;font-size:.95rem;margin-bottom:.8rem;
}
.pay-card h3{font-size:1.25rem;font-weight:600;color:var(--navy);margin-bottom:.4rem}
.pay-card p{color:var(--ink-soft)}

/* FAQ */
.faq-list{margin-top:1.8rem;display:grid;gap:.8rem;max-width:820px}
.faq-list details{
  background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.05rem 1.3rem;
}
.faq-list summary{
  font-family:'Oswald',sans-serif;font-weight:500;font-size:1.08rem;color:var(--navy);cursor:pointer;letter-spacing:.01em;
}
.faq-list details p{color:var(--ink-soft);margin-top:.55rem}

/* Cierre fotográfico */
.closing{position:relative;padding:5.2rem 0;overflow:hidden}
.closing img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.closing-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,42,74,.78),rgba(6,42,74,.35) 60%,rgba(6,42,74,.1))}
.closing-in{position:relative;z-index:1;color:#FFF9EC;max-width:640px;margin-inline:0}
.closing-in h2{font-size:clamp(2rem,5vw,3rem);font-weight:600;margin-bottom:.6rem}
.closing-in p{font-size:1.08rem;color:#FDF3DC;max-width:32em}
.closing-ctas{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.closing-ctas .btn{width:auto}

/* Pie */
.footer{background:var(--navy);color:#DCE9F2;padding:3.4rem 0 0;margin-top:0}
.footer-in{display:grid;gap:2rem;padding-bottom:2.4rem}
.footer-brand{font-size:1.5rem;font-weight:500;color:#fff}
.footer-brand strong{color:var(--gold-bright);font-weight:700}
.footer-note{color:#A9C4D6;max-width:36em;margin-top:.5rem}
.footer-credit{font-size:.86rem;color:#7FA3BC}
.footer-cols{display:flex;gap:3rem;flex-wrap:wrap}
.footer-h{font-family:'Oswald',sans-serif;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;color:var(--gold-pale);margin-bottom:.7rem}
.footer-cols a{display:block;color:#DCE9F2;text-decoration:none;padding:.22rem 0;font-size:.95rem}
.footer-cols a:hover{color:var(--gold-pale)}
.footer-legal{border-top:1px solid rgba(247,231,160,.22);padding:1.2rem 0 1.6rem}
.footer-legal p{font-size:.83rem;color:#7FA3BC;max-width:70em}

/* ---------- Reveal al hacer scroll (patrón CWY) -------------------------- */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(18px);filter:blur(6px);transition:opacity .8s var(--ease),transform .8s var(--ease),filter .8s var(--ease)}
  .reveal.in{opacity:1;transform:none;filter:blur(0)}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
}

/* ---------- Escritorio --------------------------------------------------- */
@media (min-width:760px){
  .offer-grid{grid-template-columns:repeat(3,1fr)}
  .pay-grid{grid-template-columns:repeat(3,1fr)}
  .form-row{grid-template-columns:1fr 1fr}
  .form-row-3{grid-template-columns:1fr 1fr 1fr}
  .footer-in{grid-template-columns:1.2fr 1fr}
}
@media (min-width:1020px){
  .hero{padding-top:10.5rem}
  .hero-grid{grid-template-columns:1.05fr .95fr;gap:3rem}
  .steps-grid{grid-template-columns:1.05fr .95fr}
  .form-grid{grid-template-columns:.85fr 1.15fr}
  .btn-lg{width:auto}
  .calc-card .btn-lg{width:100%}
}
