﻿:root { --blue:#063b86; --bright:#087bd3; --orange:#ff7400; --ink:#172230; --pale:#eef5fc; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#061f46; font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:94px; max-width:none; margin:auto; padding:0 max(28px,calc((100vw - 1184px)/2)); display:flex; align-items:center; justify-content:space-between; background:#041c3e; color:#d9eaf8; border-bottom:1px solid #ffffff12; }
.brand { background:#eaf4fc; border-radius:12px; padding:2px 12px; }
.brand img { width:126px; height:76px; object-fit:contain; }
nav { display:flex; gap:34px; align-items:center; font-size:14px; font-weight:700; }
nav a:not(.nav-contact):hover { color:var(--bright); }
.nav-contact { background:var(--blue); color:white; padding:14px 23px; border-radius:999px; }
.hero { min-height:680px; background:linear-gradient(125deg,#041c3e 0%,#06356f 54%,#0759a7 100%); display:grid; grid-template-columns:minmax(0,1fr) minmax(500px,1fr); overflow:hidden; }
.hero-copy { padding:96px max(40px,calc((100vw - 1184px)/2)); padding-right:55px; position:relative; z-index:2; }
.eyebrow { text-transform:uppercase; letter-spacing:.15em; font-size:12px; font-weight:800; color:var(--blue); display:flex; align-items:center; gap:10px; }
.hero .eyebrow { color:#b9ddfa; }
.eyebrow span { width:26px; height:3px; background:var(--orange); display:inline-block; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(52px,6vw,86px); line-height:.95; letter-spacing:-.055em; margin:29px 0 30px; max-width:680px; color:white; }
h1 em,h2 em { color:var(--orange); font-style:normal; }
.hero-lead { font-size:19px; line-height:1.65; max-width:600px; color:#d5e8f8; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:37px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:54px; padding:0 24px; border-radius:9px; font-size:14px; font-weight:800; transition:transform .2s,box-shadow .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--orange); color:white; box-shadow:0 12px 28px #ff740035; }
.button-secondary { background:#ffffff12; color:white; border:1px solid #ffffff55; }
.trust-row { display:flex; flex-wrap:wrap; gap:30px; margin-top:35px; font-size:13px; font-weight:700; color:#c7dff2; }
.trust-row span::first-letter { color:var(--bright); }
.hero-art { position:relative; background:#03142e; min-height:680px; overflow:hidden; }
.hero-art:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#06356f 0%,transparent 32%,#03142e22 100%); pointer-events:none; }
.hero-art>img { width:100%; height:100%; object-fit:cover; object-position:center; position:absolute; inset:0; filter:saturate(.9) contrast(1.04); }
.hero-image-label { position:absolute; z-index:2; left:8%; bottom:8%; background:#041c3ed9; color:white; padding:17px 21px; border-left:4px solid var(--orange); display:grid; backdrop-filter:blur(8px); }
.hero-image-label small { color:#9fc8ea; text-transform:uppercase; letter-spacing:.1em; font-size:10px; }
.hero-image-label b { margin-top:5px; font-size:16px; }
.location-chip { position:absolute; z-index:2; right:7%; top:7%; bottom:auto; background:#ff7400e8; border-radius:14px; padding:14px 20px 14px 52px; box-shadow:0 16px 35px #001e4b40; display:grid; color:white; }
.location-chip span { position:absolute; left:21px; top:22px; color:white; }
.location-chip small { font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:#ffe1c8; }
.location-chip b { color:white; font-size:14px; margin-top:3px; }
.image-services { padding:28px max(28px,calc((100vw - 1184px)/2)) 100px; background:#061f46; display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:18px; }
.image-service { min-height:430px; position:relative; overflow:hidden; border-radius:22px; background:#03152f; }
.image-service img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform .45s ease; }
.image-service:hover img { transform:scale(1.035); }
.image-service:after { content:""; position:absolute; inset:30% 0 0; background:linear-gradient(transparent,#020e20f5); }
.image-service>div { position:absolute; z-index:2; left:28px; right:28px; bottom:26px; color:white; }
.image-service span { color:var(--orange); font-size:11px; font-weight:900; }
.image-service h3 { font-size:23px; margin:10px 0 8px; }
.image-service p { color:#bcd2e6; line-height:1.55; font-size:13px; margin:0; }
.services { padding:110px max(28px,calc((100vw - 1184px)/2)); background:linear-gradient(180deg,#061f46 0%,#052a58 100%); color:white; }
.services .eyebrow { color:#7fc5fa; }
.services .section-heading h2 { color:white; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:55px; }
.section-heading h2,.about h2,.contact h2 { font-size:clamp(38px,4.5vw,64px); line-height:1.02; letter-spacing:-.045em; color:var(--blue); margin:22px 0 0; }
.section-heading>p { max-width:430px; line-height:1.7; color:#aec9df; margin-bottom:4px; }
.service-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.service-card { grid-column:span 2; padding:32px; min-height:280px; border:1px solid #ffffff16; border-radius:20px; background:linear-gradient(145deg,#0a4c91,#062f61); color:white; display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s; box-shadow:0 14px 30px #00142b45; }
.service-card:nth-child(4) { grid-column:2/span 2; }
.service-card:hover { transform:translateY(-5px); box-shadow:0 20px 45px #073a8515; }
.service-number { color:var(--orange); font-size:12px; font-weight:800; }
.service-card h3 { font-size:21px; color:white; margin:33px 0 13px; }
.service-card p { line-height:1.65; color:#c2d9ee; font-size:14px; }
.service-card a { margin-top:auto; color:#58b7ff; font-size:13px; font-weight:800; }
.about { background:var(--blue); color:white; padding:100px max(28px,calc((100vw - 1184px)/2)); display:grid; grid-template-columns:.7fr 1.4fr 1fr; gap:70px; align-items:center; }
.about-mark { width:190px; height:190px; border:2px solid #ffffff35; border-radius:50%; display:grid; place-items:center; font-size:62px; font-weight:900; color:#ffffff22; }
.about-mark span { color:var(--orange); }
.eyebrow.light { color:#b7d9f7; }
.about h2 { color:white; }
.about>div:nth-child(2)>p:last-child { color:#bad0e6; line-height:1.7; max-width:560px; }
.about-points p { border-bottom:1px solid #ffffff20; padding:0 0 20px 36px; margin-bottom:24px; color:#bad0e6; line-height:1.6; position:relative; }
.about-points p:before { content:"âœ“"; position:absolute; left:0; color:var(--orange); font-weight:900; }
.about-points b { color:white; }
.contact { padding:110px 28px; text-align:center; background:linear-gradient(135deg,#082d61,#064d92); }
.contact .eyebrow { justify-content:center; }
.contact h2 { margin:24px auto; color:white; }
.contact .eyebrow { color:#b9ddfa; }
.contact>p:not(.eyebrow) { color:#c8dff3; font-size:18px; }
.contact-actions { display:flex; align-items:center; justify-content:center; gap:30px; margin-top:38px; }
.contact-phone { text-align:left; color:#bed7ed; font-size:12px; }
.contact-phone strong { color:white; font-size:18px; }
footer { min-height:112px; padding:22px max(28px,calc((100vw - 1184px)/2)); display:flex; align-items:center; gap:35px; color:#aec8df; font-size:12px; background:#061f46; }
footer img { background:#e8f3fc; border-radius:10px; padding:4px; }
footer img { width:88px; height:64px; object-fit:contain; }
footer p:last-child { margin-left:auto; }
:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }

@media (max-width:900px) {
  .hero { grid-template-columns:1fr; }
  .hero-copy { padding:72px 28px; }
  .hero-art { min-height:500px; clip-path:polygon(0 9%,100% 0,100% 100%,0 100%); }
  .image-services { grid-template-columns:1fr 1fr; }
  .image-service-main { grid-column:1/-1; }
  .section-heading { align-items:start; flex-direction:column; }
  .service-card { grid-column:span 3; }
  .service-card:nth-child(4) { grid-column:span 3; }
  .about { grid-template-columns:1fr 2fr; }
  .about-points { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
}
@media (max-width:620px) {
  .site-header { height:82px; }
  .brand img { width:100px; height:65px; }
  nav a:not(.nav-contact) { display:none; }
  .nav-contact { padding:12px 17px; }
  .hero-copy { padding-top:58px; }
  h1 { font-size:53px; }
  .hero-actions,.contact-actions { flex-direction:column; align-items:stretch; }
  .button { width:100%; }
  .hero-art { min-height:410px; }
  .location-chip { right:18px; top:42px; }
  .image-services { grid-template-columns:1fr; padding-bottom:70px; }
  .image-service-main { grid-column:auto; }
  .image-service { min-height:390px; }
  .services,.contact { padding-top:78px; padding-bottom:78px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card,.service-card:nth-child(4) { grid-column:auto; min-height:245px; }
  .about { grid-template-columns:1fr; gap:38px; padding-top:75px; padding-bottom:75px; }
  .about-mark { width:120px; height:120px; font-size:42px; }
  .about-points { grid-column:auto; grid-template-columns:1fr; }
  .contact-phone { text-align:center; }
  footer { flex-wrap:wrap; justify-content:center; gap:12px 22px; text-align:center; }
  footer p:last-child { margin-left:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

