:root {
  --ink: #111820;
  --ink-2: #17212b;
  --steel: #66717d;
  --silver: #aeb6bd;
  --silver-light: #edf1f4;
  --mist: #f3f6f8;
  --line: #d9e0e5;
  --white: #ffffff;
  --brand-blue: #0b478f;
  --brand-blue-dark: #06356f;
  --brand-blue-bright: #0d63bd;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(17,24,32,.10);
  box-shadow: 0 6px 22px rgba(17,24,32,.06);
  backdrop-filter: blur(16px);
}
.nav-wrap { height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; min-width: 190px; }
.brand-logo-frame {
  width: 175px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: transparent;
}
.brand-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}
.nav-links { display: flex; align-items: center; gap: 28px; color: #34414d; font-size: 14px; }
.nav-links > a:not(.button) { position: relative; }
.nav-links > a:not(.button)::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:2px; background:var(--brand-blue); transition:.25s; }
.nav-links > a:not(.button):hover { color: var(--brand-blue); }
.nav-links > a:not(.button):hover::after { right:0; }
.nav-toggle { display:none; background:none; border:0; padding:8px; }
.nav-toggle span { display:block; width:25px; height:2px; background:var(--ink); margin:5px 0; }

.button {
  display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px;
  border:1px solid var(--brand-blue); background:var(--brand-blue); color:white;
  font-weight:700; letter-spacing:.01em; cursor:pointer; transition:.2s ease;
  box-shadow: 0 8px 22px rgba(11,71,143,.18);
}
.button:hover { transform: translateY(-2px); background:var(--brand-blue-bright); border-color:var(--brand-blue-bright); }
.button-small { min-height:42px; padding-inline:17px; }
.button-ghost { background:transparent; color:white; border-color:rgba(255,255,255,.32); box-shadow:none; }
.button-ghost:hover { background:white; color:var(--brand-blue-dark); border-color:white; }
.button-light { background:white; border-color:white; color:var(--brand-blue-dark); }

