/* PastChron — layout.css : page structure, grid, breakpoints */
.wrap{
  max-width:960px;
  margin:0 auto;
  padding:0 20px;
}

.site-header{
  background:var(--color-indigo);
  color:var(--color-white);
}
.site-header .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  padding-top:16px;
  padding-bottom:16px;
}
.brand{
  font-family:var(--font-head);
  font-weight:700;
  font-size:1.35rem;
  color:var(--color-white);
  text-decoration:none;
}
.brand:hover{color:var(--color-saffron);}
.brand .tagline{
  display:block;
  font-family:var(--font-body);
  font-weight:400;
  font-size:0.68rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--color-paper);
  opacity:0.85;
}

.main-nav{
  display:flex;
  flex-wrap:wrap;
  gap:4px 4px;
}
.main-nav a{
  color:var(--color-white);
  text-decoration:none;
  font-size:0.92rem;
  font-weight:600;
  padding:0.5em 0.7em;
  border-radius:var(--radius);
}
.main-nav a:hover,.main-nav a:focus-visible{
  background:rgba(255,255,255,0.14);
  color:var(--color-white);
}
.main-nav a[aria-current="page"]{
  background:var(--color-saffron);
  color:var(--color-ink);
}

.nav-toggle{
  display:none;
  background:transparent;
  border:2px solid var(--color-white);
  color:var(--color-white);
  border-radius:var(--radius);
  padding:0.4em 0.7em;
  font-size:0.95rem;
  cursor:pointer;
}

main{
  padding:2.4rem 0 3rem;
}

.hero{
  background:linear-gradient(135deg,var(--color-indigo) 0%,#3a3a94 60%,var(--color-indigo) 100%);
  color:var(--color-white);
  position:relative;
  overflow:hidden;
}
.hero .wrap{
  padding:3.2rem 20px 3rem;
  position:relative;
  z-index:2;
}
.hero h1{color:var(--color-white);}
.hero p{color:var(--color-paper);font-size:1.05rem;max-width:640px;}
.hero-motif{
  position:absolute;
  inset:0;
  z-index:1;
  opacity:0.5;
  pointer-events:none;
}

.teaser-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.2rem;
  margin-top:2rem;
}
@media (min-width:600px){
  .teaser-grid{grid-template-columns:repeat(3,1fr);}
}

.card-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.2rem;
}
@media (min-width:600px){
  .card-grid{grid-template-columns:repeat(2,1fr);}
}

.site-footer{
  background:var(--color-indigo);
  color:var(--color-paper);
  padding:2.4rem 0 2rem;
}
.site-footer a{color:var(--color-white);}
.site-footer a:hover{color:var(--color-saffron);}
.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.6rem;
}
@media (min-width:700px){
  .footer-grid{grid-template-columns:2fr 1fr 1fr;}
}
.footer-nav ul{list-style:none;padding:0;margin:0;}
.footer-nav li{margin-bottom:0.4em;}
.footer-disclaimer{
  font-size:0.85rem;
  line-height:1.5;
  opacity:0.92;
}
.footer-bottom{
  margin-top:2rem;
  padding-top:1.2rem;
  border-top:1px solid rgba(255,255,255,0.18);
  font-size:0.82rem;
  opacity:0.85;
}

@media (max-width:319px){
  .wrap{padding:0 14px;}
}

/* Narrow-screen nav */
@media (max-width:699px){
  .nav-toggle{display:inline-block;}
  .main-nav{
    display:none;
    flex-direction:column;
    width:100%;
    padding-top:8px;
  }
  .main-nav.is-open{display:flex;}
  .main-nav a{width:100%;}
}
