/* Fonts (Urbanist 600/700/800, Source Sans Pro 400/600/700) are enqueued in
   functions.php -> cpai_enqueue_assets() with preconnect, replacing the old
   render-blocking @import that only loaded Urbanist 700 + Source Sans Pro 400. */

:root {
  --text: #1A1C1E;
  --background: #F4F5F6;
  --primary: #004E7C;
  --secondary: #636A73;
  --accent: #0c7a7b;

  --bg: var(--background);
  --ink: var(--text);
  --ink-strong: #15171A;        /* single near-black for primary actions (replaces the three near-blacks) */
  --muted: var(--secondary);
  --line: #e5e7eb;
  --border: #e5e7eb;            /* alias of --line for semantic clarity */
  --surface: #ffffff;
  --surface-2: #f8fafc;         /* light tint, matches the blog's --blog-card (collapses ~6 off-whites) */
  --surface-3: #eef2f6;         /* deeper tint: media placeholders (collapses ~5 off-whites) */
  --success: #0a6b3b;
  --warning: #b45309;
  --danger: #b42318;

  --maxw: 1120px;
  --gutter: 24px;
  --section-y: 72px;            /* default vertical rhythm for content sections */
  --radius: 10px;
  --shadow-1: 0 1px 2px rgba(15,23,42,0.06);
  --shadow-2: 0 4px 14px rgba(15,23,42,0.08);
  --cpai-box-radius: 8px;
  --cpai-box-radius-inner: 6px;
  --cpai-box-radius-small: 4px;
  --cpai-box-shadow: 0 2px 2px rgba(15, 23, 42, 0.04);
  --cpai-box-shadow-hover: 0 8px 22px rgba(15, 23, 42, 0.09);  /* matches blog card hover */
  --header-h: 72px;
  --logo-width: 45px;
  --logo-height: 43px;
}

/* Expanded header at page top (shrinks on scroll) */
body:not(.compact-header) {
  --header-h: 112px;
  --logo-width: 62px;
  --logo-height: 59px;
}

*, *::before, *::after { box-sizing: border-box; }

html { font-size: 100%; scroll-behavior: smooth; }
body { font-family: 'Source Sans Pro', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, sans-serif; font-weight: 400; color: var(--ink); background: var(--surface); line-height: 1.6; }
h1, h2, h3, h4, h5, h6 { font-family: 'Urbanist', ui-sans-serif, system-ui; font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; margin: 0; }
h1 { font-size: clamp(2.5rem, 1.5rem + 4.2vw, 4.210rem); }
h2 { font-size: clamp(2.0rem, 1.35rem + 2.9vw, 3.158rem); }
h3 { font-size: clamp(1.6rem, 1.25rem + 1.6vw, 2.369rem); }
h4 { font-size: clamp(1.35rem, 1.15rem + 0.9vw, 1.777rem); }
h5 { font-size: clamp(1.15rem, 1.05rem + 0.45vw, 1.333rem); }
h6 { font-size: 1.0rem; }
small { font-size: 0.750rem; }
.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;
}

.container { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); }
.stack-xl > * + * { margin-top: 40px; }
.stack-lg > * + * { margin-top: 28px; }
.stack-md > * + * { margin-top: 20px; }
.stack-sm > * + * { margin-top: 12px; }
.muted { color: var(--muted); }
.divider { height: 1px; background: var(--line); }
.eyebrow { font-size: 0.9rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }

.btn { display: inline-flex; align-items: center; gap: 10px; border: 1px solid transparent; border-radius: 999px; padding: 12px 20px; font-weight: 600; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .05s ease; }
.btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.btn.primary { background: var(--ink-strong); color: #fff; }
.btn.primary:hover { transform: translateY(-1px); background: #000; }
.btn.secondary { background: transparent; color: var(--ink); border-color: var(--line); }
.btn.secondary:hover { border-color: var(--ink); }
.btn.small { padding: 8px 14px; font-size: 0.95rem; }

/* Brand the default WooCommerce primary/"alt" buttons (shop, product, cart, checkout),
   which otherwise render in WooCommerce purple (#7f54b3). Match the unified near-black. */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .single_add_to_cart_button.button,
.woocommerce #place_order {
  background: var(--ink-strong);
  border-color: var(--ink-strong);
  color: #fff;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce .single_add_to_cart_button.button:hover,
.woocommerce #place_order:hover {
  background: #000;
  border-color: #000;
  color: #fff;
}
.btn.pill-cta {
  background: var(--ink-strong);
  border-color: var(--ink-strong);
  color: #fff;
  padding: 10px 22px;
  font-size: 0.95rem;
  letter-spacing: -0.01em;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.1);
}
.btn.pill-cta:hover {
  background: #000;
}
.btn.pill-cta .icon-circle {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #fff;
  color: var(--ink-strong);
  font-size: 0.85rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Floating pill-style header inspired by the reference UI */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: transparent;
  padding: 18px 0 26px;
  font-family: 'Urbanist', ui-sans-serif, system-ui;
}
body.compact-header .site-header {
  padding: 10px 0 16px;
  box-shadow: none;
}
body.home:not(.compact-header) .site-header {
  background-color: var(--surface);
  background-size: 40px 40px;
  background-image:
    linear-gradient(to right, rgba(99,106,115,0.11) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(99,106,115,0.11) 1px, transparent 1px);
}
.site-header .header-shell {
  max-width: min(1280px, calc(100% - 32px));
  margin: 0 auto;
  padding: 0;
}
.site-header .header-pill {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  border-radius: 999px;
  padding: 14px 20px;
  border: 1px solid rgba(15,23,42,0.08);
  box-shadow: 0 24px 60px rgba(15,23,42,0.12);
  transition: padding .25s ease, box-shadow .25s ease, border-radius .25s ease;
  position: relative;
}
body:not(.compact-header) .site-header .header-pill {
  padding: 20px 32px;
}
body.compact-header .site-header .header-pill {
  border-radius: 24px;
  box-shadow: 0 14px 32px rgba(15,23,42,0.16);
}
.site-header .header-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  flex: 1;
  box-sizing: border-box;
}
.site-header .brand {
  flex-shrink: 0;
  margin-right: 8px;
}
.site-header .header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,0.08);
  background: #fff;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}
