/* ============================================================
   AMELIA - BASE GLOBAL
   Solo estilos compartidos por la landing actual.
============================================================ */
:root{
  --teal:#7357E8;
  --teal-50:#F1EDFF;
  --teal-100:#E8E0FF;
  --teal-200:#D6C8FF;
  --teal-300:#BBA9FA;
  --teal-400:#9A84F4;
  --teal-500:#7357E8;
  --teal-600:#5D43D4;
  --teal-700:#2230C4;
  --navy:#292253;
  --navy-100:#E1DAEE;
  --navy-800:#342C69;
  --navy-950:#19152F;
  --ink:#29243F;
  --ink-soft:#514A70;
  --ink-muted:#696184;
  --surface:#F8F6FF;
  --line:#E8E2F3;
  --white:#fff;
  --container:88rem;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{
  margin:0;
  background:var(--surface);
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:rgba(65,84,241,.2);color:var(--navy)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding-left:1.25rem;
  padding-right:1.25rem;
}

.icon{display:inline-block;flex:0 0 auto;vertical-align:middle}

.skip-link{
  position:fixed;
  top:-5rem;
  left:1rem;
  z-index:10000;
  background:var(--navy);
  color:#fff;
  padding:.65rem 1rem;
  border-radius:.6rem;
  font-size:.875rem;
  font-weight:700;
}
.skip-link:focus{top:1rem}

/* Aviso superior */
.announcement{
  position:relative;
  z-index:60;
  background:var(--navy);
  color:#fff;
  transition:max-height .25s,opacity .25s;
  overflow:hidden;
}
.announcement.is-hidden{max-height:0;opacity:0}
.announcement__inner{
  height:2.5rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  text-align:center;
  font-size:.8rem;
  position:relative;
}
.announcement__inner p{
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.announcement__inner p strong:last-child,
.announcement__inner>a{color:var(--teal-300)}
.announcement__inner>a{
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}
.announcement__inner button{
  position:absolute;
  right:.5rem;
  display:grid;
  place-items:center;
  width:1.5rem;
  height:1.5rem;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.75);
  border-radius:999px;
}
.announcement__inner button:hover{background:rgba(255,255,255,.1);color:#fff}

/* Reveal compartido entre secciones */
.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:
    opacity .7s cubic-bezier(.16,1,.3,1) var(--delay,0s),
    transform .7s cubic-bezier(.16,1,.3,1) var(--delay,0s);
}
.reveal.is-visible{opacity:1;transform:none}
.reveal.delay{--delay:.08s}

:focus-visible{
  outline:2px solid var(--teal-500);
  outline-offset:2px;
  border-radius:.4rem;
}

@media(max-width:700px){
  .container{padding-left:1.1rem;padding-right:1.1rem}
  .announcement__inner>a,
  .announcement__inner>.icon{display:none}
  .announcement__inner p{padding-right:2rem}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  .reveal{opacity:1!important;transform:none!important}
}


/* ============================================================
   AMELIA · FRESH LILAC SYSTEM
   Paleta fría lila/violeta. Sin cambios de estructura.
============================================================ */
:root{
  --amelia-lilac-950:#241B4D;
  --amelia-lilac-900:#342664;
  --amelia-lilac-800:#4D349F;
  --amelia-lilac-700:#6547D6;
  --amelia-lilac-600:#7357E8;
  --amelia-lilac-500:#8B76F1;
  --amelia-lilac-400:#A795F6;
  --amelia-lilac-300:#C9BCFA;
  --amelia-lilac-200:#DED5FC;
  --amelia-lilac-100:#EEE9FF;
  --amelia-lilac-50:#F8F6FF;
  --amelia-periwinkle:#7186F4;
  --amelia-cyan:#67CDE1;
  --amelia-ink:#29234F;
  --amelia-copy:#5D567D;
  --amelia-muted:#8B84A5;
  --amelia-line:rgba(103,81,181,.15);
  --amelia-shadow:0 18px 48px rgba(61,43,117,.09);
  --amelia-shadow-soft:0 10px 30px rgba(61,43,117,.065);
}
body{
  background:#FAF9FF;
  color:var(--amelia-ink);
}
::selection{background:rgba(139,118,241,.24);color:var(--amelia-lilac-950)}
:focus-visible{outline-color:var(--amelia-lilac-600)}

/* Movimiento ambiental: lento y decorativo, no mueve el contenido. */
@keyframes amelia-fresh-glow-drift{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.78}
  50%{transform:translate3d(22px,-14px,0) scale(1.045);opacity:1}
}
@keyframes amelia-fresh-glow-drift-alt{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.72}
  50%{transform:translate3d(-18px,16px,0) scale(1.055);opacity:.94}
}
@keyframes amelia-fresh-line-flow{
  from{background-position:0% 50%}
  to{background-position:200% 50%}
}
@keyframes amelia-fresh-breathe{
  0%,100%{box-shadow:0 0 0 0 rgba(115,87,232,0)}
  50%{box-shadow:0 0 0 6px rgba(115,87,232,.07)}
}
