:root{color-scheme:light;--ink:#2f2227;--muted:#77666d;--rose:#9d3c5c;--rose-dark:#712941;--blush:#f9ebf0;--cream:#fffaf7;--surface:#fff;--line:#ead8de;--gold:#a9782d;--warning:#fff7df;--shadow:0 18px 46px rgba(91,46,62,.09)}
*{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(--rose-dark);text-underline-offset:3px}
a:hover{color:var(--rose)}
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(234,216,222,.94);background:rgba(255,250,247,.96);backdrop-filter:blur(14px)}
.brand{color:var(--ink);font-size:22px;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}
.content-width,.hero,.page-intro,.policy-card,.section-block,.checker{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.hero{padding:94px 0 72px}
.hero h1,.page-intro h1,.policy-card h1,.content-width>h1{max-width:920px;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:830px;color:var(--muted);font-size:19px}
.eyebrow{margin:0;color:var(--rose);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{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:1px solid var(--rose-dark);border-radius:10px;background:var(--rose-dark);color:#fff;padding:10px 17px;font-weight:800;text-decoration:none;cursor:pointer}
.button:hover{background:var(--rose);color:#fff}
.button.secondary{background:transparent;color:var(--rose-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,.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.guide-card,.feature-grid>article{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(91,46,62,.04)}
.guide-card h3,.feature-grid 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(--rose)}
.step-list span{color:var(--muted)}
.callout,.notice,.summary-box,.mistake-box,.checklist-box,.official-source-panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:22px}
.callout,.notice{background:var(--blush)}
.callout h2,.official-source-panel h2{margin-top:0}
.page-intro{padding:72px 0 24px}
.page-intro h1,.policy-card h1,.content-width>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}
main.content-width:not(:has(.hero)):not(:has(.page-intro)):not(:has(.policy-card)){max-width:860px;margin-top:54px;margin-bottom:72px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:clamp(24px,5vw,58px);box-shadow:var(--shadow)}
main.content-width>p:first-of-type:not(.eyebrow){font-size:19px;color:var(--muted)}
.article-kicker,.article-meta,.small-muted{color:var(--muted);font-size:14px}
main.content-width h2{margin:38px 0 12px;font-size:26px;line-height:1.3}
main.content-width h3{margin:24px 0 8px;font-size:21px}
main.content-width p{margin:10px 0}
table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:15px}
th,td{min-width:130px;border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}
th{background:#fff5f8}
.summary-box{margin:24px 0;border-left:5px solid var(--rose);background:var(--blush)}
.mistake-box,.checklist-box,.official-source-panel{margin:28px 0}
.mistake-box{background:var(--warning)}
.checklist-box{background:#f3f8ff}
.official-source-panel{border-left:5px solid var(--rose)}
.official-source-panel ul{padding-left:22px}
.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:#fffafb;cursor:pointer}
.checker input{width:20px;height:20px;margin-top:3px;accent-color:var(--rose)}
.checker-result{margin:20px 0;border-radius:10px;background:var(--blush);padding:18px}
.checker-result strong{font-size:23px}
.site-footer{border-top:1px solid var(--line);background:#f7edf0;padding:42px max(24px,calc((100vw - 1120px)/2))}
.footer-inner{display:flex;justify-content:space-between;gap:28px}
.footer-inner>div{display:grid;max-width:620px;gap:5px}
.footer-inner span{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,.feature-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,.feature-grid{grid-template-columns:1fr}.step-list li{grid-template-columns:1fr;gap:4px}.source-directory{grid-template-columns:1fr}main.content-width:not(:has(.hero)):not(:has(.page-intro)):not(:has(.policy-card)){width:calc(100% - 24px);padding:24px 18px}.button-row .button{width:100%}}
