/* Crawlable topic pages retain the guide's typography and visual language. */
.topic-page-index{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:28px;max-width:1120px;margin:32px auto 42px;padding:30px;border:1px solid #d8d8cf;border-radius:8px;background:#f5f4ee;color:#34473b}
.topic-page-index small{font-size:12px;letter-spacing:.13em;color:#69786b}
.topic-page-index h2{margin:8px 0 6px;font:500 clamp(22px,2.4vw,31px)/1.45 var(--brand-sans)}
.topic-page-index p{margin:0 0 24px;line-height:1.8;color:#5c675e}
.topic-page-index-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.topic-page-index-links a,.topic-page-nav .tabs a,.topic-page-mobile a{color:inherit;text-decoration:none}
.topic-page-index-links a{display:flex;align-items:center;gap:12px;min-width:0;min-height:56px;padding:12px 16px;border:1px solid #d8d8cf;border-radius:4px;background:#fffefa;line-height:1.55;overflow-wrap:break-word}
.topic-page-index-links a:hover,.topic-page-index-links a:focus-visible{border-color:#728d77;background:#e8efe8}
.topic-page-index-links a>span:first-child{flex:0 0 auto;font-size:11px;color:#758677}
.topic-page-index-links .topic-label{min-width:0}
body.topic-page .topic-page-nav .tabs a{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:center;width:100%;min-height:50px;padding:10px 13px;border-left:3px solid transparent;border-radius:4px;font-size:14px;line-height:1.6;color:#565d55}
body.topic-page .topic-page-nav .tabs a>span:first-child{font-size:11px;color:#7d887d}
body.topic-page .topic-page-nav .tabs a:hover,body.topic-page .topic-page-nav .tabs a:focus-visible{background:#e7e9e1;outline:2px solid #54705b;outline-offset:-2px}
body.topic-page .topic-page-nav .tabs a[aria-current="page"]{background:#e0e8de;border-left-color:#354d3d;color:#294031;font-weight:600}
body.topic-page .topic-page-nav .tabs .topic-home{display:block;margin:0 0 14px;border-bottom:1px solid #d4d9d1;border-radius:0;color:#3a5644}
body.topic-page .topic-page-mobile{display:none}
body.topic-page #main{padding-top:18px}
body.topic-page .tab-panel{display:block;min-width:0}
body.topic-page .tab-panel[hidden]{display:none}
body.topic-page .panel-heading{scroll-margin-top:110px}
@media(max-width:1100px){.topic-page-index-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 .topic-page-index{grid-template-columns:minmax(0,1fr);gap:16px;margin:20px auto 30px;padding:22px 18px}
 .topic-page-index p{margin-bottom:0}
 .topic-page-index-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .topic-page-index-links a{min-height:62px;padding:10px 11px;gap:8px;font-size:14px;line-height:1.5}
 body.topic-page .topic-page-nav{padding:0 18px}
 body.topic-page .topic-page-nav .tabs{display:none}
 body.topic-page .topic-page-mobile{display:block}
 body.topic-page .topic-page-mobile summary{min-height:54px;display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;color:#304c39;font-size:15px;font-weight:600}
 body.topic-page .topic-page-mobile summary::-webkit-details-marker{display:none}
 body.topic-page .topic-page-mobile summary::after{content:'⌄';margin-left:auto;font-size:22px;font-weight:400;flex-shrink:0}
 body.topic-page .topic-page-mobile[open] summary::after{content:'⌃'}
 body.topic-page .topic-page-mobile nav{display:grid;grid-template-columns:minmax(0,1fr);max-height:64dvh;overflow-y:auto;padding:4px 0 14px}
 body.topic-page .topic-page-mobile a{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px;border-top:1px solid #e0e3db;font-size:15px;line-height:1.55}
 body.topic-page .topic-page-mobile a[aria-current="page"]{background:#e0e8de;font-weight:600}
 body.topic-page .topic-page-mobile a>span:first-child{font-size:11px;color:#788479}
 body.topic-page .topic-page-mobile .topic-label{min-width:0;flex:1}
 .topic-page-index-links .topic-category,body.topic-page .topic-page-mobile .topic-category,body.topic-page .topic-page-nav .topic-category{display:block;font-size:12px;line-height:1.35;color:#526b58;font-weight:600}
 .topic-page-index-links .topic-name,body.topic-page .topic-page-mobile .topic-name,body.topic-page .topic-page-nav .topic-name{display:block;font-size:inherit;color:inherit}
 body.topic-page #main{padding-top:8px}
 body.topic-page .panel-heading{scroll-margin-top:75px}
}
@media print{body.topic-page .topic-page-nav,.topic-page-index{display:none!important}}
