@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');:root{--ink:#07151c;--muted:#7e9198;--line:#dce5e7;--aqua:#9de5d7;--cream:#f4f7f5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{text-decoration:none;color:inherit}button,.btn{cursor:pointer;font:inherit}.header{height:92px;padding:16px 5vw;display:flex;align-items:center;justify-content:space-between;background:#07151c;color:white;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:13px}.brand img{width:52px;height:52px;object-fit:contain}.brand b{display:block;font:800 21px Manrope;letter-spacing:3px}.brand small{display:block;color:#a7b7bc;font-size:10px;letter-spacing:.2px;max-width:250px}.header nav{display:flex;align-items:center;gap:25px;font-size:13px}.header nav a{color:#cbd6d9}.lang{border:1px solid #52656c;background:transparent;color:white;padding:10px 14px;border-radius:30px}.menu{display:none;background:none;border:0;color:white;font-size:25px}.hero{min-height:590px;padding:85px 10vw;display:flex;align-items:center;justify-content:space-between;background:radial-gradient(circle at 80% 30%,#16454b,#07151c 60%);color:white;overflow:hidden}.hero-copy{max-width:720px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:700;color:#699b99;margin:0 0 20px}.hero .eyebrow{color:var(--aqua)}h1,h2,h3{font-family:Manrope;margin:0;line-height:1.08}h1{font-size:clamp(42px,5.4vw,82px);letter-spacing:-3px}h2{font-size:clamp(35px,4vw,60px);letter-spacing:-2px}em{font-style:normal;color:#5faaa3}.lead{max-width:450px;color:#b7c8cc;line-height:1.7;font-size:16px;margin:25px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;gap:30px;justify-content:space-between;align-items:center;border-radius:4px;padding:16px 20px;border:1px solid transparent;font-weight:700;font-size:13px}.primary{background:var(--aqua);color:#082027}.ghost{border-color:#52656c;color:white}.hero-orbit{width:300px;height:300px;border:1px solid #31535a;border-radius:50%;display:grid;place-items:center;animation:float 7s ease-in-out infinite}.orbit-card{width:215px;padding:25px;background:#12333b;border:1px solid #41636a;box-shadow:0 20px 70px #0005}.orbit-card span{color:var(--aqua);font-size:12px}.orbit-card b{display:block;font:700 23px Manrope;margin:30px 0}.orbit-card small{color:#a7bfc2;line-height:1.6}.intro,.section,.trust,.contact{padding:90px 10vw}.intro{max-width:1000px}.intro p:last-child{max-width:600px;color:var(--muted);line-height:1.8}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}.section-number{color:#9aabad;font-size:12px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-grid article{background:white;padding:28px;min-height:205px;border:1px solid var(--line);transition:.3s}.service-grid article:hover{transform:translateY(-6px);border-color:#78c7bb;box-shadow:0 15px 35px #1231  }.service-grid span{color:#73bdb4;font-size:12px}.service-grid h3{font-size:23px;margin:25px 0 12px}.service-grid p,.project-meta p,.contact p{color:var(--muted);font-size:13px;line-height:1.7}.service-grid a{display:inline-block;margin-top:12px;font-size:12px;font-weight:700}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{background:white;border:1px solid var(--line);transition:.3s}.project:hover{transform:translateY(-5px);box-shadow:0 15px 35px #1232}.project-image{height:270px;position:relative;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project:hover img{transform:scale(1.07)}.project-image span{position:absolute;left:15px;bottom:15px;background:#07151cdd;color:white;padding:8px 10px;font-size:10px;letter-spacing:1px}.project-meta{padding:18px;display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center}.project-meta>img{width:44px;height:44px;object-fit:contain}.project-meta h3{font-size:17px}.project-meta p{margin:5px 0}.view{grid-column:1/-1;border:0;background:none;text-align:left;padding:14px 0 0;border-top:1px solid var(--line);font-size:12px;font-weight:700}.trust{background:#07151c;color:white}.trust h2{margin-bottom:45px}.logo-row{display:flex;gap:15px}.logo-row button{background:white;border:1px solid #2c4850;width:220px;height:125px;display:grid;place-items:center;transition:.3s}.logo-row button:hover{transform:translateY(-5px);background:#dff5f0}.logo-row img{max-width:160px;max-height:85px;object-fit:contain}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:12px}input,select,textarea{width:100%;border:1px solid var(--line);background:white;padding:15px;font:13px 'DM Sans';color:var(--ink);border-radius:3px}textarea{min-height:120px;grid-column:1/-1;resize:vertical}.contact form .btn{grid-column:1/-1;justify-content:center}.contact form #form-status{grid-column:1/-1;margin:0}footer{background:#061117;color:#91a7ad;padding:25px 10vw;display:flex;justify-content:space-between;font-size:11px}.assistant{position:fixed;right:24px;bottom:24px;background:var(--aqua);color:#082027;border:0;padding:15px 20px;border-radius:30px;font-weight:700;z-index:30}.chatbox{display:none;position:fixed;right:24px;bottom:85px;width:260px;padding:22px;background:white;box-shadow:0 15px 50px #0003;z-index:30;border:1px solid var(--line)}.chatbox.open{display:block}.chatbox a{display:block;padding:12px;background:var(--cream);margin-top:8px;font-size:12px}.modal{display:none;position:fixed;inset:0;background:#061117eF;z-index:50;padding:5vh 7vw;overflow:auto}.modal.open{display:block}.modal-inner{background:white;padding:35px;max-width:1000px;margin:auto;position:relative}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:30px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:25px}.gallery img{width:100%;height:180px;object-fit:cover}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}#loader{position:fixed;inset:0;background:#07151c;color:white;z-index:100;display:grid;place-items:center;align-content:center;gap:15px;animation:fadeout 1s 1.2s forwards}#loader img{width:100px;animation:pop .8s}.loader span{font-size:12px}@keyframes fadeout{to{opacity:0;visibility:hidden}}@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes float{50%{transform:translateY(-12px)}}@media(max-width:800px){.header{height:76px}.header nav{display:none;position:absolute;top:76px;left:0;right:0;padding:25px;background:#07151c;flex-direction:column;align-items:flex-start}.header nav.open{display:flex}.menu{display:block}.hero{padding:70px 7vw;min-height:620px}.hero-orbit{display:none}.intro,.section,.trust,.contact{padding:65px 7vw}.service-grid,.project-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;gap:15px;flex-direction:column}.logo-row{flex-wrap:wrap}.logo-row button{flex:1;min-width:130px}.contact{grid-template-columns:1fr;gap:35px}.contact form{grid-template-columns:1fr}.contact textarea,.contact form .btn{grid-column:auto}footer{padding:25px 7vw;display:block;line-height:2}.brand small{display:none}h1{letter-spacing:-1px}.gallery{grid-template-columns:1fr 1fr}}


