:root{color-scheme:light;--ink:#17251f;--muted:#5f6f67;--green:#0c7255;--green-dark:#075541;--mint:#e8f5ef;--cream:#fbfaf5;--surface:#fff;--line:#d9e3dc;--warning:#fff6dc;--shadow:0 16px 42px rgba(20,54,42,.08)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-size:17px;line-height:1.72;word-break:keep-all}
a{color:var(--green-dark);text-underline-offset:3px}
a:hover{color:var(--green)}
img{max-width:100%;height:auto}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px}
.skip-link:focus{left:8px}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid rgba(217,227,220,.92);background:rgba(251,250,245,.96);backdrop-filter:blur(14px)}
.brand-text{color:var(--ink);font-size:21px;font-weight:900;text-decoration:none;white-space:nowrap}
.primary-nav,.footer-links{display:flex;flex-wrap:wrap;gap:10px 22px}
.primary-nav a,.footer-links a{font-size:15px;font-weight:700;text-decoration:none}
.site-main{min-height:62vh}
.hero,.page-intro,.policy-card,.section-block,.article-shell,.breadcrumb,.checker{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.hero{padding:94px 0 72px}
.hero h1,.page-intro h1,.policy-card h1,.article-shell h1{max-width:900px;margin:10px 0 18px;font-size:clamp(38px,6vw,66px);line-height:1.08;letter-spacing:-.025em}
.hero-lead,.page-intro>p,.policy-card>p:first-of-type{max-width:800px;color:var(--muted);font-size:19px}
.eyebrow{margin:0;color:var(--green);font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.button,.inline-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:1px solid var(--green-dark);border-radius:10px;background:var(--green-dark);color:#fff;padding:10px 17px;font-weight:800;text-decoration:none;cursor:pointer}
.button:hover,.inline-button:hover{background:var(--green);color:#fff}
.button.secondary{background:transparent;color:var(--green-dark)}
.section-block{padding:38px 0 70px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.section-heading h2,.section-block>h2{margin:3px 0;font-size:32px;line-height:1.2}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.guide-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:24px;box-shadow:0 8px 24px rgba(20,54,42,.04)}
.guide-card h3{margin:8px 0 10px;font-size:21px;line-height:1.35}
.guide-card h3 a{text-decoration:none}
.guide-card .card-summary{display:-webkit-box;overflow:hidden;margin:0 0 18px;color:var(--muted);font-size:15px;-webkit-box-orient:vertical;-webkit-line-clamp:4}
.guide-card .text-link{margin-top:auto;font-weight:800}
.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:26px;align-items:start}
.step-list{display:grid;gap:12px;padding:0;list-style:none;counter-reset:step}
.step-list li{display:grid;grid-template-columns:170px 1fr;gap:18px;border-top:1px solid var(--line);padding:18px 0;counter-increment:step}
.step-list strong:before{content:"0" counter(step) " · ";color:var(--green)}
.step-list span{color:var(--muted)}
.notice,.summary-box,.mistake-box,.checklist-box,.official-source-panel,.editor-box,.answer-box{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:22px}
.notice{background:var(--mint)}
.notice h2,.official-source-panel h2{margin-top:0}
.page-intro{padding:72px 0 24px}
.page-intro h1,.policy-card h1,.article-shell h1{font-size:clamp(34px,5vw,52px)}
.policy-card,.checker{margin-top:62px;margin-bottom:70px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:clamp(24px,5vw,54px);box-shadow:var(--shadow)}
.policy-card h2{margin:36px 0 8px;font-size:26px}
.policy-card li{margin:7px 0}
.source-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;list-style:none}
.source-directory li{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;padding:16px}
.source-directory a{font-weight:900}
.source-directory span{color:var(--muted);font-size:14px}
.sitemap-list{columns:2;gap:36px;padding-left:22px}
.sitemap-list li{break-inside:avoid;margin:7px 0;overflow-wrap:anywhere}
.breadcrumb{padding-top:32px;color:var(--muted);font-size:14px}
.article-shell{max-width:860px;margin-top:34px;margin-bottom:72px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:clamp(24px,5vw,58px);box-shadow:var(--shadow)}
.article-shell>p:first-of-type:not(.eyebrow){font-size:19px;color:var(--muted)}
.article-meta,.small-muted{color:var(--muted);font-size:14px}
.toc{margin:24px 0;border:1px solid var(--line);border-radius:10px;background:#fafcfb;padding:18px 22px}
.toc ol{margin-bottom:0}
.article-body h2,.article-shell h2{margin:38px 0 12px;font-size:26px;line-height:1.3}
.article-body h3{margin:24px 0 8px;font-size:21px}
.article-body p{margin:10px 0}
.summary-box{margin:24px 0;border-left:5px solid var(--green);background:var(--mint)}
.decision-table{width:100%;border-collapse:collapse;font-size:15px}
.decision-table th,.decision-table td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}
.decision-table th{width:25%;background:#f3f7f4}
.mistake-box,.checklist-box,.official-source-panel,.editor-box{margin:28px 0}
.mistake-box{background:var(--warning)}
.checklist-box{background:#f3f8ff}
.official-source-panel{border-left:5px solid var(--green)}
.official-source-panel ul{padding-left:22px}
.faq-list{margin-top:30px}
.faq-item{border-top:1px solid var(--line);padding:10px 0}
.faq-item h3{font-size:19px}
.checker fieldset{display:grid;gap:10px;border:0;padding:0}
.checker legend{margin-bottom:16px;font-size:24px;font-weight:900}
.checker label{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:14px;background:#fafcfb;cursor:pointer}
.checker input{width:20px;height:20px;margin-top:3px;accent-color:var(--green)}
.checker-result{margin:20px 0;border-radius:10px;background:var(--mint);padding:18px}
.checker-result strong{font-size:23px}
.site-footer{border-top:1px solid var(--line);background:#eff4f0;padding:42px max(24px,calc((100vw - 1120px)/2))}
.footer-inner{display:flex;justify-content:space-between;gap:28px}
.footer-inner>div{max-width:620px}
.footer-inner p{margin:6px 0;color:var(--muted);font-size:14px}
.text-link{font-weight:800}
@media(max-width:900px){.site-header{position:static;align-items:flex-start;flex-direction:column;gap:12px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.footer-inner{flex-direction:column}.sitemap-list{columns:1}}
@media(max-width:620px){body{font-size:16px;word-break:normal}.site-header{padding:15px 20px}.primary-nav{gap:8px 15px}.primary-nav a{font-size:14px}.hero{padding:60px 0 44px}.card-grid{grid-template-columns:1fr}.step-list li{grid-template-columns:1fr;gap:4px}.source-directory{grid-template-columns:1fr}.article-shell{width:calc(100% - 24px);padding:24px 18px}.decision-table{display:block;overflow-x:auto}.button-row .button{width:100%}}
