.elementor-kit-6{--e-global-color-primary:#1A52E3;--e-global-color-secondary:#0E1116;--e-global-color-text:#3A4250;--e-global-color-accent:#FAF01C;--e-global-color-ppsky:#2BB2F1;--e-global-color-ppnavy:#0B2A6F;--e-global-color-pppaper:#F5F7FA;--e-global-color-ppmist:#EAF5FC;--e-global-color-ppmuted:#586273;--e-global-color-ppline:#D8DEE6;--e-global-typography-primary-font-family:"Barlow";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Barlow";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Public Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Barlow";--e-global-typography-accent-font-weight:700;background-color:#FFFFFF;color:#3A4250;font-family:"Public Sans", Sans-serif;font-size:17px;line-height:1.7em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#1A52E3;font-family:"Barlow", Sans-serif;font-weight:700;color:#FFFFFF;border-radius:6px 6px 6px 6px;padding:16px 28px 16px 28px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#1443BD;color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#1A52E3;}.elementor-kit-6 a:hover{color:#1443BD;}.elementor-kit-6 h1{color:#0E1116;font-family:"Barlow", Sans-serif;font-weight:800;}.elementor-kit-6 h2{color:#0E1116;font-family:"Barlow", Sans-serif;font-weight:700;}.elementor-kit-6 h3{color:#0E1116;font-family:"Barlow", Sans-serif;font-weight:700;}.elementor-kit-6 h4{color:#0E1116;font-family:"Barlow", Sans-serif;font-weight:700;}.elementor-kit-6 h5{color:#0E1116;font-family:"Barlow", Sans-serif;font-weight:700;}.elementor-kit-6 h6{color:#0E1116;font-family:"Barlow", Sans-serif;font-weight:700;}.elementor-kit-6 label{color:#0E1116;}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{color:#0E1116;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#7A8494;border-radius:6px 6px 6px 6px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --pp-ink:#0E1116; --pp-ink-2:#161B23; --pp-ink-3:#212833; --pp-blue:#1A52E3; --pp-blue-dark:#1443BD; --pp-navy:#0B2A6F; --pp-sky:#2BB2F1; --pp-yellow:#FAF01C; --pp-yellow-dark:#E6DC00; --pp-white:#FFFFFF; --pp-paper:#F5F7FA; --pp-mist:#EAF5FC; --pp-slate:#3A4250; --pp-muted:#586273; --pp-line:#D8DEE6; --pp-on-dark-muted:#A9B3C1; --pp-on-dark-line:#2E3744; --font-heading:Barlow; --font-body:Public Sans; --fs-display:clamp(2.625rem, 1.5rem + 4.2vw, 4.75rem); --fs-h1:clamp(2.25rem, 1.45rem + 3vw, 3.75rem); --fs-h2:clamp(1.875rem, 1.35rem + 1.9vw, 2.875rem); --fs-h3:clamp(1.25rem, 1.1rem + 0.55vw, 1.5rem); --fs-lead:clamp(1.125rem, 1rem + 0.45vw, 1.3125rem); --space-section:clamp(4rem, 2.5rem + 5.5vw, 7.5rem); --gutter:clamp(1.25rem, 0.6rem + 2.6vw, 3rem); --fs-body:1.0625rem; --fs-small:0.9375rem; --fs-eyebrow:0.8125rem; --container:75rem; --radius-sm:6px; --radius-md:12px; --radius-lg:20px; }
/* Start custom CSS *//* PinPoint site-wide CSS (kit custom CSS) */
html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: #FAF01C; color: #0E1116; }
/* Visible keyboard focus everywhere (atomic widgets reset outlines, hence !important) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #1A52E3 !important; outline-offset: 3px !important;
}
/* Yellow rings on ink and blue surfaces (header utility bar, heroes, CTA bands, footer) */
.pp-on-dark a:focus-visible, .pp-on-dark button:focus-visible, .pp-on-dark summary:focus-visible,
.pp-on-dark input:focus-visible, .elementor-location-footer a:focus-visible, .elementor-location-footer button:focus-visible { outline-color: #FAF01C !important; }
/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
/* Blog post body typography (theme-post-content) */
.pp-prose { font-family: "Public Sans", sans-serif; font-size: 1.125rem; line-height: 1.75; color: #3A4250; }
.pp-prose p { margin: 0 0 1.25em; }
.pp-prose h2, .pp-prose h3 { font-family: "Barlow", sans-serif; color: #0E1116; margin: 1.6em 0 0.5em; line-height: 1.2; }
.pp-prose a { color: #1A52E3; text-decoration: underline; text-underline-offset: 3px; }
.pp-prose img { border-radius: 12px; height: auto; }
/* Form status messages */
.e-form-success-message, .e-form-error-message { border-radius: 6px; font-size: 1rem !important; }

/* ---------- Header: sticky main bar (utility bar scrolls away) ---------- */
.elementor-location-header { position: sticky; top: -44px; z-index: 999; }
@media (max-width: 767px) { .elementor-location-header { top: -44px; } }

/* ---------- Primary navigation (Elementor Pro nav menu inside the header) ---------- */
.elementor-location-header .elementor-nav-menu--main .elementor-item {
  font-family: "Barlow", sans-serif; font-size: 1.0625rem; font-weight: 600; letter-spacing: 0.01em;
  color: #0E1116; padding: 0.75rem 0.85rem;
}
body .elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
body .elementor-location-header .elementor-nav-menu--main .elementor-item:focus-visible,
body .elementor-location-header .elementor-nav-menu--main .elementor-item.highlighted,
body .elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
body .elementor-location-header .elementor-nav-menu--main .menu-item.current-menu-ancestor > .elementor-item { color: #1A52E3 !important; }
body .elementor-location-header .elementor-nav-menu--main .elementor-item::after,
body .elementor-location-header .e--pointer-underline .elementor-item::after { background-color: #1A52E3 !important; height: 3px; border-radius: 2px; }
.elementor-location-header .elementor-nav-menu--main .sub-menu {
  background: #FFFFFF; border: 1px solid #D8DEE6; border-radius: 12px; padding: 0.5rem;
  box-shadow: 0 20px 48px rgba(14, 17, 22, 0.12); min-width: 19rem !important; margin-top: 0.25rem;
}
.elementor-location-header .elementor-nav-menu--main .elementor-sub-item {
  font-family: "Public Sans", sans-serif; font-size: 0.975rem; font-weight: 500; color: #0E1116;
  padding: 0.7rem 0.9rem; border-radius: 6px; border: 0 !important;
}
body .elementor-location-header .elementor-nav-menu--main .elementor-sub-item:hover,
body .elementor-location-header .elementor-nav-menu--main .elementor-sub-item:focus-visible,
body .elementor-location-header .elementor-nav-menu--main .elementor-sub-item.elementor-item-active { background: #EAF5FC !important; color: #1443BD !important; }
.elementor-location-header .elementor-menu-toggle {
  color: #0E1116; background: #FFFFFF; border: 2px solid #D8DEE6; border-radius: 6px;
  padding: 0.45rem; font-size: 1.5rem; width: 2.75rem; height: 2.75rem;
}
.elementor-location-header .elementor-menu-toggle:hover, .elementor-location-header .elementor-menu-toggle.elementor-active { border-color: #1A52E3; color: #1A52E3; }
.elementor-location-header .elementor-nav-menu--dropdown {
  background: #FFFFFF; border-top: 1px solid #D8DEE6; box-shadow: 0 24px 40px rgba(14, 17, 22, 0.14);
}
body .elementor-location-header .elementor-nav-menu--dropdown .elementor-item {
  font-family: "Barlow", sans-serif !important; font-size: 1.125rem !important; font-weight: 600 !important; color: #0E1116;
  padding: 0.95rem 1.5rem !important; border-bottom: 1px solid #EEF1F5;
}
body .elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item {
  font-family: "Public Sans", sans-serif !important; font-size: 1rem !important; font-weight: 500 !important; color: #3A4250;
  padding: 0.8rem 1.5rem 0.8rem 2.5rem !important; border-bottom: 1px solid #EEF1F5;
}
body .elementor-location-header .elementor-nav-menu--dropdown a:hover,
body .elementor-location-header .elementor-nav-menu--dropdown a:focus-visible,
body .elementor-location-header .elementor-nav-menu--dropdown a.highlighted,
body .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item-active { background: #EAF5FC !important; color: #1443BD !important; }

/* ---------- Footer & dark sections ---------- */
.elementor-location-header .elementor-nav-menu--dropdown .sub-menu { box-shadow: none !important; border: 0 !important; }
.elementor-location-footer .e-form-input-base::placeholder { color: #6B7584; }

/* Highlighted word in display headings, e.g. "pinpointed." in the home hero */
.pp-display em, .pp-h1 em { font-style: normal; color: #FAF01C; }

/* Links inside running text must not rely on color alone (WCAG 1.4.1) */
.e-paragraph-base a, .elementor-widget-theme-post-content a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.e-paragraph-base a:hover { text-decoration-thickness: 2px; }

/* Sub-menu items: override the widget's default typography and indent */
body .elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item {
  font-family: "Public Sans", sans-serif !important; font-size: 0.975rem !important; font-weight: 500 !important;
  padding: 0.7rem 0.9rem !important; line-height: 1.35;
}
body .elementor-location-header .elementor-nav-menu--main .elementor-item .sub-arrow,
body .elementor-location-header .elementor-nav-menu--main .elementor-item .sub-arrow svg { color: currentColor !important; fill: currentColor !important; }
/* Mobile-only menu items (e.g. Request an Estimate) */
.elementor-location-header .elementor-nav-menu--main .pp-mobile-only { display: none !important; }
.elementor-location-header .elementor-nav-menu--dropdown .pp-mobile-only > a { color: #1A52E3 !important; font-weight: 700 !important; }
/* Mobile/tablet dropdown: full-width panel anchored under the main header bar */
@media (max-width: 1024px) {
  #site-main-bar { position: relative; }
  #site-main-bar .e-con, #site-main-bar .elementor-widget-nav-menu { position: static !important; }
  .elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; width: auto !important;
    margin-top: 0 !important; max-height: calc(100vh - 6rem); overflow-y: auto; z-index: 50;
  }
  .elementor-location-header .elementor-nav-menu--dropdown .sub-menu { position: static !important; }
}

/* ---------- Topographic texture for dark sections (add the pp-texture-topo class) ----------
   A seamless contour tile (assets/pinpoint-topo-texture.png, already ~30% opacity) drawn above the
   section's own background and glows, faded out behind the text so copy stays crisp. */
.pp-texture-topo::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image: url("https://pinpointnaturalgas.web7tech.com/wp-content/uploads/2026/10/pinpoint-topo-texture.png");
  background-repeat: repeat; background-size: 1100px auto; background-position: right top;
  -webkit-mask-image: linear-gradient(100deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.38) 38%, rgba(0,0,0,0.88) 78%, #000 100%);
          mask-image: linear-gradient(100deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.38) 38%, rgba(0,0,0,0.88) 78%, #000 100%);
}
.pp-texture-topo > * { position: relative; z-index: 1; }
@media (max-width: 767px) {
  .pp-texture-topo::before {
    background-size: 800px auto;
    -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.2) 45%, rgba(0,0,0,0.75) 100%);
            mask-image: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.2) 45%, rgba(0,0,0,0.75) 100%);
  }
}/* End custom CSS */