.elementor-29 .elementor-element.elementor-element-cfdd23b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-4ddaaf0 *//* =========================================================
VCAD 2026 — SPLINTS & GUARDS
Prefix: vsg-
========================================================= */

:root{
  --vsg-blue:#0875d1;
  --vsg-blue2:#1497ff;

  --vsg-navy:#04101b;
  --vsg-navy2:#071522;
  --vsg-navy3:#0b1d2c;

  --vsg-white:#ffffff;
  --vsg-light:#f1f5f7;

  --vsg-text:#14202b;
  --vsg-muted:#74828f;

  --vsg-dark-line:rgba(255,255,255,.13);
  --vsg-light-line:#dbe2e7;

  --vsg-width:1280px;
}


/* =========================================================
BASE
========================================================= */

.vsg-page,
.vsg-page *{
  box-sizing:border-box;
}

.vsg-page{
  margin:0;

  overflow:hidden;

  background:#fff;

  color:var(--vsg-text);

  font-family:Arial,Helvetica,sans-serif;
}

.vsg-page img{
  display:block;

  width:100%;
}

.vsg-page a{
  text-decoration:none;
}

.vsg-page h1,
.vsg-page h2,
.vsg-page h3,
.vsg-page p{
  margin-top:0;
}

.vsg-container{
  width:min(calc(100% - 64px),var(--vsg-width));

  margin:auto;
}

.vsg-page h2{
  margin-bottom:0;

  font-size:clamp(44px,5vw,72px);

  line-height:.97;

  font-weight:600;

  letter-spacing:-.05em;
}

.vsg-page h2 span{
  display:block;

  color:var(--vsg-blue);
}

.vsg-label{
  margin-bottom:27px;

  color:var(--vsg-blue);

  font-size:10px;

  font-weight:700;

  letter-spacing:.17em;
}

.vsg-label--bright{
  color:var(--vsg-blue2);
}


/* =========================================================
BUTTONS
========================================================= */

.vsg-btn{
  min-height:58px;

  padding:0 26px;

  display:inline-flex;

  align-items:center;

  justify-content:space-between;

  gap:42px;

  border:1px solid transparent;

  font-size:10px;

  font-weight:700;

  letter-spacing:.11em;

  transition:.25s;
}

.vsg-btn span{
  font-size:18px;
}

.vsg-btn--blue{
  background:var(--vsg-blue);

  color:#fff;
}

.vsg-btn--blue:hover{
  background:var(--vsg-blue2);

  color:#fff;
}

.vsg-btn--outline{
  border-color:rgba(255,255,255,.45);

  color:#fff;
}

.vsg-btn--outline:hover{
  background:#fff;

  color:var(--vsg-navy);
}

.vsg-btn--dark{
  background:var(--vsg-navy);

  color:#fff;
}

.vsg-btn--dark:hover{
  background:#fff;

  color:var(--vsg-navy);
}


/* =========================================================
HERO
========================================================= */

.vsg-hero{
  min-height:820px;

  position:relative;

  display:flex;

  align-items:center;

  background:var(--vsg-navy);

  color:#fff;
}

.vsg-hero__media,
.vsg-hero__overlay,
.vsg-hero__grid{
  position:absolute;

  inset:0;
}

.vsg-hero__media img{
  height:100%;

  object-fit:cover;
}

.vsg-hero__overlay{
  background:
    linear-gradient(
      90deg,
      rgba(3,10,18,.99) 0%,
      rgba(3,10,18,.94) 48%,
      rgba(3,10,18,.32) 100%
    );
}

.vsg-hero__grid{
  opacity:.16;

  background-image:
    linear-gradient(
      rgba(255,255,255,.12) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.12) 1px,
      transparent 1px
    );

  background-size:80px 80px;

  mask-image:
    linear-gradient(
      90deg,
      black,
      transparent 75%
    );
}

.vsg-hero__content{
  position:relative;

  z-index:3;

  padding-bottom:90px;
}

