
:root { --navy:#001a30; --navy2:#002640; --gold:#d88d1b; --white:#f5f7fa; --mist:#d5dee7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--navy); }
body { margin:0; background:var(--navy); color:var(--white); font-family:Montserrat,Arial,Helvetica,sans-serif; }
a { color:inherit; }
.shell { width:min(1420px,calc(100% - 64px)); margin:0 auto; }
.topbar { height:90px; background:#00182d; display:flex; align-items:center; }
.topbar .shell { display:flex; align-items:center; }
.brand { width:225px; height:78px; object-fit:cover; object-position:left center; }
.hero { min-height:448px; position:relative; overflow:hidden; background:#001a30; }
.hero-photo { position:absolute; inset:0 0 0 34%; background:url('/assets/hero-energy.jpg') center/cover no-repeat; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#001a30 0%,#001a30 27%,rgba(0,26,48,.88) 39%,rgba(0,26,48,.08) 70%); }
.hero-inner { position:relative; z-index:1; min-height:448px; display:flex; align-items:center; }
.hero-copy { width:min(560px,48%); padding:42px 0; }
.eyebrow { margin:0 0 16px; color:var(--gold); font-size:16px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(46px,4vw,66px); line-height:1.08; letter-spacing:-.03em; }
.lead { max-width:520px; margin:22px 0 0; color:#edf2f6; font-size:21px; line-height:1.45; }
.business { padding:28px 0 12px; background:linear-gradient(180deg,#002846 0%,#001a30 82%); }
.section-heading { max-width:850px; margin:0 auto 24px; text-align:center; }
.section-heading h2,.contact h2 { margin:0; text-transform:uppercase; font-size:28px; letter-spacing:.04em; }
.gold-line { display:block; width:195px; height:3px; margin:8px auto 10px; background:var(--gold); }
.section-heading p { margin:0; color:var(--mist); font-size:17px; line-height:1.45; }
.sector-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.sector-card { overflow:hidden; border-bottom:2px solid var(--gold); border-radius:10px 10px 4px 4px; background:#00172b; box-shadow:0 12px 28px rgba(0,0,0,.18); }
.sector-card img { display:block; width:100%; aspect-ratio:2.28/1; object-fit:cover; }
.sector-name { min-height:62px; display:flex; align-items:center; justify-content:center; gap:14px; }
.sector-name span { color:var(--gold); font-size:28px; }
.sector-name h3 { margin:0; text-transform:uppercase; font-size:23px; letter-spacing:.03em; }
.contact { padding:18px 0 8px; text-align:center; }
.contact h2 { font-size:24px; }
.contact h2::before { content:""; display:inline-block; width:14px; height:14px; margin-right:14px; border:2px solid var(--gold); border-radius:50%; vertical-align:2px; }
.contact-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 30px; margin-top:12px; }
.contact-links a { position:relative; text-decoration:none; color:#eef3f7; font-size:17px; transition:color .2s ease; }
.contact-links a:not(:last-child)::after { content:"•"; position:absolute; right:-19px; color:var(--gold); }
.contact-links a:hover,.contact-links a:focus-visible { color:var(--gold); }
.location { margin:8px 0 0; font-size:16px; letter-spacing:.08em; }
footer { border-top:1px solid var(--gold); padding:16px 20px 18px; text-align:center; text-transform:uppercase; color:#e7edf2; font-size:13px; letter-spacing:.18em; }

@media (max-width:900px) {
  .shell { width:min(100% - 36px,720px); }
  .topbar { height:78px; }
  .brand { width:190px; height:66px; }
  .hero,.hero-inner { min-height:590px; }
  .hero-photo { inset:0; background-position:62% center; }
  .hero::after { background:linear-gradient(180deg,rgba(0,26,48,.36),#001a30 77%); }
  .hero-inner { align-items:flex-end; }
  .hero-copy { width:100%; padding:210px 0 42px; }
  h1 { font-size:clamp(42px,9vw,62px); }
  .sector-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px) {
  .shell { width:calc(100% - 28px); }
  .hero,.hero-inner { min-height:620px; }
  .hero-copy { padding-bottom:32px; }
  .eyebrow { font-size:13px; }
  .lead { font-size:18px; }
  .sector-grid { grid-template-columns:1fr; }
  .section-heading h2 { font-size:24px; }
  .contact-links { flex-direction:column; gap:8px; }
  .contact-links a:not(:last-child)::after { display:none; }
  footer { font-size:10px; line-height:1.6; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
