/* ═══════════════════════════════════════════════════════════════════
   ATLAS OIKOS RE DEALS · sistema de diseño «Editorial en blanco» (B2)
   Funnel Display (titulares) · Instrument Sans (texto) · DM Mono (datos)
   Autoalojadas en /fonts: el sitio no carga ningún recurso de terceros.
   ═══════════════════════════════════════════════════════════════════ */

@font-face{font-family:'Funnel Display';font-style:normal;font-weight:300;font-display:swap;
  src:url('/fonts/funnel-display-latin-300-normal.woff2') format('woff2');}
@font-face{font-family:'Funnel Display';font-style:normal;font-weight:600;font-display:swap;
  src:url('/fonts/funnel-display-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('/fonts/instrument-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('/fonts/instrument-sans-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('/fonts/instrument-sans-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url('/fonts/dm-mono-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url('/fonts/dm-mono-latin-500-normal.woff2') format('woff2');}

:root{
  --white:#FFFFFF;
  --paper:#F8F9FB;
  --navy:#14263E;
  --navy-soft:#2C4262;
  /* Acento en azul (antes oro): la paleta queda azul/blanco. Los nombres
     --gold-* se conservan para no tocar el resto de la hoja. */
  --gold:#2C4262;
  --gold-deep:#2C4262;          /* legible: AA sobre blanco y sobre papel */
  --gold-tint:rgba(20,38,62,0.06);
  --line:rgba(20,38,62,0.10);
  --line-gold:rgba(20,38,62,0.30);
  --muted:#55636F;
  --live:#176B4F; --closed:#5C6773;
  --s-1:8px; --s-2:16px; --s-3:24px; --s-4:32px; --s-6:48px; --s-8:64px; --s-12:96px; --s-16:128px;
  --r-sm:10px; --r-md:16px; --r-lg:24px;

  --display:'Funnel Display', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --display-weight:600;
  --display-em-weight:300;
  --display-track:-0.03em;
  --display-lh:1.0;
  --sans:'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono:'DM Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --shadow-card:0 1px 2px rgba(20,38,62,.04), 0 12px 32px rgba(20,38,62,.07);
  --maxw:1240px;
  --nav-h:70px;
}

*,*::before,*::after{box-sizing:border-box}
html{color-scheme:light; -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:90px}
html,body{max-width:100%; overflow-x:clip}
body{
  margin:0; background:var(--white); color:var(--navy);
  font-family:var(--sans); font-weight:400;
  font-size:clamp(1rem,.97rem + .16vw,1.0625rem); line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:inherit}
button,input,select,textarea{font:inherit; color:inherit}

h1,h2,h3,.display{
  font-family:var(--display); font-weight:var(--display-weight);
  font-optical-sizing:auto; letter-spacing:var(--display-track);
  line-height:calc(var(--display-lh) + 0.06); text-wrap:balance; margin:0;
}
/* La frase enfatizada del titular: contraste por peso, no por itálica.
   Las geométricas redondas no traen cursiva real y la oblicua sintética las estropea. */
h1 em,h2 em,h3 em,.display em{ font-style:normal; font-weight:var(--display-em-weight); }
p{text-wrap:pretty; margin:0}
.body-copy{max-width:64ch; color:var(--muted)}
.mono{font-family:var(--mono); font-variant-numeric:tabular-nums}
.num{font-variant-numeric:tabular-nums}
.eyebrow{
  font-family:var(--mono); font-size:.6875rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep);
  margin:0 0 var(--s-2); display:block;
}
.wrap{width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(20px,5vw,48px)}
section{padding-block:clamp(56px,9vw,var(--s-16))}
.band-paper{background:var(--paper)}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--gold-deep); outline-offset:3px; border-radius:4px;
}
.skip{position:absolute; left:-9999px; top:0; background:var(--navy); color:#fff;
  padding:12px 18px; z-index:200; border-radius:0 0 var(--r-sm) 0}
.skip:focus{left:0}

/* ── Filete con rombo ─────────────────────────────────────────────── */
.rule{display:flex; align-items:center; gap:var(--s-2); margin-block:clamp(40px,6vw,var(--s-8))}
.rule::before,.rule::after{content:""; flex:1 1 0; height:1px; background:var(--line); min-width:0}
.rule i{width:5px; height:5px; background:var(--gold); transform:rotate(45deg); flex:none}
.rule.on-navy::before,.rule.on-navy::after{background:rgba(255,255,255,.18)}

/* ── Navegación ───────────────────────────────────────────────────── */
.nav{position:absolute; inset-inline:0; top:0; z-index:100; padding-block:var(--s-3);
  transition:background .2s ease, box-shadow .2s ease, padding .2s ease}
.nav.is-stuck{position:fixed; background:rgba(255,255,255,.86);
  backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px);
  box-shadow:0 1px 0 var(--line); padding-block:var(--s-2)}
