/* FinMatters homepage (v3, November 2026): shorter page, wider/shorter service explorer,
   larger lender panel, compact awards, four approach pillars, gold Google stars.
   Loaded after the existing homepage stylesheets; only targets .hv3-* and homepage sections. */

/* Hero: copy narrower, explorer wider and shorter */
.hv3-hero .wrap { padding-block: 36px 44px !important; }
@media (min-width: 1000px) {
  .hv3-hero .wrap { grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr) !important; gap: clamp(28px, 3.4vw, 52px) !important; }
}
.hv3-hero .v2-eyebrow { margin: 0; }
.hv3-hero .v2-hero-copy { gap: 18px !important; }
.hv3-hero .v2-stage-shell { padding: 14px; border-radius: 20px; }
.hv3-hero .v2-stage-shell .stage { height: clamp(330px, 29vw, 410px); }
.hv3-hero .v2-stage-label {
  font: 500 14px/1.45 'Hanken Grotesk', system-ui, sans-serif; letter-spacing: 0; text-transform: none;
  color: #E6E6E6; padding: 2px 4px 12px; display: block;
}
.hv3-hero .v2-stage-shell .hint { top: 14px; left: 16px; }
@media (max-width: 999px) {
  .hv3-hero .v2-stage-shell .stage { height: clamp(300px, 62vw, 400px); }
}
@media (max-width: 650px) {
  .hv3-hero .wrap { padding-block: 26px 34px !important; }
  .hv3-hero .v2-stage-shell { padding: 10px; border-radius: 16px; margin-inline: -4px; }
  .hv3-hero .v2-stage-shell .stage { height: 320px; }
  .hv3-hero .v2-stage-label { font-size: 13px; padding-bottom: 10px; }
}

