/* ===== REDISENO 2026 · Eco-luxury editorial para Las Palmas Campestre ===== */
:root{
  --fs-display:clamp(2.5rem,5.8vw + .8rem,5.6rem);
  --fs-h2:clamp(1.9rem,3.8vw + .5rem,3.3rem);
  --fs-h3:clamp(1.35rem,2.2vw + .3rem,2.1rem);
  --fs-lead:clamp(1.05rem,1.3vw + .2rem,1.28rem);
  --fs-body:1rem;--fs-eyebrow:.78rem;
  --ease:cubic-bezier(.23,1,.32,1);
  --ease-out-expo:cubic-bezier(.16,1,.3,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --papel:#F4EFE4;--linea:rgba(31,42,44,.13);
  interpolate-size:allow-keywords;color-scheme:light;
}
html{scroll-padding-top:92px}
body{background:var(--papel);line-height:1.72}
h1,h2,.tit{font-weight:600;line-height:1.06;letter-spacing:-.035em;text-wrap:balance}
h3{font-size:var(--fs-h3);line-height:1.18;letter-spacing:-.025em}
p,.lead,.resp{text-wrap:pretty}
.lead{font-size:var(--fs-lead);line-height:1.72}
.tit{font-size:var(--fs-h2);max-width:19ch}
.ey{font-family:Outfit,system-ui,sans-serif!important;font-size:var(--fs-eyebrow)!important;font-weight:600;letter-spacing:.18em!important;line-height:1.4;text-transform:uppercase;color:var(--lima-txt)}
.ey::before{content:none!important;display:none!important}
.ey::after{content:"";display:inline-block;width:32px;height:1.5px;margin-left:14px;vertical-align:middle;background:var(--sol)}
.tit em,.sec .tit em,.sec-oscura .tit em{font-style:normal;font-weight:600;color:var(--lima-em)!important;background:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important;text-decoration:underline;text-decoration-color:rgba(176,141,87,.72);text-decoration-thickness:.075em;text-underline-offset:.12em}
.sec-oscura .tit em{color:#D8BE8C!important;text-decoration-color:var(--sol)}
.sec{padding-block:clamp(76px,9vw,138px)}
.sec-piedra{background:#EBE3D3!important}
.sec-blanca{background:#FFF!important}
.sec-oscura{background-color:#1F2A2C!important;background-image:radial-gradient(540px circle at var(--mx,50%) var(--my,20%),rgba(176,141,87,.11),transparent 65%),linear-gradient(145deg,#1F2A2C 0%,#141D1F 100%)!important}
.sec-oscura::after{display:none!important}
.sec-oscura .ey{color:#D8BE8C!important}
.sec-oscura .lead{color:rgba(250,248,245,.88)}
.sec:not(.sec-oscura):not(.sec-blanca)::before{opacity:.2}

/* Navegacion flotante: cristal verde, filete champan y contraste estable */
.cab,.cab.solido{padding-block:10px;background:rgba(20,29,31,.88)!important;border-bottom:1px solid rgba(176,141,87,.2);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 10px 34px -24px rgba(20,29,31,.6)}
.cab-in{gap:clamp(8px,1.15vw,18px)}
.marca img{width:42px}
.nav{gap:0}
.nav a{border-radius:4px;font-size:.83rem;padding:9px 10px;color:rgba(255,255,255,.9)}
.nav a[aria-current="true"]{color:#D8BE8C}
.cab .cab-cta{border:1px solid rgba(176,141,87,.65);background:var(--sol);color:#1F2A2C}
.btn-acc,.pildora,.idioma summary{border-radius:4px}
@media(min-width:1200px){.nav{display:flex}.pildora{display:none}.menu-m{display:none}}
@media(max-width:1199px){.nav{display:none}.pildora{display:inline-flex}.cab .cab-cta{display:inline-flex}}
@media(max-width:760px){.cab .cab-cta{display:none}}
.panel-acc{border:1px solid rgba(176,141,87,.38);border-radius:8px;box-shadow:0 22px 60px -28px rgba(20,29,31,.55)}

/* Portada: fotografía real a sangre, lectura guiada por un degradado profundo */
.hero{min-height:100svh;align-items:center;background:#141D1F}
.hero::after{background:linear-gradient(90deg,rgba(17,24,26,.9) 0%,rgba(17,24,26,.74) 34%,rgba(17,24,26,.2) 76%,rgba(17,24,26,.12) 100%),linear-gradient(0deg,rgba(17,24,26,.72) 0%,transparent 55%)}
.hero-medio{inset:0;transform:none!important}
.hero-medio video{object-position:center 52%}
.manchas{display:none}
.hero-in{padding-top:clamp(126px,18vh,190px);padding-bottom:clamp(42px,7vh,76px)}
.insignia{border-radius:4px;background:rgba(20,29,31,.58);border-color:rgba(176,141,87,.42);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);letter-spacing:.025em}
.insignia i{animation:none;box-shadow:0 0 0 4px rgba(176,141,87,.16)}
.hero h1{font-size:clamp(2.8rem,6.3vw + .4rem,6.3rem);font-weight:500;line-height:1.01;letter-spacing:-.045em;max-width:13ch;margin-bottom:20px}
.rota{background:none!important;color:#D8BE8C!important;padding:0!important;border-radius:0!important;text-decoration:underline;text-decoration-color:rgba(176,141,87,.7);text-decoration-thickness:.055em;text-underline-offset:.13em}
.hero-sub{font-size:var(--fs-lead);max-width:44ch;line-height:1.65;color:rgba(255,255,255,.92)}
.hero-sub b{font-variant-numeric:tabular-nums lining-nums}
.hero-cta{gap:12px}
.hero .btn{min-height:54px;border-radius:4px}
.btn-sol{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#D5B46E,#B08D57 55%,#B89146);color:#1F2A2C}
.btn-sol::after{z-index:-1;animation:lp-metal-sweep 5.5s var(--ease) infinite}
@keyframes lp-metal-sweep{0%,68%,100%{transform:translateX(-130%)}82%{transform:translateX(130%)}}
.btn-pulso{animation:none!important}
.hero .hero-datos{margin-top:clamp(28px,4.5vh,48px);max-width:900px;background:rgba(246,243,236,.96);border:1px solid rgba(176,141,87,.38);border-radius:4px;box-shadow:0 28px 70px -44px rgba(0,0,0,.65);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hero .dato-h{border-radius:0;background:transparent;border:0;border-left:1px solid rgba(31,42,44,.13);padding:16px clamp(12px,2vw,24px);color:var(--tinta);backdrop-filter:none}
.hero .dato-h:first-child{border-left:0}
.hero .dato-h strong{color:var(--bosque);font-size:clamp(1.12rem,2vw,1.55rem);font-weight:600;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.035em}
.hero .dato-h span{color:var(--gris);font-size:.78rem}
.coord{color:rgba(255,255,255,.72)}
.baja{font-family:Outfit,system-ui,sans-serif;font-size:.68rem;letter-spacing:.2em}

/* Una firma editorial: numeracion tecnica, filetes finos y margenes amplios */
.cab-sec{margin-bottom:clamp(34px,5vw,70px)}
.proy-top{gap:clamp(34px,7vw,112px)}
.proy-txt .tit{max-width:15ch}
.proy-txt .lead{max-width:52ch}
.proy-foto{margin:0}
.fig-m,.proy-foto .fig-m{border-radius:4px!important;overflow:hidden;background:#DAD5CA;box-shadow:none}
.fig-m img,.proy-foto .fig-m img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.etq{position:static!important;display:block;width:fit-content;max-width:100%;margin-top:12px;padding:0;color:var(--gris);background:none!important;border:0;border-radius:0!important;backdrop-filter:none;font-size:.8rem;letter-spacing:.025em}
.proy-foto .etq::before,.fig .etq::before{content:"";display:inline-block;width:18px;height:1px;margin:0 9px 4px 0;background:var(--sol)}
.bento{display:grid;gap:10px;margin-top:clamp(48px,7vw,96px);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(132px,auto);border:0}
.tile,.tile.t-r,.tile.t-sol,.tile.t-casa,.tile.t-n1,.tile.t-n2{min-width:0;border:1px solid var(--linea)!important;border-radius:4px!important;box-shadow:none!important;overflow:hidden;transition:transform .5s var(--ease),border-color .35s,background-color .35s}
.tile{padding:clamp(18px,2.4vw,30px);align-items:flex-start;text-align:left;justify-content:flex-end;background:#fff;color:var(--tinta)}
.tile strong{font-size:clamp(2.6rem,5vw,4.6rem);font-weight:500;line-height:.95;letter-spacing:-.06em;font-variant-numeric:tabular-nums lining-nums}
.tile span,.tile b{font-weight:600;font-size:1rem;line-height:1.35}
.tile small{color:var(--gris);font-size:.83rem;line-height:1.5}
.tile svg{width:25px;height:25px;box-sizing:content-box;padding:0;border:0;border-radius:0;background:none;stroke:var(--lima-txt);stroke-width:1.7}
.tile.t-sol{grid-column:span 2;min-height:260px;background-image:radial-gradient(540px circle at var(--mx,50%) var(--my,20%),rgba(176,141,87,.11),transparent 65%),linear-gradient(145deg,#1C3527,#141D1F);border-color:rgba(176,141,87,.42)!important;color:#fff}
.tile.t-sol strong{font-size:clamp(4.2rem,10vw,8rem);font-weight:500;color:#D8BE8C;text-shadow:none;animation:none;background:none;-webkit-text-fill-color:currentColor}
.tile.t-sol>span{font-size:1.25rem;color:#fff}
.tile.t-sol small{color:rgba(250,248,245,.76)}
.tile.t-n5{background:#E7DCC8}
.tile.t-n1{background:#fff}
.tile.t-n2{background:linear-gradient(140deg,#D5B46E,#B89146);color:#1F2A2C}
.tile.t-n2 span,.tile.t-n2 small{color:#1F2A2C}
.tile.t-casa{grid-column:span 2;background-image:radial-gradient(540px circle at var(--mx,50%) var(--my,20%),rgba(176,141,87,.11),transparent 65%),linear-gradient(145deg,#1C3527,#141D1F);border-color:rgba(176,141,87,.42)!important;color:#fff}
.tile.t-casa svg{stroke:#D8BE8C}
.tile.t-casa small{color:rgba(250,248,245,.75)}
.tile.t-r{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;align-content:start;justify-content:start;gap:10px;background:#fff;padding:16px}
.tile.t-r svg{flex:none}
@media(hover:hover){.fig:hover .fig-m img,.proy-foto:hover .fig-m img,.lote-img:hover img{transform:scale(1.035)}.tile:hover{transform:translateY(-3px);box-shadow:none!important;border-color:rgba(176,141,87,.72)!important}.tile.t-sol:hover,.tile.t-casa:hover{background-color:#1F2A2C}}
@media(min-width:760px) and (max-width:999px){.bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:none}.bento .tile:nth-child(n){grid-area:auto}.tile.t-sol,.tile.t-casa,.tile.t-n2{grid-column:span 2}}
@media(min-width:1000px) and (max-width:1099px){.bento{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:none}.bento .tile:nth-child(n){grid-area:auto}.tile.t-sol{grid-column:span 3}.tile.t-casa,.tile.t-n2{grid-column:span 2}}
@media(min-width:1100px){.bento{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-areas:"anchor anchor plot large spec1" "anchor anchor house finance finance" "spec2 spec3 house spec4 spec5" "spec6 spec7 . . .";grid-auto-rows:minmax(146px,auto)}.tile:nth-child(1){grid-area:anchor}.tile:nth-child(2){grid-area:plot}.tile:nth-child(3){grid-area:large}.tile:nth-child(4){grid-area:finance}.tile:nth-child(5){grid-area:house}.tile:nth-child(6){grid-area:spec1}.tile:nth-child(7){grid-area:spec2}.tile:nth-child(8){grid-area:spec3}.tile:nth-child(9){grid-area:spec4}.tile:nth-child(10){grid-area:spec5}.tile:nth-child(11){grid-area:spec6}.tile:nth-child(12){grid-area:spec7}.tile.t-sol,.tile.t-casa{grid-column:auto}}

/* Masterplan: plano real ampliable y elección guiada conectada al simulador */
.masterplan{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);margin-top:clamp(44px,7vw,86px);border:1px solid rgba(31,42,44,.16);background:#fff}
.mp-visual{min-width:0;padding:clamp(12px,2vw,22px);background:#1F2A2C}
.mp-abrir{position:relative;display:block;width:100%;padding:0;border:0;background:#1F2A2C;cursor:zoom-in;text-align:left;overflow:hidden}
.mp-imagen{display:block;width:100%;height:clamp(340px,52vw,660px);object-fit:contain;transition:transform .8s var(--ease-out-expo)}
.mp-indicacion{position:absolute;right:14px;top:14px;display:flex;align-items:center;gap:9px;padding:10px 13px;background:rgba(20,29,31,.88);border:1px solid rgba(176,141,87,.42);color:#FAF7F0;font-size:.78rem;letter-spacing:.04em;backdrop-filter:blur(12px)}
.mp-indicacion>span{color:#D8BE8C;font-size:1.25rem;line-height:1}
.mp-pie{margin:12px 0 0;color:rgba(250,248,245,.72);font-size:.76rem;line-height:1.5}
.mp-panel{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(24px,4vw,56px)}
.mp-kicker{color:#796037;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.mp-panel h3{max-width:16ch;margin:14px 0;font-size:clamp(1.65rem,2.7vw,2.55rem);line-height:1.08;letter-spacing:-.035em;text-wrap:balance;color:#1F2A2C}
.mp-panel>p:not(.mp-nota){margin:0 0 20px;color:#5B625C;font-size:.94rem}
.mp-opciones{border-top:1px solid rgba(31,42,44,.14)}
.mp-opcion{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:15px 0;border-bottom:1px solid rgba(31,42,44,.14);color:#1F2A2C;text-decoration:none;transition:padding .35s var(--ease),background-color .35s}
.mp-nombre{font-size:.92rem;font-weight:600;line-height:1.4}
.mp-medidas{grid-column:1;color:#737970;font-size:.78rem;font-variant-numeric:tabular-nums lining-nums}
.mp-precio{grid-column:2;grid-row:1/3;align-self:center;color:#1F2A2C;font-size:.93rem;font-weight:600;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.mp-elegir{grid-column:1/-1;margin-top:5px;color:#796037;font-size:.76rem;font-weight:600;letter-spacing:.035em}
.mp-elegir span{display:inline-block;transition:transform .3s var(--ease)}
.mp-nota{margin:16px 0 0;color:#6B7069;font-size:.76rem;line-height:1.55}
@media(hover:hover){.mp-abrir:hover .mp-imagen{transform:scale(1.025)}.mp-opcion:hover{padding-inline:10px;background:#F4EFE4}.mp-opcion:hover .mp-elegir span{transform:translate(3px,-3px)}}
.mp-opcion:focus-visible,.mp-abrir:focus-visible,.mp-cerrar:focus-visible{outline:2px solid #B08D57;outline-offset:3px}
.mp-dialog{width:min(1120px,calc(100vw - 28px));max-width:none;max-height:calc(100svh - 28px);padding:0;border:1px solid rgba(176,141,87,.4);background:#141D1F;color:#FAF7F0}
.mp-dialog::backdrop{background:rgba(7,13,9,.82);backdrop-filter:blur(8px)}
.mp-dialog-in{display:flex;flex-direction:column;max-height:calc(100svh - 30px)}
.mp-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid rgba(176,141,87,.25);font-size:.88rem;font-weight:600}
.mp-cerrar{display:inline-flex;align-items:center;gap:14px;padding:8px 10px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;cursor:pointer}
.mp-cerrar span{color:#D8BE8C;font-size:1.2rem}
.mp-dialog-viewport{min-height:0;overflow:auto;text-align:center;background:#1F2A2C;overscroll-behavior:contain}
.mp-dialog-viewport img{display:block;width:min(100%,900px);height:auto;margin-inline:auto}
.mp-dialog-foot{margin:0;padding:11px 18px;color:rgba(250,248,245,.72);font-size:.76rem}
@media(max-width:820px){.masterplan{grid-template-columns:1fr}.mp-imagen{height:min(115vw,620px)}.mp-panel{padding:26px 22px}.mp-panel h3{max-width:22ch}}
@media(prefers-reduced-motion:reduce){.mp-imagen,.mp-elegir span,.mp-opcion{transition:none}}

/* Lotes: arquitectura clara, control visible para cambiar entre secuencia y lista */
.lotes-barra{border:1px solid var(--linea);border-radius:4px;background:#fff;color:var(--tinta);box-shadow:none}
.lotes-barra button{min-height:46px;border-radius:3px;background:#1F2A2C;color:#fff}
.lotes-pista{background:transparent}
.lote{border:1px solid rgba(31,42,44,.16);border-radius:4px!important;background:#fff;color:var(--tinta);box-shadow:none!important;overflow:hidden}
.lote-img{border-radius:0!important;background:#E7DCC8}
.lote-cu{padding:clamp(22px,4vw,54px)}
.lote-t{font-family:Outfit,system-ui,sans-serif!important;letter-spacing:.16em;color:var(--lima-txt)}
.lote h3{font-size:var(--fs-h2);font-weight:500}
.lote-p{font-size:clamp(1.8rem,4vw,3.2rem);font-weight:600;color:var(--bosque);font-variant-numeric:tabular-nums lining-nums;background:none;-webkit-text-fill-color:currentColor;animation:none}
.lote-pl li{border-bottom:1px solid var(--linea);padding:10px 0;font-variant-numeric:tabular-nums lining-nums}
.lote-ac .btn{min-height:48px;border-radius:3px}
.dim{border-color:rgba(31,42,44,.5);border-radius:0;background-color:#F8F6F1}
.riel-num{font-family:Outfit,system-ui,sans-serif}

/* Simulador: controles verde bosque y recibo marfil de lectura contable */
.sim{grid-template-columns:1fr;border:1px solid rgba(176,141,87,.3);border-radius:6px;box-shadow:0 26px 70px -46px rgba(20,29,31,.38);background:#1F2A2C}
.sim-ctrl{background-image:radial-gradient(540px circle at var(--mx,50%) var(--my,20%),rgba(176,141,87,.11),transparent 65%);padding:clamp(22px,4vw,52px);color:#FAF7F0}
.paso-t{color:#FAF7F0;font-size:1.05rem}
.paso-t i{width:32px;height:32px;border:1px solid rgba(176,141,87,.6);background:rgba(176,141,87,.12);color:#D8BE8C}
.sim .lote-card,.sim .plan-card{border:1px solid rgba(255,255,255,.16);border-radius:4px;background:rgba(255,255,255,.045);color:#FAF7F0;min-height:74px}
.sim .lote-card .m2,.sim .lote-card .info b,.sim .plan-card b{color:#FAF7F0;font-variant-numeric:tabular-nums lining-nums}
.sim .lote-card .info small,.sim .plan-card small{color:rgba(250,248,245,.68)}
.sim .lote-card.sel,.sim .plan-card.sel{border-color:var(--sol);background:rgba(176,141,87,.12);box-shadow:inset 0 0 0 1px rgba(176,141,87,.18)}
.sim .lote-card.sel .tic{background:var(--sol);border-color:var(--sol)}
.sim .plan-card.sel{color:#fff}
.sim .plan-card.sel b{color:#fff}.sim .plan-card.sel small{color:#D8BE8C}
.sim .sim-ctrl .nota,.sim .sim-ctrl label,.sim .campo-r label{color:rgba(250,248,245,.72)}
.sim .res{padding:clamp(26px,4vw,52px);border:0;border-top:1px solid rgba(31,42,44,.14);border-radius:0;background:#FAF7F0!important;background-image:none!important;color:#1F2A2C}
.sim .res::before{display:none!important}
.res-t{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.res-cuota{font-size:clamp(2.8rem,6vw,5rem);line-height:1.03;letter-spacing:-.055em;font-weight:600;font-variant-numeric:tabular-nums lining-nums;overflow-wrap:anywhere}
.res-sub{color:var(--gris)}
.res dl div{border-bottom:1px dashed rgba(31,42,44,.22)}
.res dd,.res .leyenda{font-variant-numeric:tabular-nums lining-nums}
.res .btn-oscuro{border-radius:3px;background:#1F2A2C;color:#fff;min-height:50px}
@media(min-width:900px){.sim{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)}.sim .res{border-top:0;border-left:1px solid rgba(31,42,44,.14)}}

/* Amenidades y zonas: lista editorial numerada, foto con pie legible debajo */
.figs{gap:clamp(18px,3vw,36px)}
.fig,.proy-foto{min-width:0}
.fig{margin:0}
.fig .fig-m{border-radius:4px!important}
.zonas-g{gap:0 38px!important;grid-template-columns:1fr!important}
.zonas-g .rasgo,.zonas-g .rasgo:nth-child(n){position:relative;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:16px;padding:16px 0;margin:0;background:none;border:0;border-bottom:1px solid var(--linea);border-radius:0!important;text-align:left;box-shadow:none;counter-increment:z}
.zonas-g{counter-reset:z}
.zonas-g .rasgo::before{content:counter(z,decimal-leading-zero);display:block;font-family:Outfit,system-ui,sans-serif;font-size:.75rem;letter-spacing:.12em;color:var(--lima-txt);min-width:2.4ch}
.zonas-g .rasgo svg{flex:none;width:22px;height:22px;padding:0;border:0;border-radius:0;background:none!important;stroke:var(--lima-txt)!important}
.zonas-g .rasgo b{font-size:.95rem;font-weight:500}
@media(min-width:760px){.zonas-g{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:1100px){.zonas-g{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(hover:hover){.zonas-g .rasgo:hover{transform:none;box-shadow:none;border-bottom-color:var(--sol)}}

/* Ubicacion, preguntas y contacto */
.cerca .t{font-variant-numeric:tabular-nums lining-nums}
.cerca .pista{height:3px;border-radius:0;background:rgba(31,42,44,.12)}
.cerca .pista i{border-radius:0;background:linear-gradient(90deg,var(--lima),var(--sol));transition:width 1.2s var(--ease)}
.faq{gap:10px}
.faq details{border:0;border-top:1px solid var(--linea);border-radius:0;background:transparent;padding:0 4px;margin:0}
.faq details:first-child{border-top:1px solid rgba(31,42,44,.5)}
.faq details[open]{border-color:rgba(176,141,87,.8)}
.faq summary{padding:20px 40px 20px 0;font-size:1.02rem;font-weight:500}
.faq summary::before{font-variant-numeric:tabular-nums}
.faq summary::after{border-radius:0}
.faq .resp{padding:0 42px 20px 0;max-width:70ch;color:var(--gris)}
@supports selector(details::details-content){.faq details::details-content{block-size:0;overflow:clip;transition:block-size .42s var(--ease),content-visibility .42s allow-discrete}.faq details[open]::details-content{block-size:auto}}
.cont{gap:clamp(30px,6vw,88px)}
.form{border:1px solid rgba(176,141,87,.26);border-radius:6px;box-shadow:0 24px 60px -44px rgba(0,0,0,.55)}
.form input:not([type=checkbox]){min-height:50px;border-radius:3px}
.form .btn{min-height:52px;border-radius:3px}
.pie{background:#141D1F;border-top:1px solid rgba(176,141,87,.2)}

/* Numeros financieros consistentes y respuesta tactil breve */
.tile strong,.lote-p,.lote-pl,.cuadro,.sim,.res,.dato-h strong,.cerca .t{font-variant-numeric:tabular-nums lining-nums}
.btn,.pildora,.filtro,.lotes-barra button,.gal-nav,.gal-play,.visor button,.btn-acc,.idioma summary,.form input,.form select{transition-duration:.18s}
.btn:active,.pildora:active,.filtro:active,.lotes-barra button:active,.gal-nav:active,.gal-play:active,.visor button:active,.btn-acc:active,.idioma summary:active,.form button:active{transform:scale(.97);transition-duration:80ms}
.btn,.pildora,.filtro,.lotes-barra button{border-radius:3px}

/* Escala de lectura, contraste alto y movimiento reducido */
html.tx2 .nav,html.tx3 .nav{display:none!important}
html.tx2 .pildora,html.tx3 .pildora{display:inline-flex!important}
html.alto body,html.alto .sec,html.alto .sec-piedra,html.alto .sec-blanca,html.alto .empieza{background:#fff!important;color:#000!important}
html.alto .sec-oscura,html.alto .cab,html.alto .cab.solido,html.alto .menu-m,html.alto .sim-ctrl,html.alto .pie{background:#000!important;color:#fff!important}
html.alto .tile,html.alto .lote,html.alto .form,html.alto .sim,.alto .faq details,.alto .lotes-barra{border:2px solid currentColor!important;box-shadow:none!important}
html.alto .lead,html.alto .nota,html.alto .res,.alto .tile small,.alto .conf small{color:inherit!important;opacity:1!important}
html.quieto *,html.quieto *::before,html.quieto *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.rev{opacity:1;transform:none}.pal>span{transform:none}}
@media(max-width:699px){p,.lead,.resp,.nota,.pie-g p{text-align:left!important;hyphens:manual;-webkit-hyphens:manual}}
@media(max-width:759px){.hero{align-items:flex-end}.hero-in{padding-top:126px;padding-bottom:34px}.hero h1{font-size:clamp(2.55rem,11vw,4.2rem);max-width:12ch}.hero .hero-datos{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px}.hero .dato-h{border-left:0;border-top:1px solid rgba(31,42,44,.13)}.hero .dato-h:nth-child(-n+2){border-top:0}.hero .dato-h:nth-child(even){border-left:1px solid rgba(31,42,44,.13)}.hero .dato-h strong{font-size:1.12rem}.hero .dato-h span{font-size:.72rem}.hero-cta .btn{flex:1 1 auto;min-width:0;padding-inline:16px}.tit{font-size:clamp(2rem,9vw,3.25rem)}.proy-foto{position:static!important}.bento{grid-auto-rows:minmax(124px,auto)}.tile{padding:16px}.tile.t-r{gap:10px}.tile.t-r b{font-size:.85rem}.tile.t-r small{font-size:.76rem}.sim{grid-template-columns:1fr}.sim .res{border-left:0!important;border-top:1px solid rgba(31,42,44,.14)}.figs{grid-template-columns:1fr}.cont{grid-template-columns:1fr}.cab-in{gap:8px}.marca img{width:38px}}
@media(max-width:380px){.hero .hero-datos{grid-template-columns:1fr}.hero .dato-h:nth-child(n){border-left:0;border-top:1px solid rgba(31,42,44,.13)}.hero .dato-h:first-child{border-top:0}.hero-cta{display:grid;grid-template-columns:1fr}.bento{grid-template-columns:1fr}.tile.t-sol,.tile.t-casa,.tile.t-n2{grid-column:auto}.tile.t-sol{min-height:190px}}

/* Pasos de entrada en formato editorial, sin repetir tres tarjetas */
.empieza-g{grid-template-columns:1fr;gap:0;border-top:1px solid rgba(31,42,44,.38)}
.empieza .empieza-g a,.empieza .empieza-g a.wa-card{display:grid;grid-template-columns:44px minmax(0,1fr) 22px;gap:18px;align-items:center;padding:18px 0;border:0;border-bottom:1px solid var(--linea);border-radius:0;background:transparent;color:var(--tinta);box-shadow:none}
.empieza .empieza-g a .n,.empieza .empieza-g a.wa-card .n{display:block;width:auto;height:auto;padding:0;background:none!important;color:var(--lima-txt)!important;font-size:.76rem;letter-spacing:.12em;font-weight:600}
.empieza .empieza-g a b,.empieza .empieza-g a.wa-card b{font-size:1rem;font-weight:600;color:var(--tinta)}
.empieza .empieza-g a small,.empieza .empieza-g a.wa-card small{display:block;color:var(--gris);font-size:.86rem}
.empieza .empieza-g a .ir{color:var(--sol);font-size:1.5rem}
@media(hover:hover){.empieza .empieza-g a:hover,.empieza .empieza-g a.wa-card:hover{transform:none;background:rgba(255,255,255,.52);border-color:rgba(176,141,87,.55);box-shadow:none}}
@media(min-width:900px){.empieza-g{grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--linea)}.empieza .empieza-g a,.empieza .empieza-g a.wa-card{border-right:1px solid var(--linea);border-bottom:0;padding:22px 18px}.empieza .empieza-g a:first-child{padding-left:0}.empieza .empieza-g a:last-child{border-right:0}}
.lead,.resp p,.paso p,.nota,.legal-pag p,.legal-pag li,.lote-med,.foto-fin span,.pie-g p,.proy-txt p{text-align:left;text-justify:auto;hyphens:manual;-webkit-hyphens:manual}
.sim-ctrl .nota{max-width:64ch}

/* ===== Las Palmas Campestre · Warm Minimalism: serif editorial + sans geométrica, pizarra, arena, madera y oro mate ===== */
:root{--madera:#7A5C3C;--serif:"Cormorant Garamond","Playfair Display",Georgia,"Times New Roman",serif;--sans:Outfit,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sombra:0 1px 0 rgba(31,42,44,.04),0 26px 60px -34px rgba(20,29,31,.3)}
body{font-family:var(--sans)}
h1,h2,h3,.tit,.lote h3,.paso h3,.cuadro h3,.plano-txt h3,.mp-panel h3{font-family:var(--serif)}
h1,h2,.tit{font-weight:500;letter-spacing:-.02em;line-height:1.02}
.hero h1{font-size:clamp(3rem,6.6vw + .4rem,6.6rem)!important;font-weight:500!important;letter-spacing:-.025em!important;line-height:.98!important;max-width:15ch!important}
.tit{font-size:clamp(2.6rem,4.4vw + .6rem,4.4rem)!important;max-width:18ch}
h3{font-size:clamp(1.55rem,2vw + .5rem,2.3rem);line-height:1.1;letter-spacing:-.01em;font-weight:500}
.empieza h2{font-family:var(--serif);font-weight:500;letter-spacing:-.015em;line-height:1.05}
.tit em,.sec .tit em,.sec-oscura .tit em,.cab-sec .tit em{font-family:var(--serif)!important;font-style:italic!important;font-weight:500!important;text-decoration:none!important;color:var(--madera)!important;letter-spacing:-.01em!important}
.sec-oscura .tit em{color:#D8BE8C!important}
.rota{font-family:var(--serif)!important;font-style:italic;font-weight:500;text-decoration:none!important;color:#D8BE8C!important}
.ey{font-family:var(--sans)!important;color:var(--madera)!important}
.sec-oscura .ey{color:#D8BE8C!important}
.tile strong,.t-sol strong{font-family:var(--serif)!important;font-weight:500!important;font-feature-settings:"lnum","tnum"}
.lote-p,.res-cuota,.cuadro .p,.hero .hero-datos .dato-h strong,.cerca .t,.res dd{font-family:var(--sans)!important;font-variant-numeric:lining-nums tabular-nums}
.btn-sol,.cab .cab-cta{background:linear-gradient(180deg,#C9A96E,#B08D57);color:#1F2A2C}
.btn-lima{background:#1F2A2C;color:#fff}
.btn-lima:hover{background:#2B3A3D}
.btn{font-family:var(--sans);letter-spacing:.01em}
/* banda fotográfica con parallax suave */
.banda{position:relative;background:#141D1F}
.banda-m{position:relative;height:clamp(260px,44vw,560px);overflow:hidden}
.banda-i{position:absolute;inset:-14% 0;will-change:transform}
.banda-i img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.banda-cap{margin:0;padding:12px var(--gut);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:#D8BE8C;background:#141D1F}
/* tour privado por WhatsApp */
.btn-wa{position:relative;gap:12px;margin:24px 0 4px;background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(216,190,140,.75);animation:waAnillo 3s ease-out infinite}
.btn-wa svg{width:22px;height:22px;fill:#D8BE8C;flex:none}
.btn-wa:hover{background:rgba(216,190,140,.14)}
@keyframes waAnillo{0%{box-shadow:inset 0 0 0 1.5px rgba(216,190,140,.75),0 0 0 0 rgba(216,190,140,.4)}70%{box-shadow:inset 0 0 0 1.5px rgba(216,190,140,.75),0 0 0 14px rgba(216,190,140,0)}100%{box-shadow:inset 0 0 0 1.5px rgba(216,190,140,.75),0 0 0 0 rgba(216,190,140,0)}}
.quieto .btn-wa{animation:none}
@media(prefers-reduced-motion:reduce){.btn-wa{animation:none}}

/* w3: mosaico en escritorio — la pieza ancla y la casa ocupan su área completa (una regla previa grid-column:auto las dejaba en una sola columna) */
@media(min-width:1100px){.bento .tile.t-sol{grid-column:anchor}.bento .tile.t-casa{grid-column:house}}

/* w4: el mosaico cierra su última fila sin huecos (la pieza "Escritura inmediata" se vuelve banda) */
@media(min-width:1100px){
  .bento{grid-template-areas:"anchor anchor plot large spec1" "anchor anchor house finance finance" "spec2 spec3 house spec4 spec5" "spec6 spec7 spec7 spec7 spec7"}
  .bento .tile.t-es{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:18px;background:#EFE7D6}
  .bento .tile.t-es b{font-family:var(--serif);font-size:1.5rem;font-weight:500}
}

/* w5: ajustes de la revisión de calidad */
.mp-medidas{color:#6D7368}
.form input:focus,.form textarea:focus,.form input:focus-visible{border-color:#B08D57;box-shadow:0 0 0 3px rgba(176,141,87,.25);outline:none}
.hero{min-height:min(100svh,820px)}

/* v14: cifras alineadas en toda la web (en Cormorant el 1 y el 0 se leian como I y O) */
html{font-variant-numeric:lining-nums}
.ey,h1,h2,h3,.tit{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
