/* Product exploration with Housemap typography, surfaces and square controls. */
.platform-modules{margin-top:var(--hm-space-64);padding-top:var(--hm-space-64);border-top:var(--hm-stroke-1) solid var(--hm-paper-200)}
.platform-modules-intro{margin-bottom:var(--hm-space-40)}
.platform-modules-intro h3{font:var(--hm-fw-extrabold) var(--hm-page-size)/var(--hm-page-line) var(--hm-font-sans);letter-spacing:var(--hm-headline-track);text-wrap:balance}
.platform-modules-intro h3 em{font-weight:var(--hm-fw-light);font-style:italic}
.platform-modules-intro p{margin-top:var(--hm-space-24);font-size:var(--hm-body-lg-size);line-height:var(--hm-body-lg-line)}
.module-explorer{padding:var(--hm-space-24);background:var(--hm-paper-50);color:var(--hm-paper-500);display:grid;gap:var(--hm-space-32)}
.module-choice h4{margin:0}.module-choice{margin-bottom:var(--hm-space-12)}
.module-trigger{display:flex;align-items:center;gap:var(--hm-space-12);padding:var(--hm-space-16);border:0;border-radius:0;background:var(--hm-paper-100);color:var(--hm-paper-500);font:var(--hm-fw-bold) var(--hm-body-lg-size)/var(--hm-body-lg-line) var(--hm-font-sans);text-align:left;cursor:pointer;width:100%;min-height:var(--hm-scale-48)}
.module-trigger:hover{background:var(--hm-paper-200)}.module-trigger[aria-expanded=true]{background:var(--hm-paper-500);color:var(--hm-paper-50)}
.module-trigger:focus-visible{outline:var(--hm-stroke-2) solid var(--hm-paper-500);outline-offset:var(--hm-space-4)}
.module-symbol{display:grid;place-items:center;flex:none;width:var(--hm-scale-24);height:var(--hm-scale-24)}.module-symbol img{width:100%;height:100%}
.module-trigger[aria-expanded=true] .module-symbol{background:var(--hm-green-300)}
.module-choice-copy{font-size:var(--hm-body-md-size);line-height:var(--hm-body-md-line);padding:var(--hm-space-16);max-width:60ch}
.module-stage{min-width:0;display:grid;align-items:center}
.module-overview{display:none}.module-panel{margin-block:var(--hm-space-24)}
.modules-ready .module-panel{margin:0}.modules-ready .module-panel[hidden],.modules-ready .module-overview[hidden],.modules-ready .module-choice-copy[hidden]{display:none}
.modules-ready .module-overview{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--hm-space-40);padding-block:var(--hm-space-32)}
.module-overview>p{font-size:var(--hm-page-size);line-height:var(--hm-page-line);font-weight:var(--hm-fw-extrabold);letter-spacing:var(--hm-headline-track)}.module-overview>p em{font-weight:var(--hm-fw-light)}
.module-overview>span{font-size:var(--hm-body-md-size);line-height:var(--hm-body-md-line)}
.module-overview-path{display:flex;align-items:center;gap:var(--hm-space-24);font-size:var(--hm-body-md-size)}.module-overview-path span+span{position:relative}.module-overview-path span+span:before{content:'';position:absolute;left:calc(var(--hm-space-24)*-1);top:50%;width:var(--hm-space-16);height:var(--hm-stroke-1);background:var(--hm-green-300)}
.module-visual{width:100%;max-width:520px;margin:auto;padding:var(--hm-space-8)}
.explorer-art{background:var(--hm-paper-100);border:var(--hm-stroke-1) solid var(--hm-paper-200);padding:var(--hm-space-24);font-size:var(--hm-body-md-size);line-height:var(--hm-body-md-line)}
.explorer-art-top,.explorer-art-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--hm-space-16)}
.explorer-art-top{padding-bottom:var(--hm-space-24);border-bottom:var(--hm-stroke-1) solid var(--hm-paper-200)}
.explorer-art h5{font-size:var(--hm-title-lg-size);line-height:var(--hm-title-lg-line);font-weight:var(--hm-fw-semibold);margin:var(--hm-space-32) 0}
.explorer-art-bottom{margin-top:var(--hm-space-32)}.explorer-art-bottom strong{display:block;font-size:var(--hm-page-size);line-height:var(--hm-page-line)}
.explorer-tag{padding:var(--hm-space-8) var(--hm-space-12);background:var(--hm-green-300);color:var(--hm-paper-500);font-weight:var(--hm-fw-bold)}
.explorer-unit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--hm-space-8);margin-top:var(--hm-space-32)}
.explorer-unit{display:grid;place-items:center;min-height:var(--hm-scale-48);background:var(--hm-paper-50);border:var(--hm-stroke-1) solid var(--hm-paper-200);font-variant-numeric:tabular-nums}.explorer-unit.is-selected{background:var(--hm-green-300);border-color:var(--hm-green-300);font-weight:var(--hm-fw-bold)}
.explorer-history{list-style:none;margin:0;padding:0}.explorer-history li{padding:var(--hm-space-16) 0;border-top:var(--hm-stroke-1) solid var(--hm-paper-200);display:grid;gap:var(--hm-space-4)}.explorer-history li:last-child{font-weight:var(--hm-fw-bold)}.explorer-history small{font-size:var(--hm-body-md-size);font-weight:var(--hm-fw-regular)}
.explorer-facts{margin:0}.explorer-facts>div{display:flex;justify-content:space-between;gap:var(--hm-space-16);padding-block:var(--hm-space-16);border-top:var(--hm-stroke-1) solid var(--hm-paper-200)}.explorer-facts dd{margin:0;text-align:right;font-weight:var(--hm-fw-semibold)}
.explorer-partner{display:flex;gap:var(--hm-space-16);align-items:center;margin-bottom:var(--hm-space-24)}.explorer-partner strong,.explorer-partner span{display:block}.explorer-initial{padding:var(--hm-space-16);background:var(--hm-paper-200);font-size:var(--hm-title-sm-size)}
.explorer-document-lines{display:grid;gap:var(--hm-space-8);margin-block:var(--hm-space-24)}.explorer-document-lines i{height:var(--hm-stroke-1);background:var(--hm-paper-200)}.explorer-document-lines i:last-child{width:75%}
.explorer-signature{width:70%;height:auto;margin-block:var(--hm-space-24)}.explorer-signature path{fill:none;stroke:var(--hm-paper-500);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.explorer-receipts{display:flex;gap:var(--hm-space-8);margin-top:var(--hm-space-32)}.explorer-receipts i{height:var(--hm-space-8);background:var(--hm-paper-200);flex:1}.explorer-receipts i:first-child{background:var(--hm-green-300)}
.module-caption{max-width:48ch;margin:var(--hm-space-24) auto 0;text-align:center;font-size:var(--hm-body-lg-size);line-height:var(--hm-body-lg-line)}
.module-explorer-controls{display:flex;gap:var(--hm-space-8);align-items:center}.module-explorer-controls button{min-width:var(--hm-scale-48);min-height:var(--hm-scale-48)}[data-module-count]{min-width:8ch;text-align:center;font-variant-numeric:tabular-nums}.module-explorer-controls [hidden]{display:none}
.platform-modules-channels{font-size:var(--hm-body-md-size);line-height:var(--hm-body-md-line);max-width:75ch;margin:var(--hm-space-32) auto 0;text-align:center}.platform-modules-channels a{color:inherit;text-decoration:underline;text-underline-offset:var(--hm-space-4)}
@media(min-width:1000px){.module-explorer{grid-template-columns:minmax(280px, .9fr) minmax(0,1.5fr);padding:var(--hm-space-48);gap:var(--hm-space-40)}.module-choices{align-self:center}.module-stage{min-height:580px}.module-visual{padding:var(--hm-space-24)}}
@media(max-width:999px){.modules-ready .module-choices{display:flex;gap:var(--hm-space-8);overflow-x:auto;padding:var(--hm-space-8);margin:calc(var(--hm-space-8)*-1);scroll-snap-type:x proximity}.modules-ready .module-choice{flex:none;max-width:280px;margin:0;scroll-snap-align:start}.modules-ready .module-trigger{font-size:var(--hm-body-md-size);line-height:var(--hm-body-md-line)}.modules-ready .module-choice-copy{display:none}.module-mobile-copy{font-size:var(--hm-body-md-size);line-height:var(--hm-body-md-line);max-width:65ch;margin:var(--hm-space-24) auto 0}.module-explorer{padding:var(--hm-space-16);gap:var(--hm-space-24)}.module-stage{min-height:480px}.explorer-art{padding:var(--hm-space-16)}.explorer-art h5{font-size:var(--hm-title-sm-size);line-height:var(--hm-title-sm-line)}.module-caption{font-size:var(--hm-body-md-size);line-height:var(--hm-body-md-line)}.module-explorer-controls{width:100%;justify-content:flex-end}.explorer-unit{font-size:var(--hm-legend-size)}}
@media(min-width:1000px){.module-mobile-copy{display:none}}

/* One object on stage: the tower. Each step moves closer to a part of it instead of replacing the scene. */
.module-stage{align-self:stretch;container-type:inline-size;min-width:0}
.module-business-question{font:var(--hm-fw-bold) var(--hm-title-sm-size)/var(--hm-title-sm-line) var(--hm-font-sans);margin:0 0 var(--hm-space-24);text-wrap:balance}
.module-flow-state{font-size:var(--hm-legend-size);line-height:var(--hm-legend-line);background:var(--hm-paper-200);padding:var(--hm-space-4) var(--hm-space-8);text-align:right}
.module-choice-copy p{margin:0}
.module-step-nav{display:flex;gap:var(--hm-space-8);margin-top:var(--hm-space-16)}
.module-step-nav .module-step,.tower-close{display:grid;place-items:center;width:var(--hm-scale-40);height:var(--hm-scale-40);min-width:0;padding:0}
.stage-piece,.stage-mini .mini-frame{background:var(--hm-white);color:var(--hm-paper-500)}
.stage-piece{padding:var(--hm-space-20);font-size:var(--hm-body-md-size);line-height:var(--hm-body-md-line)}
.stage-piece-top{display:flex;align-items:center;justify-content:space-between;gap:var(--hm-space-8);font-weight:var(--hm-fw-bold);padding-bottom:var(--hm-space-12)}
.stage-piece .explorer-facts>div{padding-block:var(--hm-space-8);align-items:center}
.stage-piece .explorer-facts dt{color:var(--hm-paper-400)}
.stage-piece .explorer-signature{display:block;width:60%;height:var(--hm-space-40);margin-top:var(--hm-space-8)}
.sw{display:inline-block;width:var(--hm-space-12);height:var(--hm-space-12);margin-right:var(--hm-space-8);vertical-align:-1px;background:var(--hm-paper-50);box-shadow:inset 0 0 0 var(--hm-stroke-1) var(--hm-paper-300)}
.sw.is-sold,.thermo .is-sold{background:var(--hm-paper-500);box-shadow:none}
.sw.is-reserved,.thermo .is-reserved{background:var(--hm-paper-300);box-shadow:none}
.thermo{display:flex;gap:var(--hm-space-4);height:var(--hm-space-8);margin-bottom:var(--hm-space-8)}
.thermo i{background:var(--hm-paper-100);box-shadow:inset 0 0 0 var(--hm-stroke-1) var(--hm-paper-300)}
.stage-mini{margin:0}
.stage-mini figcaption{margin-top:var(--hm-space-12);font-size:var(--hm-legend-size);line-height:var(--hm-legend-line);color:var(--hm-paper-400)}
.stage-mini figcaption strong{display:block;font-size:var(--hm-body-md-size);line-height:var(--hm-body-md-line);color:var(--hm-paper-500)}
.mini-frame{display:grid;gap:var(--hm-space-8);padding:var(--hm-space-8)}
.mini-frame i,.mini-frame b,.mini-frame em,.mini-frame span,.mini-frame u{display:block}
.mini-bar{display:flex;align-items:center;gap:var(--hm-space-8);padding-bottom:var(--hm-space-8);border-bottom:var(--hm-stroke-1) solid var(--hm-paper-200)}
.mini-bar i{width:var(--hm-space-24);height:var(--hm-space-8);background:var(--hm-paper-500)}
.mini-bar span{width:var(--hm-space-16);height:var(--hm-space-4);background:var(--hm-paper-200)}
.mini-bar i+span{margin-left:auto}
.mini-bar em{flex:1;height:var(--hm-space-12);box-shadow:inset 0 0 0 var(--hm-stroke-1) var(--hm-paper-200)}
.mini-hero{display:grid;place-items:center;aspect-ratio:16/9;background:var(--hm-paper-100)}
.mini-lines{display:grid;gap:var(--hm-space-4)}
.mini-lines i{height:var(--hm-space-4);background:var(--hm-paper-200)}
.mini-lines i:first-child{width:70%;height:var(--hm-space-8);background:var(--hm-paper-500)}
.mini-lines i+i{width:90%}
.mini-lines b{width:var(--hm-space-48);height:var(--hm-space-12);margin-top:var(--hm-space-4);background:var(--hm-green-300)}
.mini-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--hm-space-8)}
.mini-cards>div{display:grid;gap:var(--hm-space-4);padding:var(--hm-space-4);box-shadow:inset 0 0 0 var(--hm-stroke-1) var(--hm-paper-200)}
.mini-cards>.is-yours{box-shadow:inset 0 0 0 var(--hm-stroke-2) var(--hm-paper-500)}
.mini-cards u{display:grid;place-items:center;aspect-ratio:1;background:var(--hm-paper-100)}
.mini-cards i{height:var(--hm-space-4);background:var(--hm-paper-200)}
.mini-cards i+i{width:60%}
.mini-tower{display:grid!important;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;width:var(--hm-space-20);background:var(--hm-paper-300)}
.mini-tower i{height:var(--hm-space-4);background:var(--hm-paper-50)}
.tower,.tower-close,.stage-overview,.stage-note,.stage-question,.tower-caption{display:none}
.stage-layer{margin-bottom:var(--hm-space-32)}
.stage-layer .stage-mini{max-width:240px;margin-bottom:var(--hm-space-16)}

