@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#112f45;--blue:#064865;--accent:#1768bd;--muted:#627785;--bg:#f3f7fb}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:#fff}

h1,h2,h3,.brand{font-family:Manrope,sans-serif}

a{color:inherit;text-decoration:none}

button,input,select,textarea{font:inherit}

.wrap{max-width:1240px;margin:auto;padding:0 44px}

.top{background:var(--ink);color:#dae6eb;padding:10px 0;font-size:11px;letter-spacing:1.4px}

.top .wrap{display:flex;justify-content:space-between}

header{position:sticky;top:0;background:#fffffff5;backdrop-filter:blur(12px);z-index:10;border-bottom:1px solid #e7edee}

.nav{height:90px;display:flex;align-items:center;justify-content:space-between;gap:30px}

.brand{font-size:23px;font-weight:800;letter-spacing:-1px}

.brand span{color:#1768bd}

.brand small{display:block;font-size:9px;font-weight:600;letter-spacing:3px;margin-top:3px}

.links{display:flex;gap:25px;align-items:center;font-size:13px}

.links a.active{color:#135dae}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:16px 23px;border:1px solid transparent;border-radius:4px;background:var(--accent);color:#fff;font-weight:700;font-size:13px;cursor:pointer;transition:.25s}

.btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px #122f4520}

.btn.outline{background:transparent;border-color:#aebfc7;color:inherit}

.nav .btn{padding:12px 17px}

.menu{display:none;border:0;background:transparent;font-size:25px}

.hero{background:var(--ink);color:white;position:relative;overflow:hidden}

.hero-grid{min-height:650px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:55px}

.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:12px;color:#1768bd}

.eyebrow:before{content:'';width:27px;height:2px;background:var(--accent)}

.hero .eyebrow{color:#a8d4ff}

h1{font-size:clamp(38px,4.5vw,63px);line-height:1.12;letter-spacing:-2.7px;margin:24px 0}

h1 em{color:#a8d4ff;font-style:normal}

.lead{font-size:16px;line-height:1.85;color:var(--muted);max-width:620px}

.hero .lead{color:#c2d0d8}

.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

.hero-visual{height:490px;position:relative}

.hero-visual img{width:100%;height:100%;object-fit:cover;border-radius:100px 6px 6px 6px;filter:brightness(.8)}

.image-label{position:absolute;bottom:25px;left:-28px;background:white;color:var(--ink);padding:24px 30px;box-shadow:0 20px 40px #0002;border-left:4px solid var(--accent)}

.image-label strong{font-size:27px;display:block}

.image-label span{font-size:11px;letter-spacing:1px}

.hero-bottom{border-top:1px solid #ffffff20;display:flex;gap:36px;padding:23px 0;font-size:12px;color:#cbd8df}

.hero-bottom b{color:var(--accent);margin-right:9px}

section{padding:92px 0}

.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:36px}

h2{font-size:clamp(29px,3vw,43px);line-height:1.2;letter-spacing:-1.5px;margin:15px 0}

h3{font-size:20px;letter-spacing:-.6px}

.section-head p{max-width:370px;color:var(--muted);line-height:1.7;font-size:14px}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.card{padding:33px;border:1px solid #dce5e7;border-radius:6px;transition:transform .28s,box-shadow .28s;background:white}

.card:hover{transform:translateY(-9px);box-shadow:0 20px 45px #12344813;border-color:#87b6e7}

.card p,.text p{font-size:14px;line-height:1.85;color:var(--muted)}

.icon{display:inline-flex;width:47px;height:47px;padding:10px;border:1px solid #c5d9ee;background:#edf5fc;color:#1a60a1;border-radius:6px}

.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.num{font-size:11px;letter-spacing:2px;color:#80939e;float:right}

.more{display:inline-block;margin-top:22px;font-size:12px;font-weight:700;color:var(--blue)}

.more:after{content:' ↗';margin-left:22px}

.soft{background:var(--bg)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}

.photo{width:100%;height:460px;object-fit:cover;border-radius:5px}

.checklist{margin-top:28px}

.check{padding:17px 0;border-bottom:1px solid #d7e1e4;display:flex;gap:17px;font-size:14px;line-height:1.7}

.check strong{display:block}

.check>span{color:#1768bd}

.check small{color:var(--muted);font-size:13px}

.location{border-radius:6px;overflow:hidden;background:white;border:1px solid #dce5e7}

.locations{display:grid;grid-template-columns:1fr 1fr;gap:25px}

.location .cover{height:210px;background:linear-gradient(120deg,#16415a,#62808c);position:relative;overflow:hidden}

.cover:after{content:'';position:absolute;inset:30px 50px 0;background:repeating-linear-gradient(90deg,#ffffff12 0 3px,transparent 3px 42px);border:1px solid #ffffff30;transform:perspective(500px) rotateY(-15deg)}

.cover span{position:absolute;bottom:25px;left:30px;color:#fff;font-size:13px;letter-spacing:3px;z-index:1}

.location .body{padding:29px}

.tag{font-size:11px;padding:7px 10px;background:#eaf3fc;color:#1e5b94;border-radius:3px;display:inline-block}

.cta{background:var(--blue);color:white;padding:60px;border-radius:7px;display:flex;justify-content:space-between;gap:40px;align-items:center}

.cta h2{max-width:650px;margin:0 0 15px}

.cta p{color:#c8d8e0;line-height:1.7;max-width:570px;font-size:14px}

.pagehead{padding:70px 0;background:var(--bg)}

.pagehead h1{font-size:51px;max-width:800px}

.pagehead .breadcrumb{font-size:12px;color:#71828c;margin-bottom:40px}

.values{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}

.value{padding:40px;border:1px solid #dce5e7;border-radius:6px}

.value.dark{background:var(--ink);color:white}

.value.dark p{color:#c7d6dd}

.value p{line-height:1.9;font-size:15px}

.note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:24px}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}

.step{border-top:2px solid #8eb9e5;padding-top:24px}

.step b{color:#1768bd;font-size:12px}

.step p{font-size:14px;line-height:1.8;color:var(--muted)}

.contactgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}

.field{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}

.field label{font-size:12px;font-weight:700}

.field input,.field select,.field textarea{width:100%;border:1px solid #ccd9de;border-radius:4px;padding:14px;background:white;color:var(--ink)}

.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #86b6e6}

.field textarea{min-height:110px;resize:vertical}

.formrow{display:grid;grid-template-columns:1fr 1fr;gap:18px}

.status{font-size:13px;line-height:1.7;margin-top:18px}

.faq details{border-bottom:1px solid #d9e3e5;padding:23px 0}

.faq summary{cursor:pointer;font-weight:600;font-size:15px}

.faq p{color:var(--muted);font-size:14px;line-height:1.85;max-width:800px}

footer{background:#0e293b;color:#c3d0d7;padding:65px 0 25px}

.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}

.footgrid .brand{color:white}

.footgrid p{font-size:13px;line-height:1.9;max-width:360px}

.footgrid h4{font-size:11px;letter-spacing:2px;color:#9ac8f4}

.footgrid a{display:block;margin:13px 0;font-size:13px}

.copyright{border-top:1px solid #ffffff15;margin-top:45px;padding-top:23px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.5px}

.reveal{animation:arrive .6s ease both}

@keyframes arrive{

from{opacity:0;transform:translateY(12px)}

to{opacity:1;transform:translateY(0)}}

@media(max-width:900px){

.wrap{padding:0 24px}

.links{gap:14px}

.nav .btn{display:none}

.hero-grid{gap:30px}

.hero-visual{height:400px}

.split{gap:35px}

.cards{gap:12px}

.card{padding:24px}

.contactgrid{gap:35px}}

@media(max-width:680px){

.top .wrap span:last-child{display:none}

.nav{height:75px}

.menu{display:block}

.links{display:none;position:absolute;top:75px;left:0;right:0;background:white;padding:25px;box-shadow:0 20px 30px #0001}

.links.open{display:flex;flex-direction:column;align-items:start;gap:23px}

.hero-grid{grid-template-columns:1fr;padding-top:45px;padding-bottom:35px}

.hero-visual{height:320px;margin:10px 0 20px 15px}

.hero-bottom{gap:14px;flex-wrap:wrap;font-size:10px}

h1{letter-spacing:-1.8px}

.cards,.split,.locations,.values,.contactgrid{grid-template-columns:1fr}

.steps{grid-template-columns:1fr 1fr}

section{padding:60px 0}

.section-head{display:block}

.photo{height:320px}

.cta{padding:32px;display:block}

.cta .btn{margin-top:15px}

.footgrid{grid-template-columns:1fr 1fr;gap:20px}

.footgrid>div:first-child{grid-column:1/-1}

.pagehead{padding:42px 0}

.pagehead h1{font-size:38px}

.formrow{grid-template-columns:1fr;gap:0}

.copyright{gap:20px;line-height:1.6}

.image-label{left:-15px;padding:18px 23px}}



.btn:hover{background:#0a4a8d;color:white}

.btn.outline:hover{background:#eaf3fc;color:#112f45}

.hero .btn.outline:hover{background:#fff;color:#112f45}

.brand{display:flex;flex-direction:column;align-items:center;flex-shrink:0}

.brand-logo{width:115px;height:78px;object-fit:contain}

.brand small{font-size:8px;letter-spacing:1.6px;margin-top:0}

.nav{height:112px}

footer .brand{align-items:flex-start}

footer .brand-logo{background:#fff;border-radius:6px;padding:9px;width:160px;height:120px}

footer .brand small{margin-top:10px}

.code-link{font-size:11px;text-decoration:underline;text-underline-offset:4px}


@media(max-width:680px){

.nav{height:97px}

.links{top:97px}

.brand-logo{width:108px;height:72px}}



.hero-bottom b{color:#a8d4ff}


a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #6aabe8;outline-offset:5px}


.home-intro{border-bottom:1px solid #e1e9ef;padding:65px 0}

.home-services{grid-template-columns:repeat(2,1fr)}

.home-services .card{padding:38px}

.infrastructure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

.detail-number{display:inline-block;color:#6e98bf;font-size:12px;letter-spacing:2px;margin-bottom:12px}

.product-list article{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid #dbe5ed}

.product-list article>span{font-size:12px;color:#367bb8;padding-top:7px}

.product-list h3{margin:0 0 8px}

.product-list p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}

.office-panel{padding:38px;background:white;border:1px solid #d7e3ed;border-radius:6px}

.commercial-strip{background:#eaf3fc}

.commercial-strip>.wrap{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:60px}

.commercial-strip h2{font-size:30px}

.commercial-strip p{font-size:14px;line-height:1.8;color:var(--muted)}

.commercial-links{display:flex;flex-direction:column;align-items:flex-start;gap:20px}

.commercial-links>a:not(.btn){font-size:16px;font-weight:600;color:#145a9c}

.hero-visual img{object-position:center}

.home-intro h2{font-size:36px}

@media(max-width:900px){

.infrastructure-grid{grid-template-columns:1fr 1fr}}

@media(max-width:680px){

.home-services,.infrastructure-grid,.commercial-strip>.wrap{grid-template-columns:1fr}

.home-services .card{padding:28px}

.commercial-strip>.wrap{gap:25px}

.home-intro h2{font-size:29px}}


footer .brand-logo{background:transparent;border-radius:0;padding:0;filter:brightness(0) invert(1);width:190px;height:142px;object-fit:contain}


.certificate-aside{display:flex;flex-direction:column;align-items:center;gap:24px;flex-shrink:0}

.certificate-marks{display:flex;gap:24px;justify-content:center}

.certificate-marks>div{display:flex;flex-direction:column;align-items:center;gap:9px}

.certificate-marks img{width:112px;height:112px;object-fit:contain}

.certificate-marks span{font-size:10px;color:#526d81;text-align:center;max-width:140px}

@media(max-width:680px){

.certificate-aside{margin-top:30px}

.certificate-marks img{width:100px;height:100px}}


.team-banner{position:relative;background:#112f45}

.team-banner>img{display:block;width:100%;height:440px;object-fit:cover;object-position:center 58%;filter:brightness(.75)}

.team-caption{position:absolute;bottom:40px;left:max(24px,calc((100% - 1152px)/2));color:white;text-shadow:0 2px 12px #0008}

.team-caption span{font-size:11px;letter-spacing:2px}

.team-caption strong{display:block;font-family:Manrope,sans-serif;font-size:36px;line-height:1.2;margin-top:13px}

.certificate-marks .all-certificates{width:390px;height:auto;max-width:100%;object-fit:contain}

.contact-official{display:flex;flex-direction:column;gap:18px;margin-top:30px;font-size:15px}

.quote-float{position:fixed;bottom:24px;right:24px;z-index:30;padding:16px 22px;border:1px solid #ffffff50;background:#145fa8;color:white;border-radius:40px;box-shadow:0 8px 25px #0d345c40;font:600 13px 'DM Sans',sans-serif;cursor:pointer}

.quote-float:hover{background:#104b87;transform:translateY(-3px)}

.quote-dialog{border:0;border-radius:12px;width:min(620px,calc(100% - 32px));padding:32px;max-height:90dvh;overflow-y:auto;color:var(--ink);box-shadow:0 25px 100px #0004}

.quote-dialog::backdrop{background:#08283eb0;backdrop-filter:blur(4px)}

.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}

.dialog-top h2{font-size:27px;margin-bottom:24px}

.close-quote{background:#edf4fa;color:#163d5d;border:0;border-radius:50%;width:34px;height:34px;font-size:25px;cursor:pointer}

.status a{color:#145fa8;text-decoration:underline}

.quote-dialog .note{margin-top:15px}

.quote-dialog .field textarea{min-height:95px}

@media(max-width:680px){

.team-banner>img{height:350px;object-fit:contain;filter:brightness(.7)}

.team-caption{bottom:20px}

.team-caption strong{font-size:25px}

.certificate-marks .all-certificates{width:100%;max-width:390px}

.quote-float{bottom:16px;right:16px;padding:13px 18px}

.quote-dialog{padding:24px}

.dialog-top h2{font-size:24px}}


.seal-window{display:block;position:relative;width:150px;height:150px;overflow:hidden;flex-shrink:0}

.seal-window>img{position:absolute!important;top:0;width:300%!important;max-width:none!important;height:100%!important;object-fit:fill!important}

.equal-seals{display:flex;gap:22px;align-items:start}

.equal-seals>div{display:flex;flex-direction:column;align-items:center;gap:12px}

.equal-seals>div>span:last-child{font-size:11px;color:#526d81;text-align:center}

.equal-seals .seal-window{width:112px;height:112px}

.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

.certificate-card{border:1px solid #d4e1eb;border-radius:8px;overflow:hidden;background:white;transition:transform .25s,box-shadow .25s}

.certificate-card:hover{transform:translateY(-7px);box-shadow:0 18px 45px #113c6414}

.cert-art{height:235px;background:#f4f8fb;position:relative;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #d4e1eb}

.cert-number{position:absolute;left:24px;top:23px;font-size:10px;letter-spacing:1.3px;color:#7793a9}

.cert-art .seal-window{filter:drop-shadow(0 8px 8px #70490022)}

.cert-copy{padding:29px}

.cert-copy h3{font-size:28px;color:#075b9e;margin:24px 0 12px}

.cert-copy h4{font-size:14px;line-height:1.6;min-height:45px;margin:0 0 20px}

.cert-copy p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}

.service-quote{margin-top:28px}

@media(max-width:900px){

.equal-seals{gap:12px}

.equal-seals .seal-window{width:90px;height:90px}

.cert-grid{gap:14px}

.cert-copy{padding:23px}}

@media(max-width:680px){

.cert-grid{grid-template-columns:1fr}

.cert-art{height:220px}

.equal-seals{gap:12px}

.equal-seals .seal-window{width:86px;height:86px}

.equal-seals>div>span:last-child{max-width:90px;font-size:10px}}


.location .cover>img{width:100%;height:100%;object-fit:cover;object-position:center}

.location .cover:after{display:none}

.location .cover>span{background:#10334bdb;padding:9px 13px;bottom:15px;left:15px;letter-spacing:1.5px}

.editable-seal{display:block;width:150px;height:150px;flex-shrink:0}

.editable-seal img{width:100%;height:100%;object-fit:contain}

.mission-vision{gap:32px}

.mission-vision .value{background:#fff;color:var(--ink);border:1px solid #e4ebf2;border-left:3px solid #1569bb;border-radius:0;padding:30px 32px}

.mission-vision .value .icon{display:none}

.mission-vision .value h3{text-transform:uppercase;color:#075da8;font-size:18px;margin:0 0 14px}

.mission-vision .value p{color:#526c80;font-size:14px;line-height:1.85;margin:0}


.office-hero{padding:0;position:relative;background:#11354e;color:white;min-height:490px;display:flex;align-items:center}.office-hero>img{position:absolute;right:0;top:0;width:70%;height:100%;object-fit:cover}.office-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a304d 20%,#0a304df2 40%,#0a304d00 85%)}.office-hero>.wrap{position:relative;z-index:1;width:100%;padding-top:55px;padding-bottom:55px}.office-hero-copy{max-width:590px}.office-hero h1{font-size:52px}.office-hero p{max-width:475px;color:#d4e6f3;line-height:1.8;font-size:15px}.office-hero .eyebrow{color:#acd5ff}

.office-benefits{background:#edf6fc;padding:30px 0}.office-benefits>.wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.office-benefits strong{display:block;color:#0b60a3;font-size:14px}.office-benefits span{display:block;font-size:12px;line-height:1.7;color:#5b7487;margin-top:8px}.office-feature-photo{width:100%;height:320px;object-fit:cover;border-radius:9px}

.office-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.office-feature-grid .card{padding:24px}.office-feature-grid h3{font-size:17px}.office-feature-index{font-size:12px;color:#3a7cad}.office-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.office-gallery img{width:100%;height:230px;object-fit:cover;border-radius:8px}.links{gap:18px}.nav{gap:20px}

@media(max-width:900px){.nav .btn{display:none}.links{gap:14px}.office-feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.office-hero h1{font-size:40px}.office-hero>img{width:100%;opacity:.35}.office-hero:after{background:#0a304d88}.office-benefits>.wrap{grid-template-columns:1fr 1fr}.office-gallery{grid-template-columns:1fr 1fr;gap:12px}.office-gallery img{height:150px}.office-feature-grid{grid-template-columns:1fr}.office-feature-photo{height:260px}}
