:root{
  --navy-950:#050e1c;
  --navy-900:#0a1830;
  --navy:#0F2346;
  --navy-600:#1c3f77;
  --gold:#C69B42;
  --gold-lt:#E6C784;
  --gold-dk:#8a6522;
  --paper:#F5F5F5;
  --line:#dcdfe5;
  --ink:#12203a;
  --muted:#5b6a82;      /* AA on white */
  --muted-lt:#8fa6c8;   /* AA on navy  */
  --serif:'Cinzel',Georgia,serif;
  --sans:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pad:clamp(20px,5vw,72px);
  --maxw:1320px;
  --ease:cubic-bezier(.16,.84,.3,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.1;letter-spacing:-.018em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.band-navy :focus-visible,.hero :focus-visible,footer :focus-visible{outline-color:var(--gold-lt)}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--navy);color:#fff;
  padding:12px 20px;font-size:14px;font-weight:600}
.skip:focus{left:12px;top:12px}

/* ============ MOTION LAYER ============ */
.reveal{opacity:0;transform:translateY(16px);
  transition:opacity .62s var(--ease),transform .62s var(--ease);
  transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;transition-delay:0s!important}
  .reveal{opacity:1;transform:none}
}

/* ============ LOGO LOCKUPS ============ */
.lockup{display:flex;align-items:center;gap:12px}
.lockup img{flex:0 0 auto}
.lockup .wm{display:flex;flex-direction:column;justify-content:center}
.lockup .nm{font-family:var(--serif);font-weight:700;letter-spacing:.155em;
  color:var(--navy);line-height:1;white-space:nowrap}
.lockup .sb{font-weight:600;letter-spacing:.3em;color:var(--gold-dk);line-height:1;
  white-space:nowrap;margin-top:5px}
/* horizontal — nav scale */
.lockup-h img{width:46px}
.lockup-h .nm{font-size:16.5px}
.lockup-h .sb{font-size:8.5px}
/* vertical — footer / large scale */
.lockup-v{flex-direction:column;align-items:center;text-align:center;gap:16px}
.lockup-v img{width:96px}
.lockup-v .wm{align-items:center}
.lockup-v .nm{font-size:26px;letter-spacing:.19em}
.lockup-v .sb{font-size:10px;letter-spacing:.34em;margin-top:9px;
  display:flex;align-items:center;gap:11px}
.lockup-v .sb::before,.lockup-v .sb::after{content:"";width:22px;height:1px;background:var(--gold)}
/* on dark surfaces */
.lockup-dark .nm{color:#fff}
.lockup-dark .sb{color:var(--gold)}

/* ============ NAV ============ */
.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.93);
  backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line);
  transition:box-shadow .35s var(--ease),background .35s var(--ease)}
.nav.stuck{box-shadow:0 8px 26px -18px rgba(6,18,36,.5);background:rgba(255,255,255,.98)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);height:78px;
  display:flex;align-items:center;gap:30px;transition:height .35s var(--ease)}
.nav.stuck .nav-in{height:66px}
.nav-in .lockup img{transition:width .35s var(--ease)}
.nav.stuck .lockup-h img{width:38px}
.nav-links{display:flex;gap:24px;margin-left:auto;align-items:center}
.nav-links a{font-size:13.5px;font-weight:500;color:#3a4a63;position:relative;padding:6px 0;
  transition:color .25s}
.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;
  width:0;background:var(--gold);transition:width .3s var(--ease)}
.nav-links a:not(.nav-cta):hover{color:var(--navy)}
.nav-links a:not(.nav-cta):hover::after,
.nav-links a:not(.nav-cta):focus-visible::after{width:100%}
/* specificity must beat `.nav-links a` — this was the contrast bug */
.nav-links a.nav-cta{background:var(--navy);color:#fff;font-size:13px;font-weight:600;
  padding:12px 22px;border-radius:2px;white-space:nowrap;line-height:1;
  display:inline-flex;align-items:center;gap:9px;
  transition:background .28s var(--ease),transform .28s var(--ease),box-shadow .28s var(--ease)}
