:root {
  --bg: #17181e;
  --bg-2: #202128;
  --text: #f5f3f6;
  --muted: #adaab5;
  --line: rgba(231,228,241,.16);
  --accent: #c7bfe3;
  --maxw: 1280px;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; scrollbar-gutter: stable; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif; font-size: 15px; line-height: 1.85; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; cursor: pointer; }
a,button { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button:focus-visible,a:focus-visible { outline: 2px solid #9b8bc1; outline-offset: 6px; }
img { display: block; max-width: 100%; }
h1,h2,h3,h4,h5,p { margin: 0; }
::selection { background: #8170a5; color: #fff; }
.wrap { width: calc(100% - 120px); max-width: var(--maxw); margin: 0 auto; }
.svg-defs { position: absolute; overflow: hidden; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 500; padding: 10px 24px; color: #1c1923; background: #fff; }
.skip-link:focus { top: 15px; }
body.dialog-open,body.menu-open { overflow: hidden; }
.section { padding: 115px 0; position: relative; }
.light-section { --text:#28252f; --muted:#76727f; --line:rgba(52,43,72,.13); --accent:#65577e; color:var(--text); background:#efedf1; color-scheme:light; }
.section-head { margin-bottom: 48px; }
.section-kicker { display:flex; align-items:center; gap:16px; color:var(--muted); font-size:10px; letter-spacing:1.8px; margin-bottom:24px; }
.section-kicker i { width:22px; height:1px; background:currentColor; opacity:.45; }
.section-kicker>span:last-child:not(:first-child) { letter-spacing:1px; }
.section-head h2 { font-size:40px; font-weight:450; line-height:1.5; letter-spacing:1px; text-wrap:balance; }
.section-head p { max-width:640px; font-size:14px; color:var(--muted); margin-top:18px; line-height:2; }
.grad-text { color:var(--accent); }
.status-dot { display:inline-block; width:5px; height:5px; border-radius:50%; background:#a3b9a4; flex-shrink:0; }
.glass { position:relative; background:linear-gradient(135deg,rgba(255,255,255,.23),rgba(255,255,255,.045) 35%,rgba(255,255,255,.12)); border:1px solid rgba(255,255,255,.52); box-shadow:inset 0 1px 1px rgba(255,255,255,.85),inset 0 -1px 1px rgba(42,34,61,.10),0 15px 45px rgba(42,34,61,.045); -webkit-backdrop-filter:blur(18px) saturate(115%); backdrop-filter:blur(18px) saturate(115%); }
.spotlight { isolation:isolate; overflow:hidden; }
.spotlight:before { content:""; position:absolute; inset:0; z-index:-1; opacity:0; pointer-events:none; background:radial-gradient(350px circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(255,255,255,.43),transparent 75%); transition:opacity .4s; }
.spotlight:hover:before { opacity:1; }
/* A quiet frame leaves the optical material as the focal point. */
header { position:fixed; top:0; left:0; width:100%; z-index:100; transition:background .35s; }
header .wrap { max-width:1440px; }
.nav { display:flex; align-items:center; justify-content:space-between; min-height:112px; border-bottom:1px solid rgba(255,255,255,.10); transition:min-height .3s; }
.scrolled { background:rgba(25,25,32,.82); -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px); }
.scrolled .nav { min-height:82px; border-color:transparent; }
.brand { display:flex; gap:13px; align-items:center; z-index:112; position:relative; }
.brand img { width:35px; height:35px; object-fit:contain; filter:none; }
.brand-name { color:#f4f1f6; font-size:19px; font-weight:500; letter-spacing:3px; line-height:1.45; }
.brand-name small { font-size:7px; letter-spacing:3.7px; display:block; margin-top:3px; color:#bab5c4; font-weight:400; }
.nav-actions { display:flex; gap:35px; align-items:center; z-index:112; position:relative; }
.lang-toggle { display:flex; gap:8px; align-items:center; color:#6e6b79; font-size:10px; }
.lang-toggle button { background:none; border:0; padding:10px 3px; font-size:11px; color:#aaa5b7; }
.lang-toggle button.active { color:#fff; }
.nav-cta { font-size:12px; color:#ddd7e6; display:flex; align-items:center; gap:18px; }
.nav-cta>span:last-child { font-size:19px; }
.burger { width:45px; height:45px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; border:0; background:transparent; }
.burger span { display:block; width:28px; height:1px; background:#f1edf6; transition:transform .3s; }
.burger span:last-child { width:21px; margin-left:7px; }
.burger.open span:first-child { transform:translateY(4px) rotate(45deg); }
.burger.open span:last-child { transform:translateY(-4px) rotate(-45deg); width:28px; margin-left:0; }
.menu { display:none; position:fixed; inset:0; min-height:100svh; background:rgba(25,24,33,.97); -webkit-backdrop-filter:blur(30px); backdrop-filter:blur(30px); padding:155px max(60px,calc((100vw - 1080px)/2)) 60px; z-index:110; overflow-y:auto; counter-reset:nav; }
.menu.open { display:flex; flex-direction:column; justify-content:center; align-items:stretch; }
.menu-eyebrow { color:#888091; font-size:10px; letter-spacing:3px; margin-bottom:30px; }
.menu>a { color:#e8e1f0; font-size:clamp(25px,3vw,42px); font-weight:350; letter-spacing:2px; line-height:1.2; padding:15px 0; border-bottom:1px solid #ffffff10; counter-increment:nav; transition:color .25s,padding .25s; }
.menu>a:before { content:"0" counter(nav); font-size:10px; color:#9c90ab; display:inline-block; width:55px; vertical-align:middle; letter-spacing:1px; }
.menu>a:after { content:"↗"; float:right; font-size:25px; color:#9280a9; }
.menu>a:hover { color:#bca1e0; padding-left:10px; }
.menu>a.active { color:#c6b5e0; }
/* Actual transmission, dispersion and reflection are rendered in glass-scene.js. */
.hero { position:relative; isolation:isolate; height:100svh; min-height:820px; max-height:1200px; overflow:hidden; background:#22232b; }
.hero-atmosphere { position:absolute; inset:0; z-index:-2; background:radial-gradient(ellipse at 76% 42%,#64626c88,transparent 58%),linear-gradient(125deg,#17151f,#383942); }
.scene-mount { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
#glass-scene { width:100%; height:100%; display:block; opacity:0; transition:opacity 1s ease; }
.webgl-ready #glass-scene { opacity:1; }
.glass-fallback { position:absolute; inset:0; opacity:1; transition:opacity .7s; }
.webgl-ready .glass-fallback { opacity:0; }
.fallback-loop { position:absolute; width:340px; height:380px; top:25%; right:15%; border:38px solid rgba(230,235,248,.20); border-radius:100px; transform:rotate(-34deg) skewY(10deg); box-shadow:inset 3px 2px 6px #ffffff8c,inset -3px -5px 7px #0005,2px 3px 2px #fff6,-4px -3px 7px #aecafa55,18px 20px 60px #08051344; background:linear-gradient(145deg,#b9d3f50a,#ffffff08); }
.fallback-loop:after { content:""; position:absolute; inset:-30px; border:1px solid #e2d9ff66; border-radius:90px; }
.loop-b { transform:rotate(28deg) skewY(-8deg); right:7%; top:37%; width:310px; height:330px; border-color:#eae6f31c; }
.hero-inner { display:flex; align-items:center; height:100%; max-width:1440px; padding:110px 0 130px; pointer-events:none; }
.hero-copy { width:53%; position:relative; padding-top:30px; }
.hero-eyebrow { display:flex; align-items:center; gap:17px; font-size:10px; letter-spacing:2.2px; color:#c0b8c8; margin-bottom:36px; }
.hero-index { font-size:9px; letter-spacing:1px; color:#8c8598; }
.hero h1 { font-size:clamp(48px,4.8vw,76px); line-height:1.4; letter-spacing:-1px; font-weight:400; white-space:nowrap; margin-bottom:27px; color:#f4f0f7; text-shadow:0 3px 40px #17131c26; }
.hero-gradient { color:#cfc7dc; }
.hero-subtitle { font-size:19px; color:#d7d1de; letter-spacing:2px; margin-bottom:18px; font-weight:350; }
.hero-description { font-size:13px; line-height:2.1; color:#a6a0af; max-width:480px; }
.hero-btns { display:flex; gap:22px; align-items:center; margin-top:35px; pointer-events:auto; }
.hero-btns .btn { white-space:nowrap; }
.btn { border:1px solid transparent; display:inline-flex; align-items:center; justify-content:center; gap:26px; min-height:49px; padding:12px 22px; font-size:12px; font-weight:450; letter-spacing:1px; transition:background .3s,transform .3s,box-shadow .3s; cursor:pointer; }
.btn svg,.card-link svg,.product-button svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
.btn-primary { background:#ece6f0; color:#302a39; border-radius:3px; box-shadow:0 4px 20px #00000012; }
.btn-primary:hover { background:#fff; transform:translateY(-3px); box-shadow:0 8px 30px #e1caff20; }
.btn-ghost { color:#d3cbdc; background:transparent; border-color:#dcd4ec32; border-radius:3px; }
.btn-ghost:hover { background:#ffffff0b; transform:translateY(-3px); }
.btn-ghost>span:last-child { font-size:18px; }
.hero-certification { display:flex; align-items:center; gap:8px; margin-top:32px; font-size:9px; color:#8d8797; letter-spacing:.5px; }
.hero-certification svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.3; }
.hero-certification i { width:1px; height:10px; background:#bfb4d12b; margin:0 8px; }
.hero-bottom { position:absolute; left:0; right:0; bottom:35px; display:flex; align-items:center; justify-content:space-between; max-width:1440px; color:#9f96ac; font-size:9px; letter-spacing:1.6px; }
.scroll-hint { display:flex; gap:14px; align-items:center; font-size:10px; letter-spacing:1px; }
.scroll-circle { display:grid; place-items:center; border:1px solid #c8bed14f; width:37px; height:37px; border-radius:50%; font-size:17px; color:#ddd4e6; }
.hero-bottom-note { font-size:8px; color:#827b8d; letter-spacing:2px; }
.motion-toggle { background:none; border:0; padding:9px 0 9px 10px; color:#a39aaf; font-size:9px; letter-spacing:1px; display:flex; align-items:center; gap:10px; }
.motion-bars { font-size:14px; letter-spacing:-2px; }
.hero-object-label { position:absolute; right:60px; top:51%; writing-mode:vertical-rl; display:flex; gap:30px; color:#b8aec65c; font-size:8px; letter-spacing:2px; pointer-events:none; }
.hero-object-label>span:last-child { font-size:18px; }
/* The information begins where the immersive scene ends. */
.trust { width:100%; max-width:none; padding:0 60px; background:#19191f; border-top:1px solid #d2c3e81c; }
.trust-inner { display:grid; grid-template-columns:repeat(5,1fr); max-width:1280px; margin:auto; padding:43px 0; }
.trust-item { padding:0 30px; border-right:1px solid #d2c3e822; }
.trust-item:first-child { padding-left:0; }
.trust-item:last-child { border:0; }
.stat-number { display:flex; align-items:baseline; gap:7px; font-size:40px; color:#ded9e7; font-weight:300; line-height:1.3; font-variant-numeric:tabular-nums; letter-spacing:-1px; }
.stat-number span { font-size:14px; color:#aba2b8; letter-spacing:0; }
.stat-label { font-size:10px; color:#92889f; margin-top:13px; letter-spacing:.6px; }
.stat-label .status-dot { width:4px; height:4px; margin-right:8px; }
.trust-status .stat-number { font-size:29px; line-height:1.8; letter-spacing:2px; }
#about { padding-bottom:100px; background:radial-gradient(ellipse at 85% 40%,#ded8e6,transparent 55%),#efedf1; }
.about-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; }
.about-grid .lead { font-size:37px; font-weight:400; line-height:1.6; letter-spacing:1px; margin-bottom:25px; }
.about-grid p:not(.about-visual-motto) { font-size:13px; line-height:2.15; color:var(--muted); margin-bottom:17px; }
.about-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.about-tags span { font-size:10px; padding:5px 12px; border:1px solid #61577529; border-radius:3px; color:#70667d; }
.about-visual { padding:32px 36px; min-height:355px; border-radius:22px; overflow:hidden; transform:rotate(-3deg); background:linear-gradient(125deg,#ffffff5c,#ffffff0d 45%,#ffffff40); border-color:#fff9; box-shadow:inset 0 2px 2px #fff,inset -2px -2px 4px #ffffffb3,0 25px 60px #4d395a13,3px 4px 0 #d6d1de; }
.about-reflection { position:absolute; inset:-60%; transform:rotate(-35deg); z-index:-1; background:linear-gradient(90deg,transparent 34%,#ffffffa1 38%,#ffffff08 44%,#ffffff59 49%,transparent 59%); }
.about-topline { display:flex; justify-content:space-between; align-items:center; color:#807488; font-size:8px; letter-spacing:2px; }
.anniversary { display:flex; align-items:center; gap:26px; margin-top:8px; }
.anniversary>span { font-size:137px; font-weight:200; letter-spacing:-8px; line-height:1.25; color:#686074; text-shadow:1px 1px 0 #fff,-1px -1px 1px #5d49672b; }
.anniversary b { font-size:19px; font-weight:400; color:#6c6078; display:block; }
.anniversary small { display:block; font-size:8px; letter-spacing:2px; color:#96869e; margin-top:7px; }
.about-visual-line { width:75%; height:1px; background:linear-gradient(90deg,#76608459,transparent); margin:6px 0 16px; }
.about-visual-motto { color:#82708f; font-size:15px; letter-spacing:1px; }
.capability-orbit { display:flex; gap:12px; margin-top:22px; }
.capability-orbit span { display:grid; place-items:center; width:42px; height:37px; border:1px solid #fff9; background:#ffffff2e; border-radius:9px; box-shadow:inset 0 1px 0 #fffc,0 4px 9px #4f31510a; font-size:17px; font-weight:300; color:#87718b; }
.about-footnote { display:flex; justify-content:space-between; font-size:6px; letter-spacing:1px; margin-top:26px; color:#8b7894; }
#services { padding-top:40px; background:radial-gradient(ellipse at 15% 30%,#e0d9e4,transparent 70%),linear-gradient(#efedf1,#e9e5e9); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.card { border-radius:14px; padding:30px 28px 23px; transition:transform .4s,box-shadow .4s; }
.card:hover { transform:translateY(-6px); box-shadow:inset 0 1px 1px #fff,0 20px 40px #66536b13; }
.card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:27px; }
.ico { width:44px; height:44px; display:grid; place-items:center; border-radius:10px; background:linear-gradient(135deg,#fff9,#ffffff15); border:1px solid #fff; box-shadow:0 4px 12px #362e4310,inset 0 -1px 1px #63507619; }
.ico-svg { width:24px; height:24px; fill:none; stroke:url(#icoGrad); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.card-index { font-size:10px; color:#9d90a6; }
.card-category { font-size:8px; letter-spacing:1.5px; color:#9b8ca4; margin-bottom:5px; }
.card h3 { font-size:21px; font-weight:450; letter-spacing:.5px; margin-bottom:13px; }
.card p { font-size:12px; line-height:2; color:#83778c; min-height:74px; }
.card-link { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #62546b15; margin-top:24px; padding-top:16px; color:#76647d; font-size:10px; letter-spacing:.6px; }
.card-link svg { width:14px; transition:transform .25s; }
.card-link:hover svg { transform:translateX(5px); }
/* Product objects use the same restrained optical palette. */
#products { background:radial-gradient(ellipse at 80% 30%,#55475930,transparent 65%),linear-gradient(115deg,#21212a,#303039); }
#products .section-kicker { color:#9d90ad; }
#products .section-head h2 { font-weight:350; }
.products { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.prod { padding:35px 35px 0; border-radius:18px; background:linear-gradient(130deg,#ffffff0e,#ffffff02 50%,#ffffff07); border:1px solid #e3d4f129; box-shadow:inset 0 1px 0 #fff2,0 18px 45px #1110161f; display:flex; flex-direction:column; }
.prod .badge { font-size:10px; letter-spacing:1px; color:#b4a1c7; margin-bottom:14px; }
.prod h3 { font-size:29px; font-weight:400; letter-spacing:1px; margin-bottom:14px; }
.prod p { font-size:13px; color:#a69baf; line-height:2; margin-bottom:22px; }
.product-button { background:none; border:0; padding:0; display:flex; align-items:center; gap:22px; font-size:11px; color:#d5c3e3; }
.product-button:hover { color:#fff; }
.product-art { height:230px; position:relative; overflow:hidden; margin-top:auto; }
.product-art:after { content:""; position:absolute; inset:auto 0 0; height:50px; background:linear-gradient(transparent,#2d293520); z-index:4; }
.achievement-medal { position:absolute; width:120px; height:120px; border-radius:50%; left:calc(50% - 60px); top:42px; display:grid; place-items:center; transform:rotate(-15deg); background:linear-gradient(130deg,#f8efff55 2%,#c2acd109 20%,#aeb8f026 48%,#6c536e77 70%,#ebe0ff22); border:1px solid #f5edff8c; box-shadow:inset 0 0 0 7px #f7dfff11,inset 4px 3px 6px #f5efff72,inset -4px -7px 8px #20132b40,7px 9px 0 -1px #57465f,8px 10px 0 0 #eee3f859,0 0 50px #dfbbff0d; }
.achievement-medal svg { width:48px; height:48px; stroke:#e1ccef; stroke-width:.6; fill:#eed4ff0a; filter:drop-shadow(0 0 4px #e4c7ff40); }
.art-orbit { position:absolute; left:calc(50% - 170px); top:63px; width:340px; height:114px; border:1px solid #d3b4e52e; border-radius:50%; transform:rotate(-15deg); }
.orbit-two { transform:rotate(18deg); width:270px; left:calc(50% - 135px); top:43px; height:155px; border-color:#d6c1f014; }
.mini-star { position:absolute; color:#e4d4ef; text-shadow:0 0 20px #ceafff66; }
.star-one { top:30px; left:24%; font-size:25px; }.star-two { top:125px; right:22%; font-size:35px; }
.floating-tag { position:absolute; left:50%; bottom:17px; transform:translateX(-50%) rotate(-4deg); z-index:5; white-space:nowrap; display:flex; align-items:center; gap:8px; background:linear-gradient(135deg,#f3e9ff20,#4a3d5a24); backdrop-filter:blur(12px); border:1px solid #e8d3fa4d; border-radius:7px; padding:8px 15px; font-size:10px; letter-spacing:.5px; color:#d6c6e1; box-shadow:inset 0 1px 0 #fff3,0 6px 10px #0002; }
.floating-tag .status-dot { width:4px; height:4px; background:#d5bce4; }
.enterprise-art .floating-tag { left:65%; transform:translateX(-50%) rotate(5deg); bottom:25px; }
.dashboard-glass { position:absolute; top:35px; left:17%; right:13%; height:183px; border:1px solid #efe3ff7a; border-radius:10px; transform:perspective(600px) rotateY(-17deg) rotateX(10deg) rotate(-7deg); background:linear-gradient(125deg,#ffffff26,#b195cd08 43%,#d0bdf02b); box-shadow:inset 0 1px 1px #fff9,inset -2px -2px 2px #d8beee2b,4px 7px 0 -1px #8b72904d,10px 18px 35px #0f0a2259; padding:14px 18px; }
.dash-top { display:flex; gap:8px; align-items:center; height:28px; }.dash-icon { display:grid; place-items:center; width:24px; height:24px; border-radius:6px; background:#ddbcff12; border:1px solid #e4c4ff47; color:#e6c9ff; font-size:13px; }.dash-top>div{flex:1}.dash-top i{width:48px;height:3px;background:#e3c5f554;display:block;margin:4px 0;border-radius:3px}.dash-top i:last-child{width:32px;opacity:.5}.dash-top>span:last-child{font-size:10px;letter-spacing:2px;color:#bea5cf}.dash-cards{display:flex;gap:8px;margin:15px 0}.dash-cards>span{width:33.33%;height:29px;border:1px solid #dfbbff26;background:linear-gradient(120deg,#dfb6ff11,transparent);border-radius:4px}.dash-chart{display:flex;align-items:end;gap:9px;height:65px;padding:0 5px;border-bottom:1px solid #b79cd32e}.dash-chart i{width:100%;height:35%;background:linear-gradient(#e2caff88,#ac7ac31c);border:1px solid #e6d7ff19;border-radius:2px 2px 0 0}.dash-chart i:nth-child(2n){height:47%}.dash-chart i:nth-child(3n){height:62%}.dash-chart i:nth-child(4n){height:51%}.dash-chart i:nth-child(5n){height:75%}.dash-chart i:last-child{height:89%}
.platform-label { display:flex; justify-content:space-between; align-items:center; margin:33px 0 14px; font-size:11px; color:#9f90ad; }
.platform-label>span:last-child { font-size:8px; letter-spacing:2px; color:#7e6c8e; }
.platform-list { display:grid; grid-template-columns:1fr 1fr; gap:0 25px; }
.platform-list .p { display:flex; align-items:center; gap:12px; padding:18px 4px; border-bottom:1px solid #debcff12; color:#b5a5c2; font-size:12px; }
.platform-list .dot { width:4px; height:4px; background:#b0a1bc; border-radius:50%; flex-shrink:0; }
.platform-list .p:after { content:"↗"; margin-left:auto; color:#9781a6; }
.platform-list .p:hover { color:#e8d4fa; }
#strength { padding-bottom:75px; background:radial-gradient(ellipse at 80% 40%,#e0d8e2,transparent 65%),#efedf1; }
.honors { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.honor { border-radius:13px; padding:30px 25px; }
.honor .ic { margin-bottom:24px; }.honor .ico-svg { width:30px;height:30px;stroke-width:1.15; }
.honor h4 { font-size:17px; font-weight:450; letter-spacing:.2px; margin-bottom:12px; }
.honor p { color:#8b7d94; font-size:11px; line-height:2; }
#cases { padding-top:30px; background:linear-gradient(#efedf1,#e7e2e7); }
.cases { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.case { border-radius:16px; }
.case-copy { display:flex; gap:22px; padding:30px; }
.case .num { font-size:11px; color:#9b88a4; line-height:2.5; }
.case h4 { font-size:18px; font-weight:450; margin-bottom:13px; }
.case p { color:#85748e; font-size:12px; line-height:2; }
.case-art { height:230px; position:relative; overflow:hidden; border-bottom:1px solid #ffffff45; background:radial-gradient(ellipse at 50% 70%,#b1b5cd70,transparent 75%),linear-gradient(125deg,#dddde9,#d6cde1); }
.inspection-art { background:radial-gradient(ellipse at 50% 50%,#ccb4ca77,transparent 65%),linear-gradient(125deg,#e3d5df,#cecbdc); }
.case-art:before { content:""; position:absolute; inset:0; background:linear-gradient(135deg,transparent 30%,#fff4 38%,transparent 46%); }
.network-center { position:absolute; left:calc(50% - 40px); top:60px; width:80px; height:90px; display:grid; place-items:center; filter:drop-shadow(4px 8px 7px #6e5c7a30); }
.network-center svg { width:76px; height:76px; fill:#f1ecff40; stroke:#fff; stroke-width:1.1; }
.network-node { position:absolute; display:grid; place-items:center; width:42px; height:42px; border:1px solid #fff9; border-radius:10px; color:#8c739d; font-size:11px; background:linear-gradient(130deg,#fff7,#b59ab911); transform:rotate(-8deg); box-shadow:inset 0 1px #fff,3px 4px 8px #67527416; }.node-one{left:19%;top:62px}.node-two{right:18%;top:44px}.node-three{right:23%;top:136px}.network-line{position:absolute;height:1px;width:140px;transform-origin:left;background:linear-gradient(90deg,#fff9,#88709f22)}.n1{left:23%;top:84px;transform:rotate(10deg)}.n2{left:50%;top:99px;transform:rotate(-17deg)}.n3{left:50%;top:110px;transform:rotate(27deg)}.diagram-label{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:1.8px;color:#8f7a9e}.scan-ring{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);border:1px solid #ffffff66;border-radius:50%}.scan-ring.r1{width:165px;height:165px;border-style:dashed;border-color:#a784b640}.scan-ring.r2{width:124px;height:124px;border-color:#fff9;box-shadow:inset 0 2px 6px #fff9,3px 8px 13px #a575b414;background:linear-gradient(125deg,#ffffff38,transparent)}.scan-ring.r3{width:86px;height:86px;background:radial-gradient(#ffffff2a,transparent)}.scan-core{position:absolute;top:calc(46% - 22px);left:calc(50% - 22px);width:44px;height:44px}.scan-core svg{stroke:#9c78aa;stroke-width:1;fill:none}.scan-line{position:absolute;left:25%;right:25%;top:46%;height:1px;background:linear-gradient(90deg,transparent,#fff,transparent);box-shadow:0 0 12px #fff6}
/* Contact returns to the dark studio. */
.contact { padding:100px 0; background:radial-gradient(ellipse at 20% 100%,#59485f2b,transparent 60%),#1b1b23; }
.contact-panel { display:grid; grid-template-columns:1.2fr 1fr; gap:100px; padding:0; border:0; box-shadow:none; background:transparent; backdrop-filter:none; overflow:visible; }
.contact-panel.spotlight:before { display:none; }
.contact h2 { font-size:45px; font-weight:350; letter-spacing:1px; line-height:1.55; }
.contact-intro>p { margin-top:20px; color:#9d91a8; font-size:13px; line-height:2; }
.contact-intro>.btn { margin-top:32px; }
.contact-details { padding-top:22px; }
.contact-label { display:block; font-size:10px; color:#9a88a9; letter-spacing:1px; margin-bottom:10px; }
.phone-block { padding-bottom:25px; border-bottom:1px solid #d6b5ee24; }
.phone-number { display:flex; align-items:center; justify-content:space-between; font-size:36px; letter-spacing:1px; font-weight:300; color:#e0d2e8; white-space:nowrap; }
.phone-number>span { font-size:23px; color:#b19bc2; }
.copy-phone { background:none; border:0; padding:8px 0; font-size:10px; color:#9e87af; display:flex; align-items:center; gap:8px; }
.copy-phone svg { width:13px; height:13px; stroke:currentColor; stroke-width:1; fill:none; }
.copy-phone:hover { color:#e4d1f1; }
.contact-address { padding-top:24px; }.contact-address p { color:#b6a4c3;font-size:12px;line-height:2; }.contact-site { padding-top:24px; }.contact-site a { display:flex;justify-content:space-between;font-size:13px;color:#cbb4d9; }
footer { padding:50px 0 24px; background:#14141b; border-top:1px solid #b093cc17; }
.foot-top { display:flex; justify-content:space-between; gap:80px; margin-bottom:42px; }.foot-brand img { height:36px; width:auto; filter:none; margin-bottom:18px; }.foot-brand p { max-width:330px;color:#9989a5;font-size:11px;line-height:2; }.foot-links { display:flex;gap:80px;padding-right:20px; }.foot-col h5 { font-size:11px;color:#c5b5d1;font-weight:400;letter-spacing:1px;margin-bottom:16px; }.foot-col a { display:block;font-size:11px;line-height:2.7;color:#9c8aa9; }.foot-col a:hover{color:#e6d5f3}.foot-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:23px;border-top:1px solid #ba97dc1a;color:#92829f;font-size:10px;letter-spacing:.4px}.back-top{position:fixed;right:24px;bottom:24px;width:40px;height:40px;display:grid;place-items:center;background:#302938c7;color:#e3d0f0;border:1px solid #e4d2ff40;border-radius:50%;z-index:50;opacity:0;visibility:hidden;transform:translateY(8px);transition:.3s}.back-top.visible{opacity:1;visibility:visible;transform:none}.product-dialog{position:fixed;margin:auto;width:min(550px,calc(100% - 32px));max-height:85svh;overflow-y:auto;padding:42px;border-radius:17px;border:1px solid #e2caff6b;background:linear-gradient(130deg,#4a3c51ed,#23202df7);backdrop-filter:blur(30px);color:#f0e6f7;box-shadow:inset 0 1px 0 #fff3,0 30px 100px #0008}.product-dialog::backdrop{background:#0f091aab;backdrop-filter:blur(10px)}.dialog-close{position:absolute;top:12px;right:15px;background:none;border:0;color:#c4abd4;font-size:27px;width:35px;height:35px;line-height:1}.product-dialog .badge{font-size:10px;letter-spacing:1px;color:#b59bc7}.product-dialog h2{font-size:29px;font-weight:400;margin:14px 0 18px}.product-dialog p{font-size:13px;line-height:2;color:#bca5cd}.product-dialog ul{padding-left:20px;font-size:13px;line-height:2.3;color:#ddc7e9;margin:22px 0 30px}.motion-ready .reveal{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}.motion-ready .reveal.in{opacity:1;transform:none}.motion-ready .about-visual.in{transform:rotate(-3deg)}
html[lang="en"] .hero h1{font-size:clamp(42px,4.1vw,65px);letter-spacing:-2px;line-height:1.2;white-space:normal}html[lang="en"] .hero-description{max-width:470px}html[lang="en"] .hero-subtitle{letter-spacing:0;font-size:17px}html[lang="en"] .hero-certification{font-size:8px;letter-spacing:0}html[lang="en"] .section-head h2,html[lang="en"] .about-grid .lead{letter-spacing:-.7px}html[lang="en"] .card h3{font-size:19px;letter-spacing:0}html[lang="en"] .card p{min-height:98px}html[lang="en"] .honor h4{font-size:15px;letter-spacing:0}html[lang="en"] .trust-status .stat-number{font-size:28px;letter-spacing:0}
@media(min-width:1700px){.hero-copy{padding-top:15px}.hero h1{font-size:80px}.hero-object-label{right:5vw}}
@media(max-width:1150px){.wrap{width:calc(100% - 80px)}.hero{min-height:760px}.hero h1{font-size:53px}.hero-copy{width:53%}.hero-description{font-size:12px;max-width:410px}.hero-certification{font-size:8px;gap:5px}.hero-certification i{margin:0 5px}.hero-object-label{right:30px}.trust{padding:0 40px}.trust-item{padding:0 23px}.stat-number{font-size:35px}.stat-label{font-size:9px}.trust-status .stat-number{font-size:26px}.about-grid{gap:55px}.about-grid .lead{font-size:31px}.about-visual{padding:28px}.section-head h2{font-size:35px}.card{padding:27px 23px 22px}.card h3{font-size:19px}.card p{min-height:96px}.honor{padding:26px 20px}.honor h4{font-size:15px}.contact-panel{gap:65px}.contact h2{font-size:38px}.phone-number{font-size:30px}.foot-links{gap:55px}.section{padding:95px 0}}
@media(max-width:900px){.wrap{width:calc(100% - 60px)}.nav{min-height:95px}.hero{min-height:710px}.hero-inner{padding:95px 0 110px}.hero h1{font-size:43px;letter-spacing:-.5px}.hero-subtitle{font-size:16px;letter-spacing:1px}.hero-description{font-size:11px;max-width:350px}.desktop-br{display:none}.hero-eyebrow{font-size:8px;letter-spacing:1.5px;gap:10px;margin-bottom:28px}.hero-btns{gap:12px}.hero-btns .btn{padding:11px 16px;font-size:11px;gap:18px;min-height:44px}.hero-certification{font-size:7px;gap:5px}.hero-certification i{margin:0 3px}.hero-bottom{bottom:27px}.hero-bottom-note{font-size:6px;letter-spacing:1.3px}.hero-object-label{right:20px;font-size:6px}.trust{padding:0 30px}.trust-inner{padding:32px 0}.trust-item{padding:0 18px}.stat-number{font-size:29px}.stat-number span{font-size:12px}.stat-label{font-size:8px}.trust-status .stat-number{font-size:22px}.section{padding:75px 0}.about-grid{gap:35px}.about-grid .lead{font-size:26px}.about-grid p:not(.about-visual-motto){font-size:12px}.about-visual{padding:25px;min-height:310px}.anniversary>span{font-size:110px}.anniversary{gap:22px}.about-topline{font-size:7px}.about-visual-motto{font-size:13px}.about-footnote{font-size:5px}.capability-orbit{gap:10px}.capability-orbit span{width:37px;height:33px}.section-head h2{font-size:30px}.section-head p{font-size:13px}.cards{gap:15px}.card{padding:24px 20px 20px}.card h3{font-size:17px}.card-category{font-size:7px;letter-spacing:1px}.card p{font-size:11px;min-height:90px}.prod{padding:28px 25px 0}.prod h3{font-size:25px}.prod p{font-size:12px}.products,.cases{gap:20px}.product-art{margin-left:-15px;margin-right:-15px}.honors{gap:14px}.honor{padding:24px 17px}.honor h4{font-size:13px}.honor p{font-size:10px}.case-copy{padding:26px 23px;gap:17px}.case h4{font-size:16px}.case-art{height:210px}.node-one{left:13%}.node-two{right:13%}.node-three{right:17%}.network-line{width:110px}.n1{left:18%}.platform-list .p{font-size:11px}.contact-panel{gap:45px}.contact h2{font-size:32px}.phone-number{font-size:25px}.contact-intro>p{font-size:12px}.contact-details{padding-top:15px}.foot-links{gap:35px;padding-right:0}.foot-top{gap:45px}.foot-brand p{font-size:10px}html[lang="en"] .hero h1{font-size:39px}html[lang="en"] .hero-subtitle{font-size:15px}html[lang="en"] .hero-certification{font-size:7px}html[lang="en"] .trust-status .stat-number{font-size:22px}html[lang="en"] .card h3{font-size:16px}html[lang="en"] .card p{min-height:130px}}
@media(max-width:700px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 44px)}.nav{min-height:83px}.brand-name{font-size:17px}.brand img{width:30px;height:30px}.brand{gap:10px}.brand-name small{font-size:6px;letter-spacing:3.3px}.nav-actions{gap:20px}.nav-cta{display:none}.hero{height:970px;min-height:970px;max-height:none}.hero-inner{height:100%;align-items:flex-start;padding:142px 0 0}.hero-copy{padding:0;width:100%}.hero-eyebrow{margin-bottom:25px;font-size:8px;letter-spacing:1.7px}.hero h1{font-size:clamp(38px,7.6vw,54px);font-weight:400;line-height:1.4;letter-spacing:0;margin-bottom:22px}.hero-subtitle{font-size:16px;margin-bottom:13px}.hero-description{font-size:12px;max-width:460px;line-height:2}.hero-btns{margin-top:25px;gap:14px}.hero-btns .btn{font-size:11px;padding:11px 17px;gap:20px}.hero-certification{margin-top:22px;font-size:8px;gap:6px}.hero-certification i{margin:0 5px}.hero-bottom{bottom:25px}.hero-bottom-note{display:none}.hero-object-label{top:71%;right:15px;font-size:6px}.hero-bottom .scroll-hint{font-size:9px;gap:10px}.motion-toggle{font-size:8px}.scroll-circle{width:33px;height:33px}.fallback-loop{width:210px;height:230px;border-width:26px;top:58%;right:31%;border-radius:65px}.fallback-loop:after{inset:-21px;border-radius:60px}.loop-b{right:10%;top:64%;width:200px;height:215px}.trust{padding:0 23px}.trust-inner{grid-template-columns:repeat(6,1fr);padding:10px 0}.trust-item{grid-column:span 2;padding:20px 13px}.trust-item:first-child{padding-left:13px}.trust-item:nth-child(3){border:0}.trust-item:nth-child(n+4){grid-column:span 3;border-top:1px solid #d2c3e822;padding-top:20px}.trust-item:last-child{border-top:1px solid #d2c3e822;padding-left:28px}.stat-number{font-size:32px}.stat-number span{font-size:12px}.stat-label{font-size:9px;margin-top:9px;letter-spacing:0}.trust-status .stat-number{font-size:23px}.section{padding:65px 0}.section-kicker{font-size:8px;letter-spacing:1.4px;gap:12px;margin-bottom:22px}.section-kicker i{width:16px}.section-head{margin-bottom:30px}.section-head h2{font-size:27px;line-height:1.6;letter-spacing:.4px}.section-head p{font-size:12px;line-height:2;margin-top:14px}.about-grid{grid-template-columns:1fr;gap:43px}.about-grid .lead{font-size:30px;letter-spacing:.6px;line-height:1.6;margin-bottom:23px}.about-grid p:not(.about-visual-motto){font-size:12px}.about-tags{gap:8px;margin-top:23px}.about-tags span{font-size:9px;padding:4px 9px}.about-visual{min-height:320px;padding:27px 30px;max-width:470px;width:calc(100% - 16px);margin:0 auto;}.about-topline{font-size:7px}.anniversary>span{font-size:123px}.anniversary{gap:25px}.anniversary b{font-size:18px}.about-visual-motto{font-size:14px}.about-footnote{font-size:6px}.capability-orbit span{width:42px;height:35px}#about{padding-bottom:65px}#services{padding-top:25px}.cards{grid-template-columns:repeat(2,1fr);gap:15px}.card{padding:25px 21px 20px}.card-category{font-size:7px}.card h3{font-size:18px}.card p{font-size:11px;min-height:89px;line-height:2}.card-top{margin-bottom:22px}.ico{width:40px;height:40px}.card-link{font-size:9px;padding-top:15px;margin-top:20px}.products{grid-template-columns:1fr;gap:22px}.prod{padding:30px 27px 0}.prod h3{font-size:27px}.prod p{font-size:12px;line-height:2}.product-art{height:235px}.product-button{font-size:12px}.platform-label>span:last-child{font-size:6px;letter-spacing:1px}.platform-list{grid-template-columns:1fr}.platform-list .p{font-size:12px;padding:17px 2px;gap:10px}.honors{grid-template-columns:repeat(2,1fr);gap:15px}.honor{padding:27px 23px}.honor h4{font-size:15px}.honor p{font-size:11px}.honor .ic{margin-bottom:20px}.honor .ico-svg{width:27px;height:27px}#strength{padding-bottom:60px}#cases{padding-top:10px}.cases{grid-template-columns:1fr;gap:24px}.case-art{height:230px}.case-copy{padding:27px 23px;gap:18px}.case h4{font-size:17px}.case p{font-size:12px}.network-line{width:140px}.node-one{left:18%}.node-two{right:18%}.node-three{right:22%}.n1{left:22%}.contact{padding:65px 0}.contact-panel{grid-template-columns:1fr;gap:40px}.contact h2{font-size:35px}.contact-intro>p{font-size:12px}.contact-intro .btn{margin-top:27px}.contact-details{padding-top:28px;border-top:1px solid #c7a3e324}.phone-number{font-size:32px}.contact-label{font-size:10px}.contact-address p{font-size:12px}.contact-site a{font-size:13px}.foot-top{flex-direction:column;gap:33px;margin-bottom:30px}.foot-brand img{height:35px}.foot-brand p{font-size:11px;max-width:330px}.foot-links{width:100%;justify-content:space-between;gap:20px}.foot-col h5{font-size:11px;margin-bottom:12px}.foot-col a{font-size:11px}.foot-bottom{flex-direction:column;gap:9px;font-size:9px;line-height:1.8}footer{padding:40px 0 25px}.back-top{width:35px;height:35px;right:15px;bottom:15px}.menu{padding:120px 30px 45px;justify-content:center}.menu>a{font-size:29px;padding:16px 0}.menu>a:before{width:40px}.menu-eyebrow{font-size:8px;margin-bottom:20px}.product-dialog{padding:34px 27px}.product-dialog h2{font-size:26px}html[lang="en"] .hero h1{font-size:clamp(37px,7.9vw,52px);max-width:540px;letter-spacing:-1.6px;line-height:1.2}html[lang="en"] .hero-description{font-size:12px;max-width:450px}html[lang="en"] .hero-subtitle{font-size:15px}html[lang="en"] .hero-certification{font-size:7px}html[lang="en"] .card p{min-height:115px}html[lang="en"] .card h3{font-size:18px}html[lang="en"] .honor h4{font-size:14px}html[lang="en"] .trust-status .stat-number{font-size:23px}}
@media(max-width:480px){.cards{grid-template-columns:1fr}.card{padding:27px}.card h3{font-size:21px}.card p{min-height:0;font-size:12px}.card-category{font-size:8px}.card-link{font-size:11px}.card-top{margin-bottom:22px}.card-index{font-size:11px}.hero{height:925px;min-height:925px}.hero-inner{padding-top:132px}.hero h1{font-size:clamp(34px,8.5vw,42px)}.hero-certification{font-size:7px}.hero-description{font-size:11px}.hero-subtitle{font-size:15px}.hero-eyebrow{font-size:7px}.hero-bottom{bottom:24px}.honor{padding:24px 17px}.honor h4{font-size:13px}.honor p{font-size:10px}.stat-number{font-size:28px}.stat-label{font-size:8px}.trust-item{padding-left:10px;padding-right:10px}.trust-item:first-child{padding-left:10px}.trust-status .stat-number{font-size:22px}.about-grid .lead{font-size:27px}.about-visual{padding:25px;min-height:310px}.section-head h2{font-size:25px}.contact h2{font-size:32px}html[lang="en"] .card p{min-height:0}html[lang="en"] .hero h1{font-size:36px}html[lang="en"] .hero-description{font-size:11px}html[lang="en"] .hero-certification{font-size:6.5px}}
@media(max-width:360px){.wrap{width:calc(100% - 36px)}.hero h1{font-size:32px}.hero-eyebrow{letter-spacing:1.2px}.brand-name{font-size:15px}.brand img{width:27px;height:27px}.nav-actions{gap:13px}.hero-btns .btn{padding:10px 13px;gap:17px}.hero-btns{gap:10px}.hero-certification{gap:4px;font-size:6.5px}.hero-certification i{margin:0 3px}.trust{padding:0 18px}.stat-number{font-size:24px;gap:4px}.stat-number span{font-size:10px}.stat-label{font-size:7px}.trust-item{padding-left:8px;padding-right:8px}.trust-status .stat-number{font-size:20px}.about-grid .lead{font-size:24px}.about-visual{padding:22px;}.about-topline{font-size:6px;letter-spacing:1.5px}.anniversary>span{font-size:109px}.anniversary{gap:20px}.about-visual-motto{font-size:12px}.about-footnote{font-size:5px}.section-head h2{font-size:23px}.phone-number{font-size:28px}.honor h4{font-size:12px}html[lang="en"] .hero h1{font-size:32px}html[lang="en"] .trust-status .stat-number{font-size:20px}}
@media(max-width:700px){#services .section-head h2 .grad-text{display:block}}
@media(max-width:360px){.hero-btns .btn{padding:10px 11px;gap:10px;letter-spacing:0}.hero-btns .btn svg{flex-shrink:0}}
html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
