.odp-dir-v2{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#f5f4f0;max-width:1240px;margin:0 auto;padding:24px 12px 55px;box-sizing:border-box}
.odp-dir-v2 *{box-sizing:border-box}.odp-dir-v2 .intro{text-align:center;margin:0 auto 30px;max-width:760px}.odp-dir-v2 .overline{font-size:11px;letter-spacing:3px;font-weight:750;color:#e1b961}.odp-dir-v2 h1{font-size:clamp(27px,4vw,42px);margin:10px 0;color:#fff}.odp-dir-v2 .muted{color:#b8c0c9;font-size:14px;line-height:1.7}
.odp-dir-v2 .columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.odp-dir-v2 .style-col{background:#111f2d;border:1px solid #2a394b;border-radius:16px;padding:20px 15px 22px;min-width:0}.odp-dir-v2 .style-header{text-align:center;min-height:285px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.odp-dir-v2 .style-logo{height:154px;width:154px;object-fit:contain;display:block;margin:0 auto 14px}.odp-dir-v2 .logo-placeholder{height:154px;width:154px;border:1px dashed #526071;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:18px;color:#bdc5cf;font-size:12px;text-align:center;margin:0 auto 14px}.odp-dir-v2 h2{font-size:18px;line-height:1.25;margin:0 0 8px;color:#fff}.odp-dir-v2 .leader{font-size:12px;color:#d7b570;margin:0}.odp-dir-v2 .group{border-top:1px solid #354556;margin-top:18px;padding-top:18px}.odp-dir-v2 h3{font-size:13px;letter-spacing:1.3px;text-transform:uppercase;color:#e1b961;margin:0 0 14px}.odp-dir-v2 .entry{padding:11px 12px;border-radius:9px;background:#172a3b;margin-bottom:9px;overflow-wrap:anywhere}.odp-dir-v2 .entry strong{display:block;font-size:13px;line-height:1.4;color:white}.odp-dir-v2 .entry small{display:block;margin-top:5px;font-size:11px;color:#bcc8d5}.odp-dir-v2 .entry a{font-size:12px;color:#f0c878;display:inline-block;margin-top:7px}.odp-dir-v2 .empty{font-size:12px;color:#9caabd;font-style:italic}.odp-dir-v2 .school-logo{max-width:72px;max-height:65px;object-fit:contain;display:block;margin-bottom:9px}.odp-dir-v2 a:focus-visible{outline:2px solid #f0c878;outline-offset:3px}
@media(max-width:760px){.odp-dir-v2 .columns{grid-template-columns:1fr}.odp-dir-v2 .style-header{min-height:0;margin-bottom:10px}.odp-dir-v2 .style-col{padding:20px}.odp-dir-v2 .style-logo,.odp-dir-v2 .logo-placeholder{width:130px;height:130px}}
/* Stable three-column layout and logo sizing, without inline CSS (CSP style-src self). */
.odp-dir-v2{width:100%;max-width:1250px;overflow:hidden}
.odp-dir-v2 .columns{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
.odp-dir-v2 .style-col{min-width:0!important;overflow:hidden}
.odp-dir-v2 .style-header{min-width:0;min-height:260px}
.odp-dir-v2 img.style-logo{display:block!important;box-sizing:border-box!important;width:160px!important;height:160px!important;max-width:100%!important;max-height:160px!important;object-fit:contain!important;margin:0 auto 16px!important}
.odp-dir-v2 .style-col h2{overflow-wrap:anywhere}
@media(max-width:900px){.odp-dir-v2 .columns{gap:10px!important}.odp-dir-v2 .style-col{padding:14px 9px}.odp-dir-v2 img.style-logo{width:135px!important;height:135px!important;max-height:135px!important}.odp-dir-v2 .style-header{min-height:230px}}
@media(max-width:680px){.odp-dir-v2 .columns{grid-template-columns:1fr!important;gap:16px!important}.odp-dir-v2 .style-header{min-height:0}.odp-dir-v2 .style-col{padding:20px 16px}}

.odp-dir-v2 .setup-warning{text-align:center}
html:has(.odp-dir-v2){background:#090e16}

/* Independent Doce Pares: separate listing BELOW three featured styles. */
.odp-dir-v2 .independent-section{margin-top:38px;padding-top:24px;border-top:1px solid #344355}
.odp-dir-v2 .independent-heading{text-align:center;max-width:850px;margin:0 auto 24px}
.odp-dir-v2 .independent-heading h2{font-size:clamp(22px,3.1vw,30px);margin:12px 0 8px}
.odp-dir-v2 .independent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.odp-dir-v2 .independent-card{border:1px solid #2a394b;border-radius:16px;background:#111f2d;padding:22px 18px;min-width:0}
.odp-dir-v2 .independent-card h3{padding-bottom:12px;border-bottom:1px solid #344355}
.odp-dir-v2 .other-style-name{display:block;margin-top:6px;color:#ebc77e;font-size:12px;overflow-wrap:anywhere}
@media(max-width:680px){.odp-dir-v2 .independent-grid{grid-template-columns:1fr}}