/* With JavaScript the steps share one stage and the tower never leaves it. */
.modules-ready .stage-question,.modules-ready .tower-caption{display:block}
.modules-ready .tower-caption{min-height:calc(var(--hm-body-lg-line)*2);margin:var(--hm-space-24) 0 0;font-size:var(--hm-body-lg-size);line-height:var(--hm-body-lg-line);text-align:left;max-width:60ch}
.modules-ready .tower-stage{position:relative;height:clamp(420px,56svh,520px);overflow:hidden;background:var(--hm-paper-100);--s:.385;--tx:0px;--ty:0px}
.modules-ready .tower{display:block;position:absolute;left:50%;top:50%;width:530px;height:864px;margin:-432px 0 0 -265px;transform:translate(var(--tx),var(--ty)) scale(var(--s));transition:transform .9s var(--hm-ease-out)}
.tower-face{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(8,1fr);gap:10px;height:100%;padding:20px;background:var(--hm-paper-200)}
.tower-unit{position:relative;display:grid;place-items:center;background:var(--hm-paper-50);color:var(--hm-paper-400);font-size:28px;line-height:1;font-variant-numeric:tabular-nums;outline:2px solid transparent;transition:background-color .5s var(--hm-ease-out),color .5s var(--hm-ease-out),outline-color .5s var(--hm-ease-out)}
.has-status .tower-unit.is-sold,[data-step="5"] .tower-unit.is-chosen{background:var(--hm-paper-500);color:var(--hm-paper-50)}
.has-status .tower-unit.is-reserved{background:var(--hm-paper-300);color:var(--hm-paper-500)}
[data-step="4"] .tower-unit.is-chosen{background:var(--hm-green-300);color:var(--hm-paper-500);font-weight:var(--hm-fw-bold)}
.tower-unit b{position:absolute;right:-12px;top:-12px;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--hm-radius-1000);background:var(--hm-white);color:var(--hm-paper-500);font-size:22px;box-shadow:0 0 0 2px var(--hm-paper-300);opacity:0;transform:scale(.6);transition:opacity .3s var(--hm-ease-out),transform .3s var(--hm-ease-out)}
[data-step="3"] .tower-unit b{opacity:1;transform:none;transition-delay:.5s}
.modules-ready .tower-close{display:grid;position:absolute;z-index:3;top:var(--hm-space-12);right:var(--hm-space-12);background:var(--hm-paper-50)}
.modules-ready .tower-close[hidden]{display:none}
.modules-ready .stage-overview{display:block;position:absolute;z-index:2;left:var(--hm-space-20);top:var(--hm-space-20);max-width:22ch;font-size:var(--hm-body-md-size);line-height:var(--hm-body-md-line);color:var(--hm-paper-400);pointer-events:none}
.modules-ready .stage-overview[hidden]{display:none}
.stage-overview span{display:block;font:var(--hm-fw-bold) var(--hm-body-lg-size)/var(--hm-body-lg-line) var(--hm-font-sans);color:var(--hm-paper-500);margin-bottom:var(--hm-space-4)}
.modules-ready .stage-note{display:block;position:absolute;z-index:2;left:var(--hm-space-20);bottom:var(--hm-space-12);font-size:var(--hm-legend-size);line-height:var(--hm-legend-line);color:var(--hm-paper-400);pointer-events:none;background:var(--hm-paper-100);padding:var(--hm-space-4) var(--hm-space-8)}
.modules-ready .stage-layer{position:absolute;inset:0;z-index:2;margin:0;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .2s var(--hm-ease-out),visibility 0s .2s}
.modules-ready .stage-layer.is-active{visibility:visible;opacity:1;transition:opacity .45s .35s var(--hm-ease-out)}
.modules-ready .stage-layer>.module-business-question,.modules-ready .stage-layer>.module-caption{display:none}
.modules-ready .stage-piece,.modules-ready .stage-mini{position:absolute;margin:0;pointer-events:auto;transform:translateY(calc(-50% + var(--hm-space-16)));transition:transform .2s var(--hm-ease-out)}
.modules-ready .is-active .stage-piece,.modules-ready .is-active .stage-mini{transform:translateY(-50%);transition:transform .6s .35s var(--hm-ease-out)}
.modules-ready .stage-piece{top:50%;right:var(--hm-space-20);width:min(240px,38cqw);box-shadow:0 var(--hm-space-16) var(--hm-space-48) color-mix(in srgb,var(--hm-paper-500) 18%,transparent)}
.modules-ready .stage-layer--0 .stage-piece{right:auto;left:var(--hm-space-20)}
.modules-ready .stage-mini{top:50%;width:min(240px,32cqw);max-width:none;--reach:calc(46cqw - min(240px,32cqw) - 72px)}
.modules-ready .stage-mini .mini-frame{box-shadow:0 var(--hm-space-16) var(--hm-space-48) color-mix(in srgb,var(--hm-paper-500) 18%,transparent)}
.modules-ready .stage-mini--site{left:4cqw}
.modules-ready .stage-mini--market{right:4cqw}
.stage-mini:after{content:'';position:absolute;top:38%;width:var(--reach);height:var(--hm-stroke-1);background:var(--hm-green-300)}
.stage-mini--site:after{left:100%}
.stage-mini--market:after{right:100%}
.modules-ready .tower-stage[data-step="0"]{--tx:10cqw}
.modules-ready .tower-stage[data-step="1"]{--s:.24}
.modules-ready .tower-stage[data-step="2"]{--tx:-10cqw}
.modules-ready .tower-stage[data-step="3"]{--s:.654;--tx:-11cqw;--ty:34px}
.modules-ready .tower-stage[data-step="4"]{--s:1;--tx:calc(-19cqw - 187px);--ty:52px}
.modules-ready .tower-stage[data-step="5"]{--s:.346;--tx:-12cqw}

