/* Exalt · homepage, L3Harris-style trial
   A defence-prime corporate grammar on Exalt's own marks: white header with mega menus,
   navy hero carrying a live globe, semibold caps headings underlined in signal red,
   a strict 1200px grid and an 8px spacing scale. Arm colours survive as small swatches. */

:root{
  --navy: oklch(.25 .035 245);
  --navy-deep: oklch(.2 .03 248);
  --navy-soft: oklch(.32 .035 245);
  --red: oklch(.575 .22 28);
  --red-press: oklch(.5 .2 28);
  --paper: oklch(.995 .002 250);
  --grey: oklch(.945 .004 250);
  --rule: oklch(.875 .006 250);
  --ink: var(--navy);
  --ink-2: oklch(.44 .02 250);
  --on-dark: oklch(.975 .004 250);
  --on-dark-2: oklch(.975 .004 250 / .78);
  --line-dark: oklch(.975 .004 250 / .16);
  --coral: oklch(.72 .155 38);
  --sky: oklch(.79 .095 230);
  --lime: oklch(.86 .15 125);
  --sun: oklch(.85 .15 88);

  --display: "Archivo", system-ui, sans-serif;
  --font: "Host Grotesk", system-ui, sans-serif;
  --wrap: 1200px;
  --gut: clamp(20px, 5vw, 40px);
  --hdr: 104px;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --sec: clamp(72px, 8vw, 112px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
body{background:var(--paper);color:var(--ink);font:400 18px/28px var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block;max-width:100%}
.wrap{width:100%;max-width:calc(var(--wrap) + 2 * var(--gut));margin:0 auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-999px;top:8px;z-index:99;background:var(--navy);color:var(--on-dark);padding:12px 16px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- type ---------- */
h1,.like-h1,.t-ul{font-family:var(--display);font-stretch:100%;font-weight:700;text-transform:uppercase;letter-spacing:.005em}
h1,.like-h1{font-size:clamp(34px,4vw,52px);line-height:1.3}
h1,h2,h3,b{text-wrap:balance}
p,dd,.lg-d{text-wrap:pretty}
.t-ul{font-size:clamp(26px,2.3vw,32px);line-height:1.5;margin-bottom:40px}
.t-ul span{border-bottom:4px solid var(--red);padding-bottom:2px}
.lede{font-size:20px;line-height:32px;color:var(--ink-2);max-width:60ch}
.kind{display:block;font:500 13px/20px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.more{display:inline-flex;align-items:center;gap:10px;font:700 14px/20px var(--font);letter-spacing:.06em;text-transform:uppercase;transition:color .2s}
.more svg{width:7px;height:12px;color:var(--red);transition:transform .25s var(--ease)}
a:hover > .more,.more:hover{color:var(--red)}
a:hover > .more svg,.more:hover svg{transform:translateX(3px)}
.more.on-red svg{color:var(--on-dark)}
a:hover > .more.on-red{color:var(--on-dark)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;background:var(--red);color:var(--on-dark);border:1px solid var(--red);font:600 14px/20px var(--font);letter-spacing:.05em;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s}
.btn:hover{background:var(--red-press);border-color:var(--red-press)}
.btn:active{transform:translateY(1px)}
.btn-lg{min-height:56px;padding:14px 28px;font-size:16px;line-height:26px}
.btn-line{background:transparent;border-color:var(--on-dark);color:var(--on-dark)}
.btn-line:hover{background:var(--on-dark);border-color:var(--on-dark);color:var(--navy)}

/* ---------- rotating word ---------- */
.rot{display:inline-grid;justify-items:start;vertical-align:bottom;overflow:hidden;transition:width .6s var(--ease)}
.rot > span{grid-area:1 / 1;white-space:nowrap;transform:translateY(105%);opacity:0;transition:transform .7s var(--ease),opacity .5s var(--ease)}
.rot > span.on{transform:none;opacity:1}
.rot > span.off{transform:translateY(-105%);opacity:0}
.no-js .rot > span:first-child{transform:none;opacity:1}

/* ---------- lockup ----------
   EXALT and GLOBAL share one cap height. Archivo's caps are .6875em tall and its baseline
   sits .165em above the bottom of a 1.0 line box, so GLOBAL is sized and dropped to match. */
.lockup{--cap:20px;display:inline-flex;align-items:flex-end;gap:calc(var(--cap) * .5);color:inherit;line-height:1}
.lockup svg{height:var(--cap);width:auto;fill:currentColor;display:block;flex:none}
.lockup span{font:900 calc(var(--cap) / .6875)/1 var(--display);font-stretch:125%;text-transform:uppercase;letter-spacing:0;margin-bottom:-.165em;white-space:nowrap}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:50;height:var(--hdr);color:var(--on-dark);transition:background .25s,color .25s,box-shadow .25s}
.hdr.light{background:var(--paper);color:var(--ink);box-shadow:0 1px 0 var(--rule)}
.hdr-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.hdr .lockup{--cap:20px}
.hdr-r{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.util{display:flex;gap:24px;font:500 13px/20px var(--font);letter-spacing:.02em}
.util time{font-variant-numeric:tabular-nums;margin-left:6px;opacity:.7}
.util a{opacity:.85;transition:color .2s,opacity .2s}
.util a:hover{color:var(--red);opacity:1}
.nav-list{display:flex;align-items:center;gap:28px}
.nav-a,.dd-btn{position:relative;display:flex;align-items:center;gap:8px;height:32px;font:700 14px/20px var(--font);letter-spacing:.04em;text-transform:uppercase;transition:color .2s}
.dd-btn:not(.ico)::after{content:"";border:4.5px solid transparent;border-top:5px solid var(--red);border-bottom:0;transition:transform .25s var(--ease)}
.dd-li.open .dd-btn::after{transform:rotate(180deg)}
.nav-a:hover,.dd-btn:hover,.dd-li.open > .dd-btn{color:var(--red)}
.dd-btn.ico svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}
.dd{position:absolute;left:0;right:0;top:var(--hdr);background:var(--paper);color:var(--ink);border-top:1px solid var(--rule);box-shadow:0 32px 48px -32px oklch(.2 .03 250 / .45);visibility:hidden;opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .25s var(--ease),visibility 0s .25s}
.dd-li.open > .dd{visibility:visible;opacity:1;transform:none;transition:opacity .2s,transform .25s var(--ease)}
.dd-in{display:grid;grid-template-columns:4fr 8fr;gap:64px;padding-block:40px 48px}
.dd-h{font:700 24px/32px var(--font);margin-bottom:8px}
.dd-lead > p:not(.dd-h){font-size:16px;line-height:24px;color:var(--ink-2);margin-bottom:24px;max-width:36ch}
.dd-links{display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px;align-content:start}
.dd-links.three{grid-template-columns:repeat(3,1fr)}
.dd-links a{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px;padding:16px 0;border-bottom:1px solid var(--rule);font:600 17px/24px var(--font);transition:color .2s}
.dd-links a span{flex-basis:100%;font:400 14px/20px var(--font);color:var(--ink-2)}
.dd-links a:hover{color:var(--red)}
.sw{width:10px;height:10px;background:var(--c)}
.dd-find{padding-block:40px 48px}
.dd-find .find{max-width:720px;margin:0}

.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.burger i{display:block;width:24px;height:2px;background:currentColor;transition:transform .3s var(--ease),opacity .2s}
.menu-open .burger i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-open .burger i:nth-child(2){opacity:0}
.menu-open .burger i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.menu{position:fixed;inset:var(--hdr) 0 0;z-index:49;background:var(--paper);color:var(--ink);overflow:auto;visibility:hidden;opacity:0;transition:opacity .25s,visibility 0s .25s}
.menu.open{visibility:visible;opacity:1;transition:opacity .25s}
.menu nav{padding-block:8px 40px}
.menu summary,.menu .m-top{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--rule);font:700 16px/24px var(--font);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;list-style:none}
.menu summary::-webkit-details-marker{display:none}
.menu summary::after{content:"";border:5px solid transparent;border-top:6px solid var(--red);border-bottom:0;transition:transform .25s}
.menu details[open] summary::after{transform:rotate(180deg)}
.menu details a{display:block;padding:12px 0 12px 16px;font-size:17px;border-bottom:1px solid var(--grey)}
.m-foot{margin-top:32px;font-size:15px;line-height:24px;color:var(--ink-2)}

/* ---------- search ---------- */
.find{position:relative;max-width:440px}
.find label{display:block;font:600 24px/32px var(--font);margin-bottom:16px}
.find-in{display:flex;align-items:center;gap:12px;border-bottom:1px solid currentColor;padding-bottom:10px;transition:border-color .2s}
.find-in:focus-within{border-color:var(--red)}
.find-in svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2}
.find input{flex:1;min-width:0;background:none;border:0;outline:none;color:inherit;font:400 16px/24px var(--font)}
.find input::placeholder{color:currentColor;opacity:.72}
.find input::-webkit-search-cancel-button{-webkit-appearance:none}
.find-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;background:var(--paper);color:var(--ink);box-shadow:0 16px 40px -12px oklch(.15 .03 250 / .45)}
.find-list:empty{display:none}
.find-list a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 16px;border-bottom:1px solid var(--grey);font:600 16px/24px var(--font)}
.find-list a span{font:500 12px/16px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.find-list a:hover,.find-list a.act{background:var(--grey);color:var(--red)}
.find.on-light label{font-size:20px;line-height:28px}

/* ---------- hero ---------- */
.hero{position:relative;height:clamp(720px,92vh,880px);background:var(--navy-deep);color:var(--on-dark);overflow:hidden;isolation:isolate}
.globe{position:absolute;z-index:-2;top:50%;left:50%;width:min(860px,76vw);aspect-ratio:1;transform:translate(-8%,-46%);cursor:grab;touch-action:pan-y}
.globe.drag{cursor:grabbing}
.hero-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(60% 70% at 72% 50%,transparent 40%,var(--navy-deep) 100%),
  linear-gradient(90deg,var(--navy-deep) 0%,oklch(.2 .03 248 / .82) 30%,oklch(.2 .03 248 / 0) 58%)}
