/* Same three header positions on every browser page; private until authenticated. */
.site-header.topbar, .site-header.admin-topbar {
  position: sticky; top: 0; z-index: 1050;
  display: grid; grid-template-columns: minmax(180px,1fr) auto minmax(150px,1fr);
  align-items: center; gap: 24px;
}
.site-header > .brand { grid-column: 1; grid-row: 1; }
.site-header > nav { display: flex; grid-column: 2; grid-row: 1; gap: 26px; }
.site-header > nav a { display: inline-flex; align-items: center; gap: 8px; }
.site-header > nav .ssf-icon { flex-shrink: 0; }
.site-account { grid-column: 3; grid-row: 1; justify-self: end; position: relative; min-width: 0; max-width: 100%; }
.site-account-name { list-style: none; display: flex; align-items: center; gap: 9px; min-height: 46px; max-width: 240px; padding: 10px 14px; cursor: pointer; border: 1px solid #688c8c; border-radius: 13px 5px 14px 6px; background: #102b35; color: #fff7e8; font-weight: 700; }
.site-account-name::-webkit-details-marker { display: none; }
.site-account-name > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-account-name::after { content: '⌄'; margin-left: 4px; }
.site-account-name:focus-visible, .site-account-menu :focus-visible { outline: 3px solid #ffbd59; outline-offset: 3px; }
.site-account-menu { position: absolute; right: 0; top: calc(100% + 9px); width: min(285px, calc(100vw - 36px)); display: grid; padding: 10px; gap: 5px; color: #163b40; background: #fff9ee; border: 1px solid #bda580; border-radius: 14px 6px; box-shadow: 0 15px 35px #07182040; }
.site-account-menu > a, .site-account-menu button, .site-account-menu .admin-toolbar a { display: flex; align-items: center; justify-content: flex-start; gap: 9px; width: 100%; min-height: 42px; margin: 0; padding: 10px; border: 0; background: transparent; color: #163b40; text-decoration: none; text-transform: none; text-align: left; font-size: 14px; letter-spacing: 0; cursor: pointer; }
.site-account-menu a:hover, .site-account-menu button:hover { background: #e7eee3; }
.site-account-menu .admin-toolbar { display: grid; gap: 5px; }
.site-account-notice { margin: 0; font-size: 13px; color: #913e2c; }
.site-account-notice:empty { display: none; }
body:has(.site-header.site-member-ready) #sea-member,
body:has(.site-header.site-member-ready) .stories-heading > .member-chip { display: none; }
.stay-main { min-height: calc(100vh - 185px); display: grid; align-items: center; padding: 46px clamp(18px,5vw,72px); background: linear-gradient(90deg,#f4ecdd75,#f4ecdd0d),url('/assets/land-painted-coast.png') center/cover; }
.stay-card { max-width: 620px; padding: clamp(28px,5vw,64px); border: 1px solid #c8b598; border-radius: 26px 8px; background: #fff9eef2; }
.stay-card h1 { font-size: clamp(42px,6vw,72px); margin: 14px 0 24px; }
.stay-card p { line-height: 1.7; }
.stay-card > .ssf-icon { width: 56px; height: 56px; color: #185d63; }
@media(max-width: 1100px) {
  .site-header.topbar, .site-header.admin-topbar { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px 18px; }
  .site-header > .site-account { grid-column: 2; grid-row: 1; }
  .site-header > nav { grid-column: 1 / -1; grid-row: 2; justify-content: center; }
  .site-header > nav a { padding: 9px 0 12px; }
}
@media(max-width: 520px) {
  .site-header.topbar, .site-header.admin-topbar { padding: 9px 14px; }
  .site-header .brand-compass { width: 38px; height: 38px; }
  .site-header .brand-lockup small { display: none; }
  .site-header .brand-lockup strong em { font-size: 20px; }
  .site-header .brand-lockup strong b { display: block; margin: 5px 0 0; font-size: 10px; }
  .site-header > nav { justify-content: space-between; gap: 10px; font-size: 12px; }
  .site-header > nav a { flex-direction: column; gap: 3px; }
  .site-account-name { max-width: 160px; padding: 8px 9px; font-size: 13px; }
}
