/* Shared header sizing also keeps navigation usable without the design CDN. */
.site-header, .site-header * { box-sizing: border-box; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 50; background: rgba(6,14,32,.96); color: #dae2fd; border-bottom: 1px solid #24324c; font: 600 .875rem/1.4 system-ui,sans-serif; }
.site-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; max-width: 80rem; height: 5rem; margin: auto; padding: 0 clamp(1rem,3vw,2rem); }
.site-brand { color: #e0e7ff; font: 900 1.5rem system-ui,sans-serif; text-decoration: none; letter-spacing: -.06em; }
.site-header #main-nav-links, .site-header #desktop-start-project-button { display: none; }
.site-header #main-nav-links { align-items: center; gap: clamp(.875rem,2vw,1.75rem); }
.site-header #main-nav-links a { color: #cbd5e1; padding: .5rem 0; text-decoration: none; white-space: nowrap; }
.site-header #main-nav-links a:hover, .site-header #main-nav-links a[aria-current="page"] { color: #67e8f9; }
.site-header #main-nav-links a[aria-current="page"] { border-bottom: 2px solid #67e8f9; }
.site-project-link { display: inline-flex; justify-content: center; align-items: center; border-radius: 999px; background: linear-gradient(120deg,#2e3192,#087d91); color: #fff; padding: .8rem 1.5rem; text-decoration: none; white-space: nowrap; }
.site-header #desktop-start-project-button { align-items: center; gap: 1rem; }
.site-signin-link { color: #dae2fd; text-decoration: none; white-space: nowrap; }
.site-header .site-brand { color: #e0e7ff; }
.site-header a.site-project-link { color: #fff; }
.site-header a.site-signin-link { color: #dae2fd; }
.site-header a:focus-visible, .site-menu-toggle:focus-visible, .site-mobile-menu a:focus-visible, .site-mobile-menu button:focus-visible { outline: 3px solid #67e8f9; outline-offset: 5px; }
.site-menu-toggle, .site-menu-close { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .6rem; border: 1px solid #40506d; border-radius: .75rem; background: #171f33; color: #fff; cursor: pointer; font: inherit; }
.site-mobile-menu { position: fixed; inset: 0; z-index: 5000; display: flex; flex-direction: column; gap: 1.5rem; overflow-y: auto; background: #0b1326; color: #fff; padding: 1.5rem; font: 600 1.25rem/1.5 system-ui,sans-serif; }
.site-mobile-menu[hidden] { display: none !important; }
.site-menu-close { align-self: flex-end; }
.site-mobile-menu nav { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; margin: auto 0; }
.site-mobile-menu nav a { color: #dae2fd; text-decoration: none; padding: .25rem; }
.site-mobile-menu nav a[aria-current="page"] { color: #67e8f9; text-decoration: underline; text-underline-offset: .3em; }
.site-back-to-top { position: fixed; bottom: 8rem; right: 1rem; z-index: 1000; border: 1px solid #40506d; border-radius: .75rem; padding: .8rem 1rem; background: #171f33; color: #a5e8ff; cursor: pointer; font: 600 .875rem/1.4 system-ui,sans-serif; }
.site-back-to-top[hidden] { display: none !important; }
.site-submission-status { position:fixed; inset:6rem 1rem auto; max-width:48rem; margin:auto; z-index:100; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid #668bc4; border-radius:.75rem; background:#182b49; color:#e5edf6; box-shadow:0 10px 30px #0004; font:400 .875rem/1.6 system-ui,sans-serif; }
.site-submission-status p { margin:0; }
.site-submission-status button { border:1px solid #819dc5; border-radius:.5rem; background:#223754; color:#fff; padding:.5rem .75rem; cursor:pointer; }
@media (min-width:1024px) { .site-header #main-nav-links, .site-header #desktop-start-project-button { display: flex; } .site-menu-toggle { display: none; } }
@media print { .site-header, .site-mobile-menu { display: none !important; } }
