@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Oswald:wght@500;600&display=swap');

:root {
  --navy:#071a2b;
  --navy2:#0c2940;
  --blue:#1685c7;
  --blue2:#0e6da7;
  --white:#ffffff;
  --light:#f3f6f8;
  --text:#20303c;
  --muted:#61727e;
  --line:#dce5ea;
  --max:1180px;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:Inter,Arial,sans-serif; color:var(--text); line-height:1.65; background:#fff; }
a { color:inherit; text-decoration:none; }
.container { width:min(var(--max),92%); margin:auto; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(7,26,43,.97); border-bottom:1px solid rgba(255,255,255,.08); }
.nav-wrap { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand img { width:178px; max-height:64px; object-fit:contain; display:block; }
.nav { display:flex; align-items:center; gap:27px; color:#fff; font-size:14px; font-weight:600; }
.nav a:hover { color:#6fc4ef; }
.nav-cta { border:1px solid rgba(255,255,255,.5); padding:10px 17px; border-radius:4px; }
.menu-toggle { display:none; border:0; background:none; color:#fff; font-size:28px; cursor:pointer; }

.hero { min-height:680px; display:flex; align-items:center; position:relative; overflow:hidden; background:
  radial-gradient(circle at 80% 25%, rgba(22,133,199,.35), transparent 28%),
  linear-gradient(120deg,#061827 0%,#0b2a42 58%,#0d527b 100%); }
.hero:after { content:""; position:absolute; inset:auto -10% -45% 35%; height:70%; background:rgba(255,255,255,.035); transform:rotate(-7deg); }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,17,28,.18),rgba(4,17,28,.02)); }
.hero-content { position:relative; z-index:2; color:#fff; max-width:850px; padding:100px 0; }
.eyebrow { font-size:13px; letter-spacing:2px; font-weight:700; color:#8ed5f7; margin-bottom:18px; }
.eyebrow.dark { color:var(--blue2); }
h1,h2,h3 { font-family:Oswald,Arial,sans-serif; font-weight:600; line-height:1.15; }
h1 { font-size:clamp(44px,6vw,74px); max-width:900px; }
h2 { font-size:clamp(35px,4vw,52px); margin-bottom:20px; color:var(--navy); }
.hero-text { font-size:19px; color:#e0ebf2; max-width:760px; margin:25px 0 32px; }
.hero-buttons { display:flex; flex-wrap:wrap; gap:14px; }
.btn { display:inline-block; border:0; padding:14px 22px; border-radius:4px; font-weight:700; cursor:pointer; font-size:14px; }
.btn-primary { background:var(--blue); color:#fff; }
.btn-primary:hover { background:#0d70aa; }
.btn-outline { border:1px solid rgba(255,255,255,.55); color:#fff; }
.btn-outline:hover { background:#fff; color:var(--navy); }

.trust-strip { background:var(--navy2); color:#fff; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-grid div { padding:28px 20px; border-right:1px solid rgba(255,255,255,.1); text-align:center; }
.trust-grid div:last-child { border-right:0; }
.trust-grid strong { display:block; font-family:Oswald; font-size:34px; color:#73c8ef; }
.trust-grid span { font-size:12px; text-transform:uppercase; letter-spacing:1px; color:#c4d3dc; }

.section { padding:100px 0; }
.section-light { background:var(--light); }
.two-col { display:grid; grid-template-columns:1.25fr .75fr; gap:70px; align-items:center; }
.section p { margin-bottom:17px; color:var(--muted); }
.section-intro { max-width:760px; font-size:17px; margin-bottom:35px; }
.about-card { background:linear-gradient(145deg,var(--navy),var(--navy2)); padding:9px; box-shadow:0 18px 45px rgba(7,26,43,.15); }
.about-card-inner { border:1px solid rgba(255,255,255,.18); padding:42px 38px; color:#fff; }
.card-label { color:#73c8ef; font-size:12px; letter-spacing:2px; font-weight:700; }
.about-card h3 { font-size:37px; margin:12px 0 25px; }
.about-card li { list-style:none; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.12); color:#dbe7ee; font-size:14px; }
.about-card li:last-child { border-bottom:0; }

.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:35px; }
.service-card { background:#fff; border:1px solid var(--line); padding:31px; min-height:230px; transition:.25s; }
.service-card:hover { transform:translateY(-5px); box-shadow:0 12px 30px rgba(7,26,43,.09); border-color:#a9d9ee; }
.service-card span { color:var(--blue); font-weight:700; font-size:12px; letter-spacing:1px; }
.service-card h3 { font-size:25px; color:var(--navy); margin:18px 0 12px; }
.service-card p { font-size:14px; margin:0; }

.industry-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:35px; }
.industry-card { min-height:220px; background:var(--navy); padding:31px; color:#fff; position:relative; overflow:hidden; }
.industry-card:after { content:""; position:absolute; width:90px; height:90px; right:-30px; bottom:-30px; border:18px solid rgba(22,133,199,.28); border-radius:50%; }
.industry-card h3 { font-size:28px; margin-bottom:14px; }
.industry-card p { color:#c8d8e2; font-size:14px; position:relative; z-index:2; }

.experience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:35px; }
.experience-card { background:#fff; border:1px solid var(--line); padding:35px; }
.experience-card .number { font-family:Oswald; font-size:40px; color:#a7cddd; }
.experience-card h3 { color:var(--navy); font-size:27px; margin:8px 0 12px; }
.experience-card p { font-size:14px; }

.hse-section { background:linear-gradient(120deg,var(--navy),#0b3958); color:#fff; }
.hse-section h2 { color:#fff; }
.hse-section p { color:#cbdbe5; max-width:650px; }
.check-list { display:grid; gap:12px; }
.check-list div { padding:15px 18px; background:rgba(255,255,255,.07); border-left:3px solid #6fc4ef; color:#e6f0f5; }

.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.contact-details { margin-top:28px; }
.contact-details a { color:var(--blue2); font-weight:600; }
.contact-form { background:var(--light); padding:34px; border:1px solid var(--line); }
.contact-form label { display:block; font-size:13px; font-weight:700; color:var(--navy); margin-bottom:16px; }
.contact-form input,.contact-form textarea { width:100%; margin-top:7px; border:1px solid #cfdbe2; padding:12px; font:inherit; background:#fff; border-radius:3px; }
.contact-form textarea { resize:vertical; }
.form-note { font-size:11px; color:var(--muted); margin-top:12px; }

.site-footer { background:#04131f; color:#aebfca; padding:45px 0 20px; }
.footer-grid { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.footer-logo { width:160px; max-height:55px; object-fit:contain; }
.footer-grid p { font-size:11px; letter-spacing:1.2px; margin-top:8px; }
.footer-contact { display:flex; gap:22px; align-items:center; flex-wrap:wrap; justify-content:flex-end; font-size:12px; }
.footer-contact a { color:#8ed5f7; }
.disclaimer { border-top:1px solid rgba(255,255,255,.08); margin-top:28px; padding-top:16px; font-size:10px; color:#748894; }

@media (max-width:900px) {
  .nav { gap:15px; }
  .service-grid,.experience-grid { grid-template-columns:repeat(2,1fr); }
  .industry-grid { grid-template-columns:repeat(2,1fr); }
  .two-col,.contact-grid { grid-template-columns:1fr; gap:45px; }
}
@media (max-width:700px) {
  .nav { display:none; position:absolute; top:82px; left:0; right:0; background:var(--navy); padding:18px 4%; flex-direction:column; align-items:stretch; }
  .nav.open { display:flex; }
  .nav a { padding:10px 0; }
  .menu-toggle { display:block; }
  .hero { min-height:620px; }
  .hero-content { padding:80px 0; }
  .hero-text { font-size:16px; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .trust-grid div { border-bottom:1px solid rgba(255,255,255,.1); }
  .section { padding:72px 0; }
  .service-grid,.industry-grid,.experience-grid { grid-template-columns:1fr; }
  .footer-grid { flex-direction:column; align-items:flex-start; }
  .footer-contact { justify-content:flex-start; }
}
