.product-catalog { margin-top: var(--section-space); }
.product-catalog-intro { max-width: 850px; margin-bottom: 24px; }
.product-catalog-intro h2 { margin: 0; font-size: var(--section-heading-size); line-height: var(--section-heading-line-height); letter-spacing: -.04em; }
.product-catalog-intro > p:last-child { margin: 14px 0 0; color: var(--muted); font-size: var(--page-copy-size); line-height: var(--page-copy-line-height); }
.product-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.product-catalog-card { display: flex; min-width: 0; min-height: 232px; flex-direction: column; gap: 12px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-card); color: var(--ink); background: var(--card); box-shadow: var(--shadow-soft); text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.product-catalog-card:hover, .product-catalog-card:focus-visible { transform: translateY(-4px); border-color: var(--green); box-shadow: var(--shadow-hover); }
.product-catalog-card:focus-visible { outline: 3px solid var(--link-blue); outline-offset: 4px; }
.product-catalog-category { color: var(--link-blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.product-catalog-card strong { font-size: 19px; line-height: 1.25; }
.product-catalog-card > span:not(.product-catalog-category):not(.product-catalog-timeline) { color: var(--muted); font-size: 14px; line-height: 1.6; }
.product-catalog-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 8px; }
.product-catalog-timeline { color: var(--muted); font-size: 12px; }
.product-catalog-card b { color: var(--link-blue); font-size: 13px; }
.product-catalog-meta b { flex: 0 0 auto; }
.product-catalog-card:hover strong, .product-catalog-card:focus-visible strong { color: var(--link-blue); }
.product-catalog-card-foundation {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, #23835e 20%, var(--line));
  background: linear-gradient(145deg, color-mix(in srgb, #23835e 4%, var(--surface)), var(--surface) 48%);
  transition: transform 200ms ease, border-color 200ms ease, background-color 200ms ease, box-shadow 200ms ease;
}
.product-catalog-card-foundation::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: #23835e;
  content: "";
  transition: height 200ms ease;
}
.product-catalog-card-foundation:is(:hover, :focus-visible) {
  transform: translateY(-5px);
  border-color: #23835e;
  background: linear-gradient(145deg, color-mix(in srgb, #23835e 12%, var(--surface)), color-mix(in srgb, #23835e 4%, var(--surface)) 62%);
  box-shadow: 0 16px 34px color-mix(in srgb, #23835e 18%, transparent);
}
.product-catalog-card-foundation:is(:hover, :focus-visible)::before { height: 5px; }
.product-catalog-card-foundation .product-catalog-category,
.product-catalog-card-foundation b { color: #23835e; }
.product-catalog-card-foundation:is(:hover, :focus-visible) strong { color: #23835e; }
.product-catalog-card-foundation:focus-visible { outline-color: #23835e; }
[data-theme="cloud"] .product-catalog-card-foundation {
  border-color: color-mix(in srgb, #8bd5ae 20%, var(--line));
  background: linear-gradient(145deg, color-mix(in srgb, #8bd5ae 6%, var(--surface)), var(--surface) 52%);
}
[data-theme="cloud"] .product-catalog-card-foundation::before { background: #8bd5ae; }
[data-theme="cloud"] .product-catalog-card-foundation:is(:hover, :focus-visible) {
  border-color: #8bd5ae;
  background: linear-gradient(145deg, color-mix(in srgb, #8bd5ae 15%, var(--surface)), color-mix(in srgb, #8bd5ae 6%, var(--surface)) 62%);
  box-shadow: 0 16px 34px color-mix(in srgb, #8bd5ae 16%, transparent);
}
[data-theme="cloud"] .product-catalog-card-foundation .product-catalog-category,
[data-theme="cloud"] .product-catalog-card-foundation b,
[data-theme="cloud"] .product-catalog-card-foundation:is(:hover, :focus-visible) strong { color: #8bd5ae; }
[data-theme="cloud"] .product-catalog-card-foundation:focus-visible { outline-color: #8bd5ae; }
.product-catalog-card-platform {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, #2b72c7 20%, var(--line));
  background: linear-gradient(145deg, color-mix(in srgb, #2b72c7 4%, var(--surface)), var(--surface) 48%);
  transition: transform 200ms ease, border-color 200ms ease, background-color 200ms ease, box-shadow 200ms ease;
}
.product-catalog-card-platform::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: #2b72c7;
  content: "";
  transition: height 200ms ease;
}
.product-catalog-card-platform:is(:hover, :focus-visible) {
  transform: translateY(-5px);
  border-color: #2b72c7;
  background: linear-gradient(145deg, color-mix(in srgb, #2b72c7 12%, var(--surface)), color-mix(in srgb, #2b72c7 4%, var(--surface)) 62%);
  box-shadow: 0 16px 34px color-mix(in srgb, #2b72c7 18%, transparent);
}
.product-catalog-card-platform:is(:hover, :focus-visible)::before { height: 5px; }
.product-catalog-card-platform .product-catalog-category,
.product-catalog-card-platform b { color: #2b72c7; }
.product-catalog-card-platform:is(:hover, :focus-visible) strong { color: #2b72c7; }
.product-catalog-card-platform:focus-visible { outline-color: #2b72c7; }
[data-theme="cloud"] .product-catalog-card-platform {
  border-color: color-mix(in srgb, #91c2f4 20%, var(--line));
  background: linear-gradient(145deg, color-mix(in srgb, #91c2f4 6%, var(--surface)), var(--surface) 52%);
}
[data-theme="cloud"] .product-catalog-card-platform::before { background: #91c2f4; }
[data-theme="cloud"] .product-catalog-card-platform:is(:hover, :focus-visible) {
  border-color: #91c2f4;
  background: linear-gradient(145deg, color-mix(in srgb, #91c2f4 15%, var(--surface)), color-mix(in srgb, #91c2f4 6%, var(--surface)) 62%);
  box-shadow: 0 16px 34px color-mix(in srgb, #91c2f4 16%, transparent);
}
[data-theme="cloud"] .product-catalog-card-platform .product-catalog-category,
[data-theme="cloud"] .product-catalog-card-platform b,
[data-theme="cloud"] .product-catalog-card-platform:is(:hover, :focus-visible) strong { color: #91c2f4; }
[data-theme="cloud"] .product-catalog-card-platform:focus-visible { outline-color: #91c2f4; }
.product-catalog-card-ai {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, #6250bd 20%, var(--line));
  background: linear-gradient(145deg, color-mix(in srgb, #6250bd 4%, var(--surface)), var(--surface) 48%);
  transition: transform 200ms ease, border-color 200ms ease, background-color 200ms ease, box-shadow 200ms ease;
}
.product-catalog-card-ai::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: #6250bd;
  content: "";
  transition: height 200ms ease;
}
.product-catalog-card-ai:is(:hover, :focus-visible) {
  transform: translateY(-5px);
  border-color: #6250bd;
  background: linear-gradient(145deg, color-mix(in srgb, #6250bd 12%, var(--surface)), color-mix(in srgb, #6250bd 4%, var(--surface)) 62%);
  box-shadow: 0 16px 34px color-mix(in srgb, #6250bd 18%, transparent);
}
.product-catalog-card-ai:is(:hover, :focus-visible)::before { height: 5px; }
.product-catalog-card-ai .product-catalog-category,
.product-catalog-card-ai b { color: #6250bd; }
.product-catalog-card-ai:is(:hover, :focus-visible) strong { color: #6250bd; }
.product-catalog-card-ai:focus-visible { outline-color: #6250bd; }
[data-theme="cloud"] .product-catalog-card-ai {
  border-color: color-mix(in srgb, #b5a7f0 20%, var(--line));
  background: linear-gradient(145deg, color-mix(in srgb, #b5a7f0 6%, var(--surface)), var(--surface) 52%);
}
[data-theme="cloud"] .product-catalog-card-ai::before { background: #b5a7f0; }
[data-theme="cloud"] .product-catalog-card-ai:is(:hover, :focus-visible) {
  border-color: #b5a7f0;
  background: linear-gradient(145deg, color-mix(in srgb, #b5a7f0 15%, var(--surface)), color-mix(in srgb, #b5a7f0 6%, var(--surface)) 62%);
  box-shadow: 0 16px 34px color-mix(in srgb, #b5a7f0 16%, transparent);
}
[data-theme="cloud"] .product-catalog-card-ai .product-catalog-category,
[data-theme="cloud"] .product-catalog-card-ai b,
[data-theme="cloud"] .product-catalog-card-ai:is(:hover, :focus-visible) strong { color: #b5a7f0; }
[data-theme="cloud"] .product-catalog-card-ai:focus-visible { outline-color: #b5a7f0; }

.site-side-panel-product-wheel { position: relative; align-self: center; height: auto; aspect-ratio: 3 / 2; }
.site-side-panel-product-wheel .site-side-panel-image-only-content { width: 100%; height: 100%; object-fit: fill; }
.site-side-panel-product-wheel .site-side-panel-hotspots { position: absolute; z-index: 1; inset: 0; display: block; margin: 0; }
.site-side-panel-product-wheel .site-side-panel-hotspot { inset: 0; border-radius: 0; background: transparent; }
.site-side-panel-product-wheel .site-side-panel-hotspot-label-area { display: none; }
.site-side-panel-product-wheel .product-wheel-hotspot-01 { clip-path: polygon(50.17% 35.35%, 50.58% 0.20%, 73.27% 14.48%, 56.84% 39.55%); }
.site-side-panel-product-wheel .product-wheel-hotspot-02 { clip-path: polygon(56.84% 39.55%, 73.27% 14.48%, 82.92% 43.50%, 59.68% 48.09%); }
.site-side-panel-product-wheel .product-wheel-hotspot-03 { clip-path: polygon(59.68% 48.09%, 82.92% 43.50%, 77.20% 78.57%, 58.00% 58.40%); }
.site-side-panel-product-wheel .product-wheel-hotspot-04 { clip-path: polygon(58.00% 58.40%, 77.20% 78.57%, 58.59% 98.11%, 52.53% 64.15%); }
.site-side-panel-product-wheel .product-wheel-hotspot-05 { clip-path: polygon(52.53% 64.15%, 58.59% 98.11%, 40.02% 97.50%, 47.06% 63.97%); }
.site-side-panel-product-wheel .product-wheel-hotspot-06 { clip-path: polygon(47.06% 63.97%, 40.02% 97.50%, 23.66% 80.32%, 42.25% 58.92%); }
.site-side-panel-product-wheel .product-wheel-hotspot-07 { clip-path: polygon(42.25% 58.92%, 23.66% 80.32%, 16.80% 50%, 40.23% 50%); }
.site-side-panel-product-wheel .product-wheel-hotspot-08 { clip-path: polygon(40.23% 50%, 16.80% 50%, 26.12% 15.40%, 42.98% 39.82%); }
.site-side-panel-product-wheel .product-wheel-hotspot-09 { clip-path: polygon(42.98% 39.82%, 26.12% 15.40%, 50.58% 0.20%, 50.17% 35.35%); }

.product-detail-main { padding-top: 24px; }
.product-detail-hero { margin-top: 12px; }
.product-detail-hero > p:not(.eyebrow) { max-width: 900px; }
.product-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 28px 0 0; }
.product-facts > div { min-width: 0; padding: 20px 22px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--card); box-shadow: var(--shadow-soft); }
.product-facts dt { margin-bottom: 8px; color: var(--link-blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.product-facts dd { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.product-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 340px); gap: clamp(24px, 4vw, 54px); align-items: start; margin-top: var(--section-space); }
.product-detail-content { display: grid; gap: 18px; min-width: 0; }
.product-detail-content .service-detail-content { min-width: 0; padding: clamp(22px, 3vw, 34px); }
.product-section-kicker { margin: 0 0 12px; color: var(--link-blue); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.product-detail-content .service-detail-content h2, .product-sidebar-card h2, .product-related h2 { margin: 0 0 14px; font-size: clamp(22px, 2vw, 28px); line-height: 1.15; letter-spacing: -.035em; }
.product-detail-content .service-detail-content h3 { margin: 24px 0 10px; font-size: 18px; }
.product-detail-content .service-detail-content > p:not(.product-section-kicker) { color: var(--muted); font-size: 15px; line-height: 1.7; }
.product-detail-content .service-detail-list, .product-sidebar-card .service-detail-list { margin: 0; padding-left: 20px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.product-detail-content .service-detail-list li + li, .product-sidebar-card .service-detail-list li + li { margin-top: 8px; }
.product-process-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: product-step; }
.product-process-list li { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 14px; padding: 14px 0; border-top: 1px solid var(--line); }
.product-process-list strong { color: var(--ink); }
.product-process-list span { color: var(--muted); font-size: 14px; line-height: 1.55; }
.product-resource-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.product-resource-list a, .product-related a, .product-assessment-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--link-blue); font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.product-resource-list a:hover, .product-related a:hover, .product-assessment-link:hover { color: var(--green); }
.product-detail-sidebar { position: sticky; top: 24px; display: grid; gap: 16px; min-width: 0; }
.product-sidebar-card, .product-related { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--card); box-shadow: var(--shadow-soft); }
.product-sidebar-card h2, .product-related h2 { font-size: 21px; }
.product-boundaries { background: color-mix(in srgb, var(--card) 90%, var(--surface-raised)); }
.product-next-step { color: #fff; border-color: var(--link-blue); background: var(--link-blue); }
.product-next-step .product-section-kicker { color: #dce8ff; }
.product-next-step h2 { color: #fff; }
.product-next-step > p:not(.product-section-kicker) { color: rgba(255,255,255,.86); font-size: 14px; line-height: 1.6; }
.product-next-step .button-dark { width: 100%; justify-content: space-between; color: var(--link-blue); background: #fff; box-shadow: none; }
.product-next-step .button-dark:hover { color: #fff; background: #102b70; }
.product-next-step .product-assessment-link { margin-top: 16px; color: #fff; font-size: 12px; }
.product-next-step .product-assessment-link:hover { color: #dce8ff; }
.product-related { display: grid; gap: 14px; }
.product-related h2 { margin-bottom: 0; }
.product-related a { padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; text-decoration: none; }
.product-index-link { margin-top: 24px; }
@media (max-width: 960px) {
  .product-detail-layout { grid-template-columns: minmax(0, 1fr) minmax(250px, 300px); }
  .product-detail-sidebar { top: 12px; }
}
@media (max-width: 760px) {
  .product-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-detail-layout { grid-template-columns: 1fr; }
  .product-detail-sidebar { position: static; }
}
@media (max-width: 560px) {
  .product-catalog-grid, .product-facts { grid-template-columns: 1fr; }
  .product-catalog-card { min-height: 0; }
  .product-catalog-meta { align-items: flex-start; flex-wrap: wrap; gap: 6px 12px; }
  .product-process-list li { grid-template-columns: 1fr; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .product-catalog-card { transition: none; }
  .product-catalog-card:hover, .product-catalog-card:focus-visible { transform: none; }
}