.menu-toggle:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.menu-toggle .menu-icon,
.menu-toggle .menu-icon::before,
.menu-toggle .menu-icon::after {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--ink-strong);
  border-radius: 999px;
  transition: transform .2s ease, opacity .2s ease;
  content: '';
}
.menu-toggle .menu-icon {
  position: relative;
}
.menu-toggle .menu-icon::before {
  position: absolute;
  top: -6px;
  left: 0;
}
.menu-toggle .menu-icon::after {
  position: absolute;
  bottom: -6px;
  left: 0;
}
body.menu-open .menu-toggle .menu-icon {
  background: transparent;
}
body.menu-open .menu-toggle .menu-icon::before {
  transform: translateY(6px) rotate(45deg);
}
body.menu-open .menu-toggle .menu-icon::after {
  transform: translateY(-6px) rotate(-45deg);
}
@media (max-width: 900px) {
  .menu-toggle { display: inline-flex; margin-left: auto; }
  .site-header .header-pill { flex-wrap: wrap; border-radius: 28px; }
  .site-header .header-menu {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 12px 0;
    border-top: 1px solid rgba(15,23,42,0.08);
    justify-content: flex-start;
    width: 100%;
  }
  body.menu-open .site-header .header-menu {
    display: flex;
  }
  .site-header .header-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .site-header .header-actions .btn {
    width: 100%;
    justify-content: center;
  }
  body.menu-open .nav {
    display: flex;
    width: 100%;
    flex: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}
@media (max-width: 600px) {
  .site-header .header-shell {
    padding: 0 18px;
  }
  .site-header .header-pill {
    padding: 12px 18px;
  }
  body:not(.compact-header) .site-header .header-pill {
    padding: 16px 22px;
  }
}
.brand { display: inline-flex; align-items: center; text-decoration: none; color: inherit; }
.brand img { width: var(--logo-width); height: var(--logo-height); object-fit: contain; transition: width .2s ease, height .2s ease; }
.brand-wordmark {
  display: inline-flex;
  align-items: center;
  margin-left: 10px;
  font-family: 'Urbanist', ui-sans-serif, system-ui;
  font-weight: 700;
  color: var(--ink);
}
.brand-wordmark-full {
  display: none;
  font-size: 0.95rem;
  line-height: 1.12;
  letter-spacing: -0.01em;
}
.brand-wordmark-short {
  display: inline;
  font-size: 1.2rem;
  letter-spacing: 0.01em;
}
/* Large (expanded) header on desktop shows the full three-line name; compact/mobile shows "CPAI". */
@media (min-width: 901px) {
  body:not(.compact-header) .brand-wordmark-full { display: block; }
  body:not(.compact-header) .brand-wordmark-short { display: none; }
}
.nav { display: none; gap: 26px; align-items: center; font-weight: 600; }
.nav-menu { display: flex; align-items: center; gap: inherit; list-style: none; margin: 0; padding: 0; }
.nav-menu li { margin: 0; padding: 0; }
.nav a { color: var(--muted); text-decoration: none; padding: 10px 0; border-bottom: 2px solid transparent; transition: color .2s ease, border-color .2s ease; }
.nav a:hover { color: var(--ink); }
.nav a.active { color: var(--ink); border-color: var(--ink); }
@media (min-width: 900px) {
  .nav { display: flex; flex: 1; justify-content: center; }
}
@media (max-width: 900px) {
  body.menu-open .nav {
    display: flex;
    width: 100%;
    flex: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  body.menu-open .nav-menu {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}

/* Language switch */
.lang-switch {
  display: none;
  gap: 4px;
  align-items: center;
  padding: 4px;
  background: rgba(15,23,42,0.04);
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,0.08);
}
.lang-switch .chip {
  border: 0;
  background: transparent;
  color: var(--muted);
  border-radius: 999px;
  padding: 4px 12px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.lang-switch a.chip:hover,
.lang-switch a.chip:focus,
.lang-switch a.chip:active {
  text-decoration: none;
}
.lang-switch .chip.active {
  background: var(--ink-strong);
  color: #fff;
}
@media (min-width: 900px) {
  .lang-switch { display: flex; }
}
@media (max-width: 900px) {
  body.menu-open .lang-switch { display: flex; }
}

/* Header tools */
.cpai-header-tools {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.cpai-header-icon-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--ink-strong);
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .05s ease;
}

.cpai-header-icon-button:hover,
.cpai-header-icon-button:focus-visible,
.cpai-header-icon-button[aria-expanded="true"] {
  background: rgba(15, 23, 42, 0.06);
  border-color: rgba(15, 23, 42, 0.08);
  color: var(--ink);
}

.cpai-header-icon-button:focus-visible,
.cpai-header-search-form:focus-within,
.cpai-header-search-submit:focus-visible,
.cpai-header-search-cancel:focus-visible,
.cpai-drawer-close:focus-visible,
.cpai-header-login-form input:focus {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.cpai-header-action-icon {
  display: block;
  width: 23px;
  height: 23px;
}

.cpai-header-cart-action-fragment {
  display: inline-flex;
}

.cpai-header-cart-count {
  position: absolute;
  top: 3px;
  right: 1px;
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-family: 'Source Sans Pro', system-ui, sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 17px;
  text-align: center;
}

.cpai-header-search-panel[hidden] {
  display: none !important;
}

.cpai-header-search-panel {
  position: fixed;
  top: var(--cpai-header-panel-top, var(--header-h));
  right: auto;
  left: 50%;
  z-index: 51;
  width: min(1280px, calc(100% - 32px));
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-top-color: rgba(15, 23, 42, 0.08);
  border-bottom: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 0 0 24px 24px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 18px 42px rgba(15, 23, 42, 0.1);
  padding: 0;
  opacity: 0;
  pointer-events: none;
  scroll-margin-top: 0;
  transform: translate(-50%, -10px);
  transition: opacity .2s ease, transform .2s ease;
}

.cpai-header-search-panel.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.cpai-header-search-panel-shell {
  display: flex;
  align-items: center;
  gap: 16px;
  width: min(720px, calc(100% - 48px));
  min-height: 78px;
  margin: 0 auto;
  padding: 12px 0 16px;
}

.cpai-header-search-form {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  width: 100%;
  height: 50px;
  min-width: 0;
  padding: 0 18px 0 14px;
  border: 1px solid rgba(15, 23, 42, 0.18);
  border-radius: 6px;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.cpai-header-search-form:focus-within {
  border-color: rgba(0, 78, 124, 0.42);
  box-shadow: 0 0 0 3px rgba(12, 122, 123, 0.14);
}

.cpai-header-search-form input {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  height: 100%;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: 700 1rem/1.2 'Source Sans Pro', system-ui, sans-serif;
  letter-spacing: 0;
}

.cpai-header-search-form input:focus {
  outline: 0;
}

.cpai-header-search-form input::placeholder {
  color: var(--muted);
  opacity: 1;
}

.cpai-header-search-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  margin-right: 6px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}

.cpai-header-search-submit .cpai-header-action-icon {
  width: 20px;
  height: 20px;
}

.cpai-header-search-cancel {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 0 2px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--ink-strong);
  font: 700 0.94rem/1 'Source Sans Pro', system-ui, sans-serif;
  cursor: pointer;
}

.cpai-header-search-cancel:hover,
.cpai-header-search-cancel:focus-visible {
  color: var(--primary);
}

body.cpai-header-panel-open {
  overflow: hidden;
}

@media (min-width: 901px) {
  body.cpai-header-search-open .site-header .header-pill {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
}

.cpai-header-panel-backdrop {
  position: fixed;
  inset: 0;
  z-index: 110;
  background: rgba(15, 23, 42, 0.38);
  opacity: 0;
  transition: opacity .22s ease;
}

.cpai-header-panel-backdrop[hidden] {
  display: none !important;
}

.cpai-header-panel-backdrop.is-open {
  opacity: 1;
}

.cpai-header-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 120;
  width: min(430px, calc(100% - 22px));
  height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  background: var(--surface);
  border-left: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: -24px 0 70px rgba(15, 23, 42, 0.18);
  transform: translateX(100%);
  transition: transform .24s ease;
}

.cpai-header-drawer[hidden] {
  display: none !important;
}

.cpai-header-drawer.is-open {
  transform: translateX(0);
}

.cpai-drawer-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 28px 28px 22px;
  border-bottom: 1px solid var(--line);
}

.cpai-drawer-kicker {
  margin: 0 0 7px;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cpai-drawer-header h2 {
  margin: 0;
  color: var(--ink);
  font-size: 1.55rem;
  letter-spacing: 0;
}

.cpai-drawer-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
}

.cpai-drawer-close .cpai-header-action-icon,
.cpai-mini-cart-remove .cpai-header-action-icon {
  width: 18px;
  height: 18px;
}

.cpai-drawer-body {
  min-height: 0;
  overflow-y: auto;
  padding: 26px 28px 32px;
}

.cpai-drawer-text {
  margin: 0 0 20px;
  color: var(--muted);
  line-height: 1.55;
}

.cpai-header-login-form {
  display: grid;
  gap: 16px;
}

.cpai-header-login-form p {
  margin: 0;
}

.cpai-header-login-form label:not(.cpai-header-login-remember) {
  display: block;
  margin: 0 0 7px;
  color: var(--ink);
  font-weight: 700;
  line-height: 1.25;
}

.cpai-header-login-form input[type="text"],
.cpai-header-login-form input[type="password"] {
  width: 100%;
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.cpai-header-login-remember {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-weight: 600;
}

.cpai-header-login-remember input {
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
}

.cpai-drawer-wide-action {
  width: 100%;
  justify-content: center;
}

.cpai-account-drawer-links {
  display: grid;
  gap: 10px;
  margin: 18px 0;
}

.cpai-account-drawer-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  font-weight: 700;
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease;
}

.cpai-account-drawer-links a:hover,
.cpai-account-drawer-links a:focus-visible {
  background: #f7f9fb;
  border-color: rgba(0, 78, 124, 0.22);
}

.cpai-account-drawer-links--secondary {
  margin-top: 18px;
}

.cpai-account-drawer-links--secondary a {
  min-height: auto;
  padding: 0;
  border: 0;
  color: var(--primary);
  justify-content: flex-start;
}

.cpai-mini-cart-empty {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 8px 0;
}

.cpai-mini-cart-empty h3 {
  margin: 0;
  font-size: 1.25rem;
  letter-spacing: 0;
}

.cpai-mini-cart-empty p {
  margin: 0;
  color: var(--muted);
}

.cpai-mini-cart-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cpai-mini-cart-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 34px;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.cpai-mini-cart-thumb img {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7f9fb;
}

.cpai-mini-cart-details {
  min-width: 0;
}

.cpai-mini-cart-title {
  display: block;
  color: var(--ink);
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

.cpai-mini-cart-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 7px;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.35;
}

.cpai-mini-cart-meta .amount,
.cpai-mini-cart-subtotal .amount {
  color: var(--ink);
  font-weight: 800;
}

.cpai-mini-cart-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: #b42318 !important;
  text-decoration: none;
}

.cpai-mini-cart-subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 18px 0 0;
  padding-top: 18px;
  color: var(--ink);
}

.cpai-mini-cart-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 18px;
}

.cpai-mini-cart-actions .btn {
  justify-content: center;
  padding-inline: 14px;
}

@media (max-width: 900px) {
  .cpai-header-tools {
    width: 100%;
    flex-wrap: wrap;
  }

  .cpai-header-search-panel {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 120;
    width: auto;
    min-height: 100vh;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    box-shadow: -24px 0 70px rgba(15, 23, 42, 0.18);
    opacity: 1;
    transform: translateX(100%);
    transition: transform .24s ease;
  }

  .cpai-header-search-panel.is-open {
    transform: translateX(0);
  }

  .cpai-header-search-panel-shell {
    align-items: stretch;
    justify-content: flex-start;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    min-height: 100vh;
    padding: 28px 22px 32px;
  }

  .cpai-header-search-form {
    flex: 0 0 auto;
    height: 56px;
  }

  .cpai-header-search-cancel {
    align-self: flex-end;
    order: -1;
    padding-inline: 4px;
  }
}

@media (max-width: 520px) {
  .cpai-header-drawer {
    width: 100%;
  }

  .cpai-drawer-header,
  .cpai-drawer-body {
    padding-inline: 22px;
  }

  .cpai-mini-cart-actions {
    grid-template-columns: 1fr;
  }
}

.woocommerce-message:has(.cpai-cart-confirmation-source) {
  display: none !important;
}

.cpai-cart-confirmation-source {
  display: none !important;
}

body.cpai-cart-confirmation-open {
  overflow: hidden;
}

.cpai-cart-confirmation[hidden] {
  display: none !important;
}

.cpai-cart-confirmation {
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: grid;
  align-items: center;
  justify-items: center;
  padding: 24px;
  pointer-events: none;
}

body.cpai-cart-confirmation-open .cpai-event-mobile-cta {
  display: none !important;
}

