/* Dignity Inc — design tokens (locked from hero-video concept, 08-03) */
:root{
  --ground:#EDF2F9;
  --dot:rgba(22,38,92,.13);
  --card:#FFFFFF;
  --ink:#16265C;
  --ink-soft:#4A5878;
  --muted:#8B96AE;
  --steel:#2F7FA6;
  --orange:#F6A83B;
  --orange-deep:#E8912A;
  --green:#2F8F63;
  --red:#C25454;
  --navy-card:#182A66;
  --navy-card-2:#111F52;
  --chip-border:#DCE4F0;
  --hairline:#E3E9F3;
  --shadow:0 2px 6px rgba(22,38,92,.05),0 12px 28px rgba(22,38,92,.07);
  --shadow-lift:0 4px 10px rgba(22,38,92,.07),0 18px 40px rgba(22,38,92,.11);
  --on-navy:#FFFFFF;
  --on-navy-soft:#9FB2E8;
  --sans:'Poppins',system-ui,sans-serif;
  --serif:'Newsreader',Georgia,serif;
  --r-card:18px;
  --r-big:22px;
}
@media (prefers-color-scheme: dark){
  :root{
    --ground:#0D142B; --dot:rgba(159,178,232,.10); --card:#161F3E; --ink:#E9EEFA;
    --ink-soft:#B7C2DC; --muted:#7C88A6; --steel:#6FB3D6; --orange:#F6A83B;
    --orange-deep:#F6A83B; --green:#5CBB92; --red:#D98080; --navy-card:#1B2B68; --navy-card-2:#131F4E;
    --chip-border:#28345C; --hairline:#232E52;
    --shadow:0 2px 6px rgba(0,0,0,.25),0 12px 28px rgba(0,0,0,.3);
    --shadow-lift:0 4px 10px rgba(0,0,0,.3),0 18px 40px rgba(0,0,0,.4);
  }
}

*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:var(--ground);
  background-image:radial-gradient(var(--dot) 1.3px, transparent 1.3px);
  background-size:26px 26px;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  min-height:100dvh;
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* shared primitives */
.card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--shadow)}
.navy{background:linear-gradient(150deg,var(--navy-card),var(--navy-card-2));color:var(--on-navy);border-radius:var(--r-big);box-shadow:var(--shadow)}
.sec-label{font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.serif-sub{font-family:var(--serif);font-style:italic;color:var(--ink-soft)}
.btn{
  font-family:var(--sans);font-size:14.5px;font-weight:600;cursor:pointer;
  border:none;border-radius:999px;padding:13px 22px;
  background:linear-gradient(150deg,var(--navy-card),var(--navy-card-2));color:var(--on-navy);
  transition:transform .12s ease,opacity .12s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:scale(.97)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--chip-border)}
.btn:disabled{opacity:.45;cursor:default;transform:none}
.chip{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--sans);font-size:13.5px;font-weight:500;color:var(--ink);
  background:var(--card);border:1px solid var(--chip-border);border-radius:999px;
  padding:9px 15px;cursor:pointer;box-shadow:var(--shadow);
  transition:transform .12s ease;
}
.chip:active{transform:scale(.97)}
.chip.on{background:linear-gradient(150deg,var(--navy-card),var(--navy-card-2));color:var(--on-navy);border-color:transparent}
.dot{width:9px;height:9px;border-radius:50%;flex:none}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2.5px solid var(--steel);outline-offset:2px}
.tick{display:inline-block;width:26px;height:3px;border-radius:2px;background:var(--orange)}