/* Narrow stage: the tower keeps the upper half and the explanation piece takes the lower one. */
@container (max-width:679px){
.modules-ready .tower-stage{height:520px;--s:.3;--ty:-110px}
.modules-ready .tower-stage[data-step="-1"]{--s:.42;--ty:20px}
.modules-ready .stage-piece,.modules-ready .stage-layer--0 .stage-piece{top:auto;left:var(--hm-space-12);right:var(--hm-space-12);bottom:var(--hm-space-12);width:auto;padding:var(--hm-space-16);transform:translateY(var(--hm-space-16))}
.modules-ready .is-active .stage-piece,.modules-ready .is-active .stage-mini{transform:none}
.modules-ready .stage-mini{top:auto;bottom:var(--hm-space-12);width:calc(50% - var(--hm-space-16));transform:translateY(var(--hm-space-16))}
.modules-ready .stage-mini--site{left:var(--hm-space-12)}
.modules-ready .stage-mini--market{right:var(--hm-space-12)}
.stage-mini:after{display:none}
.modules-ready .stage-note{display:none}
.modules-ready .tower-stage[data-step="0"],.modules-ready .tower-stage[data-step="2"],.modules-ready .tower-stage[data-step="5"]{--tx:0px}
.modules-ready .tower-stage[data-step="1"]{--s:.2;--ty:-150px}
.modules-ready .tower-stage[data-step="3"]{--s:.5;--tx:0px;--ty:-84px}
.modules-ready .tower-stage[data-step="4"]{--s:.8;--tx:-150px;--ty:-68px}
}
@media(prefers-reduced-motion:reduce){.modules-ready .tower,.tower-unit,.tower-unit b,.modules-ready .stage-layer,.modules-ready .stage-layer.is-active,.modules-ready .stage-piece,.modules-ready .stage-mini,.modules-ready .is-active .stage-piece,.modules-ready .is-active .stage-mini{transition:none}
}
@media(min-width:1000px){.module-explorer{grid-template-columns:minmax(280px,.85fr) minmax(0,1.65fr);padding:var(--hm-space-32);gap:var(--hm-space-32)}
.module-stage{min-height:0}
.module-choices{align-self:center}
}
@media(max-width:999px){.module-stage{min-height:0}
.module-business-question{margin-bottom:var(--hm-space-16)}
.modules-ready .tower-caption{font-size:var(--hm-body-md-size);line-height:var(--hm-body-md-line);min-height:calc(var(--hm-body-md-line)*3);margin-top:var(--hm-space-16)}
.module-mobile-copy{margin-top:var(--hm-space-16)}
.modules-ready .module-choices{scrollbar-width:none}
.modules-ready .module-choices::-webkit-scrollbar{display:none}
}