.cpai-cart-confirmation__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.44);
  opacity: 0;
  transition: opacity .18s ease;
}

.cpai-cart-confirmation__panel {
  position: relative;
  z-index: 1;
  width: min(600px, 100%);
  max-height: min(720px, calc(100vh - 48px));
  overflow-y: auto;
  padding: 26px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: var(--cpai-box-radius);
  background: var(--surface);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.2);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: auto;
}

.cpai-cart-confirmation.is-open .cpai-cart-confirmation__backdrop {
  opacity: 1;
}

.cpai-cart-confirmation.is-open .cpai-cart-confirmation__panel {
  opacity: 1;
  transform: translateY(0);
}

.cpai-cart-confirmation__panel:focus {
  outline: 0;
}

.cpai-cart-confirmation__header {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 40px;
  gap: 14px;
  align-items: start;
}

.cpai-cart-confirmation__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(12, 122, 123, 0.24);
  border-radius: 999px;
  background: rgba(12, 122, 123, 0.1);
  color: var(--accent);
}

.cpai-cart-confirmation__heading {
  min-width: 0;
}

.cpai-cart-confirmation__heading p {
  margin: 1px 0 6px;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cpai-cart-confirmation__heading h2 {
  margin: 0;
  color: var(--ink);
  font-size: 1.65rem;
  letter-spacing: 0;
  line-height: 1.08;
}

.cpai-cart-confirmation__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
}

.cpai-cart-confirmation__close:hover,
.cpai-cart-confirmation__close:focus-visible {
  border-color: rgba(0, 78, 124, 0.28);
  background: #f7f9fb;
}

.cpai-cart-confirmation__close:focus-visible,
.cpai-cart-confirmation__continue:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.cpai-cart-confirmation__close .cpai-header-action-icon {
  width: 18px;
  height: 18px;
}

.cpai-cart-confirmation__lead,
.cpai-cart-confirmation__note {
  margin: 16px 0 0;
  color: var(--muted);
  line-height: 1.5;
}

.cpai-cart-confirmation__product {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 22px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--cpai-box-radius);
  background: var(--surface-2);
}

.cpai-cart-confirmation__thumb {
  display: block;
  width: 88px;
  height: 88px;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: var(--cpai-box-radius-inner);
  background: #eef2f6;
  text-decoration: none;
}

.cpai-cart-confirmation__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cpai-cart-confirmation__details {
  min-width: 0;
}

.cpai-cart-confirmation__product-title {
  display: block;
  color: var(--ink);
  font-weight: 800;
  line-height: 1.22;
  text-decoration: none;
}

.cpai-cart-confirmation__product-title:hover,
.cpai-cart-confirmation__product-title:focus-visible {
  color: var(--primary);
}

.cpai-cart-confirmation__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 9px;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.35;
}

.cpai-cart-confirmation__meta strong,
.cpai-cart-confirmation__meta .amount {
  color: var(--ink);
  font-weight: 800;
}

.cpai-cart-confirmation__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--ink);
  font-weight: 800;
}

.cpai-cart-confirmation__summary strong {
  text-align: right;
}

.cpai-cart-confirmation__summary .amount {
  color: var(--ink);
  font-weight: 900;
}

.cpai-cart-confirmation__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 22px;
}

.cpai-cart-confirmation__actions .btn {
  justify-content: center;
  min-width: 0;
  min-height: 48px;
  padding-inline: 16px;
  text-align: center;
  white-space: normal;
}

.cpai-cart-confirmation__checkout {
  grid-column: 1 / -1;
}

.cpai-cart-confirmation__continue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 12px;
  border: 0;
  border-radius: var(--cpai-box-radius-inner);
  background: transparent;
  color: var(--primary);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.cpai-cart-confirmation__continue:hover,
.cpai-cart-confirmation__continue:focus-visible {
  background: rgba(0, 78, 124, 0.07);
}

@media (max-width: 640px) {
  .cpai-cart-confirmation {
    align-items: end;
    padding: 14px 10px 0;
  }

  .cpai-cart-confirmation__panel {
    width: 100%;
    max-height: calc(100vh - 18px);
    padding: 22px 18px max(22px, env(safe-area-inset-bottom));
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    transform: translateY(100%);
  }

  .cpai-cart-confirmation__header {
    grid-template-columns: 40px minmax(0, 1fr) 38px;
    gap: 12px;
  }

  .cpai-cart-confirmation__status,
  .cpai-cart-confirmation__close {
    width: 38px;
    height: 38px;
  }

  .cpai-cart-confirmation__heading h2 {
    font-size: 1.45rem;
  }

  .cpai-cart-confirmation__product {
    grid-template-columns: 76px minmax(0, 1fr);
    padding: 12px;
  }

  .cpai-cart-confirmation__thumb {
    width: 76px;
    height: 76px;
  }

  .cpai-cart-confirmation__actions {
    grid-template-columns: 1fr;
  }

  .cpai-cart-confirmation__checkout {
    grid-column: auto;
  }
}

/* Global search */
.cpai-global-search {
  background: var(--surface);
}

.cpai-global-search-hero {
  padding: 76px 0 42px;
  background: #f7f9fb;
  border-bottom: 1px solid var(--line);
}

.cpai-global-search-hero-inner {
  display: grid;
  gap: 16px;
}

.cpai-global-search h1 {
  max-width: min(860px, 100%);
  color: var(--ink);
  font-size: clamp(2.15rem, 4vw, 3.35rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.cpai-global-search-count {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.cpai-global-search-form {
  display: flex;
  gap: 10px;
  width: min(620px, 100%);
  margin-top: 8px;
}

.cpai-global-search-form input {
  flex: 1;
  min-width: 0;
  min-height: 50px;
  padding: 12px 16px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.cpai-global-search-form button {
  min-height: 50px;
  padding: 0 18px;
  border: 1px solid var(--primary);
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.cpai-global-search-results {
  padding: 46px 0 78px;
}

.cpai-global-search-toolbar {
  display: grid;
  gap: 18px;
  margin-bottom: 22px;
}

.cpai-global-search-toolbar-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
}

.cpai-global-search-active-count {
  margin: 0;
  color: var(--muted);
  font-weight: 800;
}

.cpai-global-search-tabs {
  display: flex;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--line);
  scrollbar-width: thin;
}

.cpai-global-search-tab {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 9px 13px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-weight: 800;
  line-height: 1.15;
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.cpai-global-search-tab:hover,
.cpai-global-search-tab:focus-visible {
  border-color: rgba(0, 78, 124, 0.26);
  color: var(--primary);
}

.cpai-global-search-tab:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.cpai-global-search-tab.is-active {
  background: var(--ink-strong);
  border-color: var(--ink-strong);
  color: #fff;
}

.cpai-global-search-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.07);
  color: inherit;
  font-size: 0.78rem;
  line-height: 1;
}

.cpai-global-search-tab.is-active .cpai-global-search-tab-count {
  background: rgba(255, 255, 255, 0.18);
}

.cpai-global-search-list {
  display: grid;
  gap: 12px;
  max-width: 920px;
}

.cpai-global-search-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--cpai-box-radius);
  background: var(--surface);
  box-shadow: var(--cpai-box-shadow);
}

.cpai-global-search-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
}

.cpai-global-search-card h3 {
  margin: 0;
  font-size: 1.22rem;
  letter-spacing: 0;
  line-height: 1.25;
}

.cpai-global-search-card h3 a {
  color: var(--ink);
  text-decoration: none;
}

.cpai-global-search-card h3 a:hover,
.cpai-global-search-card h3 a:focus-visible {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cpai-global-search-card p {
  margin: 12px 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.cpai-global-search-empty {
  max-width: 620px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--cpai-box-radius);
  background: var(--surface);
  box-shadow: var(--cpai-box-shadow);
}

.cpai-global-search-empty h2 {
  margin: 0;
  font-size: 1.55rem;
  letter-spacing: 0;
}

.cpai-global-search-empty p {
  margin: 12px 0 18px;
  color: var(--muted);
}

@media (max-width: 760px) {
  .cpai-global-search-hero {
    padding: 52px 0 34px;
  }

  .cpai-global-search-form {
    display: grid;
  }

  .cpai-global-search-tabs {
    margin-inline: calc(var(--gutter) * -1);
    padding-inline: var(--gutter);
  }

  .cpai-global-search-tab {
    min-height: 42px;
    padding-inline: 12px;
  }
}

.hero { padding: 120px 0 80px; text-align: center; }
.hero h1 { max-width: min(20ch, 100%); margin: 0 auto; overflow-wrap: break-word; }
.hero p { font-size: 1.25rem; max-width: min(70ch, 100%); color: var(--muted); margin: 12px auto 0; }
.hero .actions { margin-top: 18px; }

.cpai-home-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(46px, 5vw, 56px) 0 clamp(40px, 4vw, 48px);
  text-align: left;
  background: var(--surface);
  border-bottom: 1px solid rgba(15,23,42,0.08);
}
.cpai-home-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background-size: 40px 40px;
  background-image:
    linear-gradient(to right, rgba(99,106,115,0.11) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(99,106,115,0.11) 1px, transparent 1px);
}
.cpai-home-hero__grid {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
  gap: clamp(36px, 6vw, 78px);
  align-items: center;
}
.cpai-home-hero__content {
  max-width: 650px;
}
.cpai-home-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  padding: 5px 13px;
  margin-bottom: 26px;
  color: var(--ink);
  background: color-mix(in srgb, var(--primary) 9%, var(--surface));
  border: 1px solid #c9d8ee;
  border-radius: 4px;
  font-family: 'Urbanist', ui-sans-serif, system-ui;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}
