:root{
  --navy:#0B2C4A; --ocean:#1A6D8C; --sky:#38BDF8; --green:#22C55E;
  --ink:#0b1220; --muted:#5b6b7c; --line:rgba(2,6,23,.12);
  --r:22px; --max:1200px;
  --shadow: 0 28px 90px rgba(2,6,23,.12);
  --shadow2: 0 14px 38px rgba(2,6,23,.09);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--ink);background:#fff;line-height:1.7}
a{color:inherit;text-decoration:none}
.container{max-width:var(--max);margin:0 auto;padding:0 22px}

header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.78);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:34px;width:auto}
.navlinks{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.navlinks a{font-weight:900;font-size:13px;color:var(--ink)}
.navcta{padding:10px 14px;border-radius:999px;background:linear-gradient(90deg,var(--navy),var(--ocean));color:#fff;font-weight:950;font-size:13px;box-shadow:0 12px 30px rgba(11,44,74,.16)}

h1{margin:0 0 12px;font-size:52px;letter-spacing:-.9px;line-height:1.06;color:var(--navy)}
h2{margin:0 0 10px;font-size:30px;letter-spacing:-.25px;color:var(--navy)}
h3{margin:0 0 8px;font-size:18px}
.lead{margin:0;color:var(--muted);font-size:18px;max-width:980px}
.sublead{margin:0 0 24px;color:var(--muted);max-width:980px}

.eyebrow{display:inline-flex;gap:10px;align-items:center;font-size:12px;font-weight:950;letter-spacing:.22em;text-transform:uppercase;color:rgba(15,23,42,.70)}
.eyebrow:before{content:"";width:18px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--sky),var(--green))}

.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;border:1px solid rgba(11,44,74,.28);font-weight:950;font-size:14px;background:#fff}
.btn.primary{border-color:transparent;background:linear-gradient(90deg,var(--navy),var(--ocean));color:#fff;box-shadow:0 14px 34px rgba(11,44,74,.16)}
.btn.ghost{background:rgba(255,255,255,.72)}

.grid-3{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-2{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}
.grid-4{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow2);position:relative;overflow:hidden}
.card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(56,189,248,.10),rgba(34,197,94,.06),transparent 55%);opacity:.82;pointer-events:none}
.card > *{position:relative}
.card p{margin:0;color:var(--muted)}
.list{margin:12px 0 0;padding-left:18px;color:var(--muted)}
.pillrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.pill{border:1px solid rgba(2,6,23,.10);background:linear-gradient(180deg,rgba(255,255,255,1),rgba(240,249,255,.85));border-radius:999px;padding:8px 12px;font-size:12px;font-weight:950;color:var(--ink)}

.section{padding:92px 0;position:relative}
.section--hero{padding:92px 0 60px;overflow:hidden}
.section--hero:before{content:"";position:absolute;inset:-140px;background:url("bg-hero.svg") center/cover no-repeat;z-index:-2}
.section--hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.90));z-index:-1}
.hero-grid{display:grid;gap:34px;grid-template-columns:1.08fr .92fr;align-items:center}
.hero-card{border:1px solid rgba(11,44,74,.18);border-radius:28px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);box-shadow:var(--shadow);overflow:hidden}
.hero-card img{display:block;width:100%;height:auto}
.hero-card .pad{padding:16px 18px}
.kpirow{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi{border:1px solid rgba(2,6,23,.10);border-radius:16px;padding:12px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(247,250,252,.9))}
.kpi b{display:block;color:var(--navy);font-weight:950}
.kpi span{display:block;margin-top:3px;color:var(--muted);font-size:12px}

