/* Shared page chrome — base palette, header (nav), buttons and footer — copied verbatim from the
 * original pages' inline styles (plans). The original pages still carry their own copy; pages
 * created in the Astro rebuild (contact, partners, quote, thanks, play) link this instead, so they
 * render like the rest of the site (fixed 2026-10-03: they had shipped unstyled). */
:root {
  --blue: #1565C0; --blue-dark: #0E4A99; --blue-deeper: #0D47A1; --sky: #4FB3FF;
  --blue-50: #E3F2FD; --blue-200: #90CAF9;
  --ink: #0B1426; --cream: #FFF8EE; --cream-2: #FBF1DE;
  --ball: #FDD835; --red: #E53935; --green: #2EC27E;
  --muted: #5A6578; --line: rgba(11,20,38,.10);
}
* { box-sizing: border-box; }
body { margin: 0; font-family: 'Inter', system-ui, sans-serif; color: var(--ink); background: var(--cream); -webkit-font-smoothing: antialiased; line-height: 1.65; }
.nav { padding: 10px 24px; border-bottom: 1px solid var(--line); background: rgba(255,248,238,.92); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(8px); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; max-width: 1180px; margin: 0 auto; gap: 24px; }
.brand { display: flex; align-items: center; gap: 13px; font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 1.5rem; color: var(--ink); text-decoration: none; }
.brand-mark { height: 46px; display: inline-flex; align-items: center; }
.brand-mark svg { width: 100%; height: 100%; display: block; }
.nav-links { display: flex; align-items: center; gap: 22px; font-size: .92rem; font-weight: 500; }
.nav-links a { color: var(--ink); text-decoration: none; transition: color .15s; }
.nav-links a:hover { color: var(--blue); }
.nav-links .btn { padding: 9px 16px; font-size: .9rem; }
.nav-group { position: relative; }
.nav-top { display: inline-flex; align-items: center; gap: 5px; color: var(--ink); text-decoration: none; padding: 8px 12px; border-radius: 999px; cursor: pointer; transition: color .15s, background .15s; }
.nav-top:hover { color: var(--blue); background: rgba(21,101,192,.07); }
.nav-top::after { content: "\25BE"; font-size: .62em; opacity: .55; }
.nav-group::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 12px; }
.nav-menu { position: absolute; top: calc(100% + 8px); left: 0; background: white; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 12px 28px -10px rgba(11,20,38,.18); padding: 8px; min-width: 240px; display: flex; flex-direction: column; gap: 2px; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .15s, transform .15s, visibility .15s; z-index: 60; }
.nav-group:hover .nav-menu, .nav-group:focus-within .nav-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-menu a { display: block; padding: 9px 13px; border-radius: 10px; color: var(--ink); text-decoration: none; font-weight: 600; font-size: .9rem; }
.nav-menu a:hover { background: var(--cream-2); color: var(--blue); }
.nav-menu a .sub { display: block; font-weight: 400; font-size: .76rem; color: var(--muted); margin-top: 1px; }
@media (max-width: 920px) { .nav-links .nav-group { display: none; } }
.btn { display: inline-block; font-family: 'Outfit', sans-serif; font-weight: 700; padding: 14px 26px; border-radius: 999px; text-decoration: none; transition: transform .15s, box-shadow .15s; cursor: pointer; border: none; font-size: .95rem; }
.btn-primary { background: var(--blue); color: white; box-shadow: 0 6px 20px -8px rgba(21,101,192,.55); }
.btn-primary:hover { transform: translateY(-1px); color: white; box-shadow: 0 12px 28px -10px rgba(21,101,192,.55); }
.btn-ghost { background: transparent; color: var(--blue); border: 1.5px solid var(--blue); }
.btn-ghost:hover { background: var(--blue); color: white; }
footer { border-top: 1px solid var(--line); padding: 56px 24px 36px; background: var(--cream); }
.foot-inner { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 36px; }
@media (max-width: 760px) { .foot-inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { .foot-inner { grid-template-columns: 1fr; } }
.foot-brand .brand { margin-bottom: 12px; }
.foot-brand p { color: var(--muted); font-size: .9rem; line-height: 1.55; }
footer h5 { font-family: 'Outfit', sans-serif; font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .14em; color: var(--blue); margin: 0 0 12px; }
footer ul { list-style: none; padding: 0; margin: 0; }
footer li { margin-bottom: 8px; }
footer a { color: var(--muted); text-decoration: none; }
footer a:hover { color: var(--blue); }
.foot-bottom { max-width: 1180px; margin: 36px auto 0; padding-top: 28px; border-top: 1px solid var(--line); color: var(--muted); font-size: .85rem; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }

.bp-lock{display:flex;flex-direction:column;line-height:1}
.bp-name{font-weight:800}
.bp-tag{font-family:'Outfit',sans-serif;font-weight:600;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#6B7280;margin-top:3px;white-space:nowrap}
.foot-brand .bp-tag{color:#FFD23F}
