

html { scroll-behavior: smooth; }

/* ============================================
   RESET & VARIABLES
   ============================================ */
.tt-hdr *, .tt-hdr *::before, .tt-hdr *::after { margin: 0; padding: 0; box-sizing: border-box; }
.tt-hdr img { max-width: none !important; max-height: none !important; }
.tt-hdr {
  /* Navy Brand */
  --navy: #171717;
  --navy-d: #171717;
  --navy-l: #57513d;
  --navy-rgb: 23,23,23;

  /* Orange Accent */
  --org: #f5cf00;
  --org-d: #f5cf00;
  --org-l: #fff4b0;
  --org-rgb: 245,207,0;

  /* Metal */
  --metal: #9A9A9A;
  --metal-hi: #CFCFCF;
  --metal-dk: #4A4A4A;

  /* Neutrals */
  --white: #ffffff;
  --gray-50: #fafafa;
  --gray-100: #f4f4f5;
  --gray-200: #e4e4e7;
  --gray-300: #d4d4d8;
  --gray-400: #a1a1aa;
  --gray-500: #71717a;
  --gray-600: #52525b;
  --gray-700: #3f3f46;
  --gray-800: #27272a;
  --gray-900: #18181b;

  /* Typography */
  --fh: 'Teko', sans-serif;
  --fb: 'Outfit', sans-serif;

  font-family: var(--fb);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}

/* ============================================
   DESKTOP HEADER
   ============================================ */
.tt-hdr-desk {
  display: none;
  background: var(--white);
  border-bottom: 1px solid var(--gray-200);
  padding: 0 2rem;
  height: 5rem;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 1px 8px rgba(0,0,0,0.04);
  position: relative;
}

@media (min-width: 1024px) {
  .tt-hdr-desk { display: flex; }
}

/* Logo */
.tt-hdr-logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  flex-shrink: 0;
}

.tt-hdr-logo-img {
  height: 3.75rem !important;
  width: auto !important;
  min-height: 3.75rem !important;
  max-height: 3.75rem !important;
  display: block;
}

.tt-hdr-logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.tt-hdr-logo-name {
  font-family: var(--fh);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 1;
}

.tt-hdr-logo-tag {
  font-family: var(--fh);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--org);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-style: italic;
}

/* Nav */
.tt-hdr-nav {
  display: flex;
  align-items: center;
  gap: 0;
  height: 100%;
}

.tt-hdr-nav > a,
.tt-hdr-drop-btn {
  font-family: var(--fh);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--gray-600);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0 1rem;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
  transition: color 0.2s;
}

.tt-hdr-nav > a::after,
.tt-hdr-drop-btn::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 3px;
  background: var(--org);
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 3px 3px 0 0;
}

.tt-hdr-nav > a:hover,
.tt-hdr-drop:hover .tt-hdr-drop-btn {
  color: var(--org);
}

.tt-hdr-nav > a:hover::after,
.tt-hdr-drop:hover .tt-hdr-drop-btn::after {
  width: 70%;
}

/* ============================================
   DUMPSTERS DROPDOWN
   ============================================ */
.tt-hdr-drop {
  position: relative;
  height: 100%;
}

.tt-hdr-drop-btn {
  background: none;
  border: none;
  cursor: pointer;
  gap: 0.35rem;
}

.tt-hdr-drop-btn svg {
  width: 0.75rem;
  height: 0.75rem;
  color: var(--gray-400);
  transition: transform 0.3s ease, color 0.2s;
}

.tt-hdr-drop:hover .tt-hdr-drop-btn svg {
  transform: rotate(180deg);
  color: var(--org);
}

/* Mega panel */
.tt-hdr-mega {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  width: 520px;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 0.75rem;
  box-shadow: 0 20px 60px -15px rgba(0,0,0,0.15), 0 0 0 1px rgba(var(--org-rgb),0.05);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  z-index: 100;
  overflow: hidden;
}

.tt-hdr-drop:hover .tt-hdr-mega {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

/* Top accent bar */
.tt-hdr-mega::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--navy), var(--org), var(--navy));
  background-size: 200% 100%;
  animation: ttMegaGlow 4s ease infinite;
}

@keyframes ttMegaGlow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Mega header */
.tt-hdr-mega-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1.25rem;
  background: var(--navy);
  border-bottom: none;
}

.tt-hdr-mega-title {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--fh);
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(255,255,255,0.6);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.tt-hdr-mega-title svg {
  width: 0.875rem;
  height: 0.875rem;
  color: var(--org);
}

.tt-hdr-mega-cta {
  font-family: var(--fh);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--white);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.35rem 0.85rem;
  background: var(--org);
  border-radius: 0.3rem;
  transition: all 0.2s;
}

.tt-hdr-mega-cta:hover {
  background: var(--org-d);
}

.tt-hdr-mega-cta svg {
  width: 0.7rem;
  height: 0.7rem;
}

/* Dumpster size grid */
.tt-hdr-mega-sizes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  padding: 1.25rem;
}

.tt-hdr-mega-size {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 0.5rem;
  text-decoration: none;
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
}

.tt-hdr-mega-size::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: 100%;
  background: var(--navy);
  border-radius: 3px 0 0 3px;
  transition: all 0.25s;
}

.tt-hdr-mega-size:hover {
  background: rgba(var(--org-rgb), 0.04);
  border-color: var(--org);
  box-shadow: 0 4px 16px rgba(var(--org-rgb), 0.1);
  transform: translateY(-2px);
}

.tt-hdr-mega-size:hover::before {
  background: var(--org);
  width: 4px;
}

/* Size number badge */
.tt-hdr-mega-size-num {
  width: 48px;
  height: 48px;
  border-radius: 0.5rem;
  background: var(--navy);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.25s;
}

.tt-hdr-mega-size:hover .tt-hdr-mega-size-num {
  background: var(--org);
}

.tt-hdr-mega-size-num span {
  font-family: var(--fh);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1;
}

.tt-hdr-mega-size-info {
  flex: 1;
}

.tt-hdr-mega-size-name {
  font-family: var(--fh);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--gray-800);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  line-height: 1.1;
  transition: color 0.2s;
}

.tt-hdr-mega-size:hover .tt-hdr-mega-size-name {
  color: var(--navy);
}

.tt-hdr-mega-size-desc {
  font-size: 0.72rem;
  font-weight: 400;
  color: var(--gray-400);
  margin-top: 0.15rem;
}

.tt-hdr-mega-size-arrow {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--gray-300);
  flex-shrink: 0;
  transition: all 0.2s;
}

.tt-hdr-mega-size:hover .tt-hdr-mega-size-arrow {
  color: var(--org);
  transform: translateX(3px);
}

/* Bottom bar */
.tt-hdr-mega-foot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background: var(--navy);
  color: rgba(255,255,255,0.5);
  font-family: var(--fh);
  font-size: 0.78rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.tt-hdr-mega-foot svg {
  width: 0.875rem;
  height: 0.875rem;
  color: var(--org);
}

.tt-hdr-mega-foot a {
  color: var(--org);
  text-decoration: none;
  font-weight: 700;
  transition: color 0.2s;
}

.tt-hdr-mega-foot a:hover {
  color: var(--org-l);
}

/* ============================================
   CTA BUTTONS
   ============================================ */
/* Portal icon */
.tt-hdr-portal {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 1.5px solid var(--gray-200);
  border-radius: 50%;
  background: var(--white);
  color: var(--gray-500);
  text-decoration: none;
  transition: all 0.2s;
  flex-shrink: 0;
}

.tt-hdr-portal:hover {
  border-color: var(--navy);
  color: var(--navy);
  background: rgba(var(--navy-rgb), 0.04);
}

.tt-hdr-portal svg {
  width: 1.05rem;
  height: 1.05rem;
}

/* Mobile portal icon */
.tt-hdr-mob-portal {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border: 1.5px solid var(--gray-200);
  border-radius: 50%;
  background: var(--white);
  color: var(--gray-500);
  text-decoration: none;
  transition: all 0.2s;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}

.tt-hdr-mob-portal:hover {
  border-color: var(--navy);
  color: var(--navy);
}

.tt-hdr-mob-portal svg {
  width: 0.95rem;
  height: 0.95rem;
}

.tt-hdr-ctas {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-shrink: 0;
}

.tt-hdr-phone {
  display: none;
  align-items: center;
  gap: 0.45rem;
  padding: 0.6rem 1rem;
  border: 1.5px solid var(--gray-200);
  border-radius: 0.375rem;
  background: var(--white);
  color: var(--gray-700);
  font-family: var(--fh);
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: all 0.2s;
}

.tt-hdr-phone:hover {
  border-color: var(--org);
  color: var(--org-d);
  background: rgba(var(--org-rgb), 0.03);
}

.tt-hdr-phone svg {
  width: 1rem;
  height: 1rem;
  color: var(--org);
}

@media (min-width: 1200px) {
  .tt-hdr-phone { display: flex; }
}

.tt-hdr-book {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.7rem 1.4rem;
  background: var(--org);
  color: var(--white);
  font-family: var(--fh);
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 0.375rem;
  box-shadow: 0 2px 8px rgba(var(--org-rgb), 0.25);
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
}

.tt-hdr-book::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s ease;
}

.tt-hdr-book:hover::before {
  left: 100%;
}

.tt-hdr-book:hover {
  background: var(--org-d);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(var(--org-rgb), 0.35);
  color: var(--white);
}

.tt-hdr-book svg {
  width: 0.875rem;
  height: 0.875rem;
}

/* ============================================
   MOBILE HEADER
   ============================================ */
.tt-hdr-mob {
  display: block;
}

@media (min-width: 1024px) {
  .tt-hdr-mob { display: none; }
}

.tt-hdr-mob-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
  background: var(--white);
  border-bottom: 1px solid var(--gray-200);
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

.tt-hdr-mob-logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
}

.tt-hdr-mob-logo-img {
  height: 3rem !important;
  width: auto !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  display: block;
}

.tt-hdr-mob-logo-name {
  font-family: var(--fh);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--navy);
  text-transform: uppercase;
  line-height: 1;
}

.tt-hdr-mob-logo-tag {
  font-family: var(--fh);
  font-size: 0.62rem;
  font-weight: 500;
  color: var(--org);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-style: italic;
}

.tt-hdr-hamburger {
  padding: 0.45rem;
  color: var(--navy);
  background: var(--gray-50);
  border: 1.5px solid var(--gray-200);
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.2s;
  -webkit-tap-highlight-color: transparent;
}

.tt-hdr-hamburger:hover {
  background: rgba(var(--org-rgb), 0.06);
  border-color: var(--org);
  color: var(--org);
}

.tt-hdr-hamburger svg {
  width: 1.375rem;
  height: 1.375rem;
  display: block;
}

/* ============================================
   OVERLAY
   ============================================ */
