/* Mygeste approved concept 15. Isolated homepage component. */
.home-page .wm-banner{--wm-height:clamp(224px,18vw,284px);--wm-dot:#a8c6ec;--wm-line:#75a0df;--wm-glow:#3155d9;display:grid;grid-template-columns:minmax(270px,32%) minmax(0,68%);position:relative;align-items:center;min-height:var(--wm-height);padding:12px 24px;background:var(--panel,#fff);isolation:isolate}
:root[data-theme='dark'] .wm-banner{--wm-dot:#396cae;--wm-line:#568bd0;--wm-glow:#a0baff;background:var(--panel,#111b2b)}
.wm-copy{position:relative;z-index:2;padding:8px 0}
.wm-copy h1{font-size:clamp(1.25rem,1.65vw,1.8rem);font-weight:750;line-height:1.2;letter-spacing:-.035em;margin:0 0 12px;color:var(--home-ink)}
.wm-copy>p{font-size:.85rem;color:var(--home-muted);margin:0 0 9px;line-height:1.45}
:root[data-theme='dark'] .wm-copy h1 span{color:#9cbcf1}
.wm-blockchain{display:flex;align-items:center;gap:12px;max-width:100%;padding:0;border:0;background:none;text-align:left;font:inherit;color:var(--home-muted);cursor:pointer;border-radius:4px}
.wm-blockchain>span{font-size:.73rem;line-height:1.4}
.wm-cubes{width:142px;height:64px;flex:0 0 142px;overflow:visible;color:var(--accent,#3155d9)}
:root[data-theme='dark'] .wm-cubes{color:#6d94fa}
.wm-cube{fill:none;stroke:currentColor;stroke-width:1.1;stroke-linejoin:round;animation:wm-float 4.8s ease-in-out infinite;filter:drop-shadow(0 0 3px color-mix(in srgb,currentColor 20%,transparent))}
.wm-cube-face{fill:url(#wm-face)}
.wm-cube-middle{animation-delay:-1.6s}.wm-cube-right{animation-delay:-3.2s}
.wm-chain{fill:none;stroke:currentColor;stroke-width:1;opacity:.45}
.wm-chain-pulse{fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-dasharray:14 86;animation:wm-signal var(--wm-duration,7s) linear var(--wm-delay,0s) infinite;filter:drop-shadow(0 0 3px currentColor)}
.wm-cube-spark{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:16 84;opacity:0;animation:wm-cube-trace 9s linear infinite;filter:drop-shadow(0 0 3px currentColor)}
.wm-cube-middle .wm-cube-spark{animation-delay:-6s}.wm-cube-right .wm-cube-spark{animation-delay:-3s}
@keyframes wm-cube-trace{0%{opacity:0;stroke-dashoffset:16}4%,27%{opacity:1}32%{opacity:0;stroke-dashoffset:-100}100%{opacity:0;stroke-dashoffset:-100}}
.wm-map-shell{display:flex;justify-content:center;align-items:center;min-width:0;align-self:stretch}
.wm-map-surface{position:relative;width:min(100%,calc((var(--wm-height) - 24px)*3.0303));aspect-ratio:1000/330}
.wm-map-svg{display:block;width:100%;height:100%;overflow:visible}
.wm-land{color:var(--wm-dot)}
.wm-network{stroke:var(--wm-line);fill:none;stroke-width:.8;stroke-dasharray:3 5;opacity:.65}
.wm-network circle{fill:var(--wm-line);stroke:none;filter:drop-shadow(0 0 5px var(--wm-line))}
.wm-travellers path{fill:none;stroke:var(--wm-glow);stroke-width:3.3;stroke-linecap:round;stroke-dasharray:7 93;animation:wm-signal var(--wm-duration,9s) linear var(--wm-delay,0s) infinite;opacity:1;filter:drop-shadow(0 0 4px var(--wm-glow))}
.wm-selection{position:absolute;left:var(--pin-x);top:var(--pin-y);width:44px;height:44px;transform:translate(-50%,-50%);z-index:3}
.wm-pin{width:44px;height:44px;padding:0;border:0;background:none;position:relative;display:grid;place-items:center;cursor:pointer;border-radius:50%;color:var(--accent,#3155d9)}
.wm-pin span{display:block;width:14px;height:14px;border:2px solid var(--panel,#fff);border-radius:50%;background:currentColor;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 18%,transparent)}
.wm-pin:after{content:'';position:absolute;inset:7px;border:1px solid currentColor;border-radius:50%;animation:wm-ring 3s ease-out infinite;pointer-events:none}
:root[data-theme='dark'] .wm-pin{color:#7298ff}
.wm-city{position:absolute;left:37px;bottom:30px;display:block;white-space:nowrap;padding:4px 0;font-size:.8rem;font-weight:600;line-height:1.3;color:var(--accent,#3155d9);background:none;border:0;box-shadow:none;text-decoration:none}
:root[data-theme='dark'] .wm-city{color:#a0baff}.wm-city:hover{text-decoration:underline;text-underline-offset:3px}
.wm-city[hidden]{display:none}
.wm-motion{position:absolute;bottom:7px;right:12px;background:transparent;border:1px solid var(--border,#dce4ef);border-radius:3px;color:var(--home-muted);font:inherit;font-size:.62rem;line-height:1;padding:5px 8px;cursor:pointer;z-index:4}
.wm-blockchain:focus-visible,.wm-pin:focus-visible,.wm-city:focus-visible,.wm-motion:focus-visible{outline:2px solid var(--accent,#3155d9);outline-offset:4px}
.wm-paused .wm-banner *,.wm-paused .wm-banner *:after,.wm-offscreen *,.wm-offscreen *:after{animation-play-state:paused!important}
@keyframes wm-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes wm-signal{0%{stroke-dashoffset:8;opacity:0}12%{opacity:.95}65%{opacity:.95}82%,100%{stroke-dashoffset:-100;opacity:0}}
@keyframes wm-ring{0%{transform:scale(.72);opacity:.75}85%,100%{transform:scale(1.4);opacity:0}}
@media(max-width:1050px){.home-page .wm-banner{grid-template-columns:minmax(255px,35%) minmax(0,65%);padding:10px 18px}.wm-copy h1{font-size:1.32rem}.wm-cubes{width:116px;flex-basis:116px}.wm-blockchain{gap:6px}.wm-city{font-size:.67rem;left:23px;bottom:35px;padding:7px 9px}}
@media(max-width:700px){.home-page .wm-banner{--wm-height:210px;grid-template-columns:1fr;padding:18px 16px 27px;min-height:0}.wm-copy{padding:0}.wm-copy h1{font-size:1.5rem;margin-bottom:8px}.wm-copy>p{font-size:.8rem;margin-bottom:4px}.wm-blockchain{gap:12px}.wm-cubes{width:130px;height:55px;flex-basis:130px}.wm-map-shell{margin-top:8px}.wm-map-surface{width:100%}.wm-city{left:auto;right:7px;bottom:37px;font-size:.7rem;padding:7px 9px}.wm-motion{bottom:6px}.wm-map-svg{overflow:hidden}}
/* Calm autoplay: retain slow light signals without spatial motion. */
@media(prefers-reduced-motion:reduce){
 .wm-banner *{scroll-behavior:auto!important}
 .wm-cube,.wm-pin:after{animation:none!important;transform:none}
 .wm-pin:after{opacity:.3}
 .wm-travellers path,.wm-chain-pulse{animation-duration:calc(var(--wm-duration,8s)*1.8);filter:none}
 .wm-cube-spark{animation-duration:18s;filter:none;stroke-width:1.8}
 .wm-cube-middle .wm-cube-spark{animation-delay:-12s}.wm-cube-right .wm-cube-spark{animation-delay:-6s}
}
/* Country hit areas keep the dotted world and add a soft geographic highlight. */
.wm-country-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.wm-country{fill:transparent;stroke:transparent;stroke-width:1;pointer-events:fill;transition:fill .22s,stroke .22s;fill-rule:evenodd}
.wm-country:hover,.wm-country.is-active,.wm-country-layer a:focus-visible .wm-country{fill:color-mix(in srgb,var(--accent,#3155d9) 23%,transparent);stroke:var(--wm-glow)}
.wm-country-layer a{cursor:pointer}.wm-country-layer a:focus-visible{outline:none}
.wm-country-name{position:absolute;z-index:5;pointer-events:none;color:var(--home-ink);font-size:.8rem;font-weight:600;white-space:nowrap;text-shadow:0 1px 4px var(--panel);transform:translate(-50%,-100%)}
.wm-country-name[hidden]{display:none}.wm-selection{pointer-events:none}.wm-selection .wm-pin,.wm-selection .wm-city{pointer-events:auto}
.wm-selection:focus-within,.wm-selection:hover{z-index:6}
.wm-upcoming .wm-pin{color:#c28a2f;width:clamp(8px,.8vw,12px);height:clamp(8px,.8vw,12px);left:calc(22px - clamp(4px,.4vw,6px));top:calc(22px - clamp(4px,.4vw,6px))}
:root[data-theme='dark'] .wm-upcoming .wm-pin{color:#e8b661}
.wm-upcoming .wm-pin span{width:clamp(4px,.55vw,8px);height:clamp(4px,.55vw,8px);border:1.5px solid currentColor;background:var(--panel);box-shadow:none}
.wm-upcoming .wm-pin:after{display:none}
.wm-upcoming .wm-city{left:55px;bottom:15px;color:#a87018}.wm-upcoming .wm-city small{display:block;font-size:.65rem;font-weight:400;color:var(--home-muted)}
:root[data-theme='dark'] .wm-upcoming .wm-city{color:#e8b661}.wm-abu-dhabi .wm-city{bottom:-14px}
.wm-map-key{position:absolute;bottom:9px;left:50%;display:flex;gap:14px;font-size:.6rem;color:var(--home-muted);pointer-events:none}.wm-map-key span:first-child{color:var(--accent,#3155d9)}.wm-map-key span:last-child{color:#b98024}
@media(max-width:700px){.wm-upcoming .wm-city{left:auto;right:5px;bottom:26px}.wm-abu-dhabi .wm-city{bottom:-24px}.wm-map-key{left:16px;bottom:8px;font-size:.55rem;gap:10px}}
@media(prefers-reduced-motion:reduce){.wm-country{transition:none}}
.wm-selection:not(.wm-upcoming) .wm-pin{width:18px;height:18px;left:13px;top:13px}
.wm-selection:not(.wm-upcoming) .wm-pin:after{inset:-4px}
/* One clipped geographic layer keeps dots, outlines and pins aligned while zooming. */
.wm-map-surface{overflow:hidden}
.wm-map-content{position:absolute;inset:0;transform-origin:0 0}
.wm-map-content .wm-selection{transform:translate(-50%,-50%) scale(var(--wm-inverse,1))}
.wm-map-controls{position:absolute;left:3px;bottom:3px;z-index:10;display:flex;gap:3px}
.wm-map-controls button{background:var(--panel);color:var(--home-muted);border:1px solid var(--border);border-radius:3px;min-width:25px;height:25px;padding:0 6px;font:inherit;font-size:.7rem;cursor:pointer}
.wm-map-controls button:disabled{opacity:.4;cursor:default}
.wm-map-controls button:focus-visible,.wm-map-surface:focus-visible{outline:2px solid var(--accent,#3155d9);outline-offset:-2px}
.wm-zoomed{cursor:grab}.wm-dragging,.wm-dragging *{cursor:grabbing!important;user-select:none}
.wm-country-upcoming{fill:#c28a2f12;stroke:#c28a2f66;stroke-width:.65}
.wm-country-upcoming:hover,.wm-country-upcoming.is-active,.wm-country-layer a:focus-visible .wm-country-upcoming{fill:#c28a2f40;stroke:#dba64c}

.wm-country-name{max-width:calc(100% - 8px);white-space:normal;text-align:center;width:max-content}

.wm-selection .wm-pin{z-index:2}
.wm-selection.wm-upcoming .wm-pin{pointer-events:none}
.wm-selection.wm-upcoming .wm-pin span{pointer-events:auto}
.wm-map-content .wm-upcoming{z-index:20;isolation:isolate}
