/* ==========================================================================
   Footer - measured against the reference at 1440px.
   One dark block: CTA column (448) + Main Pages (191) + Our company (318)
   + newsletter (289), then a contact row and a bottom bar carrying the
   oversized wordmark watermark.
   ========================================================================== */
.gc-footer{position:relative;background:var(--gc-secondary);
  color:rgba(var(--gc-white-rgb),.7);overflow:hidden}
.gc-footer a{color:rgba(var(--gc-white-rgb),.7)}
.gc-footer a:hover{color:var(--gc-global)}
.gc-footer h1,.gc-footer h2,.gc-footer h3,.gc-footer h4{color:var(--gc-white)}

/* --- Top ---------------------------------------------------------------- */
.gc-footer__top{display:grid;grid-template-columns:598px 191px 318px 289px;
  padding:110px 0 0}
.gc-footer__cta{padding-right:150px}
.gc-footer__cta-label{margin:0;font-family:var(--gc-font-heading);font-weight:600;
  font-size:13px;line-height:28px;letter-spacing:.78px;color:var(--gc-global);
  text-transform:none}
.gc-footer__cta-title{margin:0;font-family:var(--gc-font-heading);font-weight:700;
  font-size:96px;line-height:96px;letter-spacing:-3.84px;color:var(--gc-white)}
.gc-footer__cta-title a{color:var(--gc-white)}
.gc-footer__cta-title a:hover{color:var(--gc-global)}
.gc-footer__cta-mark{color:var(--gc-global)}

.gc-marquee--footer{margin-top:34px;overflow:hidden}
.gc-marquee--footer .gc-marquee__track{gap:14px;animation:gcMarquee 22s linear infinite}
.gc-marquee--footer .gc-marquee__item{font-family:var(--gc-font-heading);font-weight:600;
  font-size:15px;line-height:24px;letter-spacing:.5px;text-transform:uppercase;
  color:rgba(var(--gc-white-rgb),.35)}
.gc-marquee--footer .gc-marquee__dot{color:var(--gc-global)}

/* --- Link columns ------------------------------------------------------- */
.gc-footer__col .widget{margin:0}
.gc-footer__col .widget-title,.gc-footer__widget-title{margin:0 0 29px;
  font-family:var(--gc-font-heading);font-weight:700;font-size:20px;line-height:23px;
  letter-spacing:normal;color:var(--gc-white);text-transform:none}
.gc-footer__col ul{margin:0;padding:0;list-style:none}
.gc-footer__col li{padding:0 0 14px}
.gc-footer__col li a{font-family:var(--gc-font-body);font-weight:400;font-size:15px;
  line-height:26px;color:rgba(var(--gc-white-rgb),.7)}
.gc-footer__col--2 ul{columns:2;column-gap:0}
.gc-footer__col--2 li{break-inside:avoid}

/* --- Newsletter --------------------------------------------------------- */
.gc-newsletter__title{margin:0 0 30px;font-family:var(--gc-font-heading);
  font-weight:600;font-size:20px;line-height:20px;color:var(--gc-white)}
.gc-newsletter__form{position:relative;display:flex}
.gc-newsletter__field{width:100%;padding:16px 60px 16px 0;background:transparent;
  border:0;border-bottom:1px solid rgba(var(--gc-white-rgb),.25);border-radius:0;
  color:var(--gc-white);font-size:15px}
.gc-newsletter__field:focus{background:transparent;border-color:var(--gc-global)}
.gc-newsletter__field::placeholder{color:rgba(var(--gc-white-rgb),.5)}
.gc-newsletter__submit{position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:44px;height:44px;padding:0;display:grid;place-items:center;border-radius:50%;
  background:var(--gc-global);color:var(--gc-secondary)}
.gc-newsletter__submit:hover{background:var(--gc-white);color:var(--gc-secondary)}
.gc-newsletter__note{margin:22px 0 0;font-family:var(--gc-font-heading);font-weight:400;
  font-size:13px;line-height:28px;color:var(--gc-white)}

/* --- Contact row -------------------------------------------------------- */
.gc-footer__contact{display:grid;grid-template-columns:468px 469px minmax(0,1fr);
  gap:0;margin-top:82px;padding:52px 0 0;
  border-top:1px solid rgba(var(--gc-white-rgb),.12)}
