@charset "utf-8";
/* =========================================================
   XOLARIS 2.0 · La cuenta, a la vista
   Blanco factura, aluminio, tinta célula y un único acento: turquesa ahorro.
   Hubot Sans (titulares y cifras) + Azeret Mono (datos).
   ========================================================= */

@font-face{font-family:"Hubot";src:url("../fonts/hubot-sans.woff2") format("woff2");font-weight:200 900;font-stretch:75% 125%;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Hubot";src:url("../fonts/hubot-sans-ext.woff2") format("woff2");font-weight:200 900;font-stretch:75% 125%;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0}
@font-face{font-family:"Azeret";src:url("../fonts/azeret-mono.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Azeret";src:url("../fonts/azeret-mono-ext.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0}

:root{
  /* materia: factura, aluminio, célula */
  --cal:#FFFFFF;          /* blanco factura */
  --cal-2:#E6EBEA;        /* aluminio */
  --cal-3:#D3DCDA;
  --blanco:#FFFFFF;
  --alu:#F2F5F4;
  --tinta:#0C1B22;        /* tinta célula */
  --silicio:#0C1B22;
  --silicio-2:#13303A;
  --sombra:#55666B;
  --sombra-2:#9AAAAE;
  --teja:#C8432E;         /* «no sale», lo que falta por pagar, errores */
  --teja-2:#E08A7A;
  --teja-osc:#9E3322;
  --sol:#00A3A1;          /* turquesa ahorro: único acento */
  --sol-2:#9ADBD6;
  --sol-osc:#006E6C;      /* turquesa para texto (AA sobre blanco) */
  --verde:#2E8B57;        /* estado: oficina abierta */
  --linea:rgba(12,27,34,.12);
  --linea-2:rgba(12,27,34,.26);
  --linea-n:rgba(255,255,255,.14);

  --bg:var(--cal);
  --fg:var(--tinta);
  --fg-2:#4A5A60;
  --foco:var(--sol-osc);

  --sx:0px; --sy:0px;

  --f-disp:"Hubot",ui-sans-serif,system-ui,sans-serif;
  --f-mono:"Azeret",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --t-xs:.75rem; --t-s:.875rem; --t-m:1.04rem; --t-l:1.28rem;
  --t-xl:clamp(1.6rem,1.1rem + 1.8vw,2.5rem);
  --t-2xl:clamp(2.2rem,1.2rem + 3.6vw,4.6rem);
  --t-3xl:clamp(2.9rem,1.1rem + 6.8vw,8.4rem);

  --hdr:76px;
  --gut:clamp(16px,3.4vw,48px);
  --max:1380px;
  --r:3px;
  --ease:cubic-bezier(.22,.7,.2,1);
  --ease-2:cubic-bezier(.65,0,.25,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--cal);color:var(--tinta);font-family:var(--f-disp);font-size:var(--t-m);line-height:1.55;font-weight:380;font-optical-sizing:auto;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
::selection{background:var(--sol);color:var(--tinta)}
:focus-visible{outline:2px solid var(--foco);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--tinta);color:var(--cal);padding:10px 14px;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}

/* ---------- tipografía ---------- */
.d1,.d2,.d3,h1,h2,h3{font-family:var(--f-disp);font-weight:640;letter-spacing:-.02em;line-height:.95;margin:0;text-wrap:balance;font-stretch:88%}
.d1{font-size:clamp(2.5rem,1.2rem + 4.6vw,6rem);font-stretch:80%;font-weight:720;letter-spacing:-.025em;line-height:.9}
.d2{font-size:var(--t-2xl);font-stretch:82%;font-weight:700;line-height:.94;letter-spacing:-.022em}
.d3{font-size:var(--t-xl);font-stretch:88%;font-weight:660;line-height:1.02;letter-spacing:-.015em}
/* énfasis: la misma tinta, ensanchada como un dígito de contador */
.d1 em,.d2 em,.d3 em{font-style:normal;font-stretch:122%;font-weight:560;letter-spacing:-.035em;color:inherit}
.lead{font-size:var(--t-l);line-height:1.45;max-width:40ch;font-weight:400;text-wrap:pretty}
.txt{max-width:62ch;color:var(--fg-2);text-wrap:pretty}
.txt p{margin:0 0 1em}
.mono,.k{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:0;font-weight:460}
.k{display:inline-flex;gap:.75em;align-items:center;text-transform:uppercase;color:var(--fg-2)}
.k b{font-weight:640;color:var(--fg)}
/* marca de sección: el cruce del logo en miniatura */
.k::before{content:"";flex:none;width:11px;height:11px;background:
  linear-gradient(to top right,transparent calc(50% - 1.2px),var(--sol) calc(50% - 1.2px) calc(50% + 1.2px),transparent calc(50% + 1.2px)),
  linear-gradient(to bottom right,transparent calc(50% - 1px),currentColor calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px))}
.k--line::before{width:22px;height:1px;background:currentColor}
.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}

/* ---------- estructura ---------- */
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
main{display:block}
.sec{position:relative;padding:clamp(72px,10vw,150px) 0;background:var(--bg);color:var(--fg)}
.sec--tight{padding:clamp(48px,6vw,90px) 0}
.t-claro{--bg:var(--blanco);--fg:var(--tinta);--fg-2:#4A5A60}
.t-alu{--bg:var(--alu);--fg:var(--tinta);--fg-2:#4A5A60}
.t-celula{--bg:var(--tinta);--fg:#FFFFFF;--fg-2:#A9BCC0;--linea:var(--linea-n);--linea-2:rgba(255,255,255,.3);--foco:var(--sol-2)}
.t-celula .k::before{--sol:var(--sol-2)}

.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,28px)}
.grid>*{min-width:0}

/* encabezado de sección: etiqueta + título */
.sh{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(12px,2vw,28px);align-items:start;margin-bottom:clamp(36px,5vw,72px)}
.sh__h{display:flex;flex-direction:column;gap:14px;padding-top:.9em;border-top:2px solid var(--fg)}
.sh__t{display:flex;flex-direction:column;gap:22px}

/* ---------- botones ---------- */
.btn{--b-bg:var(--tinta);--b-fg:var(--cal);position:relative;display:inline-flex;align-items:center;gap:.8em;padding:1em 1.35em;border:0;border-radius:var(--r);background:var(--b-bg);color:var(--b-fg);font-family:var(--f-mono);font-size:.78rem;font-weight:520;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;line-height:1;transition:background-color .25s,color .25s,transform .35s var(--ease),box-shadow .35s var(--ease),background .25s}
.btn::after{content:"";width:12px;height:2px;background:var(--sol);transform:rotate(-35deg);transition:transform .35s var(--ease)}
.btn:hover{background:color-mix(in srgb,var(--b-bg) 86%,#fff)}
.btn:hover::after{transform:rotate(-35deg) scaleX(1.5)}
.btn:active{transform:translateY(1px)}
.btn--sol{--b-bg:var(--sol);--b-fg:var(--tinta)}
.btn--sol:hover{background:#2BB8B5}
.btn--sol::after{background:var(--tinta)}
.btn--claro{--b-bg:var(--cal);--b-fg:var(--tinta)}
.btn--linea{--b-bg:transparent;--b-fg:var(--fg);box-shadow:inset 0 0 0 1px var(--linea-2)}
.btn--linea:hover{box-shadow:inset 0 0 0 1px var(--fg);background:transparent}
.btn[disabled]{opacity:.4;pointer-events:none}
.lnk{font-family:var(--f-mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.03em;text-decoration:none;display:inline-flex;gap:.6em;align-items:center;border-bottom:1px solid var(--linea-2);padding-bottom:4px;transition:border-color .2s,gap .3s var(--ease)}
.lnk:hover{border-color:currentColor;gap:1em}
.lnk::after{content:"→"}

/* ---------- cabecera ---------- */
.hdr{position:fixed;inset:0 0 auto 0;height:var(--hdr);z-index:60;display:flex;align-items:center;transition:background .35s,box-shadow .35s,transform .45s var(--ease),color .35s;color:var(--tinta)}
.hdr.is-solid{background:color-mix(in srgb,var(--cal) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--linea)}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr .wrap{display:flex;align-items:center;gap:28px;max-width:none}
.logo{display:inline-flex;align-items:center;text-decoration:none;color:inherit;line-height:0}
.logo__svg{height:22px;width:auto;overflow:visible}
.logo--pie{margin-bottom:28px}
.logo--pie .logo__svg{height:30px}
@media (max-width:700px){.logo__svg{height:19px}}
.nav{display:flex;gap:clamp(14px,1.8vw,30px);margin-left:auto;align-items:center}
.nav a{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;position:relative;padding:6px 0}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav a:not(.btn):hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.nav a[aria-current="page"]::before{content:"";position:absolute;left:-12px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--sol)}
.nav .btn{padding:.85em 1.1em;font-size:.7rem}
.burger{display:none;margin-left:auto;background:none;border:0;width:46px;height:46px;position:relative;padding:0}
.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:transform .4s var(--ease),opacity .2s}
.burger span:nth-child(1){top:18px}.burger span:nth-child(2){top:27px;right:19px}
.menu-open .burger span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
.menu-open .burger span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg);right:11px}
.hdr--inv:not(.is-solid){color:var(--cal)}

/* menú móvil: un "día" vertical */
.mnav{position:fixed;inset:0;z-index:55;background:var(--tinta);color:var(--cal);display:flex;flex-direction:column;padding:calc(var(--hdr) + 20px) var(--gut) 28px;clip-path:circle(0% at calc(100% - 40px) 38px);transition:clip-path .7s var(--ease-2);visibility:hidden;overflow:auto}
.menu-open .mnav{clip-path:circle(150% at calc(100% - 40px) 38px);visibility:visible}
.menu-open .hdr{color:var(--cal);background:transparent;box-shadow:none;backdrop-filter:none}
.mnav ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mnav li{border-top:1px solid var(--linea-n)}
.mnav a{display:flex;align-items:baseline;gap:16px;padding:14px 0;text-decoration:none;font-size:clamp(1.9rem,8vw,2.6rem);font-stretch:80%;font-weight:560;letter-spacing:-.03em;line-height:1}
.mnav a span{font-family:var(--f-mono);font-size:.7rem;font-weight:400;color:var(--sol-2);letter-spacing:0;min-width:3.4em;font-stretch:85%}
.mnav__pie{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:14px;font-family:var(--f-mono);font-size:.74rem;color:#A9BCC0}
.mnav__pie a{color:var(--cal)}
@media (max-width:1080px){.nav{display:none}.burger{display:block}}
@media (min-width:1081px){.mnav{display:none}}

/* ---------- pie (la noche) ---------- */
.pie{background:var(--tinta);color:var(--cal);position:relative;overflow:hidden;padding:clamp(64px,8vw,110px) 0 0}
.pie .wrap{position:relative}
.pie__top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,2fr) minmax(0,2.4fr);gap:clamp(24px,3vw,48px);padding-bottom:clamp(48px,6vw,80px)}
.pie__top>*{min-width:0}
.pie h4{font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-weight:500;color:var(--sol-2);margin:0 0 18px}
.pie ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.pie a{text-decoration:none}
.pie ul a{font-size:.98rem;opacity:.86;transition:opacity .2s,padding .3s var(--ease)}
.pie ul a:hover{opacity:1;padding-left:6px}
.pie address{font-style:normal;line-height:1.6;font-size:.95rem;opacity:.9}
/* (v1) */.pie__claim{font-size:clamp(1.6rem,1rem + 1.8vw,2.4rem);font-stretch:82%;font-weight:520;line-height:1;letter-spacing:-.025em;margin:0 0 26px;max-width:15ch}
.estado{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;margin-top:14px;padding:6px 10px;border:1px solid var(--linea-n)}
.estado i{width:7px;height:7px;border-radius:50%;background:#C25;flex:none}
.estado.is-open i{background:#7FBF6A;box-shadow:0 0 0 3px rgba(127,191,106,.25);animation:latido 2.4s infinite}
@keyframes latido{50%{box-shadow:0 0 0 6px rgba(127,191,106,0)}}
.pie__base{border-top:1px solid var(--linea-n);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:22px 0 26px;font-family:var(--f-mono);font-size:.7rem;color:#A9BCC0}
.pie__base a{color:var(--cal);opacity:.85;transition:opacity .2s}
.pie__base a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.pie__base .c{text-align:center}
.pie__base .r{text-align:right;padding-right:84px}
@media (max-width:980px){.pie__top{grid-template-columns:1fr 1fr}.pie__top>:first-child{grid-column:1/-1}}
@media (max-width:560px){.pie__top{grid-template-columns:1fr}.pie__base{grid-template-columns:1fr;text-align:left;gap:10px}.pie__base .c,.pie__base .r{text-align:left;padding-right:0}}

/* ---------- ilustraciones y fotos ---------- */
.art{position:relative;margin:0;overflow:hidden;background:var(--cal-2);aspect-ratio:var(--ratio,4/3);isolation:isolate}
.art::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%) var(--cal-2);background-size:220% 100%;animation:barrido 2.2s linear infinite;z-index:-1}
.art.is-drawn::before{animation:none}
.art>svg,.art>img,.art>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.art>svg{transition:opacity .8s}
.art>img,.art>video{opacity:0;transition:opacity 1s var(--ease)}
.art.has-img>img,.art.has-vid>video{opacity:1}
.art.has-img>svg{opacity:0}
.art figcaption{position:absolute;left:12px;bottom:10px;z-index:2;font-family:var(--f-mono);font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:var(--cal);background:rgba(21,24,42,.62);padding:5px 8px;backdrop-filter:blur(4px)}
@keyframes barrido{to{background-position:-120% 0}}

/* ---------- revelados ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.rv.is-in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}.rv-d4{transition-delay:.32s}
.rv-sombra>*{transition:clip-path 1.3s var(--ease-2);clip-path:inset(0 100% 0 0)}
.rv-sombra.is-in>*{clip-path:inset(0 0 0 0)}
.page-in{animation:pagein .8s var(--ease) both}
@keyframes pagein{from{opacity:0}to{opacity:1}}
body.is-leaving main,body.is-leaving .pie{opacity:0;transition:opacity .35s}

/* ---------- formularios base ---------- */
.fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.fld label,.lbl{font-family:var(--f-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-2)}
.inp{width:100%;border:0;border-bottom:1.5px solid var(--linea-2);background:transparent;padding:10px 0;font-size:1.1rem;border-radius:0;transition:border-color .2s}
.inp:focus{outline:none;border-color:var(--sol-osc)}
.inp[aria-invalid="true"]{border-color:var(--teja)}
textarea.inp{resize:vertical;min-height:90px}
.err{font-family:var(--f-mono);font-size:.68rem;color:var(--teja);min-height:1em}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:8px;padding:.7em 1em;border:1px solid var(--linea-2);font-size:.92rem;line-height:1.1;transition:background .2s,color .2s,border-color .2s;border-radius:var(--r)}
.chip input:checked+span{background:var(--tinta);color:var(--cal);border-color:var(--tinta)}
.chip input:focus-visible+span{outline:2px solid var(--sol-osc);outline-offset:2px}
.chip:hover span{border-color:var(--fg)}
.rng{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent}
.rng::-webkit-slider-runnable-track{height:2px;background:var(--linea-2)}
.rng::-moz-range-track{height:2px;background:var(--linea-2)}
.rng::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--sol);border:2px solid var(--tinta);margin-top:-10px}
.rng::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--sol);border:2px solid var(--tinta)}

