@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--navy:#071d32;--blue:#075a9b;--blue2:#0d76bd;--ink:#10283e;--muted:#607285;--line:#dfe7ee;--paper:#f5f8fb;--white:#fff}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}.header{height:82px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid #e6ebf0;backdrop-filter:blur(12px)}.nav{max-width:1220px;height:100%;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand img{width:150px;height:68px;object-fit:contain}.nav nav{display:flex;align-items:center;gap:27px}.nav nav a{font-size:13px;font-weight:700;color:#32475b;text-decoration:none}.nav-request{border:0;background:var(--navy);color:#fff;border-radius:6px;padding:11px 17px;font-weight:800;cursor:pointer}.menu{display:none;border:0;background:none;font-size:25px}.hero{position:relative;min-height:620px;background:url("images/field-gnss-1.jpeg") center 42%/cover no-repeat;color:#fff;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,22,39,.96) 0%,rgba(5,33,56,.84) 45%,rgba(5,33,56,.25) 100%)}.hero-inner{position:relative;max-width:1220px;margin:auto;padding:82px 24px;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}.hero-copy{max-width:730px}.pill{display:inline-block;border:1px solid rgba(255,255,255,.28);border-radius:30px;padding:7px 13px;font-size:10px;font-weight:800;letter-spacing:2px;color:#d8ecf8}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(46px,6.3vw,78px);line-height:1.02;letter-spacing:-3px;margin:22px 0}.hero h1 span{color:#72c2f2}.hero-copy>p{font-size:18px;color:#d9e7f0;max-width:650px}.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:0;border-radius:7px;padding:14px 20px;font:800 13px "DM Sans";text-decoration:none;cursor:pointer}.primary{background:#0b69a7;color:#fff}.hero .primary{background:#fff;color:#083957}.glass{color:#fff;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.06)}.trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;font-size:11px;color:#c9dce8}.hero-profile{align-self:end;justify-self:end;width:285px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:13px;border-radius:12px;backdrop-filter:blur(10px)}.profile-photo{height:285px;overflow:hidden;border-radius:8px}.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.profile-info{padding:15px 5px 5px}.profile-info small,.profile-info strong,.profile-info span{display:block}.profile-info small{font-size:9px;letter-spacing:2px;color:#9ed3ef}.profile-info strong{font-family:Manrope;font-size:18px;color:#fff}.profile-info span{font-size:12px;color:#d3e3ec}.quick-strip{max-width:1120px;margin:-40px auto 0;position:relative;z-index:5;background:#fff;box-shadow:0 15px 50px rgba(12,39,62,.12);display:grid;grid-template-columns:repeat(4,1fr);border-radius:10px;overflow:hidden}.quick-strip div{padding:22px 25px;border-right:1px solid var(--line);display:flex;gap:15px;align-items:center}.quick-strip div:last-child{border:0}.quick-strip b{font-size:11px;color:#0a6ca9}.quick-strip span{font-weight:700;font-size:13px}.section{max-width:1220px;margin:auto;padding:110px 24px}.section-label{font-size:10px;letter-spacing:2.5px;font-weight:800;color:#0871ae;margin-bottom:15px}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.about h2,.section-title h2,.contact h2{font-family:Manrope;font-size:clamp(34px,4.5vw,56px);line-height:1.06;letter-spacing:-2px}.about p{color:var(--muted);margin:18px 0}.about-image{position:relative}.about-image img{width:100%;height:430px;object-fit:cover;border-radius:12px}.image-tag{position:absolute;bottom:18px;left:18px;background:#fff;padding:10px 14px;font-size:9px;font-weight:800;letter-spacing:1.5px}.text-btn{background:none;border:0;color:#075d99;font-weight:800;margin-top:15px;cursor:pointer}.services{border-top:1px solid var(--line)}.section-title{display:grid;grid-template-columns:1fr .65fr;gap:70px;align-items:end;margin-bottom:42px}.section-title p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.service-grid article{background:#fff;border:1px solid var(--line);padding:30px;min-height:265px;border-radius:9px;transition:.2s}.service-grid article:hover{transform:translateY(-4px);box-shadow:0 16px 45px rgba(9,42,68,.09);border-color:#c7dce9}.service-no{font-size:10px;font-weight:800;color:#0a6ea9;letter-spacing:2px}.service-grid h3{font-family:Manrope;font-size:21px;line-height:1.15;margin:28px 0 10px}.service-grid p{font-size:13px;color:var(--muted);min-height:62px}.service-grid article button{border:0;background:none;color:#075f98;font-weight:800;font-size:12px;padding:0;cursor:pointer}.work{padding-top:20px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:12px}.gallery figure{position:relative;overflow:hidden;border-radius:9px;background:#123}.gallery .wide{grid-column:span 2;grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:28px 15px 13px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:11px;font-weight:700}.feature{max-width:1220px;margin:0 auto 110px;background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;border-radius:12px;overflow:hidden}.feature-image img{width:100%;height:100%;min-height:360px;object-fit:cover}.feature-copy{padding:65px}.feature-copy h2{font-family:Manrope;font-size:42px;line-height:1.08;letter-spacing:-1.5px}.feature-copy>p{color:#bfd0dc;margin:20px 0 25px}.feature-list{display:grid;gap:13px}.feature-list span{border-top:1px solid rgba(255,255,255,.16);padding-top:13px;font-size:12px;color:#d7e5ed}.feature-list b{color:#62b8e9;margin-right:12px}.contact{display:grid;grid-template-columns:1fr .8fr;gap:50px}.contact-card{background:#fff;border:1px solid var(--line);padding:55px;border-radius:12px}.contact-card p{color:var(--muted);max-width:620px;margin:18px 0 27px}.contact-buttons{display:flex;gap:10px;flex-wrap:wrap}.outline{border:1px solid #b9cad7;color:#075d98;background:#fff}.numbers{display:flex;gap:25px;margin-top:28px;flex-wrap:wrap}.numbers a{color:#0a527f;text-decoration:none;font-weight:800}.footer-email{color:#9bb2c1;text-decoration:none;display:inline-block;margin-top:5px}.footer-email:hover{color:#fff}.contact-photo{min-height:360px;border-radius:12px;overflow:hidden}.contact-photo img{width:100%;height:100%;object-fit:cover}footer{background:#061b2d;color:#aebfcc;padding:35px max(24px,calc((100% - 1220px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}footer img{width:145px;height:55px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.95}footer p{margin-top:-7px;color:#8fa9b8}footer strong{color:#fff}footer span{color:#9bb2c1}.modal{display:none;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(2,16,29,.72);backdrop-filter:blur(5px)}.modal-panel{position:relative;width:min(700px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;padding:36px;box-shadow:0 30px 100px rgba(0,0,0,.3)}.close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:30px;color:#5d7081;cursor:pointer}.modal-head h2{font-family:Manrope;font-size:34px;line-height:1.1}.modal-head p{color:var(--muted);font-size:13px;margin-top:8px}.service-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:24px 0}.choice{padding:13px;text-align:left;border:1px solid var(--line);background:#f8fafc;border-radius:7px;color:#254158;font-weight:700;cursor:pointer}.choice.selected{background:#e5f3fb;border-color:#0a6ca8;color:#075d98}.modal-panel label{display:block;font-size:11px;font-weight:800;color:#405568;margin:13px 0}.modal-panel input,.modal-panel textarea{width:100%;display:block;margin-top:5px;padding:12px;border:1px solid #d5e0e8;border-radius:6px;font:inherit}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{width:100%;margin-top:8px}.modal-panel small{display:block;color:#0870a9;margin-top:10px}
@media(max-width:900px){.nav nav{display:none}.menu{display:block}.hero-inner{grid-template-columns:1fr}.hero-profile{display:none}.quick-strip{margin:0 20px;grid-template-columns:1fr 1fr}.quick-strip div:nth-child(2){border-right:0}.quick-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}.about-grid,.contact{grid-template-columns:1fr}.section-title{grid-template-columns:1fr;gap:20px}.service-grid{grid-template-columns:1fr 1fr}.feature{margin:0 20px 70px;grid-template-columns:1fr}.feature-copy{padding:45px}.gallery{grid-template-columns:1fr 1fr}.gallery .wide{grid-column:span 2}.gallery figure{grid-row:auto}.contact-photo{min-height:280px}footer{flex-wrap:wrap}}
@media(max-width:560px){.header{height:72px}.brand img{width:125px;height:60px}.hero{min-height:610px}.hero-inner{padding:65px 20px}.hero h1{font-size:49px}.hero-copy>p{font-size:16px}.trust{display:block}.trust span{display:block;margin-top:7px}.quick-strip{grid-template-columns:1fr}.quick-strip div{border-right:0!important;border-bottom:1px solid var(--line)!important}.quick-strip div:last-child{border-bottom:0!important}.section{padding:75px 20px}.service-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;grid-auto-rows:230px}.gallery .wide{grid-column:auto;grid-row:auto}.feature-copy h2{font-size:34px}.contact-card{padding:30px}.numbers{display:block}.numbers a{display:block;margin:7px 0}.form-grid,.service-choices{grid-template-columns:1fr}.modal-panel{padding:28px 20px}.modal-head h2{font-size:28px}footer{display:block;padding:30px 20px}footer>div{margin-bottom:18px}}


