/* ==========================================================================
   CastMe Industry Hub — v4  "Call Sheet"

   Not a landing page with a directory bolted on. A dark, printed-programme
   index of 81 routes into Irish screen, entered by what you are trying to do
   rather than by what kind of organisation something is.

   No category sections. One index, filtered.
   ========================================================================== */

.hub-v4 {
  /* Ground and ink, named by role rather than by colour, so the whole page
     inverts from this block alone. */
  --ink: #f7f5f0;          /* the ground: warm paper, not clinical white */
  --ink-2: #ffffff;        /* raised bands lift, rather than darken */
  --ink-3: #efebe1;        /* rows on hover */
  --paper: #14171b;        /* the text */
  --paper-2: #4c525b;
  --paper-3: #62686f;
  --dim: #62686f;   /* #6f757e measured 4.26:1 on paper, just under AA */
  --rule: rgba(20, 23, 27, 0.14);
  --rule-2: rgba(20, 23, 27, 0.3);
  /* #2ecc71 sits at about 2:1 on paper, so the accent darkens for light */
  --green: #0f7f47;
  --green-dim: #16724a;

  --display: "Anton", "Arial Narrow", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  --body: "Source Sans 3", system-ui, sans-serif;

  background: var(--ink);
  color: var(--paper);
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.hub-v4 * { box-sizing: border-box; }
.hub-v4 p { margin: 0; }
.hub-v4 a { color: inherit; text-decoration: none; }

.hub-v4 :is(a, button, input, [tabindex]):focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}

/* The shared site header and footer are designed for a light page, which this
   now is, so they are left entirely alone — no overrides, nothing to fight. */

.wrap { width: min(1320px, calc(100% - 48px)); margin-inline: auto; }
.wrap-tight { width: min(940px, calc(100% - 48px)); margin-inline: auto; }

/* shared micro-label: mono, letterspaced, dim */
.tag-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--mono);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--dim);
}

.tag-label::before {
  content: "";
  width: 22px;
  height: 1px;
  background: var(--green);
}

/* ============================= MASTHEAD ================================== */

.masthead {
  position: relative;
  isolation: isolate;
  min-height: 88vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 100px 0 56px;
  overflow: hidden;
}

.masthead::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--masthead-image);
  background-size: cover;
  background-position: center 28%;
  opacity: 0.5;
  filter: grayscale(0.85) contrast(1.02);
}

.masthead::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  /* Solid paper under the type, clearing to the photograph on the right. A
     flat wash over the whole image would just look like a faded print. */
  background:
    linear-gradient(100deg, var(--ink) 0%, var(--ink) 44%,
                    rgba(247, 245, 240, 0.82) 60%, rgba(247, 245, 240, 0.4) 100%),
    linear-gradient(180deg, transparent 55%, var(--ink) 100%);
}

.masthead-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--rule);
}

/* The title is set as a masthead, not a headline: filled to the measure,
   tight leading, nothing else competing with it. */
.masthead h1 {
  margin: 0;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(2.8rem, 10.5vw, 10rem);
  line-height: 0.84;
  letter-spacing: -0.012em;
  text-transform: uppercase;
  padding: 22px 0 18px;
  border-bottom: 1px solid var(--rule);
}

.masthead h1 em {
  font-style: normal;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(20, 23, 27, 0.32);
}

@supports not (-webkit-text-stroke: 1px #000) {
  .masthead h1 em { color: var(--paper-3); -webkit-text-stroke: 0; }
}

.masthead-lede {
  max-width: 46ch;
  margin-top: 30px;
  font-size: clamp(1.02rem, 1.5vw, 1.22rem);
  line-height: 1.58;
  color: var(--paper-2);
}

/* --- the search is the primary object on this page, not a CTA --- */
.seek { margin-top: 38px; max-width: 640px; }

.seek-field {
  position: relative;
  display: flex;
  align-items: center;
  border-bottom: 2px solid var(--rule-2);
  transition: border-color 0.2s ease;
}

