/* Product-specific visual stories, photographs and service-event motion. */
.portfolio-hero-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:center}.portfolio-hero-copy h1{font-size:clamp(48px,4.8vw,70px);line-height:1.09}.portfolio-hero-copy .hub-intro{font-size:17px;max-width:520px}.visual-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.visual-story h2{font-size:clamp(37px,3.7vw,53px);line-height:1.12;margin-top:24px}.visual-story-grid>div>p{font-size:16px;max-width:460px;margin-top:24px}.visual-kicker{font-size:9px;letter-spacing:.08em;color:var(--muted)}.illustration-note{font-size:10px!important;line-height:1.65!important;color:var(--muted);margin-top:22px!important}.product-route-svg{position:absolute;inset:0;width:100%;height:100%;fill:none}.route-base{stroke:#aaa4a3;stroke-width:1.3;fill:none}.product-lottie{position:absolute;inset:0;pointer-events:none}.product-lottie>svg{width:100%!important;height:100%!important}.travel-product-photo{isolation:isolate}.travel-pass{position:absolute;left:-25px;bottom:40px;z-index:3;width:245px;background:#f8f7f7;border:1px solid #cdc7c5;border-radius:8px;padding:22px;transform:rotate(-6deg);animation:travel-pass-float 8s ease-in-out infinite}.travel-pass>div:first-child{display:flex;gap:9px;align-items:center}.travel-pass>div>span{font-size:7px;letter-spacing:.05em}.travel-pass .icon{color:var(--red);width:22px;height:22px}.travel-pass>strong{display:block;font-size:30px;line-height:1.12;font-weight:500;letter-spacing:-.035em;margin-top:24px}.travel-pass-route{display:flex;align-items:center;gap:9px;margin-top:23px;border-top:1px solid #d3cecd;padding-top:17px}.travel-pass-route>i{flex:1;height:1px;background:#97908f}.travel-pass-route>span{font-size:6px!important}.story-controls{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.story-controls button{font-size:12px;background:transparent;border:1px solid #bdb6aa;padding:10px 14px;border-radius:4px;transition:color .25s,background .25s}.story-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.delivery-stage{padding:28px;background:#f8f8f8;border:1px solid #cac4c2;border-radius:7px;min-width:0}.visual-stage-top{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:8px;letter-spacing:.06em}.visual-stage-top>.icon{color:var(--red)}.destination-pair{display:flex;align-items:center;gap:23px;margin-top:25px}.destination-pair>img{width:115px;height:115px;object-fit:cover;border-radius:55px 4px 4px 4px}.destination-pair>div>span{font-size:8px;color:var(--muted);letter-spacing:.05em}.destination-pair strong{display:block;font-size:34px;font-weight:500;letter-spacing:-.03em;line-height:1.3;margin-top:8px}.destination-pair p{font-size:11px;margin-top:8px}.delivery-path{height:130px;position:relative;margin:0 -10px 12px}.delivery-path .product-route-svg circle{fill:#f6f5f5;stroke:#9f9997;stroke-width:1.5}.delivery-path .product-lottie{z-index:1}.delivery-markers{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:0 7%;font-size:9px;color:var(--muted)}.delivery-markers>[data-delivery-marker]{transition:color .3s}.delivery-stage[data-step="0"] [data-delivery-marker="0"],.delivery-stage[data-step="1"] [data-delivery-marker="1"],.delivery-stage[data-step="2"] [data-delivery-marker="2"]{color:var(--red)}.delivery-output{display:flex;align-items:center;gap:13px;padding:20px 0 0;border-top:1px solid #d4cfcd}.service-state-dot{width:7px;height:7px;border-radius:50%;background:#847c7a;box-shadow:0 0 0 5px #847c7a14;flex-shrink:0}.delivery-output strong{font-size:16px;font-weight:500}.delivery-output p{font-size:11px;margin-top:5px;line-height:1.7}.delivery-output>.icon{margin-left:auto;color:var(--red)}
.charging-stage{padding:35px;background:#f4f3f3;border:1px solid #cbc5c3;border-radius:7px}.wallet-head{display:flex;align-items:center;gap:20px;margin-top:33px}.wallet-head>.icon{width:35px;height:35px;color:var(--red)}.wallet-head>div>span{font-size:8px;letter-spacing:.05em;color:var(--muted)}.wallet-head strong{font-size:65px;font-weight:500;line-height:1.1;letter-spacing:-.05em;display:block;margin-top:10px;font-variant-numeric:tabular-nums}.wallet-unit{font-size:10px;color:var(--muted);align-self:flex-end;margin-bottom:8px;margin-left:auto}.wallet-meter{height:6px;border-radius:4px;background:#dad6d5;margin:25px 0 20px;overflow:hidden}.wallet-meter>span{display:block;inset:0;width:100%;height:100%;background:#867e7c;transform-origin:left;transition:transform .6s var(--ease)}.ledger-row{display:flex;justify-content:space-between;font-size:12px;border-top:1px solid #d4cfcd;padding:17px 0;color:#5f5957}.wallet-actions{display:flex;gap:17px;align-items:center;margin-top:14px}.wallet-actions .button{font-size:11px;padding:13px 15px;gap:20px}.wallet-reset{background:none;border-bottom:1px solid #bbb7b6;padding:5px 0;font-size:11px}.wallet-feedback{font-size:12px;margin-top:22px;min-height:22px}.charging-diagram,.app-policy-map,.portfolio-foundation-map{position:relative;aspect-ratio:5/3;min-width:0}.diagram-caption,.foundation-label{position:absolute;display:block;background:#f5f4f4;border:1px solid #bab6b5;padding:12px 17px;border-radius:4px;font-size:12px;transform:translate(-50%,-50%)}.dc-top-left,.fl-1{left:13%;top:22%}.dc-bottom-left,.fl-2{left:13%;top:78%}.dc-top-right,.fl-3{left:87%;top:22%}.dc-bottom-right,.fl-4{left:87%;top:78%}.diagram-centre,.foundation-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#dcd9d8;border:1px solid #aba5a4;width:130px;height:130px;border-radius:50%}.diagram-centre>.icon,.foundation-core>.icon{color:var(--red);width:30px;height:30px}.diagram-centre strong,.foundation-core strong{font-size:12px;font-weight:500}.portfolio-foundation-map{margin:35px 15px 0 0}
.network-path-stage{height:190px;position:relative;margin:-10px -15px 10px}.network-selection-svg{width:100%;height:100%;fill:none}.network-selection-svg .route-base{stroke:#c8c2c0}.network-path{stroke:#857d7b;stroke-width:2;stroke-dasharray:7 8;animation:network-route 3s linear infinite;opacity:0;transition:opacity .35s}.network-demo[data-selected-network=A] .network-path-a,.network-demo[data-selected-network=B] .network-path-b{opacity:1}.network-source rect{fill:#f5f4f4;stroke:#9c9694;stroke-width:1.5}.network-source path{stroke:#756e6c;stroke-width:1.5}.network-gateway{fill:#dcd9d8;stroke:#aca6a5;stroke-width:1.5}.network-demo[data-selected-network=A] .gateway-a,.network-demo[data-selected-network=B] .gateway-b{fill:#aba5a4;stroke:#837b79}.network-path-label{position:absolute;font-size:11px;color:#5f5957;transform:translate(-50%,-50%)}.np-origin{left:14%;top:73%}.np-a{left:86%;top:28%}.np-b{left:86%;top:72%}.network-demo .demo-network-origin{margin:25px 0 10px}.network-demo .demo-footnote{font-size:10px}.context-photo{margin:30px 0 0;max-width:420px}.context-photo img{width:100%;height:220px;object-fit:cover;border-radius:75px 4px 4px 4px;filter:saturate(.65)}.context-photo figcaption{font-size:10px;line-height:1.6;margin-top:12px;color:var(--muted)}
.policy-key{display:flex;flex-direction:column;gap:12px;font-size:12px;margin-top:25px}.policy-key>span{display:flex;align-items:center;gap:10px}.policy-key i{display:block;width:20px;height:2px;background:#7f7775}.policy-key>span:last-child i{background:var(--red)}.app-policy-map{margin:30px 0}.policy-app,.policy-gate{position:absolute;left:13%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;background:#f5f4f4;border:1px solid #b2adac;border-radius:12px;padding:20px 16px;white-space:nowrap;font-size:10px}.policy-app>.icon,.policy-gate>.icon{width:29px;height:29px;color:#6e6766}.policy-gate{left:50%;background:#dcd9d8}.policy-target{position:absolute;left:87%;transform:translate(-50%,-50%);display:flex;gap:7px;align-items:center;background:#f5f4f4;border:1px solid #b2adac;padding:13px 12px;border-radius:4px;white-space:nowrap;font-size:10px}.policy-target>.icon{width:15px;height:15px;color:#696361}.pt-login{top:22%}.pt-api{top:50%}.pt-blocked{top:78%;border-color:#c2a99e}.pt-blocked>.icon{color:var(--red)}.blocked-route{stroke:var(--red);stroke-width:1.5;stroke-dasharray:4 6}.iot-photo-badge{position:absolute;z-index:2;bottom:30px;left:-25px;background:#f6f5f5;border:1px solid #bdb9b8;border-radius:5px;padding:20px;display:flex;gap:15px;align-items:center;animation:product-float 8s ease-in-out infinite}.iot-photo-badge>.icon{color:var(--red);height:30px;width:30px}.iot-photo-badge span{font-size:7px;letter-spacing:.05em;color:var(--muted)}.iot-photo-badge strong{display:block;font-size:18px;font-weight:500;letter-spacing:-.02em;margin-top:6px}.device-state-key{display:flex;align-items:center;gap:12px;margin-top:28px;font-size:12px;flex-wrap:wrap}.device-state-key .icon{width:16px;height:16px;color:var(--red)}.fleet-stage{min-width:0;background:#f5f4f4;border:1px solid #c1bcbb;border-radius:6px;padding:25px}.fleet-devices{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.fleet-device{position:relative;display:flex;align-items:center;flex-direction:column;gap:10px;border:1px solid #c7c1c0;padding:17px 6px;border-radius:5px;background:#efeded}.fleet-device>.icon{color:#746d6c;width:24px;height:24px}.fleet-device>span{font-size:8px;white-space:nowrap}.fleet-device>i{position:absolute;right:7px;top:8px;width:4px;height:4px;background:#7e7775;border-radius:50%;animation:device-ready 4s ease-in-out infinite}.fd-1>i{animation-delay:-1s}.fd-2>i{animation-delay:-2s}.fd-3>i{animation-delay:-3s}.fleet-path{position:relative;aspect-ratio:5/3;margin-top:10px}.fleet-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #b2adab;background:#e0dddc;border-radius:50%;width:115px;height:115px;display:flex;gap:10px;align-items:center;justify-content:center;flex-direction:column}.fleet-core>.icon{color:var(--red)}.fleet-core strong{font-size:11px;font-weight:500;text-align:center;line-height:1.5}.fleet-record{position:absolute;left:87%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:10px;background:#f3f2f2;font-size:10px;text-align:center}.fleet-record>.icon{color:#726b69}.fleet-stage .illustration-note{margin-top:0!important;font-size:9px!important}
@keyframes product-drift{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(-6deg)}}@keyframes product-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes travel-pass-float{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-8px) rotate(-4deg)}}@keyframes index-transit{to{transform:translateX(100%)}}@keyframes wallet-bars{0%,100%{opacity:1}50%{opacity:.4}}@keyframes network-route{to{stroke-dashoffset:-60}}@keyframes device-ready{0%,100%{opacity:1}50%{opacity:.25}}
@media(max-width:1100px){.portfolio-hero-layout{gap:30px}.visual-story-grid{gap:50px}.product-index-row{grid-template-columns:20px 230px 1fr 24px;gap:25px}.diagram-caption,.foundation-label{font-size:10px;padding:10px 12px}.diagram-centre,.foundation-core{width:110px;height:110px}.diagram-centre strong,.foundation-core strong{font-size:10px}.policy-target{padding:10px 8px;font-size:9px}.fleet-stage{padding:20px}.fleet-devices{gap:7px}.fleet-device>span{font-size:7px}.charging-stage{padding:28px}}
@media(max-width:900px){.portfolio-hero-layout{grid-template-columns:1fr;gap:30px}.portfolio-hero-copy h1{font-size:65px}.portfolio-hero-copy .hub-intro{max-width:620px}.product-index-row{grid-template-columns:20px 190px 1fr 22px;gap:20px}.product-index-preview{height:165px}.product-index-row h2{font-size:29px}.product-index-row p{font-size:14px}.visual-story-grid{grid-template-columns:1fr;gap:35px}.visual-story-grid>div>p{max-width:600px}.delivery-stage,.charging-diagram,.app-policy-map,.fleet-stage{width:100%;max-width:610px;margin-inline:auto}.diagram-caption,.foundation-label{font-size:12px;padding:12px 17px}.diagram-centre,.foundation-core{width:130px;height:130px}.diagram-centre strong,.foundation-core strong{font-size:12px}.context-photo{max-width:380px}.charging-stage{padding:25px}.wallet-head{gap:12px}.wallet-head strong{font-size:54px}.wallet-unit{font-size:8px}.wallet-actions .button{font-size:10px;gap:12px}.wallet-actions{gap:13px}.charging-stage .illustration-note{font-size:9px!important}.policy-target{font-size:11px;padding:13px}.fleet-device>span{font-size:10px}.fleet-device{padding:20px 7px}.portfolio-foundation-map{max-width:520px;width:100%}}
@media(max-width:600px){.product-hub-hero{padding-bottom:50px}.portfolio-hero-copy h1{font-size:clamp(42px,11vw,58px)}.portfolio-hero-copy .hub-intro{font-size:16px}.product-index-row{grid-template-columns:20px minmax(0,1fr) 22px;gap:17px;align-items:start;padding:28px 0}.product-index-row>span{grid-column:1;grid-row:1;margin-top:4px}.product-index-preview{grid-column:2;grid-row:1;height:165px}.product-index-row>div:not(.product-index-preview){grid-column:2;grid-row:2}.product-index-row>.icon:last-child{grid-column:3;grid-row:1;width:20px;height:20px;display:block;margin-top:2px}.product-index-row h2{font-size:30px;line-height:1.15;margin-top:5px}.product-index-row p{font-size:15px;margin-top:14px}.visual-story h2{font-size:37px;margin-top:22px}.visual-story-grid{gap:30px}.visual-story-grid>div>p{font-size:15px}.travel-pass{width:205px;padding:20px;left:-8px;bottom:25px}.travel-pass>strong{font-size:27px;margin-top:18px}.travel-pass-route{margin-top:18px;padding-top:15px}.travel-pass>div>span{font-size:6px}.delivery-stage{padding:23px 19px}.visual-stage-top{font-size:7px;gap:12px}.destination-pair{gap:17px}.destination-pair>img{width:90px;height:90px}.destination-pair strong{font-size:29px;margin-top:5px}.destination-pair>div>span{font-size:7px}.destination-pair p{font-size:10px}.delivery-path{height:120px;margin-inline:-15px}.delivery-markers{font-size:8px;padding:0 8%;bottom:5px}.delivery-output{gap:10px}.delivery-output strong{font-size:15px}.delivery-output p{font-size:10px}.delivery-output>.icon{width:20px;height:20px}.story-controls{gap:8px;margin-top:24px}.story-controls button{font-size:11px;padding:9px 12px}.charging-stage{padding:25px 23px}.wallet-head strong{font-size:63px}.wallet-unit{font-size:9px}.wallet-actions .button{font-size:10px;gap:14px}.diagram-caption,.foundation-label{font-size:9px;padding:9px 11px}.diagram-centre,.foundation-core{width:100px;height:100px;gap:8px}.diagram-centre>.icon,.foundation-core>.icon{width:25px;height:25px}.diagram-centre strong,.foundation-core strong{font-size:9px}.charging-diagram,.app-policy-map{margin:15px 5px;max-width:calc(100% - 10px)}.network-path-stage{height:180px;margin-inline:-12px}.network-demo .demo-network-origin strong{font-size:26px}.network-demo .demo-network-origin>.icon{width:31px;height:31px}.context-photo{max-width:100%;margin-top:25px}.context-photo img{height:195px}.policy-app,.policy-gate{padding:13px 10px;font-size:8px;gap:8px;border-radius:8px}.policy-app>.icon,.policy-gate>.icon{width:24px;height:24px}.policy-target{font-size:8px;padding:10px 7px;gap:4px}.policy-target>.icon{width:12px;height:12px}.policy-key{font-size:11px}.iot-photo-badge{left:-8px;bottom:25px;padding:17px;gap:12px}.iot-photo-badge strong{font-size:17px}.iot-photo-badge>.icon{width:26px;height:26px}.fleet-stage{padding:22px 17px}.fleet-devices{grid-template-columns:repeat(2,1fr);gap:10px}.fleet-device{padding:17px 7px}.fleet-device>span{font-size:9px}.fleet-path{margin-top:0}.fleet-core{height:92px;width:92px;gap:6px}.fleet-core strong{font-size:9px}.fleet-core>.icon{height:20px;width:20px}.fleet-record{font-size:8px;gap:6px}.fleet-record>.icon{height:20px;width:20px}.portfolio-foundation-map{margin-top:25px}.visual-kicker{font-size:8px}}
@media(prefers-reduced-motion:reduce){.product-index-preview *,.wallet-meter>span{transition:none!important}.network-path{stroke-dasharray:none}}
.travel-product-photo>figcaption,.industry-photo:has(.iot-photo-badge)>figcaption{display:none}

/* A shared illustration system for the complete product portfolio. */
.product-hub-hero{padding-bottom:70px}.portfolio-hero-layout{grid-template-columns:1.06fr 1fr;gap:55px}.portfolio-system-art{position:relative;width:100%;max-width:560px;margin:auto;isolation:isolate}.portfolio-overview{display:block;width:100%;overflow:visible}.portfolio-art-caption{display:block;text-align:center;font-size:12px;color:var(--muted);margin-top:6px;letter-spacing:.01em}.overview-orbit{stroke:#d9ceca;stroke-width:1;stroke-dasharray:3 7}.overview-orbit.inner{stroke:#e0d7d3;stroke-dasharray:none}.overview-coordinate{stroke:#d2c5c1;stroke-width:2;transform-origin:270px 250px;animation:portfolio-orbit 90s linear infinite}.overview-core{fill:#fcfaf8;stroke:#bcb0ac;stroke-width:1}.overview-core-label{font:7px Satoshi,sans-serif;letter-spacing:.1em;fill:#716460}.overview-label{font:11px Satoshi,sans-serif;fill:#514747}.overview-product .art-panel{fill:#f9f6f3;stroke:#c7b9b4}.portfolio-overview .art-line{stroke:#d2c2bd}.portfolio-overview .art-icon{color:var(--red)}
.product-index-row{grid-template-columns:28px minmax(240px,330px) minmax(0,1fr) 24px;gap:42px;align-items:center;padding:38px 0}.product-index-row h2{font-size:clamp(29px,3vw,41px);line-height:1.15}.product-index-row p{font-size:15px;max-width:580px;line-height:1.8}.product-index-row>.icon:last-child{width:23px;height:23px}.product-index-preview{position:relative;aspect-ratio:18/11;height:auto;border-radius:4px;border:1px solid #e5dcd7;background:#f2edE9;overflow:hidden;color:var(--ink)}.portfolio-diagram{display:block;width:100%;height:100%}.art-panel{fill:#fbf8f5;stroke:#b7aaa4;stroke-width:1.2}.art-line{fill:none;stroke:#c7b9b2;stroke-width:1.2;stroke-linejoin:round}.art-signal{fill:none;stroke:var(--red);stroke-width:1.8;stroke-dasharray:6 150;stroke-linecap:round;animation:portfolio-signal 5.6s linear infinite}.art-port{fill:#f9eeea;stroke:var(--red);stroke-width:1.3}.art-detail{stroke:#b4a7a1;stroke-width:1.2;stroke-linecap:round;fill:none}.art-icon{color:var(--red);stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;fill:none}.art-label{fill:#675953;font:8px Satoshi,sans-serif;letter-spacing:.04em}.art-eyebrow{fill:#7e6b65;font:7px Satoshi,sans-serif;text-anchor:start;letter-spacing:.09em}.product-index-preview .art-panel{transition:stroke .4s}.product-index-row:hover .art-panel{stroke:#bd4242}.product-index-preview .art-signal:nth-of-type(2n){animation-delay:-2.8s}.product-index-row:focus-visible{outline:2px solid var(--red);outline-offset:8px}.motion-paused .art-signal,.motion-paused .overview-coordinate{animation-play-state:paused}
@keyframes portfolio-signal{to{stroke-dashoffset:-312}}@keyframes portfolio-orbit{to{transform:rotate(360deg)}}
@media(max-width:1100px){.product-index-row{grid-template-columns:20px 270px minmax(0,1fr) 22px;gap:28px}.portfolio-hero-layout{gap:30px}.portfolio-hero-copy h1{font-size:clamp(46px,4.8vw,65px)}}
@media(max-width:900px){.portfolio-hero-layout{grid-template-columns:1fr;gap:25px}.portfolio-system-art{max-width:520px}.portfolio-hero-copy h1{font-size:60px}.product-index-row{grid-template-columns:20px 240px minmax(0,1fr) 22px;gap:22px}.product-index-row h2{font-size:29px}.product-index-row p{font-size:14px}}
@media(max-width:600px){.portfolio-hero-copy h1{font-size:clamp(42px,10vw,58px)}.product-hub-hero{padding-bottom:45px}.portfolio-system-art{max-width:410px}.portfolio-art-caption{font-size:11px;margin-top:0}.portfolio-overview{margin-top:5px}.product-index-row{grid-template-columns:20px minmax(0,1fr) 20px;gap:16px;align-items:start;padding:28px 0}.product-index-preview{grid-column:2;grid-row:1;height:auto;aspect-ratio:18/11}.product-index-row>span{grid-column:1;grid-row:1;margin-top:3px}.product-index-row>div:not(.product-index-preview){grid-column:2;grid-row:2}.product-index-row>.icon:last-child{grid-column:3;grid-row:1;width:19px;height:19px;margin-top:2px}.product-index-row h2{font-size:29px}.product-index-row p{font-size:15px;margin-top:13px}}
@media(prefers-reduced-motion:reduce){.art-signal,.overview-coordinate,.travel-pass,.iot-photo-badge,.network-path,.fleet-device>i{animation:none!important}.art-signal{stroke-dasharray:none;opacity:.65}}
