/* NES RPG menu palette. Existing section grids and original artwork are preserved. */
.academy-nes { --nes-accent:#f8e8a0; --nes-edge:#c8d8ff; --nes-bg:#080c30; color:#f8f8ff; background:#080c30; }
.academy-nes .academy-page { --academy-purple:#10145a; --academy-cyan:#a8d8ff; --academy-yellow:#ffe49a; color:#f8f8ff; background:#080c30; }
.academy-nes .academy-page h1,.academy-nes .academy-page h2,.academy-nes .academy-page h3,.academy-nes .section-kicker,.academy-nes .academy-section-nav a,.academy-nes .academy-page .button { font-family:'Ludicon Pixel',monospace; letter-spacing:0; text-shadow:2px 2px #03061e; }
.academy-nes .academy-page h1 { line-height:1.12; font-size:clamp(2.5rem,6vw,5.8rem); }
.academy-nes .academy-page h2 { color:#fff5c8; line-height:1.3; font-size:clamp(1.6rem,3.1vw,2.65rem); }
.academy-nes .academy-page h3 { color:#f8f8ff; line-height:1.45; }
.academy-nes .academy-page p,.academy-nes .academy-page li { line-height:1.7; }
.academy-nes .academy-page .section-kicker { color:#ffe49a; }
.academy-nes .academy-hero { background-color:#080c30; background-image:radial-gradient(#879fe0 1px,transparent 1px),radial-gradient(#f8e8a0 1px,transparent 1px); background-size:48px 48px,112px 112px; background-position:0 0,22px 34px; border-bottom:4px solid #dce4ff; box-shadow:inset 0 -8px #384b96; }
.academy-nes .academy-hero::after { border:4px double #738cca; border-radius:0; opacity:.35; transform:rotate(45deg); }
.academy-nes .academy-hero-art img { filter:drop-shadow(6px 8px 0 #03061e80); }
.academy-nes .academy-intro,.academy-nes .academy-submission,.academy-nes .academy-organization { background:#0a103b; }
.academy-nes .academy-call,.academy-nes .academy-committee,.academy-nes .academy-activities { background:#101750; border-block:4px double #728bca; }
.academy-nes .academy-section-nav { background:#111e70; border-block:3px solid #dce4ff; box-shadow:0 4px #03061e,inset 0 0 0 2px #516aba; }
.academy-nes .academy-section-nav a { color:#fff; font-size:.7rem; }
.academy-nes .academy-copy-panel p,.academy-nes .academy-modalities article,.academy-nes .academy-timeline,.academy-nes .academy-people-grid article,.academy-nes .academy-activity-grid article,.academy-nes .academy-contact-card,.academy-nes .academy-archive>div { color:#f8f8ff; background:#151f76; border:3px solid #e0e6ff; border-radius:0; box-shadow:inset 0 0 0 3px #536abe,0 0 0 2px #070a28,5px 5px 0 #03061e; }
.academy-nes .academy-page .button,.academy-nes .academy-archive a { color:#fff9ce; background:#122268; border:2px solid #dce4ff; border-radius:0; box-shadow:3px 3px #03061e; }
.academy-nes .academy-page .button:hover,.academy-nes .academy-page .button:focus-visible,.academy-nes .academy-archive a:hover,.academy-nes .academy-archive a:focus-visible { color:#10143c; background:#fff2b7; text-shadow:none; outline:2px solid #fff; outline-offset:3px; }
.academy-nes .academy-language-row span,.academy-nes .academy-language-row img,.academy-nes .academy-modalities span,.academy-nes .academy-people-grid span,.academy-nes .academy-activity-date,.academy-nes .academy-timeline li::before { border-radius:0; }
.academy-nes .academy-modalities span,.academy-nes .academy-people-grid span { background:#080e3c; border:1px solid #839be4; }
.academy-nes .academy-organizer-list p,.academy-nes .academy-topic-grid li { border-color:#7185c2; }
.academy-nes .academy-organizer-list strong { color:#fff4b7; }
.academy-nes .academy-archive { border-color:#a8bbed; }
.academy-nes .academy-page a:not(.button) { color:#fff1b4; }
.academy-nes .academy-activity-date { color:#111643; background:#ffe49a; }
.academy-nes .site-header,.academy-nes .site-footer { color:#f5f5ff; background:#0c1245; border-color:#dce4ff; }
.academy-nes .site-header a,.academy-nes .site-header summary,.academy-nes .site-footer a { color:#fff1b4; }
.academy-nes .site-header .nav-dropdown-menu,.academy-nes .mobile-navigation>div { color:#fff; background:#151f76; border-color:#dce4ff; }
.academy-nes .site-header .nav-dropdown-menu a { color:#fff; border-radius:0; }
.academy-nes .site-header .nav-dropdown-menu a:is(:hover,:focus-visible,[aria-current]),.academy-nes .mobile-navigation>div a:is(:hover,:focus-visible) { background:#fff1b4; color:#10143c; text-shadow:none; }
.academy-nes .site-header .nav-dropdown-menu a:is(:hover,:focus-visible)::before { content:'▸ '; }
.academy-nes .academy-hero-art { display:grid; place-items:center; min-height:0; padding:20px; }
.academy-nes .academy-hero-art .academy-party { position:static; width:100%; height:auto; max-width:520px; transform:none; image-rendering:pixelated; }
.academy-nes .academy-hero-art::before { content:'INVESTIGAR · CREAR · COMPARTIR'; color:#fff1b4; font:700 .85rem/1.6 'Ludicon Pixel',monospace; letter-spacing:.05em; border:3px double #c8d8ff; padding:14px; width:100%; text-align:center; box-sizing:border-box; background:#151f76; }
.academy-nes .site-header a.button,.academy-nes .site-header .mobile-navigation>summary { color:#fff4b7; background:#151f76; border:2px solid #dce4ff; border-radius:0; box-shadow:3px 3px #03061e; }
.academy-nes .site-header a.button-primary { color:#10143c; background:#fff1b4; border-color:#fff1b4; }
.academy-nes .academy-archive>.academy-archive-carousel { padding-right:24px!important; min-width:0; }
.academy-archive-carousel h3 { padding-right:95px; min-height:88px; }
.academy-archive-controls { display:grid; grid-template-columns:28px minmax(0,1fr) 28px; align-items:center; gap:4px; margin-top:auto; }
.academy-archive-track { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:8px 4px 12px; }
.academy-archive-track::-webkit-scrollbar { display:none; }
.academy-archive-year { flex:0 0 100%; min-width:0; scroll-snap-align:start; border-top:3px solid #a8bbed; padding-top:12px; position:relative; }
.academy-archive-year::before { content:''; width:9px; height:9px; background:#ffe49a; position:absolute; top:-6px; left:8px; }
.academy-archive-year strong { font-family:'Ludicon Pixel',monospace; color:#ffe49a; }
.academy-nes .academy-archive-year a { display:block; margin-top:10px; padding:7px 8px; overflow-wrap:anywhere; font-size:.78rem; }
.academy-archive-arrow { background:transparent; border:0; padding:10px 0; color:#fff1b4; font-size:24px; cursor:pointer; opacity:.65; }
.academy-archive-arrow:hover,.academy-archive-arrow:focus-visible { opacity:1; outline:2px solid #fff1b4; }
.academy-archive-arrow:disabled { opacity:.15; cursor:default; }
@media(prefers-reduced-motion:no-preference) { .academy-archive-track { scroll-behavior:smooth; } }
