/* Corporate compositions use the established DOKKI type and spacing scale.
   All selectors are scoped; product and legal pages keep their existing CSS. */
.corporate {
  --cd-text-body: clamp(1rem, 0.98rem + 0.1vw, 1.0625rem);
  --cd-text-intro: clamp(1.125rem, 1rem + 0.25vw, 1.25rem);
  --cd-text-h2: clamp(1.75rem, 1.25rem + 1.5vw, 2.5rem);
  --cd-text-h3: clamp(1.375rem, 1.25rem + 0.25vw, 1.625rem);
  --cd-section-space: clamp(3.5rem, 6vw, 6rem);
  font-size: var(--cd-text-body);
  line-height: var(--cd-leading-body);
}
.corporate :where(h1,h2,h3,p) { margin-block-start: 0; }
.corporate h1 { font-size: clamp(2rem, 0.5rem + 2.6vw, 3rem); line-height: var(--cd-leading-heading); margin-block: var(--cd-space-5); }
.corporate h2 { font-size: var(--cd-text-h2); margin-block-end: var(--cd-space-5); }
.corporate h3 { font-size: var(--cd-text-h3); margin-block-end: var(--cd-space-3); }
.corporate p:last-child { margin-block-end: 0; }
.corporate-copy { max-width: 48rem; min-width: 0; }
.corporate-copy > p:not(.cd-eyebrow) { max-width: var(--cd-width-text); }
.corporate-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--cd-space-8); align-items: center; }
.corporate-split > * { min-width: 0; }
.corporate-section--hero { padding-block: clamp(2.5rem, 4.5vw, 4.5rem); }
.corporate-section--hero .corporate-split { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); }
.corporate-actions { margin-block-start: var(--cd-space-6); }
.corporate-actions--with-note { align-items: flex-start; }
.corporate .corporate-note { color: var(--cd-muted); font-size: var(--cd-text-small); margin-block: var(--cd-space-5) 0; }
.corporate-action .corporate-note { margin-block-start: var(--cd-space-3); }
.corporate-visual { aspect-ratio: 14/9; width: 100%; }
.corporate-visual svg { display: block; width: 100%; height: 100%; }
.corporate-visual__line { stroke: var(--cd-blue); stroke-width: 1.5; opacity: .5; }
.corporate-visual__loose { fill: var(--cd-light-blue); stroke: var(--cd-border); }
.corporate-visual__ordered { fill: var(--cd-brand-navy); }
.corporate-visual__focus { fill: var(--cd-blue); }
.corporate-product { margin: 0; padding: var(--cd-space-5); border: 1px solid var(--cd-border); border-radius: var(--cd-radius); background: var(--cd-surface); box-shadow: var(--cd-shadow-small); }
.corporate-product img { display: block; width: 100%; height: auto; }
.corporate--about-us .corporate-product { width: min(100%, 28rem); justify-self: center; }
.corporate-items { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap: var(--cd-space-6); list-style: none; margin: var(--cd-space-7) 0 0; padding: 0; }
.corporate-items > li { min-width: 0; padding-block-start: var(--cd-space-5); border-top: 1px solid var(--cd-border); }
.corporate-items p { color: var(--cd-muted); }
.corporate-items--services > li { padding: var(--cd-space-7); border: 1px solid var(--cd-border); border-radius: var(--cd-radius); display: flex; flex-direction: column; align-items: flex-start; background: var(--cd-surface); }
.corporate-items--services .cd-text-link { margin-block-start: auto; }
.corporate-items--services { grid-template-columns: repeat(auto-fit,minmax(min(100%,19rem),1fr)); }
.corporate-items--principles, .corporate-items--process { gap: var(--cd-space-6); }
.corporate-step { display: block; color: var(--cd-brand-navy); font-weight: 650; margin-block-end: var(--cd-space-5); }
.corporate-items--process > li, .corporate-items--principles > li { position: relative; }
.corporate-items--process > li:not(:last-child)::after, .corporate-items--principles > li:not(:last-child)::after { content: '→'; position: absolute; top: -.95rem; right: -.9rem; color: var(--cd-blue); background: var(--cd-white); padding-inline: var(--cd-space-2); }
.cd-section--surface .corporate-items--principles > li::after { background: var(--cd-surface); }
.corporate-items--timeline { display: block; margin: 0; padding-inline-start: var(--cd-space-6); border-left: 1px solid var(--cd-border); }
.corporate-items--timeline > li { position: relative; border: 0; padding: 0 0 var(--cd-space-6); }
.corporate-items--timeline > li:last-child { padding-bottom: 0; }
.corporate-items--timeline > li::before { content: ''; position: absolute; top: .5rem; left: calc(-1 * var(--cd-space-6) - 5px); width: 9px; height: 9px; background: var(--cd-blue); border-radius: 50%; }
.corporate-items--timeline .corporate-step { font-size: var(--cd-text-small); margin-bottom: var(--cd-space-2); }
.corporate-checklist { list-style: none; padding: 0; margin: 0; }
.corporate-checklist li { position: relative; padding: var(--cd-space-4) 0 var(--cd-space-4) var(--cd-space-6); border-bottom: 1px solid var(--cd-border); }
.corporate-checklist li::before { content: '✓'; color: var(--cd-brand-navy); position: absolute; left: 0; }
.corporate-items--system { grid-template-columns: 1fr 1fr; gap: var(--cd-space-6) var(--cd-space-3); margin: 0; position: relative; }
.corporate-items--system > li { background: var(--cd-light-blue); border: 1px solid var(--cd-border); border-radius: 50%; padding: var(--cd-space-7) var(--cd-space-5); text-align: center; }
.corporate-items--system > li:nth-child(3) { grid-column: 1/-1; grid-row: 3; width: 65%; justify-self: center; }
.corporate-items--system h3 { font-size: 1.125rem; }
.corporate-items--system p { font-size: 1rem; }
.corporate-items--system .corporate-system-center { grid-column: 1/-1; grid-row: 2; justify-self: center; position: relative; border-radius: var(--cd-radius); padding: var(--cd-space-4) var(--cd-space-5); background: var(--cd-brand-navy); color: var(--cd-white); }
.corporate-system-center::before, .corporate-system-center::after { content: ''; position: absolute; width: 1px; height: var(--cd-space-6); background: var(--cd-blue); left: 50%; }
.corporate-system-center::before { bottom: 100%; }
.corporate-system-center::after { top: 100%; }
.corporate-role { display: grid; grid-template-columns: 1fr auto 1.1fr auto 1.2fr; gap: var(--cd-space-2); text-align: center; align-items: center; font-size: 1rem; }
.corporate-role > div, .corporate-role > strong { padding: var(--cd-space-4); background: var(--cd-surface); border: 1px solid var(--cd-border); border-radius: var(--cd-radius); }
.corporate-role__top { grid-column: 2/5; }
.corporate-role__vertical { grid-column: 3; }
.corporate-role__left { grid-column: 1; }
.corporate-role > strong { background: var(--cd-brand-navy); color: var(--cd-white); }
.corporate-role > span { color: var(--cd-brand-navy); }
.corporate-section--cta .corporate-copy, .corporate-section--crosslink .corporate-copy { max-width: 52rem; border-left: 2px solid var(--cd-orange); padding-inline-start: var(--cd-space-6); }
@media (max-width: 1199px) {
  .corporate-role { grid-template-columns: 1fr; }
  .corporate-role > * { grid-column: 1; }
  .corporate-role__arrow { transform: rotate(90deg); }
}
@media (max-width: 899px) {
  .corporate-split, .corporate-section--hero .corporate-split { grid-template-columns: 1fr; gap: var(--cd-space-7); }
  .corporate-visual { max-width: 32rem; justify-self: center; }
  .corporate-product { max-width: 35rem; }
  .corporate-items--process { grid-template-columns: 1fr 1fr; }
  .corporate-items--process > li::after { display: none; }
  .corporate-items--system { max-width: 36rem; }
}
@media (max-width: 767px) {
  .corporate h1 { font-size: clamp(2rem, 7vw, 2.75rem); }
  .corporate-section--hero { padding-block: var(--cd-space-7); }
  .corporate-visual { max-width: 25rem; }
  .corporate-items--process, .corporate-items--principles { grid-template-columns: 1fr; gap: var(--cd-space-6); }
  .corporate-items--process > li, .corporate-items--principles > li { border-top: 0; border-left: 1px solid var(--cd-border); padding: 0 0 0 var(--cd-space-5); }
  .corporate-items--process > li:not(:last-child)::after, .corporate-items--principles > li:not(:last-child)::after { display: block; content: '↓'; top: auto; bottom: -1.6rem; left: -.65rem; right: auto; }
  .corporate-items--services > li { padding: var(--cd-space-5); }
  .corporate-items--system { grid-template-columns: 1fr; }
  .corporate-items--system > li:nth-child(3), .corporate-items--system .corporate-system-center { grid-row: auto; }
  .corporate-items--system > li, .corporate-items--system > li:nth-child(3) { width: 100%; border-radius: var(--cd-radius); padding: var(--cd-space-5); }
  .corporate-items--system > li + li::before { content: '↕'; display: block; color: var(--cd-brand-navy); margin-bottom: var(--cd-space-3); }
  .corporate-items--system > .corporate-system-center::before { color: var(--cd-white); }
  .corporate-items--system .corporate-system-center::before { position: static; width: auto; height: auto; background: none; }
  .corporate-items--system .corporate-system-center::after { display: none; }
}