.tt-hdr-overlay {
  position: fixed;
  inset: 0;
  background: rgba(9,27,47,0.5);
  backdrop-filter: blur(4px);
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}

.tt-hdr-overlay.open {
  opacity: 1;
  visibility: visible;
}

/* ============================================
   MOBILE DRAWER
   ============================================ */
.tt-hdr-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 92%;
  max-width: 380px;
  background: var(--white);
  z-index: 9999;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.tt-hdr-drawer.open {
  transform: translateX(0);
}

/* Drawer header */
.tt-hdr-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 1.15rem;
  background: var(--navy);
  flex-shrink: 0;
}

.tt-hdr-drawer-logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.tt-hdr-drawer-logo-img {
  height: 2.5rem !important;
  width: auto !important;
  min-height: 2.5rem !important;
  max-height: 2.5rem !important;
  display: block;
}

.tt-hdr-drawer-logo-name {
  font-family: var(--fh);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--white);
  text-transform: uppercase;
  line-height: 1;
}

.tt-hdr-drawer-logo-tag {
  font-family: var(--fh);
  font-size: 0.6rem;
  font-weight: 500;
  color: var(--org);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-style: italic;
}

.tt-hdr-drawer-close {
  padding: 0.4rem;
  color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.2s;
}

.tt-hdr-drawer-close:hover {
  background: rgba(255,255,255,0.15);
  color: var(--white);
}

.tt-hdr-drawer-close svg {
  width: 1.125rem;
  height: 1.125rem;
  display: block;
}

/* Drawer nav links */
.tt-hdr-drawer-nav {
  padding: 0.5rem 1.15rem;
  border-bottom: 1px solid var(--gray-100);
  flex-shrink: 0;
}

.tt-hdr-drawer-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 0.15rem;
  font-family: var(--fh);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--gray-700);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid var(--gray-100);
  transition: all 0.2s;
}

.tt-hdr-drawer-link:last-child {
  border-bottom: none;
}

.tt-hdr-drawer-link:hover {
  color: var(--org);
  padding-left: 0.4rem;
}

.tt-hdr-drawer-link svg {
  width: 0.8rem;
  height: 0.8rem;
  color: var(--gray-300);
  transition: all 0.2s;
}

.tt-hdr-drawer-link:hover svg {
  color: var(--org);
  transform: translateX(3px);
}

/* Drawer dumpster section */
.tt-hdr-drawer-section {
  padding: 1.15rem;
  flex: 1;
}

.tt-hdr-drawer-stitle {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--fh);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--gray-400);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--gray-100);
}

.tt-hdr-drawer-stitle svg {
  width: 0.8125rem;
  height: 0.8125rem;
  color: var(--org);
}

/* Drawer dumpster grid */
.tt-hdr-drawer-sizes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}

.tt-hdr-drawer-size {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem;
  text-decoration: none;
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  border-radius: 0.5rem;
  transition: all 0.2s;
}

.tt-hdr-drawer-size:hover {
  background: rgba(var(--org-rgb), 0.04);
  border-color: var(--org);
}

.tt-hdr-drawer-size-badge {
  width: 38px;
  height: 38px;
  border-radius: 0.4rem;
  background: var(--navy);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s;
}

.tt-hdr-drawer-size:hover .tt-hdr-drawer-size-badge {
  background: var(--org);
}

.tt-hdr-drawer-size-badge span {
  font-family: var(--fh);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1;
}

.tt-hdr-drawer-size-name {
  font-family: var(--fh);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--gray-700);
  text-transform: uppercase;
}

.tt-hdr-drawer-size-sub {
  font-size: 0.62rem;
  font-weight: 400;
  color: var(--gray-400);
}

/* Drawer service area strip */
.tt-hdr-drawer-areas {
  margin-top: 1rem;
}

.tt-hdr-drawer-area-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.tt-hdr-drawer-chip {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--fh);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--gray-600);
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  padding: 0.4rem 0.7rem;
  border-radius: 2rem;
  transition: all 0.2s;
}

.tt-hdr-drawer-chip::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--org);
  flex-shrink: 0;
}

/* Drawer bottom CTA */
.tt-hdr-drawer-cta {
  padding: 1.15rem;
  background: var(--gray-50);
  border-top: 1px solid var(--gray-200);
  flex-shrink: 0;
}

.tt-hdr-drawer-cta a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.85rem;
  font-family: var(--fh);
  font-weight: 700;
  text-decoration: none;
  margin-bottom: 0.45rem;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 0.375rem;
  transition: all 0.2s;
}

.tt-hdr-drawer-cta a:last-child {
  margin-bottom: 0;
}

.tt-hdr-drawer-cta a svg {
  width: 0.875rem;
  height: 0.875rem;
}

.tt-hdr-drawer-cta-book {
  background: var(--org);
  color: var(--white);
  box-shadow: 0 2px 8px rgba(var(--org-rgb), 0.2);
}

.tt-hdr-drawer-cta-book:hover {
  background: var(--org-d);
}

.tt-hdr-drawer-cta-call {
  background: var(--navy);
  color: var(--white);
  border: 1.5px solid var(--navy);
}

.tt-hdr-drawer-cta-call:hover {
  background: var(--navy-d);
}

/* ============================================
   MOBILE STICKY BOTTOM BAR
   ============================================ */
.tt-mob-sticky {
  display: none !important;
}