.nav-inner{display:flex; align-items:center; gap:var(--s-3)}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; margin-inline-end:auto; min-width:0}
.mono-mark{width:42px; height:42px; flex:none; border-radius:50%; display:grid; place-items:center;
  font-family:var(--display); font-weight:var(--display-weight); font-size:.95rem; letter-spacing:.02em;
  color:var(--navy); background:var(--white); box-shadow:inset 0 0 0 1px var(--line-gold)}
.brand-txt{display:flex; flex-direction:column; line-height:1.05; min-width:0}
.brand-name{font-family:var(--display); font-weight:var(--display-weight); font-size:1.05rem; letter-spacing:-0.015em}
.brand-sub{font-family:var(--mono); font-size:.5625rem; letter-spacing:.24em; color:var(--gold-deep)}
.nav-links{display:flex; align-items:center; gap:clamp(14px,1.7vw,26px); list-style:none; margin:0; padding:0}
.nav-links a{text-decoration:none; font-size:.9375rem; font-weight:500; color:var(--navy);
  padding-block:4px; border-bottom:1px solid transparent; transition:border-color .2s ease, color .2s ease}
.nav-links a:hover,.nav-links a[aria-current="page"]{border-bottom-color:var(--gold); color:var(--gold-deep)}
.lang{display:flex; align-items:center; gap:2px; font-family:var(--mono); font-size:.6875rem; letter-spacing:.06em}
.lang a{text-decoration:none; padding:7px 9px; border-radius:6px; color:var(--muted);
  display:inline-block; min-width:34px; text-align:center}
.lang a[aria-current="true"]{color:var(--navy); background:var(--gold-tint); box-shadow:inset 0 0 0 1px var(--line-gold)}
.lang span{color:var(--line); user-select:none}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border-radius:999px; border:1px solid transparent; cursor:pointer; text-decoration:none;
  font-weight:600; font-size:.9375rem; padding:12px 24px;
  transition:background .2s ease, color .2s ease, border-color .2s ease}
