:root{--green:#004e51;--deep:#003c3f;--cyan:#00c9dd;--blue:#0752c9;--light:#eefbfe;--ink:#073f43;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#123;background:#fff}a{color:inherit;text-decoration:none}.container{width:min(1180px,92%);margin:auto}.top{padding:12px 0;background:#fff}.top .container{display:flex;align-items:center;gap:24px;justify-content:space-between}.logo{font-weight:900;font-size:48px;color:var(--green);letter-spacing:-4px}.logo small{font-size:18px;letter-spacing:0;display:inline-block;line-height:1.05;margin-left:8px}.contact-top{display:flex;gap:20px;align-items:center;font-weight:700;color:var(--ink)}.btn{display:inline-block;background:var(--green);color:#fff;padding:14px 20px;border:1px solid var(--cyan);font-weight:700}.btn:hover{background:#00686c}.nav{background:var(--green);color:#fff}.nav .container{display:flex;justify-content:center;gap:48px}.nav a{padding:16px 0;border-bottom:4px solid transparent}.nav a:hover,.nav a.active{border-color:var(--cyan);color:#dffcff}.hero{min-height:430px;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.05)),url('../images/hero.jpg') center/cover no-repeat;color:#fff;display:flex;align-items:center}.hero-copy{max-width:520px}.eyebrow{letter-spacing:2px;font-size:14px}.hero h1{font-size:68px;line-height:.88;margin:8px 0 12px}.hero p{font-size:25px;margin:0 0 18px}.features{background:#252525;color:#fff}.features .container{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.feature{text-align:center;padding:16px 8px;font-weight:700}.products{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:18px 0}.card{background:#eafaff;border:1px solid #d9f4fa}.card img{width:100%;height:150px;object-fit:cover}.card .pad{padding:10px}.card h3{font-size:16px;color:#073c78;margin:0 0 6px}.card p{font-size:13px;color:#1851bf;min-height:48px}.link{font-weight:700;color:#073c78}.section-title{text-align:center;color:#0b4698;font-size:28px;margin:8px 0}.section-sub{text-align:center;color:#195be8;margin-top:-3px}.capabilities{background:linear-gradient(#eefcff,#e7fbff);padding:10px 0 20px}.caps{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:18px}.cap{text-align:center;color:#0d50c8;font-size:12px;border-right:1px solid #3dd9e9;padding:12px 8px}.cap:last-child{border:0}.cap b{display:block;color:var(--green);font-size:30px;margin-bottom:8px}.manufacturer{background:linear-gradient(90deg,#f1fcff 0 40%,rgba(255,255,255,.25)),url('../images/manufacturer.jpg') right center/62% 100% no-repeat;min-height:310px;padding:28px 0}.manufacturer .copy{width:42%;color:#0a54c7}.manufacturer h2{font-size:35px;line-height:.95;color:var(--green);margin:0 0 8px}.manufacturer p{margin:6px 0}.partner{background:#242424;color:#fff}.partner-grid{display:grid;grid-template-columns:38% 38% 24%;align-items:stretch}.partner-photo{background:url('../images/partner.jpg') center/cover;min-height:220px}.partner-copy{padding:28px}.partner-copy h2{font-weight:400}.ticks{padding:28px;border-left:1px solid #aaa}.ticks div{margin:13px 0}.footer{background:var(--green);color:#fff;padding:28px 0 18px}.footer-grid{display:grid;grid-template-columns:1.3fr 1.4fr 1fr 1fr 1fr;gap:22px;align-items:start}.footer .logo{color:#fff}.badge{border-left:1px solid #d3eeee;padding-left:20px;text-align:center}.badge strong{font-size:25px}.legal{font-size:12px;margin-top:28px;border-top:1px solid rgba(255,255,255,.2);padding-top:12px}.page-hero{background:var(--deep);color:#fff;padding:52px 0}.page-hero h1{font-size:46px;margin:0}.content{padding:42px 0}.content h2{color:var(--green)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.panel{padding:22px;background:#f3fbfc;border-top:4px solid var(--cyan)}form{display:grid;gap:12px;max-width:700px}input,textarea,select{padding:13px;border:1px solid #9bb;font:inherit}textarea{min-height:140px}button{cursor:pointer}.note{font-size:13px;color:#567}.mobile-toggle{display:none}.notice{background:#fff4cc;padding:12px;border:1px solid #ead17a;margin:20px 0}
@media(max-width:850px){.top .container{align-items:flex-start}.contact-top{flex-direction:column;align-items:flex-end;font-size:13px}.logo{font-size:38px}.nav .container{display:none;flex-direction:column;gap:0;padding:10px 4%}.nav.open .container{display:flex}.mobile-toggle{display:block;width:100%;background:var(--green);color:#fff;border:0;padding:13px;font-weight:700}.hero h1{font-size:48px}.products{grid-template-columns:1fr 1fr}.caps{grid-template-columns:1fr 1fr}.manufacturer{background:#effcff}.manufacturer .copy{width:100%}.partner-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr}.features .container{grid-template-columns:1fr 1fr}}@media(max-width:520px){.top .container{display:block}.contact-top{align-items:flex-start;margin-top:10px}.products,.footer-grid{grid-template-columns:1fr}.hero h1{font-size:42px}.hero p{font-size:20px}}

/* V2 desktop scale correction: match approved ITS MASTER proportions on full-width screens */
@media (min-width: 1200px){
  .container{width:min(1460px,94%)}
  .top{padding:14px 0}
  .logo{font-size:58px}
  .logo small{font-size:21px}
  .contact-top{font-size:17px;gap:28px}
  .btn{padding:16px 24px;font-size:16px}
  .nav .container{gap:62px}
  .nav a{padding:18px 0;font-size:17px}
  .hero{min-height:520px}
  .hero-copy{max-width:650px}
  .eyebrow{font-size:17px}
  .hero h1{font-size:88px;line-height:.88;margin:10px 0 16px}
  .hero p{font-size:30px;line-height:1.12;max-width:600px}
  .feature{padding:19px 10px;font-size:15px}
  .products{gap:18px;padding:22px 0}
  .card img{height:205px}
  .card .pad{padding:13px}
  .card h3{font-size:19px}
  .card p{font-size:15px;line-height:1.25;min-height:58px}
  .link{font-size:15px}
  .capabilities{padding:14px 0 25px}
  .section-title{font-size:34px}
  .section-sub{font-size:17px}
  .cap{font-size:14px;padding:16px 10px}
  .cap b{font-size:39px}
  .manufacturer{min-height:390px;padding:36px 0;background-size:62% 100%}
  .manufacturer h2{font-size:45px}
  .manufacturer .copy{font-size:17px;line-height:1.25}
  .partner-photo{min-height:270px}
  .partner-copy,.ticks{padding:34px;font-size:17px}
  .partner-copy h2{font-size:29px}
  .footer{padding:34px 0 20px;font-size:15px}
  .badge strong{font-size:29px}
}

/* V7 — measured desktop proportions against ITS MASTER.
   Important: applies from tablet/desktop width, not only 1200 CSS px. */
@media (min-width:851px){
  .container{width:min(1800px,96%);margin-inline:auto}
  .top{padding:18px 0}
  .top .container{gap:34px}
  .logo{font-size:72px;line-height:.85}
  .logo small{font-size:25px;margin-left:12px;line-height:1}
  .contact-top{font-size:19px;gap:34px}
  .contact-top small{font-size:15px}
  .btn{padding:18px 27px;font-size:18px}
  .nav .container{gap:72px}
  .nav a{padding:19px 0 16px;font-size:18px}

  .hero{min-height:610px;background-position:center center}
  .hero-copy{max-width:760px}
  .eyebrow{font-size:19px;letter-spacing:2.2px}
  .hero h1{font-size:116px;line-height:.88;margin:12px 0 18px}
  .hero p{font-size:34px;line-height:1.08;max-width:760px;margin-bottom:24px}
  .feature{padding:22px 8px;font-size:18px}

  .products{gap:22px;padding:28px 0 30px}
  .card img{height:250px}
  .card .pad{padding:16px 15px 18px}
  .card h3{font-size:23px;line-height:1.05;margin-bottom:10px}
  .card p{font-size:18px;line-height:1.25;min-height:86px;margin:0 0 13px}
  .link{font-size:18px}

  .capabilities{padding:18px 0 28px}
  .section-title{font-size:42px;margin:8px 0 3px}
  .section-sub{font-size:19px;margin:0}
  .caps{gap:0;margin-top:22px}
  .cap{font-size:16px;line-height:1.15;padding:18px 12px}
  .cap b{font-size:48px;margin-bottom:11px}

  .manufacturer{min-height:455px;padding:42px 0;background-size:62% 100%}
  .manufacturer .copy{width:43%;font-size:19px;line-height:1.22}
  .manufacturer h2{font-size:55px;line-height:.91;margin-bottom:13px}
  .manufacturer p{margin:8px 0}

  .partner-grid{grid-template-columns:36% 39% 25%}
  .partner-photo{min-height:315px}
  .partner-copy,.ticks{padding:38px}
  .partner-copy{font-size:19px;line-height:1.25}
  .partner-copy h2{font-size:36px;line-height:1.05;margin-top:0}
  .ticks{font-size:19px}
  .ticks div{margin:17px 0}

  .footer{padding:38px 0 22px;font-size:17px}
  .footer-grid{gap:28px}
  .footer .logo{font-size:64px}
  .footer .logo small{font-size:22px}
  .badge{padding-left:24px}
  .badge strong{font-size:34px}
  .legal{font-size:14px;margin-top:30px}
}


/* V8 — precision composition pass. V7 scale/layout remains locked. */
@media (min-width:851px){
  /* Match the master: wide horizontal timber stack, not a stretched centre tower. */
  .manufacturer{
    min-height:390px;
    padding:36px 0;
    background-image:linear-gradient(90deg,#f1fcff 0 38%,rgba(241,252,255,.78) 46%,rgba(255,255,255,.08) 70%),url('../images/manufacturer.jpg');
    background-position:left top,right center;
    background-size:auto,68% auto;
    background-repeat:no-repeat,no-repeat;
  }
  .manufacturer .copy{width:42%;font-size:18px;line-height:1.2}
  .manufacturer h2{font-size:50px;line-height:.92}

  /* Refine hero crop without altering the clean V7 structure. */
  .hero{background-position:center 48%;}
  .hero-copy{padding-left:1.5%;}

  /* Master uses slightly tighter product/capability vertical rhythm. */
  .products{padding-top:24px;padding-bottom:24px}
  .capabilities{padding-top:15px;padding-bottom:24px}
  .caps{margin-top:18px}

  /* Lower panel proportions closer to the approved master. */
  .partner-photo{min-height:285px}
  .partner-copy,.ticks{padding-top:30px;padding-bottom:30px}
}
\n\n


/* V10 — faithful header rebuild from the supplied original-site reference. */
.header-grid{display:grid!important;grid-template-columns:38% 22% 40%;align-items:center;gap:18px}
.header-logo{display:block;min-width:0}
.header-logo img{display:block;width:100%;max-width:560px;height:auto}
.vic-supply{display:flex;align-items:center;justify-content:center;padding:0 8px;border:0;min-height:0}
.vic-supply img{display:block;width:100%;max-width:285px;height:auto}
.header-grid .contact-top{justify-content:flex-end;white-space:nowrap;gap:26px}
.header-grid .contact-top small{color:#3159bd;line-height:1.35}
@media (min-width:851px){
  .top{padding:12px 0}
  .header-grid .contact-top{font-size:18px}
  .header-grid .contact-top small{font-size:14px}
  .header-grid .btn{font-size:16px;padding:17px 22px}
}
@media (min-width:851px) and (max-width:1250px){
  .header-grid{grid-template-columns:37% 21% 42%;gap:12px}
  .header-grid .contact-top{font-size:14px;gap:14px}
  .header-grid .contact-top small{font-size:11px}
  .header-grid .btn{font-size:13px;padding:14px 15px}
}
@media(max-width:850px){
  .header-grid{display:flex!important;align-items:flex-start}
  .header-logo img{max-width:330px}
  .vic-supply{display:none}
}


/* V12 — exact current index.html header: phone/address setout + teal nav rollover */
@media (min-width:851px){
  .header-grid{
    grid-template-columns:38% 22% 40%;
    gap:18px;
  }

  .header-grid .contact-top{
    display:grid !important;
    grid-template-columns:max-content max-content max-content;
    align-items:center;
    justify-content:end;
    gap:24px;
    font-size:initial;
  }

  .header-grid .contact-top > span:first-child{
    font-size:22px;
    line-height:1;
    font-weight:800;
    color:var(--ink);
  }

  .header-grid .contact-top > span:nth-child(2){
    font-size:14px;
    line-height:1.18;
    font-weight:800;
    color:var(--ink);
  }

  .header-grid .contact-top > span:nth-child(2) small{
    display:block;
    margin-top:3px;
    font-size:11px;
    line-height:1.22;
    font-weight:600;
    color:#3159bd;
  }

  .header-grid .contact-top .btn{
    font-size:14px;
    padding:15px 18px;
  }

  .nav .container{gap:0}
  .nav a{
    padding:18px 28px 15px;
    border-bottom:4px solid transparent;
    transition:background-color .15s ease,color .15s ease,border-color .15s ease;
  }
  .nav a:hover,
  .nav a:focus-visible{
    background:#00777b;
    color:#fff;
    border-bottom-color:var(--cyan);
  }
}

@media (min-width:851px) and (max-width:1250px){
  .header-grid .contact-top{gap:12px}
  .header-grid .contact-top > span:first-child{font-size:17px}
  .header-grid .contact-top > span:nth-child(2){font-size:11px}
  .header-grid .contact-top > span:nth-child(2) small{font-size:9px}
  .header-grid .contact-top .btn{font-size:11px;padding:12px 12px}
  .nav a{padding-left:18px;padding-right:18px}
}


/* V13 — final header contact setout. Overrides V12 only. */
@media (min-width:851px){
  .header-grid{grid-template-columns:38% 22% 40%;gap:18px}

  .header-grid .contact-top{
    display:grid!important;
    grid-template-columns:max-content max-content;
    grid-template-rows:auto auto;
    column-gap:20px;
    row-gap:5px;
    align-items:center;
    justify-content:end;
    white-space:nowrap;
  }

  .header-grid .contact-top>span:first-child{
    grid-column:1;
    grid-row:1;
    font-size:22px!important;
    line-height:1!important;
    font-weight:900!important;
  }

  .header-grid .contact-top>span:nth-child(2){
    grid-column:1;
    grid-row:2;
    font-size:13px!important;
    line-height:1.15!important;
    font-weight:800!important;
  }

  .header-grid .contact-top>span:nth-child(2) small{
    display:inline!important;
    margin:0!important;
    font-size:10px!important;
    line-height:1.15!important;
    font-weight:600!important;
    color:#3159bd!important;
  }

  .header-grid .contact-top .btn{
    grid-column:2;
    grid-row:1 / span 2;
    align-self:center;
    font-size:13px!important;
    padding:15px 17px!important;
  }

  .nav .container{gap:0!important}
  .nav a{
    padding:18px 25px 15px!important;
    border-bottom:4px solid transparent!important;
  }
  .nav a:hover,.nav a:focus-visible{
    background:#00777b!important;
    color:#fff!important;
    border-bottom-color:#00c9dd!important;
  }
}

/* Keep the contact block readable even when the browser is half-screen. */
@media (min-width:851px) and (max-width:1250px){
  .header-grid{grid-template-columns:39% 20% 41%;gap:10px}
  .header-grid .contact-top{column-gap:10px;row-gap:3px}
  .header-grid .contact-top>span:first-child{font-size:17px!important}
  .header-grid .contact-top>span:nth-child(2){font-size:10px!important}
  .header-grid .contact-top>span:nth-child(2) small{font-size:8px!important}
  .header-grid .contact-top .btn{font-size:10px!important;padding:12px 10px!important}
  .nav a{padding-left:17px!important;padding-right:17px!important}
}

/* V14 — approved final header contact treatment only. */
@media (min-width:851px){
  .header-grid .contact-top>span.header-phone,
  .header-grid .contact-top>span.header-phone a{
    color:#004e51!important;
    font-size:30px!important;
    line-height:1!important;
    font-weight:900!important;
  }
  .header-grid .contact-top>span.header-address{
    color:#004e51!important;
    font-size:20px!important;
    line-height:1.12!important;
    font-weight:900!important;
  }
  .header-grid .contact-top>span.header-address .location-pin{
    color:#004e51!important;
    font-size:24px!important;
    font-weight:900!important;
    vertical-align:-1px;
  }
  .header-grid .contact-top>span.header-address small{
    display:block!important;
    margin-top:4px!important;
    padding-left:27px;
    color:#004e51!important;
    font-size:13px!important;
    line-height:1.15!important;
    font-weight:600!important;
  }
}
@media (min-width:851px) and (max-width:1250px){
  .header-grid .contact-top>span.header-phone,
  .header-grid .contact-top>span.header-phone a{font-size:23px!important}
  .header-grid .contact-top>span.header-address{font-size:16px!important}
  .header-grid .contact-top>span.header-address .location-pin{font-size:19px!important}
  .header-grid .contact-top>span.header-address small{font-size:10px!important;padding-left:22px}
}

/* V15 — mobile header fix only. Desktop unchanged. */
@media (max-width:850px){
.header-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px 16px!important;align-items:start!important}
.header-logo{grid-column:1;grid-row:1;align-self:start}.header-logo img{width:100%!important;max-width:330px!important;height:auto!important}
.vic-supply{display:flex!important;grid-column:1;grid-row:2;align-items:center!important;justify-content:flex-start!important;padding:0!important}.vic-supply img{display:block!important;width:100%!important;max-width:220px!important;height:auto!important}
.header-grid .contact-top{grid-column:2;grid-row:1 / span 2;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:14px!important;margin-top:0!important;white-space:normal!important}
.header-grid .contact-top>span.header-phone,.header-grid .contact-top>span.header-phone a{color:#004e51!important;font-size:22px!important;line-height:1.05!important;font-weight:900!important}
.header-grid .contact-top>span.header-address{color:#004e51!important;font-size:17px!important;line-height:1.15!important;font-weight:900!important}.header-grid .contact-top>span.header-address .location-pin{color:#004e51!important;font-size:19px!important;font-weight:900!important}.header-grid .contact-top>span.header-address small{display:block!important;margin-top:4px!important;padding-left:0!important;color:#004e51!important;font-size:12px!important;line-height:1.15!important;font-weight:600!important}.header-grid .contact-top .btn{font-size:14px!important;padding:14px 16px!important}
}
@media (max-width:520px){.top .container.header-grid{display:grid!important}.header-grid{grid-template-columns:40% 60%!important;gap:10px 12px!important}.vic-supply img{max-width:180px!important}.header-grid .contact-top>span.header-phone,.header-grid .contact-top>span.header-phone a{font-size:18px!important}.header-grid .contact-top>span.header-address{font-size:15px!important}.header-grid .contact-top>span.header-address small{font-size:11px!important}.header-grid .contact-top .btn{font-size:13px!important;padding:13px 12px!important}}
