/* Spectrum Cloud for CA: final, route-scoped UI normalization layer. */
.spectrum-ca {
  --sc-blue-900: #002b47;
  --sc-blue-700: #266995;
  --sc-blue-100: #eaf5fb;
  --sc-blue-50: #f6fbfe;
  --sc-coral: #fc7d72;
  --sc-ink: #17232c;
  --sc-muted: #53636f;
  --sc-border: #dce8ef;
  --sc-radius: 14px;
  --sc-section-y: clamp(3.25rem, 6vw, 5rem);
  --sc-container-gutter: clamp(1rem, 3vw, 2rem);
  font-family: "Quicksand", sans-serif;
}

/* Keep the complete CA experience on one typeface without overriding icon fonts. */
.spectrum-ca :where(
  h1, h2, h3, h4, h5, h6,
  p, a, button, input, select, textarea, label,
  ul, ol, li, dl, dt, dd, table, th, td,
  legend, summary, blockquote, figcaption
) {
  font-family: "Quicksand", sans-serif !important;
}

.spectrum-ca main {
  color: var(--sc-ink);
  font-family: "Quicksand", sans-serif;
}

.spectrum-ca main :is(h1, h2, h3, h4, h5, h6):not(.su-left-h1) {
  color: var(--sc-blue-900);
  font-family: "Quicksand", sans-serif !important;
  font-weight: 700;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.spectrum-ca main h1:not(.su-left-h1) {
  font-size: 2rem !important;
  line-height: 1.13 !important;
}

/* ITR hero: keep Quicksand crisp and editorial instead of oversized and heavy. */
.spectrum-ca main .spcloud_itrbannersect_bglcr h1.spcloud_ITRStitlefs {
  font-family: "Quicksand", sans-serif !important;
  font-size: clamp(2.125rem, 4vw, 3.375rem) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.12 !important;
  text-wrap: balance;
}

.spectrum-ca main .spcloud_itrbannersect_bglcr h1.spcloud_ITRStitlefs .ITRmain_titleclr_blue {
  font-weight: inherit !important;
}

.spectrum-ca main h2 {
  font-size: 1.625rem !important;
  line-height: 1.22 !important;
}

.spectrum-ca main h3 {
  font-size: 1.25rem !important;
  line-height: 1.3 !important;
}

.spectrum-ca main :is(h4, h5, h6) {
  font-size: clamp(1.125rem, 2vw, 1.375rem) !important;
  line-height: 1.35 !important;
}

.spectrum-ca main :is(p, li) {
  font-family: "Quicksand", sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

.spectrum-ca main :is(.gst-subtitle, .gst-subtitle1, .tds-subtitle, .tds-subtitle1, .tds-subtitle-light, .section_000custom_subtilte, .sub-heading0005) {
  font-size: clamp(1rem, 2vw, 1.25rem) !important;
  line-height: 1.65 !important;
  max-width: 1400px;
}

.spectrum-ca main :is(.gst-section, .tds-section, .spcloud_sectionpaddingbox, .spcloud_sectionpaddingbox2, .security-section0005) {
  padding-block: var(--sc-section-y) !important;
}

.spectrum-ca main .spectrum-ca-intro {
  margin-top: 0 !important;
  padding-block: var(--sc-section-y) !important;
  padding-inline: var(--sc-container-gutter);
}

.spectrum-ca main :is(.gst-section, .tds-section, .spcloud_sectionpaddingbox, .spcloud_sectionpaddingbox2, .security-section0005) > .container,
.spectrum-ca main .spectrum-ca-intro,
.spectrum-ca main .cloud-section > .container {
  padding-inline: var(--sc-container-gutter);
}

.spectrum-ca main .cloud-section {
  padding: clamp(1.5rem, 4vw, 3rem) var(--sc-container-gutter) !important;
}

.spectrum-ca main :is(.gst-section, .tds-section) .cloud-section {
  padding-block: 0 !important;
}

.spectrum-ca main :is(.gst-section-muted, .tds-section-muted) {
  background: var(--sc-blue-50) !important;
}

.spectrum-ca main :is(.gst-section-soft, .tds-section-soft) {
  background: var(--sc-blue-100) !important;
}

.spectrum-ca main :is(.feature-box000_custom, .gst-card, .gst-card1, .gst-filing-card, .tds-core-card, .tds-callout, .list-items01) {
  border: 1px solid var(--sc-border);
  border-radius: var(--sc-radius) !important;
  box-shadow: 0 8px 24px rgba(0, 43, 71, 0.07) !important;
}

.spectrum-ca main :is(.feature-box000_custom, .gst-card, .gst-card1, .gst-filing-card, .tds-core-card) {
  height: auto !important;
  min-height: 100%;
}

.spectrum-ca main :is(.feature-text000_custom, .gst-card p, .gst-card1 p, .gst-filing-card p, .timeline-item-00012 p, .spcloud_filingexp_gsttab_imssuntextfs, .security-box0005 p, .spcloud_ourquestions_textfs) {
  color: var(--sc-muted);
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

/* GST feature cards: centered circular icon badges with restrained motion. */
.spectrum-ca main .gst-core-card {
  align-items: center;
  background: linear-gradient(180deg, #f2f9fe 0%, #e8f5ff 100%) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 3.25rem;
  min-height: 11.5rem !important;
  padding: 3.5rem 1.5rem 1.75rem !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.spectrum-ca main .gst-core-card img {
  aspect-ratio: 1;
  background: #fff;
  border: 1px solid var(--sc-border);
  border-radius: 50% !important;
  box-shadow: 0 8px 20px rgba(0, 43, 71, 0.1);
  height: 5.25rem !important;
  left: 50% !important;
  max-height: none !important;
  padding: 0.875rem;
  top: -2.625rem !important;
  transform: translateX(-50%);
  width: 5.25rem !important;
}

.spectrum-ca main .gst-core-card:hover {
  border-color: rgba(46, 109, 142, 0.32);
  box-shadow: 0 12px 28px rgba(0, 43, 71, 0.11) !important;
  transform: translateY(-3px);
}

.spectrum-ca main .gst-filing-card {
  min-height: 13.75rem !important;
  padding: 4rem 1.5rem 1.75rem !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.spectrum-ca main .gst-filing-card img {
  aspect-ratio: 1;
  border: 1px solid var(--sc-border);
  border-radius: 50% !important;
  box-shadow: 0 8px 20px rgba(0, 43, 71, 0.1);
  height: 5.5rem !important;
  max-height: none !important;
  padding: 1rem;
  top: -2.75rem !important;
  transition: box-shadow 180ms ease, transform 180ms ease;
  width: 5.5rem !important;
}

.spectrum-ca main .gst-filing-card:hover {
  border-color: rgba(46, 109, 142, 0.32);
  box-shadow: 0 12px 28px rgba(0, 43, 71, 0.11) !important;
  transform: translateY(-3px);
}

.spectrum-ca main .gst-filing-card:hover img {
  box-shadow: 0 10px 24px rgba(0, 43, 71, 0.14) !important;
  transform: translateX(-50%) scale(1.035);
}

.spectrum-ca main .gst-card1_parent {
  gap: 10px;
  padding-left: 25px;
}

.spectrum-ca main .gst-card1 {
  background: #fff;
  flex: 1 1 0;
  min-width: 0;
}

.spectrum-ca main .gst-start-copy > :is(.gst-title, .gst-subtitle) {
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

.spectrum-ca main .gst-final-cta .gst-title1 {
  color: #fff !important;
}

.spectrum-ca main .gst-final-cta .gst-title1 span {
  color: var(--sc-coral) !important;
}

.spectrum-ca main :is(.gst-primary-btn, .gst-danger-btn, .gst-green-btn, .tds-primary-btn, .tds-danger-btn, .tds-green-btn, .spcloud_filingexp_gsttab_imsmoreinfo) {
  align-items: center;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  cursor: pointer;
  display: inline-flex !important;
  font-family: "Quicksand", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  justify-content: center;
  line-height: 1.25 !important;
  min-height: 44px;
  padding: 0.6875rem 1.375rem !important;
  text-decoration: none !important;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
}

.spectrum-ca main :is(.gst-primary-btn, .tds-primary-btn, .spcloud_filingexp_gsttab_imsmoreinfo) {
  background: var(--sc-blue-700) !important;
  color: #fff !important;
}

.spectrum-ca main :is(.gst-danger-btn, .tds-danger-btn) {
  background: var(--sc-coral) !important;
  color: var(--sc-blue-900) !important;
}

.spectrum-ca main :is(.gst-green-btn, .tds-green-btn) {
  background: #fff !important;
  border-color: var(--sc-blue-700) !important;
  color: var(--sc-blue-700) !important;
}

.spectrum-ca main :is(.gst-primary-btn, .gst-danger-btn, .gst-green-btn, .tds-primary-btn, .tds-danger-btn, .tds-green-btn, .spcloud_filingexp_gsttab_imsmoreinfo):hover {
  box-shadow: 0 7px 16px rgba(0, 43, 71, 0.16) !important;
  transform: translateY(-1px);
}

.spectrum-ca main :is(a, button, [role="button"]):focus-visible {
  outline: 3px solid rgba(49, 113, 155, 0.4) !important;
  outline-offset: 3px !important;
}

.spectrum-ca main :is(.gst-primary-btn, .gst-danger-btn, .gst-green-btn, .tds-primary-btn, .tds-danger-btn, .tds-green-btn, .spcloud_filingexp_gsttab_imsmoreinfo):active {
  box-shadow: none !important;
  transform: translateY(0);
}

.spectrum-ca main :is(button, .btn, [role="button"]):disabled,
.spectrum-ca main :is(button, .btn, [role="button"])[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.55;
}

.spectrum-ca main .spcloud_filingexp_gsttab {
  align-items: center;
  border: 1px solid transparent !important;
  border-radius: 10px 10px 0 0 !important;
  box-sizing: border-box !important;
  display: inline-flex;
  font-family: "Quicksand", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700;
  justify-content: center;
  line-height: 1.25 !important;
  height: auto !important;
  min-height: 46px !important;
  padding: 0.6875rem 1rem !important;
  transform: none !important;
  white-space: normal;
}

.spectrum-ca main .spcloud_filingexp_gsttab:is(.active, :hover, :focus-visible) {
  border-color: var(--sc-coral) !important;
  box-shadow: 0 4px 12px rgba(0, 43, 71, 0.12);
  transform: none !important;
}

.spectrum-ca main .spcloud_filingexp_tabs {
  gap: 0.25rem;
}

.spectrum-ca main .spcloud_ourquestions_accordionbox .faq-toggle {
  border-radius: 8px;
  font-family: "Quicksand", sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  min-height: 44px;
  padding: 0.625rem 0.25rem !important;
}

.spectrum-ca main .panel-title {
  margin: 0 !important;
}

.spectrum-ca #goTopBtn {
  align-items: center;
  background: var(--sc-coral) !important;
  border: 0;
  border-radius: 50% !important;
  bottom: 1.25rem !important;
  color: var(--sc-blue-900) !important;
  box-sizing: border-box;
  height: 48px !important;
  justify-content: center;
  opacity: 0 !important;
  pointer-events: none !important;
  right: 1.25rem !important;
  transform: translateY(8px);
  visibility: hidden !important;
  z-index: 50;
  width: 48px !important;
}

.spectrum-ca #goTopBtn[data-scrolled="true"] {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0);
  visibility: visible !important;
}

.spectrum-ca main .spcloud_topbanner_bgimg .su-left-h1 {
  font-family: "Quicksand", sans-serif !important;
  font-size: clamp(2rem, 8.5vw, 2.25rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
  text-wrap: balance;
}

.satisfy
  {
    font-family: "Satisfy", "cursive" !important;
    font-weight: 500 !important;
    font-size: 53px !important;
  }
.spectrum-ca main .btn-close.custom-close0001_x124 {
  align-items: center;
  display: inline-flex;
  font-size: 1rem !important;
  height: 44px !important;
  justify-content: center;
  padding: 0 !important;
  width: 44px !important;
}

.spectrum-ca main :is(section[id], [id^="section_"]) {
  scroll-margin-top: 88px;
}

.spectrum-ca main :is(img, video, iframe) {
  max-width: 100%;
}

.spectrum-ca main :is(.timeline-icon-00012 img, .gst-core-card img, .gst-filing-card img, .tds-core-card img) {
  object-fit: contain !important;
}

.spectrum-ca main .timeline-icon-00012 img {
  aspect-ratio: 1;
  height: 60px !important;
  width: 60px !important;
}

.spectrum-ca main :is(.gst-core-card img, .gst-filing-card img, .tds-core-card img) {
  height: auto;
  max-height: 76px;
}

.spectrum-ca main .margin_top {
  margin-top: clamp(2rem, 5vw, 4rem) !important;
}

.spectrum-ca main .security-section0005 {
  padding-inline: var(--sc-container-gutter) !important;
}

.spectrum-ca main .security-box0005 {
  border-radius: var(--sc-radius);
  padding: clamp(1rem, 3vw, 1.5rem) !important;
}

.spectrum-ca main .security-box0005 h5,
.spectrum-ca main .security-section0005 h2 {
  color: #fff;
}

.spectrum-ca main .security-box0005 p {
  color: #dbe7ec;
}

.spectrum-ca main .security-box0005_left_image img {
  height: auto;
  object-fit: contain;
}

@media (min-width: 768px) {
  .spectrum-ca main .spcloud_topbanner_bgimg .su-left-h1 {
    font-size: clamp(2.5rem, 5.7vw, 3rem) !important;
  }

  .spectrum-ca main h1:not(.su-left-h1),
  .spectrum-ca main :is(.gst-hero h1, .tds-hero h1, .spcloud_ITRStitlefs) {
    font-size: clamp(2.5rem, 5.2vw, 3rem) !important;
  }

  .spectrum-ca main h2 {
    font-size: clamp(2.125rem, 4vw, 2.75rem) !important;
  }

  .spectrum-ca main h3 {
    font-size: clamp(1.375rem, 2.4vw, 1.5rem) !important;
  }

  .spectrum-ca main :is(p, li) {
    font-size: 1.0625rem !important;
  }
}

@media (min-width: 1200px) {
  .spectrum-ca main .spcloud_topbanner_bgimg .su-left-h1 {
    font-size: clamp(3rem, 4.7vw, 3.75rem) !important;
  }

  .spectrum-ca main h1:not(.su-left-h1),
  .spectrum-ca main :is(.gst-hero h1, .tds-hero h1, .spcloud_ITRStitlefs) {
    font-size: clamp(3rem, 4vw, 3.75rem) !important;
  }
}

@media (max-width: 767px) {
  .spectrum-ca main :is(.gst-hero, .tds-hero) {
    padding-block: clamp(2.75rem, 10vw, 4rem) !important;
  }

  .spectrum-ca main :is(.gst-title1, .tds-title-light, .gst-final-cta h2, .tds-final-cta h2) {
    font-size: 1.75rem !important;
  }

  .spectrum-ca main .timeline-item-00012 p {
    font-size: 1rem !important;
  }

  .spectrum-ca main .security-box0005_left_content {
    font-size: 1rem !important;
    line-height: 1.65 !important;
    margin-block: 1.5rem !important;
  }

  .spectrum-ca main .cloud-section .list-items01 {
    min-height: 56px;
    padding: 1rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .spectrum-ca main *,
  .spectrum-ca main *::before,
  .spectrum-ca main *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .spectrum-ca main :is(.tds-core-track, .trusted-slider-track) {
    animation: none !important;
  }
}
