/* SIPRECE · vidriera. La pagina es una LAMINA TECNICA: marco, anotaciones al margen y rotulo.
   Paleta y tipografias heredadas del producto (public/styles.css), no inventadas acá. */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

:root{
  --tinta:#0A111C;        /* la lamina */
  --panel:#101B2B;
  --panel2:#16233686;
  --linea:#1E2E44;        /* hairline: el reticulado del plano */
  --linea2:#2A3E59;
  --cian:#38BDF8;         /* acento REAL del producto */
  --cian-2:#0EA5E9;
  --texto:#E2E8F0;
  --muted:#8FA3BC;
  --muted2:#6B7F98;
  /* Semanticos del dominio: verde=economia, rojo=demasia. NO se usan de adorno. */
  --eco:#22C55E; --dem:#EF4444;

  --display:'Rajdhani','Segoe UI Semibold',sans-serif;
  --cuerpo:'Inter','Segoe UI',system-ui,sans-serif;
  --mono:ui-monospace,'Cascadia Mono',Consolas,'DejaVu Sans Mono',monospace;

  --marco:34px;           /* margen de la lamina */
  --ancho:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }

body{
  margin:0; background:var(--tinta); color:var(--texto);
  font-family:var(--cuerpo); font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
  /* reticulado tenue, como papel milimetrado bajo el trazo */
  background-image:
    linear-gradient(var(--linea) 1px, transparent 1px),
    linear-gradient(90deg, var(--linea) 1px, transparent 1px);
  background-size:56px 56px, 56px 56px;
  background-position:-1px -1px;
}
body::before{ /* atenua el reticulado sin matarlo */
  content:''; position:fixed; inset:0; background:var(--tinta); opacity:.86; pointer-events:none; z-index:0;
}
.lamina{position:relative; z-index:1}

img{max-width:100%; display:block}
a{color:var(--cian); text-decoration:none}
:focus-visible{outline:2px solid var(--cian); outline-offset:3px; border-radius:2px}

/* ── marco de la lamina ─────────────────────────────────────── */
.marco{position:fixed; inset:var(--marco); border:1px solid var(--linea); pointer-events:none; z-index:2}
.marco i{position:absolute; width:9px; height:9px; border:1px solid var(--linea2)}
.marco i:nth-child(1){top:-5px;left:-5px} .marco i:nth-child(2){top:-5px;right:-5px}
.marco i:nth-child(3){bottom:-5px;left:-5px} .marco i:nth-child(4){bottom:-5px;right:-5px}
@media (max-width:860px){ .marco{display:none} }

.env{max-width:var(--ancho); margin:0 auto; padding:0 clamp(20px,5vw,64px)}

/* ── anotacion al margen (mono, como nota de plano) ─────────── */
.nota{
  font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted2); display:flex; align-items:center; gap:12px; margin-bottom:18px;
}
.nota::after{content:''; flex:1; height:1px; background:var(--linea); max-width:120px}

/* ── barra superior ─────────────────────────────────────────── */
.top{position:relative; z-index:3; padding:26px 0 0}
.top .env{display:flex; align-items:center; justify-content:space-between; gap:20px}
.marca{display:flex; align-items:center; gap:14px; min-width:0}
.marca img{height:34px; width:auto}
.marca span{font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; color:var(--muted2);
  text-transform:uppercase; border-left:1px solid var(--linea2); padding-left:14px; white-space:nowrap}
@media (max-width:640px){ .marca span{display:none} }

