/* Exact shared header styling, isolated from theme and Elementor rules. */
body.pir-shared-header-active #masthead:not(#pir-shared-header),
body.pir-shared-header-active header.site-header:not(#pir-shared-header),
body.pir-shared-header-active > header:not(#pir-shared-header),
body.pir-shared-header-active .elementor-location-header,
body.pir-shared-header-active [data-elementor-type="header"],
body.pir-shared-header-active .wp-block-template-part > header:not(#pir-shared-header),
body.pir-shared-header-active .wp-site-blocks > header:not(#pir-shared-header),
body.pir-shared-header-active header#site-header,
body.pir-shared-header-active header#header,
body.pir-shared-header-active .elementor-widget-theme-site-logo + .elementor-nav-menu--main { display: none !important; }
body.pir-shared-header-active #pir-shared-header {
  --pir-parchment: oklch(97.6% .008 84);
  --pir-copper: oklch(80.7% .077 76.5);
  --pir-gold: oklch(86.2% .126 87.5);
  --pir-navy: oklch(25.7% .029 247);
  all: initial;
  box-sizing: border-box;
  display: block;
  position: relative !important;
  z-index: 50;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  border-bottom: 1px solid color-mix(in oklab, var(--pir-copper) 24%, transparent);
  background: var(--pir-navy) !important;
  color: var(--pir-parchment);
  box-shadow: 0 14px 38px -28px oklch(10% .02 247 / .9);
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: left;
  transition: box-shadow .3s ease, background-color .3s ease;
  isolation: isolate;
}
#pir-shared-header, #pir-shared-header *, #pir-shared-header *::before, #pir-shared-header *::after { box-sizing: border-box !important; }
#pir-shared-header a { margin: 0 !important; color: inherit; font: inherit; letter-spacing: inherit; text-decoration: none !important; text-transform: none; }
#pir-shared-header span, #pir-shared-header small { margin-block: 0 !important; padding: 0 !important; }
#pir-shared-header button { appearance: none; font: inherit; letter-spacing: 0; text-transform: none; -webkit-tap-highlight-color: transparent; }
#pir-shared-header .pir-page-shell { width: min(calc(100% - 51.12px), 1500px) !important; max-width: none !important; margin-inline: auto !important; padding: 0 !important; }
#pir-shared-header .pir-nav-row { display: flex !important; min-height: 93.72px !important; height: auto !important; justify-content: space-between !important; align-items: center !important; gap: clamp(17.04px, 1.6vw, 30.672px) !important; }
#pir-shared-header .pir-brand { display: flex; flex: 0 0 auto; min-width: 0; flex-direction: column; color: var(--pir-parchment); font-family: "Libre Baskerville", serif; line-height: 1.15; white-space: nowrap; }
#pir-shared-header .pir-brand span { display: block; font-family: "Libre Baskerville", serif !important; font-size: 18.0624px !important; font-weight: 400 !important; line-height: 21.3136px !important; letter-spacing: 0 !important; white-space: nowrap; transition: color .25s ease; }
#pir-shared-header .pir-brand small { display: block; margin-top: 6.4752px; color: var(--pir-copper); font-family: "IBM Plex Sans", sans-serif !important; font-size: 11.5872px !important; font-weight: 500 !important; line-height: 13.3253px !important; letter-spacing: 1.9698px !important; text-transform: uppercase; white-space: nowrap; opacity: 1; }
#pir-shared-header .pir-brand:hover span { color: var(--pir-copper); }
#pir-shared-header .pir-desktop-nav { display: flex !important; flex: 1 1 auto; min-width: 0; align-items: center !important; justify-content: center !important; gap: clamp(11.928px, 1.1vw, 22.152px) !important; color: var(--pir-parchment); font-family: "IBM Plex Sans", sans-serif !important; font-size: clamp(15.336px, .9vw, 17.892px) !important; font-weight: 500 !important; line-height: 1.5 !important; white-space: nowrap; }
#pir-shared-header .pir-desktop-nav a { position: relative !important; display: block !important; flex: none; padding: 36.636px 3.408px !important; color: var(--pir-parchment); font-family: "IBM Plex Sans", sans-serif !important; font-size: inherit !important; font-weight: 500 !important; line-height: 1.25 !important; white-space: nowrap; transition: color .2s; }
#pir-shared-header .pir-desktop-nav a::after { content: ""; position: absolute; inset: auto 0 24.708px; height: 1px; background: var(--pir-copper); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
#pir-shared-header .pir-desktop-nav a:hover, #pir-shared-header .pir-desktop-nav a[aria-current="page"] { color: var(--pir-copper); }
#pir-shared-header .pir-desktop-nav a:hover::after, #pir-shared-header .pir-desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
#pir-shared-header .pir-button { display: inline-flex !important; min-height: 52.824px !important; margin: 0 !important; padding: 13.632px clamp(17.04px, 1.1vw, 23.004px) !important; justify-content: center !important; align-items: center !important; gap: 9.372px !important; border: 0 !important; border-radius: 3px !important; font-family: "IBM Plex Sans", sans-serif !important; font-size: clamp(14.9952px, .82vw, 17.04px) !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: 0 !important; text-align: center; transition: background-color .25s ease, color .25s ease, transform .25s ease; }
#pir-shared-header .pir-button-dark { flex: none; white-space: nowrap; background: var(--pir-copper) !important; color: var(--pir-navy) !important; box-shadow: 0 5px 16px -8px color-mix(in oklab, var(--pir-navy) 65%, transparent); }
#pir-shared-header .pir-button-dark:hover, #pir-shared-header .pir-button-dark:focus-visible { background: var(--pir-gold); color: var(--pir-navy); transform: translateY(-2px); }
#pir-shared-header .pir-button svg, #pir-shared-header .pir-mobile-cta svg { flex: none; transition: transform .25s ease; }
#pir-shared-header .pir-consultation-link:hover svg, #pir-shared-header .pir-consultation-link:focus-visible svg, #pir-shared-header .pir-mobile-cta:hover svg, #pir-shared-header .pir-mobile-cta:focus-visible svg { transform: translateY(2px); }
#pir-shared-header .pir-menu-button { display: none; place-items: center; flex: none; margin: 0; padding: 8px; border: 0; background: none; color: var(--pir-parchment); cursor: pointer; }
#pir-shared-header .pir-mobile-nav { display: none; width: 100%; margin: 0; padding: 12px 16px 20px; border-top: 1px solid color-mix(in oklab, var(--pir-parchment) 12%, transparent); background: var(--pir-navy); color: var(--pir-parchment); animation: pirFadeUp .25s ease both; }
#pir-shared-header .pir-mobile-nav[hidden] { display: none !important; }
#pir-shared-header .pir-mobile-nav a { display: block; padding: 14.4px 4px; border-bottom: 1px solid color-mix(in oklab, var(--pir-parchment) 10%, transparent); color: var(--pir-parchment); font-family: "IBM Plex Sans", sans-serif; font-size: 16.32px; font-weight: 500; line-height: 1.5; transition: color .2s ease; }
#pir-shared-header .pir-mobile-nav a:hover, #pir-shared-header .pir-mobile-nav a[aria-current="page"] { color: var(--pir-copper); }
#pir-shared-header .pir-mobile-nav .pir-mobile-cta { display: flex; min-height: 56px; margin-top: 16px; padding: 14.4px 17.6px; align-items: center; justify-content: center; gap: 10.4px; border: 1px solid color-mix(in oklab, var(--pir-gold) 52%, transparent); border-radius: 4px; background: var(--pir-copper); color: var(--pir-navy); font-weight: 600; box-shadow: 0 12px 28px -18px oklch(10% .025 247 / .9); }
#pir-shared-header .pir-mobile-nav .pir-mobile-cta:hover, #pir-shared-header .pir-mobile-nav .pir-mobile-cta:focus-visible { border-color: var(--pir-gold); background: var(--pir-gold); color: var(--pir-navy); }
@keyframes pirFadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

@media (961px <= width <= 1279px) {
  #pir-shared-header .pir-nav-row { flex-wrap: wrap !important; row-gap: 0 !important; padding-top: 13.632px !important; }
  #pir-shared-header .pir-brand { flex: 1 1 auto; }
  #pir-shared-header .pir-desktop-cta { margin-left: auto !important; }
  #pir-shared-header .pir-desktop-nav { order: 3; flex: 1 0 100%; justify-content: space-between !important; margin-top: 12.78px; border-top: 1px solid color-mix(in oklab, var(--pir-parchment) 10%, transparent); }
  #pir-shared-header .pir-desktop-nav a { padding-block: 14.484px 17.04px !important; }
  #pir-shared-header .pir-desktop-nav a::after { bottom: 10.5648px; }
}
@media (width <= 960px) {
  #pir-shared-header .pir-desktop-nav, #pir-shared-header .pir-desktop-cta { display: none !important; }
  #pir-shared-header .pir-menu-button { display: grid !important; margin-left: auto; }
  #pir-shared-header .pir-mobile-nav:not([hidden]) { display: grid; max-height: calc(100vh - 76px); overflow-y: auto; }
}
@media (width <= 760px) {
  #pir-shared-header .pir-page-shell { width: min(calc(100% - 32px), 1500px) !important; }
  #pir-shared-header .pir-nav-row { min-height: 76px !important; padding-block: 12px !important; gap: 16px !important; }
  #pir-shared-header .pir-brand { flex: 1 1 min(256px, calc(100vw - 88px)); min-width: 0; white-space: normal; }
  #pir-shared-header .pir-brand span { font-size: clamp(14.88px, 4.2vw, 16.8px) !important; line-height: 1.18 !important; white-space: normal; }
  #pir-shared-header .pir-brand small { margin-top: 4.8px; font-size: 9.28px !important; line-height: 1.15 !important; letter-spacing: 1.1136px !important; white-space: normal; }
  #pir-shared-header .pir-desktop-cta { display: none !important; }
  #pir-shared-header .pir-mobile-nav:not([hidden]) { display: grid; max-height: calc(100vh - 76px); overflow-y: auto; }
}
@media (width <= 380px) {
  #pir-shared-header .pir-page-shell { width: min(calc(100% - 24px), 1500px) !important; }
  #pir-shared-header .pir-brand span { font-size: 14.08px !important; }
}
@media (prefers-reduced-motion: reduce) {
  #pir-shared-header *, #pir-shared-header *::before, #pir-shared-header *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Consultation form status message (lead capture). */
.pir-form-status { margin: 12px 0 0; font-family: "IBM Plex Sans", sans-serif; font-size: 15px; line-height: 1.5; }
.pir-form-status[data-state="pending"] { color: oklch(45% .01 247); }
.pir-form-status[data-state="success"] { color: oklch(45% .11 155); font-weight: 500; }
.pir-form-status[data-state="error"] { color: oklch(50% .18 28); font-weight: 500; }
