body { background: var(--bg-light);
      font-family: "Open Sans", sans-serif;
      line-height: 1.7;
      color: var(--text-dark);
      overflow-x: hidden; }
header { background: var(--white);
      position: sticky;
      top: 0;
      z-index: 1000;
      height: 70px;
      display: flex;
      align-items: center;
      box-shadow: var(--shadow-card); }
.btn { display: inline-block;
      padding: 0.8rem 2rem;
      background: var(--primary-color);
      color: var(--white) !important;
      text-decoration: none;
      border-radius: var(--radius-sm);
      font-weight: 600;
      transition: background 0.2s; }
.btn-accent { background: var(--accent-color); }
.btn-accent:hover { background: var(--accent-hover); }
.hero-casos { background: var(--primary-color);
      padding: 5rem 0 4rem;
      color: var(--white);
      text-align: center;
      position: relative;
      overflow: hidden; }
.hero-casos::before { content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 70% 50%, rgba(37,99,235,0.25) 0%, transparent 60%); }
.hero-casos .container { position: relative; z-index: 1; }
.eyebrow { display: inline-block;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent-light);
      border: 1px solid rgba(96,165,250,0.4);
      padding: 5px 14px;
      border-radius: var(--radius-md);
      margin-bottom: 1.5rem; }
.hero-casos h1 { font-family: var(--font-serif); font-weight: 600;
      font-size: clamp(2rem, 5vw, 3.2rem);
      font-weight: 700;
      line-height: 1.15; }
.hero-casos h1 span { color: var(--accent-light); }
.hero-casos p { font-size: 1.1rem;
      opacity: 0.85;
      max-width: 600px;
      margin: 0 auto 2.5rem; }
.stats-row { display: flex;
      justify-content: center;
      gap: 3rem;
      flex-wrap: wrap;
      margin-top: 3rem;
      padding-top: 3rem;
      border-top: 1px solid rgba(255,255,255,0.12); }
.stat-item { text-align: center; }
.stat-num { font-family: "Montserrat", sans-serif;
      font-size: 2.4rem;
      font-weight: 700;
      color: var(--white); }
.stat-num span { color: var(--accent-light); }
.stat-label { font-size: 0.8rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      opacity: 0.6;
      margin-top: 4px; }
.acaba-stats-grid { display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 0.6rem; }
.acaba-stat { background: rgba(255,255,255,0.07);
      border-radius: var(--radius-md);
      padding: 0.85rem 0.4rem;
      text-align: center; }
.acaba-stat-num { font-family: "Montserrat", sans-serif;
      font-size: 1.35rem;
      font-weight: 700;
      color: var(--white);
      line-height: 1.1;
      white-space: nowrap; }
.acaba-stat-num.success { color: #86efac; }
.acaba-stat-label { font-size: 0.62rem;
      text-transform: uppercase;
      letter-spacing: 0.03em;
      opacity: 0.55;
      margin-top: 4px;
      line-height: 1.3; }
@media (max-width: 700px) {
  .acaba-stats-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 420px) {
  .acaba-stats-grid { grid-template-columns: repeat(2, 1fr); }
}
.acaba-banner { padding: 2.5rem; }
@media (max-width: 720px) {
  .container { padding: 0 1rem; }
  .hero-casos { padding: 3rem 0 2.5rem; }
  .cases { padding: 2.5rem 0 3.5rem; }
  .case-header { padding: 1.1rem 1rem 1rem; }
  .case-body { padding: 1.1rem 1rem; }
  .case-footer { padding: 0 1rem 1.1rem; }
  .acaba-banner { padding: 1.5rem 1.1rem; }
  .disclaimer { padding: 1rem 1.1rem; margin: 2rem auto 0; }
  .service-crosslinks { padding: 1.5rem 1rem !important; }
  .service-crosslinks .internal-link-card { padding: 1rem !important; }
}
.filter-bar { background: var(--bg-alt);
      border-bottom: 1px solid #e2e8f0;
      padding: 1.2rem 0;
      position: sticky;
      top: 70px;
      z-index: 99; }
.filter-inner { display: flex;
      gap: 0.5rem;
      flex-wrap: wrap;
      justify-content: center; }
.filter-btn { padding: 0.45rem 1.2rem;
      border: 1.5px solid #e2e8f0;
      background: var(--white);
      color: var(--text-muted);
      border-radius: var(--radius-md);
      font-size: 0.82rem;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.2s;
      font-family: "Open Sans", sans-serif; }
.filter-btn:hover, .filter-btn.active { border-color: var(--accent-color);
      background: var(--accent-color);
      color: var(--white); }
.cases { padding: 4rem 0 6rem; }
.section-intro { text-align: center;
      margin-bottom: 3rem; }
.section-intro h2 { font-family: var(--font-serif); font-weight: 600;
      font-size: 1.8rem;
      color: var(--primary-color); }
.section-intro p { color: var(--text-muted);
      font-size: 0.95rem; }
.cases-grid { display: grid;
      grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
      gap: 1.5rem; }
.case-card { background: var(--white);
      border: 1px solid #e2e8f0;
      border-radius: var(--radius-md);
      overflow: hidden;
      transition: transform 0.2s, box-shadow 0.2s;
      display: flex;
      flex-direction: column; }
.case-card:hover { transform: translateY(-4px);
      box-shadow: var(--shadow-hover); }
.case-header { background: var(--primary-color);
      padding: 1.4rem 1.6rem 1.2rem;
      position: relative; }
.case-header.resolved { background: var(--primary-color); }
.case-tag { display: inline-flex;
      align-items: center;
      gap: 5px;
      font-size: 10px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.15em;
      background: var(--success);
      color: var(--white);
      padding: 3px 10px;
      border-radius: var(--radius-md);
      margin-bottom: 0.8rem; }
.case-tag::before { content: "✓";
      font-size: 10px; }
.case-city { font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.5);
      margin-bottom: 0.5rem; }
