/* Family pages only; loaded after products.css on TITAN, LUX and NEO. */
.family-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.family-hero h1{font-size:var(--type-144);line-height:1}
.family-hero-tech{font-size:var(--type-16);margin:16px 0}
.family-hero h2{font-size:var(--type-40);line-height:1.1}
.family-campaign-photo{aspect-ratio:4/5}
.family-mechanism .panel-head h2{font-size:var(--type-40)}
:is(.family-codes-section,.family-comparison-section) .panel-head h2{font-size:var(--type-28);line-height:1.15}
.family-comparison-context{font-size:var(--type-14);color:var(--muted);margin:0 0 16px}
.family-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.family-summary-card{display:grid;grid-template-rows:auto auto auto auto auto 1fr;gap:8px;min-width:0;padding:24px;border:1px solid var(--line);border-radius:var(--tile-radius);background:var(--surface-soft)}
.family-summary-card.is-titan{background:var(--navy);color:var(--surface);border-color:var(--navy)}
.family-summary-card.is-current{box-shadow:inset 0 0 0 2px var(--blue)}
.family-summary-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 8px;min-height:34px}
.family-summary-heading h3{font-size:var(--type-28);line-height:1.15}
.family-current-label{padding:4px 8px;border-radius:var(--input-radius);background:var(--navy);color:var(--surface);font-size:var(--type-12);white-space:nowrap}
.is-titan .family-current-label{background:var(--surface);color:var(--navy)}
.family-summary-card .family-summary-price{font-size:var(--type-28);font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}
.family-summary-card .family-summary-technology{font-size:var(--type-14);line-height:1.5;margin:0;white-space:nowrap}
.family-summary-card .family-summary-warranty{font-size:var(--type-14);line-height:1.5;margin:0}
.family-summary-warranty strong{font-weight:600;white-space:nowrap}
.family-summary-vlt{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:var(--type-12);font-variant-numeric:tabular-nums}
.family-summary-vlt>span{white-space:nowrap}
.family-summary-vlt>span:first-child{font-weight:600}
.family-summary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;align-self:end;min-height:44px;font-size:var(--type-14);text-decoration:underline;text-underline-offset:4px}
.family-summary-link .icon{flex:none;width:16px;height:16px}
.family-technical{margin-top:16px;border-top:1px solid var(--line)}
.family-technical>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 0;font-size:var(--type-14);font-weight:600;list-style:none;cursor:pointer}
.family-technical>summary::-webkit-details-marker{display:none}
.family-technical>summary .icon{flex:none;width:18px;height:18px}
.family-technical[open]>summary .icon{transform:rotate(180deg)}
.family-technical-body{padding-top:16px}
.family-technical .thermal-details{margin:16px 0}
.family-price-conditions{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:var(--type-14);color:var(--muted)}
.family-price-conditions h3{font:600 var(--type-14)/1.5 var(--font-body);color:var(--navy);letter-spacing:0;margin-bottom:8px}
.family-price-conditions .text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:8px;color:var(--blue)}
.family-benchmark{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--type-14);font-variant-numeric:tabular-nums;text-align:left}
.family-benchmark caption{text-align:left;font-size:var(--type-14);color:var(--muted);margin-bottom:16px}
.family-benchmark th,.family-benchmark td{padding:16px;border-bottom:1px solid var(--line);vertical-align:middle}
.family-benchmark th{font-weight:600}
.family-benchmark thead th{font-size:var(--type-20)}
.family-benchmark th:first-child{width:22%;font-size:var(--type-14)}
.family-benchmark thead .is-titan{background:var(--navy);color:var(--surface)}
.family-benchmark .is-current{font-weight:600;box-shadow:inset 3px 0 var(--navy)}
.family-benchmark thead .is-current{box-shadow:inset 0 -3px var(--blue)}
.family-benchmark small{display:block;font-size:var(--type-12);font-weight:400}
.family-benchmark .benchmark-codes{display:grid;gap:8px}
.family-benchmark .benchmark-codes>span{display:grid;gap:2px;white-space:nowrap}
.family-benchmark .benchmark-codes b{font-size:var(--type-12);font-weight:600}
.family-benchmark .benchmark-family-label{display:none}
.family-benchmark .benchmark-technology-name{white-space:nowrap}
@media(max-width:1100px){
 .family-summary-card{padding:16px}
 .family-summary-card .family-summary-price{font-size:var(--type-20)}
}
@media(max-width:900px){
 .family-hero{grid-template-columns:1fr 1fr;gap:24px}
 .family-hero h1{font-size:var(--type-96)}
 .family-hero h2{font-size:var(--type-40)}
}
@media(max-width:700px){
 .family-summary-grid{grid-template-columns:1fr;gap:12px}
 .family-summary-card{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto auto;grid-template-areas:'heading price' 'technology technology' 'warranty link' 'vlt vlt';gap:4px 12px;padding:16px}
 .family-summary-heading{grid-area:heading;justify-content:flex-start;min-height:30px}
 .family-summary-heading h3{font-size:var(--type-20)}
 .family-summary-price{grid-area:price;align-self:start}
 .family-summary-technology{grid-area:technology}
 .family-summary-warranty{grid-area:warranty;align-self:end}
 .family-summary-vlt{grid-area:vlt}
 .family-summary-link{grid-area:link;align-self:center;font-size:var(--type-12);gap:4px}
 .family-benchmark{font-size:var(--type-12)}
 .family-benchmark th,.family-benchmark td{padding:12px 4px}
 .family-benchmark thead th{font-size:var(--type-16)}
 .family-benchmark th:first-child{font-size:var(--type-12)}
}
@media(max-width:600px){
 .family-hero{display:flex;flex-direction:column;align-items:stretch;gap:24px}
 .family-hero h1{font-size:var(--type-60)}
 .family-hero h2{font-size:var(--type-40)}
 .family-campaign-photo{aspect-ratio:4/5}
}
@media(max-width:359px){
 .family-summary-card{padding:12px;column-gap:8px}
 .family-summary-card .family-summary-price{font-size:var(--type-20)}
 .family-current-label{padding:2px 6px}
 .family-benchmark{font-family:'Times New Roman','Liberation Serif',serif}
 .family-benchmark th,.family-benchmark td{padding-inline:2px}
 .family-benchmark th:first-child{width:23%}
 .family-benchmark tbody .is-current{box-shadow:none}
}
/* Intact names and per-code values use labelled rows below the table breakpoint. */
@media(max-width:699px){
 .family-benchmark :is(.benchmark-technology,.benchmark-code-options) td{grid-column:1/-1;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;text-align:left;overflow-wrap:normal}
 .family-benchmark .benchmark-family-label{display:block;font-weight:600}
 .family-benchmark .benchmark-technology-name{font:400 14px/1.5 var(--font-body)}
 .family-benchmark .benchmark-codes{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
}
@media(min-width:701px) and (max-width:900px){
 .family-summary-heading{min-height:64px;align-items:flex-start;align-content:flex-start}
}
@media(min-width:700px) and (max-width:900px){
 .family-benchmark .benchmark-technology-name{font-size:12px}
}
