
body.product-category-v8577 .category-main-v8577 {
  position: relative;
}

body.product-category-v8577 .category-page-hero-v8577 {
  position: relative;
  overflow: hidden;
  padding: clamp(118px, 11vw, 150px) 0 54px;
  background: radial-gradient(circle at left top, rgba(255,220,244,.76), rgba(255,220,244,0) 36%),
              radial-gradient(circle at right center, rgba(184,237,255,.72), rgba(184,237,255,0) 38%),
              linear-gradient(135deg, rgba(253,250,255,.96), rgba(243,249,255,.96));
}

body.product-category-v8577 .category-page-hero-v8577::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  right: -180px;
  bottom: -180px;
  border: 42px solid rgba(161,227,255,.34);
}

body.product-category-v8577 .category-hero-grid-v8577 {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 34px;
  align-items: center;
}

body.product-category-v8577 .category-hero-copy-v8577 .title {
  font-size: clamp(2.65rem, 5vw, 4.8rem);
  line-height: .98;
  margin: 14px 0 18px;
}

body.product-category-v8577 .category-hero-copy-v8577 .lead {
  max-width: 780px;
}

body.product-category-v8577 .category-hero-copy-v8577 .tag-row {
  margin-top: 24px;
}

body.product-category-v8577 .category-hero-visual-v8577 {
  position: relative;
  overflow: hidden;
  min-height: 440px;
  border-radius: 34px;
  padding: 22px;
  background: linear-gradient(140deg, rgba(255,255,255,.9), rgba(243,249,255,.92));
  box-shadow: 0 28px 80px rgba(10, 25, 58, .12);
  border: 1px solid rgba(197, 213, 233, .55);
}

body.product-category-v8577 .category-hero-visual-v8577 img {
  width: 100%;
  height: 100%;
  min-height: 396px;
  object-fit: cover;
  border-radius: 28px;
  display: block;
}

body.product-category-v8577 .category-hero-visual-v8577 figcaption {
  position: absolute;
  left: 34px;
  bottom: 26px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(38, 50, 73, .86);
  color: #ffffff;
  font-size: .92rem;
}

body.product-category-v8577 .category-stat-strip-v8577 {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

body.product-category-v8577 .category-stat-card-v8577 {
  background: rgba(255,255,255,.82);
  border-radius: 24px;
  padding: 22px 24px;
  border: 1px solid rgba(202, 215, 233, .58);
  box-shadow: 0 20px 44px rgba(12, 25, 54, .08);
}

body.product-category-v8577 .category-stat-card-v8577 strong {
  display: block;
  font-size: clamp(1.85rem, 2.5vw, 2.55rem);
  line-height: 1;
  margin-bottom: 8px;
}

body.product-category-v8577 .category-section-v8577 {
  padding: clamp(72px, 8vw, 102px) 0;
}

body.product-category-v8577 .category-section-v8577.soft {
  background: linear-gradient(180deg, rgba(248,251,255,.92), rgba(253,249,255,.96));
}

body.product-category-v8577 .category-overview-grid-v8577,
body.product-category-v8577 .category-strategy-grid-v8577 {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 28px;
  align-items: start;
}

body.product-category-v8577 .category-panel-v8577 {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,252,255,.95));
  border: 1px solid rgba(198, 214, 233, .58);
  border-radius: 30px;
  padding: clamp(24px, 2.8vw, 34px);
  box-shadow: 0 28px 62px rgba(14, 28, 55, .08);
}

body.product-category-v8577 .category-panel-v8577 p:last-child {
  margin-bottom: 0;
}

body.product-category-v8577 .category-benefit-list-v8577,
body.product-category-v8577 .category-process-list-v8577 {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
  display: grid;
  gap: 16px;
}

body.product-category-v8577 .category-benefit-list-v8577 li,
body.product-category-v8577 .category-process-list-v8577 li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
}

body.product-category-v8577 .category-benefit-list-v8577 li::before,
body.product-category-v8577 .category-process-list-v8577 li::before {
  content: "✓";
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(241,11,165,.18), rgba(28,183,233,.18));
  color: #f10ba5;
  font-weight: 700;
}

body.product-category-v8577 .category-card-grid-v8577 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

body.product-category-v8577 .concept-card-v8577 {
  position: relative;
  min-height: 100%;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,250,255,.94));
  border-radius: 28px;
  border: 1px solid rgba(198, 214, 233, .58);
  padding: 24px;
  box-shadow: 0 22px 52px rgba(13, 24, 51, .08);
}

body.product-category-v8577 .concept-card-v8577 .concept-index {
  display: inline-flex;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(241,11,165,.12), rgba(28,183,233,.14));
  color: #e20e9e;
  font-weight: 700;
  margin-bottom: 16px;
}

