/* Brand assets and permission-driven dropdowns on the unchanged CM layout. */
.staycoda-landing .staycoda-brand-logo { width: 72px; height: 72px; object-fit: contain; border-radius: 50%; }
.staycoda-landing .staycoda-splash { width: 100%; height: auto; border-radius: var(--radius); }
.staycoda-landing .header-inner { flex-wrap: wrap; padding-block: .6rem; }
.staycoda-landing .primary-nav > ul { flex-wrap: wrap; justify-content: flex-end; gap: .6rem 1.05rem; }
.staycoda-landing .primary-nav details { position: relative; }
.staycoda-landing .primary-nav summary { cursor: pointer; color: var(--ink); font-size: .9rem; font-weight: 700; }
.staycoda-landing .primary-nav .sub-menu { display: block; position: absolute; right: 0; min-width: 15rem; width: max-content; max-width: min(25rem, calc(100vw - 2rem)); padding: .5rem; background: var(--cream); border: 1px solid var(--line); border-radius: var(--radius-sm); box-shadow: var(--shadow); z-index: 110; }
.staycoda-landing .primary-nav .sub-menu a { display: block; padding: .55rem .7rem; }
.staycoda-landing .primary-nav a:focus-visible, .staycoda-landing .primary-nav summary:focus-visible { outline: 2px solid var(--forest); outline-offset: 4px; }
@media (max-width: 980px) {
 .staycoda-landing .primary-nav > ul { align-items: stretch; }
 .staycoda-landing .primary-nav summary { padding: .8rem; font-size: 1.05rem; }
 .staycoda-landing .primary-nav .sub-menu { position: static; width: 100%; min-width: 0; box-shadow: none; margin-block: .3rem; }
}