:root{--red:#d52332;--red-deep:#a91d2a;--burgundy:#57232b;--ink:#15181d;--ink-2:#20262d;--steel:#68727d;--muted:#5e6872;--paper:#f2f4f6;--white:#fff;--line:#dce0e4;--dark-line:rgba(233,238,242,.13);--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--max:1280px;--page-gutter:clamp(22px,5vw,76px);--radius:4px;scroll-behavior:smooth}*{box-sizing:border-box}html{scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,button,input,textarea,select{font-family:var(--font)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}::selection{background:var(--red);color:white}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:10px 16px;background:white;color:var(--ink);transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.topline{height:29px;padding:0 var(--page-gutter);display:flex;align-items:center;gap:10px;background:var(--ink);color:#c6cbd0;font:9px var(--mono);letter-spacing:.11em}.topline-dot,.client-strip-pip{width:6px;height:6px;background:var(--red);border-radius:50%;display:inline-block;flex:none}.topline-right{margin-left:auto;color:#868f98}.site-header{height:82px;padding:0 var(--page-gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(21,24,29,.08)}.brand{display:inline-flex;align-items:center;gap:11px;min-width:0}.brand-type{display:flex;flex-direction:column;line-height:1.2}.brand-type strong{font-size:15px;letter-spacing:.065em;font-weight:850}.brand-type small{margin-top:5px;font:8px var(--mono);letter-spacing:.075em;color:#626b74}.primary-nav{display:flex;align-items:center;gap:clamp(20px,3vw,40px)}.primary-nav>a:not(.nav-cta){font-size:12px;font-weight:620;color:#515a63;transition:color .2s}.primary-nav>a:not(.nav-cta):hover{color:var(--red)}.lang-toggle{border:0;background:transparent;padding:8px 0;display:inline-flex;gap:7px;align-items:center;font-size:10px;font-weight:750;cursor:pointer;color:#626b74}.lang-toggle .lang-active{color:var(--ink)}.lang-divider{color:#c9cdd1}.nav-cta{min-height:42px;display:inline-flex;align-items:center;gap:20px;padding:0 15px;background:var(--red);color:#fff;font-size:11px;font-weight:750;transition:background .2s,transform .2s}.nav-cta:hover,.button-red:hover{background:#b91c2a;transform:translateY(-1px)}.arrow{font-size:16px;font-weight:400}.menu-toggle{display:none}
.dark-section{position:relative;isolation:isolate;background:var(--ink);color:#f6f7f8;overflow:hidden}.hero{min-height:680px;padding:clamp(54px,7vw,94px) var(--page-gutter) 34px;display:grid;grid-template-columns:minmax(0,.93fr) minmax(450px,1.07fr);gap:clamp(35px,6vw,85px);align-items:center}.hero-grid{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,black,transparent 92%)}.hero-glow{position:absolute;z-index:-1;top:-210px;right:-120px;width:760px;height:650px;background:radial-gradient(ellipse,rgba(213,35,50,.18),rgba(87,35,43,.08) 40%,transparent 70%);pointer-events:none}.hero-content{position:relative;z-index:2;max-width:620px}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 24px;font:10px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:#a5adb5}.eyebrow-line{width:24px;height:2px;background:var(--red);display:inline-block;flex:none}.eyebrow-dark{color:#626b75}.hero h1,.section h2,.principles-head h2,.contact-copy h2{font-weight:570;letter-spacing:-.067em;line-height:1.02;font-size:clamp(47px,5.7vw,82px);margin:0}.hero h1 em,.section h2 em,.principles-head h2 em,.contact-copy h2 em{font-style:normal;color:var(--red)}.hero-lede{font-size:clamp(15px,1.18vw,17px);line-height:1.8;color:#b4bbc2;max-width:510px;margin:25px 0 29px}.hero-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.button{min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:0 18px;border:1px solid transparent;font-size:11px;font-weight:730;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.button-red{background:var(--red);color:white}.button-ghost{border-color:rgba(255,255,255,.23);color:#f5f6f7;background:rgba(255,255,255,.02)}.button-ghost:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.07)}.button-arrow{font-size:17px;font-weight:400}.hero-proof{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:39px;color:#8f99a2;font:10px var(--mono);letter-spacing:.02em}.proof-mark{display:flex;align-items:center;gap:8px}.proof-star{font-size:16px;color:var(--red)}.proof-separator{width:1px;height:19px;background:rgba(255,255,255,.2)}
.hero-visual{position:relative;min-width:0;max-width:630px;width:100%;justify-self:end;border:1px solid rgba(232,237,241,.16);background:linear-gradient(135deg,rgba(255,255,255,.052),rgba(255,255,255,.008) 55%),#191e24;box-shadow:0 30px 90px rgba(0,0,0,.22)}.visual-topline{height:43px;border-bottom:1px solid var(--dark-line);display:flex;align-items:center;justify-content:space-between;padding:0 16px;color:#98a2ab;font:9px var(--mono);letter-spacing:.11em}.visual-topline>span:first-child{display:flex;gap:8px;align-items:center}.status-dot{width:6px;height:6px;border-radius:50%;background:#83bba4;box-shadow:0 0 8px #83bba444}.visual-index{color:#8190a0}.scene-wrap{height:clamp(300px,34vw,425px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 55% 46%,rgba(80,92,105,.24),transparent 59%),linear-gradient(145deg,#171c22,#1e242b 75%,#181d23)}.scene-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 65%,rgba(21,24,29,.6)),linear-gradient(90deg,rgba(21,24,29,.12),transparent 30%,transparent 70%,rgba(21,24,29,.2))}.scene-wrap:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(215,221,227,.15) .6px,transparent .6px);background-size:7px 7px;opacity:.17;mask-image:linear-gradient(transparent,black 30%,black 70%,transparent);pointer-events:none}.scene-fallback{width:100%;height:100%;position:absolute;inset:0;z-index:1;transition:opacity .28s ease}.scene-fallback [data-layer]{transition:opacity .25s,filter .25s}.scene-wrap[data-system="electrical"] .layer-air,.scene-wrap[data-system="electrical"] .layer-fire{opacity:.26}.scene-wrap[data-system="air"] .layer-electrical,.scene-wrap[data-system="air"] .layer-fire{opacity:.23}.scene-wrap[data-system="fire"] .layer-electrical,.scene-wrap[data-system="fire"] .layer-air{opacity:.22}.scene-wrap[data-system="air"] .layer-air,.scene-wrap[data-system="fire"] .layer-fire,.scene-wrap[data-system="electrical"] .layer-electrical{filter:drop-shadow(0 0 5px rgba(213,35,50,.13))}.scene-wrap.canvas-ready .scene-fallback{opacity:0;pointer-events:none}#system-canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .4s}#system-canvas.ready{opacity:1}.scene-corner{position:absolute;z-index:4;font:8px var(--mono);letter-spacing:.12em;color:#8f99a3;pointer-events:none}.scene-corner-tl{left:15px;top:13px}.scene-corner-br{right:15px;bottom:14px}.corner-cross{color:var(--red);font-size:15px;vertical-align:-1px}.scene-label{position:absolute;z-index:4;display:flex;align-items:center;gap:8px;font:8px var(--mono);letter-spacing:.12em;color:#d8dde1;background:rgba(21,24,29,.74);padding:8px 10px;border-left:2px solid var(--red);pointer-events:none}.label-number{color:var(--red)}.label-top{top:69px;right:15px}.label-bottom{left:15px;bottom:38px}.system-controller{padding:16px 17px 17px;border-top:1px solid var(--dark-line);background:#181d23}.controller-label{display:flex;align-items:center;gap:13px;color:#7f8a94;font:8px var(--mono);letter-spacing:.14em}.controller-rule{height:1px;background:var(--dark-line);flex:1}.system-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}.system-tab{min-height:42px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.018);color:#aab2ba;font-size:10px;text-align:left;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.system-tab:hover{border-color:rgba(255,255,255,.35);color:white}.system-tab.is-active{color:#fff;border-color:rgba(213,35,50,.65);background:rgba(213,35,50,.1)}.tab-swatch{width:6px;height:6px;display:inline-block;border-radius:50%;flex:none}.swatch-electric{background:#d52332}.swatch-air{background:#8daab9}.swatch-fire{background:#f0646e}.tab-arrow{margin-left:auto;opacity:0;font-size:13px}.system-tab.is-active .tab-arrow{opacity:1;color:var(--red)}.system-description{margin:11px 0 0;min-height:35px;color:#8e98a1;font-size:10px;line-height:1.6}.hero-bottomline{grid-column:1/-1;display:flex;align-items:center;gap:15px;color:#818c96;font:9px var(--mono);letter-spacing:.12em;margin-top:0}.hero-bottom-track{width:84px;height:1px;background:#454c54;position:relative}.hero-bottom-track i{position:absolute;left:0;top:-1px;background:var(--red);width:29%;height:3px}
.client-strip{min-height:88px;background:#fff;display:flex;align-items:center;gap:clamp(25px,4.5vw,68px);padding:19px var(--page-gutter);border-bottom:1px solid var(--line)}.client-strip-label{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#626b74;font:9px var(--mono);letter-spacing:.12em}.client-names{display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,3.4vw,52px);flex:1;color:#5b646d;font-size:11px;letter-spacing:.025em;flex-wrap:wrap}.client-names span{white-space:nowrap}.client-names b{font-weight:800;color:#343b43}
.section{padding:clamp(78px,9vw,126px) var(--page-gutter)}.section-head,.projects-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;max-width:var(--max);margin:0 auto 51px}.section h2,.principles-head h2,.contact-copy h2{font-size:clamp(40px,5vw,65px);max-width:740px}.section-intro{max-width:370px;color:#69737d;font-size:14px;line-height:1.8;margin:0 0 3px}.expertise-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.expertise-card{min-height:338px;padding:25px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #dce1e5;background:linear-gradient(150deg,#fff,#f9fafb);display:flex;flex-direction:column;align-items:flex-start;transition:transform .3s,border-color .3s,box-shadow .3s}.expertise-card:hover{transform:translateY(-4px);border-color:#c4cbd2;box-shadow:0 18px 45px rgba(21,24,29,.055)}.expertise-number{color:#626b74;font:9px var(--mono);letter-spacing:.11em}.service-icon{width:45px;height:45px;display:grid;place-items:center;margin:28px 0 17px;background:#f0f1f3;border:1px solid #e0e4e8}.service-icon svg,.step-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-power{color:var(--red)}.icon-air{color:#668697}.icon-fire{color:#a92632}.expertise-card h3{font-size:22px;line-height:1.2;letter-spacing:-.045em;font-weight:630;margin:0 0 11px;max-width:300px}.expertise-card p{margin:0;max-width:350px;color:#6d7680;font-size:12px;line-height:1.8}.text-link{position:relative;z-index:3;display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding-top:24px;color:#353d45;font-size:11px;font-weight:750;text-decoration:none}.text-link .text-link-label{color:inherit;font-size:11px;transition:color .2s;transform:none!important}.text-link .text-link-arrow,.text-link>span:last-child{color:var(--red);font-size:15px;display:inline-block;transition:transform .2s}.text-link:hover .text-link-arrow,.text-link:hover>span:last-child{transform:translate(2px,-2px)}.expertise-feature{background:var(--ink);border-color:var(--ink);color:white}.expertise-feature .expertise-number{color:#8b969f}.expertise-feature p{color:#a0aab3}.expertise-feature .text-link{color:white}.expertise-feature .service-icon{background:#252b33;border-color:#363d46}.expertise-feature .service-card-art{opacity:.8}.service-card-art{position:absolute;z-index:-1;pointer-events:none}.art-panel{right:-11px;bottom:-9px;width:155px;height:188px;border:1px solid rgba(213,35,50,.5);transform:skewY(-22deg);opacity:.48}.art-panel:before,.art-panel:after{content:"";position:absolute;top:10px;bottom:10px;width:35px;border:1px solid rgba(213,35,50,.7)}.art-panel:before{left:14px}.art-panel:after{left:64px}.art-panel span{position:absolute;height:1px;width:135px;left:8px;background:rgba(213,35,50,.75)}.art-panel span:nth-child(1){top:40px}.art-panel span:nth-child(2){top:83px}.art-panel span:nth-child(3){top:126px}.art-panel i{position:absolute;top:0;left:52px;width:1px;height:180px;background:rgba(213,35,50,.7)}.art-air{right:10px;bottom:-15px;width:135px;height:170px;opacity:.45}.art-air:before{content:"";position:absolute;bottom:0;left:20px;width:45px;height:110px;border:1px solid #829eac;border-radius:18px 18px 2px 2px}.art-air:after{content:"";position:absolute;bottom:109px;left:24px;width:37px;height:9px;border:1px solid #829eac;border-radius:3px}.art-air span{position:absolute;left:45px;top:17px;width:79px;height:3px;background:#829eac}.art-air span:nth-child(2){left:81px;top:17px;width:3px;height:88px}.art-air span:nth-child(3){left:82px;top:102px;width:36px;height:3px}.art-fire{right:3px;bottom:-25px;width:150px;height:160px;opacity:.28}.art-fire:before{content:"";position:absolute;top:16px;left:0;width:139px;height:60px;border:3px solid var(--red);border-bottom:0;border-radius:3px 3px 0 0}.art-fire:after{content:"";position:absolute;top:73px;left:21px;width:3px;height:26px;background:var(--red);box-shadow:43px 0 var(--red),86px 0 var(--red)}.art-fire span{position:absolute;top:96px;left:16px;width:13px;height:17px;border-radius:4px;background:var(--red)}.art-fire span:nth-child(2){left:59px}.art-fire i{position:absolute;top:96px;left:102px;width:13px;height:17px;border-radius:4px;background:var(--red)}.expertise-wide{min-height:202px;grid-column:1/-1;display:grid;grid-template-columns:100px 1fr auto;align-content:center;align-items:center;gap:25px;background:#e7ebee}.expertise-wide .expertise-number{align-self:start;margin-top:7px}.wide-service-copy{max-width:650px}.expertise-wide h3{max-width:none}.expertise-wide p{max-width:620px}.round-link{width:48px;height:48px;display:grid;place-items:center;border:1px solid #b5bec6;border-radius:50%;font-size:18px;transition:background .2s,color .2s,border .2s}.round-link:hover{background:var(--red);border-color:var(--red);color:white}.wide-lines{position:absolute;right:80px;bottom:-32px;width:240px;height:130px;opacity:.2;pointer-events:none;background:repeating-linear-gradient(155deg,transparent 0 14px,#59636d 14px 15px)}
.projects-section{background:#e8ecef}.projects-heading{margin-bottom:37px}.project-tools{max-width:var(--max);margin:0 auto 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.project-count{display:flex;align-items:center;gap:11px;color:#58636d;font:9px var(--mono);letter-spacing:.1em}.project-count span:first-child{display:grid;place-items:center;width:33px;height:33px;border:1px solid #cbd2d8;color:var(--ink);font-size:11px}.project-filters{display:flex;gap:5px;flex-wrap:wrap}.filter-button{border:1px solid transparent;background:transparent;padding:8px 11px;font-size:10px;color:#535e68;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.filter-button:hover{border-color:#c5cdd4;color:var(--ink)}.filter-button.active{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}.project-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:0;border:1px solid #d7dde2;background:#f8f9fa;text-align:left;cursor:pointer;transition:transform .28s,box-shadow .28s,border-color .28s;animation:cardIn .35s both}.project-card:hover{transform:translateY(-5px);box-shadow:0 15px 32px rgba(21,24,29,.12);border-color:#bec7ce}.project-card[hidden]{display:none}.project-card-large{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(170px,.8fr)}.project-image-wrap{position:relative;display:block;overflow:hidden;background:#252b32;min-height:235px;max-height:320px}.project-card-large .project-image-wrap{min-height:315px;height:100%;max-height:none}.project-image-wrap > img{width:100%;height:100%;min-height:inherit;max-height:inherit;object-fit:cover;transition:transform .55s cubic-bezier(.2,.65,.3,1);filter:saturate(.84)}.project-card-large .project-image-wrap > img{position:absolute;inset:0;max-height:none}.project-card:hover .project-image-wrap > img{transform:scale(1.045);filter:saturate(1)}.project-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,17,21,.25),transparent 40%,rgba(14,17,21,.38));pointer-events:none}.project-image-index{position:absolute;z-index:1;top:12px;left:13px;font:9px var(--mono);letter-spacing:.11em;color:white}.project-open{position:absolute;z-index:1;right:12px;bottom:12px;width:33px;height:33px;border:1px solid rgba(255,255,255,.56);background:rgba(21,24,29,.35);color:white;display:grid;place-items:center;font-size:17px;transition:background .2s,border-color .2s}.project-card:hover .project-open{background:var(--red);border-color:var(--red)}.project-card-copy{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:19px 20px 21px;min-height:130px}.project-card-large .project-card-copy{justify-content:center;padding:clamp(20px,3vw,38px)}.project-category{font:8px var(--mono);letter-spacing:.13em;color:var(--red);text-transform:uppercase}.project-card-copy strong{font-size:19px;line-height:1.22;letter-spacing:-.04em;font-weight:680}.project-meta{font-size:10px;color:#5e6872;line-height:1.7}.project-meta span{padding:0 3px;color:#c1c7cd}.asset-note{max-width:var(--max);display:flex;align-items:flex-start;gap:9px;margin:24px auto 0;color:#58636d;font-size:10px;line-height:1.7}.note-mark{flex:none;display:grid;place-items:center;width:16px;height:16px;border:1px solid #b8c1c8;border-radius:50%;font-size:10px}
.principles-section{padding:clamp(78px,9vw,120px) var(--page-gutter)}.principles-backdrop{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 15% 20%,rgba(213,35,50,.13),transparent 42%),linear-gradient(135deg,#15181d,#1a2027)}.principles-backdrop: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:54px 54px;mask-image:linear-gradient(90deg,black,transparent 75%)}.principles-head{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.58fr);gap:28px 65px;align-items:end}.principles-head .eyebrow{grid-column:1/-1;margin-bottom:-4px}.principles-head h2{font-size:clamp(40px,4.8vw,63px)}.principles-head>p:last-child{margin:0 0 4px;max-width:410px;color:#9ba5ae;font-size:13px;line-height:1.9}.principle-list{max-width:var(--max);margin:57px auto 0;border-top:1px solid var(--dark-line)}.principle-row{display:grid;grid-template-columns:90px minmax(0,1fr) 50px;gap:20px;align-items:center;padding:27px 0;border-bottom:1px solid var(--dark-line)}.principle-index{align-self:start;padding-top:5px;color:var(--red);font:10px var(--mono);letter-spacing:.12em}.principle-row h3{margin:0 0 6px;font-size:20px;font-weight:550;letter-spacing:-.03em}.principle-row p{margin:0;max-width:630px;color:#909ba5;font-size:12px;line-height:1.75}.principle-mark{width:39px;height:39px;border:1px solid rgba(255,255,255,.17);border-radius:50%;display:grid;place-items:center;color:#9ea7af;font-size:16px;transition:background .2s,color .2s,border-color .2s}.principle-row:hover .principle-mark{background:var(--red);border-color:var(--red);color:white}.principles-foot{max-width:var(--max);margin:29px auto 0;display:flex;align-items:center;gap:14px;color:#818c96;font:9px var(--mono);letter-spacing:.13em}.principle-foot-line{height:1px;background:var(--dark-line);flex:1}
.approach-section{background:#fff}.approach-intro{max-width:var(--max);margin:0 auto 54px}.approach-intro h2{margin-bottom:17px}.approach-intro>p:last-child{color:#535e68;font-size:13px;max-width:510px;line-height:1.8;margin:0}.approach-steps{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.approach-step{padding:23px 22px 28px 0;position:relative;border-right:1px solid var(--line)}.approach-step:not(:first-child){padding-left:22px}.approach-step:last-child{border-right:0}.step-top{display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);color:#626b74;letter-spacing:.1em}.step-top i{display:block;width:6px;height:6px;background:var(--red);border-radius:50%;margin-right:7px}.step-icon{margin:32px 0 21px;width:48px;height:48px;display:grid;place-items:center;color:var(--red);border:1px solid #e0e4e8;background:#f8f9fa}.step-icon svg{width:26px;height:26px}.approach-step h3{font-size:17px;line-height:1.3;letter-spacing:-.03em;margin:0 0 10px;font-weight:670}.approach-step p{margin:0;color:#626b74;font-size:11px;line-height:1.8;max-width:240px}
.contact-section{padding:clamp(72px,8vw,110px) var(--page-gutter);display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,.75fr);gap:clamp(40px,8vw,120px);align-items:start}.contact-pattern{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 20% 40%,rgba(213,35,50,.12),transparent 48%)}.contact-pattern:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:45px 45px;mask-image:linear-gradient(90deg,black,transparent 85%)}.contact-copy{max-width:600px;padding-top:13px}.contact-copy h2{font-size:clamp(43px,5.1vw,70px)}.contact-copy>p:not(.eyebrow){max-width:500px;color:#a2abb4;font-size:14px;line-height:1.9;margin:25px 0}.contact-note{display:flex;align-items:flex-start;gap:13px;max-width:435px;color:#929da7;font-size:11px;line-height:1.8;border-top:1px solid var(--dark-line);padding-top:17px;margin-top:42px}.contact-note-icon{flex:none;display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(213,35,50,.6);color:var(--red);font-size:15px}.contact-form{background:#fff;color:var(--ink);padding:clamp(23px,3vw,36px);box-shadow:0 25px 65px rgba(0,0,0,.18)}.form-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:21px;border-bottom:1px solid #e2e6e9;margin-bottom:20px;color:#66717c;font:9px var(--mono);letter-spacing:.11em}.form-step{color:var(--red)}.contact-form label{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;font-size:10px;font-weight:730;color:#3d454c}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #dce1e5;outline:none;background:#f7f8f9;border-radius:0;padding:12px 13px;color:var(--ink);font-size:11px;font-weight:450;min-height:43px;transition:border .2s,box-shadow .2s}.contact-form textarea{resize:vertical;min-height:82px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(213,35,50,.1)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a1a9b0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-submit{width:100%;justify-content:space-between;margin-top:4px}.form-disclaimer{margin:12px 0 0;color:#606a73;font-size:9px;line-height:1.65}.form-message{margin-top:12px;padding:12px;border-left:3px solid var(--red);background:#f4f5f6;color:#3d454c;font-size:11px;line-height:1.7}.site-footer{background:#101317;color:#fff;padding:32px var(--page-gutter) 21px}.footer-top{display:flex;align-items:center;gap:35px;padding-bottom:29px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-footer .brand-type strong{color:#f3f4f6}.brand-footer .brand-type small{color:#8e98a1}.footer-top>p{font-size:11px;color:#9aa3ab;margin:0}.back-top{margin-left:auto;display:flex;align-items:center;gap:14px;color:#b6bdc4;font-size:10px}.back-top span:last-child{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-size:14px;transition:background .2s}.back-top:hover span:last-child{background:var(--red)}.footer-bottom{padding-top:19px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;color:#8e98a1;font:8px var(--mono);letter-spacing:.02em}.footer-bottom>span:nth-child(2){text-align:center}.footer-mark{font-size:14px;font-weight:850;color:#b0b6bd;letter-spacing:-.1em}.footer-mark span{color:var(--red)}
.project-dialog{width:min(880px,calc(100vw - 28px));max-width:none;max-height:min(90vh,760px);border:0;padding:0;background:#f7f8f9;color:var(--ink);overflow:auto;box-shadow:0 35px 110px rgba(0,0,0,.45)}.project-dialog::backdrop{background:rgba(9,11,14,.79);backdrop-filter:blur(4px)}.dialog-close{position:absolute;z-index:4;top:12px;right:12px;width:37px;height:37px;border:1px solid rgba(255,255,255,.55);background:rgba(21,24,29,.62);color:white;font-size:24px;line-height:1;cursor:pointer}.project-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.85fr)}.dialog-image{min-height:420px;background:#20262d;position:relative}.dialog-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dialog-copy{padding:clamp(25px,4vw,43px);align-self:center}.dialog-copy .eyebrow{font-size:8px;margin-bottom:18px}.dialog-copy h2{font-size:clamp(27px,3vw,38px);line-height:1.12;letter-spacing:-.06em;margin:0 0 13px}.dialog-subtitle{font-size:11px;color:var(--red);font-weight:700;margin:0 0 22px}.dialog-scope{font-size:13px;line-height:1.85;color:#646e78}.dialog-source{font-size:9px;color:#626b74;line-height:1.75;padding-top:16px;border-top:1px solid var(--line);margin-top:24px}.dialog-action{margin-top:8px}.toast{position:fixed;z-index:100;right:22px;bottom:22px;max-width:min(430px,calc(100vw - 44px));padding:15px 18px;background:#fff;border-left:3px solid var(--red);color:var(--ink);box-shadow:0 15px 40px rgba(0,0,0,.18);font-size:12px;line-height:1.6}.toast[hidden]{display:none}
.reveal{opacity:1;transform:translateY(0)}.js-reveal .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.65,.3,1)}.js-reveal .reveal.in-view{opacity:1;transform:translateY(0)}.expertise-card:nth-child(2),.project-card:nth-child(2){transition-delay:40ms}.expertise-card:nth-child(3),.project-card:nth-child(3){transition-delay:75ms}.approach-step:nth-child(2){transition-delay:50ms}.approach-step:nth-child(3){transition-delay:100ms}.approach-step:nth-child(4){transition-delay:150ms}@keyframes cardIn{from{opacity:.75;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
html[dir="rtl"] body{text-align:right}html[dir="rtl"] .topline-right{margin-left:0;margin-right:auto}html[dir="rtl"] .primary-nav{direction:rtl}html[dir="rtl"] .hero-content,html[dir="rtl"] .hero-visual{direction:rtl}html[dir="rtl"] .hero-visual{justify-self:start}html[dir="rtl"] .eyebrow{letter-spacing:0}html[dir="rtl"] .hero-proof{font-family:var(--font)}html[dir="rtl"] .button-arrow,html[dir="rtl"] .arrow,html[dir="rtl"] .text-link-arrow,html[dir="rtl"] .round-link,html[dir="rtl"] .principle-mark,html[dir="rtl"] .back-top span:last-child{transform:scaleX(-1)}html[dir="rtl"] .scene-label{border-left:0;border-right:2px solid var(--red)}html[dir="rtl"] .label-top{right:auto;left:15px}html[dir="rtl"] .label-bottom{left:auto;right:15px}html[dir="rtl"] .system-tab{text-align:right}html[dir="rtl"] .tab-arrow{margin-left:0;margin-right:auto}html[dir="rtl"] .project-card{text-align:right}html[dir="rtl"] .project-image-index{left:auto;right:13px}html[dir="rtl"] .project-open{right:auto;left:12px}html[dir="rtl"] .project-category,html[dir="rtl"] .expertise-number,html[dir="rtl"] .project-count,html[dir="rtl"] .project-image-index,html[dir="rtl"] .step-top,html[dir="rtl"] .form-heading{letter-spacing:0}html[dir="rtl"] .principle-row{direction:rtl}html[dir="rtl"] .principle-index{font-family:var(--mono)}html[dir="rtl"] .contact-form{text-align:right}html[dir="rtl"] .form-message,html[dir="rtl"] .contact-note{border-left:0;border-right:3px solid var(--red)}html[dir="rtl"] .footer-top{direction:rtl}html[dir="rtl"] .back-top{margin-left:0;margin-right:auto}html[dir="rtl"] .footer-bottom{direction:rtl}html[dir="rtl"] .footer-bottom>span:nth-child(2){text-align:center}html[dir="rtl"] .toast{right:auto;left:22px;border-left:0;border-right:3px solid var(--red)}html[dir="rtl"] .project-dialog{text-align:right}html[dir="rtl"] .dialog-source{border-top:1px solid var(--line)}html[dir="rtl"] .text-link{direction:rtl;text-align:right}html[dir="rtl"] .text-link .text-link-label{transform:none!important}html[dir="rtl"] .text-link .text-link-arrow,html[dir="rtl"] .text-link>span:last-child{transform:scaleX(-1);display:inline-block}html[dir="rtl"] .text-link:hover .text-link-arrow,html[dir="rtl"] .text-link:hover>span:last-child{transform:scaleX(-1) translate(-2px,-2px)}
@media(min-width:1440px){.hero{padding-top:95px;padding-bottom:42px}.hero h1{font-size:86px}.scene-wrap{height:440px}}
@media(max-width:1100px){.hero{grid-template-columns:minmax(0,.94fr) minmax(390px,1.06fr);gap:36px}.hero h1{font-size:clamp(44px,5.8vw,66px)}.system-tab{font-size:9px;padding:0 7px}.client-strip{align-items:flex-start;flex-direction:column;gap:13px}.client-names{width:100%;justify-content:flex-start;gap:clamp(18px,4vw,40px)}.expertise-card{padding:21px}.section-head,.projects-heading{gap:25px}.project-card-large .project-card-copy{padding:22px}.project-card-copy strong{font-size:17px}}
@media(max-width:820px){:root{--page-gutter:25px}.site-header{height:73px}.menu-toggle{width:42px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #dfe3e7;background:white;cursor:pointer}.menu-toggle span{width:18px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.primary-nav{display:none;position:absolute;top:72px;left:0;right:0;padding:20px var(--page-gutter) 25px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 25px rgba(21,24,29,.08);align-items:stretch;gap:0;flex-direction:column}.primary-nav.open{display:flex}.primary-nav>a:not(.nav-cta){padding:12px 0;border-bottom:1px solid #eceff1;font-size:13px}.lang-toggle{align-self:flex-start;margin:10px 0}.nav-cta{justify-content:space-between;margin-top:6px}.hero{grid-template-columns:1fr;min-height:0;padding-top:72px;padding-bottom:26px;gap:44px}.hero-content{max-width:700px}.hero h1{font-size:clamp(55px,9vw,78px);max-width:700px}.hero-lede{max-width:620px}.hero-visual{justify-self:stretch;max-width:none}.scene-wrap{height:clamp(340px,63vw,470px)}.hero-bottomline{margin-top:0}.section-head,.projects-heading{align-items:flex-start;flex-direction:column;gap:20px}.section-intro{max-width:600px}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expertise-card{min-height:320px}.expertise-wide{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-height:auto;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;padding:24px 22px}.expertise-wide .expertise-number{width:auto;margin-top:0}.expertise-wide .wide-service-copy{width:100%;max-width:100%;min-width:0}.expertise-wide h3{font-size:20px;line-height:1.25;margin:0 0 10px;max-width:100%}.expertise-wide p{font-size:12px;line-height:1.75;color:#6d7680;max-width:100%}.expertise-wide .round-link{margin-top:6px;margin-left:0;margin-right:0;align-self:flex-start}.expertise-wide .wide-lines{display:none}html[dir="rtl"] .expertise-wide{text-align:right;align-items:flex-start}html[dir="rtl"] .expertise-wide .round-link{margin-left:0;margin-right:0;align-self:flex-start}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card-large{grid-column:1/-1}.project-card-large .project-image-wrap{min-height:300px}.principles-head{grid-template-columns:1fr;gap:20px}.principles-head .eyebrow{grid-column:auto;margin-bottom:0}.principles-head>p:last-child{max-width:600px}.approach-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.approach-step:nth-child(2){border-right:0}.approach-step:nth-child(3),.approach-step:nth-child(4){border-top:1px solid var(--line)}.approach-step:nth-child(3){padding-left:0}.approach-step:nth-child(4){border-right:0}.contact-section{grid-template-columns:1fr;gap:36px}.contact-copy{max-width:700px}.contact-form{max-width:650px;width:100%}}
@media(max-width:560px){:root{--page-gutter:19px}.topline{font-size:8px;letter-spacing:.065em}.topline-right{display:none}.brand-type strong{font-size:13px}.brand-type small{font-size:7px}.hero{padding-top:54px;gap:33px}.eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:18px}.hero h1{font-size:clamp(43px,11.6vw,62px);line-height:1.025}.hero-lede{font-size:13px;line-height:1.8;margin:20px 0 23px}.hero-actions{gap:8px}.button{min-height:47px;padding:0 13px;gap:15px;font-size:10px}.hero-proof{gap:11px;margin-top:26px;font-size:8px}.proof-separator{height:14px}.hero-visual{margin:0 -1px}.visual-topline{height:38px;padding:0 11px;font-size:8px}.scene-wrap{height:310px}.scene-label{font-size:7px;padding:6px 7px}.label-top{right:7px;top:60px}.label-bottom{left:7px;bottom:32px}.scene-corner-tl{left:10px;top:10px;font-size:7px}.scene-corner-br{right:10px;bottom:8px;font-size:7px}.system-controller{padding:13px 10px}.system-tabs{grid-template-columns:1fr;gap:5px}.system-tab{min-height:37px;font-size:10px;padding:0 11px}.system-description{font-size:9px;min-height:0;margin-top:10px}.hero-bottomline{font-size:7px;gap:9px;letter-spacing:.08em}.hero-bottom-track{width:36px}.client-strip{padding-top:18px;padding-bottom:19px;gap:12px}.client-strip-label{font-size:8px;letter-spacing:.08em}.client-names{gap:12px 19px;font-size:9px}.section{padding-top:70px;padding-bottom:70px}.section-head,.projects-heading{margin-bottom:32px}.section h2,.principles-head h2{font-size:clamp(37px,9.5vw,51px)}.section-intro{font-size:12px;line-height:1.8}.expertise-grid{grid-template-columns:1fr;gap:10px}.expertise-card{min-height:300px;padding:22px}.expertise-wide{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:auto;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;padding:22px 18px}.expertise-wide .expertise-number{width:auto;margin-top:0}.expertise-wide .wide-service-copy{width:100%;max-width:100%;min-width:0}.expertise-wide h3{font-size:19px;line-height:1.25;margin:0 0 10px;max-width:100%}.expertise-wide p{font-size:11.5px;line-height:1.75;color:#6d7680;max-width:100%}.expertise-wide .round-link{margin-top:6px;margin-left:0;margin-right:0;align-self:flex-start}.expertise-wide .wide-lines{display:none}html[dir="rtl"] .expertise-wide{text-align:right;align-items:flex-start}html[dir="rtl"] .expertise-wide .round-link{margin-left:0;margin-right:0;align-self:flex-start}.service-icon{margin-top:21px}.expertise-card h3{font-size:21px}.project-tools{align-items:flex-start;flex-direction:column;margin-bottom:16px}.project-filters{gap:4px}.filter-button{padding:8px 9px;font-size:9px}.project-grid{grid-template-columns:1fr;gap:11px}.project-card-large{display:flex;grid-column:auto}.project-card-large .project-image-wrap{min-height:245px;height:auto}.project-image-wrap{min-height:230px;max-height:285px}.project-card-large .project-image-wrap > img{position:relative;min-height:245px;max-height:285px}.project-card-copy,.project-card-large .project-card-copy{padding:17px 17px 19px;min-height:115px}.project-card-copy strong{font-size:17px}.asset-note{font-size:9px;margin-top:19px}.principles-section{padding-top:70px;padding-bottom:70px}.principles-head>p:last-child{font-size:12px}.principle-list{margin-top:34px}.principle-row{grid-template-columns:42px minmax(0,1fr) 32px;gap:10px;padding:22px 0}.principle-row h3{font-size:17px}.principle-row p{font-size:10px}.principle-mark{width:29px;height:29px;font-size:13px}.principles-foot{font-size:8px;gap:9px}.approach-intro{margin-bottom:35px}.approach-steps{grid-template-columns:1fr}.approach-step,.approach-step:not(:first-child){padding:20px 0 22px;border-right:0;border-top:1px solid var(--line)}.approach-step:first-child{border-top:0}.step-icon{margin:19px 0 14px}.approach-step h3{font-size:16px}.approach-step p{max-width:330px}.contact-section{padding-top:65px;padding-bottom:65px;gap:28px}.contact-copy h2{font-size:clamp(42px,10.8vw,57px)}.contact-copy>p:not(.eyebrow){font-size:12px;margin:20px 0}.contact-note{margin-top:25px;font-size:10px}.contact-form{padding:22px 17px}.form-row{grid-template-columns:1fr;gap:0}.site-footer{padding-top:26px}.footer-top{display:grid;grid-template-columns:1fr auto;gap:18px}.footer-top>p{grid-column:1/-1;grid-row:2}.back-top{grid-column:2;grid-row:1;font-size:0;gap:0}.footer-bottom{grid-template-columns:1fr auto;gap:10px 15px;font-size:7px}.footer-bottom>span:nth-child(2){grid-row:2;grid-column:1/-1;text-align:left}.footer-mark{grid-column:2;grid-row:1}.toast{right:12px;bottom:12px;max-width:calc(100vw - 24px)}html[dir="rtl"] .footer-bottom>span:nth-child(2){text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js-reveal .reveal{opacity:1;transform:none}}
@media(forced-colors:active){.button-red,.nav-cta{border:1px solid ButtonText}.status-dot,.topline-dot,.client-strip-pip{outline:1px solid CanvasText}}
/* Brand mark crop from the supplied Mega Power artwork. */
.brand-symbol-img{display:block;width:66px;height:31px;object-fit:contain;flex:none}
.brand-symbol-img-inverse{width:66px;height:31px}
@media(max-width:560px){.brand-symbol-img,.brand-symbol-img-inverse{width:53px;height:26px}}

/* Locally generated project brief: useful in the prototype, but never submitted. */
.brief-output-label{margin-top:18px!important;font-size:10px!important}
#brief-output{font-family:var(--mono);font-size:10px;line-height:1.75;min-height:175px;background:#fff;white-space:pre-wrap}
.brief-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:10px}
.brief-copy{min-height:37px;padding:0 15px;border:1px solid #cdd3d8;background:#fff;color:var(--ink);font-size:10px;font-weight:750;cursor:pointer}
.brief-copy:hover{border-color:var(--red);color:var(--red)}
#copy-status{font-size:10px;color:#616b74}
.brief-copy:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* ── v2 editorial system: official client marks, company story and core values ── */
html { scroll-behavior: smooth; }
html[dir="rtl"] body { font-family: Cairo, "Segoe UI", Arial, sans-serif; letter-spacing: 0; }
.site-header { box-shadow: 0 4px 20px rgba(12,17,22,.035); }
.primary-nav { gap: clamp(14px, 2.2vw, 31px); }
.primary-nav > a:not(.nav-cta) { white-space: nowrap; }
.hero { min-height: min(760px, calc(100svh - 110px)); }
.hero h1 { max-width: 660px; font-weight: 640; line-height: .99; letter-spacing: -.075em; }
.hero-lede { max-width: 490px; }
.hero-visual { border-color: rgba(213,35,50,.28); box-shadow: 0 28px 90px rgba(0,0,0,.26), 0 0 0 1px rgba(255,255,255,.025) inset; }
.scene-wrap { background: radial-gradient(ellipse at 52% 48%, rgba(106,120,133,.23), transparent 62%), linear-gradient(145deg,#171b21,#20262d 72%,#171b21); }
.scene-wrap::after { background: linear-gradient(180deg,transparent 72%,rgba(14,17,21,.35)),linear-gradient(90deg,rgba(21,24,29,.1),transparent 22%,transparent 78%,rgba(21,24,29,.18)); }
.scene-fallback { transform: scale(1.025); }
#system-canvas { touch-action: pan-y; }
.system-tab:focus-visible,.filter-button:focus-visible,.project-card:focus-visible,.dialog-thumb:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }

.client-wall { display:grid; grid-template-columns:minmax(225px,.66fr) minmax(0,1.6fr); align-items:center; gap:clamp(28px,5vw,76px); padding:clamp(44px,5vw,70px) var(--page-gutter); background:#fff; border-bottom:1px solid #e5e8eb; }
.client-wall-head { max-width:400px; }
.client-wall-head .eyebrow { margin-bottom:16px; font-size:9px; }
.client-wall-head h2 { max-width:380px; margin:0 0 16px; font-size:clamp(33px,3.5vw,48px); line-height:1.02; letter-spacing:-.065em; font-weight:640; }
.client-wall-head h2 em { color:var(--red); font-style:normal; }
.client-wall-head > p:last-child { max-width:355px; margin:0; color:#67727c; font-size:12px; line-height:1.8; }
.client-logo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; align-content:center; }
.client-logo-card { min-width:0; min-height:103px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:12px 10px 10px; border:1px solid #e9ecef; background:#fff; position:relative; transition:border-color .2s, box-shadow .2s, transform .2s; }
.client-logo-card::before { content:""; position:absolute; left:0; right:0; top:-1px; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.client-logo-card:hover { border-color:#d1d7dc; box-shadow:0 9px 26px rgba(21,24,29,.06); transform:translateY(-2px); }
.client-logo-card:hover::before { transform:scaleX(1); }
.client-logo-card img { width:100%; height:46px; max-width:180px; object-fit:contain; transition:transform .2s ease; }
.client-logo-card img[src*="tg-technogroup"],
.client-logo-card source[srcset*="tg-technogroup"] ~ img { transform:scale(1.38); }
.client-logo-card img[src*="lacto-misr"],
.client-logo-card source[srcset*="lacto-misr"] ~ img { transform:scale(1.22); }
.client-logo-card img[src*="electricity-company"],
.client-logo-card source[srcset*="electricity-company"] ~ img { transform:scale(1.15); }
.client-logo-card span { width:100%; text-align:center; color:#65707a; font:700 8px/1.35 var(--mono); letter-spacing:.055em; }
html[dir="rtl"] .client-logo-card span { font-family: Cairo, "Segoe UI", Arial, sans-serif; letter-spacing:0; }

.about-section { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(36px,7vw,100px); align-items:stretch; background:#f2f4f6; }
.about-lead { max-width:560px; display:flex; flex-direction:column; align-items:flex-start; }
.about-lead .eyebrow { margin-bottom:28px; }
.about-established { display:flex; align-items:center; gap:14px; color:#69737d; font:9px var(--mono); letter-spacing:.12em; margin:0 0 23px; }
.about-established strong { font:700 27px/1 var(--font); color:var(--red); letter-spacing:-.06em; }
.about-established i { display:block; height:1px; width:70px; background:#c7cdd2; }
.about-lead h2 { font-size:clamp(42px,4.9vw,68px); line-height:.99; letter-spacing:-.075em; margin:0 0 23px; font-weight:640; }
.about-lead h2 em { color:var(--red); font-style:normal; }
.about-lead > p:last-child { max-width:465px; font-size:14px; color:#59646e; line-height:1.95; margin:0; }
.about-statements { align-self:center; background:#fff; border:1px solid #e0e4e8; box-shadow:0 18px 48px rgba(21,24,29,.045); }
.about-statement { padding:25px clamp(20px,3vw,35px) 27px; border-bottom:1px solid #e8ecef; }
.about-statement-index { font:9px var(--mono); letter-spacing:.12em; color:var(--red); }
.about-statement h3 { font-size:22px; margin:12px 0 8px; letter-spacing:-.045em; font-weight:670; }
.about-statement p { color:#626d77; font-size:12px; line-height:1.85; margin:0; }
.about-engineering-note { display:flex; align-items:center; gap:15px; padding:19px clamp(20px,3vw,35px); background:#e9edf0; }
.about-engineering-symbol { flex:none; width:40px; height:40px; display:grid; place-items:center; border:1px solid #c6cdd3; color:var(--red); font:800 13px var(--mono); letter-spacing:-.08em; }
.about-engineering-note p { color:#56616b; font-size:10px; line-height:1.8; margin:0; }

.principles-section { padding:clamp(78px,8vw,112px) var(--page-gutter) 35px; }
.principles-head { max-width:var(--max); margin:0 auto 40px; display:grid; grid-template-columns:minmax(180px,.62fr) minmax(260px,1fr) minmax(220px,.8fr); align-items:end; gap:34px; }
.principles-head .eyebrow { margin-bottom:4px; align-self:start; }
.principles-head h2 { max-width:530px; font-size:clamp(35px,4vw,55px); }
.principles-head h2 em { color:var(--red); font-style:normal; }
.principles-head > p:last-child { max-width:340px; margin:0; color:#aab2ba; font-size:12px; line-height:1.9; }
.values-grid { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); }
.value-card { position:relative; min-height:255px; padding:25px 25px 28px; background:rgba(23,28,34,.96); transition:background .24s; overflow:hidden; }
.value-card::after { content:""; position:absolute; right:-40px; bottom:-85px; width:160px; height:160px; border:1px solid rgba(213,35,50,.25); transform:rotate(45deg); pointer-events:none; }
.value-card:hover { background:#20262d; }
.value-index { color:#8f99a2; font:9px var(--mono); letter-spacing:.12em; }
.value-symbol { margin:28px 0 15px; color:var(--red); font-size:26px; line-height:1; }
.value-card h3 { margin:0 0 10px; color:#f4f6f7; font-size:19px; line-height:1.2; letter-spacing:-.035em; font-weight:640; }
.value-card p { max-width:330px; margin:0; color:#a4adb6; font-size:11px; line-height:1.85; }
.principles-foot { max-width:var(--max); margin:33px auto 0; }
html[dir="rtl"] .value-index { letter-spacing:0; }

.approach-steps-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.approach-steps-three .approach-step { padding-bottom:32px; }
.approach-steps-three .approach-step:last-child { border-right:0; }
.approach-steps-three .approach-step:nth-child(2) { border-right:1px solid var(--line); }

/* Project cards show a real photograph; opening one exposes its full profile gallery. */
.project-card-copy { min-height:132px; }
.project-image-wrap > img { object-position:center; }
.project-card .project-category { color:#9c2632; }
.project-card .project-meta { line-height:1.65; }
.project-client-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 14px;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 4px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
  pointer-events: none;
  height: 44px;
  min-width: 64px;
  max-width: 180px;
  box-sizing: border-box;
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
}
.project-card:hover .project-client-badge {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}
.project-client-badge img {
  position: static !important;
  inset: auto !important;
  display: block;
  max-height: 26px;
  max-width: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
  flex-shrink: 0;
}
/* Electricity company – circular emblem, nearly 1:1 ratio */
.project-client-badge img[src*="electricity-company"] {
  max-height: 28px;
  max-width: 28px;
}
/* Lacto Misr – nearly square 1:1 */
.project-client-badge img[src*="lacto-misr"] {
  max-height: 28px;
  max-width: 28px;
}
/* TG Technogroup – 3.02:1 wide logo */
.project-client-badge img[src*="tg-technogroup"] {
  max-height: 26px;
  max-width: 86px;
}
/* LEONI – 4.15:1 very wide wordmark */
.project-client-badge img[src*="Leoni"] {
  max-height: 18px;
  max-width: 76px;
}
/* Methode Electronics – 3.5:1 full logo with icon + text */
.project-client-badge img[src*="methode"] {
  max-height: 26px;
  max-width: 120px;
}
/* Elsewedy Electric – 2.32:1 */
.project-client-badge img[src*="elsewedy"] {
  max-height: 26px;
  max-width: 72px;
}
html[dir="rtl"] .project-client-badge {
  right: auto;
  left: 14px;
}
.project-dialog { width:min(1060px,calc(100vw - 28px)); max-height:min(88vh,820px); background:#f7f8f9; border-radius:var(--radius); box-shadow:0 24px 60px rgba(0,0,0,.25); overflow:hidden; }
/* .project-dialog[open] grid layout defined in the cinematic dialog section below */
.dialog-media-column { min-width:0; display:flex; flex-direction:column; background:#141920; }
/* base dialog-image is overridden in cinematic dialog section */
.dialog-image { min-height:300px; flex:1 1 auto; overflow:hidden; }
.dialog-image img { object-fit:contain; padding:12px; }
/* dialog-photo-count base positioning is overridden in cinematic dialog section */
.dialog-gallery { display:flex; flex:none; gap:7px; padding:12px 13px 14px; overflow-x:auto; overscroll-behavior-inline:contain; border-top:1px solid rgba(255,255,255,.12); scrollbar-width:thin; scrollbar-color:#7d454b #252b32; }
.dialog-thumb { flex:none; width:72px; height:60px; padding:2px; background:#222831; border:1px solid #414b55; cursor:pointer; opacity:.7; transition:opacity .18s,border-color .18s; }
.dialog-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.dialog-thumb:hover,.dialog-thumb.is-active { opacity:1; border-color:#f04753; }
.dialog-thumb.is-active { box-shadow:0 0 0 1px #f04753 inset; }
/* dialog-copy styling consolidated in cinematic dialog section */
.dialog-copy .eyebrow { margin-bottom:14px; }
.dialog-copy h2 { overflow-wrap:anywhere; }
.dialog-action { width:100%; justify-content:space-between; }
html[dir="rtl"] .about-established { letter-spacing:0; }
html[dir="rtl"] .about-statements,html[dir="rtl"] .about-lead { text-align:right; }
html[dir="rtl"] .about-lead { align-items:flex-start; }
html[dir="rtl"] .dialog-photo-count { left:auto; right:18px; letter-spacing:0; }

@media(max-width:1180px) {
  .client-wall { grid-template-columns:1fr; gap:26px; }
  .client-wall-head { max-width:680px; }
  .client-wall-head h2 { max-width:540px; }
  .client-logo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .about-section { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:38px; }
  .principles-head { grid-template-columns:minmax(150px,.55fr) minmax(260px,1fr); align-items:start; }
  .principles-head > p:last-child { grid-column:2; }
  .primary-nav { gap:14px; }
  .primary-nav > a:not(.nav-cta) { font-size:11px; }
}
@media(max-width:820px) {
  .hero { min-height:0; }
  .client-wall { padding-top:55px; padding-bottom:55px; }
  .client-logo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .client-logo-card { min-height:100px; }
  .about-section { grid-template-columns:1fr; gap:35px; }
  .about-lead { max-width:720px; }
  .about-statements { width:100%; }
  .principles-head { grid-template-columns:1fr; gap:17px; }
  .principles-head > p:last-child { grid-column:auto; max-width:620px; }
  .values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .approach-steps-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
  /* dialog responsive handled in cinematic dialog section */
  .dialog-thumb { width:62px; height:54px; }
}
@media(max-width:560px) {
  .hero { gap:30px; }
  .hero h1 { font-size:clamp(44px,11.5vw,62px); }
  .client-wall { padding:48px var(--page-gutter); gap:23px; }
  .client-wall-head h2 { font-size:clamp(32px,8.8vw,43px); }
  .client-wall-head > p:last-child { font-size:11px; }
  .client-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .client-logo-card { min-height:90px; padding:10px 7px 9px; }
  .client-logo-card img { height:38px; }
  .client-logo-card span { font-size:7px; }
  .about-section { gap:28px; }
  .about-established { margin-bottom:19px; }
  .about-lead h2 { font-size:clamp(40px,10vw,54px); }
  .about-lead > p:last-child { font-size:12px; }
  .about-statement { padding:21px 18px 23px; }
  .about-statement h3 { font-size:20px; }
  .about-statement p { font-size:11px; }
  .about-engineering-note { padding:16px 18px; }
  .values-grid { grid-template-columns:1fr; }
  .value-card { min-height:0; padding:22px 20px 24px; }
  .value-symbol { margin:19px 0 12px; }
  .value-card h3 { font-size:18px; }
  .value-card p { font-size:11px; }
  .approach-steps-three { grid-template-columns:1fr; }
  .approach-steps-three .approach-step,.approach-steps-three .approach-step:nth-child(2) { padding:20px 0 22px; border-right:0; border-top:1px solid var(--line); }
  .approach-steps-three .approach-step:first-child { border-top:0; }
  .project-card-copy { min-height:116px; }
  .project-dialog { width:calc(100vw - 14px); max-height:94svh; }
  /* project-dialog[open] flex handled in cinematic dialog section */
  .dialog-gallery { padding:8px; gap:6px; }
  .dialog-thumb { width:59px; height:48px; }
  .dialog-client-logo-wrap { width:145px; height:45px; margin-bottom:18px; }
  .dialog-copy .eyebrow { margin-bottom:12px; }
  .dialog-copy h2 { font-size:27px; }
  .dialog-subtitle { margin-bottom:15px; }
  .dialog-source { margin-top:17px; padding-top:12px; }
  .dialog-close { position:fixed; top:15px; right:15px; }
  html[dir="rtl"] .dialog-close { right:auto; left:15px; }
}
@media(prefers-reduced-motion:reduce) {
  .client-logo-card,.client-logo-card::before { transition:none; }
}

/* ── model-viewer integration ───────────────────────────────────────────── */
model-viewer {
  --progress-bar-height: 2px;
  --progress-bar-color: var(--red);
  --progress-mask: #15181d;
  outline: none;
}
/* Hotspot buttons */
.mv-hotspot {
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
  background: none;
  padding: 0;
  cursor: default;
  pointer-events: none; /* labels are informational, not interactive */
}
.mv-hotspot-dot {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--red);
  border: 2px solid rgba(255,255,255,.7);
  box-shadow: 0 0 0 3px rgba(213,35,50,.35);
  flex: none;
}
.mv-hotspot-label {
  white-space: nowrap;
  font: 700 8px/1 var(--mono);
  letter-spacing: .14em;
  color: #f3f5f7;
  background: rgba(21,24,29,.8);
  border-left: 2px solid var(--red);
  padding: 5px 8px;
  pointer-events: none;
}
html[dir="rtl"] .mv-hotspot {
  flex-direction: row-reverse;
}
html[dir="rtl"] .mv-hotspot-label {
  border-left: none;
  border-right: 2px solid var(--red);
}
/* When model-viewer is present and loaded, fade out the corner overlay labels
   slightly to avoid competing with the hotspots */
#scene-wrap:has(model-viewer) .scene-label {
  opacity: .72;
}
/* Reposition scene labels so they cluster together on the right side,
   close to each other so they don't read as far apart */
.label-top { top: 55px; right: 14px; left: auto; }
.label-bottom { top: 95px; right: 14px; left: auto; bottom: auto; }
html[dir="rtl"] .label-top { right: auto; left: 14px; }
html[dir="rtl"] .label-bottom { right: auto; left: 14px; top: 95px; bottom: auto; }
/* picture element: block display for logo cards */
.client-logo-card picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 45px;
}
.client-logo-card picture img {
  max-width: 180px;
  height: 45px;
  width: 100%;
  object-fit: contain;
}

/* ── Direct Contact & Phone / WhatsApp Integration ──────────────────────── */
.topline {
  justify-content: space-between;
}
.topline-left {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.topline-contact {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 9px;
  letter-spacing: .08em;
}
.topline-phone-label {
  color: #78828c;
  font-weight: 600;
}
.topline-phone-link, .topline-wa-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #d1d6db;
  text-decoration: none;
  transition: color .18s;
}
.topline-phone-link:hover {
  color: #fff;
}
.topline-wa-link:hover {
  color: #25d366;
}
.topline-divider {
  color: #4b545d;
}

/* ── Header nav contact buttons — clearly distinct, not merged ── */
.nav-contact-group {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: none;
}
/* Phone call button — charcoal/red */
.nav-call-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 11px;
  border: 1px solid rgba(213,35,50,.45);
  background: rgba(213,35,50,.07);
  border-radius: var(--radius);
  font: 700 10px/1 var(--mono);
  letter-spacing: .04em;
  color: var(--red);
  text-decoration: none;
  white-space: nowrap;
  transition: background .18s, border-color .18s, color .18s;
}
.nav-call-btn:hover {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}
/* WhatsApp button — distinct green-tinted */
.nav-wa-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 11px;
  border: 1px solid rgba(18,130,65,.35);
  background: rgba(37,211,102,.08);
  border-radius: var(--radius);
  font: 700 10px/1 var(--mono);
  letter-spacing: .04em;
  color: #0e7539;
  text-decoration: none;
  white-space: nowrap;
  transition: background .18s, border-color .18s, color .18s;
}
.nav-wa-btn:hover {
  background: #128241;
  border-color: #128241;
  color: #ffffff;
}
.contact-icon {
  flex: none;
}
.icon-whatsapp {
  color: #25d366;
}

/* Contact section direct contact card */
.direct-contact-card {
  margin: 32px 0 24px;
  padding: 24px 22px;
  background: linear-gradient(145deg, #1d2229 0%, #15181d 100%);
  border: 1px solid rgba(213,35,50,.35);
  border-radius: var(--radius);
  box-shadow: 0 12px 36px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
  position: relative;
  overflow: hidden;
}
.direct-contact-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--red), transparent);
}
.direct-contact-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.direct-contact-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 700 9px var(--mono);
  letter-spacing: .14em;
  color: #e2e6eb;
}
.direct-contact-sub {
  font: 11px var(--mono);
  color: #8c96a0;
}
.direct-phone-display {
  margin: 6px 0 18px;
}
.direct-phone-number {
  font: 700 clamp(20px, 2.3vw, 27px)/1.1 var(--mono);
  letter-spacing: .04em;
  color: #ffffff;
  display: inline-block;
  text-shadow: 0 2px 10px rgba(0,0,0,.5);
}
.direct-contact-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.direct-action-btn {
  min-height: 44px;
  padding: 0 16px;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  flex: 1 1 auto;
}
.button-whatsapp {
  background: #1f2b25;
  color: #25d366;
  border-color: rgba(37,211,102,.35);
}
.button-whatsapp:hover {
  background: #25d366;
  color: #0c1b12;
  border-color: #25d366;
  transform: translateY(-1px);
}

/* Footer contact */
.footer-contact {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 10px var(--mono);
  color: #8a949e;
}
.footer-contact-label {
  color: #95a0ab;
}
.footer-contact-link, .footer-wa-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #d2d7dc;
  transition: color .18s;
}
.footer-contact-link:hover {
  color: var(--red);
}
.footer-wa-link:hover {
  color: #25d366;
}
.footer-contact-sep {
  color: #4b545d;
}

/* Floating Quick-Contact Speed Dial */
.floating-contact {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 990;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
.floating-contact-trigger {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--ink);
  color: #fff;
  border: 1.5px solid var(--red);
  box-shadow: 0 6px 24px rgba(0,0,0,.45);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: transform .2s cubic-bezier(.2,1,.3,1), background .2s, border-color .2s;
}
.floating-contact-trigger:hover {
  transform: scale(1.08);
  border-color: #ff3344;
  background: #1e242c;
}
.floating-trigger-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  transition: opacity .22s, transform .22s;
}
/* Default state: show phone icon */
.floating-icon-phone {
  opacity: 1;
  transform: scale(1);
  color: #fff;
}
.floating-icon-wa {
  color: #25d366;
  opacity: 0;
  transform: scale(.7);
}
/* When expanded, swap to WA icon */
.floating-contact-trigger[aria-expanded="true"] .floating-icon-phone {
  opacity: 0;
  transform: scale(.7);
}
.floating-contact-trigger[aria-expanded="true"] .floating-icon-wa {
  opacity: 1;
  transform: scale(1);
}
.floating-pulse {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1px solid var(--red);
  opacity: .5;
  animation: floatPulse 2.8s cubic-bezier(.24,0,.38,1) infinite;
  pointer-events: none;
}
@keyframes floatPulse {
  0% { transform: scale(1); opacity: .7; }
  60% { transform: scale(1.35); opacity: 0; }
  100% { transform: scale(1.35); opacity: 0; }
}

.floating-contact-panel {
  background: rgba(21,24,29,.96);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(213,35,50,.35);
  border-radius: var(--radius);
  padding: 16px;
  width: 250px;
  box-shadow: 0 16px 40px rgba(0,0,0,.5);
  display: flex;
  flex-direction: column;
  gap: 12px;
  animation: panelSlide .22s cubic-bezier(.16,1,.3,1);
}
.floating-contact-panel[hidden] {
  display: none;
}
@keyframes panelSlide {
  from { opacity: 0; transform: translateY(12px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.floating-panel-header {
  border-bottom: 1px solid rgba(255,255,255,.1);
  padding-bottom: 10px;
}
.floating-panel-title {
  display: block;
  font: 700 9px var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8f98a2;
}
.floating-panel-phone {
  display: block;
  font: 700 15px/1.3 var(--mono);
  color: #fff;
  margin-top: 3px;
}
.floating-panel-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.floating-panel-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: var(--radius);
  font: 700 11px var(--mono);
  text-decoration: none;
  transition: transform .18s, background .18s;
}
.floating-call-btn {
  background: var(--red);
  color: #fff;
}
.floating-call-btn:hover {
  background: #b91c2a;
  transform: translateY(-1px);
}
.floating-wa-btn {
  background: #1f2b25;
  color: #25d366;
  border: 1px solid rgba(37,211,102,.35);
}
.floating-wa-btn:hover {
  background: #25d366;
  color: #0c1b12;
  transform: translateY(-1px);
}

/* RTL adaptations */
html[dir="rtl"] .topline-left {
  flex-direction: row;
}
/* Arabic headings — Cairo, generous leading */
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3 {
  font-family: Cairo, "Segoe UI", sans-serif;
  letter-spacing: 0;
  line-height: 1.25;
}
html[dir="rtl"] p,
html[dir="rtl"] li {
  font-family: Cairo, "Segoe UI", sans-serif;
  letter-spacing: 0;
  line-height: 1.85;
}
/* Arabic content spans inside body sections (not nav/topline/mono badges) */
html[dir="rtl"] .hero-lede,
html[dir="rtl"] .section-intro,
html[dir="rtl"] .about-statement p,
html[dir="rtl"] .expertise-card p,
html[dir="rtl"] .value-card p,
html[dir="rtl"] .approach-step p,
html[dir="rtl"] .contact-copy > p,
html[dir="rtl"] .contact-note span,
html[dir="rtl"] .client-wall-head > p {
  font-family: Cairo, "Segoe UI", sans-serif;
  letter-spacing: 0;
  line-height: 1.85;
}
html[dir="rtl"] label {
  font-family: Cairo, "Segoe UI", sans-serif;
  letter-spacing: 0;
}
/* Keep monospace tokens LTR inside RTL pages */
html[dir="rtl"] .eyebrow,
html[dir="rtl"] .project-category,
html[dir="rtl"] .expertise-number,
html[dir="rtl"] .value-index,
html[dir="rtl"] .about-statement-index,
html[dir="rtl"] .visual-topline,
html[dir="rtl"] .scene-corner,
html[dir="rtl"] .principle-index {
  font-family: var(--mono) !important;
  letter-spacing: .04em;
}
html[dir="rtl"] .direct-contact-card::before {
  background: linear-gradient(270deg, var(--red), transparent);
}
html[dir="rtl"] .floating-contact {
  right: auto;
  left: 24px;
  align-items: flex-start;
}

/* Responsive adjustments */
@media(max-width: 820px) {
  .topline-contact {
    display: none;
  }
  /* On mobile nav: show icon only, hide text labels to save space */
  .nav-call-btn .nav-phone-text,
  .nav-wa-btn span:not(.contact-icon) {
    display: none;
  }
  .nav-call-btn,
  .nav-wa-btn {
    padding: 6px 9px;
    gap: 0;
  }
}
@media(max-width: 560px) {
  .floating-contact {
    bottom: 16px;
    right: 16px;
  }
  html[dir="rtl"] .floating-contact {
    left: 16px;
    right: auto;
  }
  .floating-contact-panel {
    width: 225px;
  }
  .direct-contact-card {
    padding: 18px 16px;
  }
  .direct-phone-number {
    font-size: 20px;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
   CINEMATIC PROJECT DIALOG — Full-stage co-brand engineering dossier
   ═══════════════════════════════════════════════════════════════════════════ */


/* Project card photo pill */
.project-photo-pill {
  position: absolute;
  z-index: 2;
  bottom: 12px;
  left: 13px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 9px;
  background: rgba(15,18,22,.82);
  backdrop-filter: blur(5px);
  color: #e8ecef;
  font: 700 8px/1 var(--mono);
  letter-spacing: .1em;
  border-radius: 2px;
  pointer-events: none;
}
html[dir="rtl"] .project-photo-pill { left: auto; right: 13px; letter-spacing: 0; }

/* Project card call-to-action text */
.project-card-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 5px;
  color: var(--red);
  font: 700 9px/1 var(--mono);
  letter-spacing: .09em;
  text-transform: uppercase;
}
html[dir="rtl"] .project-card-action { letter-spacing: 0; }
.action-arrow {
  font-size: 13px;
  font-weight: 400;
  transition: transform .2s;
}
.project-card:hover .action-arrow { transform: translate(2px, -2px); }

/* ── Dialog Container (Flex column: Topbar + 2-Column Body) ─────────────── */
.project-dialog[open] {
  display: flex;
  flex-direction: column;
  width: min(1200px, calc(100vw - 32px));
  height: min(90vh, 880px);
  max-height: 90vh;
  margin: auto;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: #14171d;
  color: #fff;
  border-radius: 4px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.75);
  overflow: hidden;
  z-index: 1000;
}

/* ── Dialog topbar ──────────────────────────────────────────────────────── */
.dialog-topbar {
  flex: 0 0 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  background: #0f1217;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  gap: 16px;
}
.dialog-topbar-brands {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.dialog-topbar-mp {
  display: flex;
  align-items: center;
  gap: 9px;
  flex: none;
}
.brand-symbol-img-dialog { display: block; width: 50px; height: 21px; object-fit: contain; }
.dialog-mp-tag {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.dialog-mp-tag strong {
  font-size: 10px;
  letter-spacing: .065em;
  font-weight: 850;
  color: #f3f5f7;
}
.dialog-mp-tag small {
  font: 7px/1 var(--mono);
  letter-spacing: .06em;
  color: #8a94a2;
  margin-top: 2px;
}
.dialog-brand-connector {
  color: rgba(213,35,50,.7);
  font-size: 13px;
  font-weight: 700;
  flex: none;
}
.dialog-topbar-client {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.dialog-client-logo-top-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 6px;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  height: 32px;
  min-width: 0;
  max-width: 160px;
}
.dialog-client-svg-top {
  display: block;
  max-height: 24px;
  max-width: 125px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.92;
  transition: opacity .2s;
}
.dialog-client-svg-top:hover {
  opacity: 1;
}
.dialog-client-svg-top[src*="electricity-company"] {
  max-height: 26px;
  max-width: 44px;
}
.dialog-client-svg-top[src*="lacto-misr"] {
  max-height: 24px;
  max-width: 65px;
}
.dialog-client-svg-top[src*="tg-technogroup"] {
  max-height: 22px;
  max-width: 90px;
}
.dialog-client-svg-top[src*="Leoni"] {
  max-height: 20px;
  max-width: 95px;
}
.dialog-client-svg-top[src*="methode"] {
  max-height: 22px;
  max-width: 95px;
}
.dialog-client-svg-top[src*="elsewedy"] {
  max-height: 22px;
  max-width: 100px;
}
.dialog-verified-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px;
  background: rgba(61,191,122,.09);
  border: 1px solid rgba(61,191,122,.28);
  border-radius: 2px;
  font: 700 7.5px/1 var(--mono);
  letter-spacing: .08em;
  color: #3dbf7a;
  white-space: nowrap;
  flex: none;
}
.dialog-topbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  flex: none;
}
.dialog-shortcut-hint {
  font: 9px var(--mono);
  letter-spacing: .08em;
  color: #636e7a;
  white-space: nowrap;
}
html[dir="rtl"] .dialog-topbar { direction: rtl; }
html[dir="rtl"] .dialog-topbar-actions { margin-left: 0; margin-right: auto; }
html[dir="rtl"] .dialog-shortcut-hint { letter-spacing: 0; }
html[dir="rtl"] .dialog-mp-tag strong { letter-spacing: 0; }
html[dir="rtl"] .dialog-mp-tag small { letter-spacing: 0; }

/* ── Dialog Body 2-Column Grid ──────────────────────────────────────────── */
.dialog-body-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  grid-template-rows: minmax(0, 1fr);
  flex: 1 1 auto;
  min-height: 0;
  height: calc(100% - 56px);
  max-height: calc(100% - 56px);
  overflow: hidden;
}

/* ── Left Column: Media / Stage & Gallery ────────────────────────────────── */
.dialog-media-column {
  display: flex;
  flex-direction: column;
  background: #0d1015;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}
html[dir="rtl"] .dialog-media-column {
  border-right: none;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

/* Stage */
.dialog-stage {
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;
  min-height: 320px;
  background: #080a0e;
  display: flex;
  align-items: stretch;
}

/* Reticle corner marks */
.stage-reticle {
  position: absolute;
  z-index: 5;
  font-size: 13px;
  line-height: 1;
  color: rgba(213,35,50,.5);
  pointer-events: none;
  font-weight: 700;
}
.stage-reticle-tl { top: 8px; left: 8px; }
.stage-reticle-tr { top: 8px; right: 8px; }
.stage-reticle-bl { bottom: 8px; left: 8px; }
.stage-reticle-br { bottom: 8px; right: 8px; }

/* Dialog image */
.dialog-image {
  flex: 1 1 auto;
  position: relative;
  overflow: hidden;
  min-height: 0;
  max-height: none;
  height: auto;
}
.dialog-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 12px;
}

/* Navigation prev / next */
.dialog-stage-nav {
  position: absolute;
  z-index: 5;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 54px;
  background: rgba(12, 15, 20, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(6px);
  color: #e8ecef;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: background .16s, border-color .16s, color .16s, transform .16s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dialog-stage-nav:hover { background: var(--red); border-color: var(--red); color: #fff; }
.dialog-prev { left: 0; border-radius: 0 3px 3px 0; }
.dialog-next { right: 0; border-radius: 3px 0 0 3px; }
html[dir="rtl"] .dialog-prev { left: auto; right: 0; border-radius: 3px 0 0 3px; }
html[dir="rtl"] .dialog-next { right: auto; left: 0; border-radius: 0 3px 3px 0; }

/* Stage HUD */
.dialog-stage-hud {
  position: absolute;
  z-index: 4;
  bottom: 11px;
  left: 12px;
  display: flex;
  align-items: center;
  gap: 9px;
}
html[dir="rtl"] .dialog-stage-hud { left: auto; right: 12px; }
.dialog-stage-hud .dialog-photo-count,
.dialog-photo-count {
  position: static;
  padding: 6px 9px;
  background: rgba(10, 13, 18, 0.88);
  backdrop-filter: blur(5px);
  color: #e2e6eb;
  font: 700 8.5px/1 var(--mono);
  letter-spacing: .08em;
  border-radius: 2px;
  white-space: nowrap;
}
html[dir="rtl"] .dialog-photo-count { letter-spacing: 0; }
.dialog-photo-progress-track {
  width: 90px;
  height: 2px;
  background: rgba(255, 255, 255, 0.16);
  border-radius: 1px;
  overflow: hidden;
}
.dialog-photo-progress-fill {
  height: 100%;
  background: var(--red);
  border-radius: 1px;
  transition: width .22s ease;
  min-width: 4px;
}

/* Gallery strip */
.dialog-gallery-wrap {
  flex: 0 0 auto;
  overflow: hidden;
  background: #10141a;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.dialog-gallery {
  display: flex;
  gap: 8px;
  padding: 10px 14px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: #7d454b #1e242c;
}
.dialog-thumb {
  flex: 0 0 88px;
  height: 64px;
  padding: 2px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: #080a0d;
  cursor: pointer;
  border-radius: 2px;
  overflow: hidden;
  opacity: .65;
  transition: opacity .16s, border-color .16s, transform .16s;
}
.dialog-thumb:hover { opacity: .9; border-color: rgba(255,255,255,.3); }
.dialog-thumb.is-active {
  opacity: 1;
  border-color: var(--red);
  box-shadow: 0 0 0 1px var(--red);
  transform: translateY(-1px);
}
.dialog-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Right Column: Description, Client Hero & Technical Dossier ─────────── */
.dialog-copy {
  display: flex;
  flex-direction: column;
  background: #161a22;
  min-width: 0;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  padding: 24px 28px 48px;
  scrollbar-width: thin;
  scrollbar-color: #d52332 #0f1217;
}
.dialog-copy::-webkit-scrollbar {
  width: 7px;
}
.dialog-copy::-webkit-scrollbar-track {
  background: #0f1217;
}
.dialog-copy::-webkit-scrollbar-thumb {
  background: #3a424e;
  border-radius: 4px;
}
.dialog-copy::-webkit-scrollbar-thumb:hover {
  background: #d52332;
}
html[dir="rtl"] .dialog-copy { text-align: right; }

/* Client Hero & Logo Box */
.dialog-client-hero {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-wrap: wrap;
}
.dialog-client-logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  min-height: 62px;
  height: 62px;
  min-width: 110px;
  max-width: 240px;
  box-sizing: border-box;
  flex: none;
}
.dialog-client-logo-wrap img {
  display: block;
  max-height: 46px;
  max-width: 180px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.dialog-client-logo-wrap img[src*="electricity-company"] {
  max-height: 48px;
  max-width: 72px;
}
.dialog-client-logo-wrap img[src*="lacto-misr"] {
  max-height: 46px;
  max-width: 105px;
}
.dialog-client-logo-wrap img[src*="tg-technogroup"] {
  max-height: 42px;
  max-width: 145px;
}
.dialog-client-logo-wrap img[src*="Leoni"] {
  max-height: 32px;
  max-width: 145px;
}
.dialog-client-logo-wrap img[src*="methode"] {
  max-height: 36px;
  max-width: 165px;
}
.dialog-client-logo-wrap img[src*="elsewedy"] {
  max-height: 44px;
  max-width: 165px;
}
.dialog-client-title-meta {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.dialog-badge-verified {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  background: rgba(61,191,122,.08);
  border: 1px solid rgba(61,191,122,.25);
  border-radius: 2px;
  font: 700 8px/1 var(--mono);
  letter-spacing: .08em;
  color: #3dbf7a;
  white-space: nowrap;
}
html[dir="rtl"] .dialog-badge-verified { letter-spacing: 0; }
.dialog-plant-type {
  font: 600 9.5px/1.2 var(--mono);
  letter-spacing: .08em;
  color: #8c96a2;
  text-transform: uppercase;
}
html[dir="rtl"] .dialog-plant-type { letter-spacing: 0; font-family: Cairo, sans-serif; }

/* Titles */
.dialog-copy .eyebrow {
  margin-bottom: 8px;
}
.dialog-copy h2 {
  font-size: clamp(24px, 2.5vw, 32px);
  font-weight: 700;
  line-height: 1.15;
  color: #ffffff;
  margin: 0 0 6px;
}
.dialog-subtitle {
  font-size: 13px;
  color: #9aa5b1;
  margin: 0 0 16px;
  line-height: 1.5;
}

/* Technical scope card */
.dialog-scope-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-left: 3px solid var(--red);
  padding: 15px 18px;
  margin: 12px 0 16px;
  border-radius: 0 3px 3px 0;
}
html[dir="rtl"] .dialog-scope-card {
  border-left: 1px solid rgba(255, 255, 255, 0.07);
  border-right: 3px solid var(--red);
  border-radius: 3px 0 0 3px;
}
.scope-card-label {
  display: block;
  margin-bottom: 8px;
  font: 700 8px/1 var(--mono);
  letter-spacing: .12em;
  color: var(--red);
  text-transform: uppercase;
}
html[dir="rtl"] .scope-card-label { letter-spacing: 0; }
.dialog-scope {
  font-size: 12.5px;
  line-height: 1.85;
  color: #d1d8e0;
  margin: 0;
}

/* Spec tags */
.dialog-spec-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 14px;
}
.spec-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
  border-radius: 2px;
  font: 600 8.5px/1 var(--mono);
  letter-spacing: .06em;
  color: #c5cdd5;
}
html[dir="rtl"] .spec-tag { letter-spacing: 0; }
.tag-dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--red);
  flex: none;
}

/* Metadata metrics grid */
.dialog-meta-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 14px 0 16px;
  padding: 12px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 3px;
}
.dialog-metric-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.dialog-metric-item .metric-label {
  font: 700 7px/1 var(--mono);
  letter-spacing: .1em;
  color: #79838f;
  text-transform: uppercase;
}
html[dir="rtl"] .dialog-metric-item .metric-label { letter-spacing: 0; }
.dialog-metric-item .metric-val {
  font-size: 11px;
  color: #f1f3f5;
  line-height: 1.35;
}

/* Source paragraph */
.dialog-source {
  font-size: 11.5px;
  line-height: 1.75;
  color: #828c98;
  margin: 0 0 18px;
}

/* Dialog actions */
.dialog-actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  padding-bottom: 16px;
  flex-shrink: 0;
}
.dialog-action {
  flex: 1 1 auto;
}
.dialog-action-wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 18px;
  background: #15261d;
  color: #25d366;
  border: 1px solid rgba(37,211,102,.4);
  font: 700 11px/1 var(--mono);
  letter-spacing: .06em;
  text-decoration: none;
  transition: background .16s, color .16s, border-color .16s, transform .16s;
  border-radius: 3px;
  width: 100%;
  box-sizing: border-box;
}
.dialog-action-wa:hover {
  background: #25d366;
  color: #0c1b12;
  border-color: #25d366;
  transform: translateY(-1px);
}
html[dir="rtl"] .dialog-action-wa { letter-spacing: 0; font-family: Cairo, sans-serif; }

/* ── Responsive Overrides ───────────────────────────────────────────────── */
@media(max-width: 820px) {
  .project-dialog[open] {
    width: min(94vw, 760px);
    height: 94vh;
    max-height: 94vh;
  }
  .dialog-topbar {
    height: 52px;
    padding: 0 16px;
    flex: 0 0 auto;
  }
  .dialog-body-grid {
    display: flex !important;
    flex-direction: column !important;
    height: calc(100% - 52px);
    max-height: calc(100% - 52px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .dialog-media-column {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    min-height: 0;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: #0d1015;
  }
  .dialog-stage {
    position: relative;
    width: 100%;
    height: 32vh;
    min-height: 210px;
    max-height: 300px;
    flex: 0 0 auto;
    background: #080a0e;
  }
  .dialog-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .dialog-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10px;
  }
  .dialog-gallery-wrap {
    flex: 0 0 auto;
    width: 100%;
    background: #10141a;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    z-index: 2;
  }
  .dialog-gallery {
    display: flex;
    gap: 8px;
    padding: 10px 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: #7d454b #1e242c;
  }
  .dialog-thumb {
    flex: 0 0 76px;
    height: 56px;
    padding: 2px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: #080a0d;
    border-radius: 3px;
  }
  .dialog-copy {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: auto;
    max-height: none;
    overflow-y: visible;
    padding: 22px 20px 44px;
    background: #161a22;
  }
  .dialog-client-hero {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    flex-wrap: wrap;
  }
  .dialog-client-logo-wrap {
    padding: 10px 16px;
    min-height: 54px;
    max-width: 200px;
    background: #ffffff;
    border-radius: 4px;
    flex: none;
  }
  .dialog-client-logo-wrap img {
    max-height: 38px;
    max-width: 160px;
    width: auto;
    height: auto;
    object-fit: contain;
  }
  .dialog-meta-metrics {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
@media(max-width: 560px) {
  .dialog-topbar { height: 48px; padding: 0 12px; }
  .dialog-verified-pill { display: none; }
  .dialog-shortcut-hint { display: none; }
  .dialog-body-grid {
    height: calc(100% - 48px);
    max-height: calc(100% - 48px);
  }
  .dialog-stage { height: 28vh; min-height: 190px; max-height: 250px; }
  .stage-reticle { display: none; }
  .dialog-stage-nav { width: 32px; height: 44px; font-size: 18px; }
  .dialog-gallery { padding: 8px 10px; gap: 6px; }
  .dialog-thumb { flex: 0 0 66px; height: 50px; }
  .dialog-copy { padding: 18px 15px 36px; }
  .dialog-client-hero { margin-bottom: 14px; padding-bottom: 12px; gap: 10px; }
  .dialog-client-logo-wrap { padding: 8px 12px; min-height: 46px; max-width: 160px; }
  .dialog-client-logo-wrap img { max-height: 32px; max-width: 135px; }
  .dialog-scope-card { padding: 12px 14px; margin: 10px 0 14px; }
  .dialog-actions-row { flex-direction: column; gap: 8px; }
  .dialog-action { width: 100%; justify-content: space-between; }
  .dialog-action-wa { justify-content: center; }
}

