/* ============================================================
   Hosting V5 — responsive overrides
   Desktop (>1100px) is untouched; these rules activate below.
   !important is required to beat the page's inline styles.
   ============================================================ */

/* ---------- ≤1100px · small desktop / tablet landscape ---------- */
@media (max-width: 1100px) {
  .hv-wrap { padding-left: 32px !important; padding-right: 32px !important; }
  .v5-h1 { font-size: clamp(56px, 9vw, 96px) !important; }
  .v5-name { font-size: clamp(40px, 6vw, 64px) !important; }
  .v5-meta .hv-small { max-width: 300px !important; }
}

/* ---------- ≤1400px · nav becomes hamburger (the desktop mega-menu is ~1310px wide and clips below this width) ---------- */
@media (max-width: 1400px) {
  /* nav: full-width noise bar + full-screen menu sheet */
  .hv-nav { position: fixed !important; top: 0; }
  .hv-nav-row { display: none !important; }

  .hv-nav-mbar { display: flex !important; position: fixed; top: 0; left: 0; right: 0; z-index: 110;
    align-items: center; justify-content: space-between; gap: 24px; padding: 8px 24px;
    background: rgba(24,24,27,.78);
    backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); }
  .hv-mbar-logo { display: flex; align-items: center; }
  .hv-mbar-logo img { height: 24px; display: block; }
  .hv-mbar-right { display: flex; align-items: center; gap: 24px; }
  .hv-mbar-contact, .hv-page a.hv-mbar-contact, .hv-nav-sheet a.hv-mbar-contact { display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 16px; font-weight: 500;
    letter-spacing: -.025em; line-height: 1; padding: 10px 13px; border-radius: 6px;
    border: 1px solid transparent;
    background:
      linear-gradient(#18181b, #18181b) padding-box,
      linear-gradient(105deg, #F24E1E, #A259FF, #1ABCFE) border-box;
    transition: filter .2s cubic-bezier(.4,0,.2,1), background .2s cubic-bezier(.4,0,.2,1); }
  .hv-mbar-contact:hover, .hv-page a.hv-mbar-contact:hover { color: #fff;
    background:
      linear-gradient(#222226, #222226) padding-box,
      linear-gradient(105deg, #F24E1E, #A259FF, #1ABCFE) border-box; }
  .hv-nav-burger { display: flex !important; align-items: center; justify-content: center;
    background: none; border: none; color: #fff; width: 32px; height: 32px;
    cursor: pointer; border-radius: 4px; padding: 0; }
  .hv-nav-burger svg { width: 24px; height: 24px; fill: currentColor; }

  .hv-nav-sheet { display: flex !important; position: fixed; inset: 0; z-index: 120;
    flex-direction: column; overflow-y: auto;
    background: #18181b; }
  .hv-sheet-bar { position: sticky !important; top: 0; z-index: 10; }
  .hv-sheet-groups { display: flex; flex-direction: column; gap: 32px; padding: 24px 0 48px; }
  .hv-sheet-group { display: flex; flex-direction: column; }
  .hv-sheet-label { padding: 8px 24px; font-size: 14px; font-weight: 600;
    letter-spacing: .04em; text-transform: uppercase; color: #fff; }
  .hv-sheet-items { display: flex; flex-direction: column; }
  .hv-sheet-row { display: flex; align-items: center; gap: 10px; padding: 10px 24px;
    font-size: 18px; letter-spacing: -.025em; color: #fff;
    transition: background-color .2s cubic-bezier(.4,0,.2,1); }
  .hv-sheet-row:hover { background: var(--bg-deep); }
  .hv-sheet-row.static { pointer-events: none; }
  .hv-sheet-row.indent { padding-left: 58px; }
  .hv-sheet-row span { flex: 1; }
  .hv-sheet-ic { width: 22px; height: 22px; fill: currentColor; flex-shrink: 0; }
  .hv-sheet-caret { width: 20px; height: 20px; fill: currentColor; flex-shrink: 0; opacity: .9; }
}

/* ---------- ≤900px · tablet portrait ---------- */
@media (max-width: 900px) {
  /* hero stacks */
  .v5-hero { padding: 150px 0 0 !important; }
  .v5-hero-wrap { flex-direction: column !important; align-items: flex-start !important;
    gap: 20px; padding-bottom: 64px !important; }
  .v5-hero-lead { padding-bottom: 0 !important; max-width: 560px !important; }
  .v5-pick { display: inline; margin-top: 0; }

  /* platform rows wrap: number + logo + name, then meta below */
  .v5-row { flex-wrap: wrap !important; gap: 14px 22px !important; padding: 32px 4px !important; }
  .v5-num { width: auto !important; }
  .v5-meta { margin-left: 0 !important; align-items: flex-start !important;
    flex-basis: 100%; order: 5; gap: 6px !important; }
  .v5-meta .hv-small { text-align: left !important; max-width: none !important; }
  .v5-row-arrow { margin-left: auto; width: 40px !important; height: 40px !important; }
  .v5-nowrap { white-space: normal !important; }

  /* included panel: single column */
  .v5-included { padding: 64px 0 !important; margin-bottom: 64px; }
  .v5-included-grid { grid-template-columns: 1fr !important; gap: 44px !important; }

  /* editorial rows stack */
  .v5-ed { padding: 0 0 64px !important; }
  .v5-ed-row { flex-direction: column !important; gap: 18px !important; padding-bottom: 72px !important; }
  .v5-ed-row h2 { flex: none !important; }

  /* footer: two columns */
  .hv-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 40px !important; }
}

/* ---------- ≤640px · mobile ---------- */
@media (max-width: 640px) {
  .hv-wrap { padding-left: 20px !important; padding-right: 20px !important; }
  .hv-nav-mbar { padding: 8px 16px !important; }

  .v5-hero { padding: 130px 0 0 !important; }
  .v5-h1 { font-size: clamp(44px, 14vw, 64px) !important; }
  .v5-hero-lead { font-size: 17px !important; }

  .v5-name { font-size: clamp(28px, 8.5vw, 40px) !important; }
  .v5-logo img:first-child { width: 36px !important; height: 36px !important; }
  .v5-meta .hv-mono { font-size: 11.5px !important; }
  .v5-rows { padding-bottom: 64px !important; }
  .v5-more { flex-direction: column; align-items: flex-start !important; gap: 8px; padding: 28px 4px !important; }

  .v5-included { padding: 56px 0 !important; margin-bottom: 56px; }
  .v5-included-feats { grid-template-columns: 1fr !important; gap: 30px !important; }

  .v5-ed-row h2 { font-size: 34px !important; }
  .v5-ed-row p { font-size: 16px !important; }

  .v5-cta { padding: 8px 0 80px !important; }
  .v5-cta-card { padding: 56px 24px; gap: 32px; border-radius: 16px; }
  .v5-cta-h { font-size: clamp(32px, 9.5vw, 44px) !important; }
  .v5-cta + section, .v5-cta p { font-size: 17px !important; }
  .v5-cta-btns { flex-direction: column; width: auto; }
  .v5-cta-btns a { width: auto; }
  .hv-badge-row { gap: 20px !important; flex-wrap: wrap; justify-content: center; }
  .hv-badge-row img { height: 32px !important; }

  .hv-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 36px 24px !important; padding: 48px 0 36px !important; }
  .hv-footer-bottom { flex-direction: column !important; gap: 10px; align-items: flex-start !important; }
}
