@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#000;--white:#fff;--blue:#2f80ff;--hero-height:420vh;--mouse-x:50vw;--mouse-y:50vh;--cursor-opacity:.38}
html,body{width:100%;min-height:100%;background:#000;color:var(--white);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
body::before{content:"";position:fixed;z-index:9999;left:0;top:0;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(47,128,255,.24),rgba(47,128,255,.095) 34%,transparent 66%);transform:translate(calc(var(--mouse-x) - 50%),calc(var(--mouse-y) - 50%));opacity:var(--cursor-opacity);pointer-events:none;mix-blend-mode:screen;transition:opacity .35s ease}
body::after{content:"";position:fixed;z-index:0;inset:0;background:radial-gradient(circle at calc(var(--mouse-x) * .08 + 18%) calc(var(--mouse-y) * .06 + 22%),rgba(47,128,255,.11),transparent 22%),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,118px 118px,118px 118px;opacity:.28;pointer-events:none;mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 86%,transparent 100%)}
a{color:inherit;text-decoration:none}
button{font:inherit}

.hero-scroll{position:relative;height:var(--hero-height);background:#000}
.hero-sticky{position:fixed;inset:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#000}
.logo-bg{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:#000;transform-origin:center center;will-change:transform,opacity,filter}
.logo-bg img{width:min(72vw,1120px);height:auto;display:block;object-fit:contain;filter:none}
.logo-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.72) 18%,transparent 38%,transparent 64%,rgba(0,0,0,.72) 88%,#000 100%);pointer-events:none}
.scene-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.18));opacity:.2;pointer-events:none;will-change:opacity}
.tech-line{position:absolute;z-index:7;left:-11vw;right:-11vw;bottom:8vh;height:32vh;min-height:220px;pointer-events:none;will-change:opacity,transform}
.tech-line svg{width:100%;height:100%;overflow:visible}
.tech-line path{fill:none;vector-effect:non-scaling-stroke}
.curve-base{stroke:#eaeaea;stroke-opacity:.48;stroke-width:1}
.curve-light{stroke:var(--blue);stroke-width:1.45;stroke-linecap:round;stroke-opacity:.76;stroke-dasharray:118 1820;stroke-dashoffset:0;filter:url(#soft-blue-glow);animation:lineTravel 10s ease-in-out infinite}
@keyframes lineTravel{0%{stroke-dashoffset:260}50%{stroke-dashoffset:-860}100%{stroke-dashoffset:-1940}}

.topbar{position:absolute;z-index:35;top:30px;left:5vw;right:5vw;display:flex;align-items:center;justify-content:space-between;opacity:0;will-change:opacity,transform}
.brand{display:inline-flex;align-items:center}
.brand img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(47,128,255,.24))}
.topbar nav{display:flex;gap:44px;font-size:13px;color:rgba(255,255,255,.66)}
.nav-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:16px;padding:13px 24px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.04);backdrop-filter:blur(18px);font-size:13px;transition:transform .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease}
.nav-cta::before{content:"";position:absolute;inset:-1px;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.12) 38%,rgba(47,128,255,.22) 50%,transparent 62%);transform:translateX(-120%);transition:transform .7s ease}
.nav-cta:hover{transform:translateY(-2px) scale(1.015);border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.075);box-shadow:0 16px 60px rgba(47,128,255,.16)}
.nav-cta:hover::before{transform:translateX(120%)}
.nav-cta span{width:7px;height:7px;background:#fff;border-radius:50%;box-shadow:0 0 16px var(--blue)}

.scroll-indicator{position:absolute;z-index:35;left:50%;bottom:8vh;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;color:rgba(255,255,255,.78);text-transform:uppercase;letter-spacing:3px;font-size:10px;will-change:opacity,transform}
.scroll-indicator strong{font-size:22px;font-weight:400;letter-spacing:0}
.scroll-indicator i{display:block;width:1px;height:38px;background:rgba(255,255,255,.55)}

.phone-stage{position:relative;z-index:20;width:100%;padding:0 5vw;display:flex;align-items:center;justify-content:center;gap:4vw;pointer-events:none;opacity:1;will-change:opacity,transform}
.device-wrapper{position:relative;z-index:20;opacity:0;transform:scale(2.5) translateY(90px);transform-origin:center center;filter:drop-shadow(0 55px 125px rgba(0,0,0,.88));will-change:opacity,transform}
.phone-copy{width:380px;max-width:30vw;opacity:0;transform:translateY(24px);text-shadow:0 18px 52px rgba(0,0,0,.9);will-change:opacity,transform}
.phone-copy.left{text-align:right}
.phone-copy.right{text-align:left}
.phone-copy span{display:block;margin-bottom:18px;color:#6aa8ff;letter-spacing:5px;font-size:10px;font-weight:850}
.phone-copy h2{font-size:clamp(28px,2.45vw,42px);line-height:1.02;letter-spacing:-.065em;font-weight:780}
.phone-copy p{margin-top:16px;color:rgba(255,255,255,.62);font-size:14px;line-height:1.65}

.iphone,.iphone *{box-sizing:border-box}
.iphone{position:relative;width:428px;height:868px}
.iphone-frame{position:relative;z-index:2;width:428px;height:868px;padding:19px;border-radius:68px;background:#050507;border:1px solid rgba(255,255,255,.26);box-shadow:inset 0 0 4px 2px rgba(255,255,255,.28),inset 0 0 0 6px #252631}
.iphone-screen{position:relative;width:390px;height:830px;overflow:hidden;border-radius:49px;background:#02040a}
.dynamic-island{position:absolute;z-index:9;top:29px;left:50%;width:120px;height:35px;margin-left:-60px;border-radius:20px;background:#050507}
.sensor::before{content:"";position:absolute;z-index:10;top:42px;left:50%;width:9px;height:9px;margin-left:36px;border-radius:50%;background:radial-gradient(farthest-corner at 20% 20%,#6074bf 0,transparent 40%),radial-gradient(farthest-corner at 80% 80%,#513785 0,#24555e 20%,transparent 50%)}
.side-buttons{position:absolute;top:115px;left:-2px;width:3px;height:32px;border-radius:2px;background:#252631}
.side-buttons::before,.side-buttons::after{content:"";position:absolute;left:0;width:3px;height:62px;border-radius:2px;background:#252631}
.side-buttons::before{top:60px}
.side-buttons::after{top:140px}
.power-button{position:absolute;top:200px;right:-2px;width:3px;height:100px;border-radius:2px;background:#252631}
.screen-logo{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#02040a;transform-origin:center center;will-change:opacity,transform}
.screen-logo img{width:132px;height:132px;object-fit:contain;border-radius:28px;background:transparent;box-shadow:none;filter:drop-shadow(0 24px 54px rgba(47,128,255,.34))}
.screen-chat{position:absolute;inset:0;z-index:1;opacity:0;transform:translateY(26px);display:flex;flex-direction:column;padding:20px;color:white;background:linear-gradient(180deg,#071124 0%,#02040a 52%,#02040a 100%);will-change:opacity,transform}
.chat-top{display:flex;align-items:flex-start;justify-content:space-between;padding-top:48px}
.chat-top strong{display:block;font-size:15px;font-weight:850;letter-spacing:.2px;color:#fff}
.chat-top span{display:block;margin-top:5px;color:rgba(255,255,255,.48);font-size:11px}
.chat-top small{color:#5dff9b;font-size:11px}
.chat-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px}
.lead-label{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.lead-label i{width:36px;height:36px;border-radius:50%;border:1px solid rgba(106,168,255,.36);background:radial-gradient(circle at 50% 50%,rgba(47,128,255,.22),rgba(47,128,255,.08))}
.lead-label strong{display:block;font-size:15px}
.lead-label span{color:rgba(255,255,255,.44);font-size:12px}
.bubble{max-width:84%;padding:14px 16px;font-size:13px;line-height:1.48}
.bubble.user{margin-left:auto;border-radius:18px 18px 4px 18px;background:rgba(255,255,255,.09);color:rgba(255,255,255,.9)}
.bubble.user.second{margin-top:2px}
.bubble.raeh{border-radius:18px 18px 18px 4px;background:linear-gradient(135deg,#2f80ff,#2447c8);color:white}
.chat-input{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 14px 18px;border-radius:999px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.42);font-size:12px}
.chat-input button{width:36px;height:36px;border-radius:50%;border:0;background:#245dff;color:white}

.services-section{position:relative;min-height:100vh;padding:92px 0 108px;background:radial-gradient(circle at 70% 0%,rgba(255,255,255,.08),transparent 28%),linear-gradient(180deg,#050505 0%,#000 46%,#050505 100%);overflow:hidden}
.services-section::after{content:"";position:absolute;left:0;right:0;bottom:0;height:220px;background:linear-gradient(180deg,transparent,#000 72%);pointer-events:none}
.services-shell{position:relative;z-index:1;width:min(1500px,calc(100vw - 96px));margin:0 auto}
.services-intro{display:grid;grid-template-columns:300px 1fr;align-items:start;margin-bottom:54px}
.services-eyebrow{display:inline-flex;align-items:center;color:#fff;font-size:16px;font-weight:650}
.services-intro h2{font-size:clamp(84px,10.5vw,178px);line-height:.78;letter-spacing:-.085em;font-weight:850}
.services-list{display:grid;gap:0}
.service-item{position:relative;border-bottom:1px solid rgba(255,255,255,.11)}
.service-trigger{width:100%;min-height:86px;display:grid;grid-template-columns:1fr 58px;align-items:center;gap:36px;padding-left:300px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}
.service-title{font-size:23px;font-weight:650;letter-spacing:-.035em;transition:transform .35s cubic-bezier(.2,.8,.2,1),color .35s ease}
.service-toggle{position:relative;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.22);justify-self:end;transition:border-color .35s ease,background .35s ease,transform .35s ease}
.service-toggle::before,.service-toggle::after{content:"";position:absolute;left:50%;top:50%;width:17px;height:2px;background:#fff;transform:translate(-50%,-50%);border-radius:999px}
.service-toggle::after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .25s ease}
.service-item.active .service-toggle::after{opacity:0}
.service-item.active .service-toggle,.service-trigger:hover .service-toggle{border-color:rgba(255,255,255,.36);background:rgba(255,255,255,.04);transform:scale(1.04)}
.service-trigger:hover .service-title{transform:translateX(6px)}
.service-panel{display:grid;grid-template-columns:84px minmax(360px,1fr) minmax(320px,.9fr);gap:44px;align-items:start;max-height:0;overflow:hidden;opacity:0;transform:translateY(-8px);transition:max-height .55s cubic-bezier(.2,.8,.2,1),opacity .35s ease,transform .55s cubic-bezier(.2,.8,.2,1),padding .55s cubic-bezier(.2,.8,.2,1);padding:0 0 0 300px}
.service-item.active .service-panel{max-height:340px;opacity:1;transform:translateY(0);padding:24px 0 64px 300px}
.service-icon{width:76px;height:76px;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 24px 60px rgba(0,0,0,.45);position:relative;overflow:hidden}
.service-icon::before{content:"";position:absolute;inset:16px;border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.08));clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%)}
.service-icon::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 70%,rgba(47,128,255,.35),transparent 34%)}
.service-icon-b::before{clip-path:polygon(10% 20%,80% 20%,92% 40%,56% 40%,86% 82%,30% 82%,12% 62%,48% 62%)}
.service-icon-c::before{clip-path:polygon(52% 0,100% 52%,68% 52%,68% 100%,32% 100%,32% 52%,0 52%)}
.service-icon-d::before{clip-path:polygon(18% 18%,76% 18%,76% 0,100% 50%,76% 100%,76% 82%,18% 82%)}
.service-icon-e::before{clip-path:polygon(50% 0,88% 70%,62% 70%,62% 100%,38% 100%,38% 70%,12% 70%)}
.service-icon-f::before{clip-path:polygon(0 50%,35% 14%,50% 30%,30% 50%,50% 70%,35% 86%)}
.service-panel h3{max-width:460px;font-size:clamp(28px,3vw,44px);line-height:1.06;letter-spacing:-.055em;font-weight:720}
.service-panel p{max-width:560px;margin-top:22px;color:rgba(255,255,255,.58);font-size:17px;line-height:1.55}
.service-panel aside span{display:block;margin-bottom:18px;color:rgba(255,255,255,.48);font-size:12px}
.service-tags{display:flex;flex-wrap:wrap;gap:10px}
.service-tags b{display:inline-flex;align-items:center;min-height:31px;padding:0 15px;border-radius:999px;background:#fff;color:#060606;font-size:12px;font-weight:800}
.services-cta{position:relative;overflow:hidden;display:inline-flex;margin-top:80px;padding:22px 32px;border-radius:999px;background:#fff;color:#111;font-size:18px;font-weight:800;box-shadow:0 22px 70px rgba(255,255,255,.08);transition:transform .35s ease,box-shadow .35s ease}
.services-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(47,128,255,.2),transparent);transform:translateX(-120%);transition:transform .75s ease}
.services-cta:hover{transform:translateY(-3px) scale(1.012);box-shadow:0 28px 90px rgba(47,128,255,.18)}
.services-cta:hover::before{transform:translateX(120%)}

.portfolio-section{position:relative;padding:104px 0 78px;background:#000;overflow:hidden}
.portfolio-head{width:min(1500px,calc(100vw - 96px));margin:0 auto 42px}
.portfolio-head span{display:block;margin-bottom:16px;color:rgba(255,255,255,.64);font-size:15px;font-weight:700;letter-spacing:3px;text-transform:uppercase}
.portfolio-head h2{font-size:clamp(56px,7.5vw,128px);line-height:.88;letter-spacing:-.08em;font-weight:820}
.portfolio-track{display:flex;gap:22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-left:max(48px,calc((100vw - 1500px) / 2));padding:0 max(48px,calc((100vw - 1500px) / 2)) 22px;-webkit-overflow-scrolling:touch;cursor:grab}
.portfolio-track:active{cursor:grabbing}
.portfolio-track::-webkit-scrollbar{height:0}
.portfolio-slide{position:relative;flex:0 0 min(82vw,1420px);height:min(76vh,820px);min-height:620px;overflow:hidden;background:#000;border-radius:18px;scroll-snap-align:start;border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 130px rgba(0,0,0,.62)}
.portfolio-image{position:absolute;inset:0;background:#111;transform:scale(1.02);will-change:transform,filter}
.portfolio-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;opacity:.92;filter:saturate(.92) contrast(1.04)}
.portfolio-slide-c .portfolio-image img{object-position:center 34%}
.portfolio-image::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 28%),radial-gradient(circle at 72% 32%,rgba(47,128,255,.22),transparent 18%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}
.portfolio-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.04) 42%,rgba(0,0,0,.28) 100%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.38));pointer-events:none}
.portfolio-slide-a .portfolio-image{background:linear-gradient(120deg,#191919,#070707 55%,#121821)}
.portfolio-slide-b .portfolio-image{background:linear-gradient(120deg,#08111f,#030509 52%,#171717)}
.portfolio-slide-c .portfolio-image{background:linear-gradient(120deg,#1f1708,#080603 48%,#111)}
.portfolio-slide-d .portfolio-image{background:linear-gradient(120deg,#101014,#040405 54%,#0a1424)}
.portfolio-slide-e .portfolio-image{background:linear-gradient(120deg,#050505,#101010 45%,#061426)}
.portfolio-slide-f .portfolio-image{background:linear-gradient(120deg,#101014,#040405 54%,#0a1424)}
.portfolio-slide:nth-child(odd) .portfolio-image::before{background:linear-gradient(135deg,rgba(255,255,255,.09),transparent 24%),radial-gradient(circle at 28% 68%,rgba(47,128,255,.2),transparent 18%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.portfolio-content{position:absolute;right:5.4vw;bottom:6.4vh;width:min(470px,38vw);padding:28px 30px 30px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(135deg,rgba(0,0,0,.72),rgba(0,0,0,.42));box-shadow:0 24px 90px rgba(0,0,0,.56);backdrop-filter:blur(18px);text-align:left;text-shadow:0 18px 58px rgba(0,0,0,.75);z-index:2}
.portfolio-content span{display:block;margin-bottom:14px;color:rgba(255,255,255,.58);font-size:11px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase}
.portfolio-content h2{font-size:clamp(34px,3.8vw,58px);line-height:.98;letter-spacing:-.06em;font-weight:720;color:#fff}
.portfolio-content p{max-width:390px;margin:16px 0 24px;color:rgba(255,255,255,.72);font-size:15px;line-height:1.52}
.portfolio-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 30px;border-radius:999px;background:#2f80ff;color:#fff;font-size:15px;font-weight:800;box-shadow:0 22px 70px rgba(47,128,255,.26);transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.portfolio-button::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.28),transparent);transform:translateX(-120%);transition:transform .75s ease}
.portfolio-button:hover{transform:translateY(-3px) scale(1.015);background:#337fff;box-shadow:0 30px 95px rgba(47,128,255,.34)}
.portfolio-button:hover::before{transform:translateX(120%)}
.portfolio-arrows{position:absolute;z-index:5;left:0;right:0;top:55%;pointer-events:none}
.portfolio-arrow{position:absolute;width:42px;height:42px;border:0;background:transparent;color:rgba(255,255,255,.78);font-size:36px;font-weight:260;line-height:1;cursor:pointer;text-shadow:0 10px 34px rgba(0,0,0,.9);pointer-events:auto;transition:transform .3s ease,color .3s ease,opacity .3s ease}
.portfolio-arrow:first-child{left:calc(max(48px,calc((100vw - 1500px) / 2)) + 22px)}
.portfolio-arrow:last-child{left:calc(max(48px,calc((100vw - 1500px) / 2)) + min(82vw,1420px) - 64px)}
.portfolio-arrow:hover{transform:scale(1.08);color:#fff}
.portfolio-arrow:disabled{opacity:.28;cursor:default;transform:none}
.portfolio-more{width:min(1500px,calc(100vw - 96px));margin:22px auto 0;display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.58)}
.portfolio-more span{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.portfolio-more div{display:flex;gap:9px}
.portfolio-more i{display:block;width:38px;height:3px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}
.portfolio-more i.active{background:#fff;box-shadow:0 0 24px rgba(47,128,255,.45)}

.vision-section{position:relative;background:#000;padding:104px 0 92px;overflow:hidden}
.vision-section::before{content:"";position:absolute;inset:-16% -10% auto;height:640px;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.022) 1px,transparent 1px),radial-gradient(circle at 72% 10%,rgba(47,128,255,.18),transparent 28%),radial-gradient(circle at 20% 44%,rgba(255,255,255,.07),transparent 24%);background-size:110px 110px,110px 110px,100% 100%,100% 100%;filter:none;opacity:.65;animation:circuitDrift 22s linear infinite;pointer-events:none;mask-image:radial-gradient(circle at 52% 32%,#000 0,transparent 74%)}
.vision-shell{position:relative;z-index:1;width:min(1500px,calc(100vw - 96px));margin:0 auto}
.vision-kicker{margin-bottom:48px;color:rgba(255,255,255,.7);font-size:13px;font-weight:750;letter-spacing:3px;text-transform:uppercase}
.vision-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(340px,.46fr);gap:9vw;align-items:end}
.vision-statement h2{max-width:860px;font-size:clamp(46px,5.7vw,92px);line-height:.96;letter-spacing:-.068em;font-weight:760}
.vision-copy p{max-width:440px;color:rgba(255,255,255,.62);font-size:17px;line-height:1.62}
.vision-pillars{margin-top:82px;border-top:1px solid rgba(255,255,255,.14)}
.vision-pillar{position:relative;display:grid;grid-template-columns:96px 1fr;align-items:center;min-height:94px;border-bottom:1px solid rgba(255,255,255,.14);overflow:hidden}
.vision-pillar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(47,128,255,.18),transparent);transition:width .7s cubic-bezier(.2,.8,.2,1)}
.vision-pillar:hover::before{width:100%}
.vision-pillar span{position:relative;color:rgba(255,255,255,.38);font-size:13px;font-weight:800;letter-spacing:2px}
.vision-pillar strong{position:relative;font-size:clamp(34px,4.2vw,68px);line-height:.92;letter-spacing:-.06em;font-weight:700;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.vision-pillar:hover strong{transform:translateX(18px)}
.vision-execution{margin-top:54px;text-align:right;color:rgba(255,255,255,.16);font-size:clamp(42px,8vw,132px);line-height:.8;letter-spacing:-.085em;font-weight:850}

.process-section{position:relative;background:linear-gradient(180deg,#000,#050505 52%,#000);padding:92px 0 110px;overflow:hidden}
.process-section::before{content:"";position:absolute;inset:-10% -6%;background:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 24% 34%,rgba(47,128,255,.3),transparent 20%),radial-gradient(circle at 78% 70%,rgba(255,255,255,.11),transparent 18%);background-size:86px 86px,86px 86px,100% 100%,100% 100%;mask-image:radial-gradient(circle at 50% 48%,#000 0%,transparent 76%);opacity:.72;animation:circuitDrift 18s linear infinite;pointer-events:none}
.process-section::after{content:"";position:absolute;left:50%;top:16%;width:1px;height:68%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.14),rgba(47,128,255,.46),rgba(255,255,255,.12),transparent);opacity:.82;box-shadow:0 0 32px rgba(47,128,255,.22)}
.process-shell{position:relative;z-index:1;width:min(1500px,calc(100vw - 96px));margin:0 auto;display:grid;grid-template-columns:minmax(380px,.82fr) minmax(560px,1fr);gap:82px;align-items:start}
.process-head{position:sticky;top:96px;display:block;margin:0}
.process-head span{display:block;margin-bottom:22px;color:rgba(255,255,255,.62);font-size:13px;font-weight:750;letter-spacing:3px;text-transform:uppercase}
.process-head h2{max-width:560px;font-size:clamp(44px,4.9vw,82px);line-height:.96;letter-spacing:-.07em;font-weight:760}
.process-flow{position:relative;display:grid;grid-template-columns:1fr;gap:0;width:100%;margin:0;padding-top:22px}
.process-flow::before{content:"";position:absolute;left:47px;top:26px;bottom:28px;width:1px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(47,128,255,.5),rgba(255,255,255,.1));opacity:.7}
.process-step{position:relative;display:grid;grid-template-columns:96px 1fr;align-items:start;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.13);overflow:hidden}
.process-step::after{content:"";position:absolute;left:96px;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,rgba(47,128,255,.85),transparent);transform:scaleX(0);transform-origin:left;transition:transform .75s cubic-bezier(.2,.8,.2,1)}
.process-step:hover::after{transform:scaleX(1)}
.process-step span{color:rgba(255,255,255,.38);font-size:14px;font-weight:800;letter-spacing:2px}
.process-step strong{display:block;font-size:clamp(30px,3.9vw,58px);line-height:.94;letter-spacing:-.06em;font-weight:680;transition:transform .5s cubic-bezier(.2,.8,.2,1),color .5s ease}
.process-step p{max-width:470px;margin-top:12px;color:rgba(255,255,255,.5);font-size:14px;line-height:1.55}
.process-step:hover strong{transform:translateX(12px);color:#fff}
.process-flow i{display:block;width:1px;height:24px;margin:0 0 0 48px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(47,128,255,.68));position:relative}
.process-flow i::after{content:"";position:absolute;left:50%;bottom:-2px;width:9px;height:9px;border-right:1px solid rgba(255,255,255,.72);border-bottom:1px solid rgba(255,255,255,.72);transform:translateX(-50%) rotate(45deg)}
@keyframes circuitDrift{0%{background-position:0 0,0 0,0 0,0 0}100%{background-position:96px 0,0 96px,0 0,0 0}}

.testimonials-section{position:relative;background:#000;padding:104px 0 96px;overflow:hidden}
.testimonials-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 26%,rgba(47,128,255,.14),transparent 24%),linear-gradient(180deg,transparent,rgba(255,255,255,.035),transparent);opacity:.72;pointer-events:none}
.testimonials-shell{position:relative;z-index:1;width:min(1500px,calc(100vw - 96px));margin:0 auto}
.testimonials-head{display:grid;grid-template-columns:300px minmax(0,760px);gap:6vw;align-items:start;margin-bottom:76px}
.testimonials-head span{color:rgba(255,255,255,.62);font-size:13px;font-weight:800;letter-spacing:3px;text-transform:uppercase}
.testimonials-head h2{font-size:clamp(42px,4.8vw,82px);line-height:.96;letter-spacing:-.07em;font-weight:760}
.testimonial-stage{display:grid;grid-template-columns:1.18fr .82fr;gap:0;border-top:1px solid rgba(255,255,255,.14)}
.testimonial-quote{position:relative;min-height:340px;padding:48px 52px 44px;border-bottom:1px solid rgba(255,255,255,.14);overflow:hidden}
.testimonial-quote:nth-child(1){grid-row:span 2;border-right:1px solid rgba(255,255,255,.14)}
.testimonial-quote:nth-child(2){border-right:0}
.testimonial-quote::before{content:"“";position:absolute;right:34px;top:8px;color:rgba(255,255,255,.07);font-size:190px;font-weight:800;line-height:1;letter-spacing:-.1em}
.testimonial-quote > span{display:block;margin-bottom:34px;color:rgba(255,255,255,.34);font-size:13px;font-weight:850;letter-spacing:2px}
.testimonial-quote blockquote{position:relative;max-width:820px;color:rgba(255,255,255,.9);font-size:clamp(25px,2.7vw,46px);line-height:1.12;letter-spacing:-.055em;font-weight:650}
.testimonial-quote:nth-child(n+2) blockquote{font-size:clamp(22px,1.9vw,32px);line-height:1.22}
.testimonial-quote footer{position:relative;margin-top:44px;display:flex;flex-direction:column;gap:6px}
.testimonial-quote footer strong{font-size:15px}
.testimonial-quote footer small{color:rgba(255,255,255,.48);font-size:13px}
.testimonial-quote:hover{background:linear-gradient(135deg,rgba(47,128,255,.08),transparent 54%)}

.about-section{position:relative;background:#000;padding:92px 0 104px;overflow:hidden}
.about-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 50%,rgba(47,128,255,.16),transparent 26%),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:100% 100%,120px 120px;opacity:.52;mask-image:radial-gradient(circle at 54% 50%,#000 0,transparent 72%);pointer-events:none}
.about-shell{position:relative;z-index:1;width:min(1500px,calc(100vw - 96px));margin:0 auto;display:grid;grid-template-columns:minmax(340px,.86fr) minmax(500px,.9fr);gap:9vw;align-items:center}
.about-mark{color:rgba(255,255,255,.12);font-size:clamp(82px,13vw,220px);line-height:.75;letter-spacing:-.1em;font-weight:870}
.about-content span{display:block;margin-bottom:24px;color:rgba(255,255,255,.62);font-size:13px;font-weight:800;letter-spacing:3px;text-transform:uppercase}
.about-content h2{max-width:720px;font-size:clamp(42px,4.8vw,82px);line-height:.96;letter-spacing:-.07em;font-weight:760}
.about-content p{max-width:650px;margin-top:24px;color:rgba(255,255,255,.62);font-size:18px;line-height:1.62}

.beam-cta-section{position:relative;min-height:86vh;background:#000;display:grid;place-items:center;padding:110px 0;overflow:hidden}
.beam-cta-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 52%,rgba(47,128,255,.13),transparent 32%),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:100% 100%,96px 96px,96px 96px;opacity:.55;animation:circuitDrift 20s linear infinite;mask-image:radial-gradient(circle at 50% 50%,#000 0,transparent 76%);pointer-events:none}
.beam-cta-section::after{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;background:linear-gradient(180deg,transparent,#000);pointer-events:none}
.beam-cta-bg{position:absolute;inset:0;display:grid;place-items:center;opacity:.86;pointer-events:none}
.beam-map{width:min(980px,92vw);height:auto;overflow:visible;filter:drop-shadow(0 0 48px rgba(47,128,255,.14))}
.beam-base{stroke:rgba(255,255,255,.14);stroke-width:1;fill:none}
.beam-active{stroke:url(#beamGradientA);stroke-width:2.2;stroke-linecap:round;fill:none;stroke-dasharray:160 940;filter:url(#beamGlow);animation:beamTravel 5.8s cubic-bezier(.55,.08,.18,.95) infinite}
.beam-b{stroke:url(#beamGradientB);animation-duration:7.4s;animation-delay:-1.5s}
.beam-c{animation-duration:6.8s;animation-delay:-3s}
.beam-node{fill:#050505;stroke:rgba(255,255,255,.28);stroke-width:1.2;filter:drop-shadow(0 0 14px rgba(47,128,255,.45));animation:nodePulse 3.8s ease-in-out infinite}
.beam-node:nth-of-type(2n){animation-delay:.8s}
.beam-node:nth-of-type(3n){animation-delay:1.4s}
.beam-cta-content{position:relative;z-index:2;width:min(780px,calc(100vw - 48px));margin:0 auto;text-align:center;text-shadow:0 28px 88px rgba(0,0,0,.94)}
.beam-cta-content span{display:block;margin-bottom:18px;color:rgba(255,255,255,.68);font-size:13px;font-weight:800;letter-spacing:3px;text-transform:uppercase}
.beam-cta-content h2{font-size:clamp(42px,6vw,96px);line-height:.94;letter-spacing:-.074em;font-weight:780}
.beam-cta-content p{width:min(560px,100%);margin:24px auto 34px;color:rgba(255,255,255,.62);font-size:17px;line-height:1.62}
.beam-cta-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding:0 32px;border-radius:999px;background:#fff;color:#060606;font-size:15px;font-weight:850;box-shadow:0 26px 90px rgba(255,255,255,.1),0 0 60px rgba(47,128,255,.18);transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.beam-cta-button::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(47,128,255,.2),transparent);transform:translateX(-120%);transition:transform .75s ease}
.beam-cta-button:hover{transform:translateY(-3px) scale(1.014);background:#f7f7f7;box-shadow:0 34px 110px rgba(47,128,255,.24)}
.beam-cta-button:hover::before{transform:translateX(120%)}
@keyframes beamTravel{0%{stroke-dashoffset:980;opacity:0}12%{opacity:1}50%{opacity:1}100%{stroke-dashoffset:-980;opacity:0}}
@keyframes nodePulse{0%,100%{stroke:rgba(255,255,255,.24);filter:drop-shadow(0 0 8px rgba(47,128,255,.24))}50%{stroke:rgba(47,128,255,.72);filter:drop-shadow(0 0 22px rgba(47,128,255,.68))}}
.site-footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1500px,calc(100vw - 96px));margin:0 auto;padding:34px 0 46px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.48);font-size:13px}
.footer-brand{display:inline-flex}
.footer-brand img{width:34px;height:34px;object-fit:contain}
.site-footer a{transition:color .3s ease}
.site-footer a:hover{color:#fff}
.whatsapp-float{position:fixed;right:26px;bottom:26px;z-index:80;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 16px 0 18px;border-radius:999px;background:rgba(255,255,255,.92);color:#050505;font-size:13px;font-weight:850;box-shadow:0 20px 70px rgba(0,0,0,.44),0 0 44px rgba(47,128,255,.16);backdrop-filter:blur(16px);transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.whatsapp-float i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#101010;color:#fff;font-style:normal}
.whatsapp-float:hover{transform:translateY(-3px);background:#fff;box-shadow:0 28px 90px rgba(47,128,255,.24)}
.contact-page{min-height:100vh;background:#000}
.contact-topbar{position:relative;z-index:10;width:min(1500px,calc(100vw - 96px));margin:0 auto;padding:30px 0;display:flex;align-items:center;justify-content:space-between}
.contact-topbar nav{display:flex;gap:38px;color:rgba(255,255,255,.62);font-size:13px}
.contact-topbar nav a{transition:color .3s ease}
.contact-topbar nav a:hover{color:#fff}
.contact-section{position:relative;min-height:calc(100vh - 106px);display:grid;align-items:center;padding:70px 0 110px;overflow:hidden}
.contact-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 26%,rgba(47,128,255,.18),transparent 27%),radial-gradient(circle at 82% 76%,rgba(255,255,255,.07),transparent 24%),linear-gradient(90deg,rgba(255,255,255,.036) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:100% 100%,100% 100%,96px 96px,96px 96px;animation:circuitDrift 22s linear infinite;opacity:.7;mask-image:radial-gradient(circle at 50% 50%,#000 0,transparent 76%);pointer-events:none}
.contact-shell{position:relative;z-index:1;width:min(1280px,calc(100vw - 96px));margin:0 auto;display:grid;grid-template-columns:minmax(360px,.82fr) minmax(520px,1fr);gap:86px;align-items:start}
.contact-copy span{display:block;margin-bottom:22px;color:rgba(255,255,255,.62);font-size:13px;font-weight:800;letter-spacing:3px;text-transform:uppercase}
.contact-copy h1{max-width:660px;font-size:clamp(48px,5.8vw,96px);line-height:.94;letter-spacing:-.075em;font-weight:780}
.contact-copy p{max-width:500px;margin-top:24px;color:rgba(255,255,255,.6);font-size:17px;line-height:1.62}
.contact-form{display:grid;gap:18px;padding-top:6px}
.contact-form label{display:grid;gap:10px;color:rgba(255,255,255,.68);font-size:13px;font-weight:750;letter-spacing:.2px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.045);color:#fff;padding:16px 16px;font:inherit;font-size:15px;outline:none;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease}
.contact-form select{appearance:none}
.contact-form textarea{resize:vertical;min-height:132px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.34)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:rgba(47,128,255,.62);background:rgba(255,255,255,.065);box-shadow:0 0 0 4px rgba(47,128,255,.11)}
.contact-submit{position:relative;overflow:hidden;min-height:60px;margin-top:8px;border:0;border-radius:999px;background:#fff;color:#050505;font-size:15px;font-weight:850;cursor:pointer;transition:transform .35s ease,box-shadow .35s ease}
.contact-submit::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(47,128,255,.22),transparent);transform:translateX(-120%);transition:transform .75s ease}
.contact-submit:hover{transform:translateY(-3px);box-shadow:0 30px 90px rgba(47,128,255,.22)}
.contact-submit:hover::before{transform:translateX(120%)}
.reveal-soft,.reveal-line{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal-line{transform:translateY(36px);transition-delay:var(--delay,0s)}
.reveal-soft.in-view,.reveal-line.in-view{opacity:1;transform:translateY(0)}

@media(max-width:1180px){.phone-copy{display:none}.services-intro{grid-template-columns:1fr;gap:40px}.service-trigger{padding-left:90px;grid-template-columns:1fr 58px}.service-panel,.service-item.active .service-panel{padding-left:90px;grid-template-columns:76px 1fr;gap:28px}.service-panel aside{grid-column:2}.vision-grid{grid-template-columns:1fr;gap:34px}.process-shell{grid-template-columns:1fr;gap:42px}.process-head{position:relative;top:auto}.process-flow{margin-left:0}.testimonials-head,.about-shell,.contact-shell{grid-template-columns:1fr;gap:34px}.testimonial-stage{grid-template-columns:1fr}.testimonial-quote:nth-child(1){grid-row:auto;border-right:0}}
@media(max-width:900px){.topbar nav,.nav-cta{display:none}.phone-stage{flex-direction:column;gap:14px;padding:0 18px}.phone-copy{display:block!important;width:min(430px,88vw);max-width:none;text-align:center!important}.phone-copy span{margin-bottom:8px;font-size:9px;letter-spacing:4px}.phone-copy h2{font-size:clamp(22px,6vw,32px);letter-spacing:-.045em}.phone-copy p{margin-top:10px;font-size:13px;line-height:1.5}.device-wrapper{width:317px;height:642px;display:flex;align-items:center;justify-content:center}.iphone{transform:scale(.74)}.logo-bg img{width:86vw}.tech-line{left:-24vw;right:-28vw;bottom:10vh}.services-section{min-height:auto;padding:54px 0 70px}.services-shell{width:min(100vw - 36px,1500px)}.services-intro{gap:14px;margin-bottom:10px}.services-intro h2{font-size:clamp(66px,17vw,120px)}.service-trigger{min-height:62px;padding-left:0;grid-template-columns:1fr 44px;gap:16px}.service-title{font-size:19px}.service-panel{padding-left:0;grid-template-columns:1fr;max-height:0}.service-item.active .service-panel{padding:16px 0 36px;grid-template-columns:1fr;max-height:520px}.service-panel aside{grid-column:auto}.portfolio-head,.portfolio-more{width:calc(100vw - 36px)}.portfolio-track{padding:0 18px 20px;scroll-padding-left:18px}.portfolio-slide{flex-basis:86vw}.portfolio-content{left:28px;right:auto;bottom:9vh;width:calc(100% - 56px)}.portfolio-content p{font-size:16px}.portfolio-arrows{display:none}.vision-section{padding:74px 0 72px}.vision-shell,.process-shell,.testimonials-shell,.about-shell,.contact-shell{width:calc(100vw - 36px)}.vision-kicker{margin-bottom:30px}.vision-pillars{margin-top:48px}.vision-pillar{grid-template-columns:58px 1fr;min-height:76px}.vision-execution{text-align:left;margin-top:36px}.process-section{padding:70px 0 86px}.process-section::after{left:auto;right:18px;top:24%;height:58%}.process-head{margin-bottom:26px}.process-step{grid-template-columns:64px 1fr;padding:22px 0}.process-step p{font-size:13px}.process-flow i{height:22px;margin-left:32px}.testimonials-section,.about-section{padding:74px 0}.testimonials-head{margin-bottom:42px}.testimonial-quote{min-height:auto;padding:34px 0}.about-mark{font-size:clamp(70px,22vw,140px)}.beam-cta-section{min-height:72vh;padding:86px 0}.beam-map{width:118vw}.beam-cta-content h2{font-size:clamp(38px,10vw,70px)}.site-footer{width:calc(100vw - 36px)}.contact-topbar{width:calc(100vw - 36px)}.contact-topbar nav{display:none}.contact-section{padding:48px 0 96px}.contact-copy h1{font-size:clamp(40px,11vw,70px)}}
@media(max-width:620px){.topbar{top:22px}.brand img{width:40px;height:40px}.phone-stage{gap:10px}.phone-copy{width:min(360px,90vw)}.phone-copy h2{font-size:clamp(20px,5.8vw,27px)}.phone-copy p{display:none}.device-wrapper{width:248px;height:503px}.iphone{transform:scale(.58)}.scroll-indicator{bottom:5vh}.logo-bg img{width:92vw}.tech-line{left:-52vw;right:-58vw;bottom:12vh;height:28vh}.services-section{padding:42px 0 64px}.services-eyebrow{font-size:14px}.services-intro{margin-bottom:12px}.services-intro h2{font-size:clamp(58px,16vw,96px)}.service-trigger{min-height:58px;grid-template-columns:1fr 38px}.service-title{font-size:17px}.service-toggle{width:36px;height:36px}.service-item.active .service-panel{padding:12px 0 28px}.service-icon{width:52px;height:52px;border-radius:15px}.service-panel h3{font-size:26px}.service-panel p{margin-top:12px;font-size:14px}.service-panel aside span{margin-bottom:10px}.service-tags{gap:8px}.service-tags b{min-height:28px;padding:0 12px;font-size:11px}.services-cta{width:100%;justify-content:center;text-align:center;font-size:14px;padding:16px 18px;margin-top:34px}.portfolio-section{padding:72px 0}.portfolio-slide{flex-basis:88vw;min-height:560px;height:68vh;border-radius:14px}.portfolio-content h2{font-size:clamp(40px,11vw,58px)}.portfolio-button{width:100%}.portfolio-more{align-items:flex-start;gap:16px;flex-direction:column}.portfolio-more i{width:28px}.vision-statement h2{font-size:clamp(36px,10.5vw,58px)}.vision-copy p{font-size:15px}.vision-pillar strong{font-size:clamp(30px,10vw,48px)}.process-head h2{font-size:clamp(34px,10vw,56px)}.process-step strong{font-size:clamp(28px,8vw,42px)}.testimonials-head h2,.about-content h2{font-size:clamp(34px,10vw,56px)}.testimonial-quote blockquote,.testimonial-quote:nth-child(n+2) blockquote{font-size:clamp(24px,7.2vw,34px)}.about-content p{font-size:15px}.beam-cta-content p{font-size:15px}.beam-cta-button{width:100%;min-height:56px}.beam-active{stroke-width:1.7}.site-footer{flex-direction:column;align-items:flex-start}.whatsapp-float{right:16px;bottom:16px}.whatsapp-float span{display:none}}
@media(max-width:620px){.portfolio-content{left:16px;right:16px;bottom:18px;width:auto;padding:20px;border-radius:13px}.portfolio-content span{font-size:9px;letter-spacing:2px}.portfolio-content h2{font-size:clamp(28px,8.5vw,40px)}.portfolio-content p{font-size:13px;margin:12px 0 18px}.portfolio-button{min-height:50px}}
@media(hover:none){body::before{display:none}}

/* Premium audit refinements */
.logo-bg::before{content:"RA'EH";position:absolute;z-index:0;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(54px,13vw,190px);line-height:.8;letter-spacing:.24em;font-weight:650;color:rgba(255,255,255,.9);text-shadow:0 0 42px rgba(47,128,255,.18);opacity:0;pointer-events:none}
.logo-bg.asset-fallback::before{opacity:1}
.logo-bg img.is-missing,.brand img.is-missing,.footer-brand img.is-missing,.screen-logo img.is-missing{display:none}
.portfolio-image img.is-missing{display:none}
.logo-bg.asset-fallback img,.brand.asset-fallback img,.footer-brand.asset-fallback img,.screen-logo.asset-fallback img,.portfolio-image.asset-fallback img{display:none}
.brand,.footer-brand{position:relative}
.brand.asset-fallback,.footer-brand.asset-fallback{width:46px;height:46px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:0 18px 60px rgba(47,128,255,.14),inset 0 1px 0 rgba(255,255,255,.13)}
.brand.asset-fallback::after,.footer-brand.asset-fallback::after{content:"R";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:18px;font-weight:850;letter-spacing:-.08em}
.footer-brand.asset-fallback{width:34px;height:34px;border-radius:8px}
.footer-brand.asset-fallback::after{font-size:14px}
.screen-logo.asset-fallback::before{content:"R";width:132px;height:132px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));font-size:58px;font-weight:850;letter-spacing:-.08em;box-shadow:0 24px 54px rgba(47,128,255,.24),inset 0 1px 0 rgba(255,255,255,.1)}

.topbar nav a,.contact-topbar nav a{position:relative}
.topbar nav a::after,.contact-topbar nav a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:linear-gradient(90deg,#fff,rgba(47,128,255,.72));transform:scaleX(0);transform-origin:left;transition:transform .32s ease}
.topbar nav a:hover::after,.contact-topbar nav a:hover::after{transform:scaleX(1)}

.services-section{padding-top:86px}
.services-intro h2{font-size:clamp(78px,8.9vw,148px)}
.services-cta{font-size:15px;padding:18px 28px;margin-top:62px}
.service-panel p{font-size:16px}

.portfolio-section{padding-top:92px}
.portfolio-head h2{font-size:clamp(50px,6.3vw,108px)}
.portfolio-track{gap:24px}
.portfolio-slide{height:min(74vh,780px);min-height:590px}
.portfolio-content{width:min(430px,34vw);padding:24px 26px 26px;background:linear-gradient(145deg,rgba(0,0,0,.78),rgba(0,0,0,.5));border-color:rgba(255,255,255,.16)}
.portfolio-content h2{font-size:clamp(32px,3.1vw,50px)}
.portfolio-content p{font-size:14px;margin-bottom:20px}
.portfolio-arrows{left:max(48px,calc((100vw - 1500px) / 2));right:auto;top:calc(50% + 54px);width:min(82vw,1420px)}
.portfolio-arrow{width:38px;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(0,0,0,.28);backdrop-filter:blur(14px);font-size:28px;color:rgba(255,255,255,.72);text-shadow:none}
.portfolio-arrow:first-child{left:18px}
.portfolio-arrow:last-child{left:auto;right:18px}
.portfolio-arrow:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28);transform:translateY(-1px) scale(1.04)}
.portfolio-arrow:disabled{opacity:.2}

.vision-section{padding:92px 0 72px}
.vision-statement h2{font-size:clamp(42px,4.8vw,78px)}
.vision-pillar strong{font-size:clamp(32px,4.4vw,72px)}
.vision-execution{opacity:.08}
.process-section{padding:82px 0 96px}
.process-head h2{font-size:clamp(40px,4vw,68px)}
.process-step strong{font-size:clamp(28px,3.2vw,50px)}
.testimonials-head h2,.about-content h2{font-size:clamp(38px,4.2vw,72px)}
.testimonial-quote blockquote{font-size:clamp(24px,2.2vw,38px)}

.whatsapp-float{opacity:0;pointer-events:none;transform:translateY(12px) scale(.96)}
.whatsapp-float.is-visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.contact-page .whatsapp-float{display:none}

.contact-form{position:relative;padding:24px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.018));box-shadow:0 34px 120px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.08)}
.contact-copy p{max-width:540px}

@media(max-width:900px){
  .logo-bg::before{font-size:clamp(44px,15vw,94px);letter-spacing:.18em}
  .topbar{left:18px;right:18px}
  .phone-stage{justify-content:center}
  .phone-copy{padding:0 10px}
  .phone-copy.left{order:1}
  .device-wrapper{order:2}
  .phone-copy.right{order:3}
  .services-section{padding:40px 0 58px}
  .services-intro h2{font-size:clamp(56px,15vw,86px);line-height:.84}
  .service-panel{display:none!important;max-height:none!important;opacity:1!important;transform:none!important;padding:0!important;visibility:hidden}
  .service-item.active .service-panel{display:grid!important;visibility:visible;padding:14px 0 26px!important}
  .service-trigger{min-height:66px}
  .service-item{border-bottom-color:rgba(255,255,255,.12)}
  .portfolio-slide{flex-basis:86vw;min-height:520px;height:68vh}
  .portfolio-content{width:auto}
  .portfolio-arrows{display:none}
  .vision-section{padding-top:64px}
  .vision-execution{font-size:clamp(44px,15vw,82px)}
  .process-flow::before{left:31px}
  .testimonials-head h2{font-size:clamp(34px,9vw,52px)}
  .contact-form{padding:18px;border-radius:14px}
  .whatsapp-float{min-width:56px;min-height:56px;padding:0;justify-content:center}
}

@media(max-width:620px){
  body::after{opacity:.22;background-size:auto,84px 84px,84px 84px}
  .scroll-indicator span{font-size:9px}
  .services-shell,.vision-shell,.process-shell,.testimonials-shell,.about-shell,.contact-shell,.portfolio-head,.portfolio-more,.contact-topbar,.site-footer{width:calc(100vw - 32px)}
  .services-intro{margin-bottom:2px}
  .services-eyebrow{font-size:13px}
  .service-trigger{min-height:58px}
  .service-title{font-size:16px;line-height:1.15}
  .service-item.active .service-panel{padding:10px 0 22px!important}
  .service-panel h3{font-size:24px}
  .services-cta{margin-top:28px}
  .portfolio-section{padding:58px 0 66px}
  .portfolio-head{margin-bottom:24px}
  .portfolio-head span{font-size:12px}
  .portfolio-head h2{font-size:clamp(42px,13vw,66px)}
  .portfolio-slide{min-height:500px;height:66vh}
  .portfolio-content{padding:18px}
  .portfolio-more span{font-size:11px}
  .vision-statement h2{font-size:clamp(34px,9.4vw,50px)}
  .testimonial-quote::before{font-size:140px;right:0}
  .contact-copy p{font-size:15px}
  .contact-form input,.contact-form select,.contact-form textarea{padding:15px 14px}
}

/* Phase 2 - senior design direction */
:root{--max-shell:min(1440px,calc(100vw - 112px));--soft-line:rgba(255,255,255,.105);--muted:rgba(255,255,255,.58)}
main{background:#000}
.services-section,.portfolio-section,.vision-section,.process-section,.testimonials-section,.about-section,.beam-cta-section{isolation:isolate}
.services-shell,.portfolio-head,.vision-shell,.process-shell,.testimonials-shell,.about-shell,.site-footer{width:var(--max-shell)}

.services-section{min-height:auto;padding:112px 0 92px;background:linear-gradient(180deg,#000 0%,#050505 48%,#000 100%)}
.services-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 12%,rgba(47,128,255,.12),transparent 26%),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:100% 100%,128px 128px;opacity:.58;mask-image:linear-gradient(180deg,transparent,#000 18%,#000 72%,transparent);pointer-events:none}
.services-section::after{height:120px;opacity:.7}
.services-intro{grid-template-columns:minmax(180px,260px) 1fr;margin-bottom:40px}
.services-eyebrow{font-size:13px;color:rgba(255,255,255,.68);letter-spacing:.01em}
.services-intro h2{font-size:clamp(72px,7.4vw,124px);line-height:.84;letter-spacing:-.082em;font-weight:840}
.service-trigger{min-height:78px;padding-left:260px}
.service-title{font-size:21px;font-weight:620}
.service-toggle{width:42px;height:42px}
.service-panel{grid-template-columns:68px minmax(330px,.86fr) minmax(280px,.68fr);gap:34px;padding-left:260px}
.service-item.active .service-panel{padding:18px 0 46px 260px;max-height:300px}
.service-icon{width:62px;height:62px;border-radius:18px}
.service-panel h3{font-size:clamp(24px,2.4vw,36px);font-weight:690}
.service-panel p{margin-top:14px;color:rgba(255,255,255,.54);font-size:15px;line-height:1.58}
.service-tags b{background:rgba(255,255,255,.92);font-size:11px;min-height:28px;padding:0 12px}
.services-cta{margin-top:48px;min-height:54px;padding:0 24px;background:rgba(255,255,255,.94);font-size:14px;box-shadow:0 18px 70px rgba(255,255,255,.055),0 0 80px rgba(47,128,255,.09)}

.portfolio-section{padding:118px 0 94px;background:radial-gradient(circle at 50% 0,rgba(47,128,255,.08),transparent 24%),#000}
.portfolio-head{display:grid;grid-template-columns:260px minmax(0,860px);gap:6vw;align-items:end;margin-bottom:38px}
.portfolio-head span{margin:0;font-size:12px;color:rgba(255,255,255,.52);letter-spacing:3.4px}
.portfolio-head h2{max-width:880px;font-size:clamp(42px,5.2vw,84px);line-height:.94;letter-spacing:-.072em;font-weight:760}
.portfolio-track{gap:18px;padding-bottom:16px}
.portfolio-slide{flex-basis:min(80vw,1360px);height:min(74vh,760px);min-height:560px;border-radius:14px;border-color:rgba(255,255,255,.12);box-shadow:0 38px 140px rgba(0,0,0,.7)}
.portfolio-image img{opacity:.98;filter:saturate(.94) contrast(1.03)}
.portfolio-image::after{background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.16) 42%,rgba(0,0,0,.08) 100%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.5))}
.portfolio-content{left:44px;right:auto;bottom:42px;width:min(390px,32vw);padding:22px 24px 24px;border-radius:12px;background:rgba(0,0,0,.54);border-color:rgba(255,255,255,.14);box-shadow:0 20px 80px rgba(0,0,0,.54);backdrop-filter:blur(22px) saturate(1.08)}
.portfolio-content span{margin-bottom:12px;font-size:10px;color:rgba(255,255,255,.56);letter-spacing:2.7px}
.portfolio-content h2{font-size:clamp(30px,2.8vw,44px);font-weight:700;letter-spacing:-.055em}
.portfolio-content p{max-width:320px;margin:12px 0 20px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.5}
.portfolio-button,.beam-cta-button,.contact-submit{min-height:50px;padding:0 22px;font-size:14px}
.portfolio-arrows{top:calc(50% + 42px);width:min(80vw,1360px)}
.portfolio-more{margin-top:18px}
.portfolio-more span{font-size:11px;color:rgba(255,255,255,.46);letter-spacing:2.4px}
.portfolio-more i{width:34px;height:2px;background:rgba(255,255,255,.15)}

.vision-section{padding:104px 0 84px;background:#000}
.vision-section::before{opacity:.42;background-size:132px 132px,132px 132px,100% 100%,100% 100%}
.vision-kicker{margin-bottom:38px;font-size:12px;color:rgba(255,255,255,.52);letter-spacing:3.2px}
.vision-grid{grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:7vw;align-items:end}
.vision-statement h2{max-width:900px;font-size:clamp(38px,4.2vw,68px);line-height:1;letter-spacing:-.072em;font-weight:760}
.vision-copy p{font-size:16px;line-height:1.75;color:rgba(255,255,255,.56)}
.vision-pillars{margin-top:76px;border-top:1px solid var(--soft-line);display:grid;grid-template-columns:repeat(3,1fr)}
.vision-pillar{display:block;min-height:190px;padding:26px 30px 0 0;border-bottom:1px solid var(--soft-line);border-right:1px solid var(--soft-line)}
.vision-pillar:last-child{border-right:0}
.vision-pillar span{display:block;margin-bottom:52px;color:rgba(255,255,255,.34)}
.vision-pillar strong{font-size:clamp(28px,3.5vw,56px);line-height:1;letter-spacing:-.064em;font-weight:700}
.vision-execution{margin-top:46px;text-align:right;color:rgba(255,255,255,.12);font-size:clamp(28px,5.4vw,84px);letter-spacing:-.07em;font-weight:800}

.process-section{padding:104px 0 112px;background:linear-gradient(180deg,#000 0%,#030303 52%,#000 100%)}
.process-section::before{opacity:.45;background-size:112px 112px,112px 112px,100% 100%,100% 100%}
.process-section::after{display:none}
.process-shell{grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:96px}
.process-head{top:110px}
.process-head span{font-size:12px;color:rgba(255,255,255,.52);letter-spacing:3.2px}
.process-head h2{font-size:clamp(34px,3.6vw,58px);line-height:1;letter-spacing:-.068em;font-weight:740}
.process-flow{padding-top:0}
.process-flow::before{left:32px;top:20px;bottom:24px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(47,128,255,.42),rgba(255,255,255,.08))}
.process-step{grid-template-columns:74px 1fr;padding:25px 0 27px}
.process-step span{font-size:12px;color:rgba(255,255,255,.34)}
.process-step strong{font-size:clamp(26px,2.8vw,44px);letter-spacing:-.055em;font-weight:690}
.process-step p{font-size:13px;color:rgba(255,255,255,.46);margin-top:10px}
.process-flow i{height:18px;margin-left:32px;opacity:.76}
.process-flow i::after{width:7px;height:7px}

.testimonials-section{padding:112px 0 106px;background:radial-gradient(circle at 18% 20%,rgba(47,128,255,.1),transparent 26%),#000}
.testimonials-head{grid-template-columns:260px minmax(0,720px);margin-bottom:58px}
.testimonials-head span{font-size:12px;color:rgba(255,255,255,.52)}
.testimonials-head h2{font-size:clamp(34px,3.9vw,64px);line-height:1;letter-spacing:-.068em}
.testimonial-stage{grid-template-columns:1fr;border-top:1px solid var(--soft-line)}
.testimonial-quote{display:grid;grid-template-columns:120px minmax(0,1fr) 220px;gap:34px;align-items:start;min-height:0;padding:36px 0;border-bottom:1px solid var(--soft-line)}
.testimonial-quote:nth-child(1){grid-row:auto;border-right:0}
.testimonial-quote::before{right:0;top:-14px;font-size:120px;color:rgba(255,255,255,.04)}
.testimonial-quote > span{margin:0;color:rgba(255,255,255,.3)}
.testimonial-quote blockquote,.testimonial-quote:nth-child(n+2) blockquote{max-width:860px;font-size:clamp(22px,2.25vw,38px);line-height:1.14;letter-spacing:-.052em;font-weight:640}
.testimonial-quote footer{margin:0;padding-top:4px}
.testimonial-quote:hover{background:transparent}

.about-section{padding:110px 0 116px;background:#000}
.about-shell{grid-template-columns:minmax(300px,.68fr) minmax(0,760px);gap:7vw}
.about-mark{font-size:clamp(72px,10vw,160px);opacity:.72}
.about-content span{font-size:12px;color:rgba(255,255,255,.52)}
.about-content h2{font-size:clamp(34px,4vw,66px);line-height:1;letter-spacing:-.068em}
.about-content p{max-width:620px;font-size:16px;line-height:1.72;color:rgba(255,255,255,.58)}

.beam-cta-section{min-height:82vh;padding:124px 0;background:#000}
.beam-cta-bg{opacity:.58}
.beam-map{width:min(880px,88vw)}
.beam-cta-content{width:min(720px,calc(100vw - 48px))}
.beam-cta-content span{font-size:12px;color:rgba(255,255,255,.54)}
.beam-cta-content h2{font-size:clamp(42px,5.7vw,88px);line-height:.95;letter-spacing:-.076em;font-weight:760}
.beam-cta-content p{font-size:16px;max-width:500px;color:rgba(255,255,255,.58)}

.contact-shell{grid-template-columns:minmax(330px,.75fr) minmax(500px,.9fr);gap:74px}
.contact-copy h1{font-size:clamp(42px,4.6vw,76px)}
.contact-form{gap:16px}

@media(max-width:1180px){
  :root{--max-shell:calc(100vw - 56px)}
  .services-intro,.portfolio-head,.testimonials-head{grid-template-columns:1fr;gap:18px}
  .service-trigger{padding-left:0}
  .service-panel,.service-item.active .service-panel{padding-left:0}
  .process-shell,.about-shell,.contact-shell{grid-template-columns:1fr;gap:46px}
  .process-head{position:relative;top:auto}
}

@media(max-width:900px){
  :root{--max-shell:calc(100vw - 36px)}
  .services-section{padding:62px 0 58px}
  .services-intro h2{font-size:clamp(54px,14vw,84px)}
  .portfolio-section{padding:76px 0 72px}
  .portfolio-head h2{font-size:clamp(38px,10vw,62px)}
  .portfolio-slide{flex-basis:86vw;height:66vh;min-height:510px}
  .portfolio-content{left:20px;right:20px;bottom:20px;width:auto;padding:18px}
  .vision-section,.process-section,.testimonials-section,.about-section{padding:76px 0}
  .vision-grid{grid-template-columns:1fr;gap:26px}
  .vision-pillars{grid-template-columns:1fr;margin-top:48px}
  .vision-pillar{min-height:auto;padding:24px 0;border-right:0}
  .vision-pillar span{margin-bottom:20px}
  .vision-execution{text-align:left}
  .testimonial-quote{grid-template-columns:1fr;gap:18px;padding:32px 0}
  .testimonial-quote footer{padding-top:0}
  .about-mark{font-size:clamp(64px,18vw,130px)}
}

@media(max-width:620px){
  :root{--max-shell:calc(100vw - 32px)}
  .services-section{padding-top:48px}
  .services-cta{width:100%;justify-content:center;text-align:center}
  .portfolio-slide{height:64vh;min-height:500px}
  .portfolio-content h2{font-size:clamp(26px,8vw,36px)}
  .portfolio-content p{font-size:13px}
  .portfolio-button{width:100%;min-height:48px}
  .process-step{grid-template-columns:56px 1fr}
  .process-flow::before{left:24px}
  .process-flow i{margin-left:24px}
  .beam-cta-section{min-height:70vh;padding:86px 0}
}
