/*
Theme Name: Blocksy Factory Child
Template: blocksy
Description: Client Site Factory child theme. Brand palette is applied by scripts/apply-brand.sh (lines marked @brand:*). Mirrors the proven a1-compounds/rts pattern: CSS custom properties override Blocksy surfaces; theme.json carries the block-editor palette.
Version: 1.0.0
*/

:root {
  /* @brand markers — apply-brand.sh rewrites the hex on each marked line */
  --bpc-primary:           #2E6BFF; /* @brand:primary */
  --bpc-primary-hover:     #1F4FD6; /* @brand:primary-hover */
  --bpc-foreground:        #F4F7FB; /* @brand:foreground */
  --bpc-body:              #C9D2E3; /* @brand:body */
  --bpc-background:        #070A0F; /* @brand:background */
  --bpc-card:              #0F141C; /* @brand:card */
  --bpc-border:            #3A4556; /* @brand:border */
  --bpc-background-deeper: #000000; /* @brand:background-deeper */

  --bpc-font-sans: 'DM Sans', system-ui, sans-serif;
  --bpc-font-mono: 'DM Mono', ui-monospace, monospace;
  --bpc-radius: 0.375rem;
}

/* Force the client palette onto Blocksy's surfaces (mirrors a1-compounds !important pattern) */
body {
  background: var(--bpc-background) !important;
  color: var(--bpc-foreground) !important;
  font-family: var(--bpc-font-sans);
}
a { color: var(--bpc-primary); }
a:hover { color: var(--bpc-primary-hover); }

/* Map the brand onto Blocksy's OWN palette variables. WITHOUT this, Blocksy renders buttons,
   links, breadcrumbs, the active-nav state, tags, and the add-to-cart CTA in its default accent
   #2872FA — off-brand AND only 4.31:1 on white (fails WCAG AA). apply-brand.sh fills --bpc-* above;
   these inherit it. !important is required: Blocksy emits its own :root palette inline in <head>
   AFTER this stylesheet, so only an !important custom-property declaration wins the cascade. */
:root {
  --theme-palette-color-1: var(--bpc-primary) !important;       /* links, buttons, accents, active nav */
  --theme-palette-color-2: var(--bpc-primary-hover) !important; /* hover / darker accent */
  --theme-palette-color-3: var(--bpc-foreground) !important;    /* headings, dark text */
  --theme-palette-color-4: var(--bpc-primary-hover) !important; /* secondary / meta text */
  --theme-palette-color-5: var(--bpc-border) !important;        /* borders */
  --theme-palette-color-6: var(--bpc-card) !important;          /* light surfaces */
  --theme-palette-color-8: var(--bpc-background) !important;    /* base background */
}

/* ---- Age gate: premium brand skin (one-click 21+ confirm) ---- */
.age-gate__wrapper {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: grid !important;
  place-items: center !important;
  width: 100vw !important;
  min-height: 100vh !important;
  padding: clamp(18px, 4vw, 48px) !important;
  background:
    radial-gradient(circle at 50% 22%, color-mix(in srgb, var(--bpc-primary) 24%, transparent), transparent 38%),
    linear-gradient(180deg, var(--bpc-background-deeper), var(--bpc-background)) !important;
}
.age-gate__background,
.age-gate__background-color,
.age-gate__loader {
  display: none !important;
}
.age-gate__wrapper .age-gate {
  width: min(100%, 460px) !important;
  margin: 0 auto !important;
  background: color-mix(in srgb, var(--bpc-card) 94%, #000) !important;
  border: 1px solid color-mix(in srgb, var(--bpc-primary) 42%, var(--bpc-border)) !important;
  border-radius: 8px !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .56) !important;
  padding: clamp(28px, 5vw, 44px) !important;
  text-align: center !important;
}
.age-gate__form {
  display: grid !important;
  gap: 18px !important;
  margin: 0 !important;
}
.age-gate__heading-title {
  font-family: var(--bpc-font-display) !important;
  color: var(--bpc-primary) !important;
  font-size: clamp(30px, 7vw, 44px) !important;
  line-height: .92 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}
.age-gate__subheadline {
  font-family: var(--bpc-font-sans) !important;
  color: var(--bpc-body) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  max-width: 36ch !important;
  margin: 0 auto !important;
}
.age-gate__buttons,
.age-gate__submit,
.age-gate__submit-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
}
.age-gate__button, .age-gate__submit {
  font-family: var(--bpc-font-display) !important;
  border-radius: 6px !important;
  padding: 13px 22px !important;
  min-height: 46px !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  border: 2px solid var(--bpc-primary) !important;
  cursor: pointer !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease !important;
}
.age-gate__button--yes, .age-gate__submit--yes {
  background: var(--bpc-primary) !important;
  color: #fff !important;
}
.age-gate__button--yes:hover, .age-gate__submit--yes:hover { background: var(--bpc-primary-hover) !important; border-color: var(--bpc-primary-hover) !important; }
.age-gate__button--no, .age-gate__submit--no {
  background: transparent !important;
  color: var(--bpc-primary) !important;
}
.age-gate__button--no:hover, .age-gate__submit--no:hover { background: var(--bpc-border) !important; }
.age-gate__remember-wrapper, .age-gate__remember {
  font-family: var(--bpc-font-sans) !important;
  color: var(--bpc-body) !important;
  font-size: 13px !important;
}
.age-gate__remember-wrapper input,
.age-gate__remember input {
  accent-color: var(--bpc-primary) !important;
}
.age-gate__errors { color: #b3261e; font-size: 14px; }

/* ---- CSF premium baseline homepage ---- */
body.home .entry-header,
body.home .hero-section,
body.home .page-title,
body.home h1.entry-title {
  display: none !important;
}
.csf-home {
  --csf-home-max: 1180px;
  color: var(--bpc-foreground);
}
.csf-home * { box-sizing: border-box; }
.csf-home-hero {
  width: min(var(--csf-home-max), calc(100vw - 48px));
  margin: 34px auto 58px;
  min-height: 560px;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, .96fr);
  gap: 42px;
  align-items: center;
  border-top: 1px solid var(--bpc-border);
  border-bottom: 1px solid var(--bpc-border);
  padding: clamp(44px, 6vw, 78px) 0;
}
.csf-home-eyebrow {
  margin: 0 0 14px;
  color: var(--bpc-primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.csf-home-hero h1 {
  max-width: 760px;
  margin: 0;
  color: var(--bpc-foreground);
  font-size: 72px;
  line-height: .96;
  font-weight: 850;
}
.csf-home-lead {
  max-width: 58ch;
  margin: 24px 0 0;
  color: var(--bpc-body);
  font-size: 18px;
  line-height: 1.65;
}
.csf-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 32px 0 0;
}
.csf-home-button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bpc-border);
  border-radius: 6px;
  padding: 12px 18px;
  color: var(--bpc-foreground);
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
}
.csf-home-button--primary {
  background: var(--bpc-primary);
  border-color: var(--bpc-primary);
  color: #fff;
}
.csf-home-button:hover {
  border-color: var(--bpc-primary-hover);
  color: var(--bpc-primary-hover);
}
.csf-home-button--primary:hover {
  background: var(--bpc-primary-hover);
  color: #fff;
}
.csf-home-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 34px 0 0;
}
.csf-home-stats div {
  border-top: 1px solid var(--bpc-border);
  padding-top: 14px;
}
.csf-home-stats dt {
  color: var(--bpc-foreground);
  font-size: 28px;
  font-weight: 850;
  line-height: 1;
}
.csf-home-stats dd {
  margin: 7px 0 0;
  color: var(--bpc-body);
  font-size: 13px;
}
.csf-home-hero__media {
  min-height: 440px;
  display: grid;
  place-items: center;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.52)),
    radial-gradient(circle at 50% 50%, rgba(8,167,181,.16), transparent 58%);
  border: 1px solid var(--bpc-border);
  border-radius: 8px;
  overflow: hidden;
}
.csf-home-hero__media img {
  display: block;
  max-width: min(82%, 440px);
  max-height: 430px;
  object-fit: contain;
  filter: drop-shadow(0 24px 36px rgba(23,36,58,.22));
}
.csf-hero-product-fallback {
  width: min(72%, 360px);
  aspect-ratio: 3 / 4;
  border: 1px solid var(--bpc-border);
  background: var(--bpc-card);
}
.csf-home-section,
.csf-home-proof-band,
.csf-home-final-cta {
  width: min(var(--csf-home-max), calc(100vw - 48px));
  margin: 0 auto;
}
.csf-home-section {
  padding: 54px 0 64px;
}
.csf-home-section__head {
  max-width: 760px;
  margin-bottom: 26px;
}
.csf-home-section h2,
.csf-home-proof-band h2,
.csf-home-final-cta h2 {
  margin: 0;
  color: var(--bpc-foreground);
  font-size: 44px;
  line-height: 1.06;
}
.csf-home-catalog ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.csf-home-catalog ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  min-height: 100%;
  border: 1px solid var(--bpc-border);
  border-radius: 8px;
  background: var(--bpc-card);
  padding: 16px !important;
}
.csf-home-catalog ul.products li.product img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: rgba(255,255,255,.72);
  border-radius: 6px;
}
.csf-home-catalog ul.products li.product .woocommerce-loop-product__title,
.csf-home-catalog ul.products li.product h2 {
  font-size: 28px !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}
