/* Shared layout boundaries keep wide reference tables inside their scroll regions. */
.wrap{width:100%;max-width:1320px}
.manual-shell>*{min-width:0}
.manual,.manual article,.toc,.fxbox,.tool,.project-card,.topcall,.phase,.budget-section{min-width:0}
.tablewrap{max-width:100%;min-width:0;-webkit-overflow-scrolling:touch}
p,li,.sources,.doc-meta,footer{overflow-wrap:anywhere}
img,svg{max-width:100%}
.mobile-menu-toggle{display:none}
@media screen and (max-width:900px){
 .manual-shell{grid-template-columns:minmax(0,1fr)}
}
@media screen and (max-width:760px){
 html{scroll-padding-top:84px}
 header{height:auto;min-height:68px;padding:10px 16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
 .brand{font-size:17px;letter-spacing:.5px;white-space:nowrap}
 .brand small{font-size:10px;letter-spacing:0}
 .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:62px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:8px 12px;font:inherit;font-size:13px;cursor:pointer;border-radius:3px}
 header nav{display:none;width:100%;margin:0;overflow:visible}
 header nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding-top:6px;border-top:1px solid var(--line)}
 header nav a{display:flex;align-items:center;min-height:44px;padding:8px 10px;font-size:13px;line-height:1.5;white-space:normal;background:#f3f6f7;border-radius:3px;text-decoration:none}
 .wrap{padding-left:16px;padding-right:16px}
 .hero{grid-template-columns:minmax(0,1fr);min-height:0;gap:24px;padding-top:30px;padding-bottom:24px}
 h1{font-size:34px;line-height:1.35;letter-spacing:0;margin:16px 0}
 .hero h1{font-size:clamp(29px,8.5vw,38px)}
 .lead{font-size:16px;max-width:100%}
 .heroart{height:240px;margin:0;width:100%}
 .hero .meta{font-size:11px;margin-top:20px}
 .hero .button{margin-bottom:10px}
 .eyebrow{font-size:11px;letter-spacing:1.5px}
 .introstrip{margin-bottom:32px;padding:18px 0;grid-template-columns:repeat(3,minmax(0,1fr))}
 .introstrip div{padding:0 10px}
 .introstrip strong{font-size:16px;line-height:1.5;margin-bottom:6px}
 .introstrip span{font-size:11px;line-height:1.6;display:block}
 section{padding-top:20px;padding-bottom:36px}
 h2{font-size:25px;line-height:1.5}
 h3{font-size:18px}
 .sectionhead{display:block;margin-bottom:20px}
 .topics,.twocol,.road{grid-template-columns:minmax(0,1fr);gap:16px}
 .topic{padding:20px}
 .road>div{padding-bottom:12px;border-bottom:1px solid #ffffff26}
 .dark{padding:36px 0;margin:15px 0 32px}
 .topcall{display:block;padding:20px;margin-bottom:24px}
 .topcall .button{margin-top:14px}
 .button,.toolbar button{min-height:44px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;padding:11px 18px}
 .toolbar{gap:8px}
 .toolbar .button,.toolbar button{flex:1 1 140px;margin:0}
 .toolbar .subbutton{margin:0;min-height:44px;display:flex;align-items:center}
 .note{padding:16px;margin:18px 0;font-size:14px;line-height:1.8}
 .fxbox,.tool{padding:18px}
 .fxfields{display:flex;flex-direction:column;align-items:stretch;gap:14px}
 .fxfields label{min-width:0;width:100%;flex:auto}
 .fxfields .button{width:100%}
 input[type=number],input[type=search],select{font-size:16px;min-height:44px;max-width:100%}
 .manual-hero{padding:28px 0 20px}
 .manual-hero h1{font-size:30px;line-height:1.4}
 .doc-meta{gap:8px 16px;line-height:1.7}
 .manual-shell{gap:22px;padding-top:20px}
 .toc{position:static;padding:18px;max-height:none;width:100%;font-size:14px}
 .toc input{width:100%;font-size:16px;min-height:44px}
 .toc a{display:block;margin:0;padding:10px 0;min-height:44px;border-bottom:1px solid var(--line);line-height:1.6}
 .manual article{padding:18px;margin-bottom:18px;scroll-margin-top:84px}
 .manual article h2{font-size:23px;line-height:1.5}
 .manual p,.manual li{font-size:15px;line-height:1.85}
 .manual article h3{font-size:18px}
 .detailbody{padding-right:0}
 summary{font-size:18px;min-height:44px;padding-right:24px;position:relative}
 summary:after{position:absolute;right:0;top:0}
 .step-cost{padding:14px}
 .step-cost .money{min-width:0;max-width:100%;margin-right:6px}
 .phaseflow{grid-template-columns:minmax(0,1fr);gap:8px}
 .phaseflow .connector{display:block;transform:rotate(90deg)}
 .phase{padding:16px}
 .phase h3{font-size:18px}
 .phase p{font-size:14px}
 .flow{width:100%;max-width:100%}
 .budget-summary{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px}
 .budget-table input{font-size:16px;min-height:44px}
 #budget-totals{padding:14px}
 #budget-totals p{padding:10px 0}
 .selection-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .machine-qty{width:72px!important;min-width:72px!important;min-height:44px!important;font-size:16px!important}
 .check{align-items:center;min-height:56px;font-size:15px}
 .check input[type=checkbox]{flex:none;width:20px;height:20px}
 .project-card{padding:20px;margin:18px 0}
 .project-card p{font-size:15px;line-height:1.85}
 .quote-scroll{max-height:65vh;max-height:65svh;width:100%;scrollbar-gutter:auto}
 .price-table td{font-size:13px;line-height:1.8}
 .price-table .converted{font-size:12px}
 .price-table th{font-size:13px;line-height:1.6}
 .sourcegrid{grid-template-columns:minmax(0,1fr)}
 .sourcegrid a{min-height:44px;font-size:14px}
 footer{font-size:12px;padding:25px 0}
}
@media screen and (max-width:360px){
 .brand{font-size:15px}.brand small{font-size:9px}
 .mobile-menu-toggle{min-width:56px;padding:8px}
 .introstrip{grid-template-columns:minmax(0,1fr);gap:14px}
 .introstrip div,.introstrip div:first-child{border:0;padding:0}
 .introstrip strong{margin-bottom:2px}
 .manual-hero h1{font-size:27px}
}
