:root{color-scheme:light;--paper:#f5f3ed;--ink:#18332f;--muted:#556b65;--line:#ced7cc;--green:#245f4c;--wash:#e8eddf;--orange:#ad4a26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif}a{color:var(--green);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.shell{max-width:1120px;margin:auto;padding:0 32px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0;border-bottom:1px solid var(--line);font-size:14px}.topbar a{text-decoration:none}.brand{font-weight:750;letter-spacing:.03em}.topbar nav{display:flex;gap:24px}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;padding:68px 0 52px;align-items:center}.eyebrow{font:700 12px/1.5 ui-monospace,monospace;letter-spacing:.15em;color:var(--green);text-transform:uppercase}h1{font-size:clamp(36px,4.6vw,58px);line-height:1.3;letter-spacing:-.035em;margin:20px 0 24px}h1 em{font-style:normal;color:var(--green)}.lead{font-size:18px;line-height:1.95;max-width:44em}.meta,.small{font-size:13px;color:var(--muted)}.hero-note{padding:28px;background:var(--green);color:#fff;border-radius:4px}.hero-note .eyebrow{color:#d6e6b4}.hero-note strong{font-size:24px;display:block;line-height:1.55}.hero-note p{color:#e3ebdf;font-size:14px}.flow{display:grid;grid-template-columns:repeat(4,1fr);margin:28px 0 0;padding:0;list-style:none;gap:4px}.flow li{font-size:12px;text-align:center;padding:10px 3px;border:1px solid #7c9a86}.toc{display:flex;gap:12px 28px;flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.toc a{text-decoration:none}.section{padding:48px 0;border-bottom:1px solid var(--line)}.section-head{display:flex;gap:20px;align-items:baseline;margin-bottom:20px}.num{font:14px ui-monospace,monospace;color:var(--orange)}h2{font-size:clamp(23px,3vw,31px);line-height:1.5;margin:0;letter-spacing:-.02em}h3{font-size:18px;margin:0 0 10px;line-height:1.6}p{margin:0 0 16px}.section>p{max-width:80ch}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.card{padding:24px;border:1px solid var(--line);background:#fffef9;min-width:0;border-radius:4px}.card .tag{display:inline-block;font:700 11px ui-monospace,monospace;letter-spacing:.1em;color:var(--green);margin-bottom:16px}.card p,.card li{font-size:14px;color:var(--muted)}.card strong{color:var(--ink)}.price{display:block;font-size:23px;margin:12px 0 4px}.note{border-left:3px solid var(--green);background:var(--wash);padding:18px 22px;margin:20px 0;font-size:14px}.table-wrap{max-width:100%;overflow:auto;margin:24px 0}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}caption{text-align:left;font-size:13px;color:var(--muted);padding:0 0 12px}th,td{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top;min-width:125px}thead{background:var(--wash)}th{font-weight:650}.calculator{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;padding:30px;background:#fffef9;border:1px solid var(--line);margin:24px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:13px;font-weight:650}input,select{display:block;margin-top:6px;width:100%;font:inherit;font-weight:400;padding:11px 12px;border:1px solid #9daa9b;background:#fff;color:var(--ink);border-radius:3px;min-height:48px}.results{margin:0;display:grid;gap:10px}.results div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:5px 0}.results dt{font-size:13px}.results dd{margin:0;font-variant-numeric:tabular-nums;font-weight:700}.results .hourly{background:var(--wash);padding:14px}.hourly dd{font-size:24px;line-height:1.4}#calc-error{color:#a33215;font-size:13px;margin:10px 0 0}.steps{counter-reset:step;list-style:none;padding:0;margin:24px 0;display:grid;gap:18px}.steps li{counter-increment:step;position:relative;padding:0 0 0 42px}.steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:2px;font:14px ui-monospace,monospace;color:var(--orange)}.steps strong{display:block}.steps p{font-size:14px;color:var(--muted);margin:4px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px}.template{white-space:pre-wrap;background:var(--wash);padding:22px;font-size:14px;line-height:1.9;border:1px solid var(--line)}.checklist{padding-left:22px;font-size:14px}.checklist li{margin:10px 0}.sources{font-size:13px;padding-left:22px}.sources li{margin:10px 0;overflow-wrap:anywhere}footer{padding:32px 0 80px;color:var(--muted);font-size:13px;display:flex;flex-wrap:wrap;gap:12px 24px}.button{display:inline-block;margin:8px 10px 0 0;background:var(--green);color:#fff;padding:10px 18px;text-decoration:none;border-radius:3px;font-size:14px}.button.secondary{background:var(--wash);color:var(--green)}@media(max-width:800px){.hero{grid-template-columns:1fr;gap:20px;padding:40px 0 32px}.hero-note{max-width:none}.cards{grid-template-columns:1fr}.calculator,.split{grid-template-columns:1fr}.card{padding:22px}.shell{padding:0 20px}.section{padding:36px 0}.topbar nav{gap:14px}.calculator{padding:20px;gap:20px}h1{font-size:39px}}@media(max-width:400px){.fields{grid-template-columns:1fr}.topbar{font-size:12px}h1{font-size:34px}.section-head{gap:12px}.flow li{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.shell{max-width:none}.hero{padding-top:20px}.toc,.button{display:none}.card,.calculator{break-inside:avoid}body{font-size:12px}}