.btn-navy{background:var(--navy); color:#fff}
.btn-navy:hover{background:var(--navy-soft)}
.btn-ghost{background:transparent; color:var(--navy); border-color:var(--line-gold)}
.btn-ghost:hover{background:var(--gold-tint)}
.btn-lg{padding:16px 30px; font-size:1rem}
.burger{display:none; width:44px; height:44px; border-radius:var(--r-sm); border:1px solid var(--line);
  background:var(--white); cursor:pointer; align-items:center; justify-content:center; flex:none}
.burger i{display:block; width:18px; height:1.5px; background:var(--navy); position:relative}
.burger i::before,.burger i::after{content:""; position:absolute; left:0; width:18px; height:1.5px; background:var(--navy)}
.burger i::before{top:-6px} .burger i::after{top:6px}

@media (max-width:980px){
  .nav-links,.nav .lang,.nav .btn-navy{display:none}
  .burger{display:inline-flex}
  .nav{background:rgba(255,255,255,.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px)}
  .mobile-menu[data-open="true"]{display:block}
  .mobile-menu{display:none; position:absolute; inset-inline:0; top:100%;
    background:var(--white); border-top:1px solid var(--line); box-shadow:0 18px 40px rgba(20,38,62,.08);
    max-height:calc(100vh - var(--nav-h)); overflow-y:auto}
  .mobile-menu ul{list-style:none; margin:0; padding:var(--s-2) clamp(20px,5vw,48px) var(--s-3)}
  .mobile-menu li + li{border-top:1px solid var(--line)}
  .mobile-menu a{display:flex; align-items:center; min-height:48px; text-decoration:none; font-weight:500}
  .mobile-foot{display:flex; align-items:center; gap:var(--s-2); flex-wrap:wrap;
    padding:0 clamp(20px,5vw,48px) var(--s-3)}
}
@media (min-width:981px){ .mobile-menu{display:none !important} }

/* ── Hero ─────────────────────────────────────────────────────────── */
.hero{padding-block:clamp(120px,15vw,180px) clamp(56px,8vw,var(--s-12))}
.hero-grid{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:clamp(32px,5vw,var(--s-8)); align-items:center}
.hero h1{font-size:clamp(2.625rem,5.9vw,5rem); line-height:var(--display-lh);
  letter-spacing:var(--display-track); margin-block:var(--s-2) var(--s-3)}
.hero .lede{font-size:clamp(1.0625rem,.98rem + .38vw,1.25rem); color:var(--muted); max-width:56ch}
.hero-cta{display:flex; flex-wrap:wrap; gap:var(--s-2); margin-top:var(--s-4)}
.hero-media{position:relative}
.frame{border-radius:var(--r-lg); overflow:hidden; position:relative; background:var(--paper);
  box-shadow:0 0 0 1px var(--line-gold)}
.frame img{width:100%; height:100%; object-fit:cover}
.hero-media .frame{aspect-ratio:3/4}
.float-card{position:absolute; left:clamp(-64px,-5vw,-24px); bottom:clamp(20px,4vw,40px);
  background:var(--white); border-radius:var(--r-md); padding:18px 22px;
  box-shadow:var(--shadow-card); max-width:min(280px,86%); display:grid; gap:10px}
.float-row{display:flex; align-items:baseline; gap:10px; font-family:var(--mono);
  font-size:.8125rem; font-variant-numeric:tabular-nums}
.float-row b{font-family:var(--display); font-weight:var(--display-weight); font-size:1.35rem; letter-spacing:-0.02em}
.float-row span{color:var(--muted); font-size:.75rem; line-height:1.3}
.float-card hr{border:0; border-top:1px solid var(--line); margin:0}
@media (max-width:860px){
  .hero{padding-block:clamp(104px,22vw,140px) var(--s-6)}
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-media .frame{aspect-ratio:4/3}
  .float-card{left:auto; right:16px; bottom:16px; max-width:min(260px,72%)}
}
@media (max-width:420px){ .float-card{position:static; max-width:none; margin-top:var(--s-2)} }

/* Marcador cuando la fotografía no está disponible */
.is-fallback{background:
    radial-gradient(currentColor 1px, transparent 1px) 0 0/24px 24px,
    linear-gradient(150deg,#EDF1F6,#DCE4EE);
  color:rgba(20,38,62,.10); position:relative}
.is-fallback::after{content:attr(data-ref); position:absolute; inset:0; display:grid; place-items:center;
  font-family:var(--mono); font-size:.75rem; letter-spacing:.18em; color:var(--navy-soft); opacity:.72}

/* ── Franja de indicadores ────────────────────────────────────────── */
.stats{border-block:1px solid var(--line); padding-block:0}
.stats-inner{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-block:clamp(28px,4vw,var(--s-6))}
.stat{padding-inline:clamp(12px,2.4vw,32px)}
.stat + .stat{border-left:1px solid var(--line)}
.stat b{display:block; font-family:var(--display); font-weight:var(--display-weight); letter-spacing:-0.025em;
  font-size:clamp(1.65rem,3.4vw,2.75rem); line-height:1.05; font-variant-numeric:tabular-nums;
  text-wrap:nowrap}
.stat span{display:block; margin-top:10px; font-size:.8125rem; color:var(--muted); line-height:1.4}
@media (max-width:700px){
  .stats-inner{grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-3) 0}
  .stat:nth-child(odd){border-left:0}
  .stat:nth-child(2n+1){padding-inline-start:0}
}

/* ── Cabecera de sección ──────────────────────────────────────────── */
.sec-head{display:grid; gap:var(--s-2); max-width:70ch}
.sec-head h2{font-size:clamp(2.125rem,4.6vw,3.5rem)}

/* ── Filtros ──────────────────────────────────────────────────────── */
.filterbar{position:sticky; top:0; z-index:60; background:var(--white);
  border-bottom:1px solid var(--line); margin-top:var(--s-6); padding-block:14px;
  display:flex; align-items:center; gap:var(--s-2); flex-wrap:wrap}
.pills{display:flex; gap:8px; flex-wrap:wrap; margin-inline-end:auto}
.pill{border-radius:999px; border:1px solid var(--line); background:var(--white);
  padding:9px 20px; cursor:pointer; font-size:.875rem; font-weight:500; color:var(--muted); min-height:42px;
  transition:background .2s ease, color .2s ease, border-color .2s ease}
.pill:hover{color:var(--navy); border-color:var(--line-gold)}
.pill[aria-pressed="true"]{background:var(--gold-tint); border-color:var(--gold); color:var(--navy)}
.count{font-family:var(--mono); font-size:.75rem; letter-spacing:.08em; color:var(--muted); font-variant-numeric:tabular-nums}

/* ── Retícula de oportunidades ────────────────────────────────────── */
.deals{display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(20px,2.4vw,var(--s-4)); align-items:start; grid-auto-rows:min-content; margin-top:var(--s-6)}
.card{background:var(--white); border-radius:var(--r-md); overflow:hidden;
  box-shadow:var(--shadow-card); display:flex; flex-direction:column; min-width:0}
.card-media{position:relative; aspect-ratio:4/3; background:var(--paper); overflow:hidden}
.card-media img{width:100%; height:100%; object-fit:cover; transition:transform .2s ease}
.card:hover .card-media img{transform:scale(1.02)}
.card-media::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, rgba(20,38,62,.5), transparent 55%)}
.card-ref{position:absolute; left:16px; bottom:14px; z-index:2;
  font-family:var(--mono); font-size:.75rem; letter-spacing:.14em; color:#fff;
  text-shadow:0 1px 3px rgba(20,38,62,.55)}
