:root{
  --ink:#132038;
  --ink-2:#1c2f52;
  --gold:#c69a4a;
  --gold-deep:#a97f34;
  --gold-light:#e4c078;
  --cream:#f8f4ec;
  --paper:#fffdf9;
  --text:#2c3548;
  --text-soft:#5c6478;
  --line:#e6dfcd;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:'Public Sans', -apple-system, sans-serif;
  color:var(--text);
  background:var(--paper);
  line-height:1.75;
}
.wrap{max-width:840px;margin:0 auto;padding:0 24px;}
header{
  background:rgba(255,253,249,.95);border-bottom:1px solid var(--line);
  padding:18px 0;position:sticky;top:0;
}
.nav{display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:0 auto;padding:0 24px;}
.logo{font-family:'Fraunces',serif;font-weight:700;font-size:1.4rem;color:var(--ink);text-decoration:none;}
.logo span{color:var(--gold-deep);}
.back-link{font-size:.9rem;font-weight:600;color:var(--ink-2);text-decoration:none;}
.back-link:hover{color:var(--gold-deep);}
main{padding:60px 0 80px;}
h1{
  font-family:'Fraunces',serif;font-size:clamp(1.8rem,3.4vw,2.4rem);
  color:var(--ink);margin:0 0 8px;
}
.updated{color:var(--text-soft);font-size:.88rem;margin-bottom:40px;}
h2{
  font-family:'Fraunces',serif;font-size:1.3rem;color:var(--ink);
  margin:36px 0 12px;
}
p, li{color:var(--text-soft);font-size:1.02rem;}
ul{padding-left:22px;}
a{color:var(--gold-deep);}
.callout{
  background:var(--cream);border:1px solid var(--line);border-radius:14px;
  padding:20px 24px;margin:28px 0;font-size:.95rem;
}
footer{background:var(--ink);color:#c7cede;padding:36px 0;margin-top:40px;}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:.85rem;}
footer a{color:#c7cede;text-decoration:none;}
footer a:hover{color:var(--gold-light);}