@media (max-width: 1023px) {
  .tt-mob-sticky {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9998 !important;
    transform: translateY(100%);
    opacity: 0;
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
    box-shadow: 0 -6px 30px rgba(0,0,0,0.25) !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  .tt-mob-sticky.visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .tt-mob-sticky a {
    flex: 1 !important;
    padding: 1rem 0.5rem !important;
    font-family: 'Teko', var(--fh), sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.4rem !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    -webkit-tap-highlight-color: transparent;
  }

  .tt-mob-sticky a svg {
    width: 1rem !important;
    height: 1rem !important;
    flex-shrink: 0;
  }

  .tt-mob-sticky-book {
    background: #f5cf00 !important;
    color: #ffffff !important;
  }

  .tt-mob-sticky-call {
    background: #171717 !important;
    color: #ffffff !important;
    border-left: 1px solid rgba(255,255,255,0.1) !important;
  }
}

/* ============================================
   BODY PADDING
   ============================================ */
body {
  padding-top: 5rem;
}

@media (max-width: 1023px) {
  body {
    padding-top: 4.25rem;
  }
}


/* GP RESET */
.site-content .content-area,.site-content .entry-content,.inside-article,.site-main{max-width:100%!important;padding:0!important;margin:0!important}
.entry-header,.entry-meta,.post-navigation,.entry-footer{display:none!important}



/* ====== DESIGN TOKENS ====== */
.tt {
  --navy: #171717;
  --navy-d: #171717;
  --navy-l: #57513d;
  --navy-rgb: 23,23,23;
  --org: #f5cf00;
  --org-d: #f5cf00;
  --org-l: #fff4b0;
  --org-rgb: 245,207,0;

  --dk-bg: #171717;
  --dk-card: #171717;
  --dk-border: rgba(255,255,255,0.07);
  --dk-text: #C8CDD4;

  --lt-bg: #FFFFFF;
  --lt-bg2: #F5F6F8;
  --lt-border: #E2E5EA;
  --lt-text: #4A5568;
  --lt-head: #171717;

  --fh: 'Teko', sans-serif;
  --fb: 'Outfit', sans-serif;
  --h1: clamp(3.75rem, 8vw, 6rem);
  --h2: clamp(2.25rem, 4.5vw, 3.5rem);
  --h3: clamp(1.3rem, 2vw, 1.7rem);
  --body: 1.05rem;
  --spy: clamp(4.5rem, 7vw, 7rem);
  --max: 1280px;
  --rad: 1rem;
  --gap: 2rem;

  font-family: var(--fb);
  font-size: var(--body);
  color: var(--lt-text);
  line-height: 1.6;
  background: var(--lt-bg);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.tt *,.tt *::before,.tt *::after{box-sizing:border-box;margin:0;padding:0}
.tt img{max-width:100%;height:auto;display:block}
.tt a{color:inherit;text-decoration:none}
.tt ul{list-style:none}
.tt .w{max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,3vw,2.5rem)}

/* TYPOGRAPHY */
.tt h1{font-family:var(--fh);font-size:var(--h1);font-weight:700;text-transform:uppercase;line-height:0.92;letter-spacing:-0.02em}
.tt h2{font-family:var(--fh);font-size:var(--h2);font-weight:700;text-transform:uppercase;line-height:1.05;margin-bottom:1rem}
.tt h3{font-family:var(--fh);font-size:var(--h3);font-weight:600;text-transform:uppercase;line-height:1.15;margin-bottom:0.5rem}
.tt .tag{font-family:var(--fh);font-size:1.15rem;font-weight:500;font-style:italic;color:var(--org);text-transform:uppercase;letter-spacing:0.15em;margin-bottom:0.5rem;display:block}

/* BUTTONS */
.tt .b{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.95rem 2.25rem;font-family:var(--fh);font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;border-radius:0.5rem;border:2px solid transparent;cursor:pointer;transition:all 0.25s ease;line-height:1}
.tt .b-org{background:var(--org);color:#fff;border-color:var(--org)}
.tt .b-org:hover{background:var(--org-d);border-color:var(--org-d);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--org-rgb),0.3)}
.tt .b-wht{background:#fff;color:var(--navy);border-color:#fff;font-weight:700}
.tt .b-wht:hover{background:#f0f0f0;transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,255,255,0.2)}
.tt .b-out{background:transparent;color:#fff;border-color:rgba(255,255,255,0.35)}
.tt .b-out:hover{border-color:#fff;background:rgba(255,255,255,0.08);transform:translateY(-2px)}
.tt .b-out-dk{background:transparent;color:var(--navy);border-color:var(--navy)}
.tt .b-out-dk:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.tt .b-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.tt .b-navy:hover{background:var(--navy-d);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--navy-rgb),0.25)}
.tt .b-lg{padding:1.1rem 2.75rem;font-size:1.2rem}
.tt .b-sm{padding:0.7rem 1.5rem;font-size:0.95rem}
@media(max-width:640px){
  .tt .b-lg{padding:0.85rem 1.75rem;font-size:1rem}
  .tt .b-sm{padding:0.6rem 1.25rem;font-size:0.85rem}
}

/* SCROLL REVEAL */
.tt .rv{opacity:0;transform:translateY(25px);transition:opacity 0.6s ease,transform 0.6s ease}
.tt .rv.v{opacity:1;transform:translateY(0)}
.tt .rg .rv:nth-child(1){transition-delay:0s}
.tt .rg .rv:nth-child(2){transition-delay:0.12s}
.tt .rg .rv:nth-child(3){transition-delay:0.24s}
.tt .rg .rv:nth-child(4){transition-delay:0.36s}

/* S1: HERO */
.tt .hero{position:relative;min-height:94vh;display:flex;align-items:center;overflow:hidden;background:var(--dk-bg)}
.tt .hero-bg{position:absolute;inset:0;z-index:1}
.tt .hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(0.35);transform:scale(1.02);animation:kburn 22s ease-in-out infinite alternate}
@keyframes kburn{0%{transform:scale(1.02)}100%{transform:scale(1.08)}}
.tt .hero-ov{position:absolute;inset:0;z-index:2;background:linear-gradient(to right,rgba(11,16,24,0.93) 0%,rgba(11,16,24,0.75) 45%,rgba(11,16,24,0.45) 100%),linear-gradient(to top,rgba(11,16,24,0.95) 0%,transparent 30%)}
.tt .hero-glow{position:absolute;top:-12%;left:-6%;width:500px;height:500px;background:radial-gradient(circle,rgba(var(--org-rgb),0.07) 0%,transparent 70%);pointer-events:none;z-index:3;animation:gpulse 8s ease-in-out infinite}
@keyframes gpulse{0%,100%{opacity:0.5;transform:translate(0,0)}50%{opacity:1;transform:translate(12px,12px)}}
.tt .hero-in{position:relative;z-index:4;display:grid;grid-template-columns:55% 45%;gap:2rem;align-items:center;width:100%;max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,3vw,2.5rem);padding-top:2rem}
.tt .hero h1{color:#fff;margin-bottom:1.25rem;opacity:0;transform:translateY(30px)}
.tt .hero h1.on{animation:fu 0.7s ease forwards 0.3s}
.tt .hero h1 .acc{color:var(--org);position:relative;display:inline-block}
.tt .hero h1 .acc::after{content:'';position:absolute;bottom:3px;left:0;width:0;height:5px;background:var(--org);border-radius:3px;animation:uline 0.7s ease forwards 1.2s}
@keyframes uline{to{width:100%}}
.tt .hero-tag{font-family:var(--fh);font-size:1.1rem;font-weight:500;font-style:italic;color:var(--org);text-transform:uppercase;letter-spacing:0.15em;margin-bottom:0.75rem;opacity:0;transform:translateY(20px)}
.tt .hero-tag.on{animation:fu 0.6s ease forwards 0.15s}
.tt .hero-sub{font-size:1.2rem;color:var(--dk-text);max-width:480px;line-height:1.65;margin-bottom:2rem;opacity:0;transform:translateY(20px)}
.tt .hero-sub.on{animation:fu 0.6s ease forwards 0.5s}
.tt .hero-ctas{display:flex;flex-wrap:wrap;gap:1rem;opacity:0;transform:translateY(20px)}
.tt .hero-ctas.on{animation:fu 0.6s ease forwards 0.65s}
@keyframes fu{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
.tt .hero-mascot{display:flex;justify-content:center;align-items:flex-end;opacity:0;transform:translateY(30px)}
.tt .hero-mascot.on{animation:fu 0.9s ease forwards 0.6s}
.tt .hero-mascot img{max-height:500px;width:auto;filter:drop-shadow(0 16px 40px rgba(0,0,0,0.4))}

@media(max-width:960px){
  .tt .hero{min-height:auto;padding:2rem 0}
  .tt .hero-in{grid-template-columns:1fr;text-align:center;padding-top:5rem}
  .tt .hero-sub{max-width:100%;margin-left:auto;margin-right:auto}
  .tt .hero-ctas{justify-content:center}
  .tt .hero-mascot img{max-height:320px;margin:0 auto}
}
@media(max-width:640px){
  .tt .hero-ctas{flex-direction:column}
  .tt .hero-ctas .b{width:100%}
  .tt .hero-mascot img{max-height:260px}
  .tt .hero-bg img{animation:none;transform:scale(1.05);filter:brightness(0.45)}
  .tt .hero-ov{background:linear-gradient(to bottom,rgba(11,16,24,0.7) 0%,rgba(11,16,24,0.55) 50%,rgba(11,16,24,0.8) 100%)}
  .tt .hero-glow{width:280px;height:280px}
  .tt .hero h1{font-size:clamp(2.8rem,10vw,3.5rem);letter-spacing:-0.03em}
  .tt .hero-tag{font-size:0.78rem;letter-spacing:0.22em;font-weight:600}
}

/* S2: CTA STRIP */
.tt .strip{background:var(--org);padding:clamp(2.5rem,4vw,3.5rem) 0;position:relative;overflow:hidden}
.tt .strip::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--org-d) 0%,var(--org) 40%,var(--org) 60%,var(--org-d) 100%);pointer-events:none}
.tt .strip::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent,transparent 10px,rgba(255,255,255,0.03) 10px,rgba(255,255,255,0.03) 11px);pointer-events:none}
.tt .strip .w{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.75rem}
.tt .strip h2{color:#fff;font-size:clamp(1.6rem,3.5vw,2.5rem);margin:0;text-shadow:0 2px 8px rgba(0,0,0,0.15)}
.tt .strip-sub{font-family:var(--fb);font-size:clamp(0.9rem,1.5vw,1.05rem);color:rgba(255,255,255,0.8);margin:0}
.tt .strip-ph{font-family:var(--fh);font-size:clamp(2.25rem,5vw,3.5rem);font-weight:700;color:#fff;text-decoration:none;letter-spacing:-0.02em;transition:all 0.3s;text-shadow:0 2px 8px rgba(0,0,0,0.15)}
.tt .strip-ph:hover{transform:scale(1.03);text-shadow:0 4px 16px rgba(0,0,0,0.25)}
.tt .strip-ctas{display:flex;gap:1rem;margin-top:0.5rem}
.tt .strip .b-wht{background:#fff;color:var(--org-d);border-color:#fff;font-size:1rem;padding:1rem 2.5rem;font-weight:700;box-shadow:0 4px 16px rgba(0,0,0,0.12)}
.tt .strip .b-wht:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,0.2)}
@media(max-width:640px){
  .tt .strip-ctas{flex-direction:column;width:100%;max-width:320px;margin-left:auto;margin-right:auto}
  .tt .strip-ctas .b{width:100%;text-align:center}
  .tt .strip .b-wht{padding:0.85rem 1.75rem;font-size:0.95rem}
  .tt .strip-ph{font-size:clamp(1.8rem,5vw,2.5rem)}
}

/* S3: DOT / TRUST */
.tt .dot-sec{background:var(--lt-bg);padding:4rem 0;border-top:4px solid var(--org);border-bottom:1px solid var(--lt-border)}
.tt .dot-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.tt .dot-left .tag{color:var(--org);font-size:1rem;letter-spacing:0.2em;margin-bottom:1.5rem}
.tt .dot-logos{display:flex;gap:1.5rem;align-items:center;margin-bottom:2rem}
.tt .dot-logos img{height:80px;width:auto;opacity:0.9}
.tt .dot-left p{color:var(--lt-text);line-height:1.7;max-width:480px}
.tt .dot-right{text-align:right}
.tt .dot-label{font-family:var(--fh);font-size:1rem;font-weight:600;color:var(--org);text-transform:uppercase;letter-spacing:0.2em;margin-bottom:0.5rem}
.tt .dot-number{font-family:var(--fh);font-weight:700;line-height:1;margin-bottom:0.5rem}
.tt .dot-number .pre{font-size:clamp(2.5rem,5vw,4.5rem);color:var(--org)}
.tt .dot-number .num{font-size:clamp(2.5rem,5vw,4.5rem);color:var(--lt-head)}
.tt .dot-sub{font-family:var(--fb);font-size:0.95rem;color:var(--lt-text);font-style:italic;margin-bottom:2rem}
.tt .dot-badges{display:flex;gap:1.75rem;justify-content:flex-end}
.tt .dot-badge{display:flex;align-items:center;gap:0.6rem}
.tt .dot-badge-icon{width:36px;height:36px;border-radius:50%;border:2px solid var(--lt-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tt .dot-badge-icon svg{width:16px;height:16px;color:var(--org)}
.tt .dot-badge-text{font-size:0.85rem;font-weight:600;color:var(--lt-head);line-height:1.3}
@media(max-width:960px){.tt .dot-grid{grid-template-columns:1fr;gap:2.5rem}.tt .dot-right{text-align:center}.tt .dot-badges{justify-content:center;flex-wrap:wrap}.tt .dot-left{text-align:center}.tt .dot-left p{margin-left:auto;margin-right:auto}.tt .dot-logos{justify-content:center}}

/* S4: WHY US â€” ELEVATED */
.tt .dk-sec{background:var(--dk-bg);color:var(--dk-text)}
.tt .dk-sec h2,.tt .dk-sec h3{color:#fff}
.tt .lt-sec{background:var(--lt-bg2)}
.tt .wh-sec{background:var(--lt-bg)}
.tt .sec{padding:var(--spy) 0;position:relative;overflow:hidden}
.tt .why4{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:560px}

/* Image side */
.tt .why4-img{position:relative;overflow:hidden}
.tt .why4-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 6s ease}
.tt .why4-img:hover img{transform:scale(1.03)}
.tt .why4-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,16,24,0.4) 0%,rgba(11,16,24,0.15) 50%,rgba(11,16,24,0.5) 100%);pointer-events:none}

/* Stats bar on image */
.tt .why4-stats{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;background:rgba(11,16,24,0.85);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,0.08)}
.tt .why4-stat{flex:1;text-align:center;padding:1.25rem 0.5rem;position:relative}
.tt .why4-stat:not(:last-child)::after{content:'';position:absolute;top:20%;right:0;width:1px;height:60%;background:rgba(255,255,255,0.08)}
.tt .why4-stat-val{font-family:var(--fh);font-size:1.6rem;font-weight:700;color:var(--org);line-height:1}
.tt .why4-stat-lbl{font-family:var(--fh);font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.4);margin-top:0.3rem}