.btn{
  display:inline-flex; align-items:center; gap:9px; font-family:var(--display); font-weight:600;
  font-size:15px; letter-spacing:.06em; text-transform:uppercase; padding:11px 20px;
  border:1px solid var(--cian); color:var(--cian); background:transparent; border-radius:3px;
  cursor:pointer; transition:background .18s ease, color .18s ease; min-height:44px;
}
.btn:hover{background:var(--cian); color:#06263C}
.btn-solido{background:var(--cian); color:#06263C}
.btn-solido:hover{background:#7DD3FC; border-color:#7DD3FC}

/* ── hero ───────────────────────────────────────────────────── */
.hero{padding:clamp(44px,7vw,86px) 0 clamp(40px,6vw,72px)}
.hero .env{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,64px); align-items:center}
@media (max-width:940px){ .hero .env{grid-template-columns:1fr} }

.hero h1{
  font-family:var(--display); font-weight:700; letter-spacing:.005em;
  font-size:clamp(38px,5.6vw,66px); line-height:1.04; margin:0 0 20px; text-wrap:balance;
}
.hero h1 em{font-style:normal; color:var(--cian)}
.hero p{font-size:clamp(16px,1.6vw,18.5px); color:var(--muted); margin:0 0 30px; max-width:52ch}
.acciones{display:flex; gap:12px; flex-wrap:wrap; align-items:center}
.acciones .pie{font-family:var(--mono); font-size:11px; color:var(--muted2); letter-spacing:.08em}

/* lienzo del unifilar */
.lienzo{
  position:relative; border:1px solid var(--linea); background:
    radial-gradient(120% 90% at 50% 0%, #12203300 0%, #0A111C 78%), var(--panel);
  border-radius:4px; overflow:hidden; min-height:340px;
}
.lienzo canvas{display:block; width:100%; height:auto}
.lienzo figcaption{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted2); padding:9px 14px; border-top:1px solid var(--linea); background:#0C1626;
}

/* ── secciones ──────────────────────────────────────────────── */
.sec{padding:clamp(48px,7vw,88px) 0; border-top:1px solid var(--linea)}
.sec h2{
  font-family:var(--display); font-weight:700; font-size:clamp(26px,3.4vw,38px);
  letter-spacing:.01em; margin:0 0 12px; text-wrap:balance;
}
.sec .intro{color:var(--muted); max-width:62ch; margin:0 0 36px; font-size:16.5px}

/* capacidades */
.rejilla{display:grid; grid-template-columns:repeat(auto-fit,minmax(285px,1fr)); gap:1px; background:var(--linea)}
.cap{background:var(--tinta); padding:26px 24px 28px; transition:background .2s ease}
.cap:hover{background:var(--panel)}
.cap .ic{width:26px; height:26px; color:var(--cian); margin-bottom:14px}
.cap h3{font-family:var(--display); font-weight:600; font-size:20px; letter-spacing:.02em; margin:0 0 8px}
.cap p{margin:0; color:var(--muted); font-size:14.8px; line-height:1.62}
.cap .det{
  display:block; margin-top:12px; font-family:var(--mono); font-size:11px; letter-spacing:.06em;
  color:var(--muted2); border-left:2px solid var(--linea2); padding-left:10px;
}

/* medidas: se leen como planilla de cantidades */
.medidas{border:1px solid var(--linea)}
.med{display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:baseline;
  padding:16px 22px; border-bottom:1px solid var(--linea)}
.med:last-child{border-bottom:none}
.med .n{font-family:var(--display); font-weight:700; font-size:clamp(26px,3.2vw,34px);
  color:var(--cian); line-height:1; font-variant-numeric:tabular-nums; min-width:92px}
.med .q{color:var(--texto); font-size:15.5px}
.med .f{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted2); text-align:right; white-space:nowrap}
@media (max-width:700px){
  .med{grid-template-columns:auto 1fr; gap:10px 16px}
  .med .f{grid-column:1/-1; text-align:left}
}

/* flujo: ACA la numeracion es legitima, es una secuencia real */
.flujo{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:26px; counter-reset:paso}
.paso{position:relative; padding-top:22px; border-top:2px solid var(--linea2)}
.paso::before{
  counter-increment:paso; content:counter(paso,decimal-leading-zero);
  position:absolute; top:-11px; left:0; background:var(--tinta); padding-right:10px;
  font-family:var(--mono); font-size:11px; letter-spacing:.14em; color:var(--cian);
}
.paso h3{font-family:var(--display); font-weight:600; font-size:18px; margin:0 0 6px; letter-spacing:.02em}
.paso p{margin:0; color:var(--muted); font-size:14.5px}

/* acceso */
.acceso{text-align:center; padding:clamp(52px,8vw,96px) 0}
.acceso h2{margin-bottom:10px}
.acceso p{color:var(--muted); max-width:46ch; margin:0 auto 28px}

/* ── rotulo (el riesgo estetico: es lo que el sistema exporta) ── */
.rotulo{border:1px solid var(--linea); margin-bottom:clamp(28px,5vw,52px);
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; font-family:var(--mono); font-size:11px}
.rotulo div{padding:11px 14px; border-right:1px solid var(--linea)}
.rotulo div:last-child{border-right:none}
.rotulo b{display:block; font-weight:400; font-size:9.5px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted2); margin-bottom:4px}
.rotulo span{color:var(--texto); letter-spacing:.04em}
@media (max-width:760px){
  .rotulo{grid-template-columns:1fr 1fr}
  .rotulo div{border-bottom:1px solid var(--linea)}
  .rotulo div:nth-child(1){grid-column:1/-1}
}

/* revelado al hacer scroll */
.rev{opacity:0; transform:translateY(14px); transition:opacity .55s ease, transform .55s ease}
.rev.visible{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){
  .rev{opacity:1; transform:none; transition:none}
}
