*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f6f0;color:#243a30;font:17px/1.85 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:#226748;text-underline-offset:4px;overflow-wrap:anywhere}a:focus-visible{outline:3px solid #ad8135;outline-offset:5px}header,main,footer{max-width:1060px;margin:auto;padding:30px 28px}header{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;border-bottom:1px solid #d8e0d7}.brand{font-weight:750;color:#243a30;text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:8px}nav a{padding:5px 14px;border:1px solid #d0dbd0;border-radius:30px;text-decoration:none;font-size:14px}nav a[aria-current]{background:#254f3b;color:white;border-color:#254f3b}.hero{padding:42px 0 32px;max-width:780px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:700;color:#647a68}h1{font-size:clamp(32px,6vw,54px);line-height:1.25;letter-spacing:-.04em;margin:16px 0 22px}h2{font-size:23px;line-height:1.45;letter-spacing:-.02em;margin:0 0 14px}.intro{font-size:20px;color:#52675a}.date{font-size:14px;color:#637366}.badge{display:inline-block;background:#e0ebde;border-radius:8px;font-size:13px;padding:8px 12px;margin-top:12px}.layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:start}.contents{position:sticky;top:24px;font-size:14px;padding:20px 0}.contents ol{padding-left:22px}.contents li{margin-bottom:8px}.contents a{color:#52675a;text-decoration:none}.paper{background:#fff;border:1px solid #e0e5dc;border-radius:20px;padding:36px 40px}section{scroll-margin-top:24px}section+section{border-top:1px solid #e5e9e1;padding-top:28px;margin-top:28px}p{margin:0 0 16px;overflow-wrap:anywhere}footer{font-size:13px;color:#657868;padding-bottom:50px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}@media(max-width:740px){header,main,footer{padding-left:20px;padding-right:20px}.layout{grid-template-columns:1fr;gap:12px}.contents{position:static;padding:0}.contents ol{columns:2;column-gap:28px}.paper{padding:26px 22px}.hero{padding:25px 0}.intro{font-size:18px}body{font-size:16px}}@media(max-width:380px){.contents ol{columns:1}.paper{padding:22px 17px}nav a{padding:5px 10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}