@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
html{font-size:16px;scroll-padding-top:var(--header-h)}
body{font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.58;overflow-x:hidden}
.container{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.section{padding:clamp(4.5rem,8vw,8rem) 0}.section--compact{padding:clamp(3.5rem,6vw,6rem) 0}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.eyebrow::before{content:"";width:26px;height:2px;background:currentColor}.section-heading{text-align:center;margin-bottom:2.4rem}.section-heading h2{font-size:clamp(2rem,3vw,3.2rem);line-height:1.08;letter-spacing:-.045em}.section-heading h2::after{content:"";display:block;width:52px;height:3px;margin:.8rem auto 0;background:linear-gradient(90deg,var(--blue),var(--sky));border-radius:99px}
.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:.85rem;padding:.8rem 1.2rem;border-radius:9px;font-size:.78rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s}.btn svg{width:18px;transition:transform .3s var(--ease)}.btn:hover{transform:translateY(-2px)}.btn:hover svg{transform:translateX(4px)}.btn--primary{background:linear-gradient(135deg,var(--electric),var(--blue));color:#fff;box-shadow:0 10px 26px rgba(17,119,255,.28)}.btn--outline{border:1px solid currentColor;background:transparent}.btn--light{background:#fff;color:var(--blue);box-shadow:0 10px 24px rgba(0,0,0,.10)}
.site-header{position:sticky;inset-block-start:0;z-index:100;height:var(--header-h);background:rgba(255,255,255,.97);border-bottom:1px solid rgba(7,24,47,.06);transition:height .3s,box-shadow .3s}.site-header.is-scrolled{height:78px;box-shadow:0 8px 30px rgba(7,24,47,.09)}.header-inner{height:100%;display:flex;align-items:center;gap:clamp(1.2rem,3vw,3.6rem)}.brand{margin-right:auto;flex:0 0 auto}.brand img{width:clamp(180px,18vw,250px);height:auto}.main-nav{display:flex;align-items:center;gap:clamp(1.1rem,2vw,2.1rem)}.main-nav a{position:relative;font-size:.72rem;font-weight:800;text-transform:uppercase;padding:.55rem 0}.main-nav a::after{content:"";position:absolute;left:0;bottom:.2rem;width:100%;height:2px;background:var(--electric);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}.nav-toggle{display:none;background:none;color:var(--navy);width:44px;height:44px;padding:10px}.nav-toggle span{display:block;height:2px;background:currentColor;margin:6px 0;transition:.3s}
.hero{position:relative;min-height:clamp(640px,64vw,735px);display:flex;align-items:center;color:#fff;background:var(--navy);isolation:isolate;overflow:hidden}.hero-media{position:absolute;inset:0;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,15,31,.98) 0%,rgba(3,15,31,.90) 31%,rgba(3,15,31,.42) 58%,rgba(3,15,31,.06) 100%)}.hero-grid{position:absolute;inset:0;z-index:-1;opacity:.12;background-image:linear-gradient(rgba(50,167,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(50,167,255,.25) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 58%)}.hero-copy{max-width:680px;padding:clamp(4rem,8vw,7rem) 0 7rem}.hero .eyebrow{color:#fff;margin-bottom:1.25rem}.hero .eyebrow::before{background:var(--sky)}.hero h1{font-size:clamp(3rem,5.25vw,5.75rem);line-height:.96;letter-spacing:-.055em;text-transform:uppercase;max-width:10.5ch}.hero h1 em{display:block;color:var(--electric);font-style:normal}.hero-lede{font-size:clamp(1rem,1.2vw,1.18rem);max-width:52ch;color:rgba(255,255,255,.82);margin:1.6rem 0 2rem}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.hero .btn--outline{color:#fff;background:rgba(255,255,255,.04)}
.trust-wrap{position:relative;margin-top:-66px;z-index:5}.trust-bar{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid rgba(7,24,47,.07);border-radius:18px;box-shadow:var(--shadow-lg);padding:1.8rem 1.4rem}.trust-item{display:grid;grid-template-columns:58px 1fr;gap:1rem;align-items:start;padding:0 1.6rem;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-icon{width:52px;height:52px;color:var(--electric)}.trust-item strong{display:block;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1;color:var(--navy)}.trust-item b{display:block;color:var(--blue);font-size:.76rem;text-transform:uppercase;margin:.4rem 0}.trust-item p{font-size:.78rem;color:var(--muted);line-height:1.5}
.services{background:linear-gradient(180deg,#fff 0%,var(--mist) 38%,#fff 100%)}.services>.container{container-type:inline-size}.service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.2rem}.service-card{position:relative;display:flex;flex-direction:column;min-height:390px;background:#fff;border:1px solid rgba(7,24,47,.08);border-radius:16px;overflow:hidden;box-shadow:0 9px 24px rgba(7,24,47,.06);transition:transform .36s var(--ease),box-shadow .36s var(--ease),border-color .36s}.service-card:hover{transform:translateY(-7px);box-shadow:0 22px 44px rgba(7,24,47,47,.14);border-color:rgba(17,119,255,.24)}.service-photo{height:170px;overflow:hidden;background:#dbe6f2}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.service-card:hover .service-photo img{transform:scale(1.04)}.service-icon{position:absolute;top:142px;left:1.1rem;width:56px;height:56px;border-radius:50%;background:linear-gradient(150deg,var(--electric),#002f89);display:grid;place-items:center;color:#fff;border:4px solid #fff;transition:box-shadow .35s}.service-card:hover .service-icon{box-shadow:0 0 0 7px rgba(17,119,255,.11),0 10px 26px rgba(17,119,255,.28)}.service-icon svg{width:26px;height:26px}.service-body{display:flex;flex-direction:column;flex:1;padding:2.25rem 1.2rem 1.1rem}.service-body h3{font-size:.94rem;line-height:1.25;text-transform:uppercase;margin-bottom:.7rem}.service-body p{font-size:.78rem;color:var(--muted);line-height:1.55}.card-arrow{margin-top:auto;align-self:flex-end;color:var(--electric);font-size:1.35rem;transition:transform .3s}.service-card:hover .card-arrow{transform:translateX(5px)}.section-cta{text-align:center;margin-top:2.2rem}.section-cta .btn{color:var(--blue);min-width:210px}
.tech-band{position:relative;overflow:hidden;background:#041428;color:#fff;min-height:430px;display:flex;align-items:center}.tech-band::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 50%,rgba(17,119,255,.18),transparent 42%)}.tech-layout{position:relative;display:grid;grid-template-columns:minmax(360px,.76fr) 1.35fr;align-items:center;gap:2rem}.tech-copy{padding:5rem 0}.tech-copy h2{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.04;letter-spacing:-.04em;max-width:12ch;margin:.5rem 0 1.2rem}.tech-copy p{color:#c6d1df;max-width:52ch}.tech-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;margin:2rem 0}.tech-point{display:flex;gap:.75rem;align-items:center;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.tech-point svg{width:33px;color:var(--sky)}.tech-visual{align-self:stretch;display:flex;align-items:flex-end}.tech-visual img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center;mix-blend-mode:screen;filter:saturate(1.08)}
.projects-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.8rem}.projects-head h2{font-size:clamp(2rem,3.6vw,3.5rem);letter-spacing:-.045em;line-height:1.05}.projects-head .btn{color:var(--blue)}.carousel-shell{position:relative}.project-track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.25rem .15rem 1rem}.project-track::-webkit-scrollbar{display:none}.project-card{flex:0 0 calc((100% - 3.75rem)/4);scroll-snap-align:start}.project-card img{width:100%;aspect-ratio:1.58/1;object-fit:cover;border-radius:12px;box-shadow:0 7px 20px rgba(7,24,47,.12)}.project-card h3{font-size:.9rem;margin-top:.75rem}.project-card p{font-size:.75rem;color:var(--muted)}.carousel-btn{position:absolute;top:38%;z-index:2;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue);box-shadow:var(--shadow);cursor:pointer}.carousel-btn.prev{left:-22px}.carousel-btn.next{right:-22px}.carousel-dots{display:flex;justify-content:center;gap:.45rem;margin-top:.8rem}.carousel-dots button{width:7px;height:7px;border-radius:50%;background:#cbd4df;padding:0}.carousel-dots button.active{width:22px;border-radius:99px;background:var(--electric)}
.company{background:#fff}.company-layout{display:grid;grid-template-columns:.82fr 1.45fr;gap:4rem;align-items:center}.company h2{font-size:clamp(2rem,3.8vw,3.6rem);line-height:1.06;letter-spacing:-.045em;max-width:12ch;margin:.55rem 0 1.2rem}.company p{color:var(--muted);max-width:54ch}.company-stats{display:flex;gap:2rem;margin:1.9rem 0 2rem}.company-stats strong{font-size:1.4rem;color:var(--blue);display:block}.company-stats span{font-size:.65rem;text-transform:uppercase;font-weight:800}.company-photo{position:relative}.company-photo img{width:100%;height:390px;object-fit:cover;border-radius:16px;box-shadow:var(--shadow)}.company-photo::after{content:"";position:absolute;inset:1rem -1rem -1rem 1rem;border:1px solid rgba(17,119,255,.28);border-radius:16px;z-index:-1}
.partners{border-top:1px solid var(--line);padding:2.1rem 0}.partners-inner{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:2rem}.partners-title{font-size:.72rem;text-transform:uppercase;font-weight:800;color:var(--navy)}.partner-list{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:2rem}.partner-list img{width:100%;height:78px;object-fit:contain;filter:saturate(.9);transition:filter .3s,transform .3s}.partner-list img:hover{filter:none;transform:scale(1.04)}
.faq{background:var(--mist)}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:4rem}.faq h2{font-size:clamp(2rem,3.8vw,3.6rem);line-height:1.05;letter-spacing:-.04em;margin:.6rem 0 1rem}.faq-intro p{color:var(--muted)}.faq-list{border-top:1px solid #cfd8e4}.faq-item{border-bottom:1px solid #cfd8e4}.faq-question{width:100%;display:flex;justify-content:space-between;gap:1rem;text-align:left;padding:1.25rem .25rem;background:none;color:var(--navy);font-weight:700;cursor:pointer}.faq-question span:last-child{color:var(--blue);font-size:1.3rem}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}.faq-answer>div{overflow:hidden}.faq-answer p{color:var(--muted);padding:0 .25rem 1.25rem}.faq-item.open .faq-answer{grid-template-rows:1fr}
.final-cta{background:linear-gradient(110deg,#003f9c,var(--electric));color:#fff;padding:2rem 0}.final-cta-inner{display:grid;grid-template-columns:1fr 1.15fr auto;align-items:center;gap:3rem}.final-cta h2{font-size:clamp(1.45rem,2.4vw,2.25rem);line-height:1.15}.final-cta p{color:rgba(255,255,255,.82);font-size:.9rem}.site-footer{background:#041428;color:#fff;padding:4.5rem 0 1.8rem}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:3rem}.footer-brand{background:#fff;border-radius:10px;padding:12px;width:max-content}.footer-brand img{width:185px}.footer-copy{color:#aebccd;max-width:38ch;margin-top:1rem;font-size:.86rem}.site-footer h3{font-size:.78rem;text-transform:uppercase;color:var(--sky);margin-bottom:1rem}.site-footer li,.site-footer address,.site-footer p{font-size:.83rem;color:#b9c5d3;font-style:normal}.site-footer li+li{margin-top:.55rem}.site-footer a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding-top:2rem;margin-top:3rem;border-top:1px solid rgba(255,255,255,.12);font-size:.75rem;color:#8fa0b3}.footer-legal{display:flex;gap:1.3rem}
.internal-hero{position:relative;padding:clamp(7rem,12vw,11rem) 0 clamp(4rem,8vw,7rem);color:#fff;background:linear-gradient(120deg,#031226 15%,#09254a 75%,#0057c8)}.internal-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(50,167,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(50,167,255,.1) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,transparent,#000)}.internal-hero .container{position:relative;z-index:1}.breadcrumbs{font-size:.72rem;color:#b9cce4;margin-bottom:1.2rem;text-transform:uppercase}.internal-hero h1{font-size:clamp(2.8rem,6vw,5.5rem);line-height:.98;letter-spacing:-.055em;max-width:12ch}.internal-hero p{color:#ccdae8;max-width:58ch;margin-top:1.3rem;font-size:1.08rem}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.content-grid h2,.service-section h2{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.08;letter-spacing:-.04em;margin-bottom:1rem}.content-grid p,.service-section p{color:var(--muted)}.feature-list{display:grid;gap:1rem}.feature-list li{display:flex;gap:.8rem;align-items:flex-start;padding:1rem;border:1px solid var(--line);border-radius:12px;background:#fff}.feature-list svg{flex:0 0 24px;color:var(--electric)}.service-section{padding:clamp(3.5rem,7vw,7rem) 0}.service-section.alt{background:var(--mist)}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}.benefit{padding:1.6rem;border:1px solid var(--line);border-radius:14px;background:#fff}.benefit strong{display:block;color:var(--blue);margin-bottom:.4rem}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}.process-step{padding:1.4rem;background:var(--navy);color:#fff;border-radius:14px}.process-step b{font-size:2rem;color:var(--sky)}.process-step h3{font-size:1rem;margin:.5rem 0}.process-step p{font-size:.82rem;color:#b7c5d6}.contact-card{padding:2rem;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}.contact-card p{color:#c6d3e2}.contact-list{display:grid;gap:1rem;margin-top:1.5rem}.contact-list a{display:flex;gap:.8rem;align-items:center}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.gallery-item{overflow:hidden;border-radius:15px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(7,24,47,.07)}.gallery-item img{width:100%;aspect-ratio:1.45/1;object-fit:cover;transition:transform .4s var(--ease)}.gallery-item:hover img{transform:scale(1.035)}.gallery-item div{padding:1.15rem}.gallery-item h2,.gallery-item h3{font-size:1rem;margin:0 0 .25rem}.gallery-item p{font-size:.8rem;color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff}.field{display:grid;gap:.35rem}.field--full{grid-column:1/-1}.field label{font-size:.78rem;font-weight:800;color:var(--navy)}.field input,.field textarea,.field select{width:100%;border:1px solid #cdd7e3;border-radius:9px;padding:.85rem 1rem;background:#fff;color:var(--ink)}.field textarea{min-height:140px;resize:vertical}.form-status{grid-column:1/-1;font-size:.85rem;color:var(--blue)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
.service-card:hover{box-shadow:0 22px 44px rgba(7,24,47,.14)}

/* Refinements from visual review */
.btn{min-height:40px;padding:.55rem .9rem;gap:.55rem;border-radius:7px;font-size:.67rem;letter-spacing:.02em}.btn svg{width:15px;height:15px}.header-cta{min-height:38px;padding:.5rem .8rem;font-size:.64rem;box-shadow:0 7px 18px rgba(17,119,255,.2)}.section-cta .btn{min-width:0}.hero-actions{gap:.7rem}.hero-actions .btn{min-width:0}.tech-copy .btn{width:max-content}.text-link{display:inline-flex;align-items:center;gap:.55rem;color:var(--blue);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.025em;padding:.4rem 0;border-bottom:1px solid rgba(0,87,200,.25);transition:gap .3s var(--ease),border-color .3s}.text-link svg{width:15px;height:15px}.text-link:hover{gap:.8rem;border-color:var(--blue)}
.projects{background:#fff}.projects-head{margin-bottom:1.25rem}.projects-head h2{font-size:clamp(1.9rem,3vw,3rem)}.project-tabs{display:flex;gap:.45rem;align-items:center;margin-bottom:1.35rem;padding-bottom:.1rem;overflow-x:auto;scrollbar-width:none}.project-tabs::-webkit-scrollbar{display:none}.project-tab{flex:0 0 auto;padding:.5rem .82rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.7rem;font-weight:700;cursor:pointer;transition:.25s}.project-tab:hover,.project-tab.is-active{color:#fff;background:var(--blue);border-color:var(--blue)}.project-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.project-tile{min-width:0;text-align:left;background:#fff;color:var(--ink);border-radius:12px;cursor:pointer;transition:transform .32s var(--ease),box-shadow .32s var(--ease)}.project-tile:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(7,24,47,.11)}.project-tile[hidden]{display:none}.project-image{position:relative;display:block;height:clamp(170px,15vw,230px);overflow:hidden;border-radius:12px;background:#dfe7ef}.project-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .4s var(--ease)}.project-tile:hover .project-image img{transform:scale(1.035)}.project-image>span{position:absolute;inset:auto .8rem .8rem auto;padding:.38rem .65rem;border-radius:999px;background:rgba(3,18,38,.82);backdrop-filter:blur(8px);color:#fff;font-size:.64rem;font-weight:700;opacity:0;transform:translateY(5px);transition:.25s}.project-tile:hover .project-image>span,.project-tile:focus-visible .project-image>span{opacity:1;transform:none}.project-meta{display:grid;gap:.2rem;padding:.78rem .15rem .2rem}.project-meta small{color:var(--blue);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.project-meta strong{font-size:.86rem;line-height:1.35}.project-dialog{width:min(920px,calc(100% - 2rem));max-height:min(760px,calc(100dvh - 2rem));padding:0;border:0;border-radius:16px;overflow:hidden;box-shadow:0 30px 100px rgba(1,12,29,.4)}.project-dialog::backdrop{background:rgba(1,12,29,.72);backdrop-filter:blur(5px)}.project-dialog>img{width:100%;height:clamp(260px,48vh,480px);object-fit:cover}.project-dialog-copy{padding:1.5rem 1.7rem 1.7rem}.project-dialog h3{font-size:clamp(1.45rem,3vw,2.3rem);line-height:1.1;margin:.35rem 0 .65rem}.project-dialog p{color:var(--muted);max-width:65ch;margin-bottom:1rem}.project-dialog-close{position:absolute;top:.8rem;right:.8rem;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.94);color:var(--navy);font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.16)}
.company-layout{grid-template-columns:.78fr 1.35fr;gap:clamp(2.5rem,6vw,6rem)}.company h2{font-size:clamp(2rem,3.3vw,3.15rem)}.company-stats{padding:1.1rem 0;border-block:1px solid var(--line);gap:clamp(1rem,3vw,2.5rem)}.company-stats strong{font-size:1.15rem}.company-photo{position:relative}.company-photo img{height:clamp(300px,30vw,430px);object-position:center;filter:saturate(.85) contrast(1.03)}.company-photo-note{position:absolute;left:1.15rem;right:1.15rem;bottom:1.15rem;display:grid;gap:.15rem;padding:.85rem 1rem;border-radius:9px;background:rgba(4,20,40,.88);backdrop-filter:blur(8px);color:#fff}.company-photo-note span{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sky)}.company-photo-note strong{font-size:.82rem;line-height:1.35}
.footer-brand{display:inline-flex;width:auto;line-height:0;background:#fff;padding:9px 13px;border-radius:7px}.footer-brand img{display:block;width:190px!important;height:auto!important;max-height:48px;object-fit:contain}.site-footer{padding-top:3.8rem}.footer-grid{align-items:start}
.final-cta .btn{min-width:0;padding-inline:.95rem}
.gallery-item img{height:clamp(190px,18vw,260px);aspect-ratio:auto}
