@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root { --ink:#202a2c; --teal:#006b70; --mist:#f4f1ea; --line:rgba(32,42,44,.16); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--mist); font-family:"DM Sans",sans-serif; }
header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px clamp(22px,7vw,100px); background:white; border-bottom:1px solid var(--line); }
header img { width:130px; }
header a { color:var(--teal); font-weight:700; text-decoration:none; }
main { width:min(900px,calc(100% - 44px)); margin:70px auto 100px; }
.status { display:inline-block; padding:7px 10px; color:#735319; background:#f7e7c4; font-size:10px; font-weight:700; letter-spacing:.12em; }
h1,h2 { font-family:"Libre Caslon Display",Georgia,serif; font-weight:400; }
h1 { margin:25px 0 30px; font-size:clamp(42px,7vw,72px); line-height:1; }
h2 { margin-top:42px; font-size:29px; }
p,li { color:#536b70; line-height:1.75; }
.lead { max-width:720px; font-size:20px; }
aside { margin:38px 0; padding:22px 24px; border-left:4px solid #d39b3a; background:#fff8e9; color:#536b70; line-height:1.65; }
.contents { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin:40px 0 55px; background:var(--line); border:1px solid var(--line); }
.contents a { padding:14px 16px; background:white; font-size:13px; font-weight:600; text-decoration:none; }
section { scroll-margin-top:24px; }
dl { margin:0; border-top:1px solid var(--line); }
dl div { display:grid; grid-template-columns:190px 1fr; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); }
dt { font-weight:700; } dd { margin:0; color:#536b70; }
.pending { color:#8a651f; font-weight:600; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; background:white; }
th,td { padding:14px; border:1px solid var(--line); text-align:left; color:#536b70; }
th { color:var(--ink); }
a { color:var(--teal); }
footer { padding:28px 22px; color:rgba(255,255,255,.65); background:#022832; text-align:center; font-size:12px; }
footer nav { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 24px; }
footer a { color:white; } footer p { margin:16px 0 0; color:rgba(255,255,255,.65); }
@media (max-width:680px) { header { padding:18px 22px; } header img { width:110px; } main { margin:48px auto 70px; } .contents { grid-template-columns:1fr; } dl div { grid-template-columns:1fr; gap:5px; } }
