/* ZEIT policies: compact certificate layout. UTF-8, ASCII comments. */
.policies-page { --policy-line: #d5e0eb; --policy-muted: #536779; --policy-blue: #145786; background: #f3f7fa; }
.policies-page .container { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.policies-page .policies-hero { display: flex; align-items: center; min-height: 400px; padding: 64px 0; background: linear-gradient(90deg, rgba(1,20,35,.95), rgba(1,20,35,.65)), url('../assets/nuestras-politicas/images/unsplash/compromiso-calidad.jpg') center / cover; color: #fff; }
.policies-hero-shell { width: 100%; }
.policies-page .policies-eyebrow { display: block; color: #ffce00; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.policies-page .policies-hero h1 { max-width: 720px; margin: 20px 0; color: #fff; font-size: clamp(36px, 4.5vw, 56px); line-height: 1.12; }
.policies-page .policies-hero p { max-width: 660px; margin: 0; color: #d3e0ed; }
.policy-hero-link { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; margin-top: 28px; padding: 12px 18px; background: #ffce00; color: #011423; text-decoration: none; font-weight: 600; }
.policy-hero-link:focus-visible { outline: 3px solid #ffce00; outline-offset: 5px; }
.policy-certifications { padding: 56px 0 64px; }
.policy-certifications-heading { display: grid; gap: 16px; margin-bottom: 28px; }
.policy-section-label { display: block; margin-bottom: 8px; color: #145786; font-size: 13px; font-weight: 600; }
.policy-certifications-heading h2 { margin: 0; color: #011423; font-size: clamp(28px, 3vw, 36px); }
.policy-certifications-heading p { max-width: 900px; margin: 0; color: #536779; }
.policy-certificate { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 20px 32px; margin-top: 16px; padding: 24px; border: 1px solid #d5e0eb; background: #fff; scroll-margin-top: 110px; }
.policy-certificate-logo { display: block; width: 180px; max-width: 100%; height: auto; margin-bottom: 16px; }
.policy-certificate h3 { margin: 0 0 12px; color: #011423; font-size: 22px; line-height: 1.3; }
.policy-certificate-intro p { margin: 0; color: #536779; }
.policy-certificate-intro .policy-certificate-number { margin-top: 16px; color: #011423; font-size: 13px; }
.policy-certificate-number b { margin-left: 6px; font-variant-numeric: tabular-nums; }
.policy-certificate-data { align-self: center; }
.policy-certificate-dates { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 24px; margin: 0; }
.policy-certificate-dates div { padding-top: 10px; border-top: 1px solid #d5e0eb; }
.policy-certificate-dates dt { color: #536779; font-size: 13px; line-height: 1.5; }
.policy-certificate-dates dd { margin: 6px 0 0; color: #011423; font-size: 17px; font-weight: 600; font-variant-numeric: tabular-nums; }
.policy-certificate-dates .policy-data-unavailable { color: #536779; font-size: 15px; font-weight: 400; }
.policy-certificate-note { margin: 16px 0 0; color: #536779; font-size: 13px; }
.policy-certificate-soa { margin: 16px 0 0; padding: 12px 16px; background: #f3f7fa; color: #011423; font-size: 13px; }
.policy-certificate-scope, .policy-certificate-policy { grid-column: 1 / -1; padding-top: 16px; border-top: 1px solid #d5e0eb; }
.policy-certificate summary { cursor: pointer; color: #011423; font-size: 14px; font-weight: 600; }
.policy-certificate summary:focus-visible { outline: 2px solid #145786; outline-offset: 4px; }
.policy-certificate-scope ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin: 20px 0 0; padding-left: 20px; }
.policy-certificate-scope li { padding-left: 4px; }
.policy-certificate-scope li::marker { color: #145786; }
.policy-certificate-scope h4 { margin: 0 0 8px; color: #011423; font-size: 15px; }
.policy-certificate-scope p, .policy-certificate-policy p, .policy-list { color: #536779; }
.policy-certificate-scope p { margin: 0; }
.policy-certificate-policy p:first-of-type { margin-top: 20px; }
.policy-list { padding-left: 20px; }
.policy-list li { margin: 8px 0; }
.policy-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.policy-meta span { padding: 6px 10px; background: #f3f7fa; color: #536779; font-size: 12px; }
#certificaciones { scroll-margin-top: 110px; }
@media (max-width: 800px) {
 .policies-page .container { width: calc(100% - 32px); }
 .policies-page .policies-hero { min-height: 360px; padding: 48px 0; }
 .policy-certifications { padding: 40px 0; }
 .policy-certificate { grid-template-columns: minmax(0,1fr); gap: 20px; padding: 20px; }
 .policy-certificate-scope ol { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 380px) { .policy-certificate-dates { grid-template-columns: 1fr; } }