/* Content side */
.tt .why4-content{background:var(--dk-bg);padding:clamp(2.5rem,5vw,4rem) clamp(2rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center}
.tt .why4-content .tag{margin-bottom:0.5rem}
.tt .why4-content h2{color:#fff;margin-bottom:1.75rem;font-size:clamp(2rem,3.5vw,2.75rem)}

/* Feature items â€” clean numbered list */
.tt .why4-list{display:flex;flex-direction:column;gap:0}
.tt .why4-item{display:grid;grid-template-columns:48px 1fr;gap:1rem;align-items:center;padding:1.25rem 0;border-bottom:1px solid var(--dk-border);transition:all 0.3s}
.tt .why4-item:first-child{border-top:1px solid var(--dk-border)}
.tt .why4-item:hover{padding-left:0.5rem}

.tt .why4-num{width:42px;height:42px;border-radius:50%;border:2px solid rgba(var(--org-rgb),0.3);display:flex;align-items:center;justify-content:center;transition:all 0.3s}
.tt .why4-num svg{width:20px;height:20px;color:var(--org);stroke-width:2;fill:none}
.tt .why4-item:hover .why4-num{background:var(--org);border-color:var(--org)}
.tt .why4-item:hover .why4-num svg{color:#fff}

.tt .why4-item h3{font-size:1.15rem;color:#fff;margin-bottom:0.15rem;transition:color 0.3s}
.tt .why4-item:hover h3{color:var(--org)}
.tt .why4-item p{font-size:0.88rem;color:var(--dk-text);margin:0;line-height:1.5}
.tt .why4-item p a{color:var(--org)}

.tt .why4-cta{margin-top:2rem;display:flex;gap:0.75rem}

@media(max-width:960px){
  .tt .why4{grid-template-columns:1fr;min-height:auto}
  .tt .why4-img{height:420px}
  .tt .why4-content{padding:2.5rem 1.5rem}
}
@media(max-width:640px){
  .tt .why4-img{height:360px}
  .tt .why4-img img{object-position:center 60%}
  .tt .why4-stat-val{font-size:1rem}
  .tt .why4-stat-lbl{font-size:0.6rem}
  .tt .why4-item{grid-template-columns:40px 1fr;gap:0.75rem;padding:1rem 0}
  .tt .why4-num{width:36px;height:36px}
  .tt .why4-num svg{width:17px;height:17px}
  .tt .why4-cta{flex-direction:column}
  .tt .why4-cta .b{width:100%;text-align:center}
}

/* S5: WHO WE SERVE â€” CONTRACTOR-FOCUSED */
.tt .serve-head{text-align:center;max-width:620px;margin:0 auto 3rem}
.tt .serve-head h2{color:var(--lt-head)}
.tt .serve-head p{color:var(--lt-text);font-size:1rem}

/* Two primary cards */
.tt .serve-top{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}
.tt .serve-card{position:relative;border-radius:var(--rad);overflow:hidden;height:420px;cursor:default}
.tt .serve-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s ease}
.tt .serve-card:hover img{transform:scale(1.04)}
.tt .serve-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.92) 0%,rgba(0,0,0,0.7) 40%,rgba(0,0,0,0.2) 70%,rgba(0,0,0,0.1) 100%);pointer-events:none;transition:background 0.4s}
.tt .serve-card:hover::after{background:linear-gradient(to top,rgba(0,0,0,0.95) 0%,rgba(0,0,0,0.75) 45%,rgba(0,0,0,0.25) 75%,rgba(0,0,0,0.15) 100%)}
.tt .serve-badge{position:absolute;top:1.25rem;left:1.25rem;z-index:3;font-family:var(--fh);font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:#fff;background:var(--org);padding:0.4rem 1rem;border-radius:2rem}
.tt .serve-content{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.75rem;z-index:3}
.tt .serve-bar{width:32px;height:3px;background:var(--org);margin-bottom:0.75rem;transition:width 0.4s}
.tt .serve-card:hover .serve-bar{width:56px}
.tt .serve-content h3{font-family:var(--fh);font-size:1.6rem;font-weight:700;color:#fff;text-transform:uppercase;margin-bottom:0.5rem;line-height:1.15}
.tt .serve-content p{font-size:0.95rem;color:rgba(255,255,255,0.9);line-height:1.6;margin-bottom:1rem;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,0.5)}
.tt .serve-tags{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:1.25rem}
.tt .serve-tag{font-family:var(--fh);font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:rgba(255,255,255,0.8);background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);padding:0.3rem 0.7rem;border-radius:2rem}
.tt .serve-card:hover .serve-tag{border-color:rgba(255,255,255,0.3);background:rgba(255,255,255,0.12)}
.tt .serve-ctas{display:flex;gap:0.5rem}
.tt .serve-ctas .b{font-size:0.9rem;padding:0.65rem 1.25rem}

/* Secondary contractor types strip */
.tt .serve-also{background:var(--lt-bg);border:1px solid var(--lt-border);border-radius:var(--rad);padding:1.75rem 2rem}
.tt .serve-also-label{font-family:var(--fh);font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:var(--lt-text);margin-bottom:1rem;text-align:center}
.tt .serve-also-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:0.65rem}
.tt .serve-chip{display:flex;align-items:center;gap:0.4rem;font-family:var(--fh);font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--lt-head);background:var(--lt-bg2);border:1px solid var(--lt-border);padding:0.5rem 1rem;border-radius:0.5rem;transition:all 0.25s}
.tt .serve-chip:hover{border-color:var(--org);color:var(--org);background:rgba(var(--org-rgb),0.04);transform:translateY(-2px)}
.tt .serve-chip svg{width:16px;height:16px;color:var(--org);flex-shrink:0}

@media(max-width:960px){.tt .serve-top{grid-template-columns:1fr}.tt .serve-card{height:380px}}
@media(max-width:640px){
  .tt .serve-card{height:280px}
  .tt .serve-content{padding:1.25rem}
  .tt .serve-content h3{font-size:1.3rem;margin-bottom:0.5rem}
  .tt .serve-content p{display:none}
  .tt .serve-tags{display:none}
  .tt .serve-ctas .b{font-size:0.8rem;padding:0.55rem 1rem}
  .tt .serve-also{padding:1.25rem}
  .tt .serve-also-label{font-size:0.75rem;margin-bottom:0.75rem}
  .tt .serve-also-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}
  .tt .serve-chip{font-size:0.68rem;padding:0.45rem 0.6rem;justify-content:center;text-align:center}
  .tt .serve-chip svg{width:14px;height:14px}
}

/* S6: HOW IT WORKS â€” IMAGE-DRIVEN STEPS */
.tt .how-head{text-align:center;margin-bottom:3.5rem}
.tt .how-head p{color:var(--dk-text);font-size:1.05rem;max-width:500px;margin:0 auto}
.tt .how-steps{display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto}

/* Each step card */
.tt .how-step{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--rad);overflow:hidden;border:1px solid var(--dk-border);background:rgba(255,255,255,0.03);transition:all 0.4s;position:relative}
.tt .how-step:hover{border-color:rgba(255,255,255,0.1);box-shadow:0 16px 48px rgba(0,0,0,0.3);transform:translateY(-3px)}
.tt .how-step:nth-child(even){direction:rtl}
.tt .how-step:nth-child(even) > *{direction:ltr}

/* Image side */
.tt .how-step-img{position:relative;overflow:hidden;min-height:300px}
.tt .how-step-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 5s ease}
.tt .how-step:hover .how-step-img img{transform:scale(1.05)}
.tt .how-step-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(9,27,47,0.3) 0%,rgba(9,27,47,0.1) 50%,rgba(9,27,47,0.25) 100%);pointer-events:none}

/* Step number overlay on image */
.tt .how-step-num{position:absolute;top:1.25rem;left:1.25rem;z-index:2;width:52px;height:52px;border-radius:50%;background:var(--org);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,0.3),0 0 0 5px rgba(var(--org-rgb),0.2);font-family:var(--fh);font-size:1.5rem;font-weight:700;color:#fff}
.tt .how-step:nth-child(even) .how-step-num{left:auto;right:1.25rem}

/* Content side */
.tt .how-step-body{padding:clamp(2rem,3vw,2.75rem);display:flex;flex-direction:column;justify-content:center}
.tt .how-step-body h3{font-size:1.5rem;margin-bottom:0.6rem;color:#fff}
.tt .how-step-body p{font-size:0.95rem;color:var(--dk-text);line-height:1.7;margin-bottom:1.25rem}
.tt .how-step-body p a{color:var(--org);text-decoration:none}
.tt .how-step-body p a:hover{text-decoration:underline}

/* Feature chips inside cards */
.tt .how-chips{display:flex;flex-wrap:wrap;gap:0.5rem}
.tt .how-chip{display:flex;align-items:center;gap:0.4rem;font-family:var(--fh);font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:rgba(255,255,255,0.6);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);padding:0.4rem 0.8rem;border-radius:2rem;transition:all 0.25s}
.tt .how-chip svg{width:13px;height:13px;stroke:var(--org);fill:none;stroke-width:2}
.tt .how-step:hover .how-chip{border-color:rgba(var(--org-rgb),0.2);color:rgba(255,255,255,0.8)}

/* Orange accent bar */
.tt .how-step-bar{width:40px;height:3px;background:var(--org);border-radius:2px;margin-bottom:1rem;transition:width 0.4s}
.tt .how-step:hover .how-step-bar{width:64px}

/* Mascot watermark on How It Works section */
.tt .how-sec{position:relative}
.tt .how-mascot-bg{position:absolute;bottom:-40px;right:-30px;width:420px;height:auto;opacity:0.06;z-index:0;pointer-events:none;filter:drop-shadow(0 0 30px rgba(0,0,0,0.2))}
@media(max-width:768px){.tt .how-mascot-bg{width:260px;right:-20px;bottom:-20px;opacity:0.05}}

.tt .how-cta{text-align:center;margin-top:3rem}

/* Connector lines between steps */
.tt .how-connector{display:flex;justify-content:center;position:relative;height:2rem}
.tt .how-connector::before{content:'';width:2px;height:100%;background:linear-gradient(to bottom,rgba(var(--org-rgb),0.3),rgba(var(--org-rgb),0.1))}

@media(max-width:768px){
  .tt .how-step,.tt .how-step:nth-child(even){grid-template-columns:1fr;direction:ltr}
  .tt .how-step:nth-child(even) .how-step-num{left:1.25rem;right:auto}
  .tt .how-step-img{min-height:220px}
  .tt .how-step-body{padding:1.75rem}
  .tt .how-connector{height:1.5rem}
}
@media(max-width:640px){
  .tt .how-step-img{min-height:180px}
  .tt .how-step-body{padding:1.25rem}
  .tt .how-step-body h3{font-size:1.2rem}
  .tt .how-step-chips{display:none}
  .tt .how-step-ctas{flex-direction:column}
  .tt .how-step-ctas .b{width:100%;text-align:center}
  .tt .how-cta .b{width:100%;max-width:320px}
}

/* S7: ABOUT â€” OWNER SPOTLIGHT */
.tt .abt-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;border-radius:var(--rad);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.06),0 8px 32px rgba(0,0,0,0.04)}
.tt .abt-img{position:relative;overflow:hidden;min-height:520px}
.tt .abt-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 6s ease}
.tt .abt-img:hover img{transform:scale(1.03)}
.tt .abt-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(9,27,47,0.6) 0%,rgba(9,27,47,0.05) 50%,transparent 100%);pointer-events:none}
.tt .abt-img-badge{position:absolute;bottom:1.5rem;left:1.5rem;z-index:2;background:var(--org);padding:0.5rem 1.25rem;border-radius:0.5rem;font-family:var(--fh);font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,0.25)}
.tt .abt-img-badge span{font-size:1.1rem}