.badge{position:absolute; right:14px; top:14px; z-index:2; display:inline-flex; align-items:center; gap:7px;
  border-radius:999px; padding:6px 13px; font-size:.6875rem; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; color:#fff}
.badge.live{background:var(--live)}
.badge.closed{background:var(--closed)}
.badge i{width:6px; height:6px; border-radius:50%; background:#fff; display:block}
.card-body{padding:var(--s-3); display:flex; flex-direction:column; gap:12px; flex:1}
.card-body .ref{font-family:var(--mono); font-size:.6875rem; letter-spacing:.16em; color:var(--gold-deep)}
.card-body h3{font-size:1.375rem}
.card-body h3 a{text-decoration:none}
.card-body h3 a:hover{color:var(--gold-deep)}
.card-type{font-size:.875rem; color:var(--muted); line-height:1.45}
.specs{display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line); padding-top:14px; margin-top:auto; gap:8px}
.specs dt{font-family:var(--mono); font-size:.625rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:0}
.specs dd{margin:5px 0 0; font-family:var(--mono); font-size:.875rem; font-weight:500;
  font-variant-numeric:tabular-nums; line-height:1.3}
.card-foot{border-top:1px solid var(--line); padding:14px var(--s-3);
  display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:56px}
.card-link{text-decoration:none; font-weight:600; font-size:.875rem; color:var(--navy);
  border-bottom:1px solid var(--line-gold); padding-bottom:2px}
.card-link:hover{color:var(--gold-deep)}
.card-closed{font-family:var(--mono); font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:var(--closed)}
.card.featured{grid-column:span 2}
.card.featured .card-media{aspect-ratio:16/9}
.card.featured h3{font-size:clamp(1.6rem,2.6vw,2.25rem)}
.card.featured .card-body{padding:var(--s-4)}
.card.featured .card-foot{padding:16px var(--s-4)}
.card[hidden]{display:none}
@media (max-width:1000px){ .deals{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:600px){
  .deals{grid-template-columns:minmax(0,1fr)}
  .card.featured{grid-column:span 1}
  .card.featured .card-media{aspect-ratio:4/3}
  .card.featured .card-body{padding:var(--s-3)}
  .card.featured .card-foot{padding:14px var(--s-3)}
}

.disclaimer,.yield-disclaimer{margin-top:var(--s-6); display:block;
  background:var(--white); border:1px solid var(--line); border-left:2px solid var(--gold);
  border-radius:var(--r-sm); padding:18px 22px;
  font-size:.8125rem; line-height:1.6; color:var(--muted); max-width:88ch}
.disclaimer a,.yield-disclaimer a{color:var(--gold-deep)}
.viewall{display:inline-block; margin-top:var(--s-4); text-decoration:none; font-weight:600;
  border-bottom:1px solid var(--gold); padding-bottom:3px}
.viewall:hover{color:var(--gold-deep)}

/* ── Banda de cita ────────────────────────────────────────────────── */
.quote{background:var(--navy); color:#fff; text-align:center}
.quote blockquote{margin:0; font-family:var(--display); font-weight:var(--display-weight);
  font-size:clamp(1.75rem,4.4vw,3.25rem); line-height:1.18; letter-spacing:-0.02em;
  text-wrap:balance; max-width:20ch; margin-inline:auto}
.quote .sig{margin-top:var(--s-3); font-family:var(--mono); font-size:.75rem; letter-spacing:.24em; color:#D9C08C}

/* ── Mercados ─────────────────────────────────────────────────────── */
.market{display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,5vw,var(--s-8)); align-items:center}
.market + .market{margin-top:clamp(48px,7vw,var(--s-12))}
.market .frame{aspect-ratio:4/3}
.market.reverse .m-media{order:2}
.market h3{font-size:clamp(1.875rem,3.6vw,2.75rem); margin-bottom:var(--s-2)}
.market p + p{margin-top:12px}
.m-link{display:inline-block; margin-top:var(--s-3); text-decoration:none; font-weight:600;
  border-bottom:1px solid var(--gold); padding-bottom:3px}
.m-link:hover{color:var(--gold-deep)}
@media (max-width:860px){
  .market{grid-template-columns:minmax(0,1fr)}
  .market.reverse .m-media{order:0}
}

/* ── Contacto ─────────────────────────────────────────────────────── */
.contact-card{background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(24px,4vw,var(--s-8));
  display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(28px,4vw,var(--s-8));
  align-items:start}
.contact-card h2{font-size:clamp(2rem,3.6vw,2.75rem)}
.ways{list-style:none; margin:var(--s-4) 0 0; padding:0; border-top:1px solid var(--line)}
.ways li{border-bottom:1px solid var(--line)}
.ways a{display:flex; align-items:baseline; gap:12px; padding:14px 0; text-decoration:none;
  flex-wrap:wrap; min-height:48px}
.ways .k{font-family:var(--mono); font-size:.625rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold-deep); min-width:82px}
.ways .v{font-weight:500; word-break:break-word; min-width:0}
.ways a:hover .v{color:var(--gold-deep)}
form .fields{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-2)}
.field{display:flex; flex-direction:column; gap:6px; min-width:0}
.field.full{grid-column:1 / -1}
.field label{font-family:var(--mono); font-size:.625rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
.field input,.field select,.field textarea{width:100%; background:var(--white);
  border:1px solid var(--line); border-radius:var(--r-sm); padding:12px 14px;
  font-size:16px; min-height:48px; transition:border-color .2s ease}   /* 16px evita el zoom en iOS */
.field textarea{resize:vertical; min-height:120px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--line-gold)}
.consent{display:flex; gap:10px; align-items:flex-start; grid-column:1 / -1; font-size:.8125rem; color:var(--muted)}
.consent input{width:18px; height:18px; flex:none; margin-top:2px; accent-color:var(--navy); min-height:0}
.consent a{color:var(--gold-deep)}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
form .btn{margin-top:var(--s-3)}
.form-msg{margin-top:var(--s-2); font-size:.875rem; min-height:1.3em}
.form-msg.ok{color:var(--live)} .form-msg.err{color:#A2410B}
@media (max-width:900px){ .contact-card{grid-template-columns:minmax(0,1fr)} }
@media (max-width:560px){ form .fields{grid-template-columns:minmax(0,1fr)} }

/* ── Pie ──────────────────────────────────────────────────────────── */
.footer{border-top:1px solid var(--line); background:var(--white); padding-block:var(--s-6) var(--s-4)}
.foot-top{display:flex; gap:var(--s-3); align-items:flex-start; flex-wrap:wrap; justify-content:space-between}
.foot-links{display:flex; flex-wrap:wrap; gap:10px 22px; list-style:none; margin:0; padding:0}
.foot-links a{text-decoration:none; font-size:.875rem; color:var(--muted)}
.foot-links a:hover{color:var(--gold-deep)}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; gap:var(--s-2);
  flex-wrap:wrap; margin-top:var(--s-4); padding-top:var(--s-3); border-top:1px solid var(--line)}
.foot-bottom small{color:var(--muted); font-size:.8125rem}
.stamp{font-family:var(--mono); font-size:.625rem; letter-spacing:.2em; color:var(--closed)}

/* ── Revelado ─────────────────────────────────────────────────────── */
.reveal{opacity:0; transform:translateY(8px); transition:opacity .2s ease, transform .2s ease}
.reveal.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important; transition-duration:.001ms !important;
    scroll-behavior:auto !important}
  .reveal{opacity:1; transform:none}
}

