:root{
  --navy:#142C41; --navy-2:#0C1E2E; --red:#CC3331;
  --bg:#F7F6F3; --surface:#FFFFFF; --ink:#1B2733; --muted:#5B6873; --line:#E4E1DA; --soft:#EEF2F6;
  --r:18px; --max:820px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Outfit,system-ui,sans-serif;color:var(--navy);line-height:1.15;letter-spacing:-.02em}
h1{font-size:clamp(32px,6vw,48px);font-weight:800;margin:0 0 12px}
h2{font-size:22px;margin:36px 0 10px}
h3{font-size:18px;margin:24px 0 6px}
p,ul,dl{margin:0 0 14px}
a{color:var(--navy);font-weight:600}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:6px}
.wrap{width:min(100% - 32px,var(--max));margin-inline:auto}

.header{position:sticky;top:0;z-index:10;background:rgba(247,246,243,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo svg{width:40px;height:36px;flex:none}
.logo span{font:800 21px/1 Outfit,sans-serif;letter-spacing:.01em;color:var(--navy);white-space:nowrap}
.logo b{color:var(--red)}
.back{font-size:14px;text-decoration:none}

main{padding:48px 0 72px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;margin-top:24px}
.lead{font-size:18px;color:var(--muted)}
dl{display:grid;grid-template-columns:minmax(140px,auto) 1fr;gap:8px 18px}
dt{color:var(--muted)}
dd{margin:0;font-weight:600;color:var(--navy)}
.todo{display:inline;background:#FFF1C2;color:#6B4E00;border:1px dashed #D9A400;border-radius:6px;padding:1px 6px;font-weight:600;font-size:.95em}
.todo-box{display:block;background:#FFF8E1;border:1px dashed #D9A400;border-radius:12px;padding:12px 14px;color:#6B4E00;margin:0 0 14px}

footer{padding:32px 0 48px;font-size:14px;color:var(--muted);border-top:1px solid var(--line)}
footer .wrap{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
footer nav{display:flex;flex-wrap:wrap;gap:8px 22px}
footer nav a{text-decoration:none}