.tt .abt-text{background:#fff;padding:clamp(2.5rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center}
.tt .abt-text h2{color:var(--lt-head);font-size:clamp(1.8rem,3vw,2.5rem)}
.tt .abt-text p{color:var(--lt-text);line-height:1.75;margin-bottom:1.15rem;font-size:0.95rem}

/* Owner card */
.tt .abt-owners{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--lt-bg2);border-radius:var(--rad);border:1px solid var(--lt-border);margin:1.25rem 0}
.tt .abt-owners-icon{width:44px;height:44px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tt .abt-owners-icon svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2}
.tt .abt-owners h4{font-family:var(--fh);font-size:0.95rem;font-weight:700;text-transform:uppercase;color:var(--lt-head);margin:0}
.tt .abt-owners span{font-size:0.78rem;color:var(--lt-text)}

/* Community highlight */
.tt .abt-community{display:flex;align-items:flex-start;gap:0.85rem;padding:1.25rem;background:rgba(var(--org-rgb),0.04);border-radius:var(--rad);border-left:3px solid var(--org);margin-top:0.5rem}
.tt .abt-community svg{width:20px;height:20px;stroke:var(--org);fill:none;stroke-width:2;flex-shrink:0;margin-top:0.1rem}
.tt .abt-community p{font-size:0.88rem;color:var(--lt-text);line-height:1.6;margin:0}
.tt .abt-community strong{color:var(--lt-head)}

@media(max-width:960px){.tt .abt-grid{grid-template-columns:1fr}.tt .abt-img{min-height:360px}}
@media(max-width:640px){.tt .abt-img{min-height:260px}.tt .abt-content{padding:1.5rem 1.25rem}.tt .abt-owners{flex-direction:column;text-align:center;gap:0.65rem}}

/* S8: PROJECTS â€” CINEMATIC OVERLAY CARDS */
.tt .proj-head{text-align:center;margin-bottom:3rem}
.tt .proj-head p{color:var(--dk-text);font-size:1rem;max-width:520px;margin:0 auto}

.tt .proj-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}

.tt .proj-card{position:relative;border-radius:var(--rad);overflow:hidden;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end}
.tt .proj-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 6s ease}
.tt .proj-card:hover img{transform:scale(1.04)}

/* Gradient overlay */
.tt .proj-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(9,27,47,0.95) 0%,rgba(9,27,47,0.7) 35%,rgba(9,27,47,0.15) 65%,transparent 100%);pointer-events:none;transition:background 0.4s}
.tt .proj-card:hover::after{background:linear-gradient(to top,rgba(9,27,47,0.97) 0%,rgba(9,27,47,0.75) 40%,rgba(9,27,47,0.2) 70%,transparent 100%)}

/* Content */
.tt .proj-body{position:relative;z-index:2;padding:2rem 2rem 2.25rem}

/* Category label */
.tt .proj-label{display:inline-flex;align-items:center;gap:0.4rem;font-family:var(--fh);font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--org);margin-bottom:0.6rem}
.tt .proj-label svg{width:14px;height:14px;stroke:var(--org);fill:none;stroke-width:2.5}

.tt .proj-body h3{font-size:1.6rem;color:#fff;margin-bottom:0.5rem}
.tt .proj-body>p{font-size:0.92rem;color:rgba(255,255,255,0.65);line-height:1.6;margin-bottom:1.25rem}

/* Service chips */
.tt .proj-chips{display:flex;flex-wrap:wrap;gap:0.45rem}
.tt .proj-chip{font-family:var(--fh);font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;padding:0.4rem 0.85rem;border-radius:2rem;color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);transition:all 0.25s}
.tt .proj-card:hover .proj-chip{border-color:rgba(var(--org-rgb),0.25);color:rgba(255,255,255,0.85)}

/* CTA row inside card */
.tt .proj-cta{margin-top:1.25rem;display:flex;gap:0.75rem}
.tt .proj-cta .b{font-size:0.82rem;padding:0.65rem 1.5rem}

/* Bottom gallery strip */
.tt .proj-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem;margin-top:2rem}
.tt .proj-thumb{border-radius:0.5rem;overflow:hidden;position:relative;height:140px}
.tt .proj-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 4s ease}
.tt .proj-thumb:hover img{transform:scale(1.06)}
.tt .proj-thumb::after{content:'';position:absolute;inset:0;background:rgba(9,27,47,0.25);pointer-events:none;transition:background 0.3s}
.tt .proj-thumb:hover::after{background:rgba(9,27,47,0.05)}

@media(max-width:860px){
  .tt .proj-cards{grid-template-columns:1fr}
  .tt .proj-card{min-height:440px}
  .tt .proj-gallery{grid-template-columns:repeat(2,1fr)}
  .tt .proj-thumb{height:120px}
}
@media(max-width:640px){
  .tt .proj-card{min-height:360px}
  .tt .proj-body{padding:1.5rem}
  .tt .proj-body h3{font-size:1.3rem}
  .tt .proj-body>p{font-size:0.85rem;margin-bottom:0.75rem}
  .tt .proj-chips{display:none}
  .tt .proj-cta .b{font-size:0.78rem;padding:0.55rem 1rem}
  .tt .proj-gallery{gap:0.5rem}
  .tt .proj-thumb{height:100px}
}

/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){.tt *,.tt *::before,.tt *::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}


/* ====================================================
   BLOCK 2 â€” INHERITS .tt TOKENS FROM BLOCK 1
   ==================================================== */

/* S9: WHAT WE TAKE â€” LIGHT THEME, BRAND COLORS */
.tt .b2-items{background:var(--lt-bg2);padding:var(--spy) 0;position:relative;overflow:hidden}

.tt .b2-items-head{text-align:center;max-width:650px;margin:0 auto 3.5rem;position:relative;z-index:1}
.tt .b2-items-head .tag{color:var(--org)}
.tt .b2-items-head h2{color:var(--lt-head)}
.tt .b2-items-head p{color:var(--lt-text);font-size:1rem}

.tt .b2-split{display:grid;grid-template-columns:1fr 1fr;gap:0;position:relative;z-index:1;border-radius:var(--rad);overflow:hidden;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.06),0 8px 32px rgba(0,0,0,0.04)}

/* Left column â€” Accepted (Navy) */
.tt .b2-yes{padding:clamp(2rem,3vw,3rem);position:relative}
.tt .b2-yes::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--navy),var(--navy-l))}

/* Right column â€” Prohibited (Orange) */
.tt .b2-nope{padding:clamp(2rem,3vw,3rem);position:relative;border-left:1px solid var(--lt-border)}
.tt .b2-nope::before{content:'';position:absolute;top:0;right:0;width:4px;height:100%;background:linear-gradient(180deg,var(--org),var(--org-d))}

/* Column headers */
.tt .b2-col-top{display:flex;align-items:center;gap:0.85rem;margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--lt-border)}
.tt .b2-col-badge{width:44px;height:44px;border-radius:0.65rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tt .b2-yes .b2-col-badge{background:rgba(23,23,23,0.08);border:1px solid rgba(23,23,23,0.15)}
.tt .b2-nope .b2-col-badge{background:rgba(var(--org-rgb),0.08);border:1px solid rgba(var(--org-rgb),0.15)}
.tt .b2-col-badge svg{width:22px;height:22px;fill:none;stroke-width:2.5}
.tt .b2-yes .b2-col-badge svg{stroke:var(--navy)}
.tt .b2-nope .b2-col-badge svg{stroke:var(--org)}
.tt .b2-col-top h3{font-family:var(--fh);font-size:1.2rem;font-weight:700;text-transform:uppercase;margin:0}
.tt .b2-yes .b2-col-top h3{color:var(--navy)}
.tt .b2-nope .b2-col-top h3{color:var(--org-d)}
.tt .b2-col-top span{font-size:0.78rem;color:var(--lt-text);display:block;margin-top:0.1rem}

/* Item rows */
.tt .b2-row{display:flex;align-items:center;gap:0.85rem;padding:0.85rem 0;border-bottom:1px solid rgba(0,0,0,0.04);transition:all 0.25s}
.tt .b2-row:last-child{border-bottom:none}
.tt .b2-row:hover{padding-left:0.4rem}

.tt .b2-row-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.25s}
.tt .b2-yes .b2-row-dot{background:rgba(23,23,23,0.06);border:1px solid rgba(23,23,23,0.12)}
.tt .b2-nope .b2-row-dot{background:rgba(var(--org-rgb),0.06);border:1px solid rgba(var(--org-rgb),0.12)}
.tt .b2-row-dot svg{width:13px;height:13px;fill:none;stroke-width:2.5}
.tt .b2-yes .b2-row-dot svg{stroke:var(--navy)}
.tt .b2-nope .b2-row-dot svg{stroke:var(--org)}

