/* ==========================================================================
   LEXI GLOBAL CHROME — SHARED HEADER / FOOTER v2 (LinkedIn only)
   This file styles ONLY the shared header/footer injected by lexi.js.
   Each page ships its own self-contained page-body CSS (the approved
   per-page design systems differ), so nothing page-body lives here.
   Component values come from Responsive Design Standard v1.5.
   ========================================================================== */
:root{
  --navy:#001733;
  --navy-2:#00213f;
  --navy-3:#082b4f;
  --cyan:#6ec6e9;
  --cyan-muted:#335d7c;
  --gold:#f6aa00;
  --white:#ffffff;
  --text-muted:#a9bdd1;
  --page-bg:#f4f7fa;
  --focus:#9adcf5;
}
/* Site-wide safety net: contain intentional hero image bleed so off-screen
   overflow never produces a horizontal scrollbar. Only clips content already
   outside the viewport; visible layout is unchanged. */
#main-content{overflow-x:clip}

/* Bootstrap's .card component sets a dark text color; ported pages reuse the
   class name `card` on dark sections, so their headings inherited dark-on-dark
   and vanished. Restore inherited light text for cards inside .dark sections
   (pages that set an explicit heading/body color still win). */
#main-content .dark .card{color:#fff}

.site-header *,.site-footer *{box-sizing:border-box}
.site-header a,.site-footer a{text-underline-offset:3px;-webkit-tap-highlight-color:transparent}
.site-header :focus-visible,.site-footer :focus-visible{outline:3px solid var(--focus);outline-offset:3px}

