/* Role pairs for the established homepage. No new brand palette or media. */
:root { --prega-menu-bg: var(--surface, #fff); --prega-menu-fg: var(--ink); --prega-hero-bg: #0c2149; --prega-hero-fg: #fff; --prega-hero-muted: #d8e3ef; }
.site-menu { position: relative; margin-left: auto; color: var(--prega-menu-fg); }
.site-menu summary { min-width: 44px; min-height: 44px; padding: .65rem 1rem; cursor: pointer; border: 1px solid currentColor; border-radius: .75rem; }
.site-menu .nav-links { position: absolute; right: 0; top: calc(100% + .5rem); display: grid; min-width: 220px; padding: .6rem; background: var(--prega-menu-bg); color: var(--prega-menu-fg); border: 1px solid currentColor; border-radius: .85rem; z-index: 1001; max-height: min(32rem, calc(100dvh - 12rem)); overflow-y: auto; overscroll-behavior: contain; }
.site-menu:not([open]) .nav-links { display: none; }
.site-menu .nav-links a { color: inherit; min-height: 44px; white-space: normal; }
main > section[id] { scroll-margin-top: var(--product-panel-clearance, 13rem); }
main > section[id]:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
#top .hero-card { background: var(--prega-hero-bg); color: var(--prega-hero-fg); }
#top .hero-card .hero-lead, #top .hero-card .hero-cta-note { color: var(--prega-hero-muted); }
#top .hero-card .button-secondary { color: var(--prega-hero-fg); background: transparent; border: 1px solid currentColor; }
#contact .form-card { max-width: 48rem; margin-inline: auto; }
#contact input:not([type="checkbox"]), #contact button { min-height: 44px; }
#contact .waitlist-consent-check { min-height: 44px; align-items: center; }
#contact .waitlist-consent-check input { flex-shrink: 0; width: 24px; height: 24px; }
#contact input[aria-invalid="true"] { outline: 2px solid currentColor; outline-offset: 2px; }
#contact .waitlist-status { overflow-wrap: anywhere; }
#contact .waitlist-status:empty { display: none; }
#product-tour > .placeholder-note, #product-tour > .placeholder-note a { color: var(--ink); }
@media (max-width: 980px) {
  .topbar { flex-direction: row; flex-wrap: wrap; align-items: center; }
  .topbar .brand { flex: 1 1 60%; }
  .topbar .theme-picker { margin-left: auto; }
}
@media (max-width: 600px) {
  .topbar .brand { flex-basis: 100%; }
  .site-menu .nav-links { grid-template-columns: 1fr; max-width: calc(100vw - 3rem); }
  #contact .waitlist-field { width: 100%; }
}

.brand-logo-picture { flex: none; display: block; line-height: 0; }
.brand-logo-picture .brand-logo { display: block; width: auto; max-width: none; }

/* Preserve the established four desktop destinations; the expanded menu is mobile only. */
@media (min-width: 981px) { .topbar > .site-menu { display: none; } .topbar > .desktop-nav { display: flex; position: static; gap: 1rem; margin-inline-start: auto; } .topbar > .desktop-nav a { white-space: nowrap; } }
@media (max-width: 980px) { .topbar > .desktop-nav { display: none; } .topbar > .site-menu { display: block; } .topbar > .site-menu .nav-links { left: 0; right: auto; } }

.site-menu summary { list-style: none; display: inline-flex; align-items: center; gap: .5rem; }
.site-menu summary::-webkit-details-marker { display: none; }
.hamburger-icon { display: inline-grid; gap: 4px; width: 20px; }
.hamburger-icon > span { display: block; width: 20px; height: 2px; background: currentColor; }

/* Current destination remains identifiable without relying on color. */
.desktop-nav a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .35em; font-weight: 700; }