.cpai-home-hero__badge-icon,
.cpai-home-hero__check {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--accent);
}
.cpai-home-hero__badge-icon::after,
.cpai-home-hero__check::after {
  content: '';
  width: 8px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg) translate(1px, -1px);
}
.cpai-home-hero h1 {
  max-width: 16ch;
  margin: 0;
  color: var(--ink);
  font-size: clamp(2.35rem, 4.4vw, 3.5rem);
  line-height: 1.08;
  letter-spacing: 0;
  text-wrap: balance;
}
.cpai-home-hero p {
  max-width: 36rem;
  margin: 24px 0 0;
  color: var(--ink);
  font-size: clamp(1.08rem, 1.4vw, 1.23rem);
  line-height: 1.58;
}
.cpai-home-hero .actions {
  margin-top: 34px;
}
/* Hero primary now inherits the standard near-black .btn.primary (no override needed). */
.cpai-home-hero__media {
  min-width: 0;
}
.cpai-home-hero__image-wrap {
  position: relative;
  height: clamp(330px, 32vw, 430px);
  margin: 0;
  overflow: hidden;
  background: #dbe5ed;
  border: 1px solid rgba(15,23,42,0.14);
  border-radius: var(--cpai-box-radius);
  box-shadow: var(--cpai-box-shadow);
}
.cpai-home-hero__image-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cpai-home-hero__status {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  display: block;
  padding: 18px;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(15,23,42,0.1);
  border-radius: var(--cpai-box-radius-inner);
  box-shadow: var(--cpai-box-shadow);
  backdrop-filter: blur(10px);
}
.cpai-home-hero__status-heading,
.cpai-home-hero__status-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  font-family: 'Urbanist', ui-sans-serif, system-ui;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}
.cpai-home-hero__status-heading {
  justify-content: flex-start;
  color: var(--ink);
}
.cpai-home-hero__status-heading span:last-child,
.cpai-home-hero__status-meta span {
  min-width: 0;
}
.cpai-home-hero__check {
  width: 20px;
  height: 20px;
}
.cpai-home-hero__bar {
  display: block;
  height: 8px;
  margin: 14px 0 10px;
  overflow: hidden;
  background: #dbe8f7;
  border-radius: 999px;
}
.cpai-home-hero__bar span {
  display: block;
  width: 94%;
  height: 100%;
  background: var(--accent);
  transform-origin: left center;
  animation: cpai-bar-fill 1.3s cubic-bezier(0.2, 0.6, 0.2, 1) 0.25s both;
}
@keyframes cpai-bar-fill {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
  .cpai-home-hero__bar span { animation: none; transform: none; }
}
.cpai-home-hero__status-meta {
  color: var(--muted);
  letter-spacing: 0.04em;
  text-transform: none;
}
.cpai-home-hero__status-meta strong {
  color: var(--accent);
}

@media (max-width: 640px) {
  :root {
    --gutter: 20px;
  }

  body:not(.compact-header) {
    --header-h: 92px;
    --logo-width: 54px;
    --logo-height: 51px;
  }

  .site-header {
    padding: 12px 0 14px;
  }

  .site-header .header-shell {
    padding: 0 16px;
  }

  .site-header .header-pill {
    padding: 12px 16px;
    gap: 14px;
  }

  body:not(.compact-header) .site-header .header-pill {
    padding: 14px 18px;
  }

  .hero {
    padding: 64px 0 44px;
    text-align: center;
    overflow-x: clip;
  }

  .hero .container {
    width: 100%;
    max-width: 100%;
    padding-inline: 20px;
  }

  .hero .stack-lg > * + * {
    margin-top: 18px;
  }

  .hero .eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    line-height: 1.45;
    padding-inline: 4px;
    overflow-wrap: anywhere;
  }

  .hero h1 {
    font-size: clamp(1.65rem, 7.8vw, 2.35rem);
    line-height: 1.12;
    max-width: 100%;
    width: 100%;
    margin-inline: auto;
    text-wrap: balance;
  }

  .hero p {
    font-size: 1.05rem;
    line-height: 1.55;
    max-width: 100%;
    margin-top: 10px;
    padding-inline: 2px;
  }

  .hero .actions {
    margin-top: 14px;
  }

  .hero .actions .btn {
    width: 100%;
    max-width: 320px;
    justify-content: center;
  }

  .cpai-home-hero {
    padding: 38px 0 36px;
    text-align: left;
  }

  .cpai-home-hero__grid {
    width: min(100% - 32px, 1200px);
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .cpai-home-hero__content {
    max-width: none;
  }

  .cpai-home-hero__badge {
    margin-bottom: 20px;
    font-size: 0.7rem;
  }

  .cpai-home-hero h1 {
    max-width: 100%;
    font-size: clamp(1.95rem, 9.4vw, 2.35rem);
    line-height: 1.08;
  }

  .cpai-home-hero p {
    max-width: 100%;
    margin-top: 18px;
    font-size: 1.04rem;
    line-height: 1.55;
  }

  .cpai-home-hero .actions {
    margin-top: 24px;
  }

  .cpai-home-hero__image-wrap {
    height: 320px;
  }

  .cpai-home-hero__status {
    left: 14px;
    right: 14px;
    bottom: 14px;
    padding: 14px;
  }

  .cpai-home-hero__status-heading,
  .cpai-home-hero__status-meta {
    font-size: 0.7rem;
    gap: 10px;
  }

  body.home section {
    padding: 48px 0;
    scroll-margin-top: 84px;
  }

  body.home .cpai-home-hero {
    padding: 38px 0 36px;
  }

  body.home main h2 {
    font-size: clamp(1.55rem, 6.2vw, 2.15rem);
    line-height: 1.18;
  }

  body.home main h3 {
    font-size: clamp(1.2rem, 4.8vw, 1.55rem);
    line-height: 1.25;
  }

  body.home .stack-lg > * + * {
    margin-top: 22px;
  }

  body.home .stack-xl > * + * {
    margin-top: 28px;
  }

  #trust {
    padding: 40px 0;
  }

  #hub-preview .hub-preview-feature h3,
  .hub-preview-feature h3 {
    font-size: 1.35rem;
  }

  .barriers-preview-cta {
    justify-content: stretch;
    margin-top: 28px;
  }

  .barriers-preview-cta .btn,
  .barriers-preview-link {
    width: 100%;
    max-width: none;
    justify-content: center;
  }
}

/* About page specific responsive adjustments */
.about-page .team-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  text-align: center;
}
.about-page .team-card.stack-md > * + * {
  margin-top: 12px;
}
.about-page .team-card h4 {
  margin-bottom: 4px;
}
.about-page .team-card .muted {
  margin-top: 0;
}
@media (max-width: 900px) {
  .about-page .hero {
    padding: clamp(90px, 18vw, 140px) 0 clamp(54px, 12vw, 96px);
  }
  .about-page .hero h1 {
    font-size: clamp(2.15rem, 7vw, 3.4rem);
  }
  .about-page .hero p {
    font-size: clamp(1.05rem, 4vw, 1.25rem);
  }
  .about-page .hero .actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
  }
  .about-page .grid.cols-3,
  .about-page .grid.cols-2 {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  }
  .about-page .team-card {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 14px 18px;
    text-align: left;
    align-items: flex-start;
  }
  .about-page .team-card.stack-md > * + * {
    margin-top: 0;
  }
  .about-page .team-card > img {
    margin: 0;
    justify-self: center;
    grid-row: span 3;
  }
  .about-page .team-card .btn,
  .about-page .team-card .linkedin-icon-link {
    justify-self: flex-start;
  }
}
@media (max-width: 640px) {
  .about-page .hero .actions .btn {
    min-width: 100%;
    justify-content: center;
  }
  .about-page .team-card {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 16px;
  }
  .about-page .team-card > img {
    grid-row: auto;
  }
  .about-page .team-card .btn,
  .about-page .team-card .linkedin-icon-link {
    justify-self: center;
    width: auto;
    margin: 0 auto;
    justify-content: center;
    text-align: center;
  }
}

.about-page .team-card .linkedin-icon-link {
  width: 32px;
  height: 32px;
  margin: auto auto 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  line-height: 1;
  text-decoration: none;
}
.about-page .team-card .linkedin-icon-svg {
  display: block;
  width: 32px;
  height: 32px;
}
.about-page .team-card .linkedin-icon-link:hover .linkedin-icon-svg,
.about-page .team-card .linkedin-icon-link:focus-visible .linkedin-icon-svg {
  filter: brightness(0.88);
}
.about-page .team-card .linkedin-icon-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}

.grid { display: grid; gap: 20px; }
.grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* Normalize About team groups to a consistent 3-up density at desktop
   (Advisory was 3-up while other groups were 2-up). Mobile collapse below is unchanged. */
@media (min-width: 901px) {
  .about-page .grid:has(.team-card) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .grid.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 820px) { .grid.cols-4, .grid.cols-3, .grid.cols-2 { grid-template-columns: 1fr; } }

/* Featured Programs grid */
.pathways-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 54px;
  align-items: stretch;
}
.pathways-grid > * { margin-top: 0 !important; }
@media (max-width: 900px) {
  .pathways-grid {
    grid-template-columns: 1fr;
    row-gap: 18px;
  }
}

#initiatives .card { height: 100%; }
#initiatives .programs-lead {
  max-width: 860px;
  margin: 0;
  color: var(--muted);
}
#initiatives .program-card h3 {
  margin: 0;
  font-size: 1.55rem;
}
#initiatives .program-status {
  margin: auto 0 0;
  padding-top: 10px;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--primary);
}

