/* StreetWise Technology Corporation — shared styles for inner pages */
body{margin:0;background:#020B14}
.sw{--bg:#020B14;--bg2:#04131F;--cyan:#00E0F0;--cyan-hi:#5DF3FF;--brand:#299FD9;--gold:#E8B04E;--tx:#FFFFFF;--tx2:#C3D1DD;--tx3:#8EA2B4;--line:rgba(120,190,230,.14);--bd:rgba(0,224,240,.32);--gut:clamp(20px,4vw,40px);position:relative;background:var(--bg);color:var(--tx);font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow:hidden}
.sw *,.sw *::before,.sw *::after{box-sizing:border-box}
.sw{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.sw a{color:inherit;text-decoration:none}
.sw img{max-width:none}
.sw.lang-ar{font-family:'IBM Plex Sans Arabic','Plus Jakarta Sans',system-ui,sans-serif}
.sw.lang-jp{font-family:'Noto Sans JP','Plus Jakarta Sans',system-ui,sans-serif}
.wrap{width:100%;max-width:calc(1240px + 2 * var(--gut));margin-inline:auto;padding-inline:var(--gut)}

/* ---------- type ---------- */
.eb{margin:0 0 14px;font-size:13px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);line-height:1.5}
.lang-ar .eb{letter-spacing:0;font-size:15px;text-transform:none}
.lang-jp .eb{letter-spacing:.14em;font-size:13px;text-transform:none}
.h1p{margin:0 0 20px;font-weight:600;font-size:clamp(32px,3.4vw,50px);line-height:1.14;letter-spacing:-.015em;text-wrap:balance}
.lang-ar .h1p{font-weight:700;letter-spacing:0;line-height:1.45;font-size:clamp(30px,3.2vw,46px)}
.lang-jp .h1p{font-weight:700;letter-spacing:.01em;line-height:1.4;font-size:clamp(26px,2.7vw,40px)}
.h2{margin:0 0 16px;font-weight:600;font-size:clamp(27px,2.4vw,36px);line-height:1.2;letter-spacing:-.01em;text-wrap:balance}
.lang-ar .h2{font-weight:700;letter-spacing:0;line-height:1.5}
.lang-jp .h2{font-weight:700;letter-spacing:.02em;line-height:1.5;font-size:clamp(22px,2vw,30px)}
.lead{margin:0;font-size:clamp(17px,1.35vw,19px);line-height:1.6;color:var(--tx2);max-width:30em}
.lang-ar .lead{line-height:1.85}
.lang-jp .lead{font-size:clamp(15px,1.15vw,17px);line-height:1.9}
.p{margin:0;font-size:15.5px;line-height:1.7;color:var(--tx2)}
.lang-ar .p{font-size:16.5px;line-height:1.9}
.lang-jp .p{font-size:15px;line-height:1.95}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:50px;padding:0 28px;border-radius:999px;border:1px solid transparent;font:inherit;font-size:15px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease}
.sw .btn-p{background:var(--cyan);color:#021420;box-shadow:0 0 0 1px rgba(0,224,240,.55),0 0 26px rgba(0,224,240,.42)}
.sw .btn-p:hover{background:var(--cyan-hi);color:#021420;transform:translateY(-2px);box-shadow:0 0 0 1px rgba(0,224,240,.9),0 0 42px rgba(0,224,240,.7)}
.sw .btn-g{background:rgba(2,16,28,.4);color:#fff;border-color:rgba(0,224,240,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sw .btn-g:hover{border-color:var(--cyan);color:#fff;box-shadow:0 0 26px rgba(0,224,240,.35);transform:translateY(-2px)}
.btn.sm{height:46px;padding:0 24px;font-size:14.5px}
.arr{width:16px;height:16px;flex:none;transition:transform .25s ease}
.btn:hover .arr,.tlink:hover .arr{transform:translateX(4px)}
[dir=rtl] .arr{transform:scaleX(-1)}
[dir=rtl] .btn:hover .arr,[dir=rtl] .tlink:hover .arr{transform:scaleX(-1) translateX(4px)}
.tlink{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:500}
.sw a.tlink{color:var(--cyan)}
.sw a.tlink:hover{color:var(--cyan-hi);text-shadow:0 0 12px rgba(0,224,240,.6)}
.sw a:focus-visible,.sw button:focus-visible,.sw input:focus-visible,.sw textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}

/* ---------- header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;isolation:isolate;background:linear-gradient(180deg,rgba(2,11,20,.8),rgba(2,11,20,0))}
.hdr::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(2,11,20,.84);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(120,190,230,.14),0 12px 30px rgba(0,0,0,.35);opacity:0;transition:opacity .35s ease}
.hdr.is-scrolled::before{opacity:1}
.hdr-in{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;height:88px;direction:ltr;transition:height .35s ease}
.hdr.is-scrolled .hdr-in{height:72px}
.logo{display:flex;align-items:center;justify-self:start}
.logo img{display:block;height:46px;width:auto}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;width:clamp(440px,42vw,600px)}
.nav a{position:relative;padding:10px 2px;font-size:15px;font-weight:500;color:#D9E4EE;transition:color .2s ease}
.sw .nav a:hover,.sw .nav a.on{color:var(--cyan)}
.nav a.on::after{content:"";position:absolute;left:-6px;right:-6px;bottom:-16px;height:2px;border-radius:2px;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.hdr-act{display:flex;align-items:center;gap:8px;justify-self:end}
.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 12px;border-radius:999px;border:1px solid transparent;background:transparent;color:#E4EDF5;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
.lang-btn:hover{border-color:rgba(0,224,240,.35);background:rgba(0,224,240,.06)}
.lang-btn .gl{width:18px;height:18px}
.lang-btn .chev{width:12px;height:12px;opacity:.75}
.lang-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;min-width:180px;padding:6px;display:flex;flex-direction:column;gap:2px;border-radius:12px;border:1px solid var(--bd);background:rgba(4,20,34,.97);box-shadow:0 14px 40px rgba(0,0,0,.55),0 0 24px rgba(0,224,240,.12);z-index:40}
.lang-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:44px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:#DCE7F0;font:inherit;font-size:15px;text-align:start;cursor:pointer}
.lang-menu button:hover{background:rgba(0,224,240,.1);color:var(--cyan)}
.lang-menu .ck{width:16px;height:16px;color:var(--cyan)}
.f-ar{font-family:'IBM Plex Sans Arabic',sans-serif}
.f-jp{font-family:'Noto Sans JP',sans-serif}
.burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:1px solid var(--bd);background:rgba(2,16,28,.55);color:#fff;cursor:pointer}
.burger svg{width:20px;height:20px}
.mnav{display:none}

/* ---------- page hero ---------- */
.phero{position:relative;isolation:isolate;overflow:hidden;padding:150px 0 76px;border-bottom:1px solid var(--line)}
.phero-bg{position:absolute;inset:0;z-index:-1}
.phero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32;filter:saturate(1.2)}
.phero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(55% 75% at 78% 45%,rgba(0,120,210,.28),rgba(0,120,210,0) 70%),linear-gradient(180deg,rgba(2,11,20,.65) 0%,rgba(2,11,20,.25) 40%,#020B14 100%)}
.phero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 22px;font-size:13px;color:var(--tx3)}
.crumbs a{color:var(--tx2);transition:color .2s ease}
.sw .crumbs a:hover{color:var(--cyan)}
.crumbs .cur{color:var(--cyan)}
.crumbs .cs{opacity:.5}
.phero-copy .lead{max-width:32em}

/* neon image frame */
.frame{position:relative;margin:0;overflow:hidden;border-radius:14px;border:1px solid rgba(70,200,255,.75);background:#04131F;box-shadow:0 0 24px rgba(0,170,255,.32),inset 0 0 0 1px rgba(0,224,240,.08)}
.frame img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform 6s ease}
.frame:hover img{transform:scale(1.05)}
.frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,11,20,0) 45%,rgba(2,11,20,.6));pointer-events:none}
.frame-scan{position:absolute;left:0;right:0;top:0;height:2px;z-index:2;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 12px var(--cyan);opacity:0;animation:frameScan 5.5s ease-in-out infinite}
@keyframes frameScan{0%{top:0;opacity:0}10%{opacity:.9}90%{opacity:.9}100%{top:100%;opacity:0}}
.phero-media{aspect-ratio:16/9;width:100%}
.corner{position:absolute;width:14px;height:14px;z-index:2;border-color:var(--cyan);border-style:solid}
.corner.tl{top:10px;left:10px;border-width:2px 0 0 2px}
.corner.br{bottom:10px;right:10px;border-width:0 2px 2px 0}

