/* VEXFILM Automotive Film Demo V1 */
:root{
  --bg:#090e13;--bg2:#12191f;--gold:#d9b06a;--gold2:#f0d391;
  --text:#11161b;--muted:#6e7780;--line:#e3e7ea;--soft:#f6f7f8;
  --white:#fff;--shell:1240px;--radius:16px;--shadow:0 24px 70px rgba(6,15,24,.14)
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,"Helvetica Neue",sans-serif;color:var(--text);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%}
.shell{width:min(var(--shell),calc(100% - 48px));margin:auto}.section{padding:100px 0}
.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:900;color:#7a838c}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:65px;margin-bottom:42px}
.section-head>div{max-width:760px}.section-head h2{font-size:47px;line-height:1.02;letter-spacing:-2px;margin-top:9px}
.section-head>p{max-width:470px;color:var(--muted);font-size:13px}
.btn{min-height:49px;padding:0 21px;border-radius:4px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;transition:.2s}
.btn-gold{background:linear-gradient(135deg,#e2bd79,#c89c4f);color:#111}.btn-dark{background:#11171d;color:#fff}
.btn-outline{border-color:rgba(255,255,255,.38);color:#fff;background:rgba(255,255,255,.02)}.btn:hover{transform:translateY(-2px)}

.site-header{height:74px;position:sticky;top:0;z-index:1000;background:rgba(9,14,19,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(15px)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900}.logo-mark{width:27px;height:22px;clip-path:polygon(0 0,50% 72%,100% 0,79% 100%,50% 84%,21% 100%);background:linear-gradient(135deg,#f2d291,#a57a38)}
.brand strong{font-size:18px;letter-spacing:.13em}
nav{display:flex;gap:27px;font-size:10px;font-weight:760}nav a{padding:27px 0;opacity:.84;position:relative}
nav a:after{content:"";position:absolute;left:0;right:100%;bottom:18px;height:2px;background:var(--gold);transition:.2s}nav a:hover:after{right:0}
.header-actions{display:flex;align-items:center;gap:9px}.lang{font-size:9px;color:#aab2b9}
.quote-btn{height:42px;padding:0 18px;border:1px solid #8e7448;background:transparent;color:#f2d291;border-radius:4px;font-size:9px;font-weight:900}
.menu-btn{display:none;width:42px;height:42px;border:0;background:#161e25;align-items:center;justify-content:center;flex-direction:column;gap:4px}.menu-btn i{width:18px;height:2px;background:#fff}

.hero{position:relative;min-height:650px;background:#070c11;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0}
.hero-bg img{height:100%;object-fit:cover;object-position:center}
.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,8,12,.96) 0%,rgba(4,8,12,.80) 39%,rgba(4,8,12,.27) 70%,rgba(4,8,12,.08) 100%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 48%)}
.hero-inner{position:relative;z-index:2;min-height:650px;display:flex;align-items:center}
.hero-copy{max-width:700px;padding:66px 0 76px}.hero-copy .eyebrow{color:#e7c780}
.hero h1{font-size:66px;line-height:.97;letter-spacing:-3px;margin-top:18px}.hero h1 span{display:block;font-weight:400;color:#d6dce1}
.hero-copy>p{font-size:16px;color:#c5ced5;max-width:620px;margin-top:21px}.hero-actions{display:flex;gap:10px;margin-top:29px}
.hero-proof{display:flex;gap:28px;margin-top:43px;padding-top:23px;border-top:1px solid rgba(255,255,255,.14)}
.hero-proof>div{min-width:125px}.hero-proof strong{display:block;font-size:14px}.hero-proof small{display:block;font-size:8px;color:#91a0ab;margin-top:2px}

.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.product-card{position:relative;overflow:hidden;border-radius:var(--radius);background:#0e141a;color:#fff;min-height:420px}
.product-card img{position:absolute;inset:0;height:100%;object-fit:cover;transition:.5s}.product-card:hover img{transform:scale(1.035)}
.product-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,8,12,.94) 0%,rgba(4,8,12,.47) 45%,rgba(4,8,12,.08) 78%)}
.product-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:23px}.product-copy span{font-size:8px;letter-spacing:.15em;color:#c5cdd3}
.product-copy h3{font-size:26px;margin-top:7px}.product-copy p{font-size:11px;color:#d0d7dd;margin-top:7px;max-width:320px}
.product-copy .more{display:inline-flex;margin-top:17px;font-size:9px;font-weight:900;color:#f0d391}

.partnership{background:#10171e;color:#fff}.partner-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;align-items:center}
.partner-copy .eyebrow{color:#e0bd75}.partner-copy h2{font-size:46px;line-height:1.01;letter-spacing:-2px;margin-top:9px}
.partner-copy p{font-size:13px;color:#aab5bd;margin-top:16px}.partner-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.partner-card{position:relative;min-height:340px;border:1px solid #303a43;border-radius:16px;overflow:hidden;background:#171f27}
.partner-card img{position:absolute;inset:0;height:100%;object-fit:cover;opacity:.88}.partner-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,11,16,.94),rgba(6,11,16,.16) 72%)}
.partner-card div{position:absolute;z-index:2;left:20px;right:20px;bottom:20px}.partner-card h3{font-size:19px}
.partner-card p{font-size:10px;color:#c2cbd2;margin-top:6px}.partner-card a{display:inline-flex;margin-top:14px;color:#f0d391;font-size:9px;font-weight:900}

.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.feature{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.feature img{height:210px;object-fit:cover}.feature-body{padding:18px}.feature-body h3{font-size:16px}.feature-body p{font-size:10px;color:var(--muted);margin-top:5px}

.stats{background:#f6f7f8}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stats-grid>div{padding:34px 25px;border-right:1px solid var(--line)}.stats-grid>div:last-child{border-right:0}
.stats-grid strong{display:block;font-size:25px}.stats-grid span{display:block;font-size:8px;color:#79838c;margin-top:2px}

.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.guide-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.guide-card img{height:205px;object-fit:cover}.guide-body{padding:18px}.guide-body span{font-size:8px;letter-spacing:.12em;color:#7b858e}
.guide-body h3{font-size:18px;line-height:1.15;margin-top:9px}.guide-body p{font-size:10px;color:var(--muted);margin-top:7px}
.guide-body a{display:inline-flex;margin-top:15px;font-size:9px;font-weight:900;color:#9b7639}

.process{background:#0d141a;color:#fff}.process .section-head p{color:#9da9b2}.process .eyebrow{color:#e1be77}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.process-card{border:1px solid #2b353e;border-radius:14px;background:#141d24;padding:23px;min-height:230px}
.process-card>span{font-size:9px;color:#71808c}.process-card i{display:flex;width:43px;height:43px;border-radius:50%;border:1px solid #485660;align-items:center;justify-content:center;font-style:normal;margin-top:28px;color:#f1d18e}
.process-card h3{font-size:16px;margin-top:18px}.process-card p{font-size:10px;color:#92a0aa;margin-top:6px}

.cta{background:#f5f6f7}.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cta-card{position:relative;overflow:hidden;min-height:270px;border-radius:16px;background:#10161c;color:#fff}
.cta-card img{position:absolute;inset:0;height:100%;object-fit:cover;opacity:.56}.cta-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,9,13,.94),rgba(5,9,13,.35))}
.cta-copy{position:absolute;z-index:2;left:25px;right:25px;top:50%;transform:translateY(-50%)}.cta-copy span{font-size:8px;letter-spacing:.15em;color:#d8c294}
.cta-copy h3{font-size:27px;margin-top:8px}.cta-copy p{font-size:10px;color:#c7cfd5;max-width:360px;margin-top:7px}.cta-copy .btn{margin-top:18px}

.footer{background:#080d12;color:#fff;padding:55px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:44px}
.footer p{font-size:9px;color:#8c98a2;max-width:280px;margin-top:13px}.footer h4{font-size:9px;margin-bottom:12px}
.footer a,.footer span{display:block;color:#8a96a0;font-size:8px;margin:7px 0}.footer-bottom{border-top:1px solid #252d34;margin-top:37px;padding-top:18px;display:flex;justify-content:space-between;color:#65707a;font-size:8px}

.modal{position:fixed;inset:0;z-index:3000;background:rgba(5,9,13,.68);backdrop-filter:blur(7px);display:none;align-items:center;justify-content:center;padding:20px}
.modal.show{display:flex}.modal-card{width:620px;max-width:100%;background:#fff;border-radius:17px;padding:31px;position:relative}
.modal-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:25px}.modal-card h2{font-size:29px;line-height:1.1;margin-top:7px}
.modal-card>p{font-size:11px;color:var(--muted);margin-top:7px}.quote-form{display:grid;gap:11px;margin-top:22px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.quote-form label span{display:block;font-size:8px;font-weight:850;margin-bottom:5px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #dce1e5;border-radius:6px;padding:10px 11px;font-size:10px}
.quote-form textarea{min-height:100px;resize:vertical}.quote-form button{height:46px;border:0;border-radius:5px;background:#11171d;color:#fff;font-size:9px;font-weight:900}
.success{display:none;text-align:center;padding:38px 10px}.success.show{display:block}.success i{display:flex;width:50px;height:50px;border-radius:50%;background:#f7f0e3;color:#9b7639;align-items:center;justify-content:center;font-style:normal;margin:auto}
.success h3{font-size:20px;margin-top:11px}.success p{font-size:10px;color:var(--muted);margin-top:5px}

.breadcrumb{padding:24px 0;font-size:9px;color:#7a848e;display:flex;gap:8px}.product-main{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;padding-bottom:80px}
.product-gallery{background:#f5f6f7;border-radius:17px;padding:24px}.product-gallery>img{height:500px;object-fit:cover;border-radius:10px}
.product-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.product-thumbs img{height:82px;object-fit:cover;border-radius:8px}
.product-summary h1{font-size:49px;line-height:1;letter-spacing:-2px;margin-top:8px}.product-summary>.lead{font-size:13px;color:#69737d;margin-top:14px}
.price-row{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-top:22px}
.price-row strong{font-size:23px}.price-row span{font-size:9px;color:#79848d}
.spec-pills{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.spec-pills div{background:#f3f5f6;border-radius:9px;padding:13px}
.spec-pills small{display:block;font-size:8px;color:#7d8790}.spec-pills strong{display:block;font-size:14px;margin-top:3px}
.product-ctas{display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;margin-top:20px}.product-ctas button{height:48px;border-radius:5px;font-size:9px;font-weight:900}
.product-ctas button:first-child{border:1px solid #d0d7dc;background:#fff}.product-ctas button:last-child{border:0;background:#11171d;color:#fff}
.product-details{margin-top:20px}.product-details details{border-top:1px solid var(--line);padding:13px 0}.product-details summary{font-size:10px;font-weight:850}.product-details p{font-size:10px;color:#727c85;margin-top:7px}
.spec-table{display:grid}.spec-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding:14px 0;font-size:11px}.spec-row:last-child{border-bottom:1px solid var(--line)}.spec-row span{color:#79838c}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:1050px){
  nav{display:none;position:absolute;left:20px;right:20px;top:66px;background:#10171d;border:1px solid #28313a;flex-direction:column;align-items:stretch;padding:12px}
  nav.open{display:flex}nav a{padding:11px}.menu-btn{display:flex}.lang{display:none}
  .product-grid,.feature-grid{grid-template-columns:1fr 1fr}.partner-grid{grid-template-columns:1fr}.partner-cards{grid-template-columns:1fr 1fr}
  .guide-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.cta-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.product-main{grid-template-columns:1fr}
}
@media(max-width:700px){
  .shell{width:min(var(--shell),calc(100% - 30px))}.section{padding:70px 0}.site-header{height:64px}.quote-btn{display:none}
  .hero,.hero-inner{min-height:620px}.hero h1{font-size:46px}.hero-copy{padding-top:55px}.hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:13px}
  .section-head{display:block}.section-head h2{font-size:35px}.section-head>p{margin-top:14px}
  .product-grid,.feature-grid,.partner-cards,.guide-grid,.process-grid{grid-template-columns:1fr}.product-card{min-height:340px}.partner-card{min-height:310px}.feature img{height:190px}
  .stats-grid{grid-template-columns:1fr 1fr}.stats-grid>div{border-bottom:1px solid var(--line)}
  .footer-grid{grid-template-columns:1fr;gap:24px}.footer-bottom{flex-direction:column;gap:6px}.form-two{grid-template-columns:1fr}
  .product-gallery>img{height:360px}.product-summary h1{font-size:39px}.product-ctas{grid-template-columns:1fr}
}


/* visual polish v1.1 */
.hero-copy{max-width:720px}
.hero h1{font-size:70px}
.product-card,.partner-card,.guide-card,.feature,.cta-card,.product-gallery{box-shadow:var(--shadow)}
.product-card img,.partner-card img,.guide-card img,.feature img,.cta-card img,.product-gallery>img,.product-thumbs img{image-rendering:auto}
.product-card img{filter:contrast(1.05) saturate(1.06) brightness(.95)}
.partner-card img,.cta-card img{filter:contrast(1.04) saturate(1.04) brightness(.92)}
.feature img,.guide-card img{filter:contrast(1.04) saturate(1.03)}
.product-card:before,.partner-card:before,.cta-card:before{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.10);border-radius:inherit;z-index:1;pointer-events:none}
.product-copy,.cta-copy,.partner-card div{backdrop-filter:blur(.3px)}




/* =========================================================
   V1.3 — 3-slide cinematic hero
   ========================================================= */
.hero{
  position:relative;
  min-height:650px;
  background:#070c11;
  color:#fff;
  overflow:hidden;
}
.hero-slider{
  position:absolute;
  inset:0;
}
.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .85s ease, visibility .85s ease;
}
.hero-slide.active{
  opacity:1;
  visibility:visible;
  z-index:1;
}
.hero-slide img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.025);
  transition:transform 7s cubic-bezier(.18,.7,.25,1);
}
.hero-slide.active img{transform:scale(1.075)}
.hero-slide:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,8,12,.96) 0%,rgba(4,8,12,.80) 38%,rgba(4,8,12,.27) 70%,rgba(4,8,12,.08) 100%),
    linear-gradient(0deg,rgba(0,0,0,.42),transparent 48%);
}
.hero-inner{position:relative;z-index:5}
.hero-copy{position:relative;z-index:6}
.hero-slide-copy{display:none}
.hero-slide-copy.active{display:block}
.hero-slide-copy h1{font-size:66px;line-height:.97;letter-spacing:-3px;margin-top:18px}
.hero-slide-copy h1 span{display:block;font-weight:400;color:#d6dce1}
.hero-slide-copy>p{font-size:16px;color:#c5ced5;max-width:620px;margin-top:21px}

.hero-pager{
  position:absolute;
  z-index:8;
  left:50%;
  transform:translateX(-50%);
  bottom:24px;
  width:min(var(--shell),calc(100% - 48px));
  display:flex;
  align-items:center;
  gap:12px;
}
.hero-tab{
  flex:1;
  border:0;
  border-top:1px solid rgba(255,255,255,.22);
  background:transparent;
  color:#fff;
  text-align:left;
  padding:12px 0 0;
  opacity:.48;
  transition:.22s;
}
.hero-tab.active,.hero-tab:hover{opacity:1}
.hero-tab b{display:block;font-size:10px}
.hero-tab span{display:block;font-size:8px;color:#a8b4be;margin-top:2px}
.hero-tab i{
  display:block;
  width:0;
  height:2px;
  background:var(--gold);
  position:absolute;
  top:-1px;
}
.hero-tab{position:relative}
.hero-tab.active i{animation:vexHeroProgress 6.5s linear forwards}
@keyframes vexHeroProgress{from{width:0}to{width:100%}}

@media(max-width:700px){
  .hero-slide-copy h1{font-size:45px}
  .hero-pager{gap:8px;bottom:12px}
  .hero-tab span{display:none}
  .hero-tab b{font-size:8px}
}




/* =========================================================
   V1.3.2 FLOATING CONTACT — CACHEPROOF FINAL
   Reference visual size: 56 CSS px (≈112 px @2x DPR)
   ========================================================= */
.float-rail{
  position:fixed !important;
  right:16px !important;
  top:62% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  z-index:9999 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:12px !important;
  width:56px !important;
  margin:0 !important;
  padding:0 !important;
}
.float-btn{
  position:relative !important;
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  min-height:56px !important;
  max-width:56px !important;
  max-height:56px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 9px 22px rgba(0,0,0,.16) !important;
  transition:transform .18s ease,box-shadow .18s ease !important;
}
.float-btn:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 13px 26px rgba(0,0,0,.22) !important;
}
.float-btn svg{
  display:block !important;
  width:25px !important;
  height:25px !important;
  flex:0 0 25px !important;
}
.float-btn.wechat{
  background:#ffb91f !important;
  color:#111 !important;
}
.float-btn.whatsapp{
  background:#25d366 !important;
  color:#fff !important;
}
.float-btn.email{
  background:#0b0b0f !important;
  color:#fff !important;
}
.float-btn::before,
.float-btn::after{
  display:none !important;
}

@media(max-width:900px){
  .float-rail{
    right:10px !important;
    top:auto !important;
    bottom:14px !important;
    transform:none !important;
    gap:9px !important;
    width:48px !important;
  }
  .float-btn{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
  }
  .float-btn svg{
    width:22px !important;
    height:22px !important;
    flex-basis:22px !important;
  }
}


/* V1.5 refined polish */
.hero,.hero-inner{min-height:700px}
.hero-copy{max-width:740px}
.section-head{margin-bottom:46px}
.product-card,.partner-card,.feature,.guide-card,.cta-card,.product-gallery{border-radius:18px}
.product-card{min-height:430px}
.feature img{height:220px}
.guide-card img{height:215px}
.hero-slide-copy h1{font-size:70px}
@media(max-width:700px){.hero,.hero-inner{min-height:640px}.hero-slide-copy h1{font-size:46px}}


/* PYSEM brand integration */
.pysem-auto-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  text-decoration:none!important;
}
.pysem-auto-logo{
  display:block;
  width:112px;
  height:auto;
}
.pysem-auto-brand small{
  color:#8f9aa4!important;
  font-size:6px!important;
  line-height:1.2!important;
  letter-spacing:.15em!important;
  font-weight:800!important;
  white-space:nowrap;
}
.pysem-auto-footer-brand{
  align-items:flex-start!important;
  flex-direction:column!important;
  gap:6px!important;
}
.pysem-auto-footer-brand .pysem-auto-logo{width:116px}
@media(max-width:760px){
  .pysem-auto-logo{width:96px}
  .pysem-auto-brand small{display:none}
}


/* V11.1 approved PYSEM wordmark sizing */
.pysem-brand-img,
.pysem-demo-logo,
.pysem-textile-logo,
.pysem-auto-logo,
.pysem-cms-logo{
  object-fit:contain!important;
  object-position:left center!important;
}

.pysem-auto-logo{width:126px!important;height:auto!important}
.pysem-auto-footer-brand .pysem-auto-logo{width:132px!important}
@media(max-width:760px){.pysem-auto-logo{width:108px!important}}


/* =========================================================
   V16 MOBILE FIX — Automotive demo
   Desktop untouched. Reduce aggressive cover cropping on phones.
   ========================================================= */
@media(max-width:700px){
  /* Hero becomes a photo band + dark copy area. This keeps most of the car visible. */
  .hero{min-height:690px!important;background:#070c11!important;padding-top:235px!important}
  .hero-slider{top:0!important;bottom:auto!important;height:235px!important}
  .hero-slide img{
    width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important;
  }
  .hero-slide.active img{transform:none!important}
  .hero-slide:nth-child(1) img{object-position:55% center!important}
  .hero-slide:nth-child(2) img{object-position:54% center!important}
  .hero-slide:nth-child(3) img{object-position:52% center!important}
  .hero-slide:after{
    background:linear-gradient(180deg,rgba(4,8,12,.06),rgba(4,8,12,.16) 58%,#070c11 100%)!important;
  }
  .hero-inner{min-height:455px!important;align-items:flex-start!important}
  .hero-copy{padding:30px 0 105px!important}
  .hero-slide-copy h1{font-size:40px!important;letter-spacing:-1.8px!important}
  .hero-slide-copy>p{font-size:13px!important}
  .hero-pager{bottom:13px!important}

  /* Main product cards: lower portrait height so 4:3 sources are not over-cropped. */
  .product-card{min-height:285px!important}
  .product-card img{object-position:center!important}
  .product-copy{left:19px!important;right:19px!important;bottom:17px!important}

  /* Dealer / OEM cards: reduce crop while preserving overlay treatment. */
  .partner-card{min-height:260px!important}
  .partner-card img{object-position:center!important}

  /* Feature and guide images are 4:3 sources: honor that ratio on mobile. */
  .feature img,.guide-card img{
    width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important;
  }

  /* CTA source images are wide: reduce card height and set useful focal positions. */
  .cta-card{min-height:235px!important}
  .cta-card:first-child img{object-position:62% center!important}
  .cta-card:last-child img{object-position:45% center!important}

  /* Product detail gallery: main source is 7:5; don't force it into a square. */
  .product-gallery{padding:14px!important}
  .product-gallery>img{
    width:100%!important;height:auto!important;aspect-ratio:7/5!important;
    object-fit:contain!important;object-position:center!important;background:#0e141a!important;
  }
  .product-thumbs img{
    height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important;
  }
}
@media(max-width:390px){
  .hero{min-height:665px!important;padding-top:218px!important}
  .hero-slider{height:218px!important}
  .hero-slide-copy h1{font-size:37px!important}
}

/* Shared presentation refinements: demo and native WordPress blocks. */
/* Preserve the left scene instead of covering it with an almost opaque panel. */
@media(min-width:701px){.hero-slide img{object-position:left center}.hero-slide:after{background:linear-gradient(90deg,rgba(4,8,12,.28) 0%,rgba(4,8,12,.34) 26%,rgba(4,8,12,.28) 47%,rgba(4,8,12,.10) 72%,rgba(4,8,12,.02) 100%),linear-gradient(0deg,rgba(4,8,12,.24),transparent 38%)}}
:root{--muted:#59636c}
.reveal{opacity:1!important;transform:none!important}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #be852c;outline-offset:5px}
.vf-skip{position:fixed;left:16px;top:-100px;background:#fff;color:#111;padding:14px;z-index:10000}.vf-skip:focus{top:16px}
.brand{flex-direction:column;align-items:flex-start;gap:1px}.brand strong{font-size:24px;letter-spacing:-1px}.brand strong span{font-size:11px;vertical-align:top;margin-left:3px}.brand small{font-size:8px;letter-spacing:.22em;color:#c2c7cb}
.quote-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.menu-btn span{font-size:22px}
.hero-slide-copy h2{font-size:72px;line-height:.98;letter-spacing:-3px;font-weight:900}.hero-slide-copy h2 span{display:block;font-weight:300;color:#cbd0d5}
.hero-tab{animation:none!important}.hero-tab i{display:none}.hero-tab b{display:block}.hero-tab.active{border-color:#d9b06a}
.hero-pager{gap:24px}.hero-tab{min-height:54px}
.hero-slide img,.hero-slide.active img{transform:none!important;animation:none!important}
.btn-gold{background:var(--gold);border-color:var(--gold)}.eyebrow{color:#626b73}
.vf-page-hero{position:relative;min-height:560px;background:#0b1015;color:#fff;display:flex;align-items:center;isolation:isolate;overflow:hidden}
.vf-page-hero>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:65% center;z-index:-2}
.vf-page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,8,12,.92),rgba(4,8,12,.76) 40%,rgba(4,8,12,.12));z-index:-1}
.vf-page-hero-copy{padding-block:55px 75px}.vf-page-hero .eyebrow{color:#e7c68d}.vf-page-hero h1{font-size:clamp(38px,4.6vw,72px);max-width:800px;letter-spacing:-.045em;line-height:1.04;margin:18px 0 24px;font-weight:800}.vf-page-hero-copy>p:not(.vf-breadcrumb){max-width:560px;color:#dde1e4;font-size:17px;line-height:1.7;margin-bottom:28px}
.vf-breadcrumb{font-size:11px;color:#c0c6cb;margin-bottom:50px}.vf-breadcrumb a:hover{text-decoration:underline}
.vf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.vf-card{padding:32px;border-top:2px solid #c69b53;background:#f5f6f7}.vf-card h3{font-size:24px;line-height:1.2;margin:28px 0 16px;letter-spacing:-.5px}.vf-card p{font-size:15px;color:#59636c}
.vf-faq{max-width:960px;margin:auto}.vf-faq details{padding:24px 0;border-bottom:1px solid #d8dde1}.vf-faq summary{font-size:20px;font-weight:650;cursor:pointer}.vf-faq details p{margin-top:18px;color:#59636c;max-width:800px}
.vf-end{background:#10171e;color:#fff;padding:72px 0}.vf-end>.shell{display:flex;align-items:center;justify-content:space-between;gap:32px}.vf-end .eyebrow{color:#e7c68d}.vf-end h2{font-size:clamp(30px,3vw,48px);letter-spacing:-.04em;line-height:1.1;margin:14px 0}.vf-end p{color:#bfc7ce}
.vf-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}.vf-detail-image{position:sticky;top:110px;background:#eef0f2}.vf-detail-image img{aspect-ratio:1/1;object-fit:cover}.vf-detail h1{font-size:clamp(38px,4vw,62px);line-height:1.05;letter-spacing:-.045em;margin:15px 0 24px}.vf-lead{font-size:18px;color:#59636c;line-height:1.65}.vf-specs{margin:32px 0}.vf-specs>div{display:grid;grid-template-columns:115px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #dce1e5;font-size:14px}.vf-specs>div>p:first-child{color:#59636c}.vf-action-row{display:flex;gap:12px;flex-wrap:wrap}.vf-note{font-size:12px;color:#626b73;margin-top:24px}
.vf-article{max-width:820px}.vf-article>div{margin-bottom:48px}.vf-article h2{font-size:30px;line-height:1.2;letter-spacing:-.025em;margin-bottom:20px}.vf-article p{font-size:18px;line-height:1.85;color:#505a63}
.vf-contact-placeholder{padding:48px;background:#f2f4f5;border-left:3px solid #c69b53}.vf-contact-placeholder h2{font-size:36px;line-height:1.2;margin-bottom:24px}.vf-contact-placeholder p{margin:18px 0}.vf-contact-placeholder .btn{margin-top:15px}
.footer h3{font-size:12px;letter-spacing:.08em;margin-bottom:20px}.footer-link{display:block;font-size:13px;margin-bottom:12px;color:#c3cbd1}.footer p{color:#b7c0c8}.footer-bottom{gap:24px}.footer-bottom p{font-size:11px}.footer-link:hover{color:#e7c68d}
@media(max-width:1100px){nav{gap:16px}.header-inner{gap:16px}.hero-slide-copy h2{font-size:57px}.vf-detail{gap:32px}.vf-cards{gap:18px}.vf-card{padding:24px}.section-head{gap:30px}}
@media(max-width:900px){.site-header{height:auto;min-height:74px}.header-inner{min-height:74px}.hero-slide-copy h2{font-size:46px;letter-spacing:-2px}.vf-page-hero{min-height:500px}.vf-page-hero h1{max-width:650px}.vf-cards{grid-template-columns:1fr}.vf-detail{grid-template-columns:1fr}.vf-detail-image{position:relative;top:auto;max-width:640px}.vf-detail-image img{aspect-ratio:4/3}.vf-card h3{margin-top:16px}.vf-end>.shell{align-items:flex-start;flex-direction:column}nav.open{display:flex!important}.header-actions{margin-left:auto}.site-header nav.open{position:absolute;left:0;right:0;top:100%;padding:20px 24px;background:#10171e;flex-direction:column;gap:0}.site-header nav.open a{padding:14px 0}}
@media(max-width:600px){.shell{width:calc(100% - 40px)}.section{padding:64px 0}.section-head{margin-bottom:28px}.section-head h2{font-size:34px;letter-spacing:-1.2px}.vf-page-hero{min-height:580px;align-items:flex-end}.vf-page-hero:after{background:linear-gradient(0deg,#080d12 2%,rgba(8,13,18,.88) 45%,rgba(8,13,18,.18))}.vf-page-hero>img{height:100%;object-position:65% center}.vf-page-hero-copy{padding:30px 0 44px}.vf-breadcrumb{margin-bottom:120px}.vf-page-hero h1{font-size:39px}.vf-page-hero-copy>p:not(.vf-breadcrumb){font-size:15px}.vf-detail{gap:30px}.vf-specs>div{grid-template-columns:90px 1fr;gap:12px}.vf-contact-placeholder{padding:28px}.vf-contact-placeholder h2{font-size:30px}.vf-article h2{font-size:26px}.vf-article p{font-size:16px}.vf-end{padding:50px 0}.hero-slide-copy h2{font-size:40px;letter-spacing:-1.8px}.hero-tab{font-size:9px}.hero-tab span{font-size:9px}.hero-pager{gap:10px}.hero-proof{display:none!important}.hero-inner{min-height:430px!important}.hero-copy{padding-bottom:110px!important}.hero-slide-copy h1,.hero-slide-copy h2{min-height:120px}.hero-slide-copy p{min-height:80px}.hero-actions{gap:8px}.hero-actions .btn{padding-inline:12px;font-size:9px}.brand strong{font-size:22px}.brand small{font-size:7px}.header-actions .quote-btn{padding-inline:12px}.footer-bottom{flex-direction:column;align-items:flex-start}.vf-faq summary{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* VexFilm 1.1: shared editorial rhythm. The established homepage hero is unchanged. */
.section{padding-block:88px}
.section-head{align-items:end;gap:48px;margin-bottom:36px}
.section-head>div{min-width:0;flex:1}
.section-head h2{font-size:clamp(32px,3vw,48px);line-height:1.08;letter-spacing:-.04em;max-width:850px;text-wrap:balance}
.section-head>p{font-size:15px;line-height:1.7;max-width:370px}
.vf-page-hero{min-height:520px}
.vf-page-hero-copy{padding-block:48px 64px}
.vf-page-hero h1{font-size:clamp(40px,4.2vw,64px);line-height:1.06;max-width:780px;text-wrap:balance}
.vf-page-hero-copy>p:not(.vf-breadcrumb){max-width:560px}
.vf-breadcrumb{margin-bottom:38px;line-height:1.5}
.product-grid,.guide-grid{gap:24px}
.product-card{border-radius:8px;min-height:440px}
.product-copy{left:28px;right:28px;bottom:28px}
.product-copy h3{font-size:28px;line-height:1.1;letter-spacing:-.025em}
.product-copy p,.partner-card p,.cta-copy p{font-size:14px;line-height:1.65}
.product-copy .more,.partner-card a,.guide-body a{font-size:11px;letter-spacing:.04em;min-height:44px;align-items:center}
.feature,.guide-card{border-radius:8px;box-shadow:none;display:flex;flex-direction:column}
.feature img,.guide-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.feature-body,.guide-body{padding:24px;flex:1}
.feature-body h3{font-size:20px;line-height:1.2;letter-spacing:-.02em}
.feature-body p,.guide-body p{font-size:14px;line-height:1.7;margin-top:10px}
.guide-body h3{font-size:24px;line-height:1.18;letter-spacing:-.025em}
.guide-body>span{font-size:10px;color:#626b73}
.guide-body a{color:#77551e;display:inline-flex}
.vf-card{border-top-width:1px;padding:32px;border-radius:0 0 6px 6px}
.vf-card h3{font-size:25px;letter-spacing:-.025em}
.vf-card p{line-height:1.75}
.vf-detail{gap:56px}
.vf-detail-image{border-radius:8px;overflow:hidden}
.vf-detail-image img{width:100%;aspect-ratio:1;object-fit:contain;background:#111820}
.vf-specs{margin-block:28px}
.vf-specs strong{font-weight:500}
.vf-faq{max-width:900px}
.vf-faq summary{line-height:1.4;padding-right:24px}
.vf-faq details p{font-size:16px;line-height:1.75}
.vf-article{max-width:780px}
.vf-article h2{font-size:30px;letter-spacing:-.03em}
.vf-article p{font-size:17px;line-height:1.85}
.process-card{border-radius:8px;padding:26px}
.process-card h3{font-size:20px;line-height:1.2}
.process-card p{font-size:14px;line-height:1.7;color:#bdc6ce}
.partner-card,.cta-card{border-radius:8px}
.partner-copy p{font-size:16px;line-height:1.75}
.btn,.quote-btn{min-height:44px}
.btn:hover,.btn:focus-visible{box-shadow:0 0 0 1px currentColor}
.vf-contact-placeholder{border-radius:0 8px 8px 0}
.footer p,.footer-link{font-size:13px;line-height:1.7}
@media(max-width:1100px){.section{padding-block:72px}.section-head{gap:28px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid,.guide-grid{gap:18px}.product-copy{left:20px;right:20px}.product-card{min-height:410px}.feature-body,.guide-body{padding:22px}.vf-detail{gap:32px}}
@media(max-width:900px){.section-head{align-items:start;flex-direction:column;gap:18px}.section-head>p{max-width:600px}.vf-page-hero h1{max-width:650px}.vf-detail-image{max-width:640px}.vf-detail-image img{aspect-ratio:4/3;object-fit:contain}.vf-cards{gap:16px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.section{padding-block:56px}.section-head{margin-bottom:28px}.section-head h2{font-size:32px;line-height:1.12}.section-head>p{font-size:15px}.vf-page-hero{min-height:500px}.vf-page-hero-copy{padding-block:28px 40px}.vf-breadcrumb{margin-bottom:60px}.vf-page-hero h1{font-size:36px;letter-spacing:-.035em;line-height:1.08;margin-block:16px 20px}.vf-page-hero-copy>p:not(.vf-breadcrumb){font-size:15px;line-height:1.7}.product-grid,.guide-grid,.feature-grid,.process-grid{grid-template-columns:minmax(0,1fr);gap:20px}.product-card{min-height:400px}.product-copy{left:24px;right:24px;bottom:24px}.feature-body,.guide-body{padding:24px}.vf-card{padding:26px}.vf-detail{gap:28px}.vf-detail h1{font-size:38px}.vf-lead{font-size:16px}.vf-specs>div{grid-template-columns:84px minmax(0,1fr);font-size:13px;gap:16px}.vf-action-row .btn{flex:1 1 150px;text-align:center;justify-content:center}.vf-article h2{font-size:27px}.vf-article p{font-size:16px}.vf-faq summary{font-size:18px}.vf-faq details{padding-block:22px}.process-card{min-height:0}.vf-end h2{font-size:34px}.footer-grid{gap:28px}}
.product-card{box-shadow:0 10px 24px rgba(6,15,24,.08)}
.footer .brand{font-size:24px;color:#fff}

.menu-btn{color:#fff;background:transparent;border:1px solid #56616b;border-radius:4px;width:44px;height:44px;align-items:center;justify-content:center}.menu-btn span{color:inherit}