/* =========================================================
   COMPONENTES DE PÁGINA
   ========================================================= */

/* ---------- HERO · reloj de tejado ---------- */
.hero{position:relative;min-height:100svh;padding:calc(var(--hdr) + 24px) 0 28px;display:flex;flex-direction:column;background:var(--hero-bg,#F7E3DF);transition:background 1.2s;overflow:hidden}
.hero .wrap{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;pointer-events:none}
.hero .wrap a,.hero .wrap button,.hero .lectura{pointer-events:auto}
.hero__top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:28px;align-items:end}
.hero__top>*{min-width:0}
.hero h1,.hero h2{color:var(--hero-fg,var(--tinta));transition:color 1.2s}
.hero__lead{color:var(--hero-fg,var(--tinta));opacity:.86;transition:color 1.2s}
.hero__lead p{margin:0 0 22px;max-width:40ch;font-size:var(--t-l);line-height:1.4}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.reloj{position:absolute;left:0;right:0;top:var(--hdr);bottom:var(--lect-h,96px);z-index:1;touch-action:pan-y}
.hero__top{margin-bottom:auto}
.hero .lectura{margin-top:clamp(240px,34vh,420px)}
.reloj svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.reloj .sol-knob{cursor:grab;outline:none}
.reloj .sol-knob:focus-visible circle.halo{stroke:var(--tinta);stroke-width:2}
.reloj.is-drag .sol-knob{cursor:grabbing}
.lectura{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;border-top:1px solid color-mix(in srgb,var(--hero-fg,var(--tinta)) 30%,transparent);color:var(--hero-fg,var(--tinta));transition:color 1.2s}
.lectura>div{padding:12px 14px 4px 0;font-family:var(--f-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.03em;opacity:.95;min-width:0}
.lectura b{display:block;font-weight:300;font-size:clamp(1.1rem,.8rem + 1vw,1.7rem);letter-spacing:-.03em;text-transform:none;margin-top:4px;font-stretch:80%;white-space:nowrap}
.lectura .hint{align-self:center;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.lectura button{background:transparent;border:1px solid currentColor;padding:7px 10px;font-family:var(--f-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.03em;border-radius:20px;opacity:.75;transition:opacity .2s,background .2s}
.lectura button:hover,.lectura button[aria-pressed="true"]{opacity:1;background:color-mix(in srgb,currentColor 12%,transparent)}
.hero.is-noche .btn{--b-bg:var(--cal);--b-fg:var(--tinta)}
.hero.is-noche .btn--linea{--b-bg:transparent;--b-fg:var(--cal);box-shadow:inset 0 0 0 1px rgba(243,237,225,.4)}
.reloj__tip{position:absolute;font-family:var(--f-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.03em;pointer-events:none;color:var(--hero-fg,var(--tinta));opacity:.7;white-space:nowrap}
@media (max-width:900px){.hero__top{grid-template-columns:1fr}.hero .lectura{margin-top:300px}.lectura{grid-template-columns:repeat(3,minmax(0,1fr))}.lectura .hint{grid-column:1/-1;justify-content:flex-start;padding:10px 0}.lectura>div:nth-child(4),.lectura>div:nth-child(5){display:none}}

/* manifiesto */
.manif p.big{font-size:clamp(1.7rem,1rem + 2.6vw,3.3rem);line-height:1.08;letter-spacing:-.025em;font-weight:420;font-stretch:88%;margin:0;text-wrap:balance}
.manif p.big .sh-w{background:linear-gradient(transparent 62%,color-mix(in srgb,var(--sol) 55%,transparent) 62%);padding:0 .06em}
.manif p.big .sb{color:var(--sombra)}

/* calle de viviendas (portada) */
.calle{position:relative}
.calle__track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,24%);gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-bottom:3px solid var(--tinta);padding-bottom:0}
.calle__track::-webkit-scrollbar{display:none}
.casa-t{scroll-snap-align:start;position:relative;display:flex;flex-direction:column;text-decoration:none;border-right:1px dashed var(--linea-2);padding:0 18px 0 0}
.casa-t .art{--ratio:4/5;background:transparent}
.casa-t .art::before{display:none}
.casa-t__n{font-family:var(--f-mono);font-size:.66rem;color:var(--fg-2);padding:14px 0 6px;display:flex;justify-content:space-between}
.casa-t h3{font-size:1.5rem;font-stretch:84%;letter-spacing:-.02em;line-height:1}
.casa-t p{margin:8px 0 24px;font-size:.92rem;color:var(--fg-2);max-width:30ch}
.casa-t .art svg{transition:transform .8s var(--ease)}
.casa-t:hover .art svg{transform:scale(1.035) translateY(-4px)}
.calle__ctrl{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:22px}
.calle__ctrl button{width:46px;height:46px;border-radius:50%;border:1px solid var(--linea-2);background:transparent;font-size:1.1rem;transition:background .2s,color .2s}
.calle__ctrl button:hover{background:var(--tinta);color:var(--cal)}
@media (max-width:700px){.calle__track{grid-auto-columns:78%}}

/* bloque carta de sombras (teaser) */

/* casos destacados */
.casos{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(16px,2.4vw,36px);align-items:start}
.casos>*{min-width:0}
.casos__col{display:flex;flex-direction:column;gap:36px}
@media (min-width:901px){.casos__col{padding-top:120px}}
@media (max-width:900px){.casos{grid-template-columns:1fr}}

/* vídeo de sección */
.vsec .art{--ratio:16/9;background:var(--silicio)}
.vsec .art::before{background-color:var(--silicio)}
@media (max-width:700px){.vsec .art{--ratio:3/4}}
.vsec__cap{display:flex;justify-content:space-between;gap:18px;margin-top:14px;font-family:var(--f-mono);font-size:.7rem;color:var(--fg-2);flex-wrap:wrap}

/* compromisos (lista enumerada como horas) */
.horas{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea-2)}
.horas li{display:grid;grid-template-columns:minmax(80px,1.2fr) minmax(0,4fr) minmax(0,5fr);gap:clamp(12px,2vw,28px);padding:clamp(18px,2.4vw,30px) 0;border-bottom:1px solid var(--linea);align-items:baseline;transition:background .3s}
.horas li>*{min-width:0}
.horas .num{font-size:.9rem;color:var(--fg-2)}
.horas h3{font-size:clamp(1.25rem,1rem + .9vw,1.9rem);font-stretch:84%;letter-spacing:-.02em;line-height:1.05}
.horas p{margin:0;color:var(--fg-2);max-width:58ch}
@media (max-width:760px){.horas li{grid-template-columns:1fr;gap:8px}}

/* bitácora / novedades */
.bit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.bit article{display:flex;flex-direction:column;gap:12px;min-width:0}
.bit .art{--ratio:1/1}
.bit time{font-family:var(--f-mono);font-size:.66rem;color:var(--fg-2);text-transform:uppercase}
.bit h3{font-size:1.15rem;font-stretch:90%;line-height:1.15;letter-spacing:-.01em;font-weight:560}
.bit p{margin:0;font-size:.9rem;color:var(--fg-2)}
.bit article:nth-child(2){margin-top:60px}.bit article:nth-child(4){margin-top:30px}
@media (max-width:900px){.bit{grid-template-columns:1fr 1fr}.bit article{margin-top:0!important}}

/* cierre / llamada final compacta */
.cierre{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,48px);align-items:end}
.cierre>*{min-width:0}
.cierre__side{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
@media (max-width:820px){.cierre{grid-template-columns:1fr}}

/* encabezado de página interior */
.ph{padding:calc(var(--hdr) + clamp(48px,7vw,110px)) 0 clamp(40px,5vw,70px);background:var(--bg);color:var(--fg);position:relative;overflow:hidden}
.ph__g{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(20px,3vw,48px);align-items:end}
.ph__g>*{min-width:0}
.ph .k{margin-bottom:22px}
.ph__side{display:flex;flex-direction:column;gap:18px}
.ph__side p{margin:0;color:var(--fg-2);max-width:42ch}
.ph__arc{position:absolute;right:-8vw;top:calc(var(--hdr) - 10px);width:min(62vw,820px);opacity:.55;pointer-events:none}
@media (max-width:820px){.ph__g{grid-template-columns:1fr}.ph__arc{width:110vw;right:-30vw;opacity:.3}}

/* =========== ESTUDIO DE TEJADO =========== */
.est{display:grid;grid-template-columns:minmax(0,7.2fr) minmax(0,4.8fr);gap:clamp(20px,3vw,48px);align-items:start}
.est>*{min-width:0}
.lec{border-top:1px solid var(--linea-2);padding:clamp(22px,3vw,40px) 0 clamp(36px,4vw,56px)}
.lec__h{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;align-items:baseline;margin-bottom:22px}
.lec__h .num{font-size:.8rem;color:var(--sol-osc);grid-row:span 2}
.lec__h h2{font-size:clamp(1.5rem,1rem + 1.4vw,2.3rem);font-stretch:84%}
.lec__h p{margin:0;color:var(--fg-2);max-width:56ch;font-size:.96rem}
.brujula-w{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:28px;align-items:center}
.brujula{position:relative;aspect-ratio:1;touch-action:none;user-select:none}
.brujula svg{width:100%;height:100%;overflow:visible}
.brujula [role="slider"]{cursor:grab;outline:none}
.brujula [role="slider"]:focus-visible .aguja-c{stroke:var(--sol-osc);stroke-width:3}
.brujula-w .dato{font-size:clamp(1.8rem,1rem + 2vw,2.8rem);font-stretch:80%;font-weight:520;letter-spacing:-.03em;line-height:1}
.perfil{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);gap:24px;align-items:center;margin-top:20px}
.perfil svg{width:100%;height:auto}
.carta{position:relative;user-select:none;touch-action:none}
.carta svg{width:100%;height:auto;overflow:visible}
.carta .pt{cursor:ns-resize;outline:none}
.carta .pt:focus-visible circle{stroke:var(--sol-osc);stroke-width:3}
.carta__bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-top:14px}
.carta__help{font-family:var(--f-mono);font-size:.66rem;color:var(--fg-2);text-transform:uppercase}
.ficha{position:sticky;top:calc(var(--hdr) + 16px);background:var(--blanco);border:1px solid var(--linea-2);font-size:.92rem}
.ficha__h{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--linea-2);font-family:var(--f-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.03em}
.ficha__big{padding:20px 16px 16px;border-bottom:1px solid var(--linea)}
.ficha__big b{font-family:var(--f-mono);font-size:clamp(2.2rem,1.4rem + 2.4vw,3.4rem);font-weight:250;letter-spacing:-.06em;line-height:1;font-stretch:76%;display:block}
.ficha__big span{color:var(--fg-2);font-size:.86rem}
.ficha dl{margin:0;display:grid;grid-template-columns:1fr auto}
.ficha dt,.ficha dd{margin:0;padding:9px 16px;border-bottom:1px solid var(--linea)}
.ficha dt{color:var(--fg-2);font-size:.86rem}
.ficha dd{font-family:var(--f-mono);font-size:.78rem;text-align:right;white-space:nowrap}
.ficha .meses{padding:14px 16px;border-bottom:1px solid var(--linea)}
.ficha .meses svg{width:100%;height:auto}
.ficha__pie{padding:16px;display:flex;flex-direction:column;gap:12px}
.ficha__pie small{font-size:.74rem;color:var(--fg-2);line-height:1.4}
.flash{animation:flash .6s}
@keyframes flash{0%{background:color-mix(in srgb,var(--sol) 40%,transparent)}100%{background:transparent}}
@media (max-width:1000px){.est{grid-template-columns:1fr}.ficha{position:relative;top:0}}
@media (max-width:640px){.brujula-w,.perfil{grid-template-columns:1fr}.brujula{max-width:260px}}
.consumo-g{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px}
.consumo-g .fld.full{grid-column:1/-1}
.rng-v{font-family:var(--f-mono);font-size:1.6rem;font-weight:300;letter-spacing:-.04em;font-stretch:80%}
@media (max-width:640px){.consumo-g{grid-template-columns:1fr}}

