/* Shared public navigation, independent of individual page packages. */
.landing-navbar button.nav-link { border:0; background:transparent; font:inherit; cursor:pointer; }
/* Plans are visually connected to the account directly above them. */
.landing-navbar .public-nav-dropdown ul { list-style:none; }
.landing-navbar .public-nav-dropdown .dropdown-item { position:relative; padding-right:38px; }
.landing-navbar .public-nav-subitem { padding-left:38px; font-size:.88rem; }
.landing-navbar .public-nav-subitem::before { content:''; position:absolute; left:19px; top:0; width:11px; height:50%; border-left:1px solid #aeb4bf; border-bottom:1px solid #aeb4bf; border-bottom-left-radius:4px; }
.landing-navbar .public-nav-dropdown .dropdown-item::after { content:'→' / ''; position:absolute; right:14px; top:50%; opacity:0; transform:translate(-6px,-50%); transition:opacity 160ms ease,transform 160ms ease; color:currentColor; }
.landing-navbar .public-nav-dropdown .dropdown-item:hover::after,
.landing-navbar .public-nav-dropdown .dropdown-item:focus-visible::after { opacity:1; transform:translate(0,-50%); }
@media(prefers-reduced-motion:reduce) { .landing-navbar .public-nav-dropdown .dropdown-item::after { transition:none; } }
.landing-navbar .public-blog-menu { width:640px; }
.public-blog-menu-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:20px; }
.landing-navbar .public-blog-menu .dropdown-item { white-space:normal; line-height:1.4; }
.public-blog-menu .latest-blog-posts { padding:12px; background:var(--rh-soft,#f6f7f9); border-radius:10px; }
.public-blog-menu .latest-blog-posts h6 { margin:0 0 12px; font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; }
.public-blog-menu .latest-blog-posts li + li { margin-top:8px; }
.public-footer-grid { display:grid; grid-template-columns:1.35fr repeat(3,1fr) 1.3fr; gap:28px; }
.public-footer-grid > * { min-width:0; }
.public-footer-legal { display:flex; flex-wrap:wrap; gap:12px 24px; padding-bottom:16px; font-size:.8rem; }
@media(max-width:1199px) { .public-footer-grid { grid-template-columns:repeat(4,1fr); } .public-footer-brand { grid-column:1/-1; max-width:420px; } }
@media(max-width:991.98px) {
  .landing-navbar .dropdown-menu { display:none; position:static!important; transform:none!important; width:auto; min-width:0; }
  .landing-navbar .dropdown-menu.show { display:block; }
  .landing-navbar .public-blog-menu-grid { grid-template-columns:1fr; gap:12px; }
  .landing-navbar .public-blog-menu { padding-right:12px; }
  .landing-navbar button.nav-link { width:100%; text-align:left; }
}
@media(max-width:600px) { .public-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px; } }
.landing-navbar .public-nav-toggle::after { content:''; display:inline-block; width:6px; height:6px; margin:0 0 3px 8px; border:solid currentColor; border-width:0 1px 1px 0; transform:rotate(45deg); }
.landing-navbar .public-nav-toggle[aria-expanded='true']::after { transform:rotate(225deg); margin-bottom:0; }

/* Only JS-controlled state opens these menus; focus and hover CSS cannot pin them. */
.landing-navbar { position:relative; }
.landing-navbar .public-nav-dropdown { position:static; }
.landing-navbar .public-nav-dropdown > .dropdown-menu { display:none; top:calc(100% + 1px); margin:0; transform:none; z-index:30; max-width:calc(100vw - 32px); }
.landing-navbar .public-nav-dropdown > .dropdown-menu.show { display:block; }
@media(max-width:991.98px) {
  .landing-navbar .public-nav-dropdown > .dropdown-menu { position:static; max-width:100%; margin:0; }
}