/* Ícone de cada funcionalidade à esquerda; abrir/fechar (+/−) à direita. */
.module-trigger{width:100%}
.module-label{flex:1;min-width:0}
.module-symbol{width:var(--hm-scale-32);height:var(--hm-scale-32);padding:var(--hm-space-4);box-sizing:border-box}
.module-toggle{display:grid;place-items:center;flex:none;width:var(--hm-scale-20);height:var(--hm-scale-20);margin-left:auto;opacity:.72}.module-toggle img{width:100%;height:100%}
.module-trigger[aria-expanded=true] .module-toggle{opacity:1}.module-trigger[aria-expanded=true] .module-toggle img{filter:brightness(0) invert(1)}


/* The facade opens the section. The film brings the camera to the building, then the unit grid takes the stage. */
.tower-facade{display:none}
.modules-ready .tower-facade{display:block;position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--hm-paper-500)}
.tower-facade img,.tower-facade video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.tower-facade video{object-position:center}
.tower-facade video{opacity:0}
[data-film="0"]:not(.is-still) .tower-facade video[data-facade-film="giro"],[data-film="1"]:not(.is-still) .tower-facade video[data-facade-film="abre"],[data-film="2"]:not(.is-still) .tower-facade video[data-facade-film="zoom"]{opacity:1}
.is-still .tower-facade img{transform:scale(1.9);transform-origin:50% 40%;transition:transform .9s var(--hm-ease-in-out)}
.tower-facade:after{content:'';position:absolute;inset:0;background:var(--hm-paper-500);opacity:0;transition:opacity .6s var(--hm-ease-out)}
.is-inside .tower-facade:after{opacity:.62}
.modules-ready .tower-stage:not(.is-inside) .tower{opacity:0;transform:translate(var(--tx),var(--ty)) scale(calc(var(--s)*1.2))}
.modules-ready .tower{opacity:1;transition:transform .9s var(--hm-ease-out),opacity .5s var(--hm-ease-out)}
.modules-ready .tower-stage:not(.is-inside) .stage-layer.is-active{opacity:0;visibility:hidden}
.modules-ready .tower-stage:not(.is-inside) .tower-close,.modules-ready .tower-stage:not(.is-inside) .stage-note{opacity:0}
.modules-ready .stage-overview{left:var(--hm-space-16);top:var(--hm-space-16);padding:var(--hm-space-12) var(--hm-space-16);background:var(--hm-paper-500);color:var(--hm-paper-300)}
.modules-ready .stage-overview span{color:var(--hm-paper-100)}
@media(prefers-reduced-motion:reduce){.is-still .tower-facade img,.tower-facade:after,.modules-ready .tower{transition:none}
}

