/* Homepage floor hero: one fixed room with title/actions over the upper scene. */
body .hero.eko-floor-section{display:block;min-height:0;padding:calc(var(--eko-header-height,80px) + 36px) 0 36px!important;background:#10160e;isolation:isolate}
body .hero.eko-floor-section::before,body .hero.eko-floor-section::after{display:none}
body .eko-floor-section>.container{width:100%;max-width:1480px;padding-inline:20px}
body .eko-floor-section .hero-grid{display:block;position:relative}
#eko-floor-hero{--bg:#10160e;--green:#b4d57e;--text:#f4f3ed;--muted:#c1c7b9;display:block;position:relative;isolation:isolate;width:100%;max-width:calc(191.40625svh - 440.2344px);min-width:0;margin:0 auto;color:var(--text);font:400 16px/1.5 'Work Sans',Arial,sans-serif}
#eko-floor-hero .floor-heading{margin:0;padding:0;border:0}
#eko-floor-hero .scene{isolation:isolate}
#eko-floor-hero .scene::before{content:"";position:absolute;top:0;left:0;width:78.367347%;height:51%;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(8,14,6,.92),rgba(8,14,6,.64) 50%,rgba(8,14,6,0))}
#eko-floor-hero .eko-hero-copy{position:absolute;z-index:4;top:clamp(14px,2vw,28px);left:clamp(20px,3.1vw,48px);width:70%;pointer-events:none}
#eko-floor-hero .eko-hero-copy a,#eko-floor-hero .eko-hero-copy button{pointer-events:auto}
#eko-floor-hero .hero-badge{display:inline-flex;margin:0 0 12px;padding:5px 10px;font-size:10px;letter-spacing:.08em;line-height:1.4;animation:none}
body #eko-floor-hero h1{font-size:clamp(30px,3.1vw,48px);font-weight:700;line-height:1.08;letter-spacing:-.025em;max-width:26ch;margin:0 0 18px;color:#fff;text-shadow:0 2px 12px #07100580;text-wrap:balance}
#eko-floor-hero h1 .hl{color:#c3e998;background:none;-webkit-text-fill-color:currentColor}
#eko-floor-hero .cta-row{display:inline-flex;flex-wrap:wrap;gap:10px;margin:0;vertical-align:middle}
#eko-floor-hero .cta-row .btn{min-height:46px;padding:11px 20px;font-size:15px;line-height:1.4;box-shadow:none}
#eko-floor-hero #tour-launcher.eko-tour-inline{margin:0 0 0 18px!important;vertical-align:middle;color:#e7f3d8!important}
#eko-floor-hero .eko-hero-details{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr);gap:20px 30px;align-items:start;margin-top:24px;padding-top:20px;border-top:1px solid #ffffff24}
#eko-floor-hero .hero-sub{margin:0;max-width:none;font-size:13px;line-height:1.65;color:#d3d9cc;opacity:1}
#eko-floor-hero .trust-bar{display:grid;grid-template-columns:1fr;gap:7px;margin:0;padding:0;border:0}
#eko-floor-hero .trust-item{min-width:0;white-space:normal;font-size:12px;line-height:1.4}
#eko-floor-hero .eko-hero-caption{margin:0;color:#c1c7b9;font-size:12px;line-height:1.5}
#eko-floor-hero .eko-hero-caption strong{display:block;font:600 18px/1.4 'Playfair Display',serif;color:#fff;margin-bottom:5px}
#eko-floor-hero .eko-hero-caption span{display:block}
#eko-floor-hero *{box-sizing:border-box}
#eko-floor-hero figure{margin:0}
#eko-floor-hero .scene{position:relative;aspect-ratio:1960/1024}
#eko-floor-hero .photograph{position:absolute;left:0;top:0;width:78.367347%;height:100%;overflow:hidden;isolation:isolate;z-index:0}
#eko-floor-hero .photograph img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
#eko-floor-hero .photograph .room{z-index:0}
#eko-floor-hero .photograph .finish{opacity:0;z-index:1;clip-path:polygon(20.3% 37.2%,26% 37.2%,26% 39%,31% 39%,31% 37.5%,39% 37.5%,55% 39.3%,58% 37.7%,58.008% 38.477%,63.672% 37.598%,64.062% 35.645%,64.974% 35.645%,72.786% 50%,85.6% 69.8%,85.6% 81%,66.5% 92%,.9% 90%,.9% 57%)}
#eko-floor-hero .photograph .timber{opacity:0;z-index:4;clip-path:polygon(0.977% 77.148%,44.271% 77.637%,64.062% 77.930%,81.641% 67.969%,83.594% 69.727%,85.677% 69.727%,85.807% 79.980%,66.471% 91.309%,0.977% 89.355%)}
#eko-floor-hero .leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
#eko-floor-hero .leaders path{stroke:#aebda0;stroke-width:1.6;fill:none;opacity:.8}
#eko-floor-hero .leaders circle{fill:#10160e;stroke:#c4d9a9;stroke-width:1.7}
#eko-floor-hero .leaders text{fill:#f4f7ee;font-size:16px;font-weight:600;font-family:'Work Sans',Arial,sans-serif;text-anchor:middle}
#eko-floor-hero .leaders g.active path,#eko-floor-hero .leaders g.active circle{stroke:var(--green);stroke-width:3}
#eko-floor-hero .leaders g.active circle{fill:#344b22}
#eko-floor-hero .leaders .endpoint{fill:#c4d9a9;stroke-width:0}
#eko-floor-hero .leaders g.active .endpoint{fill:var(--green);stroke-width:0}
#eko-floor-hero .layers{list-style:none;margin:0;padding:0;position:absolute;inset:0;pointer-events:none;z-index:3}
#eko-floor-hero .layers li{position:absolute;left:78%;top:var(--row);width:22%;padding:8px 0 6px 10px;border-top:1px solid #6d785f;display:flex;gap:9px}
#eko-floor-hero .layers .number{display:none}
#eko-floor-hero .layers strong{font-size:clamp(12px,1.06vw,16px);font-weight:650;display:block;line-height:1.2}
#eko-floor-hero .layers small{font-size:clamp(10px,.82vw,12px);display:block;color:var(--muted);margin-top:4px;line-height:1.35}
#eko-floor-hero .layers li.active{color:var(--green);border-color:var(--green)}
#eko-floor-hero figcaption{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;color:var(--muted);font-size:12px;margin-top:0;padding:5px 0 12px;border-bottom:1px solid #ffffff25}
#eko-floor-hero .example-kicker{display:block;color:var(--green);font-size:10px;letter-spacing:.13em;margin-bottom:4px}
#eko-floor-hero .scene-title{display:block;color:var(--text);font-size:clamp(19px,1.8vw,25px);font-weight:550;line-height:1.25}
#eko-floor-hero .preparation-summary{text-align:right;max-width:440px}
#eko-floor-hero .controls{display:flex;gap:20px;align-items:flex-end;justify-content:flex-start;margin-top:12px}
#eko-floor-hero .controls[hidden],#eko-floor-hero .playback[hidden],#eko-floor-hero [hidden]{display:none!important}
#eko-floor-hero .control-label{display:block;font-size:10px;letter-spacing:.13em;color:var(--muted);margin:0 0 9px}
#eko-floor-hero .finish-buttons{display:flex;flex-wrap:wrap;gap:5px}
#eko-floor-hero .finish-buttons button{border-color:#43513a}
#eko-floor-hero button{font:500 13px/1.3 'Work Sans',Arial,sans-serif;min-height:44px;padding:10px 17px;border:1px solid transparent;border-radius:24px;background:transparent;color:#e8eddf;cursor:pointer}
#eko-floor-hero button[aria-pressed=true]{background:#b4d57e;color:#14200b}
#eko-floor-hero .play{border-color:#7a8d64;flex:none;min-width:148px}
#eko-floor-hero .play:hover,#eko-floor-hero button:hover{border-color:#d0e5ac}
#eko-floor-hero button:disabled{opacity:.4;cursor:not-allowed}
#eko-floor-hero button:focus-visible{outline:2px solid #d8edab;outline-offset:4px}
#eko-floor-hero .playback{display:flex;align-items:center;gap:20px;margin-top:12px;font-size:11px;color:var(--muted)}
#eko-floor-hero .playback>span{min-width:165px}
#eko-floor-hero .loop-progress{height:3px;background:#34412c;flex:1;overflow:hidden}
#eko-floor-hero .loop-progress>span{display:block;width:100%;height:100%;background:var(--green);transform:scaleX(0);transform-origin:left}
#eko-floor-hero .preview-note,#eko-floor-hero .asset-status{font-size:11px;line-height:1.6;color:#abb7a0;max-width:900px;margin:12px 0 0}
#eko-floor-hero .asset-status{color:#ead7a5}
#eko-floor-hero .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* A failed primary image keeps the room box so overlay copy and labels remain separated. */
#eko-floor-hero .photograph[hidden]{display:block!important;visibility:hidden}
/* Reserve loading controls without moving the scene; no-script keeps a useful static view. */
#eko-floor-hero[data-floor-bound=true] .controls[hidden],#eko-floor-hero[data-floor-bound=true] .playback[hidden]{display:flex!important;visibility:hidden;pointer-events:none}
#eko-floor-hero .photograph img{max-width:none;transform:none;transition:none;animation:none;border:0;border-radius:0;box-shadow:none}
#eko-floor-hero .layers li{list-style:none;margin:0}
#eko-floor-hero .layers strong,#eko-floor-hero .scene-title{font-family:'Work Sans',sans-serif}
#eko-floor-hero button{box-shadow:none;text-transform:none;letter-spacing:normal;width:auto}
#eko-floor-hero .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0;padding:0;border:0;white-space:nowrap}
@media(max-width:1100px){
 #eko-floor-hero .controls{flex-wrap:wrap;align-items:center}
 #eko-floor-hero .play{margin-left:0}
 #eko-floor-hero .layers li{padding-top:6px}
 #eko-floor-hero .layers small{margin-top:3px}
 #eko-floor-hero .eko-hero-details{grid-template-columns:1.4fr 1fr}
 #eko-floor-hero .eko-hero-caption{grid-column:1/-1}
}
@media(max-width:900px){
 body .eko-floor-section>.container{max-width:760px;padding-inline:0}
 #eko-floor-hero{max-width:none}
 #eko-floor-hero .scene{aspect-ratio:auto;display:flex;flex-direction:column;overflow:hidden}
 #eko-floor-hero .photograph{position:relative;width:116.5%;margin-left:-2%;aspect-ratio:3/2;height:auto;align-self:flex-start;max-width:none}
 #eko-floor-hero .scene::before{width:100%;height:45%;background:linear-gradient(180deg,rgba(8,14,6,.92),rgba(8,14,6,.68) 52%,rgba(8,14,6,0))}
 #eko-floor-hero .eko-hero-copy{top:16px;left:24px;width:calc(100% - 48px)}
 body #eko-floor-hero h1{font-size:clamp(26px,4.7vw,38px);max-width:26ch;margin-bottom:14px}
 #eko-floor-hero .leaders{display:none}
 #eko-floor-hero .layers{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin:-10px 24px 0;min-height:156px;align-content:start;pointer-events:none}
 #eko-floor-hero .layers li{position:static;width:auto;padding:8px 0;gap:8px;min-height:52px;align-items:center}
 #eko-floor-hero .layers .number{display:flex;flex:none;width:22px;height:22px;border:1px solid #83976e;border-radius:50%;align-items:center;justify-content:center;font-size:12px;line-height:1}
 #eko-floor-hero .layers strong{font-size:13px;line-height:1.3}
 #eko-floor-hero .layers small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
 #eko-floor-hero figcaption{margin:0 24px;padding:7px 0 10px;align-items:center;gap:10px}
 #eko-floor-hero .example-kicker{font-size:9px;letter-spacing:.08em;margin-bottom:3px}
 #eko-floor-hero .scene-title{font-size:18px;line-height:1.25}
 #eko-floor-hero .preparation-summary{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #eko-floor-hero .controls,#eko-floor-hero .playback{margin-left:24px;margin-right:24px}
 #eko-floor-hero .controls{gap:10px}
 #eko-floor-hero .control-group{max-width:100%}
 #eko-floor-hero .control-label{font-size:9px;margin-bottom:7px}
 #eko-floor-hero button{font-size:12px;padding:9px 13px}
 #eko-floor-hero .playback{gap:12px}
 #eko-floor-hero .playback>span{min-width:150px}
 #eko-floor-hero .preview-note,#eko-floor-hero .asset-status,#eko-floor-hero noscript{margin-left:24px;margin-right:24px;font-size:11px}
 #eko-floor-hero .eko-hero-details{margin:20px 24px 0}
}
@media(max-width:480px){
 body .hero.eko-floor-section{padding-bottom:28px!important}
 #eko-floor-hero .eko-hero-copy{top:12px;left:20px;width:calc(100% - 40px)}
 #eko-floor-hero .hero-badge{font-size:9px;padding:3px 8px;margin-bottom:10px;letter-spacing:.05em}
 body #eko-floor-hero h1{font-size:clamp(20px,5.8vw,25px);line-height:1.1;max-width:26ch;margin-bottom:12px;letter-spacing:-.02em}
 #eko-floor-hero .cta-row .btn{font-size:13px;min-height:44px;padding:10px 15px}
 #eko-floor-hero .scene::before{height:41%;background:linear-gradient(180deg,rgba(8,14,6,.94),rgba(8,14,6,.74) 60%,rgba(8,14,6,0))}
 #eko-floor-hero .layers{margin:-8px 16px 0;gap:0 12px;min-height:156px}
 #eko-floor-hero .layers li{min-height:52px;padding:6px 0;gap:6px}
 #eko-floor-hero .layers .number{width:20px;height:20px;font-size:11px}
 #eko-floor-hero .layers strong{font-size:12px;line-height:1.3}
 #eko-floor-hero figcaption{margin-inline:16px}
 #eko-floor-hero .scene-title{font-size:16px}
 #eko-floor-hero .controls,#eko-floor-hero .playback{margin-left:16px;margin-right:16px}
 #eko-floor-hero .control-group{width:100%}
 #eko-floor-hero .finish-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 #eko-floor-hero .finish-buttons button{padding:7px 6px;font-size:11px;min-height:44px}
 #eko-floor-hero .play{min-width:139px;margin-left:0}
 #eko-floor-hero .playback{margin-top:10px}
 #eko-floor-hero .playback>span{min-width:142px}
 #eko-floor-hero .preview-note,#eko-floor-hero .asset-status,#eko-floor-hero noscript{margin-left:16px;margin-right:16px}
 #eko-floor-hero .eko-hero-details{grid-template-columns:1fr;gap:18px;margin:20px 16px 0;padding-top:18px}
 #eko-floor-hero .trust-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}
}
@media(prefers-reduced-motion:reduce){#eko-floor-hero *{transition:none!important;scroll-behavior:auto!important}}