.vsg-eyebrow{
  margin-bottom:30px;

  color:var(--vsg-blue2);

  font-size:10px;

  font-weight:700;

  letter-spacing:.18em;
}

.vsg-hero h1{
  max-width:1180px;

  margin-bottom:30px;

  font-size:clamp(58px,7vw,104px);

  line-height:.9;

  font-weight:600;

  letter-spacing:-.06em;
}

.vsg-hero h1 span{
  display:block;

  color:#8395a3;
}

.vsg-hero__content > p{
  max-width:750px;

  margin-bottom:40px;

  color:#b9c4cc;

  font-size:17px;

  line-height:1.7;
}

.vsg-actions{
  display:flex;

  gap:12px;
}


/* HERO DATA */

.vsg-hero__data{
  position:absolute;

  left:0;
  right:0;
  bottom:0;

  z-index:4;

  border-top:1px solid var(--vsg-dark-line);
}

.vsg-hero__data-grid{
  display:grid;

  grid-template-columns:repeat(4,1fr);
}

.vsg-hero__data-grid > div{
  min-height:84px;

  padding:18px 20px;

  display:grid;

  grid-template-columns:auto 1fr;

  column-gap:15px;

  align-content:center;

  border-left:1px solid var(--vsg-dark-line);
}

.vsg-hero__data-grid > div:last-child{
  border-right:1px solid var(--vsg-dark-line);
}

.vsg-hero__data-grid span{
  grid-row:1/3;

  color:var(--vsg-blue2);

  font-size:9px;
}

.vsg-hero__data-grid strong{
  margin-bottom:5px;

  font-size:9px;

  letter-spacing:.08em;
}

.vsg-hero__data-grid small{
  color:#687b89;

  font-size:7px;

  letter-spacing:.1em;
}


/* =========================================================
INTRO
========================================================= */

.vsg-intro{
  padding:125px 0;
}

.vsg-intro__grid{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:110px;
}

.vsg-intro__content{
  padding-top:40px;
}

.vsg-intro__content p{
  color:var(--vsg-muted);

  font-size:16px;

  line-height:1.8;
}

.vsg-intro__content .vsg-intro__lead{
  margin-bottom:28px;

  color:var(--vsg-text);

  font-size:23px;

  line-height:1.5;
}


/* =========================================================
SECTION HEAD
========================================================= */

.vsg-section-head{
  margin-bottom:70px;

  display:grid;

  grid-template-columns:1.4fr .6fr;

  gap:90px;

  align-items:end;
}

.vsg-section-head h2{
  color:#fff;
}

.vsg-section-head h2 span{
  color:var(--vsg-blue2);
}

.vsg-section-head > p{
  color:#81919e;

  line-height:1.7;
}


/* =========================================================
PRECISION SYSTEM
========================================================= */

.vsg-system{
  padding:125px 0;

  background:var(--vsg-navy2);

  color:#fff;
}

.vsg-system__diagram{
  display:grid;

  grid-template-columns:180px 65px 1fr 65px 180px;

  align-items:center;
}

.vsg-system__node{
  min-height:270px;

  padding:23px;

  display:flex;

  flex-direction:column;

  border:1px solid var(--vsg-dark-line);
}

.vsg-system__node-number{
  color:var(--vsg-blue2);

  font-size:8px;

  letter-spacing:.1em;
}

.vsg-system__icon{
  width:55px;
  height:55px;

  margin:auto 0 25px;

  display:flex;

  align-items:center;

  justify-content:center;

  border:1px solid var(--vsg-blue2);

  color:var(--vsg-blue2);

  font-size:9px;

  font-weight:700;
}

.vsg-system__node strong{
  margin-bottom:8px;

  font-size:20px;

  line-height:1.05;

  font-weight:500;
}

.vsg-system__node small{
  color:#637582;

  font-size:7px;

  letter-spacing:.1em;
}

.vsg-system__connector{
  height:1px;

  position:relative;

  background:var(--vsg-dark-line);
}

