/* Header + footer styles, generated from build_header.py and
   build_footer.py by make_theme.py. Do not hand-edit. */
[data-e="e-ecghdr"]{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:0px 32px;padding:0px max(32px,calc((100% - 1320px)/2)) 0px max(32px,calc((100% - 1320px)/2));min-height:76px;background-color:#FFFFFF;border-style:solid;border-width:0px 0px 1px 0px;border-color:var(--e-global-color-slate_200)}
#e-ecgL{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:0px 0px;width:17%}
#e-ecglogo img{width:186px}
#e-ecgC{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:0px 0px;width:66%}
#e-ecgR{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:0px 0px;width:17%}
#e-ecgcta .ecg-btn{font-family:Inter,sans-serif;font-size:15px;font-weight:600;background-color:var(--e-global-color-primary);color:var(--e-global-color-white);padding:13px 22px 13px 22px}
#e-ecgcta .ecg-btn:hover{background-color:var(--e-global-color-secondary);color:var(--e-global-color-white)}
#e-ecgcta .ecg-btn:focus-visible{background-color:var(--e-global-color-secondary);color:var(--e-global-color-white)}
#e-ecgctam .ecg-btn{font-family:Inter,sans-serif;font-size:13px;font-weight:600;background-color:var(--e-global-color-primary);color:var(--e-global-color-white);padding:10px 16px 10px 16px}
#e-ecgctam .ecg-btn:hover{background-color:var(--e-global-color-secondary);color:var(--e-global-color-white)}
#e-ecgctam .ecg-btn:focus-visible{background-color:var(--e-global-color-secondary);color:var(--e-global-color-white)}
@media(max-width:1024px){#e-ecglogo img{width:168px}}
@media(max-width:767px){[data-e="e-ecghdr"]{padding:0px max(20px,calc((100% - 1320px)/2)) 0px max(20px,calc((100% - 1320px)/2))}
#e-ecglogo img{width:128px}
#e-ecgcta .ecg-btn{font-size:12px}
#e-ecgctam .ecg-btn{font-size:12px}}
[data-e="e-ftsec"]{display:flex;flex-direction:column;padding:72px max(32px,calc((100% - 1320px)/2)) 40px max(32px,calc((100% - 1320px)/2));background-color:var(--e-global-color-secondary)}
#e-fttop{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:44px 40px;width:100%}
#e-ftbrand{display:flex;flex-direction:column;gap:0px 0px;width:32%}
#e-ftlogo img{width:180px}
#e-ftblurb{font-family:Inter,sans-serif;font-size:15px;line-height:1.7em;color:var(--e-global-color-slate_300)}
#e-ftblurb{margin:20px 0px 0px 0px}
#e-ftsvc{display:flex;flex-direction:column;gap:0px 0px;width:19%}
#e-ftsvch .ecg-h{font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:1.4px;line-height:1.4em;text-transform:uppercase;color:var(--e-global-color-white)}
#e-ftsvch{text-align:left}
#e-ftsvcl{font-family:Inter,sans-serif;font-size:15px;line-height:1.9em;color:var(--e-global-color-slate_300)}
#e-ftsvcl{margin:16px 0px 0px 0px}
#e-ftco{display:flex;flex-direction:column;gap:0px 0px;width:19%}
#e-ftcoh .ecg-h{font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:1.4px;line-height:1.4em;text-transform:uppercase;color:var(--e-global-color-white)}
#e-ftcoh{text-align:left}
#e-ftcol{font-family:Inter,sans-serif;font-size:15px;line-height:1.9em;color:var(--e-global-color-slate_300)}
#e-ftcol{margin:16px 0px 0px 0px}
#e-ftcontact{display:flex;flex-direction:column;gap:0px 0px;width:20%}
#e-ftcoh2 .ecg-h{font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:1.4px;line-height:1.4em;text-transform:uppercase;color:var(--e-global-color-white)}
#e-ftcoh2{text-align:left}
#e-ftcontactl{font-family:Inter,sans-serif;font-size:15px;line-height:1.7em;color:var(--e-global-color-slate_300)}
#e-ftcontactl{margin:16px 0px 16px 0px}
#e-ftsocial{font-family:Inter,sans-serif;font-size:15px;line-height:1em;color:var(--e-global-color-slate_300)}
#e-ftsocial{margin:0px 0px 18px 0px}
#e-ftcta .ecg-btn{font-family:Inter,sans-serif;font-size:14px;font-weight:600;background-color:var(--e-global-color-white);color:var(--e-global-color-secondary);padding:12px 18px 12px 18px}
#e-ftcta .ecg-btn:hover{background-color:var(--e-global-color-teal_200);color:var(--e-global-color-secondary)}
#e-ftcta .ecg-btn:focus-visible{background-color:var(--e-global-color-teal_200);color:var(--e-global-color-secondary)}
#e-ftcerts{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px 26px;padding:30px 0px 0px 0px;margin:40px 0px 0px 0px;width:100%;border-style:solid;border-width:1px 0px 0px 0px;border-color:var(--e-global-color-navy_700)}
#e-ftbot{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:24px 0px 0px 0px;margin:44px 0px 0px 0px;width:100%;border-style:solid;border-width:1px 0px 0px 0px;border-color:var(--e-global-color-navy_700)}
#e-ftcopy{font-family:Inter,sans-serif;font-size:14px;line-height:1.6em;color:var(--e-global-color-slate_300)}
#e-ftlegal{font-family:Inter,sans-serif;font-size:14px;line-height:1.6em;color:var(--e-global-color-slate_300)}
@media(max-width:1024px){#e-ftbrand{width:50%}
#e-ftsvc{width:50%}
#e-ftco{width:50%}
#e-ftcontact{width:50%}}
@media(max-width:767px){[data-e="e-ftsec"]{padding:52px max(20px,calc((100% - 1320px)/2)) 32px max(20px,calc((100% - 1320px)/2))}
#e-ftbrand{width:100%}
#e-ftsvc{width:100%}
#e-ftco{width:100%}
#e-ftcontact{width:100%}}

/* ---------- header: three columns that cannot over-subscribe -------------
   The generated widths are 17%% / 66%% / 17%% — they sum to 100%% while the row
   ALSO has a 32px gap, so the row always demands 64px more than it has and
   flex resolves that by shrinking whatever will give. At 1440 there is slack
   and it looks fine; at 1200 the CTA lands 55px off the right edge, and on a
   375px phone the brand mark was squeezed to 34x8px and ran under the menu.

   Percentages cannot express this layout. The brand and the CTA are intrinsic
   widths that must not shrink; the nav is the only elastic part. So: both ends
   size to their content, the middle takes what is left.                      */
#e-ecgL{width:auto;flex:0 0 auto}
#e-ecgC{width:auto;flex:1 1 auto;min-width:0}
#e-ecgR{width:auto;flex:0 0 auto}

/* 1359, matching the burger. Measured: the full nav needs 1360px before its
   first item clears the 186px logo — at 1320 they touch, at 1280 the nav
   overlaps the mark by 40px. Below that the burger shows, so the header gets
   the compact treatment. */
@media(max-width:1359px){
  #e-ecghdr,[data-e="e-ecghdr"]{gap:0 10px}
  /* 24px of horizontal padding per column is deliberate desktop spacing; on a
     375px phone it is 144px of the 335px available, which left the CTA column
     less than its own padding. */
  #e-ecgL,#e-ecgC,#e-ecgR{padding-left:0;padding-right:0}
  #e-ecgR{justify-content:flex-end}
}