.cpai-home-latest-articles__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.cpai-home-latest-articles__head p {
  max-width: 760px;
  margin: 12px 0 0;
  color: var(--muted);
}
.cpai-home-latest-articles__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.cpai-home-article-card {
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--cpai-box-radius);
  background: var(--surface);
  box-shadow: var(--cpai-box-shadow);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.cpai-home-article-card:hover {
  border-color: rgba(0, 78, 124, 0.24);
  box-shadow: var(--cpai-box-shadow-hover);
  transform: translateY(-2px);
}
.cpai-home-article-card__link {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  color: inherit;
  text-decoration: none;
}
.cpai-home-article-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: var(--surface-3);
}
.cpai-home-article-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cpai-home-article-card__placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  background:
    linear-gradient(90deg, rgba(0, 78, 124, 0.1) 1px, transparent 1px),
    linear-gradient(0deg, rgba(42, 157, 143, 0.12) 1px, transparent 1px),
    var(--surface-3);
  background-size: 28px 28px;
  color: var(--primary);
  font-size: 2.2rem;
  font-weight: 800;
  letter-spacing: 0;
}
.cpai-home-article-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 11px;
  padding: 18px;
}
.cpai-home-article-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 10px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.35;
  text-transform: uppercase;
}
.cpai-home-article-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1.1rem;
  line-height: 1.28;
}
.cpai-home-article-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.55;
}
.cpai-home-article-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin-top: auto;
  color: var(--primary);
  font-weight: 700;
}
@media (max-width: 1100px) {
  .cpai-home-latest-articles__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .cpai-home-latest-articles__head {
    align-items: flex-start;
    flex-direction: column;
  }
  .cpai-home-latest-articles__link {
    white-space: normal;
  }
  .cpai-home-latest-articles__grid {
    grid-template-columns: 1fr;
  }
}

/* Reveal classes remain visible for legacy markup; scroll-triggered reveals are disabled. */
.reveal,
.reveal.in-view { opacity: 1; transform: none; transition: none; }

.card { border: 1px solid var(--line); border-radius: var(--cpai-box-radius); background: var(--surface); box-shadow: var(--cpai-box-shadow); padding: 20px; transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease; }
.card:hover { box-shadow: var(--cpai-box-shadow-hover); border-color: rgba(0, 78, 124, 0.18); transform: translateY(-2px); }
.stat .kicker { color: var(--muted); font-size: 0.9rem; }
.stat .value { font-size: 1.777rem; font-weight: 700; letter-spacing: -0.01em; }
.stat .value.icon { display: inline-flex; align-items: baseline; gap: 8px; }
.stat .value.icon svg { width: 18px; height: 18px; color: var(--primary); }
.stat .desc { color: var(--muted); }

section { padding: var(--section-y) 0; scroll-margin-top: 96px; }
/* Strict alternation: odd = white, even = grey */
main > section:nth-of-type(odd) { background: var(--surface); }
main > section:nth-of-type(even) { background: var(--bg); }
section + section { border-top: 1px solid var(--line); }

.clean-list { list-style: none; margin: 0; padding: 0; }
.clean-list li + li { margin-top: 12px; }

#audience {
  padding-bottom: 120px;
}
#audience .join-lead {
  max-width: 900px;
}
.join-role-grid {
  column-gap: 20px;
  row-gap: 54px;
  align-items: stretch;
}
.join-role-card {
  height: 100%;
}
.join-role-card h3 {
  margin: 0;
  font-size: 1.45rem;
}
.join-role-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}
.join-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  z-index: 2;
  margin-top: 50px;
}
@media (max-width: 820px) {
  .join-role-grid {
    row-gap: 18px;
  }
}

.event-rotator {
  display: grid;
  gap: 18px;
  overflow: hidden;
}
.event-rotator-track {
  display: flex;
  align-items: stretch;
  width: 100%;
  transition: transform .7s cubic-bezier(.2,.6,.3,1);
  will-change: transform;
}
.event-slide {
  flex: 0 0 100%;
  min-width: 100%;
}
.event-rotator-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.event-rotator-dot {
  width: 12px;
  height: 12px;
  border: 1px solid rgba(17, 24, 39, 0.18);
  border-radius: 999px;
  background: rgba(17, 24, 39, 0.14);
  padding: 0;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}
.event-rotator-dot:hover,
.event-rotator-dot:focus-visible {
  transform: scale(1.08);
}
.event-rotator-dot.is-active {
  background: var(--primary);
  border-color: var(--primary);
}
.event-feature {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 28px;
  align-items: stretch;
}
.event-media {
  position: relative;
  border-radius: var(--cpai-box-radius-inner);
  overflow: hidden;
  background: var(--surface-3);
  aspect-ratio: 16 / 10;
  min-height: 0;
}
.event-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.event-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 4px 0 0;
  justify-content: center;
}
.event-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.event-kicker {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--muted);
}
.event-title { margin: 0; font-size: 2.1rem; }
.event-desc { margin: 0; }
.event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--muted);
  font-weight: 600;
}
.event-meta-item {
  padding: 6px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  font-size: 0.85rem;
  background: var(--surface-2);
}
.event-actions { display: flex; align-items: center; gap: 12px; }
@media (max-width: 900px) {
  .event-feature {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .event-body { padding: 0 0 4px; }
}
@media (max-width: 700px) {
  .event-title { font-size: 1.45rem; }
  .event-media { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .event-rotator-track,
  .event-rotator-dot {
    transition: none;
  }
}

.news { display: grid; gap: 12px; }
.news-item { display: grid; grid-template-columns: 120px 1fr 120px; gap: 16px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line); }
.news-item:last-child { border-bottom: none; }
.tag { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 0.85rem; border: 1px solid var(--line); color: var(--muted); }
@media (max-width: 700px) { .news-item { grid-template-columns: 1fr; gap: 6px; } }

.cpai-error-page {
  background: var(--surface);
}
.cpai-404 {
  padding: 12px 0 80px;
  text-align: center;
}
.cpai-404__inner {
  max-width: 980px;
}
.cpai-404__media {
  width: min(330px, 100%);
  margin: 0 auto 20px;
}
.cpai-404__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.cpai-404__copy {
  max-width: 780px;
  margin: 0 auto;
}
.cpai-404 h1 {
  max-width: 100%;
  color: var(--ink);
  font-size: 2.35rem;
  letter-spacing: 0;
  line-height: 1.12;
  text-wrap: balance;
}
.cpai-404__message {
  max-width: 72ch;
  margin: 12px auto 0;
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.5;
}
.cpai-404__search {
  display: block;
  max-width: 560px;
  margin: 22px auto 0;
}
.cpai-404__search label {
  display: block;
  margin: 0 0 10px;
  color: var(--ink);
  font-family: 'Urbanist', ui-sans-serif, system-ui;
  font-weight: 700;
  line-height: 1.35;
}
.cpai-404__search input {
  display: block;
  width: 100%;
  min-height: 46px;
  border: 1px solid #cbd1d8;
  border-radius: var(--cpai-box-radius-inner);
  background: #fff;
  color: var(--ink);
  font: inherit;
  padding: 11px 14px;
  box-shadow: var(--cpai-box-shadow);
}
.cpai-404__search input::placeholder {
  color: var(--muted);
  opacity: 1;
}
.cpai-404__search input:focus {
  border-color: var(--accent);
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.cpai-404__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 22px;
}
@media (max-width: 700px) {
  .cpai-404 {
    padding: 32px 0 64px;
  }
  .cpai-404__media {
    width: min(320px, 100%);
    margin-bottom: 22px;
  }
  .cpai-404 h1 {
    font-size: 2rem;
  }
  .cpai-404__message {
    font-size: 1.05rem;
  }
  .cpai-404__actions .btn {
    width: 100%;
    max-width: 320px;
    justify-content: center;
  }
}

footer { border-top: 1px solid var(--line); color: var(--muted); }
.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 24px auto 0;
  max-width: 860px;
}
.footer-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
}
.footer-menu li {
  margin: 0;
  padding: 0;
}
.footer-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff 0%, var(--surface-2) 100%);
  color: var(--ink);
  text-decoration: none;
  font-weight: 600;
  box-shadow: 0 10px 24px rgba(10, 19, 34, 0.05);
  transition: transform .12s ease, border-color .2s ease, box-shadow .2s ease;
}
.footer-link:hover {
  transform: translateY(-1px);
  border-color: var(--ink);
  box-shadow: 0 14px 28px rgba(10, 19, 34, 0.08);
}
.footer-legal {
  max-width: 82ch;
  margin: 0 auto;
}
.footer-legal p {
  margin: 0 0 8px;
}
.footer-legal p:last-child {
  margin-bottom: 0;
}
.footer-legal a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.page-lang-shell {
  display: block;
}
.page-lang-panel[hidden] {
  display: none !important;
}
.page-lang-panel {
  display: block;
  animation: page-lang-fade .18s ease;
}
@keyframes page-lang-fade {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 700px) {
  .footer-link {
    min-width: 0;
    padding: 9px 12px;
  }
}

/* Thought Leaders â€” Option B: Timeline Strips */
.quotes { display: grid; gap: 16px; }
.quote-strip { position: relative; background: var(--surface); border: 1px solid var(--line); border-radius: var(--cpai-box-radius); padding: 18px 20px 18px 24px; box-shadow: var(--cpai-box-shadow); }
.quote-strip .spine { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--primary); border-top-left-radius: var(--cpai-box-radius); border-bottom-left-radius: var(--cpai-box-radius); }
.quote-strip .row { display: grid; grid-template-columns: 80px 1fr; gap: 16px; align-items: start; }
.quote-strip .avatar { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--line); }
.quote-strip blockquote { margin: 0; font-size: 1.05rem; color: var(--ink); }
.quote-strip cite { display: block; margin-top: 6px; color: var(--muted); font-style: normal; }
@media (max-width: 720px) { .quote-strip .row { grid-template-columns: 64px 1fr; } .quote-strip .avatar { width: 64px; height: 64px; } }

