
    :root{
      --av-blue:#0a3a8d;
      --av-blue2:#15438e;
      --av-navy:#07122f;
      --av-navy2:#0c274f;
      --av-red:#e53935;
      --av-yellow:#ffc928;
      --av-ink:#18233b;
      --av-muted:#667085;
      --av-line:#e6ebf4;
      --av-soft:#f3f7fd;
      --av-soft2:#eef4fb;
      --av-white:#fff;
      --av-radius:16px;
      --av-shadow:0 18px 45px rgba(15,45,95,.10);
    }

.vc_column_container > .vc_column-inner{padding-left: 0px !important;padding-right: 0px !important;}



    .av-ems-page,.av-ems-page *{box-sizing:border-box}
    .av-ems-page{color:var(--av-ink);font-family:"Montserrat",Arial,sans-serif;-webkit-font-smoothing:antialiased}
    .av-ems-page img{max-width:100%;display:block}
    .av-ems-page a{text-decoration:none;color:inherit}
    .av-ems-page button,.av-ems-page input,.av-ems-page textarea{font:inherit}

    /* All page styles are scoped so they can be dropped into the existing Avalon template. */
    .av-ems-page{overflow-x:visible;overflow-y:visible;background:#fff}
    .av-ems-shell{width:min(1920px,calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:start;padding:64px 0 76px}
    .av-ems-main{min-width:0}
/* Contact stays in its reserved grid column; sticky is bounded by the shell. */
     .av-ems-aside{
      position:sticky;
      top:120px;
      right:auto;
      left:auto;
      width:100%;
      max-width:100%;
      min-width:0;
      margin:0;
      z-index:5;
      padding:20px;
      border-radius:5px;
      background:#fff;
      border:1px solid #e8ecf2;
      align-self:start;
      max-height:calc(100vh - 140px);
      max-height:calc(100dvh - 140px);
      overflow-y:auto;
      scrollbar-width:thin;
      transition:none;
    }

    .av-eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--av-red);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}
    .av-eyebrow::before{content:"";width:25px;height:2px;background:var(--av-red);border-radius:4px}

    .av-ems-page h1,.av-ems-page h2,.av-ems-page h3,.av-ems-page p{margin-top:0}
    .av-ems-page h1{font-size:clamp(26px,2.5vw,40px);line-height:1.12;letter-spacing:-.03em;color:var(--av-blue);margin-bottom:12px}
    .av-ems-page h2{font-size:clamp(20px,1.7vw,25px);line-height:1.25;letter-spacing:-.02em;color:var(--av-blue);margin-bottom:12px}
    .av-ems-page h3{font-size:16px;line-height:1.35;color:var(--av-blue);margin-bottom:9px}
    .av-ems-page p{font-size:14px;line-height:1.82;color:#44506a;margin-bottom:14px}

    .av-section{padding:58px 0;position:relative}
    .av-section--soft{background:var(--av-soft);margin-left:-9999px;margin-right:-9999px;padding-left:9999px;padding-right:9999px}
    .av-section--navy{background:linear-gradient(135deg,#06112d 0%,#0b1b45 58%,#0f2b5c 100%);color:#fff;margin-left:-9999px;margin-right:-9999px;padding-left:9999px;padding-right:9999px}
    .av-section--navy h2,.av-section--navy h3{color:#fff}
    .av-section--navy p{color:#d9e3f8;text-align: left;font-size: 14px !important;}
    .av-section-head{max-width:auto;margin-bottom:28px}
    .av-section-head p:last-child{margin-bottom:0}

    /* Hero / intro */
    .av-hero{padding:0 0 48px}
    .av-hero-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:42px;align-items:start;}
    .av-ems-page.av-js .av-hero-copy{opacity:0;transform:translate3d(-28px,0,0)}
     .av-hero-media{position:relative;}
    .av-ems-page.av-js .av-hero-media{opacity:0;transform:translate3d(32px,0,0)}
    .av-hero-copy .av-eyebrow{display:none}
    .av-hero-copy h1{font-size:clamp(30px,2.6vw,34px);line-height:1.1;letter-spacing:-.035em;color:var(--av-blue);margin-bottom:12px;max-width:690px}
    .av-hero-copy h2{font-size:clamp(20px,1.7vw,20px);line-height:1.35;letter-spacing:-.015em;color:#1d2435;margin-bottom:12px;max-width:670px;font-weight: 500;}
    .av-hero-copy p{font-size: 16px !important;line-height: 1.72 !important;color: #5e687d;margin-bottom: 18px;max-width: 700px;text-align: left;font-family: Poppins;}
    .av-hero-media::before{display:none}
    .av-hero-media img{position:relative;z-index:1;width:100%;aspect-ratio:1.6/1;object-fit:cover;border-radius:18px;box-shadow:0 24px 54px rgba(10,38,82,.12)}
    .av-hero-badge{display:none}

    /* Sticky contact card */
    .av-contact-card{background:#fff;border:1px solid #e8ecf2;border-radius:8px;padding:26px 18px 26px;box-shadow:none;overflow:hidden;position:relative}
    .av-contact-card::before{display:none}
    .av-contact-card h2{font-size:28px;line-height:1.2;margin-bottom:22px;color:#13213d;font-weight:700}
    .av-contact-card p{display:none}
    .av-field{margin-bottom:18px;position:relative}
    .av-field label{position:absolute;left:-9999px;opacity:0;pointer-events:none}
    .av-field input,.av-field textarea{width:100%;border:1px solid #dfe5ee;background:#fff;border-radius:4px;color:#1c263a;padding:14px 18px;outline:none;transition:.25s ease;font-size:15px;box-shadow:none}
    .av-field input::placeholder,.av-field textarea::placeholder{color:#5f6b80;font-weight:600}
    .av-field textarea{min-height:102px;resize:vertical}
    .av-field input:focus,.av-field textarea:focus{border-color:var(--av-blue2);box-shadow:0 0 0 3px rgba(21,67,142,.08)}
    .av-consent{display:none}
    .av-captcha-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:15px;color:#667287;margin:10px 0 30px}
    .av-captcha-row strong{font-weight:500;color:#5e687d}
    .av-captcha-row input{width:128px;border:1px solid #dfe5ee;border-radius:4px;padding:11px 12px;font-size:14px;outline:none}
    .av-captcha-row input:focus{border-color:var(--av-blue2);box-shadow:0 0 0 3px rgba(21,67,142,.08)}
    .av-captcha-refresh{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:6px;background:#d7ebf7;color:var(--av-blue);border:0;font-size:18px;cursor:pointer}
    .av-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:8px;background: linear-gradient(90deg, #3f76d8 0%, #e7193f 100%);color:#fff !important;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:14px 28px;cursor:pointer;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
    .av-btn::after{content:"";position:absolute;inset:-60% auto -60% -30%;width:25%;background:rgba(255,255,255,.35);transform:skewX(-20deg) translateX(-240%);transition:transform .65s ease}
    .av-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(21,67,142,.24)}
    .av-btn:hover::after{transform:skewX(-20deg) translateX(620%)}
    .av-contact-card .av-btn{width:124px;display:flex;margin:0 auto;font-weight: 500;}

    /* Service cards */
    .av-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
    .av-service-card{background:#fff;border:1px solid #dfe6f0;border-radius:8px;padding:18px 16px;min-height:168px;box-shadow:0 10px 25px rgba(23,52,96,.055);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;position:relative;overflow:hidden}
    .av-service-card::after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-34px;bottom:-34px;background:rgba(21,67,142,.05);transition:transform .35s ease}
    .av-service-card:hover{transform:translateY(-7px);box-shadow:0 18px 35px rgba(23,52,96,.12);border-color:#c9d7ed}
    .av-service-card:hover::after{transform:scale(2.2)}
    .av-icon{width:29px;height:29px;border-radius:7px;display:grid;place-items:center;background:#fff3f3;color:var(--av-red);margin-bottom:13px;border:1px solid #ffe2e2;font-size:13px;font-weight:900}
    .av-service-card h3{font-size:14px;margin-bottom:7px}
    .av-service-card p{font-size: 14px !important;line-height: 1.68 !important;margin:0;color:#58647b}

    /* Benefits */
    .av-benefits{display:grid;gap:11px}
    .av-benefit{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start;background:#f5f8fd;border:1px solid #e5ebf4;border-radius:7px;padding:13px 16px;transition:.3s ease}
    .av-benefit:hover{background:#fff;box-shadow:0 11px 28px rgba(10,58,141,.08);transform:translateX(5px)}
    .av-benefit .av-icon{width:28px;height:28px;margin:0}
    .av-benefit h3{font-size:14px;margin:1px 0 3px}
    .av-benefit p{font-size: 14px !important;line-height: 1.65 !important;margin:0}

    /* Partner / Request a Quote CTA */
    .av-partner{
      display:grid;
      grid-template-columns:.96fr 1.04fr;
      gap:54px;
      align-items:center;
      min-height:420px;
      padding:58px 66px;
      background:linear-gradient(105deg,#071431 0%,#0a1637 68%,#16132d 100%);
      overflow:hidden;
      position:relative;
    }
    .av-partner::after{
      content:"";
      position:absolute;
      right:-130px;
      bottom:-190px;
      width:560px;
      height:560px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(212,29,76,.18) 0%,rgba(108,40,111,.10) 34%,transparent 70%);
      pointer-events:none;
      z-index:0;
    }
    .av-partner-copy{
      padding:0;
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:flex-start;
      position:relative;
      z-index:2;
    }
    .av-partner-copy .av-eyebrow{display:none}
    .av-partner-copy h2{
      color:#fff;
      font-size:clamp(26px,2vw,25px);
      line-height:1.42;
      font-weight:700;
      letter-spacing:-.02em;
      max-width:650px;
      margin:0 0 28px;
    }
    .av-partner-copy p{
	color: #fff;
  font-size: 15px !important;
  line-height: 1.85 !important;
  max-width: 610px;
  margin: 0 0 36px;
  text-align: left;
    }
    .av-partner .av-btn{
      min-width:220px;
      min-height:58px;
      padding:16px 26px;
      border-radius:8px;
      background:linear-gradient(90deg,#3f76d8 0%,#735aa3 48%,#e7193f 100%);
      color:#fff!important;
      font-size:14px;
      font-weight:800;
      letter-spacing:.02em;
      box-shadow:0 12px 28px rgba(25,47,106,.25);
    }
    .av-partner .av-btn:hover{
      transform:translateY(-3px);
      box-shadow:0 18px 36px rgba(231,25,63,.22);
    }
    .av-partner-visual{
      position:relative;
      z-index:2;
      min-height:0;
      display:block;
      overflow:hidden;
      border-radius:24px;
      box-shadow:0 18px 44px rgba(0,0,0,.18);
    }
    .av-partner-visual img{
      width:100%;
      aspect-ratio:1.84/1;
      height:auto;
      display:block;
      object-fit:cover;
      border-radius:24px;
      transition:transform .7s cubic-bezier(.2,.75,.2,1);
    }
    .av-partner:hover .av-partner-visual img{transform:scale(1.025)}

    @media (max-width:1200px){
      .av-partner{gap:34px;padding:48px 42px;min-height:360px}
      .av-partner-copy h2{font-size:27px;line-height:1.38;margin-bottom:20px}
      .av-partner-copy p{font-size:15px;margin-bottom:28px}
      .av-partner .av-btn{min-width:195px;min-height:52px;font-size:13px}
    }

    @media (max-width:900px){
      .av-partner{grid-template-columns:1fr;gap:30px;padding:46px 34px}
      .av-partner-copy{max-width:720px}
      .av-partner-visual{width:100%}
      .av-partner-visual img{aspect-ratio:1.75/1}
    }

    @media (max-width:620px){
      .av-partner{padding:36px 22px;gap:26px}
      .av-partner-copy h2{font-size:23px;line-height:1.4;margin-bottom:16px}
      .av-partner-copy p{font-size:14px;line-height:1.6;margin-bottom:24px}
      .av-partner .av-btn{min-width:178px;min-height:48px;padding:13px 20px;font-size:12px}
      .av-partner-visual,.av-partner-visual img{border-radius:16px}
      .av-partner-visual img{aspect-ratio:1.55/1}
    }

    /* Industries */
    .av-industry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
    .av-industry-card{background:#fff;border:1px solid #e0e6ef;border-radius:5px;overflow:hidden;transition:.3s ease;box-shadow:0 8px 22px rgba(24,58,110,.05)}
    .av-industry-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px rgba(24,58,110,.12)}
    .av-industry-card .av-imgwrap{overflow:hidden;aspect-ratio:1.65/1;background:#eef3f8}
    .av-industry-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
    .av-industry-card:hover img{transform:scale(1.07)}
    .av-industry-body{padding:13px 13px 15px}
    .av-industry-body h3{font-size:14px;margin-bottom:6px}
    .av-industry-body p{font-size: 14px !important;line-height: 1.55 !important;text-align: left;margin:0}

    /* Certifications */
    .av-cert-section{background:linear-gradient(135deg,#071431 0%,#0b1838 55%,#0d1c42 100%)}
    .av-cert-section .av-section-head{max-width:none;margin-bottom:46px}
    .av-cert-section .av-cert-kicker{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;margin-bottom:18px}
    .av-cert-section .av-cert-kicker::before{content:"";width:11px;height:2px;background:#fff;border-radius:4px}
    .av-cert-section #cert-title{color:var(--av-yellow);font-size:clamp(24px,2vw,25px);line-height:1.18;margin-bottom:18px;letter-spacing:-.02em}
    .av-cert-section .av-section-head p{max-width:1120px;color:#eef2fb;font-size:15px;line-height:1.65;margin-bottom:0}
    .av-cert-list{display:grid;gap:22px;margin-top:0}
    .av-cert{display:grid;grid-template-columns:50px 245px minmax(0,1fr);gap:18px;align-items:center;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:17px 18px;transition:transform .32s ease,background .32s ease,border-color .32s ease,box-shadow .32s ease;position:relative;overflow:hidden}
    .av-cert:hover{background:rgba(255,255,255,.085);border-color:rgba(255,255,255,.22);transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.14)}
    .av-cert-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.18)}
    .av-cert-icon svg{width:22px;height:22px;display:block}
    .av-cert-meta{min-width:0}
    .av-cert-meta h3{font-size:14px;line-height:1.25;color:var(--av-yellow);margin:0 0 5px;font-weight:800;letter-spacing:-.01em}
    .av-cert-meta span{display:block;font-size:12px;line-height:1.35;color:#c8d0e0}
    .av-cert-copy{font-size:14px;line-height:1.58;color:#eef2fb;margin:0}

    @media (max-width:1100px){
      .av-cert{grid-template-columns:48px 210px minmax(0,1fr)}
      .av-cert-copy{font-size:13px}
    }
    @media (max-width:760px){
      .av-cert-section .av-section-head{margin-bottom:30px}
      .av-cert{grid-template-columns:46px minmax(0,1fr);gap:14px;padding:16px}
      .av-cert-copy{grid-column:1/-1;padding-left:60px}
    }
    @media (max-width:520px){
      .av-cert-section #cert-title{font-size:24px}
      .av-cert-section .av-section-head p{font-size:13px}
      .av-cert{grid-template-columns:42px minmax(0,1fr);border-radius:14px}
      .av-cert-icon{width:42px;height:42px;border-radius:11px}
      .av-cert-copy{grid-column:1/-1;padding-left:0;font-size:12px}
      .av-cert-meta h3{font-size:13px}
      .av-cert-meta span{font-size:11px}
    }

    /* Why choose / Avalon standard */
    .av-why-grid{
      display:grid;
      grid-template-columns:minmax(0,1.42fr) minmax(360px,.82fr);
      gap:46px;
      align-items:center;
    }
    .av-why-copy{max-width:900px}
    .av-why-copy .av-eyebrow{margin-bottom:14px}
    .av-why-copy h2{
max-width: fit-content;
  font-size: clamp(26px,2.35vw,25px);
  line-height: 1.28;
  margin-bottom: 24px;
    }
    .av-why-copy p{
font-size: 15px !important;
  line-height: 1.55 !important;
  color: #5a667c;
  margin-bottom: 12px;
  text-align: left;
    }
    .av-why-copy p:last-child{margin-bottom:0}
    .av-why-copy strong{color:var(--av-blue);font-weight:700}

    .av-facility-collage{
      display:block;
      position:relative;
      top:auto;
      align-self:center;
      width:100%;
      max-width:560px;
      margin-left:auto;
      overflow:hidden;
      border-radius:14px;
    }
    .av-facility-collage img{
      width:100%;
      height:auto;
      aspect-ratio:auto;
      object-fit:contain;
      border-radius:14px;
      filter:none;
      transition:transform .65s cubic-bezier(.2,.75,.2,1),filter .35s ease;
    }
    .av-facility-collage img:first-child{grid-row:auto}
    .av-facility-collage:hover img{transform:scale(1.018);filter:saturate(1.03)}

    @media (max-width:1200px){
      .av-why-grid{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:34px}
      .av-why-copy h2{font-size:30px;margin-bottom:26px}
      .av-why-copy p{font-size:14px;line-height:1.55;margin-bottom:18px}
    }

    @media (max-width:900px){
      .av-why-grid{grid-template-columns:1fr;gap:34px}
      .av-facility-collage{max-width:620px;margin:0 auto}
    }

    @media (max-width:620px){
      .av-why-copy h2{font-size:24px;margin-bottom:22px}
      .av-why-copy p{font-size:13px;line-height:1.6;margin-bottom:16px}
      .av-facility-collage,.av-facility-collage img{border-radius:10px}
    }

    /* Case studies */
    .av-case-wrap{display:grid;grid-template-columns:340px minmax(0,1fr);gap:46px;background:#fff;border:1px solid #e5eaf2;border-radius:20px;padding:42px;box-shadow:0 12px 35px rgba(16,47,94,.06);min-height:570px}
    .av-case-nav{background:linear-gradient(180deg,#17366f 0%,#0a2b68 100%);padding:36px 28px;border-radius:22px;color:#fff;display:flex;flex-direction:column}
    .av-case-nav .av-case-kicker{display:flex;align-items:center;gap:8px;color:#ffd02f;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:34px}
    .av-case-nav .av-case-kicker::before{content:"";width:11px;height:2px;background:#ffd02f;border-radius:5px}
    .av-case-nav h3{color:#fff;font-size:18px;line-height:1.35;margin-bottom:28px;max-width:250px}
    .av-case-tabs{display:grid;gap:10px}
    .av-case-tab{width:100%;border:0;background:transparent;color:#cfdaef;padding:11px 12px;text-align:left;border-radius:13px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;cursor:pointer;transition:background .28s ease,transform .28s ease,color .28s ease}
    .av-case-tab:hover{background:rgba(255,255,255,.06);transform:translateX(3px)}
    .av-case-tab .av-case-tab-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(90,138,220,.22);color:#74a6f1;transition:.28s ease}
    .av-case-tab .av-case-tab-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
    .av-case-tab .av-case-tab-copy{display:block;min-width:0}
    .av-case-tab .av-case-label{display:block;font-size:9px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;color:#8ea7d0;margin-bottom:3px}
    .av-case-tab .av-case-name{display:block;font-size:13px;line-height:1.28;font-weight:700;color:#e4ecfb}
    .av-case-tab.is-active{background:rgba(255,255,255,.10);color:#fff}
    .av-case-tab.is-active .av-case-tab-icon{background:#ed1739;color:#fff}
    .av-case-tab.is-active .av-case-label{color:#9db0d4}
    .av-case-tab.is-active .av-case-name{color:#fff}
    .av-case-content{position:relative;min-height:485px;padding:28px 8px 0}
    .av-case-status{position:absolute;right:4px;top:2px;font-size:12px;font-weight:600;color:#566179;letter-spacing:.02em}
    .av-case-status strong{color:#e61f3f;font-weight:800}
    .av-case-panel{display:none;padding-top:0px}
    .av-case-panel.is-active{display:block;animation:avCaseIn .45s ease both}
    @keyframes avCaseIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
    .av-case-panel h2{font-size:28px;line-height:1.2;margin:0 0 46px;color:#123a82;letter-spacing:-.025em;text-transform:none}
    .av-case-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:58px;margin-top:0}
    .av-case-columns h3{font-size:13px;color:#164a9a;margin-bottom:8px;text-transform:uppercase;letter-spacing:.10em}
    .av-case-columns p{font-size: 14px !important;line-height: 1.62 !important;margin:0;color:#67728a}
    .av-impact-wrap{margin-top:34px}
    .av-impact-label{display:inline-flex;align-items:center;justify-content:center;padding:4px 17px;border-radius:999px;background:#fde8eb;color:#e12b48;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:18px}
    .av-impact{margin:0;padding:25px 30px 24px 34px;background:linear-gradient(90deg,#fff0f1 0%,#eef3ff 100%);border-left:3px solid #ed1739;border-radius:14px;font-size:14px;font-weight:700;line-height:1.55;color:#123a82}

    /* Final CTA / Start your project */
    .av-final-cta{
      display:grid;
      grid-template-columns:minmax(0,.98fr) minmax(460px,1.08fr);
      gap:58px;
      align-items:center;
      min-height:460px;
      padding:64px 66px;
      background:linear-gradient(105deg,#071431 0%,#0a1636 72%,#10142d 100%);
      color:#fff;
      overflow:hidden;
      position:relative;
    }
    .av-final-cta::after{
      content:"";
      position:absolute;
      right:-120px;
      bottom:-190px;
      width:520px;
      height:520px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(225,28,67,.10) 0%,rgba(87,57,126,.08) 35%,transparent 70%);
      pointer-events:none;
      z-index:0;
    }
    .av-final-copy{
      padding:0;
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:flex-start;
      position:relative;
      z-index:2;
      max-width:760px;
    }
    .av-final-copy .av-eyebrow{
      display:block;
      color:var(--av-yellow);
      font-size:13px;
      line-height:1.2;
      font-weight:800;
      letter-spacing:.16em;
      text-transform:uppercase;
      margin:0 0 24px;
    }
    .av-final-copy .av-eyebrow::before{display:none}
    .av-final-copy h2{
      color:#fff;
      font-size:clamp(30px,2.75vw,28px);
      line-height:1.18;
      letter-spacing:-.025em;
      font-weight:800;
      max-width:760px;
      margin:0 0 26px;
    }
    .av-final-copy > p{
color: #f3f6fc;
  font-size: 16px !important;
  line-height: 1.72 !important;
  max-width: 710px;
  margin: 0 0 22px;
  text-align: left;
    }
    .av-final-copy > p strong{color:#fff;font-weight:800}
    .av-final-note{
      display:flex;
      align-items:center;
      gap:12px;
      color:var(--av-yellow);
      font-size:14px;
      line-height:1.45;
      font-weight:800;
      margin:0 0 38px;
    }
    .av-final-note-icon{
      width:26px;
      height:26px;
      flex:0 0 26px;
      display:grid;
      place-items:center;
      color:var(--av-yellow);
    }
    .av-final-note-icon svg{width:24px;height:24px;display:block;stroke:currentColor;fill:none;stroke-width:1.9}
    .av-final-cta .av-btn{
      min-width:250px;
      min-height:58px;
      padding:16px 28px;
      border-radius:8px;
      background:linear-gradient(90deg,#3f76d8 0%,#735aa3 48%,#e7193f 100%);
      color:#fff!important;
      font-size:14px;
      font-weight:800;
      letter-spacing:.015em;
      box-shadow:0 14px 30px rgba(20,40,96,.28);
    }
    .av-final-cta .av-btn:hover{
      transform:translateY(-3px);
      box-shadow:0 20px 38px rgba(231,25,63,.22);
    }
    .av-final-image{
      overflow:hidden;
      position:relative;
      z-index:2;
      min-height:0;
      border-radius:24px;
      box-shadow:0 20px 44px rgba(0,0,0,.22);
    }
    .av-final-image img{
      width:100%;
      height:auto;
      aspect-ratio:1.62/1;
      object-fit:cover;
      object-position:center;
      border-radius:24px;
      filter:none;
      transition:transform .8s cubic-bezier(.2,.75,.2,1);
    }
    .av-final-cta:hover .av-final-image img{transform:scale(1.025)}

    @media (max-width:1200px){
      .av-final-cta{grid-template-columns:minmax(0,1fr) minmax(390px,.95fr);gap:36px;padding:52px 42px;min-height:390px}
      .av-final-copy h2{font-size:34px;margin-bottom:20px}
      .av-final-copy > p{font-size:15px;margin-bottom:18px}
      .av-final-note{font-size:13px;margin-bottom:30px}
      .av-final-cta .av-btn{min-width:220px;min-height:52px;font-size:13px}
    }

    @media (max-width:900px){
      .av-final-cta{grid-template-columns:1fr;gap:32px;padding:48px 34px}
      .av-final-copy{max-width:760px}
      .av-final-image{width:100%;min-height:0}
      .av-final-image img{aspect-ratio:1.65/1}
    }

    @media (max-width:620px){
      .av-final-cta{padding:38px 22px;gap:28px}
      .av-final-cta .av-final-copy{padding:0}
      .av-final-copy .av-eyebrow{font-size:11px;margin-bottom:16px}
      .av-final-copy h2{font-size:25px;line-height:1.28;margin-bottom:18px}
      .av-final-copy > p{font-size:14px;line-height:1.65;margin-bottom:18px}
      .av-final-note{align-items:flex-start;font-size:12px;margin-bottom:26px}
      .av-final-note-icon{width:22px;height:22px;flex-basis:22px}
      .av-final-note-icon svg{width:21px;height:21px}
      .av-final-cta .av-btn{min-width:205px;min-height:50px;padding:13px 20px;font-size:12px}
      .av-final-image,.av-final-image img{border-radius:16px}
      .av-final-image img{aspect-ratio:1.45/1}
    }

    /* FAQ / Help & Support */
    .av-faq-section .av-section-head{
      max-width:none;
      margin-bottom:34px;
    }
    .av-faq-section .av-section-head .av-eyebrow{
      margin-bottom:14px;
    }
    .av-faq-section #faq-title{
      max-width:1180px;
      font-size:clamp(25px,2vw,25px);
      line-height:1.22;
      letter-spacing:-.025em;
      margin-bottom:0;
      color:var(--av-blue);
    }
    .av-faq-grid{
      display:grid;
      grid-template-columns:minmax(360px,.88fr) minmax(0,1.04fr);
      gap:30px;
      align-items:start;
    }
    .av-faq-image{
      display:block;
      width:100%;
      height:600px;
      overflow:hidden;
      border-radius:14px;
    }
    .av-faq-image img,
    .av-faq-image img:first-child{
      width:100%;
      height:100%;
      display:block;
      object-fit:cover;
      object-position:center;
      border-radius:14px;
      grid-column:auto;
      box-shadow:0 12px 28px rgba(26,52,92,.06);
    }
    .av-faq-list{display:grid;gap:14px}
    .av-faq-item{
      border:1px solid #d9e1ec;
      border-radius:8px;
      background:#fff;
      overflow:hidden;
      box-shadow:0 4px 16px rgba(31,56,96,.025);
      transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
    }
    .av-faq-item:hover{
      border-color:#c9d6e8;
      box-shadow:0 8px 22px rgba(31,56,96,.06);
    }
    .av-faq-q{
      width:100%;
      border:0;
      background:#fff;
      color:var(--av-blue);
      padding:20px 22px;
font-size: 14px !important;
  line-height: 1.4 !important;
      font-weight:800;
      text-align:left;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      cursor:pointer;
    }
    .av-faq-arrow{
      width:9px;
      height:9px;
      flex:0 0 9px;
      border-right:2px solid var(--av-red);
      border-bottom:2px solid var(--av-red);
      transform:rotate(45deg);
      transition:transform .25s ease;
      margin-right:3px;
    }
    .av-faq-item.is-open .av-faq-arrow{transform:rotate(-135deg)}
    .av-faq-a{display:none;padding:0 22px 22px}
    .av-faq-a p{
   font-size: 14px !important;
  line-height: 1.7 !important;
  margin: 0;
  color: #5c687d;
    }

    @media (max-width:1100px){
      .av-faq-grid{grid-template-columns:minmax(320px,.9fr) minmax(0,1.05fr);gap:24px}
      .av-faq-image{height:540px}
      .av-faq-q{padding:18px 18px;font-size:13px}
      .av-faq-a{padding:0 18px 18px}
      .av-faq-a p{font-size:13px}
    }

    @media (max-width:900px){
      .av-faq-grid{grid-template-columns:1fr;gap:28px}
      .av-faq-image{max-width:720px;height:auto;margin:0 auto}
      .av-faq-image img,.av-faq-image img:first-child{height:auto;object-fit:contain}
    }

    @media (max-width:620px){
      .av-faq-section .av-section-head{margin-bottom:24px}
      .av-faq-section #faq-title{font-size:22px;line-height:1.3}
      .av-faq-image,.av-faq-image img{border-radius:10px}
      .av-faq-list{gap:10px}
      .av-faq-q{padding:16px 15px;font-size:12px;gap:12px}
      .av-faq-a{padding:0 15px 16px}
      .av-faq-a p{font-size:12px;line-height:1.65}
    }

    /* Scroll animation system -------------------------------------------------
       Content is hidden ONLY after JS adds .av-motion-ready. If JS/jQuery fails,
       the page remains fully visible. */
    .av-scroll-anim{opacity:1;transform:none}
    .av-ems-page.av-motion-ready .av-scroll-anim{
      opacity:0;
      will-change:transform,opacity;
      transition:opacity .68s ease,transform .82s cubic-bezier(.18,.78,.24,1);
    }
    .av-ems-page.av-motion-ready .av-from-bottom{transform:translate3d(0,42px,0)}
    .av-ems-page.av-motion-ready .av-from-left{transform:translate3d(-54px,0,0)}
    .av-ems-page.av-motion-ready .av-from-right{transform:translate3d(54px,0,0)}
    .av-ems-page.av-motion-ready .av-zoom-in{transform:scale(.935)}
    .av-ems-page.av-motion-ready .av-scroll-anim.av-in{opacity:1;transform:none}

    /* Existing section wrapper gets a subtle background lift only; the visible
       text/image movement is handled by .av-scroll-anim below. */
    .av-ems-page.av-motion-ready .av-reveal{transition:filter .7s ease}
    .av-ems-page.av-motion-ready .av-reveal:not(.av-in){filter:saturate(.96)}
    .av-reveal.av-in{filter:none}

    /* Sequential card/item reveal. */
    .av-ems-page.av-motion-ready .av-stagger > *{
      opacity:0;
      transform:translate3d(0,34px,0) scale(.985);
      will-change:transform,opacity;
      transition:opacity .56s ease,transform .66s cubic-bezier(.18,.78,.24,1);
    }
    .av-ems-page.av-motion-ready .av-stagger.av-in > *{opacity:1;transform:none}
    .av-ems-page.av-motion-ready .av-stagger.av-in > *:nth-child(1){transition-delay:.03s}
    .av-ems-page.av-motion-ready .av-stagger.av-in > *:nth-child(2){transition-delay:.10s}
    .av-ems-page.av-motion-ready .av-stagger.av-in > *:nth-child(3){transition-delay:.17s}
    .av-ems-page.av-motion-ready .av-stagger.av-in > *:nth-child(4){transition-delay:.24s}
    .av-ems-page.av-motion-ready .av-stagger.av-in > *:nth-child(5){transition-delay:.31s}
    .av-ems-page.av-motion-ready .av-stagger.av-in > *:nth-child(6){transition-delay:.38s}
    .av-ems-page.av-motion-ready .av-stagger.av-in > *:nth-child(7){transition-delay:.45s}
    .av-ems-page.av-motion-ready .av-stagger.av-in > *:nth-child(8){transition-delay:.52s}
    .av-ems-page.av-motion-ready .av-stagger.av-in > *:nth-child(9){transition-delay:.59s}
    .av-ems-page.av-motion-ready .av-stagger.av-in > *:nth-child(10){transition-delay:.66s}
    .av-ems-page.av-motion-ready .av-stagger.av-in > *:nth-child(11){transition-delay:.73s}
    .av-ems-page.av-motion-ready .av-stagger.av-in > *:nth-child(12){transition-delay:.80s}
    /* When an item leaves the viewport, remove the stagger delay so it can reset
       off-screen immediately and be ready to replay on the next entry. */
    .av-ems-page.av-motion-ready .av-stagger:not(.av-in) > *{transition-delay:0s!important}

    /* Images reveal with a small scale-back for a premium loading feel. */
    .av-ems-page.av-motion-ready .av-facility-collage img,
    .av-ems-page.av-motion-ready .av-faq-image img{
      opacity:0;
      transform:translateY(24px) scale(1.04);
      transition:opacity .62s ease,transform .82s cubic-bezier(.18,.78,.24,1);
    }
    .av-ems-page.av-motion-ready .av-facility-collage.av-in img,
    .av-ems-page.av-motion-ready .av-faq-image.av-in img{opacity:1;transform:none}
    .av-ems-page.av-motion-ready .av-facility-collage.av-in img:nth-child(1),.av-ems-page.av-motion-ready .av-faq-image.av-in img:nth-child(1){transition-delay:.05s}
    .av-ems-page.av-motion-ready .av-facility-collage.av-in img:nth-child(2),.av-ems-page.av-motion-ready .av-faq-image.av-in img:nth-child(2){transition-delay:.14s}
    .av-ems-page.av-motion-ready .av-facility-collage.av-in img:nth-child(3),.av-ems-page.av-motion-ready .av-faq-image.av-in img:nth-child(3){transition-delay:.23s}
    .av-ems-page.av-motion-ready .av-facility-collage.av-in img:nth-child(4){transition-delay:.32s}
    .av-ems-page.av-motion-ready .av-facility-collage.av-in img:nth-child(5){transition-delay:.41s}
    .av-ems-page.av-motion-ready .av-facility-collage:not(.av-in) img,
    .av-ems-page.av-motion-ready .av-faq-image:not(.av-in) img{transition-delay:0s!important}

    /* Hero entrance stays separate because it runs on first load. */
    .av-ems-page.av-loaded .av-hero-copy,.av-ems-page.av-ems-page.av-loaded .av-hero-media{opacity:1;transform:none;transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.2,1)}
    .av-ems-page.av-loaded .av-hero-media{transition-delay:.12s}

	/* ==================================================
   HERO IMAGE - CIRCUIT TRACE REVEAL
   ================================================== */

.av-hero-scan{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    border-radius:18px;
}

/* PCB / circuit trace overlay */
.av-hero-scan::before{
    content:"";
    display:block;
    position:absolute;
    inset:0;
    z-index:6;
    pointer-events:none;

    background:
        radial-gradient(circle at 10% 24%, rgba(114,228,255,.96) 0 3px, transparent 4px),
        radial-gradient(circle at 34% 66%, rgba(114,228,255,.92) 0 3px, transparent 4px),
        radial-gradient(circle at 58% 36%, rgba(114,228,255,.90) 0 3px, transparent 4px),
        radial-gradient(circle at 83% 70%, rgba(114,228,255,.88) 0 3px, transparent 4px),
        linear-gradient(90deg, transparent 10%, rgba(92,216,255,.78) 10% 10.3%, transparent 10.3%),
        linear-gradient(0deg,  transparent 24%, rgba(92,216,255,.72) 24% 24.3%, transparent 24.3%),
        linear-gradient(90deg, transparent 34%, rgba(92,216,255,.72) 34% 34.25%, transparent 34.25%),
        linear-gradient(0deg,  transparent 66%, rgba(92,216,255,.68) 66% 66.25%, transparent 66.25%),
        linear-gradient(90deg, transparent 58%, rgba(92,216,255,.68) 58% 58.25%, transparent 58.25%),
        linear-gradient(0deg,  transparent 36%, rgba(92,216,255,.68) 36% 36.25%, transparent 36.25%),
        linear-gradient(90deg, transparent 83%, rgba(92,216,255,.66) 83% 83.25%, transparent 83.25%),
        linear-gradient(0deg,  transparent 70%, rgba(92,216,255,.66) 70% 70.25%, transparent 70.25%);

    opacity:0;
    transform:scaleX(.02);
    transform-origin:left center;
    mix-blend-mode:screen;
}

/* dark cover that slides away */
.av-hero-scan::after{
    content:"";
    display:block;
    position:absolute;
    inset:0;
    z-index:5;
    pointer-events:none;

    background:linear-gradient(
        90deg,
        rgba(7,27,66,.96) 0%,
        rgba(7,27,66,.92) 52%,
        rgba(7,27,66,.30) 100%
    );

    transform:translateX(0);
    opacity:1;
}

/* run only for the hero load */
.av-hero-scan.av-in::before{
    animation:
        avHeroCircuitDraw 1.10s cubic-bezier(.2,.8,.2,1) .16s forwards,
        avHeroCircuitFade .55s ease 1.34s forwards;
}

.av-hero-scan.av-in::after{
    animation:avHeroCircuitCover 1.32s cubic-bezier(.2,.8,.2,1) .20s forwards;
}

@keyframes avHeroCircuitDraw{
    0%{
        opacity:0;
        transform:scaleX(.02);
    }

    18%{
        opacity:1;
    }

    100%{
        opacity:1;
        transform:scaleX(1);
    }
}

@keyframes avHeroCircuitFade{
    100%{
        opacity:0;
    }
}

@keyframes avHeroCircuitCover{
    0%{
        transform:translateX(0);
        opacity:1;
    }

    100%{
        transform:translateX(105%);
        opacity:0;
    }
}


@media (max-width:1100px){
      .av-ems-shell{grid-template-columns:minmax(0,1fr) 320px;gap:28px;width:min(1360px,calc(100% - 40px))}
      .av-services-grid{grid-template-columns:repeat(2,1fr)}
      .av-case-columns{grid-template-columns:1fr}
    }
    @media (max-width:900px){
      .av-ems-shell{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:30px}
      .av-ems-aside{position:static;top:auto;right:auto;left:auto;order:2;width:100%;max-width:100%;max-height:none;overflow:visible;margin:0}
      .av-contact-card{max-width:620px;margin:0 auto 30px}
      .av-hero-copy h1{max-width:none}
      .av-hero-copy h2,.av-hero-copy p{max-width:none}
      .av-hero-grid,.av-why-grid,.av-faq-grid{grid-template-columns:1fr}
      .av-facility-collage{position:relative;top:auto}
      .av-industry-grid{grid-template-columns:repeat(2,1fr)}
      .av-case-wrap{grid-template-columns:1fr}
      .av-case-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}
      .av-case-nav h3{grid-column:1/-1}
      .av-partner,.av-final-cta{grid-template-columns:1fr}
      .av-partner-visual,.av-final-image{min-height:250px}
    }
    @media (max-width:620px){
      .av-ems-shell{width:min(calc(100% - 24px),1240px);padding-top:22px}
      .av-section{padding:42px 0}
      .av-hero-grid{gap:22px}
      .av-services-grid,.av-industry-grid{grid-template-columns:1fr}
      .av-service-card{min-height:0}
      .av-partner-copy,.av-final-copy{padding:32px 22px}
      .av-case-wrap{padding:14px}
      .av-case-nav{grid-template-columns:1fr}
      .av-faq-image img,.av-faq-image img:first-child{height:auto}
      .av-faq-image img:first-child{grid-column:auto}
      .av-ems-page h1{font-size:28px}
      .av-ems-page h2{font-size:21px}
      .av-hero-badge{left:10px;bottom:10px}
    }
    @media (max-width:1100px){
      .av-case-wrap{grid-template-columns:280px minmax(0,1fr);gap:28px;padding:28px}
      .av-case-nav{padding:28px 20px}
      .av-case-panel h2{font-size:24px;margin-bottom:30px}
      .av-case-columns{gap:28px}
    }
    @media (max-width:900px){
      .av-case-wrap{grid-template-columns:1fr;min-height:0}
      .av-case-nav{display:block}
      .av-case-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}
      .av-case-content{min-height:430px;padding-top:44px}
    }
    @media (max-width:620px){
      .av-case-wrap{padding:16px;border-radius:14px}
      .av-case-nav{padding:22px 16px;border-radius:16px}
      .av-case-nav h3{font-size:20px;margin-bottom:20px}
      .av-case-tabs{grid-template-columns:1fr}
      .av-case-content{padding:48px 2px 0;min-height:0}
      .av-case-status{right:2px;top:4px}
      .av-case-panel h2{font-size:21px;margin-bottom:24px}
      .av-case-columns{grid-template-columns:1fr;gap:22px}
      .av-impact-wrap{margin-top:26px}
      .av-impact{padding:20px 20px 20px 24px;font-size:13px}
    }

    @media (prefers-reduced-motion:reduce){
      .av-ems-page,.av-ems-page *,.av-ems-page *::before,.av-ems-page *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
      .av-reveal,.av-stagger>*,.av-scroll-anim,.av-facility-collage img,.av-faq-image img{opacity:1!important;transform:none!important;filter:none!important}
    }

/* Contact Form 7: consistent spacing, scoped to the EMS sidebar. */
.av-ems-aside > h2 { margin-bottom:16px; }
.av-ems-aside .contsbx { display:block; }
.av-ems-aside .cformfields {
  float:none;
  width:100%;
  padding:0 !important;
}
.av-ems-aside .cformfields p {
  margin:0;font-family: Poppins;
  text-align:left;
  animation:none;
}
.av-ems-aside .contsbx br { display:none; }
.av-ems-aside .contsbx label { display:block; margin:0 0 12px; }
.av-ems-aside .contsbx .wpcf7-form-control-wrap { display:block; }
.av-ems-aside .contsbx input,
.av-ems-aside .contsbx textarea {
  box-sizing:border-box;
  width:100%;
  margin:0;
  padding:12px 14px;
  font-family:inherit;
  font-size:16px;
  line-height:1.5;
}
.av-ems-aside .contsbx textarea {
  height:100px;
  min-height:100px;
  resize:vertical;
}
.av-ems-aside .cformfields.leftpart.captcha p.dscf7captcha {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin:4px 0 16px;
  font-size:14px;
}
.av-ems-aside .dscf7captcha .wpcf7-form-control-wrap {
  flex:0 0 76px;
  width:76px;
}
.av-ems-aside .dscf7captcha input[type="text"] {
  width:100% !important;
  height:38px;
  margin:0 !important;
  padding:6px 8px !important;
  font-size:16px;
}
.av-ems-aside .dscf7_refresh_captcha {
  flex:0 0 28px;
  justify-content:center;
  align-items:center;
  min-height:38px;
}
.av-ems-aside .dscf7_refresh_captcha img {
  width:24px;
  height:24px;
  margin:0;
  object-fit:contain;
}
.av-ems-aside .frm-sbtn p { margin:0; text-align:center; }
