:root{
  --bg:#ffffff;
  --primary:#f19dcd;
  --primary-hover:#f5c4de;
  --text-dark:#222;
  --text-light:#fff;
  --radius:12px;
  --shadow:0 6px 24px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;
  background:var(--bg);
  color:var(--text-dark);
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:32px 16px;
}

.container{
  width:100%;
  max-width:520px;
  text-align:center;
}

.logo{
  width:190px;
  height:auto;
  display:block;
  margin:0 auto 24px;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,.05));
}

h1{
  font-size:clamp(1.4rem,2.5vw,1.7rem);
  margin:0 0 10px;
  line-height:1.2;
}

.subtitle{
  font-size:1rem;
  line-height:1.6;
  margin:0 0 24px;
}

.links{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:0 auto 26px;
}

.links a{
  display:block;
  background:var(--primary);
  color:var(--text-light);
  text-decoration:none;
  font-weight:700;
  font-size:1.05rem;
  padding:14px 18px;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  transition:transform .15s ease, background .2s ease, box-shadow .2s ease;
  will-change:transform;
}

.links a:hover{ 
  background:var(--primary-hover);
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(0,0,0,.12);
}

footer{
  font-size:.84rem;
  opacity:.85;
}

footer a{
  color:inherit;
  text-underline-offset:3px;
}

/* Accesibilidad: foco visible */
a:focus{
  outline:3px solid #00000033;
  outline-offset:2px;
  border-radius:10px;
}

/* Pequeños ajustes responsivos */
@media (min-width:768px){
  .logo{width:210px}
  .subtitle{font-size:1.03rem}
}