.case-title { font-family: var(--font-serif); font-weight: 600;
      font-size: 1.3rem;
      font-weight: 700;
      color: var(--white);
      line-height: 1.25; }
.case-title em { font-style: normal;
      color: var(--accent-light);
      text-decoration: underline;
      text-decoration-thickness: 2px;
      text-underline-offset: 3px; }
.case-body { padding: 1.4rem 1.6rem;
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 1rem; }
.case-meta { display: flex;
      gap: 1rem;
      flex-wrap: wrap; }
.meta-item { display: flex;
      flex-direction: column;
      gap: 2px; }
.meta-label { font-size: 10px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--text-muted); }
.meta-value { font-size: 0.92rem;
      font-weight: 700;
      color: var(--primary-color); }
.meta-value.danger { color: #dc2626; }
.meta-value.success { color: var(--success); }
.case-description { font-size: 0.88rem;
      color: var(--text-muted);
      line-height: 1.65;
      flex: 1; }
.case-result { background: var(--success-bg);
      border: 1px solid #bbf7d0;
      border-radius: var(--radius-md);
      padding: 0.9rem 1.1rem;
      font-size: 0.85rem;
      color: #14532d;
      font-weight: 600;
      line-height: 1.5; }
.case-result strong { display: block; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 3px; color: var(--success); }
.case-footer { padding: 0 1.6rem 1.4rem; }
.case-type-badge { display: inline-block;
      font-size: 10px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--accent-color);
      background: rgba(37,99,235,0.08);
      padding: 3px 10px;
      border-radius: var(--radius-sm); }
.disclaimer { background: #fefce8;
      border: 1px solid #fef08a;
      border-radius: var(--radius-md);
      padding: 1.2rem 1.5rem;
      font-size: 0.82rem;
      color: #713f12;
      max-width: 720px;
      margin: 3rem auto 0;
      text-align: center;
      line-height: 1.6; }
.disclaimer strong { display: block; margin-bottom: 4px; color: #92400e; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; }
.cta { background: var(--primary-color);
      padding: 5rem 0;
      text-align: center;
      color: var(--white); }
.cta h2 { font-family: var(--font-serif); font-weight: 600;
      font-size: 2rem; }
.cta p { opacity: 0.8;
      max-width: 500px;
      margin: 0 auto 2rem;
      font-size: 1rem; }
.cta-btns { display: flex;
      gap: 1rem;
      justify-content: center;
      flex-wrap: wrap; }
.btn-outline { background: transparent;
      border: 2px solid rgba(255,255,255,0.4);
      color: var(--white) !important;
      padding: 0.75rem 1.8rem;
      border-radius: var(--radius-sm);
      text-decoration: none;
      font-weight: 600;
      font-size: 0.9rem;
      transition: border-color 0.2s; }
.btn-outline:hover { border-color: var(--white); }
footer { background: var(--primary-color, #1e293b);
      color: var(--white, #ffffff);
      padding: 6rem 0 2rem; }
.footer-grid { display: grid;
      grid-template-columns: 2fr 1fr 1fr 1fr;
      gap: 4rem;
      margin-bottom: 4rem; }
footer a:hover { color: var(--accent-light, #60a5fa) !important; text-decoration: underline !important; }
.footer-legal { border-top: 1px solid rgba(255,255,255,0.05);
      padding-top: 2rem;
      text-align: center;
      font-size: 0.8rem;
      opacity: 0.6; }
.mobile-toggle span { display: block;
      width: 25px;
      height: 2px;
      background: var(--primary-color);
      transition: all 0.3s ease; }
@media (max-width: 768px) {
  .mobile-social-links p { font-size: 0.9rem;
        color: var(--text-muted);
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 0;
        text-align: center; }
  .social-icons a { width: 50px !important;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #eee !important;
        border-radius: 50%;
        color: var(--primary-color);
        background: white;
        box-shadow: var(--shadow-card);
        padding: 0 !important; }
  .stats-row { gap: 1.5rem; }
  .cases-grid { grid-template-columns: 1fr; }
}
.case-card[data-hidden="true"] { display: none; }