/* Readable type across the exhibit, including diagram annotations. */
body{font-size:16px}
.nav-link,.header-cta{font-size:14px}
.nav-link span{font-size:12px}
.header-cta{padding:12px 16px}
.eyebrow,.selected-kicker,.card-kicker{font-size:12px;line-height:1.6;letter-spacing:1.2px}
.intro-copy{font-size:18px;line-height:1.7}
.intro-small{font-size:16px;line-height:1.75}
.intro-footnote{font-size:13px;line-height:1.6}
.primary,.comparison-end .primary{font-size:16px;line-height:1.4;padding:16px 22px}
.hero-art-caption,.hero-art-foot{font-size:12px;line-height:1.6}
.hero-art-caption{flex-wrap:wrap}
.float-label{font-size:14px;line-height:1.5}
.float-label small{font-size:12px;line-height:1.6}
.hero-layer .plate-tag{font-size:12px;letter-spacing:.6px}
.hero-layer .plate-id{font-size:13px}
.text-button,.details-jump{font-size:14px;line-height:1.5}
.selected-intro{min-height:160px;padding:10px 18px 20px;max-width:880px}
.selected-intro p{font-size:18px;line-height:1.65;max-width:750px}
.canvas-stage{height:calc((var(--cover-size) + 110px)*var(--zoom,1) + 40px)}
.layer-rail{height:calc(var(--cover-size) + 100px)}
.tile-label{font-size:16px;line-height:1.5;min-height:65px}
.tile-label small{font-size:12px;letter-spacing:.5px}
.tile .plate-tag{font-size:11px;line-height:1.3;letter-spacing:.4px}
.tile .plate-id{font-size:13px}
.branch-zone{max-width:1200px;padding-bottom:30px}
.branch-caption{font-size:12px;line-height:1.5;letter-spacing:1px;margin-bottom:20px}
.branches{gap:14px}
.branch{gap:12px;padding:14px 18px}
.branch b{font-size:18px;line-height:1.3}
.branch small{font-size:14px;line-height:1.4;color:#a0b98e;margin-top:4px}
.branch svg{width:30px;height:30px}
.branch>span:last-child{font-size:17px}
.anatomy-bottom{flex-wrap:wrap;row-gap:18px;padding-bottom:24px}
.canvas-controls{padding:5px}
.canvas-controls button{width:36px;height:32px;font-size:20px}
.canvas-controls output,.canvas-controls>span{font-size:13px;min-width:58px}
.scroll-hint{font-size:12px}
.layer-details{padding-top:36px;padding-bottom:42px;max-width:1500px}
.detail-heading{gap:24px;flex-wrap:wrap}
.detail-tabs button{font-size:15px;padding:12px 0}
.detail-grid{gap:34px}
.detail-grid h3{font-size:26px;line-height:1.3;margin:14px 0}
.detail-grid p,.topic-inspector p{font-size:16px;line-height:1.8}
.chips span{font-size:12px;padding:7px 9px}
.detail-grid a,.topic-inspector a{font-size:14px;line-height:1.6}
.detail-grid details,.layer-related,.layer-related button{font-size:14px;line-height:1.6}
.layer-related{flex-wrap:wrap;gap:16px;padding-top:22px}
.topic-inspector{padding:26px 28px}
.topic-inspector h3{font-size:28px;line-height:1.3;margin-bottom:15px}
.comparison-title>p{font-size:18px;line-height:1.8}
.route-switch button{font-size:16px;padding:16px 24px;line-height:1.4}
.route-switch span{font-size:13px;line-height:1.5;opacity:.85;margin-top:6px}
.route-visual{min-height:220px;gap:22px;align-items:stretch}
.route-node{font-size:16px;line-height:1.5;min-width:155px;padding:24px 18px;text-align:center}
.route-provider{max-width:700px;padding:28px}
.route-provider strong{font-size:28px;line-height:1.3;text-align:center}
.route-provider small{font-size:16px;line-height:1.6;text-align:center;max-width:540px;margin-top:12px}
.provider-icons{width:100%;justify-content:center;gap:24px;margin-top:28px}
.provider-icons svg{width:32px;height:32px}
.route-direct .provider-icons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}
.provider-part{max-width:none;min-width:0;gap:10px}
.provider-part span{font-size:14px;line-height:1.5;color:#bfc1a9}
.comparison-cards article{padding:32px}
.comparison-cards h3{font-size:30px;line-height:1.3;margin:16px 0}
.comparison-cards p{font-size:17px;line-height:1.8;max-width:650px}
.comparison-end{padding-top:34px;gap:30px;flex-wrap:wrap}
.comparison-end h3{font-size:28px;line-height:1.35}
.comparison-end p{font-size:16px;line-height:1.75;max-width:700px}
.comparison-note{font-size:13px;line-height:1.8;max-width:1000px;margin-top:24px;color:#90a77f}
.coverage{padding:30px}
.coverage h3{font-size:28px;line-height:1.35}
.coverage p{font-size:16px;line-height:1.75}
.footer-left,.footer-right,.footer-right button,.footer-number{font-size:13px}
.footer-right{gap:24px}
dialog p{font-size:17px;line-height:1.8}
.source-link{font-size:16px;line-height:1.6}
.dialog-note{font-size:13px!important;line-height:1.8}
@media(min-width:701px){.hero{min-height:690px}.intro{top:7%}}
@media(max-width:1100px){
  .header nav{gap:20px}.header nav .nav-link:last-child{display:none}
  .comparison-title{flex-wrap:wrap;gap:0}.comparison-title>p{font-size:17px;margin-bottom:16px}
  .route-visual{flex-wrap:wrap}.route-provider{flex:1;min-width:350px;max-width:none}
  .route-node{min-width:125px;font-size:15px}.route-arrow{font-size:18px}
  .detail-grid{gap:24px}.detail-grid h3{font-size:24px}
  .scroll-hint{display:none}.footer-right>span{display:none}
}
@media(min-width:701px) and (max-width:850px){.header nav{display:none}}
@media(max-width:700px){
  .header-cta{font-size:12px;padding:11px 12px}.header-cta span{margin-left:9px}
  .hero{height:1030px}.intro{right:7%;top:35px}.intro-copy{font-size:18px}.intro-small{font-size:16px}
  .intro .primary{font-size:16px;padding:15px 20px}.intro-footnote{font-size:13px}
  .hero-art{top:490px}.hero-art-caption,.hero-art-foot{font-size:11px}
  .eyebrow,.selected-kicker,.card-kicker{font-size:11px;letter-spacing:.6px}
  .selected-intro{min-height:190px;padding:10px 12px 26px}.selected-intro p{font-size:16px;max-width:510px}
  .selected-intro h1{font-size:32px}.anatomy-top .eyebrow{max-width:65%;line-height:1.6}.anatomy-top .text-button{font-size:13px}
  .canvas-stage{height:calc((var(--cover-size) + 110px)*var(--zoom,1) + 40px)}
  .tile-label{font-size:15px;min-height:65px}.tile-label small{font-size:11px}.tile .plate-tag{font-size:10px}.tile .plate-id{font-size:12px}
  .branch-caption{font-size:11px}.branches{gap:10px}.branch{padding:13px 15px;gap:10px}.branch b{font-size:17px}.branch small{font-size:13px}.branch svg{width:27px;height:27px}
  .details-jump{font-size:14px}.canvas-controls button{width:34px;height:32px}.canvas-controls>span{font-size:13px;min-width:58px}
  .layer-details{padding:30px 22px}.detail-tabs button{font-size:14px}.detail-tabs{gap:20px}
  .detail-grid h3{font-size:25px}.detail-grid p,.topic-inspector p{font-size:16px}
  .layer-related,.layer-related button{font-size:14px}.topic-inspector{padding:23px}.topic-inspector h3{font-size:26px}
  .comparison-title>p{font-size:17px}.comparison-cards article{padding:26px}.comparison-cards h3{font-size:28px}.comparison-cards p{font-size:16px}
  .route-switch button{font-size:15px;padding:14px 16px}.route-switch span{font-size:12px}
  .route-visual{gap:12px}.route-node{min-width:0;padding:20px 12px;font-size:15px}.route-provider{min-width:0;flex-basis:100%;padding:25px 20px}
  .route-provider strong{font-size:25px}.route-provider small{font-size:15px}
  .provider-icons{gap:16px}.provider-icons svg{width:28px;height:28px}.route-direct .provider-icons{gap:22px 12px}.provider-part span{font-size:13px}
  .comparison-end .primary{font-size:15px}.comparison-end h3{font-size:26px}.comparison-end p{font-size:16px}.comparison-note{font-size:13px}
  .coverage{padding:24px}.coverage p{font-size:16px}
  .footer-left{gap:10px}.footer-left,.footer-right button,.footer-number{font-size:12px}.progress-track{display:none}
  dialog p{font-size:16px}.source-link{font-size:15px}
}
@media(max-width:400px){.brand{font-size:17px}.brand-icon{margin-right:7px}.header{padding:0 14px}.header-cta{font-size:11px;padding:10px}.header-cta span{margin-left:5px}.footer{padding:0 14px}.footer-left{gap:7px}#footerLabel{max-width:138px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