.hero-in{height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:var(--hdr);padding-bottom:136px;pointer-events:none}
.hero-in > *{pointer-events:auto}
.hero h1{max-width:560px}
.hero h1 .ln{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(var(--red),var(--red)) 0 100% / 100% 5px no-repeat;padding-bottom:2px}
.hero .btn{align-self:flex-start;margin-top:40px}
.hero .find{margin-top:72px;width:100%}
.hero-foot{position:absolute;left:0;right:0;bottom:136px;display:flex;justify-content:flex-end;pointer-events:none}
.pause{pointer-events:auto;width:32px;height:32px;display:flex;align-items:center;justify-content:center;gap:4px;background:oklch(.975 .004 250 / .16);transition:background .2s}
.pause:hover{background:oklch(.975 .004 250 / .3)}
.pause i{width:3px;height:12px;background:var(--on-dark)}
.pause.paused i:first-child{width:0;height:0;background:none;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent var(--on-dark)}
.pause.paused i:last-child{display:none}

/* ---------- what's new ---------- */
.whatsnew{background:var(--grey);padding-bottom:var(--sec)}
.wn{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;align-items:start}
.wn-lead{display:flex;flex-direction:column;margin-top:-96px;min-height:400px;padding:40px 24px 32px;background:var(--red);color:var(--on-dark);position:relative;z-index:2;transition:background .2s}
.wn-lead:hover{background:var(--red-press)}
.wn-chev{width:30px;height:36px;fill:var(--on-dark);margin-bottom:auto}
.wn-lead h2{font:700 24px/32px var(--font);margin:40px 0 8px}
.wn-lead p{font-size:16px;line-height:24px;margin-bottom:24px}
.story{display:block;padding-top:40px}
.ph{overflow:hidden;background:var(--rule)}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.story .ph{aspect-ratio:3/2;margin-bottom:16px}
.story h3{font:600 20px/28px var(--font);margin-top:8px;transition:color .2s}
a:hover .ph img{transform:scale(1.04)}
a:hover h3{color:var(--red)}

