:root{
    --navy:#1E2A5E;
    --navy-900:#12193F;
    --navy-800:#161F4A;
    --navy-700:#1E2A5E;
    --navy-500:#3D4A82;
    --navy-300:#7480AD;
    --navy-100:#DDE1F0;
    --navy-050:#F4F5FA;
    --black:#000000;
    --ink:#000000;
    --steel:#585F78;
    --white:#FFFFFF;
    --border:#E4E6EF;
    --border-dark:rgba(255,255,255,0.14);
    --radius-sm:2px;
    --radius-md:3px;
    --max:1240px;
    --font-head:'Space Grotesk', sans-serif;
    --font-body:'Inter', sans-serif;
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:var(--font-body);
    color:var(--ink);
    background:var(--white);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  h1,h2,h3,h4{font-family:var(--font-head);margin:0;font-weight:700;letter-spacing:-0.02em;}
  p{margin:0;}
  button{font-family:inherit;cursor:pointer;}

  .wrap{max-width:var(--max);margin:0 auto;padding:0 40px;}
  section{position:relative;}

  a:focus-visible,button:focus-visible{
    outline:2px solid var(--navy);
    outline-offset:3px;
  }

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:15px 28px;
    font-size:14.5px;
    font-weight:600;
    letter-spacing:.01em;
    border-radius:var(--radius-sm);
    border:1.5px solid transparent;
    transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--white);color:var(--black);}
  .btn-primary:hover{background:var(--navy-100);transform:translateY(-1px);}
  .btn-outline{border-color:var(--border-dark);color:var(--white);}
  .btn-outline:hover{border-color:var(--white);background:rgba(255,255,255,0.06);}
  .btn-solid{background:var(--navy);color:var(--white);}
  .btn-solid:hover{background:var(--black);}
  .btn-ghost{border-color:var(--border);color:var(--black);}
  .btn-ghost:hover{border-color:var(--navy);color:var(--navy);}

  /* ---------- Header ---------- */
  header{
    position:sticky;top:0;z-index:100;
    background:rgba(255,255,255,0.96);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
  }
  .nav{
    max-width:var(--max);margin:0 auto;padding:16px 40px;
    display:flex;align-items:center;justify-content:space-between;gap:24px;
  }
  .brand{display:flex;align-items:center;gap:10px;}
  .brand img{height:36px;width:auto;}
  .nav-links{display:flex;align-items:center;gap:32px;}
  .nav-links a{
    font-size:14px;font-weight:500;color:var(--black);
    padding:6px 0;border-bottom:1.5px solid transparent;
    transition:border-color .15s ease, color .15s ease;
  }
  .nav-links a:hover{border-color:var(--navy);}
  .nav-actions{display:flex;align-items:center;gap:14px;}
  .nav-cta{background:var(--navy);color:var(--white);padding:11px 22px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;transition:background .15s ease;}
  .nav-cta:hover{background:var(--black);}
  .nav-toggle{display:none;background:none;border:none;padding:8px;}
  .nav-toggle span{display:block;width:22px;height:2px;background:var(--black);margin:5px 0;transition:transform .2s ease, opacity .2s ease;}

  /* ---------- Hero ---------- */
  .hero{
    background:var(--navy-900);
    color:var(--white);
    overflow:hidden;
    padding:120px 0 72px;
    position:relative;
  }
  .hero-grid-bg{
    position:absolute;inset:0;
    background-image:
      linear-gradient(var(--border-dark) 1px, transparent 1px),
      linear-gradient(90deg, var(--border-dark) 1px, transparent 1px);
    background-size:64px 64px;
    -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,0.9), transparent 85%);
    mask-image:linear-gradient(180deg, rgba(0,0,0,0.9), transparent 85%);
    opacity:.5;
    pointer-events:none;
  }
  .hero-inner{
    position:relative;
    display:grid;
    grid-template-columns:1.05fr 0.75fr;
    gap:56px;
    align-items:center;
  }
  .badge{
    display:inline-flex;align-items:center;gap:9px;
    padding:9px 18px;
    border:1px solid var(--border-dark);
    border-radius:999px;
    font-size:13px;font-weight:500;
    color:var(--navy-100);
    margin-bottom:30px;
    opacity:0;animation:riseIn .7s ease forwards;
  }
  .badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--white);flex-shrink:0;}
  .hero h1{
    font-size:clamp(36px,4.8vw,58px);
    line-height:1.04;
    color:var(--white);
    max-width:15ch;
    font-weight:700;
    opacity:0;animation:riseIn .7s ease .08s forwards;
  }
  .hero-sub{
    margin-top:24px;
    font-size:18px;
    color:var(--navy-100);
    max-width:52ch;
    line-height:1.7;
    opacity:0;animation:riseIn .7s ease .16s forwards;
  }
  .hero-callouts{
    margin-top:40px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    border-top:1px solid var(--border-dark);
    opacity:0;animation:riseIn .7s ease .24s forwards;
  }
  .hero-callouts li{
    padding:20px 18px 0 0;
    font-size:13.5px;
    color:var(--navy-100);
    border-right:1px solid var(--border-dark);
  }
  .hero-callouts li:last-child{border-right:none;padding-right:0;}
  .hero-callouts strong{display:block;color:var(--white);font-family:var(--font-head);font-size:15px;margin-bottom:6px;font-weight:700;}
  .hero-ctas{
    margin-top:36px;
    display:flex;flex-wrap:wrap;gap:14px;
    opacity:0;animation:riseIn .7s ease .32s forwards;
  }
  @keyframes riseIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
  @media (prefers-reduced-motion:reduce){
    .badge,.hero h1,.hero-sub,.hero-callouts,.hero-ctas{animation:none;opacity:1;}
  }

  .hero-diagram{position:relative;}
  .hero-diagram svg{width:100%;height:auto;}

  /* ---------- Marquee ---------- */
  .marquee-section{
    background:var(--white);
    border-bottom:1px solid var(--border);
    padding:26px 0;
  }
  .marquee-label{
    font-size:12.5px;color:var(--steel);font-weight:600;
    letter-spacing:.02em;
    margin-bottom:16px;
  }
  .marquee-track-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
  .marquee-track{display:flex;gap:52px;width:max-content;animation:scrollX 32s linear infinite;}
  @keyframes scrollX{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .marquee-track span{
    font-family:var(--font-head);font-size:19px;font-weight:600;
    color:var(--navy-500);white-space:nowrap;
  }
  @media (prefers-reduced-motion:reduce){.marquee-track{animation:none;}}

  /* ---------- Section shell ---------- */
  .section{padding:100px 0;}
  .section-alt{background:var(--navy-050);}
  .eyebrow{
    font-size:13px;font-weight:700;color:var(--navy);
    margin-bottom:16px;
    text-transform:uppercase;letter-spacing:.06em;
  }
  .section-head{max-width:640px;}
  .section-head h2{font-size:clamp(28px,3.2vw,40px);color:var(--black);line-height:1.14;}
  .section-head p{margin-top:18px;font-size:16px;color:var(--steel);line-height:1.7;}

  /* ---------- Value proposition ---------- */
  .value-grid{
    display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;
    margin-top:52px;align-items:start;
  }
  .value-problem{
    border-left:3px solid var(--navy);
    padding-left:26px;
  }
  .value-problem p{font-size:17px;color:var(--black);line-height:1.75;}
  .value-problem p + p{margin-top:16px;}
  .value-problem .lead{font-weight:600;}

  table.capabilities{width:100%;border-collapse:collapse;}
  table.capabilities thead th{
    text-align:left;font-size:12.5px;font-weight:600;color:var(--steel);
    padding:0 0 12px;border-bottom:1px solid var(--border);
  }
  table.capabilities td{
    padding:18px 0;border-bottom:1px solid var(--border);
    vertical-align:top;font-size:14.5px;
  }
  table.capabilities td:first-child{width:26%;font-weight:700;color:var(--black);font-family:var(--font-head);}
  table.capabilities td:nth-child(2){color:var(--ink);padding-right:20px;}
  table.capabilities td:last-child{width:24%;color:var(--navy);font-weight:700;text-align:right;}
  table.capabilities tr:last-child td{border-bottom:none;}

  @media (max-width:760px){
    table.capabilities thead{display:none;}
    table.capabilities, table.capabilities tbody, table.capabilities tr, table.capabilities td{display:block;width:100% !important;}
    table.capabilities tr{padding:16px 0;border-bottom:1px solid var(--border);}
    table.capabilities td{border-bottom:none;padding:4px 0;text-align:left !important;}
    table.capabilities td:last-child{color:var(--navy-700);}
    table.capabilities td::before{content:attr(data-label);display:block;font-size:11.5px;color:var(--steel);font-weight:600;margin-bottom:2px;}
  }

  /* ---------- Services ---------- */
  .services-list{
    margin-top:52px;
    display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:var(--border);border:1px solid var(--border);
  }
  .service-row{
    background:var(--white);
    padding:32px 28px;
    transition:background .18s ease, transform .18s ease;
  }
  .service-row:hover{background:var(--navy-050);}
  .service-num{display:block;font-family:var(--font-head);font-size:13px;font-weight:700;color:var(--navy);padding-top:0;margin-bottom:18px;}
  .service-row h3{font-size:18px;color:var(--black);line-height:1.3;}
  .service-row p{font-size:14.5px;color:var(--steel);line-height:1.7;margin-top:10px;}

  @media (max-width:900px){
    .services-list{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:640px){
    .services-list{grid-template-columns:1fr;}
  }

  /* ---------- Founder ---------- */
  .founder-grid{
    display:grid;grid-template-columns:0.7fr 1.3fr;gap:64px;
    align-items:center;margin-top:52px;
  }
  .founder-photo{
    aspect-ratio:4/5;
    background:var(--navy-900);
    border:1px solid var(--navy);
    position:relative;
    display:flex;align-items:center;justify-content:center;
    overflow:hidden;
  }
  .founder-photo::before{
    content:"";position:absolute;inset:0;
    background-image:linear-gradient(var(--border-dark) 1px, transparent 1px),linear-gradient(90deg, var(--border-dark) 1px, transparent 1px);
    background-size:28px 28px;opacity:.5;
  }
  .founder-initials{
    position:relative;font-family:var(--font-head);font-size:64px;font-weight:700;color:var(--white);
    letter-spacing:-0.02em;
  }
  .founder-copy h3{font-size:25px;color:var(--black);margin-bottom:18px;line-height:1.28;}
  .founder-copy p{font-size:16px;color:var(--steel);line-height:1.75;}
  .founder-copy .founder-name{font-size:13.5px;font-weight:700;color:var(--navy);margin-bottom:10px;text-transform:uppercase;letter-spacing:.03em;}
  .founder-copy .btn{margin-top:26px;}

  @media (max-width:760px){
    .founder-grid{grid-template-columns:1fr;}
    .founder-photo{max-width:220px;}
  }

  /* ---------- Process ---------- */
  .process-list{
    margin-top:52px;
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  }
  .process-item{
    padding:0 26px 0 0;
    border-top:2px solid var(--navy);
    padding-top:22px;
  }
  .process-item + .process-item{margin-left:26px;}
  .process-num{font-family:var(--font-head);font-size:13px;font-weight:700;color:var(--navy);margin-bottom:14px;}
  .process-item h3{font-size:17px;color:var(--black);margin-bottom:10px;}
  .process-item p{font-size:14.5px;color:var(--steel);line-height:1.7;}

  @media (max-width:900px){
    .process-list{grid-template-columns:1fr;gap:0;}
    .process-item{margin-left:0 !important;padding-right:0;margin-bottom:28px;}
  }

  /* ---------- FAQ ---------- */
  .faq-list{margin-top:48px;max-width:820px;border-top:1px solid var(--border);}
  .faq-item{border-bottom:1px solid var(--border);}
  .faq-q{
    width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;
    background:none;border:none;text-align:left;
    padding:26px 0;font-family:var(--font-head);font-size:17px;font-weight:700;color:var(--black);
  }
  .faq-q .icon{
    flex-shrink:0;width:22px;height:22px;position:relative;
  }
  .faq-q .icon::before,.faq-q .icon::after{
    content:"";position:absolute;background:var(--navy);top:50%;left:50%;transform:translate(-50%,-50%);
  }
  .faq-q .icon::before{width:14px;height:2px;}
  .faq-q .icon::after{width:2px;height:14px;transition:transform .2s ease, opacity .2s ease;}
  .faq-item.open .faq-q .icon::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0;}
  .faq-a{
    max-height:0;overflow:hidden;transition:max-height .28s ease;
  }
  .faq-a-inner{padding:0 0 26px;max-width:70ch;}
  .faq-a-inner p{font-size:15px;color:var(--steel);line-height:1.75;}
  .faq-a-inner b{color:var(--black);}

  /* ---------- Footer CTA + Footer ---------- */
  .footer-cta{
    background:var(--navy-900);color:var(--white);
    padding:80px 0 64px;text-align:left;
  }
  .footer-cta-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;border-bottom:1px solid var(--border-dark);padding-bottom:56px;}
  .footer-cta h2{font-size:clamp(28px,3.6vw,42px);max-width:16ch;line-height:1.1;color:var(--white);font-weight:700;}
  .footer-cta-right{max-width:360px;}
  .footer-cta-right p{color:var(--navy-100);font-size:15px;line-height:1.7;margin-bottom:22px;}

  footer{background:var(--navy-900);color:var(--navy-100);padding:56px 0 32px;}
  .footer-grid{
    display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
    padding-top:8px;
  }
  .footer-brand img{height:34px;filter:brightness(0) invert(1);margin-bottom:16px;}
  .footer-brand p{font-size:14px;color:var(--navy-300);line-height:1.7;max-width:32ch;}
  .footer-col h4{font-size:13px;color:var(--white);margin-bottom:16px;font-weight:600;}
  .footer-col ul li{margin-bottom:10px;}
  .footer-col a{font-size:14px;color:var(--navy-100);transition:color .15s ease;}
  .footer-col a:hover{color:var(--white);}
  .footer-social{display:flex;gap:12px;margin-top:18px;}
  .footer-social a{
    width:34px;height:34px;border:1px solid var(--border-dark);border-radius:50%;
    display:flex;align-items:center;justify-content:center;transition:border-color .15s ease, background .15s ease;
  }
  .footer-social a:hover{border-color:var(--white);background:rgba(255,255,255,0.06);}
  .footer-social svg{width:15px;height:15px;fill:var(--navy-100);}
  .footer-bottom{
    margin-top:52px;padding-top:24px;border-top:1px solid var(--border-dark);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
    font-size:13px;color:var(--navy-300);
  }

  @media (max-width:900px){
    .footer-grid{grid-template-columns:1fr 1fr;row-gap:36px;}
  }
  @media (max-width:560px){
    .footer-grid{grid-template-columns:1fr;}
  }

  /* ---------- Responsive: hero / nav ---------- */
  @media (max-width:980px){
    .hero-inner{grid-template-columns:1fr;}
    .hero-diagram{display:none;}
    .value-grid{grid-template-columns:1fr;gap:40px;}
    .process-list{grid-template-columns:1fr;}
  }

  @media (max-width:840px){
    .nav-links{
      position:fixed;inset:64px 0 0 0;background:var(--white);
      flex-direction:column;align-items:flex-start;gap:0;
      padding:12px 32px 32px;
      transform:translateY(-8px);opacity:0;visibility:hidden;
      transition:opacity .18s ease, transform .18s ease, visibility .18s;
      border-top:1px solid var(--border);
    }
    .nav-links.open{opacity:1;transform:translateY(0);visibility:visible;}
    .nav-links a{width:100%;padding:14px 0;border-bottom:1px solid var(--border);}
    .nav-cta{display:none;}
    .nav-toggle{display:block;}
    .hero-callouts{grid-template-columns:1fr;}
    .hero-callouts li{border-right:none;border-bottom:1px solid var(--border-dark);padding:16px 0;}
    .hero-callouts li:first-child{padding-top:16px;}
  }

  @media (max-width:640px){
    .wrap{padding:0 20px;}
    .section{padding:64px 0;}
    .footer-cta{padding:64px 0 48px;}
    .footer-cta-inner{align-items:flex-start;}
  }

  /* ---------- Founder page additions ---------- */
  .founder-hero{
    background:var(--navy-900);color:var(--white);
    padding:120px 0 80px;position:relative;overflow:hidden;
  }
  .founder-hero .wrap{position:relative;max-width:900px;}
  .founder-hero .eyebrow{color:var(--navy-100);}
  .founder-hero h1{
    font-size:clamp(32px,4.4vw,50px);line-height:1.08;color:var(--white);
    max-width:20ch;margin-top:16px;
  }
  .founder-hero .lede{
    margin-top:24px;font-size:17.5px;color:var(--navy-100);line-height:1.75;max-width:70ch;
  }
  .founder-hero .lede + .lede{margin-top:16px;}

  .stat-strip{
    border-top:1px solid var(--border);border-bottom:1px solid var(--border);
    padding:48px 0;
  }
  .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
  .stat-num{font-family:var(--font-head);font-size:clamp(30px,3.4vw,44px);font-weight:700;color:var(--navy);line-height:1;}
  .stat-label{margin-top:10px;font-size:14px;color:var(--steel);line-height:1.6;max-width:26ch;}
  @media (max-width:760px){.stat-grid{grid-template-columns:1fr;gap:28px;}}

  .track-grid{margin-top:52px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border);}
  .track-item{background:var(--white);padding:32px 30px;}
  .track-item h3{font-size:16.5px;color:var(--black);line-height:1.35;margin-bottom:10px;}
  .track-item p{font-size:14.5px;color:var(--steel);line-height:1.7;}
  @media (max-width:760px){.track-grid{grid-template-columns:1fr;}}

  .adv-list{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
  .adv-item{border-top:2px solid var(--navy);padding-top:22px;}
  .adv-item h3{font-size:16.5px;color:var(--black);margin-bottom:10px;}
  .adv-item p{font-size:14.5px;color:var(--steel);line-height:1.7;}
  @media (max-width:900px){.adv-list{grid-template-columns:1fr;gap:28px;}}

  .founder-portrait-row{display:grid;grid-template-columns:0.55fr 1.45fr;gap:56px;align-items:center;margin-top:0;}
  @media (max-width:820px){.founder-portrait-row{grid-template-columns:1fr;}}

  /* ---------- Breadcrumb ---------- */
  .breadcrumb{font-size:13px;color:var(--navy-100);margin-bottom:18px;}
  .breadcrumb a{color:var(--navy-100);opacity:.8;}
  .breadcrumb a:hover{opacity:1;text-decoration:underline;}
  .breadcrumb span{opacity:.5;margin:0 6px;}

  /* ---------- Logo marquee (tech stack) ---------- */
  .logo-marquee-section{background:var(--white);border-bottom:1px solid var(--border);padding:36px 0;}
  .logo-marquee-section.alt-row{border-bottom:none;padding-top:0;}
  .logo-marquee-label{font-size:12.5px;color:var(--steel);font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:18px;}
  .logo-track-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
  .logo-track{display:flex;gap:44px;width:max-content;align-items:center;animation:scrollX 38s linear infinite;}
  .logo-track.reverse{animation-direction:reverse;animation-duration:44s;}
  .logo-chip{display:flex;align-items:center;gap:10px;white-space:nowrap;opacity:.85;transition:opacity .15s ease;}
  .logo-chip:hover{opacity:1;}
  .logo-chip img{height:22px;width:22px;object-fit:contain;filter:grayscale(100%);opacity:.7;}
  .logo-chip span{font-family:var(--font-head);font-size:14.5px;font-weight:600;color:var(--black);}
  @media (prefers-reduced-motion:reduce){.logo-track{animation:none;}}

  /* ---------- Numbered link cards (hub -> subpages) ---------- */
  .link-card-grid{margin-top:52px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border);}
  .link-card{
    background:var(--white);padding:34px 32px;display:block;
    transition:background .18s ease;
  }
  .link-card:hover{background:var(--navy-050);}
  .link-card .lc-num{display:block;font-family:var(--font-head);font-size:13px;font-weight:700;color:var(--navy);margin-bottom:16px;}
  .link-card h3{font-size:19px;color:var(--black);line-height:1.3;margin-bottom:10px;}
  .link-card p{font-size:14.5px;color:var(--steel);line-height:1.7;margin-bottom:14px;}
  .link-card .lc-arrow{font-size:14px;font-weight:700;color:var(--navy);}
  .link-card:hover .lc-arrow{text-decoration:underline;}
  @media (max-width:760px){.link-card-grid{grid-template-columns:1fr;}}

  /* ---------- Domain / industry grid ---------- */
  .domain-grid{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  .domain-chip{
    border:1px solid var(--border);border-radius:var(--radius-sm);
    padding:18px 16px;font-size:14px;font-weight:600;color:var(--black);
    background:var(--white);
  }
  @media (max-width:900px){.domain-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:520px){.domain-grid{grid-template-columns:1fr;}}

  /* ---------- Stat proof strip (reused across pages) ---------- */
  .proof-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:52px 0;}
  .proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
  .proof-num{font-family:var(--font-head);font-size:clamp(28px,3vw,38px);font-weight:700;color:var(--navy);line-height:1;}
  .proof-label{margin-top:10px;font-size:13.5px;color:var(--steel);line-height:1.6;}
  @media (max-width:900px){.proof-grid{grid-template-columns:repeat(2,1fr);gap:28px;}}

  /* ---------- Segment cards (who we help) ---------- */
  .segment-grid{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
  .segment-item{border-top:2px solid var(--navy);padding-top:22px;}
  .segment-item .seg-num{font-family:var(--font-head);font-size:13px;font-weight:700;color:var(--navy);margin-bottom:16px;}
  .segment-item h3{font-size:17.5px;color:var(--black);margin-bottom:10px;}
  .segment-item p{font-size:14.5px;color:var(--steel);line-height:1.7;}
  @media (max-width:900px){.segment-grid{grid-template-columns:1fr;gap:26px;}}

  /* ---------- Simple check list ---------- */
  .check-list{margin-top:28px;display:flex;flex-direction:column;gap:16px;}
  .check-list li{display:flex;gap:14px;font-size:15.5px;color:var(--black);line-height:1.6;}
  .check-list li::before{content:"";flex-shrink:0;width:8px;height:8px;margin-top:8px;background:var(--navy);border-radius:2px;}

  /* ---------- Two column content ---------- */
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
  @media (max-width:860px){.two-col{grid-template-columns:1fr;gap:36px;}}

  /* ---------- Related services strip ---------- */
  .related-grid{margin-top:44px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);}
  .related-item{background:var(--white);padding:22px 20px;font-size:14px;font-weight:600;color:var(--black);}
  .related-item:hover{background:var(--navy-050);color:var(--navy);}
  @media (max-width:900px){.related-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:520px){.related-grid{grid-template-columns:1fr;}}

  /* ---------- Inline mid-page CTA ---------- */
  .inline-cta{background:var(--navy);padding:56px 0;}
  .inline-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
  .inline-cta h3{font-size:clamp(20px,2.4vw,27px);color:var(--white);font-weight:700;line-height:1.25;max-width:34ch;}
  .inline-cta p{margin-top:8px;font-size:14.5px;color:var(--navy-100);}

  /* ---------- Testimonial marquee ---------- */
  .testimonial-section{padding:88px 0;background:var(--navy-050);overflow:hidden;}
  .testimonial-track-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}
  .testimonial-track{display:flex;gap:24px;width:max-content;animation:scrollX 46s linear infinite;}
  .testimonial-card{
    width:380px;flex-shrink:0;background:var(--white);border:1px solid var(--border);border-radius:4px;
    padding:28px 26px;
  }
  .testimonial-quote{font-size:15px;color:var(--black);line-height:1.7;}
  .testimonial-quote::before{content:"\201C";}
  .testimonial-quote::after{content:"\201D";}
  .testimonial-attribution{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);}
  .testimonial-name{font-family:var(--font-head);font-size:14px;font-weight:700;color:var(--navy);}
  .testimonial-role{font-size:13px;color:var(--steel);margin-top:2px;}
  @media (prefers-reduced-motion:reduce){.testimonial-track{animation:none;}}

  /* ---------- Leadership team grid ---------- */
  .team-grid{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
  @media (max-width:900px){.team-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto;}}
  .team-card{border:1px solid var(--border);background:var(--white);}
  .team-photo{aspect-ratio:4/5;background:var(--navy-900);position:relative;overflow:hidden;}
  .team-photo::before{
    content:"";position:absolute;inset:0;z-index:0;
    background-image:linear-gradient(var(--border-dark) 1px, transparent 1px),linear-gradient(90deg, var(--border-dark) 1px, transparent 1px);
    background-size:28px 28px;opacity:.5;
  }
  .team-photo img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
  .team-photo .team-initials{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:56px;font-weight:700;color:var(--white);letter-spacing:-0.02em;}
  .team-info{padding:24px 22px;}
  .team-name{font-family:var(--font-head);font-size:18px;font-weight:700;color:var(--black);}
  .team-role{font-size:13.5px;color:var(--navy);font-weight:600;margin-top:4px;}
  .team-bio{font-size:14px;color:var(--steel);line-height:1.7;margin-top:12px;}
  .team-links{display:flex;gap:10px;margin-top:16px;}
  .team-links a{
    width:34px;height:34px;border:1px solid var(--border);border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    transition:border-color .15s ease, background .15s ease;
  }
  .team-links a:hover{border-color:var(--navy);background:var(--navy-050);}
  .team-links svg{width:16px;height:16px;fill:var(--navy);}

  /* ---------- Hero visual panel ---------- */
  .hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:center;}
  @media (max-width:960px){.hero-grid{grid-template-columns:1fr;}}
  .hero-visual{
    position:relative;min-height:420px;border:1px solid var(--border-dark);border-radius:6px;
    background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0));
    overflow:hidden;
    opacity:0;animation:riseIn .8s ease .3s forwards;
  }
  @media (max-width:960px){.hero-visual{display:none;}}
  .hero-visual::before{
    content:"";position:absolute;inset:0;
    background-image:linear-gradient(var(--border-dark) 1px, transparent 1px),linear-gradient(90deg, var(--border-dark) 1px, transparent 1px);
    background-size:32px 32px;opacity:.6;
  }
  .hero-visual-card{
    position:relative;margin:28px;padding:26px 24px;
    background:rgba(255,255,255,0.05);
    border:1px solid var(--border-dark);border-radius:4px;
    backdrop-filter:blur(6px);
  }
  .hero-visual-card + .hero-visual-card{margin-top:-8px;}
  .hero-visual-card .hv-num{font-family:var(--font-head);font-size:34px;font-weight:700;color:var(--white);line-height:1;}
  .hero-visual-card .hv-label{margin-top:8px;font-size:13px;color:var(--navy-100);}
  .hero-visual-card.hv-offset{margin-left:64px;margin-right:12px;}
  .hero-visual-checks{position:relative;margin:0 28px 28px;padding:22px 24px;background:rgba(255,255,255,0.04);border:1px solid var(--border-dark);border-radius:4px;backdrop-filter:blur(6px);}
  .hero-visual-checks div{display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--white);padding:8px 0;border-bottom:1px solid var(--border-dark);}
  .hero-visual-checks div:last-child{border-bottom:none;}
  .hero-visual-checks div::before{content:"";flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#4ADE80;}

/* Footer CTA - global theme component */
#footer-cta.footer-cta{
  display:block!important;
  width:100%;
  visibility:visible!important;
  opacity:1!important;
  position:relative;
  clear:both;
  background:var(--navy-900,#101735);
  color:#fff;
  box-sizing:border-box;
}
#footer-cta.footer-cta .footer-cta-inner{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
}
#footer-cta.footer-cta h2{color:#fff!important;}
#footer-cta.footer-cta p{color:var(--navy-100,#d8def0)!important;}

