/*
 * 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 {
}

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

/* ── outer dark shell ── */
.WGTGN_ZKRsgFHmU1TeFv {
  width: 100%;
  font-family: inherit;
  background: #070C18;
  padding: 40px;
}

/* ── inner card ── */
.LkHj_4WXjKnZS2JEeWfn {
  position: relative;
  border-radius: 6px;
  border: 1px solid rgba(16, 200, 229, 0.25);
  background:
    radial-gradient(ellipse 50% 80% at 80% 50%, #0d2ea8 0%, #071a5e 40%, #030812 100%);
  padding: 52px 56px;
  max-width: 1300px;
  margin: 0 auto;
  overflow: hidden;
  box-shadow:
    inset 0 0 0 1px rgba(16, 200, 229, 0.45),
    inset 0 0 28px rgba(16, 200, 229, 0.12);
}

/* ── card shine sweep on hover ── */
.LkHj_4WXjKnZS2JEeWfn::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(
    105deg,
    transparent 38%,
    rgba(255, 255, 255, 0.06) 46%,
    rgba(16, 200, 229, 0.14) 50%,
    rgba(255, 255, 255, 0.06) 54%,
    transparent 62%
  );
  transform: translateX(-140%) skewX(-14deg);
  transition: transform 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}

.LkHj_4WXjKnZS2JEeWfn:hover::before {
  transform: translateX(140%) skewX(-14deg);
}

/* ── corner ticks ── */
.fLF4mSTZbP8djlLD3oct {
  position: absolute;
  width: 16px;
  height: 16px;
  pointer-events: none;
  z-index: 2;
}

