/* Header/footer only. Shared tokens and local font are loaded once by the theme. */
.bit-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.bit-site .bit-skip { position:fixed; top:1rem; left:1rem; z-index:10000; transform:translateY(-200%); padding:.8rem 1.2rem; background:var(--bit-surface); color:var(--bit-ink); border-radius:12px; }
.bit-site .bit-skip:focus { transform:none; }
.bit-site [id] { scroll-margin-block-start:8rem; }
.bit-header { position:sticky; top:0; z-index:100; padding-block:14px; pointer-events:none; }
body.admin-bar .bit-header { top:32px; }
.bit-header__inner { pointer-events:auto; position:relative; display:flex; align-items:center; gap:clamp(1rem,2.4vw,2.1rem); min-height:76px; padding:10px 18px 10px 23px; border:1px solid var(--bit-line); border-radius:20px; background:var(--bit-header-glass); box-shadow:var(--bit-shadow); }
@supports (backdrop-filter:blur(16px)) { .bit-header__inner { backdrop-filter:blur(16px); } }
.bit-header__inner::before { content:""; position:absolute; top:-1px; left:24px; width:65px; height:2px; border-radius:4px; background:var(--bit-accent); }
.bit-site .bit-brand { display:inline-flex; flex-shrink:0; color:var(--bit-ink); text-decoration:none; }
.bit-brand .bit-logo { display:block; width:172px; height:auto; overflow:visible; }
.bit-logo-trail { transform-origin:25px 26px; }
.bit-header .bit-logo-trail { animation:bit-signal-in 900ms 150ms both; }
.bit-header .bit-logo-trail--outer { animation-delay:270ms; }
.bit-brand:hover .bit-logo-trail, .bit-brand:focus-visible .bit-logo-trail { animation:bit-signal-hover 650ms ease both; }
.bit-brand:hover .bit-logo-trail--outer { animation-delay:90ms; }
.bit-logo-play { transform-origin:23px 26px; transition:transform 220ms ease; }
.bit-brand:hover .bit-logo-play { transform:translateX(1.5px); }
.bit-nav-desktop { margin-inline:auto; }
.bit-site .bit-nav, .bit-site .bit-action { display:flex; align-items:center; gap:3px; list-style:none; margin:0; padding:0; }
.bit-nav li { margin:0; padding:0; }
.bit-site .bit-nav a { position:relative; display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 12px; border-radius:10px; color:var(--bit-muted); text-decoration:none; font-size:.82rem; font-weight:650; line-height:1.3; transition:color 180ms ease,background-color 180ms ease; }
.bit-site .bit-nav a:hover { background:var(--bit-nav-hover); color:var(--bit-ink); }
.bit-site .bit-nav a::after { position:absolute; content:""; bottom:5px; left:50%; width:12px; height:2px; background:var(--bit-accent); transform:translateX(-50%) scaleX(0); transform-origin:center; transition:transform 180ms ease; }
.bit-site .bit-nav a:hover::after, .bit-site .bit-nav a[aria-current="page"]::after { transform:translateX(-50%) scaleX(1); }
.bit-site .bit-nav a[aria-current="page"] { color:var(--bit-ink); }
.bit-header__controls { display:flex; align-items:center; gap:12px; margin-inline-start:auto; }
.bit-site .bit-cta, .bit-site .bit-header .bit-action a { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:46px; padding:11px 20px; border:1px solid transparent; border-radius:100px; color:#17120f; background:#ff742f; text-decoration:none; white-space:nowrap; font-size:.82rem; line-height:1.4; font-weight:800; transition:background-color 180ms ease,box-shadow 180ms ease,transform 180ms ease; }
.bit-site .bit-cta:hover, .bit-site .bit-header .bit-action a:hover { background:#ff8b50; color:#17120f; box-shadow:0 6px 20px rgb(255 116 47 / 20%); transform:translateY(-1px); }
.bit-icon { width:21px; height:21px; display:block; flex-shrink:0; }
.bit-cta .bit-icon { width:18px; height:18px; transition:transform 180ms ease; }
.bit-cta:hover .bit-icon { transform:translateX(3px); }
.bit-site .bit-mode { position:relative; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--bit-line); border-radius:50%; background:transparent; color:var(--bit-ink); cursor:pointer; transition:background-color 180ms ease,border-color 180ms ease; }
.bit-site .bit-mode:hover { background:var(--bit-nav-hover); border-color:var(--bit-muted); color:var(--bit-ink); }
.bit-mode[hidden] { display:none; }
.bit-mode > span { position:absolute; display:grid; place-items:center; transition:opacity 200ms ease,transform 280ms ease; }
.bit-mode__sun { opacity:0; transform:rotate(-60deg) scale(.6); }
[data-theme="dark"] .bit-mode__sun { opacity:1; transform:rotate(0) scale(1); }
[data-theme="dark"] .bit-mode__moon { opacity:0; transform:rotate(60deg) scale(.6); }
.bit-mobile-menu { display:none; }
.bit-mobile-menu summary { display:grid; place-items:center; width:44px; height:44px; cursor:pointer; border:1px solid var(--bit-line); border-radius:50%; list-style:none; color:var(--bit-ink); }
.bit-mobile-menu summary::-webkit-details-marker { display:none; }
.bit-menu-lines { position:relative; width:18px; height:14px; }
.bit-menu-lines::before,.bit-menu-lines::after { content:""; position:absolute; width:18px; height:2px; background:currentColor; border-radius:2px; left:0; transition:transform 180ms ease; }
.bit-menu-lines::before { top:3px; }
.bit-menu-lines::after { bottom:3px; }
.bit-mobile-menu[open] .bit-menu-lines::before { transform:translateY(3px) rotate(45deg); }
.bit-mobile-menu[open] .bit-menu-lines::after { transform:translateY(-3px) rotate(-45deg); }
.bit-mobile-panel { position:absolute; top:calc(100% + 10px); inset-inline:0; padding:22px; max-height:calc(100dvh - 145px); overflow-y:auto; overscroll-behavior:contain; background:var(--bit-surface); border:1px solid var(--bit-line); border-radius:20px; box-shadow:0 24px 60px rgb(0 0 0 / 20%); }
.bit-mobile-menu:not([open]) .bit-mobile-panel { display:none; }
.bit-mobile-menu[open] .bit-mobile-panel { animation:bit-panel-in 200ms ease both; }
.bit-mobile-panel__label { display:block; color:var(--bit-muted); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; margin-bottom:13px; }
.bit-mobile-panel .bit-nav { display:grid; gap:3px; }
.bit-mobile-panel .bit-nav a { justify-content:space-between; min-height:48px; padding:12px 14px; font-size:1.05rem; }
.bit-mobile-panel .bit-nav a::after { content:""; position:static; width:7px; height:7px; transform:none; background:none; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; color:var(--bit-muted); }
.bit-mobile-panel .bit-nav a[aria-current="page"] { color:var(--bit-primary); background:var(--bit-soft); }
.bit-mobile-panel__action { padding-top:18px; margin-top:12px; border-top:1px solid var(--bit-line); }
.bit-mobile-panel__action .bit-cta,.bit-mobile-panel__action .bit-action,.bit-mobile-panel__action .bit-action li,.bit-mobile-panel__action .bit-action a { width:100%; }
.bit-footer { position:relative; margin-top:auto; overflow:hidden; background:#101218; color:#f4f5f8; border-top:1px solid #2a2d36; }
.bit-footer::before { content:""; position:absolute; pointer-events:none; inset:0; background:radial-gradient(ellipse at 90% 0%,rgb(255 116 47 / 8%),transparent 48%); }
.bit-footer > .bit-wrap { position:relative; }
.bit-footer__invitation { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:64px 55px; border-bottom:1px solid #2a2d36; }
.bit-site .bit-footer__eyebrow { margin:0 0 17px; color:#ff9460; font-size:.68rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.bit-site .bit-footer__invitation h2 { margin:0; color:#f4f5f8; font-size:clamp(2.1rem,3.8vw,3.7rem); font-weight:600; letter-spacing:-.045em; line-height:1.12; }
.bit-footer__invitation h2 span { color:#9299a8; }
.bit-site .bit-footer__explore { display:flex; align-items:center; gap:23px; flex-shrink:0; color:#f4f5f8; font-size:.95rem; font-weight:700; text-decoration:none; }
.bit-footer__arrow { display:grid; place-items:center; height:66px; width:66px; border-radius:50%; background:#ff742f; color:#15171c; transition:transform 200ms ease,background-color 200ms ease; }
.bit-footer__arrow .bit-icon { transform:rotate(-40deg); width:25px; height:25px; transition:transform 200ms ease; }
.bit-footer__explore:hover .bit-footer__arrow { transform:scale(1.05); background:#ff925d; }
.bit-footer__explore:hover .bit-icon { transform:rotate(0); }
.bit-footer__grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:clamp(2rem,5vw,5rem); padding-block:48px; }
.bit-site .bit-footer .bit-brand { color:#f4f5f8; }
.bit-footer .bit-logo { width:187px; }
.bit-site .bit-footer__brand p { color:#a4aab7; font-size:.83rem; line-height:1.8; margin:20px 0 0; }
.bit-site .bit-footer h3 { margin:0 0 20px; color:#f4f5f8; font-size:.83rem; font-weight:700; line-height:1.5; letter-spacing:0; }
.bit-site .bit-footer-links { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:2px 18px; }
.bit-site .bit-footer-links a { display:inline-flex; align-items:center; min-height:36px; font-size:.8rem; color:#a4aab7; text-decoration:none; transition:color 180ms ease,transform 180ms ease; }
.bit-site .bit-footer-links a:hover { color:#ff9460; transform:translateX(3px); }
.bit-site .bit-footer__help p { color:#a4aab7; font-size:.83rem; max-width:28ch; margin:0 0 13px; }
.bit-site .bit-footer__help > a { display:inline-flex; align-items:center; gap:16px; min-height:40px; text-decoration:none; color:#ff9460; font-size:.83rem; font-weight:700; }
.bit-footer__help .bit-icon { width:17px; }
.bit-footer__bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 32px; border-top:1px solid #2a2d36; padding-block:23px; }
.bit-footer__bottom small { font-size:.7rem; color:#9299a8; }
.bit-footer__legal { display:flex; flex-wrap:wrap; gap:8px 24px; }
.bit-site .bit-footer__legal a { min-height:32px; display:inline-flex; align-items:center; font-size:.7rem; color:#a4aab7; text-decoration:none; }
.bit-site .bit-footer__legal a:hover { color:#fff; }
.bit-footer :where(a,button):focus-visible { outline-color:#ff9460; }
@keyframes bit-signal-in { from { opacity:0; transform:translateX(-4px); } }
@keyframes bit-signal-hover { 50% { transform:translateX(2px); } }
@keyframes bit-panel-in { from { opacity:0; transform:translateY(-6px); } }
@media (max-width:1099px) {
  .bit-nav-desktop { display:none; }
  .bit-mobile-menu { display:block; }
  .bit-header__inner { min-height:70px; }
}
@media (max-width:782px) { body.admin-bar .bit-header { top:46px; } }
@media (max-width:700px) {
  .bit-footer__grid { grid-template-columns:1fr 1fr; gap:36px; }
  .bit-footer__brand { grid-column:1 / -1; }
  .bit-footer__brand p br { display:none; }
  .bit-footer__invitation { padding-block:45px 36px; }
  .bit-footer__explore { align-self:flex-end; }
  .bit-footer__explore > span:first-child { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .bit-footer__arrow { width:52px; height:52px; }
}
@media (max-width:600px) {
  body.admin-bar .bit-header { position:relative; top:0; }
  .bit-header { padding-block:10px; }
  .bit-header__inner { min-height:66px; padding:9px 12px 9px 15px; border-radius:17px; gap:12px; }
  .bit-brand .bit-logo { width:145px; }
  .bit-header__controls { gap:7px; }
  .bit-header__action { display:none; }
  .bit-header__inner::before { left:18px; width:44px; }
  .bit-mode,.bit-mobile-menu summary { flex-shrink:0; }
  .bit-footer__invitation { gap:12px; }
  .bit-site .bit-footer__invitation h2 { font-size:clamp(1.7rem,6.3vw,2.5rem); }
  .bit-footer .bit-logo { width:178px; }
  .bit-footer__grid { gap:30px 22px; padding-block:35px; }
  .bit-footer__navigation { grid-column:1 / -1; }
  .bit-footer__help { grid-column:1 / -1; border-top:1px solid #2a2d36; padding-top:25px; }
  .bit-footer__help p { max-width:40ch; }
  .bit-footer__bottom { flex-direction:column; align-items:flex-start; padding-block:20px; }
  .bit-site .bit-footer-links a { min-height:42px; }
}
@media (max-width:359px) { .bit-header .bit-logo { width:120px; } .bit-header__inner { padding-inline:10px; gap:8px; } }
@media (prefers-reduced-motion:reduce) {
  .bit-header *, .bit-header *::before, .bit-header *::after, .bit-footer *, .bit-footer *::before, .bit-footer *::after { animation:none!important; transition:none!important; }
}
