:root {
  --brand-navy: #2a375f;
  --brand-violet: #cd61ff;
  --brand-mist: #f5f5fa;
  --editorial-edge: max(5vw, calc((100vw - 1320px) / 2));
  --hero-ground: #222e50;
  --hero-ink: white;
  --hero-accent: #e5b1ff;
}
body[data-design] :is(a,button,summary,select,input,textarea):focus-visible { outline: 3px solid #a34dc8; outline-offset: 3px }
body[data-design] .r-brief { background: #f7f7fa; padding-block: clamp(34px, 4vw, 62px) }
body[data-design] .r-brief dl > div { border-top: 2px solid #b9b6cc; padding-top: 16px }
body[data-design] .r-brief dl > div:first-child { border-color: var(--brand-violet) }
body[data-design] .r-index, body[data-design] .as-nav {
  border-block: 1px solid #d7d9e2;
  padding-block: 12px;
  gap: 6px 24px;
}
body[data-design] .r-index a, body[data-design] .as-nav a { min-height: 34px; display: inline-flex; align-items: center }
body[data-design] main > .ed-sequence {
  background: white; padding: 24px var(--editorial-edge);
  border-bottom: 1px solid #d7d9e2;
}
body[data-design] .ed-sequence span { border-left: 2px solid var(--brand-violet); padding-left: 16px }
body[data-design] .advisory-panel { border: none; background: var(--brand-mist); border-top: 3px solid var(--brand-navy); border-radius: 0 }
body[data-design] .advisory-panel article { padding: clamp(20px, 2vw, 32px) }
body[data-design] .advisory-panel article > span { color: #753b89 }
body[data-design] .ed-directory > a { padding-block: 20px }
body[data-design] :is(.ed-directory,.capability-list) > a:hover { background: var(--brand-mist) }
body[data-design] .compare-scroll thead { background: var(--brand-navy); color: white }
body[data-design] .compare-scroll thead th { color: white; padding-block: 19px }
body[data-design] .compare-scroll tbody tr:nth-child(even) { background: #f8f8fb }
body[data-design] .story-section:has(> div:first-child:empty) { grid-template-columns: 1fr }
body[data-design] .story-section > div:first-child:empty { display: none }
body[data-design] .story-section:has(> div:first-child:empty) .story-text { max-width: 76ch; margin-inline: auto }
body[data-design] .ed-contents { border-top-color: var(--brand-navy) }
body[data-design] .contact-block { background: #eef0f6 }
body[data-design] .contact-grid h2 { letter-spacing: -.055em }
body[data-design] .contact-grid h2 em { color: var(--brand-navy) }
body[data-design] .buyer-routes { gap: clamp(15px,2vw,32px); border: 0 }
body[data-design] .buyer-routes a { padding: 22px 0; border: 0; border-top: 3px solid var(--brand-navy) }
body[data-design] .buyer-routes a:hover { border-color: var(--brand-violet) }
body[data-design] .buyer-routes a h3 { line-height: 1.15 }
body[data-design] .buyer-routes a span { display: inline-block; padding-top: 9px }
body[data-design] .case-feature { padding-block: clamp(34px,5vw,72px) }
body[data-design] .case-feature img { border-radius: 0 }
body[data-design] .news-card .news-photo { border-bottom: 3px solid var(--brand-navy) }
body[data-design] .news-card:hover .news-photo { border-color: var(--brand-violet) }
body[data-design] .case-perspective { border-top: 3px solid var(--brand-violet); padding-block: clamp(36px,5vw,76px) }
@media (max-width: 800px){
:root { --editorial-edge: clamp(20px,5vw,40px) }
body[data-design] main > .ed-sequence { gap: 10px; padding-block: 16px }
body[data-design] .ed-sequence span { padding-left: 8px }
}
@media (max-width: 480px){
body[data-design] .r-index { gap: 3px 18px }
body[data-design] .r-index a { font-size: 14px }
body[data-design] main > .ed-sequence { grid-template-columns: 1fr }
}