/* ============================================================
   Hi, Moose — site styles (plain CSS, no framework)
   Flattened from the Hi, Moose design system. The dark warm
   near-monochrome operator look: warm greys, one steel-blue
   accent, cream primary buttons, gold reserved for upgrade.

   Page bodies use inline styles for layout (kept verbatim from
   the source design). This file owns: reset, base, shared
   chrome (nav + footer), buttons/badges, keyframes, and the
   :hover / interactive states that inline styles can't express.
   ============================================================ */

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 200 900;
  font-display: block;
  src: url("/assets/fonts/source-sans-3-latin-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 200 900;
  font-display: block;
  src: url("/assets/fonts/source-sans-3-latin-ext-var.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: italic;
  font-weight: 200 900;
  font-display: block;
  src: url("/assets/fonts/source-sans-3-italic-latin-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: italic;
  font-weight: 200 900;
  font-display: block;
  src: url("/assets/fonts/source-sans-3-italic-latin-ext-var.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 200 900;
  font-display: block;
  src: url("/assets/fonts/source-serif-4-latin-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 200 900;
  font-display: block;
  src: url("/assets/fonts/source-serif-4-latin-ext-var.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

/* ---------- Reset & base ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: #232323;
  background-image:
    radial-gradient(120% 78% at 50% -12%, rgba(255,255,255,0.04), rgba(255,255,255,0) 55%),
    linear-gradient(180deg, #262626, #1f1f1f);
  background-attachment: fixed;
  color: #e9e6e0;
  font-family: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

::selection { background: rgba(86,136,176,0.4); color: #e9e6e0; }

a { color: inherit; text-decoration: none; }

img { max-width: 100%; }

h1, h2, h3, h4, p { margin: 0; }

button { font-family: inherit; }

.serif { font-family: "Source Serif 4", Georgia, serif; }

/* Accessible-but-invisible (for skip links etc.) */
.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 560;
  font-family: inherit;
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  text-decoration: none;
  transition: transform .14s ease, background-color .14s ease, color .14s ease, border-color .14s ease;
}
.btn--sm { font-size: .92rem; padding: 10px 18px; border-radius: 11px; }
.btn--lg { font-size: 1.02rem; padding: 15px 26px; border-radius: 13px; }

.btn--cream { background: #d8d5cf; color: #262320; }
.btn--cream:hover { background: #e2dfd9; transform: translateY(-1px); }

.btn--ghost {
  background: rgba(255,255,255,0.05);
  color: #e9e6e0;
  border-color: rgba(255,255,255,0.16);
}
.btn--ghost:hover { background: rgba(255,255,255,0.1); transform: translateY(-1px); }

.btn--dark { background: #23211d; color: #f3efe7; }
.btn--dark:hover { background: #181612; transform: translateY(-1px); }

/* Gold — reserved for upgrade / premium only */
.btn--upgrade {
  color: #2a2206;
  background: linear-gradient(110deg, #b97e2e 0%, #e0b45a 50%, #b97e2e 100%);
  background-size: 200% 100%;
  border-color: rgba(232,192,106,0.5);
}
.btn--upgrade:hover { background-image: linear-gradient(110deg, #c9913a 0%, #f0cc7e 50%, #c9913a 100%); transform: translateY(-1px); }

/* ---------- Badges ---------- */
.badge-new {
  font-size: .6rem; letter-spacing: .08em; text-transform: uppercase;
  color: #8fd6a6; background: rgba(111,183,138,0.16);
  padding: 2px 6px; border-radius: 999px; font-weight: 700;
}

/* ============================================================
   NAVIGATION
   ============================================================ */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  background: rgba(31,31,31,0);
  border-bottom: 1px solid rgba(255,255,255,0);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: background .25s ease, border-color .25s ease;
}
.nav--scrolled {
  background: rgba(31,31,31,0.85);
  border-bottom-color: rgba(255,255,255,0.08);
}
.nav__inner {
  max-width: 1200px; margin: 0 auto; padding: 0 32px; height: 72px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  position: relative;
}
.nav__brand { display: flex; align-items: center; }
  .nav__logo { height: 25px; display: block; opacity: .95; }

.nav__menu {
  flex: 1; display: flex; align-items: center; justify-content: flex-end; gap: 24px;
}
.nav__links {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: flex; align-items: center; justify-content: center;
  gap: 4px; font-size: .92rem; color: #c6c4bf;
}
.nav__actions { display: flex; align-items: center; gap: 14px; }

.nav__link {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 14px; border-radius: 9px; font-weight: 500; font-size: inherit;
  color: inherit; background: transparent; border: none; cursor: pointer;
  transition: background-color .14s ease, color .14s ease;
}
.nav__link:hover { background: rgba(255,255,255,0.06); }
.nav__link.is-active { color: #a8c3da; background: rgba(86,136,176,0.12); font-weight: 560; }

.nav__caret { transition: transform .2s ease; opacity: .6; }

.nav__signin { font-weight: 540; font-size: .92rem; color: #a8c3da; transition: color .14s ease; }
.nav__signin:hover { color: #cdddec; }

/* Dropdown */
.nav__dropdown { position: relative; }
.nav__panel {
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%) translateY(8px);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  padding-top: 12px; z-index: 60;
}
.nav__dropdown:hover .nav__panel,
.nav__panel.is-open {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.nav__dropdown:hover .nav__caret,
.nav__trigger[aria-expanded="true"] .nav__caret { transform: rotate(180deg); }
.nav__trigger[aria-expanded="true"] { color: #a8c3da; background: rgba(86,136,176,0.12); }
.nav__dropdown--locale .nav__panel {
  left: auto; right: 0;
  transform: translateY(8px);
}
.nav__dropdown--locale:hover .nav__panel,
.nav__dropdown--locale .nav__panel.is-open { transform: translateY(0); }

.nav__panel-card {
  width: 580px; max-width: calc(100vw - 32px);
  background: #1f1f1f; border: 1px solid rgba(255,255,255,0.1);
  border-radius: 18px; box-shadow: 0 30px 70px -24px rgba(0,0,0,0.78); padding: 14px;
}
.nav__panel-card--locale {
  width: 220px;
  padding: 10px;
}
.nav__panel-label {
  font-size: .66rem; letter-spacing: .14em; text-transform: uppercase;
  color: #6f706c; padding: 6px 12px 10px;
}
.nav__panel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.nav__locale-list { display: grid; gap: 4px; }
.nav__locale-link {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 11px 12px; border-radius: 12px; color: inherit;
  transition: background-color .14s ease, color .14s ease;
}
.nav__locale-link:hover { background: rgba(255,255,255,0.05); }
.nav__locale-link.is-active {
  color: #e7e4de;
  background: rgba(86,136,176,0.12);
}
.nav__locale-label { font-weight: 560; }
.nav__locale-status {
  font-size: .72rem; letter-spacing: .08em; text-transform: uppercase;
  color: #8fd6a6;
}

.menu-item {
  display: flex; gap: 13px; align-items: flex-start;
  padding: 12px; border-radius: 12px; color: inherit;
  transition: background-color .14s ease;
}
.menu-item:hover { background: rgba(255,255,255,0.05); }
.menu-item.is-active { background: rgba(86,136,176,0.1); }
.menu-item.is-active:hover { background: rgba(86,136,176,0.16); }
.menu-item__icon {
  width: 36px; height: 36px; flex: none; border-radius: 10px;
  background: #2b2b2b; border: 1px solid rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: center; color: #a8c3da;
}
.menu-item__icon--mint { color: #6fb78a; }
.menu-item__title { display: block; font-weight: 600; color: #e7e4de; font-size: .94rem; margin-bottom: 2px; }
.menu-item__title--row { display: flex; align-items: center; gap: 7px; }
.menu-item__desc { display: block; font-size: .8rem; color: #9a9388; line-height: 1.45; }

/* Mobile menu toggle */
.nav__burger {
  display: none; width: 42px; height: 42px; flex: none;
  background: transparent; border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px; cursor: pointer; padding: 0;
  flex-direction: column; align-items: center; justify-content: center; gap: 4px;
}
.nav__burger span {
  display: block; width: 18px; height: 1.6px; background: #c6c4bf;
  border-radius: 2px; transition: transform .2s ease, opacity .2s ease;
}
.nav__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(5.6px) rotate(45deg); }
.nav__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5.6px) rotate(-45deg); }

/* ============================================================
   FOOTER
   ============================================================ */
.footer { border-top: 1px solid rgba(255,255,255,0.08); background: #232323; }
.footer__inner { max-width: 1200px; margin: 0 auto; padding: 72px 32px 32px; }

.footer__top {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr));
  gap: 56px 40px;
  align-items: start;
}
.footer__brand { display: inline-block; }
.footer__logo { height: 20px; opacity: .9; display: block; }
.footer__tagline {
  margin-top: 18px; max-width: 270px;
  font-size: .92rem; line-height: 1.55; color: #8f8f8a; text-wrap: pretty;
}
.footer__status {
  display: inline-flex; align-items: center; gap: 9px;
  margin-top: 22px; padding: 7px 13px 7px 11px;
  border: 1px solid rgba(255,255,255,0.08); border-radius: 999px;
  background: rgba(111,183,138,0.06);
  font-size: .78rem; color: #9bbfaa; letter-spacing: .005em;
}
.footer__status::before {
  content: ""; width: 7px; height: 7px; border-radius: 999px;
  background: #5fd780; box-shadow: 0 0 0 3px rgba(95,215,128,0.18);
}

.footer__col-title {
  margin-bottom: 18px;
  font-size: .7rem; font-weight: 600; text-transform: uppercase;
  letter-spacing: .12em; color: #6f706c;
}
.footer__col ul { list-style: none; display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; }
.footer__col a { font-size: .92rem; color: #aaa8a3; transition: color .14s ease; }
.footer__col a:hover { color: #e9e6e0; }

.footer__bottom {
  display: flex; flex-wrap: wrap; gap: 14px 28px;
  align-items: center; justify-content: space-between;
  margin-top: 56px; padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.footer__copy { font-size: .84rem; color: #6f706c; }
.footer__legal { display: flex; flex-wrap: wrap; gap: 24px; font-size: .84rem; }
.footer__legal a { color: #8f8f8a; transition: color .14s ease; }
.footer__legal a:hover { color: #cdddec; }

/* ============================================================
   SHARED INTERACTIVE / HOVER UTILITIES
   (inline styles can't do :hover — these cover recurring cases)
   ============================================================ */
/* generic 1px lift used by many CTAs/cards */
.u-lift { transition: transform .14s ease, background-color .14s ease, box-shadow .14s ease; }
.u-lift:hover { transform: translateY(-1px); }

/* dark-surface card that brightens on hover */
.u-card-dark { transition: background-color .14s ease, border-color .14s ease, transform .14s ease; }
.u-card-dark:hover { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.14); }

/* light-zone card hover */
.u-card-light { transition: box-shadow .18s ease, transform .18s ease; }
.u-card-light:hover { transform: translateY(-2px); box-shadow: 0 28px 56px -34px rgba(35,33,29,0.5); }

/* steel-blue text link in the light zone */
.u-link-blue { color: #2b5c82; transition: color .14s ease; }
.u-link-blue:hover { color: #1d4060; }

/* outlined blue chip (e.g. About LinkedIn) */
.u-chip-blue { transition: background-color .14s ease; }
.u-chip-blue:hover { background: rgba(43,92,130,0.06); }

/* FAQ / accordion summary reset (native <details>) */
details.faq > summary { list-style: none; cursor: pointer; }
details.faq > summary::-webkit-details-marker { display: none; }
details.faq > summary .faq__caret { transition: transform .2s ease; }
details.faq[open] > summary .faq__caret { transform: rotate(180deg); }

/* range input (affiliate estimator) */
.range {
  -webkit-appearance: none; appearance: none; width: 100%; height: 6px;
  border-radius: 999px; background: rgba(255,255,255,0.12); outline: none;
}
.range::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; width: 20px; height: 20px;
  border-radius: 999px; background: #e0b45a; cursor: pointer;
  border: 3px solid #2b2b2b; box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.range::-moz-range-thumb {
  width: 20px; height: 20px; border-radius: 999px; background: #e0b45a;
  cursor: pointer; border: 3px solid #2b2b2b;
}

/* ============================================================
   KEYFRAMES (referenced by inline animation declarations)
   ============================================================ */
@keyframes hm-eq      { 0%,100% { height: 18%; } 50% { height: 92%; } }
@keyframes hm-shimmer { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } }
@keyframes hm-float   { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes hm-pulse   { 0%,100% { opacity: 1; } 50% { opacity: .45; } }
@keyframes hm-draw    { from { stroke-dashoffset: 640; } to { stroke-dashoffset: 0; } }
@keyframes hm-rise    { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hm-bar     { from { transform: scaleX(0); } to { transform: scaleX(1); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ============================================================
   RESPONSIVE — mobile nav + content reflow
   ============================================================ */
@media (max-width: 900px) {
  .nav__burger { display: flex; }
  .nav__menu {
    position: absolute; top: 72px; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 8px;
    background: #1f1f1f; border-bottom: 1px solid rgba(255,255,255,0.08);
    padding: 14px 20px 22px;
    box-shadow: 0 30px 60px -30px rgba(0,0,0,0.8);
    /* hidden by default; toggled by main.js */
    display: none;
  }
  .nav__menu.is-open { display: flex; }
  .nav__links {
    position: static; left: auto; top: auto; transform: none;
    flex-direction: column; align-items: stretch; gap: 2px;
  }
  .nav__link { width: 100%; }
  .nav__actions { padding-top: 8px; border-top: 1px solid rgba(255,255,255,0.06); }

  /* dropdown becomes inline (no hover/abs positioning on mobile) */
  .nav__panel {
    position: static; transform: none; opacity: 1; visibility: visible;
    pointer-events: auto; padding-top: 8px; display: none;
  }
  .nav__panel.is-open,
  .nav__dropdown:hover .nav__panel { transform: none; }
  .nav__panel.is-open { display: block; }
  .nav__dropdown:hover .nav__panel:not(.is-open) { display: none; }
  .nav__panel-card { width: 100%; box-shadow: none; background: #232323; }
  .nav__panel-grid { grid-template-columns: 1fr; }
  .nav__dropdown--locale .nav__panel { right: auto; }

  /* let common two-column hero/section grids stack */
  .stack-mobile { grid-template-columns: 1fr !important; }
}

@media (max-width: 620px) {
  .nav__inner { padding: 0 20px; }
  .footer__inner { padding: 32px 20px; }
}

@media (max-width: 880px) {
  .footer__top { grid-template-columns: 1fr 1fr; gap: 44px 32px; }
  .footer__brand-col { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .footer__top { grid-template-columns: 1fr; }
  .footer__brand-col { grid-column: auto; }
}

@media (max-width: 820px) {
  .hm-stack { grid-template-columns: 1fr !important; gap: 36px !important; }
  .hm-stack3 { grid-template-columns: 1fr !important; gap: 22px !important; }
  .hm-loop { grid-template-columns: 1fr !important; }
  .hm-loop > div { border-right: none !important; padding: 20px 6px !important; }
  .hm-loop > div + div { border-top: 1px solid rgba(255,255,255,0.08) !important; }
  .hm-flow { grid-template-columns: 1fr !important; }
  .hm-flow > div { border-left: none !important; padding: 18px 0 !important; }
  .hm-flow > div > div { padding-left: 0 !important; }
  .hm-flow > div + div { border-top: 1px solid rgba(35,33,29,0.08) !important; }
  .hm-loop span[style*="absolute"], .hm-flow span[style*="absolute"] { display: none !important; }
}

/* ============================================================
   PAGE MODULES (page-specific classes lifted from each design)
   ============================================================ */
/* Legal / terms prose */
.doc-sec{scroll-margin-top:96px}
.doc-body p{margin:0 0 18px;font-size:1.04rem;line-height:1.72;color:#3c3933}
.doc-body h2{font-family:'Source Serif 4',Georgia,serif;font-weight:500;font-size:1.7rem;letter-spacing:-0.02em;color:#23211d;margin:0 0 16px;line-height:1.18}
.doc-body h3{font-weight:600;font-size:1.08rem;color:#2e2b25;margin:26px 0 8px}
.doc-body ul{margin:0 0 18px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.doc-body ul li{position:relative;padding-left:22px;font-size:1.02rem;line-height:1.6;color:#3c3933}
.doc-body ul li::before{content:"";position:absolute;left:2px;top:10px;width:5px;height:5px;border-radius:999px;background:#356d97}
.doc-body a.lk{color:#2b5c82;font-weight:540;border-bottom:1px solid rgba(43,92,130,0.3)}
.doc-body strong{font-weight:600;color:#2e2b25}
.toc-link.is-active{border-left-color:#2b5c82 !important;color:#23211d !important;font-weight:600 !important}

/* Blog post prose */
.hm-prose p{font-size:1.16rem;line-height:1.72;color:#3f3a31;margin:0 0 24px}
.hm-prose h2{font-family:'Source Serif 4',serif;font-weight:500;font-size:1.72rem;line-height:1.18;letter-spacing:-0.02em;color:#2b2620;margin:48px 0 16px}
.hm-prose h3{font-family:'Source Serif 4',serif;font-weight:500;font-size:1.32rem;line-height:1.2;letter-spacing:-0.015em;color:#2b2620;margin:36px 0 12px}
.hm-prose strong{font-weight:600;color:#2b2620}
.hm-prose a{color:#2b5c82;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.hm-prose ul{margin:0 0 24px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.hm-prose li{position:relative;padding-left:26px;font-size:1.13rem;line-height:1.62;color:#3f3a31}
.hm-prose li:before{content:"";position:absolute;left:4px;top:11px;width:7px;height:7px;border-radius:999px;background:#5688b0}

/* Blog category filter (CSS-only, radio-driven) */
.hm-flt-in{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
#flt-all:checked~.hm-flt-bar label[for="flt-all"]{background:#356d97;color:#fbfaf6;border-color:#356d97}
#flt-fundamentals:checked~.hm-flt-bar label[for="flt-fundamentals"]{background:#5688b0;color:#fbfaf6;border-color:#5688b0}
#flt-local-first:checked~.hm-flt-bar label[for="flt-local-first"]{background:#6fb78a;color:#fbfaf6;border-color:#6fb78a}
#flt-playbooks:checked~.hm-flt-bar label[for="flt-playbooks"]{background:#c07a55;color:#fbfaf6;border-color:#c07a55}
#flt-deep-dives:checked~.hm-flt-bar label[for="flt-deep-dives"]{background:#8a93a8;color:#fbfaf6;border-color:#8a93a8}
#flt-fundamentals:checked~.hm-grid .hm-post:not([data-cat="fundamentals"]),
#flt-local-first:checked~.hm-grid .hm-post:not([data-cat="local-first"]),
#flt-playbooks:checked~.hm-grid .hm-post:not([data-cat="playbooks"]),
#flt-deep-dives:checked~.hm-grid .hm-post:not([data-cat="deep-dives"]){display:none}

/* Pricing billing toggle + comparison FAQ */
#hm-bill-m:checked ~ .hm-bill-track label[for="hm-bill-m"],
#hm-bill-a:checked ~ .hm-bill-track label[for="hm-bill-a"]{background:#232323;color:#f3efe7;box-shadow:0 2px 8px -2px rgba(35,33,29,0.4)}
.hm-faq summary::-webkit-details-marker{display:none}
.hm-faq summary::marker{content:""}
.hm-faq summary{outline:none}
.hm-faq[open]{border-color:rgba(35,33,29,0.2) !important}
.hm-faq[open] .hm-faq-icon{transform:rotate(45deg)}

/* Monitoring animated trend line */
@keyframes hm-draw{from{stroke-dashoffset:640}to{stroke-dashoffset:0}}
.hm-trend{stroke-dasharray:640;animation:hm-draw 1.6s ease forwards}

/* Listen — speed button active state */
.lt-speed.is-active{background:rgba(86,136,176,0.18) !important;color:#a8c3da !important}

/* Workflows builder line */
.wf-line{animation:hm-rise .28s ease both}
