/* ============================================================================
   JMO · Landings de proyecto — tres líneas visuales
   .t-alto      crema + navy + oro       · estructurada, la calculadora manda
   .t-concepto  navy + crema + oro       · editorial, la unidad es protagonista
   .t-nuevos    casi negro + ámbar       · inmersiva, la imagen manda
   Cargar DESPUÉS de /assets/jmo.css (nav, pie, .btn, .wafloat, .jmo-bar, .rv).
   Todo bloque se diseñó primero a 390 px.
   ========================================================================== */

/* ---------- variables por línea ---------- */
.t-alto{--bg:#F6F2EA;--bg2:#ECE5D6;--card:#fff;--ink:#18213A;--muted:#5E6577;--line:#DDD5C4;
  --hero:#1F2B4D;--hero2:#172241;--heroInk:#F4F0E6;--heroMuted:#BFC5D3;
  --acc:#B9A45E;--acc2:#8F7C3C;--accInk:#1A1508;--dark:#16203A;--darkInk:#EDEAE1;--darkMuted:#A9B0C2}
.t-concepto{--bg:#F8F5EE;--bg2:#EFE9DC;--card:#fff;--ink:#16203A;--muted:#5F6676;--line:#E1D9C9;
  --hero:#1B2A4E;--hero2:#14203D;--heroInk:#F5F1E8;--heroMuted:#B8C0D2;
  --acc:#C2A86A;--acc2:#9A8243;--accInk:#1A1508;--dark:#14203D;--darkInk:#EEEAE0;--darkMuted:#A7B0C4}
.t-nuevos{--bg:#101318;--bg2:#161A21;--card:#1B2029;--ink:#EEE8DE;--muted:#9AA1AD;--line:rgba(238,232,222,.14);
  --hero:#0C0F13;--hero2:#101318;--heroInk:#F3EEE5;--heroMuted:#C2C7D0;
  --acc:#E3A23B;--acc2:#C7871F;--accInk:#1B1204;--dark:#0C0F13;--darkInk:#EEE8DE;--darkMuted:#9AA1AD}

.tp{background:var(--bg);color:var(--ink)}
.tp nav{background:rgba(16,22,38,.93)}
.t-nuevos nav{background:rgba(10,12,16,.9)}
.tp .btn{background:var(--acc);color:var(--accInk);border-color:var(--acc)}
.tp .btn.ghost{background:transparent;color:var(--heroInk);border:1px solid rgba(255,255,255,.45)}
.tp .btn.line{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.t-nuevos .btn.line{color:var(--ink);border-color:var(--line)}
.tp em{font-style:normal;color:var(--acc)}
.t-alto .sec:not(.dk) em,.t-concepto .sec:not(.dk) em{color:var(--acc2)}

/* ---------- secciones ---------- */
.tp .sec{padding:76px 0;background:var(--bg);color:var(--ink)}
.tp .sec.alt{background:var(--bg2)}
.tp .sec.dk{background:var(--dark);color:var(--darkInk)}
.tp .eye{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--acc2)}
.t-nuevos .eye,.tp .dk .eye{color:var(--acc)}
.tp h2{font-size:clamp(25px,3.2vw,40px);line-height:1.1;letter-spacing:-.03em;margin:14px 0 0;font-weight:800;max-width:24ch}
.tp .lead{font-size:17px;color:var(--muted);max-width:660px;margin:16px 0 0;line-height:1.7}
.tp .dk .lead{color:var(--darkMuted)}
.tp .micro{font-size:13px;line-height:1.65;color:var(--muted);margin-top:16px}
.tp .dk .micro{color:var(--darkMuted)}

/* ---------- HERO · ALTO: partido, navy + foto ---------- */
.al-hero{background:var(--hero);color:var(--heroInk);overflow:hidden}
.al-hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;padding:0;align-items:stretch}
.al-hero .t{padding:60px 26px 54px 24px;display:flex;flex-direction:column;justify-content:center}
.al-hero .f{position:relative;min-height:500px}
.al-hero .f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.al-hero .f .sello{position:absolute;left:18px;bottom:18px;background:var(--acc);color:var(--accInk);font-weight:800;
  font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;border-radius:6px}
.al-kick{align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);
  border:1px solid rgba(185,164,94,.5);padding:8px 14px;border-radius:5px}
.al-hero h1{font-size:clamp(31px,4.2vw,52px);line-height:1.05;letter-spacing:-.03em;margin:22px 0 0;font-weight:800;max-width:17ch}
.al-hero p{font-size:16.5px;color:var(--heroMuted);margin:18px 0 0;max-width:48ch;line-height:1.65}
.al-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.al-tags span{font-size:13px;font-weight:700;padding:7px 13px;border-radius:5px;background:rgba(244,240,230,.08);border:1px solid rgba(244,240,230,.2)}
.al-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* tira de rangos (ALTO y NUEVOS) */
.rangos{background:var(--hero2);color:var(--heroInk);border-top:1px solid rgba(255,255,255,.08)}
.rangos .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.rangos .wrap>div{padding:22px 20px 22px 0;border-right:1px solid rgba(255,255,255,.12)}
.rangos .wrap>div:last-child{border-right:0}
.rangos span{display:block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--heroMuted);font-weight:700}
.rangos b{display:block;font-size:clamp(19px,2.1vw,26px);font-weight:800;letter-spacing:-.03em;margin-top:6px}
.rangos b small{font-size:13px;font-weight:700;color:var(--acc);letter-spacing:0}

