/* Shared public chrome. Page-body layouts stay in their existing stylesheets. */
.membership-options-shell { max-width: 1040px; }
.membership-options-shell .membership-grid { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
@media(max-width:680px) { .membership-options-shell .membership-grid { grid-template-columns: minmax(0,1fr); } }
.public-marketing-shell::before { content: none; }
.public-marketing-shell .marketing-header *, .marketing-footer * { box-sizing: border-box; letter-spacing: 0; }
.public-marketing-shell a:focus-visible,.public-marketing-shell summary:focus-visible { outline: 3px solid #0065dc; outline-offset: 4px; }
.marketing-inner { width: min(1280px,calc(100% - 80px)); margin-inline: auto; }
.marketing-icon { display: inline-block; flex-shrink: 0; width: 24px; height: 24px; vertical-align: middle; }
.marketing-skip { position: fixed; top: -100px; left: 16px; z-index: 10000; padding: 12px; background: #fff; color: #15243d; }
.marketing-skip:focus { top: 12px; outline: 3px solid #0065dc; }
.marketing-header { padding: 16px 40px; background: transparent; backdrop-filter: none; box-shadow: none; border-bottom: 1px solid transparent; }
.marketing-header .public-logo { padding: 0; background: none; border: 0; box-shadow: none; }
.marketing-header .public-logo img { width: 210px; height: auto; }
.marketing-header .public-center-nav a { font-size: 14px; padding: 8px 10px; }
.marketing-header .public-nav .btn.primary { background: #0065dc !important; border-color: #0065dc !important; border-radius: 6px; box-shadow: none; padding: 10px 16px; }
.marketing-header .public-nav .marketing-icon { width: 18px; height: 18px; margin-left: 8px; filter: brightness(0) invert(1); }
.marketing-header .public-nav a:not(.btn) { color: #15243d; background: #ffffffeb; border-radius: 6px; backdrop-filter: blur(8px); box-shadow: inset 0 0 0 1px #c4d3e3b3,0 3px 10px #132a450d; }
.marketing-header .public-nav a:not(.btn):hover,.marketing-header .public-nav a:not(.btn):focus-visible { color: #15243d; background: #fff; box-shadow: inset 0 0 0 1px #9db6d2,0 4px 12px #132a4514; }
.marketing-header.is-scrolled .public-nav a:not(.btn) { background: #f8fbff; }
@media(min-width:991px) {
  .marketing-header .public-center-nav { width: max-content; max-width: 100%; justify-self: center; background: #ffffffe0; border-radius: 8px; backdrop-filter: blur(8px); box-shadow: inset 0 0 0 1px #ffffffb3,0 3px 12px #132a450a; }
  .marketing-header .public-center-nav a:hover,.marketing-header .public-center-nav a:focus-visible { background: #ffffffb8; }
  .marketing-header.is-scrolled .public-center-nav { background: #ffffff80; box-shadow: inset 0 0 0 1px #e1e9f280; }
}

.marketing-footer { background: #06182e; color: #e3edfa; padding: 44px 0 20px; border-top: 1px solid #7698b52e; }
.marketing-footer-grid { display: grid; grid-template-columns: 1.5fr repeat(4,minmax(0,1fr)); gap: 40px; }
.marketing-footer-brand img { display: block; width: 228px; max-width: 100%; height: auto; background: #fff; border-radius: 6px; padding: 10px; }
.marketing-footer p { font-size: 12px; line-height: 1.55; }
.marketing-footer-brand p { margin-top: 14px; }
.marketing-footer h2 { color: #fff; font-size: 14px; margin: 0 0 16px; }
.marketing-footer nav a { display: block; color: #e3edfa; text-decoration: none; font-size: 12px; margin: 0 0 10px; }
.marketing-footer a:hover { text-decoration: underline; }
.marketing-footer-bottom { border-top: 1px solid #2d425c; margin-top: 26px; padding-top: 14px; display: flex; justify-content: space-between; gap: 24px; }
.marketing-footer-bottom nav { display: flex; flex-wrap: wrap; gap: 20px; }

.marketing-header-interior { background: #fffffff0; box-shadow: 0 8px 24px -8px #17395c45; backdrop-filter: blur(6px); }
.marketing-header { transition: box-shadow .2s ease,background-color .2s ease; }
.marketing-header.is-scrolled { background: #fffffff0; box-shadow: 0 8px 24px -8px #17395c45; backdrop-filter: blur(6px); }
.marketing-header .btn { transition: transform .18s ease,box-shadow .18s ease,background-color .18s ease; }
.marketing-header .btn .marketing-icon { transition: transform .18s ease; }
.marketing-header nav a,.marketing-footer nav a { position: relative; transition: color .18s ease; }
.marketing-header .public-center-nav a::after,.marketing-footer nav a::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 2px; height: 2px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .18s ease; pointer-events: none; }
.marketing-footer nav a { width: fit-content; }
.marketing-footer nav a::after { left: 0; right: 0; bottom: -3px; }
.marketing-header .public-center-nav a:focus-visible { color: #0065dc; }
.marketing-header .public-center-nav a:focus-visible::after,.marketing-footer nav a:focus-visible::after { transform: scaleX(1); }
@media(hover:hover) and (pointer:fine) {
  .marketing-header .btn:hover { transform: translateY(-2px); box-shadow: 0 8px 18px #0065dc30; }
  .marketing-header .btn:hover .marketing-icon { transform: translateX(3px); }
  .marketing-header .public-center-nav a:hover { color: #0065dc; }
  .marketing-header .public-center-nav a:hover::after,.marketing-footer nav a:hover::after { transform: scaleX(1); }
  .marketing-footer nav a:hover { color: #b8daff; text-decoration: none; }
}
@media(max-width:800px) {
  .marketing-inner { width: calc(100% - 40px); }
  .marketing-header { padding: 12px 20px; }
  .marketing-header .public-logo img { width: 190px; }
  .marketing-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .marketing-footer-brand { grid-column: 1/-1; }
}
@media(max-width:500px) { .marketing-footer-grid { gap: 26px; } .marketing-footer-bottom { flex-direction: column; gap: 6px; } }
@media(prefers-reduced-motion:reduce) {
  .marketing-header,.marketing-header nav a,.marketing-header .btn,.marketing-header .btn .marketing-icon,.marketing-footer nav a,.marketing-header nav a::after,.marketing-footer nav a::after { transition: none !important; }
  .marketing-header nav a { transform: none !important; }
}