/* V19: keep the global footer call-to-action visible and readable */
body #footer-cta.footer-cta {
  display: block !important;
  min-height: 220px;
  padding: 76px 0 60px !important;
  margin: 0 !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #101735 !important;
  color: #ffffff !important;
  position: relative !important;
  z-index: 1;
}
body #footer-cta.footer-cta .footer-cta-inner {
  width: min(100% - 48px, var(--max, 1200px));
  margin-left: auto;
  margin-right: auto;
  display: flex !important;
  flex-direction: row;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 36px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,.16);
  box-sizing: border-box;
}
body #footer-cta.footer-cta .footer-cta-left { flex: 1 1 50%; }
body #footer-cta.footer-cta .footer-cta-right { flex: 0 1 360px; max-width: 360px; }
body #footer-cta.footer-cta h2 { color: #fff !important; margin: 0; }
body #footer-cta.footer-cta p { color: #d8def0 !important; }
body #footer-cta.footer-cta .btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
@media (max-width: 700px) {
  body #footer-cta.footer-cta { padding: 52px 0 42px !important; }
  body #footer-cta.footer-cta .footer-cta-inner { width: calc(100% - 40px); flex-direction: column; align-items: flex-start !important; gap: 22px; padding-bottom: 32px; }
  body #footer-cta.footer-cta .footer-cta-right { flex: 1 1 auto; max-width: 100%; }
}