.tt .b2-row:hover .b2-row-dot{transform:scale(1.1)}
.tt .b2-yes .b2-row:hover .b2-row-dot{background:var(--navy);border-color:var(--navy)}
.tt .b2-yes .b2-row:hover .b2-row-dot svg{stroke:#fff}
.tt .b2-nope .b2-row:hover .b2-row-dot{background:var(--org);border-color:var(--org)}
.tt .b2-nope .b2-row:hover .b2-row-dot svg{stroke:#fff}

.tt .b2-row h4{font-family:var(--fh);font-size:0.95rem;font-weight:600;color:var(--lt-head);text-transform:uppercase;letter-spacing:0.03em;margin:0;line-height:1.2}
.tt .b2-row p{font-size:0.8rem;color:var(--lt-text);margin:0.1rem 0 0;line-height:1.4}

/* Bottom callout */
.tt .b2-callout{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:2.5rem;padding:1.5rem 2rem;border-radius:var(--rad);background:var(--navy);position:relative;z-index:1;overflow:hidden}
.tt .b2-callout::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--navy-d) 0%,var(--navy) 50%,var(--navy-l) 100%);pointer-events:none}
.tt .b2-callout-icon{width:48px;height:48px;border-radius:50%;background:var(--org);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 0 6px rgba(var(--org-rgb),0.2);position:relative;z-index:1}
.tt .b2-callout-icon svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2}
.tt .b2-callout-txt{position:relative;z-index:1}
.tt .b2-callout h4{font-family:var(--fh);font-size:1rem;font-weight:700;text-transform:uppercase;color:#fff;margin:0 0 0.15rem}
.tt .b2-callout p{font-size:0.88rem;color:rgba(255,255,255,0.7);margin:0}
.tt .b2-callout p a{color:var(--org-l);text-decoration:none;font-weight:600}
.tt .b2-callout p a:hover{text-decoration:underline}

@media(max-width:768px){
  .tt .b2-split{grid-template-columns:1fr}
  .tt .b2-nope{border-left:none;border-top:1px solid var(--lt-border)}
  .tt .b2-callout{flex-direction:column;text-align:center;gap:1rem;padding:1.5rem}
}
@media(max-width:640px){
  .tt .b2-half{padding:1.25rem}
  .tt .b2-row h4{font-size:0.85rem}
  .tt .b2-row p{font-size:0.75rem}
  .tt .b2-callout h4{font-size:0.9rem}
  .tt .b2-callout p{font-size:0.82rem}
}

/* S10: CTA BANNER â€” CINEMATIC IMAGE */
.tt .cta-ban{position:relative;text-align:center;padding:clamp(4rem,8vw,7rem) 0;overflow:hidden}
.tt .cta-ban-bg{position:absolute;inset:0;z-index:0}
.tt .cta-ban-bg img{width:100%;height:100%;object-fit:cover;display:block}
.tt .cta-ban-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(9,27,47,0.92) 0%,rgba(23,23,23,0.85) 40%,rgba(23,23,23,0.80) 60%,rgba(9,27,47,0.92) 100%)}
.tt .cta-ban .w{position:relative;z-index:1}
.tt .cta-ban-tag{display:inline-block;font-family:var(--fh);font-size:0.78rem;font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:var(--org);margin-bottom:0.75rem}
.tt .cta-ban h2{color:#fff;margin-bottom:0.75rem;font-size:clamp(2rem,4.5vw,3.2rem)}
.tt .cta-ban p{color:rgba(255,255,255,0.6);font-size:1.05rem;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}
.tt .cta-ban-ph{display:block;font-family:var(--fh);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;color:#fff;margin-bottom:2rem;text-decoration:none;transition:all 0.3s;letter-spacing:-0.02em}
.tt .cta-ban-ph:hover{color:var(--org);transform:scale(1.02)}
.tt .cta-ban-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
@media(max-width:640px){
  .tt .cta-ban-ctas{flex-direction:column;max-width:320px;margin-left:auto;margin-right:auto}
  .tt .cta-ban-ctas .b{width:100%;text-align:center}
  .tt .cta-ban-ph{font-size:clamp(2rem,8vw,3rem)}
}
.tt .cta-ban-divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem;color:rgba(255,255,255,0.2);font-size:0.78rem;font-family:var(--fh);text-transform:uppercase;letter-spacing:0.1em}
.tt .cta-ban-divider::before,.tt .cta-ban-divider::after{content:'';flex:1;max-width:80px;height:1px;background:rgba(255,255,255,0.1)}

/* ====================================================
   S11: REVIEWS â€” BS DUMPSTER DUAL-ROW MARQUEE
   ==================================================== */
.tt .b2-rev{background:var(--dk-bg);padding:var(--spy) 0;overflow:hidden;position:relative}
.tt .b2-rev::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent,transparent 10px,rgba(255,255,255,0.015) 10px,rgba(255,255,255,0.015) 11px);pointer-events:none}
.tt .b2-rev-head{text-align:center;max-width:650px;margin:0 auto 1rem;position:relative;z-index:1}
.tt .b2-rev-head .tag{color:var(--org)}
.tt .b2-rev-head h2{color:#fff;position:relative;display:inline-block}
.tt .b2-rev-head h2::after{content:'';display:block;width:50px;height:3px;background:linear-gradient(90deg,var(--org-d),var(--org),var(--org-d));margin:0.6rem auto 0;border-radius:2px}

/* Badge */
.tt .b2-rev-badge{display:flex;align-items:center;justify-content:center;gap:0.75rem;margin:0 auto 3rem;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:3rem;padding:0.6rem 1.5rem 0.6rem 0.6rem;width:fit-content;backdrop-filter:blur(8px);position:relative;z-index:1}
.tt .b2-rev-badge-icon{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tt .b2-rev-badge-icon svg{width:20px;height:20px}
.tt .b2-rev-badge-stars{display:flex;gap:0.1rem}
.tt .b2-rev-badge-stars svg{width:16px;height:16px;fill:var(--org)}
.tt .b2-rev-badge-text{font-family:var(--fh);font-size:0.85rem;font-weight:600;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.05em}
.tt .b2-rev-badge-score{font-weight:700;color:#fff;font-size:0.95rem}

/* Marquee tracks */
.tt .b2-rev-rows{display:flex;flex-direction:column;gap:1.5rem;position:relative;z-index:1}
.tt .b2-rev-track{display:flex;gap:1.5rem;width:max-content}
.tt .b2-rev-track--1{animation:tt-scroll-r 70s linear infinite}
.tt .b2-rev-track--2{animation:tt-scroll-l 75s linear infinite}
.tt .b2-rev-track:hover{animation-play-state:paused}
@keyframes tt-scroll-r{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes tt-scroll-l{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}

/* Fade edges */
.tt .b2-rev-fade{position:relative;z-index:1}
.tt .b2-rev-fade::before,.tt .b2-rev-fade::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:3;pointer-events:none}
.tt .b2-rev-fade::before{left:0;background:linear-gradient(90deg,var(--dk-bg) 0%,transparent 100%)}
.tt .b2-rev-fade::after{right:0;background:linear-gradient(270deg,var(--dk-bg) 0%,transparent 100%)}

/* Cards */
.tt .b2-rc{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:var(--rad);padding:1.75rem;min-width:370px;max-width:370px;flex-shrink:0;transition:all 0.45s ease;position:relative;overflow:hidden;backdrop-filter:blur(6px)}
.tt .b2-rc::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:rgba(255,255,255,0.06);transition:background 0.3s;border-radius:3px 0 0 3px}
.tt .b2-rc:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.18);transform:translateY(-3px);box-shadow:0 15px 40px rgba(0,0,0,0.3)}
.tt .b2-rc:hover::before{background:linear-gradient(180deg,var(--org),var(--org-d))}
.tt .b2-rc-quote{font-family:Georgia,serif;font-size:3rem;line-height:1;color:#fff;opacity:0.1;margin-bottom:-0.25rem}
.tt .b2-rc-top{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem}
.tt .b2-rc-av{width:44px;height:44px;border-radius:50%;background:var(--org);color:#fff;font-family:var(--fh);font-size:0.9rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tt .b2-rc-info{flex:1}
.tt .b2-rc-name{font-family:var(--fh);font-size:0.9rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:0.03em}
.tt .b2-rc-loc{font-size:0.72rem;color:rgba(255,255,255,0.35);margin-top:0.1rem}
.tt .b2-rc-stars{display:flex;gap:0.12rem}
.tt .b2-rc-stars svg{width:13px;height:13px;fill:var(--org)}
.tt .b2-rc-txt{font-size:0.9rem;color:rgba(255,255,255,0.6);line-height:1.7;margin:0;font-style:italic}

@media(max-width:640px){.tt .b2-rc{min-width:300px;max-width:300px;padding:1.5rem}.tt .b2-rev{padding:clamp(3rem,5vw,5rem) 0}.tt .b2-rev-fade::before,.tt .b2-rev-fade::after{width:50px}.tt .b2-rev-badge{padding:0.5rem 1rem 0.5rem 0.5rem}}

/* S12: SERVICE AREA â€” ELEVATED */
.tt .area-sec{position:relative;overflow:hidden}
.tt .area-sec::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent,transparent 10px,rgba(255,255,255,0.012) 10px,rgba(255,255,255,0.012) 11px);pointer-events:none}

.tt .area-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;position:relative;z-index:1}

/* Left content */
.tt .area-content{padding:clamp(2.5rem,5vw,4rem) clamp(2rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center}
.tt .area-content h2{margin-bottom:1rem}
.tt .area-content>p{color:var(--dk-text);line-height:1.65;margin-bottom:0.5rem}

.tt .area-cities{display:grid;grid-template-columns:1fr 1fr;gap:0.65rem;margin:1.5rem 0 2rem}
.tt .area-city{background:rgba(255,255,255,0.04);border:1px solid var(--dk-border);border-radius:0.5rem;padding:0.75rem 1rem;font-family:var(--fh);font-size:0.95rem;font-weight:500;text-transform:uppercase;letter-spacing:0.04em;color:#fff;transition:all 0.3s;display:flex;align-items:center;gap:0.5rem}
.tt .area-city::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--org);flex-shrink:0}
.tt .area-city:hover{border-color:var(--org);background:rgba(var(--org-rgb),0.08);transform:translateX(4px)}

.tt .area-ctas{display:flex;gap:1rem;flex-wrap:wrap}

/* Right map */
.tt .area-map{position:relative;min-height:560px;overflow:hidden}
.tt .area-map iframe{width:100%;height:100%;min-height:560px;border:0;filter:brightness(0.75) contrast(1.15) saturate(0.8)}
.tt .area-map::before{content:'';position:absolute;top:0;left:0;width:80px;height:100%;background:linear-gradient(to right,var(--dk-bg),transparent);z-index:2;pointer-events:none}
.tt .area-map::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,var(--dk-bg),transparent);z-index:2;pointer-events:none}

