.footer{background-color:var(--primary-dark);color:var(--text-on-dark);padding:48px 0 24px}.footer__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-2xl)}.footer__col{display:flex;flex-direction:column;gap:var(--spacing-xs)}.footer__name{font-size:1.125rem;font-weight:700;color:var(--text-on-dark);margin:0}.footer__colegiado{font-size:.875rem;color:var(--text-on-dark);margin:0 0 var(--spacing-sm) 0}.footer__contact{font-size:.9375rem;margin:0}.footer__contact a{color:var(--text-on-dark);text-decoration:none;font-weight:400;transition:opacity var(--transition);padding:6px 0;display:inline-block}.footer__contact a:hover{color:var(--text-on-dark);opacity:.85;text-decoration:underline}.footer__contact a:focus-visible{outline:2px solid var(--text-on-dark);outline-offset:2px}.footer__heading{font-size:.875rem;font-weight:600;color:var(--text-on-dark);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-sm) 0}.footer__nav{display:flex;flex-direction:column;gap:var(--spacing-xs)}.footer__nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.footer__nav a{color:var(--text-on-dark);text-decoration:none;font-size:.9375rem;font-weight:400;transition:opacity var(--transition);padding:6px 0;display:inline-block}.footer__nav a:hover{color:var(--text-on-dark);opacity:.85;text-decoration:underline}.footer__nav a:focus-visible{outline:2px solid var(--text-on-dark);outline-offset:2px}.footer__bottom{margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);text-align:center}.footer__bottom p{font-size:13px;color:var(--text-on-dark);margin:0}@media(max-width:768px){.footer{padding:40px 20px 24px}.footer__grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl) var(--spacing-lg);text-align:center}.footer__col:first-child{grid-column:1/-1}.footer__col{align-items:center}.footer__nav{align-items:center}.footer__nav ul{align-items:center}}@media(max-width:480px){.footer__grid{grid-template-columns:1fr}}.footer__nav-cookie-btn{background:none;border:none;padding:6px 0;cursor:pointer;color:var(--text-on-dark,#fff);font-size:.9375rem;font-weight:400;font-family:inherit;display:inline-block;transition:opacity var(--transition)}.footer__nav-cookie-btn:hover{opacity:.85;text-decoration:underline}.footer__nav-cookie-btn:focus-visible{outline:2px solid var(--text-on-dark,#fff);outline-offset:2px}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--primary-dark,#142840);border-top:1px solid rgba(255,255,255,.1);padding:16px 0;box-shadow:0 -2px 10px rgba(0,0,0,.15)}.cookie-banner[hidden]{display:none}.cookie-banner__inner{max-width:var(--container-max,1100px);margin:0 auto;padding:0 var(--container-padding,1.5rem);display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-banner__text{font-size:.875rem;color:var(--text-on-dark-muted,#CBD5E0);line-height:1.5;margin:0;flex:1}.cookie-banner__link{color:var(--text-on-dark,#fff);text-decoration:underline;text-underline-offset:2px;font-weight:500}.cookie-banner__link:hover{opacity:.85}.cookie-banner__buttons{display:flex;gap:10px;flex-shrink:0}.cookie-banner__btn{font-family:var(--font-body);font-size:.875rem;font-weight:600;padding:8px 20px;border-radius:var(--radius-full,999px);border:none;cursor:pointer;transition:all var(--transition,.2s ease);white-space:nowrap}.cookie-banner__btn--accept{background:var(--cta,#F59E0B);color:var(--cta-text,#1E3A5F)}.cookie-banner__btn--accept:hover{background:var(--cta-hover,#D97706)}.cookie-banner__btn--reject{background:rgba(255,255,255,.12);color:var(--text-on-dark,#fff);border:1px solid rgba(255,255,255,.5)}.cookie-banner__btn--reject:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.7);color:var(--text-on-dark,#fff)}@media(max-width:640px){.cookie-banner{bottom:60px}.cookie-banner__inner{flex-direction:column;text-align:center;gap:12px}.cookie-banner__buttons{width:100%;justify-content:center}.cookie-banner__btn{flex:1;max-width:150px}}.mobile-cta{display:none}@media(max-width:767px){.mobile-cta{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:16px;right:16px;z-index:99;display:flex;align-items:center;justify-content:center;height:52px;background-color:var(--cta,#F59E0B);border-radius:12px;box-shadow:0 -4px 20px rgba(0,0,0,.15);transform:translateY(calc(100% + 32px));opacity:0;transition:transform .3s ease-out,opacity .3s ease-out}.mobile-cta.is-visible{display:flex;transform:translateY(0);opacity:1}.mobile-cta__link{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;color:var(--cta-text,#1E3A5F);font-size:15px;font-weight:600;text-decoration:none}.mobile-cta__icon{width:20px;height:20px;flex-shrink:0}.mobile-cta__link:hover{color:var(--cta-text,#1E3A5F);text-decoration:none}.mobile-cta__link:active{opacity:.9}.mobile-cta__link:focus-visible{outline:3px solid var(--cta-text,#1E3A5F);outline-offset:2px;border-radius:12px}}.faq{max-width:800px;margin:0 auto}.faq__item{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:12px;transition:border-color var(--transition),box-shadow var(--transition)}.faq__item:hover{border-color:var(--border-hover)}.faq__item[open]{border-color:var(--accent);box-shadow:var(--shadow-sm)}.faq__question{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:18px 24px;font-weight:600;font-size:16px;color:var(--primary-dark);cursor:pointer;list-style:none;transition:color var(--transition)}.faq__question::-webkit-details-marker{display:none}.faq__question::marker{display:none;content:''}.faq__item[open] .faq__question{color:var(--accent-dark)}.faq__question span{flex:1;text-align:left}.faq__icon-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--accent);font-size:20px;font-weight:400;line-height:1}.faq__icon-toggle::before{content:'+'}.faq__item[open] .faq__icon-toggle::before{content:'\2212'}.faq__answer{padding:0 24px 18px;font-size:15px;color:var(--text-secondary);line-height:1.7}.faq__answer p{margin-bottom:var(--spacing-md);font-size:15px}.faq__answer p:last-child{margin-bottom:0}.faq__answer strong{color:var(--text-primary)}.faq__answer a{color:var(--accent);font-weight:500}.faq__answer a:hover{color:var(--accent-dark);text-decoration:underline}