/* OVUM 2028 — EL PLANO INTERACTIVO DE LA EXPOSICIÓN, en la portada (5/11/2026). Lo arma plano.js; los colores de cada nivel son los
   de la leyenda del plano R6 de Paulo. */
.n-diamante{--c:#14566B;--b:#14566B;--t:#fff}
.n-platino{--c:#3369BD;--b:#3369BD;--t:#fff}
.n-oro{--c:#E0BD6B;--b:#A87817;--t:#2A1E05}
.n-plata{--c:#D9DEE6;--b:#616B7A;--t:#16202B}
.n-bronce{--c:#C79170;--b:#A35E3B;--t:#2B1408}
.n-base{--c:#EBE6D9;--b:#8F8C87;--t:#2A2418}

/* el escenario: navy, ñandutí que gira despacio y luz de oro y de rojo */
#plano{position:relative;overflow:hidden;isolation:isolate;background:#071B3F;color:#F6EEDF;padding:clamp(3rem,6vw,5.2rem) 0 clamp(3rem,6vw,4.8rem);scroll-margin-top:60px}
.px-fondo{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:
  radial-gradient(58% 44% at 50% 0%,rgba(201,162,39,.2),transparent 70%),
  radial-gradient(46% 38% at 100% 58%,rgba(200,16,46,.17),transparent 70%),
  radial-gradient(56% 48% at 0% 100%,rgba(0,94,184,.3),transparent 70%)}
.px-fondo::before{content:"";position:absolute;inset:0;background:url("/img/marca2028/fondo-navy-nanduti.jpg") center/cover no-repeat;opacity:.3;mix-blend-mode:luminosity}
.px-fondo i{position:absolute;width:min(70vw,780px);aspect-ratio:1;background:url("/plano/roseton.webp") center/contain no-repeat;opacity:.12;animation:px-gira 150s linear infinite}
.px-fondo i:nth-child(1){top:-260px;right:-220px}
.px-fondo i:nth-child(2){bottom:-300px;left:-260px;animation-direction:reverse;animation-duration:190s}
@keyframes px-gira{to{transform:rotate(360deg)}}
.px-ancho{width:min(1480px,100% - 3rem);margin-inline:auto}
#plano .sec-head h2{color:#FFF9EE}
#plano .sec-lead{color:rgba(246,238,223,.8)}
#plano .filete i{background:linear-gradient(90deg,transparent,rgba(201,162,39,.85),transparent)}
#plano .filete span{background:var(--oro)}

/* lo que se ve sin JavaScript, o si el CRM no responde: el plano fijo */
.px-fijo{display:block;border-radius:20px;overflow:hidden;border:1px solid rgba(201,162,39,.38);box-shadow:0 40px 70px -40px rgba(0,0,0,.85)}
.px-fijo img{display:block;width:100%;height:auto}

/* las barras */
.px-barra{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1rem;margin-bottom:.75rem}
.px-zonas{position:relative;display:flex;padding:4px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.px-zonas button{position:relative;z-index:1;display:grid;gap:.05rem;min-width:150px;padding:.48rem 1.05rem;border:0;border-radius:12px;background:none;color:#F6EEDF;font:inherit;text-align:left;cursor:pointer;transition:color .25s}
.px-zonas b{font-family:var(--serif);font-weight:500;font-size:1.04rem;line-height:1.2}
.px-zonas small{font-size:.74rem;opacity:.8;white-space:nowrap}
.px-zonas [aria-selected="true"]{color:var(--navy)}
.px-guia{position:absolute;z-index:0;top:4px;bottom:4px;left:0;width:0;border-radius:12px;background:linear-gradient(180deg,#FFFBF2,#F4E8CF);box-shadow:0 10px 20px -10px rgba(0,0,0,.7);transition:transform .38s var(--ease),width .38s var(--ease)}
.px-vivo{margin-left:auto;font-size:.92rem;color:rgba(246,238,223,.82);white-space:nowrap}
.px-vivo-n b{font-family:var(--serif);font-weight:500;font-size:1.5rem;line-height:1;color:#FFF9EE;font-variant-numeric:tabular-nums}
.px-niveles{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}
.px-niveles button{display:inline-flex;align-items:center;gap:.42rem;padding:.42rem .75rem;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.07);color:#F6EEDF;font:600 .82rem var(--sans);white-space:nowrap;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.px-niveles button:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.px-niveles i{width:13px;height:13px;border-radius:4px;background:var(--c);border:1.5px solid rgba(255,255,255,.55)}
.px-niveles span{font-weight:400;opacity:.65}
.px-niveles em{font-style:normal;font-weight:600;color:#8BE3AE}
.px-niveles button[aria-pressed="true"],.px-niveles button[aria-pressed="true"]:hover{background:#FFF9EE;border-color:#FFF9EE;color:var(--navy)}
.px-niveles [aria-pressed="true"] em{color:#1F7A47}
.px-niveles [aria-pressed="true"] i{border-color:rgba(0,47,108,.3)}
.px-buscar{position:relative;flex:1 1 200px;max-width:300px;min-width:180px}
.px-buscar>svg{position:absolute;left:.72rem;top:50%;width:16px;height:16px;transform:translateY(-50%);fill:none;stroke:rgba(255,255,255,.75);stroke-width:2;stroke-linecap:round;pointer-events:none}
.px-buscar input{width:100%;height:40px;padding:0 .9rem 0 2.2rem;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.09);color:#fff;font:500 .92rem var(--sans);outline:none;-webkit-appearance:none;appearance:none;transition:border-color .2s,background .2s}
.px-buscar input::placeholder{color:rgba(246,238,223,.65)}
.px-buscar input:focus{border-color:var(--oro);background:rgba(255,255,255,.14)}
.px-res{position:absolute;z-index:30;top:calc(100% + 6px);right:0;width:max(100%,300px);padding:.35rem;border-radius:14px;background:#FFFBF4;box-shadow:0 22px 44px -18px rgba(0,0,0,.8);color:var(--tinta)}
.px-res button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .55rem;border:0;border-radius:9px;background:none;font:500 .86rem var(--sans);color:inherit;text-align:left;cursor:pointer}
.px-res button:hover{background:#F4EBDA}
.px-res i{flex:none;width:12px;height:12px;border-radius:3px;background:var(--c);border:1px solid var(--b)}
.px-res span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--suave)}
.px-res em,.px-tip span{font-style:normal;font-size:.76rem;font-weight:700}
.px-res .si,.px-tip .si{color:#1F7A47}
.px-res .no{color:#A85A12}
.px-res p{margin:0;padding:.6rem;font-size:.86rem;color:var(--suave)}

/* el lienzo */
.px-escena{position:relative}
.px-lienzo{position:relative;height:clamp(460px,68vh,700px);overflow:hidden;border-radius:22px;background:linear-gradient(160deg,#143462,#0B2350 55%,#071733);border:1px solid rgba(201,162,39,.4);box-shadow:0 44px 80px -44px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.09);touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline:none}
.px-lienzo.arrastra{cursor:grabbing}
.px-mundo{position:absolute;left:0;top:0;transform-origin:0 0;border-radius:7px;overflow:hidden;box-shadow:0 26px 50px -24px rgba(0,0,0,.85)}
.px-mundo.mueve{will-change:transform}
.px-mundo.cambia{opacity:0}
.px-foto{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;-webkit-user-drag:none}
.px-svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden;font-family:var(--sans)}
.px-svg.espera .e{opacity:0}

/* cada espacio, como en el plano R6: contorno, marco blanco y etiqueta del color de su nivel */
.px-svg text{text-anchor:middle;dominant-baseline:central;pointer-events:none}
.e{cursor:pointer;outline:none;transition:opacity .25s;--d:0ms}
.e .halo{fill:none;stroke:#fff;stroke-width:5.6;transition:stroke .2s}
.e.chico .halo{stroke-width:3}
.n-base.e .halo{stroke-width:2.6}
.e .caja{stroke:var(--b);stroke-width:2.2;pointer-events:all;transition:fill-opacity .18s,stroke-width .18s,stroke .18s}
.n-base.e .caja{stroke-width:.7}
.libre .caja{fill:var(--c);fill-opacity:.26}
.n-base.libre .caja{fill-opacity:.1}
.pill{fill:var(--c);stroke:var(--b);stroke-width:.9}
.tira{fill:#EBE6D9;stroke:#C5C4BD;stroke-width:.25}
.e .cod{fill:var(--t);font-weight:600;letter-spacing:.01em}
.e .niv{fill:var(--t);font-weight:700;letter-spacing:.13em;opacity:.86}
.unido.libre .caja{fill-opacity:.92}
.tomado .caja{fill:#fff;fill-opacity:.97}
.tomado .cod{fill:#0E1C36;fill-opacity:.62}
.tomado .marca{fill:#0E1C36;font-weight:700}
.e:hover .caja,.e:focus-visible .caja{stroke-width:3;fill-opacity:.58}
.n-base.e:hover .caja,.n-base.e:focus-visible .caja{stroke-width:1.5;fill-opacity:.72}
.tomado.e:hover .caja,.tomado.e:focus-visible .caja{fill-opacity:1}
.e:hover .halo,.e:focus-visible .halo{stroke:#FFE9A8}
.e.sel .caja{stroke:#C8102E;stroke-width:3;fill-opacity:.6}
.n-base.e.sel .caja{stroke-width:2;fill-opacity:.8}
.tomado.e.sel .caja{fill-opacity:1}
.hay-sel .e:not(.sel){opacity:.72}
.anillo{fill:none;stroke:#C8102E;stroke-width:2;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:px-anillo 1.8s cubic-bezier(.2,.7,.3,1) infinite}
.anillo.dos{animation-delay:.9s}
@keyframes px-anillo{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.32);opacity:0}}
/* el filtro por nivel */
.px-svg[data-f] .e{opacity:.14}
.px-svg[data-f="diamante"] .n-diamante,.px-svg[data-f="platino"] .n-platino,.px-svg[data-f="oro"] .n-oro,.px-svg[data-f="plata"] .n-plata,.px-svg[data-f="bronce"] .n-bronce,.px-svg[data-f="base"] .n-base{opacity:1}
.px-svg[data-f="diamante"] .n-diamante.libre .caja,.px-svg[data-f="platino"] .n-platino.libre .caja,.px-svg[data-f="oro"] .n-oro.libre .caja,.px-svg[data-f="plata"] .n-plata.libre .caja,.px-svg[data-f="bronce"] .n-bronce.libre .caja,.px-svg[data-f="base"] .n-base.libre .caja{fill-opacity:.72;stroke-width:3}
/* la ola al entrar */
.ola .e{animation:px-entra .56s cubic-bezier(.22,.9,.3,1) both;animation-delay:var(--d);transform-box:fill-box;transform-origin:center}
@keyframes px-entra{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
/* muy lejos, los códigos de los stands no se leen: mejor sin ellos */
.lejos .n-base.libre .cod,.lejos .n-base.libre .tira{display:none}
.lejos .n-base.libre .caja{fill-opacity:.8}
/* accesos y Nido */
.ref{pointer-events:none}
.ref-l{fill:#C8102E}
.ref-c{fill:#fff;stroke:#C8102E;stroke-width:1.3}
.ref text{fill:#002F6C;font-weight:700;letter-spacing:.06em}
.lugar-r .ref-c{fill:#002F6C;stroke:#fff}
.lugar-r text{fill:#fff;letter-spacing:.14em}
/* el plano general */
.lugar .et{fill:#0D2A5C;stroke:#fff;stroke-width:1;transition:fill .2s,transform .25s}
.lugar .num{fill:#fff;font-family:var(--serif)}
.lugar .nom{fill:#fff;font-weight:700;letter-spacing:.07em;text-anchor:start}
.lugar .sub{fill:#BFD6F2;text-anchor:start}
.lugar.va{cursor:pointer;outline:none}
.lugar.va .sub{fill:#8BE3AE;font-weight:600}
.lugar.va:hover .et,.lugar.va:focus-visible .et{fill:#C8102E}
.foco{fill:rgba(255,219,120,.2);stroke:#FFDB78;stroke-width:1.6;stroke-dasharray:6 4;animation:px-foco 2.2s ease-in-out infinite;pointer-events:all}
.lugar.va:hover .foco{fill:rgba(255,219,120,.42)}
@keyframes px-foco{50%{stroke-opacity:.35;fill-opacity:.55}}

.px-lista{position:absolute;z-index:3;left:14px;top:50%;display:none;width:290px;gap:.35rem;transform:translateY(-50%);cursor:default}
.px-lista.ver{display:grid}
.px-lista>*{display:flex;align-items:center;gap:.75rem;width:100%;padding:.55rem .7rem;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.06);color:#FFF9EE;font:inherit;text-align:left}
.px-lista button{cursor:pointer;transition:background .2s,transform .2s,border-color .2s}
.px-lista button:hover{background:rgba(255,255,255,.15);border-color:rgba(255,219,120,.6);transform:translateX(3px)}
.px-lista i{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#0D2A5C;border:1px solid rgba(255,255,255,.5);font:500 1.05rem var(--serif);font-style:normal}
.px-lista span{display:grid;min-width:0}
.px-lista b{font-family:var(--serif);font-weight:500;font-size:1.02rem;line-height:1.2}
.px-lista small{font-size:.78rem;color:rgba(246,238,223,.72)}
.px-lista small.si{color:#8BE3AE;font-weight:600}

/* los controles sobre el plano */
.px-ctrl{position:absolute;z-index:4;right:12px;top:12px;display:grid;overflow:hidden;border-radius:12px;background:rgba(255,251,244,.94);box-shadow:0 12px 26px -12px rgba(0,0,0,.75);transition:transform .32s var(--ease)}
.px-ctrl button{display:grid;place-items:center;width:42px;height:42px;border:0;background:none;color:var(--navy);cursor:pointer;transition:background .15s}
.px-ctrl button+button{border-top:1px solid rgba(0,47,108,.12)}
.px-ctrl button:hover{background:#F4EBDA}
.px-ctrl svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.con-panel .px-ctrl{transform:translateX(-384px)}
.px-mini{position:absolute;z-index:4;left:12px;bottom:12px;width:168px;border-radius:9px;overflow:hidden;border:2px solid rgba(255,251,244,.9);box-shadow:0 12px 26px -12px rgba(0,0,0,.8);background:#0B2350;opacity:0;pointer-events:none;touch-action:none;cursor:crosshair;transition:opacity .25s}
.px-mini.ver{opacity:1;pointer-events:auto}
.px-mini img{display:block;width:100%;height:100%;object-fit:cover;opacity:.85;pointer-events:none;-webkit-user-drag:none}
.px-mini i{position:absolute;border:2px solid #C8102E;border-radius:3px;background:rgba(200,16,46,.14)}
.px-pista{position:absolute;z-index:3;left:50%;bottom:16px;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .95rem;border-radius:999px;background:rgba(7,23,51,.86);color:#fff;font-size:.84rem;font-weight:500;white-space:nowrap;transform:translateX(-50%);pointer-events:none;box-shadow:0 10px 24px -10px rgba(0,0,0,.8);transition:opacity .35s}
.px-pista svg{width:17px;height:17px;fill:none;stroke:#FFDB78;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;animation:px-mano 1.5s ease-in-out infinite}
@keyframes px-mano{50%{transform:translateX(5px)}}
.px-pista.fuera{opacity:0}
.px-aviso{position:absolute;z-index:6;left:50%;top:14px;padding:.5rem .95rem;border-radius:10px;background:rgba(7,23,51,.92);color:#fff;font-size:.84rem;font-weight:500;max-width:calc(100% - 2rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:translate(-50%,-10px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.px-aviso.ver{opacity:1;transform:translate(-50%,0)}
.px-tip{position:absolute;z-index:5;left:0;top:0;padding:.42rem .7rem;border-radius:9px;background:#FFFBF4;color:var(--tinta);font-size:.8rem;line-height:1.35;white-space:nowrap;box-shadow:0 12px 26px -10px rgba(0,0,0,.8);pointer-events:none}
.px-tip span{display:block}
.px-tip .no{color:#A85A12}
.px-nota-zona{margin:.7rem .2rem 0;font-size:.78rem;line-height:1.45;color:rgba(246,238,223,.68)}

/* el panel de un espacio */
.px-panel{position:absolute;z-index:7;top:10px;right:10px;bottom:10px;width:372px;overflow:auto;overscroll-behavior:contain;border-radius:18px;background:#FFFBF4;color:var(--tinta);box-shadow:0 30px 60px -22px rgba(0,0,0,.9);opacity:0;transform:translateX(24px);transition:opacity .28s,transform .32s var(--ease)}
.px-panel.abierto{opacity:1;transform:none}
.px-asa{display:none}
.px-cerrar{position:absolute;z-index:3;right:10px;top:10px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,251,244,.94);color:var(--navy);cursor:pointer;box-shadow:0 4px 12px -4px rgba(0,0,0,.45)}
.px-cerrar svg,.px-volver svg,.px-bt svg:not(.px-ico){width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.px-fotos-c{position:relative}
.px-fotos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:16/9;background:#E9DFCC}
.px-fotos::-webkit-scrollbar{display:none}
.px-fotos img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;-webkit-user-drag:none}
.px-puntos{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:0}
.px-puntos button{width:26px;height:22px;padding:0;border:0;background:none;cursor:pointer}
.px-puntos button::before{content:"";display:block;width:8px;height:8px;margin:auto;border-radius:50%;background:rgba(255,255,255,.6);box-shadow:0 1px 3px rgba(0,0,0,.45);transition:background .2s,transform .2s}
.px-puntos .on::before{background:#fff;transform:scale(1.25)}
.px-info{padding:.95rem 1.1rem 1.1rem}
.px-enc{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.px-enc h3,.px-form h3,.px-listo h3{margin:0;font-family:var(--serif);font-weight:500;font-size:1.72rem;line-height:1.15;color:var(--navy)}
.px-niv{display:inline-flex;align-items:center;gap:.4rem;padding:.26rem .65rem;border-radius:999px;background:#F2E9D8;font-size:.8rem;font-weight:700;color:var(--navy);white-space:nowrap}
.px-niv i{width:12px;height:12px;border-radius:3px;background:var(--c);border:1px solid var(--b)}
.px-med{margin:.3rem 0 0;font-size:.88rem;color:var(--suave)}
.px-est{display:flex;align-items:center;gap:.45rem;margin:.65rem 0 .8rem;font-size:.92rem;font-weight:700;color:#1F7A47}
.px-est i{width:9px;height:9px;border-radius:50%;background:#2FAE66;animation:px-latido-verde 1.9s infinite}
@keyframes px-latido-verde{0%{box-shadow:0 0 0 0 rgba(47,174,102,.55)}70%{box-shadow:0 0 0 8px rgba(47,174,102,0)}100%{box-shadow:0 0 0 0 rgba(47,174,102,0)}}
.px-tomado{display:flex;align-items:center;gap:.7rem;margin:.75rem 0;padding:.65rem .75rem;border-radius:12px;background:#F4EEE2}
.px-tomado p{margin:0;font-size:.92rem}
.px-logo{width:64px;height:44px;object-fit:contain;background:#fff;border-radius:7px;padding:3px;flex:none}
.px-bt{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:47px;padding:.4rem .8rem;border:0;border-radius:12px;font:700 .93rem var(--sans);text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s}
.px-bt:hover{transform:translateY(-1px)}
.px-bt+.px-bt,.px-bt+.px-dos{margin-top:.5rem}
.px-bt.prim{background:var(--navy);color:#fff;box-shadow:0 12px 22px -14px rgba(0,47,108,.9)}
.px-bt.prim:hover{background:#00408F}
.px-bt.prim:disabled{opacity:.65;cursor:default;transform:none}
.px-bt.wa{background:#128C4E;color:#fff;box-shadow:0 12px 22px -14px rgba(18,140,78,.95)}
.px-bt.wa:hover{background:#0F7A44}
.px-bt.alt{background:#fff;color:var(--navy);border:1.5px solid rgba(0,47,108,.3);font-weight:600;font-size:.86rem;min-height:42px}
.px-bt.alt:hover{border-color:var(--navy)}
.px-ico{width:21px;height:21px;fill:currentColor;flex:none}
.px-dos{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.px-dos .px-bt{margin:0;white-space:nowrap}
.px-fnota{margin:.75rem 0 0;font-size:.7rem;line-height:1.4;color:#7C879B}

/* el formulario, acá mismo */
.px-form{padding:1rem 1.1rem 1.15rem}
.px-form h3{padding-right:2.4rem;font-size:1.42rem}
.px-volver{display:inline-flex;align-items:center;gap:.15rem;margin:0 0 .25rem -.3rem;padding:.2rem .4rem .2rem .1rem;border:0;background:none;color:var(--suave);font:600 .82rem var(--sans);cursor:pointer}
.px-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.px-campo{margin:.6rem 0 0;padding:0;border:0;min-width:0}
.px-campo label,.px-campo legend{display:block;margin-bottom:.2rem;padding:0;font-size:.8rem;font-weight:600;color:var(--navy)}
.px-campo input,.px-campo select,.px-campo textarea{display:block;width:100%;min-height:42px;padding:.45rem .65rem;border:1.2px solid #D8CFBE;border-radius:10px;background:#fff;color:var(--tinta);font:400 16px var(--sans);outline:none;transition:border-color .15s,box-shadow .15s}
.px-campo select{-webkit-appearance:none;appearance:none;padding-right:2rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23002F6C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .6rem center/16px}
.px-campo input+input,.px-campo select+input{margin-top:.35rem}
.px-fila{display:grid;grid-template-columns:1fr 1fr;gap:0 .5rem}
.px-campo input[hidden]{display:none}
.px-campo textarea{resize:vertical}
.px-campo input:focus,.px-campo select:focus,.px-campo textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(0,47,108,.12)}
.px-ayuda{margin:.3rem 0 0;font-size:.74rem;line-height:1.35;color:var(--suave)}
.px-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.px-chip{display:inline-block;margin:0;font-weight:500;cursor:pointer}
.px-chip input{position:absolute;opacity:0;width:0;height:0;min-height:0}
.px-chip span{display:block;padding:.38rem .7rem;border:1.2px solid #D8CFBE;border-radius:999px;background:#fff;font-size:.82rem;color:var(--tinta);transition:background .15s,color .15s,border-color .15s}
.px-chip input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.px-chip input:focus-visible+span{box-shadow:0 0 0 3px rgba(0,47,108,.25)}
.px-acepto{display:flex;gap:.5rem;align-items:flex-start;margin:.7rem 0 .2rem;font-size:.78rem;line-height:1.38;cursor:pointer}
.px-acepto input{flex:none;width:18px;height:18px;margin:.05rem 0 0;accent-color:var(--navy)}
.px-err{margin:.18rem 0 0;font-size:.76rem;font-weight:600;color:#B3122B}
.px-err:empty{display:none}
.px-err.gral{margin:.4rem 0}
.px-form .px-bt.prim{margin-top:.6rem}
.px-listo{padding:2.4rem 1.3rem 1.3rem;text-align:center}
.px-ok{display:grid;place-items:center;width:62px;height:62px;margin:0 auto .7rem;border-radius:50%;background:#E3F1E8;color:#1F7A47;animation:px-ok .5s var(--ease)}
.px-ok svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@keyframes px-ok{from{transform:scale(.5);opacity:0}}
.px-nw{white-space:nowrap}
.px-listo p{margin:.5rem auto 1rem;max-width:32ch;font-size:.93rem;line-height:1.45;color:var(--tinta)}

/* lo que sigue debajo del plano */
#plano .plano-cta{margin-top:1.8rem}
#plano .plano-cta p{color:#FFF9EE}
#plano .boton{background:#FFF9EE;color:var(--navy);border:0;font:700 1rem var(--sans);cursor:pointer}
#plano .boton:hover{background:#fff}
#plano .boton.wa{display:inline-flex;gap:.55rem;background:#128C4E;color:#fff}
#plano .boton.wa:hover{background:#0F7A44}
#plano .boton .px-ico{width:22px;height:22px}
#plano .plano-mail{color:#F4E2B8}

/* el teléfono: el plano se recorre con el dedo y el panel sube desde abajo */
@media(max-width:759px){
  .px-ancho{width:calc(100% - 1.5rem)}
  .px-zonas{width:100%}
  .px-zonas button{flex:1 1 0;min-width:0;padding:.42rem .55rem;text-align:center}
  .px-zonas b{font-size:.93rem}
  .px-zonas small{font-size:.68rem}
  .px-vivo{margin:0;font-size:.8rem;flex:0 0 auto}
  .px-vivo-n b{font-size:1.25rem}
  .px-buscar{flex:1 1 130px;max-width:none;min-width:0}
  .px-buscar input{font-size:16px;height:38px}
  .px-buscar input::placeholder{font-size:.82rem}
  .px-niveles{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -.75rem .55rem;padding:0 .75rem;-webkit-overflow-scrolling:touch}
  .px-niveles::-webkit-scrollbar{display:none}
  .px-niveles span{display:none}
  .px-res{width:calc(100vw - 1.5rem);right:auto;left:0}
  .px-barra{gap:.55rem}
  .px-lienzo{height:clamp(340px,58svh,520px);border-radius:18px}
  .px-mini{width:112px;left:8px;bottom:8px}
  .es-general .px-lienzo{height:auto;aspect-ratio:640.5/480.4}
  .es-general .px-ctrl{display:none}
  .px-lista{position:static;width:auto;margin-top:.55rem;transform:none;grid-template-columns:1fr 1fr}
  .px-lista>*{padding:.5rem .6rem;gap:.55rem}
  .px-lista>:first-child,.px-lista>:nth-child(2){background:rgba(255,219,120,.1);border-color:rgba(255,219,120,.4)}
  .px-lista b{font-size:.9rem}
  .px-lista small{font-size:.72rem}
  .px-lista i{width:28px;height:28px;font-size:.95rem}
  .lugar .sub{display:none}
  .lugar .nom{font-size:13px;transform:translateY(5.5px)}
  .px-ctrl{right:8px;top:8px}
  .px-ctrl button{width:36px;height:36px}
  .px-ctrl svg{width:17px;height:17px}
  .con-panel .px-ctrl{transform:none}
  .px-pista{left:auto;right:8px;bottom:8px;max-width:calc(100% - 136px);padding:.42rem .7rem;border-radius:12px;font-size:.74rem;line-height:1.25;white-space:normal;transform:none}
  .px-fila{grid-template-columns:1fr}
  .px-tip{display:none}
  .px-panel{position:fixed;z-index:120;top:auto;left:0;right:0;bottom:0;width:auto;max-height:62svh;border-radius:22px 22px 0 0;opacity:1;transform:translateY(102%);box-shadow:0 -18px 50px -14px rgba(0,0,0,.65);padding-bottom:env(safe-area-inset-bottom)}
  .px-panel.es-form{max-height:92svh}
  .px-asa{display:block;position:sticky;top:0;z-index:2;height:24px;margin-bottom:-24px;touch-action:none;cursor:grab}
  .px-asa i{display:block;width:44px;height:5px;margin:8px auto 0;border-radius:3px;background:rgba(255,255,255,.92);box-shadow:0 1px 4px rgba(0,0,0,.45)}
  .px-panel.es-form .px-asa i{background:#D8CFBE;box-shadow:none}
  .px-fotos{aspect-ratio:2.1/1}
  .px-form{padding-top:1.5rem}
  .px-listo{padding-top:2.8rem}
  .px-enc h3{font-size:1.5rem}
  .px-nota-zona{font-size:.74rem}
  #plano .plano-botones .boton{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){
  .px-fondo i,.px-est i,.anillo,.foco,.px-pista svg{animation:none}
}