.gc-footer__contact-item{padding-left:15px}
.gc-footer__contact-item:first-child{padding-left:15px}
.gc-footer__contact-label{margin:0;font-family:var(--gc-font-heading);font-weight:600;
  font-size:13px;line-height:28px;letter-spacing:.78px;color:var(--gc-global);
  text-transform:none}
.gc-footer__contact-value{display:block;margin:0;font-family:var(--gc-font-body);
  font-weight:400;font-size:20px;line-height:28px;color:var(--gc-white)}
a.gc-footer__contact-value:hover{color:var(--gc-global)}

/* --- Bottom bar --------------------------------------------------------- */
.gc-footer__bottom{position:relative;display:flex;align-items:center;
  justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:86px;
  padding:26px 0 21px;border-top:1px solid rgba(var(--gc-white-rgb),.12)}
.gc-footer__copyright{font-size:15px;line-height:24px;color:rgba(235,235,235,.7)}
.gc-footer__menu{display:flex;gap:24px;margin:0;padding:0;list-style:none}
.gc-social{display:flex;gap:10px;margin:0;padding:0;list-style:none}
.gc-social__link{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  background:rgba(var(--gc-white-rgb),.08);color:var(--gc-white)}
.gc-social__link:hover{background:var(--gc-global);color:var(--gc-secondary)}
.gc-social--mobile .gc-social__link{background:var(--gc-light-bg);color:var(--gc-heading)}

/* Oversized wordmark, sunk just above the page background */
.gc-footer__watermark{position:absolute;left:50%;bottom:-38px;transform:translateX(-50%);
  margin:0;font-family:var(--gc-font-heading);font-weight:600;font-size:170px;
  line-height:142px;letter-spacing:-6.8px;color:rgba(var(--gc-white-rgb),.04);
  pointer-events:none;white-space:nowrap;user-select:none}

/* --- Back to top -------------------------------------------------------- */
.gc-back-to-top{position:fixed;right:28px;bottom:28px;z-index:800;width:48px;height:48px;
  padding:0;display:grid;place-items:center;border-radius:50%;background:var(--gc-global);
  color:var(--gc-secondary);box-shadow:var(--gc-shadow);opacity:0;transform:translateY(14px);
  transition:opacity var(--gc-dur) var(--gc-ease),transform var(--gc-dur) var(--gc-ease)}
.gc-back-to-top.is-visible{opacity:1;transform:translateY(0)}

