/* Home-page branding for the simulation workspaces. */
.home-page .site-header, .rcwa-page .site-header {
 display:flex; align-items:center; justify-content:space-between; gap:20px;
 width:100vw; max-width:none; margin-left:calc(50% - 50vw);
 padding:12px 5%; box-sizing:border-box; background:#fff;
 border:0; border-bottom:1px solid #cfcfcf; border-radius:0; text-align:left;
 flex-shrink:0;
}
.site-header .brand, .site-footer .brand {
 color:#222; text-decoration:none; font-size:19px; font-weight:750;
 letter-spacing:.06em; line-height:1.6; white-space:nowrap;
}
.site-header .brand-mark, .site-footer .brand-mark { color:#777; font-size:28px; vertical-align:middle; margin-right:8px; }
.site-header .header-note { color:#666; font-size:11px; letter-spacing:.16em; }
.home-page .site-nav, .rcwa-page .site-nav {
 width:100vw; max-width:none; margin:0 0 0 calc(50% - 50vw);
 padding:8px 5%; box-sizing:border-box; background:#fff;
 border:0; border-bottom:1px solid #cfcfcf; border-radius:0; flex-shrink:0;
}
.home-page .site-nav ul, .rcwa-page .site-nav ul {
 display:flex; justify-content:flex-start; flex-wrap:wrap;
 gap:8px 24px; list-style:none; padding:0; margin:0;
}
.home-page .site-nav a, .rcwa-page .site-nav a {
 display:block; color:#222; background:none; padding:6px 0;
 font-size:14px; text-decoration:none;
}
.home-page .site-nav a:hover, .rcwa-page .site-nav a:hover,
.home-page .site-nav a[aria-current=page], .rcwa-page .site-nav a[aria-current=page] {
 color:#222; text-decoration:underline; text-underline-offset:5px;
}
.site-header .brand:focus-visible, .site-footer .brand:focus-visible { outline:2px solid #3267c8; outline-offset:5px; }
.home-page .page-container, .rcwa-page .page-container { padding-top:0; }
@media(max-width:700px) {
 .home-page .site-header, .rcwa-page .site-header { padding:10px 18px; }
 .site-header .header-note { display:none; }
 .home-page .site-nav, .rcwa-page .site-nav { padding:6px 18px; }
 .home-page .site-nav ul, .rcwa-page .site-nav ul { gap:8px 20px; }
}

/* Keep workspace navigation in the brand bar. */
.home-page .site-header, .rcwa-page .site-header { flex-wrap:wrap; }
.home-page .site-header .site-nav, .rcwa-page .site-header .site-nav {
 width:auto; margin:0; padding:0; border:0; background:transparent;
}
.site-header .header-note { margin-left:auto; }
@media(max-width:900px) {
 .site-header .header-note { display:none; }
 .home-page .site-header .site-nav, .rcwa-page .site-header .site-nav { margin-left:auto; }
}
@media(max-width:480px) {
 .home-page .site-header, .rcwa-page .site-header { gap:8px 20px; }
 .home-page .site-header .site-nav, .rcwa-page .site-header .site-nav { width:100%; margin-left:0; }
}

/* Navigation is inside the header: reserve rows for header, workspace, footer. */
.home-page .page-container, .rcwa-page .page-container {
 grid-template-rows:auto minmax(0,1fr) auto;
}
.home-page .site-footer, .rcwa-page .site-footer {
 min-height:48px; height:auto; box-sizing:border-box;
 display:flex; flex-direction:column; justify-content:center; align-items:center;
 padding:12px 16px; line-height:1.5; flex-shrink:0;
}
.home-page .site-footer p, .rcwa-page .site-footer p { margin:0; }

/* Mirror the full-width masthead at the bottom of each workspace. */
.home-page .site-footer, .rcwa-page .site-footer {
 width:100vw; max-width:none; margin-left:calc(50% - 50vw);
 flex-direction:row; justify-content:space-between; flex-wrap:wrap; gap:12px 20px;
 padding:12px 5%; background:#fff; color:#666; font-size:14px;
 border:0; border-top:1px solid #cfcfcf; border-radius:0; text-align:left;
}
.home-page .page-container, .rcwa-page .page-container { padding-bottom:0; }
@media(max-width:700px) {
 .home-page .site-footer, .rcwa-page .site-footer { padding:10px 18px; }
}

/* Compact simulation masthead, with navigation aligned to the right. */
.home-page .site-header, .rcwa-page .site-header { padding-top:6px; padding-bottom:6px; }
.home-page .site-header .site-nav, .rcwa-page .site-header .site-nav { margin-left:auto; }
@media(max-width:480px) {
 .home-page .site-header .site-nav, .rcwa-page .site-header .site-nav { margin-left:0; }
}

/* Matching bar heights; allow content to wrap on narrow screens. */
.home-page .site-header, .rcwa-page .site-header,
.home-page .site-footer, .rcwa-page .site-footer {
 min-height:58px; padding-top:6px; padding-bottom:6px;
 box-sizing:border-box;
}
@media(max-width:480px) {
 .home-page .site-header, .rcwa-page .site-header,
 .home-page .site-footer, .rcwa-page .site-footer { min-height:96px; }
}
