/* === ALC Abogados · componente "cp-split" ===
   Reglas portadas verbatim de design/css/sections.css (líneas 495-516). NO reescribir. */

.cp-split { background: var(--paper); padding: 96px 56px; position: relative; }
.cp-split.dark { background: var(--paper-2); }
.cp-split-inner { position: relative; max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1fr 1.15fr; align-items: center; min-height: 460px; }
.cp-split.rev .cp-split-inner { grid-template-columns: 1.15fr 1fr; }
.cp-split-photo { position: relative; z-index: 1; aspect-ratio: 4/5; max-height: 520px; overflow: hidden; border-radius: 4px; }
.cp-split.rev .cp-split-photo { order: 2; }
.cp-split-photo img { width: 100%; height: 100%; object-fit: cover; }
.cp-split-tint { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(10,28,51,0.25) 0%, transparent 100%); }
.cp-split-frame { position: absolute; top: 32px; right: -40px; width: 56%; height: calc(100% - 64px); border: 4px solid var(--accent); z-index: 0; pointer-events: none; }
.cp-split.rev .cp-split-frame { right: auto; left: -40px; }
.cp-split-card { position: relative; background: var(--paper); padding: 48px 56px; margin-left: -56px; z-index: 2; box-shadow: 0 24px 60px rgba(10,28,51,0.10); display: flex; flex-direction: column; gap: 14px; }
.cp-split.rev .cp-split-card { margin-left: 0; margin-right: -56px; }
.cp-split-card .cp-h2 { font-size: clamp(28px, 3vw, 40px); }
.cp-split-p { font-size: 16px; line-height: 1.65; color: var(--ink-2); }
@media (max-width: 900px) {
  .cp-split { padding: 56px 20px; }
  .cp-split-inner, .cp-split.rev .cp-split-inner { grid-template-columns: 1fr; gap: 24px; min-height: 0; }
  .cp-split-photo { aspect-ratio: 16/10; max-height: 280px; order: 0; }
  .cp-split-card { margin-left: 0; margin-right: 0; padding: 24px; }
  .cp-split-frame { display: none; }
}

