/* Model guide: same site grid, with a warm paper backdrop for original illustrations. */
.visual-system .model-shell{width:min(1160px,calc(100% - 48px));margin-inline:auto;box-sizing:border-box}
.visual-system.model-page{background:#fcfbf8;color:#20252b}
.visual-system .model-hero{padding-block:28px 56px}
.visual-system .model-hero .service-breadcrumbs,.visual-system .model-hub-hero .service-breadcrumbs{color:#52616b;margin-bottom:30px}
.visual-system .model-opening{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:40px;align-items:center}
.visual-system .model-eyebrow{font:700 12px/1.5 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#7b3d2f;margin:0 0 16px}
.visual-system.model-page h1{font:700 clamp(32px,3.8vw,56px)/1.1 Arial,sans-serif;letter-spacing:-.035em;margin:0 0 22px;overflow-wrap:break-word}
.visual-system .model-lead{font:400 19px/1.6 Arial,sans-serif;color:#46515a;max-width:760px;margin:0 0 24px}
.visual-system .model-facts{display:grid;gap:14px;margin:24px 0}
.visual-system .model-facts div{border-top:1px solid #ddd6cb;padding-top:10px}
.visual-system .model-facts dt{font-size:13px;color:#5b6268;margin-bottom:3px}
.visual-system .model-facts dd{margin:0;font-size:16px;font-weight:700;line-height:1.5}
.visual-system .model-illustration{min-width:0;margin:0}
.visual-system .model-illustration img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border:1px solid #e4ded3;background:#f4efe5;border-radius:8px}
.visual-system .model-illustration figcaption{font:400 12px/1.6 Arial,sans-serif;color:#626665;margin-top:10px;max-width:620px}
.visual-system .model-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.visual-system .model-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 18px;box-sizing:border-box;border:1px solid #bdb6ac;text-decoration:none;font:700 15px/1.4 Arial,sans-serif;border-radius:4px;color:#20252b}
.visual-system .model-actions a:first-child{background:#242c32;border-color:#242c32;color:white}
.visual-system .model-actions a:hover{background:#435766;color:white;border-color:#435766}
.visual-system .model-hub-hero{padding-block:48px 40px}
.visual-system .model-hub-note{color:#67665e;font-size:14px;margin-top:24px;line-height:1.6}
.visual-system .model-catalog{padding-block:24px 48px}
.visual-system .model-catalog h2{font:700 clamp(27px,3vw,36px)/1.2 Arial,sans-serif;letter-spacing:-.02em;margin:0 0 28px}
.visual-system .model-filter-controls{margin-bottom:24px}
.visual-system .model-filter-controls label{display:block;font-weight:700;font-size:15px;margin-bottom:8px}
.visual-system .model-search-row{display:flex;gap:12px;max-width:780px;margin-bottom:20px}
.visual-system .model-search-row input{min-width:0;flex:1;padding:12px 14px;font:400 16px/1.5 Arial,sans-serif;border:1px solid #a9adae;border-radius:4px;background:white;color:#20252b;min-height:48px}
.visual-system .model-filter-controls button{font:700 14px/1.4 Arial,sans-serif;min-height:44px;padding:10px 14px;border:1px solid #aab2b6;border-radius:4px;background:white;color:#24343d;cursor:pointer}
.visual-system .model-filter-controls button:hover{background:#e8eceb}
.visual-system .model-filters{display:flex;flex-wrap:wrap;gap:8px}
.visual-system .model-filters button[aria-pressed=true]{background:#26343e;color:white;border-color:#26343e}
.visual-system #model-count{font-size:14px;color:#5d6870;margin:16px 0 0}
.visual-system .model-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.visual-system .model-card{min-width:0;background:white;border:1px solid #e0dbd2;border-radius:8px;overflow:hidden}
.visual-system .model-card a{display:flex;height:100%;flex-direction:column;text-decoration:none;color:#20252b}
.visual-system .model-card img{display:block;aspect-ratio:3/2;width:100%;height:auto;object-fit:contain;background:#f5efe4;border-bottom:1px solid #eee6da}
.visual-system .model-card a>div{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:24px}
.visual-system .model-card h3{font:700 23px/1.25 Arial,sans-serif;letter-spacing:-.02em;margin:8px 0 12px}
.visual-system .model-card p{font:400 15px/1.55 Arial,sans-serif;margin:0 0 10px;color:#52616b}
.visual-system .model-card .model-card-code{font-size:12px;font-weight:700;letter-spacing:.08em;color:#874231;text-transform:uppercase}
.visual-system .model-card .model-card-period{font-size:13px;color:#6d655b}
.visual-system .model-card-action{margin-top:auto;padding-top:16px;color:#285674;font:700 14px/1.4 Arial,sans-serif}
.visual-system .model-card a:hover h3{text-decoration:underline;text-underline-offset:4px}
.visual-system .model-card:focus-within{outline:3px solid #326a91;outline-offset:3px}
.visual-system .model-catalog-note{font:400 13px/1.6 Arial,sans-serif;color:#636c71;max-width:780px;margin-top:24px}
.visual-system .model-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 36px}
.visual-system .model-services section{padding:22px;border:1px solid #d4dce0;border-radius:5px;background:#fff}
.visual-system .model-services h3{font-size:20px;margin:0 0 12px;line-height:1.3}
.visual-system .model-services p{font-size:16px;margin:0;line-height:1.6}
.visual-system .model-concept{padding:20px;border-left:3px solid #ae634b;background:#f2ede4;font-size:16px}
.visual-system .model-sources{font-size:14px}
.visual-system .model-timeline{list-style:none;padding:0;margin:20px 0 36px}
.visual-system .model-timeline li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;padding:24px 0;border-top:1px solid #d8d9d6;margin:0}
.visual-system .model-timeline li>span{font-size:16px;font-weight:700;color:#7b3d2f}
.visual-system .model-timeline h3{margin:0 0 10px;font-size:24px}
.visual-system .model-timeline p{margin-bottom:12px}
.visual-system .model-entry{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:center;width:min(1160px,calc(100% - 48px));box-sizing:border-box;margin:40px auto;padding:32px;background:#f5f0e7;border:1px solid #e4dbcc;border-radius:8px;font:400 17px/1.65 Arial,sans-serif;color:#243039}
.visual-system .model-entry h2{font:700 32px/1.2 Arial,sans-serif;margin:0 0 16px;letter-spacing:-.02em}
.visual-system .model-entry p{margin:0 0 16px}
.visual-system .model-entry img{display:block;width:100%;height:auto;border-radius:4px}
.visual-system [data-model-card][hidden],.visual-system .model-filter-controls[hidden],.visual-system #model-empty[hidden]{display:none!important}
@media(max-width:1099px){
 .visual-system .model-opening{grid-template-columns:1fr;gap:20px}
 .visual-system .model-opening>div{display:contents}
 .visual-system .model-opening .model-eyebrow{order:0;margin:0}
 .visual-system .model-opening h1{order:1;margin:0}
 .visual-system .model-opening .model-lead{order:2;margin:0}
 .visual-system .model-opening .model-illustration{order:3}
 .visual-system .model-opening .model-facts{order:4;margin:4px 0 0}
 .visual-system .model-opening .model-actions{order:5;margin:4px 0 0}
 .visual-system .model-illustration{width:min(760px,100%)}
 .visual-system .model-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .visual-system .model-entry{grid-template-columns:minmax(0,1fr) 260px;gap:24px}
 .visual-system .visual-mini-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}
 .visual-system .visual-mini-nav a{min-width:0;font-size:12px;padding:6px 2px;white-space:nowrap}
}
@media(max-width:699px){
 .visual-system .model-shell{width:calc(100% - 40px)}
 .visual-system .model-hero{padding-block:24px 36px}
 .visual-system .model-hub-hero{padding-block:32px 20px}
 .visual-system .model-card-grid,.visual-system .model-services{grid-template-columns:1fr}
 .visual-system .model-card a>div{padding:20px}
 .visual-system .model-actions{display:grid;grid-template-columns:1fr}
 .visual-system .model-lead{font-size:18px}
 .visual-system .model-search-row{flex-wrap:wrap;gap:8px}
 .visual-system .model-search-row input{flex-basis:100%}
 .visual-system .model-timeline li{grid-template-columns:1fr;gap:8px}
 .visual-system .model-entry{grid-template-columns:1fr;width:calc(100% - 40px);padding:24px;margin-block:28px}
 .visual-system .model-entry h2{font-size:27px}
 .visual-system .model-entry img{max-width:440px}
}