body.product-category-v8577 .concept-card-v8577 h3 {
  font-size: 1.34rem;
  line-height: 1.28;
  margin-bottom: 10px;
}

body.product-category-v8577 .concept-meta-v8577 {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(241, 11, 165, .08);
  color: #cf168f;
  font-size: .92rem;
  font-weight: 600;
  margin-bottom: 14px;
}

body.product-category-v8577 .audience-grid-v8577,
body.product-category-v8577 .category-pill-grid-v8577 {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.product-category-v8577 .audience-pill-v8577,
body.product-category-v8577 .category-pill-v8577 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(200, 214, 233, .65);
  color: #172748;
  font-weight: 500;
}

body.product-category-v8577 .category-cta-band-v8577 {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 28px;
  align-items: center;
  border-radius: 34px;
  background: linear-gradient(135deg, rgba(8,13,40,.98), rgba(56,14,109,.96) 48%, rgba(17,120,181,.92));
  padding: clamp(28px, 4vw, 42px);
  box-shadow: 0 34px 86px rgba(10, 20, 48, .18);
  color: #ffffff;
}

body.product-category-v8577 .category-cta-band-v8577::before {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  top: -120px;
  right: -80px;
  background: radial-gradient(circle, rgba(241,11,165,.9) 0%, rgba(241,11,165,0) 72%);
}

body.product-category-v8577 .category-cta-band-v8577 .title,
body.product-category-v8577 .category-cta-band-v8577 p,
body.product-category-v8577 .category-cta-band-v8577 .kicker {
  color: #ffffff;
}

body.product-category-v8577 .category-cta-orbit-v8577 {
  justify-self: end;
  width: min(100%, 380px);
  aspect-ratio: 1 / 1;
  border-radius: 34px;
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.16);
  position: relative;
  overflow: hidden;
}

body.product-category-v8577 .category-cta-orbit-v8577 span {
  position: absolute;
  inset: auto;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.22);
}

body.product-category-v8577 .category-cta-orbit-v8577 span:nth-child(1) { width: 240px; height: 240px; left: 50%; top: 50%; transform: translate(-50%,-50%); }
body.product-category-v8577 .category-cta-orbit-v8577 span:nth-child(2) { width: 170px; height: 170px; left: 50%; top: 50%; transform: translate(-50%,-50%); }
body.product-category-v8577 .category-cta-orbit-v8577 span:nth-child(3) { width: 92px; height: 92px; left: 50%; top: 50%; transform: translate(-50%,-50%); background: linear-gradient(135deg, rgba(241,11,165,.52), rgba(28,183,233,.52)); }

@media (max-width: 1120px) {
  body.product-category-v8577 .category-hero-grid-v8577,
  body.product-category-v8577 .category-overview-grid-v8577,
  body.product-category-v8577 .category-strategy-grid-v8577,
  body.product-category-v8577 .category-cta-band-v8577 {
    grid-template-columns: 1fr;
  }

  body.product-category-v8577 .category-card-grid-v8577 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.product-category-v8577 .category-cta-orbit-v8577 {
    justify-self: stretch;
    width: 100%;
    max-width: 360px;
  }
}

@media (max-width: 760px) {
  body.product-category-v8577 .category-page-hero-v8577 {
    padding-top: 94px;
    padding-bottom: 42px;
  }
  body.product-category-v8577 .category-card-grid-v8577,
  body.product-category-v8577 .category-stat-strip-v8577 {
    grid-template-columns: 1fr;
  }
  body.product-category-v8577 .category-hero-visual-v8577 {
    min-height: 320px;
  }
  body.product-category-v8577 .category-hero-visual-v8577 img {
    min-height: 280px;
  }
}


body.category-polish-v8578 .category-switcher-v8578 {
  position: relative;
  z-index: 4;
  margin-top: -28px;
}

body.category-polish-v8578 .category-switcher-inner-v8578 {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 14px;
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(196, 211, 230, .64);
  box-shadow: 0 24px 54px rgba(13, 27, 57, .10);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body.category-polish-v8578 .category-switcher-inner-v8578 a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 999px;
  color: #172748;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: transform .24s ease, color .24s ease, background .24s ease, box-shadow .24s ease;
}

