/* Compact campaign rails: three distinct treatments, one shared interaction. */
.gt-campaign {
  --campaign-bg: #16183a;
  --campaign-ink: #fff;
  --campaign-muted: rgba(255,255,255,.72);
  --campaign-card: rgba(255,255,255,.09);
  --campaign-line: rgba(255,255,255,.16);
  position: relative;
  padding: 30px 0 26px;
  color: var(--campaign-ink);
  background: var(--campaign-bg);
  overflow: hidden;
}
.gt-campaign::before { content:""; position:absolute; width:260px; height:260px; border-radius:50%; right:7%; top:-170px; background:var(--gt-gold); opacity:.18; filter:blur(2px); }
.gt-campaign-talent { --campaign-bg:#2e3192; --campaign-card:rgba(255,255,255,.12); }
.gt-campaign-growth { --campaign-bg:#f4d56f; --campaign-ink:#16183a; --campaign-muted:rgba(22,24,58,.7); --campaign-card:rgba(255,255,255,.46); --campaign-line:rgba(22,24,58,.13); }
.gt-campaign-growth::before { background:#4f7dfd; opacity:.2; }
.gt-campaign-head { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:20px; }
.gt-campaign-label { margin-bottom:5px; color:var(--gt-gold-light); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.gt-campaign-growth .gt-campaign-label { color:#2e3192; }
.gt-campaign-head h2 { max-width:720px; font-size:clamp(20px,2.2vw,30px); line-height:1.1; letter-spacing:-.035em; }
.gt-campaign-all { flex:none; color:var(--campaign-ink); font-size:13px; font-weight:650; border-bottom:1px solid var(--campaign-line); padding-bottom:4px; }
.gt-campaign-all span { display:inline-block; margin-left:5px; transition:transform .2s ease; }
.gt-campaign-all:hover span { transform:translate(3px,-3px); }
.gt-campaign-viewport { position:relative; z-index:1; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.gt-campaign-track { display:flex; width:max-content; animation:gt-campaign-move 48s linear infinite; }
.gt-campaign-track-reverse { animation-direction:reverse; animation-duration:54s; }
.gt-campaign-set { display:flex; gap:10px; padding-right:10px; }
.gt-campaign-card { display:grid; grid-template-columns:42px minmax(190px,245px) 24px; align-items:center; gap:12px; min-height:82px; padding:12px 14px; color:var(--campaign-ink); background:var(--campaign-card); border:1px solid var(--campaign-line); border-radius:9px; transition:transform .25s ease,background .25s ease; }
.gt-campaign-card:hover { transform:translateY(-3px); background:rgba(255,255,255,.17); }
.gt-campaign-growth .gt-campaign-card:hover { background:rgba(255,255,255,.72); }
.gt-campaign-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:8px; color:var(--gt-gold-light); background:rgba(255,255,255,.1); }
.gt-campaign-growth .gt-campaign-icon { color:#2e3192; background:rgba(46,49,146,.09); }
.gt-campaign-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.gt-campaign-copy { min-width:0; display:flex; flex-direction:column; }
.gt-campaign-copy strong { font-size:14px; line-height:1.25; }
.gt-campaign-copy small { margin-top:3px; color:var(--campaign-muted); font-size:11px; line-height:1.35; }
.gt-campaign-arrow { font-size:18px; opacity:.6; transition:transform .2s ease; }
.gt-campaign-card:hover .gt-campaign-arrow { transform:translateX(3px); opacity:1; }
.gt-campaign-track:hover { animation-play-state:paused; }
@keyframes gt-campaign-move { to { transform:translateX(-50%); } }

/* Dedicated inquiry destination. */
.gt-inquiry-page { min-height:100svh; padding:calc(var(--gt-nav-h) + 42px) 0 64px; background:linear-gradient(135deg,#f7f8ff 0%,#fff 48%,#fff7da 100%); }
.gt-inquiry-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(440px,520px); gap:clamp(38px,6vw,82px); align-items:start; }
.gt-inquiry-copy { position:sticky; top:calc(var(--gt-nav-h) + 26px); padding-top:24px; }
.gt-inquiry-copy h1 { max-width:590px; margin:10px 0 16px; color:var(--gt-blue-900); font-size:clamp(38px,4.5vw,62px); line-height:1; letter-spacing:-.052em; }
.gt-inquiry-copy > p:not(.gt-eyebrow) { max-width:520px; color:var(--gt-gray-600); font-size:15px; line-height:1.6; }
.gt-inquiry-promises { display:grid; gap:0; margin-top:28px; border-top:1px solid var(--gt-blue-100); }
.gt-inquiry-promises span { display:flex; gap:12px; padding:10px 0; border-bottom:1px solid var(--gt-blue-100); color:var(--gt-blue-900); font-size:12px; }
.gt-inquiry-promises strong { color:var(--gt-blue-500); }
.gt-inquiry-form-card { padding:clamp(22px,3vw,34px); color:var(--gt-blue-900); background:linear-gradient(180deg,var(--gt-gold-bright) 0%,var(--gt-gold) 55%,#c49a3a 100%); border:0; border-radius:8px; box-shadow:0 22px 60px rgba(22,24,58,.16); }
.gt-inquiry-form-kicker { color:var(--gt-indigo); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.gt-inquiry-form-card h2 { margin:4px 0 20px; font-size:clamp(24px,2.5vw,32px); letter-spacing:-.04em; }
.gt-inquiry-field { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.gt-inquiry-field label,.gt-inquiry-field legend { color:var(--gt-blue-900); font-size:12px; font-style:normal; font-weight:600; }
.gt-inquiry-field label em { opacity:.55; font-style:normal; font-weight:400; }
.gt-inquiry-field input,.gt-inquiry-field textarea { width:100%; padding:10px 12px; color:var(--gt-blue-900); background:#fff; border:2px solid var(--gt-indigo); border-radius:6px; font:inherit; font-size:14px; outline:none; resize:vertical; }
.gt-inquiry-field input::placeholder,.gt-inquiry-field textarea::placeholder { color:#7b7e9a; }
.gt-inquiry-field input:focus,.gt-inquiry-field textarea:focus { background:#fff; border-color:var(--gt-indigo); box-shadow:0 0 0 3px rgba(46,49,146,.1); }
.gt-inquiry-options { display:flex; flex-wrap:wrap; gap:6px; }
.gt-inquiry-options label { cursor:pointer; }
.gt-inquiry-options input { position:absolute; opacity:0; pointer-events:none; }
.gt-inquiry-options span { display:flex; align-items:center; min-height:0; padding:6px 9px; color:var(--gt-blue-900); background:rgba(22,24,58,.1); border:1px solid rgba(22,24,58,.16); border-radius:999px; font-size:10px; font-weight:500; line-height:1.2; white-space:nowrap; transition:.2s ease; }
.gt-inquiry-options label:hover span,.gt-inquiry-options input:checked + span { color:#fff; background:var(--gt-indigo); border-color:var(--gt-indigo); }
.gt-inquiry-options input:focus-visible + span { outline:2px solid var(--gt-indigo); outline-offset:2px; }
.gt-inquiry-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.gt-inquiry-submit { display:flex; align-items:center; justify-content:space-between; width:100%; padding:12px 14px; color:#fff; background:var(--gt-indigo); border:0; border-radius:6px; font:inherit; font-size:13px; font-weight:700; cursor:pointer; box-shadow:0 10px 24px rgba(46,49,146,.2); transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.gt-inquiry-submit:hover { transform:translateY(-2px); background:var(--gt-blue-900); box-shadow:0 14px 30px rgba(22,24,58,.25); }
.gt-inquiry-privacy { margin-top:12px; color:rgba(22,24,58,.7); font-size:11px; text-align:center; }
.gt-inquiry-honeypot { position:absolute!important; left:-10000px!important; }
.gt-inquiry-success { min-height:80svh; padding-top:calc(var(--gt-nav-h) + 100px); text-align:center; }
.gt-inquiry-success-mark { display:grid; place-items:center; width:64px; height:64px; margin:0 auto 22px; border-radius:50%; color:#fff; background:var(--gt-indigo); font-size:28px; }
.gt-inquiry-success h1 { max-width:760px; margin:10px auto 14px; color:var(--gt-blue-900); font-size:clamp(38px,6vw,72px); line-height:1; letter-spacing:-.05em; }
.gt-inquiry-success > p:not(.gt-eyebrow) { color:var(--gt-gray-600); }
.gt-inquiry-success > div:last-child { display:flex; justify-content:center; gap:10px; margin-top:28px; }

@media (min-width:1000px) {
  .gt-inquiry-page { padding:calc(var(--gt-nav-h) + 58px) 0 84px; }
  .gt-inquiry-shell { max-width:1320px; grid-template-columns:minmax(320px,.8fr) minmax(560px,1.2fr); gap:clamp(54px,6vw,92px); }
  .gt-inquiry-copy { padding-top:42px; }
  .gt-inquiry-copy h1 { margin-top:14px; font-size:clamp(48px,4.4vw,68px); }
  .gt-inquiry-copy > p:not(.gt-eyebrow) { margin-top:20px; font-size:16px; line-height:1.72; }
  .gt-inquiry-promises { margin-top:38px; }
  .gt-inquiry-promises span { gap:16px; padding:14px 0; font-size:13px; }
  .gt-inquiry-form-card { padding:clamp(38px,3.5vw,52px); border-radius:8px; box-shadow:0 28px 80px rgba(22,24,58,.2); }
  .gt-inquiry-form-card h2 { margin:8px 0 30px; font-size:clamp(32px,2.7vw,40px); }
  .gt-inquiry-field { gap:9px; margin-bottom:20px; }
  .gt-inquiry-field label,.gt-inquiry-field legend { font-size:13px; }
  .gt-inquiry-field input,.gt-inquiry-field textarea { padding:14px 16px; border-radius:6px; font-size:15px; }
  .gt-inquiry-field input { min-height:52px; }
  .gt-inquiry-field textarea { min-height:140px; }
  .gt-inquiry-options { gap:9px; }
  .gt-inquiry-options span { min-height:36px; padding:8px 13px; font-size:12px; }
  .gt-inquiry-grid { gap:16px; }
  .gt-inquiry-submit { min-height:54px; padding:15px 18px; border-radius:6px; font-size:15px; }
  .gt-inquiry-privacy { margin-top:16px; font-size:12px; }
}

@media (max-width:768px) {
  .gt-campaign { padding:24px 0 20px; }
  .gt-campaign-head { align-items:start; margin-bottom:16px; }
  .gt-campaign-all { display:none; }
  .gt-campaign-head h2 { max-width:340px; font-size:22px; }
  .gt-campaign-viewport { overflow-x:auto; padding:0 16px 5px; scrollbar-width:none; mask-image:none; scroll-snap-type:x mandatory; }
  .gt-campaign-viewport::-webkit-scrollbar { display:none; }
  .gt-campaign-track,.gt-campaign-track-reverse { animation:none; }
  .gt-campaign-set { display:contents; }
  .gt-campaign-set[aria-hidden="true"] { display:none; }
  .gt-campaign-card { grid-template-columns:40px minmax(0,1fr) 20px; flex:0 0 min(84vw,330px); width:min(84vw,330px); scroll-snap-align:center; }
  .gt-inquiry-page { padding:calc(var(--gt-nav-h) + 24px) 0 46px; }
  .gt-inquiry-shell { grid-template-columns:1fr; gap:24px; }
  .gt-inquiry-copy { position:static; padding-top:10px; }
  .gt-inquiry-copy h1 { font-size:clamp(38px,12vw,54px); }
  .gt-inquiry-promises { margin-top:25px; }
  .gt-inquiry-form-card { margin-inline:0; padding:22px 16px; }
  .gt-inquiry-grid { grid-template-columns:1fr; }
  .gt-inquiry-options span { padding:6px 8px; font-size:9.5px; white-space:normal; }
  .gt-inquiry-success { padding-top:calc(var(--gt-nav-h) + 70px); }
  .gt-inquiry-success > div:last-child { flex-direction:column; align-items:stretch; }
}
@media (prefers-reduced-motion:reduce) { .gt-campaign-track { animation:none; } .gt-campaign-viewport { overflow-x:auto; } }

/* Eight independent promotion patterns distributed through the homepage. */
.gt-promo { --p-bg:#2e3192; --p-fg:#fff; --p-soft:rgba(255,255,255,.72); position:relative; z-index:3; width:100%; max-width:100%; color:var(--p-fg); font-weight:300; overflow:hidden; }
.gt-promo-inner { position:relative; z-index:1; min-width:0; padding-top:clamp(22px,3vw,34px); padding-bottom:clamp(22px,3vw,34px); }
.gt-promo-label { margin-bottom:13px; color:inherit; font-size:10px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; opacity:.7; }
.gt-promo-items { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.gt-promo-item { position:relative; display:grid; grid-template-columns:42px minmax(0,1fr) 24px; gap:13px; align-items:center; min-width:0; color:inherit; overflow:hidden; }
.gt-promo-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid currentColor; border-radius:50%; opacity:.8; }
.gt-promo-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.gt-promo-copy { display:flex; flex-direction:column; min-width:0; }
.gt-promo-copy strong { overflow-wrap:anywhere; font-size:clamp(15px,1.4vw,19px); font-weight:400; letter-spacing:-.025em; line-height:1.15; }
.gt-promo-copy small { margin-top:5px; color:var(--p-soft); overflow-wrap:anywhere; font-size:11px; font-weight:300; line-height:1.4; }
.gt-promo-go { justify-self:end; font-size:17px; font-weight:300; transition:transform .25s ease; }
.gt-promo-item:hover .gt-promo-go { transform:translate(3px,-3px); }
.gt-js .gt-promo:not(.is-visible) .gt-promo-item { opacity:0; transform:translateY(14px); }
.gt-promo .gt-promo-item { transition:opacity .5s ease,transform .5s ease,background .25s ease,color .25s ease,filter .35s ease,box-shadow .35s ease; }
.gt-promo.is-visible .gt-promo-item:nth-child(2) { transition-delay:.08s; }
.gt-promo.is-visible .gt-promo-item:nth-child(3) { transition-delay:.16s; }
.gt-promo-item::after { content:""; position:absolute; z-index:0; inset:-60% auto -60% -35%; width:24%; pointer-events:none; opacity:0; transform:translateX(0) rotate(18deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent); }
.gt-promo-item > * { position:relative; z-index:1; }
.gt-promo.is-in-view .gt-promo-item.is-live::after { animation:gt-promo-light-pass 1.05s ease-out; }
.gt-promo.is-in-view .gt-promo-item.is-live .gt-promo-icon { animation:gt-promo-icon-beat .7s ease-out; }
@keyframes gt-promo-light-pass { 0% { left:-35%; opacity:0; } 20% { opacity:1; } 100% { left:120%; opacity:0; } }
@keyframes gt-promo-icon-beat { 0%,100% { transform:scale(1); } 45% { transform:scale(1.12) rotate(-4deg); } }

/* 1 — a decisive, full-width navy announcement. */
.gt-promo-bold { background:#16183a; }
.gt-promo-bold .gt-promo-inner { display:grid; grid-template-columns:150px 1fr; align-items:center; }
.gt-promo-bold .gt-promo-label { margin:0; color:#f4d56f; }
.gt-promo-bold .gt-promo-item { padding:12px 22px; border-left:1px solid rgba(255,255,255,.15); }
.gt-promo-bold .gt-promo-item.is-live { background:rgba(255,255,255,.07); }

/* 2 — three independent brand blocks with intentionally uneven widths. */
.gt-promo-split { background:#fff; color:#16183a; }
.gt-promo-split .gt-promo-items { grid-template-columns:1.25fr .8fr .95fr; gap:10px; }
.gt-promo-split .gt-promo-item { min-height:128px; padding:22px; background:#2e3192; color:#fff; border-radius:7px; }
.gt-promo-split .gt-promo-item:nth-child(2) { background:#4f52cf; }
.gt-promo-split .gt-promo-item:nth-child(3) { background:#f4d56f; color:#16183a; --p-soft:rgba(22,24,58,.67); }
.gt-promo-split .gt-promo-item.is-live { transform:translateY(-5px); box-shadow:0 18px 36px rgba(22,24,58,.19); }

/* 3 — airy cloud-like prompts, not a containing banner. */
.gt-promo-cloud { padding:35px 0; background:#fff; color:#16183a; overflow:visible; }
.gt-promo-cloud .gt-promo-inner { position:relative; min-height:230px; padding-block:0; }
.gt-promo-cloud .gt-promo-label { position:absolute; left:50%; top:50%; width:190px; margin:0; text-align:center; transform:translate(-50%,-50%); color:#2e3192; opacity:1; }
.gt-promo-cloud .gt-promo-items { display:block; }
.gt-promo-cloud .gt-promo-item { position:absolute; width:min(310px,28vw); padding:17px 19px; background:#eef0ff; border-radius:60px; box-shadow:0 16px 40px rgba(22,24,58,.08); }
.gt-promo-cloud .gt-promo-item:nth-child(1) { left:0; top:0; }
.gt-promo-cloud .gt-promo-item:nth-child(2) { right:2%; top:38px; background:#fff4c7; }
.gt-promo-cloud .gt-promo-item:nth-child(3) { left:18%; bottom:0; background:#2e3192; color:#fff; }
.gt-promo-cloud .gt-promo-copy small { display:none; }
.gt-promo-cloud.is-in-view .gt-promo-item:nth-child(1) { animation:gt-cloud-drift-a 4.8s ease-in-out infinite; }
.gt-promo-cloud.is-in-view .gt-promo-item:nth-child(2) { animation:gt-cloud-drift-b 5.4s .4s ease-in-out infinite; }
.gt-promo-cloud.is-in-view .gt-promo-item:nth-child(3) { animation:gt-cloud-drift-a 5.1s .8s ease-in-out infinite reverse; }
@keyframes gt-cloud-drift-a { 0%,100% { translate:0 0; } 50% { translate:0 -7px; } }
@keyframes gt-cloud-drift-b { 0%,100% { translate:0 0; } 50% { translate:7px 4px; } }

/* 4 — compact side-stack interrupting the normal horizontal rhythm. */
.gt-promo-stack { background:#f5f6ff; color:#16183a; }
.gt-promo-stack::after { content:""; position:absolute; z-index:0; inset:0 0 0 auto; width:44%; background:#16183a; }
.gt-promo-stack .gt-promo-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.72fr); gap:clamp(34px,5vw,60px); align-items:center; }
.gt-promo-stack .gt-promo-label { max-width:420px; margin:0; font-size:clamp(25px,3vw,42px); font-weight:300; letter-spacing:-.045em; line-height:1.05; text-transform:none; opacity:1; }
.gt-promo-stack .gt-promo-items { grid-template-columns:1fr; gap:1px; }
.gt-promo-stack .gt-promo-item { width:100%; max-width:100%; padding:14px clamp(18px,2vw,26px); color:#fff; border-bottom:1px solid rgba(255,255,255,.15); }
.gt-promo-stack .gt-promo-item::before { content:""; position:absolute; left:0; bottom:0; width:100%; height:2px; transform:scaleX(0); transform-origin:left; background:#f4d56f; transition:transform .6s ease; }
.gt-promo-stack .gt-promo-item.is-live::before { transform:scaleX(1); }
.gt-promo-stack .gt-promo-item.is-live .gt-promo-go { transform:translate(3px,-3px); color:#f4d56f; }

/* 5 — one-at-a-time slider; JS changes the active card. */
.gt-promo-slider { background:#4f52cf; }
.gt-promo-slider .gt-promo-inner { display:grid; grid-template-columns:170px 1fr 70px; align-items:center; min-height:150px; }
.gt-promo-slider .gt-promo-label { margin:0; color:#f4d56f; }
.gt-promo-slider .gt-promo-items { display:block; position:relative; min-height:82px; }
.gt-promo-slider .gt-promo-item { position:absolute; inset:0; padding:10px 26px; opacity:0; pointer-events:none; transform:translateX(22px); }
.gt-promo-slider .gt-promo-item.is-active { opacity:1; pointer-events:auto; transform:none; }
.gt-promo-slider .gt-promo-item.is-active .gt-promo-copy { animation:gt-promo-slide-copy .55s ease-out; }
@keyframes gt-promo-slide-copy { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
.gt-promo-slider .gt-promo-copy strong { font-size:clamp(23px,3vw,42px); font-weight:300; }
.gt-promo-dots { display:flex; justify-content:end; gap:6px; }
.gt-promo-dots i { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.35); }
.gt-promo-dots i.is-active { width:20px; border-radius:5px; background:#f4d56f; }

/* 6 — isolated editorial tiles. */
.gt-promo-tiles { background:#fff; color:#16183a; }
.gt-promo-tiles .gt-promo-label { color:#2e3192; }
.gt-promo-tiles .gt-promo-items { gap:clamp(20px,5vw,70px); }
.gt-promo-tiles .gt-promo-item { display:flex; flex-direction:column; align-items:flex-start; min-height:190px; padding:24px 0; border-top:3px solid #2e3192; }
.gt-promo-tiles .gt-promo-item:nth-child(2) { margin-top:34px; border-color:#4f52cf; }
.gt-promo-tiles .gt-promo-item:nth-child(3) { margin-top:68px; border-color:#d8b15c; }
.gt-promo-tiles .gt-promo-go { margin-top:auto; align-self:flex-end; }
.gt-promo-tiles .gt-promo-item { border-top-color:transparent; }
.gt-promo-tiles .gt-promo-item::before { content:""; position:absolute; left:0; top:0; width:100%; height:3px; transform:scaleX(.12); transform-origin:left; background:#2e3192; transition:transform .75s ease; }
.gt-promo-tiles .gt-promo-item:nth-child(2)::before { background:#4f52cf; }
.gt-promo-tiles .gt-promo-item:nth-child(3)::before { background:#d8b15c; }
.gt-promo-tiles .gt-promo-item.is-live::before { transform:scaleX(1); }

/* 7 — three cards orbit a quiet central statement. */
.gt-promo-orbit { background:#f7f3e4; color:#16183a; }
.gt-promo-orbit .gt-promo-inner { min-height:320px; position:relative; display:grid; place-items:center; }
.gt-promo-orbit .gt-promo-label { max-width:230px; margin:0; color:#2e3192; font-size:clamp(24px,3vw,38px); font-weight:300; letter-spacing:-.04em; line-height:1.05; text-align:center; text-transform:none; opacity:1; }
.gt-promo-orbit .gt-promo-items { position:absolute; inset:24px 16px; display:block; }
.gt-promo-orbit .gt-promo-item { position:absolute; width:290px; padding:14px 17px; background:#fff; border:1px solid rgba(22,24,58,.1); border-radius:8px; box-shadow:0 12px 34px rgba(22,24,58,.07); }
.gt-promo-orbit .gt-promo-item:nth-child(1) { left:0; top:0; }
.gt-promo-orbit .gt-promo-item:nth-child(2) { right:0; top:35%; }
.gt-promo-orbit .gt-promo-item:nth-child(3) { left:8%; bottom:0; }
.gt-promo-orbit.is-in-view .gt-promo-item:nth-child(1) { animation:gt-orbit-card 5.6s ease-in-out infinite; }
.gt-promo-orbit.is-in-view .gt-promo-item:nth-child(2) { animation:gt-orbit-card 6.2s .7s ease-in-out infinite reverse; }
.gt-promo-orbit.is-in-view .gt-promo-item:nth-child(3) { animation:gt-orbit-card 5.9s 1.1s ease-in-out infinite; }
@keyframes gt-orbit-card { 0%,100% { translate:0 0; } 50% { translate:5px -6px; } }

/* 8 — rises slightly above the footer as a final, dismissible-feeling prompt. */
.gt-promo-footer { margin:0; padding:40px 0 0; background:#fff; color:#16183a; overflow:hidden; }
.gt-promo-footer .gt-promo-inner { position:relative; margin-bottom:0; padding:0 20px; }
.gt-promo-footer .gt-promo-label { position:absolute; z-index:2; top:18px; left:42px; color:#f4d56f; }
.gt-promo-footer .gt-promo-items { gap:0; overflow:hidden; border-radius:9px; box-shadow:0 24px 60px rgba(22,24,58,.18); }
.gt-promo-footer .gt-promo-item { min-height:126px; padding:42px 24px 20px; color:#fff; background:#16183a; }
.gt-promo-footer .gt-promo-item:nth-child(2) { background:#2e3192; }
.gt-promo-footer .gt-promo-item:nth-child(3) { color:#16183a; background:#f4d56f; --p-soft:rgba(22,24,58,.65); }
.gt-promo-footer .gt-promo-item.is-live { filter:brightness(1.09); }
.gt-promo-footer-gap { display:block; width:100%; height:56px; background:#fff; }

@media (max-width:1050px) {
  .gt-promo-bold .gt-promo-inner { grid-template-columns:120px minmax(0,1fr); }
  .gt-promo-bold .gt-promo-item { grid-template-columns:36px minmax(0,1fr) 18px; gap:9px; padding-inline:13px; }
  .gt-promo-bold .gt-promo-icon { width:36px; height:36px; }
  .gt-promo-split .gt-promo-items { grid-template-columns:1fr 1fr; }
  .gt-promo-split .gt-promo-item:last-child { grid-column:1 / -1; }
  .gt-promo-cloud .gt-promo-inner { min-height:0; }
  .gt-promo-cloud .gt-promo-label { position:static; width:auto; margin-bottom:16px; text-align:left; transform:none; }
  .gt-promo-cloud .gt-promo-items { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .gt-promo-cloud .gt-promo-item { position:static; width:100%; border-radius:9px; }
  .gt-promo-stack { color:#fff; background:#16183a; }
  .gt-promo-stack::after { display:none; }
  .gt-promo-stack .gt-promo-inner { grid-template-columns:minmax(190px,.65fr) minmax(0,1fr); gap:28px; }
  .gt-promo-stack .gt-promo-label { color:#f4d56f; font-size:clamp(24px,4vw,34px); }
  .gt-promo-orbit .gt-promo-inner { min-height:0; display:block; }
  .gt-promo-orbit .gt-promo-label { max-width:none; margin-bottom:18px; text-align:left; }
  .gt-promo-orbit .gt-promo-items { position:static; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .gt-promo-orbit .gt-promo-item { position:static; width:100%; }
}

@media (max-width:768px) {
  .gt-promo-items,.gt-promo-split .gt-promo-items { grid-template-columns:1fr; }
  .gt-promo-bold .gt-promo-inner,.gt-promo-stack .gt-promo-inner,.gt-promo-slider .gt-promo-inner { display:block; }
  .gt-promo-bold .gt-promo-label,.gt-promo-stack .gt-promo-label,.gt-promo-slider .gt-promo-label { margin-bottom:14px; }
  .gt-promo-bold .gt-promo-item { padding:14px 0; border-left:0; border-top:1px solid rgba(255,255,255,.15); }
  .gt-promo-split .gt-promo-item { min-height:108px; }
  .gt-promo-cloud { padding:26px 0; }
  .gt-promo-cloud .gt-promo-inner { min-height:0; }
  .gt-promo-cloud .gt-promo-label { position:static; width:auto; margin-bottom:16px; text-align:left; transform:none; }
  .gt-promo-cloud .gt-promo-items { display:grid; grid-template-columns:1fr; gap:9px; }
  .gt-promo-cloud .gt-promo-item { position:static; width:100%; }
  .gt-promo-stack { background:#16183a; color:#fff; }
  .gt-promo-stack::after { display:none; }
  .gt-promo-stack .gt-promo-label { color:#f4d56f; font-size:25px; }
  .gt-promo-slider .gt-promo-items { min-height:108px; }
  .gt-promo-slider .gt-promo-item { padding:10px 0; }
  .gt-promo-slider .gt-promo-copy strong { font-size:27px; }
  .gt-promo-dots { justify-content:flex-start; margin-top:12px; }
  .gt-promo-tiles .gt-promo-items { gap:0; }
  .gt-promo-tiles .gt-promo-item,.gt-promo-tiles .gt-promo-item:nth-child(2),.gt-promo-tiles .gt-promo-item:nth-child(3) { min-height:140px; margin-top:0; }
  .gt-promo-orbit .gt-promo-inner { min-height:0; display:block; }
  .gt-promo-orbit .gt-promo-label { max-width:none; margin-bottom:18px; text-align:left; }
  .gt-promo-orbit .gt-promo-items { position:static; display:grid; grid-template-columns:1fr; gap:9px; }
  .gt-promo-orbit .gt-promo-item { position:static; width:100%; }
  .gt-promo-footer { padding:28px 0 0; }
  .gt-promo-footer .gt-promo-inner { margin-bottom:0; padding-inline:16px; }
  .gt-promo-footer .gt-promo-label { left:36px; }
  .gt-promo-footer .gt-promo-items { grid-template-columns:1fr; }
  .gt-promo-footer .gt-promo-item { min-height:110px; }
  .gt-promo-footer-gap { height:36px; }
}
@media (prefers-reduced-motion:reduce) { .gt-js .gt-promo .gt-promo-item { opacity:1; transform:none; animation:none!important; translate:none!important; } .gt-promo-item::after,.gt-promo-item::before,.gt-promo-icon,.gt-promo-copy { animation:none!important; transition:none!important; } }

/* Typography-led motion: surfaces and icons stay calm while words carry focus. */
.gt-promo-item::before,
.gt-promo-item::after { display:none!important; }
.gt-promo.is-in-view .gt-promo-item,
.gt-promo-cloud.is-in-view .gt-promo-item,
.gt-promo-orbit.is-in-view .gt-promo-item { animation:none!important; translate:none!important; }
.gt-promo.is-in-view .gt-promo-icon { animation:none!important; transform:none!important; }
.gt-promo-bold .gt-promo-item.is-live { background:transparent; }
.gt-promo-split .gt-promo-item.is-live { transform:none; box-shadow:none; }
.gt-promo-stack .gt-promo-item.is-live .gt-promo-go { color:inherit; transform:none; }
.gt-promo-footer .gt-promo-item.is-live { filter:none; }
.gt-promo-item.is-live .gt-promo-copy strong { animation:gt-promo-text-reveal .62s cubic-bezier(.2,.75,.2,1) both; }
.gt-promo-item.is-live .gt-promo-copy small { animation:gt-promo-sub-reveal .62s .09s ease-out both; }
.gt-promo-item.is-live .gt-promo-go { animation:gt-promo-arrow-reveal .5s .15s ease-out both; }
.gt-promo.is-in-view .gt-promo-label { animation:gt-promo-label-breathe 4.5s ease-in-out infinite; }
@keyframes gt-promo-text-reveal {
  0% { opacity:0; transform:translateY(105%); clip-path:inset(0 0 100% 0); }
  100% { opacity:1; transform:none; clip-path:inset(0); }
}
@keyframes gt-promo-sub-reveal {
  0% { opacity:0; transform:translateY(7px); }
  100% { opacity:1; transform:none; }
}
@keyframes gt-promo-arrow-reveal {
  0% { opacity:0; transform:translate(-5px,5px); }
  100% { opacity:1; transform:none; }
}
@keyframes gt-promo-label-breathe {
  0%,100% { letter-spacing:.13em; opacity:.7; }
  50% { letter-spacing:.18em; opacity:1; }
}
@media (prefers-reduced-motion:reduce) {
  .gt-promo-item.is-live .gt-promo-copy strong,
  .gt-promo-item.is-live .gt-promo-copy small,
  .gt-promo-item.is-live .gt-promo-go,
  .gt-promo.is-in-view .gt-promo-label { animation:none!important; }
}
