/* Shared public UI: Vertex Console tokens, controls, motion and loading. */
:root,html[data-theme="light"]{--bg:#F8F9FA;--surface:#FFFFFF;--surface-2:#EFF1F3;--text:#17191D;--text-muted:#707782;--border:#E3E5E8;--border-strong:#D4D7DB;--hover:#EFF1F3;--action:#191B1F;--action-ink:#FFF;--header-bg:rgba(248,249,250,.9);--header-bg-scrolled:rgba(248,249,250,.96);--header-shadow:none;--radius-s:8px;--radius-m:12px;--dur:170ms;--ui-ease:cubic-bezier(.2,.8,.2,1);--status-success:#2E8B67;--status-error:#C2482F;}
html[data-theme="dark"]{--bg:#0F0F10;--surface:#171717;--surface-2:#212121;--text:#F5F5F5;--text-muted:#858585;--border:#292929;--border-strong:#353535;--hover:#242424;--action:#F5F5F5;--action-ink:#171717;--header-bg:rgba(15,15,16,.9);--header-bg-scrolled:rgba(15,15,16,.96);--header-shadow:none;--status-success:#3FB68B;--status-error:#E5654E;}
.btn,.icon-btn,.store-badge,button{border-radius:8px;transition:background-color 120ms var(--ui-ease),border-color 120ms var(--ui-ease),color 120ms var(--ui-ease),opacity 120ms var(--ui-ease);box-shadow:none;}
.btn{min-height:40px;padding:10px 16px;font-size:14px;font-weight:500;border:1px solid var(--border-strong);}
.btn-primary,.story-actions .btn-primary{background:var(--action);color:var(--action-ink);border-color:transparent;}
.btn-primary:hover{opacity:.92;border-color:var(--text);transform:none;}
.btn-ghost,.btn-outline,.story-actions .btn-ghost{background:transparent;color:var(--text);border-color:var(--border-strong);backdrop-filter:none;}
.btn-ghost:hover,.btn-outline:hover,.icon-btn:hover,.store-badge:hover{background:var(--hover);border-color:var(--text-muted);transform:none;}
button:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--text);outline-offset:3px;}
input,select,textarea{border-color:var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);}
.lang-panel,.mobile-menu,.doctrine-modal-content,.success-modal-content{background:var(--surface);border-color:var(--border);border-radius:12px;transition:opacity 120ms var(--ui-ease),transform 120ms var(--ui-ease),visibility 120ms;}
.lang-panel{transform:translateY(8px);}.language-dropdown.open .lang-panel,.mobile-menu.open{transition-duration:190ms;}
.doctrine-modal-content,.success-modal-content{transform:translateY(8px);opacity:0;}.show .doctrine-modal-content,.show .success-modal-content{transform:none;opacity:1;transition-duration:190ms;}
.linear-reveal{animation-duration:220ms;animation-timing-function:var(--ui-ease);}.delay-1,.delay-2,.delay-3,.delay-4{animation-delay:0s;}
.team-card,.partner-card,.product-card,.news-card{border-color:var(--border);border-radius:12px;box-shadow:none;transition:border-color 120ms var(--ui-ease),background-color 120ms var(--ui-ease),opacity 170ms var(--ui-ease);}
.team-card:hover,.partner-card:hover,.product-card:hover,.news-card:hover{transform:none;border-color:var(--border-strong);box-shadow:none;}
.icon-btn svg,.team-nav svg{stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:8px;pointer-events:none;min-height:180px;}
.skeleton::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--hover),transparent);opacity:.7;animation:publicSkeletonWave 1600ms var(--ui-ease) infinite;transform:translateX(-100%);}
@keyframes publicSkeletonWave{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
.team-card:not(.skeleton){animation:publicContentIn 170ms var(--ui-ease) both;}@keyframes publicContentIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
[aria-busy="true"].btn::after{content:'';width:14px;height:14px;border:1.8px solid currentColor;border-right-color:transparent;border-radius:50%;animation:publicSpin 900ms linear infinite;}@keyframes publicSpin{to{transform:rotate(360deg)}}
.success-svg{stroke:var(--status-success);}
/* Only compositor transforms animate; pause the CTA outside the viewport. */
.cta-band::before{background:none;border:1px solid var(--text);width:360px;height:360px;inset:auto;left:8%;top:50%;transform:translateY(-50%) rotate(25deg);opacity:.1;animation:ctaGeometry 20s ease-in-out infinite;animation-play-state:paused;}
.cta-band::after{content:'';position:absolute;width:290px;height:290px;border:1px solid var(--text);border-radius:50%;right:8%;top:50%;opacity:.09;z-index:-1;pointer-events:none;transform:translateY(-50%) rotate(0);animation:ctaGeometry 26s ease-in-out infinite reverse;animation-play-state:paused;}
.cta-band.geometry-active::before,.cta-band.geometry-active::after{animation-play-state:running;}@keyframes ctaGeometry{0%,100%{transform:translateY(-50%) rotate(25deg) scale(.85)}50%{transform:translateY(-46%) rotate(65deg) scale(1.1)}}
.story-sponsors,.story-statement,.story-metrics{background:var(--surface);border-color:var(--border);box-shadow:none;backdrop-filter:none;}
.story-quick-status{color:var(--text-muted);font-size:13px;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skeleton::after{animation:none!important}.cta-band::before,.cta-band::after{animation:none!important}.story-actions{position:relative!important;top:auto!important;}}
/* Stable header geometry prevents threshold/layout feedback while scrolling. */
header .nav,header.scrolled .nav{height:68px;transition:none}header .logo-chip,header.scrolled .logo-chip{transform:none;transition:none}
footer a{color:var(--text-muted);transition:color 120ms var(--ui-ease)}footer a:hover,footer a:focus-visible{color:var(--text)}
/* White difference text inverts the actual pixels underneath, including land. */
.story-title{color:#fff;mix-blend-mode:difference}
/* A geometric skyline rises once on entry; no continuously rendered scene. */
.cta-band::before,.cta-band::after{display:none}.cta-skyline{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;color:var(--text);opacity:.13}.cta-skyline svg{width:100%;height:100%;transform:translateY(100%);transition:transform 1200ms cubic-bezier(.16,1,.3,1)}.geometry-active .cta-skyline svg{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.cta-skyline svg{transform:none;transition:none}}
@property --scrollbar-alpha{syntax:'<number>';inherits:true;initial-value:0}
html,.lang-panel{--scrollbar-alpha:0;transition:--scrollbar-alpha 170ms ease}html.is-scrolling,.lang-panel.is-scrolling{--scrollbar-alpha:1}
:root{--scroll-rgb:0 0 0}html[data-theme="dark"]{--scroll-rgb:255 255 255}
*{scrollbar-width:thin;scrollbar-color:rgb(var(--scroll-rgb)/var(--scrollbar-alpha)) transparent}
::-webkit-scrollbar{width:7px;height:7px;background:transparent}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:rgb(var(--scroll-rgb)/var(--scrollbar-alpha));border-radius:999px}
@keyframes publicNamesLoop{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--name-cycle)))}}