/* Standard hierarchical Services menu (replaces mega menu) */
.nav-links > li{position:relative;list-style:none;}
.nav-links .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:270px;max-width:340px;max-height:72vh;overflow:visible;overflow-y:auto;background:#fff;border:1px solid var(--border,#e5e7eb);box-shadow:0 14px 34px rgba(15,23,42,.14);padding:8px 0;margin:0;z-index:500;list-style:none;}
.nav-links li:hover > .sub-menu,.nav-links li:focus-within > .sub-menu{display:block;}
.nav-links .sub-menu li{position:relative;list-style:none;}
.nav-links .sub-menu a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;border:0;white-space:normal;line-height:1.35;color:var(--black,#111827);font-size:13px;}
.nav-links .sub-menu a:hover{background:#f4f6fa;color:var(--navy,#10203f);}
.nav-links .sub-menu .sub-menu{left:100%;top:-8px;margin-left:0;}
.nav-links .sub-menu .menu-item-has-children > a:after{content:'›';font-size:18px;line-height:1;}
.nav-services-item > a .submenu-caret{font-size:11px;margin-left:4px;}
@media(max-width:840px){
 .nav-links{overflow-y:auto;}
 .nav-links .sub-menu,.nav-links .sub-menu .sub-menu{display:block;position:static;max-width:none;max-height:none;overflow:visible;box-shadow:none;border:0;border-left:2px solid var(--border,#e5e7eb);margin:0 0 8px 10px;padding:0 0 0 8px;width:calc(100% - 18px);}
 .nav-links .sub-menu a{padding:9px 8px;font-size:13px;}
 .nav-links .sub-menu .sub-menu a{font-size:12px;}
 .nav-links .sub-menu .menu-item-has-children > a:after{content:'';}
}


/* V21: robust nested Services tree. Keep every service link visible within the dropdown instead of off-screen flyouts. */
@media (min-width: 841px) {
  .nav-links > .nav-services-item { position: relative; }
  .nav-links > .nav-services-item > .nav-services-submenu {
    display: none;
    position: absolute;
    left: 0;
    top: calc(100% - 1px);
    width: min(920px, calc(100vw - 48px));
    min-width: 680px;
    max-width: calc(100vw - 48px);
    max-height: min(76vh, 680px);
    overflow: auto;
    padding: 18px 20px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 18px 42px rgba(15,23,42,.18);
    z-index: 9999;
    display: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 22px;
  }
  .nav-links > .nav-services-item:hover > .nav-services-submenu,
  .nav-links > .nav-services-item:focus-within > .nav-services-submenu { display: grid; }
  .nav-links .nav-services-submenu > li { min-width: 0; align-self: start; }
  .nav-links .nav-services-submenu > li > a {
    font-size: 13px; font-weight: 700; color: #101b38; padding: 8px 8px 7px;
    border-bottom: 1px solid #e8ebf2; background: transparent;
  }
  .nav-links .nav-services-submenu > li > .sub-menu {
    display: block; position: static; width: auto; min-width: 0; max-width: none;
    max-height: none; overflow: visible; margin: 4px 0 0; padding: 0 0 0 7px;
    border: 0; box-shadow: none; background: transparent;
  }
  .nav-links .nav-services-submenu > li > .sub-menu > li > a {
    font-size: 12px; font-weight: 400; padding: 6px 8px; line-height: 1.35;
    background: transparent; color: #374151;
  }
  .nav-links .nav-services-submenu .sub-menu .sub-menu { display: block; position: static; width: auto; max-height: none; overflow: visible; margin: 0; padding-left: 8px; border: 0; box-shadow: none; }
  .nav-links .nav-services-submenu .menu-item-has-children > a:after { content: ''; }
}
@media (max-width: 840px) {
  .nav-links > .nav-services-item > .nav-services-submenu { margin-top: 0; }
  .nav-links .nav-services-submenu .sub-menu { display: block; }
}
/* Remove accidental authoring placeholder if it exists in old page content. */
.footer-cta-placeholder, .footer-cta-label { display: none !important; }

/* V22: final Services dropdown override — simple two-column tree, no off-screen flyouts. */
@media (min-width: 841px) {
  header, header .nav { overflow: visible !important; }
  header { z-index: 10000 !important; }
  .nav-links { position: relative; z-index: 10001; }
  .nav-links > .nav-services-item { position: relative !important; }
  .nav-links > .nav-services-item > .nav-services-submenu {
    display: none !important;
    position: absolute !important;
    left: -18px !important;
    right: auto !important;
    top: calc(100% + 8px) !important;
    width: min(760px, calc(100vw - 40px)) !important;
    min-width: min(620px, calc(100vw - 40px)) !important;
    max-width: calc(100vw - 40px) !important;
    max-height: min(72vh, 640px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 18px 24px !important;
    padding: 18px 22px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid #e2e6ee !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 48px rgba(15,23,42,.2) !important;
    list-style: none !important;
    z-index: 10002 !important;
  }
  .nav-links > .nav-services-item:hover > .nav-services-submenu,
  .nav-links > .nav-services-item:focus-within > .nav-services-submenu {
    display: grid !important;
  }
  .nav-links > .nav-services-item > .nav-services-submenu > li {
    display: block !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  .nav-links > .nav-services-item > .nav-services-submenu > li > a {
    display: block !important;
    width: auto !important;
    padding: 8px 10px !important;
    margin: 0 0 5px !important;
    border: 0 !important;
    border-bottom: 1px solid #e8ebf2 !important;
    color: #111b35 !important;
    background: transparent !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    white-space: normal !important;
  }
  .nav-links > .nav-services-item > .nav-services-submenu > li > a:hover { background: #f5f7fb !important; }
  .nav-links > .nav-services-item > .nav-services-submenu > li > ul.sub-menu,
  .nav-links > .nav-services-item > .nav-services-submenu > li > ul.sub-menu > li > ul.sub-menu {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 0 0 10px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .nav-links > .nav-services-item > .nav-services-submenu > li > ul.sub-menu > li {
    display: block !important; position: static !important; margin: 0 !important; padding: 0 !important;
  }
  .nav-links > .nav-services-item > .nav-services-submenu > li > ul.sub-menu a {
    display: block !important;
    width: auto !important;
    padding: 5px 8px !important;
    margin: 0 !important;
    border: 0 !important;
    color: #475569 !important;
    background: transparent !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    white-space: normal !important;
  }
  .nav-links .nav-services-submenu .menu-item-has-children > a:after { content: none !important; }
}
@media (max-width: 840px) {
  .nav-links { max-height: calc(100vh - 64px); overflow-x: hidden !important; overflow-y: auto !important; }
  .nav-links > .nav-services-item { width: 100%; }
  .nav-links > .nav-services-item > .nav-services-submenu {
    display: block !important; position: static !important; width: 100% !important;
    min-width: 0 !important; max-width: none !important; max-height: none !important;
    overflow: visible !important; padding: 4px 0 8px 10px !important; margin: 0 !important;
    border: 0 !important; border-left: 2px solid #e2e6ee !important; border-radius: 0 !important;
    box-shadow: none !important; background: transparent !important;
  }
  .nav-links > .nav-services-item > .nav-services-submenu > li > a { font-weight: 700 !important; }
  .nav-links > .nav-services-item > .nav-services-submenu .sub-menu { display: block !important; position: static !important; width: auto !important; min-width: 0 !important; max-width: none !important; max-height: none !important; overflow: visible !important; margin: 0 0 8px 8px !important; padding: 0 0 0 8px !important; border: 0 !important; border-left: 1px solid #d8deea !important; box-shadow: none !important; background: transparent !important; }
}


/* V23: true three-level navigation: Services > category > service page. */
@media (min-width: 841px) {
  .nav-links > .nav-services-item { position: relative !important; }
  .nav-links > .nav-services-item > .nav-services-submenu {
    display: none !important;
    position: absolute !important;
    inset: calc(100% + 8px) auto auto 0 !important;
    width: 300px !important;
    min-width: 300px !important;
    max-width: min(300px, calc(100vw - 24px)) !important;
    max-height: min(75vh, 620px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    display: none !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    background: #fff !important;
    border: 1px solid #dfe4ec !important;
    border-radius: 8px !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.18) !important;
    z-index: 10020 !important;
  }
  .nav-links > .nav-services-item:hover > .nav-services-submenu,
  .nav-links > .nav-services-item:focus-within > .nav-services-submenu { display: block !important; }
  .nav-links .nav-services-submenu > li {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  .nav-links .nav-services-submenu > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 11px 15px !important;
    margin: 0 !important;
    border: 0 !important;
    color: #111b35 !important;
    background: #fff !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: normal !important;
  }
  .nav-links .nav-services-submenu > li > a:hover,
  .nav-links .nav-services-submenu > li:focus-within > a { background: #f1f4f9 !important; }
  /* Level 3: service links open beside the category list. */
  .nav-links .nav-services-submenu > li > ul.sub-menu {
    display: none !important;
    position: absolute !important;
    top: -1px !important;
    left: calc(100% - 1px) !important;
    right: auto !important;
    width: 320px !important;
    min-width: 280px !important;
    max-width: min(320px, calc(100vw - 24px)) !important;
    max-height: min(75vh, 620px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 7px 0 !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid #dfe4ec !important;
    border-radius: 8px !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.18) !important;
    z-index: 10021 !important;
  }
  .nav-links .nav-services-submenu > li:hover > ul.sub-menu,
  .nav-links .nav-services-submenu > li:focus-within > ul.sub-menu { display: block !important; }
  .nav-links .nav-services-submenu > li > ul.sub-menu > li { display:block !important; position:relative !important; margin:0 !important; padding:0 !important; }
  .nav-links .nav-services-submenu > li > ul.sub-menu a {
    display:block !important;
    padding:10px 15px !important;
    margin:0 !important;
    color:#374151 !important;
    background:#fff !important;
    font-size:12.5px !important;
    font-weight:400 !important;
    line-height:1.4 !important;
    text-decoration:none !important;
    white-space:normal !important;
  }
  .nav-links .nav-services-submenu > li > ul.sub-menu a:hover,
  .nav-links .nav-services-submenu > li > ul.sub-menu a:focus { color:#10203f !important; background:#f1f4f9 !important; }
  .nav-links .nav-services-submenu .menu-item-has-children > a:after { content:'›' !important; font-size:18px !important; line-height:1 !important; }
  .nav-links .nav-services-submenu .submenu-open-left > ul.sub-menu { left:auto !important; right:calc(100% - 1px) !important; }
}
@media (max-width: 840px) {
  .nav-links > .nav-services-item > .nav-services-submenu {
    display:block !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    max-height:none !important;
    overflow:visible !important;
    padding:4px 0 8px 10px !important;
    margin:0 !important;
    border:0 !important;
    border-left:2px solid #dfe4ec !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
  .nav-links .nav-services-submenu > li > a { font-weight:700 !important; }
  .nav-links .nav-services-submenu > li > ul.sub-menu {
    display:block !important; position:static !important; inset:auto !important;
    width:auto !important; min-width:0 !important; max-width:none !important;
    max-height:none !important; overflow:visible !important; padding:0 0 0 12px !important;
    margin:0 0 8px 8px !important; border:0 !important; border-left:1px solid #d8deea !important;
    border-radius:0 !important; box-shadow:none !important; background:transparent !important;
  }
  .nav-links .nav-services-submenu > li > ul.sub-menu a { padding:8px 8px !important; font-size:12px !important; }
  .nav-links .nav-services-submenu .menu-item-has-children > a:after { content:none !important; }
}


/* V24: HiddenBrains-inspired services navigation — wide grouped service panel */
@media (min-width: 841px) {
  header { position: relative; z-index: 1000; }
  header .nav { position: relative; z-index: 1001; }
  .nav-links > .nav-services-item { position: static !important; }
  .nav-links > .nav-services-item > .nav-services-submenu {
    display: none;
    position: fixed !important;
    top: var(--prosoft-menu-top, 82px) !important;
    left: max(24px, calc((100vw - 1240px) / 2)) !important;
    right: auto !important;
    transform: none !important;
    width: min(1240px, calc(100vw - 48px)) !important;
    min-width: 0 !important; max-width: none !important;
    max-height: min(78vh, 760px) !important;
    overflow-y: auto !important; overflow-x: hidden !important;
    padding: 28px 30px 30px !important; margin: 0 !important;
    display: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-content: start; gap: 24px 30px;
    background: #fff !important; border: 1px solid #e4e8ef !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 24px 60px rgba(10, 24, 52, .18) !important;
    z-index: 99999 !important; list-style: none !important;
  }
  .nav-links > .nav-services-item:hover > .nav-services-submenu,
  .nav-links > .nav-services-item:focus-within > .nav-services-submenu,
  .nav-links > .nav-services-item.menu-panel-open > .nav-services-submenu {
    display: grid !important;
  }
  .nav-links .nav-services-submenu > li {
    display: block !important; position: relative !important;
    min-width: 0; margin: 0 !important; padding: 0 !important;
    border: 0 !important; background: transparent !important; list-style: none !important;
  }
  .nav-links .nav-services-submenu > li > a {
    display: flex !important; align-items: center; justify-content: space-between;
    gap: 12px; padding: 0 0 11px !important; margin: 0 0 8px !important;
    color: #101b36 !important; font-size: 15px !important; font-weight: 750 !important;
    line-height: 1.35 !important; text-decoration: none !important;
    border: 0 !important; border-bottom: 1px solid #e8edf4 !important;
    white-space: normal !important; background: transparent !important;
  }
  .nav-links .nav-services-submenu > li > a:hover,
  .nav-links .nav-services-submenu > li > a:focus { color: #315fba !important; }
  .nav-links .nav-services-submenu > li.menu-item-has-children > a:after {
    content: '+'; display: inline-flex; flex: 0 0 22px; width: 22px; height: 22px;
    align-items: center; justify-content: center; border-radius: 50%;
    background: #f0f4fa; color: #344565; font-size: 16px; font-weight: 500;
  }
  .nav-links .nav-services-submenu > li > ul.sub-menu {
    display: block !important; position: static !important; inset: auto !important;
    width: auto !important; min-width: 0 !important; max-width: none !important;
    max-height: none !important; overflow: visible !important;
    padding: 0 !important; margin: 0 !important; border: 0 !important;
    border-radius: 0 !important; box-shadow: none !important;
    background: transparent !important; list-style: none !important;
  }
  .nav-links .nav-services-submenu > li > ul.sub-menu > li { display: block !important; margin: 0 !important; padding: 0 !important; }
  .nav-links .nav-services-submenu > li > ul.sub-menu a {
    display: block !important; padding: 7px 8px !important; margin: 0 !important;
    border: 0 !important; border-radius: 5px; color: #4d5a70 !important;
    font-size: 12.5px !important; font-weight: 500 !important; line-height: 1.45 !important;
    white-space: normal !important; background: transparent !important;
  }
  .nav-links .nav-services-submenu > li > ul.sub-menu a:hover,
  .nav-links .nav-services-submenu > li > ul.sub-menu a:focus {
    color: #172a52 !important; background: #f3f6fb !important;
  }
  .nav-links .nav-services-submenu > li:not(.menu-item-has-children) > a { border-bottom: 0 !important; margin-bottom: 0 !important; }
}
@media (min-width: 841px) and (max-width: 1050px) {
  .nav-links > .nav-services-item > .nav-services-submenu { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 22px !important; gap: 20px; }
}
@media (max-width: 840px) {
  .nav-links > .nav-services-item > .nav-services-submenu { display: block !important; }
}
