/* NPOIL v3 — presentation shared by native templates and Elementor widgets. */
body.npoil-site a.npoil-button, body.npoil-site button.npoil-button { color: #fff !important; }
body.npoil-site .npoil-product-search input[type=search] { padding: 12px 20px 12px 59px !important; }
:root {
  --npoil-ink: #101723;
  --npoil-black: #080d10;
  --npoil-muted: #5b6472;
  --npoil-orange: #f45122;
  --npoil-orange-dark: #c63b11;
  --npoil-green: #07883c;
  --npoil-line: #e0e5eb;
  --npoil-soft: #f4f6f7;
  --npoil-white: #fff;
  --npoil-rail: 235px;
  --npoil-topbar: 56px;
  --npoil-hero: 446px;
  --npoil-discovery: 250px;
  --npoil-top-height: calc(var(--npoil-topbar) + var(--npoil-hero) + var(--npoil-discovery));
  --npoil-font: "Inter", "Arial", "Helvetica Neue", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body.npoil-site { margin: 0; background: var(--npoil-white); color: var(--npoil-ink); font-family: var(--npoil-font); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
.npoil-site h1, .npoil-site h2, .npoil-site h3, .npoil-site h4 { color: var(--npoil-black); font-family: var(--npoil-font); font-weight: 700; line-height: 1.15; margin: 0; letter-spacing: -.035em; }
.npoil-site h1 { font-size: clamp(36px, 4vw, 58px); }
.npoil-site h2 { font-size: clamp(28px, 3.1vw, 42px); }
.npoil-site h3 { font-size: 22px; }
.npoil-site p { margin: 0 0 1em; }
.npoil-site a { color: inherit; text-decoration: none; transition: color .16s ease, background-color .16s ease, border-color .16s ease; }
.npoil-site a:hover { color: var(--npoil-orange-dark); }
.npoil-site img { display: block; max-width: 100%; height: auto; }
.npoil-site figure { margin: 0; }
.npoil-site button, .npoil-site input, .npoil-site select, .npoil-site textarea { font-family: inherit; font-size: inherit; }
.npoil-site button { cursor: pointer; }
.npoil-site a:focus-visible, .npoil-site button:focus-visible, .npoil-site input:focus-visible, .npoil-site textarea:focus-visible, .npoil-site select:focus-visible, .npoil-site summary:focus-visible { outline: 3px solid var(--npoil-green); outline-offset: 4px; }
.npoil-site [hidden] { display: none !important; }
.npoil-site .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.npoil-skip-link { position: fixed; top: -100px; left: 16px; z-index: 100000; background: var(--npoil-ink); color: white !important; padding: 12px 20px; }
.npoil-skip-link:focus { top: 12px; }
.npoil-site .dashicons { width: 24px; height: 24px; font-size: 24px; line-height: 1; flex: 0 0 24px; }
.npoil-site .npoil-arrow { width: 20px; height: 20px; font-size: 20px; flex: 0 0 20px; }
.npoil-icon-button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--npoil-ink); border-radius: 0; }
.npoil-icon-button:hover { background: var(--npoil-soft); color: var(--npoil-orange-dark); }
.npoil-button, .npoil-site button.npoil-button, .npoil-site .button.npoil-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 56px; padding: 14px 25px; border: 1px solid var(--npoil-orange); border-radius: 3px; background: var(--npoil-orange); color: white; font-weight: 600; font-size: 17px; line-height: 1.4; text-align: center; }
.npoil-button:hover, .npoil-site button.npoil-button:hover { background: var(--npoil-orange-dark); border-color: var(--npoil-orange-dark); color: white; }
.npoil-button:disabled, .npoil-site button:disabled { cursor: wait; opacity: .6; }
.npoil-button-secondary { background: white; border-color: var(--npoil-line); color: var(--npoil-ink); }
.npoil-button-secondary:hover { background: var(--npoil-soft); border-color: var(--npoil-ink); color: var(--npoil-ink); }
.npoil-text-link { display: inline-flex; align-items: center; gap: 16px; font-size: 16px; font-weight: 600; line-height: 1.5; padding: 7px 0; border-bottom: 1px solid var(--npoil-orange); width: fit-content; }
.npoil-text-link .npoil-arrow { color: var(--npoil-orange); }
.npoil-eyebrow { display: flex; align-items: center; gap: 16px; color: var(--npoil-orange-dark); font-size: 12px; font-weight: 700; letter-spacing: .25em; line-height: 1.5; text-transform: uppercase; margin-bottom: 16px !important; }
.npoil-eyebrow::after { content: ""; width: 42px; height: 1px; background: currentColor; }
.npoil-muted { color: var(--npoil-muted); }

