/* Real vectors: no character glyphs or platform emoji rendering. */
.ui-icon{width:1em;height:1em;display:inline-block;vertical-align:middle;flex:none}
.outcome-strip span:before{display:none}.outcome-strip .ui-icon{font-size:17px;color:var(--purple);margin-right:8px}
.large-asterisk,.contact-seal{display:block}.large-asterisk{flex:none}.large-asterisk .ui-icon,.contact-seal .ui-icon{display:block}
.accordion summary:after{content:'';width:18px;height:18px;top:2px;background:linear-gradient(var(--purple),var(--purple)) center/100% 1.5px no-repeat,linear-gradient(var(--purple),var(--purple)) center/1.5px 100% no-repeat}
.accordion details[open] summary:after{background:linear-gradient(var(--purple),var(--purple)) center/100% 1.5px no-repeat}
.menu-toggle[aria-expanded=true] .menu-icon{transform:rotate(90deg)}
.footer-bottom .ui-icon{font-size:14px}.contact-copy address .ui-icon{font-size:20px}.carousel-controls>button .ui-icon{font-size:22px}
@media(max-width:760px){
 html{scroll-padding-top:24px}
 /* A self-contained hero avoids sticky layers and browser-toolbar resize jumps. */
 .sculpture-story{height:auto!important}.sculpture-stage{height:780px;height:max(760px,100svh);min-height:760px;position:relative!important}
 .hero-content{top:116px;transform:none!important;opacity:1!important;pointer-events:auto}.hero-content h1{font-size:clamp(50px,13.3vw,82px)}
 .transformation-copy,.portal-copy,.portal-window{display:none!important}
 .stage-footer{opacity:1!important}.scene-count{display:none}.orbit-ball{transform:none!important}.sculpture-fallback{bottom:9%;width:46%;right:27%}
 .manifesto-title,.section-heading h2,.people h2,.usecase-head h2,.faq-layout h2{opacity:1!important;transform:none!important}
 .carousel-mobile .solutions>.page-shell{width:100%}
 .carousel-mobile .solutions .section-heading,.carousel-mobile .solutions .tools-note{width:var(--shell);margin-inline:auto}
 .carousel-mobile .carousel-scroll{height:auto}.carousel-mobile .carousel-stage{position:relative;top:auto;height:auto;overflow:hidden;display:block;isolation:isolate}
 .carousel-mobile .carousel-space{height:auto;perspective:none}
 .carousel-mobile .solution-stack{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:calc((100% - var(--mobile-card-width))/2);padding:12px calc((100% - var(--mobile-card-width))/2) 28px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x pan-y;position:relative;transform:none;align-items:stretch}
 .carousel-mobile .solution-stack::-webkit-scrollbar{display:none}
 .nova.carousel-mobile .solution{flex:0 0 var(--mobile-card-width);width:var(--mobile-card-width);height:auto;min-height:550px;position:relative;top:auto;left:auto;margin:0;padding:24px;border-radius:22px;transform:none;opacity:1;will-change:auto;scroll-snap-align:center;scroll-snap-stop:always;box-shadow:0 12px 22px #26282a10;cursor:default}
 .carousel-mobile .solution-content{display:flex;flex-direction:column-reverse;gap:24px;margin-top:18px;align-items:stretch;justify-content:space-between;flex:1}
 .carousel-mobile .solution-content>div{min-width:0}.carousel-mobile .solution h3{font-size:clamp(28px,7.8vw,37px);line-height:1.12;overflow-wrap:normal;hyphens:auto}
 .carousel-mobile .solution p{font-size:13px;line-height:1.8;margin:20px 0}.carousel-mobile .solution-art{height:160px;flex:none}.carousel-mobile .solution-top{font-size:8px}.carousel-mobile .solution-top>span:last-child{display:none}
 .carousel-mobile .solution .text-link{font-size:12px;min-height:44px}.carousel-mobile .solution[data-active=false] a{pointer-events:none}
 .carousel-mobile .carousel-orbit{display:none}.carousel-mobile .carousel-controls{display:flex;align-items:center;justify-content:center;gap:26px;min-height:64px;padding:0 16px;position:relative;z-index:2}
 .carousel-mobile .carousel-hint{display:block;text-align:center;font-size:10px;line-height:1.7;padding:14px 20px 0;color:#6c6862}
 .carousel-mobile .carousel-controls[hidden]{display:none}.carousel-mobile .carousel-dots{gap:4px}.carousel-mobile .carousel-status{min-width:120px}
 .contact-form{grid-template-columns:1fr;gap:22px}.contact-form .field,.contact-form .field-wide{grid-column:1/-1}.field label{font-size:11px}.field input,.field select,.field textarea{font-size:16px;min-height:48px}
 .usecase-tabs button{font-size:10px;min-height:44px}.menu-toggle,.header-contact{min-height:44px}
}
@media(max-width:360px){.carousel-mobile .carousel-controls{gap:14px}.nova.carousel-mobile .solution{padding:22px}.carousel-mobile .solution h3{font-size:27px}.hero-content h1{font-size:48px}.hero-description{max-width:280px}}
@media(prefers-reduced-motion:reduce){.carousel-mobile .solution-stack{scroll-behavior:auto}}
