/* Sistema visual propio para políticas y certificaciones. */
.policies-page {
  --policy-navy: #061b38;
  --policy-blue: #0b61b9;
  --policy-cyan: #0ca4b3;
  --policy-gold: #ffca18;
  --policy-paper: #f4f8fc;
  --policy-line: #d5e0eb;
  --policy-muted: #536779;
  background: var(--policy-paper);
}

.policies-page .container { width: min(1200px, calc(100% - 48px)); }
.policies-page .policies-hero {
  min-height: 590px;
  display: flex;
  align-items: center;
  padding: 0;
  background:
    linear-gradient(90deg, rgba(4, 23, 50, .96) 0%, rgba(4, 23, 50, .87) 47%, rgba(4, 23, 50, .5) 100%),
    url("../assets/nuestras-politicas/images/unsplash/compromiso-calidad.jpg") center / cover;
}
.policies-page .policies-hero::before { background-image: linear-gradient(90deg, rgba(49, 204, 216, .16) 1px, transparent 1px), linear-gradient(rgba(49, 204, 216, .16) 1px, transparent 1px); background-size: 50px 50px; opacity: .35; }
.policies-page .policies-hero::after { display: none; }
.policies-page .policies-hero-shell { grid-template-columns: minmax(0, 1.08fr) minmax(340px, .56fr); gap: 70px; }
.policies-page .policies-eyebrow,
.policies-page .policy-badge { padding: 0; border-radius: 0; background: transparent; color: var(--policy-gold); font: 700 11px/1 "DM Mono", monospace; letter-spacing: .12em; }
.policies-page .policies-eyebrow::before,
.policies-page .policy-badge::before { content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 9px; background: var(--policy-gold); box-shadow: 0 0 0 7px rgba(255, 202, 24, .15); }
.policies-page .policies-hero h1 { max-width: 690px; font-size: clamp(3.25rem, 6.6vw, 6.2rem); }
.policies-page .policies-hero p { max-width: 610px; margin-top: 25px; font-size: 1.12rem; }
.policies-page .policies-hero-card { gap: 13px; padding: 12px; border: 1px solid rgba(151, 210, 234, .44); background: rgba(1, 17, 39, .62); box-shadow: none; }
.policies-page .policies-hero-card img { max-height: 300px; }
.policies-page .policies-hero-card span { color: #fff; font-size: .9rem; }

.policies-page .policy-intro { padding: 74px 0 36px; }
.policies-page .policy-intro-grid { grid-template-columns: .95fr 1.05fr; gap: 18px; }
.policies-page .policy-kpi-card,
.policies-page .policy-summary-card { padding: 30px; border-radius: 0; box-shadow: none; border: 1px solid var(--policy-line); }
.policies-page .policy-kpi-card { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: center; align-content: center; min-height: 240px; padding-top: 46px; background: linear-gradient(135deg, #e7f4ff, #fff); color: var(--policy-navy); }
.policies-page .policy-kpi-card::before { content: "CERTIFICACIONES VIGENTES"; position: absolute; top: 27px; left: 30px; color: var(--policy-blue); font: 700 11px/1 "DM Mono", monospace; letter-spacing: .11em; }
.policies-page .policy-kpi-card strong,
.policies-page .policy-kpi-card span { display: block; min-height: 112px; margin: 0; font-size: 0; background-color: #fff; background-repeat: no-repeat; background-position: center; background-size: 100% auto; border: 1px solid #d2deeb; }
.policies-page .policy-kpi-card strong { background-image: url("../assets/nuestras-politicas/images/iso-9001-2015-certified.svg"); }
.policies-page .policy-kpi-card span { max-width: none; background-image: url("../assets/nuestras-politicas/images/iso-27001-2022-certified.svg"); }
.policies-page .policy-summary-card { background: #fff; }
.policies-page .policy-summary-card h2 { max-width: 600px; margin-bottom: 14px; color: var(--policy-navy); font-size: clamp(2rem, 3.6vw, 3.35rem); }
.policies-page .policy-summary-card p { color: var(--policy-muted); font-size: 1.04rem; }

.policies-page .policy-section { padding: 36px 0; }
.policies-page .policy-card { grid-template-columns: minmax(320px, .68fr) minmax(0, 1fr); gap: 0; padding: 0; border-radius: 0; border: 1px solid var(--policy-line); box-shadow: none; overflow: hidden; }
.policies-page .policy-card.dark { background: var(--policy-navy); }
.policies-page .policy-visual { position: relative; top: auto; gap: 0; min-height: 100%; background: #e9f4fc; }
.policies-page .policy-visual img { max-height: none; height: 100%; min-height: 490px; border-radius: 0; background: transparent; object-fit: cover; }
.policies-page .policy-card.dark .policy-visual img { padding: 34px; background: linear-gradient(145deg, #073b68, #061b38); object-fit: contain; }
.policies-page .policy-content { padding: clamp(30px, 4vw, 55px); }
.policies-page .policy-content h2 { font-size: clamp(2.3rem, 4vw, 4rem); }
.policies-page .policy-content h3 { max-width: 670px; margin: 18px 0 20px; }
.policies-page .policy-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; gap: 14px; }
.policies-page .policy-list li { font-size: .98rem; }
.policies-page .policy-list li::before { width: 9px; height: 9px; border-radius: 50%; background: var(--policy-cyan); }
.policies-page .policy-card.dark .policy-list li::before { background: var(--policy-gold); }
.policies-page .policy-meta { margin-top: 28px; }
.policies-page .policy-meta span { border-radius: 0; background: #e8f2fb; color: var(--policy-navy); font-size: .82rem; }

.policies-page .policy-security-section { padding: 36px 0 84px; }
.policies-page .security-policy-card { padding: 0; border-radius: 0; border: 1px solid #143c67; background: var(--policy-navy); box-shadow: none; color: #fff; }
.policies-page .security-policy-card::before { background-image: linear-gradient(rgba(58, 215, 228, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(58, 215, 228, .14) 1px, transparent 1px); background-size: 42px 42px; opacity: .45; }
.policies-page .security-policy-card::after { width: 400px; height: 400px; right: -180px; top: -220px; background: var(--policy-cyan); opacity: .15; }
.policies-page .security-policy-head { grid-template-columns: 1.1fr .9fr; gap: 42px; padding: 52px 52px 0; margin-bottom: 38px; }
.policies-page .security-policy-head h2 { color: #fff; font-size: clamp(2.45rem, 4.8vw, 4.55rem); }
.policies-page .security-policy-head p { padding: 0 0 0 22px; border-left-color: var(--policy-gold); background: transparent; color: #c9d9e9; box-shadow: none; }
.policies-page .security-policy-layout { grid-template-columns: minmax(310px, .7fr) minmax(0, 1fr); gap: 0; }
.policies-page .security-policy-visual { gap: 0; padding: 0; border: 0; background: #09284e; box-shadow: none; }
.policies-page .security-policy-visual img { min-height: 450px; }
.policies-page .security-policy-visual figcaption { padding: 16px 22px; background: #09284e; color: #d9e8f5; font-size: .82rem; }
.policies-page .security-policy-copy { padding: 46px 52px 52px; }
.policies-page .security-policy-copy h3 { color: var(--policy-gold); }
.policies-page .security-policy-copy p { color: #d3e0ed; }
.policies-page .security-commitments { gap: 1px; margin-top: 12px; background: rgba(91, 181, 207, .28); }
.policies-page .security-commitments span { min-height: 88px; padding: 18px 18px 18px 44px; border: 0; background: rgba(2, 18, 40, .57); color: #fff; box-shadow: none; }
.policies-page .security-commitments span::before { width: 10px; height: 10px; left: 19px; top: 24px; background: var(--policy-cyan); box-shadow: 0 0 0 6px rgba(12, 164, 179, .16); }
.policies-page .security-policy-card .policy-meta span { background: rgba(255,255,255,.1); color: #fff; }

@media (max-width: 1180px) and (min-width: 801px) {
  .policies-page .policies-hero-shell { grid-template-columns: 1.05fr .6fr; }
  .policies-page .policy-intro-grid { grid-template-columns: .95fr 1.05fr; }
  .policies-page .policy-card { grid-template-columns: .62fr 1fr; }
  .policies-page .security-policy-head { grid-template-columns: 1.05fr .95fr; }
  .policies-page .security-policy-layout { grid-template-columns: .65fr 1fr; }
  .policies-page .security-policy-head, .policies-page .security-policy-copy { padding-inline: 34px; }
  .policies-page .policy-content { padding: 34px; }
}

@media (max-width: 800px) {
  .policies-page .container { width: min(100% - 32px, 680px); }
  .policies-page .policies-hero { min-height: 560px; padding: 76px 0; }
  .policies-page .policies-hero-shell, .policies-page .policy-intro-grid, .policies-page .policy-card, .policies-page .security-policy-head, .policies-page .security-policy-layout { grid-template-columns: 1fr; }
  .policies-page .policies-hero-card { display: none; }
  .policies-page .policy-kpi-card { min-height: 260px; }
  .policies-page .policy-visual img, .policies-page .security-policy-visual img { min-height: 300px; }
  .policies-page .policy-list { grid-template-columns: 1fr; }
  .policies-page .security-policy-head { padding: 38px 28px 0; }
  .policies-page .security-policy-copy { padding: 32px 28px 36px; }
}
