/* Final mobile navigation and content refinements */
@media(max-width:900px){.header{position:sticky}.menu-btn{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:12px;background:#06152a;color:#fff;font-size:0}.menu-btn:after{content:"☰";font-size:24px;line-height:1}.nav{background:#06152a!important;border-color:rgba(47,224,255,.24)!important;z-index:1002;gap:2px;padding:12px;max-height:calc(100dvh - 90px);overflow-y:auto}.nav>a,.drop>button{color:#f4f9ff!important;font-size:15px;font-weight:800;width:100%;text-align:left;padding:11px 12px;border-radius:9px}.nav>a:hover,.drop>button:hover{background:rgba(47,224,255,.08);color:#2fe0ff!important}.drop>button{display:flex;justify-content:space-between;align-items:center}.drop-menu{background:#0b2545!important;border:1px solid rgba(47,224,255,.16)!important;margin:4px 0 6px;border-radius:10px!important;padding:6px!important}.drop-menu a{color:#e7f3ff!important;padding:11px 12px!important}.nav-cta{background:linear-gradient(135deg,#2d7cff,#159eb8)!important;color:#fff!important;display:flex!important;justify-content:center;text-align:center}.nav-search{display:flex!important;justify-content:flex-start}.brand{min-width:0;flex:1 1 auto}.brand img{max-width:100%!important;object-fit:contain}.page-hero h1{font-size:clamp(34px,10vw,48px);letter-spacing:-2px}.feature{padding:22px}.cta-panel{display:flex;flex-direction:column;align-items:flex-start!important}.cta-panel .btn{width:100%;max-width:100%}}
@media(max-width:380px){.brand{max-width:calc(100% - 56px)}.brand img{width:160px!important;height:auto!important}.nav{left:8px!important;right:8px!important}.header{height:68px}.nav{top:68px!important;max-height:calc(100dvh - 76px)}}

/* v7.1 Home dynamic content and direct-call polish */
.nav-call{display:inline-flex;align-items:center;gap:7px;color:#0d5f86!important;font-size:12px;font-weight:850;white-space:nowrap}
.nav-call:hover{color:#147dff!important}
.call-btn{background:#fff!important;color:#06152a!important;border:1px solid rgba(47,224,255,.45)!important}
.call-btn:hover{background:#eaf9ff!important}
.cta-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.home-job-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.home-job-card{display:flex;flex-direction:column;min-height:240px;padding:26px;border:1px solid #e2eaf2;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(6,21,42,.06)}
.home-job-card h3{margin:16px 0 8px;font-size:20px;line-height:1.25;color:#10233f}
.home-job-card p{color:#68758a;margin:0 0 20px}
.home-job-card .text-link{margin-top:auto}
.footer-call{font-weight:800;color:#72e8ff!important}
.contact-callout{margin-top:18px;padding:16px 18px;border-radius:14px;background:#f0f8ff;border:1px solid #cfe7f5;display:flex;justify-content:space-between;gap:15px;align-items:center}
.contact-callout a{font-weight:900;color:#086eaa}
@media(max-width:1100px){.nav-call span{display:none}.nav-call{font-size:20px}.home-job-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.nav-call{display:flex!important;justify-content:flex-start;font-size:15px}.nav-call span{display:inline}.cta-actions{width:100%}.cta-actions .btn{width:100%}.home-job-grid{grid-template-columns:1fr}.contact-callout{align-items:flex-start;flex-direction:column}.footer-call{display:inline-block}.home-job-card{min-height:auto}}

/* V7.3 dynamic homepage horizontal content carousels */
.home-careers{background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
.carousel-shell{position:relative;display:flex;align-items:center;gap:12px;margin:0 -6px}
.carousel-viewport{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:rgba(45,125,255,.38) transparent;cursor:grab;padding:8px 2px 18px;outline:none;flex:1;min-width:0}
.carousel-viewport:focus-visible{outline:2px solid rgba(52,202,238,.9);outline-offset:4px;border-radius:18px}
.carousel-viewport::-webkit-scrollbar{height:7px}.carousel-viewport::-webkit-scrollbar-track{background:transparent}.carousel-viewport::-webkit-scrollbar-thumb{background:rgba(45,125,255,.32);border-radius:999px}
.carousel-track{display:flex;gap:20px;width:max-content;min-width:100%}
.carousel-card{width:clamp(310px,34vw,410px);min-width:clamp(310px,34vw,410px);min-height:330px;scroll-snap-align:start;scroll-margin-left:8px;position:relative;overflow:hidden}
.project-card.carousel-card{min-height:430px}.home-job-card.carousel-card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 28px rgba(7,17,31,.055);display:flex;flex-direction:column}
.feature.carousel-card{min-height:390px;box-shadow:0 8px 28px rgba(7,17,31,.05);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}
.carousel-card[data-href]{cursor:pointer;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}
.carousel-card[data-href]:hover{transform:translateY(-9px)!important;border-color:rgba(45,125,255,.45);box-shadow:0 22px 46px rgba(6,26,48,.16)}
.project-card.carousel-card:hover{box-shadow:0 26px 58px rgba(0,0,0,.28);border-color:#4de0ff!important}
.carousel-card[data-href]:hover h3 a{color:var(--blue)}
.project-card.carousel-card[data-href]:hover h3 a{color:#7eeeff}
.carousel-card .card-cta{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:12px}.carousel-card .card-cta span{transition:transform .25s ease}.carousel-card[data-href]:hover .card-cta span{transform:translateX(5px)}
.card-hover-arrow{position:absolute;right:18px;top:18px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.96);color:#125fc2;font-size:20px;box-shadow:0 10px 24px rgba(7,24,43,.16);opacity:.0;transform:translateY(8px) scale(.88);transition:opacity .24s ease,transform .24s ease;z-index:3}
.home-job-card .card-hover-arrow{background:linear-gradient(135deg,#eff8ff,#fff);border:1px solid #d9e8f7}.project-card .card-hover-arrow{background:rgba(6,28,51,.92);color:#70e8ff;border:1px solid rgba(112,232,255,.35)}
.carousel-card[data-href]:hover .card-hover-arrow{opacity:1;transform:translateY(0) scale(1)}
.insight-visual{height:160px;margin:-28px -28px 22px;background:radial-gradient(circle at 18% 22%,rgba(86,225,255,.48),transparent 18%),radial-gradient(circle at 78% 65%,rgba(70,117,255,.42),transparent 22%),linear-gradient(135deg,#071a31,#164b75);position:relative;overflow:hidden}
.case-visual{background:radial-gradient(circle at 18% 22%,rgba(103,126,255,.46),transparent 18%),radial-gradient(circle at 78% 65%,rgba(49,214,197,.42),transparent 22%),linear-gradient(135deg,#11183b,#155565)}
.insight-visual:before{content:"";position:absolute;inset:20px;border:1px solid rgba(103,225,255,.24);border-radius:50%;transform:rotate(-18deg)}
.insight-visual:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-45px;bottom:-70px;border:1px solid rgba(255,255,255,.18)}
.feature.carousel-card:hover .insight-visual{filter:saturate(1.22) brightness(1.08)}
.carousel-arrow{width:46px;height:46px;border-radius:50%;border:1px solid #d5e1ee;background:#fff;color:#12304f;font-size:32px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 22px rgba(7,17,31,.09);transition:transform .2s ease,background .2s ease,color .2s ease,opacity .2s ease;flex:0 0 auto;z-index:4}
.carousel-arrow:hover:not(:disabled){transform:scale(1.08);background:var(--blue);color:#fff;border-color:var(--blue)}.carousel-arrow:disabled{opacity:.32;cursor:not-allowed}
.carousel-shell-dark .carousel-arrow{background:#102945;color:#e8faff;border-color:rgba(113,219,255,.22)}.carousel-shell-dark .carousel-arrow:hover:not(:disabled){background:#28bfe8;color:#06172a}
.carousel-hint{text-align:center;color:#758397;font-size:12px;font-weight:700;margin-top:13px;letter-spacing:.1px}.carousel-hint span{color:var(--blue);font-size:16px;margin-left:4px}.carousel-hint-dark{color:#9eb1c6}.carousel-hint-dark span{color:#62e2ff}
@media(max-width:760px){.carousel-shell{gap:7px;margin:0 -2px}.carousel-card{width:min(82vw,370px);min-width:min(82vw,370px)}.project-card.carousel-card{min-height:390px}.feature.carousel-card{min-height:370px}.carousel-arrow{width:38px;height:38px;font-size:27px}.carousel-track{gap:14px}.carousel-viewport{padding-bottom:14px}.carousel-hint{font-size:11px}.home-job-card.carousel-card{padding:24px}.insight-visual{margin:-24px -24px 20px;height:145px}}
@media(max-width:480px){.carousel-shell{display:block;margin:0}.carousel-arrow{display:none}.carousel-card{width:calc(100vw - 58px);min-width:calc(100vw - 58px)}.carousel-viewport{padding:7px 0 16px}.carousel-hint{margin-top:8px}}

/* V7.4: clearer Insights and Case Studies visual identity */
.insights-section .feature.carousel-card,.case-studies-home .feature.carousel-card{border:1px solid rgba(31,109,155,.14);overflow:hidden;box-shadow:0 16px 34px rgba(7,26,51,.09)}
.insights-section .feature.carousel-card:hover,.case-studies-home .feature.carousel-card:hover{transform:translateY(-8px)!important;box-shadow:0 24px 52px rgba(7,26,51,.18)}
.insight-visual{height:175px!important;display:flex;align-items:flex-end;padding:22px;background:radial-gradient(circle at 82% 20%,rgba(84,226,255,.62),transparent 14%),radial-gradient(circle at 18% 75%,rgba(61,107,255,.54),transparent 28%),linear-gradient(135deg,#06172e 0%,#103e67 54%,#0a7f96 100%)}
.insight-visual:before{border-color:rgba(170,240,255,.38)!important}.visual-kicker{position:relative;z-index:2;letter-spacing:2px;font-size:11px;font-weight:900;color:#eaffff;padding:9px 12px;border:1px solid rgba(220,250,255,.42);background:rgba(2,14,32,.28);border-radius:999px}.visual-orbit{position:absolute;right:27px;top:26px;font-size:36px;color:#eaffff;filter:drop-shadow(0 0 16px #50e6ff)}.case-visual{background:radial-gradient(circle at 18% 25%,rgba(117,115,255,.62),transparent 20%),radial-gradient(circle at 80% 72%,rgba(52,238,188,.55),transparent 25%),linear-gradient(135deg,#10143d 0%,#17346d 48%,#126568 100%)!important}.case-stat{position:absolute;right:22px;bottom:24px;z-index:2;color:#d8fff5;font-size:11px;font-weight:900;letter-spacing:1.8px}.feature.carousel-card .card-hover-arrow{z-index:4}.feature.carousel-card:hover .visual-orbit{transform:rotate(18deg) scale(1.12);transition:.3s ease}.feature.carousel-card:hover .visual-kicker{background:rgba(38,205,240,.24)}


/* V7.7: home Insights and Case Studies inherit the exact dark Project card presentation. */
#home-insights .project-card,#home-case-studies .project-card{background:#0a1e36!important;color:#fff!important;border-color:rgba(255,255,255,.11)!important}
#home-insights .project-card .project-content,#home-case-studies .project-card .project-content{background:#0a1e36!important;color:#fff!important;display:flex!important;flex-direction:column!important;min-height:250px!important}
#home-insights .project-card .project-content h3,#home-insights .project-card .project-content h3 a,#home-case-studies .project-card .project-content h3,#home-case-studies .project-card .project-content h3 a{color:#fff!important}
#home-insights .project-card .project-content p,#home-case-studies .project-card .project-content p{color:#b7c5d5!important}
#home-insights .project-card .project-content .eyebrow,#home-case-studies .project-card .project-content .eyebrow{color:#61e5ff!important}
#home-insights .project-card .card-cta,#home-case-studies .project-card .card-cta{color:#61e5ff!important;font-weight:850!important}
#home-insights .project-card:hover .project-content,#home-case-studies .project-card:hover .project-content{background:#0a1e36!important;color:#fff!important}
#home-insights .project-card:hover .project-content h3,#home-insights .project-card:hover .project-content h3 a,#home-case-studies .project-card:hover .project-content h3,#home-case-studies .project-card:hover .project-content h3 a{color:#7eeeff!important}
#home-insights .project-card:hover .project-content p,#home-case-studies .project-card:hover .project-content p{color:#c7d5e6!important}
#home-insights .project-card .project-visual,#home-case-studies .project-card .project-visual{background-image:radial-gradient(circle at 25% 30%,rgba(47,224,255,.20),transparent 26%),linear-gradient(135deg,#0a1d34,#143b62)!important}


/* =========================================================
   V7.9 FINAL — MOBILE / TABLET NAVIGATION + HOME CTA UNIFICATION
   Appended last intentionally to override earlier layered CSS safely.
   ========================================================= */

/* Prevent the navigation panel from inheriting a narrow desktop width. */
@media (max-width:900px){
  .header{position:sticky!important;top:0!important;z-index:3000!important}
  .header .nav-wrap{position:relative!important;overflow:visible!important}
  .header .menu-btn{display:grid!important;place-items:center!important;position:relative!important;z-index:3003!important;flex:0 0 54px!important;width:54px!important;height:54px!important;margin-left:auto!important;border:1px solid rgba(83,220,255,.28)!important;border-radius:16px!important;background:rgba(5,24,45,.88)!important;color:#fff!important;font-size:0!important;box-shadow:0 12px 28px rgba(0,0,0,.22)!important}
  .header .menu-btn::after{content:"☰"!important;font-size:29px!important;line-height:1!important;font-weight:400!important}
  .header .menu-btn[aria-expanded="true"]::after{content:"×"!important;font-size:34px!important}
  .header .nav{display:none!important;position:fixed!important;top:82px!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important;height:auto!important;max-height:calc(100dvh - 96px)!important;margin:0!important;padding:14px!important;overflow-y:auto!important;overscroll-behavior:contain!important;background:linear-gradient(180deg,#081a31 0%,#07182d 100%)!important;border:1px solid rgba(71,219,255,.25)!important;border-radius:20px!important;box-shadow:0 28px 70px rgba(0,0,0,.42)!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:4px!important;white-space:normal!important;z-index:3002!important}
  .header .nav.open{display:flex!important}
  .header .nav>a,.header .drop>button{width:100%!important;min-height:50px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:12px 14px!important;border-radius:12px!important;color:#f2f7ff!important;font-size:16px!important;line-height:1.25!important;text-align:left!important}
  .header .nav>a:hover,.header .drop>button:hover{background:rgba(47,224,255,.09)!important;color:#5fe7ff!important}
  .header .drop{width:100%!important;position:relative!important}
  .header .drop>button{border:0!important;background:transparent!important}
  .header .drop>button span{margin-left:auto!important}
  .header .drop-menu{display:none!important;position:static!important;width:100%!important;max-width:100%!important;margin:2px 0 6px!important;padding:6px!important;background:#0d2848!important;border:1px solid rgba(47,224,255,.14)!important;border-radius:12px!important;box-shadow:none!important}
  .header .drop.open .drop-menu{display:block!important}
  .header .drop-menu a{min-height:44px!important;display:flex!important;align-items:center!important;padding:10px 13px!important;color:#dfeeff!important}
  .header .nav-search{display:none!important}
  .header .nav-call{display:flex!important;align-items:center!important;gap:9px!important;color:#bcefff!important;background:rgba(47,224,255,.07)!important}
  .header .nav-call span{display:inline!important}
  .header .nav-cta{display:flex!important;align-items:center!important;justify-content:center!important;min-height:54px!important;margin-top:7px!important;background:linear-gradient(135deg,#2d7cff,#2fe0ff)!important;color:#fff!important;text-align:center!important}
  .header .brand{flex:1 1 auto!important;width:auto!important;max-width:calc(100% - 64px)!important;min-width:0!important;overflow:visible!important}
  .header .brand img{width:min(220px,100%)!important;max-width:100%!important;height:auto!important;max-height:58px!important;object-fit:contain!important;object-position:left center!important}
}
@media (max-width:620px){
  .header{height:82px!important}
  .header .nav-wrap{width:calc(100% - 28px)!important}
  .header .brand{max-width:calc(100% - 62px)!important}
  .header .brand img{width:205px!important;max-width:100%!important;max-height:54px!important}
  .header .menu-btn{width:52px!important;height:52px!important;flex-basis:52px!important}
  .header .nav{top:92px!important;left:10px!important;right:10px!important;max-height:calc(100dvh - 104px)!important;border-radius:18px!important}
}
@media (max-width:420px){
  .header .brand img{width:185px!important}
  .header .nav{left:8px!important;right:8px!important}
}

/* Mobile/tablet hero: reserve real space so the headline never sits under the menu or globe. */
@media (max-width:900px){
  .hero-home{min-height:720px!important}
  .hero-inner{min-height:720px!important;padding:72px 0 84px!important}
  .hero-copy{position:relative!important;z-index:8!important;width:100%!important;max-width:100%!important}
  .hero h1{max-width:720px!important;overflow-wrap:anywhere!important}
  .hero-globe-art,.hero-art{pointer-events:none!important}
}
@media (max-width:620px){
  .hero-home{min-height:780px!important}
  .hero-inner{min-height:780px!important;padding:70px 0 92px!important;align-content:start!important}
  .hero h1{font-size:clamp(40px,12.5vw,48px)!important;line-height:1.04!important;letter-spacing:-2.4px!important}
  .hero-copy>p{max-width:100%!important;font-size:17px!important;line-height:1.65!important}
  .hero-actions{position:relative!important;z-index:9!important}
  .hero-globe-art{right:-330px!important;top:230px!important;opacity:.18!important}
}

/* One consistent dark card system for Careers, Projects, Insights and Case Studies. */
.home-careers .home-job-card.carousel-card,
#home-projects .project-card,
#home-insights .project-card,
#home-case-studies .project-card{
  background:#0a1e36!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 16px 40px rgba(6,21,42,.18)!important;
}
.home-careers .home-job-card.carousel-card h3,
.home-careers .home-job-card.carousel-card h3 a,
.home-careers .home-job-card.carousel-card p{color:inherit!important}
.home-careers .home-job-card.carousel-card p{color:#b7c5d5!important}
.home-careers .home-job-card.carousel-card .tag{align-self:flex-start!important;background:rgba(47,224,255,.10)!important;border:1px solid rgba(47,224,255,.24)!important;color:#61e5ff!important}
.home-careers .home-job-card.carousel-card .card-hover-arrow{background:rgba(6,28,51,.92)!important;color:#70e8ff!important;border-color:rgba(112,232,255,.35)!important}
.home-careers .home-job-card.carousel-card:hover,
#home-projects .project-card:hover,
#home-insights .project-card:hover,
#home-case-studies .project-card:hover{border-color:#4de0ff!important}
.home-careers .home-job-card.carousel-card:hover h3 a{color:#7eeeff!important}

/* Identical CTA treatment and placement across all four home content rows. */
.home-careers .carousel-card .card-cta,
#home-projects .carousel-card .card-cta,
#home-insights .carousel-card .card-cta,
#home-case-studies .carousel-card .card-cta{
  color:#61e5ff!important;
  font-weight:850!important;
  min-height:42px!important;
  padding:12px 0 0!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  margin-top:auto!important;
}
.home-careers .carousel-card .card-cta:hover,
#home-projects .carousel-card .card-cta:hover,
#home-insights .carousel-card .card-cta:hover,
#home-case-studies .carousel-card .card-cta:hover{color:#9af2ff!important}

/* Footer social links remain beside each other on desktop and wrap cleanly on phones. */
.socials{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin-top:16px!important}
.socials .social-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;padding:8px 12px!important;margin:0!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.18)!important;color:#dcecff!important;font-size:12px!important;font-weight:800!important;transition:transform .2s ease,background .2s ease,color .2s ease!important}
.socials .social-link:hover{transform:translateY(-2px)!important;background:rgba(47,224,255,.10)!important;color:#65e8ff!important}
@media(max-width:420px){.socials .social-link{flex:1 1 auto!important;padding:8px 10px!important}}
