/* Property comparison: the photos remain fixed; inspection overlays share one clock. */
.photo-lab.house-comparison{--house-ink:#23313c;--house-accent:#bb3a2c;--house-paper:#f4f3ef;background:#fff;border:1px solid #deded7;border-radius:18px;overflow:hidden;margin:38px 0 55px}
.photo-lab.house-comparison.editorial-wide{margin-inline:0}
.house-comparison .lab-heading{padding:32px 32px 26px}
.house-comparison .lab-heading h2{font-size:clamp(26px,3vw,36px);letter-spacing:-1.1px;margin:14px 0 15px;line-height:1.14}
.house-comparison .lab-heading p{max-width:600px;color:#5f656a;font-size:14px;line-height:1.7;margin:0}
.house-comparison-bar{padding:13px 20px;background:#eef0ec;display:flex;align-items:center;justify-content:space-between;gap:12px;font:500 10px/1.5 var(--body);color:#616b6d;border-top:1px solid #deded7}
.house-view-label{color:#3b4f4c;display:flex;align-items:center;gap:8px}
.house-view-label i{width:6px;height:6px;background:#50776a;border-radius:50%}
.house-scenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#d9dedb}
.house-scene{margin:0;background:#f8f9f6;min-width:0;display:flex;flex-direction:column}
.house-scene figcaption{padding:17px 18px;margin:0;display:flex;justify-content:space-between;gap:10px;align-items:center;color:#26363b;font:500 12px/1.4 var(--body)}
.house-scene figcaption>span{display:flex;align-items:center;gap:8px}
.house-scene figcaption small{font-size:9px;font-weight:400;color:#687575;border:1px solid #ccd3ce;padding:3px 7px;border-radius:100px}
.house-scene figcaption b{font-size:9px;font-weight:400;color:#61706b;text-align:right}
.house-photo{position:relative;aspect-ratio:2;overflow:hidden;background-image:url('assets/hardening-demo-pair.png');background-size:100% 200%;background-repeat:no-repeat;background-color:#b6b5a9;isolation:isolate}
.house-photo-before{background-position:center top}
.house-photo-after{background-position:center bottom}
.house-image-description{position:absolute;inset:0;pointer-events:none}
.house-photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,#18262d73,transparent 25%);pointer-events:none}
.house-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.house-particles i{position:absolute;display:block;border-radius:50%;background:#fff0bc;box-shadow:0 0 4px 1px #fa8c3f,0 0 9px #c54b28;opacity:0;pointer-events:none}
.house-comparison .house-path-overlay{position:absolute;inset:0;width:100%;height:100%;margin:0;pointer-events:none;z-index:1}
.house-inspection-path{stroke:#ffe4a7;fill:none;stroke-width:.45;stroke-dasharray:2 1.2;opacity:0;filter:drop-shadow(0 1px 2px #2228)}
.house-comparison button.house-hotspot{position:absolute;left:var(--hotspot-x);top:var(--hotspot-y);transform:translate(-50%,-50%);width:44px;height:44px;min-height:44px;border:0;background:transparent;border-radius:50%;padding:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;color:#fff;font:600 10px/1 var(--body)}
.house-hotspot>span{border:1px solid #fff8;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#22332ce6;box-shadow:0 1px 6px #0003}
.house-hotspot[aria-pressed=true]>span{background:#fff3d7;color:#3a3526;border-color:#fff;box-shadow:0 0 0 5px #fff3d73d}
.house-hotspot:hover>span{box-shadow:0 0 0 5px #fff3d73d}
.house-comparison.house-annotations-hidden .house-hotspot{display:none}
.house-photo-label{position:absolute;bottom:9px;left:12px;font:500 7px/1.4 var(--body);letter-spacing:1px;color:#fff;pointer-events:none;z-index:3}
.house-comparison .house-scene-caption{margin:0;padding:16px 18px 18px;font-size:12px;line-height:1.65;color:#566364;min-height:100px}
.house-console{padding:25px 28px 26px;border-top:1px solid #dce2dd;background:#fff}
.house-transport{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:21px}
.house-play-controls{display:flex;align-items:center;gap:8px}
.house-comparison .house-play,.house-comparison .house-reset{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;min-width:44px;border-radius:8px;padding:10px 13px;font:600 11px/1.35 var(--body);cursor:pointer}
.house-comparison .house-play{background:#293e38;color:#fff;border:1px solid #293e38}
.house-comparison .house-play:hover{background:#1e302b}
.house-comparison .house-reset{background:#fff;border:1px solid #d1d8d3;color:#52615a}
.house-comparison .house-reset:hover{background:#f4f6f1}
.house-phase{font:500 10px/1.4 var(--body);color:#5b6965;text-align:right}
.house-timeline-label{display:flex;justify-content:space-between;gap:12px;font:500 10px/1.4 var(--body);color:#57635e;margin-bottom:3px}
.house-timeline-label output{font-variant-numeric:tabular-nums}
.house-comparison input.house-timeline{--house-progress:0%;display:block;width:100%;height:32px;padding:0;margin:0;background:transparent;accent-color:#41685a;cursor:pointer;appearance:none;-webkit-appearance:none}
.house-timeline::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,#41685a var(--house-progress),#dce3dd var(--house-progress));border-radius:3px}
.house-timeline::-moz-range-track{height:4px;background:#dce3dd;border-radius:3px}
.house-timeline::-moz-range-progress{height:4px;background:#41685a;border-radius:3px}
.house-timeline::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border:3px solid #fff;border-radius:50%;background:#41685a;box-shadow:0 0 0 1px #41685a}
.house-timeline::-moz-range-thumb{width:11px;height:11px;border:3px solid #fff;border-radius:50%;background:#41685a;box-shadow:0 0 0 1px #41685a}
.house-phase-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:-1px 0 22px}
.house-phase-nav button{min-height:44px;padding:8px 3px;background:transparent;border:0;border-bottom:2px solid transparent;color:#7b847e;font:500 10px/1.35 var(--body);cursor:pointer}
.house-phase-nav button:first-child{text-align:left}
.house-phase-nav button:last-child{text-align:right}
.house-phase-nav button[aria-pressed=true]{color:#294b3c;border-bottom-color:#63806c}
.house-inspector{border:1px solid #d8e0d8;border-radius:11px;overflow:hidden;background:#f7f8f4}
.house-feature-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #d8e0d8}
.house-feature-nav button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;background:#fff;padding:11px 7px;border:0;border-right:1px solid #e1e5df;font:500 11px/1.5 var(--body);color:#647067;cursor:pointer}
.house-feature-nav button:last-child{border-right:0}
.house-feature-nav button>span{font-size:9px;color:#8a948b}
.house-feature-nav button[aria-pressed=true]{background:#e6ece2;color:#28442e}
.house-feature-nav button[aria-pressed=true]>span{color:#416b45}
.house-feature-nav button:hover{background:#eef2e9}
.house-feature-detail{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.4fr);gap:24px;padding:24px}
.house-detail-kicker{font:600 8px/1.4 var(--body);letter-spacing:1.2px;color:#819078}
.house-comparison .house-feature-detail h3{font-size:18px;line-height:1.3;color:#314b36;margin:7px 0 0;font-weight:500;letter-spacing:-.3px}
.house-comparison .house-feature-detail p{font-size:12px;color:#5c6b5c;line-height:1.7;margin:0}
.house-display-controls{display:flex;flex-wrap:wrap;gap:8px 22px;border:0;padding:0;margin:21px 0 0}
.house-display-controls legend{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
.house-display-controls label{display:flex;align-items:center;gap:8px;min-height:44px;font:400 11px/1.4 var(--body);color:#647067;cursor:pointer}
.house-display-controls input{width:16px;height:16px;margin:0;accent-color:#45694d}
.house-comparison .house-scope{font-size:10px;line-height:1.65;color:#7e857c;margin:7px 0 0;max-width:670px}
@media(max-width:1250px){.photo-lab.house-comparison.editorial-wide{margin-left:0;margin-right:0}}
@media(max-width:800px){.house-scene figcaption{padding:13px;flex-wrap:wrap;gap:6px}.house-scene figcaption b{font-size:8px}.house-comparison .house-scene-caption{font-size:11px;padding:14px;min-height:118px}.house-photo-label{font-size:6px;letter-spacing:.5px}.house-comparison .lab-heading{padding:26px}.house-console{padding:22px}.house-feature-detail{gap:18px;padding:21px}}
@media(max-width:600px){.photo-lab.house-comparison{border-radius:13px}.house-comparison .lab-heading{padding:24px 20px}.house-comparison .lab-heading h2{font-size:27px}.house-comparison .lab-heading p{font-size:13px}.house-comparison-bar{padding:12px 15px;align-items:flex-start;font-size:9px}.house-comparison-bar>span:last-child{max-width:112px;text-align:right}.house-scenes{grid-template-columns:minmax(0,1fr);gap:1px}.house-scene figcaption{flex-wrap:nowrap;padding:14px 16px}.house-scene figcaption b{font-size:9px}.house-comparison .house-scene-caption{min-height:0;font-size:12px;padding:15px 16px 18px}.house-photo-label{font-size:7px;letter-spacing:.6px}.house-console{padding:20px 16px}.house-transport{align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:19px}.house-phase{width:100%;text-align:left}.house-play-controls{width:100%;justify-content:space-between}.house-comparison .house-play{flex:1;justify-content:center}.house-comparison .house-play,.house-comparison .house-reset{font-size:11px}.house-phase-nav{gap:3px;margin-bottom:17px}.house-phase-nav button{font-size:9px}.house-feature-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.house-feature-nav button{font-size:12px;justify-content:flex-start;padding:12px 15px}.house-feature-nav button:nth-child(2){border-right:0}.house-feature-nav button:nth-child(-n+2){border-bottom:1px solid #d8e0d8}.house-feature-detail{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px}.house-comparison .house-feature-detail h3{font-size:19px}.house-comparison .house-feature-detail p{font-size:12px}.house-display-controls{gap:0;margin-top:17px;flex-direction:column}.house-comparison .house-scope{font-size:10px;margin-top:12px}}
@media(prefers-reduced-motion:reduce){.house-comparison *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

