/* preto · sistema base del prototipo */
:root{
  --carbon:#242422;
  --grafito:#35352F;
  --oliva:#7D8264;
  --oliva-claro:#9BA482;
  --ambar:#E5B33C;
  --lino:#FAF5F0;
  --humo:#93938C;
  --listo:#6B7F4E;
  --alerta:#B4442F;

  --sup-1:#2C2C29;
  --sup-2:#1B1B19;
  --borde-dark:#3A3A34;
  --texto-dark:#B5B5AE;

  --papel:#F1ECE4;
  --borde-light:#E2DCD2;
  --piedra:#55584F;

  --display:'Poppins',system-ui,sans-serif;
  --texto:'Poppins',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);
  font-weight:400;
  color:var(--carbon);
  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(--ambar);color:var(--carbon)}

.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:300;letter-spacing:-.01em;line-height:1.06}
/* el logotipo: siempre minúscula, Poppins Light, tracking neutro */
.wordmark{font-family:var(--display);font-weight:300;letter-spacing:0;text-transform:lowercase;line-height:1}

/* ---------- Isotipo: flor de café ---------- */
.iso{
  flex-shrink:0;
  width:var(--iso-w,46px);
  height:var(--iso-w,46px);
  background:var(--iso-out,var(--lino));
  -webkit-mask:url(../img/preto-isotipo.png) center/contain no-repeat;
  mask:url(../img/preto-isotipo.png) center/contain no-repeat;
}

/* ---------- 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(36,36,34,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--grafito);
  color:var(--lino);
}
.proto-bar .brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.proto-bar .brand .name{font-family:var(--display);font-weight:300;font-size:21px;letter-spacing:0}
.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:500;color:var(--texto-dark);
  transition:background .16s ease,color .16s ease;
}
.proto-nav a:hover{background:var(--sup-1);color:var(--lino)}
.proto-nav a[aria-current]{background:var(--ambar);color:var(--carbon)}

/* ---------- Marco de teléfono ---------- */
.device{
  --w:390px; --h:844px;
  width:var(--w);height:var(--h);
  position:relative;flex-shrink:0;
  border-radius:56px;
  background:#0A0A09;
  padding:11px;
  box-shadow:0 0 0 2px #2E2E2A, 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(--carbon);
  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:#0A0A09;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:#0A0A09}
.device .home-ind{
  position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  width:136px;height:5px;border-radius:999px;background:rgba(250,245,240,.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:500}
.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}
}
