/* ============================================================
   MV Power Drive — Elementor sections
   Ported 1:1 from the static landing page (index.html).
   All rules scoped under `.mvpg` so nothing leaks into the
   theme header/footer or other Elementor widgets.
   Header & footer styles intentionally NOT ported.

   IMPORTANT — selector convention:
   Every widget renders its root as <section class="mvpg …">,
   so rules that style the section itself MUST use the compound
   form (.mvpg.section, .mvpg.hero, .mvpg.strip, …). The descendant
   form (.mvpg .section) never matches and was the cause of the
   broken hero/marquee/padding layout.
   ============================================================ */

/* Scoped reset — reproduces the static page's *{margin:0;padding:0}
   inside .mvpg only, and stops theme margins/bullets from leaking in. */
.mvpg, .mvpg *, .mvpg *::before, .mvpg *::after{box-sizing:border-box; margin:0; padding:0;}
.mvpg ul, .mvpg ol{list-style:none;}

.mvpg{
  --mvpg-white:#ffffff;
  --mvpg-paper:#FBFCFD;
  --mvpg-offwhite:#F6F8FA;
  --mvpg-black:#0A0909;
  --mvpg-ink:#14181D;
  --mvpg-ink-2:#333A41;
  --mvpg-gray-1:#54595F;
  --mvpg-gray-2:#7A7A7A;
  --mvpg-gray-3:#8A9099;
  --mvpg-line:#E7EAEE;
  --mvpg-line-2:#D6D5D5;
  --mvpg-blue:#01A4E0;
  --mvpg-blue-2:#01A4E0;
  --mvpg-blue-dark:#0288BF;
  --mvpg-navy:#024C67;
  --mvpg-lightblue:#E3F2FD;
  --mvpg-tint:#F2F8FC;
  --mvpg-shadow-xs:0 1px 2px rgba(2,15,20,.05);
  --mvpg-shadow-sm:0 2px 6px rgba(2,15,20,.05), 0 6px 18px -8px rgba(2,15,20,.12);
  --mvpg-shadow:0 10px 30px -12px rgba(2,15,20,.16), 0 4px 12px -6px rgba(2,15,20,.08);
  --mvpg-shadow-lg:0 30px 70px -28px rgba(2,15,20,.30), 0 10px 24px -12px rgba(2,15,20,.14);
  --mvpg-shadow-blue:0 14px 32px -10px rgba(1,164,224,.5);
  --mvpg-ff-head:'Syne', sans-serif;
  --mvpg-ff-body:'Roboto', sans-serif;
  --mvpg-maxw:1240px;
  --mvpg-r-btn:12px;
  --mvpg-r-card:20px;
  --mvpg-r-lg:28px;
  --mvpg-r-xl:34px;
  --mvpg-ease:cubic-bezier(.22,1,.36,1);
  --mvpg-ease-out:cubic-bezier(.16,1,.3,1);

  font-family:var(--mvpg-ff-body);
  color:var(--mvpg-ink-2);
  background:var(--mvpg-white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  width:100%;
}

.mvpg img,.mvpg svg{display:block; max-width:100%;}
.mvpg a{color:inherit; text-decoration:none;}
.mvpg button{font-family:inherit; cursor:pointer; border:none; background:none; color:inherit;}

.mvpg .wrap{max-width:var(--mvpg-maxw); margin:0 auto; padding:0 32px;}
@media(max-width:800px){.mvpg .wrap{padding:0 20px;}}

.mvpg h1,.mvpg h2,.mvpg h3,.mvpg h4,.mvpg h5{font-family:var(--mvpg-ff-head); color:var(--mvpg-ink); font-weight:700; line-height:1.08; letter-spacing:-.015em;}
.mvpg h2{font-size:clamp(24px,3vw,36px);}
.mvpg h3{font-size:19px;}
.mvpg p{line-height:1.72; font-size:16px; color:var(--mvpg-ink-2);}
.mvpg .lead{font-size:clamp(16.5px,1.5vw,19px); line-height:1.62; color:var(--mvpg-gray-1);}

/* Section root — compound selector (.mvpg.section), NOT .mvpg .section. */
.mvpg.section{padding:clamp(72px,9vw,120px) 0;}

.mvpg .eyebrow{display:inline-flex; align-items:center; gap:10px; font-family:var(--mvpg-ff-head); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--mvpg-blue-2); font-weight:600; margin-bottom:20px;}
.mvpg .eyebrow::before{content:""; width:24px; height:2px; background:var(--mvpg-blue-2); border-radius:2px;}
.mvpg .center{text-align:center;}
.mvpg .center .eyebrow{justify-content:center;}
.mvpg .center .eyebrow::after{content:""; width:24px; height:2px; background:var(--mvpg-blue-2); border-radius:2px;}
.mvpg .section-head{max-width:680px; margin:0 auto 56px;}
.mvpg .section-head.left{margin-left:0;}
.mvpg .section-head h2{margin-bottom:14px;}
.mvpg .section-head p{font-size:16.5px;}
.mvpg .grad{color:var(--mvpg-navy);}

