.pc-site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-height: 76px;
  padding: 8px max(24px, calc((100vw - 1180px) / 2));
  background: #fff;
  box-shadow: 0 1px 0 rgba(12, 72, 111, .12);
  font-family: Inter, Arial, sans-serif;
}
.pc-site-brand { display: inline-flex; align-items: center; text-decoration: none; }
.pc-site-brand img { display: block; width: 200px; height: 58px; object-fit: contain; }
.pc-desktop-nav { display: flex; justify-content: center; gap: clamp(14px, 1.75vw, 28px); }
.pc-desktop-nav a { color: #334c60; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.pc-desktop-nav a:hover, .pc-desktop-nav a[aria-current="page"] { color: #0e80d8; }
.pc-site-trial { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 19px; border-radius: 14px; color: #fff; background: linear-gradient(110deg, #24b7ee, #0878d4); box-shadow: 0 12px 28px rgba(8,126,215,.24); font-size: 13px; font-weight: 800; text-decoration: none; }
.pc-mobile-nav-toggle, .pc-mobile-site-nav { display: none; }

.pc-login-page { justify-content: center; padding-top: calc(24px + var(--safe-top)); }
/* Login is a dedicated coach entry point: it deliberately has no public-site header
   or navigation. The responsive in-form PrepCoach logo provides the branding. */
.pc-login-page .pc-site-header { display: none; }
.pc-login-page #auth-screen { margin: 0 auto; }

@media (max-width: 1000px) {
  .pc-site-header { grid-template-columns: 180px 1fr auto; }
  .pc-desktop-nav { display: none; }
  .pc-site-trial { justify-self: end; }
  .pc-mobile-nav-toggle { display: inline-grid; width: 44px; height: 44px; place-content: center; gap: 4px; padding: 0; border: 1px solid rgba(12,72,111,.14); border-radius: 12px; background: #fff; color: #061b2d; cursor: pointer; }
  .pc-mobile-nav-toggle span { display: block; width: 20px; height: 2px; border-radius: 2px; background: currentColor; }
  .pc-mobile-site-nav { position: absolute; top: calc(100% + 8px); right: 15px; left: 15px; z-index: 1001; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; padding: 14px; border: 1px solid rgba(12,72,111,.14); border-radius: 18px; background: rgba(255,255,255,.98); box-shadow: 0 24px 60px rgba(6,27,45,.16); }
  .pc-mobile-site-nav.is-open { display: grid; }
  .pc-mobile-site-nav > a:not(.pc-site-trial) { padding: 11px 12px; border-radius: 10px; color: #334c60; font-size: 13px; font-weight: 800; text-decoration: none; }
  .pc-mobile-site-nav > a[aria-current="page"] { color: #0e80d8; background: #eef8ff; }
  .pc-mobile-site-nav .pc-site-trial { grid-column: 1 / -1; min-height: 44px; }
}
@media (max-width: 760px) {
  .pc-site-header { grid-template-columns: 1fr auto; min-height: 68px; padding-inline: 15px; }
  .pc-site-brand img { width: 154px; height: 46px; }
  .pc-site-header > .pc-site-trial { display: none; }
  .pc-login-page { padding-top: calc(14px + var(--safe-top)); padding-right: calc(12px + var(--safe-right)); padding-bottom: calc(14px + var(--safe-bottom)); padding-left: calc(12px + var(--safe-left)); }
  .pc-login-page:focus-within { padding-top: max(12px, calc(8px + var(--safe-top))); }
}