.seek-field:focus-within { border-color: var(--green); }

.seek-field svg {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  stroke: var(--dim);
  fill: none;
  stroke-width: 1.7;
}

.seek-field input {
  flex: 1;
  min-width: 0;
  padding: 16px 12px;
  border: 0;
  background: none;
  color: var(--paper);
  font-family: var(--body);
  font-size: clamp(1.05rem, 2vw, 1.4rem);
}

.seek-field input::placeholder { color: var(--paper-3); }
.seek-field input:focus { outline: none; }
.seek-field input::-webkit-search-cancel-button { display: none; }

.seek-clear {
  flex: 0 0 auto;
  display: none;
  border: 0;
  background: none;
  color: var(--dim);
  font-family: var(--mono);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  cursor: pointer;
  padding: 8px;
}

.seek-clear:hover { color: var(--paper); }
.seek.has-value .seek-clear { display: block; }

.seek-hint {
  margin-top: 12px;
  font-family: var(--mono);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--paper-3);
}

.seek-hint kbd {
  padding: 2px 6px;
  border: 1px solid var(--rule-2);
  border-radius: 3px;
  font-family: inherit;
  font-size: 0.95em;
}

/* masthead footer counters */
.masthead-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 40px;
  border-top: 1px solid var(--rule);
}

.masthead-meta div {
  flex: 1 1 150px;
  padding: 18px 20px 0 0;
}

.masthead-meta strong {
  display: block;
  font-family: var(--mono);
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--paper);
  letter-spacing: -0.02em;
}

.masthead-meta span {
  display: block;
  margin-top: 5px;
  font-family: var(--mono);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dim);
  max-width: 24ch;
}

/* ============================== INTENTS ================================== */
/* Entry by what you are trying to do. These do not navigate anywhere — they
   filter the single index below, which is the whole point of the rebuild. */

.intents { padding: clamp(60px, 8vw, 104px) 0 0; }

.intents-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 28px;
  flex-wrap: wrap;
  margin-bottom: 34px;
}

.intents h2 {
  margin: 14px 0 0;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(2rem, 5vw, 3.6rem);
  line-height: 0.95;
  letter-spacing: 0.002em;
  text-transform: uppercase;
}

.intent-list { border-top: 1px solid var(--rule); }

.intent {
  position: relative;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto 44px;
  align-items: center;
  gap: 20px;
  width: calc(100% + 36px);
  margin-inline: -18px;
  padding: 24px 18px;
  border: 0;
  border-bottom: 1px solid var(--rule);
  background: none;
  color: inherit;
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: background 0.18s ease;
}

.intent:hover,
.intent[aria-pressed="true"] { background: var(--ink-2); }

.intent-n {
  font-family: var(--mono);
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  color: var(--dim);
}

.intent-q {
  display: block;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(1.4rem, 3.4vw, 2.5rem);
  line-height: 1.04;
  text-transform: uppercase;
  letter-spacing: 0.004em;
  transition: color 0.18s ease;
}

.intent:hover .intent-q,
.intent[aria-pressed="true"] .intent-q { color: var(--green); }

.intent-sub {
  display: block;
  margin-top: 8px;
  font-size: 0.9rem;
  color: var(--dim);
  max-width: 92ch;   /* one line for most, instead of a short measure in a wide row */
  font-family: var(--body);
  text-transform: none;
  letter-spacing: 0;
}

.intent-n2 {
  font-family: var(--mono);
  font-size: 0.82rem;
  color: var(--paper-2);
  font-variant-numeric: tabular-nums;
}

.intent-arrow {
  justify-self: end;
  font-family: var(--mono);
  font-size: 1.1rem;
  color: var(--dim);
  transition: transform 0.18s ease, color 0.18s ease;
}

.intent:hover .intent-arrow,
.intent[aria-pressed="true"] .intent-arrow { color: var(--green); transform: translateX(5px); }

