/* The mobile site is a normal document; desktop keeps the presentation. */
html.mobile-scroll{height:auto;scroll-padding-top:0;overflow-x:clip;scroll-behavior:smooth}
.mobile-scroll body{height:auto;overflow:visible;overscroll-behavior:auto;font-size:16px;line-height:1.75}
.mobile-scroll{--t-body:1rem;--t-small:.9rem;--t-lead:1.15rem;--t-h3:1.25rem;--pad-x:20px}
#mobile-menu{display:none}
.mobile-scroll #deck{position:relative;inset:auto;padding-top:76px}
.mobile-scroll .slide{position:relative;inset:auto;min-height:0;height:auto;display:block;padding:40px 20px;overflow:visible;overflow-x:clip;opacity:1;visibility:visible;transform:none;filter:none;transition:none;scroll-margin-top:76px;border-bottom:1px solid var(--border-subtle)}
.mobile-scroll .slide__inner{margin:0 auto;max-width:650px;min-height:0;gap:24px}
.mobile-scroll [data-r],.mobile-scroll .rv-mask>span{opacity:1;transform:none;transition:none}
.mobile-scroll .draw{stroke-dashoffset:0!important}
.mobile-scroll #particles,.mobile-scroll #ringfield,.mobile-scroll #cursor-glow,.mobile-scroll .grain,.mobile-scroll .curtain,.mobile-scroll .art,.mobile-scroll .vm__radar,.mobile-scroll .close__wave,.mobile-scroll .who__viz,.mobile-scroll .v30__wm{display:none!important}
.mobile-scroll .atmo{position:fixed;opacity:.65;filter:none}
.mobile-scroll .sh{gap:8px;margin-bottom:24px;align-items:flex-start;text-align:start}
.mobile-scroll .sh__t{font-size:clamp(1.75rem,7vw,2.25rem);line-height:1.3;overflow-wrap:break-word}
.mobile-scroll .sh__sub{font-size:1rem;line-height:1.7}
.mobile-scroll h3{font-size:1.2rem;line-height:1.45;overflow-wrap:break-word}
.mobile-scroll p{font-size:1rem;line-height:1.75}
.mobile-scroll .company-header,.mobile-scroll[data-theme=light] .company-header{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:12px 16px;pointer-events:auto;background:var(--bg-void);border-bottom:1px solid var(--border-subtle)}
.mobile-scroll .lockup{padding:0;gap:7px;min-width:0}
.mobile-scroll .lockup .logo{width:28px;flex:none}
.mobile-scroll .brand-wordmark,.mobile-scroll[lang=en] .brand-wordmark{font-size:.85rem;white-space:nowrap}
.mobile-scroll .website-preferences{grid-column:auto;grid-row:auto;gap:4px}
.mobile-scroll .website-preferences button,.mobile-scroll #mobile-menu{width:44px;height:44px;min-height:44px;padding:10px;display:grid;place-items:center}
.mobile-scroll #mobile-menu{border:1px solid var(--border-subtle);border-radius:50%;background:transparent;color:var(--text-primary)}
.mobile-scroll #mobile-menu svg{width:22px;height:22px}
.mobile-scroll .header-links{display:none;position:absolute;top:100%;inset-inline:12px;grid-column:auto;grid-row:auto;padding:12px;background:var(--bg-void);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.15)}
.mobile-scroll .menu-open .header-links{display:flex;flex-direction:column;align-items:stretch;gap:0}
.mobile-scroll .header-links a{font-size:1rem;padding:12px;text-align:start;min-height:44px}
.mobile-scroll .hero{grid-template-columns:1fr;gap:20px;text-align:start}
.mobile-scroll .hero__mark{width:90px;order:-1;justify-self:start;margin:0;aspect-ratio:1}
.mobile-scroll .hero__logo{inset:0;width:100%;height:100%;filter:none}
.mobile-scroll .hero__title{font-size:clamp(2rem,8.5vw,3rem);line-height:1.3}
.mobile-scroll .hero__tag{font-size:1.2rem;margin-top:12px}
.mobile-scroll .hero__fields{font-size:1rem;line-height:1.9;margin-top:16px}
.mobile-scroll .hero__rule{margin:16px 0}
.mobile-scroll .social-links{justify-content:flex-start;margin-top:20px;gap:10px}
.mobile-scroll .social-links a{width:44px;height:44px}
.mobile-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.mobile-cta a,.mobile-location{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border:1px solid var(--icore-cyan);border-radius:12px;color:var(--text-primary);text-decoration:none;font-size:1rem}
.mobile-cta a:first-child{background:var(--icore-cyan);color:var(--bg-void)}
.mobile-scroll .who{grid-template-columns:1fr;grid-template-areas:"copy" "foot";gap:16px}
.mobile-scroll .who__foot{display:block;margin-top:0}
.mobile-scroll .who__lead,.mobile-scroll .who__body{font-size:1rem}
.mobile-scroll .who__tagline{font-size:1.2rem}
.mobile-scroll .vm__cols{display:flex;flex-direction:column;gap:20px}
.mobile-scroll .vm__col{padding:20px;border:1px solid var(--border-subtle);border-radius:18px;text-align:start}
.mobile-scroll .vm__col h3{margin-top:12px}
.mobile-scroll .vm__quote,.mobile-scroll .vm__lead{font-size:1rem}
.mobile-scroll .vm__div{display:none}
.mobile-scroll .vm__list{grid-template-columns:1fr;gap:8px}
.mobile-scroll .pillars{display:block}
.mobile-scroll .pgrid{grid-template-columns:1fr;gap:16px}
.mobile-scroll .pcard{padding:20px;border-radius:18px;min-height:0}
.mobile-scroll .pcard__top{margin-bottom:16px}
.mobile-scroll .pcard h3{font-size:1.3rem;margin-top:0}
.mobile-scroll .pcard__d{font-size:1rem;max-width:none}
.mobile-scroll .pcard__arcs{opacity:.16;width:150px}
.mobile-scroll .ring-ico{width:48px;height:48px;flex:none}
.mobile-scroll .ribbon{margin-top:24px;font-size:1rem;gap:12px}
.mobile-scroll .edge__top{grid-template-columns:1fr;gap:0}
.mobile-scroll .edge__lead{font-size:1rem;text-align:start}
.mobile-scroll .vs{grid-template-columns:1fr 1fr;gap:0 10px;margin-top:24px}
.mobile-scroll .vs__cell{font-size:1rem;line-height:1.6;padding:14px 12px;gap:8px;align-items:flex-start;min-width:0}
.mobile-scroll .vs__cell .ico{width:18px;flex:none}
.mobile-scroll .vs__head{font-size:.9rem}
.mobile-scroll .vs__mid,.mobile-scroll .vs::before,.mobile-scroll .vs::after{display:none}
.mobile-scroll .edge__foot{font-size:1rem;margin-top:20px}
.mobile-scroll .accord{display:flex;flex-direction:column;height:auto;gap:16px}
.mobile-scroll .acc{flex:none;display:block;padding:20px;width:100%;text-align:start;min-height:0}
.mobile-scroll .acc__top{display:none}
.mobile-scroll .acc__body{position:static;display:block}
.mobile-scroll .acc__t{font-size:1.2rem}
.mobile-scroll .acc__d{font-size:1rem;width:auto;max-height:none;opacity:1;display:block;margin-top:10px}
.mobile-scroll .badges{flex-wrap:wrap;margin-top:20px;font-size:.9rem}
.mobile-scroll .badge{font-size:.9rem}
.mobile-scroll .vflow{grid-template-columns:1fr;gap:14px}
.mobile-scroll .vnode{padding:18px;border-radius:18px;min-width:0;text-align:start;background:var(--bg-void)}
.mobile-scroll .vnode__note{font-size:1rem}
.mobile-scroll .s-ai .slide__inner{display:block}
.mobile-scroll .slist{gap:16px}
.mobile-scroll .sitem{padding:20px;border:1px solid var(--border-subtle);border-radius:18px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px 16px;background:var(--bg-void)}
.mobile-scroll .sitem .ring-ico{grid-row:span 2}
.mobile-scroll .sitem h3{margin:0}
.mobile-scroll .sitem p{grid-column:2;margin:0;font-size:1rem;text-align:start}
.mobile-learn{font-size:1rem;color:var(--icore-cyan);display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;margin-top:8px}
.mobile-scroll .sitem .mobile-learn{grid-column:2}
.mobile-scroll .road{display:flex;flex-direction:column;gap:16px;margin-top:20px}
.mobile-scroll .road::before{display:none}
.mobile-scroll .stop{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 16px;border:1px solid var(--border-subtle);border-radius:18px;padding:20px;text-align:start;background:var(--bg-void)}
.mobile-scroll .stop__node{grid-column:1;grid-row:1 / span 4;position:static;transform:none;width:48px;height:48px;margin:0}
.mobile-scroll .stop__num,.mobile-scroll .stop h3,.mobile-scroll .stop p,.mobile-scroll .stop .mobile-learn{grid-column:2;text-align:start;margin:0}
.mobile-scroll .cy{display:flex;flex-direction:column;gap:16px}
.mobile-scroll .cy__shield{order:-1;width:120px;max-width:120px;align-self:center;margin-bottom:8px}
.mobile-scroll .cy__col{gap:16px;width:100%}
.mobile-scroll .citem{padding:20px;height:auto!important;min-height:0;text-align:start}
.mobile-scroll .citem__h{align-items:flex-start;gap:12px}
.mobile-scroll .citem__h .ico{flex:none;width:24px}
.mobile-scroll .citem h3{font-size:1.2rem;text-align:start}
.mobile-scroll .citem p{margin-top:10px;text-align:start;font-size:1rem}
.mobile-scroll .train{display:flex;flex-direction:column;gap:20px}
.mobile-scroll .stat70{display:flex;gap:16px;margin:0;align-items:center}
.mobile-scroll .stat70__ring{width:100px;flex:none}
.mobile-scroll .stat70__num{font-size:2rem}
.mobile-scroll .stat70 p{font-size:1rem;text-align:start}
.mobile-scroll .tracks{grid-template-columns:1fr;gap:16px;width:100%}
.mobile-scroll .track{padding:20px;min-height:0}
.mobile-scroll .track p{font-size:1rem}
.mobile-scroll .method ol{grid-template-columns:1fr;gap:16px}
.mobile-scroll .mstep{padding:14px 0;text-align:start;display:flex;align-items:flex-start;gap:12px}
.mobile-scroll .mstep small{font-size:.95rem}
.mobile-scroll .certs{flex-wrap:wrap;gap:12px}
.mobile-scroll .certs .pill{font-size:.9rem}
.mobile-partners{display:flex;flex-direction:column;gap:28px}
.partner-group>h3{margin-bottom:16px}
.partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.partner-tile{padding:16px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;border:1px solid var(--border-subtle);border-radius:16px;color:var(--text-primary);text-decoration:none;min-width:0;font-size:.9rem;line-height:1.5}
.partner-tile img{display:block;object-fit:contain;max-width:100%;background:white;border-radius:6px;padding:6px;box-sizing:border-box}
.partner-initial{display:grid;place-items:center;min-height:64px;font-size:1.2rem;color:var(--icore-cyan)}
.mobile-scroll .grow{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mobile-scroll .goal{padding:16px 10px;border-radius:18px;min-height:0}
.mobile-scroll .goal__ring{width:100%;max-width:135px;margin-inline:auto}
.mobile-scroll .goal__num{font-size:2rem}
.mobile-scroll .goal__unit{font-size:.85rem}
.mobile-scroll .goal__label{font-size:.95rem;line-height:1.65;margin-top:14px}
.mobile-scroll .v30{grid-template-columns:1fr;gap:24px}
.mobile-scroll .v30__list{gap:16px}
.mobile-scroll .v30__item b{font-size:1rem}
.mobile-scroll .v30__map{max-width:320px;width:100%;margin:auto}
.mobile-scroll .contact{display:flex;flex-direction:column;gap:24px}
.mobile-scroll .clist{grid-template-columns:1fr;gap:12px}
.mobile-scroll .citm{padding:16px;min-width:0;gap:16px}
.mobile-scroll .citm small{font-size:.9rem}
.mobile-scroll .citm span{font-size:1rem;overflow:visible;overflow-wrap:anywhere;text-overflow:clip}
.mobile-scroll .contact__copy{font-size:1rem;margin-top:24px}
.mobile-scroll .qr__frame{display:none}
.mobile-scroll .qr{width:100%;text-align:start}
.mobile-scroll .qr__cap{display:none}
.mobile-scroll .mobile-location{margin-top:8px}
.mobile-scroll .s-close .slide__inner{min-height:0;padding-bottom:0;gap:0;justify-content:flex-start}
.mobile-scroll .s-close .close__mark{width:64px;margin:0 0 20px}
.mobile-scroll .s-close .close__tag{font-size:clamp(1.7rem,7vw,2.6rem);line-height:1.3}
.mobile-scroll .s-close .close__name{margin-top:20px;font-size:1rem}
.mobile-scroll .s-close .close__foot{letter-spacing:0;font-size:.9rem}
.mobile-scroll .s-close .closing-footer{position:static;inset:auto;flex-direction:column;gap:20px;margin-top:28px;padding-top:24px;align-items:center}
.mobile-scroll .footer-contact{flex-direction:column;align-items:center;gap:12px}
.mobile-scroll .footer-contact a,.mobile-scroll .s-close .footer-contact a{font-size:1rem;min-height:44px}
.mobile-scroll .s-close .closing-footer .social-links{gap:12px;margin:0}
.mobile-scroll .s-close .closing-footer .social-links a{width:44px;height:44px}
.mobile-scroll .s-close .footer-legal{flex-wrap:wrap;gap:16px}
.mobile-scroll .s-close .footer-legal a{font-size:.9rem;min-height:44px;display:inline-flex;align-items:center}
.mobile-scroll .mobile-reveal{opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}
.mobile-scroll .mobile-revealed{opacity:1;transform:none}
.mobile-scroll .hero__fields{overflow-wrap:anywhere;word-break:normal;min-width:0;max-width:100%;display:flex;flex-wrap:wrap;gap:6px 14px}
.mobile-scroll .vs__cell span{min-width:0;overflow-wrap:anywhere}
.mobile-scroll .acc__body,.mobile-scroll .acc__t,.mobile-scroll .acc__d{max-width:100%;min-width:0;overflow-wrap:anywhere}
.mobile-scroll .acc::before,.mobile-scroll .acc::after{display:none}
@media(prefers-reduced-motion:reduce){html.mobile-scroll{scroll-behavior:auto}.mobile-scroll .mobile-reveal{opacity:1;transform:none;transition:none}}

.mobile-scroll .qr figcaption{display:none}.mobile-scroll .contact__note{font-size:1rem;margin-top:24px}.mobile-scroll .contact__note b{font-size:1rem}
@media(max-width:360px){.mobile-scroll .company-header{gap:4px;padding:10px 12px}.mobile-scroll .brand-wordmark,.mobile-scroll[lang=en] .brand-wordmark{font-size:.78rem;white-space:normal;max-width:76px;line-height:1.2}.mobile-scroll .lockup{gap:5px}.mobile-scroll .lockup .logo{width:24px}}

/* Keep the same rotating references and brand effects in the scrolling phone layout. */
.mobile-scroll .hero__mark{width:120px}
.mobile-scroll .partners{display:flex;flex-direction:column;gap:28px}
.mobile-scroll .constel{order:-1;width:min(100%,420px);margin:12px auto;flex:none}
.mobile-scroll .plegend{gap:20px}
.mobile-scroll .plegend .partner-name{font-size:.95rem;line-height:1.6;min-height:44px;display:inline-flex;align-items:center;padding:8px 12px}
.mobile-scroll .header-links{max-height:calc(100dvh - 90px);overflow-y:auto}
.mobile-scroll .cy__col{grid-template-rows:none}
.mobile-scroll .mobile-reveal{transition:opacity .6s ease,transform .6s ease}
@media(min-width:600px){.mobile-scroll .pgrid,.mobile-scroll .tracks,.mobile-scroll .clist{grid-template-columns:repeat(2,minmax(0,1fr))}}
