
*, ::before, ::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}
/*# sourceURL=wpos-tw-preflight-inline-css */


/* Lighter hover color for blog cards in dark mode (default navy primary is too dim).
   Uses !important to win against the widget's higher-specificity ID-scoped rule. */
html:not([data-theme="light"]) .bp-card:hover .bp-title,
html:not([data-theme="light"]) .bp-card:hover .bp-readmore {
  color: #a8c5ff !important;
}



/* Case content body links: lighten in dark mode only (default = no [data-theme]). */
/* Light mode (html[data-theme="light"]) keeps the widget's --color-primary navy. */
html:not([data-theme="light"]) .cc-body a {
  color: color-mix(in srgb, var(--color-primary) 48%, #ffffff) !important;
}



/* Hide the shared cases-hero subtitle on the Sitemap hub (514) and its
   sub-pages (537 blog, 539 explore, 540 resources, 541 legal).
   The hero widget (34) always renders a subtitle; the sitemap heros
   should show the title alone. Page-scoped so other pages keep theirs. */
.page-id-514 .cases-hero-subtitle,
.page-id-537 .cases-hero-subtitle,
.page-id-539 .cases-hero-subtitle,
.page-id-540 .cases-hero-subtitle,
.page-id-541 .cases-hero-subtitle {
  display: none;
}


/* ==============================================
   WPC Global Site Styles (Consolidated)
   - Dark background canvas (#171717)
   - Block spacing reset
   - Full-width / ultrawide viewport fixes
   ============================================== */

/* --- 1. Page Background --- */
html,
body,
.site,
.site-content,
.post-content,
.page-content,
.content-area,
main,
article,
#page,
#content,
#primary,
#main {
  background-color: var(--color-background, #171717) !important;
  max-width: none !important;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden !important;
}

/* --- 2. WP Container Backgrounds --- */
.ewb-site-header,
.ewb-site-footer,
.wpc-site-header,
.wpc-site-footer,
.site-main,
.entry-content,
.page-template-wpcursor-fullwidth .site-content,
.page-template-wpcursor-fullwidth .site-main {
  background-color: var(--color-background, #171717) !important;
}

/* --- 3. Block Spacing Reset --- */
/* Gutenberg adds ~28px margin between blocks by default */
.entry-content > * + * {
  margin-top: 0 !important;
}

.wp-block-wpcursor-ewb-widget,
.wpc-gutenberg-block,
.ewb-gutenberg-block {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.entry-content .wp-block-wpcursor-ewb-widget + .wp-block-wpcursor-ewb-widget {
  margin-top: 0 !important;
}

.entry-content > .alignfull {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

/* Site header/footer widget containers */
.ewb-site-header .ewb-gutenberg-block,
.ewb-site-footer .ewb-gutenberg-block,
.ewb-site-header .wpc-gutenberg-block,
.ewb-site-footer .wpc-gutenberg-block {
  margin: 0 !important;
}

/* --- 4. Full-Width / Ultrawide Fixes --- */
/* Widget blocks stretch full viewport */
[class*="wp-block-wpcursor-ewb-"] {
  max-width: none !important;
  width: 100% !important;
}

/* EWB widget wrappers */
[class*="ewb-widget"],
[class*="wpc-widget"] {
  max-width: none !important;
  width: 100% !important;
  background-color: var(--color-background, #171717);
}

/* Side panels grow beyond 409px on ultrawide */
[class*="wp-block-wpcursor-ewb-"] [class*="panel"] {
  max-width: none !important;
}

/* --- 5. Sub-Pixel Gap Fix (extreme zoom-out) --- */
/* At browser zoom <80%, 100vw includes scrollbar but content area doesn't,
   causing flex gap to collapse on the left side. Fix: use flex:1 instead
   of calc(100vw) so panels auto-fill remaining space after the fixed center. */
[class*="wp-block-wpcursor-ewb-"] [class*="panel--left"],
[class*="wp-block-wpcursor-ewb-"] [class*="panel--right"],
[class*="wp-block-wpcursor-ewb-"] [class*="-left-panel"],
[class*="wp-block-wpcursor-ewb-"] [class*="-right-panel"],
[class*="wp-block-wpcursor-ewb-"] [class*="side-panel-left"],
[class*="wp-block-wpcursor-ewb-"] [class*="side-panel-right"] {
  width: auto !important;
  flex: 1 1 0px !important;
  min-width: 0 !important;
}

/* WPCursor full-width template */
.wpcursor-fullwidth .entry-content,
.wpcursor-fullwidth .site-content,
.wpcursor-fullwidth #content,
.wpcursor-fullwidth #primary {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* --- 6. CSS Grid Bento Architecture (Sub-Pixel Gap Fix) --- */
/* gap:1px collapses at fractional DPR (90% zoom = 0.9 device px → rounds to 0)
   and doubles at >1 DPR (110% zoom = 1.1 device px → rounds to 2).
   Fix: use CSS border on center panel instead. Browsers guarantee 1px borders
   render as exactly 1 device pixel at ANY zoom — borders use the paint/rasterizer
   engine, not the layout engine, so they're immune to layout-level rounding. */
[class*="wp-block-wpcursor-ewb-"] :has(> :first-child[class*="panel"][class*="left"]):not(.faq-outer) {
  display: grid !important;
  grid-template-columns: 1fr 1100px 1fr !important;
  gap: 0 !important;
}

/* Grid children stretch to fill their track — no conflicting explicit widths */
[class*="wp-block-wpcursor-ewb-"] :has(> :first-child[class*="panel"][class*="left"]):not(.faq-outer) > * {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* Center panel (2nd child) border = the visual 1px gap.
   border-left/right paint the gap color (#171717) as a 1px line on each side.
   box-sizing:border-box keeps the element at exactly 1100px (content = 1098px). */
[class*="wp-block-wpcursor-ewb-"] :has(> :first-child[class*="panel"][class*="left"]):not(.faq-outer) > :nth-child(2) {
  border-left: 1px solid var(--color-background, #171717) !important;
  border-right: 1px solid var(--color-background, #171717) !important;
  box-sizing: border-box !important;
}

/* Light mode: background (#D9D9D9) is too close to surface (#F0F0F1),
   making the 1px gap invisible. Use a slightly darker gap color. */
[data-theme="light"] [class*="wp-block-wpcursor-ewb-"] :has(> :first-child[class*="panel"][class*="left"]):not(.faq-outer) > :nth-child(2) {
  border-left-color: #D9D9D9 !important;
  border-right-color: #D9D9D9 !important;
}

/* Responsive: collapse to single column, remove gap borders */
@media (max-width: 1160px) {
  [class*="wp-block-wpcursor-ewb-"] :has(> :first-child[class*="panel"][class*="left"]):not(.faq-outer) {
    grid-template-columns: 1fr !important;
  }
  [class*="wp-block-wpcursor-ewb-"] :has(> :first-child[class*="panel"][class*="left"]):not(.faq-outer) > :nth-child(2) {
    border-left: none !important;
    border-right: none !important;
  }
}



/* Blog footer (widget 102) newsletter input — per-theme border colors.
   Site convention: dark = default (no data-theme attr); light sets data-theme="light".
   The widget reads var(--ft-nl-border, var(--color-border)); we set the variable
   here (custom props bypass the widget's #id rule specificity).
   No :focus border change — border stays constant per mode. */
html:not([data-theme="light"]) .wpc-widget-wpc_footer_copy .ft-nl-input {
  --ft-nl-border: #3A3A3A;
}

html[data-theme="light"] .wpc-widget-wpc_footer_copy .ft-nl-input {
  --ft-nl-border: #BFBFBF;
}

/* Kill Chrome/Safari autofill paint — keep transparent bg + theme text color
   when a suggested email is picked. The huge transition delay prevents the
   UA's autofill background-color from ever rendering. */
.wpc-widget-wpc_footer_copy .ft-nl-input:-webkit-autofill,
.wpc-widget-wpc_footer_copy .ft-nl-input:-webkit-autofill:hover,
.wpc-widget-wpc_footer_copy .ft-nl-input:-webkit-autofill:focus,
.wpc-widget-wpc_footer_copy .ft-nl-input:autofill {
  -webkit-text-fill-color: var(--color-text, #FFFFFF);
  caret-color: var(--color-text, #FFFFFF);
  /* Paint over Chrome's autofill tint with the footer panel color —
     visually identical to the input's transparent background. */
  -webkit-box-shadow: inset 0 0 0 1000px var(--color-surface, #0B0B0B);
  box-shadow: inset 0 0 0 1000px var(--color-surface, #0B0B0B);
  transition: background-color 9999999s ease-in-out 0s;
}


html.wpos-reveal [data-reveal-words]:not(h1){visibility:hidden}html.wpos-reveal [data-reveal-words].wpos-reveal-ready{visibility:visible}
@keyframes wposRevealFailsafe{to{visibility:visible}}html.wpos-reveal [data-reveal-words]{animation:wposRevealFailsafe .01s linear .15s forwards}

/* Aligns center-panel backgrounds with their surrounding rail panels so the
   bento gap is the only visible separator (no #0C-on-#0B mismatch in dark
   mode, no #D9-on-#F0 in light mode).

   Scoped per widget class — only affects the widgets listed. Other widgets,
   other pages: untouched. */

/* Single blog post — case content + feedback */
.single-post .cc-center,
.single-post .cf-center {
    background: var(--color-surface) !important;
}

/* Anywhere the FAQ widget renders (currently the homepage) */
.faq-center {
    background: var(--color-surface) !important;
}


.wpcursor-skip-link{position:absolute;top:8px;left:8px;z-index:100000;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.wpcursor-skip-link:focus{width:auto;height:auto;margin:0;padding:12px 16px;overflow:visible;clip-path:none;background:#fff;color:#1e1e1e;font:600 14px/1.2 sans-serif;text-decoration:none;border-radius:3px;box-shadow:0 0 0 2px #1e1e1e}body.admin-bar .wpcursor-skip-link:focus{top:40px}

:is(#wpc-s-bc98bfc63645,.wpc-s-bc98bfc63645) .wpc-pre-header {
  width: 100%;
  height: 40px;
  background: var(--gradient-preheader, linear-gradient(90deg, #040A20 0%, #062565 50%, #040A20 100%));
  display: flex;
  align-items: center;
  justify-content: center;
  /* Lock to dark-mode values — always on dark gradient bg */
  --color-gray-bright: #D9D9D9;
}

:is(#wpc-s-bc98bfc63645,.wpc-s-bc98bfc63645) .wpc-pre-header__inner {
  display: flex;
  align-items: center;
  gap: 5px;
}

:is(#wpc-s-bc98bfc63645,.wpc-s-bc98bfc63645) .wpc-pre-header__icon {
  width: 16px;
  height: 16px;
  color: var(--color-gray-bright, #D9D9D9);
  flex-shrink: 0;
}

:is(#wpc-s-bc98bfc63645,.wpc-s-bc98bfc63645) .wpc-pre-header__text {
  font-family: var(--font-body, 'Geist', sans-serif);
  font-weight: 400;
  font-size: var(--font-size-sm, 15px);
  line-height: 1.467em;
  color: var(--color-gray-bright, #D9D9D9);
}

:is(#wpc-s-bc98bfc63645,.wpc-s-bc98bfc63645) .wpc-pre-header__link {
  font-family: var(--font-body, 'Geist', sans-serif);
  font-weight: 400;
  font-size: var(--font-size-sm, 15px);
  line-height: 1.467em;
  color: var(--color-gray-bright, #D9D9D9);
  text-decoration: underline;
  text-underline-offset: 2px;
}


:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header {
  display: flex;
  width: 100%;
  height: 78px;
  background: var(--color-background, #171717);
  position: relative;
  gap: 1px;
  margin-top: 1px;
}

/* Decorative side panels */
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  height: 78px;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__panel--left {
  border-radius: 0 5px 5px 0;
}

:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__panel--right {
  border-radius: 5px;
}

/* Center content */
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__center {
  width: 1100px;
  max-width: 100%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 0 30px;
  background: var(--color-surface, #0B0B0B);
  border-radius: 5px;
  height: 78px;
  position: relative;
}

/* Logo */
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__logo {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__logo-icon {
  width: 18px;
  height: 18px;
  color: var(--color-gray-dim, #797979);
}

:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__logo-text {
  font-family: var(--font-logo, 'Inter Tight', sans-serif);
  font-weight: 700;
  font-size: var(--font-size-xs, 14px);
  line-height: 1.21em;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  color: var(--color-gray-dim, #797979);
}

/* Navigation — absolutely centered within the header bar */
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__nav {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 31px;
}

:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__nav-link {
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-weight: 500;
  font-size: var(--font-size-sm, 15px);
  line-height: 1.32em;
  color: var(--color-gray-dim, #797979);
  text-decoration: none;
  transition: color 0.2s ease;
}

:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__nav-link:hover {
  color: var(--color-text, #FFFFFF);
}

/* Screen-reader-only text (announces that Docs opens in a new tab) */
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Theme Toggle */
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: var(--color-gray-dim, #797979);
  transition: color 0.2s ease;
  flex-shrink: 0;
  margin-left: auto;
  margin-right: 20px;
}
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__theme-toggle:hover {
  color: var(--color-text, #FFFFFF);
}

/* Default: show sun, hide moon. JS adds .is-light to flip. */
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__icon-sun { display: block; }
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__icon-moon { display: none; }
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__theme-toggle.is-light .wpc-header__icon-sun { display: none; }
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__theme-toggle.is-light .wpc-header__icon-moon { display: block; }

/* CTA Button (Nav variant) */
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__cta {
  margin-left: auto; /* theme toggle removed — keep Login pinned right */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 14px 8px 20px;
  border-radius: 6px;
  border: none;
  box-shadow: inset 0 0 0 0.5px var(--color-border-subtle, #424242);
  background: transparent;
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-weight: 500;
  font-size: var(--font-size-sm, 15px);
  line-height: 0;
  color: var(--color-gray-dim, #797979);
  text-decoration: none;
  transition: all 0.2s ease;
}

:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__cta span {
  line-height: normal;
}

:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__cta:hover {
  color: var(--color-text, #FFFFFF);
  box-shadow: inset 0 0 0 0.5px var(--color-gray-dim, #797979);
}

:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__cta svg {
  width: 18px;
  height: 18px;
}

/* Responsive */
@media (max-width: 1160px) {
  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__panel {
    display: none;
  }
  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__center {
    border-radius: 0;
    padding: 0 20px;
  }
}

/* Mobile menu — hidden entirely until the nav collapses */
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__burger { display: none; }
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__mobile { display: none; }
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__icon-close { display: none; }
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__burger.is-open .wpc-header__icon-burger { display: none; }
:is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__burger.is-open .wpc-header__icon-close { display: block; }

@media (max-width: 768px) {
  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__nav {
    display: none;
  }

  /* Burger replaces the collapsed nav. 44px = minimum comfortable tap target. */
  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__burger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-left: 10px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--color-gray-dim, #797979);
    transition: color 0.2s ease;
    flex-shrink: 0;
  }

  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__burger:hover {
    color: var(--color-text, #FFFFFF);
  }

  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__mobile {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    padding: 4px 20px 12px;
    background: var(--color-surface, #0B0B0B);
    border-radius: 0 0 5px 5px;
    box-shadow: inset 0 0.5px 0 var(--color-border-subtle, #424242);
  }

  /* [hidden] must win over the display:flex above */
  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__mobile[hidden] {
    display: none;
  }

  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__mobile-link {
    display: flex;
    align-items: center;
    min-height: 44px;
    font-family: var(--font-mono, 'JetBrains Mono', monospace);
    font-weight: 500;
    font-size: var(--font-size-sm, 15px);
    line-height: 1.32em;
    color: var(--color-gray-dim, #797979);
    text-decoration: none;
    transition: color 0.2s ease;
  }

  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__mobile-link:hover {
    color: var(--color-text, #FFFFFF);
  }

  /* Touch-target minimums for the controls that stay in the bar */
  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__theme-toggle {
    width: 44px;
    height: 44px;
    margin-right: 6px;
  }

  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__cta {
    min-height: 44px;
  }
}

/* ── 320px ────────────────────────────────────────────────────────────────
   At 320px the bar needs logo 96 + toggle 44 + Login 103 + burger 44 +
   gaps 26 + gutters 40 = 353px, so it overflowed by 2px and gave the whole
   page a horizontal scroll. It fits from 360px upward, so this applies only
   below that and leaves every common phone width untouched.

   The Login label collapses to the icon alone. It is deliberately NOT
   display:none — the link's accessible name comes solely from this span
   (the SVG carries no title), so it uses the same sr-only treatment as the
   rest of this header and screen readers still announce "Login". The CTA
   itself has to stay visible: the mobile menu holds only the nav links, not
   a Login link.

   13px of horizontal padding around the 18px icon keeps the button on a
   44px touch target.
   ───────────────────────────────────────────────────────────────────────── */
@media (max-width: 359px) {
  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__cta span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  :is(#wpc-s-8ca47d258eb8,.wpc-s-8ca47d258eb8) .wpc-header__cta {
    gap: 0;
    padding: 8px 13px;
  }
}

#wpcursor-site-header{position:sticky;top:var(--wpcursor-header-top,0px);z-index:999}.admin-bar #wpcursor-site-header{--wpcursor-header-top:32px}@media screen and (max-width:782px){.admin-bar #wpcursor-site-header{--wpcursor-header-top:46px}}@media screen and (max-width:600px){.admin-bar #wpcursor-site-header{--wpcursor-header-top:0px}}html{scroll-padding-top:var(--wpcursor-header-offset,0px)}

    /* Full-width overrides for WPCursor Full Width template */
    body.wpcursor-fullwidth .site-content,
    body.wpcursor-fullwidth .content-area,
    body.wpcursor-fullwidth .site-main,
    body.wpcursor-fullwidth #primary,
    body.wpcursor-fullwidth #main,
    body.wpcursor-fullwidth main {
        max-width: 100%;
        padding: 0;
        margin: 0;
    }
    body.wpcursor-fullwidth #secondary,
    body.wpcursor-fullwidth .sidebar,
    body.wpcursor-fullwidth aside.widget-area {
        display: none;
    }