/* Responsive polish: phones, tablets, laptops and large screens */
img{max-width:100%;}
button,a{touch-action:manipulation;}
body{overflow-x:hidden;}
.nav{width:100%;}
@media (min-width:901px) and (max-width:1180px){
  .nav{padding:0 20px}.nav nav{gap:18px}.nav nav a{font-size:12px}
  .hero-inner{gap:45px;padding-left:20px;padding-right:20px}
  .section{padding-left:20px;padding-right:20px}
  .gallery{grid-auto-rows:185px}
}
@media (max-width:900px){
  .header{z-index:80}
  .nav{padding:0 18px}
  .brand img{width:138px;height:64px}
  .menu{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:8px;color:var(--navy);cursor:pointer}
  .menu:focus-visible{outline:3px solid rgba(7,90,155,.25);outline-offset:2px}
  .nav nav{display:none;position:absolute;top:100%;left:12px;right:12px;flex-direction:column;align-items:stretch;gap:0;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px rgba(9,42,68,.16)}
  .nav nav.mobile-open{display:flex}
  .nav nav a{display:block;padding:13px 14px;border-radius:8px;font-size:14px}
  .nav nav a:hover{background:#f3f7fa}
  .nav-request{width:100%;padding:13px 15px;margin-top:4px}
  .hero-inner{padding-top:68px;padding-bottom:68px}
  .hero h1{letter-spacing:-2px}
  .hero-actions .btn{min-height:48px}
  .quick-strip{margin-left:18px;margin-right:18px}
  .section{padding-top:82px;padding-bottom:82px}
  .about-grid{gap:38px}
  .about-image img{height:360px}
  .feature{margin-left:18px;margin-right:18px}
  .feature-image img{min-height:300px;max-height:420px}
  .contact-photo{min-height:300px}
  footer{padding-left:20px;padding-right:20px}
}
@media (max-width:560px){
  .header{height:68px}
  .nav{padding:0 14px}
  .brand img{width:122px;height:56px}
  .menu{width:42px;height:42px;font-size:23px}
  .nav nav{left:10px;right:10px}
  .hero{min-height:0;background-position:58% center}
  .hero-overlay{background:linear-gradient(180deg,rgba(3,22,39,.93),rgba(5,33,56,.78) 70%,rgba(5,33,56,.72))}
  .hero-inner{padding:58px 18px 54px}
  .pill{font-size:9px;letter-spacing:1.4px;padding:6px 10px}
  .hero h1{font-size:clamp(39px,12vw,52px);margin:18px 0;line-height:1.04}
  .hero-copy>p{font-size:15px;line-height:1.55}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}
  .hero-actions .btn{width:100%;padding:14px 16px}
  .trust{margin-top:22px}
  .quick-strip{margin:0 12px;border-radius:10px}
  .quick-strip div{padding:16px 18px}
  .quick-strip span{font-size:12px}
  .section{padding:64px 18px}
  .section-label{font-size:9px;letter-spacing:2px}
  .about h2,.section-title h2,.contact h2{font-size:clamp(32px,9vw,42px);letter-spacing:-1.3px}
  .about-image img{height:300px}
  .image-tag{left:12px;bottom:12px;padding:8px 10px;font-size:8px}
  .service-grid{gap:12px}
  .service-grid article{padding:23px;min-height:0}
  .service-grid h3{font-size:19px;margin:21px 0 9px}
  .service-grid p{min-height:0;margin-bottom:15px}
  .gallery{gap:10px;grid-auto-rows:200px}
  .gallery figcaption{font-size:10px;padding:25px 12px 10px}
  .feature{margin:0 12px 55px;border-radius:10px}
  .feature-image img{height:250px;min-height:0}
  .feature-copy{padding:34px 24px}
  .feature-copy h2{font-size:32px}
  .contact-card{padding:25px 20px}
  .contact-buttons{display:grid;grid-template-columns:1fr}
  .contact-buttons .btn{width:100%}
  .contact-photo{min-height:250px}
  .numbers{margin-top:22px;gap:10px 18px}.numbers a{overflow-wrap:anywhere}
  footer{padding:28px 18px}
  footer img{width:130px;height:50px}
  .modal{padding:10px}
  .modal-panel{max-height:94vh;padding:26px 17px;border-radius:12px}
  .modal-head h2{font-size:26px;padding-right:20px}
  .service-choices{gap:8px;margin:19px 0}
  .choice{min-height:46px;padding:11px;font-size:12px}
  .modal-panel input,.modal-panel textarea{font-size:16px;min-height:46px}
  .modal-panel textarea{min-height:110px}
  .full{min-height:48px}
}
@media (max-width:360px){
  .brand img{width:110px}
  .hero h1{font-size:37px}
  .quick-strip div{padding:14px}
  .service-grid article{padding:20px}
  .feature-copy{padding:30px 20px}
}
@media (min-width:1600px){
  .hero-inner,.section,.feature{max-width:1320px}
  .quick-strip{max-width:1220px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
