
:root{
  color-scheme: light;
  --navy:#201E51; --navy-deep:#17153D; --navy-ink:#121031; --navy-2:#2B2963;
  --gold:#B58C2E; --gold-lt:#D4AE5A; --gold-dk:#8A6A1E;
  --white:#FFFFFF; --mist:#F5F5F8; --line:#E6E6EE; --slate:#8C8BA6; --ink-2:#4A4870; --on-navy-2:#B9B8CF;
  --display:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --body:"Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --gut:clamp(20px, 4.2vw, 64px);
  --max:1320px;
  --hdr:76px;
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px);background:#FFFFFF;-webkit-text-size-adjust:100%}
body{margin:0;background:#FFFFFF;color:#201E51;font-family:var(--body);font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid #D4AE5A;outline-offset:3px}
.light :focus-visible, .light-f:focus-visible{outline-color:#8A6A1E}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:#B58C2E;color:#121031;padding:10px 16px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}

/* ---------- type primitives ---------- */
.eyebrow{display:flex;align-items:center;gap:14px;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#8A6A1E;margin:0 0 22px}
.eyebrow::before{content:"";width:40px;height:1px;background:#B58C2E;flex:none}
.on-navy .eyebrow{color:#D4AE5A}
.h2{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(2rem,4.2vw,3.6rem);line-height:1.02;letter-spacing:-.022em;margin:0;color:#201E51}
.on-navy .h2{color:#FFFFFF}
.lede{font-size:clamp(1.05rem,1.35vw,1.2rem);color:#4A4870;max-width:38em;margin:22px 0 0}
.on-navy .lede{color:#B9B8CF}
.gold-t{color:#B58C2E}
.on-navy .gold-t{color:#D4AE5A}
.sec{padding:clamp(80px,10vw,150px) 0}
.sec-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px 80px;align-items:end;margin-bottom:clamp(44px,5vw,72px)}
.sec-head .lede{margin:0}
.btn{display:inline-flex;align-items:center;gap:12px;min-height:50px;padding:0 24px;font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.btn .arr{width:18px;height:1px;background:currentColor;position:relative;transition:width .3s var(--ease)}
.btn .arr::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.btn:hover .arr{width:26px}
.btn-gold{background:#B58C2E;color:#121031}
.btn-gold:hover{background:#D4AE5A}
.btn-ghost{border-color:rgba(255,255,255,.45);color:#FFFFFF}
.btn-ghost:hover{border-color:#D4AE5A;color:#D4AE5A}
.btn-navy{background:#201E51;color:#FFFFFF}
.btn-navy:hover{background:#2B2963}
.link{font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:#201E51;display:inline-flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #B58C2E}
.link:hover{color:#8A6A1E}

/* ---------- header ---------- */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;height:var(--hdr);background:linear-gradient(180deg,rgba(18,16,49,.72),rgba(18,16,49,0));transition:background .4s var(--ease),box-shadow .4s var(--ease)}
.hdr.solid{background:rgba(32,30,81,.97);box-shadow:0 1px 0 rgba(212,174,90,.25)}
.hdr .wrap{height:100%;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#FFFFFF;flex:none}
.brand img{width:52px;height:52px}
.brand span{font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase;line-height:1.35;color:#FFFFFF}
.brand span b{display:block;font-weight:600;color:#D4AE5A}
.nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.nav a{font-family:var(--display);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:#E6E6EE;padding:8px 0;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:#D4AE5A;transition:right .35s var(--ease)}
.nav a:hover{color:#FFFFFF}.nav a:hover::after{right:0}
.nav .btn{min-height:42px;padding:0 18px;font-size:12px}
.nav .btn::after{display:none}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.4);color:#FFFFFF;height:42px;padding:0 16px;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.mnav{display:none}
@media (max-width:1060px){
  .nav{display:none}
  .menu-btn{display:inline-flex;align-items:center}
  .mnav{position:absolute;left:0;right:0;top:var(--hdr);background:#201E51;border-top:1px solid rgba(212,174,90,.3);padding:12px var(--gut) 28px}
  .mnav.open{display:block}
  .mnav a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--display);font-size:15px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#FFFFFF}
  .mnav a:last-child{border:0;color:#D4AE5A}
}

/* ---------- hero ---------- */
.hero{position:relative;margin-top:calc(-1 * var(--hdr));min-height:min(88vh,900px);min-height:min(88svh,900px);display:flex;align-items:flex-end;color:#FFFFFF;background:#121031;overflow:hidden;isolation:isolate}
.slides{position:absolute;inset:0;z-index:-2}
.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.8s ease}
.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;transform-origin:60% 50%}
.hero.moving .slide.on img,.hero.moving .slide.out img{animation:kb 11s linear both}
.hero.moving .slide:nth-child(2n).on img,.hero.moving .slide:nth-child(2n).out img{animation-name:kb2}
@keyframes kb{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.11) translate(-1.6%,-1%)}}
@keyframes kb2{from{transform:scale(1.1) translate(-1.5%,0)}to{transform:scale(1.02) translate(0,-.5%)}}
.scrim{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(18,16,49,.55) 0%,rgba(18,16,49,.05) 26%,rgba(18,16,49,.18) 46%,rgba(18,16,49,.9) 88%,#121031 100%),
  linear-gradient(90deg,rgba(18,16,49,.78) 0%,rgba(18,16,49,.35) 45%,rgba(18,16,49,0) 72%)}
.diag{position:absolute;right:0;bottom:0;width:min(46vw,640px);height:100%;z-index:-1;pointer-events:none}
.hero-in{width:100%;padding-top:calc(var(--hdr) + 90px);padding-bottom:clamp(40px,5vw,64px)}
.hero-eyebrow{color:#D4AE5A;margin-bottom:28px}
.hero-eyebrow::before{background:#D4AE5A}
.h1{font-family:var(--display);font-variation-settings:"wdth" 108;font-weight:600;font-size:clamp(2.6rem,6.8vw,6.4rem);line-height:.96;letter-spacing:-.03em;margin:0;max-width:11.5em;color:#FFFFFF;text-wrap:balance}
.h1 em{font-style:normal;color:#D4AE5A;position:relative;white-space:nowrap}
.hero-quote{margin:34px 0 0;max-width:34em;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.hero-quote::before{content:"";width:1px;height:100%;min-height:52px;background:#B58C2E}
.hero-quote blockquote{margin:0;font-size:clamp(1rem,1.3vw,1.15rem);color:#E6E6EE;line-height:1.55}
.hero-quote figcaption{grid-column:2;font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#B9B8CF;margin-top:-6px}
.hero-quote figcaption b{color:#FFFFFF;font-weight:600}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 40px;margin-top:clamp(44px,6vw,80px);padding-top:22px;border-top:1px solid rgba(255,255,255,.16)}
.cap{font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#D4AE5A;min-height:1.4em}
.cap span{color:#B9B8CF}
.prog{display:flex;align-items:center;gap:18px;flex:none}
.prog-n{font-family:var(--display);font-size:12px;letter-spacing:.14em;color:#FFFFFF;font-variant-numeric:tabular-nums}
.prog-n span{color:#8C8BA6}
.bars{display:flex;gap:6px}
.bars button{width:44px;height:24px;border:0;background:none;padding:0;cursor:pointer;position:relative}
.bars button::before,.bars button i{content:"";position:absolute;left:0;right:0;top:11px;height:2px;background:rgba(255,255,255,.22)}
.bars button i{background:#D4AE5A;transform-origin:left;transform:scaleX(0)}
.bars button.done i{transform:scaleX(1)}
.hero.moving .bars button.cur i{animation:fill var(--dur,7s) linear forwards}
.hero:not(.moving) .bars button.cur i{transform:scaleX(1)}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.pp{width:34px;height:34px;border:1px solid rgba(255,255,255,.35);background:none;border-radius:50%;cursor:pointer;display:grid;place-items:center;color:#FFFFFF}
.pp:hover{border-color:#D4AE5A;color:#D4AE5A}
.pp svg{width:10px;height:10px;fill:currentColor}

/* ---------- facts band ---------- */
.facts{background:#121031;color:#FFFFFF;position:relative;overflow:hidden}
.facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid rgba(255,255,255,.1)}
.fact{padding:clamp(34px,4vw,54px) clamp(16px,2vw,32px) clamp(30px,3.6vw,48px) 0;position:relative}
.fact+.fact{padding-left:clamp(20px,2.6vw,40px);border-left:1px solid rgba(255,255,255,.1)}
.fact b{display:block;font-family:var(--display);font-variation-settings:"wdth" 112;font-weight:500;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1;letter-spacing:-.02em;color:#D4AE5A}
.fact span{display:block;margin-top:12px;font-size:14px;letter-spacing:.02em;color:#B9B8CF;max-width:15em}
.fact small{font-size:.5em;letter-spacing:0;margin-left:.1em}
.marq{overflow:hidden;padding:22px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq-track{display:flex;width:max-content;animation:marq 90s linear infinite}
.marq:hover .marq-track{animation-play-state:paused}
.marq ul{display:flex;list-style:none;margin:0;padding:0}
.marq li{font-family:var(--display);font-variation-settings:"wdth" 100;font-size:clamp(15px,1.4vw,18px);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#D4AE5A;white-space:nowrap;display:flex;align-items:center}
.marq li::after{content:"";width:5px;height:5px;background:#B58C2E;opacity:.6;transform:rotate(45deg);margin:0 34px}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- work ---------- */
.work{background:#FFFFFF}
.wgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:62px;gap:28px 24px}
.wt{margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0}
.wt-open{display:block;position:relative;border:0;padding:0;background:#E6E6EE;cursor:zoom-in;overflow:hidden;width:100%;height:100%}
.wt-open img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),filter .6s}
.wt-open:hover img,.wt-open:focus-visible img{transform:scale(1.045)}
.wt-open::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,16,49,0) 60%,rgba(18,16,49,.45));opacity:0;transition:opacity .5s}
.wt-open:hover::after{opacity:1}
.wt-open .cnt{position:absolute;right:14px;bottom:14px;z-index:1;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#FFFFFF;background:rgba(18,16,49,.72);padding:7px 10px;display:flex;gap:8px;align-items:center}
.wt-open .cnt::before{content:"";width:9px;height:9px;border:1px solid #D4AE5A}
.wt figcaption{display:grid;grid-template-columns:auto 1fr;gap:2px 16px;padding-top:16px}
.wt .ix{font-family:var(--display);font-size:12px;letter-spacing:.1em;color:#B58C2E;font-weight:600;padding-top:3px;grid-row:span 2}
.wt .br{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(1.05rem,1.35vw,1.3rem);letter-spacing:-.01em;line-height:1.2;color:#201E51}
.wt .mt{font-size:14px;color:#8C8BA6}
.wt .mt b{font-weight:500;color:#4A4870}
.t1{grid-column:1/8;grid-row:span 8}
.t2{grid-column:8/13;grid-row:span 8}
.t3{grid-column:1/5;grid-row:span 6}
.t4{grid-column:5/9;grid-row:span 6}
.t5{grid-column:9/13;grid-row:span 6}
.t6{grid-column:1/6;grid-row:span 7}
.t7{grid-column:6/13;grid-row:span 7}
.t8{grid-column:1/5;grid-row:span 6}
.t9{grid-column:5/10;grid-row:span 6}
.t10{grid-column:10/13;grid-row:span 6}
.work-foot{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;margin-top:64px;padding-top:28px;border-top:1px solid #E6E6EE;color:#4A4870;font-size:15px}
@media (max-width:1000px){
  .wgrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:36px 20px}
  .wt{grid-column:auto!important;grid-row:auto!important}
  .wt-open{aspect-ratio:4/3;height:auto}
  .t1,.t7{grid-column:1/-1!important}
  .t1 .wt-open,.t7 .wt-open{aspect-ratio:16/9}
}
@media (max-width:640px){
  .wgrid{grid-template-columns:minmax(0,1fr)}
  .t1 .wt-open,.t7 .wt-open{aspect-ratio:4/3}
}

/* ---------- sectors ---------- */
.sectors{background:#201E51;color:#FFFFFF;position:relative;overflow:hidden}
.sx{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(32px,5vw,80px)}
.tabs{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.14)}
.tab{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;text-align:left;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.14);padding:20px 0;cursor:pointer;color:#B9B8CF;transition:color .3s}
.tab .n{font-family:var(--display);font-size:12px;letter-spacing:.1em;color:#8C8BA6}
.tab .l{font-family:var(--display);font-variation-settings:"wdth" 104;font-size:clamp(1.15rem,1.7vw,1.5rem);font-weight:500;letter-spacing:-.01em}
.tab .c{font-size:13px;color:#8C8BA6}
.tab:hover{color:#FFFFFF}
.tab[aria-selected="true"]{color:#FFFFFF}
.tab[aria-selected="true"] .n{color:#D4AE5A}
.tab[aria-selected="true"] .l{color:#FFFFFF}
.tab{position:relative}
.tab::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:#D4AE5A;transition:width .5s var(--ease)}
.tab[aria-selected="true"]::after{width:100%}
.panel{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.panel[hidden]{display:none}
.panel-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#121031;margin:0}
.panel-img img{width:100%;height:100%;object-fit:cover;animation:pin 1.1s var(--ease) both}
@keyframes pin{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
.panel-img figcaption{position:absolute;left:0;bottom:0;background:#121031;color:#D4AE5A;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:10px 14px}
.panel-img figcaption span{color:#B9B8CF}
.panel-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px 48px;padding-top:34px}
.pitch{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:500;font-size:clamp(1.35rem,2.1vw,1.9rem);line-height:1.2;letter-spacing:-.015em;margin:0 0 16px;color:#FFFFFF}
.pitch-note{color:#B9B8CF;font-size:15px;margin:0}
.kl{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#D4AE5A;margin:0 0 12px}
.scopes{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.scopes li{font-size:13px;color:#E6E6EE;border:1px solid rgba(255,255,255,.2);padding:5px 11px}
.roster{list-style:none;margin:0;padding:0;columns:2;column-gap:24px}
.roster li{font-size:15px;color:#FFFFFF;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.1);break-inside:avoid}
.roster li small{display:block;font-size:12px;color:#8C8BA6}
@media (max-width:1000px){
  .sx{grid-template-columns:minmax(0,1fr)}
  .tabs{flex-direction:row;overflow-x:auto;border-top:0;border-bottom:1px solid rgba(255,255,255,.14);scrollbar-width:none;margin:0 calc(-1 * var(--gut));padding:0 var(--gut)}
  .tabs::-webkit-scrollbar{display:none}
  .tab{grid-template-columns:auto auto;border:0;padding:14px 18px 14px 0;margin-right:18px;flex:none}
  .tab .c{display:none}
  .tab .l{font-size:1.05rem;white-space:nowrap}
  .panel-body{grid-template-columns:minmax(0,1fr)}
}

/* ---------- audiences ---------- */
.aud{background:#FFFFFF}
.aud-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,48px)}
.au{border-top:1px solid #201E51;padding-top:28px;display:flex;flex-direction:column}
.au .who{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#8A6A1E;margin-bottom:22px}
.au .who i{font-style:normal;color:#8C8BA6;font-weight:500}
.au h3{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(1.45rem,2vw,1.9rem);line-height:1.12;letter-spacing:-.018em;margin:0 0 16px;color:#201E51}
.au p{margin:0 0 22px;color:#4A4870}
.au ul{list-style:none;margin:0 0 30px;padding:0}
.au li{padding:12px 0 12px 26px;border-top:1px solid #E6E6EE;position:relative;font-size:15.5px;color:#201E51}
.au li::before{content:"";position:absolute;left:0;top:23px;width:12px;height:1px;background:#B58C2E}
.au .link{margin-top:auto;align-self:flex-start}
.subpath{margin-top:clamp(56px,6vw,88px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#E6E6EE;border:1px solid #E6E6EE}
.subpath > div{background:#F5F5F8;padding:26px 28px;display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between}
.subpath h4{margin:0;font-family:var(--display);font-size:1.05rem;font-weight:600;color:#201E51}
.subpath p{margin:2px 0 0;font-size:14.5px;color:#4A4870}
@media (max-width:900px){.aud-grid{grid-template-columns:minmax(0,1fr);gap:52px}.subpath{grid-template-columns:minmax(0,1fr)}}

/* ---------- process ---------- */
.proc{background:#F5F5F8}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));counter-reset:s;position:relative}
.step{padding:0 clamp(16px,2vw,32px) 0 0;position:relative}
.step .num{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.step .num b{font-family:var(--display);font-variation-settings:"wdth" 112;font-size:clamp(2.4rem,3.6vw,3.4rem);font-weight:300;color:#B58C2E;line-height:1;letter-spacing:-.03em}
.step .num::after{content:"";flex:1;height:1px;background:#C9C8D8}
.step:last-child .num::after{background:linear-gradient(90deg,#C9C8D8,transparent)}
.step h3{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:1.3rem;letter-spacing:-.01em;margin:0 0 10px;color:#201E51}
.step p{margin:0;color:#4A4870;font-size:15.5px;max-width:22em}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 0}}
@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr)}}

/* ---------- testimonial ---------- */
.testi{position:relative;color:#FFFFFF;background:#121031;overflow:hidden;isolation:isolate}
.testi > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.testi::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,16,49,.95) 0%,rgba(18,16,49,.86) 50%,rgba(18,16,49,.55) 100%)}
.testi .wrap{padding-top:clamp(90px,11vw,170px);padding-bottom:clamp(80px,9vw,140px)}
.testi blockquote{margin:0;max-width:22em;font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:400;font-size:clamp(1.7rem,3.3vw,3rem);line-height:1.18;letter-spacing:-.018em;color:#FFFFFF;text-indent:-.42em}
.testi blockquote em{font-style:normal;color:#D4AE5A}
.testi .by{margin-top:36px;display:flex;gap:18px;align-items:center}
.testi .by::before{content:"";width:48px;height:1px;background:#B58C2E}
.testi .by b{display:block;font-family:var(--display);font-weight:600;letter-spacing:.04em;color:#FFFFFF}
.testi .by span{font-size:14px;color:#B9B8CF}
.more-q{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:clamp(56px,7vw,96px);padding-top:32px;border-top:1px solid rgba(255,255,255,.16);max-width:980px}
.more-q p{margin:0 0 12px;color:#E6E6EE;font-size:16px}
.more-q cite{font-style:normal;font-size:13px;color:#8C8BA6}
.more-q cite b{color:#D4AE5A;font-weight:500}
.testi .photo-cap{position:absolute;right:var(--gut);bottom:22px;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#B9B8CF}
@media (max-width:760px){.testi blockquote{text-indent:0}.more-q{grid-template-columns:minmax(0,1fr)}.testi .photo-cap{position:static;padding:0 var(--gut) 22px}}

/* ---------- safety ---------- */
.safety{background:#FFFFFF}
.sf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,100px);align-items:center}
.sf-img{margin:0;position:relative}
.sf-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.sf-img figcaption{font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8C8BA6;margin-top:12px}
.sf-img::before{content:"";position:absolute;left:-18px;top:-18px;width:120px;height:120px;border-left:1px solid #B58C2E;border-top:1px solid #B58C2E;pointer-events:none}
.sf-list{margin:36px 0 0;padding:0;list-style:none;border-top:1px solid #E6E6EE}
.sf-list li{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #E6E6EE}
.sf-list b{font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8A6A1E;padding-top:3px}
.sf-list span{color:#201E51}
@media (max-width:900px){.sf{grid-template-columns:minmax(0,1fr)}.sf-img::before{left:-8px;top:-8px;width:70px;height:70px}}
@media (max-width:520px){.sf-list li{grid-template-columns:minmax(0,1fr);gap:4px}}

/* ---------- coverage ---------- */
.cov{background:#F5F5F8}
.cv{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,96px);align-items:center}
.offices{margin-top:36px;display:grid;gap:1px;background:#E6E6EE;border:1px solid #E6E6EE}
.office{background:#FFFFFF;padding:22px 24px;display:grid;grid-template-columns:auto 1fr;gap:4px 18px}
.office i{grid-row:span 2;width:12px;height:12px;background:#B58C2E;margin-top:6px}
.office.ok i{background:#FFFFFF;border:2px solid #B58C2E}
.office b{font-family:var(--display);font-weight:600;color:#201E51}
.office span{font-size:14.5px;color:#4A4870}
.tiles{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:5px;position:relative}
.tiles span{aspect-ratio:1;display:grid;place-items:center;font-family:var(--display);font-size:clamp(8px,1vw,12px);font-weight:500;letter-spacing:.04em;background:#201E51;color:#8C8BA6}
.tiles span.hq{background:#B58C2E;color:#121031;font-weight:700}
.tiles span.of{background:#FFFFFF;color:#8A6A1E;font-weight:700;box-shadow:inset 0 0 0 2px #B58C2E}
.tiles-legend{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:22px;font-size:13px;color:#4A4870}
.tiles-legend span{display:inline-flex;align-items:center;gap:8px}
.tiles-legend i{width:12px;height:12px;display:inline-block}
@media (max-width:900px){.cv{grid-template-columns:minmax(0,1fr)}.tiles{gap:3px}}

/* ---------- contact ---------- */
.contact{background:#201E51;color:#FFFFFF;position:relative;overflow:hidden}
.ct{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,100px)}
.lines{margin:40px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14)}
.lines li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.lines small{grid-column:1/-1;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#D4AE5A}
.lines .val{font-family:var(--display);font-variation-settings:"wdth" 104;font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:500;color:#FFFFFF;user-select:all;-webkit-user-select:all;overflow-wrap:anywhere}
.copy{background:none;border:1px solid rgba(255,255,255,.3);color:#E6E6EE;height:36px;padding:0 14px;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;min-width:82px}
.copy:hover{border-color:#D4AE5A;color:#D4AE5A}
.copy.ok{border-color:#D4AE5A;background:#D4AE5A;color:#121031}
.addr{margin-top:26px;color:#B9B8CF;font-size:15px}
.addr a{color:#D4AE5A}
.form{background:#FFFFFF;color:#201E51;padding:clamp(26px,3.4vw,48px)}
.form h3{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:1.6rem;letter-spacing:-.015em;margin:0 0 6px}
.form > p{margin:0 0 28px;color:#4A4870;font-size:15px}
.fg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 20px}
.fg .full{grid-column:1/-1}
.fld label{display:block;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#4A4870;margin-bottom:8px}
.fld input,.fld select,.fld textarea{width:100%;font:inherit;font-size:16px;color:#201E51;background:#F5F5F8;border:0;border-bottom:1px solid #8C8BA6;padding:12px 12px;border-radius:0;appearance:none;-webkit-appearance:none}
.fld select{background-image:linear-gradient(45deg,transparent 50%,#201E51 50%),linear-gradient(135deg,#201E51 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid #8A6A1E;outline-offset:0;border-bottom-color:#B58C2E;background:#FFFFFF}
.form .btn{margin-top:26px}
.note{margin:18px 0 0;padding:14px 16px;border-left:2px solid #B58C2E;background:#F5F5F8;font-size:14.5px;color:#201E51}
.note[hidden]{display:none}
@media (max-width:900px){.ct{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.fg{grid-template-columns:minmax(0,1fr)}}

/* ---------- footer ---------- */
.foot{background:#121031;color:#B9B8CF;padding:72px 0 36px;font-size:14.5px}
.fgrid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:40px}
.foot img{width:96px;height:96px}
.foot h5{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#D4AE5A;margin:0 0 16px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 9px}
.foot a{color:#E6E6EE;text-decoration:none}
.foot a:hover{color:#D4AE5A}
.foot .tag{margin:22px 0 0;max-width:22em;color:#B9B8CF}
.foot .base{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;margin-top:64px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:#8C8BA6}
@media (max-width:900px){.fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.fgrid > :first-child{grid-column:1/-1}}

/* diagonal hairlines (echo of LinkedIn cover) */
.hair{position:absolute;pointer-events:none}
.hair line{stroke:#B58C2E;stroke-width:1;vector-effect:non-scaling-stroke}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:200;background:#121031;display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:#FFFFFF}
.lb[hidden]{display:none}
.lb-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px var(--gut)}
.lb-t{font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#D4AE5A;min-width:0}
.lb-t span{color:#B9B8CF}
.lb-x{background:none;border:1px solid rgba(255,255,255,.3);color:#FFFFFF;height:40px;padding:0 16px;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;flex:none}
.lb-x:hover{border-color:#D4AE5A;color:#D4AE5A}
.lb-stage{position:relative;display:grid;place-items:center;padding:0 clamp(16px,7vw,110px);min-height:0}
.lb-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;animation:lbin .7s var(--ease)}
@keyframes lbin{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border:1px solid rgba(255,255,255,.3);background:rgba(18,16,49,.6);color:#FFFFFF;cursor:pointer;display:grid;place-items:center}
.lb-nav:hover{border-color:#D4AE5A;color:#D4AE5A}
.lb-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.2}
.lb-prev{left:clamp(8px,2vw,32px)}.lb-next{right:clamp(8px,2vw,32px)}
.lb-bot{display:flex;justify-content:space-between;gap:16px;padding:16px var(--gut) 22px;font-size:14px;color:#B9B8CF}
.lb-bot b{color:#FFFFFF;font-weight:500}
.lb-ct{font-family:var(--display);letter-spacing:.14em;font-variant-numeric:tabular-nums}
@media (max-width:640px){.lb-nav{top:auto;bottom:-66px;transform:none;width:46px;height:46px}.lb-bot{padding-left:calc(var(--gut) + 0px);padding-right:var(--gut)}.lb-prev{left:auto;right:calc(var(--gut) + 54px)}.lb-next{right:var(--gut)}.lb-bot{padding-right:140px}}

@media (max-width:760px){
  .sec-head{grid-template-columns:minmax(0,1fr);gap:20px}
  .facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fact:nth-child(3){padding-left:0;border-left:0}
  .fact:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}
  .brand span{display:none}
  .scrim{background:linear-gradient(180deg,rgba(18,16,49,.6) 0%,rgba(18,16,49,.5) 30%,rgba(18,16,49,.82) 60%,#121031 100%)}
  .hero-eyebrow{font-size:11px;letter-spacing:.16em}
  .hero-foot{flex-direction:column;align-items:flex-start}
  .bars button{width:30px}
  .roster{columns:1}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .marq-track{animation:none!important;width:auto;flex-wrap:wrap}
  .marq{mask-image:none;-webkit-mask-image:none}
  .marq ul[aria-hidden]{display:none}
  .marq ul{flex-wrap:wrap;row-gap:10px;padding:0 var(--gut)}
  .pp{display:none}
}

/* =====================================================================
   SITE EXTENSIONS — multi-view system built on the Flagship tokens
   ===================================================================== */
[hidden]{display:none!important}
html{scroll-behavior:auto}
main:focus{outline:none}
[data-view] h1[tabindex="-1"]:focus{outline:none}
[data-view] h1[tabindex="-1"]:focus-visible{outline:none}
.light{color:#201E51}
.bg-mist{background:#F5F5F8}
.bg-white{background:#FFFFFF}
.bg-navy{background:#201E51;color:#FFFFFF}
.bg-ink{background:#121031;color:#FFFFFF}
.rel{position:relative;overflow:hidden}
.sec.tight{padding:clamp(64px,7vw,104px) 0}
.sec + .sec.bg-white.join,.sec.bg-white + .sec.bg-white{padding-top:0}
.prose{max-width:40em;color:#4A4870}
.prose p{margin:0 0 1em}
.prose p:last-child{margin-bottom:0}
.prose strong{color:#201E51;font-weight:600}
.on-navy .prose{color:#B9B8CF}
.on-navy .prose strong{color:#FFFFFF}
.h3{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(1.35rem,1.9vw,1.75rem);line-height:1.15;letter-spacing:-.015em;margin:0 0 14px;color:#201E51}
.on-navy .h3{color:#FFFFFF}
.kl-d{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#8A6A1E;margin:0 0 14px}
.on-navy .kl-d{color:#D4AE5A}
.link.on-dark{color:#FFFFFF;border-bottom-color:#D4AE5A}
.link.on-dark:hover{color:#D4AE5A}
.link .arr,.lk .arr{width:18px;height:1px;background:currentColor;position:relative;transition:width .3s var(--ease)}
.link .arr::after,.lk .arr::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.link:hover .arr{width:26px}
.btn-line{border-color:#201E51;color:#201E51;background:transparent}
.btn-line:hover{background:#201E51;color:#FFFFFF}

/* ---------- header additions ---------- */
.nav{gap:26px}
.nav a[aria-current="page"],.nav a.is-active,.dd-btn.is-active{color:#FFFFFF}
.nav > a[aria-current="page"]::after,.nav > a.is-active::after,.dd-btn.is-active::after{right:0}
.nav > a.btn[aria-current],.nav > a.btn.is-active{color:#121031}
.dd{position:relative}
.dd-btn{background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#E6E6EE;padding:8px 0;position:relative}
.dd-btn::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:#D4AE5A;transition:right .35s var(--ease)}
.dd-btn:hover{color:#FFFFFF}.dd-btn:hover::after{right:0}
.caret{width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ease)}
.dd-btn[aria-expanded="true"] .caret{transform:translateY(1px) rotate(-135deg)}
.dd-menu{position:absolute;top:calc(100% + 18px);left:-24px;min-width:300px;background:#201E51;border-top:1px solid #B58C2E;box-shadow:0 30px 60px rgba(18,16,49,.4);padding:10px 0;z-index:5}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-19px;height:19px}
.nav .dd-menu a{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:12px 24px;font-size:12.5px;letter-spacing:.09em;color:#E6E6EE}
.nav .dd-menu a::after{display:none}
.nav .dd-menu a:hover,.nav .dd-menu a:focus-visible{background:#2B2963;color:#FFFFFF;outline-offset:-2px}
.nav .dd-menu a[aria-current="page"]{color:#D4AE5A}
.dd-menu small{font-size:10.5px;letter-spacing:.14em;color:#8C8BA6;white-space:nowrap}
.dd-menu .sep{height:1px;background:rgba(255,255,255,.1);margin:6px 0}
@media (max-width:1340px) and (min-width:1201px){.nav{gap:20px}.brand span{display:none}}

/* mobile: full-screen menu */
.mnav{display:none}
@media (max-width:1200px){
  .mnav{position:fixed;left:0;right:0;top:calc(var(--hdr) + env(safe-area-inset-top,0px));bottom:0;overflow-y:auto;overscroll-behavior:contain;background:#201E51;border-top:1px solid rgba(212,174,90,.3);padding:18px var(--gut) 48px}
  .mnav.open{display:block}
  .mnav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;max-width:900px}
  .mnav .mg h2{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#D4AE5A;margin:10px 0 6px}
  .mnav .mg a,.mnav .mg a:last-child{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--display);font-size:15px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:#FFFFFF}
  .mnav .mg a small{font-size:11px;letter-spacing:.12em;color:#8C8BA6}
  .mnav .mg a[aria-current="page"]{color:#D4AE5A}
  .mnav .m-cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
  .mnav .m-cta .btn{color:#121031}
  .mnav .m-meta{margin-top:26px;color:#B9B8CF;font-size:14px}
}
@media (max-width:600px){.mnav-grid{grid-template-columns:minmax(0,1fr);gap:8px}}
body.menu-open{overflow:hidden}

/* ---------- page hero ---------- */
.phero{position:relative;background:#201E51;color:#FFFFFF;overflow:hidden;isolation:isolate}
.phero > .wrap{position:relative;padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(60px,7vw,104px)}
.phero .diag{width:min(52vw,720px)}
.phero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(212,174,90,.25)}
.ph1{font-family:var(--display);font-variation-settings:"wdth" 108;font-weight:600;font-size:clamp(2.5rem,6.2vw,5.6rem);line-height:.97;letter-spacing:-.03em;margin:0;max-width:12.5em;color:#FFFFFF;text-wrap:balance}
.ph1 em{font-style:normal;color:#D4AE5A}
.phero .eyebrow{color:#D4AE5A}
.phero .eyebrow::before{background:#D4AE5A}
.phero .lede{color:#C9C8DA;max-width:40em;margin-top:26px}
.phero .hero-cta{margin-top:34px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;row-gap:6px;margin:0 0 clamp(40px,5vw,72px);padding:0;font-family:var(--display);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.crumbs li{display:flex;align-items:center;color:#8C8BA6;min-width:0}
.crumbs li + li::before{content:"";width:16px;height:1px;background:#B58C2E;margin:0 12px;flex:none}
.crumbs a{color:#E6E6EE;text-decoration:none}
.crumbs a:hover{color:#D4AE5A}
.crumbs [aria-current]{color:#D4AE5A}
.pmeta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(44px,5vw,72px);border-top:1px solid rgba(255,255,255,.14)}
.pmeta div{padding:24px 24px 0 0}
.pmeta div + div{padding-left:24px;border-left:1px solid rgba(255,255,255,.1)}
.pmeta b{display:block;font-family:var(--display);font-variation-settings:"wdth" 112;font-weight:500;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1;letter-spacing:-.02em;color:#D4AE5A}
.pmeta b small{font-size:.55em;margin-left:.08em}
.pmeta span{display:block;margin-top:10px;font-size:13.5px;color:#B9B8CF;max-width:16em}
@media (max-width:760px){
  .pmeta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pmeta div:nth-child(3){padding-left:0;border-left:0}
  .pmeta div:nth-child(n+3){margin-top:22px}
}
/* photo variant */
.phero.photo{min-height:min(78vh,820px);min-height:min(78svh,820px);display:flex;align-items:flex-end;background:#121031}
.phero.photo > .wrap{width:100%;padding-top:40px}
.phero.photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.phero.photo .scrim{z-index:-1;background:linear-gradient(180deg,rgba(18,16,49,.7) 0%,rgba(18,16,49,.15) 22%,rgba(18,16,49,.25) 45%,rgba(18,16,49,.9) 86%,#121031 100%),linear-gradient(90deg,rgba(18,16,49,.75) 0%,rgba(18,16,49,.3) 50%,rgba(18,16,49,0) 78%)}
.phero.photo .crumbs ol{margin-bottom:auto}
.phero.photo .pin{display:flex;flex-direction:column;min-height:calc(min(78vh,820px) - 60px)}
.phero.photo .pin-body{margin-top:auto;padding-top:clamp(80px,14vh,180px)}
.phero .pcap{margin:clamp(32px,4vw,52px) 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);font-family:var(--display);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#D4AE5A;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
.phero .pcap span{color:#B9B8CF}
.sub-line{margin:18px 0 0;font-family:var(--display);font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#E6E6EE}
.sub-line b{color:#D4AE5A;font-weight:600}

/* ---------- CTA band ---------- */
.ctab{background:#121031;color:#FFFFFF;position:relative;overflow:hidden;isolation:isolate}
.ctab > .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:36px 72px;align-items:end;padding-top:clamp(80px,9vw,136px);padding-bottom:clamp(80px,9vw,136px);position:relative}
.ctab .acts{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-end}
.ctab .lede{margin-top:18px}
@media (max-width:900px){.ctab > .wrap{grid-template-columns:minmax(0,1fr)}.ctab .acts{justify-content:flex-start}}

/* ---------- selected-work tiles as links ---------- */
a.wt-open{cursor:pointer;text-decoration:none}
.wt figcaption a{text-decoration:none;color:inherit}
.panel-go{margin-top:30px;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
.work-foot .acts{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center}

/* ---------- filter chips ---------- */
.fbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 32px;margin:0 0 clamp(36px,4vw,56px);padding-bottom:26px;border-bottom:1px solid #E6E6EE}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 16px;border:1px solid #C9C8D8;background:#FFFFFF;color:#201E51;font-family:var(--display);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.chip span{color:#8C8BA6;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.chip:hover{border-color:#201E51}
.chip[aria-pressed="true"]{background:#201E51;border-color:#201E51;color:#FFFFFF}
.chip[aria-pressed="true"] span{color:#D4AE5A}
.fstat{font-size:14px;color:#8C8BA6;margin:0}
.fstat b{color:#201E51;font-weight:600}

/* ---------- project cards ---------- */
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 28px;list-style:none;margin:0;padding:0}
.pc{min-width:0}
.pc > a{display:block;text-decoration:none;color:inherit}
.pc .ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:#E6E6EE}
.pc .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.pc > a:hover .ph img,.pc > a:focus-visible .ph img{transform:scale(1.045)}
.pc .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,16,49,0) 55%,rgba(18,16,49,.5));opacity:0;transition:opacity .5s}
.pc > a:hover .ph::after{opacity:1}
.cnt{position:absolute;right:14px;bottom:14px;z-index:1;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#FFFFFF;background:rgba(18,16,49,.78);padding:7px 10px;display:flex;gap:8px;align-items:center}
.cnt::before{content:"";width:9px;height:9px;border:1px solid #D4AE5A}
.pc .pc-cap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 16px;padding-top:16px}
.pc .ix{font-family:var(--display);font-size:12px;letter-spacing:.1em;color:#B58C2E;font-weight:600;padding-top:4px;grid-row:span 2;font-variant-numeric:tabular-nums}
.pc .br{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(1.08rem,1.35vw,1.3rem);letter-spacing:-.01em;line-height:1.2;color:#201E51;display:flex;align-items:center;gap:12px}
.pc .br .arr{width:0;height:1px;background:#B58C2E;position:relative;transition:width .35s var(--ease);flex:none}
.pc > a:hover .br .arr{width:22px}
.pc .mt{font-size:14px;color:#8C8BA6}
.pc .mt b{font-weight:500;color:#4A4870}
.on-navy .pc .br{color:#FFFFFF}
.on-navy .pc .mt b{color:#E6E6EE}
@media (max-width:1000px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 20px}}
@media (max-width:640px){.pgrid{grid-template-columns:minmax(0,1fr)}}
.also{margin-top:clamp(56px,6vw,88px);display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr);gap:20px 48px;padding-top:28px;border-top:1px solid #201E51}
.also h3{margin:0;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#8A6A1E}
.also ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 0}
.also li{font-family:var(--display);font-variation-settings:"wdth" 104;font-size:1.25rem;font-weight:500;color:#201E51;display:flex;align-items:baseline}
.also li small{font-family:var(--body);font-size:13px;color:#8C8BA6;margin-left:10px}
.also li + li::before{content:"";width:5px;height:5px;background:#B58C2E;transform:rotate(45deg) translateY(-4px);margin:0 20px}
.also p{margin:14px 0 0;font-size:14.5px;color:#4A4870;grid-column:2}
@media (max-width:760px){.also{grid-template-columns:minmax(0,1fr)}.also p{grid-column:1}}

/* ---------- project detail ---------- */
.pd{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,100px);align-items:start}
.rail{border-top:1px solid #201E51;margin:0}
.rail > div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:6px 20px;padding:17px 0;border-bottom:1px solid #E6E6EE}
.rail dt{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#8A6A1E;padding-top:4px}
.rail dd{margin:0;color:#201E51;font-size:15.5px}
.rail dd a{color:#201E51;text-decoration-color:#B58C2E;text-underline-offset:4px}
.rail dd a:hover{color:#8A6A1E}
.rail-note{margin:16px 0 0;font-size:13px;color:#8C8BA6}
.pd-copy .pitch{color:#201E51;margin-bottom:22px}
.pd-copy .scopes li{color:#201E51;border-color:#C9C8D8}
@media (max-width:900px){.pd{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.rail > div{grid-template-columns:minmax(0,1fr);gap:4px}}
.gal{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.gal li{grid-column:span 3;min-width:0}
.gal.n1 li,.gal.n3 li:first-child,.gal.n4 li:first-child{grid-column:1/-1}
.gal.n4 li:not(:first-child){grid-column:span 2}
.gal button{display:block;position:relative;width:100%;border:0;padding:0;background:#E6E6EE;cursor:zoom-in;overflow:hidden;aspect-ratio:3/2}
.gal li:first-child button{aspect-ratio:16/9}
.gal.n2 li button{aspect-ratio:4/3}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.gal button:hover img,.gal button:focus-visible img{transform:scale(1.035)}
.gal .gcap{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:14px;color:#4A4870}
.gal .gcap b{font-weight:500;color:#201E51}
.gal .gcap span{font-family:var(--display);font-size:11px;letter-spacing:.14em;color:#B58C2E;font-variant-numeric:tabular-nums}
.gal .zoom{position:absolute;right:14px;top:14px;width:38px;height:38px;background:rgba(18,16,49,.72);display:grid;place-items:center;opacity:0;transition:opacity .35s}
.gal button:hover .zoom,.gal button:focus-visible .zoom{opacity:1}
.gal .zoom::before{content:"";width:12px;height:12px;border:1px solid #D4AE5A}
@media (max-width:640px){.gal li,.gal.n4 li:not(:first-child){grid-column:1/-1}.gal li button,.gal li:first-child button{aspect-ratio:4/3}}
.pnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #E6E6EE}
.pnav a{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;align-items:center;padding:30px 0;text-decoration:none;color:#201E51}
.pnav a + a{grid-template-columns:minmax(0,1fr) 96px;text-align:right;border-left:1px solid #E6E6EE;padding-left:24px}
.pnav a:first-child{padding-right:24px}
.pnav img{width:96px;height:72px;object-fit:cover;background:#E6E6EE}
.pnav small{display:block;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#8A6A1E;margin-bottom:6px}
.pnav b{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(1.05rem,1.6vw,1.4rem);letter-spacing:-.01em;line-height:1.2;display:block}
.pnav a:hover b{color:#8A6A1E}
.pnav .nd{font-size:13.5px;color:#8C8BA6}
@media (max-width:640px){.pnav{grid-template-columns:minmax(0,1fr)}.pnav a,.pnav a + a{grid-template-columns:72px minmax(0,1fr);text-align:left;border-left:0;padding:22px 0}.pnav a + a{border-top:1px solid #E6E6EE}.pnav a + a img{order:-1}.pnav img{width:72px;height:54px}}

/* ---------- sectors overview rows ---------- */
.srows{list-style:none;margin:0;padding:0}
.srow{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(40px,5vw,72px) 0;border-top:1px solid #E6E6EE}
.srow:first-child{border-top:0;padding-top:0}
.srow:nth-child(even) .srow-img{order:2}
.srow-img{display:block;position:relative;overflow:hidden;aspect-ratio:16/10;background:#E6E6EE}
.srow-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.srow-img:hover img{transform:scale(1.04)}
.srow-img .tagc{position:absolute;left:0;bottom:0;background:#121031;color:#D4AE5A;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:10px 14px}
.srow-img .tagc span{color:#B9B8CF}
.srow .num{font-family:var(--display);font-variation-settings:"wdth" 112;font-size:clamp(2.6rem,4vw,3.6rem);font-weight:300;color:#B58C2E;line-height:1;letter-spacing:-.03em;margin:0 0 18px}
.srow h2{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.04;letter-spacing:-.022em;margin:0 0 16px}
.srow h2 a{color:#201E51;text-decoration:none}
.srow h2 a:hover{color:#8A6A1E}
.srow .q{font-family:var(--display);font-variation-settings:"wdth" 104;font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:500;color:#4A4870;margin:0 0 20px;line-height:1.35}
.srow .counts{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14px;color:#8C8BA6;margin:0 0 24px}
.srow .counts b{color:#201E51;font-weight:600}
.srow .scopes li{color:#201E51;border-color:#C9C8D8}
@media (max-width:900px){.srow{grid-template-columns:minmax(0,1fr)}.srow:nth-child(even) .srow-img{order:0}}

/* ---------- light variants of dark components ---------- */
.scopes.lt li{color:#201E51;border-color:#C9C8D8;background:#FFFFFF}
.roster.lt li{color:#201E51;border-bottom-color:#E6E6EE}
.roster.lt li small{color:#8C8BA6}

/* ---------- numbered point grid ---------- */
.pts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,64px);list-style:none;margin:0;padding:0;counter-reset:pt}
.pts.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pts.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pts > li{counter-increment:pt;padding:30px 0 34px;border-top:1px solid #201E51;position:relative}
.pts > li::before{content:counter(pt,decimal-leading-zero);display:block;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.12em;color:#B58C2E;margin-bottom:16px}
.pts.nonum > li::before{content:"";width:28px;height:1px;background:#B58C2E;margin:8px 0 22px}
.pts h3{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(1.2rem,1.6vw,1.45rem);line-height:1.18;letter-spacing:-.012em;margin:0 0 10px;color:#201E51}
.pts p{margin:0;color:#4A4870;font-size:15.5px;max-width:30em}
.on-navy .pts > li{border-top-color:rgba(255,255,255,.2)}
.on-navy .pts h3{color:#FFFFFF}
.on-navy .pts p{color:#B9B8CF}
.on-navy .pts > li::before{color:#D4AE5A}
@media (max-width:1000px){.pts.c4{grid-template-columns:repeat(2,minmax(0,1fr))}.pts.c3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pts,.pts.c3,.pts.c4{grid-template-columns:minmax(0,1fr)}}

/* ---------- split layout ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,100px);align-items:start}
.split.mid{align-items:center}
.split.w{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
@media (max-width:900px){.split,.split.w{grid-template-columns:minmax(0,1fr)}}
.fig{margin:0;position:relative}
.fig img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#E6E6EE}
.fig figcaption{font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8C8BA6;margin-top:12px}
.fig.corner::before{content:"";position:absolute;left:-18px;top:-18px;width:120px;height:120px;border-left:1px solid #B58C2E;border-top:1px solid #B58C2E;pointer-events:none}
@media (max-width:900px){.fig.corner::before{left:-8px;top:-8px;width:70px;height:70px}}

/* ---------- ticks list ---------- */
.ticks{list-style:none;margin:0;padding:0}
.ticks li{padding:13px 0 13px 28px;border-top:1px solid #E6E6EE;position:relative;font-size:15.5px;color:#201E51}
.ticks li:last-child{border-bottom:1px solid #E6E6EE}
.ticks li::before{content:"";position:absolute;left:0;top:25px;width:13px;height:1px;background:#B58C2E}
.on-navy .ticks li{border-color:rgba(255,255,255,.14);color:#E6E6EE}

/* ---------- services ---------- */
.svc{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,1fr) minmax(0,.9fr);gap:28px clamp(28px,4vw,64px);padding:clamp(48px,6vw,84px) 0;border-top:1px solid #201E51}
.svc:first-child{border-top:0;padding-top:0}
.svc .big{font-family:var(--display);font-variation-settings:"wdth" 112;font-size:clamp(3rem,6vw,5.6rem);font-weight:300;color:#B58C2E;line-height:.9;letter-spacing:-.04em}
.svc h2{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.04;letter-spacing:-.022em;margin:0 0 18px;color:#201E51}
.svc .what{font-size:clamp(1.05rem,1.3vw,1.15rem);color:#4A4870;margin:0 0 22px}
.svc .conn{margin:26px 0 0;padding:16px 18px;background:#F5F5F8;border-left:2px solid #B58C2E;font-size:14.5px;color:#201E51}
.svc .conn b{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#8A6A1E;display:block;margin-bottom:4px}
.svc-img{margin:0}
.svc-img img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#E6E6EE}
.svc-img figcaption{font-family:var(--display);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#8C8BA6;margin-top:10px}
@media (max-width:1000px){.svc{grid-template-columns:minmax(0,.2fr) minmax(0,1fr)}.svc-img{grid-column:2}.svc-img img{aspect-ratio:16/10}}
@media (max-width:640px){.svc{grid-template-columns:minmax(0,1fr)}.svc-img{grid-column:auto}.svc .big{font-size:3rem}}
.svc-toc{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.svc-toc a{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 16px;border:1px solid rgba(255,255,255,.25);color:#E6E6EE;text-decoration:none;font-family:var(--display);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.svc-toc a b{color:#D4AE5A;font-weight:600}
.svc-toc a:hover{border-color:#D4AE5A;color:#FFFFFF}

/* ---------- quotes ---------- */
.qgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,64px)}
.qc{margin:0;padding-top:26px;border-top:1px solid #B58C2E}
.qc blockquote{margin:0 0 18px;font-family:var(--display);font-variation-settings:"wdth" 104;font-size:clamp(1.25rem,1.9vw,1.65rem);font-weight:400;line-height:1.3;letter-spacing:-.01em;color:#201E51}
.qc figcaption{font-size:14px;color:#8C8BA6}
.qc figcaption b{display:block;font-family:var(--display);font-weight:600;color:#201E51;letter-spacing:.02em;font-size:15px}
.qc .ex{display:inline-block;margin-top:8px;font-family:var(--display);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#8A6A1E}
.on-navy .qc blockquote{color:#FFFFFF}
.on-navy .qc figcaption b{color:#FFFFFF}
.on-navy .qc .ex{color:#D4AE5A}
@media (max-width:760px){.qgrid{grid-template-columns:minmax(0,1fr)}}

/* ---------- big quote (about) ---------- */
.bigq{margin:0;max-width:26em}
.bigq blockquote{margin:0;font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:500;font-size:clamp(1.9rem,4vw,3.6rem);line-height:1.1;letter-spacing:-.025em;color:#FFFFFF;text-indent:-.4em}
.bigq blockquote em{font-style:normal;color:#D4AE5A}
.bigq figcaption{margin-top:30px;display:flex;gap:18px;align-items:center;font-size:14px;color:#B9B8CF}
.bigq figcaption::before{content:"";width:48px;height:1px;background:#B58C2E}
.bigq figcaption b{color:#FFFFFF;font-family:var(--display);font-weight:600;letter-spacing:.04em;margin-right:6px}
@media (max-width:760px){.bigq blockquote{text-indent:0}}

/* ---------- milestones ---------- */
.miles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0;position:relative}
.miles::before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:#C9C8D8}
.miles li{position:relative;padding:40px 24px 0 0}
.miles li::before{content:"";position:absolute;left:0;top:4px;width:11px;height:11px;background:#B58C2E;transform:rotate(45deg)}
.miles b{display:block;font-family:var(--display);font-variation-settings:"wdth" 112;font-weight:500;font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1;letter-spacing:-.02em;color:#201E51}
.miles b small{font-size:.55em;color:#B58C2E}
.miles span{display:block;margin-top:12px;font-size:14.5px;color:#4A4870;max-width:14em}
@media (max-width:900px){.miles{grid-template-columns:minmax(0,1fr)}.miles::before{left:5px;right:auto;top:0;bottom:0;width:1px;height:auto}.miles li{padding:0 0 30px 40px}.miles li::before{top:10px}}

/* ---------- sector growth line ---------- */
.growth{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 0;align-items:center}
.growth li{display:flex;align-items:center;font-family:var(--display);font-variation-settings:"wdth" 104;font-size:clamp(1.05rem,1.6vw,1.35rem);font-weight:500;color:#FFFFFF}
.growth li a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(212,174,90,.5)}
.growth li a:hover{color:#D4AE5A}
.growth li + li::before{content:"";width:28px;height:1px;background:#B58C2E;margin:0 16px}
.growth li.first{color:#D4AE5A}
.growth li.new small{font-family:var(--body);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#D4AE5A;margin-left:10px}

/* ---------- brand wall (text) ---------- */
.bwall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,48px)}
.bwall section{padding-top:22px;border-top:1px solid #201E51;margin-bottom:34px}
.bwall h3{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#8A6A1E;margin:0 0 10px}
.bwall h3 a{color:inherit;text-decoration:none}
.bwall h3 a:hover{color:#201E51}
.bwall h3 i{font-style:normal;color:#8C8BA6;font-weight:500}
.bwall ul{list-style:none;margin:0;padding:0}
.bwall li{border-bottom:1px solid #E6E6EE}
.bwall li a,.bwall li span{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:9px 0;font-size:15.5px;color:#201E51;text-decoration:none}
.bwall li a:hover{color:#8A6A1E}
.bwall li a::after{content:"View";font-family:var(--display);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#B58C2E;opacity:0;transition:opacity .25s}
.bwall li a:hover::after,.bwall li a:focus-visible::after{opacity:1}
.bwall li small{font-size:12.5px;color:#8C8BA6;margin-left:auto}
@media (max-width:1000px){.bwall{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.bwall{grid-template-columns:minmax(0,1fr)}}

/* ---------- engagement steps (reuse .steps) ---------- */
.steps.on-navy .step h3{color:#FFFFFF}
.steps.on-navy .step p{color:#B9B8CF}
.steps.on-navy .step .num::after{background:rgba(255,255,255,.2)}
.steps.on-navy .step .num b{color:#D4AE5A}

/* ---------- forms extras ---------- */
.fld .hint{display:block;margin-top:6px;font-size:12.5px;color:#8C8BA6}
.fld .err{display:block;margin-top:6px;font-size:13px;color:#8A1E2E;font-weight:500}
.fld .err:empty{display:none}
.fld [aria-invalid="true"]{border-bottom-color:#8A1E2E;box-shadow:inset 0 -1px 0 #8A1E2E}
.fld input[type="file"]{padding:10px;background:#FFFFFF;border:1px dashed #8C8BA6;cursor:pointer;font-size:14px}
.fld input[type="file"]::file-selector-button{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:#201E51;color:#FFFFFF;border:0;padding:9px 14px;margin-right:14px;cursor:pointer}
.req{color:#8A6A1E}
fieldset.fld{border:0;margin:0;padding:0;min-width:0}
fieldset.fld legend{display:block;padding:0;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#4A4870;margin-bottom:12px}
.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#E6E6EE;border:1px solid #E6E6EE}
.checks label{display:flex;align-items:center;gap:10px;background:#FFFFFF;padding:10px 12px;font-family:var(--body);font-size:14px;letter-spacing:0;text-transform:none;color:#201E51;cursor:pointer;margin:0;font-weight:400;min-width:0}
.checks label:hover{background:#F5F5F8}
.checks input{width:16px;height:16px;flex:none;accent-color:#201E51;margin:0}
.checks label:has(input:checked){background:#F5F5F8;box-shadow:inset 2px 0 0 #B58C2E}
@media (max-width:900px){.checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.checks{grid-template-columns:minmax(0,1fr)}}
.fg.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.fg.c3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.fg.c3{grid-template-columns:minmax(0,1fr)}}
.form.bordered{border:1px solid #E6E6EE}
.form .fs-h{grid-column:1/-1;margin:14px 0 -4px;padding-top:22px;border-top:1px solid #E6E6EE;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#8A6A1E}
.form .fs-h:first-child{margin-top:0;padding-top:0;border-top:0}
.note.ok{border-left-color:#B58C2E}
.note.bad{border-left-color:#8A1E2E}

/* ---------- ask list (trade partners) ---------- */
.asks{list-style:none;margin:0;padding:0;border-top:1px solid #201E51}
.asks li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;padding:20px 0;border-bottom:1px solid #E6E6EE}
.asks li > b{grid-row:span 2;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.1em;color:#B58C2E;padding-top:3px}
.asks h3{margin:0;font-family:var(--display);font-variation-settings:"wdth" 104;font-size:1.12rem;font-weight:600;color:#201E51}
.asks p{margin:0;font-size:15px;color:#4A4870}

/* ---------- contact page ---------- */
.hqcard{background:#201E51;color:#FFFFFF;padding:clamp(26px,3.4vw,44px);position:relative;overflow:hidden}
.hqcard .lines{margin-top:26px}
.hqcard h2{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(1.5rem,2.2vw,2rem);letter-spacing:-.015em;margin:0 0 8px}
.hqcard .adr{margin:0;color:#B9B8CF;font-size:15.5px;line-height:1.55}
.hqcard .adr b{color:#FFFFFF;font-weight:500}
.locator{margin-top:28px;background:#F5F5F8;padding:clamp(20px,2.4vw,32px)}
.locator .tiles{max-width:560px}
.locator p{margin:18px 0 0;font-size:13.5px;color:#4A4870}
.routes3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#E6E6EE;border:1px solid #E6E6EE}
.routes3 > div{background:#FFFFFF;padding:clamp(24px,2.8vw,38px);display:flex;flex-direction:column;gap:12px}
.routes3 h3{margin:0;font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:1.35rem;color:#201E51}
.routes3 p{margin:0 0 8px;color:#4A4870;font-size:15px}
.routes3 .who{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#8A6A1E}
.routes3 .link{margin-top:auto;align-self:flex-start}
.routes3 .mono{font-family:var(--display);font-weight:500;color:#201E51;user-select:all;-webkit-user-select:all}
@media (max-width:900px){.routes3{grid-template-columns:minmax(0,1fr)}}
.copy.dk{color:#201E51;border-color:#8C8BA6}
.copy.dk:hover{color:#8A6A1E;border-color:#8A6A1E}
.copy.dk.ok{background:#201E51;border-color:#201E51;color:#FFFFFF}
.cline{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:12px 0}
.cline .val{font-family:var(--display);font-variation-settings:"wdth" 104;font-size:1.25rem;font-weight:500;color:#201E51;user-select:all;-webkit-user-select:all;overflow-wrap:anywhere}

/* ---------- careers roles ---------- */
.roles{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.roles li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14);font-family:var(--display);font-variation-settings:"wdth" 104;font-size:clamp(1.3rem,2.4vw,2rem);font-weight:500;letter-spacing:-.015em;color:#FFFFFF}
.roles li span{font-family:var(--body);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#8C8BA6;font-weight:500;text-align:right}

/* ---------- 404 ---------- */
.nf-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}

/* ---------- footer (expanded) ---------- */
.foot .fgrid{grid-template-columns:minmax(0,1.25fr) repeat(4,minmax(0,1fr));gap:40px 32px}
.foot address{font-style:normal}
.foot .fl{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.foot .base a{color:#B9B8CF}
.foot li a[aria-current="page"]{color:#D4AE5A}
@media (max-width:1200px){.foot .fgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.foot .fgrid > :first-child{grid-column:1/-1}}
@media (max-width:600px){.foot .fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- misc ---------- */
.lead-num{font-family:var(--display);font-variation-settings:"wdth" 112;font-weight:500;color:#B58C2E}
.stack > * + *{margin-top:18px}
.tile-wrap{max-width:640px}
.tiles-cap{margin:14px 0 0;font-size:13px;color:#8C8BA6}
.ext::after{content:"↗";margin-left:.35em;font-size:.9em}
@media (prefers-reduced-motion:reduce){
  .pc .ph img,.srow-img img,.gal img{transition:none!important;transform:none!important}
}

/* =====================================================================
   PROJECT RECORD — facts caption, heat map, record table, roster
   ===================================================================== */
.fact b .pre{font-size:.34em;letter-spacing:.14em;text-transform:uppercase;margin:0 .45em 0 0;vertical-align:.9em;font-weight:600}
.facts-cap{margin:0;padding:14px 0 0;font-family:var(--display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8C8BA6}

/* heat map */
.heat{min-width:0}
.heat-k{margin:0 0 14px;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#8A6A1E}
.heat-map{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:5px}
.ht{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:0;padding:0;margin:0;font-family:var(--display);line-height:1;min-width:0;position:relative}
.ht b{font-size:clamp(8px,1vw,12px);font-weight:600;letter-spacing:.04em}
.ht i{font-style:normal;font-size:clamp(7px,.78vw,10px);font-variant-numeric:tabular-nums;opacity:.85}
button.ht{cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s}
button.ht:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(18,16,49,.22)}
button.ht[aria-pressed="true"]{box-shadow:0 0 0 2px #FFFFFF,0 0 0 4px #201E51;z-index:1}
.ht.b0{background:#FFFFFF;color:#8C8BA6;box-shadow:inset 0 0 0 1px #E6E6EE}
.ht.b1{background:#DCDBE8;color:#201E51}
.ht.b2{background:#B9B8CF;color:#121031}
.ht.b3{background:#8C8BA6;color:#121031}
.ht.b4{background:#201E51;color:#FFFFFF}
.ht.b5{background:#B58C2E;color:#121031}
.ht.hq{outline:2px solid #201E51;outline-offset:2px}
.ht.hq::after{content:"";position:absolute;right:3px;top:3px;width:5px;height:5px;background:#121031;transform:rotate(45deg)}
.heat-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:18px;font-size:12.5px;color:#4A4870}
.heat-legend .lk{font-family:var(--display);font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#8C8BA6}
.heat-legend span{display:inline-flex;align-items:center;gap:7px}
.sw{width:12px;height:12px;display:inline-block}
.sw.b0{background:#FFFFFF;box-shadow:inset 0 0 0 1px #C9C8D8}.sw.b1{background:#DCDBE8}.sw.b2{background:#B9B8CF}.sw.b3{background:#8C8BA6}.sw.b4{background:#201E51}.sw.b5{background:#B58C2E}
.sw.hqsw{background:transparent;outline:2px solid #201E51;outline-offset:-2px}
.heat-panel{margin-top:22px;background:#FFFFFF;border-top:2px solid #B58C2E;padding:18px 20px 20px;box-shadow:0 1px 0 #E6E6EE}
.bg-mist .heat-panel,.cov .heat-panel,.locator .heat-panel{background:#FFFFFF}
.hp-hint{margin:0;font-size:14.5px;color:#4A4870}
.hp-hint b{color:#201E51}
.hp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
.hp-h{margin:0;font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:1.35rem;color:#201E51}
.hp-h em{font-style:normal;font-size:10.5px;letter-spacing:.18em;color:#8A6A1E;border:1px solid #B58C2E;padding:3px 6px;vertical-align:4px;margin-left:6px}
.hp-head p{margin:4px 0 0;font-size:13.5px;color:#8C8BA6}
.hp-x{background:none;border:1px solid #C9C8D8;color:#4A4870;height:32px;padding:0 12px;font-family:var(--display);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;flex:none}
.hp-x:hover{border-color:#201E51;color:#201E51}
.hp-list{list-style:none;margin:0 0 14px;padding:0;max-height:260px;overflow-y:auto;border-top:1px solid #E6E6EE;overscroll-behavior:contain}
.hp-list li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:12px;padding:8px 0;border-bottom:1px solid #F0F0F5;font-size:14px;color:#4A4870}
.hp-list .hp-b{color:#201E51;font-weight:500;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hp-list a.hp-b{text-decoration:underline;text-decoration-color:#B58C2E;text-underline-offset:3px}
.hp-list .y{font-variant-numeric:tabular-nums;color:#8C8BA6}
.hp-more{margin:0 0 12px;font-size:13px;color:#8C8BA6}
@media (max-width:600px){.ht i{display:none}.heat-map{gap:3px}}

/* record table */
.rec-tools{display:grid;grid-template-columns:minmax(0,2fr) repeat(5,minmax(0,1fr)) auto;gap:14px;align-items:end;margin-bottom:20px}
.rec-tools.fx{grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr)) auto}
.rec-tools .fld label{margin-bottom:6px}
.rec-tools .fld input,.rec-tools .fld select{background-color:#FFFFFF;padding:10px 12px;font-size:15px}
.rec-tools .fld select{padding-right:32px}
.rec-tools .rr .btn{min-height:44px;padding:0 18px;font-size:12px}
.rec-tools input[type="search"]::-webkit-search-cancel-button{cursor:pointer}
.rec-count{margin:0 0 12px;font-size:14px;color:#4A4870}
.rec-count b{color:#201E51;font-weight:600}
.rec-count span{color:#8C8BA6}
.rec-wrap{background:#FFFFFF;border-top:1px solid #201E51}
.rec{width:100%;border-collapse:collapse;font-size:14.5px}
.rec thead th{text-align:left;font-family:var(--display);font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#8A6A1E;padding:14px 14px;border-bottom:1px solid #E6E6EE;white-space:nowrap}
.rec tbody th,.rec td{text-align:left;padding:12px 14px;border-bottom:1px solid #EEEEF4;vertical-align:top;color:#4A4870}
.rec tbody th{font-weight:600;color:#201E51;font-family:var(--display);font-variation-settings:"wdth" 102;min-width:10em}
.rec tbody th a{color:#201E51;text-decoration:underline;text-decoration-color:#B58C2E;text-underline-offset:3px}
.rec tbody th a:hover{color:#8A6A1E}
.rec td[data-l="Year"]{font-variant-numeric:tabular-nums;white-space:nowrap}
.rec td[data-l="Location"]{white-space:nowrap}
.rec td.sc{color:#201E51;max-width:36em}
.rec td.sc.na{color:#C9C8D8}
.rec tbody tr:hover th,.rec tbody tr:hover td{background:#FAFAFC}
.rec tr.empty td{padding:28px 14px;color:#4A4870}
.rec-clear{background:none;border:0;border-bottom:1px solid #B58C2E;color:#201E51;font-weight:600;cursor:pointer;padding:0 0 2px;margin-left:8px}
.rec-more{margin-top:20px;display:flex;justify-content:center}
.rec-foot{margin:18px 0 0;font-size:12.5px;color:#8C8BA6;max-width:52em}
@media (max-width:1100px){.rec-tools,.rec-tools.fx{grid-template-columns:repeat(4,minmax(0,1fr))}.rec-tools .rq{grid-column:1/-1}}
@media (max-width:760px){
  .rec-tools,.rec-tools.fx{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rec thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .rec,.rec tbody{display:block}
  .rec tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:14px 2px;border-bottom:1px solid #E6E6EE}
  .rec tbody th,.rec td{display:block;padding:0;border:0;min-width:0;white-space:normal!important}
  .rec tbody th{grid-column:1;font-size:15.5px}
  .rec td[data-l="Year"]{grid-column:2;grid-row:1;text-align:right;color:#8A6A1E;font-family:var(--display);font-weight:600}
  .rec td[data-l="Location"],.rec td[data-l="Sector"]{grid-column:1/-1;font-size:13.5px}
  .rec td[data-l="Sector"]{color:#8C8BA6}
  .rec td.sc{grid-column:1/-1;font-size:13.5px;margin-top:4px}
  .rec td.sc.na{display:none}
  .rec tbody tr:hover th,.rec tbody tr:hover td{background:none}
  .rec tr.empty{display:block}
}
@media (max-width:420px){.rec-tools .rr{grid-column:auto}}

/* roster with counts */
.bwall li{display:flex;align-items:baseline;gap:8px;padding:8px 0;border-bottom:1px solid #E6E6EE}
.bwall li .bn{font-size:15px;color:#201E51;text-decoration:none;min-width:0}
.bwall li a.bn{text-decoration:underline;text-decoration-color:#B58C2E;text-underline-offset:3px}
.bwall li a.bn:hover{color:#8A6A1E}
.bwall li .dots{flex:1;border-bottom:1px dotted #C9C8D8;transform:translateY(-4px);min-width:12px}
.bwall li .bc{font-family:var(--display);font-size:13px;font-weight:600;color:#8A6A1E;text-decoration:none;font-variant-numeric:tabular-nums;padding:2px 0}
.bwall li a.bc:hover{color:#201E51;text-decoration:underline}
.bwall li .bc.na{color:#C9C8D8;font-weight:500}
.bwall li a::after{display:none}
.bwall h3 i{text-transform:none;letter-spacing:.02em}
.bw-foot{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:baseline;margin-top:10px;padding-top:20px;border-top:1px solid #201E51;font-size:13.5px;color:#8C8BA6}
.bw-foot p{margin:0;max-width:52em}
.bw-foot .pv a{font-family:var(--display);font-size:1.1rem;font-weight:600;color:#201E51;text-decoration:none;border-bottom:1px solid #B58C2E}

/* locations list (project pages) */
.locs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);border-top:1px solid #201E51}
.locs li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:16px 0;border-bottom:1px solid #E6E6EE}
.locs b{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:1.1rem;color:#201E51}
.locs .y{font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.1em;color:#B58C2E;font-variant-numeric:tabular-nums}
.locs p{grid-column:1/-1;margin:2px 0 0;font-size:14px;color:#4A4870}
@media (max-width:1000px){.locs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.locs{grid-template-columns:minmax(0,1fr)}}
.sc-counts{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14px;color:#8C8BA6;margin:26px 0 0}
.sc-counts b{color:#201E51;font-weight:600}
.srow .counts{gap:6px 18px}

/* =====================================================================
   FINAL LAUNCH PASS
   ===================================================================== */
/* T17 fonts: metric-matched fallbacks */
@font-face{font-family:"Archivo Fallback";src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans");size-adjust:104%;ascent-override:88%;descent-override:21%;line-gap-override:0%}
@font-face{font-family:"Hanken Fallback";src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans");size-adjust:98%;ascent-override:100%;descent-override:30%;line-gap-override:0%}
:root{--display:"Archivo","Archivo Fallback","Helvetica Neue",Arial,sans-serif;--body:"Hanken Grotesk","Hanken Fallback","Helvetica Neue",Arial,sans-serif;--muted:#6E6C8E}

/* T1 images never stretch */
img{display:block;max-width:100%;height:auto}
/* T2 logo aspect (469×600) */
.brand img{width:auto;height:52px}
.foot img{width:auto;height:96px}
/* T4 header button */
.nav > a.btn-gold{color:#121031;font-weight:600;letter-spacing:.06em}
.nav > a.nav-pq{color:#E9CD8C}
.nav > a.nav-pq:hover{color:#FFFFFF}

/* mobile nav from 1200px */
@media (max-width:1200px){
  .nav{display:none}
  .menu-btn{display:inline-flex;align-items:center;min-height:44px}
  .mnav .mg .m-sub{font-family:var(--display);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#B9B8CF;margin:14px 0 0}
  .mnav .m-meta a{color:#E6E6EE}
}
.dd-menu .dd-sub{margin:0;padding:8px 24px 4px;font-family:var(--display);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#B9B8CF}

/* T5 text over photos */
.scrim{background:linear-gradient(180deg,rgba(18,16,49,.62) 0%,rgba(18,16,49,.22) 16%,rgba(18,16,49,.18) 38%,rgba(18,16,49,.86) 74%,#121031 100%),linear-gradient(90deg,rgba(18,16,49,.9) 0%,rgba(18,16,49,.72) 36%,rgba(18,16,49,.3) 58%,rgba(18,16,49,0) 80%)}
.phero.photo .scrim{background:linear-gradient(180deg,rgba(18,16,49,.72) 0%,rgba(18,16,49,.3) 18%,rgba(18,16,49,.18) 38%,rgba(18,16,49,.8) 68%,#121031 100%),linear-gradient(90deg,rgba(18,16,49,.8) 0%,rgba(18,16,49,.5) 40%,rgba(18,16,49,.1) 70%,rgba(18,16,49,0) 85%)}
@media (max-width:760px){.scrim,.phero.photo .scrim{background:linear-gradient(180deg,rgba(18,16,49,.78) 0%,rgba(18,16,49,.74) 30%,rgba(18,16,49,.86) 55%,#121031 100%)}}
.hero-eyebrow,.phero.photo .eyebrow,.phero.photo .crumbs [aria-current]{color:#E9CD8C}
.hero-eyebrow::before,.phero.photo .eyebrow::before{background:#E9CD8C}
.testi::before{background:linear-gradient(90deg,rgba(18,16,49,.95),rgba(18,16,49,.88) 55%,rgba(18,16,49,.7))}
.more-q cite{color:#B9B8CF}
.more-q cite .exl{display:inline-block;margin-top:8px;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#D4AE5A}
.phero .pcap{color:#E9CD8C}
.phero .pcap span{color:#E9CD8C}
.phero .pcap span + span{color:#C9C8DA}

/* T6 muted text & small gold on light surfaces */
.wt .mt,.sf-img figcaption,.au .who i,.chip span,.fstat,.pc .mt,.pnav .nd,.srow .counts,.qc figcaption,.bwall h3 i,.fld .hint,.fig figcaption,.svc-img figcaption,
.hp-head p,.hp-list .y,.hp-more,.heat-legend .lk,.ht.b0,.rec-count span,.rec-foot,.bw-foot,.sc-counts,.lg-note,.rec td.sc.na,.tiles-cap{color:var(--muted)}
.on-navy .pc .mt{color:#B9B8CF}
.fld input::placeholder,.fld textarea::placeholder{color:var(--muted);opacity:1}
.wt .ix,.pc .ix,.gal .gcap span,.locs .y,.asks li > b,.miles b small,.xn{color:#8A6A1E}
.pts > li::before{color:#8A6A1E}
.on-navy .pts > li::before{color:#D4AE5A}
.step .num b,.srow .num,.svc .big{color:#9E7B27}
.steps.on-navy .step .num b{color:#D4AE5A}
.bg-mist .gold-t,.proc .gold-t,.cov .gold-t,.pq-block .gold-t{color:#9E7B27}
.ilink{color:#8A6A1E;text-underline-offset:3px}

/* T9–T11 typography */
h1,h2,h3,.h2,.h3,.pitch,blockquote,.eyebrow{text-wrap:balance}
.lede,.prose p{text-wrap:pretty}
h1,h2,h3,h4,h5{line-height:1.15}
.prose,.phero .lede{max-width:34em}
.pts p,.step p,.ticks li,.au li,.rail dd,.locs p,.au p,.svc .what{font-size:16px}
.rec-foot,.fld .hint,.hp-head p,.pnav .nd,.hp-more,.bw-foot,.qc figcaption,.heat-legend{font-size:14px}
.foot .tag{font-size:15px}

/* hero: shorter so the stat strip shows above the fold at 1440×900 */
.hero{min-height:min(74vh,760px);min-height:min(74svh,760px)}
.hero-in{padding-top:calc(var(--hdr) + 52px);padding-bottom:30px}
.h1{font-size:clamp(2.5rem,6vw,5.4rem)}
.hero-lede{margin:26px 0 0;max-width:36em;font-size:clamp(1.02rem,1.3vw,1.18rem);line-height:1.55;color:#E6E6EE;text-wrap:pretty}
.hero-cta{margin-top:30px}
.hero-foot{margin-top:clamp(28px,3.4vw,44px);padding-top:18px}
.slide img{height:100%}
.fact{padding-top:clamp(26px,3vw,40px);padding-bottom:clamp(24px,2.8vw,36px)}

/* T12 heat map */
.ht b{font-size:clamp(10px,1vw,12px)}
@media (max-width:1099px){.ht i{display:none}}
.heat-sel{display:none}
@media (max-width:760px){
  .heat-sel{display:block;margin:14px 0 14px}
  .heat-sel select{background-color:#FFFFFF}
  .locator{padding:20px 0;background:none;border-top:1px solid #E6E6EE}
}
@media (max-width:420px){.heat-map{gap:1px}}

/* T13 tap targets */
.chip{min-height:44px}
.copy{min-height:44px;height:auto}
.link{min-height:44px}
.bars button{height:44px}
.bars button::before,.bars button i{top:21px}
.pp{position:relative}
.pp::before{content:"";position:absolute;inset:-5px}
.hp-x,.lb-x{min-height:44px}
.bwall li{min-height:44px}
.bwall li .bc{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:flex-end;padding:0 2px}
@media (max-width:760px){
  .foot li{margin:0}
  .foot li a{display:inline-flex;align-items:center;min-height:44px}
  .foot .base a{display:inline-flex;align-items:center;min-height:44px}
  .crumbs a{display:inline-flex;align-items:center;min-height:44px}
  .hp-list li{min-height:44px;align-items:center}
}

/* T14 marquee: pausable */
.marq:focus-within .marq-track,.marq:focus .marq-track,.motion-paused .marq-track{animation-play-state:paused}
.marq:focus-visible{outline:2px solid #D4AE5A;outline-offset:-4px}

/* T18 footer headings, crumbs, misc */
.foot h2{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#D4AE5A;margin:0 0 16px;line-height:1.4}
.crumbs li + li::before{content:none}
.crumbs li:not(:last-child)::after{content:"";width:16px;height:1px;background:#B58C2E;margin:0 12px;flex:none}
.nw{white-space:nowrap}
.testi + .ctab{border-top:1px solid rgba(212,174,90,.3)}
.bw-more{display:none}
@media (max-width:760px){
  .bwall ul.clip li:nth-child(n+9){display:none}
  .bwall ul.clip + .bw-more{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;background:none;border:0;border-bottom:1px solid #B58C2E;padding:0;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#201E51;cursor:pointer}
}

/* lightbox: controls stay on screen at 360×800 */
@media (max-width:640px){
  .lb-bot{padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))}
  .lb-nav{bottom:-56px}
}

/* contact lines: real links + copy */
.lines a.val{text-decoration:none;white-space:nowrap;overflow-wrap:normal;user-select:text;-webkit-user-select:text}
.lines a.val:hover{text-decoration:underline;text-decoration-color:#D4AE5A;text-underline-offset:4px}
.lines.lt{border-top-color:#E6E6EE;margin:0 0 6px}
.lines.lt li{border-bottom-color:#E6E6EE}
.lines.lt small{color:#8A6A1E}
.lines.lt .val{color:#201E51;font-size:1.1rem}
.routes3 .lines.lt .val{font-size:1rem}
@media (max-width:420px){.lines a.val{white-space:normal;overflow-wrap:anywhere}}
.ml{color:inherit;text-decoration-color:#B58C2E;text-underline-offset:3px}
.m-meta a,.foot address a{white-space:nowrap}

/* hero lede, founder note, references, subpath headings */
.founder-note{font-size:15px;color:#4A4870}
.founder-note q{color:#201E51;font-weight:500}
.refs{margin:32px 0 0}
.sp-h{margin:0;font-family:var(--display);font-size:1.05rem;font-weight:600;color:#201E51}
.on-note{margin:44px 0 0;color:#B9B8CF;font-size:16px;max-width:44em}
.hq-h{position:relative;font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(1.4rem,2vw,1.8rem);letter-spacing:-.015em;margin:0 0 10px;color:#FFFFFF}
.lg-note{text-transform:none;letter-spacing:0;font-weight:400}
.fg .fill{visibility:hidden}
@media (max-width:520px){.fg .fill{display:none}}

/* home sectors: "also" line + roster "+N more" */
.also-line{margin:clamp(36px,4vw,56px) 0 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:15px;color:#B9B8CF}
.also-line span{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#D4AE5A}
.also-line a{color:#FFFFFF;text-decoration:underline;text-decoration-color:rgba(212,174,90,.6);text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.also-line a:hover{color:#D4AE5A}
.also-line i{font-style:normal;color:#8C8BA6}
.more-n{margin:14px 0 0}

/* programs band */
.progs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#E6E6EE;border:1px solid #E6E6EE}
.progs li{background:#FFFFFF;min-width:0}
.progs a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 16px;align-items:baseline;padding:22px 22px 26px;text-decoration:none;color:#201E51;position:relative;height:100%}
.progs b{grid-row:span 2;font-family:var(--display);font-variation-settings:"wdth" 112;font-weight:500;font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:1;letter-spacing:-.02em;color:#201E51;font-variant-numeric:tabular-nums}
.progs .pn{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:1.05rem;line-height:1.2}
.progs .ps{font-size:14px;color:var(--muted)}
.progs .bar{position:absolute;left:0;bottom:0;height:3px;background:#B58C2E}
.progs a:hover .pn{color:#8A6A1E;text-decoration:underline;text-decoration-color:#B58C2E;text-underline-offset:3px}
@media (max-width:1000px){.progs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.progs{grid-template-columns:minmax(0,1fr)}}

/* sectors overview: "also built" cards + no-photo panel */
.alsos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#E6E6EE;border:1px solid #E6E6EE}
.alsos li{background:#FFFFFF}
.alsos a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:center;padding:26px 26px 28px;text-decoration:none;color:#201E51;height:100%}
.alsos .an{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(1.25rem,1.8vw,1.6rem);letter-spacing:-.015em}
.alsos .ap{grid-column:1;font-size:16px;color:#4A4870}
.alsos .ac{grid-column:1;font-size:14px;color:var(--muted)}
.alsos .arr{grid-column:2;grid-row:1 / span 3;width:22px;height:1px;background:#B58C2E;position:relative}
.alsos .arr::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid #B58C2E;border-right:1px solid #B58C2E;transform:rotate(45deg)}
.alsos a:hover .an{color:#8A6A1E}
@media (max-width:760px){.alsos{grid-template-columns:minmax(0,1fr)}}
.srow-img.nophoto{background:#201E51}
.noph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:linear-gradient(135deg,#201E51,#121031)}
.noph b{font-family:var(--display);font-variation-settings:"wdth" 108;font-weight:600;font-size:clamp(1.6rem,3vw,2.6rem);line-height:1;color:#FFFFFF;letter-spacing:-.02em}
.noph i{font-style:normal;margin-top:10px;font-family:var(--display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#D4AE5A}
.nothumb{display:block;width:96px;height:72px;background:linear-gradient(135deg,#201E51,#121031)}
@media (max-width:640px){.nothumb{width:72px;height:54px}.pnav a + a .nothumb{order:-1}}

/* contact: prequal packet block */
.pq-block{margin-top:28px;border:1px solid #E6E6EE;border-top:2px solid #B58C2E;padding:clamp(22px,2.6vw,32px)}
.pq-block h3{margin:0 0 8px;font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:1.3rem;color:#201E51}
.pq-block p:not(.kl-d){margin:0 0 20px;color:#4A4870;font-size:16px}

/* record table: 4 columns, collapsed rows */
.xn{font-family:var(--display);font-size:12.5px;font-weight:600;letter-spacing:.04em;margin-left:4px;white-space:nowrap}
.rec-tools{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr)) auto}
.rec-tools.fx{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) auto}
@media (max-width:1100px){.rec-tools,.rec-tools.fx{grid-template-columns:repeat(3,minmax(0,1fr))}.rec-tools .rq{grid-column:1/-1}}
@media (max-width:760px){
  .rec-tools,.rec-tools.fx{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rec tbody tr{grid-template-columns:minmax(0,1fr)}
  .rec tbody th{grid-column:1/-1}
  .rec td[data-l="Sector"]{color:var(--muted)}
}

/* project pages: tile captions / hero caption */
.phero .pcap{align-items:baseline}

/* consistent small labels */
.kl-d,.heat-k,.rail dt,.fs-h,.pnav small,.routes3 .who{font-size:11px;letter-spacing:.2em}

@media (max-width:600px){.phero .eyebrow .pix{display:none}}

/* ---------- Leadership (About) ---------- */
.leaders{display:grid;gap:clamp(20px,2.6vw,32px)}
.leader{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);background:#fff;border:1px solid var(--line);position:relative}
.leader::after{content:"";position:absolute;left:0;top:0;width:64px;height:3px;background:var(--gold);z-index:1}
.leader.flip{grid-template-columns:minmax(0,1fr) minmax(0,380px)}
.leader.flip .lph{order:2}
.leader.flip::after{left:auto;right:0}
.leader .lph{margin:0;background:var(--navy);overflow:hidden;min-height:100%}
.leader .lph img{display:block;width:100%;height:100%;min-height:460px;object-fit:cover;object-position:50% 22%}
.leader .lbody{padding:clamp(28px,3.6vw,56px);display:flex;flex-direction:column;justify-content:center}
.leader .ptitle{margin:0 0 8px;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dk)}
.leader h3{margin:0;font-family:var(--display);font-size:clamp(28px,2.8vw,38px);font-weight:700;line-height:1.08;color:var(--navy)}
.leader .lq{margin:22px 0 20px;padding-left:18px;border-left:2px solid var(--gold);font-family:var(--display);font-size:clamp(18px,1.5vw,21px);font-weight:500;line-height:1.4;color:var(--navy)}
.leader .lbody>p:not(.ptitle){margin:0 0 14px;color:var(--ink-2);font-size:16px;line-height:1.65;max-width:62ch}
.leader .creds{list-style:none;margin:8px 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.leader .creds li{font-size:13px;line-height:1.3;color:var(--navy);background:var(--mist);border:1px solid var(--line);padding:7px 11px}
.leader .lmail{align-self:flex-start}
@media (max-width:860px){.leader,.leader.flip{grid-template-columns:minmax(0,1fr)}.leader.flip .lph{order:0}.leader.flip::after{left:0;right:auto}.leader .lph img{min-height:0;height:auto;aspect-ratio:4/3.6}}
@media (max-width:480px){.leader .lph img{aspect-ratio:4/4.2}}

/* ---------- Leadership strip (Home) ---------- */
.lead-home .sec-head{margin-bottom:clamp(32px,4vw,52px)}
.lead-home .sec-head .lede{margin:0 0 22px}
.lh-people{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.lh-p{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);position:relative}
.lh-p::after{content:"";position:absolute;left:0;top:0;width:44px;height:3px;background:var(--gold);z-index:1}
.lh-ph{display:block;overflow:hidden;background:var(--navy);aspect-ratio:4/4.4}
.lh-ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.lh-t{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;font-size:13.5px;color:var(--ink-2);line-height:1.35}
.lh-t b{font-family:var(--display);font-size:18px;font-weight:700;color:var(--navy);line-height:1.2}
@media (max-width:1100px){.lh-people{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.lh-people{grid-template-columns:minmax(0,1fr);gap:10px}.lh-p{flex-direction:row;align-items:center}.lh-ph{width:84px;height:96px;flex:none;aspect-ratio:auto}.lh-ph img{object-position:50% 16%;transform:scale(1.55);transform-origin:50% 18%}.lh-t{padding:10px 16px}.lh-t b{font-size:17px}}

/* ---------- Monogram placeholder (until a headshot is supplied) ---------- */
.mono{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--navy);overflow:hidden}
.mono::before,.mono::after{content:"";position:absolute;top:-20%;height:140%;border-left:1px solid var(--gold);transform:rotate(28deg)}
.mono::before{right:22%;opacity:.5}
.mono::after{right:10%;opacity:.25}
.mono>span{position:relative;font-family:var(--display);font-weight:700;font-size:clamp(64px,7vw,104px);letter-spacing:.04em;color:var(--gold-lt)}
.mono.sm>span{font-size:clamp(34px,3.6vw,56px)}
.leader .lph .mono{min-height:460px}
.lq-sp{height:14px}
@media (max-width:860px){.leader .lph .mono{min-height:0;aspect-ratio:4/3.6}}
@media (max-width:600px){.mono.sm>span{font-size:26px}}

/* ---------- Full-length client quotes ---------- */
.qc blockquote{font-size:clamp(1.1rem,1.35vw,1.3rem);line-height:1.5}
.more-q p{font-size:16px;line-height:1.65}

/* ---------- Best Place for Working Parents badges ---------- */
.badges{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.6vw,22px);align-items:end}
.badges img{display:block;width:100%;height:auto}
.badges.lg{width:min(100%,620px)}
.badges.sm{width:260px;gap:8px}
.awards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,620px);gap:36px clamp(40px,5vw,80px);align-items:center}
.awards .lede{margin-top:18px}
.aw-inline{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:1px solid var(--line)}
.aw-inline p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.55;max-width:44ch}
.aw-inline p b{display:block;font-family:var(--display);font-size:18px;font-weight:700;color:var(--navy);margin-bottom:2px}
.fawards{display:inline-flex;flex-direction:column;gap:10px;margin-top:24px;text-decoration:none;color:#B9B8CF;font-size:13px;line-height:1.4}
.fawards .fa-b{display:flex;gap:8px}
.fawards img{width:44px;height:auto}
.fawards:hover .fa-t{color:#fff}
sup{font-size:.55em;line-height:0;vertical-align:.6em}
@media (max-width:900px){.awards{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.badges.sm{width:100%}}
.fawards .fa-t b{display:block;font-weight:600;color:#E6E6EE}

/* ---------- Home hero: blueprint elevation (Sheet A-201) ---------- */
.hero-bp{background:#16143F}
.hero-bp .bgl{position:absolute;inset:0;z-index:-3}
.hero-bp .bg-grid{background:linear-gradient(rgba(212,174,90,.09) 1px,transparent 1px) 0 0/120px 120px,linear-gradient(90deg,rgba(212,174,90,.09) 1px,transparent 1px) 0 0/120px 120px,linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/24px 24px,radial-gradient(110% 90% at 72% 40%,#25235E 0%,#17153F 58%,#121031 100%)}
.hero-bp .bscrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,16,49,.92) 0%,rgba(18,16,49,.62) 30%,rgba(18,16,49,.12) 52%,rgba(18,16,49,0) 64%),linear-gradient(0deg,rgba(18,16,49,.95) 0%,rgba(18,16,49,0) 26%)}
.hero-bp .h1{max-width:8.4em;text-shadow:0 2px 24px rgba(18,16,49,.6)}
.hero-bp .hero-lede{max-width:31em}
.hero-bp .hero-foot .cap{color:#D4AE5A}
.bp{position:absolute;z-index:-2;right:1vw;top:50%;transform:translateY(-45%);width:min(64vw,1080px);height:auto;overflow:visible;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 14%,rgba(0,0,0,.65) 30%,#000 44%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 14%,rgba(0,0,0,.65) 30%,#000 44%)}
.bp line,.bp polyline,.bp polygon,.bp rect,.bp circle,.bp path{stroke:var(--c);vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.bp line,.bp polyline,.bp polygon:not(.fl),.bp rect:not(.fl),.bp circle:not(.fl),.bp path:not(.fl){fill:none}
.bp .k{stroke-width:1.7;stroke-opacity:.95}
.bp .m{stroke-width:1.15;stroke-opacity:.8}
.bp .l{stroke-width:.9;stroke-opacity:.55}
.bp .x{stroke-width:.7;stroke-opacity:.3}
.bp .g{stroke-width:.8;stroke-opacity:.24;stroke-dasharray:16 5 3 5}
.bp .h{stroke-width:.9;stroke-opacity:.5;stroke-dasharray:6 4}
.bp .lv,.bp .dot{fill:var(--c);fill-opacity:.8;stroke:none}
.bp text{fill:var(--c);font-family:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;font-size:9.5px;letter-spacing:.05em;fill-opacity:.85;stroke:none}
.bp .tb{font-weight:600;font-size:10.5px;fill-opacity:.95}
.bp .tm{font-size:8.5px;fill-opacity:.62}
.bp .td{font-size:9px;fill-opacity:.8}
.bp .tk{font-size:9px;font-weight:600;fill:var(--hi)}
.bp .tbig{font-size:13px;font-weight:600;letter-spacing:.14em;fill-opacity:.95}
@media (prefers-reduced-motion:no-preference){
  .hero-bp .bp.draw [pathLength]{stroke-dasharray:1;stroke-dashoffset:1;animation:bpdraw 1.5s cubic-bezier(.3,.6,.2,1) forwards;animation-delay:calc(var(--d) + .25s)}
  .hero-bp .bp.draw text,.hero-bp .bp.draw .fl,.hero-bp .bp.draw .lv,.hero-bp .bp.draw .dot,.hero-bp .bp.draw .g,.hero-bp .bp.draw .h{opacity:0;animation:bpfade .8s ease forwards;animation-delay:calc(var(--d) + .75s)}
}
@keyframes bpdraw{to{stroke-dashoffset:0}}
@keyframes bpfade{to{opacity:1}}
@media (max-width:900px){
  .bp{width:170%;right:-50%;top:calc(var(--hdr) - 10px);transform:none;opacity:.55;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 50%,transparent 88%);mask-image:linear-gradient(180deg,#000 0%,#000 50%,transparent 88%)}
  .hero-bp .bscrim{background:linear-gradient(0deg,rgba(18,16,49,.96) 0%,rgba(18,16,49,.7) 50%,rgba(18,16,49,.25) 100%)}
}

.marq{position:relative}
.marq-pp{position:absolute;right:clamp(12px,3vw,48px);top:50%;transform:translateY(-50%);z-index:2;display:grid!important;background:#121031;box-shadow:-28px 0 24px 6px #121031}
.hero-bp .bp .tb{letter-spacing:.03em}
@media (prefers-reduced-motion:reduce){.marq-pp{display:none!important}}

/* ---------- Locations hub + state pages ---------- */
.cov-go{margin:26px 0 0}
.hp-go{display:flex;flex-wrap:wrap;gap:10px 26px;margin:0}
.st-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);border-top:1px solid #201E51}
.st-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid #E6E6EE}
.st-list a,.st-list .nm{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:1.05rem;color:#201E51}
.st-list a{text-decoration:underline;text-decoration-color:#B58C2E;text-underline-offset:4px}
.st-list a:hover{color:#8A6A1E}
.st-list .nm{font-weight:500;color:#4A4870}
.st-list .y{font-size:13px;color:#6E6C8E;font-variant-numeric:tabular-nums;white-space:nowrap}
.st-list li.hq a::after{content:"HQ";margin-left:8px;font-size:10px;letter-spacing:.14em;color:#8A6A1E;vertical-align:2px}
.st-secs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);border-top:1px solid #201E51}
.st-secs li{padding:20px 0 22px;border-bottom:1px solid #E6E6EE}
.st-secs h3{margin:0;font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:1.2rem;line-height:1.2}
.st-secs h3 a{color:#201E51;text-decoration:none}
.st-secs h3 a:hover{text-decoration:underline;text-decoration-color:#B58C2E;text-underline-offset:4px}
.st-secs .n{margin:6px 0 8px;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8A6A1E;font-variant-numeric:tabular-nums}
.st-secs p{margin:0;font-size:15px;color:#4A4870}
.st-secs p a{color:#201E51;text-decoration:underline;text-decoration-color:#B58C2E;text-underline-offset:3px}
@media (max-width:1000px){.st-list,.st-secs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.st-list,.st-secs{grid-template-columns:minmax(0,1fr)}}
/* anchors land below the sticky header */
[id]{scroll-margin-top:calc(var(--hdr, 72px) + 12px)}

/* testimonials: three on National brands (the short one spans the row), and one on its client's project page */
.qgrid.q3 > :first-child{grid-column:1/-1}
.qgrid.q3 > :first-child blockquote{font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.35;max-width:36em}
.pj-q{margin-top:38px}

/* October review: slightly larger logo, bold subcontractor link, linked client ticker */
.brand img{height:62px}
.nav a,.nav .dd-btn{white-space:nowrap}
@media (max-width:1439px){.nav{gap:20px}}
@media (max-width:600px){.brand img{height:52px}}
.sub-bids{margin:22px 0 0}
.sub-bids a{display:inline-flex;align-items:center;gap:10px;color:#D4AE5A;font-weight:600;font-size:clamp(15px,1.2vw,17px);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.sub-bids a b{color:#FFFFFF;font-weight:700}
.sub-bids a:hover{color:#FFFFFF}
.marq a{color:inherit;text-decoration:none}
.marq a:hover,.marq a:focus-visible{color:#FFFFFF;text-decoration:underline;text-underline-offset:5px}
.marq:hover .marq-track{animation-play-state:paused}

.pc-text .ph{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:clamp(20px,2.4vw,30px);background:#201E51;background-image:linear-gradient(rgba(212,174,90,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(212,174,90,.09) 1px,transparent 1px);background-size:32px 32px}
.pc-text .pt-k{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#D4AE5A}
.pc-text .pt-n{font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:600;font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:1.15;color:#FFFFFF}
.pc-text .pt-d{font-size:14px;color:#C9C8DC}

/* ---------- Team of seven on Home; project manager cards ---------- */
.lh-people{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.lh-t{padding:12px 13px 14px;font-size:13px}
.lh-t b{font-size:16.5px}
@media (max-width:1280px){.lh-people{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.lh-t{padding:14px 16px 16px;font-size:13.5px}.lh-t b{font-size:18px}}
@media (max-width:600px){.lh-people{grid-template-columns:minmax(0,1fr);gap:10px}.lh-t{padding:10px 16px}.lh-t b{font-size:17px}}
.tms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.tms.one{grid-template-columns:minmax(0,1fr)}
.tm{display:grid;grid-template-columns:120px minmax(0,1fr);background:#fff;border:1px solid var(--line);position:relative}
.tm::after{content:"";position:absolute;left:0;top:0;width:44px;height:3px;background:var(--gold);z-index:1}
.tm-ph{display:block;overflow:hidden;background:var(--navy);min-height:150px}
.tm-ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.tm-b{padding:18px 20px 18px}
.tm-t{margin:0 0 4px;font-family:var(--display);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dk)}
.tm h3{margin:0;font-family:var(--display);font-size:21px;font-weight:700;line-height:1.15;color:var(--navy)}
.tm-x{margin:8px 0 10px;font-size:15px;line-height:1.55;color:var(--ink-2)}
.tm-l{margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
.pj-team{margin-top:30px}
.pj-team .kl-d{margin-bottom:10px}
.bg-mist .tm,.bg-white .tm{background:#fff}
@media (max-width:760px){.tms{grid-template-columns:minmax(0,1fr)}}
@media (max-width:420px){.tm{grid-template-columns:92px minmax(0,1fr)}.tm-b{padding:14px 14px 14px 16px}.tm h3{font-size:19px}.tm-x{font-size:14.5px}}

/* ---------- Hero on wide screens: logo beside the elevation, both tied to the text column ---------- */
@media (min-width:1800px){:root{--max:1480px}}
/* Very wide screens (4K at 100%, 1440p monitors): scale the whole page so it fills the screen the way it does on a ~1900px display,
   instead of leaving a narrow column with wide empty margins. Chrome, Edge, Firefox and Safari all support zoom. */
@media (min-width:2100px){:root{--max:1560px}}
@media (min-width:2100px){html{zoom:1.15}}
@media (min-width:2300px){html{zoom:1.25}}
@media (min-width:2500px){html{zoom:1.35}}
@media (min-width:2700px){html{zoom:1.45}}
@media (min-width:2900px){html{zoom:1.55}}
@media (min-width:3100px){html{zoom:1.65}}
@media (min-width:3300px){html{zoom:1.75}}
@media (min-width:3500px){html{zoom:1.85}}
@media (min-width:3700px){html{zoom:1.95}}
@media (min-width:3900px){html{zoom:2.05}}
@media (min-width:4200px){html{zoom:2.2}}
@media (min-width:4800px){html{zoom:2.5}}
@media (min-width:5600px){html{zoom:2.9}}
/* zoomed pages: size the lightbox photo to its stage explicitly (percentage max-height misbehaves under zoom) */
@media (min-width:2100px){.lb-stage img{width:100%;height:100%;max-height:none;min-height:0}}
:root{--wl:calc(max(0px, (100% - var(--max)) / 2) + var(--gut))}   /* left edge of page content; % resolves where used */
.bp .bp-logo{display:none}
@media (min-width:1200px){
  :root{--h1fs:clamp(2.5rem,6vw,5.4rem);--bl:calc(var(--wl) + var(--h1fs) * 6.85);--br:max(1vw, calc(var(--wl) - 110px))}
  /* the drawing's ground line (70% down the sheet) sits on the subcontractor line, so the logo never runs into the headline */
  .bp{left:var(--bl);right:auto;width:calc(100% - var(--bl) - var(--br));top:auto;bottom:112px;transform:translateY(30%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 2.6%),linear-gradient(180deg,#000 76%,transparent 86%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 2.6%),linear-gradient(180deg,#000 76%,transparent 86%);mask-composite:intersect}
  .bp .bp-logo{display:inline}
  .hero-bp .bscrim{background:linear-gradient(90deg,rgba(18,16,49,.9) 0,rgba(18,16,49,.72) var(--wl),rgba(18,16,49,.3) calc(var(--bl) - 110px),rgba(18,16,49,0) var(--bl)),linear-gradient(0deg,rgba(18,16,49,.95) 0%,rgba(18,16,49,0) 13%)}
  .hero-bp .bg-grid{background:linear-gradient(rgba(212,174,90,.09) 1px,transparent 1px) 0 0/120px 120px,linear-gradient(90deg,rgba(212,174,90,.09) 1px,transparent 1px) 0 0/120px 120px,linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/24px 24px,radial-gradient(110% 90% at calc(var(--bl) + (100% - var(--bl) - var(--br)) * .42) 42%,#25235E 0%,#17153F 58%,#121031 100%)}
}
@media (prefers-reduced-motion:no-preference){.hero-bp .bp.draw .bp-logo{opacity:0;animation:bpfade 1s ease forwards;animation-delay:.35s}}

/* ---------- Brand ticker as a static list (reduced motion): keep it on the page grid ---------- */
/* Brand ticker lines up with the content: starts under "1,000+", ends where the blueprint ends (wide screens) or at the content edge */
.facts .marq{margin-left:var(--wl);margin-right:var(--wl);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26px);mask-image:linear-gradient(90deg,transparent 0,#000 26px)}
.facts .marq-pp{right:0;box-shadow:-36px 0 26px 8px #121031}
@media (min-width:1200px){.facts .marq{margin-right:calc(var(--br) + (100% - var(--bl) - var(--br)) * .015)}}
@media (prefers-reduced-motion:reduce){.facts .marq{-webkit-mask-image:none;mask-image:none}.marq-track{justify-content:flex-start;row-gap:6px;padding:0;margin:0}.facts .marq ul{padding:0;margin:0}}

/* ---------- Hero subcontractor line: bold label, linked phrases ---------- */
.sub-bids.hero-subs{color:#FFFFFF;font-size:clamp(15px,1.2vw,17px);line-height:1.5}
.sub-bids.hero-subs b{font-weight:700;color:#FFFFFF;margin-right:4px}
.sub-bids.hero-subs a{display:inline;color:#D4AE5A;font-weight:600;font-size:inherit}
.sub-bids.hero-subs a:hover{color:#FFFFFF}

/* ---------- Section tabs (Work and About pages) ---------- */
.subnav{background:#FFFFFF;border-bottom:1px solid var(--line);position:relative;z-index:1}
.subnav ul{list-style:none;margin:0;padding:0;display:flex;gap:0 34px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.subnav ul::-webkit-scrollbar{display:none}
.subnav a{display:block;padding:20px 0 17px;font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#4A4870;text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.subnav a:hover{color:#201E51;border-bottom-color:#E6E6EE}
.subnav a[aria-current="page"]{color:#201E51;border-bottom-color:#B58C2E}
.subnav a:focus-visible{outline:2px solid #B58C2E;outline-offset:-2px}
@media (max-width:600px){.subnav ul{gap:0 22px}.subnav a{font-size:12px;letter-spacing:.1em;padding:16px 0 13px}}

/* ---------- Team strip cards link to each bio ---------- */
.lh-p>a{display:flex;flex-direction:inherit;align-items:inherit;flex:1;min-width:0;color:inherit;text-decoration:none}
.lh-p>a .lh-ph img{transition:transform .8s var(--ease)}
.lh-p>a:hover .lh-ph img,.lh-p>a:focus-visible .lh-ph img{transform:scale(1.04)}
.lh-p>a:hover .lh-t b,.lh-p>a:focus-visible .lh-t b{color:#8A6A1E}
.lh-p>a:focus-visible{outline:2px solid #B58C2E;outline-offset:2px}
@media (max-width:600px){.lh-p>a:hover .lh-ph img{transform:scale(1.55)}}
.team-go{margin:30px 0 0}
.prog-more{display:flex;flex-wrap:wrap;gap:14px 36px;margin:34px 0 0}

/* ---------- Home call to action (full form lives on the Contact page) ---------- */
.home-cta .lede a{color:#FFFFFF;text-decoration:underline;text-decoration-color:#B58C2E;text-underline-offset:4px;white-space:nowrap}

/* ---------- Team bios: career history tucked behind a toggle ---------- */
.leader .lmore{margin:0 0 16px}
.leader .lmore summary{display:inline-flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-family:var(--display);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#201E51;padding:6px 0;border-bottom:1px solid #B58C2E}
.leader .lmore summary::-webkit-details-marker{display:none}
.leader .lmore summary::after{content:"+";font-size:16px;line-height:1;color:#8A6A1E}
.leader .lmore[open] summary::after{content:"–"}
.leader .lmore summary:focus-visible{outline:2px solid #B58C2E;outline-offset:3px}
.leader .lmore p{margin:14px 0 0;color:var(--ink-2);font-size:16px;line-height:1.65;max-width:62ch}

/* ---------- Hero: phone and email in the first screen ---------- */
.hero-contact{display:flex;flex-wrap:wrap;gap:10px 30px;margin:24px 0 0;font-family:var(--display);font-size:clamp(16px,1.25vw,18px);font-weight:600;letter-spacing:.02em}
.hero-contact a{display:inline-flex;align-items:center;gap:10px;color:#FFFFFF;text-decoration:none;min-height:32px;border-bottom:1px solid transparent}
.hero-contact a:hover,.hero-contact a:focus-visible{border-bottom-color:#D4AE5A}
.hero-contact svg{width:18px;height:18px;flex:none;fill:none;stroke:#D4AE5A;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.hero-contact .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero-contact + .hero-subs{margin-top:14px}

/* ---------- headquarters card on Home and About (moved from Contact) ---------- */
.hqcard > *:not(.hair){position:relative}
.hqcard .hq-a .kl-d{margin-bottom:12px}
.hqcard .adr a{color:#FFFFFF;text-decoration:underline;text-decoration-color:#D4AE5A;text-underline-offset:3px}
.hqcard.wide .lines{margin-top:26px}
@media (min-width:900px){
  .hqcard.wide{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:0 clamp(40px,5vw,80px);align-items:start}
  .hqcard.wide .lines{margin-top:0}
  .hqcard.wide .lines li:first-child{padding-top:4px}
}
.home-cta .hqcard{border:1px solid rgba(255,255,255,.1)}
.home-cta .hq-slot:empty{display:none}
.home-cta .hq-slot{grid-column:1/-1}

/* ---------- spacing rhythm (Oct 7 review): one scale for every page ---------- */
.sec{padding:clamp(72px,8.5vw,124px) 0}
.sec.tight{padding:clamp(56px,6vw,88px) 0}
.ctab > .wrap{padding-top:clamp(72px,8vw,116px);padding-bottom:clamp(72px,8vw,116px)}
.sec.sec-join{padding-top:0}
.svc{padding:clamp(36px,4.5vw,60px) 0}
.svc:first-child{padding-top:0}
.svc:last-child{padding-bottom:0}
.sp-h{margin:0 0 4px}

/* phone and email inside running text: clearly a link on any background */
.ctab .lede a{color:#FFFFFF;text-decoration:underline;text-decoration-color:#B58C2E;text-underline-offset:4px;white-space:nowrap}
.ctab .lede a:hover{text-decoration-color:#FFFFFF}
.form .note a{color:inherit;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* External-link arrow: keep it out of the link underline */
.ext::after{display:inline-block;text-decoration:none}
