/* Expresso · sistema base del prototipo */
:root{
  --espresso:#1E1512;
  --grano:#322520;
  --tostado:#B5703C;
  --latte:#E4D3BC;
  --senal:#D9F55B;
  --crema:#F6F1E8;
  --humo:#8B8078;
  --listo:#4E8B3E;
  --alerta:#C0442F;

  --sup-1:#2A1F1A;
  --sup-2:#241A15;
  --borde-dark:#3D2E26;
  --texto-dark:#C4B7A8;

  --papel:#EDE6DA;
  --borde-light:#DCD1BF;
  --tinta-2:#5B514A;

  --display:'Archivo',system-ui,sans-serif;
  --texto:'Instrument Sans',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;

  --r-s:12px; --r-m:16px; --r-l:20px; --r-xl:28px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--texto);
  color:var(--espresso);
  background:var(--papel);
  -webkit-font-smoothing:antialiased;
  text-wrap:pretty;
}
img{max-width:100%;display:block}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
a{color:inherit;text-decoration:none}
::selection{background:var(--senal);color:var(--espresso)}

.mono{font-family:var(--mono)}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--humo)}
.display{font-family:var(--display);font-weight:800;letter-spacing:-.035em;line-height:1.05}

/* ---------- Isotipo ---------- */
.iso{display:flex;flex-direction:column;gap:var(--iso-gap,5px);flex-shrink:0}
.iso i{display:block;height:var(--iso-bar,9px);border-radius:999px;background:var(--iso-out,var(--crema));width:var(--iso-w,46px)}
.iso i:nth-child(2){width:calc(var(--iso-w,46px) * .62);background:var(--senal)}

/* ---------- Barra superior del prototipo ---------- */
.proto-bar{
  position:sticky;top:0;z-index:60;
  display:flex;align-items:center;gap:20px;
  padding:12px 22px;
  background:rgba(30,21,18,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid #3A2A22;
  color:var(--crema);
}
.proto-bar .brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.proto-bar .brand .name{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.03em}
.proto-bar .brand .tag{font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:var(--humo)}
.proto-nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-left:auto}
.proto-nav::-webkit-scrollbar{display:none}
.proto-nav a{
  white-space:nowrap;padding:9px 15px;border-radius:999px;
  font-size:14px;font-weight:600;color:var(--texto-dark);
  transition:background .16s ease,color .16s ease;
}
.proto-nav a:hover{background:#2A1F1A;color:var(--crema)}
.proto-nav a[aria-current]{background:var(--senal);color:var(--espresso)}

/* ---------- Marco de teléfono ---------- */
.device{
  --w:390px; --h:844px;
  width:var(--w);height:var(--h);
  position:relative;flex-shrink:0;
  border-radius:56px;
  background:#0B0705;
  padding:11px;
  box-shadow:0 0 0 2px #2C2320, 0 30px 70px -18px rgba(0,0,0,.65), 0 6px 18px rgba(0,0,0,.3);
}
.device.android{--w:400px;--h:860px;border-radius:42px;padding:9px}
.device .screen{
  width:100%;height:100%;
  border-radius:46px;
  overflow:hidden;position:relative;
  background:var(--espresso);
  isolation:isolate;
}
.device.android .screen{border-radius:34px}
.device .island{
  position:absolute;top:22px;left:50%;transform:translateX(-50%);
  width:118px;height:33px;border-radius:999px;background:#0B0705;z-index:40;pointer-events:none;
}
.device.android .island{width:11px;height:11px;top:16px;left:calc(50% );transform:translateX(-50%);border-radius:999px;background:#0B0705}
.device .home-ind{
  position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  width:136px;height:5px;border-radius:999px;background:rgba(246,241,232,.5);z-index:40;pointer-events:none;
}
.device.android .home-ind{width:108px;height:4px;bottom:7px}

/* ---------- Utilidades ---------- */
.pill{border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600}
.card{background:#fff;border-radius:var(--r-l);border:1px solid var(--borde-light)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
}
