/* FUHSA experience layer. Existing institutional navy and gold are intentionally retained. */
:root { --surface-soft:#f5f7fb; --focus:#d6af3d; }
body { background:#fff; }
body.is-loading { overflow:hidden; }
.site-loader { position:fixed; inset:0; z-index:3000; display:grid; place-items:center; background:#070a3a; color:#fff; transition:opacity .4s ease,visibility .4s ease; }.site-loader.is-hidden { opacity:0; visibility:hidden; }.site-loader__mark { width:68px; height:68px; padding:6px; border:2px solid #d6af3d; border-radius:50%; animation:fuhsa-pulse 1.4s ease-in-out infinite; }.site-loader__mark img { width:100%; height:100%; object-fit:contain; }.reading-progress { position:fixed; inset:0 auto auto 0; z-index:2100; width:0; height:4px; background:linear-gradient(90deg,#d6af3d,#f2d673); }.navbar { border-bottom:1px solid rgba(7,10,58,.07); transition:padding .2s ease,box-shadow .2s ease; }.navbar.is-compact { padding-top:.55rem; padding-bottom:.55rem; box-shadow:0 8px 30px rgba(7,10,58,.12)!important; }.nav-link { position:relative; }.nav-link::after { content:''; position:absolute; right:.45rem; bottom:-.25rem; left:.45rem; height:2px; background:#d6af3d; transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }.nav-link:hover::after,.nav-link.active::after { transform:scaleX(1); }:focus-visible { outline:3px solid var(--focus)!important; outline-offset:3px; border-radius:2px; }.reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease,transform .6s ease; }.reveal.is-visible { opacity:1; transform:none; }.back-to-top { position:fixed; z-index:2000; right:1.25rem; bottom:1.25rem; width:46px; height:46px; display:grid; place-items:center; color:#fff; background:#070a3a; border:1px solid rgba(255,255,255,.25); border-radius:50%; box-shadow:0 10px 25px rgba(7,10,58,.28); opacity:0; transform:translateY(12px); pointer-events:none; transition:.2s ease; }.back-to-top.is-visible { opacity:1; transform:none; pointer-events:auto; }.back-to-top:hover { color:#070a3a; background:#d6af3d; }footer { position:relative; overflow:hidden; }footer::before { content:''; position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg,transparent,#d6af3d,transparent); }@keyframes fuhsa-pulse { 50% { transform:scale(1.08); box-shadow:0 0 0 14px rgba(214,175,61,.12); } }@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }@media(max-width:575px) { .back-to-top { right:.85rem; bottom:.85rem; } }