body.category-polish-v8578 .category-switcher-inner-v8578 a:hover,
body.category-polish-v8578 .category-switcher-inner-v8578 a.active {
  color: #ffffff;
  background: linear-gradient(90deg, #f10ba5 0%, #a26df5 54%, #1cb7e9 100%);
  box-shadow: 0 14px 28px rgba(20, 43, 78, .14);
  transform: translateY(-2px);
}

body.category-polish-v8578 .category-panel-v8577,
body.category-polish-v8578 .concept-card-v8577 {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

body.category-polish-v8578 .category-panel-v8577:hover,
body.category-polish-v8578 .concept-card-v8577:hover {
  transform: translateY(-5px);
  border-color: rgba(82, 170, 225, .34);
  box-shadow: 0 32px 72px rgba(14, 28, 55, .12);
}

@media (max-width: 760px) {
  body.category-polish-v8578 .category-switcher-v8578 {
    margin-top: -16px;
  }
  body.category-polish-v8578 .category-switcher-inner-v8578 {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    border-radius: 20px;
    scrollbar-width: none;
  }
  body.category-polish-v8578 .category-switcher-inner-v8578::-webkit-scrollbar { display: none; }
  body.category-polish-v8578 .category-switcher-inner-v8578 a { white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  body.category-polish-v8578 .category-switcher-inner-v8578 a,
  body.category-polish-v8578 .category-panel-v8577,
  body.category-polish-v8578 .concept-card-v8577 {
    transition: none !important;
    transform: none !important;
  }
}


/* v8.5.79 — align new category pages to the production hero rhythm */
body.category-fix-v8579 .category-main-v8577 {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.category-fix-v8579 .category-page-hero-v8577 {
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(120px, 6.8vw, 132px) 0 clamp(40px, 4.1vw, 58px) !important;
}
body.category-fix-v8579 .category-hero-grid-v8577 {
  grid-template-columns: minmax(0, 1.16fr) minmax(360px, .84fr) !important;
  gap: clamp(28px, 3.4vw, 48px) !important;
  align-items: center !important;
  min-height: 0 !important;
}
body.category-fix-v8579 .category-hero-copy-v8577,
body.category-fix-v8579 .category-hero-copy-v8577 > * {
  margin-top: 0;
}
body.category-fix-v8579 .category-hero-copy-v8577 .title {
  margin-top: 12px !important;
  margin-bottom: 18px !important;
}
body.category-fix-v8579 .category-hero-visual-v8577 {
  justify-self: end !important;
  width: min(100%, 470px) !important;
  box-sizing: border-box !important;
  height: clamp(320px, 23vw, 390px) !important;
  min-height: 0 !important;
  max-height: 390px !important;
  padding: 14px !important;
  border-radius: 30px !important;
}
body.category-fix-v8579 .category-hero-visual-v8577 img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 24px !important;
}
body.category-fix-v8579 .category-hero-visual-v8577 figcaption {
  left: 24px !important;
  bottom: 22px !important;
  max-width: calc(100% - 48px);
}
body.category-fix-v8579 .category-stat-strip-v8577 {
  margin-top: clamp(24px, 2.8vw, 36px) !important;
}
body.category-fix-v8579 .category-switcher-v8578 {
  margin-top: -18px !important;
}

/* Match the tighter, repeatable spacing rhythm used on established internal pages. */
body.category-fix-v8579 .category-section-v8577 {
  margin: 0 !important;
  padding: clamp(44px, 3.8vw, 60px) 0 !important;
}
body.category-fix-v8579 .category-section-v8577 .section-head {
  margin-top: 0 !important;
  margin-bottom: clamp(26px, 2.8vw, 38px) !important;
}
body.category-fix-v8579 .category-overview-grid-v8577,
body.category-fix-v8579 .category-strategy-grid-v8577 {
  gap: clamp(20px, 2.2vw, 30px) !important;
}
body.category-fix-v8579 .category-card-grid-v8577 {
  gap: clamp(18px, 2vw, 24px) !important;
}
body.category-fix-v8579 .category-panel-v8577,
body.category-fix-v8579 .concept-card-v8577 {
  padding: clamp(22px, 2.4vw, 32px) !important;
}
body.category-fix-v8579 .category-cta-band-v8577 {
  margin: 0 !important;
}

@media (max-width: 1120px) {
  body.category-fix-v8579 .category-page-hero-v8577 {
    padding-top: calc(108px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 48px !important;
  }
  body.category-fix-v8579 .category-hero-grid-v8577 {
    grid-template-columns: 1fr !important;
  }
  body.category-fix-v8579 .category-hero-visual-v8577 {
    justify-self: center !important;
    width: min(100%, 520px) !important;
    height: clamp(310px, 46vw, 370px) !important;
  }
}

@media (max-width: 760px) {
  body.category-fix-v8579 .category-page-hero-v8577 {
    padding-top: calc(92px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 38px !important;
  }
  body.category-fix-v8579 .category-hero-visual-v8577 {
    height: 292px !important;
    max-height: 292px !important;
    padding: 10px !important;
    border-radius: 24px !important;
  }
  body.category-fix-v8579 .category-hero-visual-v8577 img {
    border-radius: 19px !important;
  }
  body.category-fix-v8579 .category-section-v8577 {
    padding: 38px 0 !important;
  }
  body.category-fix-v8579 .category-switcher-v8578 {
    margin-top: -12px !important;
  }
}

@media (max-width: 430px) {
  body.category-fix-v8579 .category-page-hero-v8577 {
    padding-top: calc(86px + env(safe-area-inset-top, 0px)) !important;
  }
}


/* v8.5.80 — final category-page rhythm and CTA geometry correction */
/* The site header participates in document flow on these pages. Use a small
   post-header gap instead of adding another full header-height as padding. */
body.category-fix-v8580 .category-page-hero-v8577 {
  padding-top: clamp(24px, 1.8vw, 32px) !important;
  padding-bottom: clamp(38px, 3.4vw, 50px) !important;
}

body.category-fix-v8580 .category-hero-grid-v8577 {
  min-height: 0 !important;
  align-items: center !important;
}

body.category-fix-v8580 .category-hero-visual-v8577 {
  width: min(100%, 448px) !important;
  height: clamp(312px, 21vw, 360px) !important;
  max-height: 360px !important;
}

body.category-fix-v8580 .category-stat-strip-v8577 {
  margin-top: clamp(22px, 2vw, 30px) !important;
}

/* Keep the page-end CTA centered and proportioned independently from older
   .container / .cta-band rules in the global stylesheet. */
body.category-fix-v8580 .category-section-v8577:last-of-type {
  padding-top: clamp(42px, 3.5vw, 56px) !important;
  padding-bottom: clamp(44px, 3.8vw, 60px) !important;
}

body.category-fix-v8580 .category-cta-band-v8577 {
  width: min(calc(100% - 48px), 1480px) !important;
  max-width: 1480px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr) !important;
  align-items: center !important;
  gap: clamp(28px, 3vw, 46px) !important;
  padding: clamp(32px, 3.8vw, 48px) !important;
  border-radius: clamp(28px, 3vw, 38px) !important;
  overflow: hidden !important;
}

body.category-fix-v8580 .category-cta-band-v8577 > div:first-child {
  min-width: 0 !important;
  max-width: 790px !important;
}

body.category-fix-v8580 .category-cta-band-v8577 .title {
  max-width: 780px !important;
  font-size: clamp(2rem, 3.1vw, 3.45rem) !important;
  line-height: 1.12 !important;
  margin-top: 12px !important;
  margin-bottom: 16px !important;
  text-wrap: balance;
}

body.category-fix-v8580 .category-cta-band-v8577 p {
  max-width: 760px !important;
}

body.category-fix-v8580 .category-cta-orbit-v8577 {
  justify-self: end !important;
  width: min(100%, 360px) !important;
  min-width: 0 !important;
  max-width: 360px !important;
}

@media (max-width: 1120px) {
  body.category-fix-v8580 .category-page-hero-v8577 {
    padding-top: calc(24px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 42px !important;
  }

  body.category-fix-v8580 .category-hero-visual-v8577 {
    width: min(100%, 460px) !important;
    height: clamp(300px, 43vw, 346px) !important;
    max-height: 346px !important;
  }

  body.category-fix-v8580 .category-cta-band-v8577 {
    width: min(calc(100% - 40px), 980px) !important;
    grid-template-columns: 1fr !important;
  }

  body.category-fix-v8580 .category-cta-orbit-v8577 {
    justify-self: start !important;
    width: min(100%, 320px) !important;
  }
}

@media (max-width: 760px) {
  body.category-fix-v8580 .category-page-hero-v8577 {
    padding-top: calc(18px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 34px !important;
  }

  body.category-fix-v8580 .category-hero-visual-v8577 {
    width: min(100%, 420px) !important;
    height: 276px !important;
    max-height: 276px !important;
  }

  body.category-fix-v8580 .category-cta-band-v8577 {
    width: min(calc(100% - 28px), 680px) !important;
    padding: 28px 22px !important;
    gap: 24px !important;
    border-radius: 28px !important;
  }

  body.category-fix-v8580 .category-cta-band-v8577 .title {
    font-size: clamp(1.8rem, 9vw, 2.45rem) !important;
    line-height: 1.15 !important;
  }

  body.category-fix-v8580 .category-cta-orbit-v8577 {
    width: min(100%, 280px) !important;
    justify-self: center !important;
  }
}

@media (max-width: 430px) {
  body.category-fix-v8580 .category-page-hero-v8577 {
    padding-top: calc(16px + env(safe-area-inset-top, 0px)) !important;
  }

  body.category-fix-v8580 .category-hero-visual-v8577 {
    height: 252px !important;
    max-height: 252px !important;
  }

  body.category-fix-v8580 .category-cta-band-v8577 {
    width: calc(100% - 24px) !important;
    padding: 26px 18px !important;
  }
}
