@font-face{ font-family:'Newsreader'; src:url('fonts/newsreader.woff2') format('woff2'); font-weight:400 600; font-display:swap; }
@font-face{ font-family:'Manrope';    src:url('fonts/manrope.woff2')    format('woff2'); font-weight:300 700; font-display:swap; }
@font-face{ font-family:'PlexMono';   src:url('fonts/plexmono.woff2')   format('woff2'); font-weight:400 500; font-display:swap; }

:root{
  --navy:#0F1E30; --navy-3:#1E3552;
  --ivory:#F6F3EC; --ivory-2:#EDE8DB; --ink:#161B22;
  --gold:#B08D57; --gold-light:#D8BE8E;
  --line-dark:rgba(246,243,236,0.14); --line-light:rgba(22,27,34,0.12);
  --serif:'Newsreader', Georgia, 'Times New Roman', serif;
  --sans:'Manrope', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --mono:'PlexMono', 'SFMono-Regular', Consolas, monospace;
}
*{ box-sizing:border-box; margin:0; padding:0; }
body{ background:var(--ivory); color:var(--ink); font-family:var(--sans); line-height:1.7; }
a{ color:inherit; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
.wrap{ max-width:820px; margin:0 auto; padding:0 32px; }

header{ background:var(--navy); color:var(--ivory); padding:22px 0; border-bottom:1px solid var(--line-dark); }
header .wrap{ max-width:1180px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.logo{ font-family:var(--serif); font-weight:500; font-size:1.18rem; text-decoration:none; }
.logo b{ color:var(--gold-light); font-weight:600; }
.back{ font-size:0.84rem; color:rgba(246,243,236,0.8); text-decoration:none; border-bottom:1px solid var(--line-dark); padding-bottom:3px; }
.back:hover{ border-color:var(--gold-light); }

main{ padding:72px 0 96px; }
h1{ font-family:var(--serif); font-weight:500; font-size:clamp(1.9rem,3.4vw,2.5rem); margin-bottom:10px; }
.updated{ font-family:var(--mono); font-size:0.72rem; letter-spacing:0.06em; color:rgba(22,27,34,0.55); text-transform:uppercase; margin-bottom:44px; display:block; }
h2{ font-family:var(--serif); font-weight:500; font-size:1.35rem; margin:44px 0 12px; }
h3{ font-family:var(--serif); font-weight:500; font-size:1.08rem; margin:26px 0 8px; }
p{ margin-bottom:14px; font-size:0.97rem; }
ul{ margin:0 0 16px 20px; font-size:0.97rem; }
li{ margin-bottom:6px; }
.todo{ background:var(--ivory-2); border-left:2px solid var(--gold); padding:18px 22px; font-size:0.88rem; margin:20px 0 28px; }
.todo b{ font-weight:600; }
address{ font-style:normal; margin-bottom:14px; font-size:0.97rem; }

footer{ background:var(--navy); color:rgba(246,243,236,0.5); padding:30px 0; font-size:0.78rem; }
footer .wrap{ max-width:1180px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; }
footer a{ color:rgba(246,243,236,0.75); text-decoration:none; margin-left:20px; }
footer a:hover{ color:var(--gold-light); }

@media (max-width:860px){ .wrap{ padding:0 22px; } main{ padding:48px 0 64px; } }