/* Map pin overlay label */
.tt .area-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);z-index:3;text-align:center;pointer-events:none}
.tt .area-pin-dot{width:16px;height:16px;border-radius:50%;background:var(--org);margin:0 auto;box-shadow:0 0 0 5px rgba(var(--org-rgb),0.25),0 0 0 12px rgba(var(--org-rgb),0.1);animation:areaPulse 2s ease-in-out infinite}
.tt .area-pin-label{font-family:var(--fh);font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#fff;background:var(--navy);padding:0.3rem 0.75rem;border-radius:0.25rem;margin-top:0.5rem;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,0.3)}
@keyframes areaPulse{0%,100%{box-shadow:0 0 0 5px rgba(var(--org-rgb),0.25),0 0 0 12px rgba(var(--org-rgb),0.1)}50%{box-shadow:0 0 0 8px rgba(var(--org-rgb),0.2),0 0 0 18px rgba(var(--org-rgb),0.05)}}

@media(max-width:960px){
  .tt .area-grid{grid-template-columns:1fr}
  .tt .area-map{min-height:350px}
  .tt .area-map iframe{min-height:350px}
  .tt .area-map::before{display:none}
  .tt .area-pin{display:none}
}
@media(max-width:640px){
  .tt .area-content{padding:2rem 1.25rem;text-align:center}
  .tt .area-content h2{font-size:1.6rem}
  .tt .area-cities{grid-template-columns:1fr}
  .tt .area-ctas{flex-direction:column}
  .tt .area-ctas .b{width:100%;text-align:center}
  .tt .area-map{min-height:280px}
  .tt .area-map iframe{min-height:280px}
}

/* S13: FAQ â€” ELEVATED LIGHT */
.tt .faq-sec{background:#fff;padding:var(--spy) 0;position:relative;overflow:hidden}
.tt .faq-watermark{position:absolute;top:55%;left:120px;width:380px;height:auto;opacity:0.1;z-index:0;pointer-events:none;filter:drop-shadow(0 0 20px rgba(0,0,0,0.08))}
@media(max-width:860px){.tt .faq-watermark{display:none}}

.tt .faq-layout{display:grid;grid-template-columns:340px 1fr;gap:3.5rem;align-items:start;max-width:1100px;margin:0 auto;position:relative;z-index:1}

/* Sticky left panel */
.tt .faq-left{position:sticky;top:2rem}
.tt .faq-left .tag{margin-bottom:0.5rem}
.tt .faq-left h2{color:var(--lt-head);font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:1rem}
.tt .faq-left p{color:var(--lt-text);font-size:0.95rem;line-height:1.65;margin-bottom:1.5rem}
.tt .faq-left-cta{display:flex;flex-direction:column;gap:0.75rem}
.tt .faq-left-contact{display:flex;align-items:center;gap:0.75rem;padding:1rem 1.25rem;background:var(--lt-bg2);border-radius:var(--rad);border:1px solid var(--lt-border);transition:all 0.3s}
.tt .faq-left-contact:hover{border-color:var(--org);background:rgba(var(--org-rgb),0.03)}
.tt .faq-left-contact svg{width:20px;height:20px;stroke:var(--org);fill:none;stroke-width:2;flex-shrink:0}
.tt .faq-left-contact div{flex:1}
.tt .faq-left-contact h4{font-family:var(--fh);font-size:0.82rem;font-weight:700;text-transform:uppercase;color:var(--lt-head);margin:0}
.tt .faq-left-contact p{font-size:0.78rem;color:var(--lt-text);margin:0}
.tt .faq-left-contact a{color:var(--org);text-decoration:none;font-weight:600}

/* Right accordion */
.tt .faq-list{display:flex;flex-direction:column;gap:0}
.tt .faq-i{border:1px solid var(--lt-border);border-radius:var(--rad);margin-bottom:0.65rem;overflow:hidden;background:#fff;transition:all 0.3s}
.tt .faq-i:hover{border-color:rgba(23,23,23,0.15);box-shadow:0 2px 12px rgba(0,0,0,0.04)}
.tt .faq-i.op{border-color:var(--org);box-shadow:0 4px 20px rgba(var(--org-rgb),0.08)}

.tt .faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.15rem 1.5rem;cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:var(--fh);font-size:1.05rem;font-weight:600;color:var(--lt-head);text-transform:uppercase;letter-spacing:0.02em;gap:1rem;transition:color 0.3s}
.tt .faq-i.op .faq-q{color:var(--org)}

.tt .faq-t{width:30px;height:30px;border-radius:50%;background:var(--lt-bg2);border:1px solid var(--lt-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.35s;color:var(--navy);font-size:1.1rem;font-weight:400}
.tt .faq-i.op .faq-t{background:var(--org);border-color:var(--org);color:#fff;transform:rotate(45deg)}

.tt .faq-a{max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding 0.3s ease}
.tt .faq-i.op .faq-a{max-height:400px;padding:0 1.5rem 1.25rem}
.tt .faq-a p{color:var(--lt-text);font-size:0.92rem;line-height:1.7;margin:0}
.tt .faq-a p a{color:var(--org);text-decoration:none;font-weight:500}
.tt .faq-a p a:hover{text-decoration:underline}

/* Counter badge */
.tt .faq-count{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--fh);font-size:0.78rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--lt-text);margin-bottom:2rem}
.tt .faq-count span{background:var(--org);color:#fff;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:0.72rem}

@media(max-width:860px){
  .tt .faq-layout{grid-template-columns:1fr;gap:2rem}
  .tt .faq-left{position:static}
  .tt .faq-left-cta{flex-direction:row}
  .tt .faq-left-contact{flex:1}
}
@media(max-width:640px){
  .tt .faq-left-cta{flex-direction:column}
  .tt .faq-left-contact{flex:auto;width:100%}
  .tt .faq-q{font-size:0.9rem;padding:1rem 2.75rem 1rem 1rem}
  .tt .faq-i.op .faq-a{padding:0 1rem 1rem}
  .tt .faq-a p{font-size:0.85rem}
  .tt .faq-count{font-size:0.85rem}
}


/* ============================================
   FOOTER RESET & TOKENS
   ============================================ */
.tt-ftr *, .tt-ftr *::before, .tt-ftr *::after { margin: 0; padding: 0; box-sizing: border-box; }
.tt-ftr img { max-width: none !important; max-height: none !important; }
.tt-ftr {
  --navy: #171717;
  --navy-d: #171717;
  --navy-l: #57513d;
  --navy-rgb: 23,23,23;
  --org: #f5cf00;
  --org-d: #f5cf00;
  --org-l: #fff4b0;
  --org-rgb: 245,207,0;
  --fh: 'Teko', sans-serif;
  --fb: 'Outfit', sans-serif;
  --dk-bg: #070D14;
  --dk-card: #0C1520;
  --dk-border: rgba(255,255,255,0.07);
  --dk-text: rgba(255,255,255,0.5);
  --dk-text-hi: rgba(255,255,255,0.75);
  --rad: 0.75rem;

  font-family: var(--fb);
  background: var(--dk-bg);
  color: var(--dk-text);
  position: relative;
  overflow: hidden;
}

/* Subtle diagonal texture */
.tt-ftr::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(135deg, transparent, transparent 10px, rgba(255,255,255,0.008) 10px, rgba(255,255,255,0.008) 11px);
  pointer-events: none;
}

.tt-ftr a { color: inherit; text-decoration: none; transition: color 0.2s; }
.tt-ftr a:hover { color: var(--org); }
.tt-ftr .w { max-width: 1280px; margin: 0 auto; padding: 0 clamp(1.25rem, 3vw, 2.5rem); position: relative; z-index: 1; }

/* ============================================
   CTA BANNER â€” TOP OF FOOTER
   ============================================ */
.tt-ftr-cta {
  background: var(--navy);
  padding: clamp(2.5rem, 4vw, 3.5rem) 0;
  position: relative;
  overflow: hidden;
}

.tt-ftr-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--navy-d) 0%, var(--navy) 40%, var(--navy) 60%, var(--navy-d) 100%);
}

.tt-ftr-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(135deg, transparent, transparent 10px, rgba(255,255,255,0.02) 10px, rgba(255,255,255,0.02) 11px);
  pointer-events: none;
}

.tt-ftr-cta-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.tt-ftr-cta-text h2 {
  font-family: var(--fh);
  font-size: clamp(1.8rem, 3.5vw, 2.75rem);
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  line-height: 1.05;
  margin-bottom: 0.35rem;
}

.tt-ftr-cta-text p {
  font-size: 1rem;
  color: rgba(255,255,255,0.5);
}

.tt-ftr-cta-text p a {
  color: var(--org);
  font-weight: 600;
}

.tt-ftr-cta-btns {
  display: flex;
  gap: 0.75rem;
  flex-shrink: 0;
}

.tt-ftr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.85rem 1.75rem;
  font-family: var(--fh);
  font-size: 1.05rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 0.4rem;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.25s;
  text-decoration: none;
  line-height: 1;
}

.tt-ftr-btn svg { width: 1rem; height: 1rem; color: #fff; }

.tt-ftr-btn-org {
  background: var(--org);
  color: #fff !important;
  border-color: var(--org);
}

.tt-ftr-btn-org:hover {
  background: var(--org-d);
  border-color: var(--org-d);
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(var(--org-rgb), 0.3);
}

.tt-ftr-btn-out {
  background: transparent;
  color: #fff !important;
  border-color: rgba(255,255,255,0.25);
}

.tt-ftr-btn-out:hover {
  border-color: #fff;
  color: #fff !important;
  background: rgba(255,255,255,0.06);
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .tt-ftr-cta-inner { flex-direction: column; text-align: center; }
  .tt-ftr-cta-btns { flex-direction: column; width: 100%; max-width: 320px; margin: 0 auto; }
  .tt-ftr-btn { width: 100%; justify-content: center; }
}

/* ============================================
   CONTACT FORM â€” ELEVATED
   ============================================ */
.tt-ftr-form-wrap {
  background: var(--dk-card);
  padding: clamp(2.5rem, 4vw, 3.5rem) 0;
  position: relative;
  border-top: 1px solid var(--dk-border);
}

.tt-ftr-form-inner {
  max-width: 920px;
  margin: 0 auto;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--dk-border);
  border-radius: 0.75rem;
  overflow: hidden;
  position: relative;
}

.tt-ftr-form-inner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--org), var(--navy-l), var(--org));
  background-size: 200% 100%;
  animation: ttFormGlow 5s ease infinite;
}

@keyframes ttFormGlow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Form header */
.tt-ftr-form-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.15rem 1.5rem;
  background: rgba(var(--org-rgb), 0.06);
  border-bottom: 1px solid var(--dk-border);
}

.tt-ftr-form-head-left {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.tt-ftr-form-head-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--org);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 0 0 5px rgba(var(--org-rgb), 0.15);
}

.tt-ftr-form-head-icon svg {
  width: 1rem;
  height: 1rem;
  color: #fff;
}

.tt-ftr-form-head h3 {
  font-family: var(--fh);
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.1;
}

.tt-ftr-form-head p {
  font-size: 0.75rem;
  color: var(--dk-text);
  margin-top: 0.1rem;
}

.tt-ftr-form-head-badge {
  font-family: var(--fh);
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--org);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: rgba(var(--org-rgb), 0.08);
  border: 1px solid rgba(var(--org-rgb), 0.15);
  padding: 0.3rem 0.75rem;
  border-radius: 2rem;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

.tt-ftr-form-head-badge svg {
  width: 0.7rem;
  height: 0.7rem;
  color: var(--org);
}

/* Form body */
.tt-ftr-form-body {
  padding: 1.5rem;
}

/* Row 1 â€” horizontal on desktop */
.tt-ftr-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.85rem;
}

/* Labels */
.tt-ftr-form-group {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.tt-ftr-form-label {
  font-family: var(--fh);
  font-size: 0.72rem;
  font-weight: 700;
  color: rgba(255,255,255,0.35);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tt-ftr-form-input,
.tt-ftr-form-textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  font-family: var(--fb);
  font-size: 0.9rem;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #171717 !important;
  border: 1px solid var(--dk-border);
  border-radius: 0.4rem;
  outline: none;
  transition: border-color 0.25s, box-shadow 0.25s;
  caret-color: #fff;
}

.tt-ftr-form-input::placeholder,
.tt-ftr-form-textarea::placeholder {
  color: rgba(255,255,255,0.25) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.25) !important;
}