.vsg-system__connector span{
  width:6px;
  height:6px;

  position:absolute;

  right:0;
  top:-3px;

  background:var(--vsg-blue2);
}

.vsg-system__core{
  border:1px solid var(--vsg-blue);
}

.vsg-system__core-head{
  min-height:56px;

  padding:0 20px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  background:var(--vsg-blue);
}

.vsg-system__core-head span{
  font-size:8px;

  font-weight:700;

  letter-spacing:.12em;
}

.vsg-system__core-head small{
  color:rgba(255,255,255,.65);

  font-size:7px;

  letter-spacing:.1em;
}

.vsg-system__core-grid{
  display:grid;

  grid-template-columns:repeat(3,1fr);
}

.vsg-system__core-grid > div{
  min-height:145px;

  padding:19px;

  display:flex;

  flex-direction:column;

  border-right:1px solid var(--vsg-dark-line);

  border-bottom:1px solid var(--vsg-dark-line);
}

.vsg-system__core-grid > div:nth-child(3n){
  border-right:0;
}

.vsg-system__core-grid span{
  color:var(--vsg-blue2);

  font-size:8px;
}

.vsg-system__core-grid strong{
  margin-top:auto;

  font-size:15px;

  font-weight:500;
}

.vsg-system__core-grid small{
  margin-top:6px;

  color:#617482;

  font-size:7px;

  letter-spacing:.1em;
}


/* =========================================================
PRODUCT RANGE
========================================================= */

.vsg-range{
  padding:125px 0;

  background:var(--vsg-navy);

  color:#fff;
}

.vsg-range__grid{
  display:grid;

  grid-template-columns:1fr 1fr;

  border-top:1px solid var(--vsg-dark-line);

  border-left:1px solid var(--vsg-dark-line);
}

.vsg-card{
  border-right:1px solid var(--vsg-dark-line);

  border-bottom:1px solid var(--vsg-dark-line);
}

.vsg-card__media{
  height:410px;

  position:relative;

  overflow:hidden;
}

.vsg-card__media img{
  height:100%;

  object-fit:cover;

  transition:.5s;
}

.vsg-card:hover .vsg-card__media img{
  transform:scale(1.035);
}

.vsg-card__number{
  position:absolute;

  top:25px;
  left:25px;

  color:#fff;

  font-size:54px;

  line-height:1;

  letter-spacing:-.06em;
}

.vsg-card__type{
  position:absolute;

  right:0;
  bottom:0;

  padding:13px 17px;

  background:var(--vsg-blue);

  font-size:7px;

  font-weight:700;

  letter-spacing:.12em;
}

.vsg-card__content{
  min-height:420px;

  padding:40px;

  display:flex;

  flex-direction:column;
}

.vsg-card__content > small{
  color:var(--vsg-blue2);

  font-size:8px;

  letter-spacing:.12em;
}

.vsg-card h3{
  margin:15px 0 20px;

  font-size:42px;

  line-height:.98;

  font-weight:500;

  letter-spacing:-.05em;
}

.vsg-card__content > p{
  max-width:540px;

  color:#81919e;

  font-size:13px;

  line-height:1.75;
}

.vsg-card__data{
  margin-top:20px;

  display:grid;

  grid-template-columns:repeat(3,1fr);

  border-top:1px solid var(--vsg-dark-line);

  border-left:1px solid var(--vsg-dark-line);
}

.vsg-card__data > div{
  min-height:74px;

  padding:13px;

  display:flex;

  flex-direction:column;

  justify-content:center;

  border-right:1px solid var(--vsg-dark-line);

  border-bottom:1px solid var(--vsg-dark-line);
}

.vsg-card__data span{
  margin-bottom:6px;

  color:#617482;

  font-size:7px;

  letter-spacing:.1em;
}

.vsg-card__data strong{
  font-size:9px;

  font-weight:500;
}

