/* OLAS Stands — rediseño con lenguaje Lusion: fondo claro, grotesk liviana a gran escala,
   píldoras, etiquetas mono, tarjetas redondeadas, 3D interactivo y movimiento al scroll.
   Colores de OLAS: tinta #101014 y lima #e5fa88. */
:root{
  --fondo:#efefea; --fondo-2:#e5e5df; --blanco:#fbfbf8;
  --tinta:#101014; --tinta-2:#4b4b53; --gris:#8b8b93;
  --oscuro:#121216; --oscuro-2:#1c1c22; --oscuro-3:#26262e; --hueso:#f2f0ea;
  --lima:#e5fa88; --lima-2:#d6f063;
  --linea:rgba(16,16,20,.12); --linea-clara:rgba(242,240,234,.16);
  --sans:'Inter Tight','Helvetica Neue',Arial,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
  --r-l:24px; --r-m:16px; --r-s:10px;
  --margen:clamp(16px,2.6vw,40px); --max:1680px;
  --aire:clamp(96px,12vw,200px);
  --ease:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.76,0,.24,1);
  --t-gigante:clamp(3.2rem,10.4vw,10rem); --t-xl:clamp(2.7rem,7.2vw,7rem); --t-l:clamp(2.2rem,4.6vw,4.4rem);
  --t-m:clamp(1.45rem,2.3vw,2.25rem); --t-s:clamp(1.2rem,1.5vw,1.55rem);
  /* el planificador de app.js lee estos colores */
  --plan-linea:#101014; --plan-relleno:#e5fa88;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--fondo);color:var(--tinta);font-family:var(--sans);font-size:1.0625rem;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
