/* Scoped to selected hubs and the two article pilots; no global article restyling. */
.structure-page .structure-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:40px;align-items:start}
.structure-page .structure-prose{min-width:0}
.structure-page .structure-toc{position:sticky;top:88px;max-height:calc(100dvh - 112px);overflow:auto;padding:0 8px 8px 0;font-size:14px;line-height:1.5}
.structure-page .structure-toc p{font-weight:600;margin:0 0 12px}
.structure-page .structure-toc a,.structure-page .structure-mobile-toc a{display:block;padding:9px 0;color:var(--text-secondary);text-decoration:none}
.structure-page .structure-toc a:hover,.structure-page .structure-mobile-toc a:hover{text-decoration:underline;color:var(--sage)}
.structure-page .structure-mobile-toc{display:none}
.structure-page h2[id]{scroll-margin-top:88px}
.structure-page .calc-hub-category-title{font-size:22px;font-weight:500;line-height:1.3;margin:0}
.structure-page .calc-hub-category-header{flex-wrap:wrap}
.structure-page .calc-hub-list-item{background:transparent;border-radius:0;border:0;border-top:1px solid var(--border);padding:18px 0;transform:none;box-shadow:none}
.structure-page .calc-hub-list-icon,.structure-page .calc-hub-category-icon{display:none}
.structure-page .calc-hub-list-name{font-size:19px;line-height:1.4;font-weight:500}
.structure-page .calc-hub-list-desc{font-size:16px;line-height:1.6;color:var(--text-secondary)}
.structure-page .calc-hub-list-item:hover{transform:none;box-shadow:none}
.structure-page .hub-entry-points{margin:0 0 32px;padding:0 0 24px;border-bottom:1px solid var(--border);font-size:18px;line-height:1.9}
.structure-page .hub-entry-points h2{font-size:26px;margin:0 0 12px;font-weight:500}
.structure-page .hub-entry-points a{color:var(--sage);text-underline-offset:4px}
.structure-page .calcs-hub-container{max-width:1160px}
.structure-page .article-container{max-width:1100px}
.structure-page .article-header{max-width:760px}
.structure-page .article-content{font-size:18px;line-height:1.8;max-width:74ch}
.structure-page .article-content h2{margin-top:40px;padding-top:20px;border-top:1px solid var(--border);font-size:28px;line-height:1.3}
.article-pilot .article-hero{height:240px;max-width:760px;margin:24px 0 32px}
.article-pilot .article-hero-img{width:100%;height:100%;object-fit:cover}
.structure-page .scenario-cards{display:block!important}
.structure-page .scenario-card{padding:20px 0!important;border:0!important;border-top:1px solid var(--border)!important;border-radius:0!important}
.structure-page .scenario-card:hover strong{text-decoration:underline;text-underline-offset:4px}
.structure-page table{display:block;max-width:100%;overflow-x:auto}
.structure-page :is(a,button,input,summary):focus-visible{outline:3px solid var(--sage);outline-offset:4px}
.structure-page [hidden]{display:none!important}
.food-search{max-width:720px;margin:0 0 28px}
.food-search label{display:block;font-weight:500;margin-bottom:8px}
.food-search>div{display:flex;gap:10px}
.food-search input{min-width:0;flex:1;background:white;color:inherit;border:1px solid var(--border);border-radius:6px;padding:12px;font:inherit}
.food-search button{background:white;color:inherit;border:1px solid var(--border);border-radius:6px;padding:10px 16px;font:inherit;cursor:pointer}
.food-search p{font-size:14px;margin-top:10px}
@media(max-width:900px){
 .structure-page .structure-layout{display:block}
 .structure-page .structure-toc{display:none}
 .structure-page .structure-mobile-toc{display:block;margin:0 0 28px;border-block:1px solid var(--border);padding:10px 0}
 .structure-page .structure-mobile-toc summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:500}
 .structure-page .article-content{font-size:17px}
 .structure-page .article-content h2{font-size:25px}
 .article-pilot .article-hero{height:180px}
}
.structure-page .breadcrumb{padding:92px 24px 24px;font-size:14px;color:var(--text-secondary)}
.structure-page .breadcrumb-container{max-width:1100px;margin:auto;display:flex;flex-wrap:wrap;gap:8px}
.structure-page .article{padding:0 24px 64px}
.structure-page .article-title{font-size:clamp(32px,4vw,48px);line-height:1.15;font-weight:600}
.structure-page .article-meta{flex-wrap:wrap}
.structure-page .article-content>:first-child{margin-top:0}
@media(max-width:400px){.structure-page .article,.structure-page .breadcrumb{padding-left:20px;padding-right:20px}.structure-page .food-search>div{flex-wrap:wrap}.structure-page .food-search input{flex-basis:100%}}
