/* Dirección creativa ZEIT: imágenes integradas, contenido institucional intacto. */
.purpose-editorial { --container:min(1280px,calc(100% - 48px)); color:#011423; background:#fff; }
.purpose-editorial *, .purpose-editorial *::before, .purpose-editorial *::after { box-sizing:border-box; }
.purpose-editorial :is(h1,h2,h3,p,figure) { margin:0; }
.purpose-editorial h1 { font-size:clamp(34px,4vw,54px); line-height:1.12!important; text-shadow:none; }
.purpose-editorial h2 { font-size:clamp(28px,3vw,38px); line-height:1.18!important; }
.purpose-editorial h3 { font-size:20px; line-height:1.3!important; }
.purpose-editorial p { font-size:18px!important; line-height:1.7; color:#344b5c; }
.purpose-editorial :is(section,article) { scroll-margin-top:110px; }
.purpose-opening { padding:48px 0; background:#011423; color:#fff; }
.purpose-opening-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:48px; align-items:center; }
.purpose-opening-copy { display:grid; gap:24px; min-width:0; }
.purpose-opening h1 { color:#fff; }
.purpose-opening p { color:#d9e5ed; }
.purpose-editorial .purpose-label { display:flex; align-items:center; gap:12px; color:#ffce00; font-size:16px!important; font-weight:600!important; }
.purpose-label::before { content:''; width:32px; height:2px; background:#ffce00; }
.purpose-opening-photo { min-width:0; position:relative; padding:16px; border:1px solid #294354; border-radius:20px; background:#0a2638; }
.purpose-opening-photo::after { content:''; position:absolute; width:56px; height:4px; background:#ffce00; bottom:-2px; right:32px; }
.purpose-editorial img { display:block; width:100%; height:auto; max-width:100%; object-fit:contain; border-radius:12px; }
.purpose-opening-photo img { max-width:500px; max-height:340px; margin:0 auto; }
.purpose-anchor-nav { display:flex; flex-wrap:wrap; gap:12px 24px; padding-top:4px; }
.purpose-anchor-nav a { color:#fff; text-decoration:underline; text-decoration-color:#ffce00; text-underline-offset:7px; padding:8px 0; }
.purpose-direction { padding:48px 0; }
.purpose-direction-grid { display:grid; grid-template-columns:minmax(220px,320px) minmax(0,1fr); gap:48px; align-items:center; }
.purpose-direction-photo { padding:12px; border:1px solid #dce4e9; border-radius:16px; background:#f2f5f7; }
.purpose-direction-photo img { max-height:340px; }
.purpose-direction-content { min-width:0; }
.purpose-direction-row { padding:28px 0; border-bottom:1px solid #dce3e8; }
.purpose-direction-row:first-child { padding-top:0; }
.purpose-direction-row:last-child { padding-bottom:0; border:0; }
.purpose-direction-row h2 { margin-bottom:20px; }
.purpose-values { padding:48px 0; background:#f4f7f9; }
.purpose-section-heading { display:flex; align-items:center; gap:24px; margin-bottom:32px; }
.purpose-section-heading::after { content:''; height:1px; flex:1; background:#cbd7df; }
.purpose-value-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 48px; }
.purpose-value { padding:24px 0 0; border-top:1px solid #cbd7df; }
.purpose-value-heading { display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.purpose-value-icon { width:40px; height:40px; flex:none; display:grid; place-items:center; color:#011423; background:#ffce00; border-radius:8px; }
.purpose-value-icon svg { width:26px; height:26px; }
.purpose-commitment { padding:48px 0; background:#011423; }
.purpose-commitment-grid { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:48px; align-items:center; }
.purpose-commitment h2 { color:#fff; margin-bottom:20px; }
.purpose-commitment p { color:#e3ebf0; }
.purpose-commitment-actions { display:flex; flex-direction:column; gap:20px; align-items:flex-start; }
.purpose-commitment .button { min-height:48px; border-radius:8px; box-shadow:none; background:#ffce00; padding:12px 24px; }
.purpose-policy-link { color:#fff; text-decoration:underline; text-underline-offset:5px; line-height:1.6; }
.purpose-editorial a:focus-visible { outline:3px solid #c4a000; outline-offset:5px; }
@media(max-width:920px) {
 .purpose-editorial { --container:calc(100% - 40px); }
 .purpose-opening,.purpose-direction,.purpose-values,.purpose-commitment { padding:40px 0; }
 .purpose-opening-grid { gap:28px; }
 .purpose-direction-grid { grid-template-columns:220px minmax(0,1fr); gap:28px; }
 .purpose-value-list { gap:28px; }
 .purpose-commitment-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .purpose-commitment-actions { flex-direction:row; flex-wrap:wrap; align-items:center; }
}
@media(max-width:640px) {
 .purpose-editorial { --container:calc(100% - 32px); }
 .purpose-opening,.purpose-direction,.purpose-values,.purpose-commitment { padding:32px 0; }
 .purpose-opening-grid,.purpose-direction-grid,.purpose-value-list { grid-template-columns:minmax(0,1fr); gap:28px; }
 .purpose-editorial p { font-size:17px!important; }
 .purpose-opening-copy { gap:20px; }
 .purpose-opening-photo { padding:10px; }
 .purpose-opening-photo img,.purpose-direction-photo img { max-height:280px; }
 .purpose-direction-photo { width:100%; max-width:340px; margin:0 auto!important; }
 .purpose-direction-row { padding:24px 0; }
 .purpose-section-heading { gap:16px; }
 .purpose-commitment-actions { flex-direction:column; align-items:flex-start; }
}

/* Dirección editorial: superficies neutras y un acento ZEIT contenido. */
.purpose-opening { background: #f3f5f7; color: #011423; }
.purpose-opening h1 { color: #011423; }
.purpose-opening p { color: #344b5c; }
.purpose-opening .purpose-label { color: #526575; }
.purpose-opening .purpose-anchor-nav a { color: #011423; text-decoration-color: #9caebc; }
.purpose-opening-photo { border: 0; background: transparent; padding: 0; }
.purpose-opening-photo::after { display: none; }
.purpose-direction { background: #fff; }
.purpose-direction h2 { color: #011423; }
.purpose-direction p { color: #344b5c; }
.purpose-direction-photo { background: transparent; padding: 0; border: 0; }
.purpose-direction-row { border-color: #dce3e8; }
.purpose-values { background: #f3f5f7; }
.purpose-value { border-color: #d4dde4; }
.purpose-value-icon { color: #011423; background: #e4eaf0; }
.purpose-section-heading::after { background: #d4dde4; }