/* ---------- HERO · CONCEPTO: navy, foto enmarcada, datos con filetes oro ---------- */
.co-hero{background:var(--hero);color:var(--heroInk);padding:50px 0 0;position:relative;overflow:hidden}
.co-hero:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--acc)}
.co-hero .wrap{display:grid;grid-template-columns:.92fr 1.08fr;gap:46px;align-items:end}
.co-linea{font-size:13px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--acc)}
.co-hero h1{font-size:clamp(32px,4.4vw,56px);line-height:1.04;letter-spacing:-.03em;margin:14px 0 0;font-weight:800}
.co-hero .lugar{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--heroMuted);margin-top:14px;font-weight:700}
.co-hero p{font-size:16.5px;color:var(--heroMuted);margin:18px 0 0;line-height:1.65;max-width:46ch}
.co-datos{margin-top:26px;border-top:1px solid rgba(194,168,106,.45)}
.co-datos div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid rgba(194,168,106,.3)}
.co-datos span{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);font-weight:800}
.co-datos b{font-size:clamp(20px,2.2vw,27px);font-weight:800;letter-spacing:-.025em}
.co-cta{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 50px}
.co-foto{position:relative;align-self:stretch;min-height:500px}
.co-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:16px 16px 0 0;border:1px solid rgba(194,168,106,.6);border-bottom:0}
.co-foto .est{position:absolute;right:16px;top:16px;background:rgba(20,32,61,.88);color:var(--acc);font-size:12px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;padding:8px 13px;border-radius:999px;border:1px solid rgba(194,168,106,.6)}
.co-tira{background:var(--bg2);border-bottom:1px solid var(--line)}
.co-tira .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.co-tira .wrap>div{padding:24px 20px;border-right:1px solid var(--line)}
.co-tira .wrap>div:last-child{border-right:0}
.co-tira b{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em}
.co-tira span{display:block;font-size:13.5px;color:var(--muted);margin-top:4px;line-height:1.45}

/* ---------- HERO · NUEVOS: a sangre, inmersivo ---------- */
.nv-hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;color:var(--heroInk)}
.nv-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nv-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,15,19,.55) 0%,rgba(12,15,19,.25) 35%,rgba(12,15,19,.96) 100%)}
.nv-hero .wrap{position:relative;z-index:2;padding-top:110px;padding-bottom:54px;width:100%}
.nv-kick{display:inline-flex;gap:10px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--acc);border:1px solid rgba(227,162,59,.55);background:rgba(227,162,59,.1);padding:8px 15px;border-radius:999px}
.nv-hero h1{font-size:clamp(34px,6vw,70px);line-height:1;letter-spacing:-.035em;margin:22px 0 0;font-weight:800;max-width:15ch}
.nv-hero p{font-size:clamp(16px,1.6vw,19px);color:var(--heroMuted);margin:20px 0 0;max-width:54ch;line-height:1.6}
.nv-rango{display:flex;flex-wrap:wrap;margin-top:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nv-rango div{padding:18px 28px 18px 0;margin-right:28px;border-right:1px solid var(--line)}
.nv-rango div:last-child{border-right:0;margin-right:0}
.nv-rango span{display:block;font-size:11.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);font-weight:700}
.nv-rango b{display:block;font-size:clamp(21px,2.4vw,30px);font-weight:800;letter-spacing:-.03em;margin-top:5px}
.nv-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.nv-tira{background:var(--bg2);border-bottom:1px solid var(--line)}
.nv-tira .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.nv-tira .wrap>div{padding:24px 22px 24px 0;border-right:1px solid var(--line)}
.nv-tira .wrap>div:last-child{border-right:0}
.nv-tira b{display:block;font-size:19px;font-weight:800;color:var(--acc);letter-spacing:-.02em}
.nv-tira span{display:block;font-size:13.5px;color:var(--muted);margin-top:5px;line-height:1.5}

