:root { --red:#ec1c24; --ink:#171719; --muted:#67676d; --line:#e8e8eb; --paper:#f6f6f7; }
*{box-sizing:border-box} html{scroll-behavior:smooth}.project-motion-page{margin:0;background:#fff;color:var(--ink);font-family:"Montserrat",var(--font-montserrat,Arial),sans-serif;overflow-x:clip}.project-motion-page a{color:inherit;text-decoration:none}.project-motion-page button{font:inherit}
.hero{min-height:690px;position:relative;overflow:hidden;background:radial-gradient(circle at 72% 42%,#561016 0,#240609 34%,#0d0d0f 67%);color:#fff;padding:110px max(5vw,40px);display:flex;align-items:center;--mx:0px;--my:0px}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,#000,transparent 80%)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,14,.92) 0,rgba(12,12,14,.5) 48%,transparent 78%);pointer-events:none}.hero-copy{width:48%;position:relative;z-index:3}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--red);margin:0 0 18px}.hero .eyebrow{color:#ff5e64}.hero h1{font-size:clamp(58px,7vw,100px);line-height:1.02;letter-spacing:-.045em;text-transform:uppercase;margin:0;font-weight:850}.hero h1 em{font-family:Georgia,serif;font-weight:400;text-transform:none;color:#f4b544;text-shadow:0 0 40px rgba(244,181,68,.35)}.hero-sub{max-width:520px;color:#cbc4c5;line-height:1.75;margin:30px 0;font-size:15px}.hero-actions{display:flex;gap:12px}.button{padding:15px 22px;border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:800;transition:.35s}.button.primary{background:var(--red);border-color:var(--red)}.button:hover{transform:translateY(-3px)}.button.ghost:hover{background:#fff;color:#111}.hero-enter{opacity:0;transform:translateY(24px);animation:heroIn .9s cubic-bezier(.22,1,.36,1) forwards}.delay-1{animation-delay:.15s}.delay-2{animation-delay:.28s}.delay-3{animation-delay:.42s}.delay-4{animation-delay:.54s}@keyframes heroIn{to{opacity:1;transform:none}}
.hero-device-wrap{position:absolute;right:6%;top:8%;width:44%;height:86%;z-index:2;transform:translate3d(var(--mx),var(--my),0);transition:transform .25s ease-out;perspective:1200px}.hero-glow{position:absolute;width:430px;height:430px;border-radius:50%;background:#e51d28;filter:blur(100px);opacity:.25;left:10%;top:14%}.hero-device{position:absolute;inset:3% 8% 4% 10%;transform:rotateY(-10deg) rotateX(2deg);transform-style:preserve-3d;filter:drop-shadow(30px 30px 40px rgba(0,0,0,.5))}.hero-screen{position:absolute;top:2%;left:14%;width:66%;height:68%;border:9px solid #151517;background:linear-gradient(145deg,#ed1b24,#6c0910 65%,#190507);overflow:hidden;box-shadow:inset 0 0 0 1px #434348,0 0 55px rgba(239,26,36,.22)}.hero-screen:before{content:"";position:absolute;inset:-30%;background:repeating-radial-gradient(circle at 10% 20%,transparent 0 12px,rgba(255,255,255,.08) 13px 14px);transform:rotate(18deg)}.hero-screen strong{position:absolute;left:11%;bottom:14%;font-size:clamp(36px,4.2vw,70px);line-height:.8;letter-spacing:-.07em}.hero-screen strong i{font-family:Georgia,serif;font-weight:400;color:#ffd08a}.hero-badge{position:absolute;right:8%;top:8%;font-size:8px;letter-spacing:.25em;text-align:right}.hero-pole{position:absolute;left:44%;top:69%;width:8%;height:22%;background:linear-gradient(90deg,#171719,#6b6b70 45%,#1b1b1d)}.hero-base{position:absolute;left:30%;top:90%;width:38%;height:5%;background:linear-gradient(#77777b,#222225);transform:rotateX(62deg);border-radius:50%;box-shadow:0 18px 26px #000}.light-sweep{position:absolute;top:-40%;bottom:-40%;width:20%;left:-35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);animation:sweep 4.5s 1s ease-in-out infinite}@keyframes sweep{0%,45%{left:-35%}75%,100%{left:125%}}.floating-chip{position:absolute;border:1px solid rgba(255,255,255,.16);background:rgba(15,15,18,.62);backdrop-filter:blur(14px);padding:13px;color:#aaa;font-size:8px;letter-spacing:.15em;animation:float 4s ease-in-out infinite}.floating-chip b{color:#fff;font-size:13px}.chip-a{left:2%;top:25%}.chip-b{right:3%;top:55%;animation-delay:-1.5s}@keyframes float{50%{transform:translateY(-11px)}}.scroll-hint{position:absolute;z-index:4;left:50%;bottom:24px;transform:translateX(-50%);font-size:8px;letter-spacing:.25em;color:#999;display:flex;align-items:center;gap:10px}.scroll-hint span{width:1px;height:34px;background:linear-gradient(var(--red),transparent);animation:scrollPulse 1.8s infinite}@keyframes scrollPulse{50%{transform:scaleY(.55);transform-origin:top}}
.hero-project-video{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;background:#130609}.hero-screen .light-sweep{z-index:2;pointer-events:none}
.hero-video-wrap{position:absolute;right:6%;top:8%;width:44%;height:86%;z-index:2;display:grid;place-items:center;transform:translate3d(var(--mx),var(--my),0);transition:transform .25s ease-out}.hero-video-wrap .hero-project-video{position:static;width:100%;height:auto;max-height:100%;object-fit:contain;background:transparent}
.section{padding:110px max(5vw,40px)}.section-head{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:60px;margin-bottom:48px}.section-head h2{font-size:clamp(35px,4vw,58px);line-height:1.04;letter-spacing:-.05em;margin:0}.section-head>p{color:var(--muted);line-height:1.8;font-size:14px;max-width:440px}.section-head.compact{display:flex;justify-content:space-between}.section-head.compact h2{font-size:clamp(34px,3.4vw,50px)}.section-head>a{font-size:12px;font-weight:800;color:var(--red)}
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.22,1,.36,1) var(--delay,0ms),transform .8s cubic-bezier(.22,1,.36,1) var(--delay,0ms)}[data-reveal].is-visible{opacity:1;transform:none}
.solution-section{background:var(--paper)}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.solution-card{min-height:310px;background:#fff;border:1px solid var(--line);padding:25px;position:relative;overflow:hidden;transition:.45s cubic-bezier(.22,1,.36,1)}.solution-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-90px;top:-90px;background:var(--glow);filter:blur(45px);opacity:.13;transition:.45s}.solution-card.red{--glow:#ec1c24}.solution-card.cyan{--glow:#00a8ff}.solution-card.gold{--glow:#ffbd2e}.solution-card:hover{transform:translateY(-9px);box-shadow:0 24px 60px rgba(20,20,24,.1);border-color:transparent}.solution-card:hover:after{opacity:.35;transform:scale(1.25)}.solution-index{font-size:10px;color:#999}.solution-icon{font-size:48px;margin:46px 0 28px}.solution-card h3{font-size:20px;margin:0 0 14px}.solution-card p{font-size:13px;color:var(--muted);line-height:1.7}.solution-card a{position:absolute;bottom:25px;font-size:11px;font-weight:800}.solution-card a b{color:var(--red);margin-left:8px}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.product-card{border:1px solid var(--line);padding:14px;background:#fff;position:relative;transition:.4s;overflow:hidden}.product-card:hover{transform:translateY(-8px);box-shadow:0 26px 55px rgba(20,20,24,.1);border-color:transparent}.product-tag{position:absolute;top:12px;left:12px;background:var(--red);color:#fff;font-size:8px;font-weight:800;padding:5px 7px;z-index:3}.product-visual{height:215px;background:#f5f5f6;position:relative;display:grid;place-items:center;perspective:700px}.device-screen{width:70%;height:54%;border:7px solid #222;background:radial-gradient(circle at 35% 35%,var(--screen),#121216 72%);position:relative;overflow:hidden;transform:rotateY(-7deg);box-shadow:14px 16px 22px rgba(0,0,0,.18)}.screen-copy{position:absolute;left:9%;bottom:9%;color:#fff;font-size:13px;font-weight:900}.screen-copy span{font-weight:400}.screen-orbit{position:absolute;width:80px;height:80px;border:1px solid rgba(255,255,255,.35);border-radius:50%;right:-12px;top:-20px;box-shadow:0 0 24px var(--screen)}.device-stand{position:absolute;width:10%;height:18%;background:linear-gradient(90deg,#222,#aaa,#222);bottom:13%;left:45%}.device-stand:after{content:"";position:absolute;width:260%;height:14%;background:#333;bottom:-8%;left:-80%}.product-visual.standee .device-screen{width:38%;height:74%;transform:rotateY(-10deg)}.product-visual.standee .device-stand{height:7%;bottom:7%}.product-visual.curved .device-screen{width:72%;border-radius:50% 50% 20% 20%/20% 20% 12% 12%;transform:rotateX(-6deg)}.product-visual.wall .device-stand{display:none}.product-visual.wall .device-screen{width:76%;height:58%}.screen-shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.22) 40%,transparent 60%);transform:translateX(-100%);transition:.8s}.product-card:hover .screen-shine{transform:translateX(100%)}.product-card h3{font-size:13px;line-height:1.5;margin:18px 0 8px;min-height:40px}.product-card>p{color:var(--red);font-size:13px;font-weight:800}.product-card button{width:100%;border:0;background:var(--red);color:#fff;padding:11px;font-size:11px;font-weight:700;cursor:pointer;display:flex;justify-content:center;gap:9px;transition:.3s}.product-card button:hover{background:#b80e15;gap:16px}
.story-section{min-height:2200px;background:#161618;color:#fff;display:grid;grid-template-columns:55% 45%;position:relative}.story-visual{height:100vh;position:sticky;top:0;display:grid;place-items:center;background:radial-gradient(circle at 45%,#3b1014,#141416 65%);overflow:hidden}.story-visual:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px}.story-screen{width:72%;aspect-ratio:16/10;border:9px solid #2a2a2e;background:linear-gradient(135deg,#d71c24,#280508);position:relative;z-index:2;overflow:hidden;box-shadow:0 40px 80px rgba(0,0,0,.55);transition:background .7s,transform .7s}.story-screen.state-1{background:linear-gradient(135deg,#4d22c9,#10102f);transform:rotateY(-4deg)}.story-screen.state-2{background:linear-gradient(135deg,#00818e,#071f26);transform:rotateY(4deg)}.story-screen:before{content:"";position:absolute;width:75%;height:140%;right:-25%;top:-35%;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 80px rgba(255,255,255,.08)}.story-ui{position:absolute;left:7%;right:7%;top:7%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;color:#ddd}.ui-logo{font-size:16px;font-weight:900}.ui-logo span{font-weight:400}.story-content{position:absolute;left:8%;bottom:14%}.story-content small{font-size:12px;font-weight:700}.story-content strong{display:block;font-size:clamp(38px,4.5vw,70px);letter-spacing:-.06em;line-height:1;margin:8px 0;font-weight:900}.story-content p{font-size:14px;max-width:320px;color:#eee;line-height:1.5}.story-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:rgba(255,255,255,.1)}.story-progress i{display:block;height:100%;background:#fff;transition:width .7s}.story-copy{padding:15vh 9%;}.story-intro{height:72vh}.story-copy h2{font-size:clamp(42px,5vw,70px);line-height:1;letter-spacing:-.055em;margin:0}.story-copy article{min-height:62vh;display:grid;grid-template-columns:60px 1fr;align-content:center;border-top:1px solid #343438;opacity:.28;transition:.5s}.story-copy article.active{opacity:1}.story-copy article>span{font-size:16px;color:var(--red);font-weight:800;padding-top:4px}.story-copy article h3{font-size:36px;margin:0 0 16px;line-height:1.2;font-weight:800;letter-spacing:-.02em}.story-copy article p{color:#d1d1d6;line-height:1.8;font-size:16px;max-width:480px}
.stats-section{display:grid;grid-template-columns:repeat(4,1fr);padding:85px max(5vw,40px);background:var(--red);color:#fff}.stats-section div{padding:10px 30px;border-left:1px solid rgba(255,255,255,.27)}.stats-section strong{font-size:clamp(38px,5vw,70px);letter-spacing:-.06em}.stats-section p{font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.partner-section{padding:60px 0;border-bottom:1px solid var(--line);text-align:center;overflow:hidden}.marquee{margin-top:35px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.marquee div{width:max-content;display:flex;align-items:center;animation:marquee 26s linear infinite}.marquee:hover div{animation-play-state:paused}.partner-logo-item{display:inline-flex;align-items:center;justify-content:center;min-width:150px;margin:0 35px;transition:.3s}.partner-logo-img{height:52px;width:auto;max-width:220px;object-fit:contain;filter:brightness(0) invert(0.7);opacity:.75;transition:all .35s ease}.partner-logo-item:hover .partner-logo-img{filter:none;opacity:1;transform:scale(1.12)}@keyframes marquee{to{transform:translateX(-50%)}}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;width:100%}.project-grid article{border:1px solid var(--line);overflow:hidden;background:#fff}.project-image{height:260px;position:relative;overflow:hidden;background:linear-gradient(135deg,#e6e6e8,#a7a7ac);clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.22,1,.36,1) var(--delay,0ms)}.project-grid article.is-visible .project-image{clip-path:inset(0)}.project-image:before,.project-image:after{content:"";position:absolute;background:#333;box-shadow:0 10px 30px rgba(0,0,0,.3)}.project-image:before{width:55%;height:60%;left:22%;top:17%;border:8px solid #29292c;background:linear-gradient(135deg,#e51d28,#51090e)}.project-image:after{width:65%;height:8%;left:17%;bottom:15%;transform:skewX(-25deg)}.project-1:before{width:38%;height:70%;left:31%;top:12%;background:linear-gradient(135deg,#5a52ff,#e31b24)}.project-2:before{width:76%;height:52%;left:12%;top:24%;background:linear-gradient(90deg,#e31b24,#5b0c12,#e31b24)}.project-image>span{position:absolute;z-index:2;color:#fff;font-weight:900;left:35%;top:42%}.project-image>span span{font-weight:400}.project-image i{position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.4) 50%,transparent 65%);transform:translateX(-100%);transition:1s}.project-grid article:hover .project-image i{transform:translateX(100%)}.project-grid article>div:last-child{padding:22px}.project-grid small{font-size:8px;color:#999;letter-spacing:.16em}.project-grid h3{font-size:17px;line-height:1.4;min-height:48px}.project-grid a{font-size:10px;font-weight:800;color:var(--red)}
.contact-section{margin:0 max(5vw,40px) 100px;padding:64px;background:#111114;color:#fff;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.contact-section:after{content:"";position:absolute;width:320px;height:320px;background:var(--red);filter:blur(100px);opacity:.2;right:-80px}.contact-section h2{font-size:clamp(34px,4vw,56px);line-height:1.05;letter-spacing:-.05em;margin:0}.magnetic-button{width:160px;height:160px;border-radius:50%;background:var(--red);display:grid;place-items:center;text-align:center;font-size:12px;font-weight:800;z-index:2;transition:.45s cubic-bezier(.22,1,.36,1);box-shadow:0 0 0 0 rgba(236,28,36,.4)}.magnetic-button span{font-size:24px}.magnetic-button:hover{transform:scale(1.07) rotate(-5deg);box-shadow:0 0 0 14px rgba(236,28,36,.12)}
@media (max-width:900px){.hero{min-height:780px;padding-top:70px;align-items:flex-start}.hero-copy{width:100%;z-index:4}.hero-device-wrap{width:85%;height:52%;right:-10%;top:44%;opacity:.82}.section-head{grid-template-columns:1fr;gap:10px}.solution-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}.story-section{display:block;min-height:auto}.story-visual{height:64vh;top:82px}.story-copy{padding:80px 7%}.story-intro{height:auto;padding-bottom:100px}.story-copy article{min-height:55vh}.stats-section{grid-template-columns:repeat(2,1fr);gap:25px}.project-grid{grid-template-columns:1fr}.contact-section{padding:45px 28px;gap:40px}.magnetic-button{width:120px;height:120px;flex:0 0 auto}}
@media (max-width:560px){.hero{padding-left:22px;padding-right:22px}.hero h1{font-size:53px;line-height:1.06;letter-spacing:-.035em}.hero-sub{font-size:13px}.hero-device-wrap{width:105%;right:-28%}.section{padding:75px 20px}.section-head.compact{align-items:flex-start;gap:22px}.product-grid{grid-template-columns:1fr 1fr}.product-visual{height:155px}.product-card{padding:9px}.product-card h3{font-size:11px}.story-visual{height:54vh}.story-screen{width:86%}.stats-section{padding:55px 20px}.stats-section div{padding:8px 15px}.stats-section strong{font-size:40px}.contact-section{margin:0 20px 70px;display:block}.magnetic-button{margin-top:35px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media (max-width:900px){.hero-video-wrap{width:85%;height:52%;right:-10%;top:44%;opacity:.82}}
@media (max-width:560px){.hero-video-wrap{width:105%;right:-28%}}

/* Scroll-driven 3D experience. */
[data-motion-demo]{--scene-red:#ff2633;--scene-gold:#f5b643;--scene-black:#090a0d;--scene-grid:rgba(255,255,255,.055)}
.hero[data-motion-hero]{min-height:max(430vh,calc(230vh + var(--hero-scene-count,4) * 72vh));padding:0;display:block;overflow:clip;background:var(--scene-black);perspective:1600px}
.hero[data-motion-hero]:after{display:none}
.hero-pin{position:sticky;top:0;height:100vh;min-height:680px;padding:clamp(60px,8vh,105px) max(5vw,40px);display:flex;align-items:center;overflow:hidden;isolation:isolate;background:radial-gradient(circle at calc(76% + var(--hero-light-x,0%)) calc(42% + var(--hero-light-y,0%)),#71121b 0,#31080d 27%,#111116 58%,#07080a 100%);perspective:1600px;transform-style:preserve-3d}
.admin-bar .hero-pin{top:32px;height:calc(100vh - 32px)}
.hero-pin:before{content:"";position:absolute;inset:-12%;z-index:0;pointer-events:none;background:radial-gradient(circle at 58% 50%,transparent 0 26%,rgba(5,6,8,.22) 48%,rgba(5,6,8,.92) 82%),linear-gradient(105deg,rgba(7,8,10,.97) 0,rgba(7,8,10,.72) 41%,transparent 68%);transform:translate3d(var(--hero-backdrop-x,0px),var(--hero-backdrop-y,0px),-80px) scale(1.12)}
.hero-pin:after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.34;background:linear-gradient(115deg,transparent 0 44%,rgba(255,255,255,.08) 48%,transparent 52%);transform:translateX(var(--hero-flare-x,-45%)) skewX(-12deg)}
.hero-grid{z-index:0;inset:-18%;background-size:72px 72px;opacity:var(--grid-opacity,.62);mask-image:radial-gradient(circle at 62% 44%,#000 0 40%,transparent 78%);transform:perspective(1000px) rotateX(64deg) translate3d(var(--grid-x,0px),var(--grid-y,-12%),-260px) scale(1.45);transform-origin:50% 70%;will-change:transform}
.hero-depth-field{position:absolute;inset:0;z-index:1;pointer-events:none;transform-style:preserve-3d;perspective:1300px}
.depth-layer{position:absolute;inset:-30%;display:block;background-image:radial-gradient(circle,rgba(255,255,255,.76) 0 1px,transparent 1.8px);transform-style:preserve-3d;will-change:transform,opacity}
.depth-layer--near{background-size:130px 130px;opacity:.2;transform:translate3d(var(--stars-near-x,0px),var(--stars-near-y,0px),180px) rotateZ(var(--stars-rotate,0deg))}
.depth-layer--mid{background-size:88px 88px;opacity:.12;transform:translate3d(var(--stars-mid-x,0px),var(--stars-mid-y,0px),0) rotateZ(var(--stars-mid-rotate,0deg))}
.depth-layer--far{background-size:54px 54px;opacity:.055;transform:translate3d(var(--stars-far-x,0px),var(--stars-far-y,0px),-260px)}
.hero-orbit{position:absolute;display:block;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 80px rgba(239,31,43,.1),inset 0 0 70px rgba(255,255,255,.025);will-change:transform}
.hero-orbit--one{width:min(64vw,960px);aspect-ratio:1;right:-14%;top:-26%;transform:translate3d(var(--orbit-one-x,0px),var(--orbit-one-y,0px),-60px) rotateX(66deg) rotateZ(var(--orbit-rotate,18deg))}
.hero-orbit--two{width:min(38vw,590px);aspect-ratio:1;right:12%;bottom:-22%;border-color:rgba(245,182,67,.14);transform:translate3d(var(--orbit-two-x,0px),var(--orbit-two-y,0px),140px) rotateX(72deg) rotateY(15deg) rotateZ(var(--orbit-two-rotate,-18deg))}
.hero-copy{width:43%;z-index:3;transform-style:preserve-3d;opacity:var(--copy-opacity,1);transform:translate3d(var(--copy-x,0px),var(--copy-y,0px),var(--copy-z,80px)) scale(var(--copy-scale,1));filter:blur(var(--copy-blur,0px));will-change:transform,opacity,filter}
.hero .eyebrow{display:inline-flex;align-items:center;gap:12px}
.hero .eyebrow:before{content:"";width:42px;height:1px;background:currentColor;box-shadow:0 0 14px currentColor}
.hero h1{font-size:clamp(58px,6.8vw,112px);line-height:1.07;letter-spacing:-.045em;text-shadow:0 10px 45px rgba(0,0,0,.24)}
.hero h1 em{display:inline-block;transform:translateZ(28px);text-shadow:0 0 44px rgba(244,181,68,.3),0 10px 34px rgba(0,0,0,.24)}
.hero-sub{max-width:570px}
.hero-actions .button{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 12px 34px rgba(0,0,0,.18)}
.hero-actions .button:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.32),transparent 70%);transform:translateX(-120%);transition:transform .65s cubic-bezier(.22,1,.36,1)}
.hero-actions .button:hover:before{transform:translateX(120%)}
.hero-video-wrap{right:1%;top:6%;width:50%;height:88%;z-index:2;display:grid;place-items:center;perspective:1500px;transform-style:preserve-3d;transform-origin:50% 43%;opacity:var(--device-opacity,1);transform:translate3d(calc(var(--device-x,10vw) + var(--pointer-x,0px)),calc(var(--device-y,2vh) + var(--pointer-y,0px)),var(--device-z,-180px)) rotateX(calc(var(--device-rx,7deg) + var(--pointer-rx,0deg))) rotateY(calc(var(--device-ry,-22deg) + var(--pointer-ry,0deg))) rotateZ(var(--device-rz,-1deg)) scale(var(--device-scale,.78));filter:blur(var(--device-blur,0px));transition:none;backface-visibility:hidden;will-change:transform,opacity,filter}
.hero-device-3d{position:relative;width:min(68%,460px);height:min(86vh,780px);display:flex;flex-direction:column;align-items:center;justify-content:center;transform-style:preserve-3d}
.hero-device-frame{position:relative;inset:auto;z-index:3;width:72%;aspect-ratio:9/16;flex:0 0 auto;padding:7px;border-radius:11px;background:linear-gradient(145deg,#56565e 0,#111216 22%,#030405 70%,#34353a 100%);box-shadow:22px 38px 78px rgba(0,0,0,.62),0 0 70px rgba(255,35,49,.14),inset 0 0 0 1px rgba(255,255,255,.22);transform:translateZ(28px);transform-style:preserve-3d}
.hero-device-glass{position:relative;width:100%;height:100%;overflow:hidden;border-radius:6px;background:#050608;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transform:translateZ(5px);backface-visibility:hidden}
.hero-video-wrap .hero-project-video{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;background:#e9e9e8;filter:saturate(.94) contrast(1.04)}
.hero-model-stage{position:absolute;inset:0;z-index:2;overflow:hidden;opacity:0;background:radial-gradient(circle at 50% 40%,#fff 0,#f4f3f1 46%,#d7d5d2 100%);transition:opacity .55s ease}
.hero-model-stage:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.7),transparent 34%,rgba(215,24,32,.05) 70%,transparent);z-index:2}
.hero-model-stage.is-model-ready{opacity:1}
.hero-model-stage.is-model-error{display:none}
.hero-model-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;contain:strict}
.hero-model-status{position:absolute;left:16px;bottom:14px;z-index:4;color:#2b2d31;font-size:7px;font-weight:800;letter-spacing:.2em;opacity:.55}
.hero-model-stage.is-model-ready .hero-model-status{opacity:0}
.hero-device-glass.has-model-3d .hero-project-video{opacity:0;visibility:hidden;transition:opacity .45s ease}
.hero-device-scanlines{z-index:3}
.hero-device-reflection{z-index:4}
.hero-device-hud{z-index:5}
.hero-device-scanlines{position:absolute;inset:0;pointer-events:none;opacity:.13;background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.3) 4px)}
.hero-device-reflection{position:absolute;inset:-30%;pointer-events:none;background:linear-gradient(112deg,transparent 28%,rgba(255,255,255,.32) 44%,rgba(255,255,255,.06) 52%,transparent 64%);transform:translateX(var(--screen-reflection,-80%));mix-blend-mode:screen}
.hero-device-hud{position:absolute;left:18px;right:18px;top:15px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:8px;font-weight:800;letter-spacing:.2em;text-shadow:0 2px 12px #000}
.hero-device-hud b{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.48);border-radius:50%;font-size:9px;background:rgba(8,9,12,.24);backdrop-filter:blur(8px)}
.hero-device-edge{position:absolute;display:block;background:linear-gradient(90deg,#08090b,#4d4e55,#090a0c);transform-style:preserve-3d}
.hero-device-edge--right{top:4%;right:-18px;width:19px;height:92%;transform-origin:left center;transform:rotateY(90deg)}
.hero-device-edge--bottom{left:5%;bottom:-18px;width:90%;height:19px;transform-origin:center top;transform:rotateX(-90deg)}
.hero-device-echo{position:absolute;inset:4% 7% 13%;z-index:1;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(135deg,rgba(255,38,51,.06),transparent 56%);transform-style:preserve-3d;will-change:transform,opacity}
.hero-device-echo--one{opacity:var(--echo-one-opacity,.38);transform:translate3d(var(--echo-one-x,52px),var(--echo-one-y,-20px),-150px) rotateY(-6deg) scale(.95)}
.hero-device-echo--two{opacity:var(--echo-two-opacity,.2);transform:translate3d(var(--echo-two-x,92px),var(--echo-two-y,-38px),-280px) rotateY(-10deg) scale(.88)}
.hero-display-post{position:relative;z-index:2;width:7%;height:10%;min-height:50px;background:linear-gradient(90deg,#111216,#777980 47%,#1a1b1f 78%);box-shadow:10px 14px 24px rgba(0,0,0,.45);transform:translateZ(10px)}
.hero-display-post i{position:absolute;left:-55%;right:-55%;bottom:-8%;height:14%;border-radius:50%;background:#222328;box-shadow:0 6px 14px rgba(0,0,0,.44)}
.hero-display-base{position:relative;z-index:3;width:52%;height:4%;min-height:22px;border-radius:50%;background:linear-gradient(180deg,#6d6f75,#1b1c20 54%,#090a0c);box-shadow:0 18px 26px rgba(0,0,0,.56);transform:translateZ(24px) rotateX(64deg);transform-origin:center top}
.hero-display-shadow{position:absolute;z-index:-1;width:78%;height:9%;bottom:1%;border-radius:50%;background:rgba(0,0,0,.72);filter:blur(18px);transform:translateZ(-80px) rotateX(72deg)}
.hero-device-floor{position:absolute;left:0;right:0;bottom:0;height:20%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,38,51,.24),rgba(0,0,0,.45) 50%,transparent 72%);filter:blur(18px);transform:translate3d(0,0,-60px) rotateX(76deg) scale(var(--floor-scale,1));opacity:var(--floor-opacity,.8)}
.hero-scene-index{position:absolute;z-index:4;right:max(8vw,105px);bottom:30px;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.54);font-size:8px;letter-spacing:.22em;opacity:var(--scene-index-opacity,1)}
.hero-scene-index span{color:var(--scene-red)}
.hero-scene-index b{font-size:10px;color:#fff}
.scroll-hint{opacity:var(--scroll-hint-opacity,1);will-change:opacity}
.hero-zoom-veil{position:absolute;inset:-16%;z-index:8;pointer-events:none;opacity:var(--hero-veil-opacity,0);background:radial-gradient(circle at 50% 48%,#b8141f 0,#5e0911 20%,#18070a 48%,#050608 76%);transform:scale(var(--hero-veil-scale,.72));filter:saturate(1.15);will-change:transform,opacity}

.device-scene-deck{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none;opacity:var(--hero-scene-deck-opacity,0);transform:translateZ(2px);transition:none;backface-visibility:hidden;will-change:opacity}
.device-scene{position:absolute;inset:0;overflow:hidden;opacity:var(--scene-opacity,0);color:#fff;transform:translate3d(0,var(--scene-shift,0),0) rotateX(var(--scene-rotate,0deg)) scale(var(--scene-scale,1));transform-origin:center 54%;transition:none;backface-visibility:hidden;will-change:transform,opacity}
.device-scene:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 76%)}
.device-scene__meta{position:absolute;z-index:3;left:5%;right:5%;top:6%;display:flex;align-items:center;justify-content:space-between;font-size:7px;font-weight:800;letter-spacing:.2em;color:rgba(255,255,255,.72)}
.device-scene__meta b{display:grid;place-items:center;min-width:48px;height:26px;padding:0 9px;border:1px solid rgba(255,255,255,.35);border-radius:99px;color:#fff;font-size:7px;background:rgba(4,5,8,.25);backdrop-filter:blur(10px)}
.device-scene__copy{position:absolute;z-index:3;left:7%;bottom:10%;width:min(57%,500px);text-shadow:0 5px 24px rgba(0,0,0,.38)}
.device-scene__copy small{display:block;margin-bottom:13px;color:rgba(255,255,255,.72);font-size:7px;font-weight:800;letter-spacing:.22em}
.device-scene__copy strong{display:block;font-size:clamp(38px,5vw,76px);font-weight:900;line-height:.83;letter-spacing:-.07em;text-transform:uppercase}
.device-scene__copy strong em{font-family:Georgia,serif;font-weight:400;text-transform:none;color:#ffd38d}
.device-scene__copy p{max-width:340px;margin:17px 0 0;color:rgba(255,255,255,.76);font-size:10px;line-height:1.65}
.device-scene--signal{background:linear-gradient(118deg,rgba(97,6,13,.94),rgba(225,24,36,.76) 52%,rgba(10,10,14,.38))}
.device-scene--network{background:radial-gradient(circle at 74% 34%,rgba(70,181,255,.52),transparent 28%),linear-gradient(125deg,rgba(9,20,55,.94),rgba(25,82,143,.78) 55%,rgba(6,11,25,.52))}
.device-scene--insight{background:radial-gradient(circle at 72% 35%,rgba(61,214,181,.48),transparent 29%),linear-gradient(125deg,rgba(5,46,54,.94),rgba(8,122,137,.74),rgba(6,15,22,.5))}
.device-scene--impact{background:radial-gradient(circle at 76% 42%,rgba(255,38,51,.62),transparent 32%),linear-gradient(125deg,rgba(9,10,14,.96),rgba(52,7,13,.82),rgba(10,10,13,.54))}
.device-scene__rings{position:absolute;right:7%;top:18%;width:38%;aspect-ratio:1;display:grid;place-items:center}
.device-scene__rings i{position:absolute;width:var(--ring-size,92%);aspect-ratio:1;border:1px solid rgba(255,255,255,.3);border-radius:50%;box-shadow:0 0 42px rgba(255,211,141,.16);animation:sceneRing 5s linear infinite}
.device-scene__rings i:nth-child(2){--ring-size:67%;animation-direction:reverse;animation-duration:3.8s}
.device-scene__rings i:nth-child(3){--ring-size:39%;border-width:7px;border-color:rgba(255,255,255,.76);box-shadow:0 0 0 13px rgba(255,255,255,.08),0 0 50px rgba(255,211,141,.32)}
@keyframes sceneRing{to{transform:rotate(360deg)}}
.device-scene__nodes{position:absolute;right:7%;top:22%;width:42%;height:54%;background:linear-gradient(90deg,transparent 49.5%,rgba(255,255,255,.2) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,rgba(255,255,255,.2) 50%,transparent 50.5%)}
.device-scene__nodes:before,.device-scene__nodes:after{content:"";position:absolute;inset:9% 17%;border:1px solid rgba(255,255,255,.28);transform:rotate(34deg)}
.device-scene__nodes:after{transform:rotate(-34deg)}
.device-scene__nodes i{position:absolute;width:13px;aspect-ratio:1;border:3px solid #fff;border-radius:50%;background:#54b8ff;box-shadow:0 0 24px #54b8ff}
.device-scene__nodes i:nth-child(1){left:47%;top:46%}.device-scene__nodes i:nth-child(2){left:14%;top:16%}.device-scene__nodes i:nth-child(3){right:8%;top:24%}.device-scene__nodes i:nth-child(4){left:21%;bottom:10%}.device-scene__nodes i:nth-child(5){right:16%;bottom:7%}
.device-scene__chart{position:absolute;right:7%;bottom:16%;width:42%;height:52%;display:flex;align-items:flex-end;gap:6%;padding:8%;border-left:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);transform:skewY(-5deg)}
.device-scene__chart i{flex:1;height:var(--bar-height);background:linear-gradient(#a8ffe8,#3dd6b5);box-shadow:0 0 22px rgba(61,214,181,.4);transform-origin:bottom;animation:sceneBars 1.8s ease-in-out infinite alternate}
.device-scene__chart i:nth-child(1){--bar-height:24%;animation-delay:-.8s}.device-scene__chart i:nth-child(2){--bar-height:43%;animation-delay:-1.3s}.device-scene__chart i:nth-child(3){--bar-height:36%;animation-delay:-.4s}.device-scene__chart i:nth-child(4){--bar-height:66%;animation-delay:-1.6s}.device-scene__chart i:nth-child(5){--bar-height:78%;animation-delay:-.9s}.device-scene__chart i:nth-child(6){--bar-height:94%;animation-delay:-1.1s}
@keyframes sceneBars{to{transform:scaleY(.76)}}
.device-scene__beam{position:absolute;right:-8%;top:10%;width:54%;height:80%;border:1px solid rgba(255,255,255,.3);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.04),0 0 0 70px rgba(255,38,51,.07),0 0 90px rgba(255,38,51,.38);animation:sceneBeam 3.6s ease-in-out infinite}
@keyframes sceneBeam{50%{transform:scale(.92);filter:brightness(1.35)}}
.device-scene--project{background:#090b0e}
.device-project-media{position:absolute;inset:-3%;background-image:linear-gradient(180deg,rgba(5,7,10,.78) 0,rgba(5,7,10,.24) 33%,transparent 52%),linear-gradient(0deg,rgba(5,7,10,.97) 0,rgba(5,7,10,.8) 34%,rgba(5,7,10,.18) 72%,rgba(5,7,10,.06) 100%),linear-gradient(90deg,rgba(5,7,10,.46),transparent 54%),var(--project-image,linear-gradient(135deg,#242832,#08090c));background-position:center;background-size:cover;filter:saturate(.84) contrast(1.05);transform:scale(var(--scene-media-scale,1.055)) translateY(-.5%);transition:none;backface-visibility:hidden;will-change:transform}
.device-scene--project.is-active .device-project-media{filter:saturate(1) contrast(1.04)}
.device-scene--project:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#090a0d 0%,#090a0d 30%,rgba(9,10,13,.74) 52%,transparent 70%),linear-gradient(115deg,rgba(255,255,255,.07),transparent 29%,transparent 72%,rgba(255,255,255,.05)),radial-gradient(circle at 77% 22%,rgba(255,38,51,.14),transparent 28%)}
.device-project-meta{position:absolute;z-index:4;left:7%;right:7%;top:5.5%;display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.72);font-size:6px;font-weight:800;letter-spacing:.16em}
.device-project-meta span{display:flex;align-items:center;gap:12px}.device-project-meta span:before{content:"";width:34px;height:1px;background:var(--scene-red);box-shadow:0 0 14px var(--scene-red)}
.device-project-meta b{padding:8px 11px;border:1px solid rgba(255,255,255,.3);border-radius:99px;color:#fff;font-size:6px;background:rgba(7,8,11,.3);backdrop-filter:blur(10px)}
.device-project-copy{position:absolute;z-index:4;left:8%;right:8%;bottom:7%;width:auto;padding:0;text-shadow:0 5px 26px rgba(0,0,0,.48)}
.device-project-copy small{display:block;margin-bottom:10px;color:#ffbd74;font-size:6px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.device-project-copy strong{display:block;max-width:none;color:#fff;font-size:clamp(23px,2.35vw,38px);font-weight:850;line-height:1.01;letter-spacing:-.045em;text-wrap:balance}
.device-project-copy p{display:-webkit-box;max-width:none;margin:11px 0 13px;overflow:hidden;color:rgba(255,255,255,.73);font-size:7px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.device-project-link{display:inline-flex;align-items:center;gap:10px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.48);color:#fff;font-size:7px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.device-project-link i{color:var(--scene-red);font-style:normal;font-size:12px}
.device-project-number{position:absolute;z-index:2;right:2%;bottom:1%;color:transparent;font-size:clamp(76px,8vw,126px);font-weight:900;line-height:.8;letter-spacing:-.08em;-webkit-text-stroke:1px rgba(255,255,255,.1);opacity:.62}
.device-project-collage{position:absolute;inset:0;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,1fr);gap:4px;background:#090a0d;overflow:hidden}
.device-project-collage:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#090a0d 0,rgba(9,10,13,.78) 42%,rgba(9,10,13,.12) 84%),linear-gradient(90deg,rgba(9,10,13,.46),transparent 70%)}
.device-project-collage i{display:block;background:linear-gradient(135deg,#343944,#111318);background-position:center;background-size:cover;filter:grayscale(.25) saturate(.82);transform:scale(1.04)}
.device-scene--portfolio .device-project-copy{width:auto}
.device-scene--portfolio .device-project-copy strong{font-size:clamp(23px,2.35vw,38px)}
.device-scene--portfolio .device-project-number{right:2%;font-size:clamp(60px,6vw,96px);bottom:2%}
.hero-device-scanlines{z-index:5}.hero-device-reflection{z-index:6}.hero-device-hud{z-index:7;opacity:var(--hero-hud-opacity,1)}

.solution-portal{position:relative;height:320vh;overflow:clip;background:#07080a;color:#fff;isolation:isolate;--portal-ring-scale:.12;--portal-ring-scale-two:.1;--portal-ring-scale-three:.08;--portal-ring-reverse:0deg;--portal-core-scale:.08;--portal-copy-opacity:0;--portal-copy-y:70px;--portal-copy-blur:8px;--portal-grid-y:0px;--portal-left-door:0px;--portal-right-door:0px;--portal-progress:0%;--portal-exit-opacity:1}
.solution-portal__pin{position:sticky;top:0;height:100vh;min-height:680px;display:grid;place-items:center;overflow:hidden;perspective:1500px;opacity:var(--portal-exit-opacity,1);background:radial-gradient(circle at 50% 50%,#3a0a10 0,#16070a 24%,#0a0b0e 62%,#050608 100%)}
.admin-bar .solution-portal__pin{top:32px;height:calc(100vh - 32px)}
.solution-portal__grid{position:absolute;inset:-18%;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle,#000 0 44%,transparent 78%);transform:perspective(1100px) rotateX(65deg) translate3d(0,var(--portal-grid-y),-230px) scale(1.5);transform-origin:center 65%;will-change:transform}
.solution-portal__stars{position:absolute;inset:-20%;transform-style:preserve-3d;pointer-events:none}.solution-portal__stars i{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.65) 0 1px,transparent 1.8px);background-size:95px 95px;opacity:.13}.solution-portal__stars i:nth-child(1){transform:translate3d(-80px,50px,160px)}.solution-portal__stars i:nth-child(2){background-size:61px 61px;opacity:.055;transform:translate3d(90px,-45px,-120px)}.solution-portal__stars i:nth-child(3){background-size:145px 145px;opacity:.08;transform:translate3d(25px,70px,40px)}
.solution-portal__rings{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;transform-style:preserve-3d}.solution-portal__rings i{position:absolute;width:min(58vw,790px);aspect-ratio:1;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 100px rgba(255,38,51,.16),inset 0 0 100px rgba(255,255,255,.025);transform:scale(var(--portal-ring-scale)) rotateZ(var(--portal-ring-rotate,0deg));will-change:transform}.solution-portal__rings i:nth-child(2){width:min(39vw,540px);border-color:rgba(255,38,51,.38);transform:scale(var(--portal-ring-scale-two)) rotateX(68deg) rotateZ(var(--portal-ring-reverse));box-shadow:0 0 80px rgba(255,38,51,.28)}.solution-portal__rings i:nth-child(3){width:min(22vw,310px);border-width:5px;border-color:rgba(255,255,255,.5);transform:scale(var(--portal-ring-scale-three));box-shadow:0 0 0 18px rgba(255,255,255,.025),0 0 90px rgba(255,38,51,.4)}
.solution-portal__core{position:absolute;width:min(36vw,510px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,110,118,.95) 0,rgba(255,38,51,.72) 18%,rgba(141,8,17,.42) 48%,transparent 72%);filter:blur(2px);mix-blend-mode:screen;transform:scale(var(--portal-core-scale));box-shadow:0 0 150px rgba(255,38,51,.48);will-change:transform}
.solution-portal__door{position:absolute;z-index:3;top:0;bottom:0;width:51%;background:linear-gradient(90deg,#050608,#5e0911);will-change:transform}.solution-portal__door--left{left:0;border-right:1px solid rgba(255,38,51,.26);transform:translateX(var(--portal-left-door))}.solution-portal__door--right{right:0;border-left:1px solid rgba(255,38,51,.26);background:linear-gradient(-90deg,#050608,#5e0911);transform:translateX(var(--portal-right-door))}
.solution-portal__copy{position:relative;z-index:5;width:min(88%,1080px);text-align:center;opacity:var(--portal-copy-opacity);transform:translate3d(0,var(--portal-copy-y),120px) scale(var(--portal-copy-scale,.94));filter:blur(var(--portal-copy-blur));will-change:transform,opacity,filter}.solution-portal__copy p{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 0 20px;color:rgba(255,255,255,.48);font-size:9px;font-weight:800;letter-spacing:.24em}.solution-portal__copy p span{color:#ff4b55}.solution-portal__copy h2{margin:0;color:#fff;font-size:clamp(52px,7.2vw,112px);line-height:.9;letter-spacing:-.065em;text-transform:uppercase;text-shadow:0 18px 70px rgba(0,0,0,.45)}.solution-portal__copy h2 em{font-family:Georgia,serif;font-weight:400;text-transform:none;color:#f5b643;text-shadow:0 0 45px rgba(245,182,67,.25)}.solution-portal__copy small{display:block;margin-top:28px;color:rgba(255,255,255,.56);font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.solution-portal__progress{position:absolute;z-index:6;left:max(4vw,32px);bottom:34px;display:flex;align-items:flex-end;gap:14px;color:rgba(255,255,255,.42);font-size:7px;font-weight:800;letter-spacing:.2em}.solution-portal__progress>span{position:relative;width:2px;height:92px;background:rgba(255,255,255,.13);overflow:hidden}.solution-portal__progress i{position:absolute;left:0;bottom:0;width:100%;height:var(--portal-progress);background:linear-gradient(#ff5963,#d71820);box-shadow:0 0 14px #ff2633}

.solution-section,.products-section,.project-section{position:relative;overflow:clip;perspective:1400px}
.solution-section:before,.products-section:before,.project-section:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;pointer-events:none;filter:blur(100px);opacity:.08}
.solution-section:before{right:-220px;top:4%;background:#ff2633;opacity:.16}
.products-section:before{left:-260px;top:12%;background:var(--scene-red)}
.project-section:before{right:-240px;bottom:0;background:var(--scene-gold)}
.solution-card,.product-card,.project-grid article{--tilt-x:0deg;--tilt-y:0deg;--card-lift:0px;--shine-x:50%;--shine-y:50%;transform-style:preserve-3d;will-change:transform}
.solution-card.is-visible,.product-card.is-visible,.project-grid article.is-visible{transform:perspective(1100px) translate3d(0,var(--card-lift),0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .16s ease-out,box-shadow .35s,border-color .35s}
.solution-card.is-visible:hover,.product-card.is-visible:hover,.project-grid article.is-visible:hover{--card-lift:-12px;box-shadow:0 34px 80px rgba(14,15,20,.17)}
.solution-card:before,.product-card:before,.project-grid article:before{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--shine-x) var(--shine-y),rgba(255,255,255,.45),transparent 34%);transition:opacity .25s}
.solution-card:hover:before,.product-card:hover:before,.project-grid article:hover:before{opacity:.44}
.solution-card>*{position:relative;z-index:2;transform:translateZ(24px)}
.solution-card .solution-icon{transform:translateZ(55px)}
.product-card .product-visual{transform:translateZ(34px);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.product-card:hover .product-visual{transform:translateZ(54px) scale(1.025)}
.product-card h3,.product-card>p,.product-card>button{position:relative;z-index:6;transform:translateZ(20px)}
.project-grid article{position:relative}
.project-grid article .project-image{transform:translateZ(36px) scale(.965);transition:clip-path 1.1s cubic-bezier(.22,1,.36,1) var(--delay,0ms),transform .45s cubic-bezier(.22,1,.36,1)}
.project-grid article:hover .project-image{transform:translateZ(58px) scale(1)}
.project-grid article>div:last-child{position:relative;z-index:4;transform:translateZ(22px)}
.project-image{display:block;color:inherit}.project-image.has-image{background:#16171b}.project-image.has-image:before,.project-image.has-image:after{display:none}.project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,1,.36,1)}.project-grid article:hover .project-image img{transform:scale(1.055)}
.project-video-badge{position:absolute;z-index:4;top:15px;right:15px;padding:7px 10px;color:#fff;background:rgba(215,24,32,.92);box-shadow:0 8px 24px rgba(110,8,14,.26);font-size:7px;letter-spacing:.16em}.project-grid article>div:last-child>p{margin:10px 0 16px;color:var(--muted);font-size:10px;line-height:1.65}.project-grid h3 a{color:inherit}.project-grid-empty{grid-column:1/-1;margin:0;padding:38px;border:1px solid var(--line);color:var(--muted);text-align:center}

.solution-section{padding-top:135px;padding-bottom:145px;background:radial-gradient(circle at 82% 18%,rgba(117,14,23,.34),transparent 32%),linear-gradient(180deg,#0b0c0f 0,#15080b 52%,#0c0d10 100%);color:#fff;border-top:1px solid rgba(255,255,255,.06)}
.solution-section .section-head>p{color:rgba(255,255,255,.58)}
.solution-section .section-head h2{text-shadow:0 12px 42px rgba(0,0,0,.36)}
.solution-section .solution-grid{gap:14px;perspective:1200px}
.solution-section .solution-card{min-height:330px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.018));border-color:rgba(255,255,255,.11);color:#fff;backdrop-filter:blur(16px);box-shadow:0 22px 70px rgba(0,0,0,.18)}
.solution-section .solution-card:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--glow),transparent);opacity:.85;box-shadow:0 0 22px var(--glow)}
.solution-section .solution-card h3{color:#fff}.solution-section .solution-card p{color:rgba(255,255,255,.55)}.solution-section .solution-card a{color:#fff}.solution-section .solution-card .solution-index{color:rgba(255,255,255,.38)}.solution-section .solution-card .solution-icon{color:var(--glow);text-shadow:0 0 28px var(--glow)}
.solution-section .solution-card:hover{border-color:rgba(255,255,255,.22);box-shadow:0 34px 90px rgba(0,0,0,.4),0 0 55px color-mix(in srgb,var(--glow) 15%,transparent)}

.project-sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:-10px 0 34px}
.project-sector-card{--tilt-x:0deg;--tilt-y:0deg;--shine-x:50%;--shine-y:50%;position:relative;min-height:148px;padding:22px;display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:start;border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f6f6f7);overflow:hidden;transform-style:preserve-3d;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .16s ease-out,border-color .35s,box-shadow .35s}
.project-sector-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--sector-accent);box-shadow:0 0 34px var(--sector-accent);transition:width .45s cubic-bezier(.22,1,.36,1),opacity .35s;opacity:.76}
.project-sector-card:after{content:"";position:absolute;width:150px;aspect-ratio:1;right:-80px;bottom:-100px;border:1px solid color-mix(in srgb,var(--sector-accent) 38%,transparent);border-radius:50%;box-shadow:0 0 0 24px color-mix(in srgb,var(--sector-accent) 5%,transparent);transition:.5s cubic-bezier(.22,1,.36,1)}
.project-sector-card:hover{border-color:transparent;box-shadow:0 24px 58px rgba(18,19,23,.12);transform:perspective(900px) translateY(-7px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}
.project-sector-card:hover:before{width:100%;opacity:.045}.project-sector-card:hover:after{transform:translate(-18px,-18px) scale(1.15)}
.project-sector-card>span{position:relative;z-index:2;color:var(--sector-accent);font-size:9px;font-weight:900;letter-spacing:.16em;transform:translateZ(24px)}
.project-sector-card>div{position:relative;z-index:2;transform:translateZ(28px)}
.project-sector-card h3{margin:0 0 10px;font-size:15px;line-height:1.35}.project-sector-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.65}
.project-sector-card>i{position:relative;z-index:2;color:var(--sector-accent);font-style:normal;font-size:16px;transform:translateZ(34px)}

.story-visual{perspective:1500px;transform-style:preserve-3d}
.story-visual:before{content:"";position:absolute;width:72%;aspect-ratio:1;border:1px solid rgba(255,255,255,.07);border-radius:50%;transform:rotateX(68deg) rotateZ(var(--story-orbit,0deg));box-shadow:0 0 90px rgba(236,28,36,.12)}
.story-display-stand{position:relative;z-index:2;width:min(46%,420px);height:min(78vh,760px);display:flex;flex-direction:column;align-items:center;justify-content:center;transform-style:preserve-3d;transform:translate3d(var(--story-x,0px),var(--story-y,0px),var(--story-z,0px)) rotateX(var(--story-rx,0deg)) rotateY(var(--story-ry,0deg)) rotateZ(var(--story-rz,0deg)) scale(var(--story-scale,1));will-change:transform;transition:transform .12s linear}
.story-device-glow{position:absolute;inset:4% -44% 12%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(236,28,36,.3),rgba(236,28,36,.08) 40%,transparent 70%);filter:blur(32px);transform:translateZ(-90px)}
.story-section .story-screen{position:relative;z-index:4;width:72%;aspect-ratio:9/16;flex:0 0 auto;border:9px solid #292a2f;border-radius:11px;background:linear-gradient(155deg,#d71c24,#280508);overflow:hidden;box-shadow:22px 38px 72px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,255,255,.18);transform:translateZ(34px) rotateX(var(--story-screen-rx,0deg)) rotateY(var(--story-screen-ry,0deg)) scale(var(--story-screen-scale,1));filter:blur(var(--story-screen-blur,0));transform-style:preserve-3d;will-change:transform,filter;transition:background .7s,box-shadow .35s,transform .12s linear,filter .12s linear}
.story-section .story-screen:before{width:145%;height:105%;right:-92%;top:-8%;border-color:rgba(255,255,255,.15);box-shadow:0 0 70px rgba(255,255,255,.06)}
.story-section .story-ui{left:9%;right:9%;top:5.5%;font-size:7px}
.story-section .ui-logo{font-size:12px}
.story-section .story-content{left:10%;right:9%;bottom:12%}
.story-section .story-content small{font-size:9px}
.story-section .story-content strong{font-size:clamp(31px,3.3vw,52px);line-height:.9;margin:11px 0 13px}
.story-section .story-content p{font-size:9px;line-height:1.55;max-width:210px}
.story-display-post{position:relative;z-index:3;width:8%;height:11%;min-height:58px;background:linear-gradient(90deg,#111216,#777980 47%,#1a1b1f 78%);box-shadow:12px 16px 28px rgba(0,0,0,.45);transform:translateZ(8px)}
.story-display-post i{position:absolute;left:-54%;right:-54%;bottom:-8%;height:14%;border-radius:50%;background:#222328;box-shadow:0 6px 14px rgba(0,0,0,.44)}
.story-display-base{position:relative;z-index:4;width:58%;height:4.5%;min-height:24px;border-radius:50%;background:linear-gradient(180deg,#6d6f75,#1b1c20 54%,#090a0c);box-shadow:0 18px 26px rgba(0,0,0,.56);transform:translateZ(22px) rotateX(64deg);transform-origin:center top}
.story-display-shadow{position:absolute;z-index:-1;width:82%;height:11%;bottom:1%;border-radius:50%;background:rgba(0,0,0,.7);filter:blur(18px);transform:translateZ(-80px) rotateX(72deg)}
.story-screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,transparent 32%,rgba(255,255,255,.18) 48%,transparent 64%);transform:translateX(var(--story-reflection,-110%));mix-blend-mode:screen}
.story-visual:after{transform:translateZ(var(--story-grid-depth,0));will-change:transform}
.story-copy{perspective:1000px;transform-style:preserve-3d}
.story-copy article{transform-origin:left center;transform:translate3d(34px,0,-80px) rotateY(-8deg);filter:blur(.7px)}
.story-copy article.active{transform:translate3d(0,0,40px) rotateY(0);filter:none}
.stats-section{position:relative;perspective:1000px;overflow:hidden}
.stats-section:before{content:"";position:absolute;inset:-80% -10%;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.18) 49%,transparent 58%);transform:translateX(var(--stats-shine,-80%));pointer-events:none}
.stats-section div{position:relative;transform:translateZ(0);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.stats-section div:hover{transform:perspective(700px) translateZ(35px) translateY(-7px)}

@media (max-width:900px){
	.hero[data-motion-hero]{min-height:360vh}
	.hero-pin{min-height:760px;padding:72px 7% 42px;align-items:flex-start}
	.hero-copy{width:100%;max-width:680px}
	.hero-video-wrap{width:76%;height:62%;right:-9%;top:36%}
	.hero h1{font-size:clamp(54px,11vw,88px);max-width:760px}
	.hero-orbit--one{width:100vw;right:-35%}
	.hero-orbit--two{width:72vw;right:-12%}
	.solution-portal{height:280vh}.solution-portal__pin{min-height:760px}.solution-portal__rings i{width:82vw}.solution-portal__rings i:nth-child(2){width:58vw}.solution-portal__rings i:nth-child(3){width:34vw}.solution-portal__copy h2{font-size:clamp(48px,10vw,82px)}
	.story-display-stand{width:min(48%,330px);height:58vh;transition:transform .28s ease-out}
	.story-section .story-screen{transition:background .7s,box-shadow .35s}
	.project-sector-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:782px){.admin-bar .hero-pin,.admin-bar .solution-portal__pin{top:46px;height:calc(100vh - 46px)}}

@media (max-width:560px){
	.hero[data-motion-hero]{min-height:300vh}
	.hero-pin{height:100svh;min-height:720px;padding:64px 22px 30px}
	.hero-copy{width:100%;z-index:4}
	.hero .eyebrow{font-size:9px;letter-spacing:.15em}
	.hero .eyebrow:before{width:24px}
	.hero h1{font-size:50px;line-height:1.15;letter-spacing:-.035em}
	.hero h1 em{transform:none}
	.hero-sub{margin:22px 0;font-size:12px;line-height:1.65;max-width:340px}
	.hero-actions{gap:8px}
	.hero-actions .button{padding:13px 14px;font-size:10px}
	.hero-video-wrap{width:100%;height:48%;right:-14%;top:49%}
	.hero-device-3d{width:min(54%,280px);height:46vh}
	.hero-device-frame{padding:6px;border-radius:9px}
	.hero-display-post{min-height:38px}.hero-display-base{min-height:17px}
	.hero-device-glass{border-radius:5px}
	.hero-device-hud{left:10px;right:10px;top:8px;font-size:6px}
	.hero-device-hud b{width:28px;height:28px;font-size:7px}
	.hero-scene-index{right:82px;bottom:18px}
	.scroll-hint{left:24px;bottom:18px;transform:none}
	.solution-portal{height:240vh}.solution-portal__pin{height:100svh;min-height:720px}.solution-portal__copy{width:90%}.solution-portal__copy p{font-size:7px;letter-spacing:.16em}.solution-portal__copy h2{font-size:43px;line-height:.94}.solution-portal__copy small{max-width:280px;margin:20px auto 0;font-size:7px;line-height:1.6}.solution-portal__progress{left:20px;bottom:22px}.solution-portal__progress>span{height:64px}.solution-portal__rings i{width:110vw}.solution-portal__rings i:nth-child(2){width:78vw}.solution-portal__rings i:nth-child(3){width:45vw}.solution-section{padding-top:95px;padding-bottom:105px}
	.device-scene__copy{left:8%;bottom:9%;width:78%}.device-scene__copy strong{font-size:35px}.device-scene__copy p{font-size:9px}.device-scene__rings,.device-scene__nodes,.device-scene__chart,.device-scene__beam{right:-16%;width:58%;opacity:.72}
	.device-project-media{inset:0;background-position:60% center}.device-project-meta{left:7%;right:7%;top:7%;font-size:5px}.device-project-meta span:before{width:18px}.device-project-meta b{padding:5px 7px}.device-project-copy,.device-scene--portfolio .device-project-copy{left:7%;right:7%;bottom:7%;width:auto;padding:0}.device-project-copy small{font-size:5px;margin-bottom:7px}.device-project-copy strong,.device-scene--portfolio .device-project-copy strong{font-size:21px;line-height:1.03}.device-project-copy p{font-size:6px;margin:8px 0 10px}.device-project-number{font-size:72px;right:2%;bottom:0}.device-project-collage{padding-left:0;opacity:.72}
	.project-sector-grid{grid-template-columns:1fr;margin-top:-4px}.project-sector-card{min-height:126px;padding:17px}.project-sector-card h3{font-size:13px}.project-sector-card p{font-size:9px}
	.story-display-stand{width:min(65%,280px);height:49vh}
	.story-section .story-screen{border-width:6px;border-radius:8px}
	.story-section .story-content strong{font-size:30px}
	.story-copy article,.story-copy article.active{transform:none;filter:none}
	.solution-card.is-visible,.product-card.is-visible,.project-grid article.is-visible{transform:none}
	.solution-card.is-visible:hover,.product-card.is-visible:hover,.project-grid article.is-visible:hover{--card-lift:0px}
}

@media (prefers-reduced-motion:reduce){
	.hero[data-motion-hero]{min-height:auto}
	.hero-pin{position:relative;height:auto;min-height:760px}
	.hero-copy,.hero-video-wrap,.hero-grid,.depth-layer,.hero-orbit,.story-display-stand{transform:none!important;filter:none!important;opacity:1!important}
	.hero-device-echo{display:none}
	.device-scene-deck{opacity:1}.device-scene{display:none}.device-scene:first-child{display:block;opacity:1;transform:none}
	.solution-portal{height:auto;--portal-ring-scale:1;--portal-ring-scale-two:.92;--portal-ring-scale-three:.78;--portal-core-scale:1;--portal-copy-opacity:1;--portal-copy-y:0px;--portal-copy-blur:0px;--portal-left-door:-54vw;--portal-right-door:54vw;--portal-progress:100%;--portal-exit-opacity:1}.solution-portal__pin{position:relative;height:auto;min-height:720px}.solution-portal__copy{transform:none;filter:none}
}

/* ==========================================================================
   ADSZONE 3D PROJECT SHOWCASE & VIDEO MODAL STYLES
   ========================================================================== */

.project-filter-bar {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 32px 0 24px;
	padding: 12px 20px;
	background: rgba(18, 20, 26, 0.65);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 40px;
	backdrop-filter: blur(16px);
}

.filter-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: rgba(255, 255, 255, 0.45);
	white-space: nowrap;
}

.filter-tabs {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.filter-tab {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.7);
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.filter-tab:hover {
	border-color: rgba(255, 38, 51, 0.5);
	color: #fff;
	background: rgba(255, 38, 51, 0.1);
}

.filter-tab.active {
	background: linear-gradient(135deg, #ff2633 0%, #d71820 100%);
	border-color: #ff2633;
	color: #fff;
	box-shadow: 0 4px 16px rgba(255, 38, 51, 0.35);
}

/* Enhanced 3D Project Cards */
.project-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 24px;
	margin-top: 24px;
}

.project-grid article {
	perspective: 1000px;
	transition: opacity 0.4s ease, transform 0.4s ease;
}

.project-card-inner {
	background: rgba(20, 22, 28, 0.8);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);

	transform: rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
	transform-style: preserve-3d;
}

.project-grid article:hover .project-card-inner {
	border-color: rgba(255, 38, 51, 0.4);
	box-shadow: 0 20px 40px rgba(255, 38, 51, 0.15), 0 0 20px rgba(56, 189, 248, 0.1);
	transform: translateY(-6px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
}

.project-image {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #12141a;
	overflow: hidden;
}

.project-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
}

.project-grid article:hover .project-image img {
	transform: scale(1.06);
}

.project-card-video-preview {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
}

.project-grid article:hover .project-card-video-preview {
	opacity: 1;
}

.project-video-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	background: rgba(255, 38, 51, 0.85);
	color: #fff;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.1em;
	padding: 4px 8px;
	border-radius: 4px;
	backdrop-filter: blur(8px);
	z-index: 2;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.project-play-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	opacity: 0;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 3;
}

.project-play-overlay span {
	width: 48px;
	height: 48px;
	background: rgba(255, 38, 51, 0.9);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	padding-left: 3px;
	box-shadow: 0 0 24px rgba(255, 38, 51, 0.6);
	transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.project-grid article:hover .project-play-overlay {
	opacity: 1;
}

.project-grid article:hover .project-play-overlay span {
	transform: scale(1.15);
}

.project-card-body {
	padding: 20px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.project-card-body small {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #38bdf8;
	margin-bottom: 6px;
	text-transform: uppercase;
}

.project-card-body h3 {
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	line-height: 1.35;
	margin: 0 0 10px;
}

.project-card-body h3 a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.project-card-body h3 a:hover {
	color: #ff2633;
}

.project-card-body p {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.6;
	margin: 0 0 18px;
	flex-grow: 1;
}

.project-card-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.link-detail {
	font-size: 12px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.7);
	text-decoration: none;
	transition: color 0.2s ease;
}

.link-detail:hover {
	color: #fff;
}

.btn-watch-video {
	background: rgba(255, 38, 51, 0.15);
	border: 1px solid rgba(255, 38, 51, 0.4);
	color: #ff2633;
	font-size: 11px;
	font-weight: 700;
	padding: 6px 12px;
	border-radius: 20px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	transition: all 0.25s ease;
}

.btn-watch-video:hover {
	background: #ff2633;
	color: #fff;
	box-shadow: 0 4px 14px rgba(255, 38, 51, 0.4);
}

.button-trigger-modal {
	background: none;
	border: none;
	cursor: pointer;
}

/* 3D Video Modal Overlay */
.project-video-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}

.project-video-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(6, 8, 12, 0.88);
	backdrop-filter: blur(20px);
}

.modal-container {
	position: relative;
	width: min(90vw, 960px);
	background: #101217;
	border: 1px solid rgba(255, 38, 51, 0.3);
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.8), 0 0 40px rgba(255, 38, 51, 0.2);
	z-index: 2;
	transform: scale(0.92) translateY(20px);
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.project-video-modal.is-open .modal-container {
	transform: scale(1) translateY(0);
}

.modal-close-btn {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 36px;
	height: 36px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #fff;
	border-radius: 50%;
	font-size: 16px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	z-index: 10;
}

.modal-close-btn:hover {
	background: #ff2633;
	border-color: #ff2633;
	transform: rotate(90deg);
}

.modal-header {
	margin-bottom: 16px;
}

.modal-tag {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.15em;
	color: #38bdf8;
	text-transform: uppercase;
}

.modal-title {
	font-size: 20px;
	font-weight: 800;
	color: #fff;
	margin: 4px 0 0;
}

.modal-video-wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.modal-video-player {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.modal-footer {
	margin-top: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.modal-specs {
	display: flex;
	gap: 20px;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
	flex-wrap: wrap;
}

.modal-specs span {
	color: rgba(255, 255, 255, 0.45);
}

.modal-cta-btn {
	padding: 10px 20px;
	font-size: 12px;
}


/* ==========================================================================
   PORTAL 3D VIDEO SHOWCASE STAGE & HERO DEVICE COPY OVERLAP FIX
   ========================================================================== */

/* Fix Hero Device Copy Overlap over 3D Standee */
.device-project-copy,
.device-scene--portfolio .device-project-copy {
	background: rgba(10, 12, 17, 0.92) !important;
	border: 1px solid rgba(255, 38, 51, 0.35) !important;
	border-radius: 14px !important;
	padding: 16px 20px !important;
	backdrop-filter: blur(16px) !important;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.85), 0 0 24px rgba(255, 38, 51, 0.18) !important;
	z-index: 10 !important;
	bottom: 5% !important;
	max-width: 90% !important;
}

.device-project-copy strong,
.device-scene--portfolio .device-project-copy strong {
	font-size: 20px !important;
	line-height: 1.25 !important;
	color: #ffffff !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8) !important;
	margin-bottom: 6px !important;
}

.device-project-copy p {
	font-size: 11px !important;
	line-height: 1.5 !important;
	color: rgba(255, 255, 255, 0.8) !important;
}

.device-project-number {
	opacity: 0.15 !important;
	pointer-events: none !important;
}

/* Chapter 02 Portal 3D Video Showcase Stage */
.portal-project-stage {
	margin-top: 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: 100%;
	max-width: 680px;
}

.portal-video-screen {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #090b0e;
	border: 1px solid rgba(255, 38, 51, 0.4);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.9), 0 0 35px rgba(255, 38, 51, 0.25), 0 0 20px rgba(56, 189, 248, 0.2);
	transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.portal-video-screen:hover {
	transform: scale(1.02);
	border-color: #ff2633;
	box-shadow: 0 25px 60px rgba(255, 38, 51, 0.35), 0 0 45px rgba(56, 189, 248, 0.3);
}

.portal-video-screen video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.portal-video-tag {
	position: absolute;
	top: 14px;
	left: 14px;
	background: rgba(10, 12, 16, 0.85);
	border: 1px solid rgba(56, 189, 248, 0.5);
	color: #38bdf8;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.12em;
	padding: 5px 10px;
	border-radius: 20px;
	backdrop-filter: blur(8px);
	z-index: 2;
}

.portal-play-btn {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	background: linear-gradient(135deg, #ff2633 0%, #d71820 100%);
	border: none;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 10px 22px;
	border-radius: 30px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	box-shadow: 0 8px 24px rgba(255, 38, 51, 0.5);
	transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	white-space: nowrap;
	z-index: 3;
}

.portal-play-btn:hover {
	transform: translateX(-50%) scale(1.06);
	box-shadow: 0 12px 30px rgba(255, 38, 51, 0.7);
}

.portal-stats-chips {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	flex-wrap: wrap;
}

.portal-stats-chips div {
	background: rgba(18, 20, 26, 0.7);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 12px;
	padding: 8px 16px;
	display: flex;
	align-items: center;
	gap: 8px;
	backdrop-filter: blur(10px);
}

.portal-stats-chips strong {
	font-size: 14px;
	font-weight: 800;
	color: #ff2633;
}

.portal-stats-chips span {
	font-size: 11px;
	color: rgba(255, 255, 255, 0.7);
}

/* Giant 3D Advertising Display Screen Background */
.portal-giant-screen-3d {
	position: absolute;
	inset: 6% 5%;
	z-index: 2;
	pointer-events: none;
	perspective: 1400px;
	opacity: var(--giant-screen-opacity, 1);
	transition: opacity 0.4s ease;
}

.portal-screen-bevel {
	position: relative;
	width: 100%;
	height: 100%;
	background: #0d0f14;
	border: 3px solid rgba(255, 38, 51, 0.45);
	border-radius: 24px;
	padding: 16px;
	box-shadow: 
		0 35px 90px rgba(0, 0, 0, 0.95),
		0 0 70px rgba(255, 38, 51, 0.3),
		inset 0 0 50px rgba(56, 189, 248, 0.25);
	transform-style: preserve-3d;
	transform: 
		perspective(1200px) 
		rotateX(var(--giant-screen-rx, 0deg)) 
		rotateY(var(--giant-screen-ry, 0deg)) 
		scale(var(--giant-screen-scale, 1));
	transition: transform 0.15s ease-out;
}

.portal-screen-surface {
	position: relative;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #101217 0%, #171a22 50%, #0c0e12 100%);
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.portal-screen-grid-matrix {
	position: absolute;
	inset: 0;
	background-image: 
		linear-gradient(rgba(255, 38, 51, 0.12) 1px, transparent 1px),
		linear-gradient(90deg, rgba(56, 189, 248, 0.12) 1px, transparent 1px);
	background-size: 32px 32px;
	background-position: center center;
	opacity: 0.65;
}

.portal-screen-shine {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		115deg,
		transparent 30%,
		rgba(255, 255, 255, 0.15) 45%,
		rgba(255, 38, 51, 0.2) 50%,
		transparent 65%
	);
	transform: translateX(var(--giant-screen-shine, -100%));
	transition: transform 0.1s linear;
}

.portal-screen-hud-overlay {
	position: absolute;
	top: 20px;
	left: 24px;
	right: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.16em;
	z-index: 2;
}

.hud-brand {
	color: #ff2633;
	text-shadow: 0 0 12px rgba(255, 38, 51, 0.6);
}

.hud-status {
	color: #38bdf8;
	background: rgba(56, 189, 248, 0.12);
	border: 1px solid rgba(56, 189, 248, 0.35);
	padding: 4px 10px;
	border-radius: 12px;
}

.portal-screen-edge {
	position: absolute;
	background: linear-gradient(90deg, #1b1e28, #0a0c10);
	border-radius: 4px;
}

.portal-screen-edge--right {
	right: -14px;
	top: 10px;
	bottom: 10px;
	width: 14px;
	transform: rotateY(90deg);
	transform-origin: left center;
}

.portal-screen-edge--bottom {
	bottom: -14px;
	left: 10px;
	right: 10px;
	height: 14px;
	transform: rotateX(-90deg);
	transform-origin: center top;
}

/* --- REMOVE SPHERE BALL / ORB IMAGE --- */
.solution-portal__core,
.solution-portal__rings {
	display: none !important;
}

/* --- ANTI-FLICKERING / FIX DOUBLE LAYER CLASH IN HERO 3D GLASS --- */
.hero-device-glass.has-model-3d .hero-project-video,
.hero-device-glass.has-model-3d .device-scene-video {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.hero-model-stage.is-model-rendered + .hero-project-video {
	display: none !important;
}


