.product-editorial-page { --product-blue: #326d94; --product-pale: #f0f6f9; --product-line: #dce7ed; }
.product-editorial-page main { overflow-x: clip; }
.product-editorial-page h1, .product-editorial-page h2, .product-editorial-page h3 { color: var(--product-blue); }
.product-editorial-hero__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.product-editorial-hero__copy { max-width: 39rem; }
.product-editorial-hero__logo { display: block; width: min(100%, 20rem); height: auto; object-fit: contain; object-position: left center; margin-bottom: 1.5rem; }
.product-editorial-hero h1 { font-size: clamp(2.3rem, 3.5vw, 3.8rem); line-height: 1.1; margin: 0 0 1.3rem; }
.product-editorial-hero p { max-width: 36rem; line-height: 1.65; }
.product-editorial-hero__lead { font-size: clamp(1.18rem, 1.7vw, 1.5rem); }
.product-editorial-hero__visual { min-width: 0; justify-self: start; }
.product-editorial-hero__visual img { display: block; width: 100%; height: auto; max-height: 40rem; object-fit: contain; object-position: right center; }
@media (min-width: 1400px) {
  .product-editorial-hero__visual { width: calc(100% + (100vw - 1320px) / 5); }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .product-editorial-hero__visual { width: calc(100% + (100vw - 1140px) / 2 + 12px); }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .product-editorial-hero__visual { width: calc(100% + (100vw - 960px) / 2 + 12px); }
}
.product-editorial-hero .btn { background: #5577b3; color: #fff; margin-top: 1.1rem; }
.product-editorial__section { padding: clamp(4rem, 7vw, 7rem) 0; }
.product-editorial__flow { padding-bottom: clamp(3rem, 5vw, 4rem); }
.product-editorial__highlights { padding-top: 0; }
.product-editorial__section h2 { font-size: clamp(2rem, 3vw, 3.15rem); line-height: 1.18; margin: 0 0 1.35rem; }
.product-editorial__section h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.25; }
.product-editorial__eyebrow { display: block; font-size: .76rem; font-weight: 700; letter-spacing: .07em; color: #7d97ad; margin-bottom: 1rem; text-transform: uppercase; }
.product-editorial__heading > .product-editorial__eyebrow, .product-editorial__narrow > .product-editorial__eyebrow, .product-editorial__resources-copy > .product-editorial__eyebrow { width: fit-content; padding-top: .55rem; border-top: 4px solid #edac23; }
.product-editorial__narrow, .product-editorial__heading { width: 100%; }
.product-editorial__narrow > p, .product-editorial__heading > p { max-width: 52rem; }
.product-editorial__heading { margin-bottom: clamp(2.5rem, 4vw, 4rem); }
.product-editorial__heading p, .product-editorial__lead { font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.65; }
.product-editorial__intro { padding-top: clamp(5rem, 8vw, 8rem); padding-bottom: clamp(5rem, 8vw, 8rem); }
/* The shared white fallback is important. Match its specificity so later editor
   overrides still win, while every rendered product section alternates by default. */
.product-editorial-page :where(.product-editorial > section.product-editorial__section:nth-of-type(even)) { background-color: var(--product-pale) !important; }
/* The closing CTA is intentionally fixed; unlike content sections it has no color picker. */
body.product-detail-page #cta.home-closing { background-color: #f0f6f9 !important; }
.product-editorial__area { display: grid; grid-template-columns: 7rem minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; padding: 2.3rem 0; border-top: 1px solid var(--product-line); }
.product-editorial__area:last-child { border-bottom: 1px solid var(--product-line); }
.product-editorial__number { font-size: clamp(2.5rem, 4vw, 4rem); line-height: 1; font-weight: 300; color: #adc4d1; }
.product-editorial__area p { max-width: 33rem; line-height: 1.65; margin: 0; }
.product-editorial__area-tags { align-self: start; margin-top: .1rem; }
.product-editorial__area .product-editorial__area-tags li { border: 1px solid #c5d9e6; background: #fff; color: var(--product-blue); padding: .4rem .8rem; }
.product-editorial__phase-list { --iter-blue: #2f6fbd; --phase-column-gap: clamp(1.5rem, 3vw, 3rem); position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--phase-column-gap); list-style: none; padding: 0; margin: 0 0 clamp(2rem, 4vw, 3.5rem); }
.product-editorial__phase-list::before { content: ''; position: absolute; top: calc(1.625rem - 1.5px); left: 1.625rem; right: calc((100% - 2 * var(--phase-column-gap)) / 3 - 1.625rem); height: 3px; background: linear-gradient(90deg, #5683b3 0%, #53b7ad 38%, #eaa02b 72%, #eaa02b 100%); }
.product-editorial__phase-list--serpentine { --phase-column-gap: clamp(1.5rem, 3vw, 3rem); --phase-row-gap: clamp(2.5rem, 5vw, 4rem); grid-template-rows: repeat(2, auto); column-gap: var(--phase-column-gap); row-gap: var(--phase-row-gap); }
.product-editorial__phase-list--serpentine::before { right: calc((100% - 2 * var(--phase-column-gap)) / 3 - 1.625rem); }
.product-editorial__phase-list--serpentine .product-editorial__phase:nth-child(4) { grid-column: 3; grid-row: 2; }
.product-editorial__phase-list--serpentine .product-editorial__phase:nth-child(5) { grid-column: 2; grid-row: 2; }
.product-editorial__phase-list--serpentine .product-editorial__phase:nth-child(3)::after { content: ''; position: absolute; z-index: 0; box-sizing: border-box; top: 1.625rem; left: 1.625rem; width: calc(100% - 1.625rem); height: calc(100% + var(--phase-row-gap)); border-top: 3px solid #eaa02b; border-right: 0; border-bottom: 3px solid #cf6b9b; border-radius: 0 1rem 1rem 0; background: linear-gradient(#eaa02b, #cf6b9b) right top / 3px 100% no-repeat; }
.product-editorial__phase-list--serpentine .product-editorial__phase:nth-child(4)::after { content: ''; position: absolute; z-index: 0; top: calc(1.625rem - 1.5px); right: calc(100% - 1.625rem); width: calc(100% + var(--phase-column-gap)); height: 3px; background: linear-gradient(90deg, #7045ad, #a83f79); }
.product-editorial__phase-list--serpentine-four .product-editorial__phase:nth-child(3)::after { border: 0; width: calc(100% - 1.625rem); border-top: 3px solid #eaa02b; border-bottom: 3px solid #cf6b9b; border-radius: 0 1rem 1rem 0; }
.product-editorial__phase-list--serpentine-four .product-editorial__phase:nth-child(4) { grid-column: 3; grid-row: 2; }
.product-editorial__phase-list--serpentine-four .product-editorial__phase:nth-child(4)::after { content: none; }
.product-editorial__phase { position: relative; display: flex; flex-direction: column; min-width: 0; }
.product-editorial__phase-number { position: relative; z-index: 1; flex-shrink: 0; }
.product-editorial__phase:nth-child(2) .product-editorial__phase-number { background: #eaf5ef; color: #317451; }
.product-editorial__phase:nth-child(3) .product-editorial__phase-number { background: #fff3e1; color: #cf7e12; }
.product-editorial__phase:nth-child(4) .product-editorial__phase-number { background: #f8e8f2; color: #a83f79; }
.product-editorial__phase:nth-child(5) .product-editorial__phase-number { background: #f0eafe; color: #7045ad; }
.product-editorial__phase-content { display: flex; flex: 1; flex-direction: column; padding-top: 1.6rem; }
.product-editorial__phase h3 { margin: 0 0 .8rem; }
.product-editorial__phase p { max-width: 22rem; margin: 0; line-height: 1.6; }
.product-editorial__phase-steps, .product-editorial__flow-context-items { display: flex; flex-wrap: wrap; gap: .55rem; list-style: none; padding: 0; margin: 0; }
.product-editorial__phase-steps { margin-top: auto; padding-top: 1.35rem; }
.product-editorial__phase-steps li { border: 1px solid #c9dbe7; border-radius: 999px; padding: .35rem .75rem; background: #fff; color: var(--product-blue); font-size: .93rem; font-weight: 600; }
.product-editorial__flow-context { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1.5rem 3rem; align-items: center; margin-top: clamp(2.5rem, 5vw, 4rem); padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--product-line); border-radius: 1rem; background: #fff; }
.product-editorial__flow-context h3 { font-size: clamp(1.25rem, 1.8vw, 1.6rem); margin: 0 0 .6rem; }
.product-editorial__flow-context p { margin: 0; line-height: 1.6; }
.product-editorial__flow-context-items { gap: 0; }
.product-editorial__flow-context-items li { color: var(--product-blue); font-size: .95rem; font-weight: 600; }
.product-editorial__flow-context-items li:not(:last-child)::after { content: '·'; color: #8daec2; padding: 0 .55rem; }
.product-editorial__flow-list { list-style: none; display: flex; flex-wrap: wrap; gap: 0; padding: 0; margin: 0 0 1.5rem; }
.product-editorial__flow-list li { display: flex; align-items: center; font-weight: 600; color: var(--product-blue); }
.product-editorial__flow-list li:not(:last-child)::after { content: '→'; font-weight: 400; color: #90aabb; padding: 0 clamp(.55rem, 2vw, 1.8rem); }
.product-editorial__note { max-width: 45rem; margin: 1.5rem 0 0; line-height: 1.65; }
.product-editorial__highlight { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 7vw, 7rem); align-items: center; padding: clamp(2.5rem, 5vw, 5rem) 0; }
.product-editorial__highlight:first-child { padding-top: clamp(2.5rem, 4vw, 3.5rem); }
.product-editorial__highlight + .product-editorial__highlight { border-top: 1px solid var(--product-line); }
.product-editorial__highlight:nth-child(even) .product-editorial__highlight-copy { order: 2; }
.product-editorial__highlight:not(:has(.product-editorial__highlight-visual)) .product-editorial__highlight-copy { grid-column: 1 / -1; max-width: 52rem; }
.product-editorial__highlight-copy { max-width: 35rem; }
.product-editorial__highlight-copy p { line-height: 1.65; }
.product-editorial__highlight-tags, .product-editorial__platform-tags { display: flex; flex-wrap: wrap; gap: 0; list-style: none; padding: 0; margin: 1.25rem 0 0; }
.product-editorial__highlight-tags li, .product-editorial__platform-tags li { color: var(--product-blue); font-size: .95rem; font-weight: 600; line-height: 1.5; }
.product-editorial__highlight-tags li:not(:last-child)::after, .product-editorial__platform-tags li:not(:last-child)::after { content: '·'; color: #8daec2; padding: 0 .55rem; }
.product-editorial__highlight-visual img { display: block; width: 100%; height: auto; max-height: 27rem; object-fit: contain; }
.product-editorial__video-frame { width: min(100%, 58rem); margin: 0 auto; }
.product-editorial__video-frame video { display: block; width: 100%; height: auto; }
.product-editorial__platform-grid, .product-editorial__related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); }
.product-editorial__platform-grid > div { border-top: 1px solid var(--product-line); padding-top: 1.4rem; }
.product-editorial__platform-grid p { line-height: 1.6; }
.product-editorial__accordion { width: 100%; }
.product-editorial__accordion details { border-top: 1px solid var(--product-line); }
.product-editorial__accordion details:last-child { border-bottom: 1px solid var(--product-line); }
.product-editorial__accordion summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; cursor: pointer; padding: 1.15rem 0; list-style: none; color: var(--product-blue); font-size: 1.1rem; font-weight: 600; }
.product-editorial__accordion summary::-webkit-details-marker { display: none; }
.product-editorial__accordion summary:focus-visible { outline: 2px solid #5577b3; outline-offset: 3px; }
.product-editorial__plus::before { content: '+'; font-size: 1.5rem; font-weight: 400; }
.product-editorial__accordion details[open] .product-editorial__plus::before { content: '−'; }
.product-editorial__detail-content { max-width: 58rem; padding: 0 0 1.5rem; line-height: 1.7; }
.product-editorial__detail-content p:last-child, .product-editorial__detail-content ul:last-child { margin-bottom: 0; }
.product-editorial__related-grid { gap: 1.25rem; }
.product-editorial__more { display: inline-block; margin-top: 2rem; font-weight: 600; }
.product-editorial__resources { padding: clamp(2rem, 3vw, 3rem) 0; }
.product-editorial__resources-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; gap: 1.5rem 3rem; }
.product-editorial__resources-copy .product-editorial__eyebrow { margin-bottom: .65rem; }
.product-editorial__resources h2 { color: var(--product-blue); font-size: clamp(1.5rem, 2vw, 2rem); margin: 0 0 .55rem; }
.product-editorial__resources-copy p { margin: 0; line-height: 1.6; }
.product-editorial__resources-list { display: grid; gap: .75rem; }
.product-editorial__resource-card { display: flex; align-items: center; gap: 1rem; min-width: 0; padding: 1.1rem 1.25rem; border: 1px solid var(--product-line); border-radius: .8rem; background: #fff; }
.product-editorial__resource-icon { display: grid; place-items: center; flex: 0 0 2.8rem; height: 2.8rem; border-radius: .7rem; background: var(--product-pale); color: var(--product-blue); font-size: 1.4rem; }
.product-editorial__resource-info { min-width: 0; flex: 1; }
.product-editorial__resource-info h3 { color: var(--product-blue); font-size: 1rem; margin: 0; }
.product-editorial__resource-info p { color: #5e6b74; font-size: .85rem; margin: .2rem 0 0; }
.product-editorial__resource-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; flex: 0 0 auto; border-radius: .55rem; background: #5577b3; color: #fff; padding: .65rem 1rem; font-size: .9rem; font-weight: 700; }
.product-editorial__resource-button:hover, .product-editorial__resource-button:focus-visible { background: #45659c; color: #fff; }
.product-editorial__qualification { padding: 1rem 0 4rem; }
.product-editorial__qualification-inner { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; border: 1px solid var(--product-line); border-radius: 1rem; padding: clamp(1.5rem, 3vw, 2.75rem); }
.product-editorial__qualification-inner--with-image { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
.product-editorial__qualification-copy { display: grid; justify-items: start; gap: 1.15rem; }
.product-editorial__qualification-inner:not(.product-editorial__qualification-inner--with-image) { padding-block: clamp(1.25rem, 2vw, 2rem); }
.product-editorial__qualification-inner:not(.product-editorial__qualification-inner--with-image) .product-editorial__qualification-copy { grid-template-columns: 3.25rem minmax(0, 1fr) auto; align-items: center; width: 100%; gap: clamp(1rem, 2.5vw, 2rem); }
.product-editorial__qualification-icon { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: 50%; background: #eaf5ef; color: #317451; font-size: 1.5rem; }
.product-editorial__qualification h2 { margin: 0; color: var(--product-blue); font-size: clamp(1.75rem, 2.5vw, 2.5rem); }
.product-editorial__qualification-button { display: inline-flex; align-items: center; gap: .65rem; border-radius: .6rem; background: #5577b3; color: #fff; padding: .8rem 1.25rem; font-weight: 700; }
.product-editorial__qualification-button:hover, .product-editorial__qualification-button:focus-visible { background: #45659c; color: #fff; }
.product-editorial__qualification-image { display: block; width: 100%; max-height: 18rem; object-fit: contain; }
.product-editorial__intro-highlight { color: var(--product-blue); font-weight: 700; }
.product-editorial__area h4 { margin: -.35rem 0 .65rem; color: #425b6c; font-size: 1.1rem; line-height: 1.45; }
.product-editorial__environment-list { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); }
.product-editorial__environment { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(1.5rem, 5vw, 5rem); padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--product-line); border-radius: 1rem; background: #fff; }
.product-editorial__environment:nth-child(even) .product-editorial__environment-copy { order: 2; }
.product-editorial__environment-copy { max-width: 39rem; }
.product-editorial__environment-copy .product-editorial__eyebrow { margin-bottom: .55rem; }
.product-editorial__environment-label { display: inline-flex; margin: 0 0 .75rem; color: #58768b; font-size: .78rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.product-editorial__environment h3 { margin: 0 0 .8rem; }
.product-editorial__environment p { line-height: 1.65; }
.product-editorial__environment ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem 1.25rem; margin: 1rem 0 0; padding-left: 1.2rem; color: var(--product-blue); }
.product-editorial__environment-visual { margin: 0; min-width: 0; text-align: center; }
.product-editorial__environment-visual img { display: inline-block; max-width: 100%; max-height: 25rem; width: auto; height: auto; object-fit: contain; }
.product-editorial__spotlight-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.product-editorial__spotlight-layout--text-first .product-editorial__spotlight-copy { order: 2; }
.product-editorial__spotlight-copy { max-width: 40rem; }
.product-editorial__spotlight-copy h2 { margin-bottom: 1.1rem; }
.product-editorial__spotlight-copy p { line-height: 1.65; }
.product-editorial__spotlight-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1.25rem; list-style: none; margin: 1.5rem 0 0; padding: 0; }
.product-editorial__spotlight-points li { position: relative; padding-left: 1.4rem; line-height: 1.45; }
.product-editorial__spotlight-points li::before { content: ''; position: absolute; left: 0; top: .43em; width: .55rem; height: .55rem; border-radius: 50%; background: #5577b3; }
.product-editorial__spotlight-visual { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .64fr); align-items: center; gap: 1rem; }
.product-editorial__spotlight-main, .product-editorial__spotlight-secondary figure { display: grid; place-items: center; margin: 0; min-width: 0; padding: .8rem; border: 1px solid var(--product-line); border-radius: 1rem; background: #fff; box-shadow: 0 1rem 2.5rem rgba(37, 74, 99, .08); }
.product-editorial__spotlight-main img { display: block; max-width: 100%; max-height: 39rem; width: auto; height: auto; object-fit: contain; }
.product-editorial__spotlight-secondary { display: grid; gap: 1rem; }
.product-editorial__spotlight-secondary figure { padding: .45rem; }
.product-editorial__spotlight-secondary-image { display: block; max-width: 100%; max-height: 19rem; width: auto; height: auto; object-fit: contain; }
.product-editorial__device-frame { position: relative; display: inline-grid; justify-self: center; place-items: center; width: fit-content; max-width: 100%; padding: 1.15rem .42rem 1.3rem; border: 3px solid #d7dadd; border-radius: 2.25rem; background: linear-gradient(135deg, #f9fafb, #e5e7e9 48%, #f7f8f9); box-shadow: 0 .75rem 1.8rem rgba(28, 53, 70, .16), inset 0 0 0 1px rgba(255,255,255,.9); }
.product-editorial__device-frame::before { content: ''; position: absolute; z-index: 1; top: .42rem; left: 50%; width: 3.1rem; height: .45rem; border-radius: 999px; background: #111; transform: translateX(-50%); }
.product-editorial__device-frame::after { content: ''; position: absolute; bottom: .42rem; left: 50%; width: 2.7rem; height: .16rem; border-radius: 999px; background: #27292b; transform: translateX(-50%); }
.product-editorial__device-frame img { display: block; max-width: 100%; max-height: 34rem; width: auto; height: auto; border-radius: 1.45rem; object-fit: contain; }
.product-editorial__spotlight-main.product-editorial__device-frame { padding: 1.35rem .48rem 1.5rem; border-radius: 2.7rem; }
.product-editorial__spotlight-main.product-editorial__device-frame img { max-height: 37rem; border-radius: 1.9rem; }
.product-editorial__spotlight-secondary .product-editorial__device-frame { padding: .95rem .34rem 1.1rem; border-radius: 1.8rem; }
.product-editorial__spotlight-secondary .product-editorial__device-frame::before { top: .32rem; width: 2.1rem; height: .3rem; }
.product-editorial__spotlight-secondary .product-editorial__device-frame::after { bottom: .32rem; width: 1.8rem; height: .12rem; }
.product-editorial__spotlight-secondary .product-editorial__device-frame img { max-height: 19rem; border-radius: 1.2rem; }
.product-editorial__environment-visual.product-editorial__device-frame { display: inline-grid; }
.product-editorial__device-frame--tablet { padding: .8rem .48rem; border-radius: 1.6rem; }
.product-editorial__device-frame--tablet::before { top: 50%; left: .2rem; width: .28rem; height: .28rem; transform: translateY(-50%); }
.product-editorial__device-frame--tablet::after { top: 50%; right: .2rem; bottom: auto; left: auto; width: .28rem; height: .28rem; transform: translateY(-50%); }
.product-editorial__device-frame--tablet img { max-height: 32rem; border-radius: 1rem; }
.product-editorial__device-frame--desktop { padding: .62rem .62rem .72rem; border-radius: 1rem; }
.product-editorial__device-frame--desktop::before { top: .2rem; width: .28rem; height: .28rem; }
.product-editorial__device-frame--desktop::after { content: none; }
.product-editorial__device-frame--desktop img { max-height: 26rem; border-radius: .35rem; }
.product-editorial__spotlight-main.product-editorial__device-frame--tablet { padding: .95rem .56rem; }
.product-editorial__spotlight-main.product-editorial__device-frame--desktop { padding: .72rem .72rem .82rem; }
.product-editorial__spotlight-main.product-editorial__device-frame--tablet img { max-height: 35rem; border-radius: 1rem; }
.product-editorial__spotlight-main.product-editorial__device-frame--desktop img { max-height: 30rem; border-radius: .4rem; }
.product-editorial__highlight-visual img { max-width: 100%; width: auto; margin-inline: auto; }
@media (max-width: 991.98px) {
  .product-editorial__resources-inner { grid-template-columns: 1fr; }
  .product-editorial-hero__layout { grid-template-columns: 1fr; }
  .product-editorial-hero__visual { width: calc(100% + (100vw - 720px) / 2 + 12px); }
  .product-editorial__area { grid-template-columns: 5rem minmax(0, 1fr); }
  .product-editorial__area-tags { grid-column: 2; }
  .product-editorial__phase-list { grid-template-columns: 1fr; gap: 0; }
  .product-editorial__phase-list--serpentine { grid-template-rows: none; row-gap: 0; }
  .product-editorial__phase-list--serpentine .product-editorial__phase:nth-child(4), .product-editorial__phase-list--serpentine .product-editorial__phase:nth-child(5) { grid-column: auto; grid-row: auto; }
  .product-editorial__phase-list--serpentine .product-editorial__phase:nth-child(3)::after, .product-editorial__phase-list--serpentine .product-editorial__phase:nth-child(4)::after { content: none; }
  .product-editorial__phase-list::before { top: 1.625rem; bottom: 1.625rem; left: calc(1.625rem - 1.5px); right: auto; width: 3px; height: auto; background: linear-gradient(#5683b3 0%, #53b7ad 38%, #eaa02b 85%, #eaa02b 100%); }
  .product-editorial__phase-list--multi-step::before { display: none; }
  .product-editorial__phase-list--multi-step .product-editorial__phase::before { content: ''; position: absolute; z-index: 0; top: calc(1.625rem - 1.5px); bottom: -1.625rem; left: calc(1.625rem - 1.5px); width: 3px; }
  .product-editorial__phase-list--multi-step .product-editorial__phase:nth-child(1)::before { background: linear-gradient(to bottom, #5683b3, #53b7ad); }
  .product-editorial__phase-list--multi-step .product-editorial__phase:nth-child(2)::before { background: linear-gradient(to bottom, #53b7ad, #eaa02b); }
  .product-editorial__phase-list--multi-step .product-editorial__phase:nth-child(3)::before { background: linear-gradient(to bottom, #eaa02b, #cf6b9b); }
  .product-editorial__phase-list--multi-step .product-editorial__phase:nth-child(4)::before { background: linear-gradient(to bottom, #cf6b9b, #8055bd); }
  .product-editorial__phase-list--multi-step .product-editorial__phase:last-child::before { content: none; }
  .product-editorial__phase { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: 1.25rem; padding-bottom: 2rem; }
  .product-editorial__phase:last-child { padding-bottom: 0; }
  .product-editorial__phase-content { padding-top: .3rem; }
  .product-editorial__phase p { max-width: 36rem; }
  .product-editorial__highlight { gap: 2rem; }
  .product-editorial__environment { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .product-editorial__environment-visual img { max-height: 22rem; }
  .product-editorial__spotlight-layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 2rem; }
  .product-editorial__spotlight-visual { grid-template-columns: minmax(0, 1fr); }
  .product-editorial__spotlight-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-editorial__related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .product-editorial__resource-card { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr); }
  .product-editorial__resource-button { grid-column: 1 / -1; width: 100%; }
  .product-editorial__environment, .product-editorial__spotlight-layout { grid-template-columns: minmax(0, 1fr); }
  .product-editorial__environment:nth-child(even) .product-editorial__environment-copy, .product-editorial__spotlight-layout--text-first .product-editorial__spotlight-copy { order: 0; }
  .product-editorial__environment-visual img { max-height: 30rem; }
  .product-editorial__spotlight-visual { grid-template-columns: minmax(0, 1fr); }
  .product-editorial__spotlight-main img { max-height: 35rem; }
  .product-editorial__spotlight-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-editorial__spotlight-secondary-image { max-height: 24rem; }
  .product-editorial__environment ul, .product-editorial__spotlight-points { grid-template-columns: minmax(0, 1fr); }
  .product-editorial-page main .container { padding-left: 24px; padding-right: 24px; }
  .product-editorial-hero__logo { width: min(100%, 17rem); }
  .product-editorial-hero__layout, .product-editorial__highlight, .product-editorial__platform-grid, .product-editorial__related-grid { grid-template-columns: 1fr; }
  .product-editorial__qualification-inner--with-image { grid-template-columns: 1fr; }
  .product-editorial__qualification-inner:not(.product-editorial__qualification-inner--with-image) .product-editorial__qualification-copy { grid-template-columns: 1fr; }
  .product-editorial-hero__visual { width: calc(100% + 24px); }
  .product-editorial__section { padding: 4rem 0; }
  .product-editorial__flow { padding-bottom: 2.5rem; }
  .product-editorial__highlights { padding-top: 0; }
  .product-editorial__area { grid-template-columns: 1fr; gap: 1rem; }
  .product-editorial__area-tags { grid-column: auto; }
  .product-editorial__phase-list::before { top: 1.35rem; bottom: 1.35rem; left: calc(1.35rem - 1.5px); }
  .product-editorial__phase-list--multi-step .product-editorial__phase::before { top: calc(1.35rem - 1.5px); bottom: -1.35rem; left: calc(1.35rem - 1.5px); }
  .product-editorial__phase { grid-template-columns: 2.7rem minmax(0, 1fr); }
  .product-editorial__highlight:nth-child(even) .product-editorial__highlight-copy { order: 0; }
  .product-editorial__flow-context { grid-template-columns: 1fr; }
  .product-editorial__flow-list { flex-direction: column; gap: .35rem; }
  .product-editorial__flow-list li { display: block; }
  .product-editorial__flow-list li:not(:last-child)::after { content: '↓'; display: block; padding: .2rem 0; }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  .product-editorial-hero__visual { width: calc(100% + (100vw - 540px) / 2 + 24px); }
}
@media (max-width: 420px) {
  .product-editorial__phase-list::before { top: 1.25rem; bottom: 1.25rem; left: calc(1.25rem - 1.5px); }
  .product-editorial__phase-list--multi-step .product-editorial__phase::before { top: calc(1.25rem - 1.5px); bottom: -1.25rem; left: calc(1.25rem - 1.5px); }
  .product-editorial__phase { grid-template-columns: 2.5rem minmax(0, 1fr); }
}

/* Reusable editorial building blocks: configuration comparison and deep dives. */
.product-editorial__configuration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.product-editorial__configuration { min-width: 0; padding: clamp(1.4rem, 2.5vw, 2.25rem); border: 1px solid var(--product-line); border-radius: 1rem; background: #fff; }
.product-editorial__configuration::before { content: ''; display: block; width: 145px; height: 4px; margin: 0 0 1rem; }
.product-editorial__configuration:nth-child(1)::before { background: #2f6fbd; }
.product-editorial__configuration:nth-child(2)::before { background: #58a99b; }
.product-editorial__configuration-audience { display: inline-block; margin-bottom: .75rem; color: #6d8799; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.product-editorial__configuration h3 { margin: 0 0 .6rem; }
.product-editorial__configuration h4 { margin: 0 0 .8rem; color: #344f62; font-size: 1.1rem; }
.product-editorial__configuration p { line-height: 1.65; }
.product-editorial__configuration-features { display: grid; grid-template-columns: 1fr; list-style: none; padding: 0; margin: 1rem 0 0; }
.product-editorial__configuration-features li { display: flex; align-items: flex-start; gap: .7rem; padding: .65rem 0; border-top: 1px solid #edf2f5; color: #344f62; font-size: 1rem; line-height: 1.45; }
.product-editorial__configuration-features li::before { content: '✓'; display: grid; place-items: center; flex: 0 0 1.2rem; width: 1.2rem; height: 1.2rem; margin-top: .08rem; border-radius: 50%; background: #eaf2fb; color: #326d94; font-size: .75rem; font-weight: 700; }
.product-editorial__deep-dive-flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; list-style: none; padding: 0; margin: 0; }
.product-editorial__deep-dive-flow > li { min-width: 0; padding: 1.25rem; border: 1px solid var(--product-line); border-radius: .9rem; background: #fff; }
.product-editorial__deep-dive-flow > li > span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; margin-bottom: 1rem; border-radius: 50%; background: #eaf2fb; color: #2f6fbd; font-weight: 700; }
.product-editorial__deep-dive-flow h3 { margin: 0 0 .5rem; font-size: 1.05rem; }
.product-editorial__deep-dive-flow p, .product-editorial__deep-dive-note { margin: 0; line-height: 1.6; }
.product-editorial__deep-dive-note { margin-top: 1.5rem; color: #526b7a; }
.product-editorial__accordion > .product-editorial__feature-group > summary { font-size: 1.2rem; }
.product-editorial__feature-group-items { margin: 0 0 1.2rem 1rem; padding-left: clamp(.75rem, 2vw, 1.5rem); border-left: 2px solid var(--product-line); }
.product-editorial__feature-group-items > details:first-child { border-top: 0; }
.product-editorial__feature-group-items > details:last-child { border-bottom: 0; }
.product-editorial__feature-group-items summary { font-size: 1rem; }
@media (max-width: 991.98px) {
  .product-editorial__deep-dive-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .product-editorial__configuration-grid, .product-editorial__deep-dive-flow { grid-template-columns: 1fr; }
  .product-editorial__feature-group-items { margin-left: .25rem; }
}