/* =========== INSTALACIONES =========== */
.packs{border-top:0}
.pack{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);gap:clamp(16px,2.6vw,40px);padding:clamp(28px,3.6vw,52px) 0;border-bottom:1px solid var(--linea-2);scroll-margin-top:calc(var(--hdr) + 20px)}
.pack>*{min-width:0}
.pack .art{--ratio:4/3}
.pack h3{font-size:clamp(1.7rem,1rem + 1.8vw,2.7rem);font-stretch:80%;margin:6px 0 14px}
.pack p{margin:0 0 14px;color:var(--fg-2);max-width:54ch}
.pack .ref{font-family:var(--f-mono);font-size:.66rem;color:var(--fg-2);text-transform:uppercase}
.spec{margin:0;display:grid;grid-template-columns:auto 1fr;border-top:1px solid var(--linea)}
.spec dt,.spec dd{margin:0;padding:8px 0;border-bottom:1px solid var(--linea);font-size:.88rem}
.spec dt{color:var(--fg-2);padding-right:16px}
.spec dd{font-family:var(--f-mono);font-size:.74rem;text-align:right}
.pack__precio{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.pack__precio .desde{font-family:var(--f-mono);font-size:.66rem;text-transform:uppercase;color:var(--fg-2)}
.pack__precio b{font-family:var(--f-mono);font-weight:250;font-size:clamp(2rem,1.3rem + 1.6vw,2.9rem);letter-spacing:-.05em;line-height:.9;font-stretch:76%}
.pack__precio small{font-size:.8rem;color:var(--fg-2);max-width:26ch}
@media (max-width:980px){.pack{grid-template-columns:1fr 1fr}.pack .art{grid-row:span 2}}
@media (max-width:640px){.pack{grid-template-columns:1fr}.pack .art{grid-row:auto}}
.indice-packs{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.indice-packs a{font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;text-decoration:none;padding:8px 12px;border:1px solid var(--linea-2);border-radius:20px;transition:background .2s,color .2s}
.indice-packs a:hover{background:var(--tinta);color:var(--cal)}

/* corte del tejado */
.corte{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,48px);align-items:start}
.corte>*{min-width:0}
.corte__fig{position:relative;border:1px solid var(--linea-2);background:color-mix(in srgb,var(--bg) 60%,#fff)}
.corte__fig svg{width:100%;height:auto}
.corte__tabs{display:flex;gap:0;border-bottom:1px solid var(--linea-2)}
.corte__tabs button{flex:1;background:transparent;border:0;border-right:1px solid var(--linea);padding:14px 10px;font-family:var(--f-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-2)}
.corte__tabs button:last-child{border-right:0}
.corte__tabs button[aria-selected="true"]{background:var(--tinta);color:var(--cal)}
.hs{cursor:pointer;outline:none}
.hs circle.o{fill:var(--sol);stroke:var(--tinta);stroke-width:1.5;transition:r .3s}
.hs:hover circle.o,.hs:focus-visible circle.o,.hs.on circle.o{r:13}
.hs text{font-family:var(--f-mono);font-size:11px;font-weight:600;fill:var(--tinta);pointer-events:none}
.corte__txt{position:sticky;top:calc(var(--hdr) + 20px)}
.corte__pasos{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea-2)}
.corte__pasos li{border-bottom:1px solid var(--linea);padding:14px 0;display:grid;grid-template-columns:34px 1fr;gap:10px;transition:opacity .3s;opacity:.5;cursor:pointer}
.corte__pasos li.on{opacity:1}
.corte__pasos li .num{font-size:.74rem;color:var(--sol-osc);padding-top:3px}
.corte__pasos h4{margin:0 0 4px;font-size:1.05rem;font-weight:560}
.corte__pasos p{margin:0;font-size:.9rem;color:var(--fg-2)}
@media (max-width:900px){.corte{grid-template-columns:1fr}.corte__txt{position:relative;top:0}}

/* hoja de día (¿batería?) */
.hoja{border:1px solid var(--linea-2);background:color-mix(in srgb,var(--bg) 85%,#000 0%)}
.hoja__top{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--linea-2)}
.hoja__cinta{position:relative;padding:12px 18px 0}
.hoja__cinta svg{width:100%;height:auto;display:block;overflow:visible}
.hoja__apar{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0;border-top:1px solid var(--linea-2)}
.apar{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-right:1px solid var(--linea);border-bottom:1px solid var(--linea);min-width:0}
.apar__n{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.92rem;font-weight:520}
.apar__n i{width:10px;height:10px;border-radius:2px;flex:none}
.apar__h{display:flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:.74rem}
.apar__h button{width:30px;height:30px;border:1px solid var(--linea-2);background:transparent;border-radius:50%;line-height:1;padding:0;font-size:.9rem}
.apar__h button:hover{background:var(--tinta);color:var(--cal)}
.apar__h output{min-width:5.2em;text-align:center}
.apar small{font-size:.74rem;color:var(--fg-2)}
.apar.off{opacity:.45}
.apar label.sw{font-family:var(--f-mono);font-size:.62rem;text-transform:uppercase;display:flex;gap:6px;align-items:center;color:var(--fg-2)}
.hoja__res{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.4fr);border-top:1px solid var(--linea-2)}
.hoja__res>div{padding:16px 18px;border-right:1px solid var(--linea);min-width:0}
.hoja__res>div:last-child{border-right:0}
.hoja__res b{display:block;font-family:var(--f-mono);font-weight:250;font-size:clamp(1.6rem,1rem + 1.6vw,2.4rem);letter-spacing:-.05em;font-stretch:78%;line-height:1;margin-top:6px}
.hoja__res .veredicto{font-size:1.02rem;line-height:1.35}
.hoja__res .veredicto strong{font-weight:620}
@media (max-width:820px){.hoja__res{grid-template-columns:1fr 1fr}.hoja__res>div:nth-child(2){border-right:0}.hoja__res .veredicto{grid-column:1/-1;border-top:1px solid var(--linea)}}

.comp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--linea-2)}
.comp article{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:20px;padding:24px 24px 24px 0;border-bottom:1px solid var(--linea);min-width:0}
.comp article:nth-child(odd){border-right:1px solid var(--linea)}
.comp article:nth-child(even){padding-left:24px}
.comp .art{--ratio:1/1}
.comp h3{font-size:1.35rem;font-stretch:86%;margin:4px 0 8px}
.comp p{margin:0 0 12px;font-size:.9rem;color:var(--fg-2)}
@media (max-width:900px){.comp{grid-template-columns:1fr}.comp article{border-right:0!important;padding-left:0!important}}
@media (max-width:480px){.comp article{grid-template-columns:1fr}}

