/* Responsive reading edition; the PDF uses a separate fixed-page stylesheet. */
:root{--ink:#20231f;--forest:#173e2d;--cream:#f1eddf;--paper:#f7f5ec;--rust:#b75a32;--line:#c7c5b9;--muted:#565c54;--white:#fffefa}*{box-sizing:border-box}html{font-family:"DejaVu Sans",Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:100%;line-height:1.55;overflow-wrap:anywhere}body{margin:0}main{max-width:78rem;margin:auto}.page{position:relative;padding:clamp(1rem,5vw,4rem);border-bottom:1px solid var(--line);background:var(--paper)}.dark,.forest,.cover,.back{color:#fff;background:var(--ink)}.forest{background:var(--forest)}img,svg{display:block;max-width:100%;height:auto}.photo{width:100%;height:auto;object-fit:cover}h1,h2,h3{line-height:1.08;margin:.15em 0 .65em}h1{font-size:clamp(2.4rem,9vw,5.3rem)}h2{font-size:clamp(1.8rem,6vw,3.4rem)}h3{font-size:1.1rem}p{max-width:75ch;margin:.4rem 0 1rem}.lede{font-size:1.1rem;color:var(--muted)}.dark .lede,.forest .lede,.cover .lede,.back .lede{color:#d8dfd8}.eyebrow,.caps{text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:700;color:var(--rust)}.dark .eyebrow,.forest .eyebrow,.cover .eyebrow,.back .eyebrow{color:#e0bd79}.small{font-size:.88rem}.brand{display:flex;align-items:center;gap:1rem}.brand svg{width:3.2rem}.brand-name{font-weight:800;letter-spacing:.08em;text-transform:uppercase}.brand-sub{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.cover>img,.back>img,.section-opener>img{margin:calc(-1 * clamp(1rem,5vw,4rem));width:calc(100% + 2 * clamp(1rem,5vw,4rem));max-width:none;margin-bottom:2rem}.cover-meta,.cap-layout,.cap-grid,.catalog-key,.product-grid,.two-col,.spec-strip,.diagram-layout,.parts-list,.matrix-note,.contacts,.quote-form{display:grid;gap:1rem}.section-band{display:grid;grid-template-columns:2.5rem minmax(6.5rem,.6fr) minmax(0,1.3fr) 3rem;gap:.5rem;align-items:center;padding:.75rem 0;border-top:1px solid var(--line);color:inherit;text-decoration:none}.section-band:last-child{border-bottom:1px solid var(--line)}.section-code,.model-code,.code,.num{font-size:2rem;font-weight:800;color:var(--forest)}.index-head,.hero-head,.compare-title{display:grid;gap:1rem}.key,.cap-card,.product-card,.step,.matrix-note>div{padding:1rem;background:#e9e4d5}.note{padding:.75rem 1rem;border-left:4px solid var(--rust);background:#ece8da;color:#50564f}.dark .note,.forest .note{background:#ffffff12;color:#dce2dc}.footer{margin-top:2rem;padding-top:1rem;border-top:1px solid currentColor;display:flex;justify-content:space-between;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.tag{display:inline-block;padding:.35rem .55rem;background:var(--forest);color:#fff;font-size:.72rem;font-weight:700}.section-count{font-size:.75rem;letter-spacing:.12em}.hero-img,.parts-hero{margin:1.5rem 0}.spec-strip{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.metric{padding-top:.65rem;border-top:3px solid var(--forest)}.metric .v{font-size:1.3rem;font-weight:700}.metric .l{font-size:.7rem;text-transform:uppercase}.bullets{padding-left:1.2rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;vertical-align:top;padding:.65rem;border-bottom:1px solid var(--line)}th{border-bottom:3px solid var(--forest);font-size:.75rem;text-transform:uppercase}.dark tbody tr:nth-child(even),.forest tbody tr:nth-child(even){background:#ffffff0d}tbody tr:nth-child(even){background:#ede9dd}.badge{padding:1rem;border:1px solid var(--line);text-align:center}.badge strong{display:block;font-size:1.5rem}.diagram-panel,.kit-diagram,.quote-form,.ribbon{padding:1rem;background:#e7e2d3}.kit-diagram,.quote-form,.ribbon{background:var(--forest);color:#fff}.callout{display:grid;grid-template-columns:2rem 1fr;gap:.65rem}.callout b{width:1.8rem;height:1.8rem;border-radius:50%;background:var(--rust);color:#fff;text-align:center;padding-top:.15rem}.product-card dl{display:grid;grid-template-columns:1fr 1fr}.product-card dd{text-align:right}.part{display:grid;grid-template-columns:6rem 1fr;gap:.75rem;padding:.8rem;border-top:1px solid var(--line)}.sku{color:var(--rust);font-weight:700}.legend{display:flex;flex-wrap:wrap;gap:1rem}.yes{color:var(--forest);font-weight:800}.field{padding:.6rem 0;border-bottom:1px solid #ffffff77}.contacts a,.back-contact a{color:inherit}.disclosure{font-size:.85rem;color:#c5d0c7}.matrix{min-width:34rem}
@media(min-width:48rem){.cover-meta,.catalog-key{grid-template-columns:repeat(2,1fr)}.catalog-key{grid-template-columns:repeat(3,1fr)}.cap-layout{grid-template-columns:.8fr 1.2fr}.cap-grid,.product-grid,.two-col,.diagram-layout,.parts-list,.matrix-note,.contacts,.quote-form{grid-template-columns:repeat(2,1fr)}.index-head,.hero-head{grid-template-columns:9rem 1fr;align-items:end}.compare-title{grid-template-columns:1fr 12rem;align-items:end}.order-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.section-opener{min-height:65vh}.section-opener>img{max-height:48vh;object-fit:cover}}
@media(max-width:40rem){html{font-size:100%}.page{padding:1rem}.cover>img,.back>img,.section-opener>img{margin:-1rem -1rem 1.5rem;width:calc(100% + 2rem)}.section-band{grid-template-columns:2rem minmax(0,1fr) 2.5rem}.section-band span:nth-child(3){grid-column:2/4}table,.matrix{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.order-flow{display:grid;gap:1rem}.footer{gap:1rem}.brand-sub{font-size:.62rem}th,td{padding:.5rem}.diagram-layout svg{max-height:26rem}}
.forest .diagram-layout svg text{font-size:9px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Pass-05.4: grid and flex children may shrink to their column so enlarged text wraps instead of widening the page (no change at normal text size) */
main *{min-width:0}
.matrix{min-width:min(34rem,100%)}
/* Pass-05.4: fixed rem tracks capped as a share of the container (identical at normal text size) */
.spec-strip{grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr))}
.section-band{grid-template-columns:min(2.5rem,15%) minmax(min(6.5rem,25%),.6fr) minmax(0,1.3fr) min(3rem,15%)}
.part{grid-template-columns:min(6rem,35%) 1fr}
@media(min-width:48rem){.index-head,.hero-head{grid-template-columns:min(9rem,40%) 1fr}.compare-title{grid-template-columns:1fr min(12rem,45%)}}
@media(max-width:40rem){.section-band{grid-template-columns:min(2rem,15%) minmax(0,1fr) min(2.5rem,15%)}}
/* Pass-05.4: a data table wider than its column scrolls inside its own wrapper instead of widening the page (no effect when the table fits) */
div:has(>table){max-width:100%;overflow-x:auto}
