.art{max-width:720px;margin-inline:auto}
.art-head{padding-block:clamp(36px,6vw,64px) 8px}
.art-head h1{font-size:clamp(34px,5.2vw,56px);line-height:1.07;letter-spacing:-.035em}
.art-head .lead{margin:18px 0 0;max-width:none;text-align:left}
.meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:18px;font-size:14px;color:var(--muted)}
.art-body{padding-bottom:40px}
.art-body h2{font-size:clamp(26px,3.4vw,34px);letter-spacing:-.028em;line-height:1.15;margin:52px 0 12px}
.art-body h3{font-size:21px;letter-spacing:-.02em;margin:30px 0 8px}
.art-body p,.art-body li{font-size:19px;line-height:1.6;color:#333336}
.art-body p{margin:14px 0 0}
.art-body ul,.art-body ol{padding-left:1.2em;margin:12px 0 0}
.art-body li{margin:8px 0}
.art-body li::marker{color:var(--soft)}
.art-body strong{color:var(--ink)}
.toc{background:var(--gray);border-radius:18px;padding:20px 24px;margin-top:30px}
.toc b{font-size:15px;color:var(--muted);font-weight:600}
.toc ol{margin:8px 0 0;padding-left:1.2em}
.toc li{font-size:17px;margin:6px 0}
.tldr{border-left:3px solid var(--blue);padding:4px 0 4px 18px;margin-top:26px}
.tldr p{margin:0;font-size:19px}
.box{background:var(--gray);border-radius:22px;padding:24px 26px;margin-top:28px}
.box h3{margin-top:0}
.box p:first-of-type{margin-top:6px}
.note{font-size:15px!important;color:var(--muted)!important;margin-top:36px!important;padding-top:18px;border-top:1px solid #E8E8ED}
.tbl{overflow-x:auto;margin-top:18px;border-radius:16px;box-shadow:0 0 0 1px #E8E8ED}
.tbl table{width:100%;border-collapse:collapse;min-width:560px;font-size:16px}
.tbl th,.tbl td{padding:12px 14px;text-align:left;border-bottom:1px solid #E8E8ED;vertical-align:top}
.tbl th{background:var(--gray);font-weight:600}
.tbl tr:last-child td{border-bottom:0}
.faq-a h3{margin-top:26px}
.src li{font-size:16px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:28px}
.card{display:flex;flex-direction:column;gap:8px;background:var(--gray);border-radius:22px;padding:26px 24px;color:var(--ink)}
.card:hover{text-decoration:none;transform:translateY(-3px)}
.card{transition:transform .3s}
.card small{color:var(--orange);font-weight:600;font-size:14px}
.card b{font-size:22px;letter-spacing:-.025em;line-height:1.2}
.card span{color:var(--muted);font-size:16px}
.card em{font-style:normal;color:var(--link);margin-top:auto;padding-top:8px}
.bg-gray .card{background:#fff}
.check{list-style:none;padding-left:0!important}
