/* =========================================================
   Altos de Provenza · JP CORP Constructora
   Dirección de arte: "Plano de obra"
   Tokens de marca (manual JP CORP) y de movimiento
   ========================================================= */
@font-face{font-family:"Raleway";src:url(../fonts/raleway-latin-var.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}

:root{
  /* Color: 60 blanco / 30 azul marino / 10 verde azulado */
  --navy:#192d52;
  --teal:#068187;
  --white:#ffffff;
  --tint:#e8eaee;
  --ink:var(--navy);
  --muted:#5e6c86;          /* texto chico sobre blanco (5.3:1) */
  --muted-dark:#bac0cb;     /* texto chico sobre azul marino (7.5:1) */
  --line:rgba(25,45,82,.15);
  --line-dark:rgba(255,255,255,.24);
  --cta:var(--teal);
  --cta-ink:#ffffff;        /* 4.7:1 sobre el verde azulado */
  /* Letra */
  --font:"Raleway",system-ui,-apple-system,"Segoe UI",sans-serif;
  /* Forma */
  --r:4px;
  /* Movimiento: sólido y preciso, sin rebotes */
  --ease:cubic-bezier(.25,1,.5,1);       /* power3.out */
  --ease-io:cubic-bezier(.76,0,.24,1);   /* power3.inOut */
  --ease-pop:var(--ease);
  --dur:.75s;
  --dist:18px;
  --t-hover:.35s;
  /* Espacio */
  --gutter:clamp(16px,4.4vw,64px);
  --maxw:1280px;
  --section-y:clamp(64px,9vw,128px);
  --barra-sup:72px;
}

/* ===== Base ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-smooth iframe{pointer-events:none}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.625;font-variant-numeric:lining-nums;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.oscuro :focus-visible,.portada :focus-visible{outline-color:#fff}
.wrap{width:min(100% - 2*var(--gutter),var(--maxw));margin-inline:auto}
.label{font-size:.75rem;line-height:1rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.nw{white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.saltar{position:absolute;left:12px;top:-80px;z-index:100;padding:12px 16px;border-radius:var(--r);background:#fff;color:var(--navy);font-weight:700;text-decoration:none}
.saltar:focus{top:12px}
.nota{font-size:.875rem;line-height:1.5;color:var(--muted)}
.oscuro{background:var(--navy);color:#fff}
.oscuro .nota{color:var(--muted-dark)}

/* ===== Títulos de sección ===== */
.h2{font-size:clamp(2rem,7.4vw,4rem);line-height:1.02;font-weight:900;letter-spacing:-.015em;text-transform:uppercase;text-wrap:balance}
.cab{display:grid;gap:14px;margin-bottom:clamp(32px,5vw,56px)}
.cab__label{color:var(--muted)}
.cab__texto{font-size:1.0625rem;line-height:1.65;max-width:56ch}
.linea-mask{padding:.12em .1em .12em 0;margin:-.12em -.1em -.12em 0}
@media (min-width:960px){
  .cab{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:64px;align-items:end}
  .cab__label{grid-column:1/-1}
}

/* ===== Cota: la línea de medida de tu plano ===== */
.cota{position:relative;height:46px;color:currentColor}
.cota__linea{position:absolute;left:0;right:0;bottom:12px;height:1px;background:currentColor;transform-origin:0 50%}
.cota__ext{position:absolute;bottom:4px;width:1px;height:20px;background:currentColor;transform-origin:50% 100%}
.cota__ext--a{left:0}
.cota__ext--b{right:0}
.cota__tick{position:absolute;bottom:11.25px;width:15px;height:1.5px;background:currentColor;rotate:-45deg}
.cota__tick--a{left:-7.5px}
.cota__tick--b{right:-7.5px}
.cota__valor{position:absolute;left:50%;bottom:19px;translate:-50% 0;white-space:nowrap;font-size:.8125rem;line-height:1;font-weight:700;letter-spacing:.06em;font-variant-numeric:lining-nums tabular-nums}
.cota--blanca{color:#fff}

/* ===== Escuadra (la J del logo) y fotos ===== */
.foto{position:relative;overflow:hidden;background:var(--tint)}
.foto img,.foto video{width:100%;height:100%;object-fit:cover}
.escuadra{position:absolute;width:30px;height:30px;border:3px solid #fff;pointer-events:none;z-index:2}
.escuadra--a{top:14px;left:14px;border-right:0;border-bottom:0}
.escuadra--b{right:14px;bottom:14px;border-left:0;border-top:0}

/* ===== Botón: el bloque cuadrado lleva la flecha ===== */
.boton{position:relative;display:inline-flex;align-items:stretch;min-height:56px;border-radius:var(--r);overflow:hidden;isolation:isolate;text-decoration:none;font-size:1rem;line-height:1.2;font-weight:600;letter-spacing:.01em;border:0;cursor:pointer;transition:transform .2s var(--ease)}
.boton::before{content:"";position:absolute;inset:0;z-index:-1;clip-path:inset(0 0 0 calc(100% - 56px));transition:clip-path var(--t-hover) var(--ease-io)}
.boton__texto{display:flex;align-items:center;flex:1;padding:0 22px;transition:color var(--t-hover) var(--ease)}
.boton__bloque{display:grid;place-items:center;width:56px;flex:none}
.boton__flecha{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:square}
.boton--claro{background:#fff;color:var(--navy)}
.boton--claro::before{background:var(--teal)}
.boton--accion{background:var(--cta);color:var(--cta-ink)}
.boton--accion::before{background:var(--navy)}
.boton--borde{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.boton--borde::before{background:var(--navy)}
.boton--chico{min-height:48px;font-size:.9375rem}
.boton--chico::before{clip-path:inset(0 0 0 calc(100% - 48px))}
.boton--chico .boton__bloque{width:48px}
.boton--chico .boton__texto{padding:0 18px}
@media (hover:hover) and (pointer:fine){
  .boton:hover::before{clip-path:inset(0 0 0 0)}
  .boton--claro:hover .boton__texto,.boton--borde:hover .boton__texto{color:#fff}
}
.boton:active{transform:scale(.98)}
.enlace-sec{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.enlace-sec--claro{color:#fff}

/* ===== Barra superior (computadora) ===== */
.barra-sup{position:fixed;top:0;left:0;right:0;z-index:50;display:none;background:#fff;border-bottom:1px solid var(--line);transform:translateY(-102%);transition:transform .45s var(--ease-io)}
.barra-sup.is-visible{transform:none}
.barra-sup__in{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:var(--barra-sup)}
.barra-sup__logo{display:block;padding:4px 0}
.barra-sup__logo img{height:40px;width:auto}
.barra-sup__nav{display:flex;gap:36px;margin-left:auto}
.barra-sup__nav a{padding:12px 0;font-size:.75rem;line-height:1;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--navy)}
.barra-sup__nav a:hover{color:var(--teal)}
@media (min-width:960px){.barra-sup{display:block}}

/* ===== Portada ===== */
.portada{position:relative;min-height:100vh;min-height:100svh;display:flex;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate}
.portada__foto{position:absolute;inset:0;z-index:-2;overflow:hidden}
.portada__foto img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.portada__velo{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(25,45,82,.74) 0%,rgba(25,45,82,.42) 34%,rgba(25,45,82,.2) 56%,rgba(25,45,82,.62) 78%,rgba(25,45,82,.9) 100%)}
.portada__contenido{width:min(100% - 2*var(--gutter),var(--maxw));margin-inline:auto;display:flex;flex-direction:column;min-height:100vh;min-height:100svh;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px}
.nav__logo{display:block;padding:4px 0}
.nav__logo img{height:40px;width:auto}
.nav__links{display:none}
.portada__cuerpo{margin-top:clamp(20px,5svh,96px)}
.portada__titulo{font-size:15.4vw;line-height:.9;font-weight:900;letter-spacing:-.02em;text-transform:uppercase}
.portada__titulo .linea{display:block;overflow:hidden;padding:.08em .1em .04em 0;margin:-.08em -.1em -.04em 0}
.portada__titulo .linea__in{display:block}
.portada .cota{margin-top:14px}
.portada__pie{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:16px;padding-left:28px;padding-top:40px}
.plomada{position:absolute;left:0;top:-12px;bottom:76px;width:1px;background:#fff;transform-origin:50% 0}
.plomada__h{position:absolute;left:0;bottom:76px;width:28px;height:1px;background:#fff;transform-origin:0 50%}
.portada__lugar{order:-1;display:grid;gap:4px}
.portada__lugar span:last-child{font-size:.875rem;line-height:1.4;color:var(--muted-dark)}
.portada__accion{display:grid;gap:20px}
.portada__bajada{font-size:1.25rem;line-height:1.3;font-weight:800;letter-spacing:-.005em}
.portada__botones{display:grid;gap:4px;justify-items:start}
.portada .boton{width:100%}
@media (min-width:760px){
  .portada__titulo{font-size:min(8.85vw,8rem)}
  .portada__titulo .linea{display:inline-block}
  .portada__bajada{font-size:1.5rem}
  .portada .cota__valor{font-size:.9375rem}
}
@media (min-width:960px){
  .nav__links{display:flex;gap:40px}
  .nav__links a{padding:14px 0;font-size:.75rem;line-height:1;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
  .portada__pie{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:48px;padding-left:32px}
  .plomada,.plomada__h{bottom:28px}
  .plomada__h{width:32px}
  .portada__accion{grid-column:1;grid-row:1;justify-items:start}
  .portada__lugar{grid-column:2;grid-row:1;order:0;text-align:right}
  .portada__botones{display:flex;align-items:center;gap:28px}
  .portada .boton{width:auto;min-width:320px}
}
/* Estados de la firma: solo con JS, con rescate por tiempo */
.js .portada [data-pieza]{visibility:hidden;animation:rescate 0s 4.5s forwards}
.js .portada__foto{clip-path:inset(50% 0 50% 0);animation:rescateClip 0s 4.5s forwards}
.js .portada .linea__in{transform:translateY(112%);animation:rescateY 0s 4.5s forwards}
@keyframes rescate{to{visibility:visible}}
@keyframes rescateClip{to{clip-path:inset(0 0 0 0)}}
@keyframes rescateY{to{transform:none}}

/* ===== 01 La casa en números ===== */
.ficha__texto{padding:var(--section-y) var(--gutter) 48px}
.ficha .label{color:#fff}
.ficha .h2{margin-top:14px;max-width:12ch}
.ficha__intro{margin-top:20px;font-size:1.0625rem;line-height:1.65;color:var(--tint);max-width:46ch}
.caract{margin-top:32px;border-top:1px solid var(--line-dark)}
.caract li{position:relative;display:grid;gap:4px;padding:16px 0 16px 26px;border-bottom:1px solid var(--line-dark)}
.caract li::before{content:"";position:absolute;left:0;top:21px;width:10px;height:10px;background:#fff;transform:scale(var(--s,1))}
.caract b{font-size:.875rem;line-height:1.3;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.caract span{font-size:.9375rem;line-height:1.5;color:var(--muted-dark)}
.ficha__foto{position:relative}
.foto--alta{aspect-ratio:4/5}
.foto--alta picture{display:block;height:100%}
.cifras-foto{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:72px 20px 24px;background:linear-gradient(180deg,rgba(25,45,82,0) 0%,rgba(25,45,82,.88) 42%);color:#fff}
.cifras-foto .cota{margin-bottom:10px}
.cifras-foto__lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cifras-foto__lista div{display:flex;flex-direction:column-reverse;gap:6px}
.cifras-foto__lista dt{font-size:.8125rem;line-height:1.3;color:var(--tint)}
.cifras-foto__lista dd{font-size:clamp(1.75rem,8vw,3.25rem);line-height:1;font-weight:900;letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.ficha .escuadra--b{bottom:auto;top:14px;right:14px;border-left:0;border-top:3px solid #fff;border-bottom:0}
.nota-foto{padding:12px var(--gutter) 0;font-size:.8125rem;color:var(--muted-dark)}
.ficha{padding-bottom:var(--section-y)}
@media (min-width:960px){
  .ficha{padding-bottom:0}
  .ficha__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
  .ficha__texto{padding:var(--section-y) 64px var(--section-y) max(var(--gutter),calc((100vw - var(--maxw))/2))}
  .ficha__foto{display:flex;flex-direction:column}
  .ficha__foto .foto{flex:1;aspect-ratio:auto;min-height:720px}
  .cifras-foto{padding:120px 48px 40px}
  .nota-foto{padding:12px 48px 18px}
}

/* ===== 02 La casa modelo por dentro ===== */
.interior{padding-block:var(--section-y)}
.ambientes{display:grid;gap:44px 20px}
.ambiente{display:grid;gap:10px;align-content:start}
.foto--ambiente{aspect-ratio:4/3}
.ambiente__num span{display:block}
.ambiente__num{overflow:hidden;padding-top:.05em;margin-top:10px;font-size:clamp(2.5rem,9vw,3.5rem);line-height:1;font-weight:900;letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums}
.ambiente__titulo{font-size:.875rem;line-height:1.3;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.ambiente__texto{font-size:.9375rem;line-height:1.55;color:var(--muted)}
.cierre-seccion{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:clamp(40px,6vw,64px);padding-top:28px;border-top:1px solid var(--line)}
@media (min-width:640px){.ambientes{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){
  .ambientes{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
  .foto--ambiente{aspect-ratio:1/1}
}

/* ===== 03 Plano ===== */
.plano{padding-block:var(--section-y);background:#fff}
.plano__grid{display:flex;flex-direction:column}
.plano__panel,.plano__fijo,.plano__pegado{display:contents}
.plano .cab__label{order:1}
.plano .h2{order:2;margin-top:14px}
.plano__texto{order:3;margin-top:14px}
.plano__plantas{order:4;margin-top:24px;align-self:flex-start}
.plano__vista{order:5;margin-top:20px}
.plano__tablas{order:6;margin-top:32px}
.plano__nota{order:7;margin-top:14px}
.plano__cta{order:8;margin-top:24px}
.selector{display:inline-flex;border:1px solid var(--navy);border-radius:var(--r);overflow:hidden}
.selector__op{min-height:44px;padding:0 18px;border:0;background:#fff;color:var(--navy);font-weight:600;font-size:.9375rem;cursor:pointer}
.selector__op + .selector__op{border-left:1px solid var(--navy)}
.selector__op[aria-pressed="true"]{background:var(--navy);color:#fff}
.ambientes-tabla{border-top:2px solid var(--navy)}
.ambientes-tabla + .ambientes-tabla{margin-top:28px}
.ambientes-tabla li{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 10px 12px 26px;border-bottom:1px solid var(--line);font-variant-numeric:lining-nums tabular-nums;transition:background-color .3s var(--ease)}
.ambientes-tabla li::before{content:"";position:absolute;left:8px;top:50%;width:8px;height:8px;margin-top:-4px;background:var(--line);transition:background-color .3s var(--ease)}
.ambientes-tabla li.is-activo{background:var(--tint)}
.ambientes-tabla li.is-activo::before{background:var(--teal)}
.ambientes-tabla span{font-weight:500}
.ambientes-tabla b{font-weight:700;text-align:right;white-space:nowrap}
.ambientes-tabla em{margin-left:6px;font-style:normal;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.plano__leyenda{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:8px 0;background:#fff;border-bottom:1px solid var(--line)}
.plano__actual{display:grid;gap:1px;min-width:0}
.plano__actual .label{color:var(--muted);font-size:.6875rem}
.plano__actual b{font-size:1rem;line-height:1.2;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plano__actual span:last-child{font-size:.875rem;line-height:1.3;color:var(--muted);font-variant-numeric:lining-nums tabular-nums}
.plano__piscina{flex:none;min-height:44px;padding:0 14px;border:1px solid var(--navy);border-radius:var(--r);background:#fff;color:var(--navy);font-weight:600;font-size:.875rem;cursor:pointer}
.plano__piscina[aria-pressed="true"]{background:var(--navy);color:#fff}
.plano__orient{margin:14px 0;text-align:center;color:var(--muted)}
.plano__fig{position:relative;width:min(100%,420px);margin:0 auto;aspect-ratio:var(--ar);background:#fff}
.plano__fig + .plano__fig{margin-top:40px}
.plano__fig img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.plano__3d--piscina{display:none}
.plano.con-piscina .plano__3d--piscina{display:block;animation:aparecer .5s var(--ease)}
@keyframes aparecer{from{opacity:0}to{opacity:1}}
.plano__lineas,.plano__scan{display:none}
/* Sin JS: se ven las dos plantas, sin selectores */
.plano:not([data-planta]) .plano__plantas,.plano:not([data-planta]) .plano__leyenda{display:none}
.plano[data-planta="pb"] [data-fig="pa"],.plano[data-planta="pb"] [data-tabla="pa"]{display:none}
.plano[data-planta="pa"] [data-fig="pb"],.plano[data-planta="pa"] [data-tabla="pb"],.plano[data-planta="pa"] .plano__piscina{display:none}
.plano[data-planta] .ambientes-tabla + .ambientes-tabla{margin-top:0}
/* Recorrido: arriba de la línea el plano ya es 3D; abajo sigue a línea */
.plano.recorrido .plano__lineas{display:block;clip-path:inset(calc(var(--p,0) * 1%) 0 0 0)}
.plano.recorrido .plano__scan{display:block;position:absolute;left:-6px;right:-6px;top:calc(var(--p,0) * 1%);height:1px;background:var(--teal);pointer-events:none}
.plano.recorrido .plano__scan::before,.plano.recorrido .plano__scan::after{content:"";position:absolute;top:-.25px;width:15px;height:1.5px;background:var(--teal);rotate:-45deg}
.plano.recorrido .plano__scan::before{left:-7.5px}
.plano.recorrido .plano__scan::after{right:-7.5px}
@media (min-width:960px){
  .plano__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:72px;align-items:stretch}
  .plano__panel{display:flex;flex-direction:column}
  .plano .plano__fijo > *,.plano .plano__pegado > *{order:0}
  .plano__fijo{display:flex;flex-direction:column;align-items:flex-start;flex:1}
  .plano__pegado{display:block;align-self:stretch;position:sticky;top:var(--barra-sup);z-index:3;margin-top:4px;padding-top:24px;background:#fff}
  .plano .h2,.plano__texto,.plano__plantas,.plano__tablas,.plano__nota,.plano__cta{margin-top:0}
  .plano .h2{margin-top:14px}
  .plano__texto{margin-top:16px}
  .plano__plantas{display:inline-flex;margin-top:28px}
  .plano__nota{margin-top:14px}
  .plano__cta{margin-top:20px}
  .ambientes-tabla li{padding-block:9px}
  .plano__vista{margin-top:0}
  .plano__leyenda{top:var(--barra-sup)}
}

/* ===== 04 La obra avanza ===== */
.obra{padding-block:var(--section-y);background:var(--tint)}
.obra .cab__label{color:var(--navy)}
.linea-tiempo .cota{color:var(--navy)}
.hitos{display:grid;gap:44px;margin-top:24px}
.hito{display:grid;gap:12px;align-content:start}
.hito__fecha{position:relative;padding-left:20px;font-size:.75rem;line-height:1rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.hito__fecha::before{content:"";position:absolute;left:0;top:3px;width:10px;height:10px;background:var(--navy)}
.foto--hito{aspect-ratio:16/10}
.hito__texto{font-size:.9375rem;line-height:1.55}
@media (min-width:860px){.hitos{grid-template-columns:1fr 1fr;gap:48px}}

/* ===== 05 Precios ===== */
.precios{padding-block:var(--section-y)}
.planes{display:grid;gap:20px}
.plan{display:grid;gap:18px;align-content:start;padding:28px 22px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.plan--destacado{border:2px solid var(--navy)}
.plan__tag{justify-self:start;padding:6px 10px;border-radius:2px;color:var(--navy);box-shadow:inset 0 0 0 1px var(--line)}
.plan--destacado .plan__tag{background:var(--navy);color:#fff;box-shadow:none}
.plan__nombre{font-size:1.5rem;line-height:1.1;font-weight:900;letter-spacing:-.005em;text-transform:uppercase}
.plan__precio{font-size:clamp(2.5rem,11vw,4rem);line-height:1;font-weight:900;letter-spacing:-.02em;color:var(--teal);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.plan__precio small{font-size:.36em;letter-spacing:.16em;margin-right:.35em;vertical-align:.95em}
.plan__filas{border-top:1px solid var(--line)}
.plan__filas li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-variant-numeric:lining-nums tabular-nums}
.plan__filas b{font-weight:800;white-space:nowrap}
.plan__nota{font-size:.9375rem;line-height:1.5;color:var(--muted)}
.plan .boton{width:100%;margin-top:6px}
.precios__nota{margin-top:20px}
@media (min-width:900px){
  .planes{grid-template-columns:1fr 1fr;gap:24px}
  .plan{padding:40px}
}

/* ===== 06 Visita ===== */
.visita{padding-block:var(--section-y)}
.visita .label{color:#fff}
.visita__grid{display:grid;gap:28px}
.visita .h2{margin-top:14px;max-width:14ch}
.visita__pie{position:relative;display:grid;gap:24px;padding-left:28px;padding-top:28px}
.plomada--visita{top:-12px;bottom:28px}
.plomada__h--visita{bottom:28px}
.pasos{border-top:1px solid var(--line-dark)}
.pasos li{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-dark);font-size:1.0625rem;line-height:1.45}
.pasos b{font-weight:900;font-variant-numeric:lining-nums tabular-nums}
.visita__lugar{color:var(--muted-dark)}
.visita__lugar a{color:#fff;font-weight:600;text-underline-offset:4px;display:inline-block;padding:10px 0}
.visita__accion{display:grid;gap:12px;justify-items:start}
.visita__nota{font-size:.875rem;line-height:1.5;color:var(--muted-dark)}
.visita .boton{width:100%}
@media (min-width:960px){
  .visita__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:72px;align-items:start}
  .visita__cuerpo{padding-top:10px}
  .visita .boton{width:auto;min-width:320px}
}

/* ===== 07 Preguntas ===== */
.preguntas{padding-block:var(--section-y)}
.preguntas__grid{display:grid;gap:8px}
.preguntas .cab{margin-bottom:24px}
.preguntas__wa{margin-top:8px}
.faq{border-top:1px solid var(--line)}
.qa{border-bottom:1px solid var(--line)}
.qa h3{font-size:inherit;font-weight:inherit}
.qa__q{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border:0;background:none;color:inherit;text-align:left;font-size:1.0625rem;line-height:1.35;font-weight:800;cursor:pointer}
.qa__icon{position:relative;flex:none;width:32px;height:32px;border:1px solid var(--navy);border-radius:var(--r);transition:background-color .3s var(--ease),color .3s var(--ease)}
.qa__icon::before,.qa__icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:currentColor;transition:transform .4s var(--ease)}
.qa__icon::after{transform:rotate(90deg)}
.qa.is-open .qa__icon{background:var(--navy);color:#fff}
.qa.is-open .qa__icon::after{transform:rotate(0deg)}
.qa__a{display:grid;grid-template-rows:1fr}
.js .qa__a{grid-template-rows:0fr}
.js .qa.is-open .qa__a{grid-template-rows:1fr}
.qa-listo .qa__a{transition:grid-template-rows .45s var(--ease)}
.qa__a > div{overflow:hidden}
.qa__a p{padding:0 48px 22px 0;line-height:1.65;max-width:62ch}
@media (min-width:960px){
  .preguntas__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:72px;align-items:start}
  .preguntas .cab{grid-template-columns:1fr;margin-bottom:0}
}

/* ===== Pie ===== */
.pie{padding:clamp(56px,8vw,96px) 0 calc(40px + env(safe-area-inset-bottom))}
.cota--pie{margin-bottom:40px}
.pie__grid{display:grid;gap:36px}
.pie__marca img{height:48px;width:auto}
.pie__marca p{margin-top:16px;font-size:1.125rem;line-height:1.35;font-weight:800}
.pie__nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.pie__nav a{display:flex;align-items:center;min-height:44px;font-weight:600;text-decoration:none}
.pie__nav a:hover{text-decoration:underline;text-underline-offset:4px}
.pie__accion{display:grid;gap:12px;justify-items:start}
.pie__accion p{font-size:.9375rem;color:var(--muted-dark);font-variant-numeric:lining-nums}
.pie__legal{margin-top:44px;padding-top:20px;border-top:1px solid var(--line-dark);font-size:.8125rem;line-height:1.6;color:var(--muted-dark);max-width:96ch}
@media (min-width:960px){
  .pie__grid{grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);align-items:start}
}
@media (max-width:959px){
  .pie{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
}

/* ===== Barra fija del celular ===== */
.barra-movil{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;display:none;transform:translateY(160%);transition:transform .5s var(--ease)}
.barra-movil.is-visible{transform:none}
.barra-movil .boton{width:100%;box-shadow:0 0 0 1px rgba(255,255,255,.7)}
@media (max-width:959px){.barra-movil{display:block}}

/* ===== Menos movimiento ===== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .js .portada [data-pieza]{visibility:visible;animation:none}
  .js .portada__foto{clip-path:none;animation:none}
  .js .portada .linea__in{transform:none;animation:none}
}