.vsg-card__content > a{
  margin-top:auto;

  padding-top:28px;

  color:#fff;

  font-size:8px;

  font-weight:700;

  letter-spacing:.11em;
}


/* =========================================================
PARAMETERS
========================================================= */

.vsg-parameters{
  padding:125px 0;

  background:var(--vsg-light);
}

.vsg-parameters__intro{
  max-width:920px;

  margin-bottom:65px;
}

.vsg-parameters__intro > p{
  max-width:670px;

  margin-top:27px;

  color:var(--vsg-muted);

  line-height:1.7;
}

.vsg-parameters__layout{
  display:grid;

  grid-template-columns:1.15fr .85fr;
}

.vsg-parameters__visual{
  min-height:690px;

  position:relative;

  overflow:hidden;
}

.vsg-parameters__visual > img{
  height:100%;

  object-fit:cover;
}

.vsg-parameters__hud{
  position:absolute;

  left:30px;
  right:30px;
  bottom:30px;

  display:grid;

  grid-template-columns:repeat(3,1fr);

  background:rgba(5,16,27,.93);

  color:#fff;

  border-top:1px solid var(--vsg-dark-line);

  border-left:1px solid var(--vsg-dark-line);
}

.vsg-parameters__hud > div{
  min-height:75px;

  padding:15px;

  display:flex;

  flex-direction:column;

  justify-content:center;

  border-right:1px solid var(--vsg-dark-line);

  border-bottom:1px solid var(--vsg-dark-line);
}

.vsg-parameters__hud span{
  margin-bottom:6px;

  color:#617482;

  font-size:7px;

  letter-spacing:.1em;
}

.vsg-parameters__hud strong{
  font-size:8px;

  font-weight:500;
}

.vsg-parameters__list{
  border-top:1px solid var(--vsg-light-line);

  border-left:1px solid var(--vsg-light-line);
}

.vsg-parameters__list article{
  min-height:172.5px;

  padding:25px;

  display:grid;

  grid-template-columns:50px 1fr;

  gap:20px;

  border-right:1px solid var(--vsg-light-line);

  border-bottom:1px solid var(--vsg-light-line);
}

.vsg-parameters__list article > span{
  color:var(--vsg-blue);

  font-size:9px;
}

.vsg-parameters__list small{
  color:var(--vsg-muted);

  font-size:7px;

  letter-spacing:.11em;
}

.vsg-parameters__list h3{
  margin:8px 0 10px;

  font-size:23px;

  font-weight:500;

  letter-spacing:-.03em;
}

.vsg-parameters__list p{
  margin-bottom:0;

  color:var(--vsg-muted);

  font-size:12px;

  line-height:1.65;
}


/* =========================================================
WORKFLOW
========================================================= */

.vsg-workflow{
  padding:125px 0;

  background:var(--vsg-blue);

  color:#fff;
}

.vsg-workflow .vsg-label{
  color:#fff;
}

.vsg-workflow .vsg-section-head h2 span{
  color:#cbe8ff;
}

.vsg-workflow .vsg-section-head > p{
  color:rgba(255,255,255,.78);
}

.vsg-workflow__grid{
  display:grid;

  grid-template-columns:repeat(6,1fr);

  border-top:1px solid rgba(255,255,255,.3);

  border-left:1px solid rgba(255,255,255,.3);
}

.vsg-workflow__grid article{
  min-height:380px;

  padding:20px;

  border-right:1px solid rgba(255,255,255,.3);

  border-bottom:1px solid rgba(255,255,255,.3);
}

.vsg-workflow__top{
  display:flex;

  justify-content:space-between;
}

.vsg-workflow__top span{
  font-size:8px;
}

.vsg-workflow__top small{
  color:rgba(255,255,255,.55);

  font-size:7px;

  letter-spacing:.1em;
}

.vsg-workflow__symbol{
  width:48px;
  height:48px;

  margin:60px 0 28px;

  display:flex;

  align-items:center;

  justify-content:center;

  border:1px solid rgba(255,255,255,.65);

  font-size:8px;
}