/* ---------- sections ---------- */
.sec{padding-block:var(--sec)}
.sec-hd{margin-bottom:48px}
.sec-hd .t-ul{margin-bottom:16px}
/* map band */
.mapband{background:var(--navy-deep);color:var(--on-dark);overflow:hidden}
.mb{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:center;padding-block:clamp(80px,9vw,128px)}
.mb-txt .like-h1{font-size:clamp(34px,3.6vw,48px)}
.mb-txt .like-h1 span{display:block;color:var(--red)}
.mb-txt p{color:var(--on-dark-2);margin:24px 0 40px;max-width:34ch}
.mb-map{position:relative;margin-right:calc(-1 * var(--gut))}
.mb-map > svg{display:block;width:100%;height:auto}
.mb-map .c{fill:oklch(.975 .004 250 / .12);stroke:var(--navy-deep);stroke-width:.6}
.mb-map .mkt{fill:var(--red)}
.mb-map .grat{fill:none;stroke:oklch(.975 .004 250 / .05);stroke-width:.7}
.mb-map .sph{fill:none;stroke:oklch(.975 .004 250 / .14);stroke-width:1}
.mb-map .ring{fill:none;stroke:var(--on-dark);stroke-width:1.6}
.mb-map .core{fill:var(--on-dark)}
.mb-map .pin{fill:var(--red);stroke:var(--on-dark);stroke-width:1.2}
.mb-map .lbl{font:600 13px var(--font);letter-spacing:.06em;fill:var(--on-dark);paint-order:stroke;stroke:var(--navy-deep);stroke-width:4px}
.keys{display:flex;gap:24px;margin-top:16px;font:500 13px/20px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2)}
.keys span{display:inline-flex;align-items:center;gap:8px}
.k-off{width:12px;height:12px;border:1.6px solid var(--on-dark);border-radius:50%;box-shadow:inset 0 0 0 2.4px var(--navy-deep),inset 0 0 0 6px var(--on-dark)}
.k-mkt{width:12px;height:12px;background:var(--red)}



