/* === ALC Abogados · componente "about" ===
   Reglas portadas verbatim de design/css/sections.css (líneas 125-156). NO reescribir. */

/* ===== ABOUT (Quiénes somos) ===== */
.alc-about { background: var(--paper); padding: 96px 56px; }
.alc-about-block { position: relative; max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; align-items: center; min-height: 560px; }
.alc-about-photo { position: relative; aspect-ratio: 4/5; max-height: 620px; overflow: hidden; border-radius: 4px; z-index: 1; }
.alc-about-photo img { width: 100%; height: 100%; object-fit: cover; }
.alc-about-photo-tint { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(10,28,51,0.30) 0%, rgba(10,28,51,0.10) 100%); }
.alc-about-frame { position: absolute; top: 32px; right: -32px; width: 50%; height: calc(100% - 64px); border: 4px solid var(--accent); z-index: 1; pointer-events: none; }
.alc-about-card { position: relative; background: var(--paper); padding: 56px 64px; margin-left: -56px; z-index: 2; box-shadow: 0 24px 60px rgba(10,28,51,0.10); border-radius: 4px; display: flex; flex-direction: column; gap: 22px; }
.alc-about-h { font-size: clamp(28px, 3vw, 40px); font-weight: 700; letter-spacing: -0.018em; }
.alc-about-p { font-size: 16px; line-height: 1.65; color: var(--ink-2); }
.alc-about-p strong { color: var(--ink); font-weight: 600; }
@media (max-width: 1024px) { .alc-about-card { padding: 40px 36px; } .alc-about-h { font-size: clamp(24px, 3.4vw, 36px); } }
@media (max-width: 820px) {
  .alc-about { padding: 48px 20px; }
  .alc-about-block { grid-template-columns: 1fr; gap: 0; min-height: 0; }
  .alc-about-photo { aspect-ratio: 16/10; max-height: 280px; order: 1; }
  .alc-about-card { margin-left: 0; padding: 28px 24px; order: 2; box-shadow: none; border: 1px solid var(--line); border-top: none; }
  .alc-about-frame { display: none; }
  .alc-about-btn { width: 100%; justify-content: center; }
}

/* Pillars row (about) */
.alc-pillars { max-width: var(--max); margin: 96px auto 0; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); }
.alc-pillar { padding: 36px 28px 0; display: flex; flex-direction: column; gap: 14px; border-right: 1px solid var(--line); }
.alc-pillar:first-child { padding-left: 0; }
.alc-pillar:last-child { border-right: none; padding-right: 0; }
.alc-pillar-n { font-size: 13px; color: var(--accent-deep); font-weight: 700; }
.alc-pillar-t { font-size: 22px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; }
.alc-pillar-b { font-size: 14.5px; line-height: 1.6; color: var(--ink-2); }
@media (max-width: 900px) { .alc-pillars { margin-top: 56px; grid-template-columns: repeat(2,1fr); gap: 32px 0; } .alc-pillar { padding: 24px 16px 0; } .alc-pillar:nth-child(2) { border-right: none; padding-right: 0; } .alc-pillar:nth-child(3) { padding-left: 0; } }
@media (max-width: 500px) { .alc-pillars { grid-template-columns: 1fr; } .alc-pillar { border-right: none; padding: 20px 0 0; } }

