/* Native Container / Image / Text / Button classes, scoped to the home illustration. */
.jl-site.jl-site .house-build{min-width:0;position:relative;align-self:center;margin:0 0 10px;--build-progress:1}
.jl-site.jl-site .build-board{position:relative;border-top:1px solid #bdb1a2;background:radial-gradient(ellipse at 48% 42%,#fff9 0%,#fff0 69%)}
.jl-site.jl-site .build-meta{display:flex;justify-content:space-between;gap:14px;padding-top:14px;font-size:8px;letter-spacing:.14em;line-height:1.5;color:#796e62}
.jl-site.jl-site .build-meta>span:first-child{color:var(--ink)}
.jl-site.jl-site .build-meta>span:first-child::before{content:'+';color:var(--red);font-size:13px;padding-right:8px}
.jl-site.jl-site .build-canvas{position:relative;aspect-ratio:800/650;max-height:460px;isolation:isolate;overflow:hidden}
.jl-site.jl-site .house-build-art,.jl-site.jl-site .house-build-art img{width:100%;height:100%;object-fit:contain}
.jl-site.jl-site .build-scene{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.jl-site.jl-site .build-scene>g,.jl-site.jl-site .build-scene>ellipse{transform-box:view-box;transition:none;will-change:auto}
.jl-build-pending .jl-site.jl-site .house-build-art,.jl-site.jl-site .build-ready .house-build-art{visibility:hidden}
.jl-site.jl-site .build-phases{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:17px 0 13px;border-top:1px solid #d4cbc1}
.jl-site.jl-site .build-phases::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--red);transform:scaleX(var(--build-progress));transform-origin:left}
.jl-site.jl-site .build-phase{font-size:9px;line-height:1.4;letter-spacing:.035em;color:#877d71}
.jl-site.jl-site .build-phase.is-current{color:var(--red)}
.jl-site.jl-site .build-phase.is-done{color:var(--ink)}
.jl-site.jl-site .build-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #d4cbc1;padding-top:15px}
.jl-site.jl-site .build-play{font-size:10px;line-height:1.5;letter-spacing:.03em}
.jl-site.jl-site :is(button.build-play,.build-play .elementor-button){display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;color:var(--ink);background:none;border:0;border-bottom:1px solid transparent;box-shadow:none}
.jl-site.jl-site .build-play .elementor-button{font:inherit;letter-spacing:inherit}
.jl-site.jl-site .build-play.elementor-widget-button{display:block;min-height:0;padding:0;border:0;background:none;box-shadow:none;transform:none;animation:none;transition:none}
.jl-site.jl-site :is(button.build-play,.build-play .elementor-button)::before{content:'Ⅱ';font-size:14px;color:var(--red)}
.jl-site.jl-site .build-complete :is(button.build-play,.build-play .elementor-button)::before{content:'↻';font-size:19px}
.jl-site.jl-site :is(button.build-play,.build-play .elementor-button):focus-visible{border-bottom-color:#b8a997}
.jl-site.jl-site :is(button.build-play,.build-play .elementor-button):is(:disabled,[aria-disabled="true"]){cursor:default;opacity:.6}
.jl-site.jl-site .build-project{display:flex;align-items:center;gap:13px;margin-left:auto;max-width:66%;font-size:8px;line-height:1.7;letter-spacing:.08em}
.jl-site.jl-site .build-project-photo{display:block;flex:none;width:78px;overflow:hidden}
.jl-site.jl-site .build-project-photo img{aspect-ratio:4/3;object-fit:cover;transition:transform .5s}
.jl-site.jl-site .build-project-copy{display:flex;flex-direction:column;gap:4px}
.jl-site.jl-site .build-project-copy>span{font-size:7px;color:#7b6f63;letter-spacing:.12em}
.jl-site.jl-site .build-project-copy a{border-bottom:1px solid #c5b7a6;padding-bottom:3px}
.jl-site.jl-site a.build-project-photo[href]:focus-visible img{transform:scale(1.035)}
@media(hover:hover) and (pointer:fine){.jl-site.jl-site :is(button.build-play,.build-play .elementor-button):not(:disabled):not([aria-disabled="true"]):hover{border-bottom-color:#b8a997}.jl-site.jl-site a.build-project-photo[href]:hover img{transform:scale(1.035)}}
@media(min-width:1101px){.jl-site.jl-site.page-home .hero-grid{grid-template-columns:minmax(0,.98fr) minmax(0,1.18fr);gap:clamp(36px,4vw,68px)}.jl-site.jl-site.page-home .hero{padding-block:53px 62px}}
@media(max-width:1100px){.jl-site.jl-site .build-meta{font-size:7px;letter-spacing:.09em}.jl-site.jl-site .build-phase{font-size:8px}.jl-site.jl-site .build-project-photo{width:62px}.jl-site.jl-site .build-project{gap:10px;letter-spacing:.02em}}
@media(max-width:760px){.jl-site.jl-site .house-build{grid-row:1;margin:0}.jl-site.jl-site .build-meta{padding-top:11px;font-size:7px}.jl-site.jl-site .build-canvas{max-width:530px;width:100%;margin-inline:auto}.jl-site.jl-site .build-phases{padding:13px 0 11px}.jl-site.jl-site .build-phase{font-size:8px}.jl-site.jl-site .build-footer{padding-top:10px;gap:12px}.jl-site.jl-site .build-project-photo{width:60px}.jl-site.jl-site .build-play{font-size:9px}.jl-site.jl-site.page-home .hero-grid{gap:33px}.jl-site.jl-site .build-project-copy>span{font-size:6px}.jl-site.jl-site .build-project{max-width:67%;font-size:7px}}
@media(prefers-reduced-motion:reduce){.jl-site.jl-site .build-scene{display:none!important}.jl-site.jl-site .house-build-art{visibility:visible!important}}
.elementor-editor-active .jl-site.jl-site .house-build-art,.jl-site.jl-site.motion-paused .house-build-art{visibility:visible!important}
.elementor-editor-active .jl-site.jl-site .build-scene,.jl-site.jl-site.motion-paused .build-scene{display:none!important}