/* ═══════════════════════════════════════════════════════════════════
   PÁGINAS INTERIORES
   ═══════════════════════════════════════════════════════════════════ */
main.page{width:100%; max-width:var(--maxw); margin-inline:auto;
  padding:calc(var(--nav-h) + var(--s-8)) clamp(20px,5vw,48px) var(--s-12)}
main.page section{padding-block:0; margin-bottom:clamp(48px,7vw,var(--s-12))}
main.page h2{font-size:clamp(1.75rem,3.6vw,2.75rem); margin:0 0 var(--s-3)}
main.page h3{font-size:clamp(1.25rem,2vw,1.5rem); margin:var(--s-4) 0 var(--s-1)}
main.page p{margin-bottom:var(--s-2); color:var(--muted); max-width:68ch}
main.page a{color:var(--gold-deep)}
main.page a.btn-navy{color:#fff}
.page-head{margin-bottom:clamp(40px,6vw,var(--s-8))}
.page-head h1{font-size:clamp(2.25rem,5.2vw,4rem); margin-bottom:var(--s-3)}
.lead{font-size:clamp(1.0625rem,.98rem + .3vw,1.1875rem); color:var(--muted); max-width:60ch}
.crumbs{font-family:var(--mono); font-size:.6875rem; letter-spacing:.08em; color:var(--muted); margin-bottom:var(--s-3)}
.crumbs a{color:var(--muted); text-decoration:none}
.crumbs a:hover{color:var(--gold-deep); text-decoration:underline}
.crumb-sep{margin:0 8px; opacity:.55}

/* Bloque de respuesta rápida (AEO) */
.rr-wrap{background:var(--paper); border:1px solid var(--line); border-left:2px solid var(--gold);
  border-radius:var(--r-md); padding:clamp(20px,3vw,var(--s-4)); max-width:88ch}
.rr-title{font-size:clamp(1.35rem,2.6vw,1.75rem); margin:0 0 var(--s-2)}
.rr-lead{margin-bottom:var(--s-3); color:var(--muted)}
.rr-list{list-style:none; display:grid; gap:10px; margin:0; padding:0}
.rr-list li{font-size:.9375rem; color:var(--muted); padding-left:20px; position:relative}
.rr-list li::before{content:""; position:absolute; left:0; top:.68em; width:5px; height:5px;
  background:var(--gold); transform:rotate(45deg)}
.rr-list strong{color:var(--navy); font-weight:600}

.check-list{list-style:none; margin:var(--s-2) 0 var(--s-3); padding:0; max-width:68ch}
.check-list li{font-size:.9375rem; color:var(--muted); padding:0 0 10px 20px; position:relative}
.check-list li::before{content:""; position:absolute; left:0; top:.68em; width:5px; height:5px;
  background:var(--gold); transform:rotate(45deg)}
.steps-list{margin:var(--s-2) 0 var(--s-3); padding-left:1.3em; max-width:68ch}
.steps-list li{font-size:.9375rem; color:var(--muted); margin-bottom:10px}
.steps-list.big{list-style:none; padding-left:0}
.steps-list.big li{border-top:1px solid var(--line); padding:var(--s-3) 0; margin:0}
.steps-list.big h3{margin-top:0}

.table-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch; margin:var(--s-2) 0 var(--s-4)}
.table-scroll .spec-table{margin:0; min-width:600px}
.spec-table{width:100%; border-collapse:collapse; font-size:.9375rem; margin:var(--s-2) 0 var(--s-4)}
.spec-table caption{text-align:left; font-family:var(--mono); font-size:.625rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted); padding-bottom:var(--s-2)}
.spec-table th,.spec-table td{text-align:left; padding:12px 10px; border-bottom:1px solid var(--line); vertical-align:top}
.spec-table thead th{font-family:var(--mono); font-size:.625rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); font-weight:500}
.spec-table tbody th{font-weight:400; color:var(--muted); width:38%}
.spec-table td{font-family:var(--mono); font-variant-numeric:tabular-nums; font-size:.875rem}