/* who our people have worked with */
.orgs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.orgs li{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:112px;padding:20px 24px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.orgs b{font:700 18px/24px var(--font)}
.orgs span{font:500 12px/16px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.inpress{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:baseline;margin-top:40px}
.inpress-k{font:600 12px/16px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.inpress ul{display:flex;flex-wrap:wrap;gap:4px 28px;font:600 15px/28px var(--font);color:var(--ink-2)}
.inpress li{white-space:nowrap}

/* capabilities */
.caps{background:var(--grey)}
.caps-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto 1fr auto;gap:0;border-top:1px solid var(--rule)}
.cap{display:grid;grid-row:span 4;grid-template-rows:subgrid;padding:32px 24px 8px;border-left:1px solid var(--rule)}
.cap:first-child{border-left:0;padding-left:0}
.cap-hd{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px}
.cap-hd .sw{width:12px;height:12px;background:var(--c)}
.cap h3{grid-column:1 / -1;font:700 24px/32px var(--display);font-stretch:112%;text-transform:uppercase;margin-top:8px;transition:color .2s}
.cap-hd:hover h3{color:var(--red)}
.cap > p{font-size:16px;line-height:24px;color:var(--ink-2);margin:12px 0 24px}
.cap ul{margin-bottom:24px}
.cap ul{align-self:start}
.cap li{display:flex;align-items:center;min-height:56px;padding:6px 0;border-top:1px solid var(--rule);font:500 15px/22px var(--font)}
.cap li:last-child{border-bottom:1px solid var(--rule)}
.cap .more{align-self:end;padding-bottom:16px}

/* situations */
.situ{background:var(--navy-deep);color:var(--on-dark);padding-block:var(--sec)}
.situ .t-ul{margin-bottom:40px}
.situ-l{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;counter-reset:s;border-top:1px solid var(--line-dark)}
.situ-l a{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line-dark)}
.situ-l b{font:600 clamp(20px,2vw,26px)/1.3 var(--font);transition:color .2s}
.situ-l span{flex:none;font:500 13px/20px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2)}
.situ-l a:hover b{color:var(--red)}

