@import url("../css/footer-designs.css");
/* Footer: Sign-off. A giant link line, a hairline, then one row: brand, menu, social words, fine print.
   Colors and fonts come from Branding (footer background, headings, copy, links). */
.cc-footer-signoff { padding: clamp(72px, 9vw, 150px) 0 0 !important; overflow-x: clip; }
.cc-footer-signoff .cc-so-big { display: inline-flex; align-items: center; gap: .32em; margin: 0 0 clamp(48px, 6vw, 96px); max-width: 100%;
	font-family: var(--font-headlines, var(--font-titles)); font-size: clamp(4.4rem, 9.4vw, 15rem) !important; line-height: .98 !important; letter-spacing: -.035em;
	color: var(--color-footer-headings) !important; text-decoration: none; text-transform: var(--title-transform); text-wrap: balance; }
.cc-footer-signoff a.cc-so-big:hover, .cc-footer-signoff a.cc-so-big:focus-visible { color: var(--color-footer-headings) !important; }
.cc-so-big-text { min-width: 0; overflow-wrap: anywhere; }
.cc-so-arrow { flex: none; width: .78em; height: auto; color: var(--cc-so-accent); }
@media (prefers-reduced-motion: no-preference) {
	.cc-so-arrow { transition: transform .45s cubic-bezier(.22, 1, .36, 1); }
	a.cc-so-big:hover .cc-so-arrow, a.cc-so-big:focus-visible .cc-so-arrow { transform: translateX(.16em); }
}
.cc-so-row { border-top: 1px solid color-mix(in srgb, var(--color-footer-copy) 22%, transparent); padding: 34px 0 40px; display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) auto; grid-template-areas: "brand menu social" "fine fine fine"; gap: 28px clamp(24px, 4vw, 64px); align-items: start; }
.cc-so-brand { grid-area: brand; }
.cc-so-menu { grid-area: menu; justify-self: end; }
.cc-so-social { grid-area: social; }
.cc-so-fine { grid-area: fine; display: flex; flex-wrap: wrap; gap: 6px 28px; }
.cc-footer .cc-so-name { font-family: var(--font-titles-footer, var(--font-titles)); font-size: 20px; line-height: 1.2; color: var(--color-footer-headings); }
.cc-footer .cc-so-logo { margin: 0; }
.cc-footer .cc-so-logo img { max-height: 40px; }
.cc-footer p.cc-so-line { margin-top: 6px; font-size: 14px !important; opacity: .7; }
.cc-so-menu-list, .cc-so-social { list-style: none; margin: 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 26px; }
.cc-so-menu-list li, .cc-so-social li { float: none !important; margin: 0 !important; padding: 0 !important; font-size: 15px !important; }
.cc-footer .cc-so-menu-list a, .cc-footer .cc-so-social a { color: var(--color-footer-headings); }
.cc-footer .cc-so-menu-list a:hover, .cc-footer .cc-so-social a:hover { color: var(--color-footer-link-hover); }
.cc-footer .cc-so-fine p { font-size: 13px !important; opacity: .7; }
.cc-so-fine .cc-footer-fine { flex-basis: 100%; }
@media (max-width: 1000px) {
	.cc-so-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "brand social" "menu menu" "fine fine"; }
	.cc-so-menu { justify-self: start; }
}
@media (max-width: 600px) {
	.cc-footer-signoff .cc-so-big { font-size: clamp(3.6rem, 12.5vw, 6rem) !important; }
	.cc-so-row { grid-template-columns: 1fr; grid-template-areas: "brand" "menu" "social" "fine"; }
}