@media (max-width:1399px){
  .gc-footer__top{grid-template-columns:1.4fr 1fr 1.4fr 1.3fr;gap:40px}
  .gc-footer__cta{padding-right:40px}
  .gc-footer__cta-title{font-size:64px;line-height:66px;letter-spacing:-2px}
  .gc-footer__contact{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  .gc-footer__top{grid-template-columns:repeat(2,1fr);gap:50px 40px;padding-top:80px}
  .gc-footer__cta{grid-column:1/-1;padding-right:0}
  .gc-footer__watermark{font-size:110px;line-height:100px;bottom:-24px}
}
@media (max-width:767px){
  .gc-footer__top{grid-template-columns:1fr;gap:40px;padding-top:60px}
  .gc-footer__cta-title{font-size:48px;line-height:52px;letter-spacing:-1.4px}
  .gc-footer__contact{grid-template-columns:1fr;gap:26px;margin-top:50px;padding-top:40px}
  .gc-footer__contact-item{padding-left:0}
  .gc-footer__bottom{flex-direction:column;text-align:center;margin-top:50px}
  .gc-footer__watermark{font-size:66px;line-height:60px;bottom:-12px;letter-spacing:-2px}
  .gc-footer__col--2 ul{columns:1}
}

/* ==========================================================================
   Back to top - measured against the reference: 50x50 gold disc with a 2px
   white ring at right:35px, holding a chevron that swaps on hover.
   ========================================================================== */
.gc-back-to-top{right:35px;bottom:35px;width:50px;height:50px;min-height:50px;
  line-height:1;border-radius:25px;
  background:var(--gc-global);border:2px solid var(--gc-white);color:var(--gc-white);
  box-shadow:none;overflow:hidden;padding:0;display:grid;place-items:center}
.gc-back-to-top:hover{background:var(--gc-secondary);border-color:var(--gc-secondary)}
.gc-back-to-top__arrow{grid-area:1/1;display:grid;place-items:center;font-size:18px;
  transition:transform var(--gc-dur) var(--gc-ease),opacity var(--gc-dur) var(--gc-ease)}
.gc-back-to-top__arrow--hover{opacity:0;transform:translateY(100%)}
.gc-back-to-top:hover .gc-back-to-top__arrow{opacity:0;transform:translateY(-100%)}
.gc-back-to-top:hover .gc-back-to-top__arrow--hover{opacity:1;transform:translateY(0)}

/* ==========================================================================
   Footer corrections - measured against the reference.
   ========================================================================== */
/* Both eyebrow labels are uppercase gold PJS 13/28 with .78px tracking. */
.gc-footer__cta-label{text-transform:uppercase}
.gc-footer .gc-footer__contact-label{color:var(--gc-global);text-transform:uppercase}

/* "Our company" fills across, not down: item 1 left, item 2 right, item 3 left. */
.gc-footer__col--2 ul{columns:auto;display:grid;grid-template-columns:1fr 1fr;
  grid-auto-flow:row;column-gap:0}

/* Newsletter field: transparent with a 1px hairline, 60px tall, 5px radius. */
.gc-footer .gc-newsletter__field{height:60px;padding:16px 70px 16px 20px;
  background:transparent;border:1px solid rgba(var(--gc-white-rgb),.1);
  border-radius:5px;color:var(--gc-white);font-family:var(--gc-font-body);
  font-size:15px;font-weight:400}
.gc-footer .gc-newsletter__field:focus{background:transparent;
  border-color:rgba(var(--gc-white-rgb),.35)}
.gc-footer .gc-newsletter__field::placeholder{color:rgba(var(--gc-white-rgb),.75);
  opacity:1}
.gc-newsletter__submit{right:10px;width:40px;height:40px;min-height:40px}

/* Social icons are bare glyphs in the footer, not discs. */
.gc-footer .gc-social__link{width:24px;height:24px;background:transparent;
  border-radius:0;color:var(--gc-white);font-size:17px}
.gc-footer .gc-social__link:hover{background:transparent;color:var(--gc-global)}
.gc-footer .gc-social{gap:22px}

/* Newsletter small print is Be Vietnam Pro in the reference, not the heading face */
.gc-footer .gc-newsletter__note{font-family:var(--gc-font-body);font-weight:400;
  font-size:13px;line-height:28px;color:var(--gc-white)}

/* ==========================================================================
   Bottom band - measured: full-bleed #0d141b, 181px tall, carrying the
   #16222d wordmark so it reads as a subtle lighter shape.
   ========================================================================== */
.gc-footer__bottom{position:relative;display:block;background:#0d141b;
  min-height:181px;margin-top:86px;padding:0;border-top:0;overflow:hidden}
.gc-footer__bottom-inner{display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;position:relative;z-index:1;min-height:181px}
.gc-footer__watermark{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);
  z-index:0;color:var(--gc-secondary)}

/* Contact values: the email reads full white, address and phone at 80% */
.gc-footer .gc-footer__contact-value{color:rgba(var(--gc-white-rgb),.8)}
.gc-footer .gc-footer__contact-item:first-child .gc-footer__contact-value{
  color:var(--gc-white)}
.gc-footer a.gc-footer__contact-value:hover{color:var(--gc-global)}

@media (max-width:767px){
  .gc-footer__bottom,.gc-footer__bottom-inner{min-height:0}
  .gc-footer__bottom-inner{flex-direction:column;text-align:center;padding:34px 0}
}

/* Vertical rhythm from the reference: label at +110 from the footer top,
   contact row 63 after the columns, band 29 after the contact values. */
.gc-footer .gc-footer__contact{margin-top:30px;padding-top:33px}
.gc-footer .gc-footer__bottom{margin-top:29px}

/* Final rhythm: contact label at +449, band at +575, footer 756 tall */
.gc-footer .gc-footer__contact{margin-top:6px}
.gc-footer .gc-footer__bottom{margin-top:70px}

/* Reference leaves 40px between the eyebrow and the headline */
.gc-footer__cta-label{margin-bottom:12px}
