/* ---------- Nav ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(246,241,231,0.88);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--paper-line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 32px;
  max-width:var(--max); margin:0 auto;
}
.logo{
  font-family:'Fraunces', serif;
  font-size:1.5rem;
  font-weight:600;
  letter-spacing:-0.01em;
}
.logo span{color:var(--sage-deep);}
.nav-links{
  display:flex; align-items:center; gap:36px;
  list-style:none; margin:0; padding:0;
}
.nav-links a{
  text-decoration:none;
  font-size:0.95rem;
  color:var(--ink-soft);
  transition:color .2s ease;
}
.nav-links a:hover{color:var(--ink);}
.nav-cta{display:none;}
@media (min-width: 860px){ .nav-cta{display:inline-flex;} }

.mobile-toggle{
  display:inline-flex; background:none; border:none; padding:6px;
}
@media (min-width:860px){ .mobile-toggle{display:none;} .nav-links{display:flex;} }
@media (max-width:859px){ .nav-links{display:none;} }

/* ---------- Footer ---------- */
footer{
  border-top:1px solid var(--paper-line);
  padding:44px 0 40px;
}
.footer-grid{
  display:flex;
  flex-direction:column;
  gap:28px;
}
@media (min-width:700px){
  .footer-grid{flex-direction:row; justify-content:space-between; align-items:center;}
}
.footer-logo{
  font-family:'Fraunces', serif;
  font-size:1.2rem;
}
.footer-tagline{
  color:var(--ink-soft);
  font-size:0.88rem;
  margin-top:4px;
}
.footer-links{
  display:flex; gap:28px; list-style:none; padding:0; margin:0;
  flex-wrap:wrap;
}
.footer-links a{
  font-size:0.9rem;
  text-decoration:none;
  color:var(--ink-soft);
}
.footer-links a:hover{color:var(--ink);}
.footer-bottom{
  margin-top:32px;
  font-size:0.8rem;
  color:#8a9187;
}