footer .foot-col a,footer .foot-legal a{color:var(--text-muted)}footer .foot-col a:hover,footer .foot-col a:focus-visible,footer .foot-legal a:hover,footer .foot-legal a:focus-visible{color:var(--accent)}
/* Application controls and the intl-tel-input 29 country selector. */
#joinForm input:not([type=checkbox]),#joinForm select,#joinForm textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:10px;font:inherit;transition:border-color 120ms ease,box-shadow 120ms ease}#joinForm textarea{min-height:140px;resize:vertical}#joinForm input:focus,#joinForm select:focus,#joinForm textarea:focus{border-color:var(--text);outline:2px solid color-mix(in srgb,var(--text) 18%,transparent);outline-offset:2px}#joinForm :user-invalid,#joinForm [aria-invalid=true]{border-color:var(--status-error)!important}#joinForm input[type=checkbox]{appearance:none;width:20px;height:20px;min-width:20px;display:inline-grid;place-content:center;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface);margin:2px 0;cursor:pointer}#joinForm input[type=checkbox]:checked{background:var(--action);border-color:var(--action)}#joinForm input[type=checkbox]:checked::after{content:'';width:9px;height:5px;border-left:2px solid var(--action-ink);border-bottom:2px solid var(--action-ink);transform:rotate(-45deg) translateY(-1px)}#joinForm .iti{width:100%}#joinForm .iti input[type=tel]{padding-left:var(--iti-input-padding,100px)}.iti{--iti-border-color:var(--border-strong);--iti-dropdown-bg:var(--surface);--iti-hover-color:var(--hover);--iti-search-icon-color:var(--text-muted);--iti-dialcode-color:var(--text-muted)}.iti__country-selector,.iti__country-list,.iti__dropdown-content{background:var(--surface);color:var(--text);border-color:var(--border-strong);border-radius:10px}.iti__country{min-height:44px;padding:10px 14px;color:var(--text)}.iti__country-name{color:var(--text)}.iti__dial-code{color:var(--text-muted)}.iti__selected-dial-code{color:var(--text)}.iti__country.iti__highlight,.iti__country[aria-selected=true]{background:var(--hover)}.iti__search-input{background:var(--surface-2);color:var(--text);border-color:var(--border-strong);min-height:44px}.iti__selected-country{border-radius:9px 0 0 9px;color:var(--text);background:transparent}.iti__search-input::placeholder{color:var(--text-muted)}.iti__country-selector{box-shadow:0 12px 30px #0002}.iti__country-list{max-height:min(340px,50svh)}
.team-card{flex:0 0 280px;width:280px;text-align:center;overflow:hidden}.team-photo-wrap{width:100%;height:auto;aspect-ratio:1;overflow:hidden}.team-photo-wrap img{width:100%;height:100%;object-fit:cover}.team-photo-wrap>a{display:block;width:100%;height:100%}.team-info{min-height:140px;padding:20px}.team-info h3{font-size:18px;margin:0 0 8px}.team-info h3 a{text-decoration:none}.team-social{justify-content:center}.weekly-star{display:inline-flex;align-items:center;gap:12px}.weekly-star svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}
.profile-page{padding-top:64px;padding-bottom:80px}.profile-heading{position:static;background:none;border:0;display:flex;align-items:center;gap:32px;backdrop-filter:none;margin-bottom:48px}.profile-heading>img{width:160px;height:160px;object-fit:cover;border-radius:16px}.profile-heading h1{font-family:Poppins,system-ui,sans-serif;font-size:clamp(32px,5vw,56px);letter-spacing:-.03em;text-transform:none;margin:0}.profile-heading p{color:var(--text-muted)}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:64px;align-items:start}.profile-bio{max-width:740px;font-size:18px;line-height:1.8}.profile-bio p:first-child{margin-top:0}.profile-links{padding:24px;border:1px solid var(--border);border-radius:12px}.profile-links h2{font-size:16px}.profile-links a{display:block;margin-top:16px;color:var(--text-muted);text-decoration:none}.profile-links a:hover{color:var(--text)}
.section-revealed{animation:publicSectionIn 360ms var(--ui-ease) both}@keyframes publicSectionIn{from{opacity:.25;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:700px){.profile-layout{grid-template-columns:1fr;gap:24px}.profile-heading{gap:20px}.profile-heading>img{width:110px;height:110px}.team-card{flex-basis:250px;width:250px}}@media(prefers-reduced-motion:reduce){.section-revealed{animation:none}}
.iti{--iti-country-selector-bg:var(--surface);--iti-icon-color:var(--text-muted)}.iti__country-selector *{box-sizing:border-box}.iti__country-selector .iti__close-button{color:var(--text)}.iti__country-selector .iti__search-input{color:var(--text);background:var(--surface-2)}
.sky-traces{animation:skySignal 8s linear infinite;animation-play-state:paused}.geometry-active .sky-traces{animation-play-state:running}@keyframes skySignal{to{stroke-dashoffset:-146}}@media(prefers-reduced-motion:reduce){.sky-traces{animation:none}}
#joinForm .iti__search-input,.iti__search-input{padding-left:38px;padding-right:38px}[dir=rtl] .iti__search-input{padding-left:38px;padding-right:38px}
/* Team is a compact editorial grid, not a carousel. */
.team-scroll-wrap::after{display:none}.team-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;overflow:visible;scroll-snap-type:none;padding:0;align-items:start}
.team-card{position:relative;width:auto;min-width:0;flex:none;height:auto;border:1px solid var(--border-strong);background:var(--surface);text-align:center;animation:none!important}
.team-photo-wrap{aspect-ratio:1;height:auto}.team-info{min-height:0;padding:16px 12px}.team-info h3{font-size:16px;line-height:1.3;margin:0 0 6px;overflow-wrap:anywhere}.team-info .role{font-size:13px;line-height:1.45;margin:0;color:var(--text-muted);overflow-wrap:anywhere;text-wrap:balance}.team-social{display:flex;gap:12px;margin-top:12px;position:relative;z-index:2}.team-social:empty{display:none}.team-social a{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center}.team-social img{width:18px;height:18px;object-fit:contain}.team-card.has-profile{cursor:pointer}.team-card.has-profile:hover,.team-card:focus-within{border-color:var(--text)}.team-profile-link::after{content:'';position:absolute;inset:0;border-radius:12px}.team-profile-link:focus-visible{outline:none}.team-card:has(.team-profile-link:focus-visible){outline:2px solid var(--text);outline-offset:4px}.team-card.profile-unavailable{cursor:default}.team-card.profile-unavailable:hover{border-color:var(--border-strong)}
.team .names{border:0;padding:40px 0 0;content-visibility:visible;contain-intrinsic-size:none}.team .name-block{margin-top:32px}.team .name-block h3{text-align:center;margin-bottom:24px}.team .names .wrap{padding-top:0}.team .section-head{margin-bottom:24px}
@media(max-width:1399px){.team-track{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1099px){.team-track{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:849px){.team-track{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:519px){.team-track{grid-template-columns:1fr;max-width:380px;margin:auto}.team-info{padding:16px}.team-info h3{font-size:18px}}
/* Keep the atmosphere behind the architecture and away from the CTA copy. */
.cta-skyline{opacity:.18;mask-image:linear-gradient(to bottom,transparent,black 24%);}.cta-skyline svg{overflow:hidden}.sky-clouds{animation:cityCloudDrift 96s linear infinite;animation-play-state:paused}.geometry-active .sky-clouds{animation-play-state:running}@keyframes cityCloudDrift{from{transform:translateX(-1440px)}to{transform:translateX(0)}}.cta-band .wrap{position:relative;z-index:1;gap:24px;min-height:280px;padding-block:64px}.cta-band h2{max-width:32ch;text-wrap:balance}.cta-band .actions{display:flex;flex-wrap:wrap;gap:12px}
/* Animate inner content: transforming the section itself moves sticky descendants. */
.section-revealed{animation:none}.section-revealed>.wrap{animation:publicSectionIn 380ms var(--ui-ease) both}.section-revealed>.names{animation:none}
@media(prefers-reduced-motion:reduce){.sky-clouds,.section-revealed>.wrap{animation:none!important}.cta-skyline svg{transform:none}}

.cta-skyline{mask-image:none}.city-building{fill:var(--bg)}.city-buildings{mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.3) 45%,black 90%)}
/* Uniform quiet hover; portrait pixels never scale. */
.team-card,.team-card.has-profile,.team-card.profile-unavailable{transition:border-color 240ms var(--ui-ease) 45ms,box-shadow 240ms var(--ui-ease) 45ms;transform:none}
.team-card:hover,.team-card.has-profile:hover,.team-card.profile-unavailable:hover,.team-card:focus-within{transform:none;border-color:var(--text-muted);box-shadow:0 2px 10px rgba(0,0,0,.035)}
.team-card .team-photo,.team-card:hover .team-photo{transform:none;transition:none}
.cta-skyline svg{display:block}.city-ground{stroke-width:1}
.tech-diagram{display:block;width:220px;max-width:100%;height:164px;color:var(--text);opacity:.78;overflow:visible}.vision .tech-diagram{width:350px;height:auto;max-width:100%}.diagram-pulse{animation:diagramBreathe 5s ease-in-out infinite;animation-play-state:paused}.diagram-signal{stroke-dasharray:80 120;animation:diagramSignal 8s linear infinite;animation-play-state:paused}.diagram-orbit{transform-origin:110px 80px;animation:diagramOrbit 24s linear infinite;animation-play-state:paused}.diagram-active .diagram-pulse,.diagram-active .diagram-signal,.diagram-active .diagram-orbit{animation-play-state:running}@keyframes diagramBreathe{50%{opacity:.4}}@keyframes diagramSignal{to{stroke-dashoffset:-200}}@keyframes diagramOrbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.diagram-pulse,.diagram-signal,.diagram-orbit{animation:none}.team-card{transition:none}}