/* =============================== INDEX =================================== */

.index-sec { padding: clamp(64px, 8vw, 108px) 0 clamp(60px, 7vw, 96px); }

/* the control strip sticks; it is the only navigation the page has */
.index-bar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  flex-wrap: wrap;
  padding: 16px 0;
  margin-bottom: 8px;
  background: rgba(247, 245, 240, 0.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--rule);
}

.index-bar-l { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; }

.index-title {
  font-family: var(--display);
  font-weight: 400;
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  margin: 0;
}

.index-state {
  font-family: var(--mono);
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dim);
}

.index-state b { color: var(--green); font-weight: 600; }

.index-reset {
  border: 1px solid var(--rule-2);
  border-radius: 2px;
  background: none;
  color: var(--paper-2);
  font-family: var(--mono);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 7px 13px;
  cursor: pointer;
  visibility: hidden;
}

.index-reset:hover { color: var(--ink); background: var(--paper); border-color: var(--paper); }
.index-bar.is-filtered .index-reset { visibility: visible; }

/* --- the row: a typeset index entry, not a card --- */
.index-list { border-top: 1px solid var(--rule); }

.row {
  position: relative;
  display: grid;
  grid-template-columns: 66px minmax(200px, 1.15fr) minmax(0, 1.5fr) minmax(0, 0.7fr) 120px;
  align-items: baseline;
  gap: 24px;
  margin-inline: -16px;
  padding: 19px 16px;
  border-bottom: 1px solid var(--rule);
  transition: background 0.16s ease;
}

.row:hover { background: var(--ink-3); }

.row-n {
  font-family: var(--mono);
  font-size: 0.72rem;
  color: var(--paper-3);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.06em;
}

.row-name {
  font-family: var(--body);
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.005em;
}

.row-for {
  display: block;
  margin-top: 6px;
  font-family: var(--mono);
  font-size: 0.66rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--green-dim);
}

.row-desc { font-size: 0.925rem; line-height: 1.55; color: var(--paper-2); }

.row-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-self: center;
}

.row-tags span {
  font-family: var(--mono);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--dim);
  border: 1px solid var(--rule);
  border-radius: 2px;
  padding: 3px 7px;
  white-space: nowrap;
}

.row-end { justify-self: end; align-self: center; }

.hub-v4 .row-go {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--paper-2);
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
  white-space: nowrap;
  transition: color 0.16s ease, border-color 0.16s ease;
}

.row:hover .row-go { color: var(--green); border-color: var(--green); }
.row-go span { transition: transform 0.16s ease; }
.row:hover .row-go span { transform: translate(3px, -3px); }

.row-when {
  display: block;
  margin-top: 5px;
  font-family: var(--mono);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  color: var(--paper-3);
  text-align: right;
}

.row[hidden] { display: none !important; }

mark.hit { background: rgba(46, 204, 113, 0.34); color: var(--paper); border-radius: 2px; }

.index-empty {
  display: none;
  padding: 72px 0;
  text-align: center;
  border-bottom: 1px solid var(--rule);
}

.index-empty.show { display: block; }

.index-empty strong {
  display: block;
  font-family: var(--display);
  font-size: 1.9rem;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.index-empty p { color: var(--dim); }
.index-empty a { color: var(--green); border-bottom: 1px solid var(--green-dim); }

/* =============================== EDITORIAL =============================== */

.band { padding: clamp(60px, 8vw, 104px) 0; border-top: 1px solid var(--rule); }
.band-raised { background: var(--ink-2); }

.band h2 {
  margin: 14px 0 0;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(2rem, 5vw, 3.6rem);
  line-height: 0.95;
  text-transform: uppercase;
}

.band-lede {
  max-width: 62ch;
  margin-top: 30px;
  font-size: 1.04rem;
  line-height: 1.62;
  color: var(--paper-2);
}

.prep {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 0;
  margin-top: 48px;
  border-top: 1px solid var(--rule);
}

.prep-col {
  padding: 26px 26px 30px 0;
  border-right: 1px solid var(--rule);
}

.prep-col:last-child { border-right: 0; }

.prep-col h3 {
  margin: 0 0 16px;
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green);
}