.vsg-workflow__grid h3{
  margin-bottom:15px;

  font-size:21px;

  line-height:1.06;

  font-weight:500;
}

.vsg-workflow__grid p{
  color:rgba(255,255,255,.72);

  font-size:11px;

  line-height:1.65;
}

.vsg-text-link{
  margin-top:30px;

  display:inline-block;

  color:#fff;

  font-size:9px;

  font-weight:700;

  letter-spacing:.11em;
}


/* =========================================================
CONFIGURATION MATRIX
========================================================= */

.vsg-config{
  padding:125px 0;

  background:var(--vsg-navy2);

  color:#fff;
}

.vsg-config__head{
  margin-bottom:65px;

  display:grid;

  grid-template-columns:1.4fr .6fr;

  gap:90px;

  align-items:end;
}

.vsg-config__head h2{
  color:#fff;
}

.vsg-config__head h2 span{
  color:var(--vsg-blue2);
}

.vsg-config__head > p{
  color:#81919e;

  line-height:1.7;
}

.vsg-config__table{
  border-top:1px solid var(--vsg-dark-line);

  border-left:1px solid var(--vsg-dark-line);
}

.vsg-config__row{
  display:grid;

  grid-template-columns:1.4fr repeat(4,1fr);
}

.vsg-config__row > div{
  min-height:80px;

  padding:0 20px;

  display:flex;

  align-items:center;

  border-right:1px solid var(--vsg-dark-line);

  border-bottom:1px solid var(--vsg-dark-line);
}

.vsg-config__row--head > div{
  min-height:55px;

  color:#617482;

  font-size:7px;

  letter-spacing:.11em;
}

.vsg-config__product{
  gap:16px;
}

.vsg-config__product span{
  color:var(--vsg-blue2);

  font-size:8px;
}

.vsg-config__product strong{
  font-size:11px;

  font-weight:500;
}

.vsg-config__row b,
.vsg-config__row em{
  padding:7px 9px;

  border:1px solid var(--vsg-dark-line);

  font-size:7px;

  font-style:normal;

  font-weight:500;

  letter-spacing:.08em;
}

.vsg-config__row b{
  color:var(--vsg-blue2);
}

.vsg-config__row em{
  color:#9aaab4;
}

.vsg-config__note{
  margin:24px 0 0;

  color:#687b89;

  font-size:11px;

  line-height:1.7;
}


/* =========================================================
WORKING MODELS
========================================================= */

.vsg-models{
  padding:125px 0;

  background:var(--vsg-navy);

  color:#fff;
}

.vsg-models__head{
  max-width:900px;

  margin-bottom:65px;
}

.vsg-models__head h2{
  color:#fff;
}

.vsg-models__head h2 span{
  color:var(--vsg-blue2);
}

.vsg-models__grid{
  display:grid;

  grid-template-columns:repeat(3,1fr);

  border-top:1px solid var(--vsg-dark-line);

  border-left:1px solid var(--vsg-dark-line);
}

.vsg-models__grid article{
  min-height:500px;

  padding:30px;

  display:flex;

  flex-direction:column;

  border-right:1px solid var(--vsg-dark-line);

  border-bottom:1px solid var(--vsg-dark-line);
}

.vsg-models__number{
  margin-bottom:65px;

  color:var(--vsg-blue2);

  font-size:10px;
}

.vsg-models__grid small{
  color:#617482;

  font-size:7px;

  letter-spacing:.12em;
}

.vsg-models__grid h3{
  margin:14px 0 20px;

  font-size:40px;

  line-height:.98;

  font-weight:500;

  letter-spacing:-.05em;
}

.vsg-models__grid p{
  color:#81919e;

  font-size:12px;

  line-height:1.7;
}

.vsg-models__path{
  margin-top:auto;

  padding:20px 0;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:10px;

  border-top:1px solid var(--vsg-dark-line);

  border-bottom:1px solid var(--vsg-dark-line);
}