.deal-figure{margin:0 0 var(--s-6)}
.deal-figure .frame{aspect-ratio:4/3}
.deal-figure figcaption{font-family:var(--mono); font-size:.6875rem; letter-spacing:.06em;
  color:var(--muted); padding-top:10px}
.deal-figure-empty{border:1px dashed var(--line-gold); border-radius:var(--r-md);
  padding:var(--s-8) var(--s-3); text-align:center; color:var(--muted)}
.sold-note{background:var(--paper); border:1px solid var(--line); border-left:2px solid var(--closed);
  border-radius:var(--r-sm); padding:16px 20px; margin-bottom:var(--s-6); font-size:.9375rem; color:var(--muted)}
.pending-box{border:1px dashed var(--line-gold); border-radius:var(--r-md);
  padding:clamp(20px,3vw,var(--s-4)); margin:var(--s-4) 0; background:var(--gold-tint)}
.pending-box h2{margin-top:0; font-size:1.35rem}

.faq-wrap{max-width:88ch; margin-top:var(--s-3)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-q{width:100%; min-height:60px; display:flex; align-items:center; justify-content:space-between;
  gap:var(--s-2); padding:18px 0; background:none; border:0; cursor:pointer; text-align:left;
  font-family:var(--sans); font-size:1rem; font-weight:600; color:var(--navy); transition:color .2s}
.faq-q:hover{color:var(--gold-deep)}
.faq-icon{flex-shrink:0; width:28px; height:28px; display:grid; place-items:center;
  border:1px solid var(--line); border-radius:50%; color:var(--gold-deep); transition:transform .3s, border-color .2s}
.faq-item.open .faq-icon{transform:rotate(45deg); border-color:var(--gold)}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease}
.faq-item.open .faq-a{max-height:80em}
.faq-a-inner{padding-bottom:var(--s-3); font-size:.9375rem; color:var(--muted); max-width:68ch}
.faq-a-inner a{color:var(--gold-deep)}

