/*______________________ Header + footer (US redesign, Tiermax-Ali.pptx slide 1) ______________________*/

/* ---------- Header ---------- */
.hd_contact { display: inline-block; float: right; margin: 18px 0 10px 14px; }
.hd_contact_btn {
    display: inline-flex; align-items: center; min-height: 40px; padding: 8px 20px; border-radius: 3px;
    background: #FAA91B; color: #111 !important; font-size: 14px; margin-top: -6px; font-weight: 700; line-height: 1.2; transition: background-color .2s;
}
.hd_contact_btn:hover { background: #e4950a; color: #111 !important; }

/* Home: header over the hero, solid once the page scrolls */
.tm-header-overlay #header .header_pc { background: transparent; border-bottom-color: transparent; }
.tm-header-overlay #header.is-scrolled .header_pc,
.tm-header-overlay #header.scroll_menu .header_pc { background: rgba(17,17,17,.97); border-bottom-color: #2a2a2a; }

/* ---------- Footer ---------- */
.ft { background: #111; color: #cfcfcf; font-size: 14px; }
.ft a { color: #e9e9e9; text-decoration: none; transition: color .2s; }
.ft a:hover { color: #FAA91B; }
.ft_main { position: relative; padding: 64px 0 52px; overflow: hidden; }
.ft_main::after {
    content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 26%; pointer-events: none; opacity: .75;
    background: linear-gradient(90deg, #111 0%, rgba(17,17,17,0) 35%), var(--ft-map) right center / contain no-repeat;
}
.ft_grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .8fr .8fr 1.5fr; }
.ft_grid > div { padding: 0 20px; }
.ft_grid > div + div { border-left: 1px solid #2a2a2a; }
.ft_grid > div:first-child { padding-left: 0; }
.ft_logo img { width: 150px; height: auto; }
.ft_tag { margin: 10px 0 18px !important; color: #bdbdbd; font-size: 10.5px; letter-spacing: .28em; text-transform: uppercase; }
.ft_text { color: #e4e4e4; line-height: 1.75; margin: 0 0 22px !important; max-width: 290px; }
.ft_social { list-style: none; display: flex; gap: 12px; margin: 0; padding: 0; }
.ft_social a { width: 40px; height: 40px; border-radius: 50%; background: #262626; display: flex; align-items: center; justify-content: center; color: #fff; }
.ft_social a:hover { background: #FAA91B; color: #111; }
.ft_head { position: relative; color: #fff; font-size: 16px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; margin: 0 0 26px !important; padding-bottom: 12px; }
.ft_head::after { content: ""; position: absolute; left: 0; bottom: 0; width: 32px; height: 2px; background: #FAA91B; }
.ft_links { list-style: none; margin: 0; padding: 0; }
.ft_links li { margin: 0 0 10px; }
.ft_links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 190px; color: #d8d8d8; font-size: 14px; }
.ft_chev { display: inline-flex; color: #9c9c9c; transition: transform .2s, color .2s; }
.ft_links a:hover .ft_chev { color: #FAA91B; transform: translateX(2px); }
.ft_contact ul { list-style: none; margin: 0; padding: 0; }
.ft_contact li { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; line-height: 1.6; color: #e4e4e4; }
.ft_contact li strong { color: #fff; }
.ft_icon { width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; background: #262626; color: #FAA91B; display: flex; align-items: center; justify-content: center; }
.ft_bottom { border-top: 1px solid #2a2a2a; }
.ft_bottom_inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 22px; padding-bottom: 22px; }
.ft_bottom p { margin: 0 !important; color: #e4e4e4; font-size: 13.5px; }
.ft_legal { display: flex; align-items: center; gap: 14px; margin-left: auto; font-size: 13.5px; }
.ft_legal span { color: #5a5a5a; }
.ft_top { width: 38px; height: 38px; border-radius: 50%; background: #2c2c2c; color: #fff !important; display: flex; align-items: center; justify-content: center; margin-left: 30px; }
.ft_top:hover { background: #FAA91B; color: #111 !important; }

@media (max-width: 1199px) {
    .ft_grid { grid-template-columns: 1fr 1fr; row-gap: 40px; }
    .ft_grid > div:nth-child(3) { border-left: 0; padding-left: 0; }
    .ft_grid > div:nth-child(odd) { padding-left: 0; border-left: 0; }
    .ft_main::after { width: 50%; top: auto; height: 50%; }
}
@media (max-width: 767px) {
    .ft_main { padding: 48px 0 36px; }
    .ft_grid { grid-template-columns: 1fr 1fr; }
    .ft_grid > div { padding: 0 0 0 16px; }
    .ft_brand, .ft_contact { grid-column: 1 / -1; padding-left: 0 !important; border-left: 0 !important; }
    .ft_grid > div:nth-child(2) { padding-left: 0; }
    .ft_main::after { width: 100%; height: 40%; opacity: .35; }
    .ft_bottom_inner { flex-wrap: wrap; justify-content: center; text-align: center; }
    .ft_legal { margin: 0; justify-content: center; flex-wrap: wrap; }
    .ft_top { margin-left: 0; }
}
