/* V9 topic pages: inherit the approved paper / ink / sage system. */
.topic-hero { padding:48px 0 72px; }
.topic-hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:center; gap:64px; }
.topic-hero h1 { font-size:clamp(48px,4.7vw,72px); max-width:690px; }
.topic-hero .hero-intro { max-width:530px; }
.topic-hero .hero-actions { flex-wrap:wrap; }
.topic-hero .hero-note { max-width:500px; color:var(--muted); font-size:13px; }
.topic-hero .hero-note a { text-decoration:underline; text-underline-offset:3px; }
.topic-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; color:var(--muted); font-size:12px; }
.topic-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; }
.topic-breadcrumb a:hover { color:var(--green); }
.topic-breadcrumb span { align-self:center; }
.topic-illustration { margin:0; min-width:0; padding:28px; border-radius:12px; background:var(--sage); }
.topic-illustration>figcaption { font-size:11px; color:var(--muted); letter-spacing:.08em; padding-bottom:24px; }
.topic-document { padding:30px; background:var(--surface); border:1px solid var(--line); border-radius:5px; box-shadow:9px 9px 0 var(--line); }
.topic-document-top { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-bottom:18px; margin-bottom:24px; border-bottom:1px solid var(--line); font-size:11px; color:var(--muted); }
.topic-document h2 { font-size:34px; line-height:1.15; letter-spacing:-.04em; }
.topic-document .document-intro { font-size:13px; line-height:1.7; color:var(--muted); margin-top:12px; }
.capability-drawing { color:var(--green); width:100%; height:125px; margin:20px 0; }
.topic-document dl { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:20px 0 0; }
.topic-document dt { font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.07em; }
.topic-document dd { margin:5px 0 0; font-size:13px; }
.document-footnote { margin-top:24px; padding-top:16px; border-top:1px solid var(--line); font-size:11px; color:var(--green); }
.catalog-index { display:grid; grid-template-columns:30px 1fr auto; gap:12px; padding:18px 0; align-items:center; border-bottom:1px solid var(--line); }
.catalog-index>span { color:var(--quiet); font-size:11px; }
.catalog-index strong { display:block; font-size:14px; font-weight:600; }
.catalog-index small { display:block; font-size:11px; color:var(--muted); margin-top:2px; }
.catalog-index>b { color:var(--green); font-size:12px; font-weight:500; }
.catalog-index.is-focus { background:var(--success-surface); margin-inline:-14px; padding-inline:14px; }
.topic-outline { border-block:1px solid var(--line); }
.topic-outline-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.topic-outline article { display:flex; align-items:baseline; gap:18px; padding:26px 28px; }
.topic-outline article:first-child { padding-left:0; }
.topic-outline article+article { border-left:1px solid var(--line); }
.topic-outline article>span { font-size:11px; color:var(--green); }
.topic-outline h2 { font-size:17px; font-weight:500; letter-spacing:-.02em; line-height:1.4; }
.topic-outline p { font-size:12px; color:var(--muted); margin-top:5px; }
.topic-content { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
.topic-content .section-intro { margin-top:26px; }
.topic-checklist { list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.topic-checklist li { display:grid; grid-template-columns:28px 1fr; gap:18px; padding:26px 0; border-bottom:1px solid var(--line); }
.topic-checklist li>span { font-size:12px; color:var(--green); padding-top:3px; }
.topic-checklist h3 { font-size:22px; font-weight:500; letter-spacing:-.03em; }
.topic-checklist p { font-size:15px; line-height:1.75; color:var(--muted); margin-top:10px; }
.topic-fit { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); margin-top:48px; border-radius:8px; overflow:hidden; }
.topic-fit article { padding:28px 32px; }
.topic-fit article:first-child { background:var(--sage); }
.topic-fit h3 { font-size:17px; font-weight:600; margin-bottom:12px; }
.topic-fit p { font-size:14px; line-height:1.8; color:var(--muted); }
.topic-related { padding-block:42px; border-top:1px solid var(--line); }
.topic-related>div { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.topic-related p { font-size:15px; color:var(--muted); max-width:520px; }
.topic-related .text-link { flex:none; }
.topic-page .price-card ul { min-height:180px; }
.topic-page .footer-bottom nav { flex-wrap:wrap; }
.topic-page .footer-bottom nav a { display:inline-flex; align-items:center; min-height:44px; }
.topic-page .request-notice summary { min-height:56px; }
.topic-page .faq-list summary:hover { color:var(--green); }
.topic-page .topic-document h2 { font-size:34px; }
.topic-page[data-locale="zh-CN"] p { line-height:1.8; }
.topic-page[data-locale="zh-CN"] .topic-hero h1 { font-size:clamp(40px,4.4vw,62px); }
.topic-page[data-locale="zh-CN"] .topic-outline h2 { font-size:17px; }
.topic-page[data-locale="zh-CN"] .topic-document h2 { font-size:30px; }
.topic-page .topic-illustration { animation:chip-in .6s var(--ease) both; }
@media(max-width:1100px) {
 .topic-hero-grid { gap:38px; } .topic-document { padding:24px; }
 .topic-content { gap:50px; } .topic-illustration { padding:22px; }
}
@media(max-width:900px) {
 .topic-hero-grid { grid-template-columns:1fr; gap:42px; }
 .topic-hero h1 { max-width:760px; } .topic-hero .hero-intro { max-width:680px; }
 .topic-illustration { max-width:650px; width:100%; }
 .topic-content { grid-template-columns:1fr; gap:36px; }
 .topic-content .section-intro { max-width:680px; }
 .topic-outline article { padding-inline:18px; gap:12px; }
}
@media(max-width:600px) {
 .topic-page .topic-illustration { animation:none; transform:none; }
 .topic-hero { padding:18px 0 45px; } .topic-breadcrumb { margin-bottom:20px; font-size:11px; }
 .topic-hero h1 { font-size:48px; } .topic-hero .hero-intro { font-size:16px; }
 .topic-hero .hero-actions { gap:12px 24px; }
 .topic-hero .hero-actions .button { font-size:14px; min-height:48px; }
 .topic-hero .hero-actions .text-link { font-size:14px; }
 .topic-hero .hero-note { font-size:12px; } .topic-illustration { padding:20px 16px 25px; }
 .topic-illustration>figcaption { font-size:10px; padding-bottom:17px; }
 .topic-document { padding:22px 18px; } .topic-document-top { font-size:10px; }
 .topic-page .topic-document h2 { font-size:30px; }
 .topic-page[data-locale="zh-CN"] .topic-document h2 { font-size:27px; }
 .topic-outline-inner { grid-template-columns:1fr; }
 .topic-outline article,.topic-outline article:first-child { padding:19px 0; }
 .topic-outline article+article { border-left:0; border-top:1px solid var(--line); }
 .topic-outline h2 { font-size:17px; } .topic-outline p { font-size:13px; }
 .topic-fit { grid-template-columns:1fr; margin-top:32px; }
 .topic-fit article { padding:24px; } .topic-fit p { font-size:15px; }
 .topic-checklist h3 { font-size:21px; } .topic-checklist li { gap:12px; }
 .topic-page .pricing-grid { grid-template-columns:1fr; }
 .topic-page .price-card { padding:26px; } .topic-page .price-card ul { min-height:0; }
 .topic-page .price-card>p,.topic-page .price-card li { font-size:14px; }
 .topic-page .price-card .button { font-size:14px; min-height:48px; }
 .topic-related>div { flex-direction:column; align-items:flex-start; gap:14px; }
 .topic-related .text-link { white-space:normal; }
 .topic-page .faq-list summary { font-size:16px; } .topic-page .faq-list details>p { font-size:15px; }
 .topic-page .scope-note p { font-size:15px; } .topic-page .form-fields label>span { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .topic-page .topic-illustration { animation:none; } }