.prep-col ul { margin: 0; padding: 0; list-style: none; }

.prep-col li {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 4px;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--paper-2);
}

.prep-col li + li { margin-top: 13px; }

.prep-col li::before {
  content: counter(prep, decimal-leading-zero);
  counter-increment: prep;
  font-family: var(--mono);
  font-size: 0.66rem;
  color: var(--paper-3);
  padding-top: 3px;
}

.prep-col ul { counter-reset: prep; }

/* the warning column reads differently on purpose */
.prep-col-warn h3 { color: #b3342a; }
.prep-col-warn li::before { color: rgba(179, 52, 42, 0.7); }

.cta-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  flex-wrap: wrap;
  margin-top: 52px;
  padding: 28px 0 0;
  border-top: 1px solid var(--rule);
}

.cta-strip p { color: var(--paper-2); max-width: 54ch; }

.hub-v4 .btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 24px;
  border: 1px solid var(--paper);
  border-radius: 2px;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--mono);
  font-size: 0.73rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.16s ease, color 0.16s ease;
}

.hub-v4 .btn:hover { background: var(--green); border-color: var(--green); color: var(--ink); }

.hub-v4 .btn-ghost { background: none; color: var(--paper); border-color: var(--rule-2); }
.hub-v4 .btn-ghost:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }

.btn-row { display: flex; gap: 12px; flex-wrap: wrap; }

/* ============================ NEWS + WIRE ================================ */
/* Class names come from scripts/build_news_board.py and
   scripts/industry-signals.js — renaming them breaks those scripts. */

.board-stamp {
  margin: 34px 0 26px;
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--dim);
}

.news-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 0;
  border-top: 1px solid var(--rule);
}

.news-card {
  display: flex;
  flex-direction: column;
  padding: 26px 26px 28px 0;
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.news-image {
  height: 150px;
  margin-bottom: 20px;
  background-size: cover;
  background-position: center;
  filter: grayscale(1) contrast(1.1);
  opacity: 0.72;
  transition: filter 0.25s ease, opacity 0.25s ease;
}

.news-card:hover .news-image { filter: none; opacity: 1; }
.news-content { display: flex; flex-direction: column; flex: 1; }

.date-line {
  display: block;
  margin-bottom: 11px;
  font-family: var(--mono);
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dim);
}

.news-content h3 {
  margin: 0 0 12px;
  font-size: 1.14rem;
  font-weight: 600;
  line-height: 1.33;
}

.news-content p { font-size: 0.9rem; line-height: 1.58; color: var(--paper-2); margin-bottom: 11px; }

.news-takeaway {
  margin-top: auto;
  padding: 14px 0 0;
  border-top: 1px solid var(--rule);
  font-size: 0.88rem !important;
  color: var(--paper-2) !important;
}

.news-takeaway strong {
  color: var(--green);
  font-family: var(--mono);
  font-size: 0.68rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 6px;
}

.news-content .source-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  font-family: var(--mono);
  font-size: 0.68rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--paper);
  border-bottom: 1px solid var(--rule-2);
  padding-bottom: 3px;
}

.news-content .source-link:hover { color: var(--green); border-color: var(--green); }

/* the machine wire, deliberately plainer than the written cards */
.signal-wire { margin-top: 56px; padding-top: 30px; border-top: 1px solid var(--rule); }

.wire-head h3 {
  margin: 0 0 10px;
  font-family: var(--display);
  font-weight: 400;
  font-size: 1.5rem;
  text-transform: uppercase;
}

.wire-head p { font-size: 0.87rem; line-height: 1.6; color: var(--dim); max-width: 80ch; margin-bottom: 16px; }

