:root {
    --vw-header-height: 104px;
}

html { scroll-behavior: smooth; }

.vw-header {
    min-height: var(--vw-header-height);
    padding: 16px 3vw;
    display: grid;
    grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
    align-items: center;
    gap: 28px;
    box-sizing: border-box;
    background: linear-gradient(to bottom, rgba(0,0,0,.82), rgba(0,0,0,.34) 55%, rgba(0,0,0,0));
}

.vw-brand { justify-self: start; display: inline-flex; align-items: center; }
.vw-brand-image { display: block; width: auto; height: 72px; max-width: 190px; object-fit: contain; }
.vw-nav { justify-self: center; justify-content: center; gap: clamp(14px, 1.7vw, 28px); }
.vw-nav a { font-size: clamp(.78rem, .88vw, .94rem); }
.vw-header-end { justify-self: end; display: flex; align-items: center; }
.vw-xpel { display: inline-flex; align-items: center; justify-content: flex-end; }
.vw-xpel-image { display: block; width: auto; height: 34px; max-width: 118px; object-fit: contain; }

.vw-home-hero { min-height: 100svh; height: 100svh; background:#080808 url('../wIMG/Vehicle_Wrapping_Hero_Holder_1920x1080.webp') center/cover no-repeat; }
.vw-home-hero-media,
.vw-home-hero-media > div,
.vw-home-hero-media .vw-social-hero,
.vw-home-hero-media .vw-social-hero-viewport,
.vw-home-hero-media .vw-social-hero-track,
.vw-home-hero-media .vw-social-hero-slide,
.vw-home-hero-media .vw-social-hero-link,
.vw-home-hero-media .vw-social-media-shell { width: 100%; height: 100%; min-height: 100%; }
.vw-home-hero-media .vw-social-hero-slider { min-height: 100%; }
.vw-home-hero-media .vw-social-hero-viewport { position: absolute; inset: 0; }
.vw-home-hero-media .vw-social-hero-track { height: 100%; }
.vw-home-hero-media .vw-social-hero-slide { position: relative; flex: 0 0 100%; min-width: 100%; border: 0; background: #080808; }
.vw-home-hero-media .vw-social-hero-media { width: 100%; height: 100%; object-fit: cover; }
.vw-home-hero-media .vw-social-hero-overlay { z-index: 2; display: flex; align-items: flex-end; padding: calc(var(--vw-header-height) + 72px) 6vw 78px; box-sizing: border-box; pointer-events: none; }
.vw-home-hero-media .vw-social-hero-position-left { background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.42) 48%, rgba(0,0,0,.08) 78%), linear-gradient(0deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,0) 45%); }
.vw-home-hero-media .vw-social-hero-position-center { background: radial-gradient(circle at 50% 58%, rgba(0,0,0,.1) 0%, rgba(0,0,0,.18) 42%, rgba(0,0,0,.42) 100%), linear-gradient(0deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,0) 45%); }
.vw-home-hero-media .vw-social-hero-position-right { background: linear-gradient(270deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.42) 48%, rgba(0,0,0,.08) 78%), linear-gradient(0deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,0) 45%); }
.vw-home-hero-media .vw-social-hero-copy { width: min(760px, 88vw); max-width: none; pointer-events: none; }
.vw-home-hero-media .vw-social-hero-kicker { color: var(--vw-muted); }
.vw-home-hero-media .vw-social-hero-title { margin: 12px 0 16px; font-size: clamp(3.4rem, 8vw, 7.5rem); line-height: .9; letter-spacing: -.05em; }
.vw-home-hero-media .vw-social-hero-description { max-width: 620px; margin: 0; color: #ddd; font-size: clamp(1.05rem, 1.5vw, 1.28rem); line-height: 1.6; }
.vw-home-hero-media .vw-social-hero-actions { margin-top: 28px; pointer-events: auto; }
.vw-home-hero-media .vw-social-hero-position-left .vw-social-hero-copy { margin-right: auto; text-align: left; }
.vw-home-hero-media .vw-social-hero-position-center .vw-social-hero-copy { margin-left: auto; margin-right: auto; text-align: center; }
.vw-home-hero-media .vw-social-hero-position-center .vw-social-hero-description { margin-left: auto; margin-right: auto; }
.vw-home-hero-media .vw-social-hero-position-center .vw-social-hero-actions { justify-content: center; }
.vw-home-hero-media .vw-social-hero-position-right .vw-social-hero-copy { margin-left: auto; text-align: right; }
.vw-home-hero-media .vw-social-hero-position-right .vw-social-hero-description { margin-left: auto; }
.vw-home-hero-media .vw-social-hero-position-right .vw-social-hero-actions { justify-content: flex-end; }
.vw-home-hero-media .vw-social-carousel-controls { z-index: 5; }
.vw-home-hero-media .vw-social-carousel-prev,
.vw-home-hero-media .vw-social-carousel-next {
    top: 52%;
    width: 58px;
    height: 58px;
    margin-top: -29px;
    border: 1px solid rgba(255,255,255,.36);
    background: rgba(10,10,10,.28);
    box-shadow: 0 12px 32px rgba(0,0,0,.24);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-size: 0;
    transition: background .22s ease, border-color .22s ease, transform .22s ease, opacity .22s ease;
}
.vw-home-hero-media .vw-social-carousel-prev { left: 2.5vw; }
.vw-home-hero-media .vw-social-carousel-next { right: 2.5vw; }
.vw-home-hero-media .vw-social-carousel-prev::before,
.vw-home-hero-media .vw-social-carousel-next::before {
    content: "";
    display: block;
    width: 13px;
    height: 13px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
}
.vw-home-hero-media .vw-social-carousel-prev::before { transform: rotate(45deg); margin-left: 5px; }
.vw-home-hero-media .vw-social-carousel-next::before { transform: rotate(225deg); margin-right: 5px; }
.vw-home-hero-media .vw-social-carousel-prev:hover,
.vw-home-hero-media .vw-social-carousel-next:hover {
    background: rgba(10,10,10,.68);
    border-color: rgba(255,255,255,.82);
    transform: scale(1.06);
}
.vw-home-hero-media .vw-social-carousel-count {
    left: 50%;
    right: auto;
    bottom: 28px;
    min-width: 0;
    padding: 0;
    transform: translateX(-50%);
    border-radius: 0;
    background: transparent;
    color: rgba(255,255,255,.82);
    font-size: .7rem;
    letter-spacing: .18em;
}
.vw-home-hero-shade { pointer-events: none; }
.vw-home-hero-copy { padding-top: calc(var(--vw-header-height) + 72px); padding-bottom: 7vh; pointer-events: none; }
.vw-home-hero-copy a { pointer-events: auto; }

/* Shared managed page heroes and public sections */
.vw-page-media-hero { position:relative; min-height:70vh; display:flex; align-items:flex-end; overflow:hidden; background-color:#080808; background-size:cover; background-position:center; }
.vw-page-hero-fallback-projects,.vw-page-hero-fallback-ppf,.vw-page-hero-fallback-contact,.vw-page-hero-fallback-certificates,.vw-page-hero-fallback-commercial,.vw-page-hero-fallback-ceramic,.vw-page-hero-fallback-tint,.vw-page-hero-fallback-about,.vw-page-hero-fallback-book { background-image:url('../wIMG/Vehicle_Wrapping_Hero_Holder_1920x1080.webp'); }
.vw-page-media-hero-media { position:absolute; inset:0; z-index:0; overflow:hidden; }
.vw-page-media-hero-media > div,.vw-page-media-hero-media .vw-social-hero,.vw-page-media-hero-media .vw-social-hero-viewport,.vw-page-media-hero-media .vw-social-hero-track,.vw-page-media-hero-media .vw-social-hero-slide,.vw-page-media-hero-media .vw-social-hero-link,.vw-page-media-hero-media .vw-social-media-shell { width:100%; height:100%; min-height:100%; }
.vw-page-media-hero-media .vw-social-hero { position:absolute; inset:0; min-height:100%; border:0; background:transparent; }
.vw-page-media-hero-media .vw-social-hero-viewport { position:absolute; inset:0; }
.vw-page-media-hero-media .vw-social-hero-track { height:100%; }
.vw-page-media-hero-media .vw-social-hero-slide { position:relative; flex:0 0 100%; min-width:100%; height:100%; border:0; background:transparent; }
.vw-page-media-hero-media .vw-social-hero-media { width:100%; height:100%; object-fit:cover; }
.vw-page-media-hero-media .vw-social-media-type,.vw-page-media-hero-media .vw-social-carousel-controls { display:none; }
.vw-page-media-hero-shade { position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.46) 48%,rgba(0,0,0,.08) 78%),linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,0) 52%); }
.vw-page-media-hero-copy { position:relative; z-index:2; width:min(930px,88vw); padding:calc(var(--vw-header-height) + 70px) 6vw 72px; box-sizing:border-box; }
.vw-page-media-hero-copy h1 { margin:12px 0 16px; max-width:920px; font-size:clamp(3.3rem,7.2vw,6.9rem); line-height:.92; letter-spacing:-.05em; }
.vw-page-media-hero-copy p { max-width:700px; margin:0; color:#ddd; font-size:clamp(1.05rem,1.45vw,1.25rem); line-height:1.65; }
.vw-service-intro { padding:100px 6vw; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:8vw; align-items:end; border-bottom:1px solid #242424; }
.vw-service-intro h2 { margin:10px 0 0; font-size:clamp(2.4rem,4.7vw,5rem); line-height:1; letter-spacing:-.04em; }
.vw-service-intro-copy p { margin:0; color:#cfcfcf; font-size:1.05rem; line-height:1.8; }
.vw-service-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid #242424; }
.vw-service-benefit { min-height:245px; padding:34px 30px; box-sizing:border-box; border-right:1px solid #242424; display:flex; flex-direction:column; gap:28px; }
.vw-service-benefit:last-child { border-right:0; }
.vw-service-benefit span { color:#696969; font-size:.74rem; letter-spacing:.12em; }
.vw-service-benefit strong { margin-top:auto; color:#fff; font-size:clamp(1.3rem,2vw,1.8rem); line-height:1.15; }
.vw-service-benefit p { margin:0; color:var(--vw-muted); line-height:1.65; }
.vw-service-gallery { padding:105px 6vw 118px; background:#080808; }
.vw-service-gallery-head { margin-bottom:42px; display:flex; justify-content:space-between; align-items:flex-end; gap:30px; }
.vw-service-gallery-head h2 { margin:10px 0 0; font-size:clamp(2.4rem,4.5vw,4.8rem); line-height:1; letter-spacing:-.04em; }
.vw-service-gallery-head p { max-width:500px; margin:0; color:var(--vw-muted); line-height:1.65; }
.vw-service-gallery .vw-social-grid { --vw-social-columns:3; --vw-social-gap:16px; }
.vw-service-gallery .vw-social-card { border:0; background:#101010; }
.vw-service-gallery .vw-social-card-media { aspect-ratio:4/3; transition:transform .35s ease,opacity .35s ease; }
.vw-service-gallery .vw-social-card:hover .vw-social-card-media { transform:scale(1.015); opacity:.92; }
.vw-service-cta { padding:92px 6vw; display:flex; align-items:flex-end; justify-content:space-between; gap:48px; border-top:1px solid #272727; background:radial-gradient(circle at 78% 30%,#252525 0,#121212 42%,#080808 78%); }
.vw-service-cta h2 { max-width:820px; margin:10px 0 0; font-size:clamp(2.4rem,4.5vw,4.8rem); line-height:1; letter-spacing:-.04em; }
.vw-page-contact-cta { padding:0; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:stretch; gap:0; border-top:1px solid #aeb0ae; background:#bfc1bf; color:#202120; }
.vw-page-contact-cta__copy { min-height:410px; padding:clamp(72px,7vw,100px) 6vw; box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; }
.vw-page-contact-cta .vw-kicker { color:#555855; }
.vw-page-contact-cta h2 { max-width:760px; margin:12px 0 0; color:#202120; font-size:clamp(2.3rem,4vw,4rem); line-height:1.02; letter-spacing:-.035em; }
.vw-page-contact-cta__copy > p { max-width:700px; margin:14px 0 0; color:#3f423f; font-size:1rem; line-height:1.7; }
.vw-page-contact-cta .vw-actions { margin-top:26px; }
.vw-page-contact-cta .vw-button { border-color:#454845; color:#202120; }
.vw-page-contact-cta .vw-button-primary { background:#202120; border-color:#202120; color:#fff; }
.vw-page-contact-cta__media { position:relative; min-height:410px; overflow:hidden; background:#111; }
.vw-page-contact-cta__media img { display:block; width:100%; height:100%; min-height:410px; object-fit:cover; object-position:center; transition:transform .55s cubic-bezier(.22,.61,.36,1); }
.vw-page-contact-cta:hover .vw-page-contact-cta__media img { transform:scale(1.025); }
.vw-projects-gallery { padding:96px 6vw 118px; background:#080808; }
.vw-projects-gallery-head { margin-bottom:42px; display:flex; justify-content:space-between; align-items:flex-end; gap:30px; }
.vw-projects-gallery-head h2 { margin:10px 0 0; font-size:clamp(2.4rem,4.5vw,4.8rem); line-height:1; letter-spacing:-.04em; }
.vw-projects-gallery-head p { max-width:500px; margin:0; color:var(--vw-muted); line-height:1.65; }
.vw-projects-gallery .vw-social-masonry { --vw-social-columns:4; --vw-social-gap:16px; }
.vw-projects-gallery .vw-social-masonry-item { border:0; background:#101010; }
.vw-projects-gallery .vw-social-masonry-media { transition:transform .35s ease,opacity .35s ease; }
.vw-projects-gallery .vw-social-masonry-item:hover .vw-social-masonry-media { transform:scale(1.015); opacity:.9; }
.vw-about-intro { padding:104px 6vw; display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.8fr); gap:8vw; border-bottom:1px solid #262626; }
.vw-about-intro h2 { margin:10px 0 0; font-size:clamp(2.5rem,4.8vw,5.2rem); line-height:1; letter-spacing:-.04em; }
.vw-about-intro-copy { max-width:620px; }
.vw-about-intro-copy p { margin:0 0 20px; color:#cfcfcf; font-size:1.05rem; line-height:1.8; }
.vw-about-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid #262626; }
.vw-about-principle { min-height:240px; padding:30px 26px; border-right:1px solid #262626; box-sizing:border-box; }
.vw-about-principle:nth-child(3n) { border-right:0; }
.vw-about-principle:nth-child(-n+3) { border-bottom:1px solid #262626; }
.vw-about-principle span { color:#666; font-size:.72rem; letter-spacing:.12em; }
.vw-about-principle strong { display:block; margin:64px 0 10px; font-size:1.25rem; }
.vw-about-principle p { margin:0; color:var(--vw-muted); line-height:1.65; }
.vw-contact-section { padding:100px 6vw; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:7vw; }
.vw-contact-copy h2 { margin:10px 0 22px; font-size:clamp(2.5rem,4.8vw,5rem); line-height:1; letter-spacing:-.04em; }
.vw-contact-copy > p { max-width:600px; color:#cfcfcf; line-height:1.75; }
.vw-contact-details { margin-top:42px; display:grid; gap:0; border-top:1px solid #2a2a2a; }
.vw-contact-detail { padding:18px 0; display:grid; grid-template-columns:120px 1fr; gap:22px; border-bottom:1px solid #2a2a2a; }
.vw-contact-detail span { color:#777; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; }
.vw-contact-detail a { color:#fff; text-decoration:none; }
.vw-contact-map { min-height:500px; position:relative; overflow:hidden; background:#111; }
.vw-contact-map iframe { display:block; width:100%; height:100%; min-height:500px; border:0; filter:grayscale(1) contrast(.95) brightness(.84); }

@media (max-width: 1180px) {
    .vw-header { grid-template-columns: auto 1fr auto; gap: 18px; }
    .vw-brand-image { height: 58px; max-width: 150px; }
    .vw-xpel-image { height: 28px; max-width: 92px; }
    .vw-nav { gap: 13px; }
    .vw-nav a { font-size: .76rem; }
}

@media (max-width: 1100px) {
    .vw-projects-gallery .vw-social-masonry { --vw-social-columns:3; }
    .vw-about-principles { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .vw-about-principle:nth-child(3n) { border-right:1px solid #262626; }
    .vw-about-principle:nth-child(2n) { border-right:0; }
    .vw-about-principle:nth-child(-n+4) { border-bottom:1px solid #262626; }
}

@media (max-width: 980px) {
    :root { --vw-header-height: 92px; }
    .vw-header { grid-template-columns: auto 1fr auto; padding: 12px 4vw; }
    .vw-brand-image { height: 54px; }
    .vw-nav { display: none; }
    .vw-header-end { gap: 10px; }
    .vw-xpel-image { height: 27px; max-width: 86px; }
}

@media (max-width: 900px) {
    .vw-service-intro,.vw-about-intro,.vw-contact-section { grid-template-columns:1fr; gap:32px; }
    .vw-service-benefits { grid-template-columns:1fr; }
    .vw-service-benefit { min-height:190px; border-right:0; border-bottom:1px solid #242424; }
    .vw-service-benefit:last-child { border-bottom:0; }
    .vw-service-gallery .vw-social-grid { --vw-social-columns:2; }
    .vw-service-cta { align-items:flex-start; flex-direction:column; }
    .vw-page-contact-cta { grid-template-columns:1fr; }
    .vw-page-contact-cta__copy { min-height:340px; padding:clamp(60px,8vw,82px) 6vw; }
    .vw-page-contact-cta__media,.vw-page-contact-cta__media img { min-height:clamp(300px,55vw,420px); }
    .vw-contact-map,.vw-contact-map iframe { min-height:420px; }
}

@media (max-width: 760px) {
    .vw-page-media-hero { min-height:60vh; }
    .vw-page-media-hero-copy { width:100%; padding:calc(var(--vw-header-height) + 52px) 20px 48px; }
    .vw-service-intro,.vw-service-gallery,.vw-service-cta,.vw-projects-gallery,.vw-about-intro,.vw-contact-section { padding-left:20px; padding-right:20px; }
    .vw-service-intro,.vw-about-intro,.vw-contact-section { padding-top:72px; padding-bottom:72px; }
    .vw-service-gallery,.vw-projects-gallery { padding-top:76px; padding-bottom:90px; }
    .vw-service-gallery-head,.vw-projects-gallery-head { align-items:flex-start; flex-direction:column; }
    .vw-projects-gallery .vw-social-masonry { --vw-social-columns:2; }
}

@media (max-width: 680px) {
    :root { --vw-header-height: 80px; }
    .vw-header { grid-template-columns: auto 1fr auto; gap: 8px; padding: 10px 16px; }
    .vw-brand-image { height: 46px; max-width: 110px; }
    .vw-nav { display: none; }
    .vw-header-end { grid-column: 3; gap: 8px; }
    .vw-xpel-image { height: 24px; max-width: 74px; }
    .vw-home-hero-media .vw-social-hero-overlay { padding: 135px 7vw 56px; }
    .vw-home-hero-media .vw-social-hero-copy { width: 100%; }
    .vw-home-hero-media .vw-social-hero-title { font-size: clamp(2.7rem, 14vw, 5rem); }
    .vw-home-hero-media .vw-social-carousel-prev,
    .vw-home-hero-media .vw-social-carousel-next { width: 46px; height: 46px; margin-top: -23px; }
    .vw-home-hero-media .vw-social-carousel-prev { left: 12px; }
    .vw-home-hero-media .vw-social-carousel-next { right: 12px; }
    .vw-home-hero-media .vw-social-carousel-prev::before,
    .vw-home-hero-media .vw-social-carousel-next::before { width: 10px; height: 10px; }
    .vw-home-hero-media .vw-social-carousel-count { bottom: 18px; }
}

@media (max-width: 560px) {
    .vw-service-gallery .vw-social-grid,.vw-projects-gallery .vw-social-masonry { --vw-social-columns:1; }
    .vw-about-principles { grid-template-columns:1fr; }
    .vw-about-principle { border-right:0; border-bottom:1px solid #262626; }
    .vw-about-principle:last-child { border-bottom:0; }
    .vw-contact-detail { grid-template-columns:1fr; gap:7px; }
}