:root{
  --navy:#16243F; --navy2:#1B3159; --navy-dp:#0F1A2E;
  --gold:#E8A317; --gold-dk:#C8930F;
  --body:#4A5568; --muted:#6B7688; --muted2:#8A93A3;
  --on-navy:#B8C6DC; --on-navy2:#8FA4C4;
  --card:#F4F6FA; --line:#DDE2EA; --cream:#FDF3DF;
  --col:1200px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#fff;color:var(--body);font-family:Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;text-align:left}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}

/* ---------- bands and the centred column ---------- */
.nav,.hero,.sec,.strip,.foot{width:100%;padding:0 32px}
.inner{width:100%;max-width:var(--col);margin:0 auto;text-align:left}
.nav{background:#fff;padding-top:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.hero{background:var(--navy);padding-top:44px;padding-bottom:62px}
.sec{background:#fff;padding-top:52px;padding-bottom:48px}
.sec.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec.dark{background:var(--navy)}
.strip{background:var(--navy2);padding-top:30px;padding-bottom:30px}
.foot{background:var(--navy-dp);padding-top:34px;padding-bottom:34px}
.rule{height:4px;background:var(--gold);width:100%}

.nav>.inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.strip>.inner{display:grid;grid-auto-flow:column;gap:0}
.foot>.inner{display:flex;justify-content:space-between;gap:20px;color:var(--on-navy2);font-size:11px}

/* ---------- brand ---------- */
.brand{display:flex;align-items:center;gap:13px}
.brand img{height:44px;width:auto}
.wm{color:var(--navy);font-family:Georgia,'Times New Roman',serif;font-size:21px;letter-spacing:.15em;line-height:1}
.wms{color:var(--gold-dk);font-size:8px;letter-spacing:.28em;margin-top:4px;font-weight:500}

/* ---------- navigation ---------- */
.navlinks{display:flex;align-items:center;gap:4px}
.navlinks>a,.navlinks>.dd>a{display:inline-flex;align-items:center;gap:5px;padding:10px 11px;
  font-size:12.5px;line-height:1;color:var(--body);position:relative;white-space:nowrap}
.navlinks>a:hover,.navlinks>.dd>a:hover{color:var(--navy)}
.navlinks .on{color:var(--navy);font-weight:500}
.navlinks>a:has(.on):after,.navlinks>.dd>a:has(.on):after{
  content:'';position:absolute;left:11px;right:11px;bottom:2px;height:2px;background:var(--gold)}
.dd{position:relative;display:inline-flex;align-items:center}
.dd .cv{font-size:8px;opacity:.55;position:relative;top:1px}
.ddm{position:absolute;left:0;top:calc(100% + 6px);background:var(--navy);border-top:3px solid var(--gold);
  min-width:300px;z-index:60;box-shadow:0 18px 40px -18px rgba(22,36,63,.55);
  opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .13s ease,transform .13s ease,visibility .13s}
.dd:hover>.ddm,.dd:has(:focus-visible)>.ddm{opacity:1;visibility:visible;transform:translateY(0)}
.ddm a{display:block;padding:13px 18px;border-bottom:1px solid rgba(184,198,220,.14)}
.ddm a:last-child{border-bottom:0}
.ddm a:hover{background:var(--navy2)}
.ddm b{display:block;color:#fff;font-size:12.5px;font-weight:500;line-height:1.35}
.ddm span{display:block;color:var(--on-navy2);font-size:10.5px;margin-top:3px}
.dd2{position:relative}
.dd2>a{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cv2{font-size:9px;opacity:.6}
.ddm2{position:absolute;left:100%;top:-3px;background:var(--navy);border-top:3px solid var(--gold);
  min-width:280px;box-shadow:0 18px 40px -18px rgba(22,36,63,.55);
  opacity:0;visibility:hidden;transform:translateX(-4px);
  transition:opacity .13s ease,transform .13s ease,visibility .13s}
.dd2:hover>.ddm2{opacity:1;visibility:visible;transform:translateX(0)}
.navlinks>a.navcta,.navcta{display:inline-flex;align-items:center;background:var(--navy);color:#fff;
  padding:10px 16px;margin-left:8px;font-size:12.5px;line-height:1;white-space:nowrap;
  transition:background .15s ease}
.navlinks>a.navcta:hover,.navcta:hover{background:var(--navy2);color:#fff}

/* ---------- type ---------- */
h1,h2,h3,h4{margin:0;font-weight:500}
.eyebrow{color:var(--gold-dk);font-size:10.5px;letter-spacing:.16em;margin-bottom:24px}
.hero .eyebrow{color:var(--gold-dk)}
.sec.dark .eyebrow{color:var(--gold)}
.h1{color:#fff;font-size:33px;line-height:1.18;font-weight:500;letter-spacing:-.026em;
  max-width:34ch;text-wrap:balance}
.h1.g{color:var(--gold);margin-top:2px}
.h2{color:var(--navy);font-size:26px;line-height:1.26;font-weight:500;letter-spacing:-.02em;
  max-width:36ch;text-wrap:balance}
.sec.dark .h2{color:#fff}
.lede{color:var(--on-navy);font-size:14.5px;line-height:1.8;max-width:68ch;margin-top:26px;text-wrap:pretty}
.lede.w{color:#fff;font-size:15px;line-height:1.65;margin-top:18px;font-weight:500}
.p{color:var(--body);font-size:13.5px;line-height:1.8;max-width:70ch;margin-top:16px;text-wrap:pretty}
.sec.dark .p{color:var(--on-navy)}

/* ---------- grids ---------- */
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:40px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:40px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:40px;
  border-top:1px solid var(--line);padding-top:32px}
.sec.dark .g4{border-top-color:rgba(184,198,220,.28)}
.g2>*,.g3>*,.g4>*{min-width:0}

/* ---------- components ---------- */
.strip>.inner>div{border-right:1px solid rgba(184,198,220,.25);padding:0 20px}
.strip>.inner>div:first-child{padding-left:0}
.strip>.inner>div:last-child{border-right:0;padding-right:0}
.sn{color:#fff;font-size:22px;font-weight:500;letter-spacing:-.025em}
.sn.g{color:var(--gold)}
.sl{color:var(--on-navy2);font-size:10px;margin-top:6px;line-height:1.4}
.sk{color:var(--on-navy2);font-size:10px;letter-spacing:.06em}
.sv{color:#fff;font-size:15px;font-weight:500;margin-top:7px}

.box{background:#fff;border:1px solid var(--line);padding:24px;
  transition:box-shadow .2s ease,transform .2s ease}
.box:hover{box-shadow:0 14px 34px -22px rgba(22,36,63,.4);transform:translateY(-2px)}
.bn,.capn{color:var(--gold-dk);font-size:10.5px;letter-spacing:.1em;font-weight:500}
.bt{color:var(--navy);font-size:16px;font-weight:500;margin:10px 0 9px;text-wrap:balance}
.ld{color:var(--body);font-size:12.5px;line-height:1.75;text-wrap:pretty}
.sec.dark .ld{color:var(--on-navy)}
/* ...but not when it sits inside a white .box card that happens to be in a dark
   section: the card keeps its own light background, so the text on it stays dark.
   Without this, giving a section the navy emphasis renders its card copy at 1.7:1. */
.sec.dark .box .ld{color:var(--body)}
.lt{color:var(--navy);font-size:18px;font-weight:500;margin-bottom:11px;text-wrap:balance}
.sec.dark .lt{color:#fff}

.lever{border-top:3px solid var(--line);padding-top:20px;transition:border-top-color .2s ease}
.lever.on{border-top-color:var(--gold)}
.lever:hover{border-top-color:var(--gold)}
.rn{color:var(--muted2);font-size:11px;margin-bottom:9px}
.go,.relgo{color:var(--gold-dk);font-size:11.5px;font-weight:500;margin-top:16px;display:inline-block}

.lft{border-left:3px solid var(--line);padding-left:20px}
.lft.on{border-left-color:var(--gold)}
.sec.dark .lft{border-left-color:rgba(184,198,220,.3)}
.sec.dark .lft.on{border-left-color:rgba(232,163,23,.8)}

.cream{background:var(--cream);border-left:3px solid var(--gold);padding:22px 24px;margin-top:30px;max-width:76ch}
.cream p{margin:0;color:var(--navy);font-size:13px;line-height:1.78}
.pull{border-left:3px solid var(--gold);padding-left:22px;margin-top:38px;max-width:76ch}
.pull p{margin:0;color:var(--body);font-size:13px;line-height:1.75}
/* the base colour was var(--on-navy), which assumed .pull always sat on navy.
   Ten pages moved it onto .sec.alt today and it rendered at 1.6:1 there, so the
   base is now the light-background body colour and the dark case stays explicit. */
.sec.dark .pull p{color:#fff}
.note{color:var(--on-navy2);font-size:11.5px;margin-top:20px}
.meth{color:var(--muted2);font-size:10.5px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}

.stg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:40px;
  background:var(--line);border:1px solid var(--line)}
.stg>div{background:#fff;padding:24px}
.stgn,.stn{color:var(--gold-dk);font-size:10px;letter-spacing:.1em}
.sec.dark .stn{color:var(--gold)}
.stgt,.stt{color:var(--navy);font-size:16px;font-weight:500;margin:11px 0 9px}
.sec.dark .stt{color:#fff}
.stgd,.std{color:var(--body);font-size:12px;line-height:1.7}
.sec.dark .std{color:var(--on-navy)}

.split{background:var(--card);border:1px solid var(--line);padding:26px;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.split .k{color:var(--gold-dk);font-size:10px;letter-spacing:.08em;margin-bottom:11px}
.split .v{color:var(--navy);font-size:12.5px;line-height:1.95}
.split>div+div{border-left:1px solid var(--line);padding-left:22px}

.capgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:42px}
.capcard{border:1px solid var(--line);border-top:3px solid var(--gold);padding:26px;height:100%;
  transition:transform .2s ease,box-shadow .2s ease}
.capcard:hover{transform:translateY(-3px);box-shadow:0 18px 40px -26px rgba(22,36,63,.45)}
.capt{color:var(--navy);font-size:20px;font-weight:500;margin:10px 0;letter-spacing:-.015em}
.capeq{color:var(--navy);font-size:12.5px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.capd{color:var(--body);font-size:12.5px;line-height:1.75}
.capl{margin-top:16px}
.capl span{display:block;color:var(--muted);font-size:11.5px;line-height:1.6;padding-left:14px;
  position:relative;margin-bottom:6px}
.capl span:before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;background:var(--gold)}

.relwrap{border-top:1px solid var(--line)}
.relwrap .g3{margin-top:26px}
.rel{border:1px solid var(--line);padding:22px;height:100%;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.rel:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 14px 32px -22px rgba(22,36,63,.4)}
.relt{color:var(--navy);font-size:15px;font-weight:500;margin-bottom:7px}
.reld{color:var(--body);font-size:12.5px;line-height:1.7}

.numlist{display:grid;gap:15px;margin-top:14px}
.numlist>div{color:var(--body);font-size:12.5px;line-height:1.72;padding-left:16px;border-left:2px solid var(--gold)}
.numlist b{color:var(--navy);font-weight:500}
.usegrid{display:grid;gap:0;margin-top:26px}
.use{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:start;
  background:#fff;border:1px solid var(--line);padding:20px 22px}
.use+.use{border-top:0}
.use span{color:var(--gold-dk);font-size:13px;font-weight:500;letter-spacing:.06em}
.use div{color:var(--body);font-size:12.5px;line-height:1.75}
.use b{color:var(--navy);font-weight:500}

table.bm{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:14px}
table.bm th{text-align:left;color:var(--muted);font-size:10.5px;font-weight:500;padding:0 12px 10px 0;
  border-bottom:1px solid var(--line)}
table.bm td{padding:8px 12px 8px 0;border-bottom:1px solid var(--line);color:var(--navy)}
table.bm td.n{text-align:right;font-weight:500}
.bar{height:14px;background:var(--gold);display:block}
.bar.n{background:var(--navy2)}

.cta{display:flex;gap:26px;align-items:center;margin-top:34px;flex-wrap:wrap}
.btn{background:var(--gold);border:1px solid var(--gold-dk);color:#2A1D02;font-size:12.5px;
  font-weight:500;padding:13px 26px;display:inline-block;transition:background .15s ease,transform .12s ease}
.btn:hover{background:#f2b23a;transform:translateY(-1px)}
.lnk{color:var(--navy);font-size:12.5px;font-weight:500;border-bottom:1px solid var(--gold-dk);padding-bottom:2px}
.sec.dark .lnk{color:#fff}
.ph{background:var(--card);display:flex;align-items:flex-end;padding:12px;color:var(--muted2);font-size:10.5px}

/* ---------- sizer ---------- */
.szgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:760px;margin-bottom:28px}
.szlab{display:block;color:var(--muted);font-size:11.5px;margin-bottom:7px}
.szin{width:100%;padding:13px 14px;border:1px solid var(--line);font:inherit;font-size:15px;
  color:var(--navy);background:#fff}
.szin:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(232,163,23,.14)}
.szempty{color:var(--muted2);font-size:13.5px;padding:26px 0;border-top:1px solid var(--line)}
.szhead{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;background:var(--navy);
  padding:22px 24px;margin-bottom:30px}
.szhk{color:var(--on-navy2);font-size:10px;letter-spacing:.06em}
.szhv{color:#fff;font-size:17px;font-weight:500;margin-top:6px}
.szsec{color:var(--navy);font-size:16px;font-weight:500;margin-bottom:6px}
.szcap{color:var(--muted);font-size:11.5px;line-height:1.65;margin-bottom:20px;max-width:46ch}
.szsplit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-bottom:42px}
.row{display:grid;grid-template-columns:148px minmax(0,1fr) 96px;gap:14px;align-items:center;padding:7px 0}
.rl{color:var(--navy);font-size:12.5px;line-height:1.3}
.rl em{display:block;font-style:normal;font-size:9.5px;letter-spacing:.04em;margin-top:3px}
.rl em.lv{color:var(--gold-dk)}
.rl em.sp{color:var(--muted2)}
.rb{background:var(--card);height:16px;overflow:hidden}
.rb span{display:block;height:16px;width:0;transition:width .9s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--d,0ms)}
.row.go .rb span{width:var(--w)}
.rb span.gold{background:linear-gradient(90deg,#E8A317,#C8930F)}
.rb span.navy{background:var(--navy2)}
.rb span.mid{background:#3D5A87}
.rb span.muted{background:var(--line)}
.rv{text-align:right;color:var(--navy);font-size:12.5px;font-weight:500;white-space:nowrap}
.rv em{display:block;font-style:normal;color:var(--muted2);font-size:10px;font-weight:400;margin-top:2px}
.szdonut{display:grid;grid-template-columns:280px minmax(0,1fr);gap:48px;align-items:center;
  background:var(--card);border:1px solid var(--line);padding:32px;margin-bottom:32px}
.ring{width:230px;height:230px;display:block;margin:0 auto}
.ring .seg{transition:stroke-dasharray 1s cubic-bezier(.22,.61,.36,1)}
.rt{text-anchor:middle;fill:var(--navy);font-size:30px;font-weight:600;letter-spacing:-.02em}
.rs{text-anchor:middle;fill:var(--muted);font-size:11px}
.lg{display:grid;gap:16px}
.lgi{display:flex;gap:13px;align-items:flex-start}
.lgi i{width:12px;height:12px;flex:0 0 12px;margin-top:3px}
.lgi b{display:block;color:var(--navy);font-size:13.5px;font-weight:500}
.lgi span{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.szn{border-left:3px solid var(--gold);padding:16px 0 16px 20px;margin-top:22px;max-width:76ch}
.sznt{color:var(--navy);font-size:14px;font-weight:500;margin-bottom:6px}
.sznd{color:var(--body);font-size:12.5px;line-height:1.75}

/* ---------- motion ---------- */
.rv-anim{opacity:0;transform:translateY(14px);
  transition:opacity .5s cubic-bezier(.22,.61,.36,1),transform .5s cubic-bezier(.22,.61,.36,1)}
.rv-anim.in{opacity:1;transform:none}
.bargrow{transition:width .85s cubic-bezier(.22,.61,.36,1)}
a{transition:color .15s ease}

/* ---------- responsive ---------- */
@media(max-width:1040px){
  .nav,.hero,.sec,.strip,.foot{padding-left:22px;padding-right:22px}
  .g2,.g3,.g4,.capgrid,.szsplit,.szgrid,.szhead,.szdonut,.stg,.split{grid-template-columns:minmax(0,1fr)}
  .strip>.inner{grid-auto-flow:row;gap:14px}
  .strip>.inner>div{border-right:0;border-bottom:1px solid rgba(184,198,220,.25);padding:12px 0}
  .split>div+div{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:18px}
  .row{grid-template-columns:118px minmax(0,1fr) 80px}
}
@media(max-width:760px){
  .nav>.inner{flex-direction:column;align-items:flex-start;gap:14px}
  .navlinks{flex-wrap:wrap}
  .navcta{margin-left:0}
  .ddm,.ddm2{position:static;opacity:1;visibility:visible;transform:none;min-width:0;
    box-shadow:none;margin:6px 0}
  .nav,.hero,.sec,.strip,.foot{padding-left:16px;padding-right:16px}
  .h1{font-size:26px;max-width:none}
  .h2{font-size:20px;max-width:none}
  .foot>.inner{flex-direction:column;gap:8px}
  .use{grid-template-columns:minmax(0,1fr);gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .rv-anim,.rv-anim.in{opacity:1;transform:none;transition:none}
  .bargrow,.rb span,.ring .seg{transition:none}
  .btn:hover,.box:hover,.rel:hover,.capcard:hover{transform:none}
}

/* defensive: strip and footer children lay out correctly at either nesting level */
.strip>.inner,.strip{--x:0}
.strip>.inner>div,.strip>div:not(.inner){border-right:1px solid rgba(184,198,220,.25);padding:0 20px}
.strip>.inner>div:first-child,.strip>div:not(.inner):first-child{padding-left:0}
.strip>.inner>div:last-child,.strip>div:not(.inner):last-child{border-right:0;padding-right:0}
.strip>div:not(.inner){display:block}
.strip:not(:has(>.inner)){display:grid;grid-auto-flow:column}
.foot:not(:has(>.inner)){display:flex;justify-content:space-between;gap:20px}
.nav:not(:has(>.inner)){display:flex;align-items:center;justify-content:space-between;gap:28px}
@media(max-width:1040px){
 .strip:not(:has(>.inner)){grid-auto-flow:row}
 .strip>div:not(.inner){border-right:0;border-bottom:1px solid rgba(184,198,220,.25);padding:12px 0}
}

/* grow bars used outside the sizer */
.grow{width:0;transition:width .9s cubic-bezier(.22,.61,.36,1)}
.grow.in,.in .grow{width:var(--gw,inherit)}
svg{max-width:100%;height:auto}
.meth{max-width:76ch}

/* linked boxes inside diagrams */
.svgbox{cursor:pointer}
.svgbox rect{transition:stroke .18s ease,fill .18s ease}
.svgbox:hover rect{stroke:var(--gold);fill:#FFFDF8}
.svgbox text{transition:fill .18s ease}
.rowlink{display:block}
.rowlink .rl{transition:color .15s ease}
.rowlink:hover .rl{color:var(--gold-dk)}
.rowlink:hover .rb span{filter:brightness(1.08)}

/* whole lever card is the link */
.leverlink{display:block;height:100%}
.leverlink .lever{height:100%;transition:border-top-color .18s ease,transform .18s ease}
.leverlink:hover .lever{border-top-color:var(--gold);transform:translateY(-2px)}
.leverlink:hover .lt{color:var(--gold-dk)}
.lt{transition:color .15s ease}

/* the conversation button must always read white on navy */
.navlinks>a.navcta,.navlinks>a.navcta:hover,.navlinks>a.navcta:visited{color:#fff}
.navlinks>a.navcta:after{display:none}

/* hero content sits evenly between the rule and the next band */

.hero .eyebrow{margin-bottom:20px}
.hero .h1{margin:0}
.hero .h1.g{margin-top:2px}
.hero .lede{margin-top:24px}
.hero .lede.w{margin-top:16px}
.hero>.inner>*:last-child{margin-bottom:0}

/* hero: block layout, equal padding, no stray margins top or bottom */
.hero>.inner{display:block}
.hero>.inner>*:first-child{margin-top:0}
.hero>.inner>*:last-child{margin-bottom:0}

/* optical balance: kill the leading above the first line and below the last */
.hero>.inner>*:first-child{margin-top:0}
.hero .eyebrow{line-height:1;margin-bottom:22px}
.hero .h1:first-of-type{margin-top:0}
.hero>.inner>*:last-child{margin-bottom:0;padding-bottom:0}


/* hero: content block centred vertically in the navy band */
.hero{min-height:420px;display:flex;align-items:center}
.hero>.inner{width:100%;max-width:1200px;margin:0 auto;display:block}
.hero>.inner>*:first-child{margin-top:0}
.hero>.inner>*:last-child{margin-bottom:0}
@media(max-width:1040px){.hero{min-height:320px}}
@media(max-width:760px){.hero{min-height:0;display:block}}

/* ---------- section rhythm: the one authoritative block ----------
   Measured in Chromium at 1440x900, content-block to content-block.
   Section to section = .sec padding-bottom + .sec padding-top, and nothing
   else, because the first/last child margin resets below hold it to that.
   Was 48+52 = ~100px and reading as a hole between every band. Now 34+36 = 70px. */
.sec{padding-top:36px;padding-bottom:34px}

/* a band never inherits the leading margin of its first block, or the trailing
   margin of its last: that is what put 130px between two sections on the home
   page where the first child happened to be a .g2 carrying margin-top:30px */
.sec>.inner>*:first-child{margin-top:0}
.sec>.inner>*:last-child{margin-bottom:0}
/* and one level deeper, because a bare .rv-anim wrapper has no padding or
   border, so its own last child's margin collapses straight through it and
   lands outside the reset above (89px instead of 70px on /industries).
   !important is here only because the element it has to beat carries an inline
   style="...margin-bottom:16px" written into the page markup, and this rule can
   only ever zero the trailing margin of the very last thing in a band, which is
   what the band's own padding-bottom is already measuring. */
.sec>.inner>*:last-child>*:last-child{margin-bottom:0 !important}

/* the hero was 44 top / 62 bottom, which read bottom-heavy against the band
   below it and made the first section gap the widest on the page */
.hero{min-height:360px;padding-top:44px;padding-bottom:44px}

.g2{margin-top:30px;gap:40px}
.g3{margin-top:30px}
.g4{margin-top:30px;padding-top:26px}
.stg,.capgrid{margin-top:30px}
.cta{margin-top:28px}
.pull{margin-top:28px}
.cream{margin-top:24px}
.eyebrow{margin-bottom:18px}
/* the responsive hero heights must be restated here: this block sets .hero
   min-height outside a media query, and an unconditional rule that comes later
   in the file beats an earlier @media one. That is what left 134px of dead navy
   under the last hero line at 500px wide. */
@media(max-width:1040px){
 .sec{padding-top:30px;padding-bottom:28px}
 .hero{min-height:320px;padding-top:36px;padding-bottom:36px}
}
@media(max-width:760px){
 .sec{padding-top:26px;padding-bottom:24px}
 .hero{min-height:0;display:block;padding-top:30px;padding-bottom:30px}
}


/* ---- column and measure, reconciled ----
   A 1200px column with 526px paragraphs reads as a narrow left strip beside an
   empty right half. Narrow the column so grids and prose occupy the same field. */
:root{--col:1040px}
.h1{max-width:860px;font-size:38px}
.h2{max-width:760px;font-size:26px}
.lede{max-width:720px;font-size:15px}
.p{max-width:720px;font-size:13.5px}
.ld{max-width:none}
.cream,.pull,.szn,.meth{max-width:720px}
@media(max-width:1100px){
  .h1{font-size:31px;max-width:none}
  .h2{font-size:23px;max-width:none}
  .lede,.p{max-width:none}
}

/* contact.html was the only page with no favicon link */

/* About: portraits must not dictate section height */
.portrait{width:100%;max-width:300px;aspect-ratio:3/4;object-fit:cover;display:block;
  background:var(--navy2)}
.portrait.sq{aspect-ratio:1/1;max-width:200px}
.teamrow{display:grid;grid-template-columns:200px minmax(0,1fr);gap:30px;align-items:start}
@media(max-width:900px){
  .teamrow{grid-template-columns:minmax(0,1fr)}
  .portrait,.portrait.sq{max-width:220px}
}

/* wrappers that lost their inline grid definition */
.catgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.sectorrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:start}
@media(max-width:1000px){
  .catgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sectorrow{grid-template-columns:minmax(0,1fr);gap:14px}
}
@media(max-width:600px){ .catgrid{grid-template-columns:repeat(2,minmax(0,1fr))} }
