/* Product knowledge: established cream / navy palette, editorial reading rhythm. */
.kd-page{--kd-line:#ded7cc;--kd-muted:#716e67;--kd-ink:#072858;--kd-paper:#fbf8f3;--kd-soft:#f1ece3;color:var(--kd-ink)}
.kd-page .kd-wrap,.kd-entry .kd-wrap{width:min(1280px,calc(100% - 64px));margin-inline:auto}.kd-page .kd-section,.kd-entry{padding:72px 0}.kd-page .kd-hero{padding-top:35px;padding-bottom:60px}.kd-page .kd-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:64px;align-items:center}.kd-page h1{font-size:clamp(38px,4.4vw,66px);line-height:1.04;letter-spacing:-.047em;max-width:18ch;margin:20px 0}.kd-page h2,.kd-entry h2{font-size:clamp(29px,3vw,43px);line-height:1.1;letter-spacing:-.035em;margin:12px 0 20px}.kd-page h3,.kd-entry h3{font-size:24px;line-height:1.18;letter-spacing:-.025em;margin:12px 0}.kd-page p,.kd-entry p{line-height:1.65}.kd-page .kd-lede,.kd-entry .kd-lede{font-size:19px;color:var(--kd-muted);max-width:66ch}.kd-page .kd-eyebrow,.kd-entry .kd-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#a93242;margin:0 0 12px}.kd-page .kd-hero-figure{margin:0;min-width:0}.kd-page .kd-hero-figure img{width:100%;height:auto;max-height:650px;object-fit:contain;display:block;background:#eee9e1;border-radius:8px}.kd-page figcaption{font-size:12px;line-height:1.5;color:var(--kd-muted);padding-top:10px}.kd-page .kd-model-hero img{max-height:620px;background:#f0ece5}.kd-page .kd-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:24px 0}.kd-page .kd-tabs,.kd-entry .kd-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0 32px}.kd-page .kd-tabs a,.kd-page .kd-tabs button,.kd-entry .kd-tabs a{font:inherit;font-size:13px;line-height:1.3;padding:11px 15px;border:1px solid var(--kd-line,#ded7cc);border-radius:30px;color:#072858;text-decoration:none;background:transparent}.kd-page .kd-tabs a[aria-current],.kd-page .kd-tabs button[aria-pressed=true]{background:#072858;color:white;border-color:#072858}.kd-page .kd-anchor{position:sticky;top:80px;z-index:12;background:rgba(251,248,243,.97);border-block:1px solid var(--kd-line)}.kd-page .kd-anchor .kd-wrap{display:flex;gap:28px;overflow:auto;padding:15px 0}.kd-page .kd-anchor a{font-size:13px;white-space:nowrap;text-decoration:none}.kd-page .kd-soft{background:var(--kd-soft)}.kd-page .kd-heading,.kd-entry .kd-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:28px}.kd-page .kd-heading>div,.kd-entry .kd-heading>div{max-width:740px}.kd-page .kd-heading p,.kd-entry .kd-heading p{margin-bottom:0}.kd-page .kd-model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 24px}.kd-page .kd-model-card{background:transparent;border:0;border-radius:0;overflow:visible;min-width:0;margin:0}.kd-page .kd-model-card .kd-image{display:block;background:#ede8df;overflow:hidden;border-radius:7px}.kd-page .kd-model-card img{width:100%;height:auto;display:block;object-fit:contain;transition:transform .3s ease}.kd-page .kd-model-card .kd-image:hover img{transform:scale(1.025)}.kd-page .kd-model-card h3{font-size:21px;margin:13px 0 8px}.kd-page .kd-model-card h3 a{text-decoration:none}.kd-page .kd-model-card .kd-meta{font-size:12px;color:var(--kd-muted);line-height:1.5;margin:0 0 10px}.kd-page .kd-card-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--kd-line)}.kd-page .kd-card-actions button{background:none;border:0;padding:4px 0;color:var(--kd-ink);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.kd-page .kd-spec-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:64px;align-items:start}.kd-page .kd-table-wrap,.kd-entry .kd-table-wrap{overflow:auto;max-width:100%;border-top:1px solid var(--kd-line,#ded7cc)}.kd-page table,.kd-entry table{border-collapse:collapse;width:100%;text-align:left;font-size:15px;line-height:1.55}.kd-page th,.kd-page td,.kd-entry th,.kd-entry td{padding:17px 18px 17px 0;border-bottom:1px solid var(--kd-line,#ded7cc);vertical-align:top;overflow-wrap:anywhere}.kd-page th,.kd-entry th{font-weight:500}.kd-page thead th,.kd-entry thead th{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--kd-muted,#716e67)}.kd-page .kd-facts th{width:38%}.kd-page .kd-facts td{color:var(--kd-muted)}.kd-page .kd-note{font-size:13px;color:var(--kd-muted);max-width:70ch}.kd-page .kd-aside{padding:28px;background:#e9e2d6;border-radius:8px}.kd-page .kd-aside h3{margin-top:0}.kd-page .kd-reading{max-width:820px;margin-inline:auto}.kd-page .kd-answer{font-size:clamp(22px,2.5vw,30px);line-height:1.5;letter-spacing:-.018em}.kd-page .kd-chapter{display:grid;grid-template-columns:52px minmax(0,1fr);gap:22px;padding:35px 0;border-top:1px solid var(--kd-line)}.kd-page .kd-chapter-number{font-size:14px;color:#a93242;padding-top:6px}.kd-page .kd-chapter h2{font-size:30px;margin:0 0 15px}.kd-page .kd-chapter p{color:var(--kd-muted);margin:0;font-size:17px}.kd-page .kd-diagram-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.kd-page .kd-diagram-grid figure{margin:0;padding:24px;background:white;border-radius:6px}.kd-page .kd-diagram-grid img{width:100%;height:auto;display:block}.kd-page .kd-hardware{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,1fr);gap:50px;margin-top:45px;align-items:center}.kd-page .kd-hardware figure{max-height:600px;margin:0}.kd-page .kd-hardware img{max-height:550px;width:100%;object-fit:contain}.kd-page .kd-guide-grid,.kd-entry .kd-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.kd-page .kd-guide-card,.kd-entry .kd-guide-card{display:block;text-decoration:none;padding:25px 0;border-top:1px solid var(--kd-line,#ded7cc)}.kd-page .kd-guide-card h3,.kd-entry .kd-guide-card h3{font-size:25px;margin-top:0}.kd-page .kd-guide-card p,.kd-entry .kd-guide-card p{font-size:15px;color:var(--kd-muted,#716e67);margin:0}.kd-page .kd-guide-card span,.kd-entry .kd-guide-card span{display:block;margin-top:15px;font-size:13px}.kd-page .kd-paths,.kd-entry .kd-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.kd-page .kd-path,.kd-entry .kd-path{padding:25px;background:#f1ece3;border-radius:6px;text-decoration:none}.kd-page .kd-path h3,.kd-entry .kd-path h3{margin:10px 0}.kd-page .kd-path p,.kd-entry .kd-path p{margin:0;color:#716e67;font-size:15px}.kd-page .kd-path img,.kd-entry .kd-path img{width:100%;height:180px;object-fit:cover;border-radius:4px}.kd-page .kd-path--contain img,.kd-entry .kd-path--contain img{object-fit:contain}.kd-page details{padding:20px 0;border-top:1px solid var(--kd-line)}.kd-page summary{cursor:pointer;font-size:20px}.kd-page details p{color:var(--kd-muted);max-width:70ch}.kd-page .kd-pagination{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.kd-page .kd-pagination a{display:block;padding:8px 12px;border:1px solid var(--kd-line);border-radius:4px;text-decoration:none}.kd-page .kd-pagination a[aria-current]{background:#072858;color:white}.kd-page .kd-filter{display:flex;gap:15px;align-items:end;flex-wrap:wrap;margin:25px 0}.kd-page .kd-filter label{font-size:13px;display:grid;gap:8px;flex:1;min-width:200px}.kd-page .kd-filter input,.kd-page .kd-filter select{font:inherit;padding:13px;border:1px solid var(--kd-line);border-radius:4px;background:white;color:var(--kd-ink);min-width:0;width:100%}.kd-page [hidden]{display:none!important}.kd-page :focus-visible,.kd-entry :focus-visible{outline:2px solid #ad3347;outline-offset:5px}.kd-page .kd-directory{columns:3;column-gap:35px}.kd-page .kd-directory a{display:block;break-inside:avoid;padding:11px 0;border-bottom:1px solid var(--kd-line);font-size:15px;text-decoration:none}.kd-page .kd-hub-visuals{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.kd-page .kd-hub-visuals img{width:100%;height:350px;object-fit:contain;border-radius:6px;background:#eee8df}.kd-page .kd-hub-visuals figure{margin:0}.kd-page .kd-hub-visuals figure:first-child{transform:translateY(-20px)}.kd-page .kd-hub-visuals figure:last-child{transform:translateY(20px)}
@media(min-width:1000px){.kd-page .kd-model-grid.ce-masonry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:8px;gap:24px}.kd-page .kd-model-card{align-self:start}.kd-page .kd-model-grid .kd-model-card img{max-height:470px}}
@media(max-width:1000px){.kd-page .kd-hero-grid{gap:30px}.kd-page .kd-model-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kd-page .kd-spec-grid{gap:30px}.kd-page .kd-guide-grid,.kd-entry .kd-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kd-page .kd-directory{columns:2}}
@media(max-width:700px){.kd-page .kd-wrap,.kd-entry .kd-wrap{width:calc(100% - 36px)}.kd-page .kd-section,.kd-entry{padding:45px 0}.kd-page .kd-hero-grid,.kd-page .kd-spec-grid,.kd-page .kd-hardware{grid-template-columns:1fr;gap:28px}.kd-page .kd-hero{padding-top:20px}.kd-page .kd-hero-figure img{max-height:500px}.kd-page .kd-heading,.kd-entry .kd-heading{display:block}.kd-page .kd-heading>a{display:inline-block;margin-top:18px}.kd-page .kd-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.kd-page .kd-model-card h3{font-size:18px}.kd-page .kd-card-actions{flex-wrap:wrap;gap:8px}.kd-page .kd-model-card img{max-height:none}.kd-page .kd-anchor{top:65px}.kd-page .kd-guide-grid,.kd-entry .kd-guide-grid,.kd-page .kd-paths,.kd-entry .kd-paths{grid-template-columns:1fr}.kd-page .kd-diagram-grid{grid-template-columns:1fr}.kd-page .kd-diagram-grid figure{padding:16px}.kd-page th,.kd-page td,.kd-entry th,.kd-entry td{padding:14px 12px 14px 0;font-size:14px}.kd-page .kd-chapter{grid-template-columns:28px minmax(0,1fr);gap:13px}.kd-page .kd-chapter h2{font-size:26px}.kd-page .kd-directory{columns:1}.kd-page .kd-hub-visuals img{height:260px}.kd-page .kd-answer{font-size:23px}.kd-page h1{max-width:none}.kd-page .kd-hardware img{height:430px}.kd-page .kd-model-grid.ce-masonry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:8px;gap:14px}}
@media(prefers-reduced-motion:reduce){.kd-page *{scroll-behavior:auto!important;transition:none!important}}
/* The catalogue runtime computes spans in 8 px rows; the row gap must remain zero. */
.kd-page .kd-model-grid.ce-masonry.ce-ready{row-gap:0}
.kd-page .kd-model-card .kd-image img{height:auto!important;max-width:100%}
.kd-page .kd-hero-figure>a{display:block}
.kd-entry .kd-related{grid-template-columns:1fr;margin-top:32px}.kd-entry .kd-related>.kd-path{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1fr);gap:32px;align-items:center}.kd-entry .kd-related img{height:280px;object-fit:contain}.kd-entry .kd-related span{display:block;margin-top:18px;font-size:14px}
@media(max-width:700px){.kd-entry .kd-related>.kd-path{grid-template-columns:1fr;gap:18px}.kd-entry .kd-related img{height:240px}}
.kd-page .sr-only,.kd-entry .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:700px){
.kd-page .kd-table-wrap table:not(.kd-facts) thead,.kd-entry .kd-table-wrap table:not(.kd-facts) thead{display:none}
.kd-page .kd-table-wrap table:not(.kd-facts) tbody,.kd-entry .kd-table-wrap table:not(.kd-facts) tbody,.kd-page .kd-table-wrap table:not(.kd-facts) tr,.kd-entry .kd-table-wrap table:not(.kd-facts) tr{display:block}
.kd-page .kd-table-wrap table:not(.kd-facts) tr,.kd-entry .kd-table-wrap table:not(.kd-facts) tr{padding:20px 0;border-bottom:1px solid #ded7cc}
.kd-page .kd-table-wrap table:not(.kd-facts) th,.kd-page .kd-table-wrap table:not(.kd-facts) td,.kd-entry .kd-table-wrap table:not(.kd-facts) th,.kd-entry .kd-table-wrap table:not(.kd-facts) td{display:block;border:0;padding:7px 0;width:auto;overflow-wrap:normal}
.kd-page .kd-table-wrap table:not(.kd-facts) th,.kd-entry .kd-table-wrap table:not(.kd-facts) th{font-size:20px;padding-top:0}
.kd-page .kd-table-wrap table:not(.kd-facts) td::before,.kd-entry .kd-table-wrap table:not(.kd-facts) td::before{content:'Listed detail';display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#a93242;margin-bottom:4px}
.kd-page .kd-table-wrap table:not(.kd-facts) td:last-child::before,.kd-entry .kd-table-wrap table:not(.kd-facts) td:last-child::before{content:'How to compare'}
}