.GgEC67nkUE3SLL6ZbPFL { top: 8px;    left: 8px;  border-top:    2px solid #10C8E5; border-left:   2px solid #10C8E5; }
.yxoZy6DdtMdMacXuOROW { top: 8px;    right: 8px; border-top:    2px solid #10C8E5; border-right:  2px solid #10C8E5; }
.OD8RBs0wx4i9jV08NyPw { bottom: 8px; left: 8px;  border-bottom: 2px solid #10C8E5; border-left:   2px solid #10C8E5; }
.c0_IrrztHBSrqtGJKAt_ { bottom: 8px; right: 8px; border-bottom: 2px solid #10C8E5; border-right:  2px solid #10C8E5; }

/* ── layout ── */
.CivJ2mfPodOlJgSS0bwH {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 48px;
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

/* Both buttons hidden: no actions column, so no empty track or gap on the right */
.fYhfF6gWFsH6jBYKK2iY {
  grid-template-columns: 1fr;
}

/* ── left ── */
.VU5gaksnqWeNNzsvMRWw {
  min-width: 0;
}

/* eyebrow */
.hkNd6DCFMQdq6tlmVwZ3 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #10C8E5;
  margin: 0 0 18px;
}

.yK_50aqWbOee3H7XqZmD {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #10C8E5;
  flex-shrink: 0;
}

/* heading: two lines, the second is the gradient highlight */
.MTAr1ySJLEKVfDmqfDDR {
  margin: 0 0 28px;
  color: #ffffff;
  /* A single word wider than the narrow mobile card wraps instead of being clipped */
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.ONple7GtLUEvM9FAy0j2 {
  display: block;
  background: linear-gradient(90deg, #10C8E5 0%, #3b82f6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* rich text body between the heading and the contacts */
.hmz9EfPEs5F5pHQbDBP6 {
  max-width: 640px;
  margin: -8px 0 28px;
  color: rgba(255, 255, 255, 0.75);
  overflow-wrap: anywhere;
}

.hmz9EfPEs5F5pHQbDBP6 p,
.hmz9EfPEs5F5pHQbDBP6 ul,
.hmz9EfPEs5F5pHQbDBP6 ol {
  margin: 0;
}

.hmz9EfPEs5F5pHQbDBP6 p + p,
.hmz9EfPEs5F5pHQbDBP6 p + ul,
.hmz9EfPEs5F5pHQbDBP6 p + ol,
.hmz9EfPEs5F5pHQbDBP6 ul + p,
.hmz9EfPEs5F5pHQbDBP6 ol + p {
  margin-top: 0.75em;
}

.hmz9EfPEs5F5pHQbDBP6 ul,
.hmz9EfPEs5F5pHQbDBP6 ol {
  padding-left: 1.25em;
}

.hmz9EfPEs5F5pHQbDBP6 strong,
.hmz9EfPEs5F5pHQbDBP6 b {
  font-weight: 700;
  color: #ffffff;
}

.hmz9EfPEs5F5pHQbDBP6 a {
  color: #10C8E5;
  text-decoration: underline;
}

/* contacts — horizontal row */
.rdYUQ0Hf5E5Rva_3huaL {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 32px;
}

.pdiIozHo1Ga9KHW7x82n {
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  transition: color 0.2s;
}

.pdiIozHo1Ga9KHW7x82n:hover {
  color: #10C8E5;
}

.pdiIozHo1Ga9KHW7x82n svg {
  flex-shrink: 0;
  color: #10C8E5;
}

/* ── actions ── */
.WTLvigOJOs9WGO3ZwwpW {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 300px;
}

.LamGwUv8vtsggylEVWEg {
  font-weight: 500;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 15px 28px;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  transition:
    border-color 0.3s cubic-bezier(0.16,1,0.3,1),
    box-shadow 0.3s cubic-bezier(0.16,1,0.3,1),
    transform 0.2s cubic-bezier(0.16,1,0.3,1);
  border: 2px solid transparent;
}

.LamGwUv8vtsggylEVWEg:hover {
  transform: translateY(-1px);
}

/* solid colour wipe, left → right */
.LamGwUv8vtsggylEVWEg::after {
  content: '';
  position: absolute;
  inset: 0;
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  z-index: 0;
}

.LamGwUv8vtsggylEVWEg:hover::after {
  transform: scaleX(1);
}

.LamGwUv8vtsggylEVWEg > * {
  position: relative;
  z-index: 1;
}

/* primary — red by default, wipes to a deeper red */
.mPJULSBGrIKnuiJirC2A {
  background: #e11d48;
  color: #ffffff;
  box-shadow: 0 0 24px rgba(225, 29, 72, 0.35);
}

.mPJULSBGrIKnuiJirC2A::after {
  background: #be123c;
}

.mPJULSBGrIKnuiJirC2A:hover {
  box-shadow: 0 0 36px rgba(225, 29, 72, 0.55);
}

.OI9Pu0DDjinUPRYaoaPX {
  display: flex;
  align-items: center;
  transition: transform 0.3s ease;
}

.LamGwUv8vtsggylEVWEg:hover .OI9Pu0DDjinUPRYaoaPX {
  transform: translateX(30%) rotate(-45deg);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) var(--ctab-icon-delay, 0ms);
}

/* secondary — dark with border, wipes to a brighter tint */
.OGWyjTJ5_iZbgvlThgLZ {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.22);
  color: #ffffff;
}

.OGWyjTJ5_iZbgvlThgLZ::after {
  background: rgba(255,255,255,0.12);
}

.OGWyjTJ5_iZbgvlThgLZ:hover {
  border-color: rgba(255,255,255,0.50);
}

.OGWyjTJ5_iZbgvlThgLZ svg {
  flex-shrink: 0;
}

/* ── wave label (both buttons) ── */
.PvzNirZxM1SYpTL7ztyz {
  display: inline-flex;
}

.tpyreZjK6rWQG1jY8EOx {
  overflow: hidden;
  display: inline-block;
  height: 1.2em;
  line-height: 1.2em;
}

.uU0hBiRkAJvYJfCAJQwj {
  display: flex;
  flex-direction: column;
  transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);
}

.r2GcRnseHbH3XEfGtimv {
  display: block;
  height: 1.2em;
  line-height: 1.2em;
}

.LamGwUv8vtsggylEVWEg:hover .uU0hBiRkAJvYJfCAJQwj {
  transform: translateY(-1.2em);
}

/* ── responsive ── */
@media (max-width: 860px) {
  .WGTGN_ZKRsgFHmU1TeFv {
    padding: 24px;
  }

  .LkHj_4WXjKnZS2JEeWfn {
    padding: 40px 32px;
  }

  .CivJ2mfPodOlJgSS0bwH {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .WTLvigOJOs9WGO3ZwwpW {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 480px) {
  .WGTGN_ZKRsgFHmU1TeFv {
    padding: 16px;
  }

  .LkHj_4WXjKnZS2JEeWfn {
    padding: 32px 20px;
  }

  .MTAr1ySJLEKVfDmqfDDR {
    margin-bottom: 20px;
  }

  .hmz9EfPEs5F5pHQbDBP6 {
    margin: -4px 0 20px;
  }

  .rdYUQ0Hf5E5Rva_3huaL {
    flex-direction: column;
    gap: 10px;
  }

  .LamGwUv8vtsggylEVWEg {
    padding: 14px 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .LamGwUv8vtsggylEVWEg,
  .LamGwUv8vtsggylEVWEg::after,
  .uU0hBiRkAJvYJfCAJQwj,
  .OI9Pu0DDjinUPRYaoaPX {
    transition: none;
  }
}

