:root {
  --pg-red: #d10f1b;
  --pg-red-dark: #a80812;
  --pg-black: #0e1014;
  --pg-graphite: #1a1d23;
  --pg-steel: #b9bec6;
  --pg-light: #f4f5f7;
  --pg-white: #ffffff;
}

html { scroll-behavior: smooth; }
body { color: #292c33; font-family: "Segoe UI", Arial, sans-serif; }
a { transition: color .2s ease, background-color .2s ease, transform .2s ease; }

.piston-topbar { background: #08090c !important; border-bottom: 2px solid var(--pg-red); }
.piston-topbar p, .piston-topbar span, .piston-topbar a { color: #fff !important; }
.piston-top-info { text-align: right; }
.piston-main-header { background: #fff; padding: 16px 0; }
.piston-header-promo { justify-content: flex-end; }
.piston-header-promo .header-promo-icon {
  align-items: center; background: var(--pg-light); border-radius: 50%; color: var(--pg-red);
  display: flex; font-size: 24px; height: 48px; justify-content: center; width: 48px;
}
.piston-header-promo .header-promo-info h3 { color: var(--pg-black); }
.piston-wordmark a { align-items: center; display: inline-flex; gap: 12px; text-decoration: none; }
.piston-mark {
  align-items: center; background: var(--pg-red); clip-path: polygon(50% 0, 95% 18%, 87% 75%, 50% 100%, 13% 75%, 5% 18%);
  color: #fff; display: inline-flex; font-size: 25px; height: 58px; justify-content: center; width: 54px;
}
.piston-name { display: flex; flex-direction: column; line-height: .9; }
.piston-name strong { color: var(--pg-black); font-size: 30px; font-style: italic; font-weight: 900; letter-spacing: 1px; }
.piston-name small { color: var(--pg-red); font-size: 17px; font-weight: 800; letter-spacing: 8px; margin-top: 8px; }
.piston-wordmark-footer .piston-name strong { color: #fff; }

.piston-nav, .gFive-mainmenu-area { background: var(--pg-black) !important; }
.mainmenu ul li a { color: #fff !important; font-weight: 700; }
.mainmenu ul li:hover > a, .mainmenu ul li.active > a { color: var(--pg-red) !important; }
.mainmenu ul li ul { border-top-color: var(--pg-red) !important; }
.mainmenu ul li ul li a { color: var(--pg-black) !important; }
.piston-nav-cta a { background: var(--pg-red); padding-left: 22px !important; padding-right: 22px !important; }
.piston-nav-cta a:hover { background: var(--pg-red-dark); color: #fff !important; }

.header-action a, .gFive-btn, .gFive-theme-btn, button[type="submit"] {
  background: var(--pg-red) !important; border-color: var(--pg-red) !important; color: #fff !important;
}
.header-action a:hover, .gFive-btn:hover, .gFive-theme-btn:hover, button[type="submit"]:hover {
  background: var(--pg-red-dark) !important; border-color: var(--pg-red-dark) !important;
}
.site-heading h4, .about-left h4, .service-number, .fa-check { color: var(--pg-red) !important; }
.site-heading h2, .about-left h2 { color: var(--pg-black) !important; }

.gFive-main-slide:after { background: linear-gradient(90deg, rgba(8,9,12,.91), rgba(8,9,12,.5), rgba(8,9,12,.08)) !important; }
.slider-text p { border-left: 4px solid var(--pg-red); color: #fff !important; font-weight: 700; padding-left: 12px; }
.slider-text h2 { max-width: 800px; text-transform: none !important; }
.slider-text h2 span { color: var(--pg-red) !important; }
.piston-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.piston-btn-outline { background: transparent !important; border: 2px solid #fff !important; color: #fff !important; }

.gFive-find-area { background: var(--pg-black) !important; }
.find-box { background: transparent !important; }
.find-text h3 { color: #fff !important; }
.piston-appointment-form input, .piston-appointment-form select {
  background: #fff; border: 1px solid #dde0e5; border-radius: 3px; height: 50px; padding: 0 14px; width: 100%;
}
.piston-form-message { border-radius: 4px; display: none; font-weight: 700; margin-top: 14px; padding: 12px 16px; }
.piston-form-message.is-visible { background: #e7f7eb; color: #176b2c; display: block; }

.piston-logo-panel { background: radial-gradient(circle at 50% 45%,#fff 0,#eef0f3 68%,#d9dde3 100%); border: 0; box-shadow: 0 22px 50px rgba(14,16,20,.13); clip-path: polygon(10% 0,90% 0,100% 10%,100% 90%,90% 100%,10% 100%,0 90%,0 10%); overflow: hidden; padding: 28px; }
.piston-logo-panel img { display: block; height: auto; width: 100%; }
.single-service, .single-offers, .single-blog, .single-driver { border-top: 3px solid transparent; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.single-service:hover, .single-offers:hover, .single-blog:hover, .single-driver:hover { border-top-color: var(--pg-red); box-shadow: 0 16px 35px rgba(14,16,20,.12); transform: translateY(-5px); }
.piston-service-icon { align-items: center; background: var(--pg-light); border-radius: 50%; color: var(--pg-red); display: flex; font-size: 34px; height: 78px; justify-content: center; margin: 0 auto 20px; width: 78px; }
.offer-text h4, .offer-text h4 span { color: var(--pg-red) !important; }
.offer-btn-1 { background: var(--pg-red) !important; border-color: var(--pg-red) !important; }
.offer-btn-2:hover { background: var(--pg-black) !important; }

.gFive-promo-area, .gFive-call-area { position: relative; }
.gFive-promo-area:before, .gFive-call-area:before { background: rgba(8,9,12,.75); content: ""; inset: 0; position: absolute; }
.promo-box-right, .call-box { position: relative; z-index: 1; }
.promo-box-right h3 { color: #fff !important; }

.piston-footer { background: var(--pg-black) !important; }
.piston-footer .footer-top-area { background: linear-gradient(135deg, #0b0c0f, #1c2026) !important; }
.piston-footer h3 { color: #fff !important; }
.piston-footer p, .piston-footer li, .piston-footer a { color: #c9cdd3; }
.piston-footer a:hover { color: var(--pg-red); }
.piston-footer-cta { border-left: 3px solid var(--pg-red); padding-left: 28px; }
.piston-whatsapp { background: #25d366; border-radius: 3px; color: #fff !important; display: inline-block; font-weight: 700; margin-left: 8px; padding: 12px 18px; }
.footer-bottom-area { background: #07080a !important; border-top: 1px solid #2d3138; }
.copyright { text-align: center; }

.pg-page { background: #fff; min-height: 520px; }
.pg-page .site-heading p { margin: 12px auto 0; max-width: 760px; }
.pg-feature-row { margin-top: 10px; }
.pg-content-card { padding-right: 30px; }
.pg-content-card h3, .pg-article h1, .pg-article h2, .pg-product-detail h2 { color: var(--pg-black); font-weight: 800; }
.pg-check-list { list-style: none; margin: 22px 0; padding: 0; }
.pg-check-list li { margin: 11px 0; padding-left: 28px; position: relative; }
.pg-check-list li:before { color: var(--pg-red); content: "\f00c"; font-family: FontAwesome; left: 0; position: absolute; }
.pg-values { margin-top: 55px; }
.pg-stat { background: var(--pg-light); border-bottom: 3px solid var(--pg-red); height: 100%; padding: 34px 28px; text-align: center; }
.pg-stat > i { color: var(--pg-red); font-size: 38px; }
.pg-stat h3 { color: var(--pg-black); margin: 16px 0 8px; }
.pg-card-grid > div { margin-bottom: 28px; }
.pg-service-card { background: #fff; border: 1px solid #e4e6ea; border-radius: 6px; box-shadow: 0 8px 22px rgba(14,16,20,.06); height: 100%; padding: 30px 24px; }
.pg-service-card > i { color: var(--pg-red); font-size: 37px; }
.pg-service-card h3 { color: var(--pg-black); font-size: 20px; margin: 18px 0 10px; }
.pg-service-card a { color: var(--pg-red); font-weight: 700; }
.pg-cta-band { align-items: center; background: var(--pg-black); border-left: 5px solid var(--pg-red); color: #fff; display: flex; justify-content: space-between; margin-top: 35px; padding: 30px 35px; }
.pg-cta-band h3 { color: #fff; margin: 0 0 5px; }
.pg-cta-band p { color: #cfd3d9; margin: 0; }
.pg-article { color: #41454d; font-size: 17px; line-height: 1.8; }
.pg-article > img { border-radius: 6px; margin-bottom: 26px; width: 100%; }
.pg-article h1, .pg-article h2 { line-height: 1.2; margin-bottom: 20px; }
.pg-article h3 { color: var(--pg-black); margin: 30px 0 12px; }
.pg-kicker { color: var(--pg-red); display: block; font-size: 13px; font-weight: 800; letter-spacing: 1.5px; margin-bottom: 7px; text-transform: uppercase; }
.pg-sidebar { background: var(--pg-light); border-top: 4px solid var(--pg-red); padding: 28px; }
.pg-sidebar h3 { color: var(--pg-black); margin-bottom: 18px; }
.pg-sidebar > a { align-items: center; background: #fff; border-bottom: 1px solid #eceef1; color: #30343b; display: flex; font-weight: 700; gap: 10px; padding: 13px; }
.pg-sidebar > a i { color: var(--pg-red); width: 20px; }
.pg-sidebar-cta { background: var(--pg-black); color: #fff; margin-top: 22px; padding: 24px; }
.pg-sidebar-cta h4 { color: #fff; }
.pg-gallery > div { margin-bottom: 30px; }
.pg-gallery-item { border-radius: 5px; display: block; overflow: hidden; position: relative; }
.pg-gallery-item img { height: 260px; object-fit: cover; transition: transform .35s ease; width: 100%; }
.pg-gallery-item span { align-items: center; background: linear-gradient(transparent, rgba(8,9,12,.9)); bottom: 0; color: #fff; display: flex; font-weight: 700; gap: 10px; inset-inline: 0; padding: 60px 20px 18px; position: absolute; }
.pg-gallery-item:hover img { transform: scale(1.05); }
.pg-packages > div { margin-bottom: 25px; }
.pg-package { border: 1px solid #e2e5e9; border-top: 4px solid var(--pg-black); box-shadow: 0 8px 24px rgba(14,16,20,.06); height: 100%; padding: 34px; }
.pg-package.is-featured { border-top-color: var(--pg-red); transform: translateY(-8px); }
.pg-package > span, .pg-product-detail > span, .pg-products article > span { color: var(--pg-red); font-size: 12px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.pg-package h3 { color: var(--pg-black); margin: 10px 0; }
.pg-package ul { list-style: none; margin: 22px 0; padding: 0; }
.pg-package li { border-bottom: 1px solid #eceef1; padding: 10px 0 10px 24px; position: relative; }
.pg-package li:before { color: var(--pg-red); content: "\f00c"; font-family: FontAwesome; left: 0; position: absolute; }
.pg-disclaimer { color: #666b74; font-size: 14px; margin-top: 18px; text-align: center; }
.pg-form { background: #fff; border: 1px solid #e1e4e8; box-shadow: 0 12px 35px rgba(14,16,20,.07); padding: 32px; }
.pg-form label { color: var(--pg-black); display: block; font-weight: 700; margin-bottom: 18px; }
.pg-form input, .pg-form select, .pg-form textarea { background: var(--pg-light); border: 1px solid #dfe2e7; border-radius: 3px; display: block; font-weight: 400; margin-top: 8px; padding: 12px 14px; width: 100%; }
.pg-form input, .pg-form select { height: 48px; }
.pg-info-card { background: var(--pg-black); border-left: 4px solid var(--pg-red); color: #d5d8dd; padding: 32px; }
.pg-info-card > i { color: var(--pg-red); font-size: 40px; }
.pg-info-card h3 { color: #fff; margin: 15px 0; }
.pg-info-card ol { padding-left: 20px; }
.pg-info-card li { margin: 10px 0; }
.pg-info-card a { color: #fff; font-weight: 700; }
.pg-products > div { margin-bottom: 30px; }
.pg-products article { border: 1px solid #e3e5e9; height: 100%; padding: 18px 18px 25px; }
.pg-products img { height: 220px; margin-bottom: 18px; object-fit: contain; width: 100%; }
.pg-products h3 { color: var(--pg-black); font-size: 21px; margin: 8px 0; }
.pg-products a { color: var(--pg-red); font-weight: 700; }
.pg-product-image { background: var(--pg-light); padding: 30px; }
.pg-product-image img { width: 100%; }
.pg-product-detail { padding-left: 35px; }
.pg-quote-table { border: 1px solid #e0e3e7; }
.pg-quote-row { align-items: center; border-bottom: 1px solid #e8eaed; display: grid; gap: 20px; grid-template-columns: 2fr 1fr .5fr; padding: 20px 24px; }
.pg-quote-row:last-child { border-bottom: 0; }
.pg-quote-row small { color: #6b7079; display: block; }
.pg-quote-row a { color: var(--pg-red); font-weight: 700; }
.pg-quote-head { background: var(--pg-black); color: #fff; font-weight: 800; }
.pg-blog-grid > div { margin-bottom: 30px; }
.pg-blog-grid article { border: 1px solid #e2e5e9; display: grid; grid-template-columns: 42% 58%; height: 100%; overflow: hidden; }
.pg-blog-grid img { height: 100%; object-fit: cover; width: 100%; }
.pg-blog-grid article > div { padding: 25px; }
.pg-blog-grid span { color: var(--pg-red); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.pg-blog-grid h3 { font-size: 21px; margin: 9px 0; }
.pg-blog-grid h3 a { color: var(--pg-black); }
.pg-blog-grid article > div > a { color: var(--pg-red); font-weight: 700; }
.pg-contact-list { background: var(--pg-black); color: #fff; padding: 34px; }
.pg-contact-list > div { align-items: flex-start; border-bottom: 1px solid #2c3037; display: flex; gap: 16px; padding: 17px 0; }
.pg-contact-list > div > i { color: var(--pg-red); font-size: 24px; width: 28px; }
.pg-contact-list span, .pg-contact-list strong { display: block; }
.pg-contact-list a { color: #fff; }
.pg-contact-list .piston-whatsapp { margin: 25px 0 0; }
.pg-auth-card { border-top: 4px solid var(--pg-red); box-shadow: 0 14px 40px rgba(14,16,20,.12); padding: 38px; }
.pg-auth-card > .piston-wordmark { margin-bottom: 28px; }
.pg-auth-card h2 { color: var(--pg-black); }
.pg-auth-logo { display: block; margin: 0 auto 24px; max-width: 170px; }
.pg-auth-logo img { display: block; height: auto; width: 100%; }
.pg-auth-card .pg-form { border: 0; box-shadow: none; padding: 10px 0 0; }
.pg-auth-link { margin-top: 18px; text-align: center; }
.pg-auth-link a { color: var(--pg-red); font-weight: 700; }
.pg-error-page { align-items: center; background: var(--pg-light); display: flex; justify-content: center; min-height: 600px; padding: 70px 20px; text-align: center; }
.pg-error-page > div { max-width: 600px; }
.pg-error-page .piston-wordmark a { justify-content: center; }
.pg-error-page > div > strong { color: var(--pg-red); display: block; font-size: 120px; line-height: 1; margin-top: 35px; }
.pg-error-page h1 { color: var(--pg-black); }

.pg-service-detail-layout { align-items: flex-start; }
.pg-service-detail { background: #fff; border: 1px solid #e1e4e8; box-shadow: 0 18px 46px rgba(14,16,20,.08); padding: 22px; }
.pg-detail-image { margin: -22px -22px 30px; overflow: hidden; position: relative; }
.pg-detail-image img { display: block; height: 430px; object-fit: cover; width: 100%; }
.pg-detail-image:after { background: linear-gradient(180deg, transparent 55%, rgba(8,9,12,.86)); content: ""; inset: 0; position: absolute; }
.pg-detail-image > span { bottom: 22px; color: #fff; font-size: 14px; font-weight: 800; left: 25px; letter-spacing: 1px; position: absolute; text-transform: uppercase; z-index: 2; }
.pg-detail-image > span i { color: var(--pg-red); margin-right: 7px; }
.pg-detail-points { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); margin: 30px 0; }
.pg-detail-points > div { background: #f4f5f7; border-bottom: 3px solid var(--pg-red); padding: 20px; }
.pg-detail-points span { color: var(--pg-red); font-size: 12px; font-weight: 900; letter-spacing: 2px; }
.pg-detail-points h4 { color: var(--pg-black); font-size: 18px; margin: 6px 0; }
.pg-detail-points p { font-size: 14px; line-height: 1.55; margin: 0; }
.pg-detail-result { align-items: center; background: var(--pg-black); border-left: 5px solid var(--pg-red); color: #d7dae0; display: flex; gap: 20px; margin-top: 30px; padding: 25px; }
.pg-detail-result > i { color: var(--pg-red); font-size: 38px; }
.pg-detail-result h3 { color: #fff; margin: 0 0 4px; }
.pg-detail-result p { margin: 0; }
.pg-sidebar-v2 { box-shadow: 0 18px 46px rgba(14,16,20,.09); position: sticky; top: 20px; }
.pg-sidebar-v2 .pg-kicker { padding: 0; }
.pg-sidebar-cta > span { color: var(--pg-red); font-size: 11px; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; }
.pg-sidebar-cta .pg-btn { margin-top: 8px; width: 100%; }

.pg-wa-direct { align-items: center; background: linear-gradient(135deg, #fff 0 62%, #f1f2f5 62%); border-top: 5px solid var(--pg-red); box-shadow: 0 22px 55px rgba(14,16,20,.12); display: grid; gap: 70px; grid-template-columns: 1.3fr .7fr; overflow: hidden; padding: 65px; position: relative; }
.pg-wa-direct:before { color: rgba(209,15,27,.05); content: "\f1b9"; font-family: FontAwesome; font-size: 300px; left: -30px; line-height: 1; position: absolute; top: -20px; }
.pg-wa-direct-copy { position: relative; z-index: 2; }
.pg-wa-direct-copy h2 { color: var(--pg-black); font-size: 42px; font-weight: 900; line-height: 1.08; margin-bottom: 18px; }
.pg-wa-direct-copy > p { font-size: 18px; max-width: 650px; }
.pg-wa-checks { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 25px 0 30px; }
.pg-wa-checks span { color: var(--pg-black); font-weight: 800; }
.pg-wa-checks i { color: var(--pg-red); margin-right: 6px; }
.pg-wa-phone { background: #ece5dd; border: 9px solid #111318; border-radius: 28px; box-shadow: 0 24px 50px rgba(14,16,20,.22); min-height: 390px; overflow: hidden; padding: 90px 22px 30px; position: relative; transform: rotate(2deg); }
.pg-wa-phone-top { align-items: center; background: #075e54; color: #fff; display: flex; gap: 10px; inset: 0 0 auto; padding: 18px; position: absolute; }
.pg-wa-phone-top span { background: url('../img/piston-garage-logo-transparent.png') center/cover; border: 2px solid #fff; border-radius: 50%; height: 42px; width: 42px; }
.pg-wa-phone-top strong { flex: 1; font-size: 14px; }
.pg-wa-phone-top i { font-size: 25px; }
.pg-wa-bubble { background: #dcf8c6; border-radius: 8px 0 8px 8px; box-shadow: 0 2px 3px rgba(0,0,0,.08); color: #24272d; line-height: 1.5; margin-left: 22px; padding: 18px; }
.pg-wa-phone > small { color: #6c716d; display: block; margin-top: 12px; text-align: center; }

.breadcromb-area:after { background: rgba(8,9,12,.78) !important; }
.breadcromb-box h3 { text-transform: none !important; }
.pagination-box-row ul li.active a, .pagination-box-row ul li a:hover { background: var(--pg-red) !important; border-color: var(--pg-red) !important; }

@media (max-width: 991px) {
  .piston-header-promo, .header-action { display: none; }
  .piston-nav { min-height: 58px; }
  .piston-wordmark { margin-bottom: 0; }
  .piston-wordmark a { justify-content: center; width: 100%; }
  .piston-top-info { text-align: left; }
  .pg-content-card, .pg-product-detail { padding: 0 0 30px; }
  .pg-sidebar, .pg-info-card, .pg-contact-list { margin-top: 30px; }
  .pg-package.is-featured { transform: none; }
  .pg-sidebar-v2 { position: static; }
  .pg-wa-direct { gap: 35px; grid-template-columns: 1fr; padding: 45px; }
  .pg-wa-phone { margin: 0 auto; max-width: 360px; width: 100%; }
}

@media (max-width: 575px) {
  .piston-name strong { font-size: 25px; }
  .piston-name small { font-size: 14px; letter-spacing: 6px; }
  .piston-mark { height: 50px; width: 47px; }
  .slider-text h2 { font-size: 34px !important; line-height: 1.12 !important; }
  .piston-hero-actions { flex-direction: column; }
  .piston-hero-actions a { text-align: center; width: 100%; }
  .piston-footer-cta { border-left: 0; border-top: 3px solid var(--pg-red); margin-top: 24px; padding-left: 0; padding-top: 22px; }
  .pg-cta-band { align-items: flex-start; flex-direction: column; gap: 20px; padding: 25px; }
  .pg-form, .pg-auth-card { padding: 22px; }
  .pg-quote-row { grid-template-columns: 1fr; }
  .pg-quote-head { display: none; }
  .pg-blog-grid article { grid-template-columns: 1fr; }
  .pg-blog-grid img { height: 230px; }
  .pg-error-page > div > strong { font-size: 82px; }
  .pg-detail-image img { height: 290px; }
  .pg-detail-points { grid-template-columns: 1fr; }
  .pg-wa-direct { padding: 30px 22px; }
  .pg-wa-direct-copy h2 { font-size: 32px; }
}

/* =========================================================
   PISTON GARAGE — Visual upgrade v2
   ========================================================= */

body {
  background: #f5f6f8;
  color: #2a2e35;
  font-size: 16px;
  line-height: 1.7;
  overflow-x: hidden;
}

.pg-reveal { opacity: 0; transform: translateY(24px); }
.pg-reveal.is-visible { opacity: 1; transform: translateY(0); transition: opacity .55s ease, transform .55s ease; }
@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

::selection { background: var(--pg-red); color: #fff; }

.pg-topbar {
  background: linear-gradient(90deg, var(--pg-red) 0 38%, #08090c 38% 100%);
  color: #fff;
  min-height: 42px;
}
.pg-topbar-inner { align-items: center; display: flex; justify-content: space-between; min-height: 42px; }
.pg-topbar p { color: #fff; font-size: 14px; font-weight: 700; margin: 0; }
.pg-topbar p:first-child { position: relative; }
.pg-topbar p:first-child:after {
  border-bottom: 42px solid transparent; border-left: 30px solid var(--pg-red); content: ""; left: calc(100% + 25px); position: absolute; top: -10px;
}
.pg-topbar a { color: #fff; }
.pg-topbar i { margin-right: 7px; }

.pg-header { background: #fff; position: relative; z-index: 20; }
.pg-header-inner { align-items: center; display: grid; gap: 30px; grid-template-columns: 210px 1fr auto; min-height: 154px; }
.pg-brand { align-self: stretch; align-items: center; display: flex; justify-content: flex-start; overflow: visible; position: relative; }
.pg-brand img { filter: drop-shadow(0 8px 18px rgba(14,16,20,.12)); height: 142px; object-fit: contain; width: 142px; }
.pg-header-promise { align-items: center; display: flex; gap: 14px; justify-self: center; }
.pg-header-promise > span { align-items: center; background: var(--pg-light); border: 1px solid #e4e6ea; border-radius: 50%; color: var(--pg-red); display: flex; font-size: 22px; height: 52px; justify-content: center; width: 52px; }
.pg-header-promise strong, .pg-header-promise small { display: block; }
.pg-header-promise strong { color: var(--pg-black); font-size: 17px; }
.pg-header-promise small { color: #727780; font-size: 14px; }

.pg-nav { background: #0a0b0e !important; border-bottom: 3px solid var(--pg-red); }
.pg-nav-inner { align-items: center; display: flex; justify-content: space-between; min-height: 64px; }
.pg-nav .mainmenu ul li a { font-size: 14px; letter-spacing: .25px; padding: 22px 18px !important; position: relative; }
.pg-nav .mainmenu ul li a:after { background: var(--pg-red); bottom: 0; content: ""; height: 3px; left: 50%; position: absolute; transform: translateX(-50%) scaleX(0); transition: transform .25s ease; width: calc(100% - 26px); }
.pg-nav .mainmenu ul li.active > a:after, .pg-nav .mainmenu ul li:hover > a:after { transform: translateX(-50%) scaleX(1); }
.pg-nav-wa { align-items: center; background: #25d366; color: #fff !important; display: inline-flex; font-size: 14px; font-weight: 800; gap: 8px; padding: 11px 17px; }

.pg-btn, .gFive-btn {
  align-items: center; background: linear-gradient(135deg, #e31322, #b80712) !important; border: 0 !important; box-shadow: 0 10px 24px rgba(209,15,27,.24); clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)); color: #fff !important; display: inline-flex; font-size: 14px; font-weight: 900; gap: 12px; justify-content: center; letter-spacing: .35px; min-height: 50px; overflow: hidden; padding: 13px 24px; position: relative; text-transform: uppercase; transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.pg-btn:before, .gFive-btn:before { background: rgba(255,255,255,.18); content: ""; height: 180%; left: -55%; position: absolute; top: -40%; transform: rotate(20deg); transition: left .4s ease; width: 35px; }
.pg-btn:hover, .gFive-btn:hover { box-shadow: 0 14px 32px rgba(209,15,27,.34); color: #fff !important; filter: brightness(1.06); transform: translateY(-3px); }
.pg-btn:hover:before, .gFive-btn:hover:before { left: 120%; }
.pg-btn i { font-size: 17px; position: relative; }
.pg-btn span { position: relative; }
.pg-btn-xl { min-height: 58px; padding: 16px 30px; }
.pg-btn-header { justify-self: end; }
.pg-btn-dark { background: linear-gradient(135deg, #1d2026, #090a0d) !important; box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.pg-btn-light { background: #fff !important; box-shadow: 0 12px 28px rgba(0,0,0,.18); color: var(--pg-black) !important; }
.pg-btn-light:hover { color: var(--pg-red) !important; }
.pg-btn-ghost { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.55) !important; box-shadow: none; }
.pg-btn-wa { background: linear-gradient(135deg, #31db71, #159447) !important; box-shadow: 0 10px 24px rgba(37,211,102,.22); }
.pg-btn-block { width: 100%; }
.pg-card-link { align-items: center; color: var(--pg-red) !important; display: inline-flex; font-size: 13px; font-weight: 900; gap: 9px; letter-spacing: .5px; margin-top: auto; text-transform: uppercase; }
.pg-card-link:after { content: "\f178"; font-family: FontAwesome; transition: transform .2s ease; }
.pg-card-link i { color: #25d366; font-size: 18px; }
.pg-card-link:hover:after { transform: translateX(5px); }

.pg-hero .gFive-main-slide { min-height: 720px; }
.pg-hero .gFive-main-slide:after { background: linear-gradient(90deg, rgba(7,8,11,.96) 0%, rgba(7,8,11,.82) 45%, rgba(7,8,11,.45) 100%) !important; }
.pg-hero-grid { align-items: center; display: grid; gap: 55px; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); }
.pg-hero .slider-text { max-width: none; }
.pg-hero-label { align-items: center; color: #fff; display: inline-flex; font-size: 13px; font-weight: 900; gap: 10px; letter-spacing: 1.4px; margin-bottom: 18px; text-transform: uppercase; }
.pg-hero-label i { align-items: center; background: var(--pg-red); border-radius: 50%; display: flex; height: 34px; justify-content: center; width: 34px; }
.pg-hero .slider-text h1, .pg-hero .slider-text h2 { color: #fff; font-size: clamp(48px,5.2vw,76px); font-style: italic; font-weight: 900; letter-spacing: -2px; line-height: .98; margin-bottom: 22px; max-width: 820px; text-transform: uppercase !important; }
.pg-hero .slider-text h1 em, .pg-hero .slider-text h2 em { color: var(--pg-red); font-style: inherit; }
.pg-hero .slider-text > p { border: 0; color: #d5d8de !important; font-size: 18px; line-height: 1.65; max-width: 680px; padding: 0; }
.pg-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.pg-hero-trust { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 30px; }
.pg-hero-trust span { color: #f1f2f4; font-size: 13px; font-weight: 700; }
.pg-hero-trust i { color: var(--pg-red); margin-right: 5px; }
.pg-hero-logo { background: rgba(255,255,255,.96); border: 1px solid rgba(255,255,255,.55); box-shadow: 0 28px 80px rgba(0,0,0,.35); clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%); padding: 18px; position: relative; }
.pg-hero-logo:before { border-left: 4px solid var(--pg-red); border-top: 4px solid var(--pg-red); content: ""; height: 45px; left: -10px; position: absolute; top: -10px; width: 45px; }
.pg-hero-logo img { display: block; width: 100%; }

.pg-contact-strip { background: #fff; border-bottom: 1px solid #e5e7eb; box-shadow: 0 18px 45px rgba(14,16,20,.08); padding: 34px 0; position: relative; z-index: 5; }
.pg-contact-strip-grid { align-items: center; display: grid; gap: 28px; grid-template-columns: 1.05fr 2fr auto; }
.pg-contact-strip-title { align-items: center; display: flex; gap: 18px; }
.pg-contact-strip-title > span { color: #e6e8eb; font-size: 54px; font-style: italic; font-weight: 900; line-height: 1; }
.pg-contact-strip-title small { color: var(--pg-red); font-size: 12px; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase; }
.pg-contact-strip-title h2 { color: var(--pg-black); font-size: 25px; margin: 0; }
.pg-contact-steps { display: grid; gap: 22px; grid-template-columns: repeat(3,1fr); }
.pg-contact-steps > div { align-items: center; display: flex; gap: 12px; }
.pg-contact-steps > div > i { align-items: center; background: var(--pg-light); border-radius: 50%; color: var(--pg-red); display: flex; flex: 0 0 auto; font-size: 18px; height: 46px; justify-content: center; width: 46px; }
.pg-contact-steps strong, .pg-contact-steps span { display: block; }
.pg-contact-steps strong { color: var(--pg-black); font-size: 14px; }
.pg-contact-steps span { color: #777c85; font-size: 12px; line-height: 1.35; }

.pg-section-head { align-items: end; display: flex; gap: 45px; justify-content: space-between; margin-bottom: 44px; }
.pg-section-head > div { max-width: 720px; }
.pg-section-head h2 { color: var(--pg-black); font-size: clamp(34px,4vw,52px); font-style: italic; font-weight: 900; letter-spacing: -1.4px; line-height: 1.04; margin: 6px 0 0; text-transform: uppercase; }
.pg-section-head > p { color: #696e77; font-size: 16px; margin: 0; max-width: 440px; }
.pg-section-head-center { align-items: center; flex-direction: column; gap: 14px; text-align: center; }
.pg-section-head-center > p { max-width: 700px; }
.pg-kicker { color: var(--pg-red); font-size: 12px; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; }

.pg-services-showcase { background: linear-gradient(180deg,#f5f6f8,#fff); overflow: hidden; position: relative; }
.pg-services-showcase:before { color: rgba(14,16,20,.025); content: "PISTON"; font-size: 220px; font-style: italic; font-weight: 900; left: -20px; line-height: 1; position: absolute; top: 20px; }
.pg-services-grid { display: grid; gap: 22px; grid-template-columns: repeat(3,1fr); position: relative; }
.pg-service-v2 { background: #fff; border: 1px solid #e0e3e7; box-shadow: 0 12px 35px rgba(14,16,20,.065); clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 0 100%); display: flex; flex-direction: column; min-height: 345px; overflow: hidden; padding: 34px; position: relative; transition: transform .25s ease, box-shadow .25s ease; }
.pg-service-v2:before { background: linear-gradient(180deg,var(--pg-red),#890811); content: ""; height: 5px; left: 0; position: absolute; top: 0; transition: height .25s ease; width: 100%; }
.pg-service-v2:hover { box-shadow: 0 24px 55px rgba(14,16,20,.14); transform: translateY(-8px); }
.pg-service-v2:hover:before { height: 9px; }
.pg-service-index { color: #dfe2e6; font-size: 46px; font-style: italic; font-weight: 900; line-height: 1; position: absolute; right: 24px; top: 23px; }
.pg-service-icon { align-items: center; background: linear-gradient(135deg,var(--pg-red),#980812); box-shadow: 0 10px 22px rgba(209,15,27,.22); clip-path: polygon(0 0, 80% 0, 100% 20%, 100% 100%, 20% 100%, 0 80%); color: #fff; display: flex; font-size: 28px; height: 64px; justify-content: center; margin-bottom: 24px; width: 64px; }
.pg-service-v2 h3 { color: var(--pg-black); font-size: 23px; font-weight: 800; margin-bottom: 12px; }
.pg-service-v2 p { color: #6c717a; margin-bottom: 24px; }
.pg-service-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 22px; }
.pg-service-meta span { background: var(--pg-light); color: #555b64; font-size: 11px; font-weight: 700; padding: 5px 8px; }
.pg-service-meta i { color: var(--pg-red); margin-right: 4px; }
.pg-section-action { margin-top: 38px; text-align: center; }

.pg-diagnostic-banner { background: radial-gradient(circle at 15% 50%,#2c3037 0,#111318 36%,#08090c 100%); color: #fff; overflow: hidden; position: relative; }
.pg-diagnostic-banner:after { background: var(--pg-red); clip-path: polygon(35% 0,100% 0,100% 100%,0 100%); content: ""; inset: 0 0 0 60%; opacity: .9; position: absolute; }
.pg-diagnostic-inner { align-items: center; display: grid; grid-template-columns: 1fr 1.15fr; min-height: 410px; position: relative; z-index: 2; }
.pg-diagnostic-visual { align-self: stretch; align-items: end; display: flex; justify-content: center; position: relative; }
.pg-diagnostic-visual img { filter: drop-shadow(0 24px 30px rgba(0,0,0,.5)); max-height: 360px; max-width: 100%; object-fit: contain; position: relative; z-index: 2; }
.pg-orbit { border: 1px solid rgba(255,255,255,.15); border-radius: 50%; position: absolute; }
.pg-orbit-one { height: 280px; left: 16%; top: 70px; width: 280px; }
.pg-orbit-two { height: 190px; left: 25%; top: 114px; width: 190px; }
.pg-diagnostic-copy { padding: 55px 0 55px 70px; position: relative; z-index: 3; }
.pg-diagnostic-copy .pg-kicker { color: #fff; opacity: .85; }
.pg-diagnostic-copy h2 { color: #fff; font-size: 43px; font-style: italic; font-weight: 900; line-height: 1.05; margin: 10px 0 18px; text-transform: uppercase; }
.pg-diagnostic-copy p { color: #fff; font-size: 17px; max-width: 570px; }

.pg-packages-showcase { background: #fff; }
.pg-package-grid { display: grid; gap: 24px; grid-template-columns: repeat(3,1fr); }
.pg-package-v2 { background: #f7f8fa; border: 1px solid #dfe2e6; box-shadow: 0 15px 38px rgba(14,16,20,.08); display: flex; flex-direction: column; min-height: 520px; overflow: hidden; padding: 38px; position: relative; transition: transform .25s ease, box-shadow .25s ease; }
.pg-package-v2:before { background: #111318; content: ""; height: 7px; left: 0; position: absolute; top: 0; width: 100%; }
.pg-package-v2.is-featured { background: linear-gradient(155deg,#1b1e24,#090a0d); border-color: #272b32; color: #fff; transform: translateY(-14px); }
.pg-package-v2.is-featured:before { background: var(--pg-red); }
.pg-package-v2:hover { box-shadow: 0 28px 60px rgba(14,16,20,.16); transform: translateY(-8px); }
.pg-package-v2.is-featured:hover { transform: translateY(-20px); }
.pg-package-badge { background: var(--pg-red); color: #fff; font-size: 11px; font-weight: 900; letter-spacing: 1px; padding: 9px 25px; position: absolute; right: -30px; text-transform: uppercase; top: 27px; transform: rotate(45deg); width: 145px; text-align: center; }
.pg-package-top { align-items: center; display: flex; justify-content: space-between; }
.pg-package-top i { align-items: center; background: #fff; border: 1px solid #e0e2e6; border-radius: 50%; color: var(--pg-red); display: flex; font-size: 26px; height: 64px; justify-content: center; width: 64px; }
.pg-package-no { color: #d7dbe0; font-size: 55px; font-style: italic; font-weight: 900; }
.pg-package-v2 > small { color: var(--pg-red); font-size: 12px; font-weight: 900; letter-spacing: .7px; margin-top: 28px; text-transform: uppercase; }
.pg-package-v2 h3 { color: var(--pg-black); font-size: 29px; font-weight: 900; margin: 5px 0 18px; }
.pg-package-v2.is-featured h3 { color: #fff; }
.pg-package-intro { color: #767b84; }
.pg-package-v2 ul { list-style: none; margin: 7px 0 30px; padding: 0; }
.pg-package-v2 li { border-bottom: 1px solid #e0e3e7; color: #4f545c; font-weight: 600; padding: 13px 0 13px 27px; position: relative; }
.pg-package-v2 li:before { color: var(--pg-red); content: "\f00c"; font-family: FontAwesome; left: 2px; position: absolute; }
.pg-package-v2.is-featured li { border-color: #30343c; color: #d8dbe0; }
.pg-package-v2 .pg-btn { margin-top: auto; }
.pg-package-note { background: var(--pg-light); border-left: 3px solid var(--pg-red); color: #555a63; margin-top: 38px; padding: 17px 20px; text-align: center; }
.pg-package-note i { color: var(--pg-red); margin-right: 7px; }
.pg-package-benefits { background: var(--pg-black); display: grid; gap: 1px; grid-template-columns: repeat(3,1fr); margin-top: 45px; }
.pg-package-benefits > div { align-items: center; background: #15171c; color: #fff; display: grid; gap: 4px 13px; grid-template-columns: 48px 1fr; padding: 24px; }
.pg-package-benefits i { color: var(--pg-red); font-size: 27px; grid-row: 1/3; }
.pg-package-benefits strong, .pg-package-benefits span { display: block; }
.pg-package-benefits span { color: #9ea3ac; font-size: 13px; }

.pg-gallery-showcase { background: #0b0c0f; color: #fff; }
.pg-gallery-showcase .pg-section-head h2, .pg-gallery-showcase .pg-section-head p { color: #fff; }
.pg-text-link { color: #fff !important; font-weight: 800; }
.pg-text-link i { color: var(--pg-red); margin-left: 6px; }
.pg-gallery-mosaic { display: grid; gap: 14px; grid-auto-flow: dense; grid-auto-rows: 250px; grid-template-columns: repeat(4,1fr); }
.pg-gallery-tile { display: block; overflow: hidden; position: relative; }
.pg-gallery-tile:after { background: linear-gradient(180deg,transparent 35%,rgba(4,5,7,.92)); content: ""; inset: 0; position: absolute; }
.pg-gallery-tile img { height: 100%; object-fit: cover; transition: transform .45s ease, filter .45s ease; width: 100%; }
.pg-gallery-tile:hover img { filter: saturate(1.15); transform: scale(1.08); }
.pg-gallery-wide { grid-column: span 2; }
.pg-gallery-tall { grid-row: span 2; }
.pg-gallery-tile span { align-items: end; bottom: 0; display: grid; grid-template-columns: 1fr auto; left: 0; padding: 22px; position: absolute; right: 0; z-index: 2; }
.pg-gallery-tile small { color: var(--pg-red); font-size: 10px; font-weight: 900; grid-column: 1; letter-spacing: 1.2px; text-transform: uppercase; }
.pg-gallery-tile strong { color: #fff; font-size: 19px; grid-column: 1; }
.pg-gallery-tile span i { align-items: center; border: 1px solid rgba(255,255,255,.5); color: #fff; display: flex; grid-column: 2; grid-row: 1/3; height: 38px; justify-content: center; width: 38px; }
.pg-gallery-page { grid-auto-rows: 290px; }
.pg-gallery-band { align-items: center; background: var(--pg-red); color: #fff; display: grid; gap: 20px; grid-template-columns: repeat(3,1fr) auto; margin-top: 30px; padding: 28px; }
.pg-gallery-band strong, .pg-gallery-band span { display: block; }
.pg-gallery-band strong { font-size: 18px; }
.pg-gallery-band span { font-size: 13px; opacity: .85; }

.pg-testimonials { background: #f4f5f7; position: relative; }
.pg-testimonial-card { background: #fff; border: 1px solid #e0e3e7; box-shadow: 0 15px 35px rgba(14,16,20,.075); min-height: 340px; padding: 34px; position: relative; }
.pg-quote-mark { color: rgba(209,15,27,.12); font-family: Georgia,serif; font-size: 105px; line-height: .6; position: absolute; right: 25px; top: 30px; }
.pg-stars { color: #f5b301; letter-spacing: 4px; margin-bottom: 18px; }
.pg-testimonial-card > p { color: #4f545d; font-size: 17px; font-style: italic; line-height: 1.8; min-height: 150px; position: relative; }
.pg-client { align-items: center; border-top: 1px solid #eceef1; display: flex; gap: 13px; padding-top: 20px; }
.pg-client > span { align-items: center; background: var(--pg-black); border-radius: 50%; color: #fff; display: flex; font-weight: 900; height: 48px; justify-content: center; width: 48px; }
.pg-client strong, .pg-client small { display: block; }
.pg-client strong { color: var(--pg-black); }
.pg-client small { color: var(--pg-red); font-size: 12px; }

.pg-final-cta { background: linear-gradient(120deg,var(--pg-red),#8c0710); color: #fff; overflow: hidden; padding: 65px 0; position: relative; }
.pg-final-cta:before { border: 1px solid rgba(255,255,255,.14); border-radius: 50%; content: ""; height: 420px; position: absolute; right: 8%; top: -190px; width: 420px; }
.pg-final-cta-inner { align-items: center; display: flex; justify-content: space-between; position: relative; }
.pg-final-cta .pg-kicker { color: #fff; opacity: .8; }
.pg-final-cta h2 { color: #fff; font-size: 43px; font-style: italic; font-weight: 900; line-height: 1.05; margin: 7px 0 10px; text-transform: uppercase; }
.pg-final-cta p { color: #fff; margin: 0; }
.pg-final-inline { align-items: center; background: linear-gradient(120deg,#111318,#262a31); color: #fff; display: flex; justify-content: space-between; margin-top: 48px; padding: 34px; }
.pg-final-inline span { color: var(--pg-red); font-size: 12px; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; }
.pg-final-inline h3 { color: #fff; margin: 4px 0 0; }

.pg-footer { background: #08090c; color: #cdd0d6; position: relative; }
.pg-footer-accent { background: linear-gradient(90deg,var(--pg-red) 0 34%,#31353d 34% 38%,var(--pg-red) 38% 42%,#31353d 42%); height: 7px; }
.pg-footer .footer-top-area { background: radial-gradient(circle at 85% 20%,#242830 0,#101217 38%,#08090c 72%) !important; padding: 64px 0; }
.pg-footer-brand img { background: transparent; filter: drop-shadow(0 0 2px rgba(255,255,255,.58)) drop-shadow(0 14px 25px rgba(209,15,27,.2)); height: 190px; object-fit: contain; padding: 0; width: 190px; }
.pg-footer-brand p { color: #aeb3bb; margin-top: 18px; max-width: 330px; }
.pg-footer-links h3, .pg-footer-contact h3 { color: #fff; }
.pg-footer-links h3 { border-bottom: 2px solid var(--pg-red); display: inline-block; margin-bottom: 18px; padding-bottom: 8px; }
.pg-footer-links a { color: #bfc3ca; display: block; padding: 6px 0; }
.pg-footer-links a:before { color: var(--pg-red); content: "\f105"; font-family: FontAwesome; margin-right: 9px; }
.pg-footer-contact { border-left: 1px solid #30343b; padding-left: 38px; }
.pg-footer-contact h3 { font-size: 31px; font-style: italic; font-weight: 900; text-transform: uppercase; }
.pg-footer-contact p { color: #aeb3bb; }
.pg-footer-contact ul { list-style: none; margin: 22px 0 0; padding: 0; }
.pg-footer-contact li { color: #aeb3bb; margin: 8px 0; }
.pg-footer-contact li i { color: var(--pg-red); margin-right: 9px; width: 16px; }
.pg-footer .footer-bottom-area { background: #050608 !important; padding: 17px 0; text-align: center; }
.pg-footer .footer-bottom-area p { color: #777c85; font-size: 12px; margin: 0; }
.pg-floating-wa { align-items: center; background: #25d366; border: 3px solid #fff; border-radius: 30px; bottom: 22px; box-shadow: 0 12px 35px rgba(0,0,0,.28); color: #fff !important; display: flex; font-weight: 900; gap: 9px; padding: 12px 18px; position: fixed; right: 22px; z-index: 999; }
.pg-floating-wa i { font-size: 23px; }
.pg-floating-wa:hover { background: #159447; transform: translateY(-3px); }

.pg-page-hero { align-items: center; background: url("../img/breadcromb.jpg") center center/cover no-repeat; display: flex; min-height: 310px; overflow: hidden; position: relative; }
.pg-page-hero:after { background: linear-gradient(105deg,rgba(6,7,9,.96),rgba(6,7,9,.72) 58%,rgba(209,15,27,.42)) !important; content: ""; inset: 0; position: absolute; }
.pg-page-hero:before { background: var(--pg-red); clip-path: polygon(100% 0,100% 100%,0 100%); content: ""; height: 150px; opacity: .8; position: absolute; right: 0; top: 0; width: 210px; z-index: 1; }
.pg-page-hero > .container { position: relative; width: 100%; z-index: 2; }
.pg-page-hero .breadcromb-box { position: relative; z-index: 2; }
.pg-page-hero h1 { color: #fff; font-size: 50px; font-style: italic; font-weight: 900; line-height: 1; margin: 7px 0 16px; text-transform: uppercase; }
.pg-page-hero .breadcromb-box ul li, .pg-page-hero .breadcromb-box ul li a { color: #fff; }
.pg-page { padding-bottom: 90px; padding-top: 90px; }
.pg-services-grid-page { grid-template-columns: repeat(4,1fr); }
.pg-services-grid-page .pg-service-v2 { min-height: 390px; }
.pg-package-grid-page { margin-top: 15px; }
.pg-wa-service-grid { display: grid; gap: 22px; grid-template-columns: repeat(3,1fr); }
.pg-wa-service-grid article { background: #fff; border: 1px solid #e1e4e8; box-shadow: 0 15px 38px rgba(14,16,20,.075); display: flex; flex-direction: column; min-height: 380px; padding: 30px; position: relative; }
.pg-wa-service-grid article > span { color: #dfe2e6; font-size: 40px; font-style: italic; font-weight: 900; position: absolute; right: 22px; top: 24px; }
.pg-wa-service-grid h3 { color: var(--pg-black); font-size: 22px; margin: 0 0 10px; }
.pg-wa-service-grid p { color: #696e77; margin-bottom: 24px; }
.pg-wa-service-grid .pg-btn { margin-top: auto; }
.pg-contact-hero { background: linear-gradient(135deg,#171a20,#08090c); color: #fff; min-height: 520px; overflow: hidden; padding: 55px; position: relative; }
.pg-contact-hero:after { border: 80px solid rgba(209,15,27,.12); border-radius: 50%; content: ""; height: 400px; position: absolute; right: -180px; top: -160px; width: 400px; }
.pg-contact-hero h2 { color: #fff; font-size: 48px; font-style: italic; font-weight: 900; line-height: 1.04; margin: 12px 0 20px; max-width: 620px; text-transform: uppercase; }
.pg-contact-hero > p { color: #c0c4cb; font-size: 17px; max-width: 580px; }
.pg-contact-points { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 32px; }
.pg-contact-points span { color: #fff; font-size: 13px; }
.pg-contact-points i { color: var(--pg-red); margin-right: 5px; }
.pg-contact-data { background: #fff; border: 1px solid #e1e4e8; box-shadow: 0 18px 45px rgba(14,16,20,.1); min-height: 520px; padding: 30px; }
.pg-contact-data > img { display: block; height: 220px; margin: 0 auto 20px; object-fit: contain; width: 220px; }
.pg-contact-data > div { align-items: flex-start; border-top: 1px solid #e7e9ec; display: flex; gap: 14px; padding: 14px 0; }
.pg-contact-data > div > i { color: var(--pg-red); font-size: 21px; margin-top: 4px; width: 24px; }
.pg-contact-data strong, .pg-contact-data span { display: block; }
.pg-contact-data strong { color: var(--pg-black); }

.pg-vehicle-services { background: #eef0f3; overflow: hidden; position: relative; }
.pg-vehicle-services:before { color: rgba(14,16,20,.035); content: "GARAGE"; font-size: 210px; font-style: italic; font-weight: 900; line-height: 1; position: absolute; right: -35px; top: 15px; }
.pg-vehicle-services .container { position: relative; }
.pg-vehicle-grid { display: grid; gap: 24px; grid-template-columns: repeat(3,1fr); }
.pg-vehicle-card { background: #fff; border: 1px solid #dfe2e6; box-shadow: 0 15px 38px rgba(14,16,20,.08); display: flex; flex-direction: column; min-height: 540px; overflow: hidden; position: relative; transition: box-shadow .25s ease, transform .25s ease; }
.pg-vehicle-card:hover { box-shadow: 0 28px 58px rgba(14,16,20,.16); transform: translateY(-8px); }
.pg-vehicle-image { align-items: center; background: linear-gradient(145deg,#fff,#e9ecf0); border-bottom: 4px solid var(--pg-red); display: flex; height: 235px; justify-content: center; overflow: hidden; padding: 24px 22px 8px; position: relative; }
.pg-vehicle-image:after { border: 1px solid rgba(14,16,20,.07); border-radius: 50%; content: ""; height: 210px; position: absolute; right: -65px; top: -70px; width: 210px; }
.pg-vehicle-image > span { color: rgba(14,16,20,.08); font-size: 68px; font-style: italic; font-weight: 900; left: 20px; line-height: 1; position: absolute; top: 16px; }
.pg-vehicle-image img { filter: drop-shadow(0 18px 15px rgba(14,16,20,.22)); max-height: 180px; object-fit: contain; position: relative; transform: scale(1.04); transition: transform .35s ease; width: 100%; z-index: 2; }
.pg-vehicle-card:hover .pg-vehicle-image img { transform: scale(1.1) translateY(-4px); }
.pg-vehicle-copy { display: flex; flex: 1; flex-direction: column; padding: 28px; }
.pg-vehicle-copy > small { color: var(--pg-red); font-size: 11px; font-weight: 900; letter-spacing: 1.3px; text-transform: uppercase; }
.pg-vehicle-copy h3 { color: var(--pg-black); font-size: 25px; font-weight: 900; margin: 5px 0 11px; }
.pg-vehicle-copy > p { color: #686d76; line-height: 1.65; margin-bottom: 18px; }
.pg-vehicle-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: auto 0 20px; }
.pg-vehicle-tags span { background: #f0f2f5; color: #50555e; font-size: 11px; font-weight: 800; padding: 6px 10px; text-transform: uppercase; }

@media (max-width: 1199px) {
  .pg-header-inner { grid-template-columns: 170px 1fr auto; }
  .pg-brand img { height: 128px; width: 128px; }
  .pg-nav .mainmenu ul li a { padding-inline: 12px !important; }
  .pg-contact-strip-grid { grid-template-columns: 1fr; }
  .pg-contact-steps { order: 3; }
  .pg-contact-strip-grid > .pg-btn { justify-self: start; }
  .pg-services-grid-page { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 991px) {
  .pg-topbar { background: #08090c; }
  .pg-topbar p:first-child:after { display: none; }
  .pg-header-inner { grid-template-columns: 130px 1fr; min-height: 130px; }
  .pg-brand img { height: 115px; width: 115px; }
  .pg-header-promise { justify-self: end; }
  .pg-btn-header { display: none; }
  .pg-nav-inner { min-height: 62px; }
  .pg-nav .mainmenu { display: none; }
  .pg-nav-wa { margin-left: auto; }
  .pg-hero-grid { grid-template-columns: 1fr; }
  .pg-hero-logo { display: none; }
  .pg-hero .gFive-main-slide { min-height: 650px; }
  .pg-services-grid, .pg-wa-service-grid { grid-template-columns: repeat(2,1fr); }
  .pg-diagnostic-inner { grid-template-columns: .8fr 1.2fr; }
  .pg-diagnostic-copy { padding-left: 30px; padding-right: 20px; }
  .pg-package-grid { grid-template-columns: 1fr; }
  .pg-package-v2.is-featured, .pg-package-v2.is-featured:hover { transform: none; }
  .pg-gallery-mosaic { grid-template-columns: repeat(2,1fr); }
  .pg-gallery-band { grid-template-columns: repeat(2,1fr); }
  .pg-final-cta-inner { align-items: flex-start; flex-direction: column; gap: 28px; }
  .pg-footer-contact { border-left: 0; margin-top: 30px; padding-left: 0; }
  .pg-services-grid-page { grid-template-columns: repeat(2,1fr); }
  .pg-vehicle-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 767px) {
  .pg-topbar-inner { align-items: flex-start; flex-direction: column; justify-content: center; padding: 8px 0; }
  .pg-header-inner { grid-template-columns: 1fr; justify-items: center; min-height: 145px; }
  .pg-brand img { height: 140px; width: 140px; }
  .pg-header-promise { display: none; }
  .pg-nav-wa { font-size: 12px; padding: 9px 12px; }
  .pg-hero .gFive-main-slide { min-height: 620px; }
  .pg-hero .slider-text h1, .pg-hero .slider-text h2 { font-size: 43px; letter-spacing: -1px; }
  .pg-hero .slider-text > p { font-size: 16px; }
  .pg-hero-trust { display: grid; gap: 8px; }
  .pg-contact-steps { grid-template-columns: 1fr; }
  .pg-section-head { align-items: flex-start; flex-direction: column; gap: 14px; }
  .pg-section-head-center { align-items: center; }
  .pg-services-grid, .pg-services-grid-page, .pg-wa-service-grid { grid-template-columns: 1fr; }
  .pg-diagnostic-inner { grid-template-columns: 1fr; }
  .pg-diagnostic-banner:after { inset: 55% 0 0 0; }
  .pg-diagnostic-visual { min-height: 300px; }
  .pg-diagnostic-copy { padding: 40px 20px 55px; }
  .pg-package-v2 { min-height: auto; padding: 30px; }
  .pg-gallery-mosaic { grid-auto-rows: 230px; grid-template-columns: 1fr; }
  .pg-gallery-wide { grid-column: span 1; }
  .pg-gallery-tall { grid-row: span 1; }
  .pg-gallery-band, .pg-package-benefits { grid-template-columns: 1fr; }
  .pg-final-cta h2 { font-size: 34px; }
  .pg-final-inline { align-items: flex-start; flex-direction: column; gap: 22px; }
  .pg-footer-brand img { height: 160px; width: 160px; }
  .pg-page-hero h1 { font-size: 39px; }
  .pg-contact-hero { min-height: auto; padding: 34px 25px; }
  .pg-contact-hero h2 { font-size: 36px; }
  .pg-vehicle-grid { grid-template-columns: 1fr; }
  .pg-vehicle-card { min-height: auto; }
  .pg-floating-wa span { display: none; }
  .pg-floating-wa { border-radius: 50%; height: 58px; justify-content: center; padding: 0; width: 58px; }
}

@media (max-width: 480px) {
  .pg-hero-actions { flex-direction: column; }
  .pg-hero-actions .pg-btn { width: 100%; }
  .pg-hero .slider-text h1, .pg-hero .slider-text h2 { font-size: 36px; }
  .pg-contact-strip-title > span { display: none; }
  .pg-section-head h2 { font-size: 34px; }
  .pg-service-v2 { min-height: auto; padding: 28px 24px; }
  .pg-testimonial-card { padding: 28px 24px; }
  .pg-contact-data > img { height: 170px; width: 170px; }
}
