/* Product-reference components only. Loaded at the two approved reference URLs. */
.ci-product-page { padding: 0; margin: 0; }
body.ci-redesign main.ci-product-page a.ci-button { text-decoration: none; }
.ci-product-hero { padding-block: clamp(42px, 5vw, 72px); background: var(--ci-white); }
.ci-product-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: var(--ci-story-gap); }
.ci-product-hero-grid--text { grid-template-columns: minmax(0, 760px); }
.ci-product-hero-copy { min-width: 0; animation: ci-product-hero-enter 560ms ease-out; }
.ci-product-hero h1 { margin: 0; color: var(--ci-text); font-size: clamp(34px, 3.4vw, 44px); font-weight: 600; line-height: 1.2; letter-spacing: -1.5px; text-wrap: balance; }
.ci-product-hero .ci-product-lead { max-width: 580px; margin: var(--ci-space-6) 0; color: var(--ci-text-secondary); font-size: 16px; line-height: 1.8; }
.ci-product-hero-visual { min-width: 0; animation: ci-product-hero-enter 650ms ease-out; }
.ci-product-hero .ci-product-visual figcaption { font-size: 10px; }
.ci-product-section-nav { border-block: 1px solid var(--ci-border); background: var(--ci-white); }
.ci-product-section-nav > .ci-container { display: flex; align-items: center; gap: var(--ci-space-8); min-width: 0; }
.ci-product-nav-label { flex: 0 0 auto; color: var(--ci-text-secondary); font-size: 10px; letter-spacing: .6px; text-transform: uppercase; }
.ci-product-section-nav ul { display: flex; gap: var(--ci-space-7); overflow-x: auto; scrollbar-width: thin; min-width: 0; padding: 0; margin: 0; list-style: none; }
.ci-product-section-nav li { flex: 0 0 auto; }
.ci-product-section-nav a, .ci-product-section-nav a:hover { display: inline-flex; align-items: center; min-height: 52px; color: var(--ci-slate); font-size: 12px; font-weight: 600; white-space: nowrap; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 5px; }
.ci-product-section-nav a:hover { text-decoration-color: var(--ci-orange); }
.ci-product-editorial, .ci-product-split { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: start; gap: var(--ci-story-gap); }
.ci-product-split { grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); }
.ci-product-reading { max-width: 800px; }
.ci-product-section-heading, .ci-product-prose, .ci-product-aside { min-width: 0; }
.ci-product-section-heading h2 { max-width: 420px; }
.ci-product-prose p:last-child { margin-bottom: 0; }
.ci-product-prose strong { color: var(--ci-text); font-weight: 600; }
.ci-product-prose h3 { font-size: 23px; }
.ci-product-prose .ci-text-link { margin-top: var(--ci-space-4); }
.ci-product-directory .ci-section-intro { max-width: 700px; }
.ci-product-directory-groups { border-top: 1px solid var(--ci-border); }
.ci-product-directory-group { display: grid; grid-template-columns: minmax(0, .62fr) minmax(0, 2fr); gap: var(--ci-space-10); padding-block: var(--ci-space-8); border-bottom: 1px solid var(--ci-border); }
.ci-product-index { display: block; margin-bottom: var(--ci-space-4); color: var(--ci-link); font-size: 11px; font-variant-numeric: tabular-nums; }
.ci-product-directory-group h3 { max-width: 230px; font-size: 23px; }
.ci-product-directory-group > ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ci-space-7); list-style: none; margin: 0; padding: 0; }
.ci-product-directory li { min-width: 0; }
.ci-product-directory h4 { margin: 0 0 var(--ci-space-3); font-size: 15px; line-height: 1.5; font-weight: 600; letter-spacing: -.2px; }
.ci-product-directory h4 a, .ci-product-directory h4 a:hover { display: inline; color: var(--ci-text); text-decoration: underline; text-decoration-color: var(--ci-border); text-underline-offset: 4px; }
.ci-product-directory h4 a:hover { text-decoration-color: var(--ci-orange); }
.ci-product-directory h4 span { color: var(--ci-link); font-size: 12px; }
.ci-product-directory li p { margin: 0; font-size: 12px; line-height: 1.85; }
.ci-product-process-section .ci-section-intro { margin-bottom: var(--ci-space-6); }
.ci-product-process-intro { max-width: 820px; margin-bottom: var(--ci-space-8); }
.ci-product-process .ci-lifecycle-nav { margin-bottom: var(--ci-space-6); }
.ci-product-process .ci-lifecycle-nav button { font-size: 12px; }
.ci-product-process-panel { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: start; gap: var(--ci-space-10); padding: var(--ci-space-8); border: 1px solid var(--ci-border); border-radius: var(--ci-radius-lg); background: var(--ci-white); }
.ci-product-process-panel h3 { max-width: 430px; font-size: 26px; }
.ci-product-process-panel p { font-size: 15px; }
.ci-product-process[data-enhanced] .ci-product-process-panel { min-height: 265px; animation: ci-stage-enter var(--ci-motion-stage) ease-out; }
.ci-product-process:not([data-enhanced]) .ci-product-process-panel + .ci-product-process-panel { margin-top: var(--ci-space-5); }
.ci-product-process--application[data-enhanced] .ci-product-process-panel { min-height: 310px; }
.ci-product-process .ci-product-step-heading { min-width: 0; }
.ci-record-model { margin: 0; padding: clamp(24px, 3vw, 36px); border: 1px solid var(--ci-border); border-radius: var(--ci-radius-lg); background: var(--ci-background-blue); }
.ci-record-model .ci-product-model-label { margin: 0 0 var(--ci-space-6); color: var(--ci-slate); font-size: 10px; letter-spacing: 1px; text-transform: uppercase; }
.ci-record-core { display: flex; align-items: center; justify-content: center; gap: var(--ci-space-3); padding: var(--ci-space-5); border-radius: var(--ci-radius); background: var(--ci-slate); color: var(--ci-white); font-size: 14px; }
.ci-record-core span { color: var(--ci-orange-on-slate); }
.ci-product-facts { margin-bottom: var(--ci-space-6); }
.ci-product-facts:last-child { margin-bottom: 0; }
.ci-product-facts .ci-product-facts-label, .ci-product-aside .ci-product-aside-label { margin: 0 0 var(--ci-space-4); color: var(--ci-text-secondary); font-size: 11px; font-weight: 600; }
.ci-product-facts ul { display: flex; flex-wrap: wrap; gap: var(--ci-space-2); padding: 0; margin: 0; list-style: none; }
.ci-product-facts li { padding: 9px 12px; border: 1px solid var(--ci-border); border-radius: var(--ci-radius); background: var(--ci-background-alt); color: var(--ci-text); font-size: 12px; line-height: 1.6; }
.ci-record-model .ci-product-facts { position: relative; padding-top: var(--ci-space-8); margin: 0; }
.ci-record-model .ci-product-facts::before { content: ""; position: absolute; top: 0; left: 50%; width: 1px; height: 20px; background: var(--ci-slate); }
.ci-record-model .ci-product-facts-label { text-align: center; }
.ci-product-facts--record ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ci-product-facts--record li { display: flex; align-items: center; min-height: 48px; background: var(--ci-white); font-size: 11px; }
.ci-record-model figcaption { margin-top: var(--ci-space-5); color: var(--ci-text-secondary); font-size: 10px; line-height: 1.7; }
.ci-product-connections { display: grid; gap: var(--ci-space-2); padding: var(--ci-space-6); border-top: 2px solid var(--ci-orange); background: var(--ci-background-alt); border-radius: 0 0 var(--ci-radius) var(--ci-radius); }
.ci-product-connections .ci-text-link { width: fit-content; }
.ci-product-aside .ci-product-facts--filters { padding: var(--ci-space-6); border: 1px solid var(--ci-border); border-radius: var(--ci-radius); }
.ci-product-accordion details { border-top: 1px solid var(--ci-border); }
.ci-product-accordion details:last-child { border-bottom: 1px solid var(--ci-border); }
.ci-product-accordion summary { display: flex; align-items: center; justify-content: space-between; gap: var(--ci-space-5); min-height: 66px; padding-block: var(--ci-space-4); color: var(--ci-text); font-size: 15px; font-weight: 600; line-height: 1.6; list-style: none; cursor: pointer; }
.ci-product-accordion summary::-webkit-details-marker { display: none; }
.ci-product-details-mark { flex: 0 0 auto; color: var(--ci-link); font-size: 24px; line-height: 1; transition: transform var(--ci-motion-fast); }
.ci-product-accordion details[open] .ci-product-details-mark { transform: rotate(45deg); }
.ci-product-accordion details > .ci-product-prose { padding-bottom: var(--ci-space-6); }
.ci-product-accordion .ci-product-prose p { font-size: 14px; }
.ci-product-related > .ci-container > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ci-space-8); padding: 0; margin: 0; list-style: none; }
.ci-product-related li { min-width: 0; padding-top: var(--ci-space-5); border-top: 1px solid var(--ci-border); }
.ci-product-related li > a, .ci-product-related li > a:hover { display: flex; align-items: center; justify-content: space-between; gap: var(--ci-space-4); min-height: 44px; color: var(--ci-slate); font-size: 17px; font-weight: 600; text-decoration: underline; text-decoration-color: var(--ci-border); text-underline-offset: 5px; }
.ci-product-related li > a:hover { text-decoration-color: var(--ci-cta); }
.ci-product-related li p { max-width: 490px; margin: var(--ci-space-2) 0 0; font-size: 13px; }
@keyframes ci-product-hero-enter { from { opacity: .5; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1100px) {
  .ci-product-directory-group { grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); }
  .ci-product-directory-group > ul { grid-template-columns: minmax(0, 1fr); gap: var(--ci-space-6); }
}
@media (max-width: 991px) {
  .ci-product-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .ci-product-hero-copy { max-width: 700px; }
  .ci-product-hero-visual { max-width: 760px; }
  .ci-product-editorial, .ci-product-split { grid-template-columns: minmax(0, 1fr); gap: var(--ci-space-8); }
  .ci-product-section-heading h2 { max-width: 700px; }
  .ci-product-process-panel { grid-template-columns: minmax(0, 1fr); gap: var(--ci-space-5); }
  .ci-product-process[data-enhanced] .ci-product-process-panel { min-height: 310px; }
  .ci-product-process--application[data-enhanced] .ci-product-process-panel { min-height: 370px; }
  .ci-record-model { max-width: 650px; }
}
@media (max-width: 600px) {
  .ci-product-hero { padding-block: 36px 44px; }
  .ci-product-hero h1 { font-size: 34px; letter-spacing: -1.1px; }
  .ci-product-hero .ci-product-lead { font-size: 15px; }
  .ci-product-hero .ci-actions { flex-direction: column; align-items: stretch; }
  .ci-product-nav-label { display: none; }
  .ci-product-section-nav ul { gap: var(--ci-space-5); }
  .ci-product-directory-group { grid-template-columns: minmax(0, 1fr); gap: var(--ci-space-5); }
  .ci-product-directory-group h3 { max-width: none; }
  .ci-product-directory-group .ci-product-index { margin-bottom: var(--ci-space-2); }
  .ci-product-directory-group > ul { gap: var(--ci-space-6); }
  .ci-product-directory h4 { font-size: 17px; }
  .ci-product-directory li p { font-size: 13px; }
  .ci-product-process-panel { padding: var(--ci-space-5); }
  .ci-product-process-panel h3 { font-size: 24px; }
  .ci-product-process[data-enhanced] .ci-product-process-panel { min-height: 360px; }
  .ci-product-process--application[data-enhanced] .ci-product-process-panel { min-height: 500px; }
  .ci-product-related > .ci-container > ul { grid-template-columns: minmax(0, 1fr); gap: var(--ci-space-6); }
  .ci-record-model { padding: var(--ci-space-5); }
}