.garant{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--linea-2);border-left:1px solid var(--linea)}
.garant>div{padding:22px 20px;border-right:1px solid var(--linea);border-bottom:1px solid var(--linea);min-width:0}
.garant b{display:block;font-family:var(--f-mono);font-weight:250;font-size:clamp(2.4rem,1.6rem + 2vw,3.6rem);letter-spacing:-.06em;line-height:.9;font-stretch:76%}
.garant b small{font-size:.32em;letter-spacing:0;margin-left:4px}
.garant h4{margin:14px 0 6px;font-size:1.05rem;font-weight:580}
.garant p{margin:0;font-size:.88rem;color:var(--fg-2)}
@media (max-width:820px){.garant{grid-template-columns:1fr 1fr}}

/* =========== CASAS · casa gemela =========== */
.sil{position:relative}
.sil input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;z-index:2}
.sil span{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 8px;border:1px solid var(--linea-2);font-family:var(--f-mono);font-size:.58rem;text-transform:uppercase;text-align:center;transition:background .2s,color .2s;line-height:1.2}
.sil svg{width:100%;height:auto;max-width:64px}
.sil input:checked+span{background:var(--tinta);color:var(--cal)}
.sil input:focus-visible+span{outline:2px solid var(--sol-osc);outline-offset:2px}
.gem__match .bar{flex:1;height:4px;background:var(--linea);position:relative}
.gem__match .bar i{position:absolute;inset:0 auto 0 0;background:var(--sol);transition:width .8s var(--ease)}
.facturas{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fact{border:1px dashed var(--linea-2);padding:10px 12px;font-family:var(--f-mono);font-size:.64rem;text-transform:uppercase;color:var(--fg-2);position:relative;background:repeating-linear-gradient(0deg,transparent 0 17px,var(--linea) 17px 18px)}
.fact b{display:block;font-size:1.5rem;font-weight:300;letter-spacing:-.05em;color:var(--fg);text-transform:none;font-stretch:78%;margin-top:4px}
.fact--d{border-style:solid;border-color:var(--sol-osc)}
.fact--d b{color:var(--teja-osc)}

.archivo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px) clamp(14px,2vw,24px)}
.vcard.dim{opacity:.32;filter:grayscale(.6)}
.vcard.match .art{box-shadow:0 0 0 3px var(--sol)}
.vcard .ahorro{font-family:var(--f-mono);font-size:.74rem;margin-top:10px;color:var(--fg)}
.vcard .ahorro s{color:var(--fg-2)}
@media (max-width:900px){.archivo{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.archivo{grid-template-columns:1fr}}

/* diálogo ficha de vivienda */

/* =========== PROCESO =========== */
.exp{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,3vw,48px);align-items:start}
.exp>*{min-width:0}
.exp__tabs{display:flex;flex-direction:column;border-top:1px solid var(--linea-2);position:sticky;top:calc(var(--hdr) + 20px)}
.exp__tabs button{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:baseline;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--linea);padding:14px 4px;transition:background .2s,padding .3s var(--ease)}
.exp__tabs button .num{font-size:.72rem;color:var(--fg-2)}
.exp__tabs button span:nth-child(2){font-size:1.05rem;font-weight:520}
.exp__tabs button small{font-family:var(--f-mono);font-size:.62rem;color:var(--fg-2);text-transform:uppercase}
.exp__tabs button[aria-selected="true"]{background:var(--tinta);color:var(--cal);padding-left:14px}
.exp__tabs button[aria-selected="true"] .num,.exp__tabs button[aria-selected="true"] small{color:var(--sol-2)}
.doc{position:relative;background:var(--blanco);border:1px solid var(--linea-2);padding:clamp(22px,3vw,40px);min-height:420px}
.doc::after{content:"";position:absolute;right:0;top:0;width:44px;height:44px;background:linear-gradient(225deg,var(--bg) 50%,var(--cal-3) 50%)}
.doc__h{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.66rem;text-transform:uppercase;color:var(--fg-2);border-bottom:2px solid var(--tinta);padding-bottom:12px;margin-bottom:22px}
.doc h3{font-size:clamp(1.6rem,1rem + 1.6vw,2.5rem);font-stretch:82%;margin-bottom:14px}
.doc p{color:var(--fg-2);max-width:60ch}
.doc__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--linea);margin-top:22px}
.doc__g>div{padding:12px 12px 12px 0;border-right:1px solid var(--linea);min-width:0}
.doc__g>div:last-child{border-right:0}
.doc__g dt{font-family:var(--f-mono);font-size:.62rem;text-transform:uppercase;color:var(--fg-2);margin-bottom:4px}
.doc__g dd{margin:0;font-size:.95rem}
.sello{position:absolute;right:clamp(18px,3vw,40px);bottom:clamp(18px,3vw,36px);width:96px;height:96px;border:2px solid var(--teja);border-radius:50%;display:grid;place-items:center;text-align:center;font-family:var(--f-mono);font-size:.58rem;text-transform:uppercase;color:var(--teja);transform:rotate(-14deg);line-height:1.25;opacity:.85}
@media (max-width:900px){.exp{grid-template-columns:1fr}.exp__tabs{position:relative;top:0}}
@media (max-width:560px){.doc__g{grid-template-columns:1fr}.doc__g>div{border-right:0;border-bottom:1px solid var(--linea)}.sello{display:none}}

.plazo{border:1px solid var(--linea-2);background:var(--blanco)}
.plazo__top{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:end;justify-content:space-between;padding:18px;border-bottom:1px solid var(--linea-2)}
.plazo__cal{overflow-x:auto;padding:18px 18px 8px}
.plazo__cal svg{min-width:760px;width:100%;height:auto}
.plazo__lista{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--linea-2)}
.plazo__lista>div{padding:14px 16px;border-right:1px solid var(--linea);min-width:0}
.plazo__lista>div:last-child{border-right:0}
.plazo__lista b{display:block;font-size:1.25rem;font-stretch:84%;font-weight:560;margin-top:4px}
@media (max-width:760px){.plazo__lista{grid-template-columns:1fr 1fr}.plazo__lista>div:nth-child(2){border-right:0}}

