/* Elysium — shared look for the new site pages (from "Color Scheme.docx") */
:root{
  --abyss:#080A12;        /* main background */
  --navy:#10182D;         /* background accent */
  --dusk:#4A2F6B;         /* primary purple */
  --violet:#7653A6;       /* brighter purple */
  --moon-blue:#294B73;    /* primary blue */
  --spectral:#6C9BC3;     /* highlight blue */
  --silver:#AEB6C2;       /* ancient silver */
  --moon-silver:#D9E0E8;  /* bright silver */
  --ghost:#E8E9ED;        /* main text */
  --crimson:#B3122B;      /* classified / dangerous only */
  --display:"Cinzel",Georgia,serif;
  --body:"Cormorant Garamond",Georgia,serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--abyss);color:var(--ghost);font-family:var(--body)}
body{font-size:19px;line-height:1.6}
button{font:inherit;color:inherit}
a{color:var(--spectral)}
:focus-visible{outline:2px solid var(--spectral);outline-offset:3px}

/* Buttons */
.btn{font-family:var(--display);font-size:13px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;
  color:var(--ghost);background:linear-gradient(180deg,rgba(118,83,166,.45),rgba(74,47,107,.55));
  border:1px solid rgba(217,224,232,.35);border-radius:999px;padding:12px 26px;
  box-shadow:0 0 0 1px rgba(8,10,18,.6) inset,0 8px 30px rgba(74,47,107,.45);transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(8,10,18,.6) inset,0 10px 40px rgba(118,83,166,.7);background:linear-gradient(180deg,rgba(118,83,166,.7),rgba(74,47,107,.75))}
.btn.ghost{background:rgba(16,24,45,.6);box-shadow:none}
.btn.blue{background:linear-gradient(180deg,rgba(108,155,195,.45),rgba(41,75,115,.65))}
.btn.danger{background:linear-gradient(180deg,rgba(179,18,43,.55),rgba(90,8,20,.75));border-color:rgba(255,120,130,.45)}
.btn.small{font-size:11px;padding:8px 16px}

.eyebrow{font-family:var(--display);letter-spacing:.35em;text-transform:uppercase;font-size:12px;color:var(--spectral)}
h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:.06em;margin:0}

/* Modal shell */
.veil{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:70px 16px 24px;
  background:radial-gradient(ellipse at center,rgba(16,24,45,.72),rgba(8,10,18,.92));backdrop-filter:blur(4px)}
.veil.open{display:flex;animation:fade .35s ease}
.x{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;cursor:pointer;
  background:rgba(8,10,18,.75);border:1px solid rgba(217,224,232,.4);color:var(--ghost);font-size:20px;line-height:1;display:grid;place-items:center;z-index:3}
.x:hover{background:rgba(118,83,166,.6)}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