/* Dark evaluation for this block only, through the DS theme attribute. Remove the attribute to return to Paper. */
.platform-modules[data-hm-theme="dark"]{margin-top:var(--hm-space-64);padding:var(--hm-space-48);border-top:0;background:var(--hm-paper-500);color:var(--hm-paper-100)}
[data-hm-theme="dark"] .module-explorer{padding:0;background:transparent;color:var(--hm-paper-100)}
[data-hm-theme="dark"] .module-trigger{background:var(--hm-on-ink-06);color:var(--hm-paper-100)}
[data-hm-theme="dark"] .module-trigger:hover{background:var(--hm-on-ink-16)}
[data-hm-theme="dark"] .module-trigger img,[data-hm-theme="dark"] .module-step img,[data-hm-theme="dark"] .tower-close img{filter:brightness(0) invert(1)}
[data-hm-theme="dark"] .module-trigger[aria-expanded=true]{background:var(--hm-paper-100);color:var(--hm-paper-500)}
[data-hm-theme="dark"] .module-trigger[aria-expanded=true] img,[data-hm-theme="dark"] .module-trigger[aria-expanded=true] .module-toggle img{filter:none}
[data-hm-theme="dark"] .module-trigger:focus-visible{outline-color:var(--hm-paper-100)}
[data-hm-theme="dark"] .module-choice-copy,[data-hm-theme="dark"] .module-mobile-copy{color:var(--hm-on-ink-78)}
[data-hm-theme="dark"] .modules-ready .tower-stage,.modules-ready[data-hm-theme="dark"] .tower-stage{background:var(--hm-on-ink-06)}
[data-hm-theme="dark"] .tower-close{background:var(--hm-paper-500)}
[data-hm-theme="dark"] .tower-face{background:var(--hm-overlay)}
[data-hm-theme="dark"] .tower-unit{background:transparent;color:var(--hm-paper-300);outline-color:var(--hm-on-ink-16)}
[data-hm-theme="dark"] .has-status .tower-unit.is-sold,[data-hm-theme="dark"] [data-step="5"] .tower-unit.is-chosen{background:var(--hm-paper-100);color:var(--hm-paper-500);outline-color:transparent}
[data-hm-theme="dark"] .has-status .tower-unit.is-reserved{background:var(--hm-paper-400);color:var(--hm-paper-50);outline-color:transparent}
[data-hm-theme="dark"] [data-step="4"] .tower-unit.is-chosen{background:var(--hm-green-300);color:var(--hm-paper-500);outline-color:transparent}
[data-hm-theme="dark"] .stage-piece,[data-hm-theme="dark"] .stage-mini .mini-frame{background:var(--hm-paper-100);color:var(--hm-paper-500)}
[data-hm-theme="dark"] .stage-mini figcaption{color:var(--hm-paper-300)}
[data-hm-theme="dark"] .stage-mini figcaption strong{color:var(--hm-paper-100)}
[data-hm-theme="dark"] .mini-hero,[data-hm-theme="dark"] .mini-cards u{background:var(--hm-paper-200)}
[data-hm-theme="dark"] .modules-ready .stage-note,.modules-ready[data-hm-theme="dark"] .stage-note{background:transparent;color:var(--hm-paper-300)}
[data-hm-theme="dark"] .platform-modules-channels{color:var(--hm-paper-300)}
@media(max-width:999px){.platform-modules[data-hm-theme="dark"]{padding:var(--hm-space-24) var(--hm-space-16)}
}
.platform-modules[data-hm-theme="dark"] p{color:var(--hm-on-ink-78)}
.platform-modules[data-hm-theme="dark"] h3,.platform-modules[data-hm-theme="dark"] h4{color:var(--hm-paper-100)}
.platform-modules[data-hm-theme="dark"] .module-trigger[aria-expanded=true]{color:var(--hm-paper-500)}
.platform-modules[data-hm-theme="dark"] .stage-overview{max-width:32ch}
.platform-modules[data-hm-theme="dark"] .stage-overview p{color:var(--hm-paper-300)}
.platform-modules[data-hm-theme="dark"] .tower-unit{color:var(--hm-paper-200)}
.platform-modules[data-hm-theme="dark"] .stage-note{background:var(--hm-paper-500);color:var(--hm-paper-300)}