.ibi{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,3vw,48px);align-items:start}
.ibi>*{min-width:0}
.ibi__res{border:1px solid var(--linea-2);background:var(--blanco);padding:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ibi__res>div{min-width:0}
.ibi__res b{display:block;font-family:var(--f-mono);font-weight:250;font-size:clamp(1.8rem,1rem + 1.8vw,2.7rem);letter-spacing:-.05em;line-height:1;font-stretch:78%;margin-top:6px}
.ibi__res p{grid-column:1/-1;margin:0;font-size:.86rem;color:var(--fg-2);border-top:1px solid var(--linea);padding-top:14px}
.sel{appearance:none;-webkit-appearance:none;width:100%;border:0;border-bottom:1.5px solid var(--linea-2);background:transparent 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='%2315182A' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 4px center;padding:10px 24px 10px 0;font-size:1.1rem;border-radius:0}
.sel:focus{outline:none;border-color:var(--sol-osc)}
@media (max-width:900px){.ibi{grid-template-columns:1fr}}
@media (max-width:520px){.ibi__res{grid-template-columns:1fr}}

.faq{border-top:1px solid var(--linea-2)}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 32px;gap:16px;align-items:center;padding:20px 0;font-size:clamp(1.1rem,1rem + .5vw,1.4rem);font-weight:520;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:22px;height:22px;justify-self:end;background:linear-gradient(currentColor,currentColor) center/14px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 14px no-repeat;transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .r{padding:0 0 22px;max-width:66ch;color:var(--fg-2)}
.faq .r p{margin:0 0 .8em}

/* =========== EMPRESA =========== */
.hist{position:relative}
.hist__linea{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--linea-2)}
.hist__linea>div{padding:18px 18px 0 0;min-width:0;position:relative}
.hist__linea>div::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--fg)}
.hist__linea .num{font-size:1.4rem;font-weight:300;letter-spacing:-.04em}
.hist__linea p{margin:8px 0 0;font-size:.9rem;color:var(--fg-2)}
@media (max-width:900px){.hist__linea{grid-template-columns:1fr 1fr;row-gap:24px}}
.equipo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.persona{min-width:0}
.persona .art{--ratio:3/4}
.persona h3{font-size:1.25rem;font-stretch:86%;margin-top:14px;font-weight:580}
.persona .rol{font-family:var(--f-mono);font-size:.64rem;text-transform:uppercase;color:var(--fg-2);margin-top:4px}
.persona p{font-size:.88rem;color:var(--fg-2);margin:8px 0 0}
.equipo .persona:nth-child(4n+2){margin-top:48px}.equipo .persona:nth-child(4n+4){margin-top:24px}
@media (max-width:900px){.equipo{grid-template-columns:1fr 1fr}.equipo .persona{margin-top:0!important}}
.taller{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,48px);align-items:center}
.taller>*{min-width:0}
.taller .art{--ratio:16/9}
@media (max-width:900px){.taller{grid-template-columns:1fr}}
.cert{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--linea-2);border-left:1px solid var(--linea)}
.cert>div{flex:1 1 220px;padding:18px;border-right:1px solid var(--linea);border-bottom:1px solid var(--linea);min-width:0}
.cert b{display:block;font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;margin-bottom:6px}
.cert span{font-size:.88rem;color:var(--fg-2)}

/* =========== VISITA (contacto) =========== */
.vis{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,48px);align-items:start}
.vis>*{min-width:0}
.prog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:30px}
.prog button{background:transparent;border:0;padding:10px 0 0;text-align:left;font-family:var(--f-mono);font-size:.64rem;text-transform:uppercase;color:var(--fg-2);border-top:3px solid var(--linea);transition:border-color .3s,color .3s;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prog button.done{border-color:var(--tinta);color:var(--fg)}
.prog button.cur{border-color:var(--sol);color:var(--fg)}
.prog button:disabled{cursor:default}
.paso{display:none;flex-direction:column;gap:26px;animation:pagein .5s var(--ease)}
.paso.on{display:flex}
.paso h2{font-size:clamp(1.7rem,1rem + 1.8vw,2.6rem);font-stretch:82%}
.paso__nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--linea)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px}
.f2 .full{grid-column:1/-1}
@media (max-width:600px){.f2{grid-template-columns:1fr}}
.cal-w{border:1px solid var(--linea-2);background:var(--blanco)}
.cal-w__h{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--linea-2);font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase}
.cal-w__h button{width:34px;height:34px;border-radius:50%;border:1px solid var(--linea-2);background:transparent}
.cal-w__h button:disabled{opacity:.3}
.cal-dias{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.cal-dia{border-right:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:10px 8px;min-width:0;display:flex;flex-direction:column;gap:6px}
.cal-dia:nth-child(6n){border-right:0}
.cal-dia__h{font-family:var(--f-mono);font-size:.62rem;text-transform:uppercase;color:var(--fg-2);display:flex;justify-content:space-between}
.cal-dia__h b{color:var(--fg);font-size:.95rem;font-weight:500}
.slot{display:block;width:100%;border:1px solid var(--linea-2);background:transparent;padding:6px 4px;font-family:var(--f-mono);font-size:.66rem;border-radius:var(--r);transition:background .2s,color .2s}
.slot:hover:not(:disabled){border-color:var(--tinta)}
.slot[aria-pressed="true"]{background:var(--sol);border-color:var(--tinta);color:var(--tinta)}
.slot:disabled{border-style:dashed;color:var(--sombra-2);text-decoration:line-through;cursor:not-allowed;background:repeating-linear-gradient(135deg,transparent 0 4px,var(--linea) 4px 5px)}
@media (max-width:640px){.cal-dias{grid-template-columns:repeat(3,minmax(0,1fr))}.cal-dia:nth-child(6n){border-right:1px solid var(--linea)}.cal-dia:nth-child(3n){border-right:0}}
.cal-nota{font-size:.8rem;color:var(--fg-2);padding:10px 14px;display:flex;gap:8px;align-items:center}
.parte{position:sticky;top:calc(var(--hdr) + 16px);background:var(--blanco);border:1px solid var(--linea-2);font-size:.9rem;grid-template-columns:1fr auto;gap:4px 12px;padding:16px;border-bottom:2px solid var(--tinta)}
.parte__logo{height:15px;width:auto}
.parte__h .num{font-size:.7rem;text-align:right;color:var(--fg-2)}
.parte dl{margin:0}
.parte dl>div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:10px 16px;border-bottom:1px solid var(--linea)}
.parte dt{font-family:var(--f-mono);font-size:.6rem;text-transform:uppercase;color:var(--fg-2);padding-top:3px}
.parte dd{margin:0;min-height:1.3em;overflow-wrap:anywhere}
.parte dd.vacio{color:var(--sombra-2);background:repeating-linear-gradient(0deg,transparent 0 1.25em,var(--linea) 1.25em calc(1.25em + 1px))}
.parte__f{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-family:var(--f-mono);font-size:.6rem;text-transform:uppercase;color:var(--fg-2)}
.parte__f div{border-top:1px solid var(--linea-2);padding-top:6px;height:46px}
@media (max-width:1000px){.vis{grid-template-columns:1fr}.parte{position:relative;top:0}}
.conf{display:none;flex-direction:column;gap:18px;align-items:flex-start}
.conf.on{display:flex;animation:pagein .6s var(--ease)}
.conf__code{font-family:var(--f-mono);font-size:clamp(1.8rem,1rem + 2.4vw,3rem);font-weight:300;letter-spacing:-.03em;padding:14px 18px;border:2px dashed var(--tinta);font-stretch:80%}
.conf small{color:var(--fg-2);font-size:.78rem}
.datos-c{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--linea-2)}
.datos-c>div{padding:20px 20px 0 0;min-width:0}
.datos-c b{display:block;font-family:var(--f-mono);font-size:.64rem;text-transform:uppercase;color:var(--fg-2);margin-bottom:8px;font-weight:500}
.datos-c a{text-decoration:none;border-bottom:1px solid var(--linea-2)}
.datos-c p{margin:0}
.plano{border:1px solid var(--linea-2);margin-top:30px;background:var(--cal-2);position:relative}
.plano svg{width:100%;height:auto}
@media (max-width:820px){.datos-c{grid-template-columns:1fr 1fr;row-gap:20px}}

/* =========== LEGAL =========== */
.legal{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(24px,4vw,64px);align-items:start}
.legal>*{min-width:0}
.legal__nav{position:sticky;top:calc(var(--hdr) + 24px);display:flex;flex-direction:column;gap:0;border-top:1px solid var(--linea-2)}
.legal__nav a{font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--linea);color:var(--fg-2)}
.legal__nav a[aria-current="page"]{color:var(--fg)}
.legal__nav a[aria-current="page"]::before{content:"● ";color:var(--sol-osc)}
.legal__nav .sub{padding-left:14px;font-size:.64rem;text-transform:none}
.legal__c{max-width:72ch}
.legal__c h2{font-size:clamp(1.4rem,1rem + 1vw,1.9rem);font-stretch:86%;margin:2.2em 0 .7em;scroll-margin-top:calc(var(--hdr) + 20px)}
.legal__c h2:first-child{margin-top:0}
.legal__c p,.legal__c li{color:var(--fg-2)}
.legal__c table{width:100%;border-collapse:collapse;font-size:.88rem;margin:1em 0 1.6em;display:block;overflow-x:auto}
.legal__c th,.legal__c td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--linea);vertical-align:top;min-width:120px}
.legal__c th{font-family:var(--f-mono);font-size:.64rem;text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--linea-2)}
@media (max-width:820px){.legal{grid-template-columns:1fr}.legal__nav{position:relative;top:0}}