.hero {
  min-height: 820px; display:flex; align-items:center; position:relative; overflow:hidden;
  color:white;
  background:
    radial-gradient(circle at 83% 22%, rgba(13,99,189,.24), transparent 32%),
    linear-gradient(135deg, #0b1117 0%, #162431 50%, #0a1016 100%);
  padding: 158px 0 74px;
}
.hero::after {
  content:""; position:absolute; inset:auto 0 0 0; height:7px;
  background:linear-gradient(90deg,var(--brand-blue-dark),var(--brand-blue-bright),#bfc5ca,var(--brand-blue));
}
.hero-grid { position:absolute; inset:0; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,black,transparent 88%); }
.hero-glow { position:absolute; border-radius:50%; filter:blur(24px); opacity:.25; }
.hero-glow-one { width:500px; height:500px; background:#0b4f9d; right:-170px; top:50px; }
.hero-glow-two { width:330px; height:330px; background:#8b969f; left:-120px; bottom:-20px; }
.hero-content { position:relative; z-index:2; display:grid; grid-template-columns:1.18fr .82fr; gap:64px; align-items:center; }
.eyebrow { font-family:"Barlow Condensed", sans-serif; font-weight:700; font-size:14px; letter-spacing:.2em; color:#8fc3f4; }
.eyebrow.dark { color:var(--brand-blue); }
.hero h1, .section h2, .cta-section h2 { font-family:"Barlow Condensed", sans-serif; margin:14px 0 18px; line-height:.95; letter-spacing:-.02em; }
.hero h1 { font-size:clamp(58px,7.2vw,98px); max-width:880px; }
.hero h1 span { color:#9dc9ef; text-shadow:0 0 24px rgba(13,99,189,.18); }
.hero-copy > p { max-width:720px; color:#c5ced5; font-size:18px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:32px; }
.hero-metrics { display:flex; gap:34px; flex-wrap:wrap; margin-top:44px; padding-top:28px; border-top:1px solid rgba(255,255,255,.12); }
.hero-metrics div { display:flex; flex-direction:column; }
.hero-metrics strong { font:700 28px/1 "Barlow Condensed", sans-serif; color:white; }
.hero-metrics span { margin-top:7px; color:#95a1aa; font-size:12px; text-transform:uppercase; letter-spacing:.09em; }

.hero-panel { background:rgba(12,19,25,.84); border:1px solid rgba(255,255,255,.16); box-shadow:0 28px 80px rgba(0,0,0,.38); backdrop-filter:blur(16px); }
.hero-logo-card { height:265px; background:#fff; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:18px 26px; border-bottom:1px solid #d7dde1; }
.hero-logo-card img { width:100%; height:100%; object-fit:contain; object-position:center; }
.panel-topline { height:4px; background:linear-gradient(90deg,var(--brand-blue-dark),var(--brand-blue-bright),#cbd0d4); }
.panel-header,.panel-footer { display:flex; justify-content:space-between; gap:20px; padding:18px 20px; color:#8f9ba5; font-size:10px; letter-spacing:.16em; }
.panel-header { border-bottom:1px solid rgba(255,255,255,.09); }
.panel-footer { border-top:1px solid rgba(255,255,255,.09); }
.status { color:#b9c6cf; }.status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#69c281;margin-right:6px;box-shadow:0 0 12px #69c281;}
.matrix-row { display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:14px; padding:19px 20px; border-bottom:1px solid rgba(255,255,255,.07); }
.matrix-row:last-child{border-bottom:0}.matrix-row span{font-family:"Barlow Condensed";color:#64717c}.matrix-row strong{font-size:14px}.matrix-row em{font-style:normal;color:#8fc3f4;font-size:10px;text-transform:uppercase;letter-spacing:.12em}

.trust-strip { background:#f4f7f9; border-bottom:1px solid var(--line); }
.trust-grid { min-height:72px; display:grid; grid-template-columns:repeat(5,1fr); align-items:center; text-align:center; color:#65727c; font:700 12px/1 "Barlow Condensed",sans-serif; text-transform:uppercase; letter-spacing:.14em; }
.trust-grid span+span { border-left:1px solid #d6dde1; }

.section { padding:110px 0; }
.section-heading { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:end; margin-bottom:54px; }
.section-heading h2 { font-size:clamp(44px,5vw,68px); margin-bottom:0; }
.section-heading p { margin:0; color:var(--steel); max-width:540px; }
.section-heading.light p { color:#9eaab4; }
.section-dark { background:linear-gradient(145deg,#111820,#162430); color:white; }

.services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.service-card { position:relative; padding:36px; background:linear-gradient(180deg,#fbfcfd,#f3f6f8); border:1px solid #e0e6ea; min-height:390px; overflow:hidden; transition:.25s ease; }
.service-card::after { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:linear-gradient(var(--brand-blue-bright),var(--brand-blue-dark)); opacity:.72; }
.service-card:hover { transform:translateY(-4px); border-color:#bfcbd3; box-shadow:0 18px 50px rgba(23,33,43,.09); }
.service-number { position:absolute; top:20px; right:24px; color:#c7cdd2; font:700 56px/1 "Barlow Condensed",sans-serif; }
.service-icon { width:54px; height:54px; display:grid; place-items:center; border:1px solid #c7d0d6; color:var(--brand-blue); font-size:24px; background:white; box-shadow:inset 0 -8px 20px rgba(174,182,189,.12); }
.service-card h3 { font:700 30px/1.1 "Barlow Condensed",sans-serif; margin:25px 0 12px; }
.service-card p { color:#64707a; max-width:520px; }
.service-card ul { padding:0; margin:25px 0 0; list-style:none; display:grid; gap:8px; }
.service-card li { position:relative; padding-left:18px; font-size:14px; color:#39454f; }
.service-card li::before { content:""; position:absolute; left:0; top:.72em; width:7px; height:2px; background:var(--brand-blue); }

.industry-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(255,255,255,.1); }
.industry-card { min-height:290px; padding:30px; border-right:1px solid rgba(255,255,255,.1); background:linear-gradient(180deg,rgba(255,255,255,.025),transparent); }
.industry-card:last-child{border-right:0}.industry-card span{color:#8fc3f4;font:700 13px/1 "Barlow Condensed",sans-serif;letter-spacing:.12em}.industry-card h3{font:700 26px/1.05 "Barlow Condensed",sans-serif;margin:74px 0 14px}.industry-card p{color:#9aa6af;font-size:14px;}

.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:78px; align-items:center; }
.brand-showcase { position:relative; min-height:510px; background:#101820; color:white; overflow:hidden; border:1px solid #243441; box-shadow:0 30px 70px rgba(23,33,43,.16); padding:66px 42px 42px; display:flex; flex-direction:column; justify-content:center; }
.brand-showcase-grid { position:absolute; inset:0; opacity:.7; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px; }
.brand-showcase::before { content:""; position:absolute; width:420px; height:420px; border-radius:50%; background:rgba(11,71,143,.18); filter:blur(10px); right:-160px; top:-150px; }
.brand-showcase-label { position:absolute; top:24px; left:28px; color:#7f91a0; font:600 11px/1 "Barlow Condensed"; letter-spacing:.18em; z-index:2; }
.brand-showcase-logo { position:relative; z-index:2; background:#fff; border:1px solid rgba(255,255,255,.35); box-shadow:0 22px 50px rgba(0,0,0,.28); padding:8px; }
.brand-showcase-logo img { width:100%; }
.brand-showcase-caption { position:relative; z-index:2; text-align:center; margin-top:22px; color:#aab7c1; font-size:10px; letter-spacing:.22em; }
.about-copy h2 { font:700 clamp(44px,5vw,66px)/.98 "Barlow Condensed",sans-serif; margin:14px 0 22px; }
.about-copy > p { color:#68737c; font-size:17px; }
.principles { margin-top:32px; border-top:1px solid var(--line); }
.principles div { display:grid; grid-template-columns:42px 1fr; gap:14px; padding:18px 0; border-bottom:1px solid var(--line); }
.principles strong { font:700 14px/1.6 "Barlow Condensed",sans-serif; color:var(--brand-blue); }.principles span{color:#58646e}.principles b{color:#202b34}

.cta-section { padding:0 0 110px; }
.cta-card { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:48px 54px; background:linear-gradient(110deg,#083d7a,#0e62b9 58%,#7f8a93); color:white; box-shadow:0 22px 55px rgba(11,71,143,.20); }
.cta-card .eyebrow { color:#c7e2fb; }.cta-card h2{font-size:58px;margin:10px 0 8px}.cta-card p{margin:0;max-width:700px;color:#dbe8f4}

.contact-section { background:#f3f6f8; border-top:1px solid var(--line); }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; }
.contact-copy h2 { font:700 clamp(48px,5vw,68px)/.98 "Barlow Condensed",sans-serif; margin:14px 0 20px; }
.contact-copy p { color:#68747d; }
.contact-note { margin-top:34px; padding:22px; border-left:3px solid var(--brand-blue); background:white; display:flex; flex-direction:column; box-shadow:0 10px 28px rgba(17,24,32,.05); }
.contact-note strong { font-family:"Barlow Condensed"; font-size:22px; }.contact-note span{font-size:12px;color:#7a858d;margin-top:5px;text-transform:uppercase;letter-spacing:.08em}
.contact-form { padding:32px; background:white; border:1px solid #dfe5e9; box-shadow:0 18px 50px rgba(24,34,43,.07); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-form label { display:grid; gap:7px; margin-bottom:16px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#4d5861; }
.contact-form input,.contact-form textarea,.contact-form select { width:100%; border:1px solid #cfd7dc; background:#fbfcfc; padding:13px 14px; outline:none; color:#1d2830; text-transform:none; letter-spacing:normal; font-weight:400; transition:.2s; }
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus { border-color:var(--brand-blue); box-shadow:0 0 0 3px rgba(11,71,143,.11); }
.form-message { min-height:24px; margin:12px 0 0; font-size:13px; color:#59656e; }

.site-footer { background:#0a1016; color:#b5c0c8; padding:48px 0 22px; }
.footer-grid { display:grid; grid-template-columns:310px 1fr auto; gap:40px; align-items:center; padding-bottom:38px; }
.footer-logo-wrap { display:flex; align-items:center; justify-content:center; width:190px; height:124px; overflow:hidden; background:#fff; padding:8px; }
.footer-logo { width:100%; height:100%; object-fit:contain; }
.footer-grid p { margin:0; text-align:center; color:#788690; font-size:13px; }
.footer-links { display:flex; gap:22px; font-size:13px; }.footer-links a:hover{color:white}
.footer-bottom { padding-top:18px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; gap:20px; font-size:11px; color:#68757e; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}

@media (max-width: 980px) {
  .brand { min-width:0; }
  .brand-logo-frame { width:155px; height:92px; }
  .nav-toggle{display:block}.nav-links{position:absolute;top:112px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:22px;background:#fff;border-top:1px solid rgba(17,24,32,.08);box-shadow:0 18px 30px rgba(17,24,32,.10);color:#34414d}.nav-links.open{display:flex}.nav-links a{padding:8px 0}.hero-content,.section-heading,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-content{gap:44px}.hero{padding-top:170px}.trust-grid{grid-template-columns:repeat(2,1fr);padding:14px 0;gap:8px}.trust-grid span+span{border:0}.services-grid{grid-template-columns:1fr}.industry-grid{grid-template-columns:1fr 1fr}.industry-card:nth-child(2){border-right:0}.industry-card:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}.section-heading{gap:20px}.about-grid{gap:42px}.contact-grid{gap:42px}.cta-card{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;justify-items:start}.footer-grid p{text-align:left}.footer-bottom{flex-direction:column}
}

@media (max-width: 620px) {
  .container{width:min(calc(100% - 28px),var(--max))}.nav-wrap{height:96px}.nav-links{top:96px}.brand-logo-frame{width:130px;height:84px}.hero{min-height:auto;padding:140px 0 60px}.hero h1{font-size:55px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-metrics{gap:20px}.hero-panel{display:block}.hero-logo-card{height:220px;padding:14px 18px}.hero-logo-card img{width:100%;height:100%}.matrix-row{grid-template-columns:30px 1fr}.matrix-row em{display:none}.section{padding:78px 0}.section-heading{margin-bottom:34px}.services-grid{gap:14px}.service-card{padding:28px 24px;min-height:auto}.industry-grid{grid-template-columns:1fr}.industry-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.industry-card:last-child{border-bottom:0}.brand-showcase{min-height:390px;padding:62px 24px 32px}.cta-section{padding-bottom:78px}.cta-card{padding:36px 28px}.cta-card h2{font-size:48px}.form-row{grid-template-columns:1fr}.contact-form{padding:24px}.footer-bottom{font-size:10px}.footer-logo-wrap{width:170px;height:112px}.footer-logo{width:100%;height:100%}
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  .button:hover,.service-card:hover { transform:none; }
}