/* Silverline final fine tuning */
html { scroll-behavior: smooth; }
body { overflow-x:hidden; }

.header {
  backdrop-filter: blur(12px);
}

.brand img {
  transition: transform .4s ease, filter .4s ease;
}

.brand:hover img {
  transform: translateY(-2px) scale(1.04);
}

button, .btn {
  transition: transform .25s ease, box-shadow .25s ease;
}

button:hover, .btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(0,166,178,.25);
}

.projects img {
  transition: transform .5s ease, filter .5s ease;
}

.projects article:hover img {
  transform: scale(1.05);
  filter: brightness(1.08);
}

.clients img {
  filter: grayscale(100%);
  transition: .35s ease;
}

.clients img:hover {
  filter: grayscale(0);
  transform: translateY(-5px);
}

.reveal {
  animation: silverFade .8s ease both;
}

@keyframes silverFade {
  from {opacity:0; transform:translateY(35px);}
  to {opacity:1; transform:none;}
}

@media(max-width:768px){
  .hero h1, .hero h2 {font-size:34px;}
  .header {flex-direction:column; gap:20px;}
}
.hero{background:#07151c;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,21,28,.97),rgba(7,21,28,.72) 48%,rgba(7,21,28,.2)),var(--hero-image) center/cover;z-index:-1;animation:heroDrift 18s ease-in-out infinite alternate}.case-copy{color:var(--muted);line-height:1.7;font-size:14px}.case-head{display:flex;align-items:center;gap:18px}.case-head img{width:90px;height:70px;object-fit:contain}.gallery-main{margin-top:25px;background:#07151c}.gallery-main>img{width:100%;height:min(60vh,520px);object-fit:contain;display:block}.gallery-nav{display:flex;justify-content:space-between;align-items:center;padding:10px;color:white}.gallery-nav button{border:1px solid #ffffff55;background:#ffffff12;color:white;padding:8px 14px}.thumbs{display:flex;gap:8px;overflow:auto;margin-top:12px}.thumbs button{border:2px solid transparent;padding:0;background:none;flex:0 0 78px}.thumbs button.active{border-color:#5faaa3}.thumbs img{display:block;width:76px;height:58px;object-fit:cover}.status-ok{color:#16705e!important}.chat-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chat-choices button{padding:10px;border:1px solid var(--line);background:var(--cream);text-align:left;font-size:12px}@keyframes heroDrift{to{transform:scale(1.08) translate3d(-1%,1%,0)}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

.faq-grid{display:grid;gap:14px}
.faq-grid details{background:white;border:1px solid var(--line);border-radius:16px;padding:20px}
.faq-grid summary{font-weight:700;cursor:pointer}
#image-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:9999}
#image-lightbox img{max-width:90vw;max-height:85vh;border-radius:12px}
#image-lightbox button{position:absolute;background:#fff;border:0;border-radius:50%;width:45px;height:45px;font-size:28px}
#image-lightbox .lb-close{right:30px;top:30px}
#image-lightbox .lb-prev{left:30px}
#image-lightbox .lb-next{right:30px}
.trusted-track{display:flex;gap:50px;animation:slideBrands 20s linear infinite}
@keyframes slideBrands{to{transform:translateX(-50%)}}

/* Final production polish */
.trusted-track{display:flex;gap:35px;animation:silverSlide 28s linear infinite;width:max-content}
.trusted-track:hover{animation-play-state:paused}
@keyframes silverSlide{from{transform:translateX(0)}to{transform:translateX(-40%)}}
.client-logo{transition:.35s ease;filter:grayscale(1)}
.client-logo:hover{filter:none;transform:translateY(-5px) scale(1.05)}
.service-card{cursor:pointer}
.service-card:hover{box-shadow:0 18px 35px rgba(0,0,0,.12)}
#image-lightbox{backdrop-filter:blur(8px)}
#image-lightbox img{transition:transform .35s ease}
#image-lightbox img:hover{transform:scale(1.03)}

/* Final repair layer */
#modal.open { display:flex !important; }
#image-lightbox { z-index:99999; }
#chatbox.open { display:block !important; }
#logoRow { display:flex; gap:30px; animation:brandMove 25s linear infinite; }
@keyframes brandMove { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.project-image img,.thumbs img { cursor:zoom-in; }

/* Reliability fixes */
body.modal-open { overflow: hidden; }
.menu { display: none; }
@media (max-width: 800px) { .menu { display: block; } }
.modal.open { display: flex !important; }
.modal-inner { width: min(100%, 1000px); }
#form-status { min-height: 1.2em; }

/* Fine-tuning pass: layout stability, compact spacing, responsive behavior */
:root{--aqua:#9de5d7;--aqua-strong:#62c8b8;--ink:#07151c;--cream:#f4f7f5}
html{scroll-padding-top:96px}
body{overflow-x:hidden}
.header{position:sticky;top:0;min-height:84px;height:auto;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.header nav{flex-shrink:0}
.header nav a{position:relative;padding:8px 0}
.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--aqua);transition:right .25s ease}
.header nav a:hover:after{right:0}
.hero{position:relative;isolation:isolate;min-height:clamp(520px,72vh,720px);padding-top:clamp(70px,9vw,125px);padding-bottom:clamp(70px,9vw,125px)}
.hero:before{pointer-events:none}
.hero-copy,.hero-orbit{position:relative;z-index:1}
.hero-copy{animation:heroCopyIn .9s cubic-bezier(.2,.7,.2,1) both}
.hero .eyebrow{animation:heroCopyIn .7s .08s both}
.hero h1{animation:heroCopyIn .8s .16s both}
.hero .lead{animation:heroCopyIn .8s .24s both}
.hero .actions{animation:heroCopyIn .8s .32s both}
@keyframes heroCopyIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.btn{min-height:50px;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.16)}
.primary:hover{background:#c5f4eb}
.section,.intro,.trust,.contact{padding-top:clamp(58px,7vw,92px);padding-bottom:clamp(58px,7vw,92px)}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-grid article{min-width:0;border-radius:8px}
.project{min-width:0;border-radius:8px;overflow:hidden}
.project-image{height:clamp(220px,24vw,300px)}
.project-image img{display:block}
.project-meta{min-width:0}
.project-meta h3{overflow-wrap:anywhere}
.trust{overflow:hidden}
.logo-row{display:flex;gap:15px;overflow-x:auto;padding:8px 3px 14px;scrollbar-width:thin}
.logo-row button{flex:0 0 220px;border-radius:8px}
#logoRow{animation:none!important;transform:none!important}
#logoRow button:hover{transform:translateY(-5px) scale(1.01)}
.contact form{align-content:start}
input:focus,select:focus,textarea:focus,.lang:focus,.menu:focus,.btn:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--aqua-strong);outline-offset:3px}
.modal{align-items:flex-start}
.modal-inner{border-radius:12px;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.modal .close{border-radius:50%;width:40px;height:40px;line-height:1}
.gallery-main{border-radius:8px;overflow:hidden}
.gallery-nav button{border-radius:4px}
.chatbox{border-radius:12px}
.assistant{box-shadow:0 12px 30px rgba(0,0,0,.18)}
#loader{pointer-events:none}
#loader span{font-size:12px;color:#a7b7bc}
@media(max-width:800px){
  .header{display:flex;flex-direction:row;align-items:center;padding:12px 7vw}
  .header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px 7vw 24px;background:rgba(7,21,28,.98);border-top:1px solid #29434b;gap:12px;align-items:stretch}
  .header nav.open{display:flex}
  .header nav a{width:max-content}
  .lang{align-self:flex-start}
  .brand{min-width:0}
  .brand b{font-size:18px;letter-spacing:2px}
  .brand img{width:44px;height:44px}
  .hero{min-height:600px;padding-left:7vw;padding-right:7vw}
  .hero:before{background:linear-gradient(90deg,rgba(7,21,28,.97),rgba(7,21,28,.82)),var(--hero-image) center/cover}
  .service-grid,.project-grid{grid-template-columns:1fr}
  .project-image{height:250px}
  .contact{grid-template-columns:1fr}
  .contact form{grid-template-columns:1fr}
  .contact textarea,.contact form .btn{grid-column:auto}
  .modal{padding:3vh 4vw}
  .modal-inner{padding:24px 18px}
  .case-head{padding-right:25px}
  .case-head img{width:70px;height:58px}
  .gallery-main>img{height:42vh;min-height:220px}
  .gallery-nav{gap:8px;font-size:12px}
  .gallery-nav button{padding:8px}
  .assistant{right:14px;bottom:14px;padding:13px 16px}
  .chatbox{right:14px;bottom:76px;width:min(320px,calc(100vw - 28px))}
}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero .eyebrow,.hero h1,.hero .lead,.hero .actions{animation:none!important}}

