/* Native images, copy and containers remain individually editable in Elementor. */
.tf-native.header-container{grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);column-gap:30px;max-width:1320px}
.tf-native.desktop-nav{width:100%;justify-content:space-between;gap:16px}.tf-native.right-nav{justify-content:space-between}.tf-menu-link .elementor-button{white-space:nowrap}
.tf-native.vu-hero{background:transparent;padding-bottom:34px}.tf-native.vu-hero:before{mask-image:linear-gradient(#000 12%,transparent 100%)}
.tf-native.vu-hero-surface{display:grid;grid-template-columns:1.08fr 1fr;align-items:stretch;min-height:625px;max-width:1440px;margin:auto;isolation:isolate;overflow:hidden;box-shadow:0 16px 60px #07572e0c}
.tf-native.vu-hero-surface:after{display:none}.tf-native.vu-hero-copy{position:relative;grid-column:1;grid-row:1;max-width:none;width:100%;text-align:left;justify-content:center;align-items:flex-start;z-index:2;gap:22px;pointer-events:auto}
.vu-hero-copy .hero-mark{width:36px;height:36px;margin:0}.vu-hero-copy .hero-mark img{height:36px;width:36px}.vu-hero-copy .tf-hero-heading{margin:0;width:100%;max-width:600px}.vu-hero-copy .tf-hero-heading h1{font-size:52px;line-height:1.15}
.vu-hero-copy .hero-subtitle{font-size:13px;letter-spacing:.12em;line-height:1.7;margin:0;text-transform:uppercase;max-width:100%}.vu-hero-copy .hero-description{max-width:550px;margin:0;font-size:15px;line-height:1.9}.vu-hero-copy .hero-action{margin-top:8px;align-items:flex-start}.vu-hero-copy .hero-action .elementor-button{font-size:21px;padding:15px 22px}
.tf-native.vu-hero-gallery{grid-column:2;grid-row:1;position:relative;inset:auto;width:auto;height:650px;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:8px;padding:12px;background:#eff5ed;z-index:1;pointer-events:auto}
.tf-native.vu-hero-tile{position:relative;overflow:hidden;background:#fff;border-radius:12px;min-height:0}.vu-hero-tile:nth-child(2n){background:#fcf1d8}.vu-hero-tile:nth-child(3n){background:#e9f0df}.vu-hero-image,.vu-hero-image>.elementor-widget-container{height:100%;width:100%}.vu-hero-image img{height:100%;width:100%;object-fit:cover;object-position:50% 38%;transition:transform .7s cubic-bezier(.22,.61,.36,1)}.vu-hero-tile:hover img{transform:scale(1.04)}
.vu-hero .tf-scroll-control{display:none}.vu-hero-surface .hero-media:before,.vu-hero-surface .hero-media:after{display:none}
.tf-native.vu-about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px 50px;align-items:start}.vu-about-grid>.tf-native.about-content{grid-column:2;grid-row:1;margin:0;width:auto}.vu-about-grid>.tf-native.stats{grid-column:2;grid-row:2;margin:0;gap:28px;grid-template-columns:1fr 1fr}.vu-about-grid .stat{text-align:left!important}.vu-about-grid .tf-native-number{font-size:56px;line-height:1.1}.vu-about-grid .tf-stat-label{margin-top:8px}.vu-about-grid .tf-stat-label p{font-size:11px;letter-spacing:.08em}
.tf-native.vu-range-gallery{grid-column:1;grid-row:1/span 2;width:100%;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-self:stretch;overflow:hidden;border-radius:24px}.vu-range-image{height:100%;min-height:210px;background:#f1f5e9;overflow:hidden;border-radius:12px}.vu-range-image:nth-child(2){background:#fae8d2}.vu-range-image img{height:100%;width:100%;object-fit:cover}.vu-about-grid .about-content h2{font-size:44px;line-height:1.2}.vu-about-grid .about-content p{font-size:15px;line-height:1.8}.about:has(.vu-about-grid){padding-top:50px;padding-bottom:70px}
.tf-native.vu-companies{padding:70px 0 80px;background:#f1f6ef}.tf-native.vu-company-section{display:flex;flex-direction:column;align-items:center;gap:20px}.vu-companies-heading h2{font-size:48px;text-align:center}.vu-company-intro{max-width:650px;text-align:center}.tf-native.vu-company-grid{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:22px}.tf-native.vu-company-card{background:#fff;border:1px solid #e0e9dc;border-radius:18px;padding:26px 20px 18px;align-items:center;justify-content:center;gap:20px;min-height:220px;box-shadow:0 5px 18px #07572e04;transition:transform .3s,box-shadow .3s}.vu-company-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #07572e0c}.vu-company-card .tf-partner-logo{width:100%;height:130px}.vu-company-card img{width:100%;height:130px;object-fit:contain}.vu-company-name p{font-size:13px;line-height:1.5;text-align:center;color:#07572e;font-weight:600}.vu-company-card:last-child{grid-column:auto}
.tf-native.vu-facility-hero{position:relative;margin:0 24px;padding:0;border-radius:0 0 28px 28px;overflow:hidden;min-height:600px;background:#07572e}.vu-facility-hero-photo{position:absolute;inset:0;height:100%;width:100%;z-index:0}.vu-facility-hero-photo img{height:100%;width:100%;object-fit:cover;object-position:center}.vu-facility-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#043d2be6,transparent 72%);z-index:1;pointer-events:none}.tf-native.vu-facility-hero-copy{position:relative;z-index:2;margin-top:auto;padding:320px 65px 55px;max-width:1000px}.vu-facility-hero-copy .elementor-heading-title{color:white;font-size:70px;line-height:1.1}.vu-facility-hero-copy p{color:#fff;font-size:17px;margin-top:16px}.vu-facility-hero~.container{max-width:1280px;width:calc(100% - 48px)}
.tf-native.vu-facility-overview,.tf-native.vu-process,.tf-native.vu-values{padding:72px 0;gap:25px}.vu-facility-overview>.elementor-widget-text-editor{max-width:920px}.vu-facility-overview h2,.vu-process h2,.vu-values h2,.vu-facility-cta h2{font-size:44px;line-height:1.2}.tf-native.vu-facility-highlights{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:15px}.tf-native.vu-facility-highlight{background:#edf4eb;border-radius:16px;padding:24px 20px;gap:18px;border-left:3px solid #8cc63f}.vu-facility-highlight h3{font-family:Montserrat,sans-serif;font-size:28px;line-height:1.2}.vu-facility-highlight p{font-size:13px;line-height:1.6}.tf-native.vu-facility-gallery{gap:15px}.vu-campus-photo img{width:100%;max-height:600px;object-fit:cover;border-radius:24px}.vu-photo-caption p{font-size:12px;color:#596a5c}.tf-native.vu-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.tf-native.vu-process-card{border-top:2px solid #8cc63f;padding-top:25px;gap:20px}.vu-process-card h3,.vu-value h3{font-size:27px}.vu-process-card p{font-size:15px}
.tf-native.vu-value-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.tf-native.vu-value{background:#f2f7f1;border-radius:16px;padding:28px;gap:15px}.vu-value p{font-size:14px;line-height:1.8}.tf-native.vu-facility-cta{padding:55px;margin-bottom:60px;background:#edf4eb;border-radius:24px;gap:20px}.vu-facility-cta .elementor-widget-button{display:inline-block;width:auto}.vu-facility-cta .elementor-button{padding:15px 25px}
.tf-native.product-art{background:#f5f7f1}.tf-card-photo img{object-fit:cover;object-position:50% 25%}.sheet-photo img{object-fit:contain}.tf-native.site-footer .footer-links{flex-wrap:wrap}.tf-native.inner-header{background-image:none}
@media(min-width:1200px) and (max-width:1399px){.tf-native.header-container{column-gap:22px;grid-template-columns:minmax(0,1fr) 165px minmax(0,1fr)}.tf-native.desktop-nav{gap:12px}.tf-menu-link .elementor-button{font-size:12px}.vu-hero-copy .tf-hero-heading h1{font-size:46px}}
@media(max-width:1199px){.tf-native.header-container{grid-template-columns:1fr 190px 1fr}.tf-native.vu-hero-surface{min-height:590px}.vu-hero-copy .tf-hero-heading h1{font-size:42px}.tf-native.vu-hero-copy{padding:38px 28px}.vu-hero-copy .hero-description{font-size:14px}.vu-about-grid .about-content h2{font-size:36px}.tf-native.vu-company-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991px){.tf-native.vu-hero-surface{grid-template-columns:1fr;min-height:0}.tf-native.vu-hero-copy{grid-column:1;grid-row:1;padding:40px 38px;gap:18px}.tf-native.vu-hero-gallery{grid-column:1;grid-row:2;height:260px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));width:100%}.tf-native.vu-about-grid{grid-template-columns:1fr 1fr;gap:24px}.tf-native.vu-range-gallery{grid-column:1;grid-row:1/span 2}.vu-range-image{min-height:160px}.vu-about-grid>.tf-native.about-content{grid-column:2;grid-row:1}.vu-about-grid>.tf-native.stats{grid-column:2;grid-row:2;gap:22px}.vu-about-grid .about-content h2{font-size:32px}.tf-native.vu-facility-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}.vu-facility-hero-copy .elementor-heading-title{font-size:58px}.tf-native.vu-process-grid{gap:22px}.vu-process-card h3{font-size:23px}}
@media(max-width:767px){.tf-native.vu-hero-copy{padding:30px 24px;gap:16px}.vu-hero-copy .tf-hero-heading h1{font-size:36px;line-height:1.18}.vu-hero-copy .hero-subtitle{font-size:10px;line-height:1.65;letter-spacing:.09em}.vu-hero-copy .hero-description{font-size:13px;line-height:1.8}.vu-hero-copy .hero-action .elementor-button{font-size:18px;padding:12px 17px}.tf-native.vu-hero-gallery{height:240px;gap:6px;padding:8px}.vu-hero-copy .hero-mark{width:29px;height:29px}.tf-native.vu-about-grid{display:flex;flex-direction:column;gap:24px}.tf-native.vu-range-gallery{order:1;display:grid;width:100%;height:300px;gap:8px}.vu-range-image{min-height:0}.vu-about-grid>.tf-native.about-content{order:0}.vu-about-grid>.tf-native.stats{order:2;display:grid;grid-template-columns:1fr 1fr;width:100%;gap:26px 20px}.vu-about-grid .about-content h2{font-size:35px}.vu-about-grid .tf-native-number{font-size:48px}.tf-native.vu-companies{padding:45px 0}.tf-native.vu-company-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tf-native.vu-company-card{padding:18px 12px;min-height:180px;gap:16px}.vu-company-card .tf-partner-logo,.vu-company-card img{height:100px}.vu-company-card:last-child{grid-column:1/span 2;max-width:240px;width:100%;justify-self:center}.vu-companies-heading h2{font-size:36px}.vu-company-name p{font-size:11px}.vu-company-intro p{font-size:14px}.tf-native.vu-facility-hero{margin:0 12px;min-height:510px}.tf-native.vu-facility-hero-copy{padding:330px 25px 30px}.vu-facility-hero-copy .elementor-heading-title{font-size:45px}.vu-facility-hero-copy p{font-size:14px}.tf-native.vu-facility-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tf-native.vu-facility-highlight{padding:20px 14px}.vu-facility-highlight:last-child{grid-column:1/span 2}.vu-facility-highlight h3{font-size:25px}.vu-facility-hero~.container{width:calc(100% - 36px)}.tf-native.vu-facility-overview,.tf-native.vu-process,.tf-native.vu-values{padding:42px 0}.vu-facility-overview h2,.vu-process h2,.vu-values h2,.vu-facility-cta h2{font-size:34px}.tf-native.vu-process-grid,.tf-native.vu-value-list{grid-template-columns:1fr}.tf-native.vu-facility-cta{padding:28px 20px}.vu-value h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.vu-hero-tile:hover img,.vu-company-card:hover{transform:none}.vu-hero-image img,.vu-company-card{transition:none}}

/* Supporting product media is bound to each Product, not duplicated into page content. */
.tf-native.vu-product-gallery{margin:42px 0;align-items:center;background:#f5f8f0;border-radius:24px;padding:24px}.vu-product-secondary{width:min(100%,660px)}.vu-product-secondary img{width:100%;max-height:420px;object-fit:contain}.vu-company-card img{max-height:130px}.tf-native.vu-hero-tile{padding:0}.tf-native.vu-hero-copy{align-self:stretch}.vu-hero-copy .hero-mark{align-self:flex-start}
@media(min-width:1200px){.tf-native.vu-company-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.vu-company-card{grid-column:span 2}.vu-company-card:nth-child(5){grid-column:2/span 2}.vu-company-card:nth-child(6){grid-column:4/span 2}.vu-company-card:nth-child(7){grid-column:6/span 2}}
@media(min-width:768px) and (max-width:1199px){.vu-company-card img{max-height:130px}}
@media(max-width:767px){.vu-company-card img{max-height:100px}.tf-native.vu-product-gallery{margin:26px 0;padding:16px}}
.js body:not(.loaded) .vu-hero-tile{clip-path:inset(0 0 100% 0 round 12px);transform:translateY(15px)}.vu-hero-tile{clip-path:inset(0 round 12px);transform:none;transition:clip-path .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1)}.vu-hero-tile:nth-child(2){transition-delay:.08s}.vu-hero-tile:nth-child(3){transition-delay:.16s}.vu-hero-tile:nth-child(4){transition-delay:.24s}.vu-hero-tile:nth-child(5){transition-delay:.32s}.vu-hero-tile:nth-child(6){transition-delay:.4s}
@media(prefers-reduced-motion:reduce){.js body:not(.loaded) .vu-hero-tile,.vu-hero-tile{clip-path:none;transform:none;transition:none}}
body{background-image:none}