.section--texture{background:linear-gradient(180deg,rgba(255,255,255,1),rgba(226,241,255,.88))}
.section--texture:before{content:"";position:absolute;inset:0;background:url("bg-grid.svg") center/cover no-repeat;opacity:.72;z-index:-1}
.section--wave{background:linear-gradient(180deg,rgba(232,246,255,.92),rgba(255,255,255,.92));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section--wave:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:170px;background:url("bg-wave.svg") center/cover no-repeat;pointer-events:none}
.section--dark{background:radial-gradient(900px 520px at 15% 15%,rgba(56,189,248,.20),transparent 62%),radial-gradient(900px 520px at 85% 20%,rgba(34,197,94,.18),transparent 62%),#061523;color:#e5e7eb}
.section--dark h2{color:#fff}
.section--dark .sublead{color:#a8b0bf}
.section--dark .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);box-shadow:none}
.section--dark .card:before{display:none}
.section--dark .card p,.section--dark .list{color:#c2c8d3}
.section--dark .pill{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#fff}

.split{display:grid;gap:22px;grid-template-columns:1.1fr .9fr;align-items:start}
.panel{border:1px solid rgba(11,44,74,.16);border-radius:24px;background:rgba(255,255,255,.92);box-shadow:var(--shadow2);padding:22px}
.panel .mini{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:12px}
.stat{border:1px solid rgba(2,6,23,.10);border-radius:18px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(247,250,252,.9))}
.stat b{display:block;color:var(--navy);font-weight:950}
.stat span{display:block;color:var(--muted);font-size:13px;margin-top:4px}

.quote{border-left:4px solid rgba(56,189,248,.55);background:rgba(56,189,248,.10);border-radius:16px;padding:18px;color:var(--ink)}
.section--dark .quote{background:rgba(255,255,255,.06);color:#fff}

.badge{display:inline-flex;align-items:center;gap:8px;font-weight:950;font-size:12px;padding:8px 12px;border-radius:999px;background:linear-gradient(90deg,rgba(56,189,248,.32),rgba(34,197,94,.22));border:1px solid rgba(2,6,23,.10)}

.contactbox{border:1px solid rgba(11,44,74,.22);border-radius:var(--r);padding:20px;background:rgba(255,255,255,.92);box-shadow:var(--shadow)}
.contactbox__row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:950}
.value{font-weight:950;margin-top:4px}
.note{margin:12px 0 0;color:var(--muted);font-size:14px}

footer{background:#061523;color:#e5e7eb;padding:46px 0}
.footergrid{display:grid;gap:18px;grid-template-columns:1.2fr .8fr}
.small{color:#a3aab7;font-size:14px}
footer a{color:#fff}

@media (max-width:980px){
  h1{font-size:42px}
  .hero-grid{grid-template-columns:1fr}
  .kpirow{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
}

/* --- Photo heroes (v8) --- */
.section.section--hero{position:relative; overflow:hidden;}
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.03);
  filter:saturate(.95) contrast(1.02);
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 520px at 20% 20%, rgba(56,189,248,.22), transparent 62%),
    radial-gradient(900px 520px at 85% 15%, rgba(34,197,94,.18), transparent 62%),
    linear-gradient(180deg, rgba(6,21,35,.38), rgba(6,21,35,.82));
}
.section.section--hero > .container{position:relative; z-index:2;}
.section.section--hero .kicker,
.section.section--hero h1,
.section.section--hero h2{color:#fff;}
.section.section--hero .sublead{color:rgba(255,255,255,.88);}
.section.section--hero .pill{background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); color:#fff;}
.section.section--hero .btn.secondary{background:rgba(255,255,255,.12); color:#fff;}
/* Photo band sections */
.photo-section{padding:0}
.photo-section .photo-frame{
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--shadow2);
  border:1px solid rgba(2,6,23,.10);
}
.photo-section img{width:100%; height:auto; display:block;}

/* --- Who We Serve segment buildout --- */
.segments{display:flex; flex-direction:column; gap:22px; margin-top:22px;}
.segment{
  display:grid;
  grid-template-columns: 1.05fr 1fr;
  gap:18px;
  align-items:stretch;
  padding:18px;
  border-radius:28px;
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.62));
  border:1px solid rgba(2,6,23,.08);
  box-shadow: var(--shadow1);
  overflow:hidden;
}
.segment__media{
  border-radius:22px;
  overflow:hidden;
  min-height:260px;
  border:1px solid rgba(2,6,23,.10);
  box-shadow: var(--shadow2);
}
.segment__media img{width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.94) contrast(1.03);}
.segment__content{padding:6px 6px 10px 6px;}
.segment__content h3{margin:12px 0 10px;}
.segment--reverse{grid-template-columns: 1fr 1.05fr;}
.segment--reverse .segment__media{order:2}
.segment--reverse .segment__content{order:1}
@media (max-width: 900px){
  .segment{grid-template-columns:1fr; padding:16px;}
  .segment__media{min-height:220px;}
  .segment--reverse .segment__media{order:0}
  .segment--reverse .segment__content{order:0}
}

/* --- Segment page buildout blocks --- */
.segpage{display:flex; flex-direction:column; gap:22px; margin-top:14px;}
.segblock{
  padding:18px;
  border-radius:28px;
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.62));
  border:1px solid rgba(2,6,23,.08);
  box-shadow: var(--shadow1);
}
.segblock--dark{
  background: radial-gradient(900px 520px at 15% 15%, rgba(56,189,248,.18), transparent 62%),
              radial-gradient(900px 520px at 85% 20%, rgba(34,197,94,.16), transparent 62%),
              #061523;
  border:1px solid rgba(255,255,255,.08);
}
.segblock--dark h2, .segblock--dark h3, .segblock--dark p, .segblock--dark li{color:#fff;}
.seggrid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:12px;}
@media (max-width: 900px){.seggrid{grid-template-columns:1fr;}}
.kpi-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:12px;}
@media (max-width: 900px){.kpi-grid{grid-template-columns:repeat(2,1fr);}}
.kpi{
  padding:14px;
  border-radius:20px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(2,6,23,.08);
}
.segblock--dark .kpi{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);}
.kpi .label{font-size:12px; opacity:.75}
.kpi .value{font-size:20px; font-weight:700; margin-top:6px}
.callout{
  padding:14px;
  border-radius:20px;
  background:linear-gradient(90deg,rgba(56,189,248,.18),rgba(34,197,94,.12));
  border:1px solid rgba(2,6,23,.08);
}
