:root {
  --black:#050505;
  --black-2:#0a0a0b;
  --panel:#0e0e10;
  --panel-2:#151518;
  --red:#e10613;
  --red-2:#ff2737;
  --white:#ffffff;
  --muted:#b9bcc3;
  --line:#2a2a2e;
  --soft:#f4f4f4;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--white);
  background:var(--black);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.container{width:min(1450px,calc(100% - 56px));margin-inline:auto}

/* ICONOS
   El sprite se declara una vez y se referencia con <use>. No puede llevar
   display:none: eso mata las referencias en Safari. Se saca del flujo. */
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{
  width:1em;height:1em;flex-shrink:0;
  display:inline-block;vertical-align:-.125em;
  color:currentColor;
}

/* NAV */
.topbar{
  position:sticky;top:0;z-index:1000;
  background:rgba(2,2,3,.96);
  border-bottom:1px solid #1b1b1e;
  backdrop-filter:blur(12px);
}
.nav{
  min-height:104px;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.brand-logo{
  width:82px;height:82px;object-fit:cover;border-radius:18px;
  box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 26px rgba(225,6,19,.35);
}
.brand-name{
  font:900 3.2rem/1 "Barlow Condensed",sans-serif;
  letter-spacing:-.02em;white-space:nowrap;
}
.brand-name .deli{color:#fff}
.brand-name .play{color:var(--red)}
.brand-name .rd{font-size:1.25rem;color:#fff;margin-left:5px}
.menu{display:flex;align-items:center;gap:34px;margin-left:auto}
.menu a{
  font:700 .92rem/1 "Barlow Condensed",sans-serif;
  text-transform:uppercase;letter-spacing:.04em;color:#f2f2f2;
  padding:18px 0;position:relative;
}
.menu a:hover,.menu a.active{color:var(--red-2)}
.menu a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:8px;height:2px;background:var(--red);
}
.admin-top{
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid var(--red);color:var(--red-2);
  padding:14px 20px;border-radius:8px;font-weight:800;text-transform:uppercase;
  white-space:nowrap;
}
.admin-top:hover{background:var(--red);color:#fff}
.admin-top .ico{width:1.05em;height:1.05em}

/* Botón del menú móvil. Oculto por defecto: sólo aparece cuando `.menu` se
   convierte en panel desplegable. */
.menu-toggle{
  display:none;
  width:46px;height:46px;flex-shrink:0;
  align-items:center;justify-content:center;
  background:transparent;border:1px solid #3a3a3f;border-radius:9px;
  color:#f2f2f2;cursor:pointer;font-size:1.35rem;
}
.menu-toggle:hover{border-color:var(--red);color:var(--red-2)}
.menu-toggle .ico-close{display:none}
.menu-toggle[aria-expanded="true"] .ico-open{display:none}
.menu-toggle[aria-expanded="true"] .ico-close{display:inline-block}

/* HERO */
.hero{
  position:relative;
  min-height:690px;
  background:#020203;
  overflow:hidden;
  border-bottom:1px solid #141416;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 40%,rgba(225,6,19,.08),transparent 26%),
    linear-gradient(90deg,#050505 0%,#050505 44%,rgba(5,5,5,.85) 52%,rgba(5,5,5,.1) 78%,rgba(5,5,5,.18) 100%);
  z-index:2;pointer-events:none;
}
.hero-visual{
  position:absolute;right:0;top:0;width:59%;height:100%;
  background-image:url("assets/hero.jpg");
  background-size:cover;background-position:center;
  filter:saturate(.96) contrast(1.03) brightness(.9);
}
.hero-visual::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.4) 20%,transparent 55%),
             linear-gradient(0deg,#050505 0%,transparent 25%);
}
.hero-inner{
  position:relative;z-index:4;
  min-height:690px;display:flex;align-items:center;
}
.hero-copy{width:57%;padding:58px 0 46px}
.hero h1{
  font:italic 900 clamp(4.1rem,6.4vw,7.2rem)/.88 "Barlow Condensed",sans-serif;
  letter-spacing:-.025em;
  margin-bottom:24px;
  text-shadow:0 5px 24px rgba(0,0,0,.5);
}
.hero h1 .brand-inline .deli{color:#fff}
.hero h1 .brand-inline .play{color:var(--red)}
.hero-sub{
  font-size:clamp(1.15rem,1.8vw,1.75rem);
  line-height:1.4;font-weight:600;
  margin-bottom:30px;color:#f1f1f1;
}
.hero-actions{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.btn{
  min-height:70px;padding:0 34px;border-radius:7px;
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  font:800 1.15rem "Barlow Condensed",sans-serif;
  text-transform:uppercase;letter-spacing:.02em;border:1px solid transparent;
}
.btn-primary{background:linear-gradient(180deg,#f20d18,#cb0711);box-shadow:0 14px 34px rgba(225,6,19,.24)}
.btn-primary:hover{background:#ff1724}
.btn-outline{border-color:#d0d0d0;background:rgba(0,0,0,.5)}
.btn-outline:hover{border-color:var(--red);color:var(--red)}
.store-row{display:flex;gap:16px;flex-wrap:wrap}
.store-badge{
  height:70px;min-width:205px;padding:0 18px;
  border:1px solid #8c8c8c;border-radius:7px;
  display:flex;align-items:center;gap:13px;background:#070707;
}
.store-icon{width:30px;height:30px;flex-shrink:0;color:#fff}
.store-copy small{display:block;font-size:.68rem;color:#ddd}
.store-copy strong{display:block;font-size:1.25rem;font-weight:600;line-height:1.05}
/* Las apps no están publicadas. La insignia sigue ahí porque comunica en qué
   tiendas saldrán, pero se ve inactiva y no invita a pulsarla. */
.store-badge.is-soon{
  border-style:dashed;border-color:#5a5a5a;color:#9a9a9a;cursor:default;
}
.store-badge.is-soon .store-icon{color:#9a9a9a}
.store-badge.is-soon .store-copy small{color:#8c8c8c}
.store-note{
  display:flex;align-items:center;gap:9px;
  margin-top:14px;font-size:.83rem;color:#a8a8ae;line-height:1.5;
}
.store-note .ico{color:var(--red-2);width:1.05em;height:1.05em}

/* BENEFIT STRIP */
.benefit-strip{
  background:#050505;padding:0 0 18px;margin-top:-1px;
}
.benefit-box{
  display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid #343437;border-radius:14px;background:linear-gradient(180deg,#0b0b0d,#09090a);
  overflow:hidden;
}
.benefit{
  display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center;
  padding:28px 28px;min-height:132px;border-right:1px solid #343437;
}
.benefit:last-child{border-right:0}
.benefit-icon{
  width:64px;height:64px;border-radius:50%;display:grid;place-items:center;
  color:var(--red);font-size:1.9rem;border:2px solid rgba(225,6,19,.75);
}
.benefit h3{
  font:800 1.05rem "Barlow Condensed",sans-serif;text-transform:uppercase;margin-bottom:7px;
}
.benefit p{color:#ddd;font-size:.88rem;line-height:1.45}

/* HOW */
.how{
  background:var(--soft);color:#111;padding:34px 0 60px;
}
.how h2{
  text-align:center;font:900 2.7rem "Barlow Condensed",sans-serif;text-transform:uppercase;
}
.red-rule{width:54px;height:3px;background:var(--red);margin:10px auto 30px}
.steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:30px;
}
.step{
  position:relative;display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:center;
  min-height:132px;
}
.step:not(:last-child)::after{
  content:"";position:absolute;right:-17px;top:60px;width:34px;border-top:2px dashed var(--red);
}
.step-icon-wrap{position:relative}
.step-icon{
  width:88px;height:88px;border-radius:50%;background:#050505;color:var(--red);
  display:grid;place-items:center;font-size:2.3rem;
}
.step-num{
  position:absolute;right:-2px;top:-7px;width:30px;height:30px;border-radius:50%;
  background:var(--red);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.84rem;
}
.step h3{font:800 1.03rem "Barlow Condensed",sans-serif;margin-bottom:8px}
.step p{font-size:.86rem;line-height:1.5;color:#333}

/* SUPPORTING SECTIONS */
.dark-section{padding:90px 0;background:#09090a;border-top:1px solid #1b1b1f}
.dark-section.alt{background:#0e0e10}
.section-head{max-width:760px;margin-bottom:38px}
.section-kicker{color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.section-title{
  font:900 clamp(2.8rem,4.5vw,5rem)/.95 "Barlow Condensed",sans-serif;
  text-transform:uppercase;margin:10px 0 14px;
}
.section-text{color:#b9bcc3;line-height:1.7;font-size:1rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{
  padding:26px;border-radius:16px;border:1px solid #2a2a2f;background:#111114;
}
.card h3{font:800 1.35rem "Barlow Condensed",sans-serif;text-transform:uppercase;margin:12px 0 8px}
.card p{color:#aeb2bb;line-height:1.65;font-size:.9rem}
.card-icon{font-size:1.8rem;color:var(--red);line-height:1}

/* ADMIN */
.admin-section{
  padding:90px 0;background:#f2f2f2;color:#111;
}
.admin-grid{display:grid;grid-template-columns:1fr 440px;gap:64px;align-items:center}
.admin-copy h2{
  font:900 clamp(2.8rem,4vw,4.8rem)/.95 "Barlow Condensed",sans-serif;text-transform:uppercase;
}
.admin-copy p{color:#54545a;line-height:1.7;margin-top:16px}
.admin-list{display:grid;gap:12px;margin-top:24px}
.admin-list div{display:flex;gap:10px;align-items:center;color:#28282c}
.admin-list .ico{color:var(--red);width:1.2em;height:1.2em}
.login{
  background:#fff;border-radius:18px;padding:30px;box-shadow:0 28px 70px rgba(0,0,0,.14);
}
.login-logo-line{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.login-logo-line img{width:52px;height:52px;border-radius:11px}
.login-logo-line strong{font:900 2.1rem "Barlow Condensed",sans-serif}
.login-logo-line .play{color:var(--red)}
.login p{color:#777;margin-bottom:22px;font-size:.86rem}
/* Hereda el aspecto del botón que había aquí cuando el login vivía en la
   landing: mismo rojo, misma altura. Ahora es un enlace al panel. */
.login-cta{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:50px;border-radius:9px;background:var(--red);color:#fff;font-weight:800;
}
.login-cta:hover{background:#be0710}
.login-note{font-size:.75rem;color:#888;margin-top:13px;line-height:1.5}

/* CONTACTO */
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.contact-card{
  display:block;padding:26px;border-radius:16px;
  border:1px solid #2a2a2f;background:#111114;
  transition:border-color .18s ease,transform .18s ease;
}
a.contact-card:hover{border-color:var(--red);transform:translateY(-2px)}
.contact-card.is-static{cursor:default}
.contact-icon{font-size:1.6rem;color:var(--red);line-height:1;margin-bottom:12px}
.contact-card h3{
  font:800 1.2rem "Barlow Condensed",sans-serif;text-transform:uppercase;margin-bottom:6px;
}
.contact-card p{color:#aeb2bb;font-size:.9rem;line-height:1.5;word-break:break-word}

/* LEGAL — privacidad, términos, eliminar cuenta */
.legal{background:#09090a;padding:64px 0 90px}
.legal-inner{max-width:820px}
.legal-kicker{
  color:var(--red);font-weight:800;text-transform:uppercase;
  letter-spacing:.12em;font-size:.78rem;
}
.legal h1{
  font:900 clamp(2.4rem,5vw,4rem)/1 "Barlow Condensed",sans-serif;
  text-transform:uppercase;margin:10px 0 12px;
}
.legal-dates{color:#7c7f87;font-size:.82rem;margin-bottom:28px}
.legal-lead{
  color:#e3e4e8;font-size:1.05rem;line-height:1.75;
  padding:18px 22px;border-left:3px solid var(--red);
  background:#0e0e11;border-radius:0 10px 10px 0;margin-bottom:34px;
}
.legal h2{
  font:800 1.65rem "Barlow Condensed",sans-serif;text-transform:uppercase;
  color:#fff;margin:38px 0 12px;padding-top:14px;border-top:1px solid #1e1e22;
}
.legal h3{
  font:700 1.05rem Inter,sans-serif;color:#fff;margin:22px 0 8px;
}
.legal p{color:#b9bcc3;line-height:1.75;margin-bottom:14px}
.legal ul,.legal ol{color:#b9bcc3;line-height:1.75;margin:0 0 16px 22px}
.legal li{margin-bottom:9px}
.legal strong{color:#e8e9ec}
.legal a{color:var(--red-2);text-decoration:underline;text-underline-offset:3px}
.legal a:hover{color:#fff}
.legal-note{
  margin-top:26px;padding:16px 18px;border:1px solid #26262b;border-radius:10px;
  background:#0d0d10;font-size:.9rem;color:#a4a7ae;line-height:1.7;
}
.legal-table-wrap{overflow-x:auto;margin-bottom:16px}
.legal-table{border-collapse:collapse;width:100%;min-width:460px;font-size:.9rem}
.legal-table th,.legal-table td{
  border:1px solid #26262b;padding:12px 14px;text-align:left;
  color:#b9bcc3;line-height:1.6;vertical-align:top;
}
.legal-table th{background:#131317;color:#fff;font-weight:700}
.legal-table td:first-child{color:#e8e9ec;font-weight:600;white-space:nowrap}

/* FOOTER */
footer{background:#030303;border-top:1px solid #1a1a1d;padding:38px 0;color:#777}
.footer-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.footer-links{display:flex;gap:22px;flex-wrap:wrap}
.footer-links a{font-size:.85rem;color:#9a9aa1}
.footer-links a:hover{color:var(--red-2)}
.footer-brand{display:flex;align-items:center;gap:10px}
.footer-brand img{width:46px;height:46px;border-radius:10px}
.footer-brand strong{font:900 1.8rem "Barlow Condensed",sans-serif}
.footer-brand .play{color:var(--red)}

/* RESPONSIVE */
@media(max-width:1180px){
  .menu{gap:18px}
  .menu a{font-size:.82rem}
  .brand-name{font-size:2.7rem}
  .brand-logo{width:68px;height:68px}
  .hero-copy{width:62%}
  .benefit{grid-template-columns:58px 1fr;padding:22px 18px}
  .benefit-icon{width:54px;height:54px}
}
@media(max-width:900px){
  /* El menú deja de ser una fila y pasa a ser un panel bajo la barra. Se abre
     con `.is-open`, que pone el botón. Sin JavaScript el panel queda cerrado,
     así que el pie repite los enlaces legales y el logo sigue llevando arriba. */
  .menu{
    display:flex;flex-direction:column;align-items:stretch;gap:0;margin-left:0;
    position:absolute;left:0;right:0;top:100%;
    background:rgba(2,2,3,.99);border-bottom:1px solid #1b1b1e;
    padding:6px 28px 16px;
    max-height:0;overflow:hidden;visibility:hidden;
    transition:max-height .24s ease,visibility 0s linear .24s;
  }
  .menu.is-open{max-height:70vh;overflow-y:auto;visibility:visible;transition-delay:0s}
  .menu a{padding:15px 0;font-size:1rem;border-bottom:1px solid #17171a}
  .menu a:last-child{border-bottom:0}
  .menu a.active::after{display:none}
  .menu a.active{color:var(--red-2)}
  /* `.menu` sale del flujo al volverse panel, así que `space-between` dejaría
     el botón de Admin flotando en medio. Este margen lo devuelve a la derecha. */
  .admin-top{margin-left:auto}
  .menu-toggle{display:inline-flex;order:3}
  .topbar{position:sticky}
  .nav{min-height:80px;position:relative}
  .contact-grid{grid-template-columns:1fr 1fr}
  .legal{padding:44px 0 64px}
  .brand-logo{width:58px;height:58px}
  .brand-name{font-size:2.3rem}
  .admin-top{padding:11px 14px}
  .hero{min-height:auto}
  .hero-visual{position:absolute;width:100%;opacity:.46}
  .hero::before{background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.86) 65%,rgba(5,5,5,.52) 100%)}
  .hero-inner{min-height:660px}
  .hero-copy{width:100%;max-width:760px}
  .benefit-box{grid-template-columns:1fr 1fr}
  .benefit:nth-child(2){border-right:0}
  .benefit:nth-child(-n+2){border-bottom:1px solid #343437}
  .steps{grid-template-columns:1fr 1fr}
  .step:nth-child(2)::after{display:none}
  .cards{grid-template-columns:1fr 1fr}
  .admin-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .container{width:min(100% - 28px,1450px)}
  .brand-name{font-size:2rem}
  .brand-name .rd{display:none}
  .admin-top{font-size:.75rem}
  .hero-inner{min-height:600px}
  .hero-copy{padding-top:40px}
  .hero h1{font-size:4.4rem}
  .hero-sub{font-size:1rem}
  .btn{min-height:58px;padding:0 20px;font-size:1rem;width:100%}
  .store-badge{flex:1;min-width:0}
  .benefit-box{grid-template-columns:1fr}
  .benefit{border-right:0;border-bottom:1px solid #343437}
  .benefit:last-child{border-bottom:0}
  .steps{grid-template-columns:1fr}
  .step::after{display:none!important}
  .cards{grid-template-columns:1fr}
  .how h2{font-size:2.2rem}
  .contact-grid{grid-template-columns:1fr}
  .store-badge{min-width:0;padding:0 12px}
  .footer-row{justify-content:center;text-align:center}
  .footer-links{justify-content:center}
}