/* ===== Buttons ===== */
.mvpg .btn{position:relative; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:15px 28px; border-radius:var(--mvpg-r-btn); font-family:var(--mvpg-ff-head); font-weight:600; font-size:15.5px; border:1px solid transparent; overflow:hidden; transition:transform .35s var(--mvpg-ease), box-shadow .35s var(--mvpg-ease), background .3s ease, color .3s ease, border-color .3s ease; white-space:nowrap; letter-spacing:.005em;}
.mvpg .btn svg{width:18px; height:18px; flex-shrink:0;}
.mvpg .btn-green{background:var(--mvpg-blue-2); color:#fff; box-shadow:0 8px 20px -8px rgba(1,164,224,.55);}
.mvpg .btn-green:hover{transform:translateY(-2px); box-shadow:var(--mvpg-shadow-blue); background:var(--mvpg-blue-dark);}
.mvpg.final-cta-band .btn-green{background:var(--mvpg-black); box-shadow:0 8px 20px -8px rgba(0,0,0,.5);}
.mvpg.final-cta-band .btn-green:hover{background:#000;}
.mvpg .btn-blue{background:var(--mvpg-blue-2); color:#fff; box-shadow:0 8px 20px -8px rgba(1,164,224,.55);}
.mvpg .btn-blue:hover{transform:translateY(-2px); background:var(--mvpg-blue-dark); box-shadow:0 14px 30px -10px rgba(1,164,224,.5);}
.mvpg .btn-dark{background:var(--mvpg-ink); color:#fff;}
.mvpg .btn-dark:hover{transform:translateY(-2px); background:var(--mvpg-black); box-shadow:var(--mvpg-shadow);}
.mvpg .btn-outline{background:transparent; border-color:var(--mvpg-line-2); color:var(--mvpg-ink);}
.mvpg .btn-outline:hover{border-color:var(--mvpg-ink); transform:translateY(-2px);}
.mvpg .btn-light{background:#fff; color:var(--mvpg-ink); border-color:rgba(255,255,255,.4);}
.mvpg .btn-light:hover{transform:translateY(-2px); box-shadow:var(--mvpg-shadow);}
.mvpg .btn-wa{background:#fff; color:var(--mvpg-ink); border-color:var(--mvpg-line-2);}
.mvpg .btn-wa:hover{border-color:var(--mvpg-blue-2); color:var(--mvpg-blue-dark); transform:translateY(-2px);}
.mvpg .btn-wa svg{fill:#25D366;}
.mvpg .btn-sm{padding:10px 18px; font-size:14px; border-radius:100px;}

/* ===== HERO ===== (root: section.mvpg.hero) */
.mvpg.hero{position:relative; padding:clamp(150px,16vw,196px) 0 clamp(82px,8vw,108px); background-size:cover; background-position:center; background-repeat:no-repeat; overflow:hidden;}
.mvpg.hero::before{content:""; position:absolute; inset:0; background:rgb(5 45 60 / 72%); z-index:0; pointer-events:none;}
.mvpg.hero::after{content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px); background-size:28px 28px; -webkit-mask-image:radial-gradient(72% 60% at 68% 18%,#000 0%,transparent 75%); mask-image:radial-gradient(72% 60% at 68% 18%,#000 0%,transparent 75%); z-index:0; pointer-events:none;}
.mvpg.hero .blob{position:absolute; border-radius:50%; filter:blur(70px); pointer-events:none; z-index:0;}
.mvpg.hero .b1{width:460px; height:460px; right:-120px; top:-130px; background:radial-gradient(circle,rgba(255,255,255,.28),transparent 68%);}
.mvpg.hero .b2{width:380px; height:380px; left:-130px; bottom:-150px; background:radial-gradient(circle,rgba(186,230,250,.30),transparent 68%);}
.mvpg.hero .eyebrow{color:#fff;}
.mvpg.hero h1{color:#fff; font-size:clamp(28px,4vw,34px); font-weight:800; margin-bottom:20px; max-width:16ch; letter-spacing:2px; line-height:1.3em; text-transform:capitalize;}
.mvpg.hero .lead{color:rgba(255,255,255,.92); max-width:54ch; margin-bottom:32px;}
.mvpg.hero .btn-outline{background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.55); color:#fff;}
.mvpg.hero .btn-outline:hover{background:rgba(255,255,255,.32); border-color:#fff; transform:translateY(-2px);}
.mvpg.hero .grad{color:#fff;}
.mvpg.hero .hero-badge{box-shadow:0 6px 18px -8px rgba(2,15,20,.25);}
.mvpg .hero-grid{position:relative; z-index:1; display:grid; grid-template-columns:1.4fr 0.8fr; gap:56px; align-items:center;}
@media(max-width:980px){.mvpg .hero-grid{grid-template-columns:1fr; gap:40px;}}
.mvpg .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.mvpg .hero-badges{display:flex; gap:10px; margin-top:32px; flex-wrap:wrap;}
.mvpg .hero-badge{display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--mvpg-line); padding:10px 15px; border-radius:100px; font-size:12.5px; color:var(--mvpg-ink); font-family:var(--mvpg-ff-head); font-weight:500; box-shadow:var(--mvpg-shadow-xs);}
.mvpg .hero-badge svg{width:15px; height:15px; stroke:var(--mvpg-blue-2);}

/* hero contact form — frosted glass */
.mvpg .hero-form{position:relative; background:rgba(255,255,255,.12); -webkit-backdrop-filter:blur(18px) saturate(140%); backdrop-filter:blur(18px) saturate(140%); border-radius:20px; padding:30px 30px 24px; border:1px solid rgba(255,255,255,.25); box-shadow:0 40px 70px -30px rgba(2,15,20,.55), 0 12px 30px -18px rgba(2,15,20,.3);}
.mvpg .hf-head{margin-bottom:18px;}
.mvpg .hf-head h3{font-size:20px; color:#fff; margin-bottom:5px;}
.mvpg .hf-head p{font-size:13px; color:rgba(255,255,255,.82); margin:0;}
.mvpg .hf-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.mvpg .hf-field{margin-bottom:12px; position:relative;}
.mvpg .hf-field label{display:block; font-family:var(--mvpg-ff-head); font-size:11.5px; font-weight:600; color:rgba(255,255,255,.8); margin-bottom:6px; letter-spacing:.02em;}
.mvpg .hf-field input,.mvpg .hf-field select,.mvpg .hf-field textarea{width:100%; height:auto; padding:12px 14px; border:1px solid rgba(255,255,255,.22); border-radius:10px; font-family:var(--mvpg-ff-body); font-size:14px; line-height:1.4; color:#fff; background:rgba(255,255,255,.1); box-shadow:none; transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;}
.mvpg .hf-field select{appearance:none; -webkit-appearance:none; -moz-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:34px;}
.mvpg .hf-field select option{background:#024C67; color:#fff;}
.mvpg .hf-field textarea{resize:vertical; min-height:78px;}
.mvpg .hf-field input::placeholder,.mvpg .hf-field textarea::placeholder{color:rgba(255,255,255,.6);}
.mvpg .hf-field input:focus,.mvpg .hf-field select:focus,.mvpg .hf-field textarea:focus{outline:none; border-color:rgba(255,255,255,.65); background:rgba(255,255,255,.16); box-shadow:0 0 0 3px rgba(1,164,224,.25);}
.mvpg .hf-submit{width:100%; margin-top:4px; background:var(--mvpg-blue-2); color:#fff; border:none; padding:14px; border-radius:10px; font-family:var(--mvpg-ff-head); font-weight:600; font-size:15px; cursor:pointer; transition:background .25s ease, transform .25s ease, box-shadow .25s ease;}
.mvpg .hf-submit:hover{background:var(--mvpg-blue-dark); transform:translateY(-1px); box-shadow:0 12px 24px -10px rgba(1,164,224,.6);}
.mvpg .hf-trust{display:flex; align-items:center; gap:8px; margin-top:14px; font-size:11.5px; color:rgba(255,255,255,.8); font-family:var(--mvpg-ff-head);}
.mvpg .hf-trust svg{width:14px; height:14px; stroke:#fff; fill:none; stroke-width:2.4;}
@media(max-width:520px){.mvpg .hf-row{grid-template-columns:1fr;}}

/* ===== MARQUEE STRIP ===== (root: section.mvpg.strip) */
.mvpg.strip{background:var(--mvpg-ink); color:#fff; padding:18px 0; overflow:hidden;}
.mvpg.strip .track{display:flex; gap:0; align-items:center; white-space:nowrap; width:max-content; animation:mvpg-marquee 32s linear infinite;}
.mvpg.strip .track:hover{animation-play-state:paused;}
.mvpg.strip .mi{display:inline-flex; align-items:center; gap:14px; padding:0 26px; font-family:var(--mvpg-ff-head); font-size:14px; font-weight:600; letter-spacing:.02em; color:rgba(255,255,255,.86);}
.mvpg.strip .mi svg{width:17px; height:17px; stroke:var(--mvpg-blue-2); stroke-width:1.8;}
.mvpg.strip .mi .sep{width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.25); display:inline-block;}
@keyframes mvpg-marquee{to{transform:translateX(-50%);}}

/* ===== SOLUTIONS ===== */
.mvpg .solutions-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
@media(max-width:980px){.mvpg .solutions-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.mvpg .solutions-grid{grid-template-columns:1fr;}}
.mvpg .sol-card{position:relative; background:var(--mvpg-blue-2); border:1px solid rgba(255,255,255,.2); border-radius:var(--mvpg-r-card); padding:30px; overflow:hidden; transition:transform .4s var(--mvpg-ease), box-shadow .4s var(--mvpg-ease), border-color .3s ease;}
.mvpg .sol-card:hover{transform:translateY(-6px); box-shadow:0 30px 60px -24px rgba(3,162,226,.55); border-color:rgba(255,255,255,.45);}
.mvpg .sol-num{position:absolute; top:24px; right:26px; font-family:var(--mvpg-ff-head); font-size:13px; font-weight:700; color:rgba(255,255,255,.45);}
.mvpg .sol-icon{width:54px; height:54px; border-radius:15px; background:rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; margin-bottom:20px; transition:transform .4s var(--mvpg-ease);}
.mvpg .sol-icon svg{width:28px; height:28px; stroke:#fff; stroke-width:1.6;}
.mvpg .sol-card:hover .sol-icon{transform:rotate(-6deg) scale(1.06);}
.mvpg .sol-card h4{font-size:18px; margin-bottom:6px; color:#fff;}
.mvpg .sol-card .sub{font-family:var(--mvpg-ff-head); font-size:11.5px; color:#d7f0fb; font-weight:600; margin-bottom:10px; letter-spacing:.03em;}
.mvpg .sol-card p{font-size:13.5px; margin-bottom:18px; color:rgba(255,255,255,.86);}
.mvpg .sol-card a.link{position:relative; font-family:var(--mvpg-ff-head); font-size:13.5px; font-weight:600; color:#fff;}
.mvpg .sol-card a.link::after{content:""; position:absolute; left:0; bottom:-3px; width:0; height:1.5px; background:#fff; transition:width .3s var(--mvpg-ease);}
.mvpg .sol-card a.link:hover::after{width:100%;}

/* ===== JOURNEY (process centerpiece) ===== */
.mvpg .journey-head{display:grid; grid-template-columns:1.4fr .8fr; gap:30px; align-items:end; margin-bottom:42px;}
@media(max-width:780px){.mvpg .journey-head{grid-template-columns:1fr;}}
.mvpg .journey-head .meta{text-align:right;}
@media(max-width:780px){.mvpg .journey-head .meta{text-align:left;}}
.mvpg .journey-head .meta .big{font-family:var(--mvpg-ff-head); font-size:clamp(30px,4.2vw,46px); font-weight:800; color:var(--mvpg-ink); line-height:.95;}
.mvpg .journey-head .meta .big .of{color:var(--mvpg-line-2);}
.mvpg .journey-head .meta .cap{font-family:var(--mvpg-ff-head); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--mvpg-gray-2); margin-top:6px;}
.mvpg .journey-track-outer{overflow-x:auto; padding:8px 4px 22px; scrollbar-width:thin; -webkit-overflow-scrolling:touch;}
.mvpg .journey-track-outer::-webkit-scrollbar{height:5px;}
.mvpg .journey-track-outer::-webkit-scrollbar-thumb{background:var(--mvpg-line-2); border-radius:10px;}
.mvpg .journey-track{position:relative; display:flex; min-width:920px; padding:60px 6px 10px;}
.mvpg .journey-line{position:absolute; top:90px; left:24px; right:24px; height:3px; background:var(--mvpg-line); border-radius:3px; z-index:0;}
.mvpg .journey-line .fill{position:absolute; left:0; top:0; height:100%; width:0%; background:var(--mvpg-blue-2); border-radius:3px; transition:width .55s var(--mvpg-ease);}
.mvpg .journey-line .bead{position:absolute; top:50%; width:9px; height:9px; border-radius:50%; background:#fff; border:2px solid var(--mvpg-blue-2); transform:translate(-50%,-50%); box-shadow:0 0 0 5px rgba(1,164,224,.16); transition:left .55s var(--mvpg-ease);}
.mvpg .journey-step{flex:1; min-width:130px; text-align:center; padding:0 6px; cursor:pointer; position:relative; z-index:1;}
.mvpg .journey-node{width:60px; height:60px; margin:0 auto 16px; border-radius:50%; background:#fff; border:2px solid var(--mvpg-line-2); display:flex; align-items:center; justify-content:center; transition:all .4s var(--mvpg-ease);}
.mvpg .journey-node svg{width:25px; height:25px; stroke:var(--mvpg-gray-2); transition:stroke .3s ease, transform .4s ease;}
.mvpg .journey-step:hover .journey-node{border-color:var(--mvpg-blue-2); transform:translateY(-2px);}
.mvpg .journey-step:hover .journey-node svg{stroke:var(--mvpg-blue-2);}
.mvpg .journey-step.active .journey-node{border-color:transparent; background:var(--mvpg-blue-2); box-shadow:0 12px 26px -8px rgba(3,162,226,.55); transform:translateY(-3px) scale(1.07);}
.mvpg .journey-step.active .journey-node svg{stroke:#fff; transform:rotate(8deg);}
.mvpg .journey-numlbl{position:absolute; top:-30px; left:50%; transform:translateX(-50%); font-family:var(--mvpg-ff-head); font-size:11px; font-weight:700; color:var(--mvpg-gray-3); letter-spacing:.06em;}
.mvpg .journey-step.active .journey-numlbl{color:var(--mvpg-blue-2);}
.mvpg .journey-step h5{font-size:12.5px; font-weight:700; color:var(--mvpg-ink); margin-bottom:3px; font-family:var(--mvpg-ff-head);}
.mvpg .journey-step .sub{font-size:11px; color:var(--mvpg-gray-2);}
.mvpg .journey-detail{position:relative; margin-top:30px; background:#fff; border:1px solid var(--mvpg-line); border-radius:0; padding:0; overflow:hidden; box-shadow:none;}
.mvpg .journey-detail .inner{display:grid; grid-template-columns:1.15fr .85fr; gap:0; align-items:stretch;}
@media(max-width:820px){.mvpg .journey-detail .inner{grid-template-columns:1fr;}}
.mvpg .jd-visual{position:relative; min-height:320px; overflow:hidden; background:var(--mvpg-tint); order:2;}
.mvpg .jd-visual img{width:100%; height:100%; object-fit:cover; display:block;}
@media(max-width:820px){.mvpg .jd-visual{min-height:240px;}}
.mvpg .jd-body{padding:42px 44px; order:1;}
@media(max-width:520px){.mvpg .jd-body{padding:30px 24px;}}
.mvpg .jd-body h3{font-size:20px; margin-bottom:10px;}
.mvpg .jd-body p{margin-bottom:8px;}
.mvpg .jd-body .rec{display:flex; width:fit-content; align-items:center; gap:8px; background:var(--mvpg-lightblue); padding:9px 15px; border-radius:100px; font-family:var(--mvpg-ff-head); font-size:12.5px; font-weight:600; color:var(--mvpg-navy); margin:14px 0 20px;}
.mvpg .jd-body .rec svg{width:14px; height:14px; stroke:var(--mvpg-blue-2);}
.mvpg .fade-up{animation:mvpg-fadeUp .5s var(--mvpg-ease);}
@keyframes mvpg-fadeUp{from{opacity:0; transform:translateY(12px);} to{opacity:1; transform:none;}}

/* ===== IMAGE HOTSPOTS (POI) ===== (root: section.mvpg.section.poi) */
.mvpg.section.poi{padding-top:0; padding-bottom:0; overflow:visible;}
.mvpg .poi-stage{position:relative; width:100%; background:#eef4f8; border-top:1px solid var(--mvpg-line); border-bottom:1px solid var(--mvpg-line); overflow:visible;}
.mvpg .poi-illu{display:block; width:100%; height:auto;}
.mvpg .poi-pin{position:absolute; transform:translate(-50%,-50%); width:12px; height:12px; border-radius:50%; background:var(--mvpg-blue-2); border:2px solid #fff; padding:0; cursor:pointer; z-index:5; box-shadow:0 0 0 1px rgba(2,15,20,.18), 0 4px 10px -2px rgba(2,15,20,.5); transition:transform .3s var(--mvpg-ease), background .3s ease;}
.mvpg .poi-pin::before{content:""; position:absolute; inset:-6px; border-radius:50%; border:2px solid rgba(1,164,224,.55); animation:mvpg-poiring 1.2s ease-out infinite;}
.mvpg .poi-pin:hover,.mvpg .poi-pin.active{background:var(--mvpg-blue-dark); transform:translate(-50%,-50%) scale(1.35); z-index:8;}
.mvpg .poi-pin:hover::before,.mvpg .poi-pin.active::before{border-color:rgba(1,164,224,.6);}
@keyframes mvpg-poiring{0%{transform:scale(.7); opacity:.9;} 100%{transform:scale(1.7); opacity:0;}}
.mvpg .poi-hint{position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.85); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border:1px solid var(--mvpg-line); padding:8px 14px; border-radius:100px; font-family:var(--mvpg-ff-head); font-size:12px; color:var(--mvpg-gray-1); z-index:6; box-shadow:var(--mvpg-shadow-xs);}
.mvpg .poi-hint .d{width:7px; height:7px; border-radius:50%; background:var(--mvpg-blue-2);}
.mvpg .poi-pop{position:absolute; z-index:20; width:250px; background:#fff; border:1px solid var(--mvpg-line); border-radius:16px; padding:16px; box-shadow:var(--mvpg-shadow-lg); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .25s var(--mvpg-ease), transform .25s var(--mvpg-ease), visibility .25s; pointer-events:none;}
.mvpg .poi-pop.show{opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;}
.mvpg .poi-pop .pp-ic{width:40px; height:40px; border-radius:11px; background:var(--mvpg-lightblue); display:flex; align-items:center; justify-content:center; margin-bottom:12px;}
.mvpg .poi-pop .pp-ic svg{width:21px; height:21px; stroke:var(--mvpg-blue-2);}
.mvpg .poi-pop h4{font-size:15px; line-height:1.25; margin-bottom:6px; color:var(--mvpg-ink);}
.mvpg .poi-pop p{font-size:12.5px; line-height:1.5; color:var(--mvpg-gray-1); margin:0 0 14px; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.mvpg .poi-pop .pp-btn{display:inline-flex; align-items:center; gap:6px; padding:9px 15px; border-radius:10px; font-family:var(--mvpg-ff-head); font-weight:600; font-size:12.5px; background:var(--mvpg-blue-2); color:#fff; box-shadow:0 6px 14px -6px rgba(1,164,224,.6);}
.mvpg .poi-pop .pp-btn svg{width:14px; height:14px;}
.mvpg .poi-pop::after{content:""; position:absolute; left:var(--arrow,50%); transform:translateX(-50%); width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-top:8px solid #fff; bottom:-7px;}
.mvpg .poi-pop.below::after{border-top:none; border-bottom:8px solid #fff; bottom:auto; top:-7px;}
@media(max-width:560px){.mvpg .poi-hint{display:none;} .mvpg .poi-pop{width:84vw; max-width:270px;}}

/* ===== FEATURE BLOCKS (reliability) ===== */
.mvpg .feature-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
@media(max-width:880px){.mvpg .feature-grid{grid-template-columns:1fr;}}
.mvpg .feature-block{position:relative; background:#fff; border:1px solid var(--mvpg-line); border-radius:var(--mvpg-r-lg); padding:34px; overflow:hidden; transition:transform .4s var(--mvpg-ease), box-shadow .4s var(--mvpg-ease);}
.mvpg .feature-block:hover{transform:translateY(-4px); box-shadow:var(--mvpg-shadow-lg);}
.mvpg .feature-block .fico{width:58px; height:58px; border-radius:16px; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-bottom:20px;}
.mvpg .feature-block .fico svg{width:28px; height:28px;}
.mvpg .feature-block h3{font-size:20px; margin-bottom:12px;}
.mvpg .feature-block p{margin-bottom:0;}
.mvpg .feature-block .corner{position:absolute; right:-30px; top:-30px; width:120px; height:120px; border-radius:50%; opacity:.5;}

/* ===== STATS BAND ===== (root: section.mvpg.stats-band) */
.mvpg.stats-band{position:relative; background:#ECEFF2; padding:clamp(56px,7vw,88px) 0; overflow:hidden;}
.mvpg.stats-band::before{content:""; position:absolute; inset:0; background:radial-gradient(50% 90% at 100% 0%,rgba(3,162,226,.07),transparent 55%); pointer-events:none;}
.mvpg.stats-band .db-grid{position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center;}
@media(max-width:880px){.mvpg.stats-band .db-grid{grid-template-columns:1fr; gap:36px;}}
.mvpg.stats-band .eyebrow{color:var(--mvpg-blue-2);}
.mvpg.stats-band h2{color:var(--mvpg-ink); margin-bottom:16px;}
.mvpg.stats-band p{color:var(--mvpg-ink-2); max-width:48ch;}
.mvpg .stats{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media(max-width:460px){.mvpg .stats{grid-template-columns:1fr;}}
.mvpg .stat{padding:26px 22px; border-radius:var(--mvpg-r-card); background:var(--mvpg-blue-2); border:1px solid rgba(255,255,255,.18); box-shadow:var(--mvpg-shadow); transition:transform .35s var(--mvpg-ease), box-shadow .35s var(--mvpg-ease);}
.mvpg .stat:hover{transform:translateY(-4px); box-shadow:0 24px 50px -20px rgba(3,162,226,.5);}
.mvpg .stat .n{font-family:var(--mvpg-ff-head); font-size:clamp(28px,3.2vw,40px); font-weight:800; color:#fff; line-height:1; display:flex; align-items:baseline; gap:3px;}
.mvpg .stat .n .suf{color:#bfeafb;}
.mvpg .stat .l{font-size:13px; color:rgba(255,255,255,.88); margin-top:10px; letter-spacing:.01em;}

/* ===== PRODUCTS ===== */
.mvpg .prod-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:32px; flex-wrap:wrap;}
.mvpg .prod-track{display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:14px; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
.mvpg .prod-track::-webkit-scrollbar{display:none;}
.mvpg .prod-card{scroll-snap-align:start; min-width:260px; max-width:260px; background:#fff; border:1px solid var(--mvpg-line); border-radius:var(--mvpg-r-card); overflow:hidden; transition:transform .35s var(--mvpg-ease), box-shadow .35s var(--mvpg-ease);}
.mvpg .prod-card:hover{transform:translateY(-5px);}
.mvpg .prod-card .media{position:relative; height:150px; background:linear-gradient(150deg,var(--mvpg-tint),#e9f3fb); display:flex; align-items:center; justify-content:center; overflow:hidden;}
.mvpg .prod-card .media img{width:100%; height:100%; object-fit:cover; display:block;}
.mvpg .prod-card .media .mono{font-family:var(--mvpg-ff-head); font-weight:800; font-size:58px; color:rgba(2,76,103,.14); letter-spacing:.01em;}
.mvpg .prod-card .media .gico{position:absolute; right:18px; bottom:14px; opacity:.5;}
.mvpg .prod-card .media .gico svg{width:30px; height:30px; stroke:var(--mvpg-navy); stroke-width:1.3;}
.mvpg .prod-card .body{padding:20px;}
.mvpg .prod-card h4{font-size:15px; margin-bottom:5px; line-height:1.3;}
.mvpg .prod-card .tag{font-size:11.5px; color:var(--mvpg-gray-2); margin-bottom:14px; display:block; font-family:var(--mvpg-ff-head); letter-spacing:.02em;}
.mvpg .prod-card a.btn{width:100%; padding:10px; font-size:12.5px;}
.mvpg .slider-controls{display:flex; gap:8px;}
.mvpg .slider-btn{width:42px; height:42px; border-radius:50%; border:1px solid var(--mvpg-line-2); background:#fff; display:flex; align-items:center; justify-content:center; transition:all .25s ease;}
.mvpg .slider-btn:hover{background:var(--mvpg-ink); border-color:var(--mvpg-ink); transform:translateY(-2px);}
.mvpg .slider-btn:hover svg{stroke:#fff;}
.mvpg .slider-btn svg{width:16px; height:16px; stroke:var(--mvpg-ink);}

/* ===== WHY CHOOSE ===== */
.mvpg .why-grid{display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:stretch;}
@media(max-width:980px){.mvpg .why-grid{grid-template-columns:1fr; gap:40px; align-items:start;}}
.mvpg .why-visual{position:relative; min-width:0;}
.mvpg .why-visual img{display:block; width:100%; height:100%; object-fit:cover; border-radius:var(--mvpg-r-lg); border:1px solid var(--mvpg-line); box-shadow:var(--mvpg-shadow-lg);}
@media(max-width:980px){.mvpg .why-visual img{height:auto;}}
.mvpg .why-list{list-style:none; margin-top:24px;}
.mvpg .why-list li{display:flex; align-items:flex-start; gap:13px; padding:14px 0; border-bottom:1px solid var(--mvpg-line); font-size:15px; color:var(--mvpg-ink); font-weight:400;}
.mvpg .why-list li:last-child{border-bottom:none;}
.mvpg .why-list .tick{width:24px; height:24px; border-radius:7px; background:rgba(1,164,224,.12); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px;}
.mvpg .why-list .tick svg{width:14px; height:14px; stroke:var(--mvpg-blue-2); stroke-width:2.6;}

/* ===== SERVICE ===== */
.mvpg .service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media(max-width:780px){.mvpg .service-grid{grid-template-columns:1fr;}}
.mvpg .service-card{position:relative; text-align:left; padding:32px; border:1px solid var(--mvpg-line); border-radius:var(--mvpg-r-card); background:#fff; transition:transform .35s var(--mvpg-ease), box-shadow .35s var(--mvpg-ease);}
.mvpg .service-card:hover{transform:translateY(-4px); box-shadow:var(--mvpg-shadow-lg);}
.mvpg .service-card .ico{width:52px; height:52px; margin-bottom:18px; border-radius:14px; background:var(--mvpg-lightblue); display:flex; align-items:center; justify-content:center;}
.mvpg .service-card .ico svg{width:25px; height:25px; stroke:var(--mvpg-blue-2);}
.mvpg .service-card h4{font-size:17px; margin-bottom:8px;}
.mvpg .service-card p{font-size:13.5px; margin-bottom:0;}

/* ===== INDUSTRIES ===== */
.mvpg .industries-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
@media(max-width:780px){.mvpg .industries-grid{grid-template-columns:repeat(2,1fr);}}
.mvpg .industry-chip{position:relative; text-align:center; padding:34px 16px; border:1px solid var(--mvpg-line); border-radius:var(--mvpg-r-card); background:#fff; overflow:hidden; transition:transform .35s var(--mvpg-ease), box-shadow .35s var(--mvpg-ease);}
.mvpg .industry-chip::after{content:""; position:absolute; left:0; bottom:0; height:3px; width:0; background:var(--mvpg-blue-2); transition:width .35s var(--mvpg-ease);}
.mvpg .industry-chip:hover{transform:translateY(-4px); box-shadow:var(--mvpg-shadow-lg);}
.mvpg .industry-chip:hover::after{width:100%;}
.mvpg .industry-chip .ic{width:52px; height:52px; margin:0 auto 14px; border-radius:15px; background:var(--mvpg-lightblue); display:flex; align-items:center; justify-content:center; transition:transform .4s var(--mvpg-ease);}
.mvpg .industry-chip:hover .ic{transform:scale(1.08);}
.mvpg .industry-chip .ic svg{width:24px; height:24px; stroke:var(--mvpg-blue-2);}
.mvpg .industry-chip span{font-family:var(--mvpg-ff-head); font-size:14.5px; font-weight:700; color:var(--mvpg-ink);}

/* Industries — brand-blue surface (root: section.mvpg.section.industries) */
.mvpg.industries{position:relative; background:var(--mvpg-blue-2); overflow:hidden;}
.mvpg.industries::before{content:""; position:absolute; inset:0; background:radial-gradient(45% 80% at 100% 0%,rgba(255,255,255,.18),transparent 55%); pointer-events:none;}
.mvpg.industries .wrap{position:relative; z-index:1;}
.mvpg.industries .eyebrow{color:#eaf6ff;}
.mvpg.industries .eyebrow::before,.mvpg.industries .eyebrow::after{background:#fff;}
.mvpg.industries h2{color:#fff;}
.mvpg.industries .industry-chip{background:#fff; border-color:rgba(255,255,255,.55); box-shadow:0 16px 34px -18px rgba(2,15,20,.45);}
.mvpg.industries .industry-chip .ic{background:var(--mvpg-lightblue);}
.mvpg.industries .industry-chip .ic svg{stroke:var(--mvpg-blue-2);}
.mvpg.industries .industry-chip span{color:var(--mvpg-navy);}

/* ===== DOCUMENTS ===== */
.mvpg .doc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media(max-width:780px){.mvpg .doc-grid{grid-template-columns:1fr;}}
.mvpg .doc-card{display:flex; align-items:center; gap:16px; padding:22px; border:1px solid var(--mvpg-line); border-radius:16px; background:#fff; transition:box-shadow .3s ease, transform .3s ease, border-color .3s ease;}
.mvpg .doc-card:hover{box-shadow:var(--mvpg-shadow); transform:translateY(-3px); border-color:transparent;}
.mvpg .doc-card .dico{width:46px; height:46px; border-radius:13px; background:var(--mvpg-tint); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.mvpg .doc-card .dico svg{width:21px; height:21px; stroke:var(--mvpg-navy);}
.mvpg .doc-card h5{font-size:14.5px; margin-bottom:3px; font-family:var(--mvpg-ff-head); color:var(--mvpg-ink);}
.mvpg .doc-card span{font-size:12px; color:var(--mvpg-gray-2); font-family:var(--mvpg-ff-head);}
.mvpg .doc-card .arr{margin-left:auto; color:var(--mvpg-gray-3); transition:transform .3s ease, color .3s ease;}
.mvpg .doc-card:hover .arr{transform:translateX(4px); color:var(--mvpg-blue-2);}

/* ===== FAQ ===== */
.mvpg .faq-list{max-width:820px; margin:0 auto;}
.mvpg .faq-item{border:1px solid var(--mvpg-line); border-radius:16px; margin-bottom:12px; overflow:hidden; background:#fff; transition:box-shadow .3s ease, border-color .3s ease;}
.mvpg .faq-item.open{box-shadow:var(--mvpg-shadow); border-color:transparent;}
.mvpg .faq-q{width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 24px; background:#fff; text-align:left; font-family:var(--mvpg-ff-head); font-size:16px; font-weight:600; color:var(--mvpg-ink); line-height:1.35;}
.mvpg .faq-item.open .faq-q{background:var(--mvpg-paper);}
.mvpg .faq-q .plus{position:relative; width:26px; height:26px; border-radius:50%; background:var(--mvpg-lightblue); flex-shrink:0; transition:background .3s ease, transform .3s ease;}
.mvpg .faq-q .plus::before,.mvpg .faq-q .plus::after{content:""; position:absolute; background:var(--mvpg-blue-2); top:50%; left:50%; transform:translate(-50%,-50%); border-radius:2px; transition:background .3s ease;}
.mvpg .faq-q .plus::before{width:11px; height:2px;}
.mvpg .faq-q .plus::after{width:2px; height:11px; transition:transform .35s var(--mvpg-ease), background .3s ease;}
.mvpg .faq-item.open .plus{background:var(--mvpg-blue-2); transform:rotate(45deg);}
.mvpg .faq-item.open .plus::before,.mvpg .faq-item.open .plus::after{background:#fff;}
.mvpg .faq-a{max-height:0; overflow:hidden; transition:max-height .4s var(--mvpg-ease);}
.mvpg .faq-a p{padding:0 24px 22px; font-size:14.5px; color:var(--mvpg-gray-1);}

/* ===== FINAL CTA ===== (root: section.mvpg.final-cta-band) */
.mvpg.final-cta-band{position:relative; background:var(--mvpg-blue-2); padding:clamp(56px,7vw,88px) 0; overflow:hidden;}
.mvpg.final-cta-band::before{content:""; position:absolute; inset:0; background:radial-gradient(50% 120% at 100% 0%,rgba(255,255,255,.22),transparent 55%), radial-gradient(45% 90% at 0% 100%,rgba(1,164,224,.18),transparent 60%); pointer-events:none;}
.mvpg.final-cta-band .fc-grid{position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:34px; flex-wrap:wrap;}
.mvpg.final-cta-band h2{color:#fff; font-size:clamp(22px,2.8vw,32px); max-width:22ch;}
.mvpg.final-cta-band p{color:rgba(255,255,255,.9); margin-top:12px; max-width:46ch;}
.mvpg.final-cta-band .ctas{display:flex; gap:12px; flex-wrap:wrap;}

/* ===== MOBILE OPTIMIZATIONS ===== */
@media(max-width:768px){
  .mvpg.section{padding:64px 0;}
  .mvpg .section-head{margin-bottom:40px;}
  .mvpg.hero{padding:120px 0 64px;}
  /* center the hero content on mobile */
  .mvpg .hero-grid > div:first-child{text-align:center;}
  .mvpg.hero h1,.mvpg.hero .lead{margin-left:auto; margin-right:auto;}
  .mvpg .hero-ctas{justify-content:center;}
  .mvpg .hero-badges{justify-content:center;}
  /* center left-aligned section headers + bands on mobile */
  .mvpg .section-head.left{margin-left:auto; margin-right:auto; text-align:center;}
  .mvpg.stats-band .db-grid > div:first-child{text-align:center;}
  .mvpg.stats-band .db-grid p{margin-left:auto; margin-right:auto;}
  .mvpg.final-cta-band .fc-grid{justify-content:center; text-align:center;}
  .mvpg.final-cta-band .fc-grid h2,.mvpg.final-cta-band .fc-grid p{margin-left:auto; margin-right:auto;}
  .mvpg.final-cta-band .ctas{justify-content:center;}
}
@media(max-width:560px){
  .mvpg .wrap{padding:0 16px;}
  /* hero: lighter, centered CTAs, less paint cost */
  .mvpg.hero{padding:112px 0 56px;}
  .mvpg.hero .blob{display:none;}
  .mvpg .hero-badges{gap:8px; margin-top:24px;}
  .mvpg .hero-badge{font-size:11.5px; padding:8px 12px;}
  .mvpg .hero-form{padding:24px 20px;}
  .mvpg .hf-head h3{font-size:18px;}
  .mvpg .hf-head p{font-size:12.5px;}
  /* tighter cards */
  .mvpg .sol-card{padding:24px;}
  .mvpg .stat{padding:20px 18px;}
  .mvpg .feature-block{padding:26px;}
  .mvpg .service-card{padding:26px;}
  .mvpg .industry-chip{padding:28px 14px;}
  .mvpg .doc-card{padding:18px;}
  /* final CTA buttons centered */
  .mvpg.final-cta-band .ctas{flex-direction:column; align-items:center; gap:10px;}
  /* bigger, easier-to-tap overview pins */
  .mvpg .poi-pin{width:15px; height:15px;}
}
@media(max-width:420px){
  .mvpg.section{padding:52px 0;}
  .mvpg.hero h1{font-size:25px;}
  .mvpg .section-head h2{font-size:23px;}
}

/* ===== reveals =====
   `.reveal` appears BOTH on inner elements (.mvpg .reveal) and on the
   root sections themselves (.mvpg.reveal — Stats Band, Final CTA). */
.mvpg .reveal, .mvpg.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s var(--mvpg-ease), transform .7s var(--mvpg-ease); transition-delay:var(--d,0s);}
.mvpg .reveal.in, .mvpg.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){
  .mvpg *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}
.mvpg :focus-visible{outline:2px solid var(--mvpg-blue-2); outline-offset:3px; border-radius:4px;}

/* ===== Elementor editor niceties =====
   Keep hidden-by-default reveal content visible while editing —
   covers both inner .reveal elements and root .reveal sections. */
.elementor-editor-active .mvpg .reveal,
.elementor-editor-active .mvpg.reveal{opacity:1; transform:none;}

/* ===== Elementor container hardening =====
   Each widget renders inside an .elementor-widget wrapper. Themes and
   Elementor defaults can add gap/padding/max-width there which would
   break the full-bleed bands (hero, strip, stats, industries, CTA)
   and the POI full-width image. Neutralize it so the plugin's own
   .wrap (max-width:1240px) is the only width constraint. */
.elementor-widget .mvpg{max-width:none; width:100%; margin:0;}
.elementor-widget .mvpg .wrap{max-width:var(--mvpg-maxw);}

/* Full-bleed sections must escape any themed content padding when the
   widget is placed inside a boxed Elementor section/container. */
.elementor-section .mvpg.strip,
.elementor-section .mvpg.hero,
.elementor-section .mvpg.stats-band,
.elementor-section .mvpg.industries,
.elementor-section .mvpg.final-cta-band,
.elementor-section .mvpg.section.poi,
.e-con .mvpg.strip,
.e-con .mvpg.hero,
.e-con .mvpg.stats-band,
.e-con .mvpg.industries,
.e-con .mvpg.final-cta-band,
.e-con .mvpg.section.poi{margin-left:50%; transform:translateX(-50%); width:100vw; max-width:100vw;}

/* Scroll progress bar (created by JS, sits above content) */
#mvpg-progress{position:fixed; top:0; left:0; width:100%; height:3px; transform:scaleX(0); transform-origin:0 50%; background:#01A4E0; z-index:200; pointer-events:none;}