/* ---------- tipologías ---------- */
/* tabla (ALTO) */
.tabla{width:100%;border-collapse:collapse;margin-top:32px;font-size:15px}
.tabla th{text-align:left;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800;padding:0 16px 12px 0;border-bottom:2px solid var(--line)}
.tabla th.r,.tabla td.r{text-align:right;padding-right:0}
.tabla td{padding:18px 16px 18px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.tabla .nom{font-weight:800;font-size:17px;letter-spacing:-.02em}
.tabla .s2{font-size:13.5px;color:var(--muted);margin-top:4px}
.tabla .pr{font-weight:800;font-size:20px;letter-spacing:-.03em;color:var(--hero);white-space:nowrap}
.tabla .cu{font-size:13.5px;color:var(--muted);margin-top:3px;white-space:nowrap}
.tabla td.im{width:150px;padding-right:20px}
.tabla td.im img{width:150px;height:96px;object-fit:cover;border-radius:9px;display:block;cursor:zoom-in}
.tabla .et{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--bg2);border:1px solid var(--line);padding:3px 8px;border-radius:4px;margin-top:7px;color:var(--ink)}
/* tarjetas editoriales (CONCEPTO) */
.tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:36px}
.tarj{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 14px 38px rgba(22,32,58,.06)}
.tarj img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;cursor:zoom-in}
.tarj .c{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.tarj .k{font-size:11.5px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--acc2)}
.tarj h3{font-size:20px;margin:8px 0 0;letter-spacing:-.02em}
.tarj .d{font-size:14px;color:var(--muted);margin-top:7px;line-height:1.55}
.tarj .p{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);margin-top:18px}
.tarj .p span{display:block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-weight:800}
.tarj .p b{display:block;font-size:26px;font-weight:800;letter-spacing:-.03em;margin-top:4px}
.tarj .p small{display:block;font-size:13px;color:var(--muted);margin-top:3px}
/* fichas de unidad (unidades individuales) */
.tarj dl{margin:14px 0 0;display:grid;grid-template-columns:auto 1fr;gap:7px 14px;font-size:14.5px}
.tarj dt{color:var(--muted)} .tarj dd{margin:0;text-align:right;font-weight:700}
.tarj .btn{margin-top:18px;width:100%}
/* lista (NUEVOS) */
.lista-t{margin-top:36px;border-top:1px solid var(--line)}
.lt{display:grid;grid-template-columns:200px 1fr auto;gap:26px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.lt img{width:200px;height:124px;object-fit:cover;border-radius:11px;display:block;cursor:zoom-in}
.lt h3{font-size:20px;margin:0;letter-spacing:-.02em}
.lt .d{font-size:14.5px;color:var(--muted);margin-top:6px;line-height:1.55}
.lt .p{text-align:right;white-space:nowrap}
.lt .p span{display:block;font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-weight:700}
.lt .p b{display:block;font-size:26px;font-weight:800;letter-spacing:-.03em;margin-top:4px;color:var(--acc)}
.lt .p small{display:block;font-size:13px;color:var(--muted);margin-top:3px}

/* ---------- etapas ---------- */
.etapas{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
.etapa{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 26px 24px;position:relative}
.etapa .n{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--acc2)}
.etapa h3{font-size:23px;margin:10px 0 0;letter-spacing:-.025em}
.etapa p{font-size:15px;color:var(--muted);line-height:1.65;margin:10px 0 0}
.etapa ul{margin:14px 0 0;padding:0;list-style:none;font-size:14.5px}
.etapa li{padding:7px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}
.etapa li b{font-weight:800}

/* ---------- calculadora ---------- */
.jc{display:grid;grid-template-columns:1.05fr .95fr;margin-top:36px;border-radius:18px;overflow:hidden;border:1px solid var(--line)}
.jc .mandos{background:var(--card);padding:30px 30px 28px;color:var(--ink)}
.dk .jc .mandos{background:rgba(255,255,255,.04);color:var(--darkInk)}
.jc .res{background:var(--hero);color:#fff;padding:30px 30px 30px;display:flex;flex-direction:column}
.t-nuevos .jc .res{background:linear-gradient(160deg,#1E2430,#14181F);border-left:1px solid var(--line)}
.jc-campo{margin-bottom:20px}
.jc-campo>label,.jc-campo>.lbl{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.dk .jc-campo>label,.dk .jc-campo>.lbl{color:var(--darkMuted)}
.jc select,.jc input[type=text],.jc input[type=number]{width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--line);
  background:var(--bg);color:var(--ink);font:inherit;font-size:15.5px}
.dk .jc select,.dk .jc input[type=text],.dk .jc input[type=number]{background:rgba(0,0,0,.25);color:var(--darkInk);border-color:rgba(255,255,255,.18)}
.jc select option{color:#111;background:#fff}
.jc input[type=range]{width:100%;accent-color:var(--acc);margin-top:2px}
.jc .val{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--muted);margin-top:4px}
.dk .jc .val{color:var(--darkMuted)}
.jc .val b{font-size:18px;color:inherit;font-weight:800;letter-spacing:-.02em}
.jc .val b{color:var(--ink)} .dk .jc .val b{color:var(--darkInk)}
.jc .fila2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.jc .pref{position:relative} .jc .pref input{padding-left:40px} .jc .pref:before{content:attr(data-p);position:absolute;left:14px;top:50%;transform:translateY(-50%);font-weight:800;color:var(--muted);font-size:14px}
.jc .suf{position:relative} .jc .suf input{padding-right:34px} .jc .suf:after{content:"%";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:800;color:var(--muted)}
.jc-auto{background:none;border:0;padding:0;color:var(--acc2);font:inherit;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:none;cursor:pointer;text-decoration:underline}
.dk .jc-auto,.t-nuevos .jc-auto{color:var(--acc)}
.jc details{margin-top:4px;border-top:1px solid var(--line);padding-top:14px}
.dk .jc details{border-color:rgba(255,255,255,.14)}
.jc summary{cursor:pointer;font-size:13.5px;font-weight:800;color:var(--ink);list-style:none}
.dk .jc summary{color:var(--darkInk)}
.jc summary:before{content:"+ ";color:var(--acc2)} .jc details[open] summary:before{content:"– "}
.jc details .fila2{margin-top:14px}
.jc .nota-s{font-size:12.5px;color:var(--muted);line-height:1.55;margin-top:8px}
.dk .jc .nota-s{color:var(--darkMuted)}
.jc-r1{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.jc-cuota{font-size:clamp(40px,5.4vw,60px);font-weight:800;letter-spacing:-.04em;line-height:1;margin:12px 0 6px;color:#fff}
.t-nuevos .jc-cuota{color:var(--acc)}
.jc-r2{font-size:13.5px;color:rgba(255,255,255,.72);line-height:1.55}
.jc-lista{margin:20px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.2);display:grid;grid-template-columns:1fr auto;gap:9px 16px;font-size:14.5px;color:rgba(255,255,255,.82)}
.jc-lista b{text-align:right;color:#fff;font-weight:800}
.jc-lista .sep{grid-column:1/-1;height:1px;background:rgba(255,255,255,.14);margin:4px 0}
.jc-ingreso-box{margin-top:auto;padding-top:20px}
.jc-ingreso-box div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.85)}
.jc-ingreso-box b{display:block;font-size:22px;color:var(--acc);letter-spacing:-.02em;margin-top:2px}
.jc-aviso{margin-top:18px;font-size:13px;line-height:1.7;color:var(--muted)}
.dk .jc-aviso{color:var(--darkMuted)}
.jc-aviso b{color:inherit}

/* ---------- bono ---------- */
.bono{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;margin-top:30px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 28px}
.bono .cifra{font-size:42px;font-weight:800;letter-spacing:-.035em;color:var(--hero);line-height:1}
.t-nuevos .bono .cifra{color:var(--acc)}
.bono h3{font-size:19px;margin:0 0 7px;letter-spacing:-.02em}
.bono p{margin:0;font-size:15px;color:var(--muted);line-height:1.65}

/* ---------- ubicación ---------- */
.ubic{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;margin-top:32px}
.blist{margin:0;padding:0;list-style:none}
.blist li{padding:15px 0 15px 30px;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.6;position:relative}
.blist li:last-child{border-bottom:0}
.blist li:before{content:"";position:absolute;left:2px;top:23px;width:10px;height:10px;border-radius:50%;border:2px solid var(--acc)}
.dk .blist li{border-color:rgba(255,255,255,.14)}
.mapa{border-radius:16px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--bg2)}
.mapa iframe{width:100%;height:100%;border:0;display:block}

/* ---------- recorridos 360 ---------- */
.tours{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:32px}
.tour{position:relative;display:block;border-radius:16px;overflow:hidden;min-height:280px;border:1px solid var(--line);color:#fff;text-decoration:none}
.tour img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tour:hover img{transform:scale(1.05)}
.tour:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(10,14,24,.9))}
.tour .t{position:relative;z-index:2;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px}
.tour .ico{position:absolute;z-index:2;top:18px;left:18px;width:44px;height:44px;border-radius:50%;background:var(--acc);color:var(--accInk);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px}
.tour h3{font-size:20px;margin:0;letter-spacing:-.02em}
.tour .m{font-size:13.5px;color:rgba(255,255,255,.8);margin-top:5px}
.tour .go{margin-top:12px;font-size:14px;font-weight:800;color:var(--acc)}

/* ---------- galerías ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px}
.grid3 figure,.mosaico figure,.scroller figure{margin:0;position:relative;border-radius:13px;overflow:hidden}
.grid3 img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;cursor:zoom-in}
.grid3 figcaption,.mosaico figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 11px;color:#fff;
  background:linear-gradient(transparent,rgba(10,13,20,.82));font-size:13.5px;font-weight:700}
.mosaico{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:12px;margin-top:32px}
.mosaico img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in;transition:transform .5s ease}
.mosaico figure:hover img{transform:scale(1.04)}
.mosaico .g2{grid-column:span 2}.mosaico .r2{grid-row:span 2}
.scroller{display:flex;gap:14px;overflow-x:auto;padding:30px 0 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.scroller figure{flex:0 0 min(80vw,440px);scroll-snap-align:start}
.scroller img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:13px;cursor:zoom-in}
.scroller figcaption{font-size:13px;color:var(--muted);margin-top:9px}
.chips-ac{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chips-ac span{font-size:13.5px;font-weight:700;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--card)}

/* ---------- tarjetas de razones / costos ---------- */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px}
.cr{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:24px 22px}
.dk .cr{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14)}
.cr .n{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--acc);color:var(--acc2);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.dk .cr .n,.t-nuevos .cr .n{color:var(--acc)}
.cr .big{font-size:25px;font-weight:800;letter-spacing:-.025em}
.cr h3{font-size:17.5px;margin:14px 0 7px;letter-spacing:-.02em}
.cr p{margin:0;font-size:14.5px;line-height:1.65;color:var(--muted)}
.dk .cr p{color:var(--darkMuted)}

