
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; scrollbar-gutter: stable; }
    html, body { width: 100%; max-width: 100%; overflow-x: hidden; margin: 0; padding: 0; }
    body { font-family: 'Open Sans', sans-serif; margin: 0; color: #333; line-height: 1.6; }
    h1, h2, h3, h4, h5, h6, .font-heading { font-family: 'Oswald', sans-serif; }
    .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 24px 0; border-radius: 8px; border: 1px solid #e2e8f0; }
    .cobertura-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 15px; }
    .cobertura-table th { background: #0d0d0d; color: #fff; padding: 14px 18px; font-family: 'Oswald', sans-serif; font-size: 16px; letter-spacing: 0.5px; border-bottom: 2px solid #d21f2b; }
    .cobertura-table td { padding: 14px 18px; border-bottom: 1px solid #edf2f7; }
    .cobertura-table tr:nth-child(even) { background: #f8fafc; }
    .cobertura-table tr:hover { background: #fdf2f2; }
    .zona-link-tag { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; background: #fff; border: 1px solid #e2e8f0; border-radius: 20px; color: #0d0d0d; text-decoration: none; font-weight: 600; font-size: 14px; transition: all 0.2s ease; }
    .zona-link-tag svg { flex-shrink: 0; color: #d21f2b; transition: all 0.2s ease; }
    .zona-link-tag:hover { background: #d21f2b; color: #fff; border-color: #d21f2b; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(210,31,43,0.15); }
    .zona-link-tag:hover svg { color: #fff !important; fill: #fff !important; }
    .servicio-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 24px; transition: all 0.2s ease; text-decoration: none; color: inherit; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
    .servicio-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #d21f2b; opacity: 0; transition: opacity 0.2s; }
    .servicio-card:hover { transform: translateY(-3px); border-color: #d21f2b; box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
    .servicio-card:hover::before { opacity: 1; }
    .servicio-card:hover h3 { color: #d21f2b; }
    .building-type-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 28px; border-left: 4px solid #d21f2b; box-shadow: 0 4px 15px rgba(0,0,0,0.03); }
    details summary::-webkit-details-marker { display: none; }
  
    .bloque-resumen-tarifas {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-left: 4px solid #d21f2b;
      border-radius: 8px;
      padding: 18px 22px;
      margin: 20px 0;
    }
    .resumen-tarifas-texto {
      font-size: 15.5px;
      color: #1e293b;
      line-height: 1.6;
      margin: 0 0 10px;
    }
    .garantias-linea {
      font-size: 13.5px;
      color: #64748b;
      font-weight: 600;
      margin: 0;
    }



:root {
  --rojo-urgencias: #d21f2b;
  --amarillo-llave: #f5b301;
  --azul-profundo: #0b2545;
  --gris-fondo: #f5f7fa;
  --gris-linea: #e2e8f0;
  --texto: #25313e;
  --fuente-titulos: 'Poppins', sans-serif;
  --fuente-texto: 'Roboto', sans-serif;
  --sombra: 0 8px 28px rgba(11,37,69,.10);
  --radio: 10px;
}





/* FLOATING YELLOW CALL BUTTON */
.floating-cta-container{position:fixed;bottom:30px;right:30px;z-index:999999;display:flex;justify-content:center;align-items:center;max-width:calc(100vw - 20px);overflow:visible;pointer-events:none}
.btn-call-float{position:relative;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,gold 0%,#ffc107 100%);color:#000;text-decoration:none;padding:15px 28px;border-radius:50px;font-family:'Segoe UI',system-ui,sans-serif;font-weight:700;font-size:1.1rem;box-shadow:0 4px 16px rgba(245,179,1,.45),0 2px 6px rgba(0,0,0,.08);transition:all .3s ease;overflow:hidden;border:none;pointer-events:auto}
.btn-call-float:hover{transform:scale(1.04);box-shadow:0 6px 22px rgba(245,179,1,.65),0 3px 8px rgba(0,0,0,.12)}
.btn-call-float svg{width:22px;height:22px;fill:#000;animation:shake 3s infinite}
.btn-text-group{display:flex;flex-direction:column;line-height:1.1}
.btn-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;font-weight:600}
.btn-number{font-size:1.3rem;font-weight:800}
.btn-call-float:after,.btn-call-float:before{display:none !important}

@keyframes ripple{0%{width:100%;height:100%;opacity:.7;border-width:2px}100%{width:160%;height:180%;opacity:0;border-width:0}}
.shine-effect{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,.5) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);animation:shine 5s infinite}
@keyframes shine{0%{left:-100%}100%,20%{left:200%}}
@keyframes shake{0%,88%{transform:rotate(0)}91%{transform:rotate(10deg)}93%{transform:rotate(-10deg)}95%{transform:rotate(10deg)}97%{transform:rotate(-10deg)}100%{transform:rotate(0)}}
@media (prefers-reduced-motion: reduce){.btn-call-float,.btn-call-float svg,.btn-call-float:after,.btn-call-float:before,.shine-effect{animation:none !important;transition:none !important}}
@media(max-width:480px){footer > div:last-child{padding-bottom: calc(125px + env(safe-area-inset-bottom, 0px)) !important}.floating-cta-container{bottom:20px;right:auto;left:50%;transform:translateX(-50%);width:92%;overflow:visible;pointer-events:none}.btn-call-float{width:100%;justify-content:center;padding:18px 20px;box-shadow:0 4px 16px rgba(245,179,1,.45),0 2px 6px rgba(0,0,0,.08);border:none;pointer-events:auto}.btn-number{font-size:1.5rem}}

/* TOPBAR */
.topbar { background: var(--rojo-urgencias); color: #fff; font-size: 14px; font-weight: 500; }
.topbar .contenedor-tb { max-width: 1320px; margin: 0 auto; display: flex; justify-space-between; align-items: center; padding: 8px 24px; gap: 12px; }
.topbar a { color: #fff; font-weight: 700; letter-spacing: .3px; text-decoration: none; }
.topbar .pulso { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--amarillo-llave); margin-right: 8px; animation: pulso 1.6s infinite; }
@keyframes pulso { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* HEADER PRINCIPAL */
header.principal { background: #000; border-bottom: 3px solid var(--rojo-urgencias); position: sticky; top: 0; z-index: 60; box-shadow: 0 2px 14px rgba(0,0,0,.35); width: 100%; }
header.principal .contenedor-hdr { max-width: 1280px; width: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 24px; box-sizing: border-box; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; flex-shrink: 0; }

/* DESKTOP NAV MENU */
nav.menu-desktop { display: block; }
nav.menu-desktop > ul { display: flex; list-style: none; gap: 2px; align-items: center; margin: 0; padding: 0; }
nav.menu-desktop > ul > li { position: relative; }
nav.menu-desktop > ul > li > a { display: block; padding: 8px 10px; font-family: var(--fuente-titulos); font-weight: 600; font-size: 13px; color: #fff; border-radius: 6px; white-space: nowrap; transition: .2s; }
nav.menu-desktop > ul > li > a:hover { background: rgba(255,255,255,.1); color: var(--amarillo-llave); }

/* DROPDOWN SUBMENU */
.submenu { position: absolute; top: 100%; left: 0; background: #fff; min-width: 240px; border: 1px solid var(--gris-linea); border-top: 3px solid var(--rojo-urgencias); border-radius: 0 0 var(--radio) var(--radio); box-shadow: var(--sombra); list-style: none; padding: 8px 0; opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s; z-index: 70; font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important; }
nav.menu-desktop li:hover > .submenu, nav.menu-desktop li:focus-within > .submenu { opacity: 1; visibility: visible; transform: translateY(0); }
nav.menu-desktop > ul > li:nth-last-child(-n+2) .submenu { left: auto; right: 0; }
.submenu a { display: block; padding: 9px 18px; font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important; font-size: 13.5px; font-weight: 500; color: var(--texto); text-decoration: none; transition: background .15s, color .15s; }
.submenu a:hover { background: var(--gris-fondo); color: var(--rojo-urgencias); }

/* CTA BUTTON */
.cta-header { background: var(--amarillo-llave); color: var(--azul-profundo); font-family: var(--fuente-titulos); font-weight: 700; font-size: 13px; padding: 10px 18px; border-radius: 50px; white-space: nowrap; transition: .2s; text-decoration: none; flex-shrink: 0; }
.cta-header:hover { background: var(--rojo-urgencias); color: #fff; }

/* HAMBURGUER & MOBILE */
.hamburguesa { display: none; background: transparent; border: 0; color: #fff; font-size: 28px; cursor: pointer; padding: 6px 10px; line-height: 1; border-radius: 6px; transition: background .2s; flex-shrink: 0; }
.hamburguesa:hover { background: rgba(255,255,255,.15); }

@media (max-width: 1180px) {
  nav.menu-desktop { display: none !important; }
  .hamburguesa { display: flex !important; align-items: center; justify-content: center; }
}
@media (max-width: 576px) {
  .cta-header { display: none !important; }
  .logo img { max-height: 38px !important; }
  header.principal .contenedor-hdr { padding: 10px 16px; }
}
header.principal a, .topbar a, #menu-movil-drawer a { text-decoration: none; }



footer { width: 100% !important; }
footer > div { max-width: 1280px !important; margin: 0 auto !important; padding-left: 24px !important; padding-right: 24px !important; }
footer > div:nth-child(2) { max-width: 100% !important; }
footer a { transition: color .2s ease; }
footer a:hover { color: #d21f2b !important; }
footer a[aria-label]:hover { background: #d21f2b !important; }
@media (max-width: 768px) {
  footer > div { padding-left: 16px !important; padding-right: 16px !important; }
  footer > div:first-child {
    padding-top: 50px !important;
    padding-bottom: 40px !important;
    gap: 32px 20px !important;
  }
}

/* Clases de optimización técnica (C6.7) */
.drawer-sublink { color: #ccc; text-decoration: none; font-size: 14px; padding: 8px 14px; display: block; }
.drawer-navlink { color: #fff; text-decoration: none; font: 600 16px 'Poppins', sans-serif; text-transform: uppercase; padding: 12px 8px; border-bottom: 1px solid #1a1a1a; display: block; }
.footer-col-title { font: 600 15px 'Oswald', sans-serif; letter-spacing: 1px; color: #fff; margin: 0 0 16px; padding-bottom: 8px; border-bottom: 2px solid #d21f2b; display: inline-block; }
.footer-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; font-size: 13.5px; }
.footer-list a { color: #ccc; }
.ico-pin { width: 14px; height: 14px; fill: currentColor; }

/* Helper classes for Zone optimization (R8) */
.hero-section { position: relative; min-height: 480px; display: flex; align-items: center; justify-content: center; text-align: center; background: #0d0d0d; overflow: hidden; }
.hero-bg-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; pointer-events: none; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(210,31,43,.75) 0%, rgba(13,13,13,.88) 100%); mix-blend-mode: multiply; }
.hero-dark { position: absolute; inset: 0; background: rgba(0,0,0,.4); }
.hero-stripe { position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: linear-gradient(90deg, #d21f2b, #f5b301); }
.hero-container { position: relative; z-index: 2; max-width: 1000px; padding: 70px 24px; color: #fff; }
.hero-breadcrumbs { font-size: 13px; margin-bottom: 16px; opacity: .9; }
.hero-h1 { font: 800 clamp(2.1rem, 5vw, 3.4rem) 'Oswald', sans-serif; text-transform: uppercase; margin: 0 0 18px; line-height: 1.15; text-shadow: 0 3px 15px rgba(0,0,0,.6); }
.hero-desc { font-size: clamp(1.02rem, 2vw, 1.25rem); line-height: 1.55; max-width: 820px; margin: 0 auto 26px; color: #fff; font-weight: 600; text-shadow: 0 2px 8px rgba(0,0,0,.7); }
.hero-btns { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin: 0; }
.btn-hero-call { display: inline-flex; align-items: center; gap: 10px; background: #d21f2b; color: #fff; font: 700 17px 'Oswald', sans-serif; text-transform: uppercase; letter-spacing: 1px; padding: 15px 32px; border-radius: 8px; text-decoration: none; box-shadow: 0 6px 20px rgba(210,31,43,.45); }
.btn-hero-contact { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.15); color: #fff; font: 600 16px 'Oswald', sans-serif; text-transform: uppercase; letter-spacing: 1px; padding: 14px 28px; border-radius: 8px; text-decoration: none; border: 1px solid rgba(255,255,255,.35); }

/* Template B Hero & Breadcrumbs */
.hero-b-section { background: linear-gradient(135deg, #071c33 0%, #0b2b4d 100%); color: #fff; padding: 50px 24px 60px; }
.hero-b-badge { display: inline-block; background: rgba(210,31,43,0.2); color: #ff6b6b; border: 1px solid rgba(210,31,43,0.4); padding: 4px 12px; border-radius: 20px; font: 700 12px 'Oswald', sans-serif; text-transform: uppercase; margin-bottom: 16px; letter-spacing: 1px; }
.hero-b-h1 { font: 800 clamp(2rem, 4vw, 3.2rem) 'Oswald', sans-serif; line-height: 1.15; color: #fff; margin: 0 0 18px; text-transform: uppercase; }
.hero-b-desc { font-size: clamp(16px, 1.8vw, 18px); color: #cbd5e1; line-height: 1.6; margin: 0 0 24px; max-width: 760px; }
.btn-b-call { background: #d21f2b; color: #fff; font: 700 18px 'Oswald', sans-serif; text-transform: uppercase; padding: 14px 28px; border-radius: 6px; text-decoration: none; box-shadow: 0 4px 12px rgba(210,31,43,0.35); display: inline-flex; align-items: center; gap: 8px; }
.btn-b-prices { background: rgba(255,255,255,0.1); color: #fff; border: 1px solid rgba(255,255,255,0.25); font: 700 16px 'Oswald', sans-serif; text-transform: uppercase; padding: 14px 24px; border-radius: 6px; text-decoration: none; }
.b-breadcrumbs { background: #f1f5f9; padding: 12px 24px; border-bottom: 1px solid #e2e8f0; font-size: 14px; }

/* TOC & Sections */
.toc, .toc-nav { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 20px 24px; margin: 0 0 40px; }
body > .toc, body > .toc-nav { max-width: 1152px; width: calc(100% - 48px); margin: 40px auto -20px; }
.toc-nav-b { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 18px 22px; margin-bottom: 30px; }
.toc-summary { font: 700 16px 'Oswald', sans-serif; color: #0d0d0d; text-transform: uppercase; cursor: pointer; display: flex; align-items: center; justify-content: space-between; list-style: none; }
.toc-summary::-webkit-details-marker { display: none; }
.toc-summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid #d21f2b; border-bottom: 2px solid #d21f2b; transform: rotate(45deg); transition: transform .2s ease; margin-left: 12px; }
details[open] > .toc-summary::after { transform: rotate(-135deg); }
.toc-list { margin: 14px 0 0; padding-left: 20px; display: grid; gap: 8px; font-size: 14.5px; }
.indice-titulo { font: 700 16px 'Oswald', sans-serif; color: #0d0d0d; text-transform: uppercase; margin: 0 0 12px; }

.contenido-zona { max-width: 1200px; margin: 60px auto; padding: 0 24px; }
.sec-mb { margin-bottom: 64px; }
.sec-max { max-width: 850px; }
.sec-h2 { font: 700 clamp(1.8rem, 3.2vw, 2.5rem) 'Oswald', sans-serif; text-transform: uppercase; color: #0d0d0d; margin: 10px 0 16px; }
.sec-h2-0 { font: 700 clamp(1.8rem, 3.2vw, 2.5rem) 'Oswald', sans-serif; text-transform: uppercase; color: #0d0d0d; margin: 0 0 16px; }
.sec-p { font-size: 16px; color: #444; line-height: 1.7; margin: 0 0 16px; }
.sec-p-last { font-size: 16px; color: #444; line-height: 1.7; margin: 0; }
.sec-p-card { font-size: 15px; color: #555; line-height: 1.7; margin: 0; }
.sec-box { margin-bottom: 64px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 36px; }
.tarifas-section { margin-bottom: 64px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 16px; padding: 36px 32px; }

.step-circle { width: 36px; height: 36px; border-radius: 50%; background: #1a1a1a; color: #fff; display: flex; align-items: center; justify-content: center; font: 700 15px 'Oswald', sans-serif; margin-bottom: 12px; }
.barrio-card { background: #fff; border: 1px solid #e2e8f0; border-left: 4px solid #d21f2b; border-radius: 8px; padding: 24px; margin-bottom: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.barrio-bloque { background: #fff; border: 1px solid #e2e8f0; border-left: 4px solid #d21f2b; border-radius: 10px; padding: 22px 24px; margin: 24px 0; box-shadow: 0 2px 10px rgba(0,0,0,0.03); }
.barrio-h3 { font: 700 16px 'Oswald', sans-serif; color: #0d0d0d; text-transform: uppercase; letter-spacing: 1px; margin: 0 0 8px; }
.barrio-h3-b { font: 700 18px 'Oswald', sans-serif; text-transform: uppercase; color: #0d0d0d; margin: 0 0 10px; }
.barrio-desc { font-size: 15.5px; color: #444; line-height: 1.65; margin: 14px 0 0; padding-top: 14px; border-top: 1px solid #eee; }
.tiempo-zona-aviso { font-size: 15px; color: #334155; margin: 16px 0 20px; line-height: 1.6; }
.h3-oswald { font: 700 20px 'Oswald', sans-serif; color: #0d0d0d; margin: 0 0 12px; display: flex; align-items: center; gap: 10px; }
.h4-oswald { font: 700 15px 'Oswald', sans-serif; text-transform: uppercase; color: #0d0d0d; margin: 0 0 14px; }

.faq-q { font: 700 17px 'Oswald', sans-serif; color: #0d0d0d; cursor: pointer; display: flex; justify-content: space-between; align-items: center; list-style: none; }
.faq-a { margin: 12px 0 0; line-height: 1.8; color: #555; }
.faq-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 18px 22px; margin-bottom: 14px; box-shadow: 0 2px 6px rgba(0,0,0,0.03); }
.faq-card-alt { background: #f8fafc; border-radius: 10px; padding: 18px 22px; border: 1px solid #e2e8f0; margin-bottom: 14px; }
.faq-icon { font-size: 20px; font-weight: 700; color: #d21f2b; }

.fig-card { border-radius: 10px; overflow: hidden; box-shadow: 0 6px 20px rgba(0,0,0,.08); aspect-ratio: 4/3; }
.fig-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fig-cap { font-size: 13px; color: #666; margin-top: 8px; line-height: 1.5; }
.link-rojo { color: #d21f2b; text-decoration: none; }
.link-blanco { color: #fff; text-decoration: none; }
.ico-edificio { width: 22px; height: 22px; fill: none; stroke: #d21f2b; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

/* Clases de plantilla B de zonas */
.badge-tiempo { background: #e0f2fe; color: #0369a1; padding: 4px 10px; border-radius: 20px; font-size: 13px; font-weight: 700; white-space: nowrap; }
.servicios-tags-wrap { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 24px; }
.servicio-tag { display: inline-flex; align-items: center; background: #f1f5f9; color: #0f172a; padding: 8px 16px; border-radius: 6px; text-decoration: none; font-weight: 600; font-size: 14px; border: 1px solid #cbd5e1; transition: .2s; }
.servicio-tag:hover { background: #d21f2b; color: #fff; border-color: #d21f2b; }
.zona-static-tag { display: inline-flex; align-items: center; gap: 6px; background: #f8fafc; color: #64748b; padding: 8px 16px; border-radius: 20px; font-size: 14px; border: 1px solid #e2e8f0; }
.zona-static-tag svg { flex-shrink: 0; color: #94a3b8; }
@media (max-width: 768px) {
  .hero-grid { grid-template-columns: 1fr !important; }
  table.cobertura-table td, table.cobertura-table th { padding: 10px 12px; font-size: 14px; }
}

/* Clases de páginas de servicio (7 servicios principales) */
.badge { display: inline-block; background: #d21f2b; color: #fff; padding: 6px 14px; border-radius: 4px; font-size: 0.8rem; font-weight: 700; letter-spacing: 1px; margin-bottom: 12px; }
.hero-btn { display: inline-flex; align-items: center; gap: 10px; background: #f5b301; color: #0b2545; font-family: 'Oswald', sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; font-size: 1.1rem; padding: 14px 28px; border-radius: 50px; text-decoration: none; transition: transform .2s, background .2s; box-shadow: 0 4px 15px rgba(245,179,1,.35); }
.hero-btn:hover { background: #d21f2b; color: #fff; transform: translateY(-2px); }
.service-trust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: center; margin: 2rem 0 2.5rem; }
@media (max-width: 768px) { .service-trust-grid { grid-template-columns: 1fr; margin: 1.5rem 0; } }
.service-img-card { border-radius: 12px; overflow: hidden; box-shadow: 0 8px 30px rgba(0,0,0,.08); border: 1px solid #e2e8f0; background: #fff; margin: 0; }
.service-img-card img { width: 100%; height: auto; display: block; object-fit: cover; }
.service-img-card figcaption { padding: 10px 14px; font-size: 0.85rem; color: #64748b; background: #f8fafc; border-top: 1px solid #e2e8f0; line-height: 1.4; }
.trust-points-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 22px 20px; }
.trust-point-item { display: flex; gap: 12px; margin-bottom: 12px; font-size: 0.92rem; line-height: 1.45; color: #334155; }
.trust-point-item:last-child { margin-bottom: 0; }
.trust-icon { width: 18px; height: 18px; color: #d21f2b; flex-shrink: 0; margin-top: 2px; }
.service-step-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 16px 18px; border-left: 4px solid #d21f2b; margin-bottom: 12px; box-shadow: 0 2px 6px rgba(0,0,0,.02); }
.service-case-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 18px 20px; margin-bottom: 14px; }
.region-card-link { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px 16px; color: #0f172a; font-weight: 600; font-size: 14px; text-decoration: none; display: flex; align-items: center; justify-content: space-between; transition: all .2s; }
.region-card-link:hover { background: #d21f2b; color: #fff; border-color: #d21f2b; transform: translateY(-2px); }