/* Mission background image (full-height column) */
.mission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: stretch; }
.mission-art { background: center/cover no-repeat url('../images/mission/mission-hero.jpg'); background-position: 50% 40%; border-radius: var(--cpai-box-radius); }
@media (max-width: 820px) { .mission-grid { grid-template-columns: 1fr; } .mission-art { min-height: 320px; } }
/* Trust Logo Section */
#trust { padding: 56px 0; }
#trust .eyebrow, #trust h3 { text-align: center; }
#trust h3 { margin-left: auto; margin-right: auto; font-size: 1.25rem; line-height: 1.25; }
@media (min-width: 701px) { #trust h3 { white-space: nowrap; } }
.trust-carousel {
  overflow: hidden;
  margin-top: 32px;
  /* Fade logos in/out at the edges so the marquee clip looks intentional. */
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.trust-carousel .track {
  display: flex;
  align-items: center;
  gap: 48px;
  width: max-content;
  animation: trust-scroll 28s linear infinite;
}
@keyframes trust-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.trust-carousel img {
  max-height: 44px;
  width: auto;
  opacity: 0.85;
  filter: grayscale(100%) brightness(70%) contrast(90%);
  transition: opacity .2s ease;
}
.trust-carousel img:hover { opacity: 1; }
@media (max-width: 700px) {
  .trust-carousel .track { gap: 32px; }
}

/* Pillars Section */
#what-we-do h2,
#what-we-do .what-we-do-lead {
  text-align: center;
}
#what-we-do .what-we-do-lead {
  max-width: 760px;
  margin-inline: auto;
  font-size: 1.05rem;
  color: var(--muted);
}
#what-we-do .what-we-do-grid {
  gap: 20px;
  align-items: stretch;
}
#what-we-do .card h3 {
  margin: 0;
  font-size: 1.45rem;
}
#what-we-do .card p {
  margin: 0;
  line-height: 1.65;
}
@media (max-width: 820px) {
  #what-we-do .what-we-do-grid {
    gap: 18px;
  }
}

/* AI Adoption Hub Preview */
#hub-preview h2 {
  margin: 0;
}
#hub-preview .hub-preview-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
#hub-preview .hub-preview-lead {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
}
.hub-preview-grid,
.hub-page .hub-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.95fr);
  gap: 28px;
  align-items: stretch;
}
.hub-preview-grid-single {
  grid-template-columns: minmax(0, 1fr);
}
.hub-preview-feature,
.hub-page .hub-feature-main,
.hub-page .hub-resource-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.hub-preview-feature .tag,
.hub-preview-item .tag,
.hub-page .hub-resource-card .tag,
.hub-pill {
  width: fit-content;
}
.hub-preview-feature h3,
.hub-page .hub-feature-main h2 {
  margin: 0;
  font-size: 1.9rem;
}
.hub-preview-item h3 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.35;
}
.hub-page .hub-resource-card h3 {
  margin: 0;
  font-size: 1.35rem;
}
.hub-preview-feature p,
.hub-preview-item p,
.hub-page .hub-resource-card p {
  margin: 0;
}
.hub-preview-feature {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--cpai-box-radius);
  box-shadow: var(--cpai-box-shadow);
  padding: 34px;
  justify-content: flex-start;
}
.hub-feature-link {
  display: grid;
  grid-template-rows: minmax(184px, auto) auto auto auto;
  gap: 14px;
  color: inherit;
  text-decoration: none;
}
#hub-preview .hub-preview-feature,
#hub-preview .hub-preview-list {
  height: auto;
}
#hub-preview .hub-preview-feature {
  padding: 26px;
}
.hub-preview-image {
  margin: 0;
  width: 100%;
  overflow: hidden;
  border-radius: var(--cpai-box-radius-inner);
  aspect-ratio: 16 / 10;
  min-height: 0;
  background: var(--surface-3);
}
.hub-preview-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.hub-preview-list {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--cpai-box-radius);
  box-shadow: var(--cpai-box-shadow);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.hub-preview-item {
  padding: 0;
  flex: 0 0 auto;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--cpai-box-radius-inner);
  background: #fff;
  overflow: hidden;
}
.hub-preview-item + .hub-preview-item {
  border-top: 0;
}
.hub-preview-item-link {
  min-height: 0;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  color: inherit;
  text-decoration: none;
}
.hub-preview-item-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.hub-preview-thumb {
  margin: 0;
  width: 52px;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: var(--cpai-box-radius-inner);
  border: 1px solid var(--line);
  background: var(--surface-3);
}
.hub-preview-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.hub-resource-meta {
  color: var(--muted);
  font-size: 0.95rem;
}
.hub-resource-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: var(--primary);
  text-decoration: none;
}
.hub-resource-link:hover,
.hub-resource-link:focus-visible {
  color: var(--accent);
}
.hub-pill-row,
.hub-page .hub-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.hub-pill {
  padding: 8px 12px;
  text-decoration: none;
  transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}
.hub-pill:hover,
.hub-pill:focus-visible {
  border-color: rgba(0, 78, 124, 0.24);
  color: var(--primary);
  background: rgba(0, 78, 124, 0.04);
}
.hub-section-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: var(--primary);
  text-decoration: none;
  white-space: nowrap;
}
.hub-section-link:hover,
.hub-section-link:focus-visible {
  color: var(--accent);
}

/* AI Adoption Hub Page */
.hub-page .hub-hero p {
  max-width: 780px;
}
.hub-page .hub-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.hub-page .hub-library-grid,
.hub-page .hub-checklist-grid {
  gap: 20px;
}
.hub-page .hub-library-grid > *,
.hub-page .hub-checklist-grid > * {
  height: 100%;
}
.hub-page .hub-checklist-grid h3 {
  margin: 0;
  font-size: 1.35rem;
}
.hub-page .hub-checklist-grid ul {
  margin: 0;
  padding-left: 18px;
}
.hub-page .hub-checklist-grid li + li {
  margin-top: 10px;
}
.hub-page .hub-section-note {
  margin: 0;
  color: var(--muted);
}

/* Privacy Policy */
.privacy-docs-page {
  --doc-ink: var(--ink-strong);
  --doc-muted: #5b6270;
  --doc-line: #e3e6ec;
  --doc-paper: #ffffff;
  --doc-accent: var(--accent);
  --doc-panel: var(--surface-2);
  color: var(--doc-ink);
  background: var(--doc-paper);
  line-height: 1.7;
}
.privacy-doc-shell {
  max-width: 820px;
  margin: 0 auto;
  padding: 32px 24px 96px;
  font-size: 1.02rem;
}
.privacy-doc-shell a {
  color: var(--doc-accent);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.privacy-doc-shell a:hover,
.privacy-doc-shell a:focus-visible {
  border-bottom-color: currentColor;
}
.privacy-doc-shell h1 {
  font-size: 2.4rem;
  line-height: 1.2;
  margin: 12px 0 8px;
}
.privacy-doc-shell h2 {
  font-size: 1.5rem;
  margin: 40px 0 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--doc-line);
}
.privacy-doc-shell h3 {
  font-size: 1.1rem;
  margin: 20px 0 8px;
}
.privacy-doc-shell p {
  margin: 10px 0;
}
.privacy-doc-shell ul {
  margin: 8px 0 16px 20px;
  padding: 0;
}
.privacy-doc-shell li {
  margin: 6px 0;
}
.privacy-doc-shell .doc-meta {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.78rem;
  color: var(--doc-muted);
}
.privacy-doc-shell .doc-subtitle {
  color: var(--doc-muted);
  margin-top: 0;
}
.privacy-doc-shell .doc-callout {
  background: var(--doc-panel);
  border: 1px solid var(--doc-line);
  border-radius: 8px;
  padding: 16px;
  margin: 18px 0;
}
.privacy-doc-shell .doc-callout strong {
  display: block;
  margin-bottom: 6px;
}
@media (max-width: 680px) {
  .privacy-doc-shell {
    padding-left: 20px;
    padding-right: 20px;
  }
  .privacy-doc-shell h1 {
    font-size: 2rem;
  }
}

@media (max-width: 980px) {
  #hub-preview .hub-preview-header,
  .hub-page .hub-section-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .hub-preview-grid,
  .hub-page .hub-feature-grid {
    grid-template-columns: 1fr;
  }
  .hub-preview-feature {
    padding: 24px;
  }
}
@media (max-width: 700px) {
  .hub-preview-item-link {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }
  .hub-preview-thumb {
    width: 44px;
  }
  .hub-section-link {
    white-space: normal;
  }
}

/* AI Adoption Barriers Preview */
#barriers-preview {
  padding: 72px 0;
}
#barriers-preview h2 {
  margin: 0;
}
.barriers-preview-lead {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
}
.barriers-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
.barriers-preview-grid > * {
  margin-top: 0 !important;
}
.barrier-preview-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.barrier-preview-card h3 {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.3;
}
.barrier-preview-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}
.barriers-preview-cta {
  display: flex;
  justify-content: flex-end;
  position: relative;
  z-index: 2;
  margin-top: 50px;
}
.barriers-preview-link {
  display: inline-flex;
  width: fit-content;
}

