.narrow{max-width:860px}
.art{padding:40px 0 20px;overflow-x:hidden}
.crumbs{font-size:.85rem;color:var(--smoke);margin:10px 0 24px;overflow-wrap:anywhere}
.crumbs a{color:var(--smoke)}.crumbs span{margin:0 4px}
.ahead{margin-bottom:24px}.ahead h1{font-size:clamp(1.9rem,5vw,3.1rem);line-height:1.08;margin:12px 0;overflow-wrap:anywhere;hyphens:auto}
.ahead .meta,.lead2{color:var(--smoke)}
.hero-img{position:relative;margin:0 0 28px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.hero-img img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.ai{position:absolute;right:10px;bottom:10px;font-size:.7rem;background:#fff;color:#111;padding:3px 9px;border-radius:99px;font-weight:600;z-index:2}
.toc{background:var(--ash);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin:0 0 28px}
.toc summary{cursor:pointer;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--gold);display:flex;align-items:center;gap:10px;list-style:none}
.toc summary img{border-radius:50%}.toc ol{margin:12px 0 0;padding-left:22px}.toc li{margin:6px 0}.toc a{color:var(--bone)}
.prose{font-size:1.07rem;line-height:1.75;overflow-wrap:break-word}
.prose h2{font-size:clamp(1.4rem,3.4vw,2rem);margin:44px 0 14px;line-height:1.2;scroll-margin-top:90px}
.prose h3{font-size:1.25rem;margin:28px 0 10px;color:var(--gold)}
.prose p{margin:0 0 16px}.prose ul,.prose ol{padding-left:22px;margin:0 0 18px}.prose li{margin:6px 0}
.prose a,.faq a,.tipbox a,.small a{color:var(--fire);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.prose a.ext{color:var(--gold);font-weight:700;text-decoration-thickness:2px}
.prose strong{color:var(--bone)}
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:22px 0;border:1px solid var(--line);border-radius:var(--r)}
.tbl table{border-collapse:collapse;width:100%;min-width:520px;font-size:.96rem}
.tbl th{background:var(--ember);color:#fff;text-align:left;padding:11px 14px;font-family:Oswald,sans-serif;letter-spacing:.03em}
.tbl td{padding:10px 14px;border-top:1px solid var(--line)}.tbl tr:nth-child(even) td{background:var(--ash)}
.faq{margin:40px 0}.faq h2{margin-bottom:16px}
.faq details{background:var(--ash);border:1px solid var(--line);border-radius:var(--r);margin:10px 0;overflow:hidden}
.faq summary{cursor:pointer;padding:16px 48px 16px 18px;font-weight:700;position:relative;list-style:none}
.faq summary::-webkit-details-marker,.toc summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:18px;top:12px;font-size:1.5rem;color:var(--fire)}
.faq details[open] summary:after{content:"–"}.faq details>div{padding:0 18px 14px;color:var(--smoke)}
.tipbox{display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,var(--iron),var(--ash));border:1px solid var(--line);border-left:4px solid var(--fire);border-radius:var(--r);padding:18px;margin:30px 0}
.tipbox img{border-radius:50%;flex:none}.tipbox p{margin:4px 0 0}
.adnote{font-size:.88rem;color:var(--smoke);border:1px dashed var(--line);border-radius:10px;padding:10px 14px}
.gal h2{font-size:1.5rem;margin:40px 0 14px}.galg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.galg img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.more{text-align:center;margin-top:28px}
.calc{display:grid;gap:14px;background:var(--ash);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.calc label{display:grid;gap:6px;font-weight:600}
.calc input,.calc select{background:var(--coal);color:var(--bone);border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;width:100%;min-width:0}
.calc output{display:block;font-size:1.15rem;color:var(--gold);line-height:1.6}
.calc output:empty{display:none}
.small{font-size:.9rem;color:var(--smoke);margin-top:12px}
.results{list-style:none;padding:0;margin:24px 0}.results li{border-bottom:1px solid var(--line);padding:14px 0}
.results a{color:var(--fire);font-weight:700}.results p{margin:4px 0 0;color:var(--smoke)}
@media (max-width:600px){.galg{grid-template-columns:1fr 1fr}.tipbox{flex-direction:column;align-items:flex-start}.art{padding-top:20px}}
