:root { --ink:#101412; --paper:#f6f3ec; --line:#cfc5b5; --route:#0f7b70; --muted:#5e665f; --panel:rgba(255,252,245,.92); --dark:#121714; }
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:linear-gradient(180deg,#f8f2e7 0%,#f6f3ec 42%,#f0eadf 100%);font-family:"Hiragino Sans","Noto Sans JP",ui-sans-serif,system-ui,sans-serif;line-height:1.72}
a{color:inherit;text-decoration-color:rgba(15,123,112,.45);text-underline-offset:.18em}
nav,footer{padding:24px 28px;border-bottom:1px solid var(--line)}
footer{border-top:1px solid var(--line);border-bottom:0;color:var(--muted);font-size:.9rem}
.wrap{width:min(1040px,100%);margin:0 auto}
.nav-row,.footer-row,.meta-row,.button-row,.nav-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hero{padding:72px 28px 32px}
.hero-card,.section-card,.side-card{border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:24px}
.eyebrow,.kicker{margin:0 0 12px;color:var(--route);font-size:.9rem;font-weight:760;letter-spacing:.06em;text-transform:uppercase}
h1{margin:0;font-size:clamp(2.4rem,5vw,4.6rem);line-height:1}
h2{margin:0 0 14px;font-size:clamp(1.6rem,2.5vw,2.4rem);line-height:1.1}
h3{margin:0 0 10px;font-size:1.15rem}
p{margin:0 0 16px}
.lead{margin-top:18px;max-width:760px;font-size:1.08rem;color:#2f3732}
.pill{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:rgba(15,123,112,.08);color:var(--muted);font-size:.86rem;font-weight:700}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;font-weight:760}
.button.secondary{background:transparent;color:var(--ink);border-color:rgba(16,20,18,.28)}
main{padding:8px 28px 92px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.section-card + .section-card{margin-top:18px}
.callout{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fffaf0;margin:18px 0}
.checklist{margin:18px 0 0;padding-left:1.2rem}
pre,code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.code-block{margin:18px 0;padding:20px;border-radius:16px;overflow-x:auto;background:var(--dark);color:#e9f6ef;line-height:1.65}
ul,ol{margin:0;padding-left:1.2rem}
li+li{margin-top:8px}
@media (max-width:900px){.layout{grid-template-columns:1fr}}
@media (max-width:720px){nav,footer,.hero,main{padding-left:20px;padding-right:20px}}