.wire-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 22px; }

.wire-chip {
  font-family: var(--mono);
  font-size: 0.64rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dim);
  border: 1px solid var(--rule);
  border-radius: 2px;
  padding: 4px 9px;
}

.wire-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }

.wire-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  padding: 14px 0;
  border-bottom: 1px solid var(--rule);
}

.wire-item a { font-size: 0.95rem; font-weight: 500; line-height: 1.45; color: var(--paper); flex: 1 1 340px; }
.wire-item a:hover { color: var(--green); }

.wire-meta {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;   /* publisher names run long; nowrap overflowed on phones */
  gap: 4px 10px;
  min-width: 0;
  font-family: var(--mono);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--paper-3);
}

.wire-lane { color: var(--green-dim); }

.hub-show-more,
.index-more {
  display: inline-block;
  margin-top: 22px;
  padding: 12px 22px;
  border: 1px solid var(--rule-2);
  border-radius: 2px;
  background: none;
  color: var(--paper);
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
}

.hub-show-more:hover,
.index-more:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }

/* =============================== CLOSER ================================== */

.closer { padding: clamp(70px, 9vw, 120px) 0; border-top: 1px solid var(--rule); text-align: center; }

.closer h2 {
  margin: 0 0 18px;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(2.2rem, 6.5vw, 5rem);
  line-height: 0.92;
  text-transform: uppercase;
}

.closer p { max-width: 56ch; margin: 0 auto 32px; color: var(--paper-2); }
.closer .btn-row { justify-content: center; }

.fine {
  margin-top: 46px;
  padding-top: 22px;
  border-top: 1px solid var(--rule);
  font-size: 0.82rem;
  line-height: 1.6;
  color: var(--paper-3);
  max-width: 76ch;
  margin-inline: auto;
}

/* ============================== RESPONSIVE =============================== */

@media (max-width: 1100px) {
  .row { grid-template-columns: 52px minmax(0, 1fr) minmax(0, 1.25fr) 110px; }
  .row-tags { display: none; }    /* the blurb already carries these words */
}

@media (max-width: 820px) {
  .wrap, .wrap-tight { width: calc(100% - 36px); }
  .row {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px 16px;
    align-items: start;
  }
  .row-desc { grid-column: 2; font-size: 0.89rem; }
  .row-end { grid-column: 2; justify-self: start; margin-top: 4px; }
  .row-when { text-align: left; }
  .intent { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 14px; padding: 20px 0; }
  .intent-arrow { display: none; }
  .prep-col { border-right: 0; border-bottom: 1px solid var(--rule); padding-right: 0; }
  .prep-col:last-child { border-bottom: 0; }
  .news-card { padding-right: 0; border-right: 0; }
  .masthead { min-height: 0; padding: 90px 0 50px; }
}

@media (max-width: 560px) {
  .masthead-meta div { flex-basis: 50%; }
  .index-bar { gap: 10px; padding: 12px 0; }
  .wire-item { gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  .hub-v4 *, .hub-v4 *::before, .hub-v4 *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.hub-v4{--hub-lime:#eef6d9;--hub-pink:#f2dedf;--hub-white:#fffef9}.hub-v4 .intents{background:var(--hub-lime);border-top:1px solid #dce8c8;border-bottom:1px solid #dce8c8}.hub-v4 .index-sec{background:var(--hub-white)}.hub-v4 .band-raised{background:var(--hub-pink)}.hub-v4 #castme-news{background:var(--hub-white)}.hub-v4 .hub-routes{background:var(--hub-lime);padding-block:clamp(52px,7vw,88px)}.hub-v4 .masthead{background:var(--hub-white)}.hub-v4 .intent:hover,.hub-v4 .intent[aria-pressed=true]{background:rgba(255,254,249,.82)}.hub-v4 .band-raised .prep-col h3{color:#b05b68}.hub-v4 .band-raised .tag-label::before{background:#b05b68}
