.caltec-shadcn-navigation #main-footer { display: none !important; }

.caltec-live-footer {
	--footer-ink: #0a0d14;
	--footer-blue: #123d8f;
	--footer-red: #e30619;
	--footer-line: rgb(255 255 255 / 0.18);
	overflow: hidden;
	background: var(--footer-ink);
	color: #fff;
	font-family: Inter, "Avenir Next", "Segoe UI", sans-serif;
}

.caltec-live-footer *, .caltec-live-footer *::before, .caltec-live-footer *::after { box-sizing: border-box; }
.caltec-live-footer a { color: inherit; text-decoration: none; }

.caltec-live-footer__cta {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
	gap: clamp(48px, 8vw, 130px);
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
	padding: clamp(70px, 8vw, 112px) 0;
	background: #fff;
	box-shadow: 0 0 0 100vmax #fff;
	clip-path: inset(0 -100vmax);
	color: #0b1738;
}

.caltec-live-footer::before {
	display: block;
	width: 100%;
	height: 6px;
	background: linear-gradient(90deg, var(--footer-red) 0 32%, var(--footer-blue) 32% 100%);
	content: "";
}

.caltec-live-footer__eyebrow, .caltec-live-footer h3 {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.caltec-live-footer__eyebrow { color: var(--footer-red); }
.caltec-live-footer__cta h2 { margin: 18px 0 0; font-size: clamp(46px, 6vw, 78px); font-weight: 500; letter-spacing: -.065em; line-height: .94; }
.caltec-live-footer__cta-copy { align-self: end; }
.caltec-live-footer__cta-copy p { max-width: 470px; margin: 0 0 28px; color: #566078; font-size: 17px; line-height: 1.65; }
.caltec-live-footer__cta-copy > a, .caltec-live-footer__rule > a { display: inline-flex; gap: 22px; align-items: center; justify-content: space-between; padding: 12px 14px 12px 18px; border: 1px solid currentColor; border-radius: 999px; font-size: 13px; font-weight: 700; transition: transform 180ms ease, background 180ms ease, color 180ms ease; }
.caltec-live-footer__cta-copy > a:hover { transform: translateY(-2px); background: #0b1738; color: #fff; }

.caltec-live-footer__main {
	display: grid;
	grid-template-columns: minmax(260px, 1.35fr) .65fr .75fr 1fr;
	gap: clamp(34px, 5vw, 76px);
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
	padding: 72px 0 64px;
}

.caltec-live-footer__identity img { display: block; width: min(270px, 100%); height: auto; padding: 9px 12px; border-radius: 10px; background: #fff; }
.caltec-live-footer__identity > p { max-width: 330px; margin: 26px 0; color: rgb(255 255 255 / .6); font-size: 15px; line-height: 1.65; }
.caltec-live-footer h3 { margin: 0 0 24px; color: #9eb8f4; }
.caltec-live-footer__column { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.caltec-live-footer__column a, .caltec-live-footer__column p { margin: 0; color: rgb(255 255 255 / .72); font-size: 14px; line-height: 1.55; transition: color 160ms ease, transform 160ms ease; }
.caltec-live-footer__column a:hover { color: #fff; transform: translateX(4px); }

.caltec-live-footer__socials { display: flex; gap: 9px; }
.caltec-live-footer__socials a { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--footer-line); border-radius: 50%; transition: border-color 180ms ease, background 180ms ease, transform 260ms cubic-bezier(.2,.8,.2,1); }
.caltec-live-footer__socials a:hover { border-color: #fff; background: #fff; color: var(--footer-ink); transform: translateY(-4px) rotate(6deg); }
.caltec-live-footer__socials span { width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--caltec-social-icon) center / contain no-repeat; mask: var(--caltec-social-icon) center / contain no-repeat; }

.caltec-live-footer__rule, .caltec-live-footer__legal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
	border-top: 1px solid var(--footer-line);
}
.caltec-live-footer__rule { padding: 22px 0; color: rgb(255 255 255 / .58); font-size: 13px; }
.caltec-live-footer__rule > a { padding-block: 9px; background: #fff; color: var(--footer-ink); }
.caltec-live-footer__rule > a:hover { transform: translateY(-2px); background: var(--footer-red); color: #fff; }
.caltec-live-footer__legal { padding: 28px 0 42px; color: rgb(255 255 255 / .48); font-size: 12px; }
.caltec-live-footer__legal div { display: flex; gap: 28px; }
.caltec-live-footer__legal a:hover { color: #fff; }

.caltec-live-footer__wordmark { overflow: hidden; height: clamp(120px, 16vw, 250px); border-top: 1px solid var(--footer-line); -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%); }
.caltec-live-footer__wordmark > div { display: flex; width: max-content; height: 100%; gap: .24em; align-items: center; animation: caltec-footer-wordmark 100s linear infinite; color: rgb(255 255 255 / .25); font-size: clamp(160px, 24vw, 360px); font-weight: 600; letter-spacing: -.08em; line-height: .76; white-space: nowrap; will-change: transform; }
.caltec-live-footer__wordmark i { display: inline-flex; align-items: center; align-self: center; color: var(--footer-red); font-size: .26em; font-style: normal; line-height: 1; }

.caltec-footer-reveal { opacity: 0; transform: translateY(26px); transition: opacity 700ms ease, transform 700ms cubic-bezier(.2,.8,.2,1); }
.caltec-live-footer.is-visible .caltec-footer-reveal { opacity: 1; transform: translateY(0); }
.caltec-live-footer.is-visible .caltec-live-footer__main .caltec-footer-reveal:nth-child(2) { transition-delay: 80ms; }
.caltec-live-footer.is-visible .caltec-live-footer__main .caltec-footer-reveal:nth-child(3) { transition-delay: 140ms; }
.caltec-live-footer.is-visible .caltec-live-footer__main .caltec-footer-reveal:nth-child(4) { transition-delay: 200ms; }

@keyframes caltec-footer-wordmark {
	to { transform: translateX(calc(-50% - .12em)); }
}

@media (min-width: 621px) {
	.caltec-live-footer__wordmark { -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 15%, #000 85%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, #000 15%, #000 85%, transparent 100%); }
}

@media (min-width: 901px) {
	.caltec-live-footer__wordmark { -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 20%, #000 80%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, #000 20%, #000 80%, transparent 100%); }
}

@media (max-width: 900px) {
	.caltec-live-footer__cta { grid-template-columns: 1fr; gap: 30px; }
	.caltec-live-footer__cta-copy { align-self: start; }
	.caltec-live-footer__main { grid-template-columns: 1.3fr 1fr 1fr; }
	.caltec-live-footer__identity { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
	.caltec-live-footer__cta, .caltec-live-footer__main, .caltec-live-footer__rule, .caltec-live-footer__legal { width: calc(100% - 32px); }
	.caltec-live-footer__cta { padding: 58px 0; }
	.caltec-live-footer__cta h2 { font-size: 48px; }
	.caltec-live-footer__main { grid-template-columns: 1fr 1fr; padding: 54px 0 48px; }
	.caltec-live-footer__identity, .caltec-live-footer__contact { grid-column: 1 / -1; }
	.caltec-live-footer__rule, .caltec-live-footer__legal { align-items: flex-start; flex-direction: column; }
	.caltec-live-footer__legal div { gap: 20px; }
	.caltec-live-footer__wordmark { height: clamp(88px, 27vw, 116px); }
	.caltec-live-footer__wordmark > div { font-size: clamp(122px, 34vw, 150px); line-height: .78; }
}

@media (max-width: 400px) {
	.caltec-live-footer__cta h2 { font-size: clamp(40px, 13vw, 48px); }
	.caltec-live-footer__main { grid-template-columns: 1fr; gap: 34px; }
	.caltec-live-footer__identity, .caltec-live-footer__contact { grid-column: auto; }
	.caltec-live-footer__column { padding-bottom: 6px; }
}

@media (prefers-reduced-motion: reduce) {
	.caltec-footer-reveal { opacity: 1; transform: none; transition: none; }
	.caltec-live-footer__wordmark > div { animation: none; }
	.caltec-live-footer__socials a, .caltec-live-footer__column a, .caltec-live-footer__cta-copy > a, .caltec-live-footer__rule > a { transition: none; }
}
