:root{color-scheme:light;--ink:#142b2a;--paper:#f7f4ec;--soft:#e1ebe2;--green:#175744;--line:#d4ded3;--red:#9b402d}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,"Malgun Gothic",sans-serif;line-height:1.75;word-break:keep-all}a{color:var(--green);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid #a24425;outline-offset:4px}p{margin:0 0 1em}h1,h2{line-height:1.15;letter-spacing:-.06em;margin:.3em 0 .5em}h2{font-size:clamp(1.6rem,4vw,2.35rem)}section[id],article[id]{scroll-margin-top:1rem}[hidden]{display:none!important}.skip{position:absolute;left:1rem;top:-7rem;background:white;padding:.5rem 1rem;z-index:2}.skip:focus{top:1rem}.bar,.hero,.layout{max-width:1120px;margin:auto;padding-inline:clamp(1rem,4vw,3rem)}header,footer{border-bottom:1px solid var(--line);background:#faf8f2}.bar{min-height:68px;display:flex;gap:.8rem;justify-content:space-between;align-items:center}nav{display:flex;gap:clamp(.65rem,3vw,1.7rem);font-size:.92rem}nav a,.brand{text-decoration:none}.brand{font-weight:850;color:var(--ink);font-size:1.15rem}.brand small{font-size:.62rem;letter-spacing:.1em;color:var(--green);margin-left:.35rem}.hero{min-height:440px;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;padding-block:clamp(2.4rem,7vw,5rem)}.hero h1{font-size:clamp(2.75rem,8vw,5.2rem)}.eyebrow{color:var(--red);font-weight:800;letter-spacing:.13em;font-size:.76rem;margin:0 0 .55rem}.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0 .75rem}.actions a{padding:.62rem .9rem;border:1px solid var(--green);border-radius:.5rem;font-weight:740;text-decoration:none}.primary{background:var(--green);color:#fff}.secondary{background:#fff}.micro,.check-foot{font-size:.86rem;color:#435953}.stamp{height:240px;width:225px;border:2px solid var(--green);outline:1px dashed var(--green);outline-offset:-12px;border-radius:27% 27% 22% 22%;background:var(--soft);color:var(--green);display:grid;place-content:center;text-align:center;transform:rotate(5deg);font-size:.78rem;letter-spacing:.17em;font-weight:800}.stamp b{font-family:serif;font-size:5rem;line-height:1.4}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(1rem,4vw,3rem);padding-bottom:4rem}aside{align-self:start;position:sticky;top:1rem;border-top:2px solid var(--green);padding-top:1rem}aside a{display:block;padding:.4rem 0;text-decoration:none;font-size:.92rem}aside a:hover{text-decoration:underline}.card{border:1px solid var(--line);border-top:4px solid var(--green);background:#fff;border-radius:.85rem;padding:clamp(1rem,4vw,2rem);box-shadow:0 8px 24px #142b2a0a}.toggle,.checks label{display:flex;gap:.65rem;align-items:center;cursor:pointer;min-height:44px}.toggle{font-weight:750;color:var(--green);margin-bottom:.6rem}input[type=checkbox]{accent-color:var(--green);width:1.2rem;height:1.2rem;flex:none;margin:0}.progress-line,.check-foot{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.progress-line{font-weight:750}progress{width:100%;accent-color:var(--green);height:.85rem}.checks{list-style:none;padding:0}.checks li{border-bottom:1px solid var(--line)}.check-foot p,footer p{margin:0}button{border:1px solid var(--green);background:#fff;color:var(--green);border-radius:.4rem;padding:.5rem .65rem;font:inherit;cursor:pointer;min-height:44px}article,article section{margin-top:2.8rem}article section{border-top:1px solid var(--line);padding-top:1.8rem}.steps{padding-left:1.6rem}.steps li{padding-left:.3rem;margin-bottom:.7rem}.steps li::marker,dt{color:var(--green);font-weight:800}dd{margin:.25rem 0 1.1rem}.sources{font-size:.88rem}.notice{background:var(--soft);border-left:4px solid var(--green);padding:1rem;margin-bottom:1rem}.notice p{margin:.35rem 0 0}footer{border-top:1px solid var(--line);padding-block:1.2rem}footer p{font-size:.86rem}
@media(max-width:720px){.layout{grid-template-columns:1fr}.hero{grid-template-columns:1fr;min-height:auto}.stamp,.wide,.brand small{display:none}aside{position:static;display:flex;flex-wrap:wrap;column-gap:1rem}aside .eyebrow{width:100%}.bar{min-height:58px}}@media(max-width:365px){.check-foot,.bar{flex-wrap:wrap}}