.page-cta{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(32px,5vw,var(--s-8)); text-align:center; margin-top:clamp(48px,7vw,var(--s-12))}
.page-cta h2{margin-top:0}
.page-cta p{margin-inline:auto}
.page-cta-actions{display:flex; gap:var(--s-2); justify-content:center; flex-wrap:wrap; margin-top:var(--s-4)}

.contact-grid{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:clamp(28px,4vw,var(--s-8)); align-items:start}
@media (max-width:900px){ .contact-grid{grid-template-columns:minmax(0,1fr)} }
.contact-form-wrap{background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(24px,4vw,var(--s-6))}
.cf-title{font-size:clamp(1.5rem,3vw,2rem); margin:0 0 var(--s-1)}
.cf-sub{font-size:.9375rem; color:var(--muted); margin-bottom:var(--s-3)}
.contact-methods .contact-item{display:block; padding:14px 0; border-bottom:1px solid var(--line);
  text-decoration:none; min-height:48px}
.contact-methods .contact-item:first-of-type{border-top:1px solid var(--line)}
.contact-label{display:block; font-family:var(--mono); font-size:.625rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--gold-deep); margin-bottom:3px}
.contact-value{display:block; font-weight:500; color:var(--navy); word-break:break-word}
.contact-item:hover .contact-value{color:var(--gold-deep)}
.contact-note{font-size:.8125rem; color:var(--muted); margin-top:var(--s-2)}