/* Lender panel: one larger, legible ticker */
.hv3-lenders { background: #fff; border-block: 1px solid #E6E6E6; padding: 30px 0 24px; }
.hv3-lenders-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.hv3-lenders-head .v2-kicker { margin-bottom: 6px; }
.hv3-lenders h2 { font: 700 clamp(20px, 2vw, 26px)/1.2 var(--display); letter-spacing: -.03em; color: #141414; margin: 0; }
.hv3-pause {
  appearance: none; flex: none; cursor: pointer; background: #fff; color: #222; border: 1px solid #CFCFCF;
  border-radius: 999px; font: 600 12.5px/1 'Hanken Grotesk', system-ui, sans-serif; padding: 9px 14px; min-height: 36px;
}
.hv3-pause:hover { border-color: #222; }
.hv3-marquee .lt-track { background: #fff; animation-duration: 260s; }
.hv3-marquee .lt-track img { height: 64px; filter: grayscale(1) contrast(1.15); mix-blend-mode: multiply; opacity: .9; }
.hv3-marquee.is-paused .lt-track { animation-play-state: paused; }
.hv3-note { color: #6A6A6A; font-size: 12px; margin-top: 16px; }
.hv3-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 650px) {
  .hv3-lenders { padding: 24px 0 20px; }
  .hv3-marquee .lt-track img { height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  /* No auto-scroll: let people scroll the strip themselves */
  .hv3-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .hv3-pause { display: none; }
}

/* Awards: one compact row */
.hv3-awards { background: #F6F6F6; border-bottom: 1px solid #E6E6E6; padding: 22px 0; }
.hv3-awards-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px 28px; align-items: center; }
.hv3-awards-title { font: 700 11px/1.4 var(--display); letter-spacing: .14em; text-transform: uppercase; color: #555; margin: 0; }
.hv3-award-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.hv3-award-list li { display: flex; align-items: center; gap: 12px; min-width: 0; }
.hv3-award-mark {
  flex: none; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid #D4D4D4; background: #fff;
  border-radius: 50%; font: 800 10.5px/1 var(--display); letter-spacing: .02em; color: #1B1B1B;
}
.hv3-award-list b { display: block; font: 700 14px/1.3 var(--display); color: #161616; }
.hv3-award-list small { display: block; font-size: 12.5px; line-height: 1.4; color: #555; }
.hv3-award-note { grid-column: 2; margin: 0; font-size: 11.5px; color: #6A6A6A; }
.hv3-award-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; margin-left: 4px; }
@media (max-width: 999px) {
  .hv3-awards-row { grid-template-columns: 1fr; }
  .hv3-award-note { grid-column: 1; }
}
@media (max-width: 760px) {
  .hv3-award-list { grid-template-columns: 1fr; gap: 10px; }
}

/* Our approach: four short pillars */
.hv3-approach-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 56px; align-items: end; margin-bottom: 36px; }
.hv3-approach-head h2 { font-family: var(--display); font-weight: 700; font-size: clamp(29px, 3.05vw, 43px); line-height: 1.14; letter-spacing: -.04em; margin: 0; }
.hv3-approach-head p { color: #4F4F4F; font-size: 15.5px; line-height: 1.7; margin: 0; max-width: 54ch; }
.hv3-pillars { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #1B1B1B; }
.hv3-pillars li { padding: 22px 24px 4px 0; }
.hv3-pillars li + li { padding-left: 24px; border-left: 1px solid #E2E2E2; }
.hv3-pillars span { font: 600 12px/1 'JetBrains Mono', ui-monospace, monospace; color: #777; }
.hv3-pillars h3 { font: 700 20px/1.2 var(--display); letter-spacing: -.02em; margin: 12px 0 8px; }
.hv3-pillars p { font-size: 14.5px; line-height: 1.6; color: #4F4F4F; margin: 0; }
.hv3-services { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 40px; padding-top: 24px; border-top: 1px solid #E2E2E2; }
.hv3-services span { font: 700 11px/1.4 var(--display); letter-spacing: .14em; text-transform: uppercase; color: #555; margin-right: 8px; }
.hv3-services a { border: 1px solid #D4D4D4; border-radius: 999px; padding: 9px 14px; font-size: 13.5px; font-weight: 600; color: #1B1B1B; background: #fff; min-height: 40px; display: inline-flex; align-items: center; }
.hv3-services a:hover { border-color: #1B1B1B; background: #1B1B1B; color: #fff; }
@media (max-width: 999px) {
  .hv3-approach-head { grid-template-columns: 1fr; }
  .hv3-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hv3-pillars li:nth-child(3) { padding-left: 0; border-left: 0; }
  .hv3-pillars li:nth-child(n+3) { border-top: 1px solid #E2E2E2; margin-top: 18px; }
}
@media (max-width: 560px) {
  .hv3-pillars { grid-template-columns: 1fr; }
  .hv3-pillars li, .hv3-pillars li + li { padding: 18px 0 2px; border-left: 0; }
  .hv3-pillars li + li { border-top: 1px solid #E2E2E2; margin-top: 14px; }
  .hv3-services span { width: 100%; }
}

/* Stories: tighter type for the longer approved headlines */
.hv3-stories .v2-story-feature h3, .hv3-stories .v2-story-side-card h3 { font-size: clamp(20px, 1.9vw, 26px); line-height: 1.22; letter-spacing: -.025em; }

/* Google reviews: only the stars are gold */
.hv3-reviews .v2-review-stars, .hv3-reviews .v2-deck-shell .stars { color: #F4B400 !important; }

/* Final call to action */
.hv3-last-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
@media (max-width: 760px) {
  .hv3-last > .wrap { grid-template-columns: 1fr !important; gap: 18px !important; }
}

/* Keep the location eyebrow on one line where it fits */
.hv3-hero .v2-eyebrow { font-size: 10.5px; letter-spacing: .12em; }
@media (min-width: 1000px) { .hv3-hero .v2-hero-copy { max-width: none; } }

/* Detail card fits the shorter explorer without hiding its buttons */
.hv3-hero .stage-col.wide .card3d { width: min(400px, calc(100% - 32px)); max-height: calc(100% - 74px); padding: 18px 20px; }
.hv3-hero .card3d h3 { font-size: 19px; line-height: 1.2; margin: 4px 0 6px; }
.hv3-hero .card3d [data-t] { font-size: 13.5px; line-height: 1.5; margin: 0 0 8px; }
.hv3-hero .card3d .ticks { margin: 0 0 12px; gap: 4px; }
.hv3-hero .card3d .ticks li { font-size: 12.5px; line-height: 1.4; }
.hv3-hero .card3d .btn-row { gap: 8px; margin: 0; }
.hv3-hero .card3d .btn, .hv3-hero .card3d .btn-ghost { padding: 10px 14px; font-size: 13px; }
@media (min-width: 1000px) { .hv3-hero .v2-stage-shell .stage { height: clamp(360px, 30vw, 430px); } }