/* Cryo Footer */
.ct-ftr { font-family: var(--ct-font); color: #dbe6ee; }
.ct-ftr *, .ct-ftr *::before, .ct-ftr *::after { box-sizing: border-box; }
.ct-ftr a { color: inherit; text-decoration: none; }
/* same content width as the page sections (the 1400px container), with a small margin on narrow screens */
.ct-ftr__wrap { width: min(var(--ct-container, 1400px), calc(100% - 2 * var(--ct-gutter, 15px))); max-width: none; margin: 0 auto; padding: 0; }

/* brand strip */
.ct-ftr__brands { overflow: hidden; background: #fff; border-top: 1px solid rgba(14, 169, 208, .35); border-bottom: 1px solid rgba(14, 169, 208, .2); padding: 35px 0; }
.ct-ftr__track { display: flex; width: max-content; animation: ct-ftr-run 40s linear infinite; }
.ct-ftr__set { display: flex; align-items: center; flex: none; gap: 130px; padding-right: 130px; }
.ct-ftr__brand { display: block; flex: none; line-height: 0; }
.ct-ftr__brand img { display: block; width: 220px; height: auto; max-height: 70px; object-fit: contain; }
@keyframes ct-ftr-run { to { transform: translateX(-50%); } }
.ct-ftr__brands:hover .ct-ftr__track { animation-play-state: paused; }

/* main */
.ct-ftr__main { position: relative; overflow: hidden; background: linear-gradient(180deg, #0b3d52 0%, #08303f 100%); padding: 70px 0 34px; }
.ct-ftr__main::before { content: ""; position: absolute; left: -160px; top: -200px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgba(14, 169, 208, .22), rgba(14, 169, 208, 0) 68%); pointer-events: none; }
.ct-ftr__main > .ct-ftr__wrap { position: relative; }
.ct-ftr__top { display: grid; grid-template-columns: minmax(0, 1.7fr) repeat(3, minmax(0, 1fr)); gap: 30px clamp(24px, 3.4vw, 56px); align-items: start; }

/* newsletter: a call-out band across the top of the footer */
.ct-ftr__news { order: -1; grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); grid-template-areas: "h f" "t f" "m f" "s f"; align-content: center; column-gap: 48px; margin-bottom: 26px; padding: clamp(26px, 3.4vw, 42px) clamp(24px, 4vw, 56px); border-radius: 22px; background: linear-gradient(120deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .04)); border: 1px solid rgba(255, 255, 255, .16); box-shadow: 0 30px 60px -40px rgba(0, 0, 0, .6); }
.ct-ftr .ct-ftr__nh { grid-area: h; align-self: end; margin: 0 0 8px; font-family: var(--ct-font-title); font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; line-height: 1.15; text-transform: none; color: #fff; }
.ct-ftr__nt { grid-area: t; margin: 0; font-size: 15.5px; line-height: 1.6; color: #b9cdd9; }
.ct-ftr__form { grid-area: f; align-self: center; display: flex; align-items: stretch; height: 56px; padding: 5px; border-radius: 999px; background: #fff; }
.ct-ftr .ct-ftr__form input[type="email"] { flex: 1; min-width: 0; height: 46px; min-height: 46px; padding: 0 20px; border: 0 !important; border-radius: 999px !important; -webkit-appearance: none; appearance: none; background: transparent !important; font-family: var(--ct-font); font-size: 15px; color: #0b3d52; outline: none; box-shadow: none; }
.ct-ftr .ct-ftr__form input[type="email"]:focus { border: 0 !important; outline: 0 !important; box-shadow: none !important; }
.ct-ftr .ct-ftr__form:focus-within { box-shadow: 0 0 0 3px rgba(143, 211, 244, .55); }
.ct-ftr .ct-ftr__form input[type="email"]::placeholder { color: #7a8d99; opacity: 1; }
.ct-ftr .ct-ftr__form button { flex: none; padding: 0 28px; border: 0; border-radius: 999px; background: var(--ct-primary); color: #fff; font-family: var(--ct-font); font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background-color .2s, transform .2s; }
.ct-ftr .ct-ftr__form button:hover { background: var(--ct-dark); color: #fff; }
.ct-ftr .ct-ftr__form button[disabled] { opacity: .7; cursor: default; }
.ct-ftr__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ct-ftr__msg { grid-area: m; margin: 12px 0 0; font-size: 14px; color: #fff; }
.ct-ftr__msg.is-error { color: #ffb4a8; }
.ct-ftr__small { grid-area: s; margin: 12px 0 0; font-size: 12.5px; color: #8fa9b8; }
.ct-ftr .ct-ftr__small a { color: #b9cdd9; text-decoration: underline; text-underline-offset: 2px; }
.ct-ftr .ct-ftr__small a:hover { color: #fff; }

/* brand column */
.ct-ftr__brandcol { padding-right: clamp(0px, 3vw, 50px); }
.ct-ftr__logo { display: inline-block; width: min(270px, 100%); line-height: 0; }
.ct-ftr__logo img { width: 100%; height: auto; }
.ct-ftr__tag { margin: 22px 0 22px; max-width: 340px; font-size: 15px; line-height: 1.65; color: #b9cdd9; }
.ct-ftr__contact { margin: 0 0 24px; font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; line-height: 1.5; color: #8fa9b8; }
.ct-ftr .ct-ftr__contact a { display: inline-flex; align-items: center; margin-top: 8px; padding: 10px 18px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #fff; transition: background-color .2s, border-color .2s; }
.ct-ftr .ct-ftr__contact a:hover { border-color: var(--ct-sky); background: rgba(14, 169, 208, .16); }
.ct-ftr__social { display: flex; flex-wrap: wrap; gap: 10px; }
.ct-ftr .ct-ftr__social a { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; transition: background-color .2s, transform .2s; }
.ct-ftr .ct-ftr__social a:hover { background: var(--ct-sky); color: #fff; transform: translateY(-3px); }
.ct-ftr__social svg { width: 17px; height: 17px; fill: currentColor; }

/* link columns */
.ct-ftr .ct-ftr__h { position: relative; margin: 6px 0 22px; padding: 0; font-family: var(--ct-font); font-size: 12.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.ct-ftr__h::after { content: ""; display: block; width: 28px; height: 2px; margin-top: 12px; background: var(--ct-sky); }
.ct-ftr__list { margin: 0; padding: 0; list-style: none; }
.ct-ftr__list li { margin: 0 0 12px; }
.ct-ftr .ct-ftr__list a { display: inline-block; font-size: 14.5px; color: #b9cdd9; transition: color .2s, transform .2s; }
.ct-ftr .ct-ftr__list a:hover { color: #fff; transform: translateX(5px); }

/* statement */
.ct-ftr__fca { display: flex; align-items: center; gap: 28px; margin-top: 54px; padding: 20px 28px; border-radius: 16px; background: rgba(0, 0, 0, .18); }
.ct-ftr__fca img { flex: none; width: 96px; height: auto; }
.ct-ftr__fca p { margin: 0; flex: 1; font-size: 13px; line-height: 1.7; color: #9fb5c3; text-align: left; }

/* bottom bar */
.ct-ftr__bottom { background: #062a38; border-top: 1px solid rgba(255, 255, 255, .08); padding: 20px 0; }
.ct-ftr__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px 16px; flex-wrap: wrap; }
.ct-ftr__copy { margin: 0; font-size: 13.5px; color: #8fa9b8; }
.ct-ftr__legal { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.ct-ftr__legal li + li::before { content: ""; display: inline-block; width: 3px; height: 3px; margin: 0 14px; border-radius: 50%; background: rgba(255, 255, 255, .4); vertical-align: middle; }
.ct-ftr .ct-ftr__legal a { font-size: 13px; color: #b9cdd9; }
.ct-ftr .ct-ftr__legal a:hover { text-decoration: underline; color: #fff; }

@media (max-width: 1100px) {
	.ct-ftr__top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ct-ftr__brandcol { grid-column: 1 / -1; padding-right: 0; }
}
@media (max-width: 860px) {
	.ct-ftr__news { grid-template-columns: 1fr; grid-template-areas: "h" "t" "f" "m" "s"; }
	.ct-ftr__form { margin-top: 20px; }
}
@media (max-width: 767px) {
	.ct-ftr__main { padding: 44px 0 24px; }
	.ct-ftr__top { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
	.ct-ftr__col:nth-of-type(2) { grid-column: 1; }
	.ct-ftr__news { margin-bottom: 8px; padding: 26px 20px; border-radius: 18px; }
	.ct-ftr__form { height: 52px; }
	.ct-ftr .ct-ftr__form button { padding: 0 20px; }
	.ct-ftr__fca { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 36px; padding: 20px; }
	.ct-ftr__set { gap: 70px; padding-right: 70px; }
	.ct-ftr__brand img { width: 150px; }
	.ct-ftr__bar { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .ct-ftr__track { animation: none; } }