/* Detailed Barrier Cards */
.barriers-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
.barriers-detail-grid > * {
  margin-top: 0 !important;
  min-width: 0;
}
.barrier-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.barrier-card.stack-md > * + * {
  margin-top: 0;
}
.barrier-card .tag {
  width: fit-content;
  align-self: flex-start;
}
.barrier-card h3 {
  margin: 0;
  font-size: 1.45rem;
}
.barrier-card p {
  margin: 0;
}
.barrier-card-response {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.barrier-card-label {
  margin: 0 0 8px;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
}
.barriers-extra-heading {
  margin: 0;
  font-size: 1.35rem;
}
@media (max-width: 900px) {
  .barriers-preview-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .barriers-detail-grid {
    gap: 18px;
  }
  .barriers-detail-grid > * {
    max-width: 100%;
  }
  .barriers-detail-grid {
    grid-template-columns: 1fr;
  }
}

.trust-logos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 32px 48px;
  align-items: center;
  justify-items: center;
  margin-top: 32px;
}
.trust-logos-grid img {
  max-height: 44px;
  width: auto;
  opacity: 0.85;
  filter: grayscale(100%) brightness(70%) contrast(90%);
  transition: opacity .2s ease;
  will-change: transform, opacity;
  animation: orbit 12s ease-in-out infinite;
}
/* Subtle circular orbit with gentle radial breathing */
@keyframes orbit {
  0%   { transform: rotate(0deg) translate(10px) rotate(0deg); }
  25%  { transform: rotate(90deg) translate(12px) rotate(-90deg); }
  50%  { transform: rotate(180deg) translate(14px) rotate(-180deg); }
  75%  { transform: rotate(270deg) translate(12px) rotate(-270deg); }
  100% { transform: rotate(360deg) translate(10px) rotate(-360deg); }
}
/* Gentle staggering to avoid synchronous motion */
.trust-logos-grid img:nth-child(2n) { animation-duration: 13.5s; }
.trust-logos-grid img:nth-child(3n) { animation-duration: 11s; animation-direction: reverse; }
.trust-logos-grid img:nth-child(4n) { animation-delay: .6s; }
.trust-logos-grid img:nth-child(5n) { animation-delay: 1.2s; }
.trust-logos-grid img:nth-child(6n) { animation-delay: 1.8s; }
.trust-logos-grid img:hover { opacity: 1; }
@media (max-width: 700px) {
  .trust-logos-grid {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
    gap: 40px 32px;
  }
}

/* WooCommerce My Account */
body.cpai-account-page {
  background: var(--bg);
}

body.cpai-account-page #main {
  background: var(--bg);
  padding: 28px 0 96px;
}

body.cpai-account-page #main > .container {
  max-width: 1180px;
}

body.cpai-account-page article.stack-md > * + * {
  margin-top: 24px;
}

body.cpai-account-page article > h1 {
  margin: 12px 0 8px;
  max-width: 760px;
  font-size: 3.15rem;
  letter-spacing: 0;
}

body.cpai-account-page .woocommerce {
  color: var(--ink);
}

body.cpai-account-page .woocommerce a {
  color: var(--primary);
  text-underline-offset: 3px;
}

.cpai-account-shell {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.cpai-account-shell .woocommerce-MyAccount-navigation,
.cpai-account-shell .woocommerce-MyAccount-content {
  float: none;
  width: auto;
}

.cpai-account-nav {
  position: sticky;
  top: calc(var(--header-h) + 22px);
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-1);
}

.cpai-account-nav-kicker {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cpai-account-nav ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cpai-account-nav li {
  margin: 0;
}

.cpai-account-nav a {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--ink);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.cpai-account-nav a:hover,
.cpai-account-nav a:focus-visible {
  border-color: var(--line);
  background: #f7f9fb;
  color: var(--ink);
}

.cpai-account-nav a:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.cpai-account-nav .is-active a,
.cpai-account-nav a[aria-current="page"] {
  border-color: rgba(0, 78, 124, 0.14);
  background: rgba(0, 78, 124, 0.08);
  color: var(--primary);
}

.cpai-account-content {
  min-width: 0;
}

.cpai-account-dashboard,
.cpai-account-content > form,
.cpai-account-content .woocommerce-Addresses,
.cpai-account-content .woocommerce-order-details,
.cpai-account-content .woocommerce-customer-details,
body.cpai-account-auth-page .woocommerce-form-login,
body.cpai-account-auth-page .woocommerce-form-register,
body.cpai-account-page .woocommerce-ResetPassword {
  margin-top: 0;
}

.cpai-account-welcome {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-1);
}

.cpai-account-welcome h2 {
  margin: 0;
  font-size: 2rem;
  letter-spacing: 0;
}

.cpai-account-welcome p {
  max-width: 640px;
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.6;
}

.cpai-account-eyebrow {
  margin: 0 0 8px !important;
  color: var(--muted) !important;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.cpai-account-logout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink) !important;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color .2s ease, background .2s ease, transform .05s ease;
}

.cpai-account-logout:hover,
.cpai-account-logout:focus-visible {
  border-color: var(--ink);
  background: #f7f9fb;
}

.cpai-account-logout:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.cpai-account-quick-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.cpai-account-quick-link {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink) !important;
  text-decoration: none;
  box-shadow: var(--shadow-1);
  transition: border-color .2s ease, box-shadow .2s ease, transform .05s ease;
}

.cpai-account-quick-link:hover,
.cpai-account-quick-link:focus-visible {
  border-color: rgba(0, 78, 124, 0.28);
  box-shadow: var(--shadow-2);
  transform: translateY(-1px);
}

.cpai-account-quick-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.cpai-account-quick-link span {
  color: var(--primary);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cpai-account-quick-link strong {
  align-self: end;
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.35;
}

body.cpai-account-auth-page #customer_login.u-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

body.cpai-account-auth-page #customer_login .u-column1,
body.cpai-account-auth-page #customer_login .u-column2 {
  float: none;
  width: auto;
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-1);
}

body.cpai-account-auth-page .woocommerce > h2,
body.cpai-account-auth-page #customer_login h2,
.cpai-account-content h2,
.cpai-account-content h3 {
  margin: 0 0 16px;
  color: var(--ink);
  font-size: 1.45rem;
  letter-spacing: 0;
}

body.cpai-account-auth-page .woocommerce > h2 + form.login,
body.cpai-account-page .woocommerce-ResetPassword {
  max-width: 560px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-1);
}

body.cpai-account-page .woocommerce form .form-row {
  margin: 0 0 16px;
  padding: 0;
}

body.cpai-account-page .woocommerce form .form-row:last-child {
  margin-bottom: 0;
}

body.cpai-account-page .woocommerce label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 7px;
  color: var(--ink);
  font-weight: 700;
  line-height: 1.3;
}

body.cpai-account-page .woocommerce .required {
  color: var(--primary);
}

body.cpai-account-page .woocommerce input[type="text"],
body.cpai-account-page .woocommerce input[type="email"],
body.cpai-account-page .woocommerce input[type="password"],
body.cpai-account-page .woocommerce input[type="tel"],
body.cpai-account-page .woocommerce input[type="number"],
body.cpai-account-page .woocommerce input[type="url"],
body.cpai-account-page .woocommerce select,
body.cpai-account-page .woocommerce textarea,
body.cpai-account-page .woocommerce .select2-container .select2-selection--single {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  line-height: 1.35;
  padding: 11px 14px;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

body.cpai-account-page .woocommerce textarea {
  min-height: 120px;
  resize: vertical;
}

body.cpai-account-page .woocommerce input:focus,
body.cpai-account-page .woocommerce select:focus,
body.cpai-account-page .woocommerce textarea:focus,
body.cpai-account-page .woocommerce .select2-container--focus .select2-selection--single {
  border-color: var(--accent);
  outline: none;
  box-shadow: 0 0 0 3px rgba(12, 122, 123, 0.16);
}

body.cpai-account-page .woocommerce .password-input {
  display: block;
  width: 100%;
}

body.cpai-account-page .woocommerce .show-password-input {
  color: var(--muted);
}

body.cpai-account-page .woocommerce .woocommerce-form-login__rememberme,
body.cpai-account-page .woocommerce .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin: 0;
  color: var(--muted);
  font-weight: 600;
}

body.cpai-account-page .woocommerce input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--primary);
}

body.cpai-account-page .woocommerce a.button,
body.cpai-account-page .woocommerce button.button,
body.cpai-account-page .woocommerce input.button,
body.cpai-account-page .woocommerce .button,
body.cpai-account-page .woocommerce .wp-element-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  gap: 10px;
  border: 1px solid var(--primary);
  border-radius: 999px;
  background: var(--primary);
  color: #fff !important;
  padding: 10px 18px;
  font: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .05s ease;
}

body.cpai-account-page .woocommerce a.button:hover,
body.cpai-account-page .woocommerce a.button:focus-visible,
body.cpai-account-page .woocommerce button.button:hover,
body.cpai-account-page .woocommerce button.button:focus-visible,
body.cpai-account-page .woocommerce input.button:hover,
body.cpai-account-page .woocommerce input.button:focus-visible,
body.cpai-account-page .woocommerce .wp-element-button:hover,
body.cpai-account-page .woocommerce .wp-element-button:focus-visible {
  border-color: #003c60;
  background: #003c60;
  color: #fff !important;
  transform: translateY(-1px);
}

body.cpai-account-page .woocommerce a.button:focus-visible,
body.cpai-account-page .woocommerce button.button:focus-visible,
body.cpai-account-page .woocommerce input.button:focus-visible,
body.cpai-account-page .woocommerce .wp-element-button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

