/* Cinematic first-visit opening; the main site retains its light palette. */
body.intro-open{overflow:hidden}.brand-intro{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;background:#090610;color:#f5eef9;overflow:auto;isolation:isolate}.brand-intro::backdrop{background:#090610}.intro-shell{position:relative;z-index:2;min-height:100%;display:flex;flex-direction:column;max-width:1440px;margin:auto;padding:28px 5% 24px}.intro-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.intro-brand{display:flex;align-items:center;gap:12px;color:#faf2fb}.intro-brand img{object-fit:contain;filter:drop-shadow(0 0 12px #dc32cf60)}.intro-brand strong{font-family:'Manrope',sans-serif;font-size:23px;letter-spacing:-1px}.intro-skip{background:#ffffff07;border:1px solid #c5a7d547;color:#d7c4e3;border-radius:12px;font-size:14px;padding:12px 20px;min-height:46px}.intro-skip:hover{background:#ffffff14}.intro-body{position:relative;text-align:center;margin:auto;width:100%;max-width:950px;padding:15px 0 35px}.intro-logo-frame{position:relative;height:180px;max-width:380px;margin:0 auto 8px}.intro-logo{width:100%;height:100%;filter:drop-shadow(0 0 35px #ad3ed044)}.intro-logo img.logo-fallback{width:140px;height:auto;object-fit:contain;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);animation:none}.intro-eyebrow{font-size:11px;letter-spacing:3px;color:#d6b4e1;display:block;margin-bottom:25px}.intro-body h1{font:400 clamp(48px,6.2vw,86px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-3.5px;color:#f5edf5;margin:0 0 24px}.intro-body h1 em{font-style:italic;background:linear-gradient(110deg,#f4c5e8,#dc88de,#a49cf6);background-clip:text;color:transparent}.intro-body p{font-size:17px;line-height:1.8;color:#c0accb;margin:0 0 28px}.intro-body .intro-enter{border-radius:12px;min-height:52px;padding:15px 35px;font-size:15px;color:white;border-color:#b065c8;background:linear-gradient(110deg,#b333a5,#733ca7 65%,#5555a6);box-shadow:0 6px 35px #bd42c123}.intro-body .intro-enter:hover{background:linear-gradient(110deg,#c340b4,#8148b6 65%,#6262b7);box-shadow:0 8px 40px #bd42c13a}.intro-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #b788c62e;padding-top:20px;font-size:10px;letter-spacing:1.4px;color:#b096bc}.intro-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;min-height:100%}.intro-stars{position:absolute;inset:0;background-image:radial-gradient(circle at 15% 30%,#f7dfffaa 0 1px,transparent 1.5px),radial-gradient(circle at 70% 20%,#dbc9ff99 0 1px,transparent 1.5px),radial-gradient(circle at 42% 13%,#eecaff66 0 .7px,transparent 1.2px),radial-gradient(circle at 90% 60%,#dcc5ff77 0 1px,transparent 1.6px);background-size:330px 270px,430px 360px,260px 190px,570px 430px;opacity:.45;mask-image:linear-gradient(#000,transparent 85%)}.intro-nebula{position:absolute;border-radius:50%;filter:blur(55px);opacity:.5}.nebula-one{width:70vw;height:70vw;max-height:750px;max-width:1000px;left:-25%;top:15%;background:radial-gradient(ellipse,#842a6840,#8b245138 30%,transparent 70%);animation:nebula-drift 18s ease-in-out infinite alternate}.nebula-two{width:75vw;height:60vw;max-height:750px;max-width:1000px;right:-25%;top:-10%;background:radial-gradient(ellipse,#5532a34d,#3c246f22 40%,transparent 70%);animation:nebula-drift 22s ease-in-out infinite alternate-reverse}.intro-horizon{position:absolute;left:-35%;width:170%;height:80%;bottom:-68%;border-radius:50%;background:radial-gradient(ellipse at 50% 0,#dc66bd30,#32143b 25%,#090611 60%);border-top:1px solid #edb1de80;box-shadow:0 -5px 28px #bb48c04d,0 -45px 170px #9e296537;transform:rotate(-7deg)}.intro-orbit{position:absolute;left:15%;right:15%;top:4%;height:62%;border:1px solid #a15a9a14;border-radius:50%;transform:rotate(-20deg) scaleY(.8)}.brand-intro[open] .intro-eyebrow,.brand-intro[open] h1,.brand-intro[open] .intro-body p,.brand-intro[open] .intro-enter{animation:intro-arrive .9s cubic-bezier(.2,.65,.2,1) both}.brand-intro[open] h1{animation-delay:.08s}.brand-intro[open] .intro-body p{animation-delay:.16s}.brand-intro[open] .intro-enter{animation-delay:.24s}.brand-intro.intro-leaving{animation:intro-depart .48s cubic-bezier(.4,0,.2,1) both;pointer-events:none}.intro-replay{display:inline-flex;align-self:flex-start;padding:8px 0;min-height:44px;background:none;border:0;font-size:13px;color:#74428e;text-decoration:underline;text-underline-offset:5px;cursor:pointer}.intro-skip:focus-visible,.intro-enter:focus-visible,.intro-brand:focus-visible{outline:3px solid #df98de;outline-offset:5px}
@keyframes intro-arrive{from{opacity:0;transform:translateY(16px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@keyframes intro-depart{from{opacity:1;transform:none}to{opacity:0;transform:scale(1.025)}}@keyframes nebula-drift{from{transform:translate(0,0)}to{transform:translate(4%,5%)}}
/* Finish readable type across Services, AI Solutions, About, Contact and prototypes. */
.pagehero p{font-size:18px;line-height:1.8}.servicegroup p,.aboutgrid p,.contactgrid p,.casebody p,.value p{font-size:17px;line-height:1.8}.detail p,.step p,.flow-node p,.faq p,.support-layout p,.lab-layout p{font-size:16px;line-height:1.8}.detail h3{font-size:20px;line-height:1.35}.detail ul{font-size:16px;line-height:1.8}.step h3{font-size:20px;line-height:1.4}.step>span,.solution .number{font-size:12px}.flow-caption,.formnote,.formresult,.contactlinks small{font-size:14px;line-height:1.8}.flow-tabs button{font-size:15px;min-height:48px;border-radius:12px}.flow-node h3{font-size:20px}.flow-node>span{font-size:12px}.faq summary{font-size:18px;line-height:1.6;min-height:48px;padding-block:14px}.contactbox label{font-size:15px;margin-bottom:10px;letter-spacing:0}.contactbox input,.contactbox select,.contactbox textarea{font-size:16px;min-height:48px;padding:14px 16px;border-radius:10px;line-height:1.5}.contactlinks a{font-size:17px;min-height:48px}.detailsgrid{gap:18px}.detail{padding:25px}.chat-header strong{font-size:16px}.chat-header small,.chat-bottom,.chat-bottom button{font-size:13px}.bubble{font-size:16px;line-height:1.8}.demo-options button{font-size:16px;min-height:48px}.quote p{font-size:15px}.report-meta small,.report-meta strong{font-size:14px}
@media(max-width:700px){.intro-shell{padding:20px 6%}.intro-brand strong{font-size:21px}.intro-skip{font-size:13px;padding:10px 15px;min-height:44px}.intro-body{padding:10px 0 32px}.intro-logo-frame{height:140px;max-width:290px;margin-bottom:10px}.intro-eyebrow{font-size:9px;letter-spacing:1.4px;line-height:1.8;margin-bottom:22px}.intro-body h1{font-size:clamp(43px,10.5vw,65px);letter-spacing:-2px;line-height:1.08;margin-bottom:22px}.intro-body p{font-size:16px}.intro-enter{width:100%;max-width:300px}.intro-bottom{font-size:9px;line-height:1.7;display:block}.intro-bottom span{display:block;margin-top:7px}.intro-horizon{height:65%;bottom:-54%}.pagehero p,.servicegroup p,.aboutgrid p,.contactgrid p{font-size:17px}.detail p,.step p,.flow-node p,.detail ul,.faq p{font-size:16px}.detail h3{font-size:19px}.detail{padding:22px}.flow-node h3{font-size:20px}.flow-tabs button{font-size:14px;min-height:48px;padding:12px 16px}.flow-caption,.formnote{font-size:14px}.faq summary{font-size:17px}.contactbox label{font-size:15px}.contactbox{padding:24px}.contactlinks a{font-size:16px}.bubble{font-size:16px}}
@media(max-height:650px) and (min-width:701px){.intro-shell{padding-block:18px}.intro-logo-frame{height:100px}.intro-body{padding:10px 0 20px}.intro-body h1{font-size:57px}.intro-eyebrow{margin-bottom:15px}.intro-body p{margin-bottom:18px;font-size:16px}.intro-bottom{padding-top:12px}}
@media(prefers-reduced-motion:reduce){.brand-intro[open] .intro-eyebrow,.brand-intro[open] h1,.brand-intro[open] .intro-body p,.brand-intro[open] .intro-enter,.intro-nebula,.brand-intro.intro-leaving{animation:none;transform:none;filter:none}}
