/* Oceanview V3 masthead and IC context, scoped around the existing service UI. */
.ov-main-masthead { background: #101f29; color: #f2f0e8; border-bottom: 1px solid #40505a; }
.ov-main-shell { width: calc(100% - 96px); max-width: 1344px; margin-inline: auto; }
.ov-main-header-inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ov-main-brand { color: #f2f0e8; font: 700 29px/1 Georgia, serif; letter-spacing: -.035em; text-decoration: none; }
.ov-main-brand small { display: block; margin-top: 8px; font: 10px/1.4 'Segoe UI', sans-serif; letter-spacing: .12em; color: #99d2c7; }
.ov-main-nav { display: flex; align-items: center; gap: 20px; font: 14px/1.5 'Segoe UI', sans-serif; }
.ov-main-nav a, .ov-main-logout { color: inherit; display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.ov-main-nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.ov-main-nav a[aria-current] { text-decoration: underline; text-underline-offset: 5px; text-decoration-color: #99d2c7; }
.ov-main-nav .ov-main-login { color: #99d2c7; }
.ov-main-nav .ov-main-apply { background: #f2f0e8; color: #101f29; padding: 8px 15px; gap: 12px; font-weight: 600; }
.ov-main-menu, .ov-main-logout { border: 1px solid #99d2c7; background: transparent; color: #f2f0e8; padding: 8px 12px; font: inherit; cursor: pointer; }
.ov-main-menu { display: none; min-height: 44px; }
.ov-main-context { background: #e4e9e3; color: #235c53; font: 600 11px/1.5 'Segoe UI', sans-serif; text-transform: uppercase; letter-spacing: .08em; padding: 12px 0; }
.ov-main-context .ov-main-shell { display: flex; justify-content: space-between; gap: 16px; }
.ov-main-context a { color: inherit; }
.ov-main-account-status { margin: 0; padding: 12px 20px; background: var(--brand-surface); color: var(--brand-text); }
.ov-main-masthead [hidden] { display: none !important; }
.ov-main-masthead :focus-visible { outline: 3px solid #eac58f; outline-offset: 4px; }
@media (max-width: 1200px) {
  .ov-main-header-inner { min-height: 76px; flex-wrap: wrap; padding-block: 16px; }
  .ov-main-menu { display: inline-flex; align-items: center; gap: 12px; }
  .ov-main-nav { display: none; width: 100%; flex-wrap: wrap; padding-top: 12px; gap: 8px 24px; }
  .ov-main-nav.is-open { display: flex; }
  .ov-main-nav > a, .ov-main-nav > button { flex-basis: calc(50% - 12px); }
}
@media (max-width: 800px) {
  .ov-main-shell { width: calc(100% - 40px); }
  .ov-main-context .ov-main-shell > span:last-child { display: none; }
}
@media (max-width: 420px) {
  .ov-main-brand { font-size: 25px; }
  .ov-main-header-inner { gap: 12px; }
  .ov-main-nav > a, .ov-main-nav > button { flex-basis: 100%; }
}
