  /* ============================= NAV ============================= */
  .site-nav{
    position:sticky;top:0;z-index:200;
    background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 100%);
    backdrop-filter:blur(22px) saturate(180%); -webkit-backdrop-filter:blur(22px) saturate(180%);
    border-bottom:1px solid rgba(15,23,42,.055);
    box-shadow:
      0 1px 0 rgba(255,255,255,1) inset,
      0 -1px 0 rgba(15,23,42,.03) inset,
      0 24px 60px -34px rgba(15,23,42,.20);
    transition:transform .45s cubic-bezier(.4,0,.2,1), box-shadow .35s ease, background .35s ease;
    will-change:transform;
  }
  /* The main nav stays permanently visible/sticky while scrolling (never
     slides away) per site-wide navigation requirements. This rule only adds
     a subtle shadow/solidify once the page has been scrolled a little. */
  .site-nav.nav-scrolled{
    box-shadow:
      0 1px 0 rgba(255,255,255,1) inset,
      0 -1px 0 rgba(15,23,42,.04) inset,
      0 28px 70px -30px rgba(15,23,42,.32);
  }
  .nav-inner{
    max-width:1360px;margin:0 auto;padding:0 32px;
    display:flex;align-items:center;justify-content:space-between;
    height:82px;
    gap:20px;
  }
  /* Same-page scroll targets: offset by the sticky nav height (82px) plus
     breathing room, so a CTA-driven smooth scroll never lands with the
     section's heading tucked underneath the nav bar. */
  #services, #pricing{ scroll-margin-top:104px; }
  .nav-logo{
    display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;
    position:relative; overflow:hidden; border-radius:6px;
    padding:2px 4px; margin:-2px -4px;
  }
  .nav-logo img{
    height:48px;width:auto;display:block;position:relative;
    animation:navLogoEntrance 1s cubic-bezier(.16,1,.3,1) both;
    transition:transform .4s cubic-bezier(.2,.8,.2,1), filter .4s ease;
  }
  .nav-logo:hover img{ transform:scale(1.045); filter:brightness(1.04) saturate(1.08); }
  @keyframes navLogoEntrance{
    from{ opacity:0; transform:translateY(-6px) scale(.94); filter:blur(3px); }
    to{ opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
  }
  .nav-logo::after{
    content:'';
    position:absolute; top:0; left:-45%; width:30%; height:100%;
    background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,0) 35%, rgba(255,255,255,.9) 50%, rgba(255,255,255,0) 65%, transparent 100%);
    transform:skewX(-18deg);
    mix-blend-mode:overlay;
    opacity:0;
    pointer-events:none;
    animation:navLogoShine 6s ease-in-out 1.4s infinite;
  }
  @keyframes navLogoShine{
    0%{ left:-45%; opacity:0; }
    8%{ opacity:1; }
    22%{ left:120%; opacity:1; }
    28%, 100%{ left:120%; opacity:0; }
  }
  @media (prefers-reduced-motion: reduce){
    .nav-logo img{ animation:none; }
    .nav-logo::after{ animation:none; display:none; }
  }
  .nav-links{
    display:flex;align-items:center;gap:2px;
    list-style:none;
    flex:1;
    padding-left:16px;
  }
  .nav-links > li{ position:relative; }
  .nav-links > li > a, .nav-drop-trigger{
    display:inline-flex; align-items:center; gap:6px;
    font-size:13.5px;font-weight:500;color:#33394a;text-decoration:none;
    letter-spacing:.005em;
    padding:10px 15px;position:relative;white-space:nowrap;
    border-radius:8px;
    background:none;border:none;cursor:pointer;font-family:inherit;
    transition:color .22s ease, background .22s ease;
  }
  .nav-links > li > a:hover, .nav-drop-trigger:hover{ color:#96731f; background:rgba(150,115,31,.07); }
  /* Animated active/hover underline */
  .nav-links > li > a::after, .nav-drop-trigger::after{
    content:''; position:absolute; left:15px; right:15px; bottom:4px; height:2px;
    background:linear-gradient(90deg,#d9b46a,#96731f); border-radius:2px;
    transform:scaleX(0); transform-origin:center;
    transition:transform .3s cubic-bezier(.2,.8,.2,1);
  }
  .nav-links > li > a:hover::after, .nav-drop-trigger:hover::after,
  .nav-links > li > a.is-active::after{ transform:scaleX(1); }
  .nav-links > li > a.is-active{ color:#20242f; }
  .nav-drop-trigger svg{ width:12px; height:12px; transition:transform .25s ease; color:#9aa1b0; }
  .has-dropdown:hover .nav-drop-trigger svg, .nav-drop-trigger[aria-expanded="true"] svg{ transform:rotate(180deg); color:#96731f; }

  /* ===== Mega menus: Job Search Resources / Employer Resources ===== */
  .nav-dropdown{
    position:absolute; top:calc(100% + 14px); left:50%; transform:translate(-50%,10px) scale(.98);
    background:#ffffff; border-radius:20px; border:1px solid rgba(15,23,42,.07);
    box-shadow:0 34px 80px -24px rgba(15,23,42,.28), 0 0 0 1px rgba(15,23,42,.02);
    padding:20px;
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .25s cubic-bezier(.2,.8,.2,1), transform .3s cubic-bezier(.2,.8,.2,1), visibility .25s ease;
    z-index:50;
  }
  .has-dropdown:hover .nav-dropdown,
  .nav-dropdown.force-open{
    opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0) scale(1);
  }
  .nav-dropdown-head{
    grid-column:1 / -1; padding:2px 10px 12px; margin-bottom:4px;
    border-bottom:1px solid rgba(15,23,42,.06);
    font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#9aa1b0;
  }
  .nav-mega--jobs{ width:700px; max-width:92vw; display:grid; grid-template-columns:repeat(3,1fr); gap:2px 6px; }
  .nav-mega--employer{ width:600px; max-width:92vw; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
  .mega-col{ display:flex; flex-direction:column; gap:1px; min-width:0; }
  .mega-col + .mega-col{ border-left:1px solid rgba(15,23,42,.055); padding-left:14px; }
  .mega-col-label{
    padding:2px 10px 12px; font-size:10.5px; font-weight:700; letter-spacing:.11em;
    text-transform:uppercase; color:#9aa1b0;
  }
  .nav-dropdown a{
    display:flex; align-items:flex-start; gap:11px; text-decoration:none;
    padding:11px 10px; border-radius:12px; transition:background .18s ease;
  }
  .nav-dropdown a:hover{ background:#f7f4ec; }
  .nd-icon{
    flex-shrink:0; width:34px; height:34px; border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    background:rgba(150,115,31,.09);
    transition:background .2s ease, transform .2s ease;
  }
  .nav-dropdown a:hover .nd-icon{ background:rgba(150,115,31,.16); transform:scale(1.06); }
  .nd-icon svg{ width:16px; height:16px; color:#96731f; }
  .nd-body{ display:flex; flex-direction:column; gap:2px; padding-top:1px; min-width:0; }
  .nav-dropdown .nd-title{ font-size:13px; font-weight:600; color:#20242f; }
  .nav-dropdown .nd-desc{ font-size:11px; color:#8b93a3; line-height:1.4; }
  .nav-dropdown a:hover .nd-title{ color:#96731f; }

  /* Employer Resources — elegant hover-card grid */
  .emp-card{
    display:flex; flex-direction:column; align-items:flex-start; gap:10px;
    padding:16px 14px !important; border-radius:14px; border:1px solid rgba(15,23,42,.06);
    background:#fff;
    transition:border-color .22s ease, background .22s ease, transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease;
  }
  .emp-card:hover{
    border-color:rgba(150,115,31,.35); background:#fbf8f1;
    transform:translateY(-3px); box-shadow:0 16px 30px -16px rgba(15,23,42,.22);
  }
  .emp-card .nd-icon{ width:38px; height:38px; }
  .emp-card .nd-icon svg{ width:18px; height:18px; }
  .emp-card:hover .nd-icon{ background:rgba(150,115,31,.18); }
  .emp-card:hover .nd-title{ color:#96731f; }

  .nav-right{ display:flex; align-items:center; gap:14px; flex-shrink:0; }
  .lang-toggle{
    display:flex; align-items:center; gap:2px; background:none; border:1px solid rgba(15,23,42,.14);
    border-radius:999px; padding:4px; cursor:pointer; font-family:inherit;
    transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
  }
  .lang-toggle:hover{ border-color:rgba(150,115,31,.4); background:rgba(150,115,31,.05); box-shadow:0 0 0 3px rgba(217,180,106,.1); }
  .lang-toggle .lang-opt{
    font-size:12.5px; font-weight:600; color:#8b93a3; transition:color .2s ease, background .2s ease;
    padding:6px 12px; border-radius:999px; line-height:1; display:inline-flex; align-items:center;
    min-width:2.5em; justify-content:center; -webkit-tap-highlight-color:transparent;
  }
  .lang-toggle .lang-sep{ font-size:11px; color:rgba(15,23,42,.18); padding:0 2px; pointer-events:none; }
  .lang-toggle[data-active="en"] .lang-opt[data-lang="en"],
  .lang-toggle[data-active="ar"] .lang-opt[data-lang="ar"]{
    color:#20242f; background:rgba(15,23,42,.06);
  }
  .lang-toggle-mobile{ margin:20px 28px 4px; align-self:flex-start; display:inline-flex; }

  /* Currency switcher — mirrors the currency control already used on the
     other CV Warehouse pages, wired here to the existing pricing-section
     currency system (see the currency script further down this file) so
     the nav selector and the pricing section's own selector always agree. */
  .nav-currency select{
    appearance: none; -webkit-appearance: none; -moz-appearance: none;
    font-family: inherit; font-size: 12.5px; font-weight: 600; color: #5b6473;
    background-color: transparent;
    border: 1px solid rgba(15,23,42,.14); border-radius: 999px;
    padding: 6px 19px 6px 9px; cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b93a3' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
    background-repeat: no-repeat; background-position: right 5px center; background-size: 10px;
  }
  .nav-currency select:hover{ border-color: rgba(150,115,31,.4); background-color: rgba(150,115,31,.05); color: #96731f; }
  html[dir="rtl"] .nav-currency select{ padding: 6px 9px 6px 19px; background-position: left 5px center; }
  .mob-currency-row{ padding: 0 28px 14px; }
  .mob-currency-row select{
    width: 100%; appearance: none; -webkit-appearance: none; -moz-appearance: none;
    font-family: inherit; font-size: 14px; font-weight: 600; color: #20242f;
    border: 1px solid rgba(15,23,42,.14); border-radius: 12px; padding: 12px 16px;
    background-color: #fff;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b93a3' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
    background-repeat: no-repeat; background-position: right 16px center; background-size: 12px;
  }
  html[dir="rtl"] .mob-currency-row select{ background-position: left 16px center; }

  .nav-findjobs{
    font-size:13px; font-weight:500; color:#5b6473; text-decoration:none; position:relative; padding:6px 2px;
  }
  .nav-findjobs::after{
    content:''; position:absolute; left:2px; right:2px; bottom:1px; height:1.5px;
    background:#96731f; transform:scaleX(0); transform-origin:right;
    transition:transform .3s cubic-bezier(.2,.8,.2,1);
  }
  .nav-findjobs:hover{ color:#20242f; }
  .nav-findjobs:hover::after{ transform:scaleX(1); transform-origin:left; }

  .nav-postjob{
    font-size:13px; font-weight:600; color:#33394a; text-decoration:none;
    padding:10px 18px; border-radius:999px; border:1px solid rgba(15,23,42,.16);
    transition:border-color .22s ease, background .22s ease, color .22s ease, transform .22s ease;
    white-space:nowrap;
  }
  .nav-postjob:hover{ border-color:#96731f; background:rgba(150,115,31,.06); color:#96731f; transform:translateY(-1px); }

  .nav-auth{ display:flex; align-items:center; gap:16px; }
  .nav-signin{
    appearance:none; -webkit-appearance:none; background:none; border:none; cursor:pointer; font-family:inherit;
    font-size:13.5px; font-weight:500; color:#33394a;
    padding:11px 4px; transition:color .2s ease;
  }
  .nav-signin:hover{ color:#96731f; }
  .nav-register{
    appearance:none; -webkit-appearance:none; border:none; cursor:pointer; font-family:inherit;
    display:inline-flex;align-items:center;gap:8px;
    padding:11px 22px;border-radius:999px;
    background:linear-gradient(135deg,#14181f,#050608);color:#fff;
    font-size:13.5px;font-weight:600;letter-spacing:-.005em;
    flex-shrink:0;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    box-shadow:0 10px 24px -10px rgba(15,23,42,.45);
  }
  .nav-register:hover{transform:translateY(-1px);box-shadow:0 14px 30px -10px rgba(15,23,42,.5);background:linear-gradient(135deg,#1c212b,#0a0c10);}
  .nav-register svg{width:13px;height:13px;color:#d9b46a;}

  /* ===== Primary CTA — Talk to Career Expert (WhatsApp) =====
     Icon-only pill: same 40px tap-target height as the other nav
     controls, but a fixed, compact circular footprint so it can never
     push the bar wider than the viewport (previously the text label
     "Talk to Career Expert" made this the widest element in the nav
     and forced horizontal overflow at common laptop widths). Label is
     preserved for assistive tech via aria-label + title/tooltip only. */
  .nav-whatsapp-cta{
    position:relative; display:inline-flex; align-items:center; justify-content:center;
    flex-shrink:0; width:40px; height:40px; padding:0; border-radius:50%; text-decoration:none;
    background:linear-gradient(#0d2019,#0d2019) padding-box,
               linear-gradient(120deg,#25d366,#128c7e,#25d366) border-box;
    border:1.5px solid transparent;
    box-shadow:0 10px 22px -12px rgba(37,211,102,.5);
    transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
    isolation:isolate; overflow:hidden;
  }
  .nav-whatsapp-cta::before{
    content:''; position:absolute; inset:-6px; border-radius:50%;
    background:radial-gradient(circle,rgba(37,211,102,.32),transparent 70%);
    opacity:.35; filter:blur(5px); z-index:-1;
    animation:navWaGlow 2.6s ease-in-out infinite;
  }
  @keyframes navWaGlow{ 0%,100%{ opacity:.25; } 50%{ opacity:.6; } }
  .nav-whatsapp-cta:hover{ transform:translateY(-1px); box-shadow:0 14px 28px -12px rgba(37,211,102,.62); }
  .wcta-icon{
    position:relative; flex-shrink:0; width:22px; height:22px; border-radius:50%;
    background:linear-gradient(135deg,#25d366,#1da851);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 0 0 3px rgba(37,211,102,.14);
  }
  .wcta-icon svg{ width:12px; height:12px; color:#fff; }
  .wcta-dot{
    position:absolute; right:-1px; bottom:-1px; width:7px; height:7px; border-radius:50%;
    background:#25d366; border:1.5px solid #0d2019; box-shadow:0 0 4px rgba(37,211,102,.85);
    animation:navWaPulse 1.6s ease-in-out infinite;
  }
  @keyframes navWaPulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.45; transform:scale(.7); } }
  .nav-whatsapp-cta .wcta-ripple{ position:absolute; inset:0; border-radius:50%; overflow:hidden; pointer-events:none; }
  .nav-whatsapp-cta .wcta-ripple::after{
    content:''; position:absolute; top:50%; left:50%; width:0; height:0;
    background:rgba(255,255,255,.25); border-radius:50%; transform:translate(-50%,-50%);
    transition:width .55s ease, height .55s ease, opacity .55s ease; opacity:0;
  }
  .nav-whatsapp-cta:hover .wcta-ripple::after{ width:80px; height:80px; opacity:1; }
  @media (prefers-reduced-motion:reduce){
    .nav-whatsapp-cta::before, .wcta-dot{ animation:none; }
  }


  .nav-toggle{
    display:none;background:none;border:none;cursor:pointer;padding:8px;
    -webkit-tap-highlight-color:transparent;position:relative;z-index:100002;
  }
  .nav-toggle span{display:block;width:22px;height:2px;background:#20242f;margin:5px 0;border-radius:2px;transition:.25s;}
  .nav-mobile-panel{display:none;}

  /* 1439 matches the designed homepage band (covers common 1366px laptops). */
  @media (max-width: 1439px){
    .nav-links{display:none!important;}
    .nav-right{display:none!important;}
    .nav-toggle{display:block!important;}
    .nav-mobile-panel{
      display:block;position:fixed;inset:82px 0 0 0;background:#ffffff;
      transform:translateY(-8px);opacity:0;visibility:hidden;pointer-events:none;
      transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
      overflow-y:auto;-webkit-overflow-scrolling:touch;
      /* Above sticky header (100000) after panel is reparented to <body>. */
      z-index:100001;
    }
    .nav-mobile-panel.open{
      opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
    }
    .nav-mobile-panel ul{list-style:none;padding:12px 28px 8px;}
    .nav-mobile-panel li{border-bottom:1px solid rgba(15,23,42,.07);}
    .nav-mobile-panel .mob-group-label{
      border-bottom:none; padding:18px 2px 6px; font-size:11px; font-weight:700;
      letter-spacing:.1em; text-transform:uppercase; color:#9aa1b0;
    }
    .nav-mobile-panel a{
      display:block;padding:16px 2px;font-size:15px;font-weight:500;color:#20242f;text-decoration:none;
    }
    .nav-mobile-panel .mob-accordion-trigger{
      display:flex; align-items:center; justify-content:space-between; width:100%;
      background:none; border:none; cursor:pointer; font-family:inherit; text-align:left;
      padding:16px 2px; font-size:15px; font-weight:500; color:#20242f;
    }
    .nav-mobile-panel .mob-accordion-trigger svg{ width:14px; height:14px; color:#9aa1b0; transition:transform .25s ease; flex-shrink:0; }
    .nav-mobile-panel .mob-accordion-trigger[aria-expanded="true"] svg{ transform:rotate(180deg); }
    .nav-mobile-panel .mob-accordion-panel{
      max-height:0; overflow:hidden; transition:max-height .35s cubic-bezier(.2,.8,.2,1); padding-left:8px;
    }
    .nav-mobile-panel .mob-accordion-panel a{ padding:12px 2px 12px 10px; font-size:14px; color:#4b5262; }
    .mob-auth-row{ display:flex; align-items:center; gap:14px; padding:20px 28px 12px; }
    .mob-signin{
      flex:1; text-align:center; padding:13px; border-radius:12px; border:1px solid rgba(15,23,42,.14);
      color:#20242f; font-weight:600; font-size:14px; text-decoration:none;
      appearance:none; -webkit-appearance:none; background:none; cursor:pointer; font-family:inherit;
    }
    .mob-cta{
      flex:1; text-align:center; padding:13px; border-radius:12px;
      background:linear-gradient(135deg,#14181f,#050608); color:#fff; font-weight:700; font-size:14px; text-decoration:none;
      appearance:none; -webkit-appearance:none; border:none; cursor:pointer; font-family:inherit;
    }
    .mob-whatsapp-row{ padding:4px 28px 24px; }
    .mob-whatsapp-cta{
      display:flex; align-items:center; justify-content:center; gap:8px; width:100%;
      padding:14px; border-radius:12px; text-decoration:none;
      background:linear-gradient(135deg,#25d366,#128c7e); color:#fff; font-weight:700; font-size:14px;
      box-shadow:0 14px 26px -12px rgba(37,211,102,.55);
    }
    .mob-whatsapp-cta svg{ width:16px; height:16px; flex-shrink:0; }
  }
  @media (min-width:1440px){
    .nav-links{display:flex!important;}
    .nav-right{display:flex!important;}
    .nav-toggle{display:none!important;}
  }

  /* ============================= AUTH MODALS (Register / Sign In) ============================= */
  html.cvw-modal-lock, html.cvw-modal-lock body{ overflow:hidden; }
  .cvw-modal-overlay{
    position:fixed; inset:0; z-index:900;
    background:rgba(4,5,10,.62);
    backdrop-filter:blur(10px) saturate(140%); -webkit-backdrop-filter:blur(10px) saturate(140%);
    display:flex; align-items:center; justify-content:center; padding:24px;
    /* opacity + pointer-events (not "visibility") drives show/hide: visibility-transition
       timing is interpreted inconsistently across browsers/engines for this exact
       hidden<->visible-on-class-toggle pattern, which can leave the overlay stuck
       transparent-but-technically-"open". opacity+pointer-events has no such ambiguity
       and is the standard robust pattern for JS-toggled overlays. */
    opacity:0; pointer-events:none; transition:opacity .3s ease;
  }
  .cvw-modal-overlay.open{ opacity:1; pointer-events:auto; }
  .cvw-modal{
    position:relative; width:100%; background:#ffffff; border-radius:24px;
    border:1px solid rgba(15,23,42,.06);
    box-shadow:0 50px 120px -30px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04);
    max-height:calc(100vh - 48px); overflow-y:auto;
    transform:translateY(18px) scale(.97); opacity:0;
    transition:transform .35s cubic-bezier(.2,.8,.2,1), opacity .3s ease;
  }
  .cvw-modal-overlay.open .cvw-modal:not([hidden]){ transform:translateY(0) scale(1); opacity:1; }
  .cvw-modal[data-size="sm"]{ max-width:440px; }
  .cvw-modal[data-size="lg"]{ max-width:660px; }
  .cvw-modal-inner{ padding:32px 32px 30px; }
  .cvw-modal-close{
    position:absolute; top:18px; right:18px; width:34px; height:34px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:rgba(15,23,42,.045); border:none; cursor:pointer; color:#6b7280;
    transition:background .2s ease, color .2s ease, transform .2s ease;
    z-index:2;
  }
  .cvw-modal-close:hover{ background:rgba(150,115,31,.1); color:#96731f; transform:rotate(90deg); }
  .cvw-modal-close svg{ width:15px; height:15px; }
  .cvw-modal-title{
    font-family:var(--font-display); font-size:20px; font-weight:700; letter-spacing:-.01em;
    color:#14181f; margin-bottom:6px;
  }
  .cvw-modal-eyebrow{
    font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    color:#96731f; margin-bottom:10px;
  }
  .cvw-acct-toggle{
    display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0 22px;
  }
  .cvw-acct-toggle button{
    appearance:none; -webkit-appearance:none; cursor:pointer; font-family:inherit; text-align:left;
    display:flex; align-items:center; gap:12px; padding:14px 14px; border-radius:14px;
    border:1.5px solid rgba(15,23,42,.1); background:#fbfbfc;
    transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
  }
  .cvw-acct-toggle button .aic{
    flex-shrink:0; width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:rgba(15,23,42,.06); color:#6b7280; transition:background .2s ease, color .2s ease;
  }
  .cvw-acct-toggle button .aic svg{ width:16px; height:16px; }
  .cvw-acct-toggle button .aitext strong{ display:block; font-size:13px; font-weight:700; color:#14181f; }
  .cvw-acct-toggle button .aitext span{ display:block; font-size:11px; color:#8b93a3; margin-top:1px; }
  .cvw-acct-toggle button.is-active{
    border-color:#96731f; background:linear-gradient(135deg,#14181f,#050608);
    box-shadow:0 14px 28px -16px rgba(15,23,42,.45);
  }
  .cvw-acct-toggle button.is-active .aic{ background:rgba(217,180,106,.18); color:#d9b46a; }
  .cvw-acct-toggle button.is-active .aitext strong{ color:#fff; }
  .cvw-acct-toggle button.is-active .aitext span{ color:#9aa1b0; }

  .cvw-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; }
  .cvw-field{ display:flex; flex-direction:column; gap:6px; }
  .cvw-field.full{ grid-column:1 / -1; }
  .cvw-field label{ font-size:12px; font-weight:600; color:#33394a; }
  .cvw-field input, .cvw-field select{
    appearance:none; -webkit-appearance:none; width:100%; font-family:inherit;
    padding:12px 14px; border-radius:11px; border:1.5px solid rgba(15,23,42,.1);
    background:#f7f8fa; font-size:13.5px; color:#14181f;
    transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
  }
  .cvw-field input::placeholder{ color:#a3aab8; }
  .cvw-field input:focus, .cvw-field select:focus{
    outline:none; border-color:#96731f; background:#fff;
    box-shadow:0 0 0 4px rgba(217,180,106,.15);
  }
  .cvw-field select{ cursor:pointer; }
  .cvw-captcha{
    display:flex; align-items:center; justify-content:space-between; gap:14px;
    margin-top:18px; padding:12px 16px; border-radius:11px; border:1.5px solid rgba(15,23,42,.1);
    background:#f7f8fa; max-width:302px; cursor:pointer; user-select:none;
    transition:border-color .2s ease, background .2s ease;
  }
  .cvw-captcha:hover{ border-color:rgba(15,23,42,.18); }
  .cvw-captcha.is-checked{ border-color:#25d366; background:#fff; }
  .cvw-captcha-check{
    flex-shrink:0; width:24px; height:24px; border-radius:5px; border:2px solid #b3b9c4;
    background:#fff; display:flex; align-items:center; justify-content:center;
    transition:border-color .18s ease, background .18s ease;
  }
  .cvw-captcha.is-checked .cvw-captcha-check{ border-color:#25d366; background:#25d366; }
  .cvw-captcha-check svg{ width:14px; height:14px; color:#fff; opacity:0; transform:scale(.6); transition:opacity .15s ease, transform .15s ease; }
  .cvw-captcha.is-checked .cvw-captcha-check svg{ opacity:1; transform:scale(1); }
  .cvw-captcha-label{ font-size:13px; color:#33394a; flex:1; }
  .cvw-captcha-brand{ display:flex; flex-direction:column; align-items:center; gap:2px; flex-shrink:0; opacity:.55; }
  .cvw-captcha-brand svg{ width:22px; height:22px; }
  .cvw-captcha-brand span{ font-size:8px; font-weight:600; letter-spacing:.02em; color:#8b93a3; }
  .cvw-checkbox-row{ display:flex; align-items:flex-start; gap:9px; margin-top:16px; }
  .cvw-checkbox-row input[type="checkbox"]{ margin-top:2px; accent-color:#96731f; width:15px; height:15px; flex-shrink:0; }
  .cvw-checkbox-row label{ font-size:12px; color:#6b7280; line-height:1.5; }
  .cvw-checkbox-row label a{ color:#96731f; text-decoration:underline; }
  .cvw-modal-submit{
    appearance:none; -webkit-appearance:none; width:100%; border:none; cursor:pointer; font-family:inherit;
    margin-top:20px; padding:14px; border-radius:12px;
    background:linear-gradient(135deg,#14181f,#050608); color:#fff;
    font-size:14px; font-weight:700; letter-spacing:-.005em;
    box-shadow:0 14px 30px -14px rgba(15,23,42,.5);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .cvw-modal-submit:hover{ transform:translateY(-1px); box-shadow:0 18px 36px -14px rgba(15,23,42,.55); }
  .cvw-modal-switch{ text-align:center; font-size:12.5px; color:#6b7280; margin-top:16px; }
  .cvw-modal-switch button{
    appearance:none; -webkit-appearance:none; background:none; border:none; cursor:pointer; font-family:inherit;
    color:#96731f; font-weight:700; font-size:12.5px; padding:0;
  }
  .cvw-modal-row{ display:flex; align-items:center; justify-content:space-between; margin-top:16px; flex-wrap:wrap; gap:8px; }
  .cvw-modal-row .cvw-link{ font-size:12.5px; color:#96731f; text-decoration:none; font-weight:600; }
  .cvw-modal-row .cvw-remember{ display:flex; align-items:center; gap:7px; font-size:12px; color:#6b7280; }
  .cvw-modal-row .cvw-remember input{ accent-color:#96731f; width:14px; height:14px; }
  .cvw-modal-divider{
    display:flex; align-items:center; gap:12px; margin:22px 0 16px;
    font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#b3b9c4;
  }
  .cvw-modal-divider::before, .cvw-modal-divider::after{ content:''; flex:1; height:1px; background:rgba(15,23,42,.08); }
  .cvw-social-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .cvw-social-btn{
    display:flex; align-items:center; justify-content:center; gap:9px;
    padding:11px; border-radius:11px; border:1px solid rgba(15,23,42,.08);
    background:#fff; font-size:12.5px; font-weight:600; color:#33394a;
    cursor:pointer; font-family:inherit; transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .cvw-social-btn:hover{ border-color:rgba(15,23,42,.2); transform:translateY(-1px); box-shadow:0 10px 22px -14px rgba(15,23,42,.3); }
  .cvw-social-btn svg{ width:16px; height:16px; flex-shrink:0; }
  .cvw-form-status{
    margin-top:14px; padding:11px 14px; border-radius:10px; font-size:12.5px; font-weight:600;
    background:rgba(18,196,139,.1); color:#0d9467; text-align:center;
    opacity:0; max-height:0; overflow:hidden; transition:opacity .3s ease, max-height .3s ease, margin .3s ease;
  }
  .cvw-form-status.show{ opacity:1; max-height:60px; margin-top:14px; }
  @media (max-width:560px){
    .cvw-modal-inner{ padding:26px 20px 24px; }
    .cvw-form-grid{ grid-template-columns:1fr; }
    .cvw-acct-toggle{ grid-template-columns:1fr; }
    .cvw-social-grid{ grid-template-columns:1fr; }
    .cvw-captcha{ max-width:100%; }
  }
  @media (prefers-reduced-motion:reduce){
    .cvw-modal, .cvw-modal-overlay{ transition:none; }
  }

/* ===== CVW job-board chrome compatibility ===== */
/* Designed pages often lack body.cvw-site-chrome — lock scroll on html+body always. */
html, body {
  overflow-x: hidden !important;
  max-width: 100% !important;
}
body {
  position: relative;
  width: 100%;
}
html.cvw-site-chrome, body.cvw-site-chrome {
  overflow-x: hidden !important;
  max-width: 100% !important;
}
/* Decorative blurs/glows must not expand the document width. */
.lh-hero, .lh-bg, .site-nav, footer#cvw-designed-footer,
#cvw-chrome-footer, #cvw-chrome-header, section, main, .wrap {
  max-width: 100%;
}
.lh-hero, .lh-bg, footer#cvw-designed-footer {
  overflow-x: hidden;
}
.footer-glow, .footer-glow-1, .footer-glow-2,
.lh-bg-glow-1, .lh-bg-glow-2, .lh-bg-glow-3 {
  pointer-events: none;
}
#cvw-chrome-header { position: relative; z-index: 100000; }
body.cvw-jobboard .site-nav { z-index: 100000; }
html.cvw-nav-open, html.cvw-nav-open body { overflow: hidden; }

body.cvw-jobboard .careerfy-header,
body.cvw-jobboard header.careerfy-header,
body.cvw-jobboard .careerfy-top-bar,
body.cvw-jobboard .careerfy-footer,
body.cvw-jobboard footer.careerfy-footer,
body.cvw-jobboard .careerfy-copyright-footer,
body.cvw-jobboard #careerfy-header,
body.cvw-jobboard .site-header.careerfy-header,
body.cvw-jobboard .careerfy-stickynav,
body.cvw-jobboard .careerfy-sticky {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* Do NOT hide .careerfy-subheader — that is the page title/banner (About, etc.). */
body.cvw-jobboard .jobsearch-job,
body.cvw-jobboard .careerfy-jobdetail,
body.cvw-jobboard .jobsearch-apply-btn,
body.cvw-jobboard .jobsearch-search {
  position: relative;
  z-index: 1;
}

  /* ============================= FOOTER ============================= */
  footer{
    --fw-bg-1:#ffffff;
    --fw-bg-2:#f5f3ee;
    --fw-ink:#1a1c22;
    --fw-heading:#14151a;
    --fw-muted:#5b6472;
    --fw-muted-2:#8b93a1;
    --fw-border:rgba(20,20,25,.09);
    --fw-border-soft:rgba(20,20,25,.06);
    --fw-glass:rgba(255,255,255,.6);
    --fw-glass-strong:rgba(255,255,255,.82);
    --fw-gold:#9a7530;
    --fw-gold-soft:rgba(154,117,48,.12);
    --fw-emerald:#0d8a5a;
    --fw-emerald-soft:rgba(13,138,90,.1);
    --fw-cyan:#0e7490;
    --fw-cyan-soft:rgba(14,116,144,.1);
    position:relative;
    background:linear-gradient(180deg, var(--fw-bg-1) 0%, var(--fw-bg-2) 100%);
    border-top:1px solid var(--fw-border);
    padding:96px 0 0;
    overflow:visible;
    color:var(--fw-ink);
  }
  footer::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;z-index:2;
    background:linear-gradient(90deg, transparent, rgba(154,117,48,.5), rgba(154,117,48,.75), rgba(154,117,48,.5), transparent);
  }
  .footer-glow{ display:none !important; }
  .footer-glow-1, .footer-glow-2{ display:none !important; }
  footer .wrap{ position:relative; z-index:1; }

  .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:36px;padding-bottom:48px;}
  .footer-grid > div{ opacity:0; transform:translateY(16px); transition:opacity .6s cubic-bezier(.2,.8,.2,1), transform .6s cubic-bezier(.2,.8,.2,1); }
  .footer-grid.footer-in > div{ opacity:1; transform:translateY(0); }
  .footer-grid.footer-in > div:nth-child(1){ transition-delay:0ms; }
  .footer-grid.footer-in > div:nth-child(2){ transition-delay:70ms; }
  .footer-grid.footer-in > div:nth-child(3){ transition-delay:140ms; }
  .footer-grid.footer-in > div:nth-child(4){ transition-delay:210ms; }
  .footer-grid.footer-in > div:nth-child(5){ transition-delay:280ms; }
  .footer-brand p{font-size:13.5px;color:var(--fw-muted);margin-top:16px;line-height:1.8;max-width:300px;}
  footer h4{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--fw-heading);margin-bottom:18px;}
  footer ul{list-style:none;}
  footer li{margin-bottom:12px;}
  footer a{
    position:relative;
    font-size:13.5px;color:var(--fw-muted);text-decoration:none;
    transition:color .2s ease, padding-left .2s ease;
    display:inline-block;
  }
  footer .footer-grid a:not(.footer-contact-link)::before{
    content:'';
    position:absolute; left:0; bottom:-2px; right:100%;
    height:1px; background:var(--fw-gold);
    transition:right .25s cubic-bezier(.2,.8,.2,1);
  }
  footer .footer-grid a:not(.footer-contact-link):hover::before{ right:0; }
  footer a:hover{color:var(--fw-heading);padding-left:5px;}

  /* ---- social row (brand column): LinkedIn + YouTube only, premium glass badges ---- */
  .footer-social{ display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
  .footer-social-btn{
    position:relative; display:flex; align-items:center; justify-content:center;
    width:42px; height:42px; border-radius:12px; flex-shrink:0;
    background:var(--fw-glass); backdrop-filter:blur(8px);
    border:1px solid var(--fw-border); box-shadow:0 2px 10px rgba(20,20,25,.05);
    color:var(--fw-muted); overflow:hidden;
    transition:transform .35s cubic-bezier(.2,.8,.2,1), background .3s ease, border-color .3s ease, box-shadow .35s ease, color .3s ease;
  }
  .footer-social-btn svg{ width:18px; height:18px; position:relative; z-index:1; transition:transform .35s cubic-bezier(.2,.8,.2,1); }
  .footer-social-btn:hover{ transform:translateY(-4px); border-color:transparent; box-shadow:0 14px 28px -10px rgba(20,20,25,.22); }
  .footer-social-btn:hover svg{ transform:scale(1.1); }
  .footer-social-btn[data-brand="linkedin"]:hover{ background:#0077b5; color:#fff; box-shadow:0 14px 28px -10px rgba(0,119,181,.5); }
  .footer-social-btn[data-brand="youtube"]{ background:var(--fw-glass); border-color:var(--fw-border); color:#c62828; }
  .footer-social-btn[data-brand="youtube"]::after{
    content:''; position:absolute; inset:-1px; border-radius:13px;
    border:1.5px solid rgba(198,40,40,.35); opacity:.65;
    animation:footerYtPulse 2.6s ease-out infinite;
  }
  .footer-social-btn[data-brand="youtube"]:hover{ background:#ff0000; color:#fff; border-color:transparent; box-shadow:0 14px 30px -10px rgba(255,0,0,.45); }
  @keyframes footerYtPulse{ 0%{ transform:scale(1); opacity:.55; } 100%{ transform:scale(1.35); opacity:0; } }

  /* trust mini-row under the brand description (legacy hook, unused visually but kept for spacing) */
  .footer-trust{ display:none; }

  /* contact column: icon + label + value rows */
  .footer-contact-link{
    display:flex; align-items:center; gap:12px;
    color:var(--fw-ink); padding:9px 10px; margin:0 -10px 4px;
    border-radius:12px;
    transition:background .25s ease, padding-left .2s ease, box-shadow .25s ease;
  }
  .footer-contact-link:hover{ color:var(--fw-heading); padding-left:10px; background:var(--fw-glass-strong); box-shadow:0 6px 18px rgba(20,20,25,.06); }
  .footer-contact-icon{
    display:flex; align-items:center; justify-content:center;
    width:34px; height:34px; border-radius:10px; flex-shrink:0;
    background:var(--fw-gold-soft); color:var(--fw-gold);
    transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
  }
  .footer-contact-link:hover .footer-contact-icon{ background:rgba(154,117,48,.22); transform:translateY(-1px); box-shadow:0 0 0 4px rgba(154,117,48,.1); }
  .footer-contact-link[data-wa]{ position:relative; }
  .footer-contact-link[data-wa] .footer-contact-icon{ background:var(--fw-emerald-soft); color:var(--fw-emerald); }
  .footer-contact-link[data-wa]:hover .footer-contact-icon{ background:rgba(13,138,90,.2); box-shadow:0 0 0 4px rgba(13,138,90,.1); }
  .footer-wa-status{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; color:var(--fw-emerald); }
  .footer-wa-status::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--fw-emerald); box-shadow:0 0 0 0 rgba(13,138,90,.45); animation:footerWaDot 2s ease-out infinite; }
  @keyframes footerWaDot{ 0%{ box-shadow:0 0 0 0 rgba(13,138,90,.4); } 70%{ box-shadow:0 0 0 6px rgba(13,138,90,0); } 100%{ box-shadow:0 0 0 0 rgba(13,138,90,0); } }
  .footer-contact-text{ display:flex; flex-direction:column; line-height:1.4; gap:2px; }
  .footer-contact-label{ font-size:10.5px; color:var(--fw-muted-2); font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
  .footer-contact-value{ font-size:13.5px; color:var(--fw-ink); }
  .footer-label-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .footer-wa-status{ text-transform:none; }
  .footer-contact-cta{
    display:inline-flex; align-items:center; gap:6px;
    align-self:flex-start; margin-top:5px;
    padding:6px 13px; border-radius:999px;
    font-size:12.5px; font-weight:700; letter-spacing:.005em; white-space:nowrap;
    background:var(--fw-glass); border:1px solid var(--fw-border); color:var(--fw-heading);
    transition:background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
  }
  .footer-contact-cta svg{ width:12px; height:12px; flex-shrink:0; transition:transform .25s ease; }
  .footer-contact-link:hover .footer-contact-cta{ transform:translateY(-1px); box-shadow:0 8px 16px -8px rgba(20,20,25,.22); }
  .footer-contact-link:hover .footer-contact-cta svg{ transform:translateX(3px); }
  .footer-contact-link[data-wa] .footer-contact-cta{ background:var(--fw-emerald-soft); border-color:rgba(13,138,90,.3); color:var(--fw-emerald); }
  .footer-contact-link[data-wa]:hover .footer-contact-cta{ background:rgba(13,138,90,.17); border-color:rgba(13,138,90,.48); }
  .footer-contact-link[data-tel]{ position:relative; }
  .footer-contact-link[data-tel] .footer-contact-cta{ background:var(--fw-gold-soft); border-color:rgba(154,117,48,.3); color:var(--fw-gold); }
  .footer-contact-link[data-tel]:hover .footer-contact-cta{ background:rgba(154,117,48,.19); border-color:rgba(154,117,48,.48); }
  @media (max-width:640px){
    .footer-contact-cta{ padding:7px 14px; font-size:13px; }
  }

  /* ---- trust & security strip ---- */
  .footer-trust-strip{
    border-top:1px solid var(--fw-border-soft); border-bottom:1px solid var(--fw-border-soft);
    padding:22px 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;
  }
  .footer-trust-strip-label{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--fw-muted-2); }
  .footer-trust-badges{ display:flex; flex-wrap:wrap; gap:10px; }
  .footer-trust-badges span{
    display:inline-flex; align-items:center; gap:7px;
    font-size:12px; font-weight:600; color:var(--fw-muted);
    background:var(--fw-glass); backdrop-filter:blur(6px);
    border:1px solid var(--fw-border); box-shadow:0 2px 8px rgba(20,20,25,.04);
    padding:8px 14px; border-radius:999px;
    transition:border-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
  }
  .footer-trust-badges span:hover{ border-color:rgba(154,117,48,.4); color:var(--fw-heading); transform:translateY(-2px); box-shadow:0 10px 20px -8px rgba(20,20,25,.14); }
  .footer-trust-badges svg{ color:var(--fw-cyan); flex-shrink:0; }
  .footer-trust-badges span:nth-child(2) svg{ color:var(--fw-gold); }
  .footer-trust-badges span:nth-child(3) svg{ color:var(--fw-emerald); }

  .footer-bottom{
    padding:24px 0 32px;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;
  }
  .footer-bottom p{font-size:12px;color:var(--fw-muted-2);}
  .footer-legal{display:flex;gap:22px;list-style:none;}
  .footer-legal a{font-size:12px;color:var(--fw-muted-2);text-decoration:none;}
  .footer-legal a:hover{color:var(--fw-gold);}
  @media (prefers-reduced-motion: reduce){
    .footer-grid > div{ opacity:1; transform:none; transition:none; }
    .footer-social-btn[data-brand="youtube"]::after{ animation:none; }
    .footer-wa-status::before{ animation:none; }
    .footer-contact-cta, .footer-contact-cta svg{ transition:none; }
  }
  @media (max-width: 640px){
    footer{ padding-top:72px; }
  }

/* ===== Footer + SVG safety on Careerfy/WP pages =====
   Keep the homepage light 5-column footer look. Do NOT force a dark
   4-column override (that hid/misaligned chrome footers). */
:root {
  --fw-glass: rgba(255,255,255,.72);
  --fw-border: rgba(15,23,42,.08);
  --fw-muted: #6b7280;
  --fw-heading: #14181f;
  --fw-ink: #33394a;
  --fw-gold: #96731f;
  --font-display: Georgia, "Times New Roman", serif;
}
body.cvw-site-chrome #cvw-site-footer,
body.cvw-jobboard #cvw-site-footer,
body.cvw-site-chrome footer.careerfy-footer,
body.cvw-jobboard footer.careerfy-footer,
body.cvw-site-chrome .careerfy-copyright-footer,
body.cvw-jobboard .careerfy-copyright-footer {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* Pages that used footer:not(.ported-footer){display:none} hid the chrome footer.
   Always show the designed homepage footer, with or without body.cvw-site-chrome. */
footer#cvw-designed-footer.ported-footer,
footer#cvw-designed-footer,
#cvw-chrome-footer footer#cvw-designed-footer {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  pointer-events: auto !important;
}

/*
 * Designed footer must sit BELOW floated Careerfy main content, never over it.
 * z-index:100000 on #cvw-designed-footer was covering About / Post Job section 1.
 * Do NOT use overflow:hidden/contain:paint on the footer — that clipped the brand
 * + Get in Touch columns (looked like “no footer” on resume-templates etc.).
 * Decorative glows are hidden instead so they cannot extend page scroll height.
 */
body.cvw-site-chrome #cvw-chrome-footer,
body.cvw-jobboard #cvw-chrome-footer,
body.cvw-site-chrome footer#cvw-designed-footer,
body.cvw-jobboard footer#cvw-designed-footer {
  position: relative !important;
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  overflow: visible !important;
  contain: none !important;
  margin-top: 0 !important;
  z-index: 1 !important;
  text-align: left !important;
  font-size: inherit !important;
}
/* Kill glow blobs — width/negative offsets caused extra scrollbars; hiding avoids clipping columns. */
body.cvw-site-chrome #cvw-chrome-footer .footer-glow,
body.cvw-jobboard #cvw-chrome-footer .footer-glow,
body.cvw-site-chrome footer#cvw-designed-footer .footer-glow,
body.cvw-jobboard footer#cvw-designed-footer .footer-glow,
footer#cvw-designed-footer .footer-glow,
.footer-glow {
  display: none !important;
}
body.cvw-site-chrome .careerfy-main-content,
body.cvw-jobboard .careerfy-main-content,
body.cvw-site-chrome #main,
body.cvw-jobboard #main {
  position: relative !important;
  z-index: 2 !important;
  clear: both;
}
/* Match homepage footer grid (brand + 4 link columns) */
body.cvw-site-chrome #cvw-chrome-footer footer .footer-grid,
body.cvw-jobboard #cvw-chrome-footer footer .footer-grid,
body.cvw-site-chrome footer#cvw-designed-footer .footer-grid,
body.cvw-jobboard footer#cvw-designed-footer .footer-grid {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr !important;
  gap: 36px !important;
  align-items: start !important;
  text-align: left !important;
}
/* Footer columns must stay visible even if reveal JS never runs. */
body.cvw-site-chrome #cvw-chrome-footer .footer-grid > div,
body.cvw-jobboard #cvw-chrome-footer .footer-grid > div,
body.cvw-site-chrome footer#cvw-designed-footer .footer-grid > div,
body.cvw-jobboard footer#cvw-designed-footer .footer-grid > div {
  opacity: 1 !important;
  transform: none !important;
  text-align: left !important;
}
/* WPBakery / Careerfy: keep first sections visible if animation JS stalls. */
body.cvw-site-chrome .wpb_animate_when_almost_visible,
body.cvw-jobboard .wpb_animate_when_almost_visible,
body.cvw-site-chrome.careerfy-page-loading .careerfy-main-content,
body.cvw-jobboard.careerfy-page-loading .careerfy-main-content {
  opacity: 1 !important;
  visibility: visible !important;
}
body.cvw-site-chrome #cvw-chrome-footer footer .wrap,
body.cvw-jobboard #cvw-chrome-footer footer .wrap,
body.cvw-site-chrome footer#cvw-designed-footer .wrap,
body.cvw-jobboard footer#cvw-designed-footer .wrap {
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  text-align: left !important;
}
body.cvw-jobboard .footer-social-btn svg,
body.cvw-jobboard .cvw-social-btn svg,
body.cvw-jobboard #cvw-chrome-header svg,
body.cvw-site-chrome #cvw-chrome-header svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  display: block;
  flex-shrink: 0;
}
body.cvw-jobboard .nav-logo img,
body.cvw-site-chrome .nav-logo img {
  height: 48px !important;
  width: auto !important;
  max-width: 220px !important;
}
/* Homepage breakpoints (not 991/1-col) so resume/WP pages match home. */
@media (max-width: 900px) {
  body.cvw-site-chrome #cvw-chrome-footer footer .footer-grid,
  body.cvw-jobboard #cvw-chrome-footer footer .footer-grid,
  body.cvw-site-chrome footer#cvw-designed-footer .footer-grid,
  body.cvw-jobboard footer#cvw-designed-footer .footer-grid {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 28px !important;
  }
  body.cvw-site-chrome #cvw-chrome-footer .footer-brand,
  body.cvw-jobboard #cvw-chrome-footer .footer-brand,
  body.cvw-site-chrome footer#cvw-designed-footer .footer-brand,
  body.cvw-jobboard footer#cvw-designed-footer .footer-brand {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 560px) {
  body.cvw-site-chrome #cvw-chrome-footer footer .footer-grid,
  body.cvw-jobboard #cvw-chrome-footer footer .footer-grid,
  body.cvw-site-chrome footer#cvw-designed-footer .footer-grid,
  body.cvw-jobboard footer#cvw-designed-footer .footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px 24px !important;
  }
  body.cvw-site-chrome #cvw-chrome-footer .footer-brand,
  body.cvw-jobboard #cvw-chrome-footer .footer-brand,
  body.cvw-site-chrome footer#cvw-designed-footer .footer-brand,
  body.cvw-jobboard footer#cvw-designed-footer .footer-brand {
    grid-column: 1 / -1 !important;
  }
}