.vsg-models__path span,
.vsg-models__path b{
  font-size:7px;

  font-weight:500;

  letter-spacing:.08em;
}

.vsg-models__path b{
  color:var(--vsg-blue2);
}

.vsg-models__path i{
  color:var(--vsg-blue2);

  font-style:normal;
}

.vsg-models__grid article > a{
  margin-top:25px;

  color:#fff;

  font-size:8px;

  font-weight:700;

  letter-spacing:.11em;
}

.vsg-models__featured{
  background:var(--vsg-blue);
}

.vsg-models__featured .vsg-models__number,
.vsg-models__featured .vsg-models__path b,
.vsg-models__featured .vsg-models__path i{
  color:#fff;
}

.vsg-models__featured small{
  color:rgba(255,255,255,.6);
}

.vsg-models__featured p{
  color:rgba(255,255,255,.78);
}


/* =========================================================
QC
========================================================= */

.vsg-qc{
  padding:125px 0;

  background:var(--vsg-navy2);

  color:#fff;
}

.vsg-qc__system{
  position:relative;

  display:grid;

  grid-template-columns:repeat(4,1fr);

  border-top:1px solid var(--vsg-dark-line);

  border-left:1px solid var(--vsg-dark-line);
}

.vsg-qc__rail{
  height:1px;

  position:absolute;

  left:0;
  right:0;
  top:115px;

  background:rgba(20,151,255,.35);
}

.vsg-qc__system article{
  min-height:400px;

  padding:28px;

  position:relative;

  z-index:2;

  border-right:1px solid var(--vsg-dark-line);

  border-bottom:1px solid var(--vsg-dark-line);
}

.vsg-qc__index{
  color:var(--vsg-blue2);

  font-size:8px;

  letter-spacing:.1em;
}

.vsg-qc__dot{
  width:11px;
  height:11px;

  margin:72px 0 35px;

  background:var(--vsg-blue2);

  box-shadow:0 0 0 7px var(--vsg-navy2);
}

.vsg-qc__system small{
  color:#617482;

  font-size:7px;

  letter-spacing:.11em;
}

.vsg-qc__system h3{
  margin:12px 0 18px;

  font-size:27px;

  line-height:1.04;

  font-weight:500;

  letter-spacing:-.04em;
}

.vsg-qc__system p{
  color:#81919e;

  font-size:12px;

  line-height:1.7;
}


/* =========================================================
SCALE
========================================================= */

.vsg-scale{
  padding:125px 0;

  background:var(--vsg-light);
}

.vsg-scale__grid{
  display:grid;

  grid-template-columns:.9fr 1.1fr;

  gap:100px;
}

.vsg-scale__right > p{
  max-width:650px;

  margin-bottom:45px;

  color:var(--vsg-muted);

  font-size:16px;

  line-height:1.75;
}

.vsg-scale__levels{
  border-top:1px solid var(--vsg-light-line);
}

.vsg-scale__levels > div{
  min-height:95px;

  padding:0 20px;

  display:grid;

  grid-template-columns:100px 1fr auto;

  align-items:center;

  gap:20px;

  border-left:1px solid var(--vsg-light-line);

  border-right:1px solid var(--vsg-light-line);

  border-bottom:1px solid var(--vsg-light-line);
}

.vsg-scale__levels span{
  color:var(--vsg-blue);

  font-size:8px;

  letter-spacing:.1em;
}

.vsg-scale__levels strong{
  font-size:17px;

  font-weight:500;
}

.vsg-scale__levels small{
  color:var(--vsg-muted);

  font-size:7px;

  letter-spacing:.1em;
}


/* =========================================================
AUDIENCE
========================================================= */

.vsg-audience{
  padding:125px 0;

  background:var(--vsg-navy);

  color:#fff;
}

.vsg-audience__head{
  max-width:900px;

  margin-bottom:65px;
}