/* ---------- utilidades ---------- */
.mt-s{margin-top:18px}.mt-m{margin-top:36px}.mt-l{margin-top:clamp(48px,6vw,90px)}
.flex{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.nota{font-family:var(--f-mono);font-size:.66rem;color:var(--fg-2);line-height:1.6}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .rv-sombra>*{clip-path:none}
}
button.chip{background:none;border:0;padding:0;color:inherit}
button.chip[aria-pressed="true"] span{background:var(--tinta);color:var(--cal);border-color:var(--tinta)}
button.chip:focus-visible{outline:none}
button.chip:focus-visible span{outline:2px solid var(--sol-osc);outline-offset:2px}
.carta.is-drag{cursor:ns-resize}
.carta svg{cursor:crosshair}
.fld .chip,.fld label.chip{font-family:var(--f-disp);font-size:inherit;text-transform:none;letter-spacing:0;color:var(--fg)}
@media (max-width:700px){.sh{grid-template-columns:1fr;gap:18px}}
@media (max-width:900px){.hero .lectura{margin-top:min(420px,52svh)}}
.recibos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.recibo{position:relative;background:#FFFFFF;padding:16px 16px 22px;font-family:var(--f-mono);font-size:.64rem;color:#4A5A60;display:flex;flex-direction:column;gap:6px;-webkit-mask:radial-gradient(circle 5px at 50% 100%,transparent 98%,#000) 0 0/12px 100% repeat-x;mask:radial-gradient(circle 5px at 50% 100%,transparent 98%,#000) 0 0/12px 100% repeat-x;transform:rotate(-1.2deg)}
.recibo--d{transform:rotate(1deg);background:#E8F6F5}
.recibo span{display:flex;justify-content:space-between;gap:8px}
.recibo i{font-style:normal;color:var(--tinta)}
.recibo__h{text-transform:uppercase;border-bottom:1px dashed var(--linea-2);padding-bottom:8px;color:var(--tinta)}
.recibo b{font-weight:300;font-size:clamp(1.8rem,1.2rem + 1.6vw,2.6rem);letter-spacing:-.05em;color:var(--tinta);border-top:1px dashed var(--linea-2);padding-top:8px;margin-top:4px;font-stretch:78%}
.recibo--d b{color:var(--teja-osc)}
.recibo__p{position:absolute;right:12px;bottom:14px;text-transform:uppercase;border:1.5px solid currentColor;padding:3px 6px;transform:rotate(-8deg);color:var(--teja)}
.recibo--d .recibo__p{color:var(--verde)}
.hoja__cinta{overflow-x:auto}
@media (max-width:700px){.hoja__cinta svg{min-width:720px}}
input[type=checkbox],input[type=radio]{accent-color:var(--teja)}
.hdr--inv:not(.is-solid) .nav a:not(.btn){color:var(--cal)}
.persona__dato{font-family:var(--f-mono);font-size:.66rem!important;color:var(--teja-osc)!important;border-top:1px solid var(--linea);padding-top:8px;margin-top:10px!important}

.casos__main{display:flex;flex-direction:column;min-width:0}
.casos__main .recibos{margin:-120px 24px 0 auto;width:min(520px,86%);position:relative;z-index:2}
.casos .caso-g--v .art{--ratio:1/1}
@media (min-width:901px){.casos__col{padding-top:60px}}
@media (max-width:700px){.casos__main .recibos{margin:-60px 8px 0;width:auto}}
.recibo i{white-space:nowrap}
.cierre-sec{padding-bottom:clamp(56px,7vw,96px)}
.cierre-sec::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40px;background:radial-gradient(60px 60px at 70% 100%,var(--sol) 98%,transparent) ,linear-gradient(var(--teja-osc),var(--teja-osc)) 0 100%/100% 2px no-repeat;opacity:.9}
.sh__h .hora{display:flex;align-items:flex-end;gap:12px}
@media (max-width:900px){
  .reloj__tip{left:50%!important;top:auto!important;bottom:6px;transform:translateX(-50%);font-size:.58rem}
  .hero__lead p{font-size:1rem;margin-bottom:16px}
  .hero__cta .btn--linea{display:none}
  .hero .lectura{margin-top:min(380px,48svh)}
}
@media (max-width:900px){.hero.is-noche .reloj__tip{display:none}}
.casos__main .caso-g__img .recibos{position:absolute;right:18px;bottom:-70px;margin:0;width:min(470px,80%)}
.casos__main .caso-g__meta{margin-top:90px}
@media (max-width:700px){.casos__main .caso-g__img .recibos{position:relative;right:auto;bottom:auto;width:auto;margin:-50px 8px 0}.casos__main .caso-g__meta{margin-top:14px}}
.sec{overflow-x:clip}
@media (max-width:700px){.casos__main .caso-g__img .recibos{margin-top:-24px}.recibo b{font-size:1.5rem;padding-right:60px}}
.casos__main .caso-g__img .recibos{bottom:-110px;right:-10px;width:min(430px,72%)}
.casos__main .caso-g__meta{margin-top:120px;max-width:52%}
@media (max-width:900px){.casos__main .caso-g__meta{max-width:none}}
@media (max-width:700px){.casos__main .caso-g__img .recibos{bottom:auto;right:auto;width:auto;margin-top:8px}.casos__main .caso-g__meta{margin-top:14px}}
.casos__main .caso-g__img .recibos{bottom:-160px;right:-14px;width:min(480px,82%)}
.casos__main .caso-g__meta{margin-top:24px;max-width:38%}
.recibo b{white-space:nowrap}
@media (max-width:900px){.casos__main .caso-g__meta{max-width:none;margin-top:180px}}
@media (max-width:700px){.casos__main .caso-g__img .recibos{bottom:auto;right:auto;width:auto;margin-top:8px}.casos__main .caso-g__meta{margin-top:14px}}
.casos__main .caso-g__meta{grid-template-columns:1fr;max-width:44%}
.casos__main .caso-g__meta .num{text-align:left}
@media (max-width:900px){.casos__main .caso-g__meta{max-width:none}}

/* ===== v2: portada con cálculo ===== */
.inicio{padding:calc(var(--hdr) + clamp(36px,6vw,90px)) 0 clamp(56px,7vw,100px);background:var(--cal)}
.inicio__g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);align-items:start}
.inicio__g>*{min-width:0}
.inicio__txt{display:flex;flex-direction:column;gap:24px}
.inicio__txt .lead{max-width:46ch;color:var(--fg-2)}
.calc{background:var(--blanco);border:1px solid var(--linea-2);box-shadow:0 30px 60px -30px rgba(18,24,38,.25)}
.calc__h{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--linea-2);font-family:var(--f-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-2)}
.calc__b{padding:18px;display:flex;flex-direction:column;gap:18px;border-bottom:1px solid var(--linea)}
.calc__rng{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
.calc__rng .rng-v{min-width:4.2ch;text-align:right}
.calc .chip span{padding:.55em .8em;font-size:.86rem}
.sw2{display:flex;gap:10px;align-items:center;font-size:.9rem;color:var(--fg-2)}
.sw2 input{width:18px;height:18px}
.calc__r{padding:18px;display:flex;flex-direction:column;gap:14px;background:color-mix(in srgb,var(--cal) 60%,var(--blanco))}
.calc__v{margin:0;font-size:clamp(1.5rem,1rem + 1.2vw,2rem);font-weight:600;font-stretch:84%;letter-spacing:-.02em;line-height:1.05;display:flex;gap:10px;align-items:center}
.calc__v::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--sombra-2);flex:none}
.calc__v[data-v="si"]::before{background:var(--sol)}
.calc__v[data-v="justo"]::before{background:linear-gradient(90deg,var(--sol) 50%,var(--teja) 50%)}
.calc__v[data-v="no"]::before{background:var(--teja)}
.calc__n{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--linea-2)}
.calc__n>div{padding:12px 10px 0 0;min-width:0}
.calc__n dt{font-family:var(--f-mono);font-size:.6rem;text-transform:uppercase;color:var(--fg-2);letter-spacing:.03em}
.calc__n dd{margin:4px 0 0;font-family:var(--f-mono);font-weight:300;font-size:clamp(1.2rem,.9rem + 1vw,1.7rem);letter-spacing:-.05em;font-stretch:80%;white-space:nowrap}
.calc__s{margin:0;font-size:.88rem;color:var(--fg-2)}
@media (max-width:980px){.inicio__g{grid-template-columns:1fr}}
.factores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--linea-2)}
.factores article{padding:22px 22px 6px 0;border-right:1px solid var(--linea);display:flex;flex-direction:column;gap:12px;min-width:0}
.factores article+article{padding-left:22px}
.factores article:last-child{border-right:0}
.factores__k{font-family:var(--f-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.04em;color:var(--sol-osc)}
.factores h3{font-size:1.35rem;font-stretch:86%;letter-spacing:-.015em;line-height:1.08}
.factores p{margin:0;font-size:.92rem;color:var(--fg-2);flex:1}
@media (max-width:980px){.factores{grid-template-columns:1fr 1fr}.factores article:nth-child(2){border-right:0}.factores article:nth-child(3){padding-left:0}.factores article{padding-bottom:22px;border-bottom:1px solid var(--linea)}}
@media (max-width:560px){.factores{grid-template-columns:1fr}.factores article{padding-left:0!important;border-right:0}}
.hero--sec{min-height:auto;padding:clamp(70px,9vw,120px) 0 28px;--hero-bg:#F5F7F6}
.hero--sec .reloj{top:0}
.hero--sec .hero__top{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.hero--sec .lectura{margin-top:clamp(320px,46vh,460px)}
.pie__sel{background:transparent;border:0;border-bottom:1px solid rgba(242,241,237,.3);color:var(--cal);font-family:var(--f-mono);font-size:.7rem;padding:2px 0}
.pie__sel option{color:#0C1B22}
/* ===== v2: rentabilidad ===== */
.rent{display:grid;grid-template-columns:minmax(0,4.5fr) minmax(0,7.5fr);gap:clamp(24px,3.5vw,56px);align-items:start;border-top:1px solid var(--linea-2);padding-top:clamp(24px,3vw,40px)}
.rent>*{min-width:0}
.rent__in{display:flex;flex-direction:column;gap:22px;position:sticky;top:calc(var(--hdr) + 16px)}
.rent__in .chip span{padding:.55em .8em;font-size:.86rem}
.rent__out{display:flex;flex-direction:column;gap:22px}
.rent__ver{display:flex;flex-direction:column;gap:8px}
.rent__ver .calc__v{font-size:clamp(1.8rem,1.1rem + 1.8vw,2.8rem)}
.rent__ver .calc__s{font-size:1rem;max-width:60ch}
.rent__kpi{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--linea-2);border-bottom:1px solid var(--linea-2)}
.rent__kpi>div{padding:16px 14px 16px 0;min-width:0;border-right:1px solid var(--linea)}
.rent__kpi>div+div{padding-left:14px}
.rent__kpi>div:last-child{border-right:0}
.rent__kpi dt{font-family:var(--f-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-2)}
.rent__kpi dd{margin:6px 0 4px;font-family:var(--f-mono);font-weight:300;font-size:clamp(1.4rem,1rem + 1.2vw,2.1rem);letter-spacing:-.05em;font-stretch:78%;white-space:nowrap}
.rent__kpi small{font-size:.76rem;color:var(--fg-2);display:block}
@media (max-width:760px){.rent__kpi{grid-template-columns:1fr 1fr}.rent__kpi>div:nth-child(2){border-right:0}.rent__kpi>div:nth-child(3){padding-left:0}.rent__kpi>div:nth-child(-n+2){border-bottom:1px solid var(--linea)}}
.rent__fin{padding:14px 16px;background:var(--blanco);border-left:3px solid var(--sol);font-size:.95rem}
.rent__ch{margin:0;display:flex;flex-direction:column;gap:8px}
.rent__ch figcaption{font-size:.84rem;color:var(--fg-2)}
.rent__ch svg{width:100%;height:auto;display:block}
.ch-g{stroke:var(--linea)}.ch-0{stroke:var(--fg);stroke-opacity:.6}
.ch-t{font-family:var(--f-mono);font-size:10px;fill:var(--fg-2)}
.ch-tb{fill:var(--fg);font-weight:600}
.ch-neg{fill:var(--sombra-2)}.ch-pos{fill:var(--sol)}.ch-ant{fill:var(--cal-3)}
.ch-pay{stroke:var(--fg);stroke-dasharray:3 3}
@media (max-width:1000px){.rent{grid-template-columns:1fr}.rent__in{position:relative;top:0}}
.sup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.sup>*{min-width:0}
@media (max-width:860px){.sup{grid-template-columns:1fr}}
.tabla{width:100%;border-collapse:collapse;font-size:.92rem}
.tabla th,.tabla td{text-align:left;padding:12px 12px 12px 0;border-bottom:1px solid var(--linea);vertical-align:top}
.tabla tbody th{font-weight:400;color:var(--fg-2)}
.tabla td{font-family:var(--f-mono);font-size:.8rem}
.tabla thead th{font-family:var(--f-mono);font-size:.62rem;text-transform:uppercase;font-weight:500;color:var(--fg-2);border-bottom:1px solid var(--linea-2)}
.tabla--esc tbody tr:nth-child(2){background:var(--cal)}
.perfiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.perf-c{position:relative;background:var(--blanco);border:1px solid var(--linea);padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0;transition:box-shadow .3s,border-color .3s}
.perf-c__m{font-family:var(--f-mono);font-size:.62rem;text-transform:uppercase;color:var(--fg-2);letter-spacing:.03em}
.perf-c h3{font-size:1.15rem;font-stretch:88%;font-weight:560;letter-spacing:-.01em}
.perf-c__f{display:flex;flex-direction:column;gap:8px}
.perf-c__f>div{display:grid;grid-template-columns:52px 1fr;gap:4px 10px;align-items:center}
.perf-c__f small{font-family:var(--f-mono);font-size:.6rem;text-transform:uppercase;color:var(--fg-2)}
.perf-c__f b{grid-column:2;grid-row:1;justify-self:end;font-family:var(--f-mono);font-weight:400;font-size:.9rem}
.perf-c__f i{grid-column:1/-1;height:6px;background:var(--cal-3);display:block}
.perf-c__f>div+div i{background:var(--sol)}
.perf-c__d{margin:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;border-top:1px solid var(--linea);padding-top:10px}
.perf-c__d dt{font-family:var(--f-mono);font-size:.56rem;text-transform:uppercase;color:var(--fg-2)}
.perf-c__d dd{margin:2px 0 0;font-size:.8rem}
.perf-c__tag{display:none;position:absolute;top:-11px;left:14px;background:var(--tinta);color:var(--cal);font-family:var(--f-mono);font-size:.58rem;text-transform:uppercase;padding:4px 8px;letter-spacing:.03em}
.perf-c.is-match{border-color:var(--tinta);box-shadow:0 0 0 1px var(--tinta)}
.perf-c.is-match .perf-c__tag{display:block}
@media (max-width:1000px){.perfiles{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.perfiles{grid-template-columns:1fr}}
.sombras-op{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.sop{text-align:left;background:var(--blanco);border:1px solid var(--linea-2);padding:14px 14px 12px;display:flex;flex-direction:column;gap:4px;border-radius:var(--r);transition:border-color .2s,background .2s}
.sop b{font-weight:600;font-size:.98rem}
.sop span{font-size:.82rem;color:var(--fg-2)}
.sop:hover{border-color:var(--tinta)}
.sop[aria-pressed="true"]{background:var(--tinta);color:var(--cal);border-color:var(--tinta)}
.sop[aria-pressed="true"] span{color:#B7C6C9}
.sombra-res{margin:18px 0 0;padding:14px 16px;border-left:3px solid var(--sol);background:var(--blanco);font-size:.98rem}
.afinar{margin-top:22px;border-top:1px solid var(--linea)}
.afinar summary{cursor:pointer;padding:14px 0;font-weight:560;list-style:none;display:flex;gap:10px;align-items:baseline}
.afinar summary::before{content:"+";font-family:var(--f-mono);color:var(--sol-osc)}
.afinar[open] summary::before{content:"−"}
.afinar summary small{font-weight:400;color:var(--fg-2)}
.afinar .txt{margin:0 0 16px;font-size:.92rem}
.deleg{margin-top:clamp(40px,5vw,70px);display:flex;flex-direction:column;gap:18px}
.deleg ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--linea-2)}
.deleg li{padding:14px 14px 14px 0;border-bottom:1px solid var(--linea);display:flex;flex-direction:column;gap:2px;min-width:0}
.deleg li b{font-weight:600}
.deleg li span{font-size:.86rem;color:var(--fg-2)}
@media (max-width:760px){.deleg ul{grid-template-columns:1fr 1fr}}


/* =========================================================
   2.0 · La cuenta, a la vista
   ========================================================= */
/* textos mínimos legibles */
.nota{font-size:max(.75rem,var(--t-xs))}
.inp:focus-visible,.sel:focus-visible,.rng:focus-visible{outline:2px solid var(--foco);outline-offset:2px}
.inp:focus,.sel:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--sol) 30%,transparent)}
.lnk{color:inherit}
.t-claro .lnk,.t-alu .lnk{text-decoration-color:var(--sol)}

/* cabecera: pastilla «Tu cuenta» y botón de visita en móvil */
.cuenta-p{display:inline-flex;align-items:center;gap:10px;padding:7px 12px 7px 10px;border:1px solid var(--linea-2);border-radius:999px;font-family:var(--f-mono);font-size:.72rem;text-decoration:none;white-space:nowrap;background:color-mix(in srgb,var(--cal) 80%,transparent)}
.nav a.cuenta-p::after,.nav a.cuenta-p::before{display:none}
.cuenta-p[hidden]{display:none}
.cuenta-p__k{text-transform:uppercase;color:var(--fg-2);font-size:.66rem}
.cuenta-p b{font-weight:600}
.cuenta-p::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sol);flex:none}
.cuenta-p[data-v="no"]::before{background:var(--teja)}
.cuenta-p[data-v="justo"]::before{background:linear-gradient(90deg,var(--sol) 50%,var(--teja) 50%)}
.nav a.cuenta-p::before{display:block}
.hdr--inv:not(.is-solid) .cuenta-p{background:transparent;border-color:rgba(255,255,255,.35)}
.hdr--inv:not(.is-solid) .cuenta-p__k{color:#A9BCC0}
.cuenta-p--m{margin:22px 0 0;align-self:flex-start;color:var(--cal);background:transparent;border-color:rgba(255,255,255,.3)}
.cuenta-p--m .cuenta-p__k{color:#A9BCC0}
.hdr__visita{display:none;margin-left:auto;font-family:var(--f-mono);font-size:.72rem;text-transform:uppercase;text-decoration:none;background:var(--sol);color:var(--tinta);padding:10px 14px;border-radius:var(--r);font-weight:560}
@media (max-width:1080px){.hdr__visita{display:inline-flex}.burger{margin-left:4px}}
.menu-open .hdr__visita{visibility:hidden}

/* portada: titular, calculadora y notas al margen */
.inicio__g{grid-template-areas:"txt calc" "nt calc";grid-template-rows:auto 1fr}
.inicio__txt{grid-area:txt}
.calc{grid-area:calc;align-self:start}
.inicio__nt{grid-area:nt;display:flex;flex-direction:column;gap:26px;align-self:end}
.inicio__nt .lead{color:var(--fg-2);max-width:46ch;margin:0}
.notas{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--linea-2);max-width:52ch}
.notas li{display:grid;grid-template-columns:4.2em 1fr;gap:14px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--linea);font-size:.92rem;color:var(--fg-2)}
.notas b{font-size:1.15rem;font-weight:600;color:var(--fg);text-align:right}
.notas a{color:var(--sol-osc)}
@media (max-width:980px){.inicio__g{grid-template-areas:"txt" "calc" "nt";grid-template-rows:auto}.inicio{padding-top:calc(var(--hdr) + 20px)}.inicio__txt{gap:16px}.inicio__txt .d1{font-size:clamp(2.1rem,9vw,3rem)}}