.csf-home-proof-band {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  padding: 54px 0;
  border-top: 1px solid var(--bpc-border);
  border-bottom: 1px solid var(--bpc-border);
}
.csf-home-proof-band p,
.csf-home-final-cta p {
  color: var(--bpc-body);
  line-height: 1.65;
}
.csf-home-final-cta {
  padding: 70px 0 86px;
}
.csf-affiliates-page,
.csf-affiliate-portal-page,
.csf-page {
  width: min(920px, calc(100vw - 48px));
  margin: 54px auto 72px;
}
.csf-bigfoot {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: #111d2c;
  color: rgba(255,255,255,.78);
  padding: 46px max(24px, calc((100vw - var(--csf-home-max)) / 2)) 22px;
}
.csf-bigfoot a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
}
.csf-bigfoot a:hover { color: #fff; }
.csf-bigfoot__wrap {
  display: grid;
  grid-template-columns: minmax(280px, 1.25fr) repeat(3, minmax(150px, .75fr));
  gap: 34px;
}
.csf-bigfoot__brand p,
.csf-bigfoot__bar {
  color: rgba(255,255,255,.62);
  line-height: 1.6;
}
.csf-bigfoot__name {
  display: block;
  color: #fff;
  font-size: 22px;
  font-weight: 850;
  margin-bottom: 10px;
}
.csf-bigfoot__col {
  display: grid;
  align-content: start;
  gap: 9px;
}
.csf-bigfoot__col h4 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.csf-bigfoot__bar {
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 34px;
  padding-top: 18px;
  font-size: 13px;
}

@media (max-width: 900px) {
  .csf-home-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    width: min(var(--csf-home-max), calc(100vw - 36px));
    margin-top: 22px;
    gap: 24px;
  }
  .csf-home-hero h1 {
    font-size: 42px;
    line-height: 1;
  }
  .csf-home-section h2,
  .csf-home-proof-band h2,
  .csf-home-final-cta h2 {
    font-size: 30px;
  }
  .csf-home-hero__media {
    min-height: 280px;
  }
  .csf-home-stats,
  .csf-home-catalog ul.products,
  .csf-home-proof-band {
    grid-template-columns: 1fr;
  }
  .csf-home-section,
  .csf-home-proof-band,
  .csf-home-final-cta {
    width: min(var(--csf-home-max), calc(100vw - 36px));
  }
  .csf-home-catalog ul.products li.product .woocommerce-loop-product__title,
  .csf-home-catalog ul.products li.product h2 {
    font-size: 24px !important;
  }
  .csf-bigfoot {
    padding: 38px 22px 90px;
  }
  .csf-bigfoot__wrap {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* ---- CSF design winner home system: reusable premium port layer ---- */
body.home .ct-container-full {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.home .entry-content {
  margin-top: 0 !important;
}
body.home:has(.csf-design-home) #header.ct-header {
  display: none !important;
}
.csf-design-home {
  --csf-design-ink: #101a2a;
  --csf-design-line: rgba(20,38,58,.16);
  color: var(--csf-design-ink);
  background: #f4f8f9;
}
.csf-design-home * {
  box-sizing: border-box;
}
.csf-design-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: 760px;
  overflow: hidden;
  background:
    radial-gradient(circle at 74% 26%, rgba(8,167,181,.34), transparent 34%),
    radial-gradient(circle at 20% 88%, rgba(103,232,249,.12), transparent 34%),
    linear-gradient(135deg, #07101d 0%, #0c1c2c 44%, #123746 100%);
}
.csf-design-hero__field {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .82;
}
.csf-design-hero__field svg {
  position: absolute;
  inset: -70px -110px auto auto;
  width: 720px;
  height: 620px;
}
.csf-design-hero__field::after {
  content: "";
  position: absolute;
  inset: auto -80px -120px auto;
  width: 720px;
  height: 420px;
  background: linear-gradient(112deg, rgba(255,255,255,.12), rgba(8,167,181,.26));
  clip-path: polygon(14% 0, 100% 12%, 82% 100%, 0 86%);
}
.csf-design-nav {
  position: relative;
  z-index: 4;
  width: min(1180px, calc(100vw - 40px));
  margin: 24px auto 0;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 12px 14px 12px 20px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(7,16,29,.62);
  box-shadow: 0 22px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12);
  -webkit-backdrop-filter: blur(16px) saturate(1.12);
  backdrop-filter: blur(16px) saturate(1.12);
}
.csf-design-nav__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  text-decoration: none;
  min-width: 0;
}
.csf-design-nav__brand img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}
.csf-design-nav__word {
  display: block;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  font-weight: 850;
}
.csf-design-nav__tag {
  display: block;
  margin-top: 5px;
  color: rgba(236,247,248,.58);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .14em;
}
.csf-design-nav__links {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.csf-design-nav__links a {
  color: rgba(236,247,248,.74);
  text-decoration: none;
  font-size: 14px;
  font-weight: 760;
}
.csf-design-nav__links a:hover {
  color: #67e8f9;
}
.csf-design-nav__cta {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  border-radius: 999px;
  background: #ffffff;
  color: #07101d !important;
  text-decoration: none;
  font-size: 14px;
  font-weight: 840;
  box-shadow: 0 12px 30px rgba(16,26,42,.18);
}
.csf-design-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100vw - 48px));
  margin: 0 auto;
  min-height: 660px;
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(430px, 1.02fr);
  gap: 44px;
  align-items: center;
  padding: 72px 0 54px;
}
.csf-design-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 22px;
  padding: 8px 14px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(236,247,248,.78);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.csf-design-eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--bpc-primary);
  box-shadow: 0 0 0 4px rgba(8,167,181,.18);
}
.csf-design-title,
.csf-design-promise {
  max-width: 720px;
  margin: 0;
  color: #f8fbfc;
  font-size: 68px;
  line-height: 1.02;
  font-weight: 900;
}
.csf-design-title span,
.csf-design-promise span {
  display: block;
  color: #67e8f9;
}
.csf-design-promise span {
  color: #f8fbfc;
}
.csf-design-promise span:last-child {
  color: #67e8f9;
}
.csf-design-lead,
.csf-design-commerce-lead {
  max-width: 52ch;
  margin: 24px 0 0;
  color: rgba(236,247,248,.72);
  font-size: 17px;
  line-height: 1.68;
}
.csf-design-actions,
.csf-design-conversion-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}
.csf-design-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(103,232,249,.48);
  border-radius: 999px;
  padding: 12px 20px;
  color: #07101d !important;
  background: linear-gradient(90deg, #67e8f9 0%, #dff8fb 100%);
  text-decoration: none;
  font-size: 14px;
  font-weight: 850;
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
}
.csf-design-button--primary {
  background: #fff;
  border-color: #fff;
  box-shadow: 0 12px 34px rgba(16,26,42,.14);
  color: #07101d !important;
}
.csf-design-proof-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 26px;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.14);
}
.csf-design-proof-row span {
  color: rgba(236,247,248,.74);
  font-size: 13px;
  font-weight: 780;
}
.csf-design-stage {
  position: relative;
  min-height: 560px;
}
.csf-design-stage__hex {
  position: absolute;
  inset: 3% 0 auto auto;
  width: 92%;
  height: 92%;
  opacity: .44;
}
.csf-design-stage__floor {
  position: absolute;
  left: 10%;
  right: 8%;
  bottom: 12%;
  height: 98px;
  border-radius: 50%;
  background:
    radial-gradient(closest-side, rgba(255,255,255,.20), rgba(255,255,255,0) 32%),
    radial-gradient(closest-side, rgba(103,232,249,.42), rgba(8,167,181,.16) 56%, rgba(16,26,42,0) 78%);
  filter: blur(10px);
  transform: perspective(500px) rotateX(58deg);
}
.csf-design-vial {
  position: absolute;
  display: block;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 34px 26px rgba(0,0,0,.42));
}
.csf-design-vial--a {
  width: 28%;
  left: 7%;
  bottom: 18%;
  z-index: 2;
}
.csf-design-vial--b {
  width: 26%;
  right: 6%;
  bottom: 19%;
  z-index: 2;
}
.csf-design-vial--c {
  width: 31%;
  left: 22%;
  bottom: 5%;
  z-index: 3;
}
.csf-design-vial--d {
  width: 38%;
  left: 42%;
  bottom: 0;
  z-index: 4;
}
.csf-design-catalog,
.csf-design-band {
  width: min(1180px, calc(100vw - 48px));
  margin: 0 auto;
}
.csf-design-catalog {
  padding: 72px 0 80px;
}
.csf-design-section-head {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(240px, .42fr);
  gap: 32px;
  align-items: end;
  margin-bottom: 28px;
}
.csf-design-section-head h2,
.csf-design-band h2 {
  margin: 0;
  color: var(--csf-design-ink);
  font-size: 42px;
  line-height: 1.08;
  font-weight: 900;
}
.csf-design-section-head p,
.csf-design-band p {
  margin: 0;
  color: rgba(16,26,42,.64);
  line-height: 1.62;
}
.csf-design-catalog ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.csf-design-catalog ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  min-height: 100%;
  padding: 18px !important;
  border: 1px solid rgba(16,26,42,.12);
  border-radius: 8px;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, rgba(8,167,181,.42), rgba(16,26,42,.16)) border-box;
  box-shadow: 0 24px 58px rgba(16,26,42,.09);
}
.csf-design-catalog ul.products li.product img {
  width: 100%;
  aspect-ratio: 1.05 / 1;
  object-fit: contain;
  border-radius: 6px;
  padding: 8px;
  background:
    radial-gradient(circle at 50% 58%, rgba(8,167,181,.20), transparent 38%),
    linear-gradient(145deg, #07101d 0%, #123746 100%);
  filter: drop-shadow(0 18px 18px rgba(16,26,42,.16));
}
.csf-design-catalog ul.products li.product .woocommerce-loop-product__title,
.csf-design-catalog ul.products li.product h2 {
  margin-top: 20px !important;
  color: #101a2a !important;
  font-size: 21px !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
}
.csf-design-catalog ul.products li.product .price {
  display: block;
  margin-top: 10px;
  color: rgba(16,26,42,.72) !important;
  font-size: 14px !important;
  font-weight: 850 !important;
}
.csf-design-catalog ul.products li.product .button {
  margin-top: 18px !important;
  min-height: 42px;
  border-radius: 999px !important;
  padding: 11px 18px !important;
  background: #101a2a !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  box-shadow: 0 14px 26px rgba(16,26,42,.16);
}
.csf-design-band {
  padding: 46px 0 78px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.csf-design-band__panel {
  min-height: 190px;
  padding: 26px;
  border: 1px solid rgba(16,26,42,.10);
  border-radius: 8px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 18px 44px rgba(16,26,42,.06);
}
.csf-design-band__panel strong {
  display: block;
  margin-bottom: 10px;
  color: var(--bpc-primary-hover);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
@media (max-width: 980px) {
  .csf-design-nav__links {
    display: none;
  }
  .csf-design-hero__inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .csf-design-stage {
    min-height: 500px;
    max-width: 560px;
    width: 100%;
    margin: 0 auto;
  }
  .csf-design-title,
  .csf-design-promise {
    font-size: 54px;
  }
}
@media (max-width: 760px) {
  .csf-design-hero {
    min-height: 0;
  }
  .csf-design-nav {
    width: min(100% - 24px, 720px);
    margin-top: 12px;
    border-radius: 24px;
  }
  .csf-design-nav__word {
    font-size: 17px;
  }
  .csf-design-nav__tag {
    display: none;
  }
  .csf-design-nav__cta {
    min-height: 38px;
    padding: 9px 16px;
    font-size: 13px;
  }
  .csf-design-hero__inner,
  .csf-design-catalog,
  .csf-design-band {
    width: min(100% - 28px, 720px);
  }
  .csf-design-hero__inner {
    padding: 46px 0 34px;
    gap: 18px;
  }
  .csf-design-title,
  .csf-design-promise {
    font-size: 42px;
  }
  .csf-design-lead,
  .csf-design-commerce-lead {
    font-size: 16px;
  }
  .csf-design-stage {
    min-height: 420px;
  }
  .csf-design-section-head,
  .csf-design-band,
  .csf-design-catalog ul.products {
    grid-template-columns: 1fr;
  }
  .csf-design-band {
    padding-bottom: 54px;
  }
}

/* ---- CSF hardening lab v3: dark catalog continuity ---- */
.csf-design-home {
  background:
    radial-gradient(circle at 12% 26%, rgba(8,167,181,.11), transparent 28%),
    radial-gradient(circle at 86% 52%, rgba(103,232,249,.10), transparent 28%),
    linear-gradient(180deg, #07101d 0%, #0b1726 100%);
}
.csf-design-hero::after {
  background: linear-gradient(180deg, rgba(7,16,29,0), #0b1726 82%);
}
.csf-design-catalog {
  padding-top: 72px;
}
.csf-design-catalog::before {
  background:
    linear-gradient(rgba(103,232,249,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(103,232,249,.04) 1px, transparent 1px),
    radial-gradient(circle at 18% 0%, rgba(103,232,249,.16), transparent 35%),
    radial-gradient(circle at 86% 20%, rgba(8,167,181,.18), transparent 34%),
    linear-gradient(180deg, #0b1726 0%, #0e2030 56%, #081321 100%);
  background-size: 64px 64px, 64px 64px, auto, auto, auto;
}
.csf-design-section-head {
  border-color: rgba(103,232,249,.15);
  background:
    radial-gradient(circle at 86% 0%, rgba(103,232,249,.12), transparent 34%),
    rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 30px 80px rgba(0,0,0,.16);
}
.csf-design-section-head h2 {
  color: #f8fbfc;
}
.csf-design-section-head p {
  color: rgba(236,247,248,.70);
}
.csf-design-section-kpis span {
  border-color: rgba(103,232,249,.15);
  background: rgba(255,255,255,.06);
  color: rgba(236,247,248,.72);
}
.csf-design-section-kpis strong {
  color: #67e8f9;
}
.csf-design-command {
  border-color: rgba(103,232,249,.16);
  background: rgba(103,232,249,.16);
}
.csf-design-command span {
  background: rgba(255,255,255,.055);
  color: rgba(236,247,248,.68);
}
.csf-design-command strong {
  color: #f8fbfc;
}
.csf-design-catalog ul.products li.product {
  border-color: rgba(103,232,249,.24);
  background:
    radial-gradient(circle at 50% 0, rgba(103,232,249,.16), transparent 38%),
    linear-gradient(180deg, #0e2130 0%, #07101d 100%);
}
.csf-design-catalog ul.products li.product figure,
.csf-design-catalog ul.products li.product .ct-media-container {
  min-height: 318px;
}
.csf-design-catalog ul.products li.product figure {
  background:
    radial-gradient(circle at 50% 64%, rgba(103,232,249,.32), transparent 34%),
    linear-gradient(145deg, #06101d 0%, #123746 100%);
}
.csf-design-catalog ul.products li.product figure::before {
  left: 10%;
  right: 10%;
  bottom: 24px;
  height: 42px;
  background: radial-gradient(closest-side, rgba(103,232,249,.42), transparent 74%);
}
.csf-design-catalog ul.products li.product img {
  max-width: 98% !important;
  height: 304px !important;
  max-height: 304px !important;
}
.csf-design-systems {
  background:
    radial-gradient(circle at 80% 0%, rgba(103,232,249,.18), transparent 34%),
    linear-gradient(135deg, #07101d 0%, #0d1b2a 58%, #123746 100%);
}
@media (max-width: 760px) {
  .csf-design-home {
    background: linear-gradient(180deg, #07101d 0%, #0b1726 100%);
  }
  .csf-design-catalog ul.products li.product figure,
  .csf-design-catalog ul.products li.product .ct-media-container {
    min-height: 270px;
  }
  .csf-design-catalog ul.products li.product img {
    height: 252px !important;
    max-height: 252px !important;
    max-width: 96% !important;
  }
}

/* ---- CSF hardening lab v4 actual EOF override ---- */
.csf-design-section-head {
  grid-template-columns: minmax(0, 1fr);
  max-width: 930px;
  min-height: 260px;
  margin-bottom: 18px;
  padding: 34px;
  overflow: hidden;
}
.csf-design-section-head::after {
  content: "";
  position: absolute;
  top: 28px;
  right: 30px;
  bottom: 28px;
  width: 230px;
  border: 1px solid rgba(103,232,249,.16);
  border-radius: 8px;
  background:
    linear-gradient(rgba(103,232,249,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(103,232,249,.07) 1px, transparent 1px),
    radial-gradient(circle at 50% 58%, rgba(103,232,249,.16), transparent 56%);
  background-size: 26px 26px, 26px 26px, auto;
  opacity: .8;
}
.csf-design-section-head > * {
  position: relative;
  z-index: 1;
}
.csf-design-section-head h2 {
  max-width: 660px;
  font-size: clamp(44px, 4.2vw, 62px);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}
.csf-design-section-kpis {
  display: none;
}
.csf-design-command {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.csf-design-command span {
  min-height: 48px;
  flex: 1 1 210px;
  padding: 12px 14px;
  border: 1px solid rgba(103,232,249,.18);
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(103,232,249,.13), rgba(255,255,255,.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.csf-design-command strong {
  display: inline;
  margin: 0 8px 0 0;
}
.csf-design-catalog ul.products {
  gap: 24px;
}
.csf-design-catalog ul.products li.product {
  border-color: rgba(103,232,249,.28);
  box-shadow: 0 26px 70px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06);
}
.csf-design-catalog ul.products li.product .woocommerce-loop-product__title,
.csf-design-catalog ul.products li.product h2 {
  font-size: 22px !important;
  line-height: 1.08 !important;
}
.csf-design-catalog ul.products li.product .price {
  color: #67e8f9 !important;
  font-size: 19px !important;
}
.csf-design-catalog ul.products li.product .button {
  min-height: 48px;
  background: linear-gradient(90deg, #67e8f9 0%, #dff8fb 100%) !important;
  color: #07101d !important;
  box-shadow: 0 18px 36px rgba(8,167,181,.22);
}
.csf-design-system-card {
  min-height: 320px;
  border-color: rgba(103,232,249,.22);
  background:
    radial-gradient(circle at 84% 20%, rgba(103,232,249,.10), transparent 28%),
    rgba(255,255,255,.065);
}
.csf-design-system-card::before {
  width: 104px;
  height: 104px;
  border-color: rgba(103,232,249,.24);
  background: radial-gradient(circle, rgba(103,232,249,.20), transparent 58%);
}
.csf-design-system-card::after {
  width: 36px;
  height: 36px;
  border-color: rgba(103,232,249,.62);
}
.csf-design-system-card span {
  margin-bottom: 42px;
}
@media (max-width: 760px) {
  .csf-design-section-head {
    min-height: 0;
    padding: 24px;
  }
  .csf-design-section-head::after {
    display: none;
  }
  .csf-design-section-head h2 {
    font-size: clamp(34px, 10vw, 46px);
  }
  .csf-design-command span {
    border-radius: 8px;
  }
}

/* ---- CSF hardening lab v4 actual EOF override ---- */
.csf-design-section-head {
  grid-template-columns: minmax(0, 1fr);
  max-width: 930px;
  min-height: 260px;
  margin-bottom: 18px;
  padding: 34px;
  overflow: hidden;
}
.csf-design-section-head::after {
  content: "";
  position: absolute;
  top: 28px;
  right: 30px;
  bottom: 28px;
  width: 230px;
  border: 1px solid rgba(103,232,249,.16);
  border-radius: 8px;
  background:
    linear-gradient(rgba(103,232,249,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(103,232,249,.07) 1px, transparent 1px),
    radial-gradient(circle at 50% 58%, rgba(103,232,249,.16), transparent 56%);
  background-size: 26px 26px, 26px 26px, auto;
  opacity: .8;
}
.csf-design-section-head > * {
  position: relative;
  z-index: 1;
}
.csf-design-section-head h2 {
  max-width: 660px;
  font-size: clamp(44px, 4.2vw, 62px);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}
.csf-design-section-kpis {
  display: none;
}
.csf-design-command {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.csf-design-command span {
  min-height: 48px;
  flex: 1 1 210px;
  padding: 12px 14px;
  border: 1px solid rgba(103,232,249,.18);
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(103,232,249,.13), rgba(255,255,255,.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.csf-design-command strong {
  display: inline;
  margin: 0 8px 0 0;
}
.csf-design-catalog ul.products {
  gap: 24px;
}
.csf-design-catalog ul.products li.product {
  border-color: rgba(103,232,249,.28);
  box-shadow: 0 26px 70px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06);
}
.csf-design-catalog ul.products li.product .woocommerce-loop-product__title,
.csf-design-catalog ul.products li.product h2 {
  font-size: 22px !important;
  line-height: 1.08 !important;
}
.csf-design-catalog ul.products li.product .price {
  color: #67e8f9 !important;
  font-size: 19px !important;
}
.csf-design-catalog ul.products li.product .button {
  min-height: 48px;
  background: linear-gradient(90deg, #67e8f9 0%, #dff8fb 100%) !important;
  color: #07101d !important;
  box-shadow: 0 18px 36px rgba(8,167,181,.22);
}
.csf-design-system-card {
  min-height: 320px;
  border-color: rgba(103,232,249,.22);
  background:
    radial-gradient(circle at 84% 20%, rgba(103,232,249,.10), transparent 28%),
    rgba(255,255,255,.065);
}
.csf-design-system-card::before {
  width: 104px;
  height: 104px;
  border-color: rgba(103,232,249,.24);
  background: radial-gradient(circle, rgba(103,232,249,.20), transparent 58%);
}
.csf-design-system-card::after {
  width: 36px;
  height: 36px;
  border-color: rgba(103,232,249,.62);
}
.csf-design-system-card span {
  margin-bottom: 42px;
}
@media (max-width: 760px) {
  .csf-design-section-head {
    min-height: 0;
    padding: 24px;
  }
  .csf-design-section-head::after {
    display: none;
  }
  .csf-design-section-head h2 {
    font-size: clamp(34px, 10vw, 46px);
  }
  .csf-design-command span {
    border-radius: 8px;
  }
}

/* ---- CSF hardening lab v4 final cascade: no faux controls, stronger commerce hierarchy ---- */
.csf-design-section-head {
  grid-template-columns: minmax(0, 1fr);
  max-width: 930px;
  min-height: 260px;
  margin-bottom: 18px;
  padding: 34px;
  overflow: hidden;
}
.csf-design-section-head::after {
  content: "";
  position: absolute;
  top: 28px;
  right: 30px;
  bottom: 28px;
  width: 230px;
  border: 1px solid rgba(103,232,249,.16);
  border-radius: 8px;
  background:
    linear-gradient(rgba(103,232,249,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(103,232,249,.07) 1px, transparent 1px),
    radial-gradient(circle at 50% 58%, rgba(103,232,249,.16), transparent 56%);
  background-size: 26px 26px, 26px 26px, auto;
  opacity: .8;
}
.csf-design-section-head > * {
  position: relative;
  z-index: 1;
}
.csf-design-section-head h2 {
  max-width: 660px;
  font-size: clamp(44px, 4.2vw, 62px);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}
.csf-design-section-kpis {
  display: none;
}
.csf-design-command {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.csf-design-command span {
  min-height: 48px;
  flex: 1 1 210px;
  padding: 12px 14px;
  border: 1px solid rgba(103,232,249,.18);
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(103,232,249,.13), rgba(255,255,255,.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.csf-design-command strong {
  display: inline;
  margin: 0 8px 0 0;
}
.csf-design-catalog ul.products {
  gap: 24px;
}
.csf-design-catalog ul.products li.product {
  border-color: rgba(103,232,249,.28);
  box-shadow: 0 26px 70px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06);
}
.csf-design-catalog ul.products li.product .woocommerce-loop-product__title,
.csf-design-catalog ul.products li.product h2 {
  font-size: 22px !important;
  line-height: 1.08 !important;
}
.csf-design-catalog ul.products li.product .price {
  color: #67e8f9 !important;
  font-size: 19px !important;
}
.csf-design-catalog ul.products li.product .button {
  min-height: 48px;
  background: linear-gradient(90deg, #67e8f9 0%, #dff8fb 100%) !important;
  color: #07101d !important;
  box-shadow: 0 18px 36px rgba(8,167,181,.22);
}
.csf-design-system-card {
  min-height: 320px;
  border-color: rgba(103,232,249,.22);
  background:
    radial-gradient(circle at 84% 20%, rgba(103,232,249,.10), transparent 28%),
    rgba(255,255,255,.065);
}
.csf-design-system-card::before {
  width: 104px;
  height: 104px;
  border-color: rgba(103,232,249,.24);
  background: radial-gradient(circle, rgba(103,232,249,.20), transparent 58%);
}
.csf-design-system-card::after {
  width: 36px;
  height: 36px;
  border-color: rgba(103,232,249,.62);
}
.csf-design-system-card span {
  margin-bottom: 42px;
}
@media (max-width: 760px) {
  .csf-design-section-head {
    min-height: 0;
    padding: 24px;
  }
  .csf-design-section-head::after {
    display: none;
  }
  .csf-design-section-head h2 {
    font-size: clamp(34px, 10vw, 46px);
  }
  .csf-design-command span {
    border-radius: 8px;
  }
}

/* ---- CSF hardening lab v4: remove faux-filter look, strengthen commerce hierarchy ---- */
.csf-design-section-head {
  grid-template-columns: minmax(0, 1fr);
  max-width: 650px;
  margin-bottom: 18px;
  padding: 34px;
}
.csf-design-section-head h2 {
  max-width: 760px;
  font-size: clamp(44px, 4.7vw, 68px);
}
.csf-design-section-kpis {
  display: none;
}
.csf-design-command {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.csf-design-command span {
  min-height: 48px;
  flex: 1 1 210px;
  padding: 12px 14px;
  border: 1px solid rgba(103,232,249,.18);
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(103,232,249,.13), rgba(255,255,255,.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.csf-design-command strong {
  display: inline;
  margin: 0 8px 0 0;
}
.csf-design-catalog ul.products {
  gap: 24px;
}
.csf-design-catalog ul.products li.product {
  border-color: rgba(103,232,249,.28);
  box-shadow: 0 26px 70px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06);
}
.csf-design-catalog ul.products li.product .woocommerce-loop-product__title,
.csf-design-catalog ul.products li.product h2 {
  font-size: 22px !important;
  line-height: 1.08 !important;
}
.csf-design-catalog ul.products li.product .price {
  color: #67e8f9 !important;
  font-size: 19px !important;
}
.csf-design-catalog ul.products li.product .button {
  min-height: 48px;
  background: linear-gradient(90deg, #67e8f9 0%, #dff8fb 100%) !important;
  color: #07101d !important;
  box-shadow: 0 18px 36px rgba(8,167,181,.22);
}
.csf-design-system-card {
  min-height: 320px;
  border-color: rgba(103,232,249,.22);
  background:
    radial-gradient(circle at 84% 20%, rgba(103,232,249,.10), transparent 28%),
    rgba(255,255,255,.065);
}
.csf-design-system-card::before {
  width: 104px;
  height: 104px;
  border-color: rgba(103,232,249,.24);
  background: radial-gradient(circle, rgba(103,232,249,.20), transparent 58%);
}
.csf-design-system-card::after {
  width: 36px;
  height: 36px;
  border-color: rgba(103,232,249,.62);
}
.csf-design-system-card span {
  margin-bottom: 42px;
}
@media (max-width: 760px) {
  .csf-design-section-head {
    padding: 24px;
  }
  .csf-design-section-head h2 {
    font-size: clamp(34px, 10vw, 46px);
  }
  .csf-design-command span {
    border-radius: 8px;
  }
}

/* ---- CSF hardening lab premium storefront overrides ---- */
body.home .csf-topstrip {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 8px 18px;
  background: #07101d;
  color: rgba(236,247,248,.78);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.25;
}
body.home .csf-topstrip span {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  white-space: normal;
}
body.home .csf-topstrip__right::before {
  content: "";
  width: 4px;
  height: 4px;
  margin-right: 16px;
  border-radius: 50%;
  background: #67e8f9;
  box-shadow: 0 0 0 4px rgba(103,232,249,.14);
}
.csf-design-home {
  --csf-design-cyan: #67e8f9;
  --csf-design-teal: #08a7b5;
  --csf-design-navy: #07101d;
  --csf-design-panel: #0d1b2a;
  background:
    radial-gradient(circle at 12% 26%, rgba(8,167,181,.11), transparent 28%),
    radial-gradient(circle at 86% 52%, rgba(103,232,249,.10), transparent 28%),
    linear-gradient(180deg, #07101d 0 610px, #eef6f7 610px 100%);
}
.csf-design-hero {
  isolation: isolate;
  min-height: 805px;
  background:
    radial-gradient(circle at 70% 30%, rgba(103,232,249,.26), transparent 32%),
    radial-gradient(circle at 42% 84%, rgba(8,167,181,.18), transparent 38%),
    linear-gradient(135deg, #06101d 0%, #0a1828 42%, #123a48 100%);
}
.csf-design-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(rgba(103,232,249,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(103,232,249,.045) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(circle at 68% 46%, #000 0 46%, transparent 76%);
  pointer-events: none;
}
.csf-design-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  z-index: 1;
  height: 132px;
  background: linear-gradient(180deg, rgba(7,16,29,0), #eef6f7 82%);
  pointer-events: none;
}
.csf-design-hero__field::after {
  right: -120px;
  bottom: -70px;
  width: 800px;
  height: 480px;
  opacity: .85;
  background:
    linear-gradient(112deg, rgba(103,232,249,.08), rgba(8,167,181,.20)),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0));
}
.csf-design-nav {
  min-height: 82px;
  border-color: rgba(103,232,249,.20);
  background: rgba(6,15,27,.76);
}
.csf-design-nav__brand img {
  width: 52px;
  height: 52px;
  padding: 5px;
  border-radius: 6px;
  background: rgba(255,255,255,.94);
}
.csf-design-nav__word {
  font-size: 21px;
}
.csf-design-hero__inner {
  grid-template-columns: minmax(0, .92fr) minmax(500px, 1.08fr);
  min-height: 710px;
  padding-top: 82px;
  padding-bottom: 86px;
}
.csf-design-title,
.csf-design-promise {
  font-size: clamp(58px, 5.35vw, 82px);
  letter-spacing: 0;
}
.csf-design-lead,
.csf-design-commerce-lead {
  max-width: 57ch;
  color: rgba(236,247,248,.76);
}
.csf-design-button {
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.csf-design-button:hover {
  transform: translateY(-1px);
}
.csf-design-stage {
  min-height: 610px;
  transform: translateX(8px);
}
.csf-design-stage::before {
  content: "";
  position: absolute;
  inset: 44px 12px 62px 28px;
  border: 1px solid rgba(103,232,249,.20);
  border-radius: 12px;
  background:
    radial-gradient(circle at 46% 42%, rgba(103,232,249,.16), transparent 31%),
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.02));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 28px 70px rgba(0,0,0,.18);
  clip-path: polygon(0 12%, 84% 0, 100% 18%, 100% 100%, 11% 100%, 0 82%);
}
.csf-design-stage::after {
  content: "";
  position: absolute;
  left: 4%;
  right: 2%;
  bottom: 38px;
  height: 120px;
  border-radius: 50%;
  background:
    radial-gradient(closest-side, rgba(103,232,249,.30), rgba(8,167,181,.11) 52%, transparent 76%);
  filter: blur(6px);
}
.csf-design-stage__hex {
  inset: 7% 5% auto auto;
  width: 82%;
  height: 82%;
  opacity: .58;
}
.csf-design-stage__floor {
  left: 16%;
  right: 12%;
  bottom: 16%;
  height: 78px;
  opacity: .82;
}
.csf-design-vial {
  z-index: 3;
  filter:
    drop-shadow(0 34px 22px rgba(0,0,0,.40))
    drop-shadow(0 0 18px rgba(103,232,249,.12));
}
.csf-design-vial--a {
  width: 30%;
  left: 2%;
  bottom: 24%;
}
.csf-design-vial--b {
  width: 28%;
  right: 0;
  bottom: 26%;
}
.csf-design-vial--c {
  width: 34%;
  left: 20%;
  bottom: 12%;
}
.csf-design-vial--d {
  width: 42%;
  left: 40%;
  bottom: 8%;
}
.csf-design-catalog {
  position: relative;
  padding: 78px 0 94px;
}
.csf-design-catalog::before {
  content: "";
  position: absolute;
  inset: 0 calc(50% - 50vw);
  background:
    radial-gradient(circle at 15% 10%, rgba(8,167,181,.13), transparent 32%),
    linear-gradient(180deg, #eef6f7 0%, #f7fafb 100%);
  pointer-events: none;
}
.csf-design-catalog > * {
  position: relative;
}
.csf-design-section-head {
  grid-template-columns: minmax(0, .88fr) minmax(310px, .48fr);
  align-items: start;
  margin-bottom: 20px;
}
.csf-design-section-head h2 {
  max-width: 800px;
  font-size: clamp(38px, 4.1vw, 58px);
  letter-spacing: 0;
}
.csf-design-section-head p {
  padding-top: 14px;
  font-size: 16px;
}
.csf-design-section-kpis {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-self: stretch;
}
.csf-design-section-kpis span {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(16,26,42,.10);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(8,167,181,.08), rgba(255,255,255,.72));
  color: rgba(16,26,42,.70);
  font-size: 12px;
  font-weight: 800;
}
.csf-design-section-kpis strong {
  color: #101a2a;
  font-size: 24px;
  font-weight: 950;
}
.csf-design-command {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0 0 26px;
  border: 1px solid rgba(16,26,42,.12);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(16,26,42,.12);
  box-shadow: 0 22px 54px rgba(16,26,42,.06);
}
.csf-design-command span {
  min-height: 78px;
  padding: 18px 20px;
  background: rgba(255,255,255,.86);
  color: rgba(16,26,42,.68);
  font-size: 13px;
  line-height: 1.4;
}
.csf-design-command strong {
  display: block;
  margin-bottom: 5px;
  color: #101a2a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.csf-design-command br {
  display: none;
}
.csf-design-catalog ul.products {
  gap: 22px;
}
.csf-design-catalog ul.products li.product {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 510px;
  overflow: hidden;
  padding: 14px 14px 18px !important;
  border: 1px solid rgba(103,232,249,.20);
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 0, rgba(103,232,249,.13), transparent 38%),
    linear-gradient(180deg, #0b1624 0%, #101a2a 100%);
  box-shadow: 0 28px 70px rgba(16,26,42,.16);
}
.csf-design-catalog ul.products li.product::before {
  content: "Research listing";
  position: relative;
  z-index: 2;
  align-self: flex-start;
  margin: 0 0 12px;
  padding: 7px 10px;
  border: 1px solid rgba(103,232,249,.22);
  border-radius: 999px;
  background: rgba(103,232,249,.10);
  color: rgba(236,247,248,.78);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.csf-design-catalog ul.products li.product::after {
  content: "";
  position: absolute;
  inset: auto -26px -44px auto;
  width: 170px;
  height: 170px;
  border: 1px solid rgba(103,232,249,.14);
  border-radius: 50%;
  pointer-events: none;
}
.csf-design-catalog ul.products li.product figure {
  position: relative;
  z-index: 1;
  min-height: 286px;
  margin: 0 0 18px !important;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  background:
    radial-gradient(circle at 48% 62%, rgba(103,232,249,.24), transparent 34%),
    linear-gradient(145deg, #07101d 0%, #123746 100%);
}
.csf-design-catalog ul.products li.product figure::before {
  content: "";
  position: absolute;
  left: 13%;
  right: 13%;
  bottom: 20px;
  height: 34px;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(103,232,249,.28), transparent 74%);
  filter: blur(6px);
}
.csf-design-catalog ul.products li.product .ct-media-container {
  width: 100%;
  min-height: 286px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px 8px 18px;
}
.csf-design-catalog ul.products li.product img {
  width: auto !important;
  max-width: 94% !important;
  height: 282px !important;
  max-height: 282px !important;
  aspect-ratio: auto !important;
  object-fit: contain;
  padding: 0;
  background: transparent;
  border-radius: 0;
  filter:
    drop-shadow(0 24px 18px rgba(0,0,0,.36))
    drop-shadow(0 0 16px rgba(103,232,249,.12));
}
.csf-design-catalog ul.products li.product .woocommerce-loop-product__title,
.csf-design-catalog ul.products li.product h2 {
  position: relative;
  z-index: 2;
  min-height: 54px;
  margin: 0 !important;
  color: #f8fbfc !important;
  font-size: 21px !important;
}
.csf-design-catalog ul.products li.product .woocommerce-loop-product__title a {
  color: inherit !important;
  text-decoration: none;
}
.csf-design-catalog ul.products li.product .price {
  position: relative;
  z-index: 2;
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.10);
  color: #67e8f9 !important;
  font-size: 17px !important;
}
.csf-design-catalog ul.products li.product .ct-woo-card-actions {
  position: relative;
  z-index: 2;
  margin-top: auto;
}
.csf-design-catalog ul.products li.product .ct-woo-card-actions::before {
  content: "Detail page | account support";
  display: flex;
  align-items: center;
  min-height: 28px;
  margin-top: 14px;
  padding: 7px 10px;
  border: 1px solid rgba(103,232,249,.14);
  border-radius: 6px;
  background: rgba(103,232,249,.06);
  color: rgba(236,247,248,.70);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.csf-design-catalog ul.products li.product .button {
  width: 100%;
  min-height: 46px;
  margin-top: 12px !important;
  background: #f8fbfc !important;
  color: #07101d !important;
  box-shadow: 0 16px 30px rgba(0,0,0,.20);
}
.csf-design-systems {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 76px max(24px, calc((100vw - 1180px) / 2)) 88px;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 0%, rgba(103,232,249,.18), transparent 34%),
    linear-gradient(135deg, #07101d 0%, #0d1b2a 58%, #123746 100%);
  color: #f8fbfc;
}
.csf-design-systems::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(103,232,249,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(103,232,249,.04) 1px, transparent 1px);
  background-size: 54px 54px;
  opacity: .7;
}
.csf-design-systems > * {
  position: relative;
}
.csf-design-systems__head {
  max-width: 760px;
  margin-bottom: 28px;
}
.csf-design-systems__head h2 {
  margin: 0;
  color: #f8fbfc;
  font-size: clamp(40px, 4.2vw, 60px);
  line-height: 1.04;
  font-weight: 900;
}
.csf-design-systems__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.csf-design-system-card {
  min-height: 300px;
  padding: 28px;
  border: 1px solid rgba(103,232,249,.16);
  border-radius: 8px;
  background: rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.csf-design-system-card span {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
  border: 1px solid rgba(103,232,249,.22);
  border-radius: 50%;
  color: #67e8f9;
  font-size: 13px;
  font-weight: 900;
}
.csf-design-system-card strong {
  display: block;
  margin-bottom: 12px;
  color: #67e8f9;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.csf-design-system-card h3 {
  margin: 0;
  color: #f8fbfc;
  font-size: 27px;
  line-height: 1.08;
  font-weight: 900;
}
.csf-design-system-card p {
  margin: 16px 0 0;
  color: rgba(236,247,248,.68);
  line-height: 1.62;
}
@media (max-width: 980px) {
  .csf-design-hero__inner {
    grid-template-columns: 1fr;
  }
  .csf-design-stage {
    transform: none;
  }
  .csf-design-command,
  .csf-design-systems__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  body.home .csf-topstrip {
    justify-content: flex-start;
    padding-inline: 14px;
    font-size: 11px;
  }
  body.home .csf-topstrip__right {
    display: none;
  }
  .csf-design-home {
    background: linear-gradient(180deg, #07101d 0 720px, #eef6f7 720px 100%);
  }
  .csf-design-nav {
    min-height: 70px;
    gap: 12px;
  }
  .csf-design-nav__brand img {
    width: 44px;
    height: 44px;
  }
  .csf-design-nav__cta {
    flex: 0 0 auto;
  }
  .csf-design-title,
  .csf-design-promise {
    font-size: clamp(40px, 12vw, 54px);
  }
  .csf-design-stage {
    min-height: 430px;
  }
  .csf-design-stage::before {
    inset: 24px 0 44px;
  }
  .csf-design-vial--a {
    width: 31%;
    left: 1%;
    bottom: 28%;
  }
  .csf-design-vial--b {
    width: 30%;
    right: -2%;
    bottom: 28%;
  }
  .csf-design-vial--c {
    width: 36%;
    left: 18%;
    bottom: 15%;
  }
  .csf-design-vial--d {
    width: 44%;
    left: 39%;
    bottom: 12%;
  }
  .csf-design-section-head,
  .csf-design-section-kpis,
  .csf-design-command,
  .csf-design-catalog ul.products,
  .csf-design-systems__grid {
    grid-template-columns: 1fr;
  }
  .csf-design-catalog ul.products li.product {
    min-height: 0;
  }
  .csf-design-catalog ul.products li.product figure,
  .csf-design-catalog ul.products li.product .ct-media-container {
    min-height: 230px;
  }
  .csf-design-catalog ul.products li.product img {
    height: 218px !important;
    max-height: 218px !important;
  }
  .csf-design-systems {
    padding: 58px 18px 72px;
  }
  .csf-design-system-card {
    min-height: 0;
  }
}

/* ---- CSF hardening lab v2: premium catalog differentiation ---- */
.csf-design-stage {
  perspective: 900px;
}
.csf-design-stage::before {
  background:
    radial-gradient(circle at 50% 44%, rgba(255,255,255,.12), transparent 18%),
    radial-gradient(circle at 46% 42%, rgba(103,232,249,.18), transparent 31%),
    linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.018));
}
.csf-design-stage::after {
  background:
    radial-gradient(closest-side, rgba(255,255,255,.22), transparent 32%),
    radial-gradient(closest-side, rgba(103,232,249,.36), rgba(8,167,181,.13) 54%, transparent 78%);
}
.csf-design-vial {
  filter:
    drop-shadow(0 38px 22px rgba(0,0,0,.42))
    drop-shadow(-8px -10px 14px rgba(255,255,255,.10))
    drop-shadow(0 0 18px rgba(103,232,249,.14));
}
.csf-design-catalog::before {
  background:
    linear-gradient(rgba(8,167,181,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,167,181,.035) 1px, transparent 1px),
    radial-gradient(circle at 15% 10%, rgba(8,167,181,.18), transparent 32%),
    radial-gradient(circle at 72% 2%, rgba(16,26,42,.08), transparent 28%),
    linear-gradient(180deg, #edf8f9 0%, #f7fafb 100%);
  background-size: 64px 64px, 64px 64px, auto, auto, auto;
}
.csf-design-section-head {
  position: relative;
  padding: 28px;
  border: 1px solid rgba(16,26,42,.08);
  border-radius: 8px;
  background: rgba(255,255,255,.62);
  box-shadow: 0 24px 70px rgba(16,26,42,.06);
}
.csf-design-command {
  box-shadow: 0 26px 70px rgba(16,26,42,.10);
}
.csf-design-catalog ul.products li.product {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.csf-design-catalog ul.products li.product:hover {
  transform: translateY(-3px);
  border-color: rgba(103,232,249,.44);
  box-shadow: 0 34px 84px rgba(16,26,42,.22);
}
.csf-design-catalog ul.products li.product:nth-child(1)::before {
  content: "Blend";
}
.csf-design-catalog ul.products li.product:nth-child(2)::before {
  content: "Peptide";
}
.csf-design-catalog ul.products li.product:nth-child(3)::before {
  content: "Research";
}
.csf-design-catalog ul.products li.product:nth-child(4)::before {
  content: "Compound";
}
.csf-design-catalog ul.products li.product:nth-child(5)::before {
  content: "Supply";
}
.csf-design-catalog ul.products li.product:nth-child(6)::before {
  content: "Peptide";
}
.csf-design-catalog ul.products li.product:nth-child(3n+1) figure {
  background:
    radial-gradient(circle at 48% 62%, rgba(103,232,249,.28), transparent 34%),
    linear-gradient(145deg, #07101d 0%, #123746 100%);
}
.csf-design-catalog ul.products li.product:nth-child(3n+2) figure {
  background:
    radial-gradient(circle at 52% 60%, rgba(123,156,201,.30), transparent 34%),
    linear-gradient(145deg, #081322 0%, #112944 100%);
}
.csf-design-catalog ul.products li.product:nth-child(3n) figure {
  background:
    radial-gradient(circle at 48% 58%, rgba(8,167,181,.22), transparent 34%),
    linear-gradient(145deg, #08111e 0%, #0f3440 100%);
}
.csf-design-catalog ul.products li.product figure::after {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 6px;
  pointer-events: none;
}
.csf-design-catalog ul.products li.product .price {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.csf-design-catalog ul.products li.product .price::after {
  content: "In stock";
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(103,232,249,.10);
  color: rgba(236,247,248,.78);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.csf-design-catalog ul.products li.product .button {
  background: linear-gradient(90deg, #f8fbfc 0%, #dff8fb 100%) !important;
  transition: transform .16s ease, box-shadow .16s ease;
}
.csf-design-catalog ul.products li.product .button:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 36px rgba(0,0,0,.28);
}
.csf-design-systems {
  border-top: 1px solid rgba(103,232,249,.18);
  border-bottom: 1px solid rgba(103,232,249,.10);
}
.csf-design-system-card {
  position: relative;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
  overflow: hidden;
}
.csf-design-system-card:hover {
  transform: translateY(-2px);
  border-color: rgba(103,232,249,.32);
  background: rgba(255,255,255,.075);
}
.csf-design-system-card::before {
  content: "";
  position: absolute;
  inset: 18px 18px auto auto;
  width: 84px;
  height: 84px;
  border: 1px solid rgba(103,232,249,.16);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(103,232,249,.14), transparent 58%);
}
.csf-design-system-card::after {
  content: "";
  position: absolute;
  right: 46px;
  top: 50px;
  width: 28px;
  height: 28px;
  border: 2px solid rgba(103,232,249,.42);
  border-radius: 5px;
  box-shadow: 14px 14px 0 -8px rgba(103,232,249,.28);
}
.csf-design-system-card:nth-child(2)::after {
  border-radius: 50%;
  box-shadow:
    0 16px 0 -8px rgba(103,232,249,.30),
    16px 0 0 -8px rgba(103,232,249,.25);
}
.csf-design-system-card:nth-child(3)::after {
  border-radius: 50% 50% 8px 8px;
  height: 34px;
  box-shadow: inset 0 -10px 0 rgba(103,232,249,.10);
}
.csf-design-system-card > * {
  position: relative;
  z-index: 1;
}
.csf-bigfoot {
  position: relative;
  background:
    radial-gradient(circle at 12% 0%, rgba(103,232,249,.11), transparent 28%),
    linear-gradient(135deg, #07101d 0%, #101a2a 100%);
  border-top: 1px solid rgba(103,232,249,.18);
}
.csf-bigfoot::before {
  content: "";
  position: absolute;
  top: 0;
  left: max(24px, calc((100vw - var(--csf-home-max)) / 2));
  right: max(24px, calc((100vw - var(--csf-home-max)) / 2));
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(103,232,249,.65), transparent);
}
.csf-bigfoot__wrap {
  align-items: start;
}
.csf-bigfoot__name {
  font-size: 28px;
  letter-spacing: 0;
}
.csf-bigfoot__brand p {
  max-width: 38ch;
}
.csf-bigfoot__col {
  padding: 18px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  background: rgba(255,255,255,.035);
}
.csf-bigfoot__col h4 {
  color: #67e8f9;
}
@media (max-width: 760px) {
  .csf-design-catalog ul.products li.product figure,
  .csf-design-catalog ul.products li.product .ct-media-container {
    min-height: 250px;
  }
  .csf-design-catalog ul.products li.product .ct-media-container {
    padding: 8px 8px 14px;
  }
  .csf-design-catalog ul.products li.product img {
    height: 236px !important;
    max-height: 236px !important;
    max-width: 92% !important;
  }
}

/* ---- CSF hardening lab v3 final cascade: dark catalog continuity ---- */
.csf-design-home {
  background:
    radial-gradient(circle at 12% 26%, rgba(8,167,181,.11), transparent 28%),
    radial-gradient(circle at 86% 52%, rgba(103,232,249,.10), transparent 28%),
    linear-gradient(180deg, #07101d 0%, #0b1726 100%);
}
.csf-design-hero::after {
  background: linear-gradient(180deg, rgba(7,16,29,0), #0b1726 82%);
}
.csf-design-catalog {
  padding-top: 72px;
}
.csf-design-catalog::before {
  background:
    linear-gradient(rgba(103,232,249,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(103,232,249,.04) 1px, transparent 1px),
    radial-gradient(circle at 18% 0%, rgba(103,232,249,.16), transparent 35%),
    radial-gradient(circle at 86% 20%, rgba(8,167,181,.18), transparent 34%),
    linear-gradient(180deg, #0b1726 0%, #0e2030 56%, #081321 100%);
  background-size: 64px 64px, 64px 64px, auto, auto, auto;
}
.csf-design-section-head {
  border-color: rgba(103,232,249,.15);
  background:
    radial-gradient(circle at 86% 0%, rgba(103,232,249,.12), transparent 34%),
    rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 30px 80px rgba(0,0,0,.16);
}
.csf-design-section-head h2 {
  color: #f8fbfc;
}
.csf-design-section-head p {
  color: rgba(236,247,248,.70);
}
.csf-design-section-kpis span {
  border-color: rgba(103,232,249,.15);
  background: rgba(255,255,255,.06);
  color: rgba(236,247,248,.72);
}
.csf-design-section-kpis strong {
  color: #67e8f9;
}
.csf-design-command {
  border-color: rgba(103,232,249,.16);
  background: rgba(103,232,249,.16);
}
.csf-design-command span {
  background: rgba(255,255,255,.055);
  color: rgba(236,247,248,.68);
}
.csf-design-command strong {
  color: #f8fbfc;
}
.csf-design-catalog ul.products li.product {
  border-color: rgba(103,232,249,.24);
  background:
    radial-gradient(circle at 50% 0, rgba(103,232,249,.16), transparent 38%),
    linear-gradient(180deg, #0e2130 0%, #07101d 100%);
}
.csf-design-catalog ul.products li.product figure,
.csf-design-catalog ul.products li.product .ct-media-container {
  min-height: 318px;
}
.csf-design-catalog ul.products li.product figure {
  background:
    radial-gradient(circle at 50% 64%, rgba(103,232,249,.32), transparent 34%),
    linear-gradient(145deg, #06101d 0%, #123746 100%);
}
.csf-design-catalog ul.products li.product figure::before {
  left: 10%;
  right: 10%;
  bottom: 24px;
  height: 42px;
  background: radial-gradient(closest-side, rgba(103,232,249,.42), transparent 74%);
}
.csf-design-catalog ul.products li.product img {
  max-width: 98% !important;
  height: 304px !important;
  max-height: 304px !important;
}
.csf-design-systems {
  background:
    radial-gradient(circle at 80% 0%, rgba(103,232,249,.18), transparent 34%),
    linear-gradient(135deg, #07101d 0%, #0d1b2a 58%, #123746 100%);
}
@media (max-width: 760px) {
  .csf-design-home {
    background: linear-gradient(180deg, #07101d 0%, #0b1726 100%);
  }
  .csf-design-catalog ul.products li.product figure,
  .csf-design-catalog ul.products li.product .ct-media-container {
    min-height: 270px;
  }
  .csf-design-catalog ul.products li.product img {
    height: 252px !important;
    max-height: 252px !important;
    max-width: 96% !important;
  }
}
