@charset "UTF-8";
/* -----------------------------------------------------------------------------
  GS Quote — pseudo-element rails (comp aligned)
  File: assets/scss/blocks/_gs-quote.scss

  Markup expectations:
  .gs-quote
    .gs-quote__inner
      .gs-quote__content
        .gs-quote__eyebrow
        blockquote.gs-quote__blockquote
          .gs-quote__text
          footer.gs-quote__footer

  Notes:
  - Main blue rail drawn via ::before on .gs-quote__content
  - Small navy rail drawn via ::before on .gs-quote__footer
  - Both rails share identical x-origin
----------------------------------------------------------------------------- */
/* line 20, ../sass/gs-quote.scss */
.gs-quote {
  --gs-quote-max: 1280px;
  --gs-quote-bg: #fff;
  --gs-quote-fg: var(--gs-brand-primary, #1A2763);
  /* navy */
  --gs-quote-accent: var(--gs-brand-accent, #0071C1);
  /* blue */
  --gs-pad-x: clamp(28px, 4.5vw, 72px);
  --gs-pad-y: clamp(22px, 3.2vw, 44px);
  --gs-rail-w: 8px;
  --gs-rail-gap: 26px;
  /* space between rail and text column */
  --gs-indent: calc(var(--gs-rail-w) + var(--gs-rail-gap));
  /* comp: wide left-aligned quote column */
  --gs-content-max: 1120px;
  background: var(--gs-quote-bg);
  color: var(--gs-quote-fg);
}

/* line 41, ../sass/gs-quote.scss */
.gs-quote.is-compact {
  --gs-pad-y: clamp(18px, 2.6vw, 36px);
}

/* line 45, ../sass/gs-quote.scss */
.gs-quote__inner {
  max-width: var(--gs-quote-max);
  margin: 0 auto;
  padding: var(--gs-pad-y) var(--gs-pad-x);
}

/* Content column (left aligned, wide) */
/* line 52, ../sass/gs-quote.scss */
.gs-quote__content {
  max-width: var(--gs-content-max);
  margin: 0;
  min-width: 0;
  position: relative;
  /* reserve space for the rail + gutter */
  padding-left: var(--gs-indent);
}

/* Main blue rail beside quote */
/* line 64, ../sass/gs-quote.scss */
.gs-quote__content::before {
  content: "";
  position: absolute;
  left: 0;
  /* comp: rail begins below the eyebrow */
  top: 26px;
  /* comp: rail ends above the footer */
  bottom: 66px;
  width: var(--gs-rail-w);
  background: var(--gs-quote-accent);
  /* ensure visible on short quotes */
  min-height: 160px;
}

/* Eyebrow aligned with quote text */
/* line 83, ../sass/gs-quote.scss */
.gs-quote__eyebrow {
  color: var(--gs-quote-accent);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0 0 14px;
}

/* line 93, ../sass/gs-quote.scss */
.gs-quote__blockquote {
  margin: 0;
}

/* line 97, ../sass/gs-quote.scss */
.gs-quote__text {
  color: var(--gs-quote-fg);
  font-weight: 700;
  font-size: clamp(28px, 2.55vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.01em;
  overflow-wrap: anywhere;
}
/* line 106, ../sass/gs-quote.scss */
.gs-quote__text p {
  margin: 0;
  padding-left: calc(var(--gs-rail-w) + 14px);
  font-weight: inherit;
  line-height: 1.12;
}
/* line 107, ../sass/gs-quote.scss */
.gs-quote__text p + p {
  margin-top: 0.6em;
}

/* Footer (transparent) */
/* line 111, ../sass/gs-quote.scss */
.gs-quote__footer {
  margin-top: 22px;
  background: transparent;
  padding-left: 0;
  /* text already aligned by parent padding */
  position: relative;
}

/* Small navy rail aligned to main rail x-origin */
/* line 120, ../sass/gs-quote.scss */
.gs-quote__footer::before {
  content: "";
  position: absolute;
  /* pull back to the same x-origin as the main rail */
  left: calc(-1 * var(--gs-indent));
  top: 2px;
  width: var(--gs-rail-w);
  height: 44px;
  background: var(--gs-quote-fg);
}

/* Author meta: offset to clear the small rail */
/* line 134, ../sass/gs-quote.scss */
.gs-quote__author,
.gs-quote__title {
  margin-left: 0;
}

/* Add padding-left in footer only for the author text to clear the rail */
/* line 140, ../sass/gs-quote.scss */
.gs-quote__footer {
  padding-left: calc(var(--gs-rail-w) + 14px);
}

/* line 144, ../sass/gs-quote.scss */
.gs-quote__author {
  color: var(--gs-quote-accent);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  margin: 0 0 4px;
}

/* line 152, ../sass/gs-quote.scss */
.gs-quote__title {
  color: var(--gs-quote-accent);
  font-style: italic;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.25;
  margin: 0;
}

/* Mobile */
@media (max-width: 640px) {
  /* line 163, ../sass/gs-quote.scss */
  .gs-quote {
    --gs-rail-gap: 18px;
    --gs-content-max: 100%;
  }

  /* line 168, ../sass/gs-quote.scss */
  .gs-quote__content::before {
    top: 22px;
    bottom: 58px;
  }

  /* line 173, ../sass/gs-quote.scss */
  .gs-quote__footer::before {
    height: 40px;
  }

  /* line 177, ../sass/gs-quote.scss */
  .gs-quote__footer {
    padding-left: calc(var(--gs-rail-w) + 12px);
  }
}