.vsg-audience__head h2{
  color:#fff;
}

.vsg-audience__head h2 span{
  color:var(--vsg-blue2);
}

.vsg-audience__grid{
  display:grid;

  grid-template-columns:1fr 1fr;

  border-top:1px solid var(--vsg-dark-line);

  border-left:1px solid var(--vsg-dark-line);
}

.vsg-audience__card{
  color:#fff;

  border-right:1px solid var(--vsg-dark-line);

  border-bottom:1px solid var(--vsg-dark-line);
}

.vsg-audience__image{
  height:360px;

  position:relative;

  overflow:hidden;
}

.vsg-audience__image img{
  height:100%;

  object-fit:cover;

  transition:.45s;
}

.vsg-audience__card:hover img{
  transform:scale(1.035);
}

.vsg-audience__image span{
  position:absolute;

  top:25px;
  left:25px;

  font-size:50px;

  line-height:1;

  letter-spacing:-.05em;
}

.vsg-audience__content{
  min-height:340px;

  padding:35px;

  display:flex;

  flex-direction:column;
}

.vsg-audience__content small{
  color:var(--vsg-blue2);

  font-size:8px;

  letter-spacing:.12em;
}

.vsg-audience__content h3{
  max-width:520px;

  margin:20px 0;

  font-size:34px;

  line-height:1.03;

  font-weight:500;

  letter-spacing:-.04em;
}

.vsg-audience__content p{
  color:#81919e;

  font-size:13px;

  line-height:1.7;
}

.vsg-audience__content strong{
  margin-top:auto;

  font-size:8px;

  letter-spacing:.11em;
}


/* =========================================================
MORE PRODUCTS
========================================================= */

.vsg-more{
  padding:125px 0;

  background:#fff;
}

.vsg-more__head{
  margin-bottom:65px;

  display:flex;

  align-items:flex-end;

  justify-content:space-between;

  gap:50px;
}

.vsg-more__all{
  color:var(--vsg-blue);

  font-size:9px;

  font-weight:700;

  letter-spacing:.11em;
}

.vsg-more__grid{
  display:grid;

  grid-template-columns:repeat(3,1fr);

  border-top:1px solid var(--vsg-light-line);

  border-left:1px solid var(--vsg-light-line);
}

.vsg-more__card{
  color:var(--vsg-text);

  border-right:1px solid var(--vsg-light-line);

  border-bottom:1px solid var(--vsg-light-line);
}

.vsg-more__image{
  height:300px;

  overflow:hidden;
}

.vsg-more__image img{
  height:100%;

  object-fit:cover;

  transition:.4s;
}

.vsg-more__card:hover img{
  transform:scale(1.04);
}

.vsg-more__content{
  min-height:140px;

  padding:25px;

  position:relative;
}

.vsg-more__content span{
  color:var(--vsg-blue);

  font-size:7px;

  letter-spacing:.1em;
}

.vsg-more__content h3{
  margin:16px 0 0;

  font-size:24px;

  font-weight:500;

  letter-spacing:-.03em;
}

.vsg-more__content strong{
  position:absolute;

  right:25px;
  bottom:25px;

  color:var(--vsg-blue);

  font-size:20px;
}


/* =========================================================
FINAL CTA
========================================================= */

.vsg-final{
  padding:110px 0;

  position:relative;

  overflow:hidden;

  background:var(--vsg-blue);

  color:#fff;
}

.vsg-final__grid-bg{
  position:absolute;

  inset:0;

  opacity:.18;

  background-image:
    linear-gradient(
      rgba(255,255,255,.18) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.18) 1px,
      transparent 1px
    );

  background-size:70px 70px;
}

.vsg-final__layout{
  position:relative;

  z-index:2;

  display:grid;

  grid-template-columns:1.3fr .7fr;

  gap:100px;

  align-items:end;
}

.vsg-final .vsg-label{
  color:#fff;
}

.vsg-final h2{
  color:#fff;
}

