/* Shared public demo navigation; official project identities remain unchanged. */
.aca-header{min-height:86px;padding:16px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff24;background:#190b30;position:relative;z-index:10}
.aca-header .brand,.aca-header .site-brand{display:flex;gap:10px;align-items:center;font:800 22px/1.2 Arial,Helvetica,sans-serif;letter-spacing:0}
.aca-header .brand img,.aca-header .site-brand img{width:42px;height:42px;object-fit:contain;flex-shrink:0}
.aca-header .site-brand small{display:none}
.navigation-fallback{display:flex;gap:22px;flex-wrap:wrap;font-size:13px}
.navigation-fallback a{padding:12px 0}
.navigation-fallback[hidden],.menu-toggle[hidden]{display:none!important}
.menu-toggle,.menu-close{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:12px 20px;border:1px solid #ae91db80;border-radius:30px;background:#352052;color:#fff7ff;font:700 14px/1.3 Arial,Helvetica,sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
.menu-toggle:hover,.menu-close:hover{background:#533273;border-color:#ff83d7}
.hamburger{display:grid;gap:5px;width:23px}.hamburger i{display:block;width:23px;height:2px;border-radius:3px;background:#ff95dc}.hamburger i:nth-child(2){width:17px;justify-self:end;background:#95e2ff}
body.menu-open{overflow:hidden}
.site-menu{width:min(1080px,calc(100% - 40px));max-width:1080px;max-height:calc(100dvh - 40px);margin:auto;padding:32px;border:1px solid #be91ed80;border-radius:26px;background:radial-gradient(ellipse at 100% 0,#58309570,transparent 60%),#211037;color:#fff5ff;box-shadow:0 30px 100px #090315b3;overflow:auto;overscroll-behavior:contain;text-align:left}
.site-menu:not([open]){display:none}.site-menu[open]{display:block;animation:menu-arrive .28s ease-out}
.site-menu::backdrop{background:#10081dd9;backdrop-filter:blur(12px)}
.menu-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}
.menu-top>p{margin:0;color:#d6baf4;font:700 13px/1.5 Arial,Helvetica,sans-serif;letter-spacing:1px}
.menu-close{background:#211037;gap:18px}.menu-close span{font-size:26px;font-weight:400;line-height:.8}
.menu-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.menu-pages{display:flex;flex-direction:column;justify-content:center}
.menu-pages>a{display:grid;grid-template-columns:20px 1fr 24px;align-items:center;gap:14px;min-height:78px;padding:18px 0;border-bottom:1px solid #ffffff20;font:800 clamp(24px,3.5vw,42px)/1.12 Arial,Helvetica,sans-serif;letter-spacing:-.02em;transition:color .2s}
.menu-pages>a>span{font:400 12px/1.4 Arial,Helvetica,sans-serif;color:#c5a9e0;letter-spacing:0}.menu-pages>a>span:last-child{font-size:25px;justify-self:end;color:#ff83d7}
.menu-pages>a[aria-current=page],.menu-pages>a:hover{color:#ff95dc}
.menu-label{margin:0 0 14px;font:700 12px/1.5 Arial,Helvetica,sans-serif;color:#98dfff}
.menu-project,.footer-project{display:grid;grid-template-columns:52px minmax(0,1fr) 16px;align-items:center;gap:13px;padding:12px 14px;background:#ffffff05;border:1px solid #ae8bd436;border-radius:14px;transition:background .2s,border-color .2s}
.menu-project+.menu-project{margin-top:9px}.menu-project:hover,.footer-project:hover{background:#7040aa40;border-color:#cba5f699}
.menu-project img,.footer-project img{width:52px;height:52px;object-fit:contain;filter:none;transform:none}
.menu-project strong,.footer-project strong{display:block;font:700 15px/1.35 Arial,Helvetica,sans-serif;letter-spacing:0;color:#fff4ff}
.menu-project small,.footer-project small{display:block;margin-top:4px;font:400 12px/1.5 Arial,Helvetica,sans-serif;color:#d0bcdf}
.menu-project>span:last-child,.footer-project>span:last-child{color:#ffa3e2;font-size:18px}
.menu-project.media-missing img,.footer-project.media-missing img{visibility:hidden}
.menu-tutor{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 4px;min-height:48px;font:700 13px/1.5 Arial,Helvetica,sans-serif;color:#e3c5fb}
.menu-formats{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid #ffffff24;padding-top:24px;margin-top:28px}
.menu-formats>a{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:16px 20px;border-radius:14px;background:#3a235c;min-height:90px;border:1px solid transparent}.menu-formats>a:last-child{background:#23315a}.menu-formats>a:hover{border-color:#bba0e0}
.menu-formats strong{font:700 16px/1.5 Arial,Helvetica,sans-serif}.menu-formats>a>span{font:400 12px/1.5 Arial,Helvetica,sans-serif;color:#e2d1ef}
.site-menu .soon-tag,.aca-footer .soon-tag{vertical-align:middle;font:700 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:0;margin-left:6px;padding:4px 8px;display:inline-block;white-space:nowrap}
.aca-footer{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.7fr);gap:50px 6vw;padding:72px 5vw 24px;background:radial-gradient(ellipse at 0 0,#6b339144,transparent 55%),#180c2b;border-top:1px solid #ad7acb50;color:#fbf2ff;font:400 14px/1.6 Arial,Helvetica,sans-serif;letter-spacing:0;text-align:left;position:relative}
.footer-intro{min-width:0}.footer-identity{display:inline-flex;align-items:center;gap:12px;font:800 23px/1.2 Arial,Helvetica,sans-serif;letter-spacing:0}.footer-identity img{width:52px;height:52px;object-fit:contain}
.footer-intro>p{font:800 clamp(32px,3vw,44px)/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.025em;margin:30px 0}.footer-intro>p em{font-style:normal;color:#ff96dc}
.footer-contact{display:inline-flex;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid #e7b5f4;color:#f0c6fa;font:700 14px/1.5 Arial,Helvetica,sans-serif;min-height:48px}
.footer-directory{min-width:0}.footer-projects{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.footer-utility{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px}.footer-utility nav{display:flex;flex-direction:column;align-items:flex-start}
.footer-utility h2{font:700 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:1px;color:#a6ddff;margin:0 0 14px;text-transform:uppercase}
.footer-utility a,.footer-faq,.footer-settings summary{display:block;padding:10px 0;min-height:44px;font:400 13px/1.65 Arial,Helvetica,sans-serif;letter-spacing:0;color:#e0cfe9;background:none;border:0;text-align:left;cursor:pointer}
.footer-utility a:hover,.footer-faq:hover,.footer-contact:hover,.footer-bottom>a:hover,.menu-tutor:hover{color:#ff9fdf;text-decoration:underline;text-underline-offset:5px}
.footer-settings{width:100%}.footer-settings summary{display:list-item;margin-left:16px}.footer-settings .motion-toggle{margin:5px 0;font-size:12px;max-width:100%;text-align:left}
.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff23;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#bea6d0}
.footer-bottom small{font:400 10px/1.6 Arial,Helvetica,sans-serif;letter-spacing:1px}.footer-bottom>a{padding:10px 0;font:700 12px/1.5 Arial,Helvetica,sans-serif;min-height:44px}
.demo-controls #motion{border:1px solid #ab8ac66b;border-radius:24px;padding:12px 18px;background:#27143f;font:400 13px/1.5 Arial,Helvetica,sans-serif;min-height:44px;margin:12px 0}
@keyframes menu-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(min-width:1800px){.aca-footer{gap:6vw;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr)}}
@media(max-width:1000px){.aca-footer{grid-template-columns:1fr;gap:40px}.footer-intro>p{max-width:700px}.menu-columns{gap:28px}.menu-pages>a{font-size:30px}}
@media(max-width:700px){.aca-header{padding:14px 5vw;min-height:78px;gap:14px;flex-wrap:wrap}.aca-header .brand,.aca-header .site-brand{font-size:20px}.aca-header .brand img,.aca-header .site-brand img{width:36px;height:36px}.menu-toggle{gap:16px;padding:11px 16px}.navigation-fallback{flex:1 1 100%;justify-content:space-between;gap:12px;font-size:12px}.site-menu{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:20px;border-radius:20px}.menu-top{margin-bottom:12px;position:sticky;top:-20px;padding:12px 0;background:#211037;z-index:2}.menu-columns{grid-template-columns:1fr;gap:24px}.menu-pages>a{min-height:60px;padding:14px 0;font-size:28px;gap:12px}.menu-formats{grid-template-columns:1fr;margin-top:16px;padding-top:16px;gap:10px}.menu-project{padding:10px 12px}.aca-footer{padding:48px 6vw 22px;gap:32px}.footer-intro>p{line-height:1.22;max-width:370px}.footer-intro>p br{display:block}.footer-projects{grid-template-columns:1fr}.footer-utility{grid-template-columns:1fr;gap:28px;margin-top:28px}.footer-bottom{gap:12px;align-items:flex-start}.footer-bottom small{max-width:190px}.footer-bottom>a{white-space:nowrap;padding-top:0}.footer-contact{font-size:13px}}
@media(prefers-reduced-motion:reduce){.site-menu[open]{animation:none}.menu-toggle,.menu-close,.menu-project,.footer-project,.menu-pages>a{transition:none}}
.paused .site-menu[open]{animation:none}.paused .menu-toggle,.paused .menu-close,.paused .menu-project,.paused .footer-project,.paused .menu-pages>a{transition:none}
