:root{--navy:#102B50;--navy-rgb:16 43 80;--navy2:#24456F;--brand-blue:#3E598D;--gold:#C3A46D;--gold2:#E2D0A9;--cream:#F7F8FA;--ink:#1D3048;--muted:#647285;--line:#E5E9EF;--white:#fff;--max:1190px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.75 'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.047em;line-height:1.17}h1{font-size:clamp(3rem,6vw,5.7rem);font-weight:800}h2{font-size:clamp(2.25rem,4.1vw,3.55rem);font-weight:800}h3{font-size:1.25rem}h2 em,.feature-content em{font-style:normal;color:#A3814F}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}img{max-width:100%;height:auto}button{cursor:pointer}.container{width:min(var(--max),calc(100% - 56px));margin:auto}.section{padding:112px 0}.eyebrow{display:flex;align-items:center;gap:12px;letter-spacing:.18em;font-size:.69rem;font-weight:800;color:#967647;margin-bottom:24px}.eyebrow-line{height:1px;width:30px;background:currentColor}.eyebrow.light{color:#DDC08B}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:53px;padding:14px 22px;border-radius:5px;font-weight:700;font-size:.82rem;letter-spacing:.012em;transition:transform .3s,background .3s,color .3s,border-color .3s;border:1px solid transparent}.btn:hover{transform:translateY(-3px)}.btn-gold{background:var(--gold);color:#193353}.btn-gold:hover{background:#f2d497}.btn-outline{border-color:rgba(255,255,255,.66);color:white}.btn-outline:hover{background:rgba(255,255,255,.12)}.btn-primary{background:var(--navy);color:white}.text-link{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid var(--gold);padding-bottom:7px;color:var(--navy);font-weight:800;font-size:.84rem;transition:gap .25s}.text-link:hover{gap:30px}.topbar{background:var(--navy);color:#f7f2e8;font-size:.7rem;letter-spacing:.02em}.topbar-inner{height:35px;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar-inner>a,.topbar a{color:inherit}.topbar a:hover{color:var(--gold2)}.site-header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.98);border-bottom:1px solid #E8ECF2;transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 12px 34px #102B5014}.header-inner{min-height:91px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:12px;min-width:248px}.brand-mark{display:grid;place-items:center;background:var(--navy);color:var(--gold);font-size:1.75rem;width:50px;height:50px;border-radius:4px}.brand-logo{width:auto;height:55px;max-width:80px;object-fit:contain}.brand-title{display:block;line-height:1.35;font-size:.81rem;letter-spacing:-.02em;color:var(--navy)}.brand-title strong,.brand-title small{display:block}.brand-title strong{font-weight:800}.brand-title small{font-size:.8rem;font-weight:600}.main-nav{margin-left:auto}.nav-menu{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:27px}.nav-menu>li{position:relative}.nav-menu>li>a{font-weight:700;font-size:.77rem;padding:30px 0;display:block;white-space:nowrap}.nav-menu a:hover,.nav-menu .current-menu-item>a{color:#967647}.sub-menu{position:absolute;top:100%;left:-18px;min-width:235px;padding:10px;background:white;box-shadow:0 22px 45px #102B501C;list-style:none;border-top:2px solid var(--gold);opacity:0;visibility:hidden;transform:translateY(9px);transition:all .2s;z-index:10}.nav-menu>li:hover>.sub-menu,.nav-menu>li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.sub-menu a{display:block;font-size:.78rem;font-weight:650;padding:10px 12px}.header-cta{background:var(--navy);color:white;font-size:.74rem;font-weight:800;padding:13px 17px;border-radius:4px;white-space:nowrap}.header-cta span{margin-left:10px;color:var(--gold)}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0}.hero{position:relative;min-height:670px;background-color:#102B50;background-image:linear-gradient(90deg,rgb(var(--navy-rgb) / .95),rgb(var(--navy-rgb) / .75) 49%,rgb(var(--navy-rgb) / .36)),var(--hero-image,linear-gradient(125deg,var(--navy),var(--navy2)));background-position:center;background-size:cover;color:white;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgb(var(--navy-rgb) / .42));pointer-events:none}.hero-inner{min-height:625px;display:flex;align-items:center;position:relative}.hero-copy{max-width:785px;padding:70px 0 85px}.hero-copy h1{margin:0 0 24px;max-width:760px}.hero-copy p{font-size:1.07rem;max-width:585px;color:#E5EBF4;line-height:1.85;margin-bottom:34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-stamp{position:absolute;right:0;bottom:80px;border:1px solid #ffffff72;border-radius:100%;width:140px;height:140px;display:flex;align-items:center;justify-content:center;gap:3px;flex-direction:column;transform:rotate(-13deg);color:#EAD8B7;font-weight:800;letter-spacing:.18em;font-size:.68rem}.hero-stamp i{width:30px;height:1px;background:#EAD8B7}.hero-bottom{position:relative;background:rgb(var(--navy-rgb) / .72);border-top:1px solid #ffffff30;font-weight:800;font-size:.66rem;letter-spacing:.17em}.hero-bottom .container{height:49px;display:flex;justify-content:space-between;align-items:center}.hero-bottom a span{margin-left:13px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.intro-visual{position:relative;padding:0 34px 30px 0}.photo-frame{height:510px;background:#E9EDF3;overflow:hidden;border-radius:3px}.photo-frame img{width:100%;height:100%;object-fit:cover}.image-placeholder{height:100%;min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#607993;background:linear-gradient(145deg,#E4EAF1,#BDCADD);text-align:center;padding:24px}.image-placeholder>span{font-size:6rem;color:#ffffff85}.image-placeholder small{font-size:.75rem}.photo-label{position:absolute;bottom:0;right:0;background:var(--navy);color:white;padding:28px 35px;min-width:255px}.photo-label strong{display:block;color:var(--gold2);font-size:1.5rem;font-family:Manrope,sans-serif;line-height:1.3}.photo-label span{font-size:.75rem}.intro-text h2{margin-bottom:25px}.intro-text p{color:var(--muted);font-size:.95rem;margin-bottom:20px}.intro-text .text-link{margin-top:12px}.programs{background:var(--cream)}.section-top{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-top h2{max-width:640px;margin:0}.section-top>p{color:var(--muted);max-width:320px;font-size:.91rem;margin:0 0 6px}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.program-card{background:white;border:1px solid #E6EAF0;transition:transform .35s,box-shadow .35s;overflow:hidden}.program-card:hover{transform:translateY(-8px);box-shadow:0 18px 44px #102B5012}.program-image{height:220px;background-size:cover;background-position:center;position:relative;background-color:#7892AF;overflow:hidden;background-image:linear-gradient(135deg,#2A4C77,#A7B8CF)}.program-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00000030,transparent 65%)}.program-index{position:absolute;top:17px;left:17px;font-weight:800;color:white;font-size:.75rem;z-index:2}.program-arrow{position:absolute;right:14px;top:14px;width:35px;height:35px;background:white;color:var(--navy);display:grid;place-items:center;border-radius:50%;z-index:2;transition:transform .25s}.program-card:hover .program-arrow{transform:rotate(45deg)}.program-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:5rem;color:#E6EBF244}.program-body{padding:25px 22px 26px}.micro-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:#957649;font-weight:800}.program-body h3{margin:9px 0 12px;font-size:1.17rem;letter-spacing:-.035em}.program-body p{font-size:.79rem;color:var(--muted);line-height:1.8;min-height:87px}.card-link{font-size:.75rem;font-weight:800;color:var(--navy)}.card-link span{margin-left:14px}.feature-band{background:var(--navy);position:relative;overflow:hidden;color:#fff;padding:83px 0}.feature-content{display:grid;grid-template-columns:1.25fr .75fr;gap:10%;align-items:center;position:relative;z-index:1}.feature-content h2{margin:0}.feature-content p{color:#E1E8F1;font-size:.95rem;margin-bottom:23px}.feature-decoration{position:absolute;font-size:28rem;line-height:1;right:-70px;top:-180px;color:#ffffff08;pointer-events:none}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.news-photo{display:block;height:230px;overflow:hidden;background:#E6EAF0}.news-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.news-card:hover .news-photo img{transform:scale(1.065)}.news-placeholder{height:100%;display:grid;place-items:center;font-size:5rem;color:#7A92AC}.news-meta{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:#94744D;margin:20px 0 10px}.news-card h3{font-size:1.26rem;margin-bottom:13px}.news-card p{font-size:.83rem;color:var(--muted)}.news-card .text-link{font-size:.77rem}.faq{background:var(--cream)}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:10%}.faq-grid>div:first-child>p{color:var(--muted)}.accordion details{border-bottom:1px solid #E0E5EA}.accordion details:first-child{border-top:1px solid #E0E5EA}.accordion summary{list-style:none;padding:21px 6px;cursor:pointer;font-weight:800;font-size:.9rem;display:flex;align-items:center;justify-content:space-between;gap:16px}.accordion summary::-webkit-details-marker{display:none}.faq-plus{font-size:1.3rem;color:#94744D;transition:transform .25s}.accordion details[open] .faq-plus{transform:rotate(45deg)}.accordion details p{color:var(--muted);font-size:.85rem;padding:0 35px 17px 6px;margin:0}.cta-section{background:linear-gradient(125deg,var(--navy2),var(--navy));color:white;text-align:center;padding:92px 0}.cta-wrap{max-width:820px}.cta-wrap .eyebrow{justify-content:center}.cta-wrap h2{margin:0 0 17px}.cta-wrap p{color:#E0E7F1;margin:0 auto 30px;max-width:530px}.site-footer{background:#0C2548;color:white;padding:72px 0 0}.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.2fr;gap:55px;padding-bottom:65px}.footer-grid h3{font-size:.79rem;text-transform:uppercase;letter-spacing:.12em;color:#D6B980;margin:0 0 22px}.footer-grid a:not(.footer-brand){display:block;color:#D2DCE9;font-size:.83rem;margin-bottom:12px}.footer-grid a:hover{color:var(--gold2)}.footer-grid p{font-size:.82rem;color:#C4D0DE;line-height:1.9}.footer-brand{display:block;font-family:Manrope,sans-serif;font-weight:800;line-height:1.35;margin-bottom:20px}.footer-brand span{padding-left:21px;color:#D6BE93}.social-links{display:flex;gap:20px}.footer-bottom{border-top:1px solid #ffffff22;padding:22px 0;display:flex;justify-content:space-between;color:#A9BAD0;font-size:.75rem}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:90;background:#247d67;color:#fff;border-radius:50px;padding:13px 18px;font-size:.82rem;font-weight:800;box-shadow:0 10px 27px #0b243a36}.whatsapp-float span{margin-left:8px}.inner-hero{background:linear-gradient(115deg,var(--navy),var(--navy2));padding:88px 0;color:white}.inner-hero h1{font-size:clamp(2.5rem,4.7vw,4rem);margin:0 0 10px}.inner-hero p{max-width:650px;color:#E1E9F2}.entry-container{max-width:900px;margin:auto}.entry-body{font-size:1rem;color:#495C72}.entry-body h2,.entry-body h3{color:var(--navy);margin-top:42px}.entry-body img{border-radius:5px}.entry-body a{color:#8C704C;text-decoration:underline}.entry-body ul{padding-left:23px}.entry-body li{margin-bottom:10px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.archive-item{border:1px solid var(--line);overflow:hidden}.archive-item-image{height:230px;background:#E8EDF4;display:block}.archive-item-image img{width:100%;height:100%;object-fit:cover}.archive-item-body{padding:24px}.archive-item h2{font-size:1.25rem}.archive-item p{color:var(--muted);font-size:.85rem}.pagination{margin:40px 0}.pagination .page-numbers{padding:8px 13px;border:1px solid var(--line);margin-right:6px}.pagination .current{background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:9%}.contact-panel{padding:34px;background:var(--cream)}.contact-panel p{margin-bottom:18px}.contact-form{display:grid;gap:18px}.contact-form label{font-size:.83rem;font-weight:800}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid #D9E1EA;padding:12px 14px;background:#fff;margin-top:8px;border-radius:3px;color:var(--ink);font-weight:400}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #A78958;outline-offset:2px}.contact-form .btn{justify-self:start}.honeypot{position:absolute!important;left:-9999px!important}.form-alert{color:#9e3b2c}.form-success{color:#227044}.skip-link{position:absolute;top:-50px;left:10px;background:#fff;color:#000;z-index:999;padding:10px}.skip-link:focus{top:10px}[data-reveal]{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}[data-reveal].visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}@media(max-width:1100px){.nav-menu{gap:17px}.brand{min-width:225px}.header-inner{gap:18px}.program-grid{grid-template-columns:repeat(2,1fr)}.program-body p{min-height:0}}@media(max-width:850px){.container{width:min(var(--max),calc(100% - 36px))}.section{padding:75px 0}.topbar-inner>div{display:none}.header-inner{min-height:75px}.main-nav{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 75px);overflow:auto;background:white;box-shadow:0 25px 30px #102B501C;display:none;padding:10px 18px 24px}.main-nav.open{display:block}.nav-menu{display:block}.nav-menu>li{border-bottom:1px solid var(--line)}.nav-menu>li>a{padding:15px 6px}.sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 10px 12px}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.hero,.hero-inner{min-height:620px}.hero-stamp{display:none}.intro-grid{gap:45px}.photo-frame{height:390px}.intro-grid,.faq-grid,.feature-content,.contact-grid{grid-template-columns:1fr}.section-top{display:block}.section-top>p{margin-top:20px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:35px}}@media(max-width:580px){h1{font-size:clamp(2.65rem,12vw,4rem)}h2{font-size:2.15rem}.hero,.hero-inner{min-height:620px}.hero-copy{padding:55px 0 75px}.hero-copy p{font-size:.94rem}.hero-actions .btn{width:100%}.hero-bottom{font-size:.54rem}.hero-bottom .container>span{max-width:185px}.intro-visual{padding-right:16px}.photo-frame{height:360px}.photo-label{min-width:210px;padding:17px}.program-grid,.news-grid,.archive-grid{grid-template-columns:1fr}.program-image{height:235px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}.whatsapp-float span{display:none}.brand{min-width:0}.brand-title{font-size:.68rem}.brand-title small{font-size:.68rem}.brand-mark{width:42px;height:42px}.contact-panel{padding:23px}}


/* =====================================================================
   REFINAMIENTO INSTITUCIONAL · v1.1
   Azul marino sobrio inspirado en la identidad del Consorcio.
   El color principal se puede modificar desde Apariencia > Personalizar.
   ===================================================================== */
:root {
  --navy2: color-mix(in srgb, var(--navy) 70%, #567DAC 30%);
  --surface: #FFFFFF;
  --surface-soft: #F7F8FA;
  --border-soft: #E5E9EF;
  --shadow-soft: 0 14px 36px rgba(16, 43, 80, .065);
  --radius-card: 10px;
  --radius-control: 6px;
  --ease-premium: cubic-bezier(.22, 1, .36, 1);
}
body { line-height: 1.72; background: var(--surface); }
h1, h2, h3 { letter-spacing: -.036em; }
h1 { font-size: clamp(2.85rem, 5.3vw, 5rem); font-weight: 800; line-height: 1.13; }
h2 { font-size: clamp(2.05rem, 3.55vw, 3.18rem); font-weight: 750; line-height: 1.23; }
h3 { font-weight: 700; }
h2 em, .feature-content em { color: #A3814F; }
.container { width: min(1160px, calc(100% - 64px)); }
.section { padding: 96px 0; }
.eyebrow { font-size: .69rem; letter-spacing: .15em; margin-bottom: 21px; color: #927349; }
.eyebrow-line { width: 24px; }
.eyebrow.light { color: #E2D0A9; }
.btn, .header-cta { border-radius: var(--radius-control); }
.btn { min-height: 50px; padding: 13px 21px; gap: 22px; font-size: .8rem; transition: transform .3s var(--ease-premium), background-color .25s, border-color .25s, box-shadow .25s; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn-gold { background: #D5BA88; color: var(--navy); }
.btn-gold:hover { background: #E4CC9E; }
.btn-primary:hover, .header-cta:hover { background: var(--navy2); color: #fff; }
.btn-outline { border-color: rgb(255 255 255 / .58); }
.btn-outline:hover { background: rgb(255 255 255 / .10); }
.text-link { font-size: .81rem; gap: 14px; border-color: #B9A075; transition: gap .3s var(--ease-premium), color .2s; }
.text-link:hover { gap: 21px; }
.topbar { background: var(--navy); font-size: .7rem; }
.topbar-inner { height: 34px; }
.site-header { border-bottom: 1px solid var(--border-soft); background: rgb(255 255 255 / .985); transition: box-shadow .3s, border-color .3s; }
.site-header.scrolled { box-shadow: 0 9px 26px rgb(var(--navy-rgb) / .06); border-bottom-color: transparent; }
.header-inner { min-height: 83px; gap: 24px; }
.brand { gap: 11px; }
.brand-mark { border-radius: 6px; background: var(--navy); font-size: 1.45rem; }
.brand-title { color: var(--navy); letter-spacing: -.015em; }
.nav-menu { gap: 24px; }
.nav-menu>li>a { font-weight: 650; padding: 27px 0; letter-spacing: .003em; }
.nav-menu a:hover, .nav-menu .current-menu-item>a { color: var(--navy2); }
.sub-menu { border-top: 2px solid #B99D72; box-shadow: 0 15px 36px rgb(var(--navy-rgb) / .12); border-radius: 0 0 8px 8px; }
.header-cta { background: var(--navy); font-weight: 700; padding: 12px 16px; transition: background .25s; }
.hero { min-height: 625px; background-color: var(--navy); }
.hero-inner { min-height: 582px; }
.hero-copy { max-width: 765px; padding: 73px 0 77px; }
.hero-copy h1 { max-width: 750px; }
.hero-copy p { font-size: 1.04rem; line-height: 1.79; color: #E4EBF5; }
.hero-stamp { display: none; }
.hero-bottom { font-size: .65rem; letter-spacing: .13em; }
.intro-grid { gap: 8%; }
.intro-visual { padding: 0 25px 20px 0; }
.photo-frame { border-radius: var(--radius-card); height: 478px; }
.image-placeholder { background: linear-gradient(145deg, #E9EDF4, #CFD9E6); }
.image-placeholder>span { color: #8296B3; }
.photo-label { border-radius: 8px 0 8px 0; padding: 22px 29px; min-width: 226px; }
.photo-label strong { font-size: 1.35rem; color: #E0CEA8; }
.intro-text h2 { margin-bottom: 22px; }
.intro-text p { margin-bottom: 17px; }
.programs, .faq { background: var(--surface-soft); }
.section-top { margin-bottom: 38px; }
.program-grid { gap: 18px; }
.program-card { border: 1px solid var(--border-soft); border-radius: var(--radius-card); box-shadow: none; transition: transform .4s var(--ease-premium), box-shadow .35s, border-color .3s; }
.program-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); border-color: #C9D4E2; }
.program-image { height: 210px; background-color: #8BA0BD; background-image: linear-gradient(135deg, #2A4C77, #ACBED3); }
.program-image:after { background: linear-gradient(180deg, rgb(var(--navy-rgb) / .26), transparent 65%); }
.program-index { letter-spacing: .12em; }
.program-arrow { width: 34px; height: 34px; box-shadow: 0 2px 12px rgb(var(--navy-rgb) / .07); transition: transform .32s var(--ease-premium); }
.program-card:hover .program-arrow { transform: translate(2px, -2px); }
.program-body { padding: 23px 21px 25px; }
.program-body h3 { font-size: 1.13rem; }
.program-body p { min-height: 85px; }
.micro-label { font-size: .61rem; color: #8D714A; }
.feature-band { padding: 75px 0; background: var(--navy); }
.feature-content { gap: 8%; }
.feature-content h2 { font-size: clamp(2.05rem, 3.3vw, 3.05rem); }
.feature-content em { color: #D4BE95; }
.feature-decoration { display: none; }
.news-grid { gap: 25px; }
.news-card { padding-bottom: 8px; }
.news-photo { height: 224px; border-radius: var(--radius-card); background: #E5EBF2; }
.news-photo img { transition: transform .65s var(--ease-premium); }
.news-card:hover .news-photo img { transform: scale(1.035); }
.news-meta { margin-top: 18px; color: #8F724A; }
.news-card h3 { line-height: 1.36; }
.accordion details, .accordion details:first-child { border-color: #DEE5ED; }
.accordion summary { font-weight: 700; padding: 20px 6px; }
.faq-plus { color: var(--navy2); }
.cta-section { padding: 78px 0; background: linear-gradient(120deg, var(--navy2), var(--navy)); }
.cta-wrap p { max-width: 560px; }
.site-footer { background: var(--navy); padding-top: 66px; }
.footer-grid { padding-bottom: 58px; }
.footer-grid h3 { color: #D6BE93; }
.footer-bottom { border-top-color: rgb(255 255 255 / .13); }
.inner-hero { background: linear-gradient(120deg, var(--navy), var(--navy2)); padding: 75px 0; }
.archive-item { border: 1px solid var(--border-soft); border-radius: var(--radius-card); }
.archive-item-image { overflow: hidden; }
.archive-item-image img { transition: transform .6s var(--ease-premium); }
.archive-item:hover .archive-item-image img { transform: scale(1.035); }
.archive-item-body { padding: 23px; }
.contact-panel { border-radius: var(--radius-card); }
.contact-form input, .contact-form textarea { border-color: #DCE3EC; border-radius: var(--radius-control); transition: border-color .2s, box-shadow .2s; }
.contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: var(--navy2); box-shadow: 0 0 0 3px rgb(var(--navy-rgb) / .12); }
.whatsapp-float { box-shadow: 0 8px 22px rgb(var(--navy-rgb) / .13); }
[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .68s ease-out, transform .68s var(--ease-premium); }
[data-reveal].visible { opacity: 1; transform: none; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid #A77E3E; outline-offset: 3px;
}
@media (max-width: 1100px) { .nav-menu { gap: 15px; } }
@media (max-width: 850px) {
  .container { width: min(var(--max), calc(100% - 40px)); }
  .section { padding: 72px 0; }
  .header-inner { min-height: 75px; }
  .nav-menu>li>a { padding: 15px 6px; }
  .main-nav { border-bottom: 1px solid var(--border-soft); }
  .intro-grid { gap: 40px; }
  .photo-frame { height: 405px; }
  .hero, .hero-inner { min-height: 580px; }
}
@media (max-width: 580px) {
  h1 { font-size: clamp(2.52rem, 11.4vw, 3.75rem); }
  h2 { font-size: clamp(1.95rem, 8vw, 2.35rem); }
  .hero, .hero-inner { min-height: 590px; }
  .hero-copy { padding: 52px 0 70px; }
  .hero-copy p { font-size: .94rem; }
  .section { padding: 67px 0; }
  .photo-frame { height: 355px; }
  .program-image { height: 225px; }
  .program-body p { min-height: 0; }
  .topbar-inner { height: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; }
}

/* Motivo geométrico apenas visible cuando todavía no se ha configurado fotografía de portada. */
.hero:not([style])::before, .hero:not([style])::after {
  content: ""; position: absolute; border: 1px solid rgb(255 255 255 / .055);
  border-radius: 50%; pointer-events: none;
}
.hero:not([style])::before { width: 700px; height: 700px; right: -230px; top: -260px; }
.hero:not([style])::after { width: 490px; height: 490px; right: -165px; top: -150px; }
.hero-inner, .hero-bottom { z-index: 1; }
@media (max-width: 580px) {
  .hero:not([style])::before { width: 460px; height: 460px; right: -310px; top: -180px; }
  .hero:not([style])::after { display: none; }
}

/* ========== SOBRE NOSOTROS · PLANTILLA INSTITUCIONAL 1.2 ========== */
.about-page{overflow:hidden}
.about-hero{background:linear-gradient(123deg,var(--navy),#153960);color:#fff;position:relative}
.about-hero::after{content:"";position:absolute;right:-200px;top:-230px;width:650px;height:650px;border-radius:50%;border:1px solid rgba(255,255,255,.06);pointer-events:none}
.about-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);gap:8%;min-height:500px;align-items:center;padding-top:66px;padding-bottom:66px;position:relative;z-index:1}
.about-breadcrumb{display:flex;align-items:center;gap:13px;color:#E3E8F0;font-size:.76rem;margin-bottom:52px}
.about-breadcrumb a{color:#E3E8F0;transition:color .25s}.about-breadcrumb a:hover{color:var(--gold2)}.about-breadcrumb span[aria-hidden]{opacity:.4}
.about-hero-copy h1{font-size:clamp(3.4rem,6vw,5.25rem);line-height:1.09;margin-bottom:26px;max-width:650px}.about-hero-copy>p{color:#E5EAF2;font-size:1.04rem;max-width:510px;line-height:1.8}
.about-hero-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid rgba(255,255,255,.5);padding:4px 0 11px;margin-top:28px;color:white;font-size:.81rem;font-weight:700;transition:gap .2s}.about-hero-link:hover{gap:40px;color:var(--gold2)}
.about-hero-art{min-height:350px;aspect-ratio:1.13;background:#234767;position:relative;border:1px solid rgba(255,255,255,.16);overflow:hidden}
.about-cover-photo{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.about-hero-fallback{height:100%;min-height:350px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;padding:clamp(30px,6vw,70px);position:relative;background:linear-gradient(140deg,#21496A,#112E4D)}
.about-hero-fallback::after{content:"";width:340px;height:340px;position:absolute;right:-160px;top:-100px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.about-art-small{font-size:.61rem;letter-spacing:.19em;font-weight:700;color:#E2CAA0}.about-art-year{font:800 clamp(6rem,13vw,11rem)/1 Manrope,sans-serif;letter-spacing:-.09em;margin:40px 0 24px;color:#F5F7F9}.about-art-rule{width:40px;height:2px;background:var(--gold)}.about-art-message{margin-top:22px;font-size:.82rem;color:#DFE9F3}
.about-history-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.about-history-heading h2{max-width:450px;margin-bottom:54px}.about-history-body{font-size:.98rem;color:#566577;line-height:1.95}.about-history-body p{margin-bottom:21px}.about-history-body p:last-child{margin-bottom:0}
.about-since{border-top:1px solid #DDE3EB;padding-top:20px;max-width:260px;display:flex;align-items:center;gap:18px}.about-since strong{font:800 2.35rem/1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--navy)}.about-since span{font-size:.73rem;line-height:1.55;color:var(--muted)}
.about-purpose{background:#F4F6F8}.about-purpose-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;padding-top:80px;padding-bottom:80px}.about-purpose-image{width:100%;height:400px;overflow:hidden;background:#E2E8EE}.about-purpose-image img{width:100%;height:100%;object-fit:cover}.about-image-fallback{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;background:linear-gradient(150deg,#E4EAF1,#C5D2DF);text-align:center;color:var(--navy)}.about-icon-star{font-size:5rem;line-height:1;color:#B49A76}.about-image-fallback>span:nth-child(2){font:700 1.4rem Manrope,sans-serif;margin:16px 0 8px}.about-image-fallback small{font-size:.76rem;opacity:.8}.about-purpose-copy h2{max-width:430px}.about-purpose-copy p{color:var(--muted);line-height:1.9;max-width:480px;margin-bottom:27px}
.about-section-heading{margin-bottom:42px;max-width:700px}.about-section-heading h2{margin-bottom:0}.about-principle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.about-principle{position:relative;min-height:320px;border:1px solid #E1E6ED;background:#fff;padding:40px 40px 55px;transition:border-color .3s,transform .35s,box-shadow .35s}.about-principle:hover{transform:translateY(-5px);border-color:#C3D0DD;box-shadow:0 18px 35px rgba(18,43,69,.06)}.about-principle-index{font-size:.63rem;letter-spacing:.15em;font-weight:800;color:#957A55}.about-principle h3{font-size:clamp(1.8rem,3vw,2.3rem);margin:34px 0 14px}.about-principle p{font-size:.94rem;color:var(--muted);max-width:480px;line-height:1.85}.about-card-mark{position:absolute;right:33px;bottom:23px;font-size:1.3rem;color:#C6A979}
.about-objectives{background:#F7F8FA}.about-objectives-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:12%}.about-objectives-grid>div>p{color:var(--muted);font-size:.93rem;max-width:350px}.about-objectives-list{margin:0;padding:0;list-style:none;border-top:1px solid #DCE3EB}.about-objectives-list li{display:grid;grid-template-columns:48px 1fr;gap:22px;align-items:start;padding:21px 0;border-bottom:1px solid #DCE3EB;font-weight:650;color:#304358;line-height:1.7}.about-objective-number{font-family:Manrope,sans-serif;font-weight:800;font-size:.85rem;color:#A78659;padding-top:2px}
.about-extra{border-top:1px solid #E4E8EE}.about-extra .container{max-width:900px}.about-extra h2{margin-bottom:26px}.about-extra-content{max-width:820px}.about-end-cta{background:var(--navy);color:#fff}.about-end-cta-inner{display:flex;gap:40px;align-items:center;justify-content:space-between;padding-top:67px;padding-bottom:67px}.about-end-cta .eyebrow{margin-bottom:15px;display:block}.about-end-cta h2{font-size:clamp(2rem,3.6vw,3.15rem);margin:0}
@media(max-width:900px){.about-hero-grid{gap:5%;min-height:440px}.about-hero-art{min-height:300px}.about-hero-fallback{min-height:300px}.about-art-year{font-size:6rem}.about-history-grid,.about-purpose-grid{gap:6%}.about-principle{padding:32px;min-height:350px}}
@media(max-width:680px){.about-hero-grid,.about-history-grid,.about-purpose-grid,.about-objectives-grid{grid-template-columns:1fr;gap:34px}.about-hero-grid{padding-top:37px;padding-bottom:48px}.about-breadcrumb{margin-bottom:40px}.about-hero-copy h1{font-size:clamp(2.8rem,10vw,4rem)}.about-hero-copy>p{font-size:.98rem}.about-hero-art{min-height:260px;max-height:340px}.about-hero-fallback{min-height:260px}.about-art-year{margin:18px 0;font-size:6rem}.about-history-heading h2{margin-bottom:28px}.about-since{max-width:none}.about-purpose-grid{padding-top:58px;padding-bottom:58px}.about-purpose-image{height:300px}.about-principle-grid{grid-template-columns:1fr;gap:16px}.about-principle{min-height:0;padding:30px 30px 50px}.about-principle h3{margin-top:20px}.about-end-cta-inner{align-items:flex-start;flex-direction:column;gap:24px;padding-top:52px;padding-bottom:56px}.about-objectives-list li{grid-template-columns:36px 1fr;gap:14px}}

/* ========== VERSIÓN 1.3 · PÁGINAS INTERNAS COMPLETAS ========== */
body,button,input,textarea,select{font-family:var(--ccca-body-font,'DM Sans',sans-serif)}
h1,h2,h3,h4,h5,h6,.brand-title,.v13-feature-number{font-family:var(--ccca-heading-font,Manrope,sans-serif)}
.v13-page{overflow:hidden}.v13-page-hero{background:linear-gradient(135deg,var(--navy) 0%,#1F476B 100%);color:#fff;position:relative;isolation:isolate;overflow:hidden}
.v13-page-hero:before{content:"";position:absolute;right:-15%;top:-150px;border:1px solid rgba(255,255,255,.075);border-radius:50%;width:700px;height:700px;pointer-events:none;z-index:-1}
.v13-hero-grid{display:grid;grid-template-columns:1.16fr .84fr;gap:7%;align-items:center;padding-top:65px;padding-bottom:75px;min-height:465px}
.v13-crumb{display:flex;gap:12px;align-items:center;font-size:.76rem;color:#DFE8F3;margin-bottom:53px;flex-wrap:wrap}
.v13-crumb a{color:#DFE8F3}.v13-crumb a:hover{color:var(--gold2)}
.v13-eyebrow{font-weight:800;font-size:.67rem;letter-spacing:.17em;color:var(--gold2);margin-bottom:22px}
.v13-page-hero h1{font-size:clamp(2.8rem,5.1vw,4.75rem);line-height:1.1;max-width:720px;margin:0 0 24px;overflow-wrap:anywhere}
.v13-hero-desc{font-size:1.04rem;color:#E4EDF6;line-height:1.85;max-width:570px;margin:0}
.v13-hero-art{min-height:320px;height:335px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(150deg,#244D72,#133454);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;overflow:hidden;padding:25px 30px;position:relative}
.v13-hero-art:after{content:"";position:absolute;right:-15%;top:-40%;width:390px;height:390px;border-radius:50%;border:1px solid rgba(255,255,255,.10)}
.v13-hero-art:has(img){padding:0}.v13-cover{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.v13-art-label,.v13-art-bottom{font-size:.65rem;letter-spacing:.15em;font-weight:800;z-index:1;color:#E5D0AB}
.v13-art-symbol{font-size:9rem;line-height:1;align-self:center;color:rgba(255,255,255,.85);font-family:Georgia,serif}
.v13-soft{background:#F6F8FA}.v13-section-intro{max-width:750px;margin-bottom:46px}.v13-section-intro h2{margin-bottom:19px}.v13-section-intro>p,.v13-split p,.v13-feature p{color:var(--muted);line-height:1.85}
.v13-split{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.v13-split .entry-body{margin-top:22px}.v13-split .btn{margin-top:12px}
.v13-prose{max-width:960px;color:var(--ink)}.v13-prose p{font-size:1.03rem;color:#53657A}.v13-prose a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.v13-prose img,.v13-document-panel img{border-radius:3px}.v13-prose h2{font-size:clamp(1.8rem,3vw,2.5rem)}
.v13-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.v13-person,.v13-card,.v13-school,.v13-job{background:#fff;border:1px solid #E4E9EF;min-width:0;transition:border-color .3s,box-shadow .35s,transform .35s}
.v13-person:hover,.v13-card:hover,.v13-school:hover,.v13-job:hover{transform:translateY(-4px);border-color:#C9D6E2;box-shadow:0 17px 32px rgba(20,47,75,.055)}
.v13-person-photo{height:315px;background:#DFE7EF;overflow:hidden}.v13-person-photo img{height:100%;width:100%;object-fit:cover;display:block}
.v13-person-copy{padding:25px 26px 30px}.v13-person h3,.v13-card h3,.v13-school h3,.v13-job h3{font-size:1.28rem;letter-spacing:-.035em;line-height:1.35;margin:9px 0 10px}
.v13-person-copy>p:not(.v13-card-kicker){color:var(--muted);font-size:.82rem;margin-bottom:15px}
.v13-card-kicker{font-size:.66rem;color:#967647;letter-spacing:.10em;font-weight:800;text-transform:uppercase;line-height:1.5;margin:0}
.v13-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.v13-card-photo{height:235px;display:block;background:#DFE8F2;overflow:hidden}
.v13-card-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.v13-card:hover .v13-card-photo img{transform:scale(1.045)}
.v13-card-copy{padding:26px}.v13-card-copy>p{color:var(--muted);font-size:.87rem;margin-bottom:20px;line-height:1.75}
.v13-arrow-link{display:inline-flex;align-items:center;gap:15px;color:var(--navy);font-size:.81rem;font-weight:800;border-bottom:1px solid #C4A46C;padding-bottom:5px;transition:gap .25s}.v13-arrow-link:hover{gap:23px}
.v13-image-empty{display:flex;height:100%;min-height:135px;align-items:center;justify-content:center;background:linear-gradient(140deg,#E5EBF2,#C8D6E3);color:#9B7C50;font-size:3rem}
.v13-school-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.v13-school{display:grid;grid-template-columns:145px 1fr;align-items:stretch;min-height:200px}
.v13-school-logo{background:#EFF2F6;padding:18px;display:flex;align-items:center;justify-content:center;min-height:195px;overflow:hidden}
.v13-school-logo img{max-height:145px;max-width:100%;height:auto;width:auto;object-fit:contain}.v13-school-logo .v13-image-empty{width:100%;height:100%}
.v13-school-body{padding:23px 25px}.v13-school-body>p:not(.v13-card-kicker){color:var(--muted);font-size:.8rem;line-height:1.7}
.v13-meta-line{color:#586D80;font-size:.81rem;line-height:1.6}
.v13-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.v13-feature{min-height:345px;padding:34px 38px;background:#fff;border:1px solid #E0E6ED;position:relative;display:flex;align-items:start;flex-direction:column;justify-content:end;overflow:hidden;transition:transform .3s,border-color .3s}
.v13-feature:after{content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;border:1px solid #E8EDF3;border-radius:50%}
.v13-feature:hover{transform:translateY(-4px);border-color:#C5D3E2}.v13-feature-number{font-size:4.4rem;line-height:1;letter-spacing:-.085em;font-weight:800;color:#DFE6ED;position:absolute;right:35px;top:28px}
.v13-feature h3{font-size:clamp(1.45rem,2.7vw,2.2rem);max-width:390px;margin:14px 0}.v13-feature p{font-size:.87rem}.v13-feature .v13-arrow-link{position:relative;z-index:1;margin-top:5px}
.v13-feature-full{min-height:230px;max-width:650px}.v13-document-panel{background:#fff;padding:clamp(24px,4vw,45px);border:1px solid #DCE4EC;min-width:0}
.v13-document-panel h3{margin:10px 0}.v13-document-panel p{color:var(--muted)}.v13-document-panel .entry-body{overflow-wrap:anywhere}
.v13-job-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.v13-job{padding:35px}.v13-job-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.v13-job-status{background:#F3EDE6;color:#7B593D;border-radius:3px;padding:4px 8px;font-size:.66rem;font-weight:800}
.v13-job>p{color:var(--muted);font-size:.87rem}.v13-job-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.v13-job-links>a:not(.v13-arrow-link){font-size:.81rem;font-weight:800;color:var(--navy)}
.v13-repository-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:10%;align-items:start}.v13-repository-grid>div>p{color:var(--muted)}
.v13-repository-grid input[type=password]{width:100%;max-width:350px;border:1px solid #CDD6E0;border-radius:3px;padding:12px;margin:8px 0 12px}
.v13-repository-grid input[type=submit]{background:var(--navy);color:white;border:0;padding:12px 22px;border-radius:3px;font-weight:700}
.v13-lock{font-size:2rem;margin-bottom:14px}.v13-pages{display:flex;justify-content:center;margin-top:32px}.v13-pages ul{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0}.v13-pages a,.v13-pages span{display:inline-flex;padding:8px 14px;border:1px solid #D9E2EA;font-size:.86rem}.v13-pages .current{background:var(--navy);color:white}
.v13-empty{border:1px dashed #BFCBD7;padding:45px 25px;display:flex;align-items:center;flex-direction:column;text-align:center;gap:10px;color:#52667C;background:#fff;max-width:100%}
.v13-empty-mark{font-size:3rem;color:#B59A70}.v13-empty p{max-width:460px;margin:0}
.v13-card:focus-within,.v13-person:focus-within,.v13-school:focus-within{outline:2px solid var(--gold)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #C3A46D;outline-offset:3px}
@media(max-width:1050px){.v13-hero-grid{gap:5%}.v13-school-grid{grid-template-columns:1fr}.v13-card-grid,.v13-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.v13-hero-grid,.v13-split,.v13-repository-grid{grid-template-columns:1fr;gap:26px}.v13-hero-grid{padding-top:34px;padding-bottom:44px;min-height:0}.v13-page-hero h1{font-size:clamp(2.6rem,10vw,3.8rem)}.v13-crumb{margin-bottom:31px}.v13-hero-art{height:240px;min-height:240px}.v13-art-symbol{font-size:6rem}.v13-feature-grid,.v13-job-grid{grid-template-columns:1fr}.v13-people-grid,.v13-card-grid{grid-template-columns:1fr}.v13-person-photo{height:320px}.v13-school{grid-template-columns:110px 1fr}.v13-school-logo{min-height:145px;padding:12px}.v13-school-body{padding:17px}.v13-feature{min-height:285px;padding:28px}.v13-job{padding:26px}.v13-document-panel{padding:25px}}
@media(max-width:420px){.v13-school{grid-template-columns:1fr}.v13-school-logo{height:170px}.v13-school-logo img{max-height:130px}.v13-hero-desc{font-size:.96rem}.v13-card-copy{padding:23px}}
@media(prefers-reduced-motion:reduce){.v13-person,.v13-card,.v13-school,.v13-job,.v13-feature,.v13-card-photo img{transition:none!important;transform:none!important}}

/* v1.4: Consejo Directivo: datos independientes, composición institucional. */
.v13-person{background:var(--navy);border-color:var(--navy);border-radius:4px;overflow:hidden;color:#fff}
.v13-person:hover{border-color:var(--navy);box-shadow:0 16px 38px rgba(16,43,80,.17)}
.v13-person-photo{background:#e5ebf0}
.v13-person-copy{padding:27px 23px 32px;text-align:center;color:#fff}
.v13-person-copy h3{color:#fff;font-size:1.24rem;line-height:1.42;letter-spacing:-.025em;margin:8px 0 11px}
.v13-person-copy .v14-person-role-top,.v13-person-copy .v14-person-role-below{color:#dfc38e;font-size:.77rem;font-weight:800;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;margin:0 0 11px}
.v13-person-copy .v14-person-role-below{text-transform:none;font-size:.94rem;letter-spacing:0;margin:0 0 13px}
.v13-person-copy .v14-person-position{color:#fff;font-size:.91rem;font-weight:650;line-height:1.6;margin:0 0 7px}
.v13-person-copy .v14-person-school{color:rgba(255,255,255,.76);font-size:.84rem;font-weight:450;line-height:1.6;margin:0}
.v13-person-copy .v13-arrow-link{display:table;color:#fff;border-color:rgba(223,195,142,.7);margin:23px auto 0}
.v14-profile-section{background:#f6f8fa;min-height:65vh}
.v14-profile-crumb{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:36px;font-size:.84rem;color:#66778a}
.v14-profile-crumb a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.v14-profile-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,88px);align-items:start}
.v14-profile-photo{background:#e4ebf1;min-height:380px;overflow:hidden}
.v14-profile-photo img{width:100%;height:auto;display:block;object-fit:cover}
.v14-profile-photo .v13-image-empty{height:380px;display:flex;align-items:center;justify-content:center}
.v14-profile-text h1{font-size:clamp(2rem,4vw,3.6rem);margin:15px 0 15px;line-height:1.17;color:var(--navy)}
.v14-profile-position{color:#213f5f;font-size:1.11rem;font-weight:700;margin-bottom:6px}
.v14-profile-school{color:#65778a;font-size:.94rem;margin-bottom:30px}
.v14-profile-bio{margin:27px 0 38px;line-height:1.82}
@media(max-width:720px){.v14-profile-layout{grid-template-columns:1fr}.v14-profile-photo{max-height:440px}.v14-profile-photo img{max-height:440px;object-fit:contain}.v13-person-copy{padding:26px 20px 30px}}

/* v1.6 — fotos reemplazables en todas las cabeceras, sin paneles azules ilustrativos. */
.about-hero-art.ccca-v16-photo-slot,
.v13-hero-art.ccca-v16-photo-slot {
  background: #e9eff3;
  border: 1px solid #d3dee6;
  padding: 0;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.v13-hero-art.ccca-v16-photo-slot::after { display: none; }
.ccca-v16-photo-slot > img {
  width: 100%; height: 100%; position: absolute; inset: 0;
  object-fit: cover; object-position: center; display: block;
}
.ccca-v16-image-empty {
  position: absolute; inset: 0;
  width: 100%; min-height: 100%;
  padding: clamp(20px, 4vw, 44px);
  display: flex; flex-direction: column;
  justify-content: center; align-items: center;
  gap: 13px; text-align: center;
  color: #4b6580;
  background: #edf2f5;
  box-sizing: border-box;
}
.ccca-v16-image-empty::after {
  content: ''; position: absolute; inset: 13px;
  border: 1px dashed #b0c0cc; border-radius: 2px;
  pointer-events: none;
}
.ccca-v16-image-empty svg { width: 52px; height: 52px; color: #7591a6; flex-shrink: 0; }
.ccca-v16-image-empty strong { font-size: 1rem; font-weight: 750; letter-spacing: -.01em; color: #274662; }
.ccca-v16-image-empty span { font-size: .78rem; max-width: 280px; line-height: 1.6; color: #547087; }
@media (max-width: 720px) {
  .ccca-v16-image-empty { padding: 20px; gap: 9px; }
  .ccca-v16-image-empty svg { width: 40px; height: 40px; }
  .ccca-v16-image-empty strong { font-size: .92rem; }
  .ccca-v16-image-empty span { font-size: .69rem; }
}


/* v1.7 — Cabeceras con logotipos PNG íntegros, sin marcos artificiales.
   La transparencia del PNG original deja ver el azul institucional.
   Para fotos paisajísticas puede usarse 'Llenar recuadro' desde el Personalizador. */
.about-hero-art.ccca-v16-photo-slot,
.v13-hero-art.ccca-v16-photo-slot {
  background: transparent;
  background-image: none;
  border: 0;
  outline: 0;
  box-shadow: none;
  padding: 0;
}
/* Preserve the image box ratio. No forced JPG backgrounds or cropping. */
.ccca-v16-photo-slot > img,
.ccca-v16-photo-slot > img.about-cover-photo,
.ccca-v16-photo-slot > img.v13-cover {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  object-fit: contain;
  object-position: center center;
}
.ccca-v16-photo-slot > img.ccca-v17-fit-cover {
  object-fit: cover;
}
.ccca-v16-photo-slot > img.ccca-v17-fit-contain {
  object-fit: contain;
}
/* Keep the soft neutral placeholder only while there is NO uploaded image. */
.ccca-v16-photo-slot:has(> img) { background: transparent; }


/* v1.8 — Ediciones anuales CODECOA / ARS'COA */
.v18-editions-grid .v18-edition-card { min-height: 350px; }
.v18-edition-card .v13-card-kicker,.v18-edition-card h3,.v18-edition-card p,.v18-edition-card .v13-arrow-link { position: relative; z-index: 1; }
.v18-edition-card h3 { font-size:clamp(1.65rem, 2.5vw, 2.25rem); }
.v18-edition-card .v13-feature-number { user-select:none; }
.v18-year-intro { padding-bottom:70px; }
.v18-year-intro + .v13-soft { padding-top:82px; }
.v18-activity-empty { padding:38px 34px; border:1px solid #E0E6ED; background:#fff; color:var(--muted); }
.v18-activity-empty p { margin:0; }
.v18-year-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.v18-year-link { display:flex; justify-content:space-between; gap:14px; align-items:center; border:1px solid #DEE4EB; background:#fff; color:var(--navy); padding:19px 22px; font-size:1.15rem; font-weight:800; transition:transform .25s, border-color .25s, background .25s; }
.v18-year-link:hover { transform:translateY(-3px); border-color:var(--gold); }
.v18-year-link.is-current { background:var(--navy); color:#fff; border-color:var(--navy); }
.v18-year-link span { font-size:.85rem; color:var(--gold); }
.v18-year-back { margin:30px 0 0; }
@media(max-width:720px) { .v18-year-nav { grid-template-columns:repeat(2,minmax(0,1fr)); } .v18-editions-grid .v18-edition-card { min-height:295px; } }
@media(max-width:420px) { .v18-year-nav { grid-template-columns:1fr 1fr; } .v18-year-link { padding:15px; } }
@media(prefers-reduced-motion:reduce) { .v18-year-link { transition:none; } .v18-year-link:hover { transform:none; } }


/* v2.0 — Directorio de colegios: búsqueda accesible y fotografías sin recortes. */
.ccca-school-directory [hidden] { display: none !important; }
.ccca-school-searchbar { margin: -12px 0 28px; }
.ccca-school-search-field {
  display: flex; align-items: center; gap: 14px;
  max-width: 720px; min-height: 60px; padding: 0 20px;
  background: #fff; border: 1px solid #d7e0e9; border-radius: 10px;
  color: #64748b; transition: border-color .2s ease, box-shadow .2s ease;
}
.ccca-school-search-field:focus-within { border-color: #587a9c; box-shadow: 0 0 0 3px rgba(16,43,80,.09); }
.ccca-school-search-field svg { flex-shrink: 0; }
.ccca-school-search-input {
  display: block; width: 100%; border: 0 !important; outline: 0 !important;
  box-shadow: none !important; background: transparent; color: #1c314c;
  font: inherit; font-size: 1rem; line-height: 1.4; padding: 18px 0;
}
.ccca-school-search-input::-webkit-search-cancel-button { cursor: pointer; }
.ccca-school-search-input::placeholder { color: #77889b; opacity: 1; }
.ccca-school-search-hint { color: #64758a; font-size: .79rem; margin: 10px 0 2px; }
.ccca-school-search-count { margin: 9px 0 0; color: #375572; font-size: .82rem; font-weight: 650; }
.ccca-school-no-results { padding: 38px 28px; border: 1px dashed #c6d2dd; text-align: center; background: #fff; color: #263d58; border-radius: 8px; }
.ccca-school-no-results p { margin: 8px 0 0; color: #66788d; }
.v13-school-logo img { display: block; object-fit: contain !important; }
@media (max-width: 720px) {
  .ccca-school-searchbar { margin: 0 0 24px; }
  .ccca-school-search-field { min-height: 54px; padding: 0 14px; }
  .ccca-school-search-input { font-size: 16px; }
}

/* Versión 2.1: Dirección y Distrito en cada tarjeta del directorio. */
.v13-school-body .ccca-school-details { display: grid; gap: 3px; margin: 12px 0 19px; }
.v13-school-body .ccca-school-detail { font-size: .83rem; line-height: 1.6; color: var(--muted); margin: 0; overflow-wrap: anywhere; }
.v13-school-body .ccca-school-detail strong { font-weight: 800; color: var(--navy); }
.v13-school-body .ccca-school-pending { color: #8393a2; }

/* v2.2: La dirección y el distrito siempre ocupan renglones independientes. */
.v13-school-body .ccca-school-details {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 5px;
  margin: 12px 0 19px;
}
.v13-school-body .ccca-school-details > .ccca-school-detail {
  display: block;
  flex: 0 0 auto;
  width: 100%;
  margin: 0;
  line-height: 1.65;
  white-space: normal;
  overflow-wrap: anywhere;
}
.v13-school-body .ccca-school-detail strong { font-weight: 800; }


/* v2.3 — Cuando no se cargue una imagen en cabeceras internas, mantener el espacio totalmente en blanco. */
.about-hero-art.ccca-v16-photo-slot:empty,
.v13-hero-art.ccca-v16-photo-slot:empty {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}


/* v2.4: Sin fotografía, ningún mensaje, icono ni rectángulo gris.
   La zona del hero se funde con el azul institucional; las fotos subidas
   conservan su tamaño y el ajuste "imagen completa / llenar". */
.ccca-v16-image-empty,
.ccca-v16-photo-slot > .ccca-v16-image-empty,
.about-image-fallback,
.photo-frame > .image-placeholder,
.program-placeholder,
.news-placeholder { display: none !important; }
.about-hero-art.ccca-v16-photo-slot,
.v13-hero-art.ccca-v16-photo-slot,
.about-hero-art.ccca-v16-photo-slot.ccca-no-image,
.v13-hero-art.ccca-v16-photo-slot.ccca-no-image {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}
.ccca-v16-photo-slot.ccca-no-image::before,
.ccca-v16-photo-slot.ccca-no-image::after { display:none !important; }
.ccca-v16-photo-slot.ccca-no-image { pointer-events:none; }
.about-purpose-image.ccca-no-image,
.photo-frame.ccca-no-image,
.program-image.ccca-no-image,
.news-photo.ccca-no-image {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}
/* These are photo placeholders for directors, activities, not school emblems. */
.v13-person-photo:not(:has(img)),
.v13-card-photo:not(:has(img)) { background: transparent; }
.v13-person-photo > .v13-image-empty,
.v13-card-photo > .v13-image-empty { display: none !important; }
/* Intentional exception: schools must retain their previously chosen star emblem. */


/* v2.5: marcadores por defecto, fotografias de personas y equipo administrativo */
.v13-school-logo .ccca-v25-school-fallback {display:block;width:100%;max-width:140px;height:140px;object-fit:contain;}
.v13-person-photo img[src*="persona-default.svg"],.v14-profile-photo img[src*="persona-default.svg"]{width:100%;height:100%;object-fit:contain;background:#e7ebf0;}
.ccca-v25-staff-section{background:#fff;}
.ccca-v25-staff-section .v13-section-intro{max-width:760px;}
.ccca-v25-staff-list{display:grid;gap:24px;}
.ccca-v25-staff-card{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.75fr);min-height:280px;border:1px solid #e0e7ee;background:#fff;border-radius:10px;overflow:hidden;transition:box-shadow .35s,border-color .35s,transform .35s;}
.ccca-v25-staff-card:hover{box-shadow:0 18px 40px rgba(17,43,77,.09);border-color:#becddd;transform:translateY(-2px);}
.ccca-v25-staff-details{padding:clamp(26px,4vw,48px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;}
.ccca-v25-staff-kicker{color:#8f724b;font-size:.69rem;font-weight:800;letter-spacing:.15em;line-height:1.5;}
.ccca-v25-staff-kicker span{padding:0 6px;color:#bdad96;}
.ccca-v25-staff-details h3{font-size:clamp(1.4rem,2.25vw,2.1rem);color:var(--navy);line-height:1.25;margin:17px 0 5px;letter-spacing:-.032em;overflow-wrap:anywhere;}
.ccca-v25-staff-role{color:#927349;font-size:1.04rem;font-weight:800;margin:0 0 20px;}
.ccca-v25-staff-contact{display:inline-flex;align-items:baseline;gap:12px;color:#425873;font-size:.94rem;line-height:1.6;max-width:100%;overflow-wrap:anywhere;}
.ccca-v25-staff-contact:hover{color:var(--navy);text-decoration:underline;}
.ccca-v25-staff-contact>span:first-child{color:#A18252;min-width:16px;}
.ccca-v25-staff-photo{background:#edf1f5;min-height:280px;display:grid;place-items:center;}
.ccca-v25-staff-photo img{display:block;width:100%;height:100%;max-height:390px;object-fit:contain;object-position:center;}
.ccca-v25-news-empty{padding:34px 38px;border:1px solid #e2e9f0;background:#f8fafc;border-radius:8px;color:#576e82;}
.ccca-v25-news-empty p{margin:0 0 8px;}
.ccca-v25-news-empty p:last-child{margin-bottom:0;}
.ccca-v25-news-home-card{border:1px solid #e3e9ef;border-radius:7px;overflow:hidden;background:#fff;}
.ccca-v25-news-home-copy{padding:0 24px 28px;}
.ccca-v25-news-home-card:not(:has(.news-photo)) .ccca-v25-news-home-copy{padding-top:25px;}
.ccca-v25-news-home-card:not(:has(.news-photo)) .news-meta{margin-top:0;}
.ccca-v25-news-grid .v13-card-copy{padding:25px;}
.ccca-v25-news-grid .v13-card:not(:has(.v13-card-photo)) .v13-card-copy{padding-top:29px;}
@media(max-width:720px){.ccca-v25-staff-card{grid-template-columns:1fr;}.ccca-v25-staff-photo{min-height:230px;max-height:330px;order:2;}.ccca-v25-staff-details{padding:29px 25px;}.ccca-v25-staff-contact{font-size:.86rem;}}
@media(prefers-reduced-motion:reduce){.ccca-v25-staff-card{transition:none;}.ccca-v25-staff-card:hover{transform:none;}}

/* v2.6 | Enlaces de redes sociales en cabecera, navegación móvil y pie */
.ccca-v26-social{display:flex;align-items:center;gap:5px;flex-shrink:0;}
.ccca-v26-social-link{display:inline-flex;align-items:center;justify-content:center;width:33px;height:36px;flex-shrink:0;color:var(--navy);border-radius:8px;text-decoration:none;transition:color .24s ease,background-color .24s ease,transform .24s ease;}
.ccca-v26-social-link svg{width:20px;height:20px;display:block;}
.ccca-v26-social-link:hover,.ccca-v26-social-link:focus-visible{color:#8A6C40;background:rgba(195,164,109,.12);transform:translateY(-2px);}
.ccca-v26-social--mobile{display:none;}
.ccca-v26-social--footer{margin:16px 0 0;flex-wrap:wrap;gap:8px;}
.ccca-v26-social--footer .ccca-v26-social-link{color:#EEF3F9;border:1px solid rgba(255,255,255,.17);width:38px;height:38px;}
.ccca-v26-social--footer .ccca-v26-social-link:hover{background:rgba(255,255,255,.11);color:#E2D0A9;}
.ccca-v26-mobile-contact{display:none;}
/* Adelantar el menú plegable para evitar desbordamientos con cinco iconos. */
@media(max-width:1150px){
  .header-inner{min-height:75px;gap:16px;}
  .main-nav{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 75px);overflow:auto;background:#fff;box-shadow:0 25px 30px #102B501C;display:none;padding:10px 18px 24px;}
  .main-nav.open{display:block;}
  .nav-menu{display:block;}
  .nav-menu>li{border-bottom:1px solid var(--line);}
  .nav-menu>li>a{padding:15px 6px;}
  .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 10px 12px;}
  .menu-toggle{display:block;margin-left:auto;}
  .header-cta,.ccca-v26-social--header{display:none;}
  .ccca-v26-social--mobile{display:flex;flex-wrap:wrap;gap:10px;padding:16px 7px 10px;}
  .ccca-v26-social--mobile .ccca-v26-social-link{border:1px solid #e0e7ef;width:42px;height:42px;}
  .ccca-v26-mobile-contact{display:inline-flex;align-items:center;gap:12px;margin:10px 7px 6px;background:var(--navy);color:white;padding:12px 18px;border-radius:6px;font-weight:700;font-size:.85rem;}
  .ccca-v26-mobile-contact:hover{color:white;background:var(--navy2);}
}
@media(prefers-reduced-motion:reduce){.ccca-v26-social-link{transition:none!important;}.ccca-v26-social-link:hover{transform:none;}}
/* En el pie, prevalecer sobre los estilos genéricos de enlaces de columnas. */
.footer-grid .ccca-v26-social--footer a.ccca-v26-social-link{display:inline-flex;width:38px;height:38px;margin:0;color:#EEF3F9;text-decoration:none;align-items:center;justify-content:center;}
.footer-grid .ccca-v26-social--footer a.ccca-v26-social-link:hover{color:#E2D0A9;}


/* v2.7 — Folletos por edición con visor emergente */
.v27-brochures-section{background:#f7f8fb}
.v27-brochure-list{display:grid;gap:1.35rem}
.v27-brochure-card{display:grid;grid-template-columns:1.15fr .85fr;gap:1.5rem;align-items:stretch;background:#fff;border:1px solid rgba(15,31,60,.08);border-radius:28px;overflow:hidden;box-shadow:0 16px 42px rgba(10,22,51,.07)}
.v27-brochure-copy{padding:2rem 2rem 2rem 2.2rem;display:flex;flex-direction:column;gap:.95rem;justify-content:center}
.v27-brochure-count{display:inline-flex;align-self:flex-start;min-width:3rem;padding:.45rem .75rem;border-radius:999px;background:rgba(var(--navy-rgb)/.08);color:var(--navy);font-weight:800;letter-spacing:.08em}
.v27-brochure-kicker{font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;color:#a7844e;font-weight:800}
.v27-brochure-copy h3{margin:0;font-size:clamp(1.7rem,2vw,2.4rem);line-height:1.05;color:#17345d}
.v27-brochure-copy p{margin:0;color:#586b88;font-size:1.03rem;line-height:1.75}
.v27-brochure-meta{display:flex;gap:.75rem;flex-wrap:wrap}
.v27-brochure-meta span{display:inline-flex;align-items:center;padding:.42rem .78rem;border-radius:999px;background:#eef3f8;color:#244565;font-size:.9rem;font-weight:700}
.v27-brochure-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:.35rem}
.v27-brochure-preview{position:relative;min-height:290px;background:linear-gradient(135deg, rgba(var(--navy-rgb)/.10), rgba(167,132,78,.14));display:flex;align-items:center;justify-content:center;padding:1.25rem}
.v27-brochure-preview img{width:100%;height:100%;max-height:360px;object-fit:cover;border-radius:20px;box-shadow:0 18px 40px rgba(12,24,52,.18)}
.v27-brochure-fallback{width:min(260px,100%);aspect-ratio:0.78;background:linear-gradient(180deg,#fff,#f0f4fa);border-radius:20px;box-shadow:0 18px 40px rgba(12,24,52,.18);padding:1.25rem;display:flex;flex-direction:column;gap:.85rem;justify-content:flex-start}
.v27-brochure-fallback-sheet{height:6rem;border-radius:14px;background:linear-gradient(135deg, rgba(var(--navy-rgb)/.18), rgba(167,132,78,.22));position:relative;overflow:hidden}
.v27-brochure-fallback-sheet:before{content:"PDF";position:absolute;right:1rem;bottom:.8rem;color:#fff;font-weight:900;letter-spacing:.12em}
.v27-brochure-fallback-line{height:.9rem;border-radius:999px;background:#d8e0ea}
.v27-brochure-fallback-line.is-long{width:90%;background:#c7d2df}
.v27-brochure-empty{padding:1.4rem 1.5rem;border:1px solid rgba(15,31,60,.08);border-radius:22px;background:#fff;color:#5a6b84}
.v27-brochure-modal[hidden]{display:none !important}
.v27-brochure-modal{position:fixed;inset:0;z-index:9999}
.v27-brochure-backdrop{position:absolute;inset:0;background:rgba(4,10,24,.66);backdrop-filter:blur(5px)}
.v27-brochure-dialog{position:relative;z-index:1;width:min(1180px,calc(100% - 2rem));height:min(88vh,860px);margin:clamp(1rem,3vw,2rem) auto;background:#fff;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:96px 1fr;box-shadow:0 28px 90px rgba(2,9,24,.45)}
.v27-brochure-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;border:0;background:#102b50;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;z-index:3}
.v27-brochure-sidebar{background:linear-gradient(180deg,#f6f8fb,#edf2f7);padding:1rem .75rem;display:flex;flex-direction:column;gap:.85rem;align-items:center;justify-content:center;border-right:1px solid rgba(16,43,80,.08)}
.v27-brochure-nav{width:48px;height:48px;border-radius:16px;border:1px solid rgba(16,43,80,.12);background:#fff;color:#102b50;font-size:2rem;line-height:1;cursor:pointer;transition:.2s ease}
.v27-brochure-nav:hover,.v27-brochure-page-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(12,24,52,.12)}
.v27-brochure-pages{display:flex;flex-direction:column;gap:.45rem;max-height:60vh;overflow:auto;padding:.25rem 0}
.v27-brochure-page-btn{width:48px;height:48px;border-radius:14px;border:1px solid rgba(16,43,80,.12);background:#fff;color:#244565;font-weight:800;cursor:pointer}
.v27-brochure-page-btn.is-active{background:#102b50;color:#fff;border-color:#102b50}
.v27-brochure-stage{padding:1.35rem;display:grid;grid-template-rows:auto 1fr;gap:1rem;background:#f6f8fb}
.v27-brochure-stage-head{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;padding-right:3.5rem}
.v27-brochure-stage-head h3{margin:.2rem 0 .45rem;color:#17345d;font-size:clamp(1.5rem,2vw,2.25rem)}
.v27-brochure-stage-head p{margin:0;color:#607289}
.v27-brochure-iframe{width:100%;height:100%;min-height:62vh;border:1px solid rgba(16,43,80,.08);border-radius:22px;background:#fff}
@media (max-width: 960px){
  .v27-brochure-card{grid-template-columns:1fr}
  .v27-brochure-preview{order:-1;min-height:220px}
  .v27-brochure-dialog{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:min(92vh,920px)}
  .v27-brochure-sidebar{border-right:0;border-bottom:1px solid rgba(16,43,80,.08);flex-direction:row;justify-content:flex-start;padding:1rem;overflow:auto}
  .v27-brochure-pages{flex-direction:row;max-height:none;max-width:100%;overflow:auto}
  .v27-brochure-stage-head{padding-right:3rem;flex-direction:column}
}
@media (max-width: 640px){
  .v27-brochure-copy{padding:1.35rem}
  .v27-brochure-stage{padding:.85rem}
  .v27-brochure-stage .btn{padding:.85rem 1rem}
  .v27-brochure-close{top:.7rem;right:.7rem}
}


/* v2.8 — Lector PDF con páginas reales; portada reemplazable. */
.v28-brochure-open{overflow:hidden}
.v27-brochure-stage{min-height:0;overflow:hidden}
.v28-pdf-stage{min-height:0;height:100%;display:flex;align-items:center;flex-direction:column;justify-content:flex-start;overflow:auto;overscroll-behavior:contain;padding:18px;background:#eaf0f6;border:1px solid rgba(16,43,80,.09);border-radius:20px}
.v28-pdf-canvas{display:none;max-width:100%;height:auto;box-shadow:0 9px 29px rgba(16,43,80,.16);background:#fff;flex-shrink:0}
.v28-pdf-status{margin:auto;max-width:460px;padding:18px 24px;text-align:center;font-weight:650;color:#52657e}
.v28-pdf-status.is-error{color:#9a3232;background:#fff1f1;border-radius:12px}
.v27-brochure-nav:disabled{cursor:default;opacity:.35;transform:none;box-shadow:none}
.v27-brochure-page-btn:focus-visible,.v27-brochure-nav:focus-visible{outline:3px solid #bd955f;outline-offset:3px}
.v27-brochure-stage-head{padding-right:3.2rem}
@media(max-width:640px){.v28-pdf-stage{padding:10px}.v27-brochure-dialog{height:calc(100dvh - 20px);margin:10px auto}.v27-brochure-stage{min-height:0}}

/* Ajuste de altura del lienzo dentro del visor modal. */
.v27-brochure-stage{grid-template-rows:auto minmax(0,1fr)}
.v28-pdf-stage{height:auto}

/* v2.9 | Capacitaciones 2023–2026: presentación limpia, sin caja lateral ni texto de ayuda. */
.v29-course-main { background:#fff; }
.v29-course-lead { max-width:850px; }
.v29-course-lead h2 { max-width:760px; margin-bottom:38px; }
.v29-course-editor { margin-top:64px; max-width:980px; padding-top:36px; border-top:1px solid var(--line); }
.v29-course-editor img, .v29-course-editor video, .v29-course-editor iframe { max-width:100%; }
.v29-course-years .v13-feature { min-height:355px; }
@media(max-width:720px) { .v29-course-lead h2{margin-bottom:30px;} .v29-course-editor{margin-top:45px;padding-top:25px;} .v29-course-years .v13-feature {min-height:290px;} }


/* v3.1 — Consejo Directivo: la junta aparece directamente después de la presentación, sin encabezado redundante. */
.v31-directivo-grid-section { padding-top: clamp(40px, 5vw, 76px); }


/* v3.2 — Presentación propia del Consejo Directivo, período 2026–2028. */
.v32-directivo-intro { max-width: 860px; margin-bottom: clamp(36px, 4vw, 60px); }
.v32-directivo-intro .eyebrow { margin-bottom: 20px; }
.v32-directivo-intro h2 { max-width: 860px; margin-bottom: 18px; }
.v32-directivo-intro > p { max-width: 760px; margin-bottom: 0; }
@media(max-width:720px){ .v32-directivo-intro { margin-bottom: 30px; } }

/* v3.3 — Menú institucional reorganizado, escritorio y móvil. */
@media(min-width:1151px){
  .header-inner{gap:16px;}
  .brand{min-width:210px;}
  .nav-menu{gap:clamp(12px,1.5vw,21px)}
  .nav-menu>li>a{font-size:.75rem;}
  .header-cta{padding:12px 14px;}
}
.main-nav .menu-item-has-children > a::after{content:'⌄';display:inline-block;margin-left:7px;font-size:.7rem;transform:translateY(-1px);color:#A7844E}
.main-nav .menu-item-has-children > a[aria-expanded="true"]::after{content:'⌃';}
.sub-menu{border-radius:0 0 10px 10px;min-width:228px;}
.sub-menu a{border-radius:5px;transition:color .2s,background .2s}
.sub-menu a:hover,.sub-menu a:focus-visible{background:#f4f6f8;color:var(--navy)}
.program-grid:has(> .program-card:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1150px){
  .main-nav .sub-menu{display:none;}
  .main-nav .menu-item-has-children.is-open>.sub-menu{display:block;}
  .main-nav .menu-item-has-children>a{display:flex;justify-content:space-between;align-items:center;}
  .main-nav .sub-menu li a{padding:11px 15px;}
  .program-grid:has(> .program-card:nth-child(3):last-child){grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:580px){
  .program-grid:has(> .program-card:nth-child(3):last-child){grid-template-columns:1fr;}
}


/* v3.4 — Alineación configurada desde WordPress. Afecta párrafos, nunca títulos, botones ni menús. */
body.ccca-align-mission-justify .about-principle .ccca-v34-mission-text,
body.ccca-align-vision-justify .about-principle .ccca-v34-vision-text {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  overflow-wrap: break-word;
}
body.ccca-align-mission-left .about-principle .ccca-v34-mission-text,
body.ccca-align-vision-left .about-principle .ccca-v34-vision-text { text-align: left; }
body.ccca-align-institutional-justify .about-history-body p,
body.ccca-align-institutional-justify .about-purpose-copy p,
body.ccca-align-institutional-justify .about-objectives-list li,
body.ccca-align-institutional-justify .entry-body p,
body.ccca-align-institutional-justify .v13-prose p,
body.ccca-align-institutional-justify .about-extra-content p {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  overflow-wrap: break-word;
}


/* v3.5 — Justificación de «Quiénes somos» en la portada, configurable desde WordPress. */
body.ccca-align-home-intro-justify .intro-text p {
  text-align: justify;
  text-justify: inter-word;
  word-break: normal;
  overflow-wrap: normal;
}
body.ccca-align-home-intro-left .intro-text p {
  text-align: left;
}

/* Evitar cortes automáticos de palabras con guion en los textos del sitio.
   Desactiva hyphens:auto heredado de versiones anteriores, incluso en Misión y Visión.
   Se mantienen los guiones que forman parte del texto original. */
body :is(p, li, blockquote, dd, dt, figcaption, td, th),
body .intro-text p,
body .about-principle .ccca-v34-mission-text,
body .about-principle .ccca-v34-vision-text {
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
  hyphens: none !important;
  word-break: normal;
}


/* v3.6.1 — Asesorías legales y contables del mismo ancho que las superiores y centradas. */
.program-grid:has(> .program-card:nth-child(5):last-child) {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}
.program-grid:has(> .program-card:nth-child(5):last-child) > .program-card {
    grid-column: span 4;
    min-width: 0;
}
.program-grid:has(> .program-card:nth-child(5):last-child) > .program-card:nth-child(4) {
    grid-column: 3 / span 4;
}
.program-grid:has(> .program-card:nth-child(5):last-child) > .program-card:nth-child(5) {
    grid-column: 7 / span 4;
}
@media (max-width: 1150px) {
    .program-grid:has(> .program-card:nth-child(5):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .program-grid:has(> .program-card:nth-child(5):last-child) > .program-card,
    .program-grid:has(> .program-card:nth-child(5):last-child) > .program-card:nth-child(4),
    .program-grid:has(> .program-card:nth-child(5):last-child) > .program-card:nth-child(5) { grid-column: auto; }
}
@media (max-width: 580px) {
    .program-grid:has(> .program-card:nth-child(5):last-child) { grid-template-columns: 1fr; }
}


/* v3.8 — Enlaces legales del pie y presentación de documentos editables. */
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px}
.footer-legal-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px}
.site-footer .footer-legal-links a{display:inline-block;color:#d7e0ee;font-size:.76rem;font-weight:600;margin:0;line-height:1.6;text-decoration:none;transition:color .2s ease}
.site-footer .footer-legal-links a:hover,.site-footer .footer-legal-links a:focus-visible{color:var(--gold2);text-decoration:underline;text-underline-offset:5px}
.ccca-legal-hero{background:linear-gradient(120deg,#0b073c,var(--navy));color:#fff;padding:65px 0 82px}
.ccca-legal-hero h1{font-size:clamp(2.4rem,5.2vw,4.7rem);letter-spacing:-.045em;max-width:1000px;margin-bottom:16px}
.ccca-legal-hero p{font-size:1.03rem;max-width:760px;color:#e3eaf6;line-height:1.85;margin:0}
.ccca-legal-breadcrumb{display:flex;align-items:center;gap:12px;color:#dce5f4;font-size:.82rem;margin-bottom:52px}
.ccca-legal-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.ccca-legal-breadcrumb span[aria-hidden]{opacity:.4}
.ccca-legal-grid{display:grid;grid-template-columns:minmax(225px,265px) minmax(0,1fr);gap:clamp(40px,6vw,95px);align-items:start}
.ccca-legal-section{background:#f8f9fc;padding:80px 0 110px}
.ccca-legal-aside{position:sticky;top:125px;border:1px solid #e1e7ee;background:#fff;border-radius:16px;padding:27px 22px}
.ccca-legal-aside-kicker,.ccca-legal-document-label{font-size:.67rem;letter-spacing:.12em;color:#a7844e;font-weight:800}
.ccca-legal-aside h2{font-size:1.25rem;letter-spacing:-.03em;margin:9px 0 22px;color:#1d3048}
.ccca-legal-aside nav{display:flex;flex-direction:column;gap:9px}
.ccca-legal-aside nav a{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#405673;padding:12px 13px;border-radius:9px;font-size:.84rem;font-weight:700;line-height:1.45}
.ccca-legal-aside nav a:hover,.ccca-legal-aside nav a.is-current{background:#edf1f7;color:#102b50}
.ccca-legal-document{background:#fff;border:1px solid #e1e7ee;border-radius:16px;padding:clamp(25px,4vw,56px);color:#485e7c;min-width:0;overflow-wrap:break-word}
.ccca-legal-document-label{display:block;padding-bottom:22px;border-bottom:1px solid #e8ebef;margin-bottom:30px}
.ccca-legal-document h2{font-size:clamp(1.35rem,2.3vw,1.8rem);letter-spacing:-.035em;color:#1d3048;margin:36px 0 14px}
.ccca-legal-document h2:first-child{margin-top:0}
.ccca-legal-document p,.ccca-legal-document li{line-height:1.9;font-size:.97rem;text-align:justify;hyphens:none!important;word-break:normal}
.ccca-legal-document p{margin-bottom:1.35em}
.ccca-legal-document ul,.ccca-legal-document ol{padding-left:1.5rem;margin:0 0 1.6rem}
.ccca-legal-document li{margin-bottom:.6rem}
.ccca-legal-document a{text-decoration:underline;text-underline-offset:3px;color:#0b416e;overflow-wrap:anywhere}
.ccca-legal-document-end{border-top:1px solid #e1e7ee;padding-top:25px;margin-top:44px;font-size:.81rem;color:#647285}
.ccca-legal-document-end span{color:#a7844e}
@media (max-width:900px){.ccca-legal-grid{grid-template-columns:1fr;gap:25px}.ccca-legal-aside{position:static}.ccca-legal-aside nav{flex-direction:row;flex-wrap:wrap}.ccca-legal-hero{padding:48px 0 62px}.ccca-legal-breadcrumb{margin-bottom:35px}}
@media (max-width:600px){.footer-bottom{display:flex;flex-direction:column;align-items:flex-start}.footer-bottom>span{margin-bottom:0}.footer-legal-links{display:flex;flex-wrap:wrap;gap:8px 18px}.ccca-legal-section{padding:45px 0 75px}.ccca-legal-document p,.ccca-legal-document li{text-align:left}}


/* v3.9 — Logotipo proporcional junto al nombre en el pie de página. */
.site-footer .ccca-footer-brand {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  max-width: 100%;
  margin-bottom: 20px;
  text-decoration: none;
}
.site-footer .ccca-footer-brand__logo {
  display: block;
  width: auto;
  height: 52px;
  max-width: 72px;
  min-width: 0;
  object-fit: contain;
  object-position: center;
  flex: 0 0 auto;
  border: 0;
  box-shadow: none;
  background: transparent;
}
.site-footer .ccca-footer-brand .ccca-footer-brand__name {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.35;
  padding: 0;
  color: #fff;
  font-size: .96rem;
}
.site-footer .ccca-footer-brand__name strong,
.site-footer .ccca-footer-brand .ccca-footer-brand__line2 {
  display: block;
  padding: 0;
}
.site-footer .ccca-footer-brand .ccca-footer-brand__line2 {
  color: #D6BE93;
}
@media (max-width: 580px) {
  .site-footer .ccca-footer-brand__logo {
    height: 46px;
    max-width: 62px;
  }
  .site-footer .ccca-footer-brand { gap: 10px; }
}


/* v3.10 — Ícono oficializado visualmente de WhatsApp, sin cambiar el botón ni su texto. */
.whatsapp-float .ccca-whatsapp-float-icon {
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
  flex: 0 0 auto;
  fill: currentColor;
}
/* Si se ocultan todas las ediciones, mostrar mensaje sencillo sin tarjetas vacías. */
.v310-training-none {
  grid-column: 1 / -1;
  padding: 22px 28px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--muted);
}


/* v3.11 — Respuestas editables, con texto enriquecido y espaciado consistente. */
.accordion details .ccca-faq-answer { color: var(--muted); font-size: .85rem; padding: 0 35px 17px 6px; line-height: 1.85; }
.accordion details .ccca-faq-answer p { font-size: inherit; padding: 0; margin: 0 0 .7rem; color: inherit; }
.accordion details .ccca-faq-answer p:last-child { margin-bottom: 0; }
.accordion details .ccca-faq-answer ul, .accordion details .ccca-faq-answer ol { margin: .5rem 0 1rem; padding-left: 1.3rem; }
.accordion details .ccca-faq-answer a { color: var(--navy); text-decoration: underline; text-underline-offset: 2px; }
.accordion details .ccca-faq-answer strong { color: var(--ink); }
@media (max-width: 580px) { .accordion details .ccca-faq-answer { padding-right: 8px; } }


/* v3.14 — Acción de Facebook en el artículo individual. */
.ccca-fb-single-link{margin-top:2.5rem}
.ccca-fb-single-link .btn{text-decoration:none;color:#fff}