/* The rail occupies the top composition; the corporate section below is full width. */
.npoil-site-header { position: relative; height: var(--npoil-topbar); z-index: 30; }
.npoil-rail { position: absolute; top: 0; left: 0; width: var(--npoil-rail); height: var(--npoil-top-height); background: white; border-right: 1px solid var(--npoil-line); border-bottom: 1px solid var(--npoil-line); padding: 21px 28px 25px; z-index: 32; }
.npoil-rail-brand { display: flex; align-items: center; justify-content: space-between; }
.npoil-rail-brand > a { width: 177px; height: 61px; overflow: hidden; }
.npoil-rail-brand img { width: 202.4px; height: auto; max-width: none; margin-left: -12.7px; margin-top: -11.7px; }
.npoil-main-nav { margin-top: 36px; }
.npoil-menu, .npoil-menu ul { list-style: none; margin: 0; padding: 0; }
.npoil-menu > li > a { min-height: 65px; display: flex; align-items: center; gap: 19px; font-size: 15px; font-weight: 500; }
.npoil-menu > li > a > span:not(.dashicons) { flex: 1; }
.npoil-menu > li > a .npoil-arrow { margin-left: auto; font-size: 17px; }
.npoil-menu-icon { color: var(--npoil-ink); }
.npoil-menu > li:first-child .npoil-menu-icon, .npoil-menu .current-menu-item .npoil-menu-icon { color: var(--npoil-orange); }
.npoil-menu .current-menu-item > a { color: var(--npoil-orange-dark); }
.npoil-menu .sub-menu { padding: 0 0 12px 42px; }
.npoil-menu .sub-menu a { display: block; font-size: 14px; padding: 8px 0; }
.npoil-rail-utility { margin-top: 27px; border-top: 1px solid var(--npoil-line); padding-top: 18px; }
.npoil-rail-contact { display: flex; align-items: center; gap: 19px; min-height: 56px; font-size: 15px; }
.npoil-rail-contact span:not(.dashicons) { flex: 1; }
.npoil-rail-partner { display: flex; align-items: center; gap: 10px; font-size: 13px; padding: 15px 0 9px 43px; }
.npoil-rail-caption { color: var(--npoil-muted); font-size: 12px; line-height: 1.65; margin: 18px 0 0 43px !important; }
.npoil-topbar { height: var(--npoil-topbar); margin-left: var(--npoil-rail); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--npoil-line); padding-left: 40px; position: relative; z-index: 31; background: white; }
.npoil-home .npoil-topbar { background: rgba(255,255,255,.92); }
.npoil-topbar-brand { font-size: 14px; font-weight: 600; letter-spacing: .015em; }
.npoil-topbar-partner { height: 100%; display: flex; align-items: center; gap: 12px; padding: 0 30px; border-left: 1px solid var(--npoil-line); font-size: 14px; }
.npoil-topbar-partner > .dashicons:first-child { color: var(--npoil-orange); width: 28px; height: 28px; font-size: 28px; }
.npoil-mobile-header, .npoil-menu-close { display: none; }
.npoil-menu-backdrop { position: fixed; inset: 0; background: rgba(16,23,35,.45); z-index: 90; }
.npoil-home-top { margin-left: var(--npoil-rail); }
.npoil-hero { position: relative; height: var(--npoil-hero); isolation: isolate; overflow: hidden; background: #f4f5f3; display: flex; align-items: center; }
.npoil-hero-image { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; object-position: 72% center; z-index: -2; }
.npoil-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 25%, rgba(255,255,255,.4) 47%, rgba(255,255,255,0) 68%); z-index: -1; pointer-events: none; }
.npoil-hero-copy { padding: 40px; max-width: 710px; }
.npoil-hero h1 { color: #050b0d; font-size: clamp(56px, 5.85vw, 84px); font-weight: 750; line-height: 1.035; letter-spacing: -.035em; }
.npoil-period { color: var(--npoil-orange); }
.npoil-hero-copy > p { font-size: clamp(19px, 1.85vw, 27px); color: #4a5260; margin: 18px 0 28px; line-height: 1.45; letter-spacing: -.035em; }
.npoil-hero-actions { display: flex; align-items: center; gap: 36px; }
.npoil-hero-actions .npoil-button { min-height: 58px; font-size: 18px; padding-inline: 28px; }
.npoil-hero-actions .npoil-text-link { border-bottom: 1px solid var(--npoil-orange); white-space: nowrap; }
.npoil-discovery { min-height: var(--npoil-discovery); background: var(--npoil-soft); padding: 27px 40px 25px; }
.npoil-discovery h2 { font-size: clamp(25px, 2.35vw, 34px); letter-spacing: -.035em; margin-bottom: 15px; }
.npoil-discovery-row { display: grid; grid-template-columns: 1.95fr 1fr; gap: 36px; margin-bottom: 19px; align-items: center; }
.npoil-audience-links { display: grid; grid-template-columns: 1fr 1.07fr; gap: 16px; }
.npoil-audience-link { display: flex; align-items: center; gap: 15px; height: 65px; background: white; border: 1px solid var(--npoil-line); padding: 0 20px; border-radius: 3px; font-size: 17px; white-space: nowrap; }
.npoil-audience-link .dashicons:not(.npoil-arrow) { font-size: 30px; width: 30px; height: 30px; flex-basis: 30px; }
.npoil-audience-link .npoil-arrow { margin-left: auto; }
.npoil-vehicle-icon { color: var(--npoil-green); }
.npoil-audience-link:hover { background: #fff; border-color: var(--npoil-orange); }
.npoil-discovery-location { display: flex; align-items: center; gap: 18px; border-left: 1px solid #d7dde5; padding-left: 32px; min-height: 68px; }
.npoil-discovery-location > .dashicons { color: var(--npoil-orange); font-size: 39px; width: 39px; height: 39px; flex-basis: 39px; }
.npoil-discovery-location strong { display: flex; align-items: center; gap: 16px; font-size: 15px; font-weight: 600; }
.npoil-discovery-location small { display: block; font-size: 12px; line-height: 1.5; color: var(--npoil-muted); margin-top: 4px; }
.npoil-product-search { display: flex; align-items: center; min-width: 0; background: white; border: 1px solid #d7dee7; border-radius: 3px; position: relative; margin: 0; }
.npoil-product-search > .dashicons { position: absolute; left: 20px; color: #4f5866; pointer-events: none; }
.npoil-site .npoil-product-search input[type=search] { min-width: 0; width: 100%; height: 57px; background: transparent; border: 0; border-radius: 0; color: var(--npoil-ink); padding: 12px 20px 12px 59px; font-size: 16px; }
.npoil-product-search input::placeholder { color: #646e7c; opacity: 1; }
.npoil-product-search .npoil-button { flex-shrink: 0; width: 180px; min-height: 57px; margin: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.npoil-section { padding: 60px 40px; }
.npoil-corporate { display: grid; grid-template-columns: 1fr 1.02fr; gap: 60px; align-items: start; padding-top: 16px; padding-bottom: 32px; }
.npoil-corporate-copy { max-width: 660px; padding-top: 22px; }
.npoil-corporate h2 { font-size: clamp(30px, 3.05vw, 43px); font-weight: 750; letter-spacing: -.055em; line-height: 1.14; margin-bottom: 14px; }
.npoil-corporate-copy > p:not(.npoil-eyebrow) { color: #555e69; font-size: clamp(16px, 1.4vw, 20px); line-height: 1.55; max-width: 625px; }
.npoil-corporate-image img { width: 100%; height: auto; aspect-ratio: 2.22; object-fit: cover; object-position: center 65%; }
.npoil-corporate-links { display: flex; align-items: center; flex-wrap: wrap; gap: 32px; margin-top: 14px; }
.npoil-corporate-links .npoil-text-link { font-weight: 500; font-size: 16px; }
.npoil-corporate-links .npoil-text-link + .npoil-text-link { position: relative; }
.npoil-corporate-links .npoil-text-link + .npoil-text-link::before { content: ""; position: absolute; left: -17px; top: 11px; height: 22px; width: 1px; background: #8e96a2; }
.npoil-home-catalog { border-top: 1px solid var(--npoil-line); }
.npoil-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 32px; }
.npoil-section-heading h2 { max-width: 660px; }
.npoil-section-heading > a { white-space: nowrap; }
.npoil-catalog-paths { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--npoil-line); border-bottom: 1px solid var(--npoil-line); margin-bottom: 32px; }
.npoil-catalog-paths a { display: flex; align-items: center; justify-content: space-between; padding: 22px 0; gap: 15px; font-size: 17px; font-weight: 500; }
.npoil-catalog-paths a + a { border-left: 1px solid var(--npoil-line); margin-left: 32px; padding-left: 32px; }
.npoil-catalog-intro { padding: 30px 0; max-width: 650px; }
.npoil-home-support { background: #eef2f1; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.npoil-home-support > div > p:not(.npoil-eyebrow) { color: var(--npoil-muted); max-width: 530px; margin-top: 20px; }
.npoil-support-options > a { display: flex; align-items: center; gap: 20px; padding: 24px 0; border-bottom: 1px solid #d4ddda; }
.npoil-support-options > a:first-child { border-top: 1px solid #d4ddda; }
.npoil-support-options > a > .dashicons:first-child { color: var(--npoil-green); font-size: 30px; width: 30px; height: 30px; flex-basis: 30px; }
.npoil-support-options > a > span:not(.dashicons) { flex: 1; }
.npoil-support-options strong { display: block; font-size: 20px; font-weight: 600; }
.npoil-support-options small { display: block; color: var(--npoil-muted); font-size: 14px; margin-top: 3px; }

/* Native pages, WooCommerce catalog and core plugin components. */
.npoil-inner .npoil-rail { height: max(var(--npoil-top-height), 760px); }
.npoil-page-content { margin-left: var(--npoil-rail); min-height: calc(var(--npoil-top-height) - var(--npoil-topbar)); }
.npoil-page-article { padding: 32px 40px 64px; }
.npoil-elementor-page { padding: 0; }
.npoil-breadcrumb, .npoil-breadcrumbs, .woocommerce-breadcrumb { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; font-size: 12px; color: var(--npoil-muted); padding: 0; margin-bottom: 28px; line-height: 1.6; }
.npoil-breadcrumb a, .npoil-breadcrumbs a { color: var(--npoil-muted); }
.npoil-page-heading, .npoil-page-header { margin: 0 0 32px; }
.npoil-page-heading h1, .npoil-page-header h1 { margin-bottom: 16px; max-width: 840px; }
.npoil-page-heading > p:not(.npoil-eyebrow), .npoil-page-header > p:not(.npoil-eyebrow) { max-width: 700px; font-size: 18px; color: var(--npoil-muted); }
.npoil-entry-content { overflow-wrap: anywhere; }
.npoil-entry-content > h2, .npoil-entry-content > h3 { margin: 32px 0 18px; }
.npoil-entry-content > p, .npoil-entry-content > ul, .npoil-entry-content > ol { max-width: 820px; }
.npoil-single-article { max-width: 940px; margin-inline: auto; }
.npoil-article-image { width: 100%; max-height: 500px; object-fit: cover; margin-bottom: 32px; }
.npoil-entry-content > p > a, .npoil-entry-content li > a { color: var(--npoil-orange-dark); text-decoration: underline; text-underline-offset: 3px; }
.npoil-entry-content li { margin-bottom: 9px; }
.npoil-products-grid, .npoil-product-grid, .npoil-catalog-grid, .product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 30px; }
.npoil-home-products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.npoil-product-card, .product-card { min-width: 0; background: white; border: 1px solid var(--npoil-line); border-radius: 2px; overflow: hidden; display: flex; flex-direction: column; }
.npoil-product-card-image { display: flex; align-items: center; justify-content: center; background: #fafbfc; aspect-ratio: 1.13; padding: 25px; overflow: hidden; }
.npoil-product-card-image img { width: 100%; height: 100%; object-fit: contain; max-height: 255px; transition: transform .2s ease; }
.npoil-product-card:hover .npoil-product-card-image img { transform: scale(1.025); }
.npoil-product-card-body { padding: 20px; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.npoil-product-card h3, .product-card h3 { font-size: 18px; letter-spacing: -.025em; line-height: 1.4; margin: 0 0 12px; }
.npoil-product-category { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .055em; color: var(--npoil-muted); margin-bottom: 8px !important; }
.npoil-product-specs { font-size: 13px; color: var(--npoil-muted); margin-bottom: 18px !important; }
.npoil-product-card .npoil-text-link { font-size: 13px; margin-top: auto; border: 0; gap: 12px; }
.npoil-image-unavailable { display: flex; align-items: center; justify-content: center; min-height: 160px; color: var(--npoil-muted); font-size: 14px; text-align: center; }
.npoil-catalog-toolbar, .catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; margin-top: 12px; border-bottom: 1px solid var(--npoil-line); }
.npoil-filter-form, .npoil-catalog-filters, .catalog-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0; align-items: end; }
.npoil-filter-form label, .npoil-catalog-filters label { display: block; color: var(--npoil-muted); font-size: 13px; }
.npoil-filter-form label select, .npoil-catalog-filters label select { margin-top: 7px; }
.npoil-site select, .npoil-site input:not([type=radio]):not([type=checkbox]):not([type=submit]), .npoil-site textarea { width: 100%; min-height: 48px; padding: 11px 13px; background: white; border: 1px solid #cfd6df; border-radius: 3px; color: var(--npoil-ink); box-shadow: none; }
.npoil-site textarea { min-height: 140px; resize: vertical; }
.npoil-site input[type=radio], .npoil-site input[type=checkbox] { accent-color: var(--npoil-green); min-width: 18px; min-height: 18px; }
.npoil-filter-tabs, .npoil-audience-tabs { display: flex; gap: 10px; flex-wrap: wrap; margin: 24px 0; }
.npoil-filter-tabs a, .npoil-audience-tabs a { border: 1px solid var(--npoil-line); border-radius: 3px; padding: 10px 18px; }
.npoil-filter-tabs a.is-active, .npoil-audience-tabs a.is-active { background: var(--npoil-ink); color: white; border-color: var(--npoil-ink); }
.npoil-active-filters { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0; }
.npoil-active-filters a, .npoil-filter-chip { background: var(--npoil-soft); border: 1px solid var(--npoil-line); font-size: 12px; padding: 6px 10px; border-radius: 3px; }
.npoil-empty-state { padding: 48px 30px; background: var(--npoil-soft); margin: 30px 0; text-align: center; }
.npoil-empty-state h2 { font-size: 28px; margin-bottom: 15px; }
.npoil-empty-state p { color: var(--npoil-muted); }
.npoil-product-detail, .npoil-product-layout, .product-detail { display: grid; grid-template-columns: .93fr 1.07fr; gap: 46px; align-items: start; }
.npoil-product-gallery { display: flex; justify-content: center; background: #f8f9fa; padding: 30px; border: 1px solid var(--npoil-line); }
.npoil-product-gallery img { width: 100%; max-height: 560px; object-fit: contain; }
.npoil-product-summary h1 { font-size: clamp(29px, 3vw, 43px); margin: 0 0 20px; }
.npoil-product-summary > p { color: var(--npoil-muted); }
.npoil-product-summary > .npoil-text-link { margin-left: 15px; }
.npoil-product-meta, .npoil-spec-list { display: grid; gap: 0; margin: 25px 0; }
.npoil-product-meta > div, .npoil-spec-list > div { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--npoil-line); }
.npoil-product-meta dt, .npoil-spec-list dt { font-size: 14px; color: var(--npoil-muted); }
.npoil-product-meta dd, .npoil-spec-list dd { margin: 0; font-size: 14px; font-weight: 500; text-align: right; }
.npoil-product-description { border-top: 1px solid var(--npoil-line); margin-top: 48px; padding-top: 32px; }
.npoil-product-description h2 { margin-bottom: 20px; }
.npoil-spec-table-wrap, .npoil-table-wrap { width: 100%; overflow-x: auto; }
.npoil-site table { border-collapse: collapse; width: 100%; font-size: 14px; margin: 24px 0; }
.npoil-site th, .npoil-site td { text-align: left; padding: 13px 16px; border: 1px solid var(--npoil-line); line-height: 1.5; }
.npoil-site th { background: var(--npoil-soft); font-weight: 600; }
.npoil-document-list, .npoil-location-list, .npoil-application-list { display: grid; gap: 18px; }
.npoil-document-card, .npoil-location-card, .npoil-application-card { background: white; border: 1px solid var(--npoil-line); padding: 25px; border-radius: 3px; }
.npoil-document-card h2, .npoil-location-card h2, .npoil-application-card h2 { font-size: 24px; margin-bottom: 15px; }
.npoil-document-card h3, .npoil-location-card h3, .npoil-application-card h3 { margin-bottom: 12px; }
.npoil-document-card p, .npoil-location-card p, .npoil-application-card p { color: var(--npoil-muted); }
.npoil-location-card a[href^=tel], .npoil-contact-details a[href^=tel], .npoil-contact-details a[href^=mailto] { display: inline-block; padding: 7px 0; color: var(--npoil-orange-dark); }
.npoil-contact-layout, .npoil-contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 45px; }
.npoil-contact-details { background: var(--npoil-soft); padding: 30px; }
.npoil-contact-details h2, .npoil-contact-form h2 { font-size: 28px; margin-bottom: 24px; }
.npoil-contact-form label { display: block; margin-bottom: 7px; font-size: 14px; font-weight: 500; }
.npoil-contact-form .npoil-form-field, .npoil-form-field { margin-bottom: 20px; }
.npoil-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.npoil-contact-form small, .npoil-form-note { color: var(--npoil-muted); font-size: 12px; line-height: 1.6; }
.npoil-form-status, .npoil-notice { padding: 16px 20px; border: 1px solid #c4ddcd; background: #f0f8f3; color: #175e34; border-radius: 3px; margin: 20px 0; }
.npoil-form-status.is-error, .npoil-notice.is-error { color: #a12c1a; background: #fff4f1; border-color: #e7b3a8; }
.npoil-field-error { color: #a12c1a; font-size: 12px; margin-top: 7px; }
.npoil-application-grid, .npoil-locations-grid, .npoil-document-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.npoil-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin-bottom: 48px; }
.npoil-about-grid img { width: 100%; }
.npoil-post-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.npoil-post-card { padding-bottom: 25px; border-bottom: 1px solid var(--npoil-line); }
.npoil-post-card img { width: 100%; aspect-ratio: 1.7; object-fit: cover; margin-bottom: 20px; }
.npoil-post-card h2 { font-size: 27px; margin-bottom: 15px; }
.npoil-post-card > p { color: var(--npoil-muted); }
.pagination, .npoil-pagination { margin-top: 40px; }
.nav-links, .npoil-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.page-numbers, .npoil-pagination a, .npoil-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 13px; border: 1px solid var(--npoil-line); }
.page-numbers.current, .npoil-pagination .current { background: var(--npoil-ink); color: white; }

/* Search drawer and footer. */
.npoil-search-dialog { position: fixed; inset: 0; padding: 100px 24px 30px; background: rgba(16,23,35,.5); z-index: 1000; overflow-y: auto; }
.npoil-search-panel { position: relative; max-width: 800px; margin: 0 auto; padding: 40px; background: white; }
.npoil-search-panel > .npoil-icon-button { position: absolute; top: 12px; right: 12px; }
.npoil-search-panel h2 { margin-bottom: 24px; }
.npoil-search-panel > .npoil-muted { font-size: 13px; margin: 16px 0 0; }
.npoil-search-shortcuts { display: flex; align-items: center; gap: 25px; margin-top: 24px; }
.npoil-search-shortcuts a { display: inline-flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--npoil-line); padding-bottom: 8px; font-size: 14px; }
.npoil-footer { background: #141d27; color: #e9edf2; }
.npoil-footer-main { display: grid; grid-template-columns: 1.2fr .8fr 1fr; gap: 60px; padding: 50px 40px 40px; }
.npoil-footer-brand img { width: 177px; margin-bottom: 22px; }
.npoil-footer h2 { font-size: 20px; color: white; letter-spacing: -.025em; margin-bottom: 15px; }
.npoil-footer h3 { color: white; font-size: 16px; font-weight: 600; letter-spacing: -.01em; margin-bottom: 20px; }
.npoil-footer p { font-size: 13px; color: #b7c1cd; line-height: 1.75; }
.npoil-footer-menu { margin: 0; padding: 0; list-style: none; }
.npoil-footer-menu li { margin-bottom: 7px; }
.npoil-footer-menu a { display: inline-block; font-size: 13px; padding: 3px 0; }
.npoil-footer a:hover { color: #ff8e69; }
.npoil-footer-contact > a { display: block; font-size: 14px; width: fit-content; margin-bottom: 9px; }
.npoil-footer-contact > a > span:not(.dashicons) { font-size: 11px; color: #b7c1cd; margin-left: 8px; }
.npoil-footer-contact > .npoil-text-link { display: inline-flex; margin-top: 8px; }
.npoil-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 40px; border-top: 1px solid #35414c; }
.npoil-footer-bottom p { margin: 0; font-size: 11px; }
.npoil-footer-bottom > div { display: flex; gap: 25px; align-items: center; }
.npoil-footer-bottom a { font-size: 11px; }
.npoil-back-top { display: inline-flex; align-items: center; gap: 9px; }
.npoil-modal-open { overflow: hidden; }
.npoil-site .elementor { --e-global-color-primary: var(--npoil-ink); --e-global-color-secondary: var(--npoil-muted); --e-global-color-text: var(--npoil-ink); --e-global-color-accent: var(--npoil-orange); }
.npoil-site .elementor-widget-shortcode, .npoil-site .elementor-shortcode { width: 100%; }
.npoil-home .elementor-element.e-con { --container-max-width: 100%; }
.npoil-home .elementor-widget-container { margin: 0; }
.npoil-home .elementor-section.elementor-section-boxed > .elementor-container { max-width: none; }
.npoil-home .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 0; }

@media (min-width: 1600px) {
  :root { --npoil-hero: 500px; }
  .npoil-hero-copy { max-width: 850px; padding-inline: 60px; }
  .npoil-hero h1 { font-size: 94px; }
  .npoil-topbar { padding-left: 60px; }
  .npoil-discovery { padding-inline: 60px; }
  .npoil-section { padding-inline: max(50px, calc((100vw - 1500px) / 2)); }
}
@media (max-width: 1180px) and (min-width: 901px) {
  .npoil-hero-copy { padding-inline: 30px; }
  .npoil-hero h1 { font-size: 62px; }
  .npoil-hero-actions { gap: 24px; }
  .npoil-hero-actions .npoil-button { font-size: 16px; padding-inline: 20px; }
  .npoil-discovery { padding-inline: 28px; }
  .npoil-discovery-row { grid-template-columns: 1.9fr 1fr; gap: 20px; }
  .npoil-audience-links { gap: 10px; }
  .npoil-audience-link { font-size: 13px; gap: 10px; padding: 0 12px; }
  .npoil-audience-link .dashicons:not(.npoil-arrow) { font-size: 24px; width: 24px; height: 24px; flex-basis: 24px; }
  .npoil-discovery-location { padding-left: 17px; gap: 12px; }
  .npoil-discovery-location > .dashicons { font-size: 30px; width: 30px; height: 30px; flex-basis: 30px; }
  .npoil-discovery-location strong { font-size: 13px; gap: 8px; }
  .npoil-discovery-location small { font-size: 11px; }
  .npoil-corporate { gap: 35px; }
  .npoil-corporate-links { gap: 24px; }
  .npoil-corporate-links .npoil-text-link { font-size: 14px; gap: 9px; }
  .npoil-products-grid { gap: 18px; }
  .npoil-product-card-body { padding: 16px; }
  .npoil-page-article { padding-inline: 28px; }
}
@media (max-width: 900px) {
  :root { --npoil-topbar: 72px; --npoil-rail: 0px; }
  html { scroll-padding-top: 90px; }
  .npoil-site-header { height: 72px; }
  .npoil-mobile-header { display: flex; align-items: center; justify-content: space-between; height: 72px; padding: 0 20px; background: white; border-bottom: 1px solid var(--npoil-line); }
  .npoil-mobile-logo img { width: 127px; }
  .npoil-mobile-menu-label { font-size: 11px; font-weight: 500; }
  .npoil-menu-toggle { width: 70px; gap: 5px; justify-content: flex-start; }
  .npoil-topbar { display: none; }
  .npoil-rail, .npoil-inner .npoil-rail { position: fixed; width: min(360px, calc(100vw - 35px)); height: 100dvh; top: 0; left: 0; z-index: 100; padding: 20px 26px 28px; overflow-y: auto; transform: translateX(-105%); visibility: hidden; transition: transform .22s ease, visibility .22s ease; }
  .npoil-rail.is-open { transform: translateX(0); visibility: visible; }
  .npoil-rail-brand > a { width: 165px; }
  .npoil-rail-brand img { width: 165px; }
  .npoil-menu-close { display: flex; }
  .npoil-main-nav { margin-top: 26px; }
  .npoil-menu > li > a { min-height: 58px; }
  .npoil-rail-utility { margin-top: 15px; }
  .npoil-rail-partner { font-size: 14px; }
  .npoil-rail-caption { font-size: 13px; }
  .npoil-home-top { margin-left: 0; }
  .npoil-hero { height: 450px; }
  .npoil-hero-copy { padding: 35px; max-width: 640px; }
  .npoil-hero h1 { font-size: clamp(56px, 8.3vw, 74px); }
  .npoil-hero-copy > p { font-size: 22px; }
  .npoil-discovery { min-height: 0; padding: 28px 35px; }
  .npoil-discovery-row { grid-template-columns: 1fr; gap: 18px; }
  .npoil-discovery-location { border: 0; padding: 0; min-height: 44px; }
  .npoil-discovery-location > .dashicons { width: 27px; height: 27px; font-size: 27px; flex-basis: 27px; }
  .npoil-discovery-location strong { font-size: 14px; }
  .npoil-discovery-location small { display: none; }
  .npoil-section { padding: 45px 30px; }
  .npoil-corporate { grid-template-columns: 1fr 1fr; gap: 28px; }
  .npoil-corporate h2 { font-size: 30px; }
  .npoil-corporate-copy > p:not(.npoil-eyebrow) { font-size: 15px; }
  .npoil-corporate-image img { aspect-ratio: 1.25; }
  .npoil-corporate-links { gap: 10px; align-items: flex-start; flex-direction: column; }
  .npoil-corporate-links .npoil-text-link + .npoil-text-link::before { display: none; }
  .npoil-products-grid, .npoil-home-products { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .npoil-home-support { gap: 35px; }
  .npoil-page-content { margin-left: 0; min-height: 65vh; }
  .npoil-page-article { padding: 28px 30px 50px; }
  .npoil-contact-layout, .npoil-contact-grid { gap: 28px; }
  .npoil-footer-main { gap: 30px; padding-inline: 30px; }
  .npoil-footer-bottom { padding-inline: 30px; }
  body.admin-bar .npoil-rail { top: 32px; height: calc(100dvh - 32px); }
}
@media (max-width: 600px) {
  :root { --npoil-topbar: 66px; }
  body.npoil-site { font-size: 15px; }
  .npoil-site-header, .npoil-mobile-header { height: 66px; }
  .npoil-mobile-header { padding-inline: 14px; }
  .npoil-mobile-logo img { width: 119px; }
  .npoil-menu-toggle { width: 66px; }
  .npoil-hero { height: auto; min-height: 525px; align-items: flex-start; padding-top: 28px; padding-bottom: 220px; }
  .npoil-hero-image { object-fit: cover; object-position: 75% 70%; }
  .npoil-hero::after { background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.96) 29%, rgba(255,255,255,.85) 45%, rgba(255,255,255,.18) 66%, rgba(255,255,255,0) 84%); }
  .npoil-hero-copy { padding: 0 22px; width: 100%; max-width: none; }
  .npoil-hero h1 { font-size: clamp(43px, 11.5vw, 62px); line-height: 1.06; letter-spacing: -.055em; }
  .npoil-hero-copy > p { font-size: 17px; letter-spacing: -.025em; margin: 15px 0 22px; max-width: 300px; line-height: 1.5; }
  .npoil-hero-actions { align-items: flex-start; gap: 16px; flex-wrap: wrap; }
  .npoil-hero-actions .npoil-button { padding: 13px 17px; min-height: 50px; font-size: 15px; gap: 10px; }
  .npoil-hero-actions .npoil-text-link { font-size: 14px; gap: 9px; min-height: 43px; }
  .npoil-discovery { padding: 27px 22px; }
  .npoil-discovery h2 { font-size: 25px; margin-bottom: 18px; max-width: 340px; }
  .npoil-audience-links { grid-template-columns: 1fr; gap: 11px; }
  .npoil-audience-link { min-height: 60px; height: auto; padding: 14px 17px; font-size: 15px; }
  .npoil-audience-link .dashicons:not(.npoil-arrow) { font-size: 27px; width: 27px; height: 27px; flex-basis: 27px; }
  .npoil-discovery-row { gap: 14px; margin-bottom: 19px; }
  .npoil-discovery-location { gap: 13px; }
  .npoil-product-search { flex-wrap: wrap; border: 0; gap: 10px; background: transparent; }
  .npoil-product-search > .dashicons { top: 14px; left: 15px; }
  .npoil-site .npoil-product-search input[type=search] { height: 52px; border: 1px solid #d7dee7; background: white; padding-left: 48px; padding-right: 13px; font-size: 14px; border-radius: 3px; }
  .npoil-product-search .npoil-button { width: 100%; margin: 0; min-height: 48px; font-size: 15px; border-radius: 3px; }
  .npoil-section { padding: 35px 22px; }
  .npoil-corporate { grid-template-columns: 1fr; gap: 24px; padding-top: 32px; }
  .npoil-corporate h2 { font-size: 32px; line-height: 1.14; }
  .npoil-corporate-copy > p:not(.npoil-eyebrow) { font-size: 16px; }
  .npoil-eyebrow { font-size: 11px; margin-bottom: 13px !important; }
  .npoil-corporate-image img { aspect-ratio: 1.77; }
  .npoil-corporate-links { gap: 11px; }
  .npoil-corporate-links .npoil-text-link { font-size: 15px; }
  .npoil-section-heading { display: block; margin-bottom: 24px; }
  .npoil-section-heading h2 { font-size: 30px; }
  .npoil-section-heading > a { margin-top: 18px; font-size: 14px; }
  .npoil-catalog-paths { grid-template-columns: 1fr; margin-bottom: 24px; }
  .npoil-catalog-paths a { font-size: 15px; padding: 18px 0; }
  .npoil-catalog-paths a + a { margin: 0; padding-left: 0; border-left: 0; border-top: 1px solid var(--npoil-line); }
  .npoil-products-grid, .npoil-product-grid, .npoil-catalog-grid, .product-grid { gap: 13px; margin-top: 24px; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .npoil-product-card-image { padding: 15px; aspect-ratio: .92; }
  .npoil-product-card-body { padding: 13px; }
  .npoil-product-card h3, .product-card h3 { font-size: 14px; line-height: 1.4; margin-bottom: 10px; }
  .npoil-product-category { font-size: 9px; line-height: 1.5; }
  .npoil-product-specs { font-size: 11px; line-height: 1.6; }
  .npoil-product-card .npoil-text-link { font-size: 11px; gap: 4px; }
  .npoil-product-card .npoil-text-link .npoil-arrow { font-size: 16px; flex-basis: 16px; width: 16px; height: 16px; }
  .npoil-home-support { grid-template-columns: 1fr; gap: 22px; }
  .npoil-home-support h2 { font-size: 33px; }
  .npoil-home-support > div > p:not(.npoil-eyebrow) { font-size: 15px; margin-top: 16px; }
  .npoil-support-options > a { padding: 19px 0; gap: 15px; }
  .npoil-support-options strong { font-size: 17px; }
  .npoil-support-options small { font-size: 12px; }
  .npoil-page-article { padding: 24px 22px 42px; }
  .npoil-breadcrumb, .npoil-breadcrumbs { font-size: 11px; gap: 9px; margin-bottom: 24px; }
  .npoil-site h1 { font-size: 35px; }
  .npoil-page-heading > p:not(.npoil-eyebrow), .npoil-page-header > p:not(.npoil-eyebrow) { font-size: 16px; }
  .npoil-page-heading, .npoil-page-header { margin-bottom: 25px; }
  .npoil-catalog-toolbar, .catalog-toolbar { align-items: flex-start; flex-direction: column; gap: 10px; font-size: 13px; }
  .npoil-filter-form, .npoil-catalog-filters, .catalog-filters { grid-template-columns: 1fr 1fr; gap: 12px; }
  .npoil-filter-form > :last-child { grid-column: 1 / -1; }
  .npoil-site input:not([type=radio]):not([type=checkbox]):not([type=submit]), .npoil-site select, .npoil-site textarea { font-size: 16px; }
  .npoil-filter-tabs, .npoil-audience-tabs { gap: 8px; }
  .npoil-filter-tabs a, .npoil-audience-tabs a { padding: 9px 12px; font-size: 12px; }
  .npoil-product-detail, .npoil-product-layout, .product-detail { grid-template-columns: 1fr; gap: 25px; }
  .npoil-product-gallery { padding: 20px; }
  .npoil-product-gallery img { max-height: 330px; }
  .npoil-product-summary h1 { font-size: 31px; }
  .npoil-product-summary > .npoil-text-link { margin: 12px 0 0; }
  .npoil-product-summary .npoil-button { width: 100%; }
  .npoil-product-meta > div, .npoil-spec-list > div { gap: 15px; }
  .npoil-product-meta dd, .npoil-spec-list dd { max-width: 60%; }
  .npoil-product-description { margin-top: 30px; padding-top: 26px; }
  .npoil-site th, .npoil-site td { padding: 10px 12px; font-size: 12px; }
  .npoil-contact-layout, .npoil-contact-grid, .npoil-form-row, .npoil-application-grid, .npoil-locations-grid, .npoil-document-grid, .npoil-about-grid, .npoil-post-grid { grid-template-columns: 1fr; gap: 24px; }
  .npoil-contact-details { padding: 23px; }
  .npoil-document-card, .npoil-location-card, .npoil-application-card { padding: 22px; }
  .npoil-post-card h2 { font-size: 25px; }
  .npoil-empty-state { padding: 28px 20px; }
  .npoil-empty-state h2 { font-size: 25px; }
  .npoil-search-dialog { padding: 24px 15px; }
  .npoil-search-panel { padding: 48px 23px 26px; }
  .npoil-search-panel h2 { font-size: 29px; }
  .npoil-search-shortcuts { flex-direction: column; align-items: flex-start; gap: 16px; }
  .npoil-footer-main { grid-template-columns: 1fr; gap: 30px; padding: 38px 22px 32px; }
  .npoil-footer-brand img { width: 158px; margin-bottom: 18px; }
  .npoil-footer-brand p { max-width: 320px; }
  .npoil-footer-main h3 { margin-bottom: 14px; }
  .npoil-footer-menu { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 15px; }
  .npoil-footer-bottom { align-items: flex-start; flex-direction: column; gap: 14px; padding: 19px 22px; }
  body.admin-bar .npoil-rail { top: 46px; height: calc(100dvh - 46px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .npoil-site *, .npoil-site *::before, .npoil-site *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