/* línea de balance */
.balance-sec__h{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(12px,2vw,28px);align-items:start;margin-bottom:clamp(20px,3vw,36px)}
.balance-sec__h>*{min-width:0}
.balance-sec__h .d3{max-width:30ch}
@media (max-width:760px){.balance-sec__h{grid-template-columns:1fr}}
.balance{margin:0;color:var(--fg)}
.balance svg{width:100%;height:auto;overflow:visible;font-family:var(--f-mono);font-size:13px;fill:currentColor}
.balance svg text{fill:var(--fg-2)}
.balance__p,.balance__a{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease-2)}
.balance__p{stroke:var(--fg)}
.balance__a{stroke:var(--sol);transition-delay:.25s}
.balance.is-on .balance__p,.balance.is-on .balance__a{stroke-dashoffset:0}
.balance__x{opacity:0;transition:opacity .5s 1.6s}
.balance.is-on .balance__x{opacity:1}
.balance__x circle{fill:var(--bg,#fff);stroke:var(--fg);stroke-width:2.5}
.balance__x text{fill:var(--fg)!important;font-weight:600;font-size:15px}
.balance__l1{fill:var(--fg)!important}
.balance__l2{fill:var(--sol-osc)!important;font-weight:600}
.t-celula .balance__l2{fill:var(--sol-2)!important}
.balance figcaption{font-family:var(--f-mono);font-size:.75rem;color:var(--fg-2);margin-top:8px}
@media (max-width:600px){.balance svg{font-size:22px}.balance__x text{font-size:24px}}
.ph .balance{margin-top:clamp(28px,4vw,56px)}

/* cabecera interior con cifra gigante */
.ph--cifra .cifra{margin:0 0 clamp(22px,2.4vw,40px);padding-bottom:.06em;font-family:var(--f-disp);font-weight:760;font-stretch:125%;font-size:clamp(5.5rem,2rem + 17vw,19rem);line-height:.8;letter-spacing:-.06em;display:flex;align-items:baseline;gap:.12em;color:var(--fg)}
.ph--cifra .cifra small{font-size:.22em;font-stretch:100%;font-weight:560;letter-spacing:-.02em;color:var(--sol-osc)}
.ph--cifra h1 [data-hero-caso]{white-space:normal}
.rent__irpf{margin:0;padding:14px 16px;border-left:3px solid var(--sol);background:var(--alu);font-size:.92rem;color:var(--fg-2)}
.rent__irpf b{color:var(--fg)}
.rent__irpf a{color:var(--sol-osc)}
/* plegado de opciones avanzadas */
.avanz{border-top:1px solid var(--linea-2);padding-top:14px;display:flex;flex-direction:column;gap:18px}
.avanz>summary{cursor:pointer;font-family:var(--f-mono);font-size:.78rem;text-transform:uppercase;list-style:none;display:flex;justify-content:space-between;align-items:center}
.avanz>summary::-webkit-details-marker{display:none}
.avanz>summary::after{content:"+";font-size:1.2rem;line-height:1}
.avanz[open]>summary::after{content:"−"}
/* barra fija con el veredicto (móvil) */
.rbar{position:fixed;left:0;right:0;top:0;z-index:59;display:none;align-items:center;gap:12px;padding:10px var(--gut);background:var(--tinta);color:#fff;font-family:var(--f-mono);font-size:.75rem;transform:translateY(-110%);transition:transform .35s var(--ease),top .45s var(--ease)}
.hdr:not(.is-hidden)~main .rbar{top:var(--hdr)}
.rbar b{font-family:var(--f-disp);font-size:.98rem;font-weight:650}
.rbar span{color:#A9BCC0;margin-left:auto}
.rbar a{color:var(--sol-2)}
.rbar.is-on{transform:none}
.rbar[data-v="si"] b{color:var(--sol-2)}
.rbar[data-v="no"] b{color:var(--teja-2)}
@media (max-width:900px){.rbar{display:flex}}

/* modo apagón */
.apagon{margin-top:clamp(40px,5vw,72px);border-top:2px solid var(--fg);padding-top:clamp(20px,2.4vw,32px);display:grid;gap:24px}
.apagon__h{display:grid;gap:12px;max-width:62ch}
.apagon__g{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,4fr);gap:clamp(16px,2.4vw,36px);align-items:start}
.apagon__g>*{min-width:0}
.apagon__c{border:0;margin:0;padding:0}
.apagon__c legend{padding:0;margin-bottom:8px}
.apagon__l{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea-2)}
.apagon__l li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--linea)}
.apagon__l small{font-family:var(--f-mono);font-size:.75rem;color:var(--fg-2);white-space:nowrap}
.apagon__r{background:var(--tinta);color:#fff;padding:clamp(18px,2.4vw,28px);display:grid;gap:8px}
.apagon__k{margin:0;font-family:var(--f-mono);font-size:.75rem;text-transform:uppercase;color:#A9BCC0}
.apagon__v{margin:0;font-size:clamp(2rem,1.2rem + 2.6vw,3.4rem);font-weight:720;font-stretch:115%;letter-spacing:-.04em;line-height:1;color:var(--sol-2)}
.apagon__s{margin:0;font-size:.9rem;color:#D6E0E2}
.apagon__r .nota{color:#A9BCC0;margin:6px 0 0}
@media (max-width:900px){.apagon__g{grid-template-columns:1fr}.apagon__l li{flex-wrap:wrap}}

/* pie: «Tu cuenta, guardada» */
.pie__top>:first-child{display:flex;flex-direction:column;gap:22px}
.logo--pie{margin-bottom:0}
.cuenta-pie{border:1px solid var(--linea-n);padding:clamp(16px,2vw,24px);display:grid;gap:12px;max-width:520px}
.cuenta-pie__k{margin:0;font-family:var(--f-mono);font-size:.75rem;text-transform:uppercase;color:#A9BCC0}
.cuenta-pie__t{margin:0;font-size:clamp(1.5rem,1rem + 1.4vw,2.1rem);font-weight:680;font-stretch:90%;letter-spacing:-.02em;line-height:1}
.cuenta-pie__t[data-v="si"]{color:var(--sol-2)}
.cuenta-pie__t[data-v="no"]{color:var(--teja-2)}
.cuenta-pie__s{margin:0;color:#C9D5D7;font-size:.95rem;max-width:40ch}
.cuenta-pie__n{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin:4px 0}
.cuenta-pie__n dt{font-family:var(--f-mono);font-size:.75rem;color:#A9BCC0}
.cuenta-pie__n dd{margin:2px 0 0;font-size:.95rem}
.cuenta-pie .lnk{color:#fff}
.cuenta-pie .btn{align-self:start}
.pie__prov,.pie__h{color:#A9BCC0;margin:0}
@media (max-width:560px){.cuenta-pie__n{grid-template-columns:1fr 1fr}}

/* menú móvil sin horas */
.mnav a span{display:none}

/* instalaciones: corte a sangre y viviendas en pestañas */
.corte-sec{padding-top:clamp(28px,3vw,44px)}
.packs__tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:2px solid var(--fg);margin-bottom:clamp(24px,3vw,40px)}
.packs__tabs button{background:none;border:0;padding:14px 18px 12px;font-family:var(--f-mono);font-size:.78rem;text-transform:uppercase;color:var(--fg-2);border-bottom:4px solid transparent;margin-bottom:-2px}
.packs__tabs button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--sol);font-weight:600}
.packs__tabs button:hover{color:var(--fg)}
.pack[hidden]{display:none}
@media (max-width:700px){.packs__tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.packs__tabs button{white-space:nowrap;padding:12px 12px 10px}}

/* cómo trabajamos: la pila de documentos */
.ph__lead{margin:22px 0 0;color:var(--fg-2);max-width:48ch;font-size:var(--t-l);line-height:1.45}
.ph--pila .ph__g{align-items:center}
.pila{position:relative;height:clamp(300px,28vw,380px)}
.pila__d{position:absolute;left:calc(var(--i) * 3.6%);top:calc(var(--i) * 15%);width:82%;height:24%;padding:12px 16px;overflow:hidden;background:#fff;border:1px solid var(--linea-2);box-shadow:0 18px 30px -24px rgba(12,27,34,.45);text-decoration:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;transform:rotate(calc((var(--i) - 2.5) * 1.4deg));transition:transform .45s var(--ease),box-shadow .3s}
.pila__d:hover,.pila__d:focus-visible{transform:translateX(-14px) rotate(0);box-shadow:0 26px 40px -22px rgba(12,27,34,.55);z-index:3}
.pila__c{font-family:var(--f-mono);font-size:.75rem;font-weight:600;color:var(--sol-osc);border:1px solid currentColor;padding:4px 6px;line-height:1}
.pila__d b{font-weight:620;font-size:1rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pila__f{font-family:var(--f-mono);font-size:.75rem;color:var(--fg-2)}
.pila__d:last-child{border-color:var(--sol);box-shadow:inset 4px 0 0 var(--sol),0 18px 30px -24px rgba(12,27,34,.45)}
@media (max-width:820px){.pila{height:auto;display:grid;gap:8px}.pila__d{position:relative;left:auto;top:auto;width:100%;transform:none}}
.plazo__irpf{display:flex;gap:18px;align-items:flex-start;padding:18px 20px;margin:4px 0 18px;background:var(--alu);border-left:4px solid var(--sol)}
.plazo__irpf p{margin:0;max-width:70ch;color:var(--fg-2)}
.plazo__irpf b{color:var(--fg)}
.plazo__ok,.plazo__no{flex:none;font-family:var(--f-disp);font-weight:720;font-stretch:118%;font-size:1.5rem;letter-spacing:-.03em;line-height:1;color:var(--sol-osc)}
.plazo__no{color:var(--teja-osc)}
.plazo__irpf:has(.plazo__no){border-left-color:var(--teja)}
@media (max-width:600px){.plazo__irpf{flex-direction:column;gap:8px}}

/* empresa: retrato a sangre */
.ph--retrato{padding-bottom:0}
.ph__foto{margin:clamp(32px,4vw,56px) 0 0;width:100%}
.ph--corta{padding-bottom:clamp(16px,2vw,28px)}

/* visita: hoja con importe 0,00 € y la factura de la luz con placas */
.prog button b{font-weight:600}
.prog button span{margin-left:.5em}
@media (max-width:700px){.prog button span{display:none}.prog button.cur span{display:inline}}
.fra{position:sticky;top:calc(var(--hdr) + 16px);background:#fff;border:1px solid var(--linea-2);font-size:.9rem;display:flex;flex-direction:column}
.fra__h{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border-bottom:2px solid var(--fg)}
.fra__h div{display:grid;justify-items:end;gap:2px}
.fra__h b{font-size:.95rem}
.fra__t{width:100%;border-collapse:collapse}
.fra__t th,.fra__t td{padding:10px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--linea)}
.fra__t thead th{font-family:var(--f-mono);font-size:.75rem;font-weight:500;text-transform:uppercase;color:var(--fg-2)}
.fra__t td:last-child,.fra__t th:last-child{text-align:right;white-space:nowrap}
.fra__t td small{display:block;font-family:var(--f-mono);font-size:.75rem;color:var(--sol-osc);margin-top:2px}
.fra__t td small:empty{display:none}
.fra__t tfoot th,.fra__t tfoot td{font-weight:700;font-size:1.05rem;border-bottom:2px solid var(--fg)}
.fra__d{margin:0;padding:12px 20px;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.fra__d dt{font-family:var(--f-mono);font-size:.75rem;color:var(--fg-2)}
.fra__d dd{margin:2px 0 0;min-height:1.3em}
.fra__d dd.vacio::before{content:"—";color:var(--sombra-2)}
.fra__luz{margin-top:auto;background:var(--alu);padding:16px 20px 18px;display:grid;gap:8px}
.fra__l{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:baseline;font-size:.88rem}
.fra__l s{color:var(--fg-2);font-family:var(--f-mono);font-size:.8rem;text-decoration-color:var(--teja);text-decoration-thickness:2px}
.fra__l b{font-family:var(--f-mono);font-weight:600;min-width:4.5em;text-align:right}
.fra__l--t{border-top:1px solid var(--linea-2);padding-top:8px;font-weight:600}
.fra__l--t b{color:var(--sol-osc);font-size:1.05rem}
.fra__fac{font-family:var(--f-mono);font-size:.75rem;color:var(--fg-2)}
@media (max-width:980px){.fra{position:relative;top:auto}}
.otro{border:1px solid var(--linea-2);padding:14px 16px;margin:4px 0 22px}
.otro>summary{cursor:pointer;font-weight:600;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.otro>summary small{font-family:var(--f-mono);font-size:.75rem;font-weight:400;color:var(--fg-2)}
.otro[open]>summary{margin-bottom:10px}
.fld label small{font-family:var(--f-mono);text-transform:none;color:var(--fg-2);font-size:.9em}

/* jurado · ronda 1 */
.desliza{display:none;margin:0 0 6px;font-family:var(--f-mono);font-size:.75rem;color:var(--fg-2)}
@media (max-width:800px){.desliza{display:block}}
.rent__ch>div{overflow-x:auto}
@media (max-width:700px){.rent__ch svg{min-width:560px}.calc__n{grid-template-columns:1fr 1fr}.calc__n>div:last-child{grid-column:1/-1}}
@media (max-width:820px){.pila__d{height:auto;overflow:visible}}