/* Full bleed: the dark block reaches both edges of the viewport while its content keeps the page column. */
.platform-modules[data-hm-theme="dark"]{margin-inline:calc(50% - 50vw);padding:var(--hm-space-72) calc(50vw - 50%)}
@media(max-width:999px){.platform-modules[data-hm-theme="dark"]{padding:var(--hm-space-48) calc(50vw - 50%)}
}


/* Zero gravity inside the unit: each step is a place in the room, and the pieces drift in front of it. */
.tower-facade video{transform:translate(var(--room-x,0%),var(--room-y,0%)) scale(var(--room-s,1));transition:transform 1.4s var(--hm-ease-in-out)}
.modules-ready .tower-facade{inset:calc(var(--hm-space-16)*-1);translate:calc(var(--px,0)*-14px) calc(var(--py,0)*-14px)}
.is-inside[data-step="0"]{--room-s:1.35;--room-x:14%;--room-y:2%}
.is-inside[data-step="1"]{--room-s:1.2;--room-x:0%;--room-y:0%}
.is-inside[data-step="2"]{--room-s:1.45;--room-x:-4%;--room-y:4%}
.is-inside[data-step="3"]{--room-s:1.4;--room-x:-14%;--room-y:2%}
.is-inside[data-step="4"]{--room-s:1.6;--room-x:-20%;--room-y:6%}
.is-inside[data-step="5"]{--room-s:1.3;--room-x:8%;--room-y:-6%}
@keyframes zero-g{0%{translate:0 0;rotate:0deg}25%{translate:5px -8px;rotate:.35deg}50%{translate:-4px -3px;rotate:-.3deg}75%{translate:-6px 6px;rotate:.2deg}100%{translate:0 0;rotate:0deg}}
.is-inside .tower{animation:zero-g 19s ease-in-out -4s infinite}
.is-inside .is-active .stage-piece{animation:zero-g 13s ease-in-out -7s infinite reverse}
.is-inside .is-active .stage-mini--site{animation:zero-g 15s ease-in-out -2s infinite}
.is-inside .is-active .stage-mini--market{animation:zero-g 17s ease-in-out -9s infinite reverse}
.stage-piece:hover,.stage-piece:focus-within,.stage-mini:hover{animation-play-state:paused}
.modules-ready .stage-layer{translate:calc(var(--px,0)*6px) calc(var(--py,0)*6px)}
.modules-ready .stage-piece,.modules-ready .stage-mini{transform:translateY(calc(-50% + var(--hm-space-40))) rotate(2deg);transition:transform .35s var(--hm-ease-out)}
.modules-ready .is-active .stage-piece,.modules-ready .is-active .stage-mini{transform:translateY(-50%);transition:transform 1.1s .3s var(--hm-ease-out)}
@container (max-width:679px){
.modules-ready .stage-piece,.modules-ready .stage-layer--0 .stage-piece,.modules-ready .stage-mini{transform:translateY(var(--hm-space-40)) rotate(2deg)}
.modules-ready .is-active .stage-piece,.modules-ready .is-active .stage-mini{transform:none}
}
@media(prefers-reduced-motion:reduce){.tower-facade video{transform:none;transition:none}
.is-inside .tower,.is-inside .is-active .stage-piece,.is-inside .is-active .stage-mini{animation:none}
.modules-ready .stage-layer,.modules-ready .tower-facade{translate:none}
.modules-ready .stage-piece,.modules-ready .stage-mini{transition:none}
}

/* Narrow strip: every chip one line, same height. */
@media(max-width:1199px){.module-label-rest{display:none}}
@media(max-width:999px){.modules-ready .module-choice,.modules-ready .module-choice h4{display:flex}.modules-ready .module-trigger{white-space:nowrap}}
