/* Shared header, card and footer presentation. */
.akira-navigation-wrap { background: var(--akira-surface); border-block: 1px solid var(--akira-border); }
.akira-navigation-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; position:relative; }
.akira-navigation { min-width:0; }
.akira-nav-tools { display:flex; align-items:center; gap:.4rem; margin-inline-start:auto; flex-shrink:0; padding-block:.3rem; }
.akira-nav-tools .akira-icon-button { width:44px; padding:.5rem; border-color:transparent; }
.akira-nav-tools .akira-icon-button:hover { background:var(--akira-surface-alt); }
.akira-nav-tools .akira-theme-toggle span { display:flex; }
.akira-header-inline { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; padding-block:1.2rem; }
.akira-header-inline .akira-branding { flex:1 1 16rem; }
.akira-header-inline .akira-navigation-wrap { flex:1 1 100%; border:0; }
.akira-header-03 .akira-branding { flex:1 1 100%; justify-content:center; text-align:center; }
.akira-header-03 .akira-header-inner { justify-content:center; }
.akira-header-03 .akira-branding + .akira-button { margin-inline:auto; }
.akira-button-secondary { background:var(--akira-secondary); color:var(--akira-on-secondary); }
.akira-button-outline { background:transparent; color:var(--akira-link); border-color:currentColor; }
.akira-social-links { gap:.25rem; }
.akira-social-links a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; border-radius:var(--akira-radius-sm); }
.akira-social-links a:hover { box-shadow:inset 0 0 0 1px currentColor; }
.akira-card { border:1px solid var(--akira-border); min-width:0; }
.akira-card h2 a { color:inherit; }
.akira-card-link { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; margin-top:.8rem; font-size:.9rem; font-weight:650; }
.akira-card-horizontal, .akira-card-compact { display:grid; grid-template-columns:minmax(0,1fr); }
.akira-card-compact .akira-card-body { padding:1rem; }
.akira-card-compact h2 { font-size:1.2rem; }
.akira-card-compact .akira-card-excerpt { font-size:.88rem; }
.akira-card-overlay { position:relative; min-height:24rem; justify-content:flex-end; background:var(--akira-secondary); color:var(--akira-on-secondary); }
.akira-card-overlay .akira-card-image { position:absolute; inset:0; }
.akira-card-overlay .akira-card-image img { height:100%; aspect-ratio:auto; }
.akira-card-overlay.akira-card-has-image { color:#fff; }
.akira-card-overlay .akira-card-body { position:relative; z-index:1; flex:0; padding:clamp(1.3rem,3vw,3rem); }
.akira-card-overlay.akira-card-has-image .akira-card-body { background:linear-gradient(transparent,rgba(0,0,0,.87) 35%); padding-top:5rem; }
.akira-card-overlay .akira-card-excerpt, .akira-card-overlay .akira-meta, .akira-card-overlay .akira-card-link { color:inherit; }
.akira-career-detail { display:flex; align-items:center; gap:.6rem; margin:.25rem 0; font-size:.9rem; }
.akira-breadcrumbs { font-size:.82rem; margin-bottom:1.5rem; }
.akira-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; padding:0; margin:0; }
.akira-breadcrumbs li + li::before { content:'/'; margin-inline-end:.5rem; color:var(--akira-text-muted); }
.akira-footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem 2rem; }
.akira-footer-bottom-links { display:flex; flex-wrap:wrap; gap:1rem; }
.akira-footer-logo { width:auto; max-height:80px; margin-bottom:1rem; }
.akira-footer-grid .akira-social-links { margin-bottom:1rem; }
.akira-footer address { font-style:normal; white-space:pre-line; }
.akira-appearance-ready body, .akira-appearance-ready .akira-card, .akira-appearance-ready .akira-header, .akira-appearance-ready .akira-navigation-wrap { transition:background-color .18s ease,color .18s ease,border-color .18s ease; }
@media (min-width:48rem) {
	.akira-card-horizontal.akira-card-has-image { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
	.akira-card-compact.akira-card-has-image { grid-template-columns:140px minmax(0,1fr); }
	.akira-card-horizontal .akira-card-image img, .akira-card-compact .akira-card-image img { height:100%; min-height:160px; object-fit:cover; }
	.akira-footer-columns-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:64rem) {
	.akira-header-inline { flex-wrap:nowrap; }
	.akira-header-inline .akira-navigation-wrap { flex:2 1 auto; }
	.akira-header-inline .akira-branding { flex:1 1 17rem; }
	.akira-header-inline > .akira-button { flex-shrink:0; }
	.akira-header-03 .akira-header-inner { position:relative; min-height:130px; }
	.akira-header-03 .akira-branding { padding-inline:12rem; }
	.akira-header-03 .akira-header-inner > .akira-button { position:absolute; right:2.5rem; max-width:11rem; }
	.akira-footer-columns-4 { grid-template-columns:1.5fr 1fr 1fr 1fr; }
}
@media (max-width:63.99rem) {
	.akira-navigation { flex:1; position:static; }
	.akira-nav-enhanced .akira-menu { position:absolute; top:100%; left:0; right:0; padding:.75rem; background:var(--akira-surface); box-shadow:var(--akira-shadow); z-index:110; border:1px solid var(--akira-border); }
	.akira-nav-tools .akira-social-links { display:none; }
}
@media (prefers-reduced-motion:reduce) { .akira-appearance-ready body, .akira-appearance-ready .akira-card, .akira-appearance-ready .akira-header, .akira-appearance-ready .akira-navigation-wrap { transition:none; } }
/* Clear calls to action, with theme-controlled contrast colors. */
.akira-card-link, .akira-button { border-radius:10px; padding:.8rem 1.2rem; font-weight:750; text-decoration:none; box-shadow:0 4px 0 #0002; transition:transform .18s ease,box-shadow .18s ease; }
.akira-card .akira-card-link { background:var(--akira-primary); color:var(--akira-on-primary); align-self:flex-start; gap:1rem; border:1px solid transparent; }
.akira-card-overlay .akira-card-link { background:var(--akira-accent); color:var(--akira-on-accent); }
.akira-card-link:hover, .akira-button:hover { text-decoration:none; transform:translateY(-2px); box-shadow:0 7px 16px #0003; }
.akira-card-link:focus-visible, .akira-button:focus-visible, .akira-menu a:focus-visible { outline:3px solid var(--akira-indicator); outline-offset:4px; }
.akira-card-link .akira-icon { transition:transform .18s ease; }
.akira-card-link:hover .akira-icon { transform:translateX(3px); }
.akira-menu > li > a { border-radius:8px; margin-block:.3rem; }
.akira-menu > li > a:hover, .akira-menu > li > a:focus-visible { background:var(--akira-primary); color:var(--akira-on-primary); text-decoration:none; }
.akira-menu > .current-menu-item > a, .akira-menu > .current-menu-ancestor > a { font-weight:800; border-radius:8px; }
.akira-card[data-content-type="akira_carrera"] { border-radius:16px; border-bottom:4px solid var(--akira-primary); box-shadow:var(--akira-shadow); }
.akira-card[data-content-type="akira_carrera"] .akira-categories { display:flex; align-items:center; gap:.5rem; }
.akira-card[data-content-type="akira_carrera"] .akira-categories .akira-icon { width:28px; height:28px; }
.akira-card[data-content-type="akira_carrera"]:not(.akira-card-overlay) .akira-career-detail { background:var(--akira-surface-alt); padding:.55rem .75rem; border-radius:8px; }
@media (prefers-reduced-motion:reduce) { .akira-card-link, .akira-button, .akira-card-link .akira-icon { transition:none; transform:none!important; } }
/* Institutional masthead and editorial navigation. */
.akira-topbar { background:var(--akira-surface); color:var(--akira-text); border-block:1px solid var(--akira-border); }
.akira-topbar-inner { min-height:44px; padding-block:.25rem; }
.akira-header-01 .akira-header-inner { min-height:210px; padding-block:2.5rem; }
.akira-header-01 .akira-branding { gap:clamp(1.2rem,3vw,3rem); }
.akira-header-01 .custom-logo { max-height:120px; }
.akira-header-01 .akira-site-title { font-size:clamp(1.8rem,3.7vw,3.6rem); font-weight:850; line-height:1.08; }
.akira-header-01 .akira-identity p { font-size:1rem; }
.akira-navigation-wrap { background:#202125; color:#fff; border:0; box-shadow:0 5px 16px #0001; }
.akira-navigation-wrap .akira-menu > li > a { color:#fff; text-transform:uppercase; font-size:.88rem; font-weight:800; border-radius:0; margin:0; padding-block:1.35rem; }
.akira-navigation-wrap .akira-menu > li > a:hover, .akira-navigation-wrap .akira-menu > li > a:focus-visible,
.akira-navigation-wrap .akira-menu > .current-menu-item > a, .akira-navigation-wrap .akira-menu > .current-menu-ancestor > a { background:var(--akira-primary); color:var(--akira-on-primary); box-shadow:inset 0 -4px var(--akira-accent); }
.akira-navigation-wrap .akira-nav-tools a, .akira-navigation-wrap .akira-icon-button, .akira-navigation-wrap .akira-menu > li > .akira-submenu-toggle { color:#fff; }
.akira-navigation-wrap .akira-nav-tools .akira-icon-button:hover { background:#ffffff20; }
.akira-navigation-wrap .akira-nav-tools .akira-icon, .akira-navigation-wrap .akira-menu-toggle .akira-icon { width:24px; height:24px; }
.akira-navigation-wrap .akira-menu > li > a:focus-visible { outline-color:#fff; outline-offset:-5px; }
.akira-navigation-wrap .akira-menu-toggle { border-color:#ffffff60; }
@media (min-width:64rem) { .akira-navigation-wrap .akira-menu > li > .akira-submenu-toggle { top:.9rem; } }
@media (max-width:63.99rem) {
 .akira-navigation-wrap .akira-menu { background:#202125; }
 .akira-navigation-wrap .akira-menu .sub-menu { background:var(--akira-surface); }
 .akira-header-01 .akira-header-inner { min-height:160px; padding-block:1.5rem; }
}
@media (max-width:35rem) {
 .akira-header-01 .akira-branding { gap:1rem; }
 .akira-header-01 .akira-site-title { font-size:1.6rem; }
 .akira-header-01 .custom-logo { max-height:80px; }
}
/* Institutional signature on news cards; never crop the institute's mark. */
.akira-news-badge { display:flex; align-items:center; justify-content:center; width:80px; height:80px; flex:0 0 auto; padding:8px; margin-bottom:.8rem; border:1px solid var(--akira-border); border-radius:50%; background:#fff; box-shadow:0 4px 12px #0002; position:relative; }
.akira-news-badge img { display:block; width:100%; height:100%; object-fit:contain; border-radius:0; }
.akira-card-default.akira-card-has-image .akira-news-badge { margin-top:calc(-40px - clamp(1.2rem,2vw,1.75rem)); }
.akira-card-overlay .akira-news-badge, .akira-card-compact .akira-news-badge { width:56px; height:56px; padding:6px; }
@media (max-width:47.99rem) {
 .akira-card-horizontal.akira-card-has-image .akira-news-badge { margin-top:calc(-40px - clamp(1.2rem,2vw,1.75rem)); }
}