body.cpai-account-page .woocommerce button.button:disabled,
body.cpai-account-page .woocommerce button.button:disabled[disabled],
body.cpai-account-page .woocommerce input.button:disabled,
body.cpai-account-page .woocommerce input.button:disabled[disabled] {
  cursor: not-allowed;
  opacity: 0.55;
  transform: none;
}

body.cpai-account-page .woocommerce .lost_password {
  margin: 14px 0 0;
}

body.cpai-account-page .woocommerce .lost_password a {
  font-weight: 700;
}

body.cpai-account-page .woocommerce-message,
body.cpai-account-page .woocommerce-info,
body.cpai-account-page .woocommerce-error {
  margin: 0 0 20px;
  padding: 16px 18px 16px 46px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--primary);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--shadow-1);
  line-height: 1.55;
}

body.cpai-account-page .woocommerce-info {
  border-left-color: var(--accent);
}

body.cpai-account-page .woocommerce-error {
  border-left-color: #b42318;
  list-style: none;
}

body.cpai-account-page .woocommerce-message::before,
body.cpai-account-page .woocommerce-info::before,
body.cpai-account-page .woocommerce-error::before {
  top: 16px;
  color: var(--primary);
}

body.cpai-account-page .woocommerce-error::before {
  color: #b42318;
}

body.cpai-account-page .woocommerce table.shop_table {
  width: 100%;
  margin: 0 0 22px;
  border: 1px solid var(--line);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-1);
  overflow: hidden;
}

body.cpai-account-page .woocommerce table.shop_table th,
body.cpai-account-page .woocommerce table.shop_table td {
  padding: 16px;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  line-height: 1.45;
  vertical-align: middle;
}

body.cpai-account-page .woocommerce table.shop_table thead th {
  background: #f7f9fb;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.cpai-account-page .woocommerce table.shop_table tr:last-child td,
body.cpai-account-page .woocommerce table.shop_table tr:last-child th {
  border-bottom: 0;
}

body.cpai-account-page .woocommerce table.shop_table a {
  font-weight: 700;
}

body.cpai-account-page .woocommerce table.shop_table .woocommerce-button {
  min-height: 38px;
  padding: 8px 14px;
  font-size: 0.95rem;
}

body.cpai-account-page .woocommerce-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.cpai-account-content .woocommerce-Addresses,
.cpai-account-content .woocommerce-address-fields,
.cpai-account-content .woocommerce-EditAccountForm,
.cpai-account-content .woocommerce-form-add-payment-method {
  display: grid;
  gap: 18px;
}

.cpai-account-content .woocommerce-Addresses {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  clear: both;
}

.cpai-account-content .woocommerce-Addresses::before,
.cpai-account-content .woocommerce-Addresses::after,
.cpai-account-content .woocommerce-Address-title::before,
.cpai-account-content .woocommerce-Address-title::after {
  content: none;
  display: none;
}

.cpai-account-content .woocommerce-Address,
.cpai-account-content .woocommerce-address-fields,
.cpai-account-content .woocommerce-EditAccountForm,
.cpai-account-content .woocommerce-form-add-payment-method,
.cpai-account-content .woocommerce-order-details,
.cpai-account-content .woocommerce-customer-details {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-1);
}

.cpai-account-content .woocommerce-Addresses .woocommerce-Address {
  float: none;
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 0;
}

.cpai-account-content .woocommerce-Address-title {
  display: flex;
  gap: 12px;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}

.cpai-account-content .woocommerce-Address-title h2 {
  margin-bottom: 0;
  min-width: 0;
}

.cpai-account-content .woocommerce-Address-title .edit {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

.cpai-account-content .woocommerce-Address-title .edit:hover,
.cpai-account-content .woocommerce-Address-title .edit:focus-visible {
  border-color: var(--ink);
  background: #f7f9fb;
  color: var(--ink);
}

.cpai-account-content .woocommerce-Address-title .edit:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.cpai-account-content address {
  color: var(--muted);
  font-style: normal;
  line-height: 1.65;
}

.cpai-account-content .woocommerce-address-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 16px;
}

.cpai-account-content .woocommerce-address-fields__field-wrapper .form-row {
  float: none;
  width: auto;
  min-width: 0;
}

.cpai-account-content .woocommerce-address-fields__field-wrapper .form-row-wide {
  grid-column: 1 / -1;
}

.cpai-account-content .select2-container {
  width: 100% !important;
}

.cpai-account-content .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0;
  color: var(--ink);
  line-height: 24px;
}

.cpai-account-content .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 11px;
  right: 10px;
}

.cpai-account-content fieldset {
  margin: 24px 0 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.cpai-account-content legend {
  padding: 0 8px;
  color: var(--muted);
  font-weight: 700;
}

.cpai-account-content .woocommerce-PaymentMethods {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.cpai-account-content .woocommerce-PaymentMethod {
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.cpai-account-content .woocommerce-PaymentMethod:last-child {
  border-bottom: 0;
}

@media (max-width: 980px) {
  .cpai-account-shell {
    grid-template-columns: 1fr;
  }

  .cpai-account-nav {
    position: static;
  }

  .cpai-account-nav ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cpai-account-quick-links,
  body.cpai-account-auth-page #customer_login.u-columns,
  .cpai-account-content .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  body.cpai-account-page #main {
    padding: 14px 0 72px;
  }

  body.cpai-account-page article > h1 {
    font-size: 2.2rem;
  }

  .cpai-account-welcome {
    display: grid;
    gap: 18px;
    padding: 22px;
  }

  .cpai-account-welcome h2 {
    font-size: 1.55rem;
  }

  .cpai-account-logout {
    width: fit-content;
  }

  .cpai-account-nav ul {
    grid-template-columns: 1fr;
  }

  body.cpai-account-auth-page #customer_login .u-column1,
  body.cpai-account-auth-page #customer_login .u-column2,
  body.cpai-account-auth-page .woocommerce > h2 + form.login,
  body.cpai-account-page .woocommerce-ResetPassword,
  .cpai-account-content .woocommerce-Address,
  .cpai-account-content .woocommerce-address-fields,
  .cpai-account-content .woocommerce-EditAccountForm,
  .cpai-account-content .woocommerce-form-add-payment-method,
  .cpai-account-content .woocommerce-order-details,
  .cpai-account-content .woocommerce-customer-details {
    padding: 20px;
  }

  .cpai-account-content .woocommerce-address-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  .cpai-account-content .woocommerce-address-fields__field-wrapper .form-row {
    grid-column: 1 / -1;
  }

  body.cpai-account-page .woocommerce table.shop_table_responsive thead {
    display: none;
  }

  body.cpai-account-page .woocommerce table.shop_table_responsive tbody,
  body.cpai-account-page .woocommerce table.shop_table_responsive tr,
  body.cpai-account-page .woocommerce table.shop_table_responsive th,
  body.cpai-account-page .woocommerce table.shop_table_responsive td {
    display: block;
    width: 100%;
  }

  body.cpai-account-page .woocommerce table.shop_table_responsive tr {
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
  }

  body.cpai-account-page .woocommerce table.shop_table_responsive tr:last-child {
    border-bottom: 0;
  }

  body.cpai-account-page .woocommerce table.shop_table_responsive th,
  body.cpai-account-page .woocommerce table.shop_table_responsive td {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    border-bottom: 0;
    padding: 9px 16px;
    text-align: right !important;
  }

  body.cpai-account-page .woocommerce table.shop_table_responsive td::before,
  body.cpai-account-page .woocommerce table.shop_table_responsive th::before {
    content: attr(data-title);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: left;
    text-transform: uppercase;
  }
}

body.cpai-checkout-no-shipping .woocommerce-shipping-fields,
body.cpai-checkout-no-shipping #ship-to-different-address,
body.cpai-checkout-no-shipping .shipping_address,
body.cpai-checkout-no-shipping .woocommerce-checkout-review-order-table .shipping,
body.cpai-checkout-no-shipping .wc-block-checkout__shipping-fields,
body.cpai-checkout-no-shipping .wc-block-components-shipping-address,
body.cpai-checkout-no-shipping .wc-block-components-totals-shipping,
body.cpai-checkout-no-shipping .wc-block-components-totals-footer-item-shipping {
  display: none !important;
}

body.cpai-checkout-minimal-fields .wc-block-components-address-form__company,
body.cpai-checkout-minimal-fields .wc-block-components-address-form__country,
body.cpai-checkout-minimal-fields .wc-block-components-address-form__address_1,
body.cpai-checkout-minimal-fields .wc-block-components-address-form__address_2,
body.cpai-checkout-minimal-fields .wc-block-components-address-form__address_2-toggle,
body.cpai-checkout-minimal-fields .wc-block-components-address-form__city,
body.cpai-checkout-minimal-fields .wc-block-components-address-form__state,
body.cpai-checkout-minimal-fields .wc-block-components-address-form__postcode,
body.cpai-checkout-minimal-fields #billing_company_field,
body.cpai-checkout-minimal-fields #billing_country_field,
body.cpai-checkout-minimal-fields #billing_address_1_field,
body.cpai-checkout-minimal-fields #billing_address_2_field,
body.cpai-checkout-minimal-fields #billing_city_field,
body.cpai-checkout-minimal-fields #billing_state_field,
body.cpai-checkout-minimal-fields #billing_postcode_field {
  display: none !important;
}

body.cpai-order-virtual-or-event-only .woocommerce-customer-details .woocommerce-column--billing-address,
body.cpai-order-virtual-or-event-only .woocommerce-customer-details .woocommerce-column--billing-address address,
body.cpai-order-virtual-or-event-only .woocommerce-customer-details,
body.cpai-order-virtual-or-event-only .wc-block-order-confirmation-billing-address {
  display: none !important;
}