/* ---------- pasos ---------- */
.pasos{margin-top:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.paso{padding:24px 22px 22px 0;border-top:2px solid var(--line);position:relative}
.paso:before{content:"";position:absolute;top:-2px;left:0;width:36%;height:2px;background:var(--acc)}
.paso .n{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--acc2)}
.t-nuevos .paso .n,.dk .paso .n{color:var(--acc)}
.paso h3{font-size:18px;margin:10px 0 8px;letter-spacing:-.02em}
.paso p{margin:0;font-size:14.5px;line-height:1.65;color:var(--muted)}
.dk .paso p{color:var(--darkMuted)}

/* ---------- formulario ---------- */
.contacto{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;margin-top:32px}
.jf{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px 28px 30px;box-shadow:0 20px 54px rgba(20,28,48,.08);max-width:560px}
.jf input,.jf select{width:100%;padding:13px 15px;margin-bottom:11px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:15px}
.jf select option{color:#111;background:#fff}
.jf .chk{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;margin:6px 0 16px;color:var(--muted)}
.jf .chk input{width:auto;margin:3px 0 0}
.jf .chk a{color:var(--acc2);text-decoration:underline}
.t-nuevos .jf .chk a{color:var(--acc)}
.jf .btn{width:100%}
.jf-msg{min-height:18px;font-size:13.5px;color:var(--muted);margin-top:10px}
.legal{font-size:12.5px;color:var(--muted);line-height:1.75;margin-top:24px}

/* ---------- visor ---------- */
.jlb{position:fixed;inset:0;background:rgba(8,10,14,.94);z-index:998;display:none;align-items:center;justify-content:center;padding:22px;cursor:zoom-out}
.jlb.on{display:flex}.jlb img{max-width:100%;max-height:100%;border-radius:9px}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .al-hero .wrap{grid-template-columns:1fr}
  .al-hero .f{min-height:300px;order:-1}
  .al-hero .t{padding:36px 22px 44px}
  .co-hero .wrap{grid-template-columns:1fr;gap:26px}
  .co-foto{min-height:300px;order:-1}
  .co-foto img{border-radius:14px;border-bottom:1px solid rgba(194,168,106,.6)}
  .co-cta{margin-bottom:40px}
  .rangos .wrap,.co-tira .wrap,.nv-tira .wrap{grid-template-columns:1fr 1fr}
  .rangos .wrap>div:nth-child(2n),.co-tira .wrap>div:nth-child(2n),.nv-tira .wrap>div:nth-child(2n){border-right:0}
  .rangos .wrap>div:nth-child(-n+2),.co-tira .wrap>div:nth-child(-n+2),.nv-tira .wrap>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .rangos .wrap>div:nth-child(-n+2){border-bottom-color:rgba(255,255,255,.12)}
  .jc,.ubic,.contacto,.etapas{grid-template-columns:1fr}
  .cards4{grid-template-columns:1fr 1fr}
  .pasos{grid-template-columns:1fr 1fr;gap:0 24px}
  .mosaico{grid-template-columns:1fr 1fr}
  .grid3{grid-template-columns:1fr 1fr}
  .lt{grid-template-columns:150px 1fr;gap:18px}
  .lt img{width:150px;height:100px}
  .lt .p{grid-column:1/-1;text-align:left;display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}
}
@media(max-width:620px){
  .tp .sec{padding:54px 0}
  .rangos .wrap>div,.co-tira .wrap>div,.nv-tira .wrap>div{padding:16px 12px 16px 0}
  .nv-hero{min-height:92vh}
  .nv-rango div{padding:14px 18px 14px 0;margin-right:18px}
  .tabla,.tabla tbody,.tabla tr,.tabla td{display:block;width:100%}
  .tabla thead{display:none}
  .tabla tr{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px 16px;margin-bottom:14px}
  .tabla td{border-bottom:0;padding:0}
  .tabla td.im{width:100%;padding:0 0 12px}
  .tabla td.im img{width:100%;height:180px}
  .tabla td.ar{font-size:14px;color:var(--muted);margin-top:8px}
  .tabla td.ar:before{content:"Área total: "}
  .tabla td.r{text-align:left;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
  .tabla .pr{font-size:23px}
  .jc .mandos,.jc .res{padding:24px 18px 24px}
  .jc .fila2{grid-template-columns:1fr}
  .cards3,.cards4,.pasos,.grid3{grid-template-columns:1fr}
  .mosaico{grid-auto-rows:150px}
  .mosaico .g2{grid-column:span 2}
  .bono{grid-template-columns:1fr;gap:10px;padding:22px 20px}
  .lt{grid-template-columns:1fr}
  .lt img{width:100%;height:190px}
  .jf{padding:22px 18px 24px}
  .tours{grid-template-columns:1fr}
}
@media(max-width:760px){
  .nv-hero:after{background:linear-gradient(180deg,rgba(12,15,19,.55) 0%,rgba(12,15,19,.72) 30%,rgba(12,15,19,.96) 70%)}
}
/* una sola unidad: ficha horizontal */
.tarjetas.una{grid-template-columns:1fr}
.tarjetas.una .tarj{flex-direction:row}
.tarjetas.una .tarj>img{width:56%;aspect-ratio:auto;min-height:420px;object-fit:cover}
.tarjetas.una .tarj .c{padding:30px 30px 30px}
@media(max-width:860px){.tarjetas.una .tarj{flex-direction:column}.tarjetas.una .tarj>img{width:100%;min-height:0;aspect-ratio:16/10}.tarjetas.una .tarj .c{padding:22px}}
/* hero NUEVOS: más contraste del lado del texto en escritorio */
@media(min-width:761px){
  .nv-hero:after{background:linear-gradient(90deg,rgba(12,15,19,.88) 0%,rgba(12,15,19,.62) 42%,rgba(12,15,19,.15) 75%),linear-gradient(180deg,rgba(12,15,19,.35) 0%,transparent 40%,rgba(12,15,19,.9) 100%)}
}
.tarjetas{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.jc .pref[data-p="US$"] input{padding-left:52px}