.vsg-final h2 span{
  color:#cbe8ff;
}

.vsg-final__right p{
  margin-bottom:30px;

  color:rgba(255,255,255,.82);

  line-height:1.7;
}


/* =========================================================
TABLET
========================================================= */

@media(max-width:1100px){

  .vsg-system__diagram{
    grid-template-columns:140px 30px 1fr 30px 140px;
  }

  .vsg-workflow__grid{
    grid-template-columns:repeat(3,1fr);
  }

  .vsg-qc__system{
    grid-template-columns:1fr 1fr;
  }

  .vsg-qc__rail{
    display:none;
  }

}


/* =========================================================
MOBILE
========================================================= */

@media(max-width:767px){

  .vsg-container{
    width:calc(100% - 36px);
  }

  .vsg-page h2{
    font-size:42px;
  }


  /* HERO */

  .vsg-hero{
    min-height:730px;
  }

  .vsg-hero h1{
    font-size:50px;
  }

  .vsg-actions{
    flex-direction:column;
  }

  .vsg-hero__data{
    display:none;
  }


  /* SPACING */

  .vsg-intro,
  .vsg-system,
  .vsg-range,
  .vsg-parameters,
  .vsg-workflow,
  .vsg-config,
  .vsg-models,
  .vsg-qc,
  .vsg-scale,
  .vsg-audience,
  .vsg-more{
    padding:75px 0;
  }


  /* GRIDS */

  .vsg-intro__grid,
  .vsg-section-head,
  .vsg-config__head,
  .vsg-scale__grid,
  .vsg-final__layout{
    grid-template-columns:1fr;

    gap:45px;
  }


  /* SYSTEM */

  .vsg-system__diagram{
    grid-template-columns:1fr;

    gap:15px;
  }

  .vsg-system__connector{
    width:1px;
    height:35px;

    margin:auto;
  }

  .vsg-system__connector span{
    right:-3px;
    top:auto;
    bottom:0;
  }

  .vsg-system__core-grid{
    grid-template-columns:1fr 1fr;
  }


  /* RANGE */

  .vsg-range__grid{
    grid-template-columns:1fr;
  }

  .vsg-card__media{
    height:330px;
  }

  .vsg-card__content{
    padding:28px;

    min-height:400px;
  }

  .vsg-card h3{
    font-size:36px;
  }

  .vsg-card__data{
    grid-template-columns:1fr;
  }


  /* PARAMETERS */

  .vsg-parameters__layout{
    grid-template-columns:1fr;
  }

  .vsg-parameters__visual{
    min-height:430px;
  }

  .vsg-parameters__hud{
    left:15px;
    right:15px;
    bottom:15px;

    grid-template-columns:1fr;
  }

  .vsg-parameters__hud > div{
    min-height:52px;
  }


  /* WORKFLOW */

  .vsg-workflow__grid{
    grid-template-columns:1fr 1fr;
  }


  /* CONFIG */

  .vsg-config__table{
    overflow-x:auto;
  }

  .vsg-config__row{
    min-width:800px;
  }


  /* MODELS */

  .vsg-models__grid{
    grid-template-columns:1fr;
  }


  /* QC */

  .vsg-qc__system{
    grid-template-columns:1fr;
  }


  /* SCALE */

  .vsg-scale__levels > div{
    grid-template-columns:80px 1fr;
  }

  .vsg-scale__levels small{
    grid-column:2;
  }


  /* AUDIENCE */

  .vsg-audience__grid{
    grid-template-columns:1fr;
  }


  /* MORE */

  .vsg-more__head{
    flex-direction:column;

    align-items:flex-start;
  }

  .vsg-more__grid{
    grid-template-columns:1fr;
  }

}


/* =========================================================
SMALL MOBILE
========================================================= */

@media(max-width:480px){

  .vsg-system__core-grid{
    grid-template-columns:1fr;
  }

  .vsg-workflow__grid{
    grid-template-columns:1fr;
  }

}/* End custom CSS */