  :root { --paper:#F2F5F9; --ink:#13233A; --ink-soft:#42506A; --muted:#7C879A; --rule:#DAE1EA; --pine:#26553F;
    --serif:"Newsreader",Georgia,serif; --sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
  * { box-sizing: border-box; }
  body { margin:0; background:var(--paper); color:var(--ink); font:400 17px/1.65 var(--sans); -webkit-font-smoothing:antialiased; }
  header { padding:28px 24px 0; max-width:68rem; margin:0 auto; }
  .mark { display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:inherit; }
  .mark img { width:36px; height:36px; } .mark span { font:500 22px/1 var(--serif); }
  main { max-width:38rem; margin:0 auto; padding:64px 24px 96px; }
  h1 { font:400 clamp(36px,6vw,48px)/1.05 var(--serif); letter-spacing:-0.02em; margin:0 0 10px; }
  .date { color:var(--muted); font-size:14px; margin:0 0 40px; }
  h2 { font:500 22px/1.3 var(--serif); margin:36px 0 8px; }
  p, li { color:var(--ink-soft); } ul { padding-left:20px; } li { margin:6px 0; }
  a { color:inherit; }
  @media (max-width:480px){ header{padding-inline:16px;} main{padding:44px 16px 72px;} }
  h3 { font:500 15px/1.4 var(--sans); color:var(--ink); margin:20px 0 4px; }
  strong { color:var(--ink); font-weight:500; }
  footer.legal { max-width:38rem; margin:0 auto; padding:0 24px 48px; display:flex; flex-wrap:wrap; gap:8px 20px; font-size:14px; }
  footer.legal a { color:var(--muted); }
  @media (max-width:480px){ footer.legal{padding:0 16px 40px;} }
