/* PastChron — base.css : reset, typography, variables */
:root{
  --color-ink:#1C1C2E;
  --color-indigo:#2A2A72;
  --color-saffron:#E8A23D;
  --color-paper:#F3EFE4;
  --color-white:#FFFFFF;
  --font-head:'Merriweather', Georgia, serif;
  --font-body:'Mulish', Arial, sans-serif;
  --radius:6px;
  --shadow-card:0 2px 10px rgba(28,28,46,0.12);
  --focus-outline:3px solid var(--color-indigo);
}

[hidden]{display:none!important}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--color-paper);
  color:var(--color-ink);
  font-family:var(--font-body);
  font-weight:400;
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block;}
h1,h2,h3,h4{
  font-family:var(--font-head);
  color:var(--color-indigo);
  line-height:1.25;
  margin:0 0 0.6em;
}
h1{font-weight:700;font-size:clamp(28px,5vw,40px);}
h2{font-weight:600;font-size:clamp(22px,3.4vw,28px);margin-top:1.6em;}
h3{font-weight:600;font-size:1.15rem;}
p{margin:0 0 1.1em;}
a{color:var(--color-indigo);text-decoration-thickness:2px;}
a:hover{color:var(--color-saffron);}
ul,ol{padding-left:1.3em;}
li{margin-bottom:0.4em;}
strong{font-weight:600;}
blockquote{
  font-style:italic;
  border-left:4px solid var(--color-saffron);
  margin:1.2em 0;
  padding:0.4em 0 0.4em 1em;
  color:var(--color-ink);
}
small{font-size:0.85em;}
hr{border:none;border-top:1px solid rgba(42,42,114,0.2);margin:2em 0;}

.badge{
  display:inline-block;
  font-family:var(--font-body);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.04em;
  font-size:0.72rem;
  padding:0.25em 0.7em;
  border-radius:999px;
  background:var(--color-saffron);
  color:var(--color-ink);
}

:focus-visible{
  outline:var(--focus-outline);
  outline-offset:2px;
}

.visually-hidden{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.skip-link{
  position:absolute;
  left:8px;top:-48px;
  background:var(--color-indigo);
  color:var(--color-white);
  padding:0.6em 1em;
  border-radius:var(--radius);
  z-index:1000;
  transition:top 0.2s ease;
}
.skip-link:focus{top:8px;}