body.sin-scroll{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
::selection{background:var(--lima);color:var(--tinta)}
:focus-visible{outline:2px solid var(--tinta);outline-offset:3px;border-radius:6px}
.sec--oscura :focus-visible,.tarjeta--oscura :focus-visible,.menu :focus-visible{outline-color:var(--lima)}
.saltar{position:fixed;left:12px;top:-60px;z-index:100;background:var(--tinta);color:var(--hueso);padding:10px 16px;border-radius:999px;text-decoration:none}
.saltar:focus{top:12px}

/* ── Tipografía ── */
.mono{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.4;font-weight:400}
.t-gigante,.t-xl,.t-l,.t-m,.t-s{font-weight:400;margin:0;text-wrap:balance}
.t-gigante{font-size:var(--t-gigante);line-height:.92;letter-spacing:-.055em}
.t-xl{font-size:var(--t-xl);line-height:.95;letter-spacing:-.05em}
.t-l{font-size:var(--t-l);line-height:1;letter-spacing:-.04em}
.t-m{font-size:var(--t-m);line-height:1.12;letter-spacing:-.025em}
.t-s{font-size:var(--t-s);line-height:1.2;letter-spacing:-.015em;font-weight:500}
.t-lead{font-size:clamp(1.2rem,1.6vw,1.6rem);line-height:1.35;letter-spacing:-.015em;margin:0}
.t-cuerpo{font-size:clamp(1.02rem,1.15vw,1.2rem);line-height:1.5;color:var(--tinta-2);margin:0;max-width:44ch}
.nota,.form-nota{font-size:.875rem;color:var(--gris);line-height:1.5}
.envuelve{width:min(100% - 2*var(--margen),var(--max));margin-inline:auto;position:relative}

/* ── Píldoras (botones) ── */
.pildora{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 20px;border-radius:999px;border:0;text-decoration:none;font-family:var(--sans);font-size:.9375rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap;position:relative;isolation:isolate;overflow:hidden;transition:transform .5s var(--ease),background-color .3s,color .3s}
.pildora>span,.pildora>b,.pildora>i{position:relative;z-index:1}
.pildora b{font-weight:400;transition:transform .45s var(--ease)}
.pildora:hover b{transform:translate(2px,-2px) rotate(0deg)}
.pildora::before{content:'';position:absolute;inset:0;border-radius:inherit;background:var(--relleno,var(--lima));transform:translateY(101%);transition:transform .5s var(--ease);z-index:0}
.pildora:hover::before{transform:none}
.pildora--oscura{background:var(--tinta);color:var(--hueso);--relleno:var(--lima)}
.pildora--oscura:hover{color:var(--tinta)}
.pildora--lima{background:var(--lima);color:var(--tinta);--relleno:var(--tinta)}
.pildora--lima:hover{color:var(--lima)}
.pildora--clara{background:var(--blanco);color:var(--tinta);--relleno:var(--fondo-2)}
.pildora--linea{background:transparent;color:var(--tinta);box-shadow:inset 0 0 0 1px var(--linea);--relleno:var(--tinta)}
.pildora--linea:hover{color:var(--hueso)}
.pildora--linea-clara{background:transparent;color:var(--hueso);box-shadow:inset 0 0 0 1px var(--linea-clara);--relleno:var(--hueso)}
.pildora--linea-clara:hover{color:var(--tinta)}
.punto{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block;flex:none;transition:transform .4s var(--ease)}
.pildora--oscura .punto{background:var(--lima)}
.pildora--oscura:hover .punto{background:var(--tinta);transform:scale(1.4)}
.enlace{background:none;border:0;padding:0;font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;padding-bottom:3px;transition:background-size .45s var(--ease)}
.enlace:hover{background-size:0 1px;background-position:100% 100%}
.acciones{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.etiqueta{display:inline-flex;padding:7px 12px;border-radius:999px;background:var(--fondo-2);color:var(--tinta)}

/* ── Cabecera ── */
.cab{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px var(--margen);pointer-events:none}
.cab>*{pointer-events:auto}
.cab-logo{display:flex;align-items:center;gap:14px;text-decoration:none;transition:opacity .4s,transform .6s var(--ease)}
.cab-logo img{height:24px;width:auto}
.cab-logo i{font-style:normal;font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-2)}
.cab.baja .cab-logo{opacity:0;transform:translateY(-14px);pointer-events:none}
.cab-pildoras{display:flex;gap:8px}
.cab-pildoras .pildora{height:44px;padding:0 18px;font-size:.875rem;box-shadow:0 6px 24px rgba(16,16,20,.08)}
.corto{display:none}
.menu-ico{display:inline-grid;gap:4px;width:14px}
.menu-ico b{display:block;height:1.5px;background:currentColor;border-radius:2px;transition:transform .45s var(--ease)}
#menu-btn[aria-expanded=true] .menu-ico b:first-child{transform:translateY(2.75px) rotate(45deg)}
#menu-btn[aria-expanded=true] .menu-ico b:last-child{transform:translateY(-2.75px) rotate(-45deg)}

.menu{position:fixed;z-index:49;top:74px;right:var(--margen);width:min(440px,calc(100% - 2*var(--margen)));background:var(--oscuro);color:var(--hueso);border-radius:var(--r-l);padding:22px;box-shadow:0 30px 80px rgba(16,16,20,.35);transform-origin:top right;opacity:0;transform:scale(.92) translateY(-10px);pointer-events:none;transition:opacity .35s,transform .55s var(--ease)}
.menu.abierto{opacity:1;transform:none;pointer-events:auto}
.menu-lista{list-style:none;margin:0;padding:0}
.menu-lista a{display:flex;align-items:baseline;gap:14px;padding:10px 6px;text-decoration:none;font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.035em;line-height:1.1;border-bottom:1px solid var(--linea-clara);transition:color .3s,padding .5s var(--ease)}
.menu-lista a small{font-family:var(--mono);font-size:.6875rem;color:var(--gris);letter-spacing:.06em;width:28px}
.menu-lista a:hover,.menu-lista a.is-aqui{color:var(--lima);padding-left:14px}
.menu-pie{display:grid;gap:6px;margin-top:20px;font-size:.9375rem}
.menu-pie .mono{color:var(--gris)}
.menu-pie a{text-decoration:none}
.menu-pie a:hover{color:var(--lima)}

/* ── Hero ── */
.hero{padding:96px var(--margen) 0;min-height:100svh;display:flex;flex-direction:column}
.hero-top{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;margin-bottom:22px}
.hero-frase{grid-column:2;margin:0;font-size:clamp(1.5rem,2.6vw,2.45rem);line-height:1.12;letter-spacing:-.03em;max-width:24ch}
.hero-tarjeta{position:relative;flex:1;min-height:min(70svh,760px);border-radius:var(--r-l);overflow:hidden;background:radial-gradient(120% 90% at 70% 20%,#26262e 0%,#141418 55%,#0d0d10 100%);transform-origin:50% 0;will-change:transform}
.hero-3d{position:absolute;inset:0;z-index:2;touch-action:pan-y}
.hero-3d canvas{display:block;width:100%!important;height:100%!important}
.hero-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.0;transition:opacity 1s}
.hero-tarjeta.sin-3d .hero-foto{opacity:.85}
.hero-pista,.hero-dato{position:absolute;z-index:3;margin:0;color:var(--hueso);padding:8px 12px;border-radius:999px;background:rgba(16,16,20,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}
.hero-pista{left:18px;bottom:18px;transition:opacity .6s}
.hero-dato{right:18px;bottom:18px}
.hero-tarjeta.tocado .hero-pista{opacity:0}
.hero-pie{display:flex;justify-content:space-between;align-items:center;padding:14px 0 18px}
.cruz{font-family:var(--mono);font-size:1rem;color:var(--tinta-2);width:12px;text-align:center}
.hero-pie .cruz:nth-child(2),.hero-pie .cruz:nth-child(4){margin-inline:auto}

/* ── Manifiesto ── */
.manifiesto{position:relative;padding:calc(var(--aire)*.7) 0 calc(var(--aire)*.6);overflow:hidden}
.cinta{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.cinta path{fill:none;stroke:var(--lima);stroke-width:46;stroke-linecap:round;vector-effect:non-scaling-stroke}
.manifiesto .envuelve{z-index:1}
.manifiesto .t-gigante{padding-left:clamp(0px,8vw,140px)}
.manifiesto .t-gigante br+*{}
.manifiesto-pie{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(24px,6vw,110px);align-items:end;margin-top:clamp(40px,6vw,90px)}
.manifiesto-foto{margin:0;border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3.2;background:var(--fondo-2)}
.manifiesto-foto img{width:100%;height:118%;object-fit:cover;filter:grayscale(.15) contrast(1.05)}
.manifiesto-txt{display:grid;gap:28px;max-width:560px;padding-bottom:10px}
.cinta-taller{margin-top:clamp(60px,8vw,120px);border-block:1px solid var(--linea);overflow:hidden;position:relative;z-index:1;background:var(--fondo)}
.marquesina{display:flex;width:max-content;margin:0;padding:18px 0;list-style:none;animation:marq 38s linear infinite}
.marquesina li{font-size:clamp(1.6rem,3.4vw,3.2rem);letter-spacing:-.04em;line-height:1;padding-inline:clamp(20px,3vw,44px);display:flex;align-items:center;gap:clamp(20px,3vw,44px);white-space:nowrap}
.marquesina li::after{content:'';width:.45em;height:.45em;border-radius:50%;background:var(--lima);box-shadow:inset 0 0 0 1.5px var(--tinta)}
@keyframes marq{to{transform:translateX(-50%)}}

/* ── Secciones ── */
.sec{padding:var(--aire) 0;position:relative}
.sec-cab{display:grid;gap:22px;margin-bottom:clamp(40px,6vw,90px)}
.sec-cab--fila{grid-template-columns:1.4fr 1fr;align-items:end}
.sec-cab--fila .t-cuerpo{justify-self:end}
.rotulo{display:flex;align-items:center;gap:10px;margin:0;color:var(--tinta-2)}
.rotulo span{display:inline-grid;place-items:center;min-width:34px;height:24px;padding:0 8px;border-radius:999px;background:var(--tinta);color:var(--lima)}
.sec--oscura{background:var(--oscuro);color:var(--hueso);border-radius:var(--r-l);margin-inline:var(--margen)}
.sec--oscura .t-cuerpo,.sec--oscura .rotulo{color:#b7b5bf}
.sec--oscura .rotulo span{background:var(--lima);color:var(--tinta)}
.sec--oscura .envuelve{width:min(100% - 2*var(--margen),var(--max))}

/* ── Tarjetas ── */
.tarjeta{background:var(--blanco);border-radius:var(--r-l);padding:clamp(22px,3vw,40px);box-shadow:0 1px 0 rgba(16,16,20,.04)}
.tarjeta--oscura{background:var(--oscuro);color:var(--hueso)}
.sec--oscura .tarjeta{background:var(--oscuro-2);color:var(--hueso)}

/* Caminos */
.caminos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,24px)}
.camino{position:relative;background:var(--blanco);border-radius:var(--r-l);padding:clamp(26px,3.4vw,52px);display:flex;flex-direction:column;gap:16px;min-height:540px;overflow:hidden;transition:transform .7s var(--ease)}
.camino:hover{transform:translateY(-6px)}
.camino--oscuro{background:var(--oscuro);color:var(--hueso)}
.camino .mono{color:var(--gris);margin:0}
.camino h3{font-size:clamp(2rem,3.6vw,3.6rem);letter-spacing:-.045em;line-height:1;font-weight:400;margin:0}
.camino p{margin:0;max-width:40ch;color:inherit;opacity:.82}
.camino ul{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:0;border-top:1px solid var(--linea)}
.camino--oscuro ul{border-color:var(--linea-clara)}
.camino li{padding:12px 0;border-bottom:1px solid var(--linea);font-size:.9375rem}
.camino--oscuro li{border-color:var(--linea-clara)}
.camino .pildora{margin-top:auto;align-self:flex-start}
.camino-glifo{width:120px;height:90px;color:var(--tinta);margin-bottom:18px;transition:transform .8s var(--ease)}
.camino--oscuro .camino-glifo{color:var(--lima)}
.camino:hover .camino-glifo{transform:translateX(10px) rotate(-3deg)}
.decide{display:grid;grid-template-columns:auto 1fr;gap:20px 60px;margin-top:clamp(60px,8vw,120px);padding-top:28px;border-top:1px solid var(--linea)}
.decide .mono{color:var(--tinta-2);margin:6px 0 0}
.decide-txt{margin:0;max-width:30ch}
.decide-pie{grid-column:2;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;color:var(--tinta-2)}
.decide-pie p{margin:0;max-width:52ch}

/* Planificador */
.planner{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.62fr);gap:clamp(12px,1.6vw,24px);align-items:stretch}
/* Customizador: protagonista */
.space-form{display:grid;gap:clamp(22px,2.6vw,34px);align-content:start;padding:clamp(26px,4vw,56px);position:relative;overflow:hidden}
.space-form::after{content:"";position:absolute;right:-14%;top:-30%;width:58%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(229,250,136,.22),rgba(229,250,136,0));pointer-events:none}
.custom-cab{position:relative;z-index:1;max-width:46ch}
.custom-rotulo{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--lima)}
.custom-rotulo .punto{background:var(--lima)}
.space-form h3{margin:0 0 14px;color:var(--blanco)}
.custom-txt{margin:0;color:#c6c4cc;font-size:clamp(1rem,1.15vw,1.125rem);line-height:1.5}
.custom-campos{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr 1.5fr 1.5fr;gap:12px}
.space-form label{color:#a9a7b0}
.space-form input,.space-form select{color-scheme:dark;background-color:var(--oscuro-3);color:var(--hueso);box-shadow:inset 0 0 0 1px rgba(242,240,234,.08)}
.space-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23e5fa88' stroke-width='1.5'/%3E%3C/svg%3E")}
.space-form input:focus,.space-form select:focus{background-color:var(--oscuro-2);box-shadow:inset 0 0 0 1.5px var(--lima)}
.space-form option{color:var(--tinta);background:var(--blanco)}
.custom-pie{position:relative;z-index:1;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.custom-pie .nota{margin:0;color:#8f8d97;max-width:40ch}
.pildora--grande{height:clamp(64px,6vw,84px);padding:0 clamp(28px,3vw,40px);font-size:clamp(1.25rem,1.9vw,1.75rem);font-weight:500;letter-spacing:-.03em;gap:16px}
.pildora--grande b{display:grid;place-items:center;width:1.6em;height:1.6em;border-radius:50%;background:var(--tinta);color:var(--lima);font-size:.75em;transition:transform .5s var(--ease)}
.pildora--grande:hover b{transform:rotate(45deg)}
/* Planta: secundaria */
.space-result{align-self:start;display:flex;flex-direction:column;gap:12px;background:var(--fondo-2);box-shadow:none;padding:clamp(18px,1.8vw,26px);color:var(--tinta-2)}
.plan-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.plan-top .mono{color:var(--gris);margin:0}
#area{font-size:clamp(1.5rem,2vw,2rem);font-weight:400;letter-spacing:-.04em;line-height:1;color:var(--tinta)}
#area small{font-size:.5em;letter-spacing:0;color:var(--gris);margin-left:2px}
#floorplan{width:100%;max-width:250px;height:auto;align-self:center;color:var(--tinta);border-radius:var(--r-s);background:rgba(16,16,20,.025)}
.plan-legend{display:flex;gap:16px;color:var(--gris);font-size:.6875rem}
#space-advice h4{margin:0 0 4px;font-size:.9375rem;font-weight:500;letter-spacing:-.01em;color:var(--tinta)}
#space-advice p{margin:0;font-size:.8125rem;line-height:1.45;color:var(--tinta-2)}
#space-advice .small-note{margin-top:6px;color:var(--tinta)}
.space-result .nota{margin:0;font-size:.75rem;color:var(--gris)}
.space-result .enlace{align-self:flex-start;margin-top:4px;color:var(--tinta)}
@media (max-width:1100px){.custom-campos{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.space-result{display:grid;grid-template-columns:minmax(0,150px) 1fr;column-gap:18px;align-items:start}
  .space-result .plan-top,.space-result .plan-legend,.space-result #space-advice,.space-result .nota,.space-result .enlace{grid-column:2}
  #floorplan{grid-column:1;grid-row:1/span 5;max-width:150px}}
@media (max-width:520px){.custom-campos{grid-template-columns:1fr 1fr}.custom-campos label:nth-child(n+3){grid-column:1/-1}.pildora--grande{width:100%;justify-content:space-between}}
.dos-campos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:grid;gap:8px;font-size:.8125rem;color:var(--tinta-2);font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em}
input,select,textarea{width:100%;border:0;border-radius:var(--r-s);background:var(--fondo);padding:14px 16px;font-family:var(--sans);font-size:1rem;color:var(--tinta);text-transform:none;letter-spacing:normal;box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .25s,background .25s}
input:focus,select:focus,textarea:focus{outline:0;box-shadow:inset 0 0 0 1.5px var(--tinta);background:var(--blanco)}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23101014' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.catalog-note{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;margin-top:clamp(16px,2vw,24px);padding:22px 26px;border-radius:var(--r-l);background:var(--fondo-2)}
.catalog-note p{margin:0;color:var(--tinta-2);max-width:78ch}
.catalog-note b{color:var(--tinta);font-weight:500}

/* Catálogo (marcado de catalogo.js) */
.cat{padding-block:var(--aire)}
.cat-filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.cat-filtro{height:40px;padding:0 18px;border-radius:999px;border:0;background:var(--oscuro-3);color:var(--hueso);font-size:.875rem;transition:background .3s,color .3s}
.cat-filtro[aria-pressed=true]{background:var(--lima);color:var(--tinta)}
.cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,24px)}
.cat-item{position:relative;cursor:pointer;border-radius:var(--r-l);background:var(--oscuro-2);overflow:hidden;transition:transform .7s var(--ease),box-shadow .4s}
.cat-item:hover{transform:translateY(-6px)}
.cat-item.sel{box-shadow:0 0 0 2px var(--lima)}
.cat-foto{position:relative;aspect-ratio:16/11;overflow:hidden;margin:10px;border-radius:calc(var(--r-l) - 8px);background:var(--oscuro-3)}
.cat-foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.cat-item:hover .cat-foto img{transform:scale(1.06)}
.cat-tag,.cat-cota{position:absolute;top:14px;font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;padding:7px 11px;border-radius:999px;background:rgba(16,16,20,.6);color:var(--hueso);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cat-tag{left:14px}.cat-cota{right:64px}
.cat-marco{display:none}
.cat-add{position:absolute;top:10px;right:10px;width:42px;height:42px;border-radius:50%;border:0;background:var(--hueso);color:var(--tinta);font-size:1.3rem;display:grid;place-items:center;transition:transform .5s var(--ease),background .3s}
.cat-item:hover .cat-add{transform:rotate(90deg)}
.cat-item.sel .cat-add{background:var(--lima);transform:none}
.cat-cuerpo{padding:12px clamp(18px,2.2vw,30px) clamp(20px,2.4vw,32px)}
.cat-cuerpo h3{margin:0;font-size:clamp(1.6rem,2.6vw,2.5rem);font-weight:400;letter-spacing:-.04em;line-height:1.05}
.cat-sub{margin:6px 0 14px;color:#a9a7b1;font-size:.9375rem}
.cat-precio{margin:0 0 14px;font-size:1.25rem;letter-spacing:-.02em;color:var(--lima)}
.cat-precio small{display:block;font-family:var(--mono);font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase;color:#8f8d97;margin-top:4px}
.cat-incluye{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0}
.cat-incluye li{font-size:.8125rem;padding:6px 11px;border-radius:999px;background:var(--oscuro-3);color:#cfcdd6}
.cat-cuerpo .cat-3d{display:inline-block;margin-top:18px;color:var(--lima)}
.cat-resumen{display:grid;grid-template-columns:repeat(3,auto) 1fr;gap:16px 40px;align-items:end;margin-top:clamp(28px,3vw,44px);padding:clamp(22px,3vw,36px);border-radius:var(--r-l);background:var(--oscuro-2)}
.cat-alcance{grid-column:1/-1;margin:0;color:#b7b5bf}
.cat-alcance b{color:var(--hueso);font-weight:500}
.cat-dato{display:grid;gap:4px}
.cat-dato strong{font-size:clamp(1.8rem,3.4vw,3.2rem);font-weight:400;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.cat-dato span{font-family:var(--mono);font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase;color:#8f8d97}
.cat-dato.flash strong{animation:flash .9s var(--ease)}
@keyframes flash{0%{color:var(--lima)}100%{color:inherit}}
.cat-cta{justify-self:end}
.cat-nota{grid-column:1/-1;margin:0;font-size:.8125rem;color:#8f8d97;max-width:110ch}

/* Proyectos */
.projects{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:clamp(12px,1.6vw,24px)}
.project{all:unset;cursor:pointer;display:grid;gap:14px;align-content:start}
.project:first-child{grid-row:span 2}
.project-image{border-radius:var(--r-l);overflow:hidden;background:var(--fondo-2);aspect-ratio:4/3}
.project:first-child .project-image{aspect-ratio:auto;height:100%;min-height:520px}
.project-image img{width:100%;height:118%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s}
.project:hover .project-image img{transform:scale(1.04)}
.project-label{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:0 4px}
.project-label h3{margin:0}
.project-label .mono{color:var(--tinta-2)}
.project:focus-visible{outline:2px solid var(--tinta);outline-offset:6px;border-radius:var(--r-l)}
.archive-note{margin:clamp(30px,4vw,56px) 0 0;max-width:70ch;font-size:clamp(1.15rem,1.6vw,1.5rem);letter-spacing:-.02em;line-height:1.35;color:var(--tinta-2)}

/* Proceso */
.pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linea)}
.pasos li{padding:28px clamp(14px,2vw,30px) 40px 0;border-right:1px solid var(--linea);display:grid;gap:10px;align-content:start}
.pasos li+li{padding-left:clamp(14px,2vw,30px)}
.pasos li:last-child{border-right:0}
.paso-n{font-size:clamp(3.4rem,6vw,6rem);font-weight:300;letter-spacing:-.06em;line-height:.9;color:var(--tinta)}
.pasos strong{font-size:1.35rem;font-weight:500;letter-spacing:-.02em;margin-top:18px}
.pasos p{margin:0;color:var(--tinta-2);font-size:.9875rem}
.proceso-pie{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:44px}

/* Guía */
.indice{border-top:1px solid var(--linea)}
.guide{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:180px 1fr 1fr 56px;gap:24px;align-items:center;width:100%;padding:28px 6px;border-bottom:1px solid var(--linea);position:relative;transition:padding .6s var(--ease)}
.guide::before{content:'';position:absolute;inset:0;background:var(--tinta);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease);z-index:-1;border-radius:var(--r-m)}
.indice{position:relative;isolation:isolate}
.guide:hover{padding-inline:22px;color:var(--hueso)}
.guide:hover::before{transform:none}
.guide .mono{color:var(--gris)}
.guide h3{margin:0;font-size:clamp(1.3rem,2.1vw,2rem);font-weight:400;letter-spacing:-.035em;line-height:1.1}
.guide p{margin:0;color:var(--tinta-2);font-size:.9375rem}
.guide:hover p{color:#b7b5bf}
.guide b{justify-self:end;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--fondo-2);font-weight:400;transition:transform .5s var(--ease),background .3s,color .3s}
.guide:hover b{background:var(--lima);color:var(--tinta);transform:rotate(45deg)}
.guide:focus-visible{outline:2px solid var(--tinta);outline-offset:-2px;border-radius:var(--r-m)}

/* Radar */
.radar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,24px)}
.radar{display:flex;flex-direction:column;gap:14px}
.radar .mono{color:var(--gris);margin:0}
.radar h3{margin:0}
.radar>p{margin:0;color:var(--tinta-2)}
.apunte{margin-top:auto;padding:16px 18px;border-radius:var(--r-m);background:var(--fondo)}
.apunte strong{display:block;font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;font-weight:400;margin-bottom:6px}
.apunte p{margin:0;font-size:.9375rem}
.radar .enlace{align-self:flex-start}

/* Brief */
#brief{padding-block:var(--aire)}
.cierre{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,90px);align-items:start}
.cierre-copy{display:grid;gap:30px;position:sticky;top:110px}
.cierre-copy .t-lead{color:#c6c4cc;max-width:32ch}
.cierre-contacto{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cierre-tel{width:100%;color:var(--gris);margin:8px 0 0}
.brief-form{display:grid;gap:16px}
.brief-form h3,.brief-form>.nota{margin:0}
.sec--oscura .brief-form input,.sec--oscura .brief-form select,.sec--oscura .brief-form textarea{background:var(--oscuro-3);color:var(--hueso)}
.sec--oscura .brief-form input:focus,.sec--oscura .brief-form select:focus,.sec--oscura .brief-form textarea:focus{background:#2e2e37;box-shadow:inset 0 0 0 1.5px var(--lima)}
.sec--oscura select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23f2f0ea' stroke-width='1.5'/%3E%3C/svg%3E")}
.sec--oscura label{color:#9e9ca6}
.sec--oscura ::placeholder{color:#77757f}
.brief-form .pildora{justify-self:start;background:var(--lima);color:var(--tinta);--relleno:var(--hueso)}
.brief-form .pildora .punto{background:var(--tinta)}
.brief-form .form-nota{margin:0;color:#8f8d97}
.brief-form .enlace{justify-self:start;color:#c6c4cc}
#brief-status:empty{display:none}
.brief-diseno{border-color:var(--lima)!important;color:var(--hueso)}

/* FAQ */
.notas{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(30px,5vw,90px)}
.notas .rotulo{margin-bottom:22px}
.acordeon{border-top:1px solid var(--linea)}
details{border-bottom:1px solid var(--linea)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 4px;font-size:clamp(1.1rem,1.5vw,1.4rem);letter-spacing:-.02em}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--fondo-2);font-family:var(--mono);transition:transform .5s var(--ease),background .3s}
details[open] summary::after{transform:rotate(45deg);background:var(--lima)}
details p{margin:0;padding:0 60px 26px 4px;color:var(--tinta-2);max-width:70ch}

/* Pie */
.pie{background:var(--oscuro);color:var(--hueso);border-radius:var(--r-l) var(--r-l) 0 0;margin:var(--aire) var(--margen) 0;padding:clamp(50px,7vw,110px) 0 28px}
.pie-grande{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;text-decoration:none;font-size:clamp(2.8rem,8.6vw,8.6rem);letter-spacing:-.055em;line-height:.92;padding-bottom:clamp(40px,5vw,80px);border-bottom:1px solid var(--linea-clara);transition:color .4s}
.pie-grande b{flex:none;width:clamp(64px,8vw,120px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--lima);color:var(--tinta);font-weight:400;font-size:.4em;transition:transform .7s var(--ease)}
.pie-grande:hover{color:var(--lima)}
.pie-grande:hover b{transform:rotate(45deg) scale(1.06)}
.pie-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:40px 0 56px}
.pie-cols .mono{color:var(--gris);margin:0 0 14px}
.pie-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pie-cols a{text-decoration:none}
.pie-cols a:hover{color:var(--lima)}
.pie-cols p{margin:0 0 12px;color:#b7b5bf;font-size:.9375rem}
.pie-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--gris);padding-top:22px;border-top:1px solid var(--linea-clara)}

/* Diálogos (contenido de app.js) */
dialog{border:0;border-radius:var(--r-l);padding:clamp(26px,4vw,48px);width:min(760px,calc(100% - 24px));max-height:calc(100svh - 40px);background:var(--blanco);color:var(--tinta);box-shadow:0 40px 120px rgba(16,16,20,.4)}
dialog::backdrop{background:rgba(16,16,20,.55);backdrop-filter:blur(6px)}
dialog[open]{animation:dlg .55s var(--ease)}
@keyframes dlg{from{opacity:0;transform:translateY(24px) scale(.98)}}
.dialog-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:0;background:var(--fondo);font-size:1rem}
.dialog-close:hover{background:var(--lima)}
.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);margin:0 0 10px}
dialog h2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:400;letter-spacing:-.045em;line-height:1.02;margin:0 0 20px;padding-right:44px}
dialog h3{font-size:1.15rem;font-weight:500;letter-spacing:-.02em;margin:26px 0 6px}
dialog p{color:var(--tinta-2);margin:0 0 12px}
dialog img{border-radius:var(--r-m);margin:0 0 18px;width:100%}
.read-note{padding:16px 18px;border-radius:var(--r-m);background:var(--fondo);color:var(--tinta)!important;margin-top:18px!important}
dialog .button{display:inline-flex;align-items:center;height:48px;padding:0 22px;border-radius:999px;background:var(--tinta);color:var(--hueso);text-decoration:none;font-weight:500;margin-top:10px}
dialog .button:hover{background:var(--lima);color:var(--tinta)}
#meeting-form{display:grid;gap:14px;margin-top:18px}
#meeting-form .pildora{justify-self:start}

/* Cursor */
.cursor{position:fixed;left:0;top:0;z-index:90;pointer-events:none;width:0;height:0;opacity:0;transition:opacity .3s}
.cursor span{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--tinta);display:grid;place-items:center;font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta);white-space:nowrap;transition:width .45s var(--ease),height .45s var(--ease),left .45s var(--ease),top .45s var(--ease),background .3s,color .3s;mix-blend-mode:normal}
.cursor.ver span{width:92px;height:92px;left:-46px;top:-46px;background:var(--lima)}
.cursor.sobre-oscuro span{background:var(--lima)}
@media (hover:hover) and (pointer:fine){ .cursor.activo{opacity:1} }

/* ── Revelados ── */
.js [data-ap]{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.js [data-ap].vis{opacity:1;transform:none}
.js [data-split]:not(.partido){visibility:hidden}
.linea{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.linea>span{display:inline-block;transform:translateY(105%);transition:transform 1.25s var(--ease)}
.vis .linea>span,.vis.linea>span{transform:none}

/* ── Responsive ── */
@media (max-width:1100px){
  .guide{grid-template-columns:1fr 56px;gap:8px 20px}
  .guide .mono,.guide h3,.guide p{grid-column:1}
  .guide b{grid-row:1/span 3;grid-column:2}
  .pasos{grid-template-columns:1fr 1fr}
  .pasos li:nth-child(2){border-right:0}
  .pasos li:nth-child(3){padding-left:0}
  .pasos li:nth-child(n+3){border-top:1px solid var(--linea)}
}
@media (max-width:860px){
  :root{--r-l:18px}
  .cab-logo i{display:none}
  .cab-pildoras .pildora--lima{display:none}
  .largo{display:none}.corto{display:inline}
  .cab-pildoras .pildora{height:40px;padding:0 14px}
  .hero{padding-top:82px}
  .hero-top{grid-template-columns:1fr}
  .hero-frase{grid-column:1;font-size:1.4rem}
  .hero-tarjeta{min-height:62svh}
  .hero-pista{font-size:.625rem}
  .hero-dato{display:none}
  .manifiesto .t-gigante{padding-left:0}
  .manifiesto-pie,.caminos,.planner,.cierre,.notas,.sec-cab--fila,.radar-grid{grid-template-columns:1fr}
  .sec-cab--fila .t-cuerpo{justify-self:start}
  .camino{min-height:0}
  .decide{grid-template-columns:1fr}
  .decide-pie{grid-column:1;grid-template-columns:1fr}
  .catalog-note{grid-template-columns:1fr;justify-items:start}
  .cat-grid{grid-template-columns:1fr}
  .cat-resumen{grid-template-columns:1fr 1fr}
  .cat-cta{grid-column:1/-1;justify-self:start}
  .projects{grid-template-columns:1fr}
  .project:first-child{grid-row:auto}
  .project:first-child .project-image{min-height:0;aspect-ratio:4/5}
  .cierre-copy{position:static}
  .pie-cols{grid-template-columns:1fr 1fr}
  .pie-grande{flex-direction:column;align-items:flex-start}
  .cinta path{stroke-width:30}
}
@media (max-width:520px){
  .pasos{grid-template-columns:1fr}
  .pasos li,.pasos li+li{padding-left:0;border-right:0}
  .pasos li+li{border-top:1px solid var(--linea)}
  .dos-campos{grid-template-columns:1fr}
  .pie-cols{grid-template-columns:1fr}
  details p{padding-right:4px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-ap]{opacity:1;transform:none}
  .linea>span{transform:none}
}
/* encabezado sobre secciones oscuras */
.cab .pildora--oscura{box-shadow:0 0 0 1px rgba(255,255,255,.16)}
/* hero: botón "Diseñá tu próximo stand acá" (en 3D dentro de la escena; este enlace es el respaldo accesible) */
.hero-cta{position:absolute;z-index:3;left:50%;bottom:clamp(18px,3vw,30px);transform:translateX(-50%);height:56px;padding:0 24px;font-size:1.0625rem}
.hero-tarjeta.con-boton3d .hero-cta{opacity:0;pointer-events:none}
.hero-tarjeta.con-boton3d .hero-cta:focus-visible{opacity:1;pointer-events:auto}
@media (max-width:1100px){.hero-pista{top:16px;bottom:auto}.hero-dato{top:16px;bottom:auto}}
.hero-frase{font-weight:400}
