:root{--ink:#0a1b2a;--navy:#071827;--navy2:#0d2738;--blue:#0c4565;--cyan:#56d4e8;--paper:#f2f4f2;--white:#fff;--muted:#9caab4;--line:rgba(255,255,255,.14);--darkline:rgba(10,27,42,.15);--orange:#f26c4f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 6.4%;display:flex;align-items:center;justify-content:space-between;background:#071827;color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:32px;height:32px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(-12deg)}.brand-mark i{display:block;background:var(--cyan);border-radius:2px}.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){opacity:.45}.brand-name{font:800 17px Manrope,sans-serif;letter-spacing:.06em}.brand-name>span{color:var(--cyan)}.brand-name small{display:block;font:600 8px "DM Sans",sans-serif;letter-spacing:.28em;color:#a1b1bd;margin-top:1px}.main-nav{display:flex;align-items:center;gap:38px;font-size:12px;color:#c4cdd4}.main-nav>a:not(.nav-contact):hover{color:#fff}.nav-contact{border:1px solid rgba(86,212,232,.5);padding:12px 16px;color:white}.nav-contact span{color:var(--cyan);margin-left:12px}.menu-toggle{display:none}.hero{min-height:670px;height:min(760px,calc(100vh - 82px));background:radial-gradient(ellipse at 76% 48%,#123a51 0,#0a2437 36%,#071827 70%);color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;padding:50px 9.8%}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(127,183,203,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(127,183,203,.055) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,black 50%,black)}.hero-glow{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.glow-one{width:500px;height:500px;background:radial-gradient(circle,rgba(18,122,154,.18),transparent 68%);right:15%;top:8%}.glow-two{width:250px;height:250px;background:radial-gradient(circle,rgba(242,108,79,.12),transparent 70%);right:5%;bottom:5%}.hero-content{position:relative;z-index:2;width:55%;max-width:680px;padding-bottom:30px}.eyebrow,.section-kicker{font-size:10px;font-weight:700;letter-spacing:.18em;color:#94a8b5}.eyebrow{display:flex;align-items:center;gap:12px;color:#b8c8d1}.eyebrow-line{display:inline-block;width:26px;height:1px;background:var(--cyan)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,sans-serif}h1{font-size:clamp(54px,6.2vw,88px);letter-spacing:-.065em;line-height:1.02;font-weight:600;margin:28px 0 21px}h1 em,h2 em{font-style:normal;color:var(--cyan)}.hero-content>p{font-size:15px;line-height:1.8;color:#afbdc7;max-width:440px;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 18px;font-weight:700;font-size:11px;letter-spacing:.025em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--navy);background:var(--cyan)}.button-primary span,.button-light span{font-size:16px}.text-link{font-size:11px;color:#d4dfe5}.text-link span{color:var(--cyan);margin-left:8px}.hero-visual{width:48%;height:510px;position:absolute;right:4%;top:50%;transform:translateY(-50%)}.orbit{position:absolute;border:1px solid rgba(86,212,232,.16);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-a{width:460px;height:460px}.orbit-b{width:360px;height:360px;border-style:dashed;animation:rotate 55s linear infinite}.orbit-c{width:260px;height:260px;border-color:rgba(86,212,232,.23)}.signal-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(86,212,232,.1);border-radius:50%;transform:translate(-50%,-50%) rotate(-30deg)}.ring-a{width:460px;height:190px}.ring-b{width:190px;height:460px}.core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:112px;height:112px;background:linear-gradient(145deg,#0f506b,#0a2a40);border:1px solid rgba(86,212,232,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 0 65px rgba(29,172,204,.25),inset 0 0 25px rgba(86,212,232,.1)}.core:before{content:"";position:absolute;inset:8px;border:1px solid rgba(86,212,232,.22);border-radius:50%}.core strong{font:800 24px Manrope;letter-spacing:.07em}.core small{font-size:7px;letter-spacing:.32em;color:var(--cyan)}.core-cross{position:absolute;right:12px;top:9px;color:var(--cyan);font-size:12px}.node{position:absolute;width:82px;height:82px;border:1px solid rgba(86,212,232,.35);background:rgba(7,24,39,.84);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 0 28px rgba(0,0,0,.25)}.node-icon{font-size:22px;color:var(--cyan);line-height:1}.node small{font-size:6px;letter-spacing:.14em;color:#9fb2be;margin-top:5px}.node-a{left:calc(50% - 226px);top:calc(50% - 35px)}.node-b{left:calc(50% - 45px);top:calc(50% - 227px)}.node-c{left:calc(50% + 154px);top:calc(50% - 35px)}.node-d{left:calc(50% - 45px);top:calc(50% + 145px)}.visual-tag{position:absolute;font-size:7px;letter-spacing:.14em;color:#7795a5}.visual-tag b{color:var(--cyan);margin-left:9px}.tag-top{top:3%;right:8%}.tag-bottom{bottom:2%;left:10%}.hero-foot{position:absolute;bottom:28px;left:9.8%;right:9.8%;display:flex;justify-content:space-between;color:#78909e;font-size:8px;letter-spacing:.15em}.scroll-cue{color:#a4b8c3}.scroll-cue i{font-style:normal;color:var(--cyan);font-size:15px;margin-left:9px}.section-wrap{max-width:1380px;margin:0 auto;padding-left:8%;padding-right:8%}.intro{padding-top:125px;padding-bottom:115px}.section-kicker{display:flex;gap:13px;align-items:center;color:#617582}.section-kicker span{font-size:9px;color:var(--orange)}.intro-copy{display:grid;grid-template-columns:1.15fr .85fr;gap:10%;margin-top:36px}.intro h2,.section-heading h2,.approach h2,.partners h2,.contact-section h2{font-size:clamp(38px,4vw,57px);line-height:1.13;letter-spacing:-.055em;font-weight:600;margin:0}.intro h2 span,.partners h2 span{color:#81929b}.intro-body{padding-top:5px}.intro-body p,.approach-copy>p,.partners-inner>div:nth-child(2)>p{font-size:13px;line-height:1.9;color:#63737e;margin-bottom:15px}.arrow-link{display:inline-flex;align-items:center;gap:20px;margin-top:8px;font-size:11px;font-weight:700}.arrow-link span{color:#087b9b;font-size:16px}.intro-line{border-top:1px solid var(--darkline);margin-top:70px;padding-top:20px;display:flex;align-items:center;gap:18px}.intro-line>span{height:1px;width:40px;background:var(--orange)}.intro-line p{font-size:11px;color:#667681;margin:0}.intro-line b{margin-left:auto;font:700 10px Manrope;color:#9aa8ae;letter-spacing:.14em}.services-section{padding:105px 0 70px;background:var(--navy);color:white;position:relative;overflow:hidden}.services-section:before{content:"";position:absolute;right:-15%;top:-30%;width:700px;height:700px;border:1px solid rgba(86,212,232,.06);border-radius:50%;box-shadow:0 0 0 100px rgba(86,212,232,.018),0 0 0 200px rgba(86,212,232,.012)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:32px 0 54px}.section-kicker.light{color:#90a6b4}.section-heading h2{margin-top:24px}.section-heading>p{max-width:310px;font-size:12px;line-height:1.8;color:#9aabb5;margin:0 2% 6px 20px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);position:relative}.service-card{min-height:265px;padding:25px 27px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:background .25s}.service-card:hover{background:rgba(23,74,96,.35)}.service-num{font-size:8px;letter-spacing:.15em;color:#6f8794}.service-icon{height:54px;width:54px;margin:24px 0 15px;color:var(--cyan);display:flex;align-items:center;justify-content:center;font-size:30px}.service-icon.icon-network{display:grid;grid-template-columns:10px 10px;grid-template-rows:10px 10px;gap:9px;align-content:center;justify-content:center}.icon-network span{width:8px;height:8px;border:1px solid var(--cyan);transform:rotate(45deg)}.icon-network span:nth-child(2){background:rgba(86,212,232,.5)}.icon-network span:nth-child(3){background:rgba(86,212,232,.2)}.service-icon.icon-fiber span{width:3px;height:34px;background:var(--cyan);transform:rotate(30deg);border-radius:3px;margin:0 2px;opacity:.95}.service-icon.icon-fiber span:nth-child(2){height:44px;opacity:.55}.service-icon.icon-fiber span:nth-child(3){height:24px;opacity:.35}.service-card h3{font:600 17px/1.35 Manrope,sans-serif;letter-spacing:-.025em;margin:0 0 10px}.service-card p{max-width:260px;font-size:10px;line-height:1.7;color:#91a3af;margin:0}.service-arrow{position:absolute;right:25px;bottom:25px;color:var(--cyan);font-size:16px;opacity:0;transform:translate(-4px,4px);transition:.2s}.service-card:hover .service-arrow{opacity:1;transform:translate(0,0)}.services-foot{display:flex;justify-content:space-between;padding:23px 0 0;color:#68818f;font-size:8px;letter-spacing:.16em}.services-foot a{color:#c4d1d8;font-size:10px;letter-spacing:0}.services-foot b{color:var(--cyan);font-size:15px;margin-left:15px}.approach{padding-top:130px;padding-bottom:125px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.approach-art{max-width:510px}.blueprint{height:440px;background:linear-gradient(135deg,#e6ebea,#d9e1e0);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.blueprint:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(13,39,56,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(13,39,56,.06) 1px,transparent 1px);background-size:28px 28px}.blueprint-ring{position:absolute;border:1px solid rgba(9,60,83,.32);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.br-one{width:310px;height:310px}.br-two{width:225px;height:225px;border-style:dashed}.br-three{width:110px;height:110px;border-color:var(--orange);box-shadow:0 0 35px rgba(242,108,79,.13)}.blueprint-cross{position:relative;z-index:1;font-size:28px;color:var(--orange)}.bp-label{position:absolute;font:700 7px Manrope;letter-spacing:.12em;color:#547181}.bp-label span{display:block;margin-top:5px;color:#a3b0b5;font-size:8px}.bp-label-a{top:18%;left:18%}.bp-label-b{right:14%;top:35%}.bp-label-c{bottom:14%;left:43%}.art-caption{font-size:8px;letter-spacing:.15em;color:#74848b;line-height:1.7;margin-top:15px}.approach-copy h2{margin:28px 0 20px}.approach-copy h2 em{color:#0c7898}.approach-copy>p{max-width:420px}.steps{margin:32px 0 18px;border-top:1px solid var(--darkline)}.steps>div{display:flex;gap:20px;padding:16px 0;border-bottom:1px solid var(--darkline)}.steps>div>span{font-size:9px;color:var(--orange);padding-top:3px}.steps p{margin:0}.steps b{display:block;font:700 11px Manrope;margin-bottom:5px}.steps small{display:block;color:#74838c;font-size:10px;line-height:1.6}.partners{padding:76px 0;background:#e5e9e7}.partners-inner{display:grid;grid-template-columns:.6fr 1.4fr .5fr;align-items:center;gap:35px}.partners h2{font-size:38px;margin-bottom:17px}.partners-inner>div:nth-child(2)>p{max-width:480px;margin:0}.partner-stamp{height:124px;width:124px;border:1px solid #98a7a7;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;justify-self:end;color:#58717a;transform:rotate(-9deg);position:relative}.partner-stamp:after{content:"";position:absolute;inset:8px;border:1px dashed #9babab;border-radius:50%}.partner-stamp span{text-align:center;font-size:7px;line-height:1.45;letter-spacing:.14em}.partner-stamp b{font:800 18px Manrope;color:#16809a;margin-top:4px}.contact-section{background:linear-gradient(115deg,#0c3147,#071827 65%);color:white;padding:100px 0;position:relative;overflow:hidden}.contact-section:after{content:"ES";font:800 300px Manrope;letter-spacing:-.1em;position:absolute;right:-4%;bottom:-30%;color:rgba(86,212,232,.035)}.contact-inner{display:grid;grid-template-columns:1fr .85fr;gap:12%;position:relative;z-index:1}.contact-section h2{font-size:clamp(48px,5.4vw,74px);margin:27px 0 18px}.contact-inner>div:first-child>p{font-size:12px;color:#a5b7c1;max-width:330px;line-height:1.8}.contact-card{border-top:1px solid rgba(255,255,255,.2);padding-top:5px}.contact-row{padding:19px 0;border-bottom:1px solid rgba(255,255,255,.15);display:grid;grid-template-columns:100px 1fr;gap:10px}.contact-row>span{font-size:8px;letter-spacing:.15em;color:#7f98a6;padding-top:3px}.contact-row a,.contact-row p{font-size:11px;color:#e2e9ed;margin:0;line-height:1.8}.contact-row a{display:flex;justify-content:space-between}.contact-row a b{color:var(--cyan);font-size:14px}.button-light{margin-top:23px;background:#fff;color:var(--navy)}.site-footer{min-height:100px;padding:25px 6.4%;display:flex;align-items:center;gap:30px;background:#06131f;color:white}.footer-brand .brand-mark{width:27px;height:27px}.footer-brand .brand-name{font-size:14px}.footer-brand .brand-name small{font-size:6px}.footer-note{color:#738591;font-size:9px}.footer-social{display:flex;gap:20px;margin-left:auto}.footer-social a{color:#a4b1b9;font-size:9px}.footer-social a:hover{color:var(--cyan)}.copyright{color:#697985;font-size:8px;margin-left:20px;white-space:nowrap}@keyframes rotate{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(max-width:950px){.site-header{padding:0 5%;height:74px}.main-nav{gap:20px}.hero{padding-left:7%;padding-right:7%}.hero-content{width:58%}.hero-visual{right:-8%;transform:translateY(-50%) scale(.85)}.hero-foot{left:7%;right:7%}.section-wrap{padding-left:7%;padding-right:7%}.approach{gap:6%}.blueprint{height:370px}.partners-inner{grid-template-columns:.6fr 1.4fr}.partner-stamp{display:none}.contact-inner{gap:7%}.site-footer{padding-left:5%;padding-right:5%}}
@media(max-width:700px){html{scroll-padding-top:70px}.site-header{height:70px;padding:0 6%}.menu-toggle{display:flex;width:38px;height:38px;border:1px solid rgba(255,255,255,.2);background:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;z-index:3}.menu-toggle span{width:15px;height:1px;background:#fff;transition:.2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:69px;left:0;right:0;padding:20px 6% 28px;background:#071827;border-top:1px solid var(--line);align-items:stretch;flex-direction:column;gap:0}.main-nav.open{display:flex}.main-nav>a:not(.nav-contact){padding:15px 0;border-bottom:1px solid var(--line)}.nav-contact{margin-top:16px;display:flex;justify-content:space-between}.hero{height:auto;min-height:740px;padding:85px 7% 105px;align-items:flex-start}.hero-content{width:100%;padding:0}.hero h1{font-size:clamp(52px,15vw,75px);margin-top:26px}.hero-content>p{font-size:13px;max-width:350px}.hero-actions{gap:17px;flex-wrap:wrap}.button{padding:14px 15px}.text-link{font-size:10px}.hero-visual{height:310px;width:100%;right:0;top:auto;bottom:65px;transform:none;opacity:.65;pointer-events:none}.orbit-a{width:280px;height:280px}.orbit-b{width:220px;height:220px}.orbit-c{width:155px;height:155px}.ring-a{width:290px;height:120px}.ring-b{width:120px;height:290px}.core{width:76px;height:76px}.core strong{font-size:18px}.node{width:56px;height:56px}.node-icon{font-size:16px}.node-a{left:calc(50% - 140px);top:calc(50% - 25px)}.node-b{left:calc(50% - 28px);top:calc(50% - 138px)}.node-c{left:calc(50% + 84px);top:calc(50% - 25px)}.node-d{left:calc(50% - 28px);top:calc(50% + 82px)}.visual-tag{display:none}.hero-foot{left:7%;right:7%;bottom:22px;font-size:7px}.hero-foot>span:last-child{display:none}.section-wrap{padding-left:7%;padding-right:7%}.intro{padding-top:80px;padding-bottom:75px}.intro-copy{grid-template-columns:1fr;gap:23px;margin-top:26px}.intro h2,.section-heading h2,.approach h2{font-size:42px}.intro-body p{font-size:12px}.intro-line{margin-top:40px;align-items:flex-start}.intro-line p{font-size:9px;max-width:65%;line-height:1.6}.intro-line b{font-size:8px}.services-section{padding:78px 0 50px}.section-heading{display:block;margin:26px 0 32px}.section-heading>p{margin:18px 0 0;max-width:330px}.service-grid{grid-template-columns:1fr 1fr}.service-card{padding:18px 15px;min-height:235px}.service-icon{margin:18px 0 12px}.service-card h3{font-size:14px}.service-card p{font-size:9px}.service-arrow{opacity:1;right:14px;bottom:15px;font-size:13px}.service-num{font-size:7px}.services-foot{display:block;line-height:2}.services-foot a{display:block;margin-top:7px}.approach{padding-top:80px;padding-bottom:80px;grid-template-columns:1fr;gap:36px}.approach-art{order:2}.blueprint{height:310px}.br-one{width:230px;height:230px}.br-two{width:170px;height:170px}.br-three{width:86px;height:86px}.approach-copy h2{margin:23px 0 15px}.approach-copy>p{font-size:12px}.steps{margin-top:24px}.partners{padding:60px 0}.partners-inner{grid-template-columns:1fr;gap:20px}.partners h2{font-size:34px}.partners-inner>div:nth-child(2)>p{font-size:11px}.contact-section{padding:75px 0}.contact-inner{grid-template-columns:1fr;gap:30px}.contact-section h2{font-size:54px;margin:22px 0 14px}.contact-row{grid-template-columns:80px 1fr}.site-footer{padding:25px 7%;display:grid;grid-template-columns:1fr auto;gap:16px}.footer-note{grid-column:1/-1;grid-row:2}.footer-social{margin:0;gap:12px}.copyright{grid-column:1/-1;margin:0;padding-top:15px;border-top:1px solid var(--line)} }
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Ambient motion accents */
.network-canvas{z-index:0}.hero-grid{z-index:0}.hero-visual{animation:visual-arrive 1.3s ease-out both}.orbit-a{animation:orbit-breathe 8s ease-in-out infinite}.orbit-c{animation:orbit-breathe 6s ease-in-out infinite reverse}.ring-a{animation:ring-sweep-a 34s linear infinite}.ring-b{animation:ring-sweep-b 42s linear infinite}.core{animation:core-pulse 5s ease-in-out infinite}.node-a{animation:node-float 5s ease-in-out infinite}.node-b{animation:node-float 6s ease-in-out -1.5s infinite}.node-c{animation:node-float 5.5s ease-in-out -2.5s infinite}.node-d{animation:node-float 6.5s ease-in-out -3.5s infinite}.br-one{animation:blueprint-turn 70s linear infinite}.br-two{animation:blueprint-turn 52s linear infinite reverse}
@keyframes grid-drift{to{background-position:64px 64px}}
@keyframes visual-arrive{from{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}
@keyframes orbit-breathe{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes ring-sweep-a{from{transform:translate(-50%,-50%) rotate(-30deg)}to{transform:translate(-50%,-50%) rotate(330deg)}}
@keyframes ring-sweep-b{from{transform:translate(-50%,-50%) rotate(60deg)}to{transform:translate(-50%,-50%) rotate(420deg)}}
@keyframes core-pulse{0%,100%{box-shadow:0 0 45px rgba(29,172,204,.18),inset 0 0 22px rgba(86,212,232,.08)}50%{box-shadow:0 0 75px rgba(29,172,204,.34),inset 0 0 28px rgba(86,212,232,.18)}}
@keyframes node-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes blueprint-turn{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.network-canvas{display:none}.hero-grid,.hero-visual,.orbit-a,.orbit-c,.ring-a,.ring-b,.core,.node-a,.node-b,.node-c,.node-d,.br-one,.br-two{animation:none!important}}
.brand-logo{display:block;width:158px;height:auto}.footer-brand .brand-logo{width:142px}.intro-logo{display:block;width:104px;height:auto;margin-left:auto;flex:0 0 auto}
@media(max-width:700px){.brand-logo{width:138px}.footer-brand .brand-logo{width:128px}.intro-logo{width:78px}}
/* Hero layout: copy stays on the left, animated network settles lower on the right. */
@media(min-width:701px){.hero{align-items:flex-start}.hero-content{width:min(44%,560px);max-width:560px;align-self:flex-start;margin-top:clamp(46px,8vh,86px)}.hero-visual{width:min(56%,740px);height:510px;right:1%;top:auto;bottom:34px;transform:none}}
@media(min-width:701px) and (max-width:950px){.hero-content{width:46%;margin-top:58px}.hero-visual{width:60%;height:470px;right:-7%;bottom:38px;transform:scale(.82);transform-origin:right bottom}}
@media(max-width:700px){.hero-content{margin-top:0}}
/* Calmer ambient treatment: remove particles and rotation, keep only a slow light drift. */
.network-canvas{display:none!important}.hero-grid{opacity:.28;animation:none!important}.hero-visual{animation:none}.orbit-a,.orbit-b,.orbit-c,.ring-a,.ring-b{animation:none!important}.orbit-a,.orbit-b,.orbit-c{border-color:rgba(86,212,232,.12)}.ring-a,.ring-b{opacity:.52}.node-a,.node-b,.node-c,.node-d{animation:none!important}.core{animation:core-pulse-soft 10s ease-in-out infinite}
.hero::before{content:"";position:absolute;z-index:0;pointer-events:none;width:58%;height:72%;right:0;bottom:1%;background:radial-gradient(ellipse at 55% 55%,rgba(24,132,160,.16),rgba(12,75,101,.08) 35%,transparent 69%);filter:blur(24px);animation:ambient-drift 26s ease-in-out infinite alternate}
.hero::after{content:"";position:absolute;z-index:1;pointer-events:none;width:38%;height:1px;right:7%;bottom:23%;background:linear-gradient(90deg,transparent,rgba(86,212,232,.27),rgba(86,212,232,.46),transparent);box-shadow:0 0 16px rgba(86,212,232,.12);transform:rotate(-28deg);transform-origin:center;animation:light-trace 18s ease-in-out infinite}
@keyframes ambient-drift{from{transform:translate3d(1%,2%,0) scale(.94);opacity:.62}to{transform:translate3d(-4%,-3%,0) scale(1.06);opacity:1}}
@keyframes light-trace{0%,100%{opacity:.14;translate:-4% 3%}50%{opacity:.52;translate:4% -2%}}
@keyframes core-pulse-soft{0%,100%{box-shadow:0 0 42px rgba(29,172,204,.16),inset 0 0 22px rgba(86,212,232,.07)}50%{box-shadow:0 0 56px rgba(29,172,204,.24),inset 0 0 24px rgba(86,212,232,.11)}}
@media(max-width:700px){.hero::before{width:100%;height:43%;right:-24%;bottom:6%}.hero::after{width:65%;right:-2%;bottom:22%;opacity:.3}}
@media(prefers-reduced-motion:reduce){.hero::before,.hero::after,.core{animation:none!important}}
/* ES DATA monochrome brand palette */
:root{--ink:#111;--navy:#101010;--navy2:#222;--blue:#4a4a4a;--cyan:#d0d0d0;--paper:#f2f2f2;--muted:#a6a6a6;--line:rgba(255,255,255,.14);--darkline:rgba(15,15,15,.16);--orange:#777}
.site-header,.site-footer{background:#090909}.hero{background:radial-gradient(ellipse at 76% 48%,#292929 0,#171717 38%,#080808 74%)}
.hero-grid{background-image:linear-gradient(rgba(235,235,235,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(235,235,235,.045) 1px,transparent 1px)}
.glow-one{background:radial-gradient(circle,rgba(220,220,220,.10),transparent 68%)}.glow-two{background:radial-gradient(circle,rgba(255,255,255,.07),transparent 70%)}
.nav-contact{border-color:rgba(220,220,220,.38)}.nav-contact span,.text-link span,.scroll-cue i{color:#d7d7d7}
.orbit,.signal-ring{border-color:rgba(225,225,225,.13)}.orbit-c{border-color:rgba(225,225,225,.19)}.ring-a,.ring-b{border-color:rgba(225,225,225,.1)}
.core{background:linear-gradient(145deg,#555,#202020);border-color:rgba(235,235,235,.46);box-shadow:0 0 54px rgba(220,220,220,.11),inset 0 0 25px rgba(255,255,255,.08)}.core:before{border-color:rgba(255,255,255,.16)}.core small,.core-cross{color:#e4e4e4}
.node{border-color:rgba(230,230,230,.32);background:rgba(18,18,18,.9)}.node-icon{color:#dedede}
.services-section{background:#101010}.services-section:before{border-color:rgba(255,255,255,.055);box-shadow:0 0 0 100px rgba(255,255,255,.012),0 0 0 200px rgba(255,255,255,.008)}.service-card:hover{background:rgba(255,255,255,.055)}
.approach-copy h2 em,.arrow-link span{color:#595959}.partner-stamp b{color:#555}
.contact-section{background:linear-gradient(115deg,#262626,#090909 68%)}.contact-section:after{color:rgba(255,255,255,.035)}
.hero::before{background:radial-gradient(ellipse at 55% 55%,rgba(225,225,225,.11),rgba(200,200,200,.055) 35%,transparent 69%)}.hero::after{background:linear-gradient(90deg,transparent,rgba(235,235,235,.2),rgba(235,235,235,.38),transparent);box-shadow:0 0 16px rgba(255,255,255,.08)}
@keyframes core-pulse-soft{0%,100%{box-shadow:0 0 38px rgba(220,220,220,.09),inset 0 0 20px rgba(255,255,255,.05)}50%{box-shadow:0 0 52px rgba(230,230,230,.17),inset 0 0 24px rgba(255,255,255,.1)}}
@media(prefers-reduced-motion:reduce){.hero::before,.hero::after,.core{animation:none!important}}
/* More visible but still restrained motion; clearer labels inside the network nodes. */
.hero::before{animation-duration:17s;background:radial-gradient(ellipse at 55% 55%,rgba(235,235,235,.16),rgba(210,210,210,.075) 38%,transparent 70%)}
.hero::after{animation-duration:12s}.orbit-b{animation:orbit-slow 72s linear infinite!important}.ring-a{animation:ring-slow-a 64s linear infinite!important}.ring-b{animation:ring-slow-b 78s linear infinite!important}
@keyframes orbit-slow{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes ring-slow-a{from{transform:translate(-50%,-50%) rotate(-30deg)}to{transform:translate(-50%,-50%) rotate(330deg)}}
@keyframes ring-slow-b{from{transform:translate(-50%,-50%) rotate(60deg)}to{transform:translate(-50%,-50%) rotate(420deg)}}
@keyframes light-trace{0%,100%{opacity:.2;translate:-9% 4%}50%{opacity:.8;translate:9% -4%}}
.node{width:96px;height:96px;border-color:rgba(235,235,235,.46);background:rgba(28,28,28,.96);box-shadow:0 0 26px rgba(255,255,255,.045)}.node-icon{font-size:29px;color:#f0f0f0}.node small{font-size:9px;font-weight:700;letter-spacing:.12em;color:#e1e1e1;margin-top:7px}
@media(max-width:950px) and (min-width:701px){.node{width:84px;height:84px}.node-icon{font-size:25px}.node small{font-size:8px}}
@media(max-width:700px){.node{width:68px;height:68px}.node-icon{font-size:21px}.node small{font-size:8px;letter-spacing:.1em;margin-top:5px}.hero::before{animation-duration:19s}.hero::after{animation-duration:14s}}
@media(prefers-reduced-motion:reduce){.orbit-b,.ring-a,.ring-b,.hero::before,.hero::after,.core{animation:none!important}}
/* Place the official wordmark at the center of the animated network. */
.core{width:138px;height:138px;background:linear-gradient(145deg,#3d3d3d,#161616)}.core-logo{position:relative;z-index:1;display:block;width:96px;height:auto;filter:drop-shadow(0 1px 4px rgba(0,0,0,.2))}
@media(max-width:950px) and (min-width:701px){.core{width:118px;height:118px}.core-logo{width:84px}}
@media(max-width:700px){.core{width:104px;height:104px}.core-logo{width:74px}}
/* Fifth service node: Electrical & Electronics */
.node-e{width:110px;height:110px;left:calc(50% - 175px);top:calc(50% - 175px)}.node-e .node-icon{display:flex;align-items:center;justify-content:center;line-height:1}.node-e .node-icon svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.node-e .node-label{font-size:8px;line-height:1.08;letter-spacing:.08em;text-align:center;margin-top:4px}
@media(max-width:950px) and (min-width:701px){.node-e{width:96px;height:96px;left:calc(50% - 170px);top:calc(50% - 170px)}.node-e .node-icon svg{width:23px;height:23px}.node-e .node-label{font-size:7px}}
@media(max-width:700px){.node-a{left:calc(50% - 34px);top:calc(50% - 140px)}.node-b{left:calc(50% + 62px);top:calc(50% - 72px)}.node-c{left:calc(50% + 25px);top:calc(50% + 49px)}.node-d{left:calc(50% - 94px);top:calc(50% + 49px)}.node-e{width:68px;height:68px;left:calc(50% - 130px);top:calc(50% - 72px)}.node-e .node-icon svg{width:20px;height:20px}.node-e .node-label{font-size:6.5px;line-height:1.05;letter-spacing:.04em;margin-top:3px}}
/* Sixth service node: Infrastructure */
.node-f{width:110px;height:110px;left:calc(50% - 175px);top:calc(50% + 65px)}.node-f .node-icon{display:flex;align-items:center;justify-content:center;line-height:1}.node-f .node-icon svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:950px) and (min-width:701px){.node-f{width:96px;height:96px;left:calc(50% - 170px);top:calc(50% + 74px)}.node-f .node-icon svg{width:23px;height:23px}}
@media(max-width:700px){.node-a{left:calc(50% - 34px);top:calc(50% - 139px)}.node-b{left:calc(50% + 57px);top:calc(50% - 87px)}.node-c{left:calc(50% + 57px);top:calc(50% + 19px)}.node-d{left:calc(50% - 34px);top:calc(50% + 71px)}.node-e{left:calc(50% - 125px);top:calc(50% + 19px)}.node-f{width:68px;height:68px;left:calc(50% - 125px);top:calc(50% - 87px)}.node-f .node-icon svg{width:20px;height:20px}}
/* Seventh service node: Project Planning */
.node-g{width:110px;height:110px;left:calc(50% + 65px);top:calc(50% - 175px)}.node-g .node-icon{display:flex;align-items:center;justify-content:center;line-height:1}.node-g .node-icon svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.node-g small{font-size:7.3px;letter-spacing:.035em;white-space:nowrap}
@media(max-width:950px) and (min-width:701px){.node-g{width:96px;height:96px;left:calc(50% + 74px);top:calc(50% - 170px)}.node-g .node-icon svg{width:23px;height:23px}.node-g small{font-size:6.5px}}
@media(max-width:700px){.node-a{left:calc(50% - 34px);top:calc(50% - 134px)}.node-b{left:calc(50% + 44px);top:calc(50% - 96px)}.node-g{width:68px;height:68px;left:calc(50% + 64px);top:calc(50% - 12px)}.node-c{left:calc(50% + 10px);top:calc(50% + 56px)}.node-d{left:calc(50% - 78px);top:calc(50% + 56px)}.node-e{left:calc(50% - 132px);top:calc(50% - 12px)}.node-f{left:calc(50% - 112px);top:calc(50% - 96px)}.node-g .node-icon svg{width:20px;height:20px}.node-g small{font-size:5.7px;letter-spacing:0}}
@media(max-width:700px){.node-g{width:76px;height:76px;left:calc(50% + 60px);top:calc(50% - 16px)}.node-g small{font-size:6.3px}}
/* Eighth service node: Wireless Systems */
.node-h{width:110px;height:110px;left:calc(50% + 65px);top:calc(50% + 65px)}.node-h .node-icon{display:flex;align-items:center;justify-content:center;line-height:1}.node-h .node-icon svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.node-h small{font-size:8px;line-height:1.08;letter-spacing:.08em;text-align:center}
@media(max-width:950px) and (min-width:701px){.node-h{width:96px;height:96px;left:calc(50% + 74px);top:calc(50% + 74px)}.node-h .node-icon svg{width:23px;height:23px}.node-h small{font-size:7px}}
@media(max-width:700px){.node-a{left:calc(50% - 34px);top:calc(50% - 134px)}.node-b{left:calc(50% + 37px);top:calc(50% - 105px)}.node-g{width:76px;height:76px;left:calc(50% + 62px);top:calc(50% - 38px)}.node-c{left:calc(50% + 37px);top:calc(50% + 37px)}.node-d{left:calc(50% - 34px);top:calc(50% + 66px)}.node-e{left:calc(50% - 105px);top:calc(50% + 37px)}.node-f{left:calc(50% - 134px);top:calc(50% - 34px)}.node-h{width:76px;height:76px;left:calc(50% - 105px);top:calc(50% - 105px)}.node-g .node-icon svg,.node-h .node-icon svg{width:20px;height:20px}.node-g small{font-size:6.1px;letter-spacing:0}.node-h small{font-size:7px;line-height:1.05;letter-spacing:.04em}}
/* Corrected official service labels */
.node-label{display:block;text-align:center}.node-a .node-label,.node-c .node-label,.node-e .node-label{font-size:8.2px;line-height:1.12;letter-spacing:.075em}.node-b .node-label{font-size:7.3px;line-height:1.08;letter-spacing:.035em}.node-d .node-label{font-size:7.2px;line-height:1.08;letter-spacing:.035em}
@media(max-width:950px) and (min-width:701px){.node-a .node-label,.node-c .node-label,.node-e .node-label{font-size:7.4px}.node-b .node-label,.node-d .node-label{font-size:6.8px}}
@media(max-width:700px){.node-a .node-label,.node-c .node-label,.node-e .node-label{font-size:7px;line-height:1.05;letter-spacing:.04em}.node-b .node-label,.node-d .node-label{font-size:6px;line-height:1.02;letter-spacing:0;margin-top:4px}}
.node-a .node-icon{display:flex;align-items:center;justify-content:center;line-height:1}.node-a .node-icon svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;color:#ededed}
@media(max-width:950px) and (min-width:701px){.node-a .node-icon svg{width:23px;height:23px}}
@media(max-width:700px){.node-a .node-icon svg{width:20px;height:20px}}
.node-c .node-icon{display:flex;align-items:center;justify-content:center;line-height:1}.node-c .node-icon svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;color:#ededed}
@media(max-width:950px) and (min-width:701px){.node-c .node-icon svg{width:23px;height:23px}}
@media(max-width:700px){.node-c .node-icon svg{width:20px;height:20px}}
.node-d .node-icon{display:flex;align-items:center;justify-content:center;line-height:1}.node-d .node-icon svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;color:#ededed}
@media(max-width:950px) and (min-width:701px){.node-d .node-icon svg{width:23px;height:23px}}
@media(max-width:700px){.node-d .node-icon svg{width:20px;height:20px}}
.node-b .node-icon{display:flex;align-items:center;justify-content:center;line-height:1}.node-b .node-icon svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;color:#ededed}
@media(max-width:950px) and (min-width:701px){.node-b .node-icon svg{width:23px;height:23px}}
@media(max-width:700px){.node-b .node-icon svg{width:20px;height:20px}}
/* Consistent, larger service icons across every node */
.node .node-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex:0 0 38px}.node .node-icon svg{width:30px!important;height:30px!important;flex:0 0 30px;display:block}
@media(max-width:950px) and (min-width:701px){.node .node-icon{width:36px;height:36px;flex-basis:36px}.node .node-icon svg{width:28px!important;height:28px!important;flex-basis:28px}}
@media(max-width:700px){.node .node-icon{width:32px;height:32px;flex-basis:32px}.node .node-icon svg{width:24px!important;height:24px!important;flex-basis:24px}}
/* Matching, more legible labels inside every service circle */
.hero-visual .node .node-label,.hero-visual .node small{font-size:10px!important;line-height:1.14!important;letter-spacing:.01em!important;font-weight:700!important;color:#f0f0f0!important;text-align:center!important;margin-top:6px!important;white-space:normal}
@media(max-width:950px) and (min-width:701px){.hero-visual .node .node-label,.hero-visual .node small{font-size:9px!important;line-height:1.12!important;margin-top:5px!important}}
@media(max-width:700px){.hero-visual .node .node-label,.hero-visual .node small{font-size:8px!important;line-height:1.08!important;letter-spacing:0!important;margin-top:4px!important}}
/* Keep every label centered and within its circle frame */
.hero-visual .node small{display:block;width:100%;max-width:100%;box-sizing:border-box;padding:0 5px;text-align:center;overflow-wrap:anywhere;word-break:normal;hyphens:none;font-size:9.5px!important;line-height:1.12!important;letter-spacing:0!important}
@media(max-width:950px) and (min-width:701px){.hero-visual .node small{font-size:8.7px!important;line-height:1.1!important;padding:0 4px}}
@media(max-width:700px){.hero-visual .node small{font-size:7.5px!important;line-height:1.08!important;padding:0 4px}}
.hero-visual .node-b .node-icon,.hero-visual .node-b .node-label{position:relative;top:-5px}
.hero-visual .node-b .node-label{margin-top:-2px!important;line-height:1.04!important;padding:0 3px!important}
.hero-visual .node-d .node-label{margin-top:-2px!important;line-height:1.04!important;padding:0 3px!important;position:relative;top:-1px}
/* Swap the Fiber and Electronic Communications service-circle positions. */
.node-b{left:calc(50% - 45px);top:calc(50% + 145px)}
.node-d{left:calc(50% - 45px);top:calc(50% - 227px)}
@media(max-width:950px) and (min-width:701px){.node-b{left:calc(50% - 28px);top:calc(50% + 82px)}.node-d{left:calc(50% - 28px);top:calc(50% - 138px)}}
@media(max-width:700px){.node-b{left:calc(50% - 34px);top:calc(50% + 66px)}.node-d{left:calc(50% + 37px);top:calc(50% - 105px)}}
/* Give every service frame its own gentle floating rhythm. */
.node-e{animation:node-float 5.8s ease-in-out -2s infinite}
.node-f{animation:node-float 6.2s ease-in-out -3.4s infinite}
.node-g{animation:node-float 5.4s ease-in-out -1.2s infinite}
.node-h{animation:node-float 6.4s ease-in-out -4.1s infinite}
@media(prefers-reduced-motion:reduce){.node-a,.node-b,.node-c,.node-d,.node-e,.node-f,.node-g,.node-h{animation:none!important}}
.service-orbit{position:absolute;inset:0;transform-origin:50% 50%;animation:service-orbit-turn 150s linear infinite;z-index:2}
.service-orbit .node-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;animation:service-content-counter 150s linear infinite}
@keyframes service-orbit-turn{to{transform:rotate(360deg)}}
@keyframes service-content-counter{to{transform:rotate(-360deg)}}
@media(prefers-reduced-motion:reduce){.service-orbit,.service-orbit .node-content{animation:none!important}}
.service-orbit .node{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.service-orbit .node-icon{position:static!important;top:auto!important;margin:0!important;flex:0 0 auto}
.service-orbit .node small{position:static!important;top:auto!important;width:100%;box-sizing:border-box;margin:3px 0 0!important;padding:0 4px!important;text-align:center!important;line-height:1.08!important}
.service-orbit{pointer-events:auto}.service-orbit .node{pointer-events:auto;cursor:pointer;transition:border-color .25s,box-shadow .25s,background-color .25s}.service-orbit .node:hover{border-color:rgba(255,255,255,.9);background:#242424;box-shadow:0 0 34px rgba(255,255,255,.16)}.service-orbit .node:focus-visible{outline:2px solid #fff;outline-offset:4px}
.hero-content .eyebrow{white-space:nowrap;flex-wrap:nowrap;font-size:10px;letter-spacing:.005em;gap:8px}
@media(max-width:950px) and (min-width:701px){.hero-content .eyebrow{font-size:8px;letter-spacing:-.015em;gap:6px}}
@media(max-width:700px){.hero-content .eyebrow{font-size:7px;letter-spacing:-.025em;gap:6px}}
.brand-marquee{padding:25px 0 30px;background:#101010;border-top:1px solid #292929;overflow:hidden}.brand-marquee-heading{display:flex;align-items:center;gap:10px;width:min(1080px,86%);margin:0 auto 18px;color:#a7a7a7;font-size:9px;font-weight:700;letter-spacing:.17em}.brand-marquee-heading span{width:20px;height:1px;background:#ccc}.brand-marquee-window{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.brand-marquee-track{display:flex;width:max-content;animation:brand-marquee-scroll 68s linear infinite}.brand-marquee-group{display:flex;flex:0 0 auto;align-items:center;gap:16px;padding-right:16px}.brand-logo-card{width:148px;height:76px;flex:0 0 148px;display:flex;align-items:center;justify-content:center;padding:12px;background:#f1f1f1;border:1px solid #d8d8d8;border-radius:3px}.brand-logo-card img{display:block;width:122px;height:50px;max-width:none;max-height:none;object-fit:contain;filter:none;opacity:1}.brand-marquee:hover .brand-marquee-track,.brand-marquee:focus-within .brand-marquee-track{animation-play-state:paused}@keyframes brand-marquee-scroll{to{transform:translateX(-50%)}}@media(max-width:700px){.brand-marquee{padding:22px 0 25px}.brand-marquee-heading{font-size:8px;margin-bottom:14px}.brand-marquee-group{gap:10px;padding-right:10px}.brand-logo-card{width:122px;height:64px;flex-basis:122px;padding:10px}.brand-logo-card img{width:100px;height:42px}.brand-marquee-track{animation-duration:54s}}@media(prefers-reduced-motion:reduce){.brand-marquee-track{animation:none!important}}
.node-g .node-icon .helmet-shell,.node-g .node-icon .helmet-brim{fill:#f4f4f4;stroke:none}.node-g .node-icon .helmet-detail{fill:none;stroke:#3b3b3b;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
/* Make the engineering PPE mark unmistakable: hard hat plus reflective vest. */
.node-g .node-icon .helmet-shell,.node-g .node-icon .helmet-brim,.node-g .node-icon .person-head,.node-g .node-icon .person-body{fill:#f5f5f5;stroke:none}.node-g .node-icon .helmet-detail{fill:none;stroke:#444;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* Keep every service icon the same size, with a larger shared drawing box. */
.node .node-icon{width:42px;height:42px;flex-basis:42px}.node .node-icon svg{width:34px!important;height:34px!important;flex-basis:34px}
@media(max-width:950px) and (min-width:701px){.node .node-icon{width:40px;height:40px;flex-basis:40px}.node .node-icon svg{width:32px!important;height:32px!important;flex-basis:32px}}
@media(max-width:700px){.node .node-icon{width:34px;height:34px;flex-basis:34px}.node .node-icon svg{width:28px!important;height:28px!important;flex-basis:28px}}
.projects-section{padding:94px 0 100px;background:#101010;color:#f4f4f4;border-top:1px solid #252525}.projects-heading{display:grid;grid-template-columns:1fr .72fr;gap:10%;align-items:end;margin:27px 0 38px}.projects-heading h2{font:600 clamp(42px,5vw,66px)/1.03 Manrope,sans-serif;letter-spacing:-.06em;margin:0}.projects-heading h2 em{font-style:normal;color:#aaa}.projects-heading>p{max-width:400px;margin:0 0 5px;color:#aaa;font-size:13px;line-height:1.8}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{min-width:0;padding:12px 12px 22px;background:#171717;border:1px solid #333;transition:transform .25s,border-color .25s}.project-card:hover{transform:translateY(-5px);border-color:#777}.project-art{height:175px;position:relative;overflow:hidden;background:radial-gradient(circle at 72% 38%,#383838,#141414 60%);border:1px solid #303030}.project-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(135deg,black,transparent 85%)}.project-art i{position:absolute;left:50%;top:50%;width:130px;height:130px;border:1px solid rgba(235,235,235,.48);border-radius:50%;transform:translate(-50%,-50%)}.project-art i:nth-of-type(2){width:92px;height:92px;border-style:dashed;animation:orbit-breathe 7s ease-in-out infinite}.project-art i:nth-of-type(3){width:48px;height:48px;background:rgba(220,220,220,.12)}.project-art b{position:absolute;right:12px;bottom:-25px;color:rgba(255,255,255,.13);font:800 94px Manrope,sans-serif;letter-spacing:-.1em}.project-art-label{position:absolute;left:14px;top:13px;z-index:1;color:#ccc;font-size:8px;letter-spacing:.15em}.project-art-communication{background:radial-gradient(circle at 35% 52%,#333,#141414 65%)}.project-art-engineering{background:radial-gradient(circle at 70% 62%,#3a3a3a,#141414 64%)}.project-card-top{display:flex;justify-content:space-between;margin:22px 2px 11px;color:#aaa;font-size:8px;font-weight:700;letter-spacing:.13em}.project-card-top span:last-child{font-size:14px;color:#ddd}.project-card h3{font:600 19px Manrope,sans-serif;margin:0 2px 10px;letter-spacing:-.025em}.project-card>p{min-height:58px;margin:0 2px 20px;color:#aaa;font-size:11px;line-height:1.7}.project-card>a{display:flex;justify-content:space-between;align-items:center;padding:12px 2px 0;border-top:1px solid #383838;color:#e3e3e3;font-size:9px;font-weight:700}.project-card>a span{font-size:14px;color:#aaa}
@media(max-width:950px) and (min-width:701px){.main-nav{gap:13px;font-size:10px}.nav-contact{padding:10px 11px}.projects-section{padding:78px 0}.projects-grid{gap:12px}.project-card{padding:10px 10px 18px}.project-art{height:145px}.project-card h3{font-size:16px}.project-card>p{font-size:10px}}
@media(max-width:700px){.projects-section{padding:72px 0 78px}.projects-heading{grid-template-columns:1fr;gap:16px;margin:23px 0 26px}.projects-heading h2{font-size:42px}.projects-heading>p{font-size:11px}.projects-grid{grid-template-columns:1fr;gap:14px}.project-art{height:190px}.project-card{padding:11px 11px 20px}.project-card h3{font-size:18px}.project-card>p{min-height:0}}
@media(prefers-reduced-motion:reduce){.project-art i:nth-of-type(2){animation:none!important}}
.project-art .project-visual{position:absolute;left:50%;top:56%;width:min(72%,180px);height:auto;max-height:112px;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 14px rgba(0,0,0,.45));animation:project-visual-float 5s ease-in-out infinite}.project-art-communication .project-visual{animation-delay:.8s}.project-art-engineering .project-visual{animation-delay:1.5s}@keyframes project-visual-float{0%,100%{translate:0 0}50%{translate:0 -5px}}@media(prefers-reduced-motion:reduce){.project-art .project-visual{animation:none}}
.project-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;list-style:none;padding:0;margin:0;border-top:1px solid #343434}.project-rows li{min-width:0;min-height:43px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);align-items:center;gap:12px;border-bottom:1px solid #303030;white-space:nowrap;overflow:hidden}.project-rows li:hover{background:rgba(255,255,255,.035)}.project-rows b,.project-rows span{min-width:0;overflow:hidden;text-overflow:ellipsis}.project-rows b{color:#e5e5e5;font-size:10px;font-weight:700}.project-rows span{color:#a7a7a7;font-size:9px;line-height:1.5}@media(max-width:700px){.project-rows{grid-template-columns:1fr;column-gap:0}.project-rows li{min-height:48px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8px}.project-rows b{font-size:9px}.project-rows span{font-size:8px}}
.project-rows li{min-height:0;align-items:start;padding:11px 0;white-space:normal;overflow:visible}.project-rows b,.project-rows span{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.project-rows b{font-size:11px;line-height:1.45}.project-rows span{font-size:10px;line-height:1.55}@media(max-width:700px){.project-rows li{min-height:0;grid-template-columns:1fr;gap:4px;padding:12px 0}.project-rows b{font-size:11px}.project-rows span{font-size:10px}}
.hero-content>p{font-size:12px}@media(max-width:700px){.hero-content>p{font-size:11px}}
.intro-copy{grid-template-columns:1fr}.intro-body{grid-column:1;grid-row:auto;max-width:920px}
.intro-body{position:relative}.about-watermark{position:absolute;z-index:0;right:0;top:12%;width:clamp(170px,22vw,280px);height:auto;opacity:.055;filter:grayscale(1);pointer-events:none}.intro-body h2,.intro-body p,.intro-body .arrow-link{position:relative;z-index:1}.intro-line .intro-logo{opacity:.24}@media(max-width:700px){.about-watermark{top:24%;right:2%;width:150px;opacity:.04}}
.about-watermark{top:-74px;width:clamp(260px,30vw,360px);opacity:.065}@media(max-width:700px){.about-watermark{top:-48px;right:0;width:220px;opacity:.05}}

/* One-project-at-a-time projects slider */
.project-slider{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:16px}
.project-viewport{min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-top:1px solid #343434;border-bottom:1px solid #303030;overscroll-behavior-x:contain}
.project-viewport::-webkit-scrollbar{display:none}
.project-rows{display:flex;grid-template-columns:none;column-gap:0;width:100%;border:0;margin:0}
.project-rows li{box-sizing:border-box;flex:0 0 100%;min-width:100%;min-height:240px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:5%;padding:40px 7%;border:0;white-space:normal;overflow:visible;scroll-snap-align:start;background:radial-gradient(ellipse at 78% 50%,rgba(255,255,255,.055),transparent 55%);transition:background .25s}
.project-rows li:hover{background:radial-gradient(ellipse at 78% 50%,rgba(255,255,255,.085),transparent 55%)}
.project-title-group{min-width:0;display:flex;flex-direction:row;align-items:center;gap:16px}
.project-icon{display:block;width:42px;height:42px;flex:none;color:#d0d0d0;opacity:.9}
.project-rows b,.project-rows span{overflow:visible;text-overflow:clip}
.project-rows b{font-size:clamp(20px,2.2vw,30px);line-height:1.2;letter-spacing:-.03em}
.project-rows span{font-size:clamp(14px,1.35vw,18px);line-height:1.75}
.project-control{width:42px;height:42px;display:grid;place-items:center;border:1px solid #555;background:transparent;color:#eee;font:24px/1 Manrope,sans-serif;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.project-control:hover:not(:disabled){background:#eee;color:#111;border-color:#eee}
.project-control:disabled{opacity:.3;cursor:default}
.project-control:focus-visible,.project-viewport:focus-visible{outline:2px solid #eee;outline-offset:4px}
.project-slider-meta{display:flex;align-items:center;gap:18px;width:140px;margin:18px 58px 0 auto;color:#aaa;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.project-progress{height:2px;flex:1;background:#383838}
.project-progress span{display:block;height:100%;width:6.25%;background:#ddd;transition:width .25s}
.projects-heading{grid-template-columns:1fr .72fr;gap:10%}
.projects-heading h2{white-space:normal;font-size:clamp(42px,5vw,66px)}
.projects-heading h2 br{display:block}
.projects-heading>p{font-size:16px;line-height:1.75}
.service-icon-svg svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){.project-slider{grid-template-columns:34px minmax(0,1fr) 34px;gap:8px}.project-control{width:34px;height:34px;font-size:21px}.project-rows li{grid-template-columns:1fr;align-content:center;gap:12px;min-height:260px;padding:30px 18px}.project-title-group{gap:12px}.project-icon{width:36px;height:36px}.project-rows b{font-size:22px}.project-rows span{font-size:14px}.project-slider-meta{margin-right:42px}.projects-heading{grid-template-columns:minmax(0,1fr);gap:16px}.projects-heading h2{font-size:42px}.projects-heading>p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.project-viewport{scroll-behavior:auto}.project-progress span{transition:none}}

/* Nine evenly spaced service nodes, including project consultancy. */
.node-a,.node-b,.node-c,.node-d,.node-e,.node-f,.node-g,.node-h,.node-i{width:88px;height:88px}
.node-a{left:calc(50% - 44px);top:calc(50% - 249px)}
.node-b{left:calc(50% + 88px);top:calc(50% - 201px)}
.node-c{left:calc(50% + 158px);top:calc(50% - 80px)}
.node-d{left:calc(50% + 133px);top:calc(50% + 59px)}
.node-e{left:calc(50% + 26px);top:calc(50% + 149px)}
.node-f{left:calc(50% - 114px);top:calc(50% + 149px)}
.node-g{left:calc(50% - 221px);top:calc(50% + 59px)}
.node-h{left:calc(50% - 246px);top:calc(50% - 80px)}
.node-i{left:calc(50% - 176px);top:calc(50% - 201px)}
.node-i .node-icon{display:flex;align-items:center;justify-content:center}
.node-i .node-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.node-i{animation:node-float 5.9s ease-in-out -2.8s infinite}
.hero-visual .node{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.hero-visual .node:hover,.hero-visual .node:focus-visible{transform:scale(1.08);border-color:rgba(86,212,232,.8);box-shadow:0 0 34px rgba(86,212,232,.28),0 0 28px rgba(0,0,0,.25);z-index:3}
@media(max-width:950px) and (min-width:701px){.node-a,.node-b,.node-c,.node-d,.node-e,.node-f,.node-g,.node-h,.node-i{width:76px;height:76px}.node-a{left:calc(50% - 38px);top:calc(50% - 224px)}.node-b{left:calc(50% + 78px);top:calc(50% - 178px)}.node-c{left:calc(50% + 140px);top:calc(50% - 66px)}.node-d{left:calc(50% + 118px);top:calc(50% + 54px)}.node-e{left:calc(50% + 23px);top:calc(50% + 132px)}.node-f{left:calc(50% - 99px);top:calc(50% + 132px)}.node-g{left:calc(50% - 193px);top:calc(50% + 54px)}.node-h{left:calc(50% - 215px);top:calc(50% - 66px)}.node-i{left:calc(50% - 155px);top:calc(50% - 178px)}}
@media(max-width:700px){.node-a,.node-b,.node-c,.node-d,.node-e,.node-f,.node-g,.node-h,.node-i{width:60px;height:60px}.node-a{left:calc(50% - 30px);top:calc(50% - 152px)}.node-b{left:calc(50% + 48px);top:calc(50% - 124px)}.node-c{left:calc(50% + 90px);top:calc(50% - 51px)}.node-d{left:calc(50% + 77px);top:calc(50% + 32px)}.node-e{left:calc(50% + 12px);top:calc(50% + 86px)}.node-f{left:calc(50% - 72px);top:calc(50% + 86px)}.node-g{left:calc(50% - 137px);top:calc(50% + 32px)}.node-h{left:calc(50% - 150px);top:calc(50% - 51px)}.node-i{left:calc(50% - 108px);top:calc(50% - 124px)}.node-a .node-label,.node-b .node-label,.node-c .node-label,.node-d .node-label,.node-e .node-label,.node-f .node-label,.node-g .node-label,.node-h .node-label,.node-i .node-label{font-size:5.2px;line-height:1.04;letter-spacing:0;margin-top:3px}.node-a .node-icon svg,.node-b .node-icon svg,.node-c .node-icon svg,.node-d .node-icon svg,.node-e .node-icon svg,.node-f .node-icon svg,.node-g .node-icon svg,.node-h .node-icon svg,.node-i .node-icon svg{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.node-i{animation:none!important}}
.about-watermark{left:0;right:auto;animation:about-logo-drift 16s linear infinite}@keyframes about-logo-drift{0%{transform:translateX(-80px);opacity:0}10%{opacity:.065}88%{opacity:.065}100%{transform:translateX(150px);opacity:0}}@media(max-width:700px){.about-watermark{left:0;right:auto}@keyframes about-logo-drift{0%{transform:translateX(-36px);opacity:0}10%{opacity:.05}88%{opacity:.05}100%{transform:translateX(58px);opacity:0}}}@media(prefers-reduced-motion:reduce){.about-watermark{animation:none;opacity:.05;transform:none}}
.contact-section h2{font-size:clamp(30px,4.2vw,58px);white-space:nowrap}@media(max-width:700px){.contact-section h2{font-size:clamp(29px,7.5vw,42px)}}
.contact-phone-links{display:flex;align-items:center;gap:12px;white-space:nowrap}.contact-phone-links a{font-size:10px!important}@media(max-width:700px){.contact-phone-links{gap:7px}.contact-phone-links a{font-size:9px!important}}
.hero h1{font-size:clamp(48px,5.5vw,76px)}@media(max-width:700px){.hero h1{font-size:clamp(44px,13vw,66px)}}
.hero-content>p{text-indent:1.5em}
.footer-note{font-size:11px}
.hero-foot>span:last-child{font-size:10px}
.hero-foot>span:first-child{font-size:10px}
.site-header .brand-logo{width:205px}@media(max-width:700px){.site-header .brand-logo{width:172px}}
.nav-services{position:relative;display:flex;align-items:center}.nav-services-trigger{display:flex;align-items:center;gap:7px;color:inherit}.nav-services-trigger>span{font-size:14px;color:#aaa;transition:transform .2s}.nav-dropdown{position:absolute;z-index:30;top:100%;left:-16px;min-width:245px;padding:8px 0;background:#101010;border:1px solid #353535;box-shadow:0 16px 34px rgba(0,0,0,.38);opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .18s,transform .18s,visibility .18s}.nav-services:hover .nav-dropdown,.nav-services:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav-services:hover .nav-services-trigger>span,.nav-services:focus-within .nav-services-trigger>span{transform:rotate(180deg)}.nav-dropdown a{display:block;padding:11px 16px;color:#bcbcbc;font-size:11px;line-height:1.4;white-space:nowrap}.nav-dropdown a:hover,.nav-dropdown a:focus{background:#222;color:#fff}
@media(max-width:700px){.nav-services{display:block;width:100%}.nav-services-trigger{padding:15px 0;border-bottom:1px solid var(--line)}.nav-services-trigger>span{margin-left:auto}.nav-dropdown{display:block;position:static;min-width:0;padding:4px 0 8px 12px;background:transparent;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none;transition:none}.nav-dropdown a{padding:11px 10px;border-bottom:1px solid rgba(255,255,255,.07);font-size:11px}.nav-services:hover .nav-dropdown,.nav-services:focus-within .nav-dropdown{transform:none}.nav-services:hover .nav-services-trigger>span,.nav-services:focus-within .nav-services-trigger>span{transform:none}}
.main-nav.open{max-height:calc(100vh - 70px);overflow-y:auto}
.contact-row>span{font-size:10px}
.welcome-open{overflow:hidden}
.welcome-screen{position:fixed;z-index:99999;inset:0;display:grid;place-items:center;padding:24px;background:rgba(4,4,4,.88);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);opacity:0;transition:opacity .35s ease}
.welcome-screen[hidden]{display:none}
.welcome-screen.is-visible{opacity:1}
.welcome-panel{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);width:min(1040px,100%);min-height:min(560px,calc(100vh - 48px));overflow:hidden;border:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,#1d1d1d,#111 58%,#0b0b0b);box-shadow:0 36px 110px rgba(0,0,0,.62);transform:translateY(16px);transition:transform .45s cubic-bezier(.2,.75,.25,1)}
.welcome-screen.is-visible .welcome-panel{transform:translateY(0)}
.welcome-copy{position:relative;z-index:1;align-self:center;padding:clamp(34px,6vw,72px)}
.welcome-logo{display:block;width:min(220px,60%);height:auto;margin-bottom:52px}
.welcome-kicker{display:flex;align-items:center;gap:10px;color:#aaa;font-size:10px;font-weight:700;letter-spacing:.18em}
.welcome-kicker span{width:28px;height:1px;background:#eee}
.welcome-copy h2{max-width:540px;margin:22px 0 17px;color:#f4f4f4;font:600 clamp(34px,4.5vw,56px)/1.08 Manrope,sans-serif;letter-spacing:-.05em}
.welcome-copy h2 em{color:#aaa;font-style:normal}
.welcome-copy>p:not(.welcome-kicker){max-width:440px;color:#b5b5b5;font-size:15px;line-height:1.8}
.welcome-enter{display:inline-flex;align-items:center;gap:42px;margin-top:28px;padding:15px 18px;border:1px solid #777;background:#e7e7e7;color:#111;font:700 12px "DM Sans",sans-serif;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.welcome-enter:hover,.welcome-enter:focus-visible{border-color:#fff;background:#fff}
.welcome-enter span{font-size:17px}
.welcome-close{position:absolute;z-index:3;top:18px;right:20px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(0,0,0,.25);color:#eee;font-size:24px;line-height:1;cursor:pointer;transition:background .2s}
.welcome-close:hover,.welcome-close:focus-visible{background:#333}
.welcome-visual{position:relative;display:grid;place-items:center;min-height:420px;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,rgba(220,220,220,.12),transparent 62%)}
.welcome-visual:before,.welcome-visual:after{position:absolute;content:"";border:1px solid rgba(255,255,255,.09);border-radius:50%;aspect-ratio:1}
.welcome-visual:before{width:82%;animation:welcome-breathe 8s ease-in-out infinite}
.welcome-visual:after{width:64%;border-style:dashed;animation:welcome-rotate 70s linear infinite}
.welcome-orbit{position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%;aspect-ratio:1}
.welcome-orbit-one{width:46%}.welcome-orbit-two{width:96%;border-color:rgba(255,255,255,.045)}
.welcome-core{z-index:1;display:grid;place-items:center;width:36%;aspect-ratio:1;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:radial-gradient(circle at 35% 30%,#292929,#090909 72%);box-shadow:0 0 70px rgba(255,255,255,.09),inset 0 0 30px rgba(255,255,255,.06);animation:welcome-breathe 6s ease-in-out infinite}
.welcome-core img{width:72%;height:auto;opacity:.88}
.welcome-chip{position:absolute;z-index:2;padding:8px 10px;border:1px solid rgba(255,255,255,.16);background:rgba(13,13,13,.84);color:#c9c9c9;font-size:8px;font-weight:700;letter-spacing:.16em}
.welcome-chip-one{top:23%;left:12%}.welcome-chip-two{top:31%;right:9%}.welcome-chip-three{right:14%;bottom:22%}
@keyframes welcome-rotate{to{transform:rotate(360deg)}}
@keyframes welcome-breathe{0%,100%{transform:scale(.98);opacity:.72}50%{transform:scale(1.03);opacity:1}}
@media(max-width:700px){.welcome-screen{padding:14px}.welcome-panel{grid-template-columns:1fr;min-height:min(650px,calc(100dvh - 28px));grid-template-rows:auto 190px}.welcome-copy{padding:30px 26px 10px}.welcome-logo{width:165px;margin-bottom:30px}.welcome-copy h2{font-size:38px;margin:18px 0 13px}.welcome-copy>p:not(.welcome-kicker){font-size:13px}.welcome-enter{margin-top:17px}.welcome-visual{min-height:190px}.welcome-core{width:25%}.welcome-visual:before{width:54%}.welcome-visual:after{width:43%}.welcome-orbit-one{width:31%}.welcome-orbit-two{width:65%}.welcome-chip{font-size:7px;padding:6px 8px}.welcome-chip-one{top:24%;left:19%}.welcome-chip-two{top:29%;right:16%}.welcome-chip-three{right:21%;bottom:17%}}
@media(prefers-reduced-motion:reduce){.welcome-screen,.welcome-panel{transition:none}.welcome-visual:before,.welcome-visual:after,.welcome-core{animation:none}}
/* Welcome emblem: pulsing light with slowly sweeping radial rays. */
.welcome-core{isolation:isolate;box-shadow:0 0 34px rgba(255,255,255,.13),0 0 90px rgba(255,255,255,.08),inset 0 0 30px rgba(255,255,255,.08);animation:welcome-breathe 6s ease-in-out infinite,welcome-flash 2.8s ease-in-out infinite}
.welcome-core::before,.welcome-core::after{position:absolute;z-index:-1;content:"";inset:-34%;border-radius:50%;pointer-events:none}
.welcome-core::before{background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.48) 0deg 1.2deg,transparent 1.2deg 13deg);mask:radial-gradient(circle,transparent 0 48%,#000 53% 59%,transparent 74%);animation:welcome-ray-turn 32s linear infinite;opacity:.62}
.welcome-core::after{inset:-13%;border:1px solid rgba(255,255,255,.3);box-shadow:0 0 18px rgba(255,255,255,.25),inset 0 0 18px rgba(255,255,255,.12);animation:welcome-halo 2.8s ease-in-out infinite}
.welcome-orbit-one{box-shadow:0 0 18px rgba(255,255,255,.09);animation:welcome-halo 3.8s ease-in-out infinite}
.welcome-orbit-two{animation:welcome-rotate 70s linear infinite,welcome-halo 4.4s ease-in-out infinite}
.welcome-visual:before{animation:welcome-breathe 8s ease-in-out infinite,welcome-halo 3.2s ease-in-out infinite}
.welcome-visual:after{animation:welcome-rotate 70s linear infinite,welcome-halo 4s ease-in-out infinite}
@keyframes welcome-ray-turn{to{transform:rotate(360deg)}}
@keyframes welcome-flash{0%,100%{box-shadow:0 0 26px rgba(255,255,255,.1),0 0 70px rgba(255,255,255,.06),inset 0 0 22px rgba(255,255,255,.05)}50%{box-shadow:0 0 44px rgba(255,255,255,.22),0 0 115px rgba(255,255,255,.14),inset 0 0 34px rgba(255,255,255,.12)}}
@keyframes welcome-halo{0%,100%{opacity:.38}50%{opacity:.9}}
@media(prefers-reduced-motion:reduce){.welcome-core,.welcome-core::before,.welcome-core::after,.welcome-orbit-one,.welcome-orbit-two,.welcome-visual:before,.welcome-visual:after{animation:none}}
.welcome-core{position:relative}.welcome-core img{position:relative;z-index:1}
/* Soft data-line texture for the welcome backdrop, inspired by the brand mark. */
.welcome-screen{background-color:rgba(5,5,5,.9);background-image:radial-gradient(ellipse at 75% 48%,rgba(255,255,255,.09),transparent 54%),repeating-linear-gradient(0deg,transparent 0 37px,rgba(255,255,255,.035) 38px,transparent 39px),repeating-linear-gradient(90deg,transparent 0 37px,rgba(255,255,255,.035) 38px,transparent 39px),linear-gradient(135deg,#161616,#080808 68%);background-size:auto,100% 100%,100% 100%,auto}
.welcome-screen::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 12.2%,rgba(255,255,255,.07) 12.25%,transparent 12.35% 24.7%),repeating-linear-gradient(0deg,transparent 0 24.7%,rgba(255,255,255,.065) 24.75%,transparent 24.85% 49.5%);mask-image:radial-gradient(ellipse at 50% 50%,#000 0%,transparent 78%);opacity:.45}
.welcome-panel{z-index:1;background:linear-gradient(135deg,rgba(34,34,34,.94),rgba(17,17,17,.93) 58%,rgba(10,10,10,.94))}
.welcome-visual{background-image:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.055) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,rgba(255,255,255,.055) 50%,transparent 50.2%),radial-gradient(ellipse at 50% 50%,rgba(220,220,220,.13),transparent 62%);background-size:46px 46px,46px 46px,auto}
/* Repeat the soft DATA-line pattern inside the welcome panel. */
.welcome-panel{background-color:#111;background-image:radial-gradient(ellipse at 76% 48%,rgba(255,255,255,.085),transparent 54%),repeating-linear-gradient(0deg,transparent 0 37px,rgba(255,255,255,.028) 38px,transparent 39px),repeating-linear-gradient(90deg,transparent 0 37px,rgba(255,255,255,.028) 38px,transparent 39px),linear-gradient(135deg,rgba(34,34,34,.97),rgba(17,17,17,.96) 58%,rgba(10,10,10,.97))}
.welcome-panel::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 12.2%,rgba(255,255,255,.045) 12.25%,transparent 12.35% 24.7%),repeating-linear-gradient(0deg,transparent 0 24.7%,rgba(255,255,255,.04) 24.75%,transparent 24.85% 49.5%);mask-image:radial-gradient(ellipse at 60% 50%,#000 0%,transparent 78%);opacity:.6}
.welcome-copy,.welcome-visual{position:relative;z-index:1}
/* Inside the welcome frame, use a subtle connected-network motif instead of the DATA grid. */
.welcome-panel::before{background-image:radial-gradient(circle at 8% 22%,rgba(255,255,255,.25) 0 2px,transparent 3px),radial-gradient(circle at 27% 38%,rgba(255,255,255,.22) 0 2px,transparent 3px),radial-gradient(circle at 46% 18%,rgba(255,255,255,.22) 0 2px,transparent 3px),radial-gradient(circle at 63% 43%,rgba(255,255,255,.24) 0 2px,transparent 3px),radial-gradient(circle at 84% 23%,rgba(255,255,255,.2) 0 2px,transparent 3px),radial-gradient(circle at 18% 76%,rgba(255,255,255,.2) 0 2px,transparent 3px),radial-gradient(circle at 42% 68%,rgba(255,255,255,.22) 0 2px,transparent 3px),radial-gradient(circle at 72% 82%,rgba(255,255,255,.22) 0 2px,transparent 3px),linear-gradient(26deg,transparent 49.8%,rgba(255,255,255,.065) 50%,transparent 50.2%),linear-gradient(-22deg,transparent 49.8%,rgba(255,255,255,.055) 50%,transparent 50.2%),linear-gradient(145deg,transparent 49.85%,rgba(255,255,255,.05) 50%,transparent 50.15%);background-size:auto;mask-image:radial-gradient(ellipse at 60% 50%,#000 0%,transparent 82%);opacity:.62}
/* Keep only soft network nodes inside the welcome frame; remove all connecting lines. */
.welcome-panel::before{background-image:radial-gradient(circle at 8% 22%,rgba(255,255,255,.2) 0 2px,transparent 3px),radial-gradient(circle at 27% 38%,rgba(255,255,255,.18) 0 2px,transparent 3px),radial-gradient(circle at 46% 18%,rgba(255,255,255,.18) 0 2px,transparent 3px),radial-gradient(circle at 63% 43%,rgba(255,255,255,.2) 0 2px,transparent 3px),radial-gradient(circle at 84% 23%,rgba(255,255,255,.16) 0 2px,transparent 3px),radial-gradient(circle at 18% 76%,rgba(255,255,255,.16) 0 2px,transparent 3px),radial-gradient(circle at 42% 68%,rgba(255,255,255,.18) 0 2px,transparent 3px),radial-gradient(circle at 72% 82%,rgba(255,255,255,.18) 0 2px,transparent 3px);mask-image:radial-gradient(ellipse at 60% 50%,#000 0%,transparent 82%);opacity:.48}
/* Welcome panel: clean black surface with a restrained overhead light reflection. */
.welcome-panel{background:#080808;background-image:radial-gradient(ellipse 72% 34% at 50% -4%,rgba(255,255,255,.13),transparent 78%),linear-gradient(180deg,#0a0a0a 0%,#070707 58%,#050505 100%)}
.welcome-panel::before{background:radial-gradient(ellipse 68% 30% at 50% 0%,rgba(255,255,255,.11),transparent 82%);mask:none;opacity:.75}
/* Restore the original welcome panel surface before the later inner patterns and glow. */
.welcome-panel{background:linear-gradient(135deg,#1d1d1d,#111 58%,#0b0b0b)}
.welcome-panel::before{content:none}
/* Remove the rotating luminous ring; keep the orbit geometry still and the soft core glow. */
.welcome-core::before{display:none;animation:none}
.welcome-orbit-two,.welcome-visual:after{animation:none}
/* Softly feature the supplied ES DATA symbol in the welcome screen visual. */
.welcome-symbol-watermark{position:absolute;z-index:0;left:50%;top:50%;width:min(94%,480px);height:auto;transform:translate(-50%,-50%);opacity:.13;mix-blend-mode:screen;pointer-events:none;filter:drop-shadow(0 0 28px rgba(255,255,255,.08))}
@media(max-width:700px){.welcome-symbol-watermark{width:min(66%,260px);opacity:.1}}
/* Language chooser and persistent compact language switcher. */
.welcome-language-picker{margin:0 0 42px}.welcome-language-picker>p{margin:0 0 13px;color:#aaa;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.welcome-language-picker>div{display:flex;gap:10px}.language-choice{display:flex;align-items:center;justify-content:space-between;gap:35px;min-width:142px;padding:12px 14px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.035);color:#eee;font:600 12px "DM Sans",sans-serif;cursor:pointer;transition:background .2s,border-color .2s}.language-choice span{color:#888;font-size:9px;letter-spacing:.12em}.language-choice:hover,.language-choice:focus-visible{border-color:#ddd;background:rgba(255,255,255,.12)}.language-switch{display:flex;align-items:center;gap:7px;color:#777;font-size:10px;white-space:nowrap}.language-switch button{padding:4px 2px;border:0;background:none;color:#aaa;font:700 10px "DM Sans",sans-serif;cursor:pointer}.language-switch button:hover,.language-switch button[aria-pressed="true"]{color:#fff}.main-nav .language-switch{margin-left:-20px}.main-nav .language-switch button{color:#9e9e9e}.main-nav .language-switch button[aria-pressed="true"]{color:#fff}
@media(max-width:700px){.welcome-language-picker{margin-bottom:27px}.welcome-language-picker>div{gap:8px}.language-choice{min-width:120px;gap:20px;padding:11px}.main-nav .language-switch{margin:0 0 14px}.main-nav{align-items:flex-start}}
@media(max-width:700px){.language-choice{min-width:0;flex:1;gap:10px}}

/* Flag labels, a restrained welcome-frame glint, and small-screen refinements. */
.language-choice{justify-content:flex-start;gap:10px}
.language-choice .language-flag{font-size:18px;line-height:1}
.language-choice .language-name{flex:1;color:#eee;font-size:12px}
.language-choice .language-code{margin-left:auto;color:#888;font-size:9px;letter-spacing:.12em}
.language-switch button{display:inline-flex;align-items:center;gap:4px}
.language-switch button span{font-size:13px;line-height:1}
.welcome-panel{isolation:isolate;border-color:rgba(255,255,255,.2);animation:welcome-frame-glow 6s ease-in-out infinite}
.welcome-panel::after{content:"";position:absolute;z-index:2;top:0;left:12%;width:76%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent);box-shadow:0 0 13px rgba(255,255,255,.2);animation:welcome-frame-glint 5.5s ease-in-out infinite}
@keyframes welcome-frame-glow{0%,100%{box-shadow:0 36px 110px rgba(0,0,0,.62),0 0 0 rgba(255,255,255,0)}50%{box-shadow:0 36px 110px rgba(0,0,0,.62),0 0 24px rgba(255,255,255,.07)}}
@keyframes welcome-frame-glint{0%,100%{opacity:.35;transform:translateX(-5%)}50%{opacity:.8;transform:translateX(5%)}}
@media(max-width:700px){
  html,body{max-width:100%;overflow-x:clip}
  .site-header{gap:12px}
  .site-header .brand-logo{width:clamp(138px,45vw,172px)}
  .main-nav .language-switch{align-self:flex-start;gap:10px;padding-top:12px}
  .welcome-screen{padding:12px;overflow-y:auto;align-items:center}
  .welcome-panel{width:100%;max-height:calc(100dvh - 24px);min-height:0;grid-template-columns:1fr;grid-template-rows:auto minmax(130px,26vh);overflow-y:auto}
  .welcome-copy{padding:30px 22px 12px}
  .welcome-language-picker{margin-bottom:22px}
  .welcome-language-picker>p{font-size:9px;margin-bottom:10px}
  .welcome-language-picker>div{gap:8px}
  .language-choice{padding:10px 11px}
  .welcome-copy h2{font-size:clamp(32px,9vw,40px);margin:15px 0 11px}
  .welcome-copy>p:not(.welcome-kicker){font-size:13px;line-height:1.65;margin-bottom:10px}
  .welcome-kicker{font-size:9px}
  .welcome-visual{min-height:130px}
  .welcome-symbol-watermark{width:min(58%,220px)}
  .contact-section h2{white-space:normal}
  .site-footer{flex-wrap:wrap;gap:16px}
}

@media(max-width:380px){
  .welcome-panel{grid-template-rows:auto 115px}
  .welcome-copy{padding:28px 17px 8px}
  .welcome-language-picker{margin-bottom:18px}
  .language-choice .language-name{font-size:11px}
  .welcome-copy>p:not(.welcome-kicker){font-size:12px}
  .main-nav{padding-left:6%;padding-right:6%}
}
@media(prefers-reduced-motion:reduce){.welcome-panel,.welcome-panel::after{animation:none}}

.flag-icon{display:inline-block;width:20px;height:14px;flex:0 0 auto;vertical-align:middle;border-radius:2px;box-shadow:0 0 0 1px rgba(128,128,128,.38)}
.language-choice .flag-icon{width:22px;height:15px}


.flag-icon{width:24px;height:16px}
.language-choice .flag-icon{width:26px;height:18px}


.flag-icon{width:27px;height:18px;object-fit:cover;image-rendering:auto;filter:contrast(1.06) saturate(1.04)}
.language-choice .flag-icon{width:30px;height:20px}


.site-header .language-switch .flag-icon{width:36px;height:24px}
.welcome-language-picker .flag-icon{width:36px;height:24px}
@media(max-width:700px){.site-header .language-switch .flag-icon,.welcome-language-picker .flag-icon{width:33px;height:22px}}
.welcome-core{align-content:normal;gap:0}
.welcome-core img{width:72%;margin-top:0}
.welcome-hit-area{position:absolute;inset:0;z-index:3;display:block;border:0;background:transparent;color:transparent;text-decoration:none;cursor:pointer}
.welcome-hit-area:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:5px}
.intro{position:relative;isolation:isolate;overflow:hidden;background:#f7f7f7}
.intro::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.8),rgba(255,255,255,.84)),url("assets/engineering-team.png");background-position:center,center 46%;background-size:cover;filter:grayscale(1) brightness(1.08)}
.intro>*{position:relative;z-index:1}
@media(max-width:700px){.intro::before{background-position:center,center 42%;background-size:cover}}
@media(max-width:700px){.welcome-core{width:25%;gap:0}.welcome-core img{width:72%}}

.intro-body .arrow-link{display:inline-flex;align-items:center;margin-top:14px;padding:11px 15px;border:1px solid rgba(35,35,35,.2);border-radius:3px;background:rgba(255,255,255,.76);color:#303030;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.02em;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.intro-body .arrow-link:hover{background:rgba(255,255,255,.94);border-color:rgba(35,35,35,.38);box-shadow:0 3px 12px rgba(0,0,0,.07)}
.intro-body .arrow-link:focus-visible{outline:2px solid #555;outline-offset:3px}
/* Hakkımızda: firma logosu sloganın hemen altında, hafifçe kayan biçimde. */
.intro-line{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:18px;row-gap:9px}
.intro-line>span{grid-column:1;grid-row:1}
.intro-line>p{grid-column:2;grid-row:1}
.intro-line>.intro-logo{grid-column:2;grid-row:2;justify-self:start;width:126px;margin:0;opacity:.38;animation:about-logo-drift 5s ease-in-out infinite alternate}
@keyframes about-logo-drift{from{transform:translateX(0)}to{transform:translateX(22px)}}
@media(max-width:700px){.intro-line{grid-template-columns:24px 1fr;column-gap:12px}.intro-line>p{max-width:none}.intro-line>.intro-logo{width:108px}}
@media(prefers-reduced-motion:reduce){.intro-line>.intro-logo{animation:none}}
/* Hakkımızda başlığı ile açıklama metni arasına daha rahat boşluk. */
.intro-body h2{margin:0 0 24px;transform:translateY(-8px)}
.projects-heading>p{font-size:18px;line-height:1.65}
@media(max-width:700px){.projects-heading>p{font-size:16px;line-height:1.65}}
.projects-heading{grid-template-columns:1fr;gap:14px;align-items:start}
.projects-heading>p{max-width:650px;margin:0}
#welcome-title em{display:inline-block;color:#f4f4f4;background:linear-gradient(110deg,#aaa 18%,#fff 42%,#bdbdbd 56%,#fff 68%,#aaa 82%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:welcome-title-shimmer 3.8s ease-in-out infinite;text-shadow:0 0 16px rgba(255,255,255,.12)}
@keyframes welcome-title-shimmer{0%,100%{background-position:100% 50%;filter:drop-shadow(0 0 2px rgba(255,255,255,.12))}50%{background-position:0 50%;filter:drop-shadow(0 0 7px rgba(255,255,255,.35))}}
@media(prefers-reduced-motion:reduce){#welcome-title em{animation:none;background-position:50% 50%}}
#welcome-title em{display:inline-block;color:#f5f5f5;background:none;-webkit-text-fill-color:#f5f5f5;text-shadow:0 0 5px rgba(255,255,255,.18);animation:welcome-title-glow 3.2s ease-in-out infinite}
@keyframes welcome-title-glow{0%,100%{text-shadow:0 0 4px rgba(255,255,255,.18),0 0 10px rgba(255,255,255,.08)}50%{text-shadow:0 0 7px rgba(255,255,255,.48),0 0 18px rgba(255,255,255,.22)}}
@media(prefers-reduced-motion:reduce){#welcome-title em{animation:none}}
#welcome-description.is-typing::after{content:"";display:inline-block;width:1px;height:.95em;margin-left:3px;vertical-align:-.08em;background:currentColor;animation:type-caret .75s steps(1,end) infinite}
@keyframes type-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){#welcome-description.is-typing::after{animation:none}}
.welcome-services-link{display:inline-block;margin-top:1px;color:#d2d2d2;font-size:13px;font-weight:600;letter-spacing:.01em;text-decoration:none;transition:color .2s ease,text-shadow .2s ease}
.welcome-services-link:hover{color:#fff;text-shadow:0 0 10px rgba(255,255,255,.28)}
.welcome-services-link:focus-visible{outline:1px solid rgba(255,255,255,.72);outline-offset:5px}
@media(max-width:700px){.welcome-services-link{font-size:12px}}
.welcome-services-link.is-typing::after{content:"";display:inline-block;width:1px;height:.95em;margin-left:3px;vertical-align:-.08em;background:currentColor;animation:type-caret .75s steps(1,end) infinite}
@media(prefers-reduced-motion:reduce){.welcome-services-link.is-typing::after{animation:none}}
.welcome-services-link[hidden]{display:none!important}
.welcome-title-link{color:inherit;text-decoration:none;cursor:pointer}
.welcome-title-link:focus-visible{outline:1px solid rgba(255,255,255,.72);outline-offset:5px}
/* Welcome frame: stronger red edge glow. */
.welcome-panel{border-color:rgba(255,48,65,.8);animation:welcome-frame-glow-red 3.6s ease-in-out infinite}
.welcome-panel::after{height:2px;background:linear-gradient(90deg,transparent,rgba(255,76,88,.95),transparent);box-shadow:0 0 18px rgba(255,40,58,.72),0 0 34px rgba(255,40,58,.4);animation:welcome-frame-glint 4.4s ease-in-out infinite}
@keyframes welcome-frame-glow-red{0%,100%{border-color:rgba(255,48,65,.62);box-shadow:0 36px 110px rgba(0,0,0,.62),0 0 19px rgba(255,35,55,.28),inset 0 0 12px rgba(255,35,55,.08)}50%{border-color:rgba(255,72,83,1);box-shadow:0 36px 110px rgba(0,0,0,.62),0 0 42px rgba(255,35,55,.58),0 0 72px rgba(255,35,55,.22),inset 0 0 22px rgba(255,35,55,.15)}}
@media(prefers-reduced-motion:reduce){.welcome-panel,.welcome-panel::after{animation:none}.welcome-panel{border-color:rgba(255,48,65,.85);box-shadow:0 36px 110px rgba(0,0,0,.62),0 0 30px rgba(255,35,55,.4)}}
/* Replace the pulsing red frame with a steady edge glow and a traveling laser. */
.welcome-panel{animation:none;border-color:rgba(255,55,70,.62);box-shadow:0 36px 110px rgba(0,0,0,.62),0 0 24px rgba(255,35,55,.28),inset 0 0 12px rgba(255,35,55,.06)}
.welcome-panel::after{content:none}
.welcome-laser{position:absolute;z-index:2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.welcome-laser rect{stroke-dasharray:115 3010;stroke-dashoffset:0;animation:welcome-laser-traverse 5.2s linear infinite}
@keyframes welcome-laser-traverse{to{stroke-dashoffset:-3125}}
@media(prefers-reduced-motion:reduce){.welcome-laser rect{animation:none;stroke-dasharray:120 3010;stroke-dashoffset:0}}
/* Modern ES DATA symbol watermark behind the homepage services section. */
.services-section{isolation:isolate;background:radial-gradient(ellipse at 78% 24%,rgba(47,68,79,.42),transparent 48%),linear-gradient(135deg,#111517 0%,#0c1012 55%,#080a0b 100%)}
.services-section:before{z-index:0}
.services-section:after{content:"";position:absolute;z-index:0;top:50%;right:-5%;width:min(54vw,700px);aspect-ratio:1;transform:translateY(-50%);background:url("assets/es-data-symbol.png") center/contain no-repeat;filter:grayscale(1) brightness(1.8);opacity:.075;mix-blend-mode:screen;pointer-events:none}
.services-section>.section-wrap{position:relative;z-index:1}
@media(max-width:700px){.services-section:after{top:44%;right:-24%;width:92vw;opacity:.055}}
/* Softer symbol watermark with delicate orbiting laser glints. */
.services-section:after{opacity:.035;filter:grayscale(1) brightness(1.5)}
.services-section:before{top:50%;right:-5%;width:min(54vw,700px);height:auto;aspect-ratio:1;transform:translateY(-50%);border:0;border-radius:50%;box-shadow:none;background:conic-gradient(from 0deg,transparent 0deg 27deg,rgba(181,222,255,.45) 29deg,rgba(255,255,255,.88) 30deg,transparent 32deg 143deg,rgba(190,224,255,.3) 145deg,rgba(255,255,255,.72) 146deg,transparent 148deg 265deg,rgba(177,219,255,.32) 267deg,rgba(255,255,255,.72) 268deg,transparent 270deg 360deg);-webkit-mask:radial-gradient(circle,transparent 63%,#000 63.4%,#000 64.1%,transparent 64.5%);mask:radial-gradient(circle,transparent 63%,#000 63.4%,#000 64.1%,transparent 64.5%);opacity:.5;animation:services-laser-orbit 24s linear infinite}
@keyframes services-laser-orbit{to{transform:translateY(-50%) rotate(360deg)}}
@media(max-width:700px){.services-section:after{opacity:.025}.services-section:before{top:44%;right:-24%;width:92vw;opacity:.4}}
@media(prefers-reduced-motion:reduce){.services-section:before{animation:none}}
.services-section:before{background:conic-gradient(from 0deg,transparent 0deg 13deg,rgba(181,222,255,.38) 14deg,rgba(255,255,255,.84) 14.5deg,transparent 16deg 57deg,rgba(181,222,255,.32) 58deg,rgba(255,255,255,.76) 58.5deg,transparent 60deg 102deg,rgba(181,222,255,.36) 103deg,rgba(255,255,255,.82) 103.5deg,transparent 105deg 147deg,rgba(181,222,255,.3) 148deg,rgba(255,255,255,.76) 148.5deg,transparent 150deg 192deg,rgba(181,222,255,.38) 193deg,rgba(255,255,255,.84) 193.5deg,transparent 195deg 237deg,rgba(181,222,255,.32) 238deg,rgba(255,255,255,.78) 238.5deg,transparent 240deg 282deg,rgba(181,222,255,.36) 283deg,rgba(255,255,255,.82) 283.5deg,transparent 285deg 327deg,rgba(181,222,255,.32) 328deg,rgba(255,255,255,.78) 328.5deg,transparent 330deg 360deg)}
/* Layered, low-contrast laser movement across the complete services section. */
.services-laser-field{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none;opacity:.62}
.services-section>.section-wrap{z-index:2}
.laser-beam{position:absolute;display:block;width:clamp(120px,22vw,310px);height:1px;transform-origin:center;background:linear-gradient(90deg,transparent,rgba(151,211,240,.14) 30%,rgba(230,247,255,.62) 50%,rgba(117,193,235,.15) 72%,transparent);box-shadow:0 0 7px rgba(147,209,246,.28);animation:service-laser-drift var(--duration,19s) linear var(--delay,0s) infinite alternate}
.laser-beam-1{top:8%;left:-18%;--duration:23s;--delay:-13s;transform:rotate(16deg)}
.laser-beam-2{top:18%;left:62%;--duration:17s;--delay:-4s;transform:rotate(-24deg)}
.laser-beam-3{top:29%;left:12%;--duration:27s;--delay:-20s;transform:rotate(-8deg)}
.laser-beam-4{top:39%;left:78%;--duration:21s;--delay:-8s;transform:rotate(31deg)}
.laser-beam-5{top:52%;left:-10%;--duration:29s;--delay:-17s;transform:rotate(-19deg)}
.laser-beam-6{top:63%;left:55%;--duration:16s;--delay:-10s;transform:rotate(12deg)}
.laser-beam-7{top:73%;left:21%;--duration:25s;--delay:-6s;transform:rotate(27deg)}
.laser-beam-8{top:82%;left:72%;--duration:20s;--delay:-15s;transform:rotate(-14deg)}
.laser-beam-9{top:91%;left:-8%;--duration:26s;--delay:-2s;transform:rotate(9deg)}
.laser-beam-10{top:46%;left:40%;--duration:31s;--delay:-24s;transform:rotate(-33deg)}
@keyframes service-laser-drift{from{translate:-22vw -2vh;opacity:.12}to{translate:30vw 4vh;opacity:.72}}
.services-red-sweep{position:absolute;display:block;left:-24%;top:36%;width:24%;height:2px;opacity:0;background:linear-gradient(90deg,transparent,rgba(255,40,52,.42),#fff 52%,rgba(255,35,50,.75),transparent);box-shadow:0 0 8px rgba(255,38,54,.72),0 0 22px rgba(255,30,45,.36);animation:service-red-pass 5s linear infinite}
@keyframes service-red-pass{0%,9%{left:-24%;opacity:0}12%{opacity:.92}27%{left:100%;opacity:.68}34%,100%{left:100%;opacity:0}}
@media(max-width:700px){.services-laser-field{opacity:.43}.laser-beam{width:190px}.services-red-sweep{width:36%;top:42%}}
@media(prefers-reduced-motion:reduce){.laser-beam,.services-red-sweep{animation:none}.services-red-sweep{display:none}}
.services-red-drop{position:absolute;display:block;top:-34%;left:68%;width:2px;height:31%;opacity:0;background:linear-gradient(180deg,transparent,rgba(255,42,56,.55) 28%,#fff 52%,rgba(255,35,52,.82) 70%,transparent);box-shadow:0 0 8px rgba(255,32,49,.76),0 0 24px rgba(255,32,49,.4);animation:service-red-drop 5s linear 2.5s infinite}
@keyframes service-red-drop{0%,10%{top:-34%;left:68%;opacity:0}14%{opacity:.88}37%{top:103%;left:37%;opacity:.7}44%,100%{top:103%;left:37%;opacity:0}}
@media(max-width:700px){.services-red-drop{left:72%;height:28%}}
@media(prefers-reduced-motion:reduce){.services-red-drop{animation:none;display:none}}
.services-red-sweep{top:50%}
@media(max-width:700px){.services-red-sweep{top:50%}}
#hizmetler .section-heading{grid-template-columns:1fr;gap:14px;align-items:start}
#hizmetler .section-heading>p{max-width:680px;margin:0}
#hizmetler .section-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px}
#hizmetler .section-heading>p{max-width:680px;margin:0}
a.service-card:first-child p{max-width:320px;font-size:10px;line-height:1.65}
@media(max-width:700px){a.service-card:first-child p{font-size:9px;line-height:1.6}}
a.service-card:first-child p{white-space:pre-line;max-width:320px;font-size:10px;line-height:1.75}
.service-card p{white-space:pre-line}
/* Place each service icon beside its title; keep topic lines below the title. */
.service-card{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;column-gap:15px;row-gap:12px;align-content:start}
.service-card .service-icon{grid-column:1;grid-row:1;width:48px;height:48px;margin:0;align-self:center}
.service-card h3{grid-column:2;grid-row:1;align-self:center;margin:0}
.service-card p{grid-column:2;grid-row:2;max-width:none}
.service-card .service-arrow{z-index:2}
@media(max-width:700px){.service-card{grid-template-columns:38px minmax(0,1fr);column-gap:11px;row-gap:10px}.service-card .service-icon{width:38px;height:38px}.service-icon-svg svg{width:30px;height:30px}}
/* Improve readability of service cards across desktop and mobile. */
.service-card h3{font-size:clamp(16px,1.35vw,19px);line-height:1.35}
.service-card p,a.service-card:first-child p{font-size:13px;line-height:1.7}
@media(max-width:700px){.service-card h3{font-size:15px;line-height:1.35}.service-card p,a.service-card:first-child p{font-size:12px;line-height:1.65}}
/* Replace the About section photo with a restrained monochrome engineering trace pattern. */
.intro::before{background-image:linear-gradient(90deg,rgba(247,247,247,.97) 0%,rgba(247,247,247,.91) 43%,rgba(247,247,247,.79) 100%),url("assets/about-circuit-pattern.svg");background-position:center,right center;background-size:cover,min(780px,72vw) auto;background-repeat:no-repeat;filter:none;opacity:1}
@media(max-width:700px){.intro::before{background-image:linear-gradient(rgba(247,247,247,.92),rgba(247,247,247,.86)),url("assets/about-circuit-pattern.svg");background-position:center,center;background-size:cover,680px auto}}
/* Strengthen the About engineering pattern while keeping the text side clear. */
.intro::before{background-image:linear-gradient(90deg,rgba(247,247,247,.96) 0%,rgba(247,247,247,.91) 30%,rgba(247,247,247,.72) 56%,rgba(247,247,247,.53) 100%),url("assets/about-circuit-pattern.svg");background-size:cover,min(860px,78vw) auto}
@media(max-width:700px){.intro::before{background-image:linear-gradient(90deg,rgba(247,247,247,.91),rgba(247,247,247,.76)),url("assets/about-circuit-pattern.svg");background-size:cover,720px auto}}
/* Add the ES DATA symbol as a restrained watermark within the About section. */
.intro::after{content:"";position:absolute;z-index:0;pointer-events:none;top:52%;right:7%;width:clamp(170px,20vw,270px);aspect-ratio:1;background:url("assets/es-data-symbol.png") center/contain no-repeat;filter:brightness(0);opacity:.11;transform:translateY(-50%)}
@media(max-width:900px){.intro::after{right:5%;width:190px;opacity:.09}}
@media(max-width:700px){.intro::after{top:13%;right:2%;width:125px;opacity:.07;transform:none}}
/* Remove the optional ES DATA symbol watermark; retain the technical line background. */
.intro::after{display:none!important}
/* Give the technical traces a slow, subtle drift without moving the text. */
.intro::before{animation:about-circuit-drift 34s ease-in-out infinite alternate}
@keyframes about-circuit-drift{0%{background-position:center,right center}100%{background-position:center,calc(100% + 16px) calc(50% - 10px)}}
@media(max-width:700px){.intro::before{animation:about-circuit-drift-mobile 38s ease-in-out infinite alternate}@keyframes about-circuit-drift-mobile{0%{background-position:center,center}100%{background-position:center,calc(50% + 10px) calc(50% - 7px)}}}
@media(prefers-reduced-motion:reduce){.intro::before{animation:none!important}}
/* Restore the hard-hat engineering team photo in the About section. */
.intro::before{background-image:linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.85)),url("assets/engineering-team.png");background-position:center,center 46%;background-size:cover;filter:grayscale(1) brightness(1.08);animation:none}
@media(max-width:700px){.intro::before{background-image:linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.89)),url("assets/engineering-team.png");background-position:center,center 42%;background-size:cover}}
/* Give the About team photo a more illustrative, monochrome finish. */
.intro::before{background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.91) 32%,rgba(255,255,255,.72) 62%,rgba(255,255,255,.66) 100%),url("assets/engineering-team.png");background-position:center,center 46%;background-size:cover;filter:grayscale(1) contrast(1.48) brightness(1.13);animation:none}
@media(max-width:700px){.intro::before{background-image:linear-gradient(rgba(255,255,255,.89),rgba(255,255,255,.82)),url("assets/engineering-team.png");background-position:center,center 42%;filter:grayscale(1) contrast(1.38) brightness(1.12)}}
/* Revert the extra sketch-like contrast on the About photo. */
.intro::before{background-image:linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.85)),url("assets/engineering-team.png");background-position:center,center 46%;background-size:cover;filter:grayscale(1) brightness(1.08);animation:none}
@media(max-width:700px){.intro::before{background-image:linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.89)),url("assets/engineering-team.png");background-position:center,center 42%;background-size:cover;filter:grayscale(1) brightness(1.08)}}
/* Increase the small ES DATA hero title while keeping it on one line. */
.hero-content .eyebrow{font-size:13px;letter-spacing:.025em;gap:10px}
@media(max-width:950px) and (min-width:701px){.hero-content .eyebrow{font-size:11px;letter-spacing:.01em;gap:8px}}
@media(max-width:700px){.hero-content .eyebrow{font-size:9px;letter-spacing:0;gap:7px}}
.page-transition-overlay{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:0;background:rgba(8,8,8,.16);backdrop-filter:blur(0);transition:opacity .22s ease,backdrop-filter .22s ease}
.page-transition-overlay::after{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.42),rgba(255,255,255,.8),rgba(0,0,0,.35),transparent);box-shadow:0 0 14px rgba(0,0,0,.15);opacity:0}
body.is-leaving .page-transition-overlay{opacity:1;backdrop-filter:blur(2px)}
body.is-leaving .page-transition-overlay::after{opacity:.8;animation:page-transition-sweep .22s ease-out both}
.section-arrival{animation:section-arrival .68s cubic-bezier(.2,.7,.25,1) both}
@keyframes section-arrival{from{opacity:.72;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes page-transition-sweep{from{left:8%;opacity:0}35%{opacity:.85}to{left:92%;opacity:0}}
@media(prefers-reduced-motion:reduce){.page-transition-overlay{transition:none!important}.section-arrival{animation:none!important}body.is-leaving .page-transition-overlay::after{animation:none!important}}
/* Slightly longer fade; remove the moving light trace. */
.page-transition-overlay{transition:opacity .38s ease,backdrop-filter .38s ease}
.page-transition-overlay::after{display:none!important}
body.is-leaving .page-transition-overlay::after{animation:none!important;opacity:0!important}
@media(prefers-reduced-motion:reduce){.page-transition-overlay{transition:none!important}}
/* Compact service-specific icons in the Services dropdown. */
.nav-dropdown a{display:flex;align-items:center;gap:10px}
.nav-dropdown a svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:#aaa;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;transition:stroke .18s,transform .18s}
.nav-dropdown a:hover svg,.nav-dropdown a:focus svg{stroke:#fff;transform:translateX(2px)}
.nav-dropdown .nav-label{min-width:0}
@media(max-width:700px){.nav-dropdown a{display:flex;gap:11px}.nav-dropdown a svg{width:18px;height:18px;flex-basis:18px}}
/* Make the main navigation clearer and more button-like. */
.main-nav{gap:12px}
.main-nav>a:not(.nav-contact),.nav-services-trigger{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.045);color:#f1f1f1;font-size:13px;font-weight:600;letter-spacing:.015em;transition:background .18s,border-color .18s,color .18s,transform .18s}
.main-nav>a:not(.nav-contact):hover,.nav-services:hover>.nav-services-trigger,.nav-services:focus-within>.nav-services-trigger{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.48);color:#fff;transform:translateY(-1px)}
.nav-services-trigger>span{margin-left:2px}
@media(max-width:950px) and (min-width:701px){.main-nav{gap:7px}.main-nav>a:not(.nav-contact),.nav-services-trigger{min-height:36px;padding:8px 9px;font-size:11px}}
@media(max-width:700px){.main-nav{gap:0}.main-nav>a:not(.nav-contact),.nav-services-trigger{min-height:0;justify-content:flex-start;padding:15px 0;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:13px;transform:none}.main-nav>a:not(.nav-contact):hover,.nav-services:hover>.nav-services-trigger,.nav-services:focus-within>.nav-services-trigger{background:transparent;border-color:var(--line);transform:none}}
/* Shift the desktop navigation row slightly left for better header balance. */
@media(min-width:951px){.site-header .main-nav{transform:translateX(-22px)}}
@media(max-width:950px) and (min-width:701px){.site-header .main-nav{transform:translateX(-8px)}}
@media(max-width:700px){.site-header .main-nav{transform:none}}
/* Keep the contact link and language flags aligned on one row. */
@media(min-width:701px){
  .site-header{gap:20px}
  .site-header .brand{flex:0 0 auto}
  .site-header .main-nav{flex:1 1 auto;min-width:0;justify-content:flex-end;transform:none;gap:clamp(5px,.7vw,10px)}
  .site-header .nav-contact{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;white-space:nowrap;padding:10px 12px;font-size:11px}
  .site-header .nav-contact span{margin-left:7px}
  .site-header .main-nav .language-switch{flex:0 0 auto;margin-left:0;white-space:nowrap}
  .site-header .main-nav .language-switch button{white-space:nowrap}
}
@media(max-width:1150px) and (min-width:951px){
  .site-header{padding-left:3.5%;padding-right:3.5%;gap:14px}
  .site-header .brand-logo{width:clamp(150px,17vw,190px)}
  .site-header .main-nav{gap:6px}
  .site-header .main-nav>a:not(.nav-contact),.site-header .nav-services-trigger{min-height:36px;padding:7px 8px;font-size:11px}
  .site-header .nav-contact{padding:9px 9px;font-size:10px}
  .site-header .language-switch{gap:4px;font-size:9px}
  .site-header .language-switch button{gap:3px;font-size:9px}
  .site-header .language-switch .flag-icon{width:27px;height:18px}
}
@media(max-width:950px) and (min-width:701px){
  .site-header{padding-left:3%;padding-right:3%;gap:10px}
  .site-header .brand-logo{width:clamp(138px,17vw,165px)}
  .site-header .main-nav{gap:4px}
  .site-header .main-nav>a:not(.nav-contact),.site-header .nav-services-trigger{padding:6px 6px;font-size:10px}
  .site-header .nav-contact{padding:8px 7px;font-size:9px}
  .site-header .language-switch{gap:3px;font-size:8px}
  .site-header .language-switch button{gap:2px;font-size:8px}
  .site-header .language-switch .flag-icon{width:23px;height:16px}
}
/* Highlight the ES DATA hero identity with a restrained, readable shimmer. */
.hero-content .eyebrow{font-size:16px;line-height:1.5;font-weight:700;letter-spacing:.025em;text-shadow:0 0 10px rgba(255,255,255,.2),0 0 20px rgba(86,212,232,.16);animation:hero-eyebrow-shimmer 3.8s ease-in-out infinite}
@keyframes hero-eyebrow-shimmer{0%,100%{text-shadow:0 0 7px rgba(255,255,255,.16),0 0 14px rgba(86,212,232,.1)}50%{text-shadow:0 0 12px rgba(255,255,255,.42),0 0 25px rgba(86,212,232,.3)}}
@media(max-width:950px) and (min-width:701px){.hero-content .eyebrow{font-size:12px}}
@media(max-width:700px){.hero-content .eyebrow{font-size:10px;line-height:1.45}}
@media(prefers-reduced-motion:reduce){.hero-content .eyebrow{animation:none}}
/* Apply the same restrained glow to the home-page introduction copy. */
.hero-content>p{font-size:16px;line-height:1.78;max-width:520px;text-shadow:0 0 8px rgba(255,255,255,.1);animation:hero-copy-shimmer 4.8s ease-in-out infinite}
@keyframes hero-copy-shimmer{0%,100%{text-shadow:0 0 5px rgba(255,255,255,.06)}50%{text-shadow:0 0 9px rgba(255,255,255,.2),0 0 16px rgba(86,212,232,.08)}}
@media(max-width:950px) and (min-width:701px){.hero-content>p{font-size:14px}}
@media(max-width:700px){.hero-content>p{font-size:13.5px;max-width:350px}}
@media(prefers-reduced-motion:reduce){.hero-content>p{animation:none}}
/* Add a soft star drift behind the project contact block. */
.contact-section::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.48;background-image:radial-gradient(1.5px 1.5px at 12% 26%,rgba(255,255,255,.78) 50%,transparent 100%),radial-gradient(1px 1px at 63% 72%,rgba(255,255,255,.72) 50%,transparent 100%),radial-gradient(1.4px 1.4px at 88% 35%,rgba(255,255,255,.65) 50%,transparent 100%),linear-gradient(118deg,transparent 49.75%,rgba(255,255,255,.48) 50%,transparent 50.3%);background-size:230px 170px,290px 210px,340px 220px,360px 260px;animation:contact-star-drift 16s linear infinite}
.contact-inner>div:first-child>p{font-size:14px;line-height:1.85;max-width:480px;color:#c3cbd1}
@keyframes contact-star-drift{from{background-position:0 0,20px 30px,50px 70px,-80px -60px}to{background-position:100px 70px,-100px 100px,150px -40px,280px 190px}}
@media(max-width:700px){.contact-inner>div:first-child>p{font-size:13px;line-height:1.75}.contact-section::before{opacity:.34}}
@media(prefers-reduced-motion:reduce){.contact-section::before{animation:none}}
/* Balance the contact information panel with the proposal copy. */
@media(min-width:701px){.contact-inner{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:7%;align-items:center}.contact-card{width:100%;padding:8px 22px;border:1px solid rgba(255,255,255,.17);border-radius:8px;background:rgba(255,255,255,.035)}.contact-row{grid-template-columns:112px minmax(0,1fr);align-items:start;padding:21px 0}.contact-row>span{font-size:9px}.contact-row a,.contact-row p{font-size:12px}.contact-phone-links{gap:10px;flex-wrap:wrap}.contact-phone-links a{font-size:11px!important}}
.contact-section h2 a{color:inherit;text-decoration:none;cursor:pointer}
.contact-section h2 a:hover,.contact-section h2 a:focus-visible{color:#fff;text-shadow:0 0 14px rgba(255,255,255,.22)}
@media(max-width:950px) and (min-width:701px){.contact-inner{gap:5%}.contact-card{padding-left:15px;padding-right:15px}.contact-row{grid-template-columns:88px minmax(0,1fr);gap:7px}.contact-phone-links{display:grid;gap:2px}}
@media(max-width:700px){.contact-card{padding:0 4px}.contact-section h2 a{display:inline-block}}
/* Make the proposal heading itself the framed offer link. */
.contact-section h2 .contact-proposal-link{display:inline-flex;align-items:center;gap:15px;max-width:100%;padding:13px 17px;border:1px solid rgba(255,255,255,.48);border-radius:3px;background:rgba(255,255,255,.035);transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.contact-section h2 .contact-proposal-link:hover,.contact-section h2 .contact-proposal-link:focus-visible{border-color:rgba(255,255,255,.9);background:rgba(255,255,255,.1);box-shadow:0 0 22px rgba(255,255,255,.12);transform:translateY(-2px)}
.contact-proposal-link .click-symbol{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
@media(max-width:700px){.contact-section h2 .contact-proposal-link{gap:10px;padding:11px 12px}.contact-proposal-link .click-symbol{width:19px;height:19px;flex-basis:19px}}
/* Keep the long home introduction within its column and leave the location line clear. */
.hero-content{z-index:4}
.hero-content>p{font-size:15px;line-height:1.62;max-width:500px;margin-bottom:20px}
.hero-foot{z-index:4;bottom:20px;text-shadow:0 1px 8px rgba(0,0,0,.8)}
@media(min-width:701px){.hero-content{margin-top:clamp(34px,5vh,58px);padding-bottom:38px}.hero-foot>span:first-child{font-size:11px;letter-spacing:.08em}}
@media(max-width:950px) and (min-width:701px){.hero-content>p{font-size:13px;line-height:1.58;max-width:440px}}
@media(max-width:700px){.hero-content>p{font-size:12.5px;line-height:1.62;max-width:350px}.hero-foot{bottom:18px}.hero-foot>span:first-child{font-size:9px}}
/* Make the paragraph shimmer visible while preserving clear letter edges. */
.hero-content>p{text-shadow:0 0 7px rgba(255,255,255,.18),0 0 16px rgba(86,212,232,.1);animation:hero-copy-shimmer-clear 4.2s ease-in-out infinite}
@keyframes hero-copy-shimmer-clear{0%,100%{text-shadow:0 0 5px rgba(255,255,255,.12),0 0 10px rgba(86,212,232,.06)}50%{text-shadow:0 0 9px rgba(255,255,255,.32),0 0 18px rgba(86,212,232,.16)}}
@media(prefers-reduced-motion:reduce){.hero-content>p{animation:none}}

.contact-row a.contact-address-link{display:block;line-height:1.8}.contact-row a.contact-address-link:hover{color:#fff}
/* Improve the visibility of the contact detail labels. */
.contact-row>span{font-size:12px;font-weight:700;letter-spacing:.09em;color:#c2ccd2;padding-top:2px}
@media(max-width:700px){.contact-row>span{font-size:11px;letter-spacing:.07em}}
/* Enlarge the header logo and let it fill its reserved brand column. */
.site-header .brand{width:230px;flex:0 0 230px;min-width:0}
.site-header .brand-logo{width:100%;max-height:58px;object-fit:contain;object-position:left center}
@media(max-width:1150px) and (min-width:951px){.site-header .brand{width:clamp(190px,20vw,220px);flex-basis:clamp(190px,20vw,220px)}.site-header .brand-logo{width:100%}}
@media(max-width:950px) and (min-width:701px){.site-header .brand{width:clamp(150px,20vw,190px);flex-basis:clamp(150px,20vw,190px)}.site-header .brand-logo{width:100%}}
@media(max-width:700px){.site-header .brand{width:clamp(145px,46vw,184px);flex-basis:clamp(145px,46vw,184px)}.site-header .brand-logo{width:100%;max-height:52px}}


.footer-note{font-size:14px;line-height:1.5;max-width:460px}
@media(max-width:700px){.footer-note{font-size:12.5px;line-height:1.55}}

/* Keep the rotating service orbit fully inside the hero on narrow screens. */
@media(max-width:700px){
  .hero{min-height:800px;padding-bottom:0}
  .hero-visual{--mobile-orbit-radius:min(31vw,112px);left:50%;right:auto;bottom:58px;top:auto;width:min(94vw,360px);height:min(94vw,360px);transform:translateX(-50%);opacity:.92}
  .hero-visual>.orbit-a{width:88%;height:88%}
  .hero-visual>.orbit-b{width:70%;height:70%}
  .hero-visual>.orbit-c{width:52%;height:52%}
  .hero-visual>.ring-a{width:88%;height:38%}
  .hero-visual>.ring-b{width:38%;height:88%}
  .hero-visual .core{width:82px;height:82px}
  .hero-visual .core-logo{width:60px}
  .hero-visual .service-orbit .node{width:62px;height:62px}
  .hero-visual .node-a{left:calc(50% - 31px);top:calc(50% - 31px - var(--mobile-orbit-radius))}
  .hero-visual .node-b{left:calc(50% - 31px + min(23.8vw,86px));top:calc(50% - 31px - min(20vw,72px))}
  .hero-visual .node-c{left:calc(50% - 31px + min(30.5vw,110px));top:calc(50% - 31px - min(5.4vw,19px))}
  .hero-visual .node-d{left:calc(50% - 31px + min(15.5vw,56px));top:calc(50% - 31px + min(15.5vw,56px))}
  .hero-visual .node-e{left:calc(50% - 31px + min(5.4vw,19px));top:calc(50% - 31px + min(30.5vw,110px))}
  .hero-visual .node-f{left:calc(50% - 31px - min(5.4vw,19px));top:calc(50% - 31px + min(30.5vw,110px))}
  .hero-visual .node-g{left:calc(50% - 31px - min(26.8vw,97px));top:calc(50% - 31px + min(15.5vw,56px))}
  .hero-visual .node-h{left:calc(50% - 31px - min(30.5vw,110px));top:calc(50% - 31px - min(5.4vw,19px))}
  .hero-visual .node-i{left:calc(50% - 31px - min(20vw,72px));top:calc(50% - 31px - min(23.8vw,86px))}
  .hero-visual .node .node-icon{width:27px;height:27px;flex-basis:27px}
  .hero-visual .node .node-icon svg{width:22px!important;height:22px!important;flex-basis:22px}
  .hero-visual .node small{font-size:6px!important;line-height:1.05!important;letter-spacing:0!important;margin-top:2px!important;padding:0 3px!important}
}
.flag-icon-tr{shape-rendering:geometricPrecision;flex:0 0 auto}

/* Show language controls beside the logo when the mobile navigation is collapsed. */
.site-header .mobile-language-switch{display:none}
@media(max-width:700px){
  .site-header{gap:8px}
  .site-header .brand{order:1;width:auto;min-width:0;flex:1 1 auto}
  .site-header .brand-logo{width:clamp(112px,38vw,154px);max-width:100%;max-height:48px}
  .site-header .mobile-language-switch{order:2;display:flex;flex:0 0 auto;align-items:center;gap:3px;margin:0;padding:0}
  .site-header .mobile-language-switch button{display:inline-flex;align-items:center;gap:3px;padding:4px 1px;font-size:9px}
  .site-header .mobile-language-switch .flag-icon{width:24px;height:16px}
  .site-header .menu-toggle{order:3;flex:0 0 34px;width:34px;height:34px}
}

/* Make service cards read cleanly on phones and prevent the touch-hover arrow
   from covering the last lines of each card. */
@media(max-width:700px){
  .service-grid{grid-template-columns:minmax(0,1fr)}
  .service-card{min-width:0;min-height:0;padding:20px 18px;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:13px;row-gap:10px;align-content:start}
  .service-card .service-icon{width:42px;height:42px;align-self:center;margin:0}
  .service-card h3{min-width:0;align-self:center;font-size:16px;line-height:1.35;overflow-wrap:normal;word-break:normal}
  .service-card p,a.service-card:first-child p{grid-column:2;grid-row:2;min-width:0;max-width:none;margin:0;padding:0;font-size:13px;line-height:1.65;overflow-wrap:normal;word-break:normal}
  .service-card .service-arrow{display:none!important}
}

/* The rotating orbit graphic is desktop-only; mobile navigation and service
   cards provide the same destinations without the crowded animation. */
@media(max-width:700px){.hero-visual{display:none!important}}

/* More readable social links with recognizable inline brand marks. */
.footer-social{align-items:center;gap:22px}
.footer-social a{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:600;line-height:1.2}
.footer-social .social-icon{display:block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.footer-social .social-icon-dot{fill:currentColor;stroke:none}
@media(max-width:700px){.footer-social{gap:18px}.footer-social a{font-size:13px}.footer-social .social-icon{width:21px;height:21px;flex-basis:21px}}
.copyright{font-size:11px;line-height:1.5}
@media(max-width:700px){.copyright{font-size:10px}}
.footer-note,.footer-social a,.copyright{color:#fff;text-shadow:0 0 7px rgba(255,255,255,.18);animation:footer-text-glow 4.8s ease-in-out infinite alternate}
.footer-social a:hover{color:#fff}
.footer-social .social-icon{color:#fff}
@keyframes footer-text-glow{from{text-shadow:0 0 4px rgba(255,255,255,.13)}to{text-shadow:0 0 10px rgba(255,255,255,.42),0 0 18px rgba(255,255,255,.14)}}
@media(prefers-reduced-motion:reduce){.footer-note,.footer-social a,.copyright{animation:none;text-shadow:0 0 7px rgba(255,255,255,.22)}}


/* Center the homepage introduction and balance the space below it. */
.hero-content>.hero-description{max-width:560px;margin:30px 0 20px;text-align:left;text-indent:1em;transform:translateY(16px)}
@media(max-width:700px){.hero-content>.hero-description{margin-top:22px;transform:translateY(10px);text-align:left;text-indent:1em}}

/* Temporary projects page notice. */
.projects-coming-soon .section-wrap{min-height:58vh;display:flex;flex-direction:column;justify-content:center;padding-top:56px;padding-bottom:56px}
.projects-coming-soon .projects-heading{display:block;text-align:center;margin:0 0 28px}
.projects-coming-soon .projects-heading h2{margin:0;font-size:clamp(38px,5vw,64px)}
.project-status{width:min(680px,100%);margin:0 auto;padding:34px 24px;text-align:center;border:1px solid rgba(255,255,255,.2);background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,.08),transparent 75%)}
.project-status-label{display:inline-block;color:#fff;font-size:clamp(18px,2.4vw,24px);font-weight:700;letter-spacing:.08em;text-shadow:0 0 14px rgba(255,255,255,.32)}
.project-status p{margin:12px 0 0;color:#c8c8c8;font-size:16px;line-height:1.65}
.project-maintenance-icon{display:block;width:58px;height:58px;margin:0 auto 18px;color:#dce7ec;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px rgba(86,212,232,.2))}
.maintenance-hammer{transform-box:fill-box;transform-origin:80% 20%;animation:maintenance-tap 2.8s ease-in-out infinite}
.maintenance-base{opacity:.65}
@keyframes maintenance-tap{0%,68%,100%{transform:rotate(0)}78%{transform:rotate(-16deg)}86%{transform:rotate(8deg)}93%{transform:rotate(-4deg)}}
@media(max-width:700px){.projects-coming-soon .section-wrap{min-height:62vh;padding-top:36px;padding-bottom:36px}.project-status{padding:28px 18px}.project-status p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.maintenance-hammer{animation:none}}

/* Keep the updated homepage headline balanced at desktop and mobile widths. */
.hero-content h1.hero-title{max-width:760px;font-size:clamp(32px,3.2vw,44px);line-height:1.18;text-wrap:balance}
@media(max-width:700px){.hero-content h1.hero-title{font-size:clamp(28px,7.4vw,36px);line-height:1.16}}

/* Improve contrast for the homepage location and tagline. */
.hero-foot{color:#d6e0e6;text-shadow:0 1px 8px rgba(0,0,0,.85),0 0 10px rgba(86,212,232,.12)}

/* Moving workplace-safety stripe around the temporary project notice. */
.project-status{position:relative;isolation:isolate;border:0;background:transparent}
.project-status::before,.project-status::after{content:"";position:absolute;pointer-events:none}
.project-status::before{z-index:-2;inset:0;background:repeating-linear-gradient(135deg,#f0c541 0 11px,#171717 11px 22px);background-size:44px 44px;animation:project-safety-stripe 1.8s linear infinite}
.project-status::after{z-index:-1;inset:6px;background:radial-gradient(ellipse at 50% 0,#14191c,#090b0d 78%)}
@keyframes project-safety-stripe{to{background-position:44px 0}}
@media(prefers-reduced-motion:reduce){.project-status::before{animation:none}}