/* HEADER */
.site-header{position:relative;z-index:1000;height:82px;background:linear-gradient(90deg,var(--navy-2) 0%,var(--navy) 45%,#00142d 100%);color:#fff;border-bottom:1px solid rgba(110,198,233,.18);font-family:Arial,Helvetica,sans-serif}
.header-inner{height:100%;padding:0 30px;display:grid;grid-template-columns:180px 1fr 164px;align-items:center;gap:20px;max-width:1440px;margin:0 auto}
.logo-wrap{display:flex;align-items:center;width:max-content}
.logo{display:block;width:108px;height:auto}
.primary-nav{display:flex;align-items:stretch;justify-content:center;height:100%;gap:0}
.nav-link{position:relative;min-width:102px;height:100%;display:flex;align-items:center;justify-content:center;padding:4px 16px 0;color:#fff;text-decoration:none;font-size:15px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.nav-link::after{content:"";position:absolute;left:9px;right:9px;bottom:10px;height:2px;background:transparent}
.nav-link.active::after,.nav-link[aria-current="page"]::after{background:var(--gold);height:3px}
.nav-link:hover{color:#fff}
/* NAV SUBMENUS (enhancement beyond approved flat master; on-brand navy panel) */
.nav-item{position:relative;display:flex;align-items:stretch;height:100%}
.nav-item.has-sub>.nav-link{padding-right:26px}
.nav-item.has-sub>.nav-link::before{content:"";position:absolute;right:12px;top:50%;width:7px;height:7px;border-right:2px solid rgba(110,198,233,.75);border-bottom:2px solid rgba(110,198,233,.75);transform:translateY(-65%) rotate(45deg);transition:transform .18s ease}
.nav-item.has-sub:hover>.nav-link::before,.nav-item.has-sub:focus-within>.nav-link::before{border-color:var(--gold)}
.nav-caret{display:none}
.nav-submenu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);min-width:264px;max-width:340px;padding:8px;background:linear-gradient(160deg,var(--navy-2) 0%,var(--navy) 60%,#00142d 100%);border:1px solid rgba(246,170,0,.5);border-radius:0 0 8px 8px;box-shadow:0 18px 34px rgba(0,12,28,.42);flex-direction:column;gap:1px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:1001}
.nav-item.has-sub:hover>.nav-submenu,.nav-item.has-sub:focus-within>.nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.nav-submenu .nav-subitem{position:relative;display:block;padding:10px 14px;border-radius:4px;color:#dfeaf3;font-size:14px;font-weight:600;line-height:1.25;text-decoration:none;white-space:nowrap}
.nav-submenu .nav-subitem.depth-1{padding-left:32px;font-weight:500;color:#bcd2e4}
.nav-submenu .nav-subitem.depth-1::before{content:"";position:absolute;left:15px;top:50%;width:9px;height:1px;background:rgba(110,198,233,.55);transform:translateY(-50%)}
.nav-subitem:hover,.nav-subitem:focus-visible{background:rgba(110,198,233,.12);color:#fff}

.header-actions{justify-self:end;display:flex;align-items:center;gap:10px}
.header-cta,.footer-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:40px;padding:0 18px;border:2px solid var(--gold);border-radius:4px;color:var(--gold);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.arrow{font-size:18px;line-height:1;margin-top:-1px}
.menu-toggle{display:none;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:4px;background:transparent;color:#fff;align-items:center;justify-content:center;cursor:pointer}
.menu-toggle-lines{width:20px;height:14px;position:relative;display:block}
.menu-toggle-lines::before,.menu-toggle-lines::after,.menu-toggle-lines span{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .18s ease,opacity .18s ease,top .18s ease}
.menu-toggle-lines::before{top:0}
.menu-toggle-lines span{top:6px}
.menu-toggle-lines::after{top:12px}
.site-header.menu-open .menu-toggle-lines::before{top:6px;transform:rotate(45deg)}
.site-header.menu-open .menu-toggle-lines span{opacity:0}
.site-header.menu-open .menu-toggle-lines::after{top:6px;transform:rotate(-45deg)}

/* FOOTER */
.site-footer{background:linear-gradient(90deg,#00203e 0%,var(--navy) 44%,#00142d 100%);color:#fff;border-top:1px solid rgba(110,198,233,.16);font-family:Arial,Helvetica,sans-serif;display:block;height:auto;align-items:normal}
.footer-main{padding:36px 30px 24px;max-width:1440px;margin:0 auto}
.footer-top{min-height:94px;display:grid;grid-template-columns:220px 1fr 164px;align-items:center;gap:20px}
.footer-brand .logo{width:116px}
.footer-nav{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:nowrap}
.footer-nav a{position:relative;color:#fff;text-decoration:none;font-size:14px;font-weight:600;padding:10px 12px 13px;white-space:nowrap}
.footer-nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:1px;background:transparent}
.footer-nav a.active::after,.footer-nav a[aria-current="page"]::after{background:var(--gold);height:2px}
.footer-cta{justify-self:end}
.footer-divider{height:1px;background:rgba(110,198,233,.18)}

.utility-wrap{padding:20px 30px 18px;max-width:1440px;margin:0 auto}
.utility-grid{border:1px solid rgba(246,170,0,.72);border-radius:8px;display:grid;grid-template-columns:repeat(6,1fr);overflow:hidden;background:rgba(255,255,255,.015)}
.utility-item{min-height:70px;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;color:#dfeaf3;text-decoration:none;font-size:13.5px;font-weight:600;text-align:left;white-space:nowrap}
.utility-item + .utility-item{border-left:1px solid rgba(246,170,0,.45)}
.utility-item svg{width:25px;height:25px;flex:0 0 25px;stroke:#88bfe0;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.utility-item.talk{color:#fff}
.utility-item.talk svg{stroke:var(--gold)}

.footer-bottom{max-width:1440px;margin:0 auto;padding:12px 30px 18px;display:flex;align-items:center;justify-content:space-between;color:#8fa6ba;font-size:11px}
.footer-bottom-left{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.footer-cookie-prefs{background:none;border:0;padding:0;margin:0;font:inherit;color:#a9c2d8;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.footer-cookie-prefs:hover{color:#fff}
.footer-cookie-prefs:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}
.socials{display:flex;align-items:center;gap:9px}
.social{width:24px;height:24px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:11px;font-weight:700}

/* TABLET — responsive derivative of approved desktop master.
   Collapse at 1160px (not 1100) so the fixed-width desktop nav never overflows
   the 1100-1158px dead zone; desktop (1440 review) and mobile are unchanged. */
@media (max-width:1160px){
  .header-inner{grid-template-columns:1fr auto;padding:0 24px;gap:12px}
  .logo{width:104px}
  .header-actions{grid-column:2;grid-row:1}
  .menu-toggle{display:inline-flex}
  .primary-nav{display:none;position:absolute;left:0;right:0;top:82px;height:auto;padding:16px 24px 20px;background:linear-gradient(90deg,var(--navy-2) 0%,var(--navy) 45%,#00142d 100%);border-top:1px solid rgba(110,198,233,.15);border-bottom:1px solid rgba(110,198,233,.22);box-shadow:0 14px 24px rgba(0,15,35,.24);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px}
  .site-header.menu-open .primary-nav{display:grid}
  .nav-link{min-width:0;height:52px;justify-content:flex-start;padding:0 12px;font-size:15px}
  .nav-link::after{left:12px;right:12px;bottom:5px}

  /* mobile submenu accordion */
  .nav-item{display:block;height:auto;position:relative}
  .nav-item.has-sub>.nav-link{padding-right:52px}
  .nav-item.has-sub>.nav-link::before{display:none}
  .nav-caret{display:flex;position:absolute;right:2px;top:0;height:52px;width:46px;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer}
  .nav-caret span{width:9px;height:9px;border-right:2px solid #9fc4de;border-bottom:2px solid #9fc4de;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
  .nav-item.sub-open>.nav-caret span{transform:translateY(2px) rotate(-135deg);border-color:var(--gold)}
  .nav-submenu{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;display:none;min-width:0;max-width:none;padding:2px 0 10px 10px;background:transparent;border:0;border-radius:0;box-shadow:none;gap:0}
  .nav-item.sub-open>.nav-submenu{display:flex}
  .nav-subitem{white-space:normal;padding:9px 12px;color:#c7d7e6}
  .nav-subitem.depth-1{padding-left:26px}
  .nav-subitem.depth-1::before{display:none}

  .footer-main{padding:32px 24px 22px}
  .footer-top{grid-template-columns:1fr auto;gap:18px;min-height:0}
  .footer-brand .logo{width:112px}
  .footer-cta{grid-column:2;grid-row:1}
  .footer-nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 12px;justify-content:stretch}
  .footer-nav a{padding:12px 10px 14px}
  .utility-wrap{padding:18px 24px 16px}
  .utility-grid{grid-template-columns:repeat(4,1fr)}
  .utility-item{justify-content:flex-start;white-space:normal;border-left:1px solid rgba(246,170,0,.45);border-top:1px solid rgba(246,170,0,.45)}
  .utility-item:nth-child(-n+4){border-top:0}
  .utility-item:nth-child(4n+1){border-left:0}
  .footer-bottom{padding:12px 24px 18px}
}

/* MOBILE — all approved content remains present; no content is omitted. */
@media (max-width:700px){
  .header-inner{padding:0 16px;gap:8px}
  .logo{width:96px}
  .header-actions{gap:8px}
  .header-cta{padding:0 12px}
  .primary-nav{padding:12px 16px 18px;grid-template-columns:1fr}
  .nav-link{height:50px;padding:0 8px}
  .nav-link::after{left:8px;right:8px}

  .footer-main{padding:30px 16px 20px}
  .footer-top{grid-template-columns:1fr;gap:18px;align-items:start}
  .footer-brand .logo{width:108px}
  .footer-cta{grid-column:1;grid-row:auto;justify-self:start}
  .footer-nav{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}
  .footer-nav a{padding:11px 8px 13px}
  .footer-nav a::after{left:8px;right:8px}
  .utility-wrap{padding:16px}
  .utility-grid{grid-template-columns:repeat(2,1fr)}
  .utility-item{min-height:70px;padding:12px 10px}
  .utility-item:nth-child(-n+4){border-top:1px solid rgba(246,170,0,.45)}
  .utility-item:nth-child(4n+1){border-left:1px solid rgba(246,170,0,.45)}
  .utility-item:nth-child(-n+2){border-top:0}
  .utility-item:nth-child(odd){border-left:0}
  .footer-bottom{padding:12px 16px 18px;gap:16px;align-items:flex-start}
}

@media (max-width:420px){
  .header-cta{height:38px;padding:0 10px;font-size:13px}
  .arrow{font-size:17px}
  .utility-grid{grid-template-columns:1fr}
  .utility-item{border-left:0!important;border-top:1px solid rgba(246,170,0,.45)!important}
  .utility-item:first-child{border-top:0!important}
  .footer-bottom{flex-direction:column}
  .socials{align-self:flex-start}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .menu-toggle-lines::before,.menu-toggle-lines::after,.menu-toggle-lines span{transition:none}
}
