/*
 * Type scale v2 (Grant Thornton x1.125). Sizes are fluid between a 20rem (320px)
 * and 90rem (1440px) viewport: clamp(min, calc(slope + intercept), max).
 *
 * The heading tag carries the structure and these classes carry the look, so a
 * component pulls a look in by role, never by tag:
 *   .title { composes: h4 from '../shared/typography.module.css'; }
 *
 * Only weights 900 / 700 / 500 / 400. Letter spacing is always 0.
 */

.eTgxBsZtVH_S6lt4ONyA {
  font-size: clamp(2.75rem, calc(1.7857vw + 2.3929rem), 4rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0;
}

.IdZjdB7Cg5C9APM2Jowp {
  font-size: clamp(2.25rem, calc(1.6071vw + 1.9286rem), 3.375rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.pcp39eVV7CW8XdQ8N9j1 {
  font-size: clamp(1.625rem, calc(1.0714vw + 1.4107rem), 2.375rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
}

.XDqDBZATkGYv9NgHZ9s1 {
  font-size: clamp(1.375rem, calc(0.5357vw + 1.2679rem), 1.75rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
}

.fWdPpLNvtbnq43YV9e0Q {
  font-size: clamp(1.25rem, calc(0.3571vw + 1.1786rem), 1.5rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
}

.CLkfBEM4JxWFM7wEhZUW {
  font-size: clamp(1.125rem, calc(0.1786vw + 1.0893rem), 1.25rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}

/* Eyebrows use the H6 look at weight 500 (the one exception to "labels are 400") */
.U25eXfOSSn4hPaLI0sNk {
}

.FbXsEIL1UL2M2MYriVij {
  font-size: clamp(1.25rem, calc(0.1786vw + 1.2143rem), 1.375rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

.K7tinMrbfBXB3faSHSF3 {
  font-size: clamp(1rem, calc(0.1786vw + 0.9643rem), 1.125rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

.IjlDPMsLsJHQqXbq1CYT {
  font-size: clamp(0.9375rem, calc(0.0893vw + 0.9196rem), 1rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

/* Labels (tags, badges, form labels, stat labels): Small size, weight 400 */
.WLn6QiUblW2VfEZsJgiP {
}

.fQTrx3GEkrx2JsMxHdOF,
.fQTrx3GEkrx2JsMxHdOF *,
.fQTrx3GEkrx2JsMxHdOF *::before,
.fQTrx3GEkrx2JsMxHdOF *::after {
  box-sizing: border-box;
}

/* ── dark theme ── */
.fQTrx3GEkrx2JsMxHdOF.h9OZpasUx0xahpvlGDKM {
  --grid-field: #070C18;
  --grid-panel: #0A1325;
  --grid-line: rgba(125, 170, 215, 0.14);
  --grid-line-strong: rgba(16, 200, 229, 0.34);
  --grid-head: #ffffff;
  --grid-txt-dim: rgba(221, 233, 249, 0.56);
  --grid-faint: rgba(234, 241, 251, 0.30);
  --grid-cyan: #10C8E5;
  --grid-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --grid-dur-base: 200ms;
  --grid-dur-smooth: 650ms;
}

/* ── light theme ── */
.fQTrx3GEkrx2JsMxHdOF.DTy6pFa9dbRrdg7dj87b {
  --grid-field: #f3f4f6;
  --grid-panel: #e8edf5;
  --grid-line: rgba(3, 36, 71, 0.12);
  --grid-line-strong: rgba(16, 200, 229, 0.34);
  --grid-head: #001b41;
  --grid-txt-dim: rgba(0, 27, 65, 0.60);
  --grid-faint: rgba(0, 27, 65, 0.35);
  --grid-cyan: #10C8E5;
  --grid-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --grid-dur-base: 200ms;
  --grid-dur-smooth: 650ms;
}

.fQTrx3GEkrx2JsMxHdOF {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  font-family: inherit;
}

/* ── grid ── (columns per breakpoint + first-card span come from gridLayout's per-instance CSS) */
.fQTrx3GEkrx2JsMxHdOF .nZCAZ94bhBR6U7wkS0Wu {
  display: grid;
  gap: 14px;
  width: 100%;
  min-width: 0;
}

/* ── card ── */
.fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 26px 24px;
  background: var(--grid-field);
  border: 1px solid var(--grid-line);
  min-width: 0;
  overflow: hidden;
  cursor: default;
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.7s var(--grid-ease-out),
    transform 0.7s var(--grid-ease-out),
    background var(--grid-dur-base),
    border-color 0.6s var(--grid-ease-out),
    box-shadow 0.6s var(--grid-ease-out);
  transition-delay: calc(var(--grid-index, 0) * 0.06s);
}

.fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR.rt3wrBdfU9FBygzC2LRR {
  opacity: 1;
  transform: none;
}

.fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR.rt3wrBdfU9FBygzC2LRR:hover {
  background: var(--grid-panel);
  border-color: rgba(16, 200, 229, 0.55);
  box-shadow:
    0 0 0 1px rgba(16, 200, 229, 0.20),
    0 0 32px rgba(16, 200, 229, 0.10);
}

/* ── corner ticks ── */
.fQTrx3GEkrx2JsMxHdOF .csmZtukPnCPOnZec1mZ1 {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--grid-dur-base);
}

.fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR.rt3wrBdfU9FBygzC2LRR:hover .csmZtukPnCPOnZec1mZ1 {
  opacity: 1;
}

.fQTrx3GEkrx2JsMxHdOF .q7X3NRAqjQrdtNT7VThi {
  position: absolute;
  width: 11px;
  height: 11px;
  pointer-events: none;
}

.fQTrx3GEkrx2JsMxHdOF .Enzi0Bs6g5lIAydTuQne { top: -1px; left: -1px; border-top: 1px solid var(--grid-line-strong); border-left: 1px solid var(--grid-line-strong); }
.fQTrx3GEkrx2JsMxHdOF .YeYbmZO57ZeEgXFYOEkQ { top: -1px; right: -1px; border-top: 1px solid var(--grid-line-strong); border-right: 1px solid var(--grid-line-strong); }
.fQTrx3GEkrx2JsMxHdOF .gC1Rl6ii9gtm66ZmP27z { bottom: -1px; left: -1px; border-bottom: 1px solid var(--grid-line-strong); border-left: 1px solid var(--grid-line-strong); }
.fQTrx3GEkrx2JsMxHdOF .JiaZBglOg7YV66_Ora6V { bottom: -1px; right: -1px; border-bottom: 1px solid var(--grid-line-strong); border-right: 1px solid var(--grid-line-strong); }

/* ── icon wrap ── */
.fQTrx3GEkrx2JsMxHdOF .SoyTpDMdFSFxlzaTel4y {
  position: relative;
  overflow: hidden;
  width: 44px;
  height: 44px;
  border-radius: 3px;
  border: 1px solid var(--grid-line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--grid-cyan);
  flex-shrink: 0;
  margin-bottom: 16px;
  transition:
    border-color 0.6s var(--grid-ease-out),
    box-shadow 0.6s var(--grid-ease-out),
    transform 0.6s var(--grid-ease-out),
    background 0.6s var(--grid-ease-out);
}

.fQTrx3GEkrx2JsMxHdOF .OIAEVD_WUR71sIqIt9N5 {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    105deg,
    transparent 38%,
    rgba(255, 255, 255, 0.1) 46%,
    rgba(16, 200, 229, 0.28) 50%,
    rgba(255, 255, 255, 0.1) 54%,
    transparent 62%
  );
  transform: translateX(-140%) skewX(-14deg);
  transition: transform 0.95s var(--grid-ease-out);
}

.fQTrx3GEkrx2JsMxHdOF .SoyTpDMdFSFxlzaTel4y > :not(.OIAEVD_WUR71sIqIt9N5) {
  position: relative;
  z-index: 1;
}

.fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR.rt3wrBdfU9FBygzC2LRR:hover .SoyTpDMdFSFxlzaTel4y {
  border-color: rgba(16, 200, 229, 0.85);
  background: rgba(16, 200, 229, 0.1);
  transform: scale(1.08);
  box-shadow:
    0 0 0 1px rgba(16, 200, 229, 0.45),
    0 0 28px rgba(16, 200, 229, 0.28),
    inset 0 0 18px rgba(16, 200, 229, 0.1);
}

.fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR.rt3wrBdfU9FBygzC2LRR:hover .OIAEVD_WUR71sIqIt9N5 {
  transform: translateX(140%) skewX(-14deg);
}

/* ── text ── */
/* Size, weight, line-height and tracking come from the shared H4 look (typography.module.css) */
.fQTrx3GEkrx2JsMxHdOF .OKCD0DfqHiOquU4AgoKj {
  color: var(--grid-head);
  margin: 0 0 8px;
  /* wrap between words; only split a word that can't fit on its own line */
  overflow-wrap: break-word;
  word-break: normal;
  transition:
    transform 0.65s var(--grid-ease-out),
    color 0.65s var(--grid-ease-out),
    text-shadow 0.65s var(--grid-ease-out);
}

.fQTrx3GEkrx2JsMxHdOF .OKCD0DfqHiOquU4AgoKj::after {
  content: "";
  display: block;
  width: 0;
  height: 2px;
  margin-top: 8px;
  background: linear-gradient(90deg, var(--grid-cyan) 0%, rgba(15, 99, 243, 0.45) 100%);
  transition: width 0.7s var(--grid-ease-out);
}

.fQTrx3GEkrx2JsMxHdOF .hhGLl4b4HBrtbUKBvnRJ {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--grid-txt-dim);
  margin: 0;
  overflow-wrap: anywhere;
  transition:
    transform 0.7s var(--grid-ease-out) 0.05s,
    color 0.7s var(--grid-ease-out) 0.05s;
}

.fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR.rt3wrBdfU9FBygzC2LRR:hover .OKCD0DfqHiOquU4AgoKj {
  transform: translateX(6px);
  color: var(--grid-head);
  text-shadow: 0 0 20px rgba(16, 200, 229, 0.16);
}

.fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR.rt3wrBdfU9FBygzC2LRR:hover .OKCD0DfqHiOquU4AgoKj::after {
  width: 40px;
}

.fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR.rt3wrBdfU9FBygzC2LRR:hover .hhGLl4b4HBrtbUKBvnRJ {
  transform: translateX(6px);
}

/* ── responsive ── */
@media (prefers-reduced-motion: reduce) {
  .fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR.rt3wrBdfU9FBygzC2LRR:hover {
    transform: none;
  }

  .fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR.rt3wrBdfU9FBygzC2LRR:hover .SoyTpDMdFSFxlzaTel4y {
    transform: none;
  }

  .fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR.rt3wrBdfU9FBygzC2LRR:hover .OKCD0DfqHiOquU4AgoKj,
  .fQTrx3GEkrx2JsMxHdOF .Acvy_9o7tPPrynxCDoWR.rt3wrBdfU9FBygzC2LRR:hover .hhGLl4b4HBrtbUKBvnRJ {
    transform: none;
  }

  .fQTrx3GEkrx2JsMxHdOF .OIAEVD_WUR71sIqIt9N5,
  .fQTrx3GEkrx2JsMxHdOF .csmZtukPnCPOnZec1mZ1 {
    display: none;
  }
}