.nav-links a.nav-cta:hover{background:var(--navy-600);transform:translateY(-1px);
  box-shadow:0 8px 20px -10px rgba(15,35,70,.65);color:#fff}
.nav-links a.nav-cta svg{width:12px;height:12px;transition:transform .3s var(--ease)}
.nav-links a.nav-cta:hover svg{transform:translateX(3px)}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);
  width:44px;height:40px;border-radius:2px;cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:17px;height:1.5px;background:var(--navy);position:relative;
  transition:background .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:17px;
  height:1.5px;background:var(--navy);transition:transform .3s var(--ease),top .3s var(--ease)}
.burger span::before{top:-5.5px}.burger span::after{top:5.5px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
/* collapse point raised from 1080px when About + Contact joined the bar — seven links
   plus the CTA no longer fit beside the lockup below ~1240px */
@media(max-width:1240px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;align-items:stretch;gap:0;padding:6px var(--pad) 24px;
    border-bottom:1px solid var(--line);box-shadow:0 22px 40px -26px rgba(6,18,36,.45)}
  .nav-links.open{display:flex;animation:drop .34s var(--ease)}
  @keyframes drop{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
  .nav-links a{padding:14px 0;font-size:15px;border-bottom:1px solid var(--line)}
  .nav-links a.nav-cta{margin-top:16px;justify-content:center;border-bottom:none;padding:15px 22px}
  .burger{display:flex}
}

/* ============ HERO ============ */
.hero{position:relative;background:var(--navy-950);color:#fff;overflow:hidden;
  padding:clamp(60px,9vw,116px) 0 clamp(150px,17vw,230px)}
.hero-sky{position:absolute;inset:0;
  background:
   radial-gradient(120% 78% at 50% 112%, rgba(198,155,66,.30) 0%, rgba(198,155,66,.09) 32%, transparent 62%),
   radial-gradient(80% 60% at 78% 22%, rgba(28,63,119,.62) 0%, transparent 68%),
   linear-gradient(180deg,#040b17 0%,#081428 42%,#0F2346 78%,#153059 100%)}
.hero-stars circle{animation:tw 5s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.18}50%{opacity:.6}}
.hero-stars{position:absolute;inset:0}
.hero-globe{position:absolute;right:-14%;top:-8%;width:min(880px,86vw);pointer-events:none;
  opacity:0;animation:globein 1.8s var(--ease) .35s forwards}
@keyframes globein{to{opacity:.5}}
.hero-globe g.spin{transform-origin:300px 300px;animation:spin 120s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-globe .mer{fill:none;stroke:var(--gold);stroke-width:.9;opacity:.55}
.hero-globe .par{fill:none;stroke:#5f86c4;stroke-width:.8;opacity:.42}
.hero-globe .rim{fill:none;stroke:var(--gold-lt);stroke-width:2.2;opacity:.85;
  stroke-dasharray:1460;stroke-dashoffset:1460;animation:draw 2.4s var(--ease) .3s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.hero-globe .swoosh{fill:none;stroke:var(--gold);stroke-width:3;opacity:.7;stroke-linecap:round}
.hero-in{position:relative;z-index:2}
.pill{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(230,199,132,.42);
  border-radius:100px;padding:7px 16px 7px 12px;font-size:11.5px;font-weight:500;
  letter-spacing:.13em;color:var(--gold-lt);background:rgba(15,35,70,.55)}
.pill i{width:6px;height:6px;border-radius:50%;background:var(--gold);display:block;
  animation:pulse 2.6s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(198,155,66,.55)}
 70%{box-shadow:0 0 0 9px rgba(198,155,66,0)}100%{box-shadow:0 0 0 0 rgba(198,155,66,0)}}
.hero h1{font-family:var(--serif);font-weight:700;
  font-size:clamp(50px,13.2vw,196px);line-height:.94;letter-spacing:.045em;
  margin:26px 0 0;color:#fff;text-shadow:0 2px 40px rgba(120,170,255,.18)}
.hero h1 span{display:inline-block;opacity:0;transform:translateY(.24em);
  animation:rise .95s var(--ease) forwards}
@keyframes rise{to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){
  .hero h1 span,.hero-globe{opacity:1;transform:none;animation:none}
  .hero-globe{opacity:.5}
  .hero-globe .rim{stroke-dashoffset:0}
  .hero-globe g.spin{animation:none}
  .hero-stars circle{animation:none;opacity:.4}
}
.hero-gg{display:flex;align-items:center;gap:18px;margin-top:14px;max-width:760px}
.hero-gg em{font-style:normal;font-weight:600;
  font-size:clamp(12px,2.5vw,20px);letter-spacing:.42em;color:var(--gold);white-space:nowrap}
.hero-gg hr{flex:1;border:0;border-top:1px solid rgba(198,155,66,.45);margin:0;
  transform-origin:left;animation:wipe 1s var(--ease) .7s backwards;transform:scaleX(0);
  animation-fill-mode:forwards}
@keyframes wipe{to{transform:scaleX(1)}}
.hero-row{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-end;
  justify-content:space-between;margin-top:clamp(38px,6vw,68px)}
.hero-lead{max-width:430px;font-size:clamp(16px,2vw,19px);line-height:1.55;color:#d5e0f2;font-weight:300}
.hero-lead b{color:#fff;font-weight:500}
.hero-meta{font-size:11.5px;letter-spacing:.22em;color:var(--muted-lt);margin-top:18px;font-weight:500}

/* ============ BUTTONS ============ */
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{position:relative;display:inline-flex;align-items:center;gap:11px;
  padding:16px 28px;border-radius:2px;font-size:13.5px;font-weight:600;letter-spacing:.015em;
  border:1px solid transparent;cursor:pointer;overflow:hidden;line-height:1;white-space:nowrap;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),
             transform .3s var(--ease),box-shadow .3s var(--ease)}
.btn svg{width:14px;height:14px;flex-shrink:0;position:relative;
  transition:transform .32s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn:active{transform:translateY(1px)}
/* solid gold — 8.4:1 against its ink text */
.btn-gold{background:var(--gold);color:#1c1305;
  box-shadow:0 10px 24px -14px rgba(198,155,66,.9)}
.btn-gold:hover{background:var(--gold-lt);color:#1c1305;transform:translateY(-2px);
  box-shadow:0 16px 30px -14px rgba(230,199,132,.85)}
/* outline on dark — brightens to gold, never dims */
.btn-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.btn-ghost:hover{border-color:var(--gold-lt);color:var(--gold-lt);
  background:rgba(230,199,132,.08);transform:translateY(-2px)}
/* solid navy for light surfaces */
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-600);color:#fff;transform:translateY(-2px);
  box-shadow:0 14px 28px -16px rgba(15,35,70,.75)}
/* outline on light */
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}

/* ============ LIFT CARD ============ */
.lift{margin-top:clamp(-190px,-16vw,-130px);position:relative;z-index:5}
.card-lift{background:#fff;border-radius:26px;padding:clamp(30px,4.4vw,58px);
  box-shadow:0 34px 80px -34px rgba(6,18,36,.45)}
.lift-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.lift h2{font-size:clamp(25px,3.5vw,42px);line-height:1.14;color:var(--navy)}
.lift h2 .thin{font-weight:300;color:#5d6f8c}
.lift p{margin-top:20px;color:var(--muted);font-size:15.4px;max-width:52ch;font-weight:400;line-height:1.72}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:6px}
.stat{background:#fff;padding:22px 20px 20px;transition:background .3s}
.stat:hover{background:#fbf9f4}
.stat b{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(30px,4.4vw,46px);
  color:var(--navy);line-height:1;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:9px;font-size:12.2px;line-height:1.5;color:var(--muted);font-weight:500}
@media(max-width:900px){.lift-grid{grid-template-columns:1fr}}

/* ============ SECTIONS ============ */
.band{padding:clamp(64px,9vw,124px) 0;position:relative}
.band-paper{background:var(--paper)}
.band-navy{background:var(--navy);color:#fff}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:34px;flex-wrap:wrap;
  margin-bottom:clamp(32px,4.6vw,58px)}
.head h2{font-size:clamp(27px,4vw,50px);line-height:1.1;max-width:16ch}
.head .thin{font-weight:300;color:#66768f}
.band-navy .head .thin{color:#9db4d6}
.head p{max-width:40ch;color:var(--muted);font-size:14.8px;font-weight:400;line-height:1.7}
.band-navy .head p{color:#b8c9e2}

/* ============ DIVISIONS ============ */
.divs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:stretch}
.tile{background:#fff;border:1px solid var(--line);border-radius:8px;padding:0;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}
.tile::before{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--gold);
  z-index:2;transition:width .45s var(--ease)}
.tile:hover::before,.tile:focus-visible::before{width:100%}
.tile:hover,.tile:focus-visible{border-color:#c9ccd3;transform:translateY(-4px);
  box-shadow:0 22px 46px -22px rgba(15,35,70,.5)}
/* image header: always visible in greyscale, colorises on hover */
.tile-media{position:relative;width:100%;height:180px;flex:0 0 auto;overflow:hidden;background:#eef0f3}
.tile-media img{width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.04);transform:scale(1.01);
  transition:filter .6s var(--ease),transform .8s var(--ease)}
.tile:hover .tile-media img,.tile:focus-visible .tile-media img{filter:grayscale(0);transform:scale(1.07)}
.tile-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1 1 auto}
.tile .ic{width:44px;height:44px;color:var(--navy);margin-bottom:auto;
  transition:color .35s var(--ease),transform .5s var(--ease)}
.tile:hover .ic{color:var(--gold-dk);transform:translateY(-2px) scale(1.06)}
.tile h3{font-size:18px;margin-top:18px;color:var(--navy);letter-spacing:-.01em}
.tile ul{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 10px}
.tile li{font-size:12.4px;color:#64738c;font-weight:400}
.tile li+li::before{content:"·";margin-right:10px;color:var(--gold-dk)}
.tile .go{position:absolute;right:12px;top:12px;width:32px;height:32px;border-radius:50%;
  background:rgba(6,14,28,.42);backdrop-filter:blur(3px);display:grid;place-items:center;
  color:#fff;z-index:2;border:1px solid rgba(255,255,255,.5);
  transition:background .35s var(--ease),transform .35s var(--ease)}
.tile:hover .go{background:var(--gold);border-color:var(--gold);color:#1c1305}
.tile .go svg{width:12px;height:12px;transition:transform .35s var(--ease)}
.tile:hover .go svg{transform:translateX(2px)}
.tile-feature{grid-column:span 2}
.tile-feature .tile-body{background:linear-gradient(118deg,#0F2346 0%,#122c58 58%,#1c3f77 100%);
  color:#fff;position:relative;overflow:hidden}
.tile-feature h3,.tile-feature .ic{color:#fff}
.tile-feature:hover .ic{color:var(--gold-lt)}
.tile-feature li{color:#c5d4ea}
.tile-feature li+li::before{color:var(--gold-lt)}
.tile-feature .note{font-size:12.6px;color:var(--gold-lt);margin-top:14px;font-weight:500}
.tile-feature .tile-body::after{content:"";position:absolute;right:-70px;bottom:-90px;width:260px;
  height:260px;border-radius:50%;border:1px solid rgba(230,199,132,.32);pointer-events:none;
  transition:transform .7s var(--ease)}
.tile-feature:hover .tile-body::after{transform:scale(1.12)}
@media(max-width:1080px){.divs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.divs{grid-template-columns:1fr}.tile-feature{grid-column:span 1}}
@media (hover:none){
  /* touch devices: show colour at rest since there's no hover to trigger it */
  .tile-media img{filter:grayscale(.35)}
}

/* ============ BRAND FAMILY ============ */
.family{display:grid;grid-template-columns:repeat(5,1fr);
  border-top:1px solid rgba(230,199,132,.34)}
.fam{padding:30px 22px 34px;border-right:1px solid rgba(255,255,255,.1);position:relative;
  transition:background .35s var(--ease)}
.fam:last-child{border-right:none}
.fam:hover{background:rgba(255,255,255,.04)}
.fam::before{content:"";position:absolute;top:-1px;left:0;width:0;height:2px;background:var(--gold);
  transition:width .5s var(--ease)}
.fam:hover::before{width:100%}
.fam h4{font-family:var(--serif);font-size:16.5px;letter-spacing:.09em;color:#fff;font-weight:600}
.fam .k{font-size:10.5px;letter-spacing:.24em;color:var(--gold);margin-bottom:16px;font-weight:600}
.fam ul{margin-top:14px}
.fam li{font-size:13.2px;color:#b8c9e2;padding:6px 0;
  border-bottom:1px dotted rgba(255,255,255,.14);font-weight:400}
.fam li:last-child{border-bottom:none}
@media(max-width:1080px){.family{grid-template-columns:repeat(2,1fr);border-top:none}
 .fam{border-top:1px solid rgba(230,199,132,.34)}}
@media(max-width:560px){.family{grid-template-columns:1fr}.fam{border-right:none}}

/* ============ CAPABILITIES ============ */
.matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line)}
.cap{background:#fff;padding:28px 24px 30px;min-height:152px;display:flex;flex-direction:column;
  transition:background .3s var(--ease)}
.cap:hover{background:#fbf8f2}
/* icons for this grid are now <img class="ic3d">, styled in the inner-pages block below */
.cap h4{font-size:15px;color:var(--navy);font-weight:600}
.cap p{margin-top:8px;font-size:12.9px;color:var(--muted);font-weight:400;line-height:1.62}
@media(max-width:980px){.matrix{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.matrix{grid-template-columns:1fr}}

/* ============ MAP ============ */
.map-grid{display:grid;grid-template-columns:1fr 320px;gap:clamp(28px,5vw,64px);align-items:center}
.map svg{width:100%;height:auto;overflow:visible;display:block}
.dot{fill:#3a63a8;opacity:0}
.map.on .dot{animation:dotin .5s ease forwards}
@keyframes dotin{to{opacity:.5}}
.mk circle.h{fill:var(--gold);transition:r .3s var(--ease)}
.mk circle.p{fill:none;stroke:var(--gold);stroke-width:1.2;opacity:0}
.map.on .mk circle.p{animation:ping 3s ease-out infinite}
@keyframes ping{0%{r:5;opacity:.85}70%{r:16;opacity:0}100%{r:16;opacity:0}}
.mk text{font-size:10.5px;font-weight:700;fill:#F0DCAE;letter-spacing:.09em;
  paint-order:stroke;stroke:#0F2346;stroke-width:3.5px;stroke-linejoin:round}
.mk g{opacity:0;animation:none}
.map.on .mk g{animation:mkin .5s var(--ease) forwards}
@keyframes mkin{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.dot{opacity:.5}.mk g{opacity:1}.mk circle.p{opacity:.35}}
.countries li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:13px 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:14.5px;color:#e2ebf8;
  transition:padding-left .3s var(--ease),color .3s}
.countries li:hover{padding-left:8px;color:#fff}
.countries li span{font-size:11px;letter-spacing:.14em;color:#93aacd;font-weight:600}
.countries li.hq span{color:var(--gold-lt)}
@media(max-width:980px){.map-grid{grid-template-columns:1fr}}

/* ============ INDUSTRIES (image grid) ============ */
.inds{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.ind{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:4/5;
  isolation:isolate;box-shadow:0 1px 0 rgba(15,35,70,.06);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.ind img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transform:scale(1.06);filter:grayscale(1) contrast(1.05);
  transition:transform .7s var(--ease),filter .6s var(--ease)}
.ind::after{content:"";position:absolute;inset:0;
  background:linear-gradient(190deg, rgba(6,14,28,.05) 34%, rgba(6,14,28,.86) 100%);
  transition:background .4s var(--ease)}
.ind span{position:absolute;left:14px;right:14px;bottom:13px;color:#fff;font-size:13.5px;
  font-weight:600;letter-spacing:.01em;line-height:1.25;z-index:1}
.ind:hover{transform:translateY(-5px);box-shadow:0 20px 40px -20px rgba(15,35,70,.5)}
.ind:hover img{transform:scale(1.14);filter:grayscale(0) contrast(1.05)}
@media (hover:none){.ind img{filter:grayscale(.35)}}
.ind:hover::after{background:linear-gradient(190deg, rgba(15,35,70,.1) 24%, rgba(198,155,66,.5) 100%)}
@media(max-width:980px){.inds{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.inds{grid-template-columns:repeat(2,1fr)}}

/* ============ CTA ============ */
.cta{background:linear-gradient(112deg,#0a1830 0%,#0F2346 46%,#1c3f77 100%);color:#fff;
  border-radius:3px;padding:clamp(38px,6vw,74px);display:grid;
  grid-template-columns:1.2fr 1fr;gap:44px;align-items:center;position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;left:-60px;top:-80px;width:300px;height:300px;
  border-radius:50%;border:1px solid rgba(230,199,132,.22)}
.cta>*{position:relative;z-index:1}
.cta h2{font-size:clamp(26px,3.6vw,44px);line-height:1.12}
.cta p{margin-top:16px;color:#c3d3ea;font-size:15px;max-width:46ch}
.cta .btns{justify-content:flex-end}
@media(max-width:900px){.cta{grid-template-columns:1fr}.cta .btns{justify-content:flex-start}}

/* ============ FOOTER ============ */
footer{background:var(--navy-950);color:#9fb2cf;padding:clamp(52px,7vw,86px) 0 30px}
.f-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:44px;
  padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.11)}
.f-brand{display:flex;flex-direction:column;align-items:flex-start}
.f-brand .lockup-v{align-items:flex-start;text-align:left}
.f-brand .lockup-v .wm{align-items:flex-start}
.f-brand p{margin-top:22px;font-size:13.5px;max-width:34ch;line-height:1.72;color:#93a8c8}
.f-col h5{font-size:11px;letter-spacing:.2em;color:var(--gold-lt);margin:0 0 16px;font-weight:600}
.f-col li{padding:5px 0}
.f-col a{font-size:13.6px;color:#b0c1da;transition:color .22s,padding-left .28s var(--ease)}
.f-col a:hover{color:#fff;padding-left:4px}
.f-bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:24px;
  font-size:11.8px;color:#8095b5}
.f-bot .tl{letter-spacing:.16em;color:var(--gold)}
@media(max-width:900px){.f-top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.f-top{grid-template-columns:1fr;gap:34px}}

/* back to top */
.totop{position:fixed;right:20px;bottom:20px;z-index:70;width:46px;height:46px;border-radius:50%;
  background:var(--navy);color:#fff;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);
  opacity:0;pointer-events:none;transform:translateY(10px);cursor:pointer;
  transition:opacity .35s var(--ease),transform .35s var(--ease),background .25s}
.totop.show{opacity:1;pointer-events:auto;transform:none}
.totop:hover{background:var(--gold);color:#1c1305}
.totop svg{width:15px;height:15px}

/* ==================================================================
   INNER PAGES — about.html / contact.html
   Everything above this line is the original homepage design system,
   unchanged. Everything below is additive: no selector here matches
   an element on index.html, so the homepage renders exactly as before.
   ================================================================== */

/* ---------- nav active state ---------- */
.nav-links a.active{color:var(--navy);font-weight:600}
.nav-links a.active::after{width:100%}
@media(max-width:1240px){
  .nav-links a.active{color:var(--gold-dk);border-left:2px solid var(--gold);padding-left:12px}
  .nav-links a.active::after{display:none}
}

/* ---------- placeholder marker ----------
   Anything Talha still has to supply is wrapped in .ph so it cannot be
   missed on the page. To fill one in: delete the span, keep the text. */
.ph{background:rgba(198,155,66,.15);border-bottom:1px dashed var(--gold-dk);
  color:#7a5a1d;font-weight:600;padding:1px 6px;border-radius:2px;
  font-size:.94em;letter-spacing:.01em}
.band-navy .ph,.hero-sm .ph,.cta .ph{background:rgba(230,199,132,.17);color:var(--gold-lt);
  border-bottom-color:var(--gold-lt)}

/* ---------- small page hero ---------- */
.hero-sm{position:relative;background:var(--navy-950);color:#fff;overflow:hidden;
  padding:clamp(44px,6vw,74px) 0 clamp(52px,7vw,88px)}
.hero-sm .hero-sky{background:
   radial-gradient(120% 120% at 18% 120%, rgba(198,155,66,.22) 0%, rgba(198,155,66,.06) 38%, transparent 66%),
   radial-gradient(70% 90% at 84% 8%, rgba(28,63,119,.6) 0%, transparent 70%),
   linear-gradient(180deg,#050e1c 0%,#0a1830 55%,#0F2346 100%)}
.hero-sm-in{position:relative;z-index:2}
.crumb{font-size:11.5px;letter-spacing:.2em;font-weight:500;color:var(--muted-lt)}
.crumb a{color:var(--muted-lt);transition:color .25s}
.crumb a:hover{color:var(--gold-lt)}
.crumb i{font-style:normal;margin:0 9px;color:rgba(230,199,132,.75)}
.crumb [aria-current]{color:var(--gold-lt)}
.hero-sm h1{font-family:var(--serif);font-weight:700;color:#fff;margin:18px 0 0;
  font-size:clamp(31px,5.4vw,62px);line-height:1.06;letter-spacing:.028em}
.hero-sm .rule{width:64px;height:2px;background:var(--gold);border:0;margin:22px 0 0;
  transform-origin:left;transform:scaleX(0);animation:wipe .8s var(--ease) .25s forwards}
.hero-sm .lead{margin-top:20px;max-width:56ch;font-size:clamp(15px,1.8vw,18px);
  line-height:1.6;color:#d5e0f2;font-weight:300}
.hero-sm .lead b{color:#fff;font-weight:500}
@media (prefers-reduced-motion:reduce){.hero-sm .rule{transform:none;animation:none}}

/* ---------- prose / story ---------- */
.story{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.prose p{color:var(--muted);font-size:15.4px;line-height:1.72;max-width:56ch;font-weight:400}
.prose p+p{margin-top:18px}
.prose p.big{font-size:17px;color:var(--ink);line-height:1.62}
.aside{background:var(--paper);border:1px solid var(--line);border-radius:8px;
  padding:clamp(24px,3vw,34px)}
.aside h3{font-size:12px;letter-spacing:.2em;color:var(--gold-dk);font-weight:600}
.aside ul{margin-top:18px}
.aside li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:12px 0;border-bottom:1px solid var(--line);font-size:14.4px;color:var(--ink)}
.aside li:last-child{border-bottom:none}
.aside li span{font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:600;
  text-align:right}
@media(max-width:900px){.story{grid-template-columns:1fr}}

/* six values read as two clean rows of three rather than 4 + 2 orphans */
.matrix-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:980px){.matrix-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.matrix-3{grid-template-columns:1fr}}

/* ---------- 3D icons (3dicons.co, CC0 — "premium" charcoal/gold variant) ---------- */
.ic3d{width:56px;height:56px;object-fit:contain;margin-bottom:16px;
  transition:transform .35s var(--ease),filter .35s var(--ease)}
.cap:hover .ic3d,.info:hover .ic3d{transform:translateY(-2px);
  filter:drop-shadow(0 9px 15px rgba(15,35,70,.24))}
@media (prefers-reduced-motion:reduce){.ic3d{transition:none}}

/* ---------- leadership ---------- */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.person{background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:32px 24px 30px;text-align:center;position:relative;overflow:hidden;
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}
.person::before{content:"";position:absolute;left:0;top:0;height:2px;width:0;
  background:var(--gold);transition:width .45s var(--ease)}
.person:hover::before{width:100%}
.person:hover{border-color:#c9ccd3;transform:translateY(-4px);
  box-shadow:0 22px 46px -22px rgba(15,35,70,.5)}
.avatar{width:92px;height:92px;border-radius:50%;margin:0 auto 20px;display:grid;
  place-items:center;background:linear-gradient(150deg,#0F2346 0%,#1c3f77 100%);
  border:1px solid rgba(198,155,66,.45);color:var(--gold-lt);font-family:var(--serif);
  font-weight:600;font-size:25px;letter-spacing:.09em;line-height:1;
  transition:border-color .35s var(--ease),transform .45s var(--ease)}
.person:hover .avatar{border-color:var(--gold);transform:scale(1.04)}
.person h3{font-size:16px;color:var(--navy)}
.person .role{margin-top:7px;font-size:11.5px;letter-spacing:.16em;
  color:var(--gold-dk);font-weight:600}
.person .bio{margin-top:14px;font-size:13px;line-height:1.62;color:var(--muted)}
@media(max-width:1080px){.team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.team{grid-template-columns:1fr}}

/* ---------- divisions recap (condensed 8-up) ---------- */
.recap{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rcard{position:relative;display:block;border-radius:6px;overflow:hidden;aspect-ratio:16/11;
  isolation:isolate;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.rcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transform:scale(1.04);filter:grayscale(1) contrast(1.05);
  transition:transform .7s var(--ease),filter .6s var(--ease)}
.rcard::after{content:"";position:absolute;inset:0;
  background:linear-gradient(185deg,rgba(6,14,28,.18) 30%,rgba(6,14,28,.88) 100%);
  transition:background .4s var(--ease)}
.rcard span{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;color:#fff;
  font-size:14px;font-weight:600;line-height:1.25}
.rcard b{display:block;font-size:10.5px;letter-spacing:.2em;color:var(--gold-lt);
  font-weight:600;margin-bottom:6px}
.rcard:hover,.rcard:focus-visible{transform:translateY(-5px);
  box-shadow:0 20px 40px -20px rgba(15,35,70,.55)}
.rcard:hover img,.rcard:focus-visible img{transform:scale(1.12);filter:grayscale(0) contrast(1.05)}
.rcard:hover::after,.rcard:focus-visible::after{
  background:linear-gradient(185deg,rgba(15,35,70,.2) 22%,rgba(198,155,66,.55) 100%)}
@media (hover:none){.rcard img{filter:grayscale(.35)}}
@media(max-width:980px){.recap{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.recap{grid-template-columns:1fr}}

/* ---------- contact layout ---------- */
.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(30px,4.5vw,64px);
  align-items:start}
@media(max-width:980px){.contact-grid{grid-template-columns:1fr}}

/* ---------- form ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:clamp(26px,3.6vw,44px)}
.form-card h2{font-size:clamp(21px,2.6vw,29px);color:var(--navy);line-height:1.16}
.form-card>p{margin-top:12px;color:var(--muted);font-size:14.6px;line-height:1.7;max-width:52ch}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field.full{grid-column:1/-1}
.field[hidden]{display:none}   /* honeypot — must beat the display:flex above */
.field label{font-size:11px;letter-spacing:.17em;font-weight:600;color:var(--navy)}
.field label .opt{color:var(--muted);font-weight:500;letter-spacing:.05em}
.field label .req{color:var(--gold-dk)}
.field input,.field select,.field textarea{
  font-family:var(--sans);font-size:15px;line-height:1.5;color:var(--ink);background:#fff;
  border:1px solid var(--line);border-radius:2px;padding:14px 16px;width:100%;
  transition:border-color .28s var(--ease),background .28s var(--ease)}
.field textarea{resize:vertical;min-height:132px}
/* #69738a clears 4.5:1 on both #fff and the #fffdf8 focus tint while still
   reading as a placeholder against the near-black input text */
.field input::placeholder,.field textarea::placeholder{color:#69738a}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#c1c7d2}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--gold);background:#fffdf8}
.field select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:44px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230F2346' stroke-width='1.6'%3E%3Cpath d='M4 6.5 8 10.5l4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;background-size:15px}
.form .btn{grid-column:1/-1;justify-content:center;width:100%}
.form-note{grid-column:1/-1;font-size:12.6px;line-height:1.62;color:var(--muted)}
.form-note b{color:var(--navy);font-weight:600}
@media(max-width:600px){.form{grid-template-columns:1fr}}

/* ---------- contact info cards ---------- */
.info-stack{display:grid;gap:14px}
.info{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px 26px 28px;
  position:relative;overflow:hidden;
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}
.info::before{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--gold);
  transition:width .45s var(--ease)}
.info:hover::before{width:100%}
.info:hover{border-color:#c9ccd3;transform:translateY(-2px);
  box-shadow:0 18px 38px -22px rgba(15,35,70,.45)}
.info .ic3d{width:60px;height:60px}
.info h3{font-size:15px;color:var(--navy)}
.info .lines{margin-top:12px}
.info .lines li{font-size:14px;line-height:1.62;color:var(--muted);padding:3px 0}
.info .lines a{color:var(--navy);font-weight:500;border-bottom:1px solid rgba(198,155,66,.55);
  transition:color .25s,border-color .25s}
.info .lines a:hover{color:var(--gold-dk);border-color:var(--gold-dk)}

/* ---------- reassurance strip ---------- */
.assure{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  border:1px solid rgba(198,155,66,.5);background:rgba(198,155,66,.08);
  border-radius:8px;padding:20px 24px;margin-top:clamp(26px,3.6vw,40px)}
.assure img{width:40px;height:40px;object-fit:contain;flex:0 0 auto}
.assure p{font-size:14.4px;color:var(--muted);line-height:1.6;min-width:0;flex:1}
.assure p b{color:var(--navy);font-weight:600}