/* Dedicated case-study pages */
.case-page{background:var(--cream);min-height:100vh}.case-hero{padding:clamp(55px,8vw,110px) 7vw 50px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:end}.case-hero .client-mark{width:150px;height:100px;object-fit:contain;background:#fff;border-radius:12px;padding:12px;margin-bottom:25px}.case-hero h1{font-size:clamp(42px,6vw,86px);line-height:.98;margin:0 0 20px;letter-spacing:-2px}.case-hero p{max-width:650px;color:#b9c8cc;line-height:1.8}.case-hero .hero-stat{border-left:1px solid #ffffff33;padding-left:25px}.case-content{max-width:1280px;margin:0 auto;padding:65px 7vw}.case-topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 7vw;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.case-topbar a{color:var(--ink);text-decoration:none;font-weight:700}.case-description{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-bottom:45px}.case-description p{color:var(--muted);line-height:1.85}.case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.case-gallery button{border:0;padding:0;background:#dfe7e5;aspect-ratio:4/3;overflow:hidden;border-radius:10px;cursor:zoom-in}.case-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.case-gallery button:hover img{transform:scale(1.06)}.case-services{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 45px}.case-services span{border:1px solid var(--line);border-radius:999px;padding:10px 14px;background:#fff;font-size:13px}.case-lightbox{position:fixed;inset:0;background:rgba(7,21,28,.96);display:none;align-items:center;justify-content:center;z-index:1000;padding:30px}.case-lightbox.open{display:flex}.case-lightbox img{max-width:90vw;max-height:82vh;object-fit:contain}.case-lightbox button{position:absolute;border:1px solid #ffffff44;background:#ffffff12;color:#fff;border-radius:50%;width:44px;height:44px;font-size:25px}.case-lightbox .close{top:25px;right:25px}.case-lightbox .prev{left:25px}.case-lightbox .next{right:25px}.back-link{display:inline-flex;gap:8px;align-items:center;color:var(--aqua-strong)!important}.section-intro{max-width:600px;color:var(--muted);line-height:1.7}.narrative-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.narrative-grid>div:first-child{line-height:1.9;color:var(--muted)}.statement-card{background:#fff;border:1px solid var(--line);padding:28px;border-radius:12px}.statement-card p{line-height:1.8;color:var(--muted)}.values-row,.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.values-row>div,.approach-grid>div{padding:25px;background:#fff;border:1px solid var(--line);border-radius:12px}.values-row b{display:block;font-size:20px;margin-bottom:10px}.values-row span{color:var(--muted);line-height:1.6}.approach-grid span{color:var(--aqua-strong);font-weight:800}.approach-grid h3{margin:10px 0}.approach-grid p{color:var(--muted);line-height:1.7}.capability-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.capability-strip span{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px}@media(max-width:800px){.case-hero,.case-description,.narrative-grid{grid-template-columns:1fr}.case-hero{padding-top:55px}.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.values-row,.approach-grid{grid-template-columns:1fr}.case-topbar{padding:16px 7vw}.case-topbar span{display:none}}
.subsection-heading{margin-top:46px;margin-bottom:18px}.subsection-heading h3{font-size:clamp(25px,3vw,40px);margin:0}.client-name-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}.client-name-grid>div{padding:18px;background:#fff;border:1px solid var(--line);border-radius:10px;font-weight:700;color:var(--ink)}.logo-row a{flex:0 0 220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink)}.logo-row a img{width:150px;height:90px;object-fit:contain}.logo-row a span{font-size:13px;font-weight:700;text-align:center}.contact-details{display:flex;flex-direction:column;gap:8px;margin-top:26px;color:var(--muted)}.contact-details strong{font-size:24px;color:var(--ink)}
@media(max-width:800px){.client-name-grid{grid-template-columns:1fr 1fr}.subsection-heading{margin-top:32px}}

/* Esteemed client logo wall */
.esteemed-logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:30px 0 0}
.esteemed-client{min-height:170px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.esteemed-client img{width:100%;height:105px;object-fit:contain;display:block}
.esteemed-client span{font-size:12px;font-weight:800;text-align:center;line-height:1.35}
.esteemed-client:hover{transform:translateY(-5px);box-shadow:0 14px 35px #07151c14;border-color:var(--aqua-strong)}
@media(max-width:1050px){.esteemed-logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.esteemed-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.esteemed-client{min-height:150px}.esteemed-client img{height:90px}}

/* In-page project viewer cards */
.project { appearance: none; width: 100%; padding: 0; text-align: left; font: inherit; color: inherit; }
.project:focus-visible, .esteemed-client:focus-visible { outline: 3px solid var(--aqua); outline-offset: 4px; }


/* Hero client-project image slideshow */
.hero { position: relative; overflow: hidden; }
.hero:before { display: none !important; }
.hero-slideshow { position: absolute; inset: 0; z-index: -1; background: #07151c; overflow: hidden; }
.hero-slideshow:after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,21,28,.97), rgba(7,21,28,.72) 48%, rgba(7,21,28,.24)); }
.hero-slideshow img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 1; transform: scale(1.04); transition: opacity .45s ease, transform 5s ease; }
.hero-slideshow img.is-changing { opacity: 0; transform: scale(1.08); }
@media (prefers-reduced-motion: reduce) { .hero-slideshow img { transition: none; } }

