/* Brochure packages and catalog controls; all selectors are scoped. */
.catalog-jump { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; padding-top: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.catalog-jump a { display: flex; align-items: center; gap: 18px; font-size: 13px; color: var(--ink); padding: 13px 24px; border-right: 1px solid var(--line); }
.catalog-jump a:first-child { padding-left: 0; }.catalog-jump a:last-child { border-right: 0; }
.catalog-jump a>span { color: var(--muted); font-size: 10px; }.catalog-jump b { margin-left: auto; font-weight: 500; color: var(--text-accent); }.catalog-jump a:hover { color: var(--text-accent); }
.package-section { padding-bottom: 60px; }
.package-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; margin-top: 38px; align-items: start; }
.package-card { background: white; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; scroll-margin-top: 110px; }
.package-top { background: #edf2e9; padding: 28px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 10px; min-height: 235px; align-items: center; }
.package-index { display: block; font-size: 9px; letter-spacing: .13em; color: #607969; margin-bottom: 22px; }
.package-top .eyebrow { font-size: 8px; letter-spacing: .07em; margin-bottom: 9px; }.package-top h3 { font-size: clamp(25px,2.2vw,32px); line-height: 1.15; letter-spacing: -.045em; }
.package-art { position: relative; height: 190px; }.package-art img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.package-art img:nth-child(2) { position: absolute; width: 58%; height: 65%; bottom: -13px; left: -34px; }
.package-copy { padding: 27px 28px; }.package-headline { font-size: 17px; font-weight: 500; line-height: 1.45; letter-spacing: -.015em; }
.package-description { font-size: 13px; color: var(--muted); margin-top: 12px; min-height: 68px; }
.package-list-label { font-size: 9px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--text-accent); margin: 24px 0 10px; }
.package-components { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 7px; font-size: 10px; line-height: 1.5; }
.package-components li { padding: 7px 9px; border: 1px solid #dce5dc; background: #f6f8f2; border-radius: 4px; }.package-components a:hover { color: var(--text-accent); text-decoration: underline; }.package-components span { margin-left: 4px; color: var(--text-accent); }
.package-details { margin-top: 22px; border-top: 1px solid var(--line); }.package-details summary { display: flex; justify-content: space-between; align-items: center; list-style: none; cursor: pointer; padding: 17px 0; font-size: 11px; font-weight: 600; }.package-details summary::-webkit-details-marker { display: none; }.package-details summary>span { font-size: 19px; color: var(--text-accent); }.package-details[open] summary>span { transform: rotate(45deg); }
.package-details>p { color: var(--muted); font-size: 11px; margin: 15px 0 23px; }.package-path { display: flex; gap: 8px; flex-wrap: wrap; padding: 0; margin: 0; list-style: none; }.package-path li { font-size: 10px; background: var(--wash); padding: 9px; border-radius: 4px; }.package-path li:not(:last-child):after { content: ' →'; color: var(--text-accent); margin-left: 8px; }
.package-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 20px; border-top: 1px solid var(--line); }.package-actions .button { min-height: 43px; font-size: 11px; padding: 10px 13px; gap: 16px; }
.package-brochure { font-size: 11px; line-height: 1.6; }.package-brochure span { display: block; color: var(--muted); font-size: 9px; }.package-brochure:hover { color: var(--text-accent); text-decoration: underline; }
.package-library { display: flex; gap: 40px; justify-content: space-between; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); }.package-library p { font-size: 11px; color: var(--muted); max-width: 690px; }.package-library>a { color: var(--text-accent); font-size: 11px; flex-shrink: 0; font-weight: 600; }.package-library span { display: block; font-size: 9px; font-weight: 400; margin-top: 6px; }
.hardware-search { display: block; max-width: 460px; margin-top: 30px; }.hardware-search>span { display: block; font-size: 10px; color: var(--muted); margin-bottom: 8px; }.hardware-search input { border: 1px solid var(--line); border-radius: 5px; background: white; padding: 13px 15px; width: 100%; color: var(--ink); font-size: 13px; }
.hardware-page .hardware-toolbar { margin-top: 19px; }.hardware-empty { background: var(--wash); border-radius: 8px; padding: 35px; }.hardware-empty p { color: var(--muted); font-size: 13px; margin: 12px 0 20px; }
.hardware-option { display: inline-block; font-size: 8px; text-transform: uppercase; letter-spacing: .07em; color: #566952; border: 1px solid #d5dfcc; border-radius: 3px; padding: 4px 6px; margin-bottom: 10px; }
.manufacturer-link { display: inline-block; color: var(--text-accent); font-size: 10px; margin: 0 0 18px; }.manufacturer-link:hover { text-decoration: underline; }
.hardware-comparison-selectors { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 30px; }.hardware-comparison-selectors label { font-size: 10px; color: var(--muted); }.hardware-comparison-selectors select { width: 100%; display: block; padding: 12px; margin-top: 7px; border: 1px solid var(--line); border-radius: 5px; background: white; color: var(--ink); font-size: 12px; }
.hardware-page .hardware-table-scroll { margin-top: 18px; }.hardware-page .hardware-table-scroll table { min-width: 690px; }.hardware-page .hardware-table-scroll th:first-child { width: 125px; }
.legacy-assessment { align-self: center; }.legacy-assessment h3 { font-size: 27px; }.legacy-assessment>p { margin-top: 17px; font-size: 12px!important; }.legacy-assessment dl { margin: 0; }.legacy-assessment dl>div { padding: 15px 0; border-top: 1px solid var(--line); }.legacy-assessment dt { font-size: 12px; font-weight: 600; }.legacy-assessment dd { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.catalog-plan-selection { padding: 16px; background: var(--wash); border-left: 3px solid var(--teal); border-radius: 4px; font-size: 13px; margin: 18px 0 25px; }
.package-teaser-photo { background: #edf2e9!important; }.package-teaser-photo img { object-fit: contain!important; padding: 18px; mix-blend-mode: multiply; }
.hardware-search[hidden],.hardware-empty[hidden],.hardware-comparison-selectors[hidden] { display: none; }
@media(max-width:900px) { .package-top { grid-template-columns: 1fr; padding: 24px; }.package-top h3 { max-width: 270px; }.package-art { height: 170px; width: 190px; margin: 0 auto; }.package-index { margin-bottom: 13px; }.package-description { min-height: 0; }.package-actions { flex-wrap: wrap; }.catalog-jump a { gap: 10px; padding-inline: 14px; font-size: 11px; } }
@media(max-width:620px) { .package-grid { grid-template-columns: 1fr; gap: 24px; }.package-top { grid-template-columns: 1fr 1fr; padding: 24px; min-height: 215px; }.package-art { width: auto; height: 160px; }.package-copy { padding: 24px; }.package-top h3 { font-size: 25px; }.package-library { flex-direction: column; gap: 17px; align-items: flex-start; }.catalog-jump { grid-template-columns: 1fr; padding-top: 14px; padding-bottom: 14px; }.catalog-jump a { padding: 13px 0; border-right: 0; border-bottom: 1px solid var(--line); }.catalog-jump a:last-child { border: 0; }.hardware-comparison-selectors { grid-template-columns: 1fr; gap: 10px; }.hardware-comparison-selectors select { padding: 10px; }.hardware-search { max-width: none; }.hardware-page .hardware-grid { gap: 22px; } }

/* Preserve the clarity of original MOKO catalog thumbnails without enlarging them. */
.hardware-card[data-hardware-origin="moko"] .hardware-art { display: flex; align-items: center; justify-content: center; }
.hardware-card[data-hardware-origin="moko"] .hardware-art img { max-width: 180px; max-height: 180px; }