/* record */
.ledger{list-style:none;border-top:2px solid var(--ink);margin-bottom:48px}
.ledger a{display:grid;grid-template-columns:2fr 7fr 3fr;gap:32px;align-items:start;padding:28px 0;border-bottom:1px solid var(--rule)}
.lg-when{font:700 18px/26px var(--display);font-variant-numeric:tabular-nums}
.lg-when small{display:block;font:500 14px/20px var(--font);color:var(--ink-2);margin-top:2px}
.lg-what b{display:block;font:600 22px/30px var(--font);margin:4px 0 8px;transition:color .2s}
.lg-d{display:block;font-size:16px;line-height:24px;color:var(--ink-2);max-width:60ch}
.lg-fig{font:500 14px/20px var(--font);color:var(--ink-2)}
.lg-fig b{display:block;font:700 clamp(32px,3vw,44px)/1.1 var(--display);color:var(--red);font-variant-numeric:tabular-nums;margin-bottom:4px}
.ledger a:hover .lg-what b{color:var(--red)}

/* market index inside the map band */
.regions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;margin-top:8px}
.regions h3{font:500 12px/16px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-2);padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid var(--line-dark)}
.regions a{display:flex;justify-content:space-between;padding:5px 0;font:600 16px/24px var(--font);transition:color .2s}
.regions a i{font:500 11px/24px var(--font);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.regions a:hover{color:var(--red)}
.keys .more{margin-left:auto;color:var(--on-dark)}
.keys .more:hover{color:var(--red)}

/* tender radar */
.radar{background:var(--grey)}
.rd{display:grid;grid-template-columns:4fr 8fr;gap:64px;align-items:start}
.rd-big{font:500 22px/32px var(--font);margin-bottom:12px}
.rd-big b{display:block;font:700 clamp(56px,6vw,80px)/1 var(--display);color:var(--red);font-variant-numeric:tabular-nums;margin-bottom:12px}
.rd-meta{font-size:14px;line-height:20px;color:var(--ink-2);margin-bottom:32px}
.rd-th,.rd-list li{display:grid;grid-template-columns:140px minmax(0,1fr) 80px;gap:24px}
.rd-th{padding-bottom:10px;border-bottom:2px solid var(--ink);font:600 12px/16px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.rd-th span:last-child,.rd-d{text-align:right}
.rd-list li{padding:16px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.rd-c{font:700 15px/22px var(--font)}
.rd-t{font-size:16px;line-height:24px}
.rd-t small{display:block;font-size:13px;line-height:20px;color:var(--ink-2);margin-top:2px}
.rd-d{font:600 15px/22px var(--font);font-variant-numeric:tabular-nums;white-space:nowrap}
.rd-list li > a{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:baseline;transition:color .2s}
.rd-list li > a:hover .rd-t{color:var(--red)}

/* contact close */
.contact{position:relative;isolation:isolate;background:var(--navy-deep);color:var(--on-dark);overflow:hidden}
.contact::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,oklch(.2 .03 248 / .95) 0%,oklch(.2 .03 248 / .86) 50%,oklch(.2 .03 248 / .7) 100%)}
.band-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:saturate(.5)}
.ct{display:grid;grid-template-columns:6fr 6fr;gap:64px;align-items:end;padding-block:clamp(88px,10vw,136px)}
.ct-l em{font-style:normal;color:var(--red)}
.ct-l p{color:var(--on-dark-2);margin:20px 0 36px;max-width:44ch}
.ct-mail{display:inline-block;margin-left:28px;font:600 17px/26px var(--font);border-bottom:1px solid var(--on-dark-2);transition:color .2s,border-color .2s}
.ct-mail:hover{color:var(--red);border-color:var(--red)}
.ct-offices{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.office{padding-top:20px;border-top:1px solid var(--line-dark)}
.office .kind{color:var(--on-dark-2)}
.office h3{font:700 22px/30px var(--display);font-stretch:112%;text-transform:uppercase;margin-top:4px;white-space:nowrap}
.office p{font-size:16px;line-height:24px;color:var(--on-dark-2)}
.clock{display:block;margin-top:16px;font-size:14px;line-height:20px;color:var(--on-dark-2)}
.clock time{font:700 20px/28px var(--display);color:var(--on-dark);font-variant-numeric:tabular-nums;margin-right:6px}

/* latest */
.lt{display:grid;grid-template-columns:5fr 7fr;gap:48px;margin-bottom:48px}
.lt-feat{display:flex;flex-direction:column;background:var(--grey)}
.lt-feat .ph{aspect-ratio:16/9}
.lt-body{padding:24px 24px 32px}
.lt-body h3{font:600 24px/32px var(--font);margin:8px 0 16px;transition:color .2s}
.lt-body p{font-size:16px;line-height:24px;color:var(--ink-2)}
.lt-list{display:grid;grid-auto-rows:1fr;border-top:1px solid var(--rule)}
.lt-list a{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;padding:20px 40px 20px 0;border-bottom:1px solid var(--rule)}
.lt-list a::after{content:"";position:absolute;right:8px;top:50%;width:8px;height:8px;border:solid var(--red);border-width:2.5px 2.5px 0 0;transform:translateY(-50%) rotate(45deg);transition:right .25s var(--ease)}
.lt-list a:hover::after{right:2px}
.lt-list h3{font:600 20px/28px var(--font);margin-top:4px;transition:color .2s}

/* ---------- footer ---------- */
.ftr{background:var(--navy-deep);color:var(--on-dark);padding-block:64px 32px;border-top:1px solid var(--line-dark)}
.ftr-g{display:grid;grid-template-columns:4fr 2fr 2fr 2fr 2fr;gap:32px;padding-bottom:48px;border-bottom:1px solid var(--line-dark)}
.ftr .lockup{--cap:18px}
.ftr-brand p{font-size:15px;line-height:24px;color:var(--on-dark-2);margin:20px 0 16px;max-width:30ch}
.ftr-col{display:flex;flex-direction:column;gap:10px}
.ftr-col h4{font:600 12px/16px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-2);margin-bottom:6px}
.ftr-col a{font-size:15px;line-height:22px;transition:color .2s}
.ftr-col a:hover,.ftr-bot a:hover{color:var(--red)}
.social{display:flex;width:44px;height:44px;margin-left:-12px;align-items:center;justify-content:center}
.social svg{width:20px;height:20px;fill:currentColor;transition:fill .2s}
.social:hover svg{fill:var(--red)}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 32px;padding-top:24px;font-size:14px;line-height:20px;color:var(--on-dark-2)}
.credits summary{cursor:pointer;list-style:none;transition:color .2s}
.credits summary::-webkit-details-marker{display:none}
.credits summary::after{content:"";display:inline-block;margin-left:8px;border:4px solid transparent;border-top:5px solid currentColor;border-bottom:0;vertical-align:middle;transition:transform .25s}
.credits[open] summary::after{transform:rotate(180deg)}
.credits summary:hover{color:var(--on-dark)}
.credits[open]{flex-basis:100%;order:3}
.credits p{margin-top:12px;font-size:13px;line-height:20px;max-width:90ch}
.credits a{text-decoration:underline;text-underline-offset:2px;transition:color .2s}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .nav,.util{display:none}
  .burger{display:flex}
  .wn{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wn-lead{grid-column:1 / -1;min-height:0;margin-top:-72px;padding:32px}
  .wn-lead h2{margin-top:24px}
  .story{padding-top:0}
  .orgs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .caps-g{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}
  .cap{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column}
  .cap .more{margin-top:auto}
  .cap:nth-child(odd){border-left:0;padding-left:0}
  .cap:nth-child(n+3){border-top:1px solid var(--rule);margin-top:24px}
  .mb{grid-template-columns:1fr;gap:40px}
  .mb-map{margin-right:0}
  .regions{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rd{grid-template-columns:1fr;gap:40px}
  .ct{grid-template-columns:1fr;gap:56px;align-items:start}
  .ftr-g{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ftr-brand{grid-column:1 / -1}
}
@media (max-width:860px){
  :root{--hdr:72px}
  .hdr .lockup{--cap:15px}
  .globe{width:150vw;left:auto;right:-62vw;top:auto;bottom:-46vw;transform:none}
  .hero-shade{background:linear-gradient(180deg,var(--navy-deep) 35%,oklch(.2 .03 248 / .55) 70%,oklch(.2 .03 248 / .2))}
  .hero{height:auto;min-height:680px}
  .hero-in{justify-content:flex-start;padding-top:calc(var(--hdr) + 48px);padding-bottom:168px}
  .hero .find{margin-top:56px}
  .find label{font-size:20px;line-height:28px}
  .hero-foot{bottom:120px}
  .wn{grid-template-columns:1fr;gap:40px}
  .story .ph{aspect-ratio:16/9}
  .situ-l{grid-template-columns:1fr}
  .ledger a{grid-template-columns:1fr auto;gap:8px 24px}
  .lg-when{grid-column:1 / -1;display:flex;gap:12px;align-items:baseline;font-size:16px}
  .lg-when small{margin:0}
  .lg-fig{text-align:right;max-width:14ch}
  .regions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lt{grid-template-columns:1fr}
  .orgs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inpress{grid-template-columns:1fr;gap:8px}
}
@media (min-width:561px) and (max-width:860px){
  .story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr;column-gap:24px}
  .story .ph{grid-row:span 2;margin:0;aspect-ratio:3/2}
  .story .kind{align-self:end}
}
@media (max-width:560px){
  .orgs li{min-height:104px;padding:16px}
  .lede{font-size:18px;line-height:28px}
  .orgs b{font-size:16px;line-height:22px}
  .caps-g{grid-template-columns:1fr}
  .cap,.cap:nth-child(odd){border-left:0;padding-inline:0}
  .cap + .cap{border-top:1px solid var(--rule);margin-top:24px}
  .cap > p{min-height:0}
  .ledger a{grid-template-columns:1fr}
  .lg-fig{text-align:left;max-width:none;display:flex;align-items:baseline;gap:10px}
  .lg-fig b{display:inline;margin:0}
  .rd-th{display:none}
  .rd-list li{grid-template-columns:1fr auto;gap:4px 16px}
  .rd-c{grid-column:1 / -1;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--red)}
  .ct{grid-template-columns:minmax(0,1fr)}
  .ct-offices{grid-template-columns:minmax(0,1fr);gap:32px}
  .office h3{white-space:normal}
  .ct-mail{display:block;margin:24px 0 0}
  .ftr-g{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .lt-body h3{font-size:22px;line-height:30px}
  .lt-list h3{font-size:18px;line-height:26px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms !important}
  .js .rv{opacity:1;transform:none}
}