/* Removed the decorative hero orbit card; the hero now focuses on the rotating project imagery. */
.hero-orbit,.orbit-card{display:none!important}

/* Final polish: clearer interaction states and safer small-screen spacing */
.project:focus-visible,
.esteemed-client:focus-visible,
.logo-row a:focus-visible,
.gallery-nav button:focus-visible,
.thumbs button:focus-visible,
.close:focus-visible,
#image-lightbox button:focus-visible {
  outline: 2px solid var(--aqua-strong);
  outline-offset: 3px;
}

.hero-slideshow img { will-change: opacity, transform; }
.gallery-nav button { border-radius: 999px; transition: background .2s ease, border-color .2s ease; }
.gallery-nav button:hover { background: rgba(157,229,215,.18); border-color: var(--aqua); }
.thumbs button { border-radius: 6px; overflow: hidden; opacity: .72; transition: opacity .2s ease, border-color .2s ease; }
.thumbs button:hover, .thumbs button.active { opacity: 1; }
.modal-inner { max-height: 90vh; overflow: auto; }
@media (max-width: 600px) {
  .hero-copy { max-width: 100%; }
  .hero .actions .btn { width: 100%; }
  .modal-inner { max-height: 94vh; }
  .case-head { align-items: flex-start; }
  .case-head img { width: 72px; height: 58px; }
}


