/* User-provided color tokens. Color-only layer: no layout, type or motion changes. */
:root{
 --color-void-black:#000000;--color-graphite-hairline:#292d30;--color-white:#ffffff;
 --color-bone-white:#f0f0f0;--color-ash-gray:#a1a4a5;--color-smoke-gray:#abafb4;
 --color-iron:#6e727a;--color-charcoal:#464a4d;--color-iris-violet:#9281f7;
 --gradient-iris-violet:linear-gradient(to right bottom in oklab,rgb(146,129,247) 0%,rgb(154,84,220) 100%);
 --color-iris-violet-glow:#baa7ff;--color-signal-blue:#3b9eff;--color-sky-blue:#70b8ff;
 --color-pulse-green:#3ad389;--color-alarm-red:#ff9592;--color-crimson:#ff6465;
 --color-amber:#ffca16;--color-amber-glow:#ffd60a;--color-surface-gradient:#0b0e14;
 --gradient-surface-gradient:linear-gradient(rgb(27,27,27),rgb(3,3,3));
 --surface-void:#000000;--surface-graphite:#292d30;--surface-surface-lift:#0b0e14;--surface-backdrop-blur:#000000f2;
 --canvas:var(--surface-void);--ink:var(--color-white);--navy:var(--surface-void);
 --blue:var(--color-iris-violet);--slate:var(--color-smoke-gray);--fog:var(--color-iron);
 --line:var(--color-graphite-hairline);--field:var(--color-graphite-hairline);
 --sky:var(--surface-surface-lift);--mint:var(--surface-graphite);--lavender:var(--surface-surface-lift);
 --ember:var(--color-charcoal);--violet:var(--color-iris-violet);--muted:var(--color-ash-gray);
 --blue-strong:var(--color-iris-violet-glow);--blue-soft:var(--surface-surface-lift);--blue-border:var(--color-graphite-hairline);
 color-scheme:dark;color:var(--color-white);background:var(--surface-void);
}
body{background:var(--surface-void);color:var(--color-white)}
::selection{background:var(--color-iris-violet);color:var(--color-void-black)}
:focus-visible{outline-color:var(--color-iris-violet-glow)}
.announcement,.site-footer{background:var(--surface-surface-lift);color:var(--color-white)}
.hero-stage{background:var(--surface-void)}
/* Connection routes carry the global eSIM story behind the existing hero. */
.site-header .sim-symbol{width:22px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header .wordmark:hover{transform:rotate(-8deg)}
.connection-backdrop{position:absolute;inset:0 0 auto;height:1250px;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#10212d 0%,#080e14 42%,#000 76%);transform-origin:center}
.connection-backdrop>svg{width:100%;height:100%;object-fit:cover;color:var(--color-sky-blue)}
.connection-backdrop.webgl-ready>svg{display:none}
.network-canvas{display:block;width:100%;height:100%;pointer-events:none;mask-image:linear-gradient(#000 72%,transparent)}
.hero-content{background:radial-gradient(ellipse at center,#00000045,transparent 72%)}
.network-globe{opacity:.15;stroke-width:1;transform-origin:720px 510px;animation:network-breathe 16s ease-in-out infinite alternate}
.network-routes{stroke:var(--color-sky-blue);stroke-width:1.2;opacity:.3}
.network-packets{fill:var(--color-pulse-green);filter:drop-shadow(0 0 7px var(--color-pulse-green))}
.network-stations{fill:var(--color-sky-blue);animation:network-pulse 4s ease-in-out infinite}
@keyframes network-breathe{from{transform:rotate(-7deg) scale(.97)}to{transform:rotate(7deg) scale(1.03)}}
@keyframes network-pulse{0%,100%{opacity:.25}50%{opacity:.85}}
@media(max-width:600px){.connection-backdrop{height:900px}.connection-backdrop>svg{width:900px;max-width:none;position:absolute;left:50%;transform:translateX(-50%)}.site-header .sim-symbol{width:19px;height:25px}}
@media(prefers-reduced-motion:reduce){.network-globe,.network-stations{animation:none}.network-packets{display:none}}
main>section:not(.hero-stage,.benefit-strip,.big-marquees){background:var(--surface-surface-lift)}
.site-header{background:transparent}
.site-header .wordmark,.menu-toggle,.site-header nav a{background:var(--surface-surface-lift);color:var(--color-white);border-color:var(--color-graphite-hairline)}
.site-header a:hover,.site-header nav a:hover{color:var(--color-iris-violet-glow);background:var(--surface-graphite)}
.scrolled .site-header{box-shadow:none}
.rolling-brand,.hero-tagline,.hero-note,.device-heading,.hero-outro,.eyebrow,.brand-name,.brand-sub{color:var(--color-white)}
.hero-note,.section-description,.section-title>p,.feature-list p,.coverage-note,.economics p,.application-copy>p,.application-copy>small,.application-checks{color:var(--color-smoke-gray)}
.benefit-strip{background:var(--surface-surface-lift);color:var(--color-white)}
.strip-icon{background:var(--surface-graphite);stroke:var(--color-white);border-color:var(--color-charcoal)}
.strip-inner small,.strip-inner strong{color:var(--color-bone-white)}
.audience-grid article:nth-child(n){background:var(--surface-surface-lift);border-color:var(--color-graphite-hairline);color:var(--color-white)}
.audience-grid article:nth-child(3n+2){background:var(--surface-graphite)}
.audience-grid p{color:var(--color-smoke-gray)}
.carousel-controls,.coverage-pagination{color:var(--color-ash-gray)}
.carousel-controls button,.coverage-controls button{background:var(--surface-surface-lift);color:var(--color-white);border-color:var(--color-graphite-hairline)}
.carousel-controls button:hover,.coverage-controls button:hover{background:var(--surface-graphite);color:var(--color-iris-violet-glow)}
.big-marquees{background:var(--surface-void)}
.marquee-tile.tile-0,.big-marquee:nth-child(2) .tile-0{background:var(--surface-surface-lift);color:var(--color-white);border-color:var(--color-graphite-hairline)}
.marquee-tile.tile-1{background:var(--gradient-iris-violet);color:var(--color-void-black);border-color:var(--color-iris-violet)}
.marquee-tile.tile-2{background:var(--surface-graphite);color:var(--color-bone-white);border-color:var(--color-charcoal)}
.device-demo,.browser-chrome,.demo-sidebar{background:var(--surface-surface-lift);border-color:var(--color-graphite-hairline);color:var(--color-white)}
.demo-screen{background:var(--surface-void);color:var(--color-white)}
.demo-sidebar span:first-of-type{background:var(--color-iris-violet);color:var(--color-void-black)}
.device-balance>span,.device-balance>span:nth-child(2){background:var(--surface-graphite);color:var(--color-white);border-color:var(--color-charcoal)}
.device-photos img{border-color:var(--color-graphite-hairline)}
.experience-tabs{background:var(--surface-void);border-color:var(--color-graphite-hairline)}
.experience-tabs button{color:var(--color-white)}
.experience-tabs button[aria-selected=true]{color:var(--color-iris-violet-glow)}
.tab-highlight{background:var(--surface-graphite);border-color:var(--color-charcoal)}
.product-preview,.platform-grid>.product-preview,.product-preview[data-mode="brand"],.product-preview[data-mode="api"]{background:var(--surface-graphite);border-color:var(--color-graphite-hairline)}
.preview-top,.preview-body,.preview-stats>div:first-child,.preview-stats>div:nth-child(2),.preview-countries>div,.preview-order{background:var(--surface-surface-lift);border-color:var(--color-graphite-hairline);color:var(--color-white)}
.preview-stats>div:first-child{background:var(--surface-graphite)}
.preview-stats strong,.preview-body>h3,.preview-top strong,.preview-order strong{color:var(--color-white)}
.preview-top>span,.preview-stats span,.preview-stats small,.preview-countries small,.preview-order small,.preview-section-title>span{color:var(--color-ash-gray);border-color:var(--color-charcoal)}
.card-check,.feature-list>div>span{background:var(--surface-graphite);color:var(--color-iris-violet-glow);border-color:var(--color-charcoal)}
.api-code-card{background:var(--gradient-surface-gradient);color:var(--color-white);border-color:var(--color-graphite-hairline)}
.api-code-card>div,.api-panel .api-code-card>p{border-color:var(--color-graphite-hairline)}
.api-code-card pre{color:var(--color-bone-white)}
.api-code-card small,.code-muted,.api-panel .api-code-card>p{color:var(--color-ash-gray)}
.code-blue{color:var(--color-sky-blue)}.code-dot{background:var(--color-iron)}
.api-tab-visual pre{color:var(--color-bone-white)}
.economics{border-color:var(--color-graphite-hairline)}
.economics-flow>div,.economics-flow>div:last-child{background:var(--surface-graphite);border-color:var(--color-charcoal);color:var(--color-white)}
.economics-flow span:not(.flow-arrow),.economics-flow small{color:var(--color-smoke-gray)}
.destination,.destination:first-child{border-color:var(--color-graphite-hairline)}
.destination-label{background:var(--surface-backdrop-blur);border-color:var(--color-charcoal);color:var(--color-white)}
.destination-label small,.destination-label>span{color:var(--color-bone-white)}
.statement,.how-section,.faq-section,.application-section{background:var(--surface-surface-lift)!important;color:var(--color-white)}
.statement{background:var(--gradient-surface-gradient)!important}
.statement .eyebrow,.statement .text-link,.how-section .eyebrow,.how-section .text-link{color:var(--color-white)}
.statement p{color:var(--color-smoke-gray)}
.statement .text-link{background:var(--surface-graphite);border-color:var(--color-charcoal)}
.steps article:nth-child(n){background:var(--surface-graphite);border-color:var(--color-charcoal)}
.steps article>span{color:var(--color-iris-violet-glow)}.steps p{color:var(--color-smoke-gray)}
.faq-items details,.faq-items details:first-child{background:var(--surface-void);border-color:var(--color-graphite-hairline)}
.faq-items details[open]{background:var(--surface-graphite)}
.faq-items summary:after,.faq-grid a{color:var(--color-iris-violet-glow)}.faq-items p{color:var(--color-smoke-gray)}
.application-form{background:var(--surface-void);border-color:var(--color-graphite-hairline)}
.application-form label,.consent a{color:var(--color-bone-white)}
.application-form input,.application-form select,.application-form textarea{background:var(--surface-surface-lift);color:var(--color-white);border-color:var(--color-charcoal)}
.application-form input::placeholder,.application-form textarea::placeholder{color:var(--color-iron)}
.application-form .consent input{accent-color:var(--color-iris-violet)}
.application-form .button,.button,.button.dark{background:var(--color-iris-violet);color:var(--color-void-black);border-color:var(--color-iris-violet)}
.button:hover,.button.dark:hover{background:var(--color-iris-violet-glow);color:var(--color-void-black);border-color:var(--color-iris-violet-glow)}
.button.outline{background:var(--surface-surface-lift);color:var(--color-white);border-color:var(--color-charcoal)}
.application-email,.text-link,.privacy-copy p a{color:var(--color-iris-violet-glow)}
.application-form .form-error{color:var(--color-alarm-red)}
.application-success>span{background:var(--color-pulse-green);color:var(--color-void-black);border-color:var(--color-pulse-green)}
.flip-front{background:var(--surface-surface-lift);color:var(--color-white);border-color:var(--color-charcoal)}
.flip-button.dark .flip-front,.flip-button:not(.outline) .flip-front,.hero-actions>.flip-button:first-child .flip-front{background:var(--gradient-iris-violet);color:var(--color-void-black);border-color:var(--color-iris-violet)}
.flip-back,.flip-button:nth-child(3n+2) .flip-back{background:var(--color-iris-violet-glow);color:var(--color-void-black);border-color:var(--color-iris-violet-glow)}
.flip-button{color:var(--color-white)!important}
.footer-grid p,.footer-grid a:not(.wordmark),.footer-grid>div>span,.footer-bottom{color:var(--color-ash-gray);border-color:var(--color-graphite-hairline)}
.footer-grid a:hover{color:var(--color-white)}.footer-masthead{color:var(--color-bone-white)}
.cursor-sticker{background:var(--color-iris-violet);color:var(--color-void-black);border-color:var(--color-iris-violet)}
.lottie-sticker[data-lottie="esim"],.lottie-sticker[data-lottie="coverage"],.lottie-sticker[data-lottie="network"],.lottie-sticker[data-lottie="travel"]{filter:drop-shadow(0 0 2px #ffffffb3) drop-shadow(0 0 12px #9281f773)}
.transition-panel:nth-child(1){background:var(--color-iris-violet)}.transition-panel:nth-child(2){background:var(--surface-graphite)}.transition-panel:nth-child(3){background:var(--surface-surface-lift)}

/* Partner portal: the same color roles, retaining the existing geometry. */
aside,.main>header,.auth,.auth-form{background:var(--surface-void);color:var(--color-white);border-color:var(--color-graphite-hairline)}
.main,main{color:var(--color-white)}
.workspace,.help,.demo-badge,.stat:nth-child(n),.story-pills span:nth-child(n){background:var(--surface-surface-lift);color:var(--color-white);border-color:var(--color-graphite-hairline)}
.brand-icon,.avatar{background:var(--color-iris-violet);color:var(--color-void-black);border-color:var(--color-iris-violet)}
.avatar.small{background:var(--surface-graphite);color:var(--color-white);border-color:var(--color-charcoal)}
.brand-sub,.workspace small,.nav-caption,.logout,.sidebar-bottom>small,.breadcrumb,.header-name{color:var(--color-ash-gray)}
nav button{color:var(--color-ash-gray)}nav button:hover:not(:disabled){background:var(--surface-graphite);color:var(--color-white);border-color:var(--color-charcoal)}
nav button.active,nav button.active:hover{background:var(--color-iris-violet);color:var(--color-void-black);border-color:var(--color-iris-violet)}
.breadcrumb strong,.help strong,.help>span,.help button,.stat-value,.plan-bottom strong{color:var(--color-white)}
.help p,.stat-label,.stat-foot,.stat-value small{color:var(--color-ash-gray)}
.stat-link,.text-button,.destination-arrow{color:var(--color-iris-violet-glow)}
.notice{background:var(--surface-surface-lift);color:var(--color-smoke-gray);border-color:var(--color-graphite-hairline)}
.primary,.plan-card>.plan-buy{background:var(--color-iris-violet);color:var(--color-void-black);border-color:var(--color-iris-violet)}
.primary:hover:not(:disabled),.plan-buy:hover:not(:disabled){background:var(--color-iris-violet-glow);color:var(--color-void-black)}
.secondary{background:var(--surface-surface-lift);color:var(--color-white);border-color:var(--color-charcoal)}
.secondary:hover:not(:disabled){background:var(--surface-graphite);color:var(--color-white)}
.hero{background:var(--gradient-surface-gradient);color:var(--color-white);border-color:var(--color-graphite-hairline)}
.hero h2{color:var(--color-white)}.hero p,.hero-tag{color:var(--color-smoke-gray)}
.hero button{background:var(--color-iris-violet);color:var(--color-void-black);border-color:var(--color-iris-violet)}
.hero button:hover{background:var(--color-iris-violet-glow)}
.globe,.auth-story:after{mix-blend-mode:screen;filter:grayscale(1) invert(1) sepia(1) saturate(4) hue-rotate(210deg)}
.plan-card,.table-wrap,.settings-panel,.destination-card,.notification-item,.filters,.balance-panel,.request-panel,.request-form,.supplier-panel,.brand-preview-panel,.api-docs,.sim-card{background:var(--surface-surface-lift);color:var(--color-white);border-color:var(--color-graphite-hairline)}
.plan-card:hover,.destination-card:hover:not(:disabled){border-color:var(--color-iris-violet)}
.plan-top,.plan-card:nth-child(3n+2) .plan-top,.plan-card:nth-child(3n) .plan-top{background:var(--surface-graphite);border-color:var(--color-charcoal)}
.network-tag,.plan-name,.purchase-data{background:var(--surface-graphite);color:var(--color-bone-white);border-color:var(--color-charcoal)}
.plan-fact,.detail-row,td,th,.demo-login,.simulator{border-color:var(--color-graphite-hairline)}
.plan-fact>span,.plan-bottom small,.destination-card small,.detail-row>span,.usage-heading{color:var(--color-ash-gray)}
.table-wrap th,th{background:var(--surface-graphite);color:var(--color-smoke-gray)}td{color:var(--color-bone-white)}
input,select,textarea,.package-filters select{background:var(--surface-void);color:var(--color-white);border-color:var(--color-charcoal)}
input::placeholder,textarea::placeholder{color:var(--color-iron)}label{color:var(--color-smoke-gray)}
input:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--color-iris-violet-glow)}
.tabs{background:var(--surface-surface-lift);border-color:var(--color-charcoal)}.tabs button,.tabs a{color:var(--color-smoke-gray)}.tabs .active{background:var(--color-iris-violet);color:var(--color-void-black)}
.auth-story{background:var(--gradient-surface-gradient);color:var(--color-white);border-color:var(--color-graphite-hairline)}
.auth-story .brand-icon{background:var(--color-iris-violet);color:var(--color-void-black)}
.auth-story .brand-sub,.auth-story p,.auth-story .eyebrow,.auth-story>small,.auth-form>a:first-child{color:var(--color-ash-gray)}
.auth-story h1{color:var(--color-white)}.auth-story h1 em{color:var(--color-iris-violet-glow)}
dialog{background:var(--surface-surface-lift);color:var(--color-white);border-color:var(--color-charcoal)}
dialog::backdrop{background:var(--surface-backdrop-blur)}
.modal-close{color:var(--color-ash-gray)}.modal-close:hover{background:var(--surface-graphite)}
.notification-item.unread{background:var(--surface-graphite);border-color:var(--color-iris-violet)}
.notification-item strong,.detail-row strong,.purchase-data strong{color:var(--color-white)}
.notification-item p,.notification-item small,.purchase-data span,.instructions,.demo-esim p{color:var(--color-smoke-gray)}
.demo-esim{background:var(--surface-void);border-color:var(--color-charcoal)}
.usage-track{background:var(--surface-graphite)}.usage-track>div{background:var(--color-iris-violet)}.usage-track .low{background:var(--color-amber)}
.error,.danger{color:var(--color-alarm-red)}.positive,.green{color:var(--color-pulse-green)}.amber{color:var(--color-amber)}
.pending{background:var(--surface-surface-lift);color:var(--color-amber);border-color:var(--color-charcoal)}
footer{color:var(--color-ash-gray);border-color:var(--color-graphite-hairline)}
@media(max-width:600px){.hero-sticker-2[data-lottie="network"]{top:35%}.hero-sticker-3[data-lottie="travel"]{top:33%}}

/* GPU globe progressively enhances the SVG map. */
.connection-backdrop{height:1100px;background:radial-gradient(ellipse at 50% 45%,#0b1c29 0%,#050b10 46%,#000 76%)}
.connection-backdrop.webgl-ready>svg{display:none}
.network-canvas{display:block;width:100%;height:100%;opacity:1;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 75%,transparent)}
@media(max-width:600px){.connection-backdrop{height:760px}.network-canvas{opacity:.9}}
