
*, ::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}
.wpr-outer{display:flex;gap:0;margin-top:1px;width:100%;background:var(--color-background,#171717)}.wpr-panel{flex:1;min-width:0;background:var(--color-surface,#0B0B0B)}.wpr-panel--left{border-radius:0 5px 5px 0}.wpr-panel--right{border-radius:5px 0 0 5px}.wpr-center{width:1100px;flex-shrink:0;background:var(--color-surface,#0B0B0B);border-radius:5px;border-left:1px solid var(--color-background,#171717);border-right:1px solid var(--color-background,#171717);padding:56px 30px;box-sizing:border-box}.wpr-heading{font-family:"Hedvig Letters Serif",serif;font-weight:400;font-size:28px;line-height:1.35em;color:var(--color-text,#fff);margin:0 0 24px 0}.wpr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.wpr-card{display:flex;flex-direction:column;gap:10px;padding:24px;text-decoration:none;border:1px solid color-mix(in srgb,var(--color-border,#2a2a2a) 55%,transparent);border-radius:8px;background:transparent;transition:border-color .2s ease,transform .2s ease}.wpr-card:hover{border-color:color-mix(in srgb,var(--color-primary,#7aa2ff) 70%,var(--color-border,#2a2a2a));transform:translateY(-2px)}.wpr-cat{font-family:"Geist",sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted,#9F9F9F)}.wpr-title{font-family:"Hedvig Letters Serif",serif;font-size:18px;font-weight:400;line-height:1.3;color:var(--color-text,#fff)}.wpr-more{margin-top:auto;font-size:14px;font-weight:500;color:var(--color-text)}@media(max-width:1160px){.wpr-panel{display:none}.wpr-center{width:100%;border:0;border-radius:0;padding:56px 20px}}@media(max-width:782px){.wpr-center{border-radius:0;padding:40px 20px}.wpr-grid{grid-template-columns:1fr}}
@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;
    }


/* Breadcrumb — 1920 x 42 */
:is(#wpc-s-6aed77f36a44,.wpc-s-6aed77f36a44) .bc-outer {
  display: flex;
  gap: 1px;
  margin-top: 1px;
  width: 100%;
  background: var(--color-background, #171717);
}

/* Side panels */
:is(#wpc-s-6aed77f36a44,.wpc-s-6aed77f36a44) .bc-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  height: 42px;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-6aed77f36a44,.wpc-s-6aed77f36a44) .bc-panel--left {
  border-radius: 0 5px 5px 0;
}

:is(#wpc-s-6aed77f36a44,.wpc-s-6aed77f36a44) .bc-panel--right {
  border-radius: 5px 0 0 5px;
}

/* Center panel */
:is(#wpc-s-6aed77f36a44,.wpc-s-6aed77f36a44) .bc-center {
  width: 1100px;
  height: 42px;
  flex-shrink: 0;
  background: var(--color-surface-content, #0C0C0C);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
}

:is(#wpc-s-6aed77f36a44,.wpc-s-6aed77f36a44) .bc-link {
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5em;
  color: var(--color-text-muted, #9F9F9F);
  text-decoration: none;
  transition: color 0.2s ease;
}

:is(#wpc-s-6aed77f36a44,.wpc-s-6aed77f36a44) .bc-link:hover {
  color: var(--color-text-muted, #9F9F9F);
}

:is(#wpc-s-6aed77f36a44,.wpc-s-6aed77f36a44) .bc-sep {
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5em;
  color: var(--color-text-muted, #9F9F9F);
}

/* Responsive */
@media (max-width: 1160px) {
  :is(#wpc-s-6aed77f36a44,.wpc-s-6aed77f36a44) .bc-panel {
    display: none;
  }
  :is(#wpc-s-6aed77f36a44,.wpc-s-6aed77f36a44) .bc-center {
    width: 100%;
    border-radius: 0;
  }
}


/* Case Hero — 1920 x 402 */
:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-outer {
  display: flex;
  gap: 1px;
  margin-top: 1px;
  width: 100%;
  background: var(--color-background, #171717);
}

/* Side panels */
:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  height: 402px;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-panel--left {
  border-radius: 0 5px 5px 0;
}

:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-panel--right {
  border-radius: 5px 0 0 5px;
}

/* Card — always dark (image background), lock variables */
:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-card {
  --color-text: #FFFFFF;
  --color-text-muted: #9F9F9F;
  --color-gray-dim: #797979;
  width: 1100px;
  flex-shrink: 0;
  height: 402px;
  border-radius: 5px;
  position: relative;
  overflow: hidden;
}

/* Background texture */
:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-card-bg {
  position: absolute;
  inset: 0;
  background-image: url('https://wpos.ai/wp-content/uploads/2026/11/wpos-dark-texture-800.webp');
  background-size: cover;
  background-position: center;
  border-radius: 5px;
}

/* Overlay */
:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-card-overlay {
  position: absolute;
  inset: 0;
  border-radius: 5px;
}

/* Content */
:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-card-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 60px;
  box-sizing: border-box;
}

:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-title {
  font-family: 'Hedvig Letters Serif', serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 1.35em;
  color: var(--color-text, #FFFFFF);
  margin: 0 0 18px 0;
  max-width: 980px;
}

:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-subtitle {
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.375em;
  color: var(--color-text-muted, #9F9F9F);
  margin: 0 0 28px 0;
  max-width: 980px;
}

/* Pills */
:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-card:has(.ch-pills--topics) {
  height: auto;
  min-height: 402px;
}
:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-outer:has(.ch-pills--topics) .ch-panel {
  height: auto;
  align-self: stretch;
}
:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-card:has(.ch-pills--topics) .ch-pills {
  flex-wrap: wrap;
}
:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-pills--topics {
  margin-top: 8px;
}
:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-card:has(.ch-pills--topics) .ch-card-content {
  height: auto;
  min-height: 402px;
  padding: 48px 60px;
}
@media (max-width: 782px) {
  :is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-card:has(.ch-pills--topics) .ch-card-content {
    padding: 36px 20px;
  }
}
:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-pills {
  display: flex;
  gap: 8px;
  align-items: center;
}

:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 6px;
  border: 0.5px solid var(--color-gray-dim, #797979) !important;
  border-radius: 6px;
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.3em;
  color: var(--color-text-muted, #9F9F9F);
  box-sizing: border-box;
  white-space: nowrap;
}

:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-pill--link {
  text-decoration: none;
  gap: 3px;
  transition: border-color 0.2s ease;
}

:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-pill--link:hover {
  border-color: var(--color-text-muted, #9F9F9F);
  color: var(--color-text, #FFFFFF);
}

:is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-pill--link svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* Responsive */
@media (max-width: 1160px) {
  :is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-panel {
    display: none;
  }
  :is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-card {
    width: 100%;
    border-radius: 0;
  }
  :is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-card-content {
    padding: 0 20px;
  }
  :is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-title {
    font-size: 30px;
  }
}

@media (max-width: 480px) {
  :is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-title {
    font-size: 26px;
  }
  :is(#wpc-s-a9ca6e14eca9,.wpc-s-a9ca6e14eca9) .ch-pills {
    flex-wrap: wrap;
  }
}


/* Case Content — rail + 1100 center (matches case hero) */

/* Quoted briefs inside body copy — additive, opt-in per post */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote {
  margin: 0 0 24px 0;
  padding: 2px 0 2px 22px;
  border-left: 2px solid var(--color-primary, #c2410c);
  color: var(--color-text);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote p {
  margin: 0 0 12px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote p:last-child {
  margin-bottom: 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-outer {
  display: flex;
  gap: 1px;
  margin-top: 1px;
  width: 100%;
  background: var(--color-background, #171717);
}

/* Side rails */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel--left {
  border-radius: 0 5px 5px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel--right {
  border-radius: 5px 0 0 5px;
}

/* Center reading panel */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-center {
  width: 1100px;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
  border-radius: 5px;
  padding: 56px 60px;
  box-sizing: border-box;
}

/* Heading */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-heading {
  font-family: 'Hedvig Letters Serif', serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.35em;
  color: var(--color-text);
  margin: 0 0 20px 0;
}

/* Body */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body {
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7em;
  color: var(--color-text-muted);
  max-width: 860px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body p {
  margin: 0 0 18px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body p:last-child {
  margin-bottom: 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body strong {
  color: var(--color-text);
  font-weight: 600;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body a:hover {
  opacity: 0.8;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ul,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ol {
  margin: 0 0 18px 0;
  padding-left: 22px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body li {
  margin: 0 0 8px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body li:last-child {
  margin-bottom: 0;
}

/* List markers (Nov 2026): a global "ol, ul { list-style: none }" reset hid
   every bullet and step number in body copy. The /builds/* rules below keep
   their own dots: same specificity, later in the file. */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ul {
  list-style: disc;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ol {
  list-style: decimal;
}

/* Optional image */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-image-wrap {
  margin-top: 28px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}

/* Responsive */
@media (max-width: 1160px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel {
    display: none;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-center {
    width: 100%;
    border-radius: 0;
    padding: 40px 20px;
  }
}

@media (max-width: 480px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-heading {
    font-size: 24px;
  }
}

/* ============================================================
   BUILD PAGES ONLY (/builds/*) — editorial two-column treatment.
   The :where(body.parent-pageid-1420 *) hop scopes these rules to
   children of the Builds page, so the /cases/ studies that share
   this widget are untouched. Zero added specificity.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  column-gap: 64px;
  padding: 64px 60px 68px;
  border-radius: 0;
  border-top: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

/* Section label rides alongside the prose instead of stacking on top */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-heading {
  grid-column: 1;
  position: sticky;
  top: 100px;
  align-self: start;
  font-size: 19px;
  line-height: 1.32;
  margin: 0;
  padding-top: 4px;
  text-wrap: balance;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body {
  grid-column: 2;
  max-width: 68ch;
  font-size: 17px;
  line-height: 1.78;
}

/* Opening sentence reads as a deck */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body > p:first-child strong:first-child {
  font-size: 19px;
  line-height: 1.6;
  color: var(--color-text);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body p {
  margin: 0 0 20px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul {
  list-style: none;
  padding-left: 0;
  margin: 0 0 20px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul li {
  position: relative;
  padding-left: 26px;
  margin: 0 0 13px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul li::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 0.7em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-primary, #c2410c);
  opacity: 0.85;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.88em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--color-background, rgba(128, 128, 128, 0.12));
  color: var(--color-text);
}

@media (max-width: 1160px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
    padding: 44px 20px 48px;
  }
}

@media (max-width: 1000px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 18px;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-heading {
    position: static;
    font-size: 22px;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body {
    grid-column: 1;
    max-width: none;
    font-size: 16px;
  }
}

/* ============================================================
   Inline editorial media + data tables inside body copy.
   Purely additive: no existing case/blog content uses <figure>
   or <table> inside .cc-body, so published pages are unchanged
   until a post opts in.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figure {
  margin: 28px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figcaption {
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-text-muted);
  margin: 12px 0 0 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap {
  margin: 0 0 24px 0;
  overflow-x: auto;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}

/* Older posts put tables straight into the body, without the .cc-table-wrap scroll box; on phones a wide one
   pushed the whole page sideways (416 px table on a 390 px screen, 3 Nov 2026). Let those tables scroll in place. */
@media (max-width: 767px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body table:not(.cc-table-wrap > table) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}

/* Tables with four or more columns squeezed to a word or two per line on phones (6 Nov 2026).
   Give them a minimum width so they scroll inside .cc-table-wrap with readable columns. */
@media (max-width: 767px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(4)) { min-width: 560px; }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(5)) { min-width: 700px; }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(6)) { min-width: 840px; }
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th {
  color: var(--color-text);
  font-weight: 600;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th.cc-num,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body td.cc-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body tfoot td {
  color: var(--color-text);
  font-weight: 600;
  border-bottom: none;
}

/* ============================================================
   Code blocks, inline code and h3 subheads inside body copy.
   Additive (Oct 2026). On /builds/* the inline-code values match
   the existing scoped rule above, so those pages look the same.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body h3 {
  font-family: 'Geist', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.4;
  color: var(--color-text);
  margin: 30px 0 10px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body :not(pre) > code {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.88em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--color-background, rgba(128, 128, 128, 0.12));
  color: var(--color-text);
  overflow-wrap: anywhere;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body pre {
  margin: 0 0 22px 0;
  padding: 16px 18px;
  max-width: 100%;
  overflow-x: auto;
  background: var(--color-background, #171717);
  border: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
  border-radius: 8px;
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--color-text);
  white-space: pre;
  tab-size: 2;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body pre code {
  font-family: inherit;
  font-size: inherit;
  padding: 0;
  background: none;
  border-radius: 0;
  color: inherit;
}


/* Case Content — rail + 1100 center (matches case hero) */

/* Quoted briefs inside body copy — additive, opt-in per post */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote {
  margin: 0 0 24px 0;
  padding: 2px 0 2px 22px;
  border-left: 2px solid var(--color-primary, #c2410c);
  color: var(--color-text);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote p {
  margin: 0 0 12px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote p:last-child {
  margin-bottom: 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-outer {
  display: flex;
  gap: 1px;
  margin-top: 1px;
  width: 100%;
  background: var(--color-background, #171717);
}

/* Side rails */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel--left {
  border-radius: 0 5px 5px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel--right {
  border-radius: 5px 0 0 5px;
}

/* Center reading panel */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-center {
  width: 1100px;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
  border-radius: 5px;
  padding: 56px 60px;
  box-sizing: border-box;
}

/* Heading */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-heading {
  font-family: 'Hedvig Letters Serif', serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.35em;
  color: var(--color-text);
  margin: 0 0 20px 0;
}

/* Body */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body {
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7em;
  color: var(--color-text-muted);
  max-width: 860px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body p {
  margin: 0 0 18px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body p:last-child {
  margin-bottom: 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body strong {
  color: var(--color-text);
  font-weight: 600;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body a:hover {
  opacity: 0.8;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ul,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ol {
  margin: 0 0 18px 0;
  padding-left: 22px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body li {
  margin: 0 0 8px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body li:last-child {
  margin-bottom: 0;
}

/* List markers (Nov 2026): a global "ol, ul { list-style: none }" reset hid
   every bullet and step number in body copy. The /builds/* rules below keep
   their own dots: same specificity, later in the file. */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ul {
  list-style: disc;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ol {
  list-style: decimal;
}

/* Optional image */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-image-wrap {
  margin-top: 28px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}

/* Responsive */
@media (max-width: 1160px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel {
    display: none;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-center {
    width: 100%;
    border-radius: 0;
    padding: 40px 20px;
  }
}

@media (max-width: 480px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-heading {
    font-size: 24px;
  }
}

/* ============================================================
   BUILD PAGES ONLY (/builds/*) — editorial two-column treatment.
   The :where(body.parent-pageid-1420 *) hop scopes these rules to
   children of the Builds page, so the /cases/ studies that share
   this widget are untouched. Zero added specificity.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  column-gap: 64px;
  padding: 64px 60px 68px;
  border-radius: 0;
  border-top: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

/* Section label rides alongside the prose instead of stacking on top */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-heading {
  grid-column: 1;
  position: sticky;
  top: 100px;
  align-self: start;
  font-size: 19px;
  line-height: 1.32;
  margin: 0;
  padding-top: 4px;
  text-wrap: balance;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body {
  grid-column: 2;
  max-width: 68ch;
  font-size: 17px;
  line-height: 1.78;
}

/* Opening sentence reads as a deck */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body > p:first-child strong:first-child {
  font-size: 19px;
  line-height: 1.6;
  color: var(--color-text);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body p {
  margin: 0 0 20px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul {
  list-style: none;
  padding-left: 0;
  margin: 0 0 20px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul li {
  position: relative;
  padding-left: 26px;
  margin: 0 0 13px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul li::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 0.7em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-primary, #c2410c);
  opacity: 0.85;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.88em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--color-background, rgba(128, 128, 128, 0.12));
  color: var(--color-text);
}

@media (max-width: 1160px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
    padding: 44px 20px 48px;
  }
}

@media (max-width: 1000px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 18px;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-heading {
    position: static;
    font-size: 22px;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body {
    grid-column: 1;
    max-width: none;
    font-size: 16px;
  }
}

/* ============================================================
   Inline editorial media + data tables inside body copy.
   Purely additive: no existing case/blog content uses <figure>
   or <table> inside .cc-body, so published pages are unchanged
   until a post opts in.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figure {
  margin: 28px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figcaption {
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-text-muted);
  margin: 12px 0 0 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap {
  margin: 0 0 24px 0;
  overflow-x: auto;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}

/* Older posts put tables straight into the body, without the .cc-table-wrap scroll box; on phones a wide one
   pushed the whole page sideways (416 px table on a 390 px screen, 3 Nov 2026). Let those tables scroll in place. */
@media (max-width: 767px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body table:not(.cc-table-wrap > table) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}

/* Tables with four or more columns squeezed to a word or two per line on phones (6 Nov 2026).
   Give them a minimum width so they scroll inside .cc-table-wrap with readable columns. */
@media (max-width: 767px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(4)) { min-width: 560px; }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(5)) { min-width: 700px; }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(6)) { min-width: 840px; }
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th {
  color: var(--color-text);
  font-weight: 600;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th.cc-num,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body td.cc-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body tfoot td {
  color: var(--color-text);
  font-weight: 600;
  border-bottom: none;
}

/* ============================================================
   Code blocks, inline code and h3 subheads inside body copy.
   Additive (Oct 2026). On /builds/* the inline-code values match
   the existing scoped rule above, so those pages look the same.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body h3 {
  font-family: 'Geist', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.4;
  color: var(--color-text);
  margin: 30px 0 10px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body :not(pre) > code {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.88em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--color-background, rgba(128, 128, 128, 0.12));
  color: var(--color-text);
  overflow-wrap: anywhere;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body pre {
  margin: 0 0 22px 0;
  padding: 16px 18px;
  max-width: 100%;
  overflow-x: auto;
  background: var(--color-background, #171717);
  border: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
  border-radius: 8px;
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--color-text);
  white-space: pre;
  tab-size: 2;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body pre code {
  font-family: inherit;
  font-size: inherit;
  padding: 0;
  background: none;
  border-radius: 0;
  color: inherit;
}


/* Case Content — rail + 1100 center (matches case hero) */

/* Quoted briefs inside body copy — additive, opt-in per post */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote {
  margin: 0 0 24px 0;
  padding: 2px 0 2px 22px;
  border-left: 2px solid var(--color-primary, #c2410c);
  color: var(--color-text);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote p {
  margin: 0 0 12px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote p:last-child {
  margin-bottom: 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-outer {
  display: flex;
  gap: 1px;
  margin-top: 1px;
  width: 100%;
  background: var(--color-background, #171717);
}

/* Side rails */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel--left {
  border-radius: 0 5px 5px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel--right {
  border-radius: 5px 0 0 5px;
}

/* Center reading panel */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-center {
  width: 1100px;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
  border-radius: 5px;
  padding: 56px 60px;
  box-sizing: border-box;
}

/* Heading */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-heading {
  font-family: 'Hedvig Letters Serif', serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.35em;
  color: var(--color-text);
  margin: 0 0 20px 0;
}

/* Body */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body {
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7em;
  color: var(--color-text-muted);
  max-width: 860px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body p {
  margin: 0 0 18px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body p:last-child {
  margin-bottom: 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body strong {
  color: var(--color-text);
  font-weight: 600;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body a:hover {
  opacity: 0.8;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ul,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ol {
  margin: 0 0 18px 0;
  padding-left: 22px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body li {
  margin: 0 0 8px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body li:last-child {
  margin-bottom: 0;
}

/* List markers (Nov 2026): a global "ol, ul { list-style: none }" reset hid
   every bullet and step number in body copy. The /builds/* rules below keep
   their own dots: same specificity, later in the file. */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ul {
  list-style: disc;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ol {
  list-style: decimal;
}

/* Optional image */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-image-wrap {
  margin-top: 28px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}

/* Responsive */
@media (max-width: 1160px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel {
    display: none;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-center {
    width: 100%;
    border-radius: 0;
    padding: 40px 20px;
  }
}

@media (max-width: 480px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-heading {
    font-size: 24px;
  }
}

/* ============================================================
   BUILD PAGES ONLY (/builds/*) — editorial two-column treatment.
   The :where(body.parent-pageid-1420 *) hop scopes these rules to
   children of the Builds page, so the /cases/ studies that share
   this widget are untouched. Zero added specificity.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  column-gap: 64px;
  padding: 64px 60px 68px;
  border-radius: 0;
  border-top: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

/* Section label rides alongside the prose instead of stacking on top */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-heading {
  grid-column: 1;
  position: sticky;
  top: 100px;
  align-self: start;
  font-size: 19px;
  line-height: 1.32;
  margin: 0;
  padding-top: 4px;
  text-wrap: balance;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body {
  grid-column: 2;
  max-width: 68ch;
  font-size: 17px;
  line-height: 1.78;
}

/* Opening sentence reads as a deck */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body > p:first-child strong:first-child {
  font-size: 19px;
  line-height: 1.6;
  color: var(--color-text);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body p {
  margin: 0 0 20px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul {
  list-style: none;
  padding-left: 0;
  margin: 0 0 20px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul li {
  position: relative;
  padding-left: 26px;
  margin: 0 0 13px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul li::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 0.7em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-primary, #c2410c);
  opacity: 0.85;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.88em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--color-background, rgba(128, 128, 128, 0.12));
  color: var(--color-text);
}

@media (max-width: 1160px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
    padding: 44px 20px 48px;
  }
}

@media (max-width: 1000px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 18px;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-heading {
    position: static;
    font-size: 22px;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body {
    grid-column: 1;
    max-width: none;
    font-size: 16px;
  }
}

/* ============================================================
   Inline editorial media + data tables inside body copy.
   Purely additive: no existing case/blog content uses <figure>
   or <table> inside .cc-body, so published pages are unchanged
   until a post opts in.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figure {
  margin: 28px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figcaption {
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-text-muted);
  margin: 12px 0 0 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap {
  margin: 0 0 24px 0;
  overflow-x: auto;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}

/* Older posts put tables straight into the body, without the .cc-table-wrap scroll box; on phones a wide one
   pushed the whole page sideways (416 px table on a 390 px screen, 3 Nov 2026). Let those tables scroll in place. */
@media (max-width: 767px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body table:not(.cc-table-wrap > table) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}

/* Tables with four or more columns squeezed to a word or two per line on phones (6 Nov 2026).
   Give them a minimum width so they scroll inside .cc-table-wrap with readable columns. */
@media (max-width: 767px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(4)) { min-width: 560px; }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(5)) { min-width: 700px; }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(6)) { min-width: 840px; }
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th {
  color: var(--color-text);
  font-weight: 600;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th.cc-num,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body td.cc-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body tfoot td {
  color: var(--color-text);
  font-weight: 600;
  border-bottom: none;
}

/* ============================================================
   Code blocks, inline code and h3 subheads inside body copy.
   Additive (Oct 2026). On /builds/* the inline-code values match
   the existing scoped rule above, so those pages look the same.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body h3 {
  font-family: 'Geist', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.4;
  color: var(--color-text);
  margin: 30px 0 10px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body :not(pre) > code {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.88em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--color-background, rgba(128, 128, 128, 0.12));
  color: var(--color-text);
  overflow-wrap: anywhere;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body pre {
  margin: 0 0 22px 0;
  padding: 16px 18px;
  max-width: 100%;
  overflow-x: auto;
  background: var(--color-background, #171717);
  border: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
  border-radius: 8px;
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--color-text);
  white-space: pre;
  tab-size: 2;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body pre code {
  font-family: inherit;
  font-size: inherit;
  padding: 0;
  background: none;
  border-radius: 0;
  color: inherit;
}


/* Case Content — rail + 1100 center (matches case hero) */

/* Quoted briefs inside body copy — additive, opt-in per post */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote {
  margin: 0 0 24px 0;
  padding: 2px 0 2px 22px;
  border-left: 2px solid var(--color-primary, #c2410c);
  color: var(--color-text);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote p {
  margin: 0 0 12px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote p:last-child {
  margin-bottom: 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-outer {
  display: flex;
  gap: 1px;
  margin-top: 1px;
  width: 100%;
  background: var(--color-background, #171717);
}

/* Side rails */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel--left {
  border-radius: 0 5px 5px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel--right {
  border-radius: 5px 0 0 5px;
}

/* Center reading panel */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-center {
  width: 1100px;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
  border-radius: 5px;
  padding: 56px 60px;
  box-sizing: border-box;
}

/* Heading */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-heading {
  font-family: 'Hedvig Letters Serif', serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.35em;
  color: var(--color-text);
  margin: 0 0 20px 0;
}

/* Body */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body {
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7em;
  color: var(--color-text-muted);
  max-width: 860px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body p {
  margin: 0 0 18px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body p:last-child {
  margin-bottom: 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body strong {
  color: var(--color-text);
  font-weight: 600;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body a:hover {
  opacity: 0.8;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ul,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ol {
  margin: 0 0 18px 0;
  padding-left: 22px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body li {
  margin: 0 0 8px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body li:last-child {
  margin-bottom: 0;
}

/* List markers (Nov 2026): a global "ol, ul { list-style: none }" reset hid
   every bullet and step number in body copy. The /builds/* rules below keep
   their own dots: same specificity, later in the file. */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ul {
  list-style: disc;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ol {
  list-style: decimal;
}

/* Optional image */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-image-wrap {
  margin-top: 28px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}

/* Responsive */
@media (max-width: 1160px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel {
    display: none;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-center {
    width: 100%;
    border-radius: 0;
    padding: 40px 20px;
  }
}

@media (max-width: 480px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-heading {
    font-size: 24px;
  }
}

/* ============================================================
   BUILD PAGES ONLY (/builds/*) — editorial two-column treatment.
   The :where(body.parent-pageid-1420 *) hop scopes these rules to
   children of the Builds page, so the /cases/ studies that share
   this widget are untouched. Zero added specificity.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  column-gap: 64px;
  padding: 64px 60px 68px;
  border-radius: 0;
  border-top: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

/* Section label rides alongside the prose instead of stacking on top */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-heading {
  grid-column: 1;
  position: sticky;
  top: 100px;
  align-self: start;
  font-size: 19px;
  line-height: 1.32;
  margin: 0;
  padding-top: 4px;
  text-wrap: balance;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body {
  grid-column: 2;
  max-width: 68ch;
  font-size: 17px;
  line-height: 1.78;
}

/* Opening sentence reads as a deck */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body > p:first-child strong:first-child {
  font-size: 19px;
  line-height: 1.6;
  color: var(--color-text);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body p {
  margin: 0 0 20px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul {
  list-style: none;
  padding-left: 0;
  margin: 0 0 20px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul li {
  position: relative;
  padding-left: 26px;
  margin: 0 0 13px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul li::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 0.7em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-primary, #c2410c);
  opacity: 0.85;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.88em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--color-background, rgba(128, 128, 128, 0.12));
  color: var(--color-text);
}

@media (max-width: 1160px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
    padding: 44px 20px 48px;
  }
}

@media (max-width: 1000px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 18px;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-heading {
    position: static;
    font-size: 22px;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body {
    grid-column: 1;
    max-width: none;
    font-size: 16px;
  }
}

/* ============================================================
   Inline editorial media + data tables inside body copy.
   Purely additive: no existing case/blog content uses <figure>
   or <table> inside .cc-body, so published pages are unchanged
   until a post opts in.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figure {
  margin: 28px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figcaption {
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-text-muted);
  margin: 12px 0 0 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap {
  margin: 0 0 24px 0;
  overflow-x: auto;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}

/* Older posts put tables straight into the body, without the .cc-table-wrap scroll box; on phones a wide one
   pushed the whole page sideways (416 px table on a 390 px screen, 3 Nov 2026). Let those tables scroll in place. */
@media (max-width: 767px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body table:not(.cc-table-wrap > table) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}

/* Tables with four or more columns squeezed to a word or two per line on phones (6 Nov 2026).
   Give them a minimum width so they scroll inside .cc-table-wrap with readable columns. */
@media (max-width: 767px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(4)) { min-width: 560px; }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(5)) { min-width: 700px; }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(6)) { min-width: 840px; }
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th {
  color: var(--color-text);
  font-weight: 600;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th.cc-num,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body td.cc-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body tfoot td {
  color: var(--color-text);
  font-weight: 600;
  border-bottom: none;
}

/* ============================================================
   Code blocks, inline code and h3 subheads inside body copy.
   Additive (Oct 2026). On /builds/* the inline-code values match
   the existing scoped rule above, so those pages look the same.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body h3 {
  font-family: 'Geist', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.4;
  color: var(--color-text);
  margin: 30px 0 10px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body :not(pre) > code {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.88em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--color-background, rgba(128, 128, 128, 0.12));
  color: var(--color-text);
  overflow-wrap: anywhere;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body pre {
  margin: 0 0 22px 0;
  padding: 16px 18px;
  max-width: 100%;
  overflow-x: auto;
  background: var(--color-background, #171717);
  border: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
  border-radius: 8px;
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--color-text);
  white-space: pre;
  tab-size: 2;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body pre code {
  font-family: inherit;
  font-size: inherit;
  padding: 0;
  background: none;
  border-radius: 0;
  color: inherit;
}


/* Case Content — rail + 1100 center (matches case hero) */

/* Quoted briefs inside body copy — additive, opt-in per post */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote {
  margin: 0 0 24px 0;
  padding: 2px 0 2px 22px;
  border-left: 2px solid var(--color-primary, #c2410c);
  color: var(--color-text);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote p {
  margin: 0 0 12px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote p:last-child {
  margin-bottom: 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-outer {
  display: flex;
  gap: 1px;
  margin-top: 1px;
  width: 100%;
  background: var(--color-background, #171717);
}

/* Side rails */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel--left {
  border-radius: 0 5px 5px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel--right {
  border-radius: 5px 0 0 5px;
}

/* Center reading panel */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-center {
  width: 1100px;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
  border-radius: 5px;
  padding: 56px 60px;
  box-sizing: border-box;
}

/* Heading */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-heading {
  font-family: 'Hedvig Letters Serif', serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.35em;
  color: var(--color-text);
  margin: 0 0 20px 0;
}

/* Body */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body {
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7em;
  color: var(--color-text-muted);
  max-width: 860px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body p {
  margin: 0 0 18px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body p:last-child {
  margin-bottom: 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body strong {
  color: var(--color-text);
  font-weight: 600;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body a:hover {
  opacity: 0.8;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ul,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ol {
  margin: 0 0 18px 0;
  padding-left: 22px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body li {
  margin: 0 0 8px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body li:last-child {
  margin-bottom: 0;
}

/* List markers (Nov 2026): a global "ol, ul { list-style: none }" reset hid
   every bullet and step number in body copy. The /builds/* rules below keep
   their own dots: same specificity, later in the file. */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ul {
  list-style: disc;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ol {
  list-style: decimal;
}

/* Optional image */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-image-wrap {
  margin-top: 28px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}

/* Responsive */
@media (max-width: 1160px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel {
    display: none;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-center {
    width: 100%;
    border-radius: 0;
    padding: 40px 20px;
  }
}

@media (max-width: 480px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-heading {
    font-size: 24px;
  }
}

/* ============================================================
   BUILD PAGES ONLY (/builds/*) — editorial two-column treatment.
   The :where(body.parent-pageid-1420 *) hop scopes these rules to
   children of the Builds page, so the /cases/ studies that share
   this widget are untouched. Zero added specificity.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  column-gap: 64px;
  padding: 64px 60px 68px;
  border-radius: 0;
  border-top: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

/* Section label rides alongside the prose instead of stacking on top */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-heading {
  grid-column: 1;
  position: sticky;
  top: 100px;
  align-self: start;
  font-size: 19px;
  line-height: 1.32;
  margin: 0;
  padding-top: 4px;
  text-wrap: balance;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body {
  grid-column: 2;
  max-width: 68ch;
  font-size: 17px;
  line-height: 1.78;
}

/* Opening sentence reads as a deck */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body > p:first-child strong:first-child {
  font-size: 19px;
  line-height: 1.6;
  color: var(--color-text);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body p {
  margin: 0 0 20px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul {
  list-style: none;
  padding-left: 0;
  margin: 0 0 20px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul li {
  position: relative;
  padding-left: 26px;
  margin: 0 0 13px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul li::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 0.7em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-primary, #c2410c);
  opacity: 0.85;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.88em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--color-background, rgba(128, 128, 128, 0.12));
  color: var(--color-text);
}

@media (max-width: 1160px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
    padding: 44px 20px 48px;
  }
}

@media (max-width: 1000px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 18px;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-heading {
    position: static;
    font-size: 22px;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body {
    grid-column: 1;
    max-width: none;
    font-size: 16px;
  }
}

/* ============================================================
   Inline editorial media + data tables inside body copy.
   Purely additive: no existing case/blog content uses <figure>
   or <table> inside .cc-body, so published pages are unchanged
   until a post opts in.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figure {
  margin: 28px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figcaption {
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-text-muted);
  margin: 12px 0 0 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap {
  margin: 0 0 24px 0;
  overflow-x: auto;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}

/* Older posts put tables straight into the body, without the .cc-table-wrap scroll box; on phones a wide one
   pushed the whole page sideways (416 px table on a 390 px screen, 3 Nov 2026). Let those tables scroll in place. */
@media (max-width: 767px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body table:not(.cc-table-wrap > table) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}

/* Tables with four or more columns squeezed to a word or two per line on phones (6 Nov 2026).
   Give them a minimum width so they scroll inside .cc-table-wrap with readable columns. */
@media (max-width: 767px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(4)) { min-width: 560px; }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(5)) { min-width: 700px; }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(6)) { min-width: 840px; }
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th {
  color: var(--color-text);
  font-weight: 600;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th.cc-num,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body td.cc-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body tfoot td {
  color: var(--color-text);
  font-weight: 600;
  border-bottom: none;
}

/* ============================================================
   Code blocks, inline code and h3 subheads inside body copy.
   Additive (Oct 2026). On /builds/* the inline-code values match
   the existing scoped rule above, so those pages look the same.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body h3 {
  font-family: 'Geist', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.4;
  color: var(--color-text);
  margin: 30px 0 10px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body :not(pre) > code {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.88em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--color-background, rgba(128, 128, 128, 0.12));
  color: var(--color-text);
  overflow-wrap: anywhere;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body pre {
  margin: 0 0 22px 0;
  padding: 16px 18px;
  max-width: 100%;
  overflow-x: auto;
  background: var(--color-background, #171717);
  border: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
  border-radius: 8px;
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--color-text);
  white-space: pre;
  tab-size: 2;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body pre code {
  font-family: inherit;
  font-size: inherit;
  padding: 0;
  background: none;
  border-radius: 0;
  color: inherit;
}


/* Case Content — rail + 1100 center (matches case hero) */

/* Quoted briefs inside body copy — additive, opt-in per post */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote {
  margin: 0 0 24px 0;
  padding: 2px 0 2px 22px;
  border-left: 2px solid var(--color-primary, #c2410c);
  color: var(--color-text);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote p {
  margin: 0 0 12px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body blockquote p:last-child {
  margin-bottom: 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-outer {
  display: flex;
  gap: 1px;
  margin-top: 1px;
  width: 100%;
  background: var(--color-background, #171717);
}

/* Side rails */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel--left {
  border-radius: 0 5px 5px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel--right {
  border-radius: 5px 0 0 5px;
}

/* Center reading panel */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-center {
  width: 1100px;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
  border-radius: 5px;
  padding: 56px 60px;
  box-sizing: border-box;
}

/* Heading */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-heading {
  font-family: 'Hedvig Letters Serif', serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.35em;
  color: var(--color-text);
  margin: 0 0 20px 0;
}

/* Body */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body {
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7em;
  color: var(--color-text-muted);
  max-width: 860px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body p {
  margin: 0 0 18px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body p:last-child {
  margin-bottom: 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body strong {
  color: var(--color-text);
  font-weight: 600;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body a:hover {
  opacity: 0.8;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ul,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ol {
  margin: 0 0 18px 0;
  padding-left: 22px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body li {
  margin: 0 0 8px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body li:last-child {
  margin-bottom: 0;
}

/* List markers (Nov 2026): a global "ol, ul { list-style: none }" reset hid
   every bullet and step number in body copy. The /builds/* rules below keep
   their own dots: same specificity, later in the file. */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ul {
  list-style: disc;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body ol {
  list-style: decimal;
}

/* Optional image */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-image-wrap {
  margin-top: 28px;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}

/* Responsive */
@media (max-width: 1160px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-panel {
    display: none;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-center {
    width: 100%;
    border-radius: 0;
    padding: 40px 20px;
  }
}

@media (max-width: 480px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-heading {
    font-size: 24px;
  }
}

/* ============================================================
   BUILD PAGES ONLY (/builds/*) — editorial two-column treatment.
   The :where(body.parent-pageid-1420 *) hop scopes these rules to
   children of the Builds page, so the /cases/ studies that share
   this widget are untouched. Zero added specificity.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  column-gap: 64px;
  padding: 64px 60px 68px;
  border-radius: 0;
  border-top: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

/* Section label rides alongside the prose instead of stacking on top */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-heading {
  grid-column: 1;
  position: sticky;
  top: 100px;
  align-self: start;
  font-size: 19px;
  line-height: 1.32;
  margin: 0;
  padding-top: 4px;
  text-wrap: balance;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body {
  grid-column: 2;
  max-width: 68ch;
  font-size: 17px;
  line-height: 1.78;
}

/* Opening sentence reads as a deck */
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body > p:first-child strong:first-child {
  font-size: 19px;
  line-height: 1.6;
  color: var(--color-text);
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body p {
  margin: 0 0 20px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul {
  list-style: none;
  padding-left: 0;
  margin: 0 0 20px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul li {
  position: relative;
  padding-left: 26px;
  margin: 0 0 13px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body ul li::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 0.7em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-primary, #c2410c);
  opacity: 0.85;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.88em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--color-background, rgba(128, 128, 128, 0.12));
  color: var(--color-text);
}

@media (max-width: 1160px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
    padding: 44px 20px 48px;
  }
}

@media (max-width: 1000px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-center {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 18px;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-heading {
    position: static;
    font-size: 22px;
  }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722):where(body.parent-pageid-1420 *) .cc-body {
    grid-column: 1;
    max-width: none;
    font-size: 16px;
  }
}

/* ============================================================
   Inline editorial media + data tables inside body copy.
   Purely additive: no existing case/blog content uses <figure>
   or <table> inside .cc-body, so published pages are unchanged
   until a post opts in.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figure {
  margin: 28px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body figcaption {
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-text-muted);
  margin: 12px 0 0 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap {
  margin: 0 0 24px 0;
  overflow-x: auto;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}

/* Older posts put tables straight into the body, without the .cc-table-wrap scroll box; on phones a wide one
   pushed the whole page sideways (416 px table on a 390 px screen, 3 Nov 2026). Let those tables scroll in place. */
@media (max-width: 767px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body table:not(.cc-table-wrap > table) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}

/* Tables with four or more columns squeezed to a word or two per line on phones (6 Nov 2026).
   Give them a minimum width so they scroll inside .cc-table-wrap with readable columns. */
@media (max-width: 767px) {
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(4)) { min-width: 560px; }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(5)) { min-width: 700px; }
  :is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body .cc-table-wrap > table:has(tr > :nth-child(6)) { min-width: 840px; }
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th {
  color: var(--color-text);
  font-weight: 600;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body th.cc-num,
:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body td.cc-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body tfoot td {
  color: var(--color-text);
  font-weight: 600;
  border-bottom: none;
}

/* ============================================================
   Code blocks, inline code and h3 subheads inside body copy.
   Additive (Oct 2026). On /builds/* the inline-code values match
   the existing scoped rule above, so those pages look the same.
   ============================================================ */

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body h3 {
  font-family: 'Geist', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.4;
  color: var(--color-text);
  margin: 30px 0 10px 0;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body :not(pre) > code {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.88em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--color-background, rgba(128, 128, 128, 0.12));
  color: var(--color-text);
  overflow-wrap: anywhere;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body pre {
  margin: 0 0 22px 0;
  padding: 16px 18px;
  max-width: 100%;
  overflow-x: auto;
  background: var(--color-background, #171717);
  border: 1px solid var(--color-border, rgba(128, 128, 128, 0.18));
  border-radius: 8px;
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--color-text);
  white-space: pre;
  tab-size: 2;
}

:is(#wpc-s-fb45ebf97722,.wpc-s-fb45ebf97722) .cc-body pre code {
  font-family: inherit;
  font-size: inherit;
  padding: 0;
  background: none;
  border-radius: 0;
  color: inherit;
}


/* Case Feedback — bento panel */
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-outer {
  display: flex;
  gap: 1px;
  margin-top: 1px;
  width: 100%;
  background: var(--color-background, #171717);
}

/* Side panels */
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-panel--left { border-radius: 0 5px 5px 0; }
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-panel--right { border-radius: 5px 0 0 5px; }

/* Center panel */
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-center {
  width: 1100px;
  flex-shrink: 0;
  background: var(--color-surface-content, #0C0C0C);
  border-radius: 5px;
  padding: 60px 30px;
  box-sizing: border-box;
}

/* Header row */
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-header {
  display: flex;
  align-items: center;
  gap: 12px;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-label {
  font-family: 'Geist', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.556em;
  color: var(--color-text, #FFFFFF);
  margin-right: 10px;
}

/* Thumb buttons */
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-vote {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: var(--color-surface-dim, #171717);
  border: none;
  border-radius: 50%;
  color: var(--color-text-secondary, #D9D9D9);
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease;
  padding: 0;
  flex-shrink: 0;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-vote svg { width: 16px; height: 16px; }

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-vote:hover,
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-vote.active {
  color: var(--color-text, #FFFFFF);
  background: var(--color-separator, #222222);
}

/* Form */
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 1040px;
  max-width: 100%;
  margin-top: 28px;
  position: relative;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-form .cf-author {
  display: block;
  width: 100%;
  height: 44px;
  background: var(--color-surface-dim, #171717) !important;
  background-color: var(--color-surface-dim, #171717) !important;
  border: none !important;
  border-radius: 5px !important;
  padding: 0 15px !important;
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.3em;
  color: var(--color-text, #FFFFFF) !important;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-form .cf-author::placeholder {
  color: var(--color-text-muted, #9F9F9F);
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-form .cf-author:focus {
  outline: none;
  background: var(--color-surface-dim, #171717) !important;
}

/* Textarea wrapper — keep submit absolute relative to textarea */
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-textarea-wrap {
  position: relative;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-form .cf-textarea {
  display: block;
  width: 100%;
  height: 134px;
  background: var(--color-surface-dim, #171717) !important;
  background-color: var(--color-surface-dim, #171717) !important;
  border: none !important;
  border-radius: 5px !important;
  padding: 15px !important;
  padding-bottom: 54px !important;
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.3em;
  color: var(--color-text, #FFFFFF) !important;
  resize: none;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-form .cf-textarea::placeholder {
  color: var(--color-text-muted, #9F9F9F);
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-form .cf-textarea:focus {
  outline: none;
  background: var(--color-surface-dim, #171717) !important;
}

/* Submit — absolute over textarea */
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-submit {
  position: absolute;
  bottom: 15px;
  right: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  background: transparent;
  border: 0.5px solid var(--color-pill-border, rgba(147, 147, 147, 0.3));
  border-radius: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.375em;
  color: var(--color-text-muted, #9F9F9F);
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease;
  margin: 0;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-submit:hover {
  border-color: rgba(147, 147, 147, 0.5);
  color: var(--color-text, #FFFFFF);
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Status message */
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-status {
  margin-top: 14px;
  padding: 10px 14px;
  border-radius: 5px;
  font-family: 'Geist', sans-serif;
  font-size: 14px;
  line-height: 1.4em;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-status--ok {
  background: var(--color-surface-dim, #171717);
  color: var(--color-text, #FFFFFF);
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-status--error {
  background: rgba(220, 38, 38, 0.12);
  color: #ff6b6b;
}

/* Reviews list */
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-reviews {
  margin-top: 32px;
  border-top: 0.5px solid var(--color-separator, rgba(147, 147, 147, 0.2));
  padding-top: 24px;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-reviews-title {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-gray-dim, #797979);
  margin-bottom: 16px;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-reviews-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-review {
  background: var(--color-surface-dim, #171717);
  border-radius: 5px;
  padding: 16px 18px;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-review-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-review-vote {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: var(--color-text, #FFFFFF);
  background: var(--color-separator, #222222);
  flex-shrink: 0;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-review-vote--up { color: #4ade80; }
:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-review-vote--down { color: #f87171; }

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-review-author {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 500;
  font-size: 14px;
  color: var(--color-text, #FFFFFF);
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-review-date {
  font-family: 'Geist', sans-serif;
  font-size: 12px;
  color: var(--color-text-muted, #9F9F9F);
  margin-left: auto;
}

:is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-review-text {
  font-family: 'Geist', sans-serif;
  font-size: 15px;
  line-height: 1.45em;
  color: var(--color-text-secondary, #D9D9D9);
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Responsive */
@media (max-width: 1160px) {
  :is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-panel { display: none; }
  :is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-center {
    width: 100%;
    border-radius: 0;
    padding: 40px 20px;
  }
  :is(#wpc-s-55e1c91ef49c,.wpc-s-55e1c91ef49c) .cf-form { width: 100%; }
}


/* Spacer — empty bento grid row */
:is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-outer {
  display: flex;
  gap: 1px;
  margin-top: 1px;
  width: 100%;
  background: var(--color-background, #171717);
}

:is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  height: 188px;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-panel--left {
  border-radius: 5px;
}

:is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-panel--right {
  border-radius: 5px;
}

:is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-center {
  width: 1100px;
  max-width: 100%;
  flex-shrink: 0;
  height: 188px;
  background: var(--color-surface, #0B0B0B);
  border-radius: 5px;
}

@media (max-width: 1160px) {
  :is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-panel {
    display: none;
  }
  :is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-center {
    border-radius: 0;
  }
}

/* Mobile only — reduce the 188px vertical gap to a sensible 80px */
@media (max-width: 768px) {
  :is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-center {
    height: 80px;
  }
}


/* Pre-Footer CTA — 1920 × 420 */
/* component refresh v2 */

:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-outer {
  display: flex;
  gap: 1px;
  margin-top: 1px;
  width: 100%;
  background: var(--color-background, #171717);
}

/* Side panels */
:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  height: 420px;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-panel--left {
  border-radius: 0 5px 5px 0;
}

:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-panel--right {
  border-radius: 5px 0 0 5px;
}

/* Center panel — 1100 × 420 */
:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-center {
  width: 1100px;
  flex-shrink: 0;
  height: 420px;
  border-radius: 5px;
  position: relative;
  overflow: hidden;
}

/* Background image layer */
:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-bg {
  position: absolute;
  inset: 0;
  background-image: url('https://wpos.ai/wp-content/uploads/2026/03/cabdd8a5-610a-4ae0-90b0-31dd4ac24a35-scaled.jpg');
  background-size: cover;
  background-position: center;
  border-radius: 5px;
}

/* Blue radial gradient overlay at 30% opacity */
:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-gradient {
  position: absolute;
  inset: 0;
  border-radius: 5px;
  background: radial-gradient(
    ellipse at center,
    rgba(6, 37, 101, 0.30) 0%,
    rgba(5, 24, 67, 0.30) 50%,
    rgba(4, 10, 32, 0.30) 100%
  );
}

/* Lock dark-mode colors — this section always has a dark background */
:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-center {
  --color-text: #FFFFFF;
  --color-gray-bright: #D9D9D9;
  --color-cta-bg: #FFFFFF;
  --color-cta-text: #0B0B0B;
  --color-cta-secondary-bg: transparent;
  --color-cta-secondary-text: #FFFFFF;
}

/* Content — centered */
:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-content {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 100px 30px;
  box-sizing: border-box;
}

/* Heading */
:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-heading {
  font-family: 'Hedvig Letters Serif', serif;
  font-weight: 400;
  font-size: 46px;
  line-height: 50px;
  color: var(--color-text, #FFFFFF);
  text-align: center;
  width: 628px;
  margin: 0;
}

/* Subtitle */
:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-subtitle {
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: var(--color-gray-bright, #D9D9D9);
  text-align: center;
  width: 564px;
  margin: 26px 0 0 0;
}

/* CTA Button spacing */
:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-content .wpc-btn {
  margin-top: 36px;
}

/* Button overrides — force correct styles over stale component cache */
:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .wpc-btn--primary {
  font-weight: 700 !important;
}

/* Optional second button row (5 Nov 2026): only rendered when the page sets scta_text. */
:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 36px;
}

:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-ctas .wpc-btn {
  margin-top: 0;
}

/* The section sits on a photo, so the outlined button gets a tinted backing to stay readable over the bright clouds. */
:is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .wpc-btn--secondary {
  background: color-mix(in srgb, var(--color-surface, #0B0B0B) 60%, transparent) !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: inset 0 0 0 0.5px var(--color-text-muted, #9F9F9F);
  backdrop-filter: blur(6px);
}

/* Responsive */
@media (max-width: 1160px) {
  :is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-panel {
    display: none;
  }
  :is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-center {
    width: 100%;
    border-radius: 0;
  }
  :is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-heading {
    width: 100%;
    max-width: 628px;
    font-size: 36px;
    line-height: 42px;
  }
  :is(#wpc-s-e96be1baa3e7,.wpc-s-e96be1baa3e7) .pcta-subtitle {
    width: 100%;
    max-width: 564px;
  }
}


/* Spacer — empty bento grid row */
:is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-outer {
  display: flex;
  gap: 1px;
  margin-top: 1px;
  width: 100%;
  background: var(--color-background, #171717);
}

:is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  height: 188px;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-panel--left {
  border-radius: 5px;
}

:is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-panel--right {
  border-radius: 5px;
}

:is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-center {
  width: 1100px;
  max-width: 100%;
  flex-shrink: 0;
  height: 188px;
  background: var(--color-surface, #0B0B0B);
  border-radius: 5px;
}

@media (max-width: 1160px) {
  :is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-panel {
    display: none;
  }
  :is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-center {
    border-radius: 0;
  }
}

/* Mobile only — reduce the 188px vertical gap to a sensible 80px */
@media (max-width: 768px) {
  :is(#wpc-s-53cecdb000e1,.wpc-s-53cecdb000e1) .wpc-spacer-center {
    height: 80px;
  }
}


/* Footer — 1920 × 409 */
/* 2 segments: top (366px, rows 1+2) + bottom (42px, row 3) */
/* Side panels continuous through rows 1+2, separate for row 3 */

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1px;
  margin-top: 1px;
  background: var(--color-background, #171717);
}

/* ---- SEGMENTS ---- */
:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-top-segment {
  display: flex;
  gap: 1px;
  width: 100%;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-bottom-segment {
  display: flex;
  gap: 1px;
  width: 100%;
}

/* ---- SIDE PANELS ---- */
:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-panel {
  width: calc((100vw - 1102px) / 2);
  max-width: 409px;
  min-width: 0;
  flex-shrink: 0;
  background: var(--color-surface, #0B0B0B);
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-panel--left {
  border-radius: 0 5px 5px 0;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-panel--right {
  border-radius: 5px 0 0 5px;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-panel--tall {
  align-self: stretch;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-panel--short {
  height: 42px;
}

/* ---- CENTER TOP (rows 1+2 stacked) ---- */
:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-center-top {
  width: 1100px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

/* Row 1 — Top bar (82px) */
:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-topbar {
  width: 100%;
  height: 82px;
  background: var(--color-surface, #0B0B0B);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
  box-sizing: border-box;
}

/* Ask about WPOS on */
:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-ask {
  display: flex;
  align-items: center;
  gap: 14px;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-ask-text {
  font-family: 'JetBrains Mono', monospace;

  font-weight: 700;
  font-size: 15px;
  line-height: 24px;
  color: var(--color-border, #797979);
  white-space: nowrap;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-ai-icons {
  display: flex;
  align-items: center;
  gap: 12px;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-ai-icons img {
  width: 20px;
  height: 20px;
  display: block;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-ai-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  text-decoration: none;
  border-radius: 4px;
  transition: opacity 150ms ease, transform 150ms ease;
  opacity: 0.7;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-ai-link:hover,
:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-ai-link:focus-visible {
  opacity: 1;
  transform: translateY(-1px);
  outline: none;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-ai-link:focus-visible {
  box-shadow: 0 0 0 2px var(--color-border, #797979);
}

/* Status indicator */
:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-status {
  display: flex;
  align-items: center;
  gap: 6px;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-status-dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--color-green-outer, #253629);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: ft-breathe 2s ease-in-out infinite;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-status-dot-inner {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-green-status, #86DA9A);
}

@keyframes ft-breathe {
  0%, 100% { background: var(--color-green-outer, #253629); }
  50% { background: var(--color-green-mid, #3a6b45); }
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-status-text {
  font-family: 'JetBrains Mono', monospace;

  font-weight: 700;
  font-size: 15px;
  line-height: normal;
  color: var(--color-green-status, #86DA9A);
  white-space: nowrap;
}

/* Row 2 — Nav links (283px) */
:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-nav {
  width: 100%;
  min-height: 351px;
  background: var(--color-surface, #0B0B0B);
  border-radius: 5px;
  display: flex;
  padding: 60px 30px;
  gap: 24px;
  box-sizing: border-box;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-col-title {
  font-family: 'JetBrains Mono', monospace;

  font-weight: 500;
  font-size: 16px;
  line-height: normal;
  color: var(--color-text, #FFFFFF);
  margin: 0 0 6px 0;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-link {
  overflow-wrap: anywhere;
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: var(--color-text-muted, #9F9F9F);
  text-decoration: none;
  transition: color 0.2s ease;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-link:hover {
  color: var(--color-text, #FFFFFF);
}

/* ---- COPYRIGHT BAR (42px) ---- */
:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-copyright {
  width: 1100px;
  flex-shrink: 0;
  height: 42px;
  background: var(--color-surface, #0B0B0B);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

:is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-copyright-text {
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  color: var(--color-text-muted, #9F9F9F);
}

/* ---- RESPONSIVE ---- */
@media (max-width: 1160px) {
  :is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-panel {
    display: none;
  }
  :is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-center-top,
  :is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-copyright {
    width: 100%;
  }
  :is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-topbar,
  :is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-nav,
  :is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-copyright {
    border-radius: 0;
  }
  /* Once the rails collapse the site gutter is 20px. Without this the footer
     kept its desktop 30px inset from 769px to 1160px — tablets and small
     laptops — putting its columns 10px right of the header and every page
     section. The 768px rule below already did this, so only the 769-1160
     band was wrong. Horizontal only, so vertical rhythm is untouched. */
  :is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-topbar,
  :is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-nav,
  :is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-copyright {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 768px) {
  :is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-topbar {
    flex-direction: column;
    height: auto;
    padding: 16px 20px;
    gap: 12px;
    align-items: flex-start;
  }
  :is(#wpc-s-2ab3ce93cade,.wpc-s-2ab3ce93cade) .ft-nav {
    flex-direction: column;
    height: auto;
    padding: 40px 20px;
    gap: 30px;
  }
}


.wpc-theme-wpcursor-dark {
  --wpc-wpcursor-dark-color-primary: #062565;
  --color-primary: #062565;
  --wpc-wpcursor-dark-color-primary-hover: #0A3A8F;
  --color-primary-hover: #0A3A8F;
  --wpc-wpcursor-dark-color-secondary: #132417;
  --color-secondary: #132417;
  --wpc-wpcursor-dark-color-secondary-hover: #4b5563;
  --color-secondary-hover: #4b5563;
  --wpc-wpcursor-dark-color-accent: #89CAFF;
  --color-accent: #89CAFF;
  --wpc-wpcursor-dark-color-accent-hover: #1d4ed8;
  --color-accent-hover: #1d4ed8;
  --wpc-wpcursor-dark-color-text: #FFFFFF;
  --color-text: #FFFFFF;
  --wpc-wpcursor-dark-color-text-muted: #9F9F9F;
  --color-text-muted: #9F9F9F;
  --wpc-wpcursor-dark-color-surface: #0B0B0B;
  --color-surface: #0B0B0B;
  --wpc-wpcursor-dark-color-background: #171717;
  --color-background: #171717;
  --wpc-wpcursor-dark-color-border: #9F9F9F;
  --color-border: #9F9F9F;
  --wpc-wpcursor-dark-font-heading: 'Hedvig Letters Serif', serif;
  --font-heading: 'Hedvig Letters Serif', serif;
  --wpc-wpcursor-dark-font-body: 'Geist', sans-serif;
  --font-body: 'Geist', sans-serif;
  --wpc-wpcursor-dark-space-xs: 5px;
  --space-xs: 5px;
  --wpc-wpcursor-dark-space-sm: 8px;
  --space-sm: 8px;
  --wpc-wpcursor-dark-space-md: 16px;
  --space-md: 16px;
  --wpc-wpcursor-dark-space-lg: 24px;
  --space-lg: 24px;
  --wpc-wpcursor-dark-space-xl: 40px;
  --space-xl: 40px;
  --wpc-wpcursor-dark-space-2xl: 60px;
  --space-2xl: 60px;
  --wpc-wpcursor-dark-radius-sm: 5px;
  --radius-sm: 5px;
  --wpc-wpcursor-dark-radius-md: 6px;
  --radius-md: 6px;
  --wpc-wpcursor-dark-radius-lg: 6px;
  --radius-lg: 6px;
  --wpc-wpcursor-dark-radius-full: 9999px;
  --radius-full: 9999px;
}