/* Comprehensive polish pass */
:root{--aqua-strong:#5faaa3;--shadow-soft:0 18px 50px rgba(7,21,28,.09)}
body{line-height:1.5}
.header{box-shadow:0 1px 0 rgba(255,255,255,.06)}
.header nav a{position:relative;padding:8px 0}
.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--aqua);transition:right .25s ease}
.header nav a:hover:after,.header nav a:focus-visible:after{right:0}
.hero{min-height:clamp(560px,72vh,760px)}
.hero-copy{position:relative;z-index:1;animation:heroCopyIn .8s ease both}
.hero-slide-dots{position:absolute;left:10vw;bottom:32px;display:flex;gap:8px;z-index:2}
.hero-slide-dots button{width:8px;height:8px;padding:0;border-radius:50%;border:1px solid #c7f4ec;background:transparent;opacity:.65}
.hero-slide-dots button.active{background:var(--aqua);opacity:1;transform:scale(1.25)}
.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.filter-btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 15px;font-size:12px;font-weight:700}
.filter-btn.active,.filter-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.project.is-hidden{display:none}
.esteemed-client img{filter:grayscale(100%);transition:filter .3s ease,transform .3s ease}
.esteemed-client:hover img{filter:grayscale(0);transform:scale(1.04)}
.service-grid article,.project,.statement-card,.values-row>div,.approach-grid>div{box-shadow:0 1px 0 rgba(7,21,28,.02)}
.service-grid article:hover,.project:hover,.values-row>div:hover,.approach-grid>div:hover{box-shadow:var(--shadow-soft)}
.contact form input:invalid:not(:placeholder-shown),.contact form select:invalid:not(:focus){border-color:#d99b9b}
.scroll-progress{position:fixed;top:0;left:0;width:0;height:3px;background:var(--aqua);z-index:200;pointer-events:none}
.back-top{position:fixed;right:24px;bottom:86px;width:42px;height:42px;border:1px solid #35535b;background:#07151c;color:#fff;border-radius:50%;z-index:29;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s}
.back-top.visible{opacity:1;visibility:visible;transform:none}
#image-lightbox{position:fixed;inset:0;background:rgba(7,21,28,.96);display:none;align-items:center;justify-content:center;gap:16px;padding:30px;z-index:1000}
#image-lightbox.open{display:flex}
#image-lightbox img{max-width:86vw;max-height:84vh;object-fit:contain}
#image-lightbox button{border:1px solid #ffffff44;background:#ffffff12;color:#fff;border-radius:50%;width:44px;height:44px;font-size:25px}
#image-lightbox .lb-close{position:absolute;right:24px;top:24px}
@media(max-width:800px){.hero-slide-dots{left:7vw;bottom:22px}.project-filters{gap:8px}.filter-btn{padding:9px 12px}.back-top{right:14px;bottom:78px}}
@media(prefers-reduced-motion:reduce){.hero-copy{animation:none}.hero-slide-dots{display:none}}

/* Full Arabic layout support */
html[dir="rtl"] body,
body.rtl-mode { direction: rtl; text-align: right; }
html[dir="rtl"] .header nav,
html[dir="rtl"] .actions,
html[dir="rtl"] .section-head,
html[dir="rtl"] footer,
html[dir="rtl"] .contact,
html[dir="rtl"] .project-meta,
html[dir="rtl"] .case-head { direction: rtl; }
html[dir="rtl"] .hero:before { background: linear-gradient(270deg,rgba(7,21,28,.97),rgba(7,21,28,.72) 48%,rgba(7,21,28,.2)),var(--hero-image) center/cover; }
html[dir="rtl"] .hero-copy,
html[dir="rtl"] .intro,
html[dir="rtl"] .section,
html[dir="rtl"] .trust,
html[dir="rtl"] .contact { text-align: right; }
html[dir="rtl"] .view { text-align: right; }
html[dir="rtl"] .assistant { left:24px; right:auto; }
html[dir="rtl"] .chatbox { left:24px; right:auto; }
html[dir="rtl"] .close { left:15px; right:auto; }
html[dir="rtl"] .header nav { flex-direction: row-reverse; }
html[dir="rtl"] input, html[dir="rtl"] select, html[dir="rtl"] textarea { text-align:right; }
html[dir="rtl"] .chat-choices button { text-align:right; }

/* Keep the language control reliably clickable above navigation layers. */
.lang { position: relative; z-index: 25; pointer-events: auto; }
/* Reliable project filtering: hidden cards must not occupy grid space. */
#projects .project[hidden], #projects .project.is-hidden { display: none !important; }
#projects .filter-btn { cursor: pointer; }

/* Lightbox interaction hardening */
#image-lightbox { pointer-events: auto; }
#image-lightbox button { position: absolute; z-index: 3; display: grid; place-items: center; cursor: pointer; touch-action: manipulation; }
#image-lightbox .lb-prev { left: 24px; top: 50%; transform: translateY(-50%); }
#image-lightbox .lb-next { right: 24px; top: 50%; transform: translateY(-50%); }
#image-lightbox .lb-close { right: 24px; top: 24px; }
#image-lightbox img { position: relative; z-index: 1; pointer-events: none; }
@media(max-width:800px){
  #image-lightbox { padding: 20px 58px; }
  #image-lightbox .lb-prev { left: 10px; }
  #image-lightbox .lb-next { right: 10px; }
  #image-lightbox .lb-close { right: 10px; top: 10px; }
}


/* Esteemed clients: continuous, responsive carousel */
.esteemed-carousel { margin-top: 2.25rem; overflow: hidden; }
.esteemed-carousel-viewport { overflow: hidden; width: 100%; mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent); }
.esteemed-carousel-track { display: flex; width: max-content; animation: esteemedClientScroll 42s linear infinite; will-change: transform; }
.esteemed-carousel-group { display: flex; align-items: stretch; gap: 1rem; padding-right: 1rem; }
.esteemed-carousel .esteemed-client { flex: 0 0 clamp(170px, 19vw, 235px); min-height: 148px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; padding: 1.15rem; border: 1px solid rgba(112, 157, 164, .25); border-radius: 18px; background: rgba(255,255,255,.045); text-decoration: none; transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.esteemed-carousel .esteemed-client:hover, .esteemed-carousel .esteemed-client:focus-visible { transform: translateY(-5px); border-color: rgba(116, 211, 202, .75); background: rgba(116, 211, 202, .09); outline: none; }
.esteemed-carousel .esteemed-client img { width: 100%; max-width: 175px; height: 72px; object-fit: contain; display: block; filter: grayscale(100%); opacity: .82; transition: filter .25s ease, opacity .25s ease; }
.esteemed-carousel .esteemed-client:hover img, .esteemed-carousel .esteemed-client:focus-visible img { filter: grayscale(0); opacity: 1; }
.esteemed-carousel .esteemed-client span { color: var(--muted, #a8bcc1); font-size: .78rem; text-align: center; line-height: 1.35; }
.carousel-hint { margin: 1rem 0 0; text-align: center; color: var(--muted, #a8bcc1); font-size: .75rem; opacity: .8; }
.esteemed-carousel:hover .esteemed-carousel-track, .esteemed-carousel:focus-within .esteemed-carousel-track { animation-play-state: paused; }
@keyframes esteemedClientScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
[dir="rtl"] .esteemed-carousel-track { animation-name: esteemedClientScrollRtl; }
@keyframes esteemedClientScrollRtl { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@media (max-width: 700px) { .esteemed-carousel .esteemed-client { flex-basis: 165px; min-height: 132px; } .esteemed-carousel .esteemed-client img { height: 60px; } .esteemed-carousel-group { gap: .7rem; padding-right: .7rem; } }
@media (prefers-reduced-motion: reduce) { .esteemed-carousel-track { animation: none; } .esteemed-carousel-viewport { overflow-x: auto; mask-image: none; -webkit-mask-image: none; } }


/* Final master safety refinements */
.esteemed-carousel { position: relative; isolation: isolate; }
.esteemed-carousel-track { pointer-events: auto; }
.esteemed-carousel-group[aria-hidden="true"] { pointer-events: none; }
.esteemed-carousel .esteemed-client { cursor: pointer; }
#lang { position: relative; z-index: 50; pointer-events: auto; cursor: pointer; }
html[dir="rtl"] .esteemed-carousel-group { padding-right: 1rem; padding-left: 0; }
@media (max-width: 800px) { .esteemed-carousel-viewport { overflow-x: hidden; } }