.market-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(20px,2.4vw,var(--s-3)); margin-top:var(--s-4)}
.market-card{background:var(--white); border-radius:var(--r-md); box-shadow:var(--shadow-card);
  padding:clamp(20px,3vw,var(--s-4))}
.market-card h3{margin:0 0 10px; font-size:1.375rem}
.market-card h3 a{text-decoration:none}
.market-card h3 a:hover{color:var(--gold-deep)}
.market-card p{font-size:.9375rem; color:var(--muted); margin:0}

.pillars{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:clamp(24px,3vw,var(--s-4)); margin-top:var(--s-6)}
.pillar{border-top:1px solid var(--line); padding-top:var(--s-2)}
.pillar-num{font-family:var(--mono); font-size:.6875rem; letter-spacing:.2em; color:var(--gold-deep)}
.pillar h3{margin:10px 0; font-size:1.25rem}
.pillar p{font-size:.9375rem; color:var(--muted); margin:0}
.step-n{font-family:var(--mono); font-size:.75rem; letter-spacing:.16em; color:var(--gold-deep); margin-right:10px}

.email-capture{margin-top:var(--s-6); padding-top:var(--s-4); border-top:1px solid var(--line);
  text-align:left; max-width:520px; margin-inline:auto}
.ec-row{display:flex; gap:10px; margin-top:8px}
.ec-row input{flex:1; min-width:0; background:var(--white); border:1px solid var(--line);
  border-radius:var(--r-sm); padding:12px 14px; font-size:16px; min-height:48px}
.ec-row .btn{flex:none; margin-top:0}
.ec-label{font-family:var(--mono); font-size:.625rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
.ec-msg{margin-top:10px; font-size:.875rem; color:var(--live); min-height:1.2em}
.ec-hp{position:absolute; left:-9999px}
@media (max-width:560px){ .ec-row{flex-direction:column} .ec-row .btn{width:100%} }

/* Banner de consentimiento — la sombra se reserva a lo que flota de verdad */
.consent-banner{display:none; position:fixed; inset:auto 0 0 0; z-index:150;
  background:var(--white); border-top:1px solid var(--line);
  padding:var(--s-2) clamp(20px,5vw,48px);
  align-items:center; justify-content:space-between; gap:var(--s-2); flex-wrap:wrap;
  box-shadow:0 -8px 32px rgba(20,38,62,.10)}
.consent-banner p{font-size:.8125rem; color:var(--muted); max-width:62ch; margin:0}
.consent-banner a{color:var(--gold-deep)}
.consent-actions{display:flex; gap:10px}
@media (max-width:640px){
  .consent-actions{width:100%}
  .consent-actions .btn{flex:1}
  .page-cta-actions .btn{width:100%}
}

@media print{
  .nav,.mobile-menu,.consent-banner,.page-cta,.filterbar,.skip{display:none !important}
  main.page{padding-top:0}
  a[href^="http"]::after{content:' (' attr(href) ')'; font-size:.8em; color:#555}
}