/* ---------- sections ---------- */
.sec{position:relative;padding:clamp(56px,5.5vw,84px) 0}
.sec+.sec{border-top:1px solid var(--line)}
.sec.alt{background:linear-gradient(180deg,rgba(4,19,31,.6),rgba(2,11,20,0))}
.sec-head{max-width:720px;margin-bottom:clamp(28px,3vw,44px)}
.sec-head.center{margin-inline:auto;text-align:center}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.split .frame{aspect-ratio:16/10}

/* glass cards */
.gcard{position:relative;padding:clamp(24px,2.4vw,34px);border:1px solid rgba(0,224,240,.26);border-radius:12px;background:linear-gradient(180deg,rgba(6,30,48,.6),rgba(3,16,28,.45));transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.sw .gcard:hover{transform:translateY(-6px);border-color:rgba(0,224,240,.65);box-shadow:0 0 28px rgba(0,224,240,.16),inset 0 0 24px rgba(0,224,240,.05)}
.ic{display:block;width:40px;height:40px;margin-bottom:20px;color:var(--cyan);filter:drop-shadow(0 0 8px rgba(0,224,240,.45))}
.gcard h3{margin:0 0 10px;font-size:19px;font-weight:600;line-height:1.35;color:#fff}
.lang-jp .gcard h3{font-size:17px;font-weight:700}
.gcard p{margin:0;font-size:15px;line-height:1.7;color:var(--tx2)}
.lang-ar .gcard p{font-size:16px;line-height:1.85}
.lang-jp .gcard p{font-size:14px;line-height:1.9}
.num{display:block;margin-bottom:14px;font-size:13px;font-weight:600;letter-spacing:.18em;color:var(--gold)}

/* neon panel (brand card background) */
.npanel{position:relative;overflow:hidden;border:1px solid transparent;border-radius:6px;border-image-source:url(../img/brand-card-bg.jpg);border-image-slice:75 fill;border-image-width:24px;border-image-outset:10px;border-image-repeat:stretch;transition:transform .35s ease,filter .35s ease}
.npanel::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(120,240,255,.10),transparent);transform:skewX(-18deg);transition:left .8s ease;pointer-events:none}
.sw .npanel:hover{transform:translateY(-4px);filter:brightness(1.1) drop-shadow(0 0 18px rgba(0,170,255,.3))}
.npanel:hover::after{left:120%}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stat{position:relative;padding-inline:24px}
.stat:first-child{padding-inline-start:0}
.stat+.stat::before{content:"";position:absolute;inset-inline-start:0;top:2px;bottom:2px;width:1px;background:rgba(150,200,230,.18)}
.stat+.stat::after{content:"";position:absolute;inset-inline-start:0;top:0;width:1px;height:26px;background:linear-gradient(180deg,rgba(0,224,240,0),#00E0F0,rgba(0,224,240,0));box-shadow:0 0 6px #00E0F0;opacity:0;animation:sScan 3.6s ease-in-out infinite}
.stat:nth-child(3)::after{animation-delay:1.2s}.stat:nth-child(4)::after{animation-delay:2.4s}
@keyframes sScan{0%{top:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:calc(100% - 26px);opacity:0}}
.stat b{display:block;margin-bottom:10px;font-size:clamp(32px,3vw,46px);font-weight:600;line-height:1.05;color:var(--cyan);text-shadow:0 0 22px rgba(0,224,240,.4);white-space:nowrap}
[dir=rtl] .stat b{text-align:right}
.stat span{display:block;font-size:14px;line-height:1.5;color:var(--tx3)}
.lang-ar .stat span{font-size:15px;line-height:1.65}
.lang-jp .stat span{font-size:13.5px;line-height:1.65}

/* chips (values / filters) */
.chips{display:flex;flex-wrap:wrap;gap:12px}
.chip{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 20px;border-radius:999px;border:1px solid rgba(0,224,240,.3);background:rgba(4,22,36,.6);color:#DCE7F0;font:inherit;font-size:14.5px;font-weight:500;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}
.sw .chip:hover{border-color:rgba(0,224,240,.7);color:#fff}
.sw .chip.on{background:var(--cyan);border-color:var(--cyan);color:#021420;box-shadow:0 0 22px rgba(0,224,240,.45)}

/* values */
.values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.value{display:flex;flex-direction:column;align-items:center;gap:16px;padding:28px 16px;text-align:center;border:1px solid rgba(0,224,240,.24);border-radius:12px;background:linear-gradient(180deg,rgba(6,30,48,.55),rgba(3,16,28,.35));transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.sw .value:hover{transform:translateY(-6px);border-color:rgba(0,224,240,.65);box-shadow:0 0 26px rgba(0,224,240,.16)}
.value .ic{margin:0;width:44px;height:44px}
.value span{font-size:16px;font-weight:600}

/* brand rows */
.brows{display:flex;flex-direction:column;gap:clamp(40px,4.5vw,64px)}
.brow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:stretch}
.brow .frame{min-height:320px}
.brow.rev .frame{order:2}
.bpanel{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,3vw,48px)}
.blogo-img{display:block;height:64px;width:auto;max-width:100%;object-fit:contain;object-position:left center}
[dir=rtl] .blogo-img{object-position:right center}
.blogo-lr{display:inline-flex;align-items:center;gap:14px;direction:ltr;height:64px}
.blogo-lr svg{width:56px;height:56px;filter:drop-shadow(0 0 10px rgba(41,159,217,.4))}
.blogo-lr span{font-family:'Plus Jakarta Sans',sans-serif;font-size:34px;font-weight:600;letter-spacing:-.01em;color:#fff;line-height:1}
.blogo-lr em{font-style:normal;color:var(--brand)}
.btag{margin:22px 0 12px;font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.lang-ar .btag{letter-spacing:0;font-size:15px;text-transform:none}
.lang-jp .btag{letter-spacing:.08em;text-transform:none}
.bpanel .p{margin-bottom:26px;max-width:34em}
.bpanel .btn{align-self:flex-start}
.soon{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;height:44px;padding:0 20px;border-radius:999px;border:1px dashed rgba(56,211,228,.6);font-size:14px;font-weight:600;letter-spacing:.06em;color:#38D3E4}
.soon i{width:7px;height:7px;border-radius:50%;background:#38D3E4;box-shadow:0 0 8px #38D3E4;animation:blink 1.6s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:.3}50%{opacity:1}}

/* services grid */
.svc-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.svc-grid>*{grid-column:span 2}
.svc-grid>*:nth-child(4),.svc-grid>*:nth-child(5){grid-column:span 3}

/* process (horizontal smart bar) */
.process{position:relative}
.pbar{position:relative;height:14px;margin:0 6% 30px}
[dir=rtl] .pbar{transform:scaleX(-1)}
.pbar-track{position:absolute;left:0;right:0;top:6px;height:2px;border-radius:2px;background:rgba(0,224,240,.16)}
.pbar-fill{position:absolute;left:0;right:0;top:6px;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(0,224,240,.25),#00E0F0);transform-origin:left center}
.sw-rv .pbar-fill{transform:scaleX(0);transition:transform 1.6s cubic-bezier(.6,0,.2,1) .3s}
.sw-rv .process.in .pbar-fill{transform:scaleX(1)}
.pbar-pulse{position:absolute;top:5px;left:0;width:90px;height:4px;border-radius:4px;transform:translateX(-100%);background:linear-gradient(90deg,rgba(0,224,240,0),#00E0F0 70%,#FFFFFF);box-shadow:0 0 10px #00E0F0;opacity:0;animation:pPulse 6s linear infinite}
@keyframes pPulse{0%{left:0;opacity:0}3%{opacity:1}75%{left:100%;opacity:1}78%,100%{left:100%;opacity:0}}
.pn{position:absolute;top:1px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#062033;border:2px solid #00E0F0;animation:pHit 6s linear infinite}
.pn.n1{left:0}.pn.n2{left:33.333%;animation-delay:1.5s}.pn.n3{left:66.666%;animation-delay:3s}.pn.n4{left:100%;animation-delay:4.5s}
@keyframes pHit{0%{background:#FFFFFF;transform:scale(1.4);box-shadow:0 0 0 5px rgba(0,224,240,.3),0 0 18px #00E0F0}16%,100%{background:#062033;transform:scale(1);box-shadow:0 0 0 0 rgba(0,224,240,0),0 0 0 rgba(0,224,240,0)}}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.step{text-align:center}
.step .gcard{height:100%}
.step .num{font-size:28px;letter-spacing:0;color:var(--cyan);text-shadow:0 0 16px rgba(0,224,240,.4);margin-bottom:8px}

/* projects */
.filters{margin-bottom:32px}
.proj-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.pcard{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(0,224,240,.26);border-radius:14px;background:linear-gradient(180deg,rgba(6,30,48,.6),rgba(3,16,28,.45));transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.sw .pcard:hover{transform:translateY(-6px);border-color:rgba(0,224,240,.65);box-shadow:0 0 30px rgba(0,224,240,.18)}
.pcard.hide{display:none}
.pmedia{position:relative;aspect-ratio:16/8;overflow:hidden}
.pmedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 6s ease}
.pcard:hover .pmedia img{transform:scale(1.06)}
.pmedia::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,11,20,0) 40%,rgba(2,11,20,.75))}
.ptag{position:absolute;top:16px;inset-inline-start:16px;z-index:1;display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;border:1px solid rgba(0,224,240,.5);background:rgba(2,14,24,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:12.5px;font-weight:600;color:var(--cyan)}
.pbody{display:flex;flex-direction:column;flex:1;padding:24px 26px 26px}
.pbody h3{margin:0 0 18px;font-size:21px;font-weight:600;line-height:1.3}
.lang-jp .pbody h3{font-size:19px;font-weight:700}
.meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px;padding:16px 0;border-block:1px solid var(--line)}
.meta dt{margin:0 0 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3)}
.lang-ar .meta dt,.lang-jp .meta dt{letter-spacing:0;text-transform:none;font-size:13px}
.meta dd{margin:0;font-size:14.5px;font-weight:500;color:#fff}
.pbody .tlink{margin-top:auto;align-self:flex-start}

/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,56px);align-items:start}
.info{display:flex;flex-direction:column;gap:14px}
.info-item{display:flex;align-items:flex-start;gap:16px;padding:20px 22px;border:1px solid rgba(0,224,240,.24);border-radius:12px;background:linear-gradient(180deg,rgba(6,30,48,.55),rgba(3,16,28,.35));transition:border-color .3s ease,box-shadow .3s ease}
.sw .info-item:hover{border-color:rgba(0,224,240,.6);box-shadow:0 0 22px rgba(0,224,240,.14)}
.info-item .ic{width:28px;height:28px;margin:2px 0 0;flex:none}
.info-item b{display:block;margin-bottom:4px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.lang-ar .info-item b,.lang-jp .info-item b{letter-spacing:0;text-transform:none;font-size:14px}
.info-item span{display:block;font-size:16px;color:#fff}
.info-item span.ph{color:var(--tx3)}
.form{padding:clamp(22px,2.4vw,32px);border:1px solid rgba(0,224,240,.3);border-radius:14px;background:rgba(3,20,34,.74);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 40px rgba(0,224,240,.08),inset 0 0 30px rgba(0,224,240,.04)}
.frow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fld label,.fs legend{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#fff;padding:0}
.req{margin-inline-start:4px;color:#FF7385}
.inp{display:block;width:100%;height:46px;padding:0 14px;border-radius:8px;border:1px solid rgba(170,200,225,.24);background:rgba(120,150,180,.16);color:#fff;font:inherit;font-size:14.5px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
textarea.inp{height:120px;padding:12px 14px;resize:vertical;line-height:1.6}
.inp::placeholder{color:#8EA2B4}
.inp:focus{outline:none;border-color:var(--cyan);background:rgba(120,150,180,.22);box-shadow:0 0 0 3px rgba(0,224,240,.18)}
.fs{margin:20px 0 0;padding:0;border:0;min-width:0}
.fld.full{margin-top:20px}
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;gap:10px 24px}
.chk{display:flex;align-items:center;gap:12px;min-height:26px;font-size:14px;color:#C8D6E2;cursor:pointer}
.lang-ar .chk{font-size:15px}
.chk input{-webkit-appearance:none;appearance:none;display:grid;place-content:center;flex:none;width:17px;height:17px;margin:0;border:1.5px solid rgba(200,220,235,.55);border-radius:4px;background:transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}
.chk input::before{content:"";width:9px;height:5px;border-left:2px solid #021420;border-bottom:2px solid #021420;transform:translate(0,-1px) rotate(-45deg) scale(0);transition:transform .15s ease}
.chk input:checked{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 10px rgba(0,224,240,.5)}
.chk input:checked::before{transform:translate(0,-1px) rotate(-45deg) scale(1)}
.chk:hover input{border-color:var(--cyan)}
.btn.full{width:100%;height:52px;margin-top:22px}
.msg{display:flex;align-items:center;gap:12px;margin:18px 0 0;padding:14px 16px;border-radius:10px;font-size:15px}
.msg svg{width:20px;height:20px;flex:none}
.msg.ok{border:1px solid rgba(0,224,240,.45);background:rgba(0,224,240,.08);color:#E6FBFF}
.msg.ok svg{color:var(--cyan)}
.msg.err{border:1px solid rgba(255,115,133,.5);background:rgba(255,115,133,.08);color:#FFD9DE}
.msg.err svg{color:#FF7385}
.offices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center}
.off-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.office{display:flex;align-items:center;gap:14px;min-height:64px;padding:14px 18px;border:1px solid rgba(0,224,240,.24);border-radius:12px;background:linear-gradient(180deg,rgba(6,30,48,.55),rgba(3,16,28,.35));font-size:15.5px;color:#DCE7F0;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.sw .office:hover{transform:translateY(-4px);border-color:rgba(0,224,240,.6);box-shadow:0 0 22px rgba(0,224,240,.14)}
.office svg{width:22px;height:22px;flex:none;color:var(--cyan)}
.office.hq{grid-column:1 / -1;border-color:rgba(0,224,240,.6);box-shadow:0 0 24px rgba(0,224,240,.14)}
.office.hq span{color:var(--cyan);font-weight:600}
.globe{position:relative;height:clamp(260px,26vw,380px);-webkit-mask-image:radial-gradient(60% 66% at 50% 50%,#000 52%,transparent 100%);mask-image:radial-gradient(60% 66% at 50% 50%,#000 52%,transparent 100%)}
.globe img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.globe svg{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen}
.ga-base{fill:none;stroke:rgba(110,235,255,.22);stroke-width:1.2}
.ga{fill:none;stroke:#A8F8FF;stroke-width:2.4;stroke-linecap:round;animation-duration:4.5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.ga1{stroke-dasharray:26 300;animation-name:ga1}.ga2{stroke-dasharray:26 260;animation-name:ga2}.ga3{stroke-dasharray:26 400;animation-name:ga3}
.ga4{stroke-dasharray:26 300;animation-name:ga4}.ga5{stroke-dasharray:26 520;animation-name:ga5}.ga6{stroke-dasharray:26 240;animation-name:ga6}
@keyframes ga1{0%{stroke-dashoffset:26}60%,100%{stroke-dashoffset:-226}}
@keyframes ga2{0%{stroke-dashoffset:26}60%,100%{stroke-dashoffset:-175}}
@keyframes ga3{0%{stroke-dashoffset:26}60%,100%{stroke-dashoffset:-335}}
@keyframes ga4{0%{stroke-dashoffset:26}60%,100%{stroke-dashoffset:-240}}
@keyframes ga5{0%{stroke-dashoffset:26}60%,100%{stroke-dashoffset:-444}}
@keyframes ga6{0%{stroke-dashoffset:26}60%,100%{stroke-dashoffset:-160}}
.gp{fill:none;stroke:#7FF6FF;stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center;animation:gping 4.5s ease-out infinite}
@keyframes gping{0%,56%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(.5)}100%{opacity:0;transform:scale(2.8)}}
.k2{animation-delay:.75s}.k3{animation-delay:1.5s}.k4{animation-delay:2.25s}.k5{animation-delay:3s}.k6{animation-delay:3.75s}
.gt{fill:#C9FCFF}.hub{fill:#F0FEFF}
.hub-r{fill:none;stroke:#7FF6FF;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ringOut 2.4s ease-out infinite}
.hub-r.d{animation-delay:-1.2s}
@keyframes ringOut{0%{transform:scale(.5);opacity:.9}100%{transform:scale(3.2);opacity:0}}

/* CTA band */
.cta-band{position:relative;isolation:isolate;overflow:hidden;padding:clamp(56px,6vw,88px) 0;border-top:1px solid var(--line)}
.cta-bg{position:absolute;inset:0;z-index:-1}
.cta-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 72%}
.cta-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,11,20,.88),rgba(2,11,20,.5) 50%,rgba(2,11,20,.92))}
.cta-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px 40px;padding:clamp(28px,3vw,44px) clamp(24px,3.4vw,52px);border-radius:16px;border:1px solid rgba(0,224,240,.35);background:rgba(3,20,34,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 40px rgba(0,224,240,.12)}
.cta-panel .h2{margin:0;max-width:24em}

/* ---------- footer ---------- */
.ftr{border-top:1px solid var(--line);background:#020A12;padding:26px 0}
.ftr-in{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px 40px}
.ftr-logo img{display:block;height:40px;width:auto}
.fnav{display:flex;flex-wrap:wrap;gap:8px clamp(18px,2.6vw,40px)}
.fnav a{font-size:13.5px;color:#C3D1DD;transition:color .2s ease}
.sw .fnav a:hover{color:var(--cyan)}
.social{display:flex;gap:4px}
.social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#DCE7F0;transition:color .2s ease,background-color .2s ease,box-shadow .2s ease}
.sw .social a:hover{color:var(--cyan);background:rgba(0,224,240,.08);box-shadow:0 0 16px rgba(0,224,240,.25)}
.social svg{width:18px;height:18px}
.tagline{margin:0;font-size:13px;color:#C3D1DD}

/* ---------- reveal: fade + 22px slide-up, 0.6s ease ---------- */
@keyframes swUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.sw-rv .rv{opacity:0}
.sw-rv .rv.in{opacity:1;animation:swUp .6s ease backwards}
.sw-rv .rv.in.d1{animation-delay:.1s}.sw-rv .rv.in.d2{animation-delay:.2s}.sw-rv .rv.in.d3{animation-delay:.3s}
.sw-rv .rvs>*{opacity:0}
.sw-rv .rvs.in>*{opacity:1;animation:swUp .6s ease backwards}
.sw-rv .rvs.in>*:nth-child(2){animation-delay:.1s}
.sw-rv .rvs.in>*:nth-child(3){animation-delay:.2s}
.sw-rv .rvs.in>*:nth-child(4){animation-delay:.3s}
.sw-rv .rvs.in>*:nth-child(5){animation-delay:.4s}
.sw-rv .rvs.in>*:nth-child(6){animation-delay:.5s}

/* ---------- responsive ---------- */
@media (max-width:1180px){
.values{grid-template-columns:repeat(3,minmax(0,1fr))}
.meta{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
.nav{display:none}
.hdr-in{display:flex;justify-content:space-between}
.burger{display:inline-flex}
.mnav{display:flex;flex-direction:column;gap:2px;margin:0 var(--gut);padding:8px;border-radius:14px;border:1px solid var(--bd);background:rgba(3,18,31,.97);box-shadow:0 14px 40px rgba(0,0,0,.5)}
.mnav a{padding:12px 14px;border-radius:8px;font-size:16px;color:#DCE7F0}
.sw .mnav a.on{color:var(--cyan);background:rgba(0,224,240,.08)}
.phero{padding:128px 0 56px}
.phero-grid,.split,.brow,.contact-grid,.offices{grid-template-columns:minmax(0,1fr)}
.brow.rev .frame{order:0}
.brow .frame{min-height:260px}
.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.svc-grid>*,.svc-grid>*:nth-child(4),.svc-grid>*:nth-child(5){grid-column:auto}
.steps{grid-template-columns:repeat(2,minmax(0,1fr))}
.pbar{display:none}
.proj-grid{grid-template-columns:minmax(0,1fr)}
.stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
.stat:nth-child(3){padding-inline-start:0}
.stat:nth-child(3)::before,.stat:nth-child(3)::after{display:none}
.ftr-in{flex-direction:column;align-items:flex-start}
}
@media (max-width:600px){
.logo img{height:38px}
.hdr-in{height:68px}
.hdr.is-scrolled .hdr-in{height:60px}
.phero{padding-top:108px}
.lang-jp .h1p{font-size:clamp(22px,6.4vw,30px)}
.inp{font-size:16px}
.chk{min-height:32px}
.values{grid-template-columns:repeat(2,minmax(0,1fr))}
.svc-grid,.steps,.off-grid{grid-template-columns:minmax(0,1fr)}
.frow{grid-template-columns:minmax(0,1fr)}
.checks{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}
.cta-panel .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
.sw *,.sw *::before,.sw *::after{animation:none!important;transition:none!important}
}


/* ---------- production additions ---------- */
.sw [hidden]{display:none!important}
.lang-menu .lang-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:0 14px;border-radius:8px;color:#DCE7F0;font-size:15px;text-align:start}
.sw .lang-menu .lang-opt:hover{background:rgba(0,224,240,.1);color:#00E0F0}
.sw .lang-menu .lang-opt[aria-current]{color:#00E0F0}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form.is-sending button[type=submit]{opacity:.65;pointer-events:none}
.skip{position:absolute;left:-9999px;top:10px;z-index:100;padding:10px 16px;border-radius:8px;background:#00E0F0;color:#021420!important;font-weight:600}
.skip:focus{left:16px}
[dir=rtl] .skip:focus{left:auto;right:16px}