/* Override browser autofill â€” nuclear */
.tt-ftr-form-input:-webkit-autofill,
.tt-ftr-form-input:-webkit-autofill:hover,
.tt-ftr-form-input:-webkit-autofill:focus,
.tt-ftr-form-input:-webkit-autofill:active,
.tt-ftr-form-textarea:-webkit-autofill,
.tt-ftr-form-textarea:-webkit-autofill:hover,
.tt-ftr-form-textarea:-webkit-autofill:focus,
.tt-ftr-form-textarea:-webkit-autofill:active {
  -webkit-text-fill-color: #fff !important;
  -webkit-box-shadow: 0 0 0 9999px #171717 inset !important;
  box-shadow: 0 0 0 9999px #171717 inset !important;
  background-color: #171717 !important;
  color: #fff !important;
  caret-color: #fff !important;
  transition: background-color 9999s ease-in-out 0s;
}

.tt-ftr-form-input:focus,
.tt-ftr-form-textarea:focus {
  border-color: var(--org);
  background: #171717 !important;
  box-shadow: 0 0 0 3px rgba(var(--org-rgb), 0.1);
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Expanding details section */
.tt-ftr-form-details {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease, margin 0.4s ease;
  margin-top: 0;
}

.tt-ftr-form-details.visible {
  max-height: 260px;
  opacity: 1;
  margin-top: 0.85rem;
}

.tt-ftr-form-details-hint {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: rgba(var(--org-rgb), 0.04);
  border: 1px solid rgba(var(--org-rgb), 0.1);
  border-radius: 0.4rem;
  margin-bottom: 0.65rem;
}

.tt-ftr-form-details-hint svg {
  width: 0.9rem;
  height: 0.9rem;
  color: var(--org);
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.tt-ftr-form-details-hint p {
  font-size: 0.78rem;
  color: var(--dk-text);
  line-height: 1.5;
}

.tt-ftr-form-details-hint strong {
  color: var(--dk-text-hi);
}

.tt-ftr-form-textarea {
  min-height: 90px;
  resize: vertical;
}

/* Submit row */
.tt-ftr-form-submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1rem;
  gap: 1rem;
}

.tt-ftr-form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.8rem 2rem;
  font-family: var(--fh);
  font-size: 1.05rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #fff;
  background: var(--org);
  border: 2px solid var(--org);
  border-radius: 0.4rem;
  cursor: pointer;
  transition: all 0.25s;
  line-height: 1;
}

.tt-ftr-form-submit:hover {
  background: var(--org-d);
  border-color: var(--org-d);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(var(--org-rgb), 0.3);
}

.tt-ftr-form-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.tt-ftr-form-submit svg {
  width: 0.95rem;
  height: 0.95rem;
}

.tt-ftr-form-note {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

.tt-ftr-form-note svg {
  width: 0.7rem;
  height: 0.7rem;
  color: rgba(255,255,255,0.15);
}

/* Success state */
.tt-ftr-form-success {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3rem 2rem;
}

.tt-ftr-form-success.show {
  display: flex;
}

.tt-ftr-form-success-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--org);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  box-shadow: 0 0 0 8px rgba(var(--org-rgb), 0.15), 0 0 0 16px rgba(var(--org-rgb), 0.06);
  animation: ttSuccessPop 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes ttSuccessPop {
  0% { transform: scale(0); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

.tt-ftr-form-success-icon svg {
  width: 1.75rem;
  height: 1.75rem;
  color: #fff;
  stroke-width: 3;
}

.tt-ftr-form-success h3 {
  font-family: var(--fh);
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.tt-ftr-form-success p {
  font-size: 0.95rem;
  color: var(--dk-text);
  max-width: 420px;
  line-height: 1.65;
}

.tt-ftr-form-success p strong {
  color: var(--org);
}

/* Error state */
.tt-ftr-form-error {
  display: none;
  padding: 0.65rem 1rem;
  background: rgba(220,38,38,0.08);
  border: 1px solid rgba(220,38,38,0.2);
  border-radius: 0.4rem;
  margin-top: 0.75rem;
  font-size: 0.82rem;
  color: #fff4b0;
  text-align: center;
}

.tt-ftr-form-error.show {
  display: block;
}

@media (max-width: 768px) {
  .tt-ftr-form-row {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }
  .tt-ftr-form-submit-row {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  .tt-ftr-form-submit {
    width: 100%;
    justify-content: center;
  }
  .tt-ftr-form-note {
    justify-content: center;
  }
  .tt-ftr-form-head {
    flex-direction: column;
    gap: 0.65rem;
    text-align: center;
  }
  .tt-ftr-form-head-left {
    flex-direction: column;
    align-items: center;
  }
}

/* ============================================
   MAIN FOOTER BODY
   ============================================ */
.tt-ftr-body {
  padding: clamp(3rem, 5vw, 4.5rem) 0;
}

.tt-ftr-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: clamp(2rem, 4vw, 3.5rem);
}

/* === BRAND COLUMN === */
.tt-ftr-brand-logo {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
}

.tt-ftr-brand-logo img {
  height: 4.5rem !important;
  width: auto !important;
  min-height: 4.5rem !important;
  max-height: 4.5rem !important;
  display: block;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.4));
}

.tt-ftr-brand-name {
  font-family: var(--fh);
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  line-height: 1;
}

.tt-ftr-brand-tag {
  font-family: var(--fh);
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--org);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-style: italic;
}

.tt-ftr-brand-desc {
  font-size: 0.9rem;
  color: var(--dk-text);
  line-height: 1.7;
  margin-bottom: 1.5rem;
  max-width: 340px;
}

/* Community badge */
.tt-ftr-community {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  padding: 1rem;
  background: rgba(var(--org-rgb), 0.06);
  border: 1px solid rgba(var(--org-rgb), 0.12);
  border-left: 3px solid var(--org);
  border-radius: 0.5rem;
}

.tt-ftr-community svg {
  width: 1.15rem;
  height: 1.15rem;
  color: var(--org);
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.tt-ftr-community p {
  font-size: 0.78rem;
  color: var(--dk-text-hi);
  line-height: 1.55;
}

.tt-ftr-community strong {
  color: #fff;
  font-weight: 600;
}

/* === LINK COLUMNS === */
.tt-ftr-col-title {
  font-family: var(--fh);
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 1.25rem;
  padding-bottom: 0.65rem;
  position: relative;
}

.tt-ftr-col-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 28px;
  height: 3px;
  background: var(--org);
  border-radius: 2px;
}

.tt-ftr-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.tt-ftr-links li { list-style: none; }

.tt-ftr-links a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0;
  font-family: var(--fh);
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--dk-text);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: all 0.2s;
}

.tt-ftr-links a::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  flex-shrink: 0;
  transition: all 0.2s;
}

.tt-ftr-links a:hover {
  color: var(--org);
  padding-left: 0.3rem;
}

.tt-ftr-links a:hover::before {
  background: var(--org);
  box-shadow: 0 0 6px rgba(var(--org-rgb), 0.4);
}

/* Size badge in dumpster links */
.tt-ftr-size-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 0.3rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  font-family: var(--fh);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--org);
  flex-shrink: 0;
  transition: all 0.2s;
}

.tt-ftr-links a:hover .tt-ftr-size-badge {
  background: var(--org);
  border-color: var(--org);
  color: #fff;
}

/* Dumpster links override â€” use badge instead of dot */
.tt-ftr-links-dump a::before { display: none; }

/* === CONTACT COLUMN === */
.tt-ftr-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.55rem 0;
}

.tt-ftr-contact-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(var(--org-rgb), 0.08);
  border: 1px solid rgba(var(--org-rgb), 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.2s;
}

.tt-ftr-contact-item:hover .tt-ftr-contact-icon {
  background: var(--org);
  border-color: var(--org);
}

.tt-ftr-contact-icon svg {
  width: 0.85rem;
  height: 0.85rem;
  color: var(--org);
  transition: color 0.2s;
}

.tt-ftr-contact-item:hover .tt-ftr-contact-icon svg {
  color: #fff;
}

.tt-ftr-contact-label {
  font-family: var(--fh);
  font-size: 0.72rem;
  font-weight: 600;
  color: rgba(255,255,255,0.3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tt-ftr-contact-val {
  font-family: var(--fh);
  font-size: 1rem;
  font-weight: 600;
  color: var(--dk-text-hi);
}

.tt-ftr-contact-val a { color: var(--dk-text-hi); }
.tt-ftr-contact-val a:hover { color: var(--org); }

/* Hours mini-table */
.tt-ftr-hours {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--dk-border);
}

.tt-ftr-hours-title {
  font-family: var(--fh);
  font-size: 0.72rem;
  font-weight: 700;
  color: rgba(255,255,255,0.3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.5rem;
}

.tt-ftr-hours-row {
  display: flex;
  justify-content: space-between;
  padding: 0.25rem 0;
  font-size: 0.8rem;
}

.tt-ftr-hours-day { color: var(--dk-text); font-weight: 500; }
.tt-ftr-hours-time { color: var(--dk-text-hi); font-weight: 500; }
.tt-ftr-hours-closed { color: rgba(255,255,255,0.25); font-style: italic; }

@media (max-width: 960px) {
  .tt-ftr-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
  .tt-ftr-brand-desc { max-width: 100%; }
}

@media (max-width: 640px) {
  .tt-ftr-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center;
  }
  .tt-ftr-brand-logo { justify-content: center; }
  .tt-ftr-brand-desc { max-width: 100%; margin-left: auto; margin-right: auto; }
  .tt-ftr-community { text-align: left; }
  .tt-ftr-col-title::after { left: 50%; transform: translateX(-50%); }
  .tt-ftr-links a { justify-content: center; }
  .tt-ftr-contact-item { justify-content: center; }
}

/* ============================================
   BOTTOM BAR
   ============================================ */
.tt-ftr-bottom {
  border-top: 1px solid var(--dk-border);
  padding: 1.5rem 0;
}

.tt-ftr-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.tt-ftr-copy {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.25);
}

.tt-ftr-copy a {
  color: rgba(255,255,255,0.35);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.tt-ftr-copy a:hover { color: var(--org); }

.tt-ftr-legal {
  display: flex;
  gap: 1.5rem;
}

.tt-ftr-legal a {
  font-family: var(--fh);
  font-size: 0.78rem;
  font-weight: 500;
  color: rgba(255,255,255,0.3);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.tt-ftr-legal a:hover { color: var(--org); }

/* DOT badge */
.tt-ftr-dot {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fh);
  font-size: 0.72rem;
  font-weight: 600;
  color: rgba(255,255,255,0.2);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.tt-ftr-dot span {
  color: rgba(255,255,255,0.4);
  font-weight: 700;
}

@media (max-width: 768px) {
  .tt-ftr-bottom-inner {
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }
  .tt-ftr-legal { gap: 1rem; }
}

/* Spacer for mobile sticky bar */
@media (max-width: 1023px) {
  .tt-ftr-bottom { padding-bottom: 1rem; }
  .tt-ftr-sig { padding-bottom: 5.5rem !important; }
}
