/* ============================================================
   TRAVHAWK COMPREHENSIVE DESIGN SYSTEM
   Brand Color: #57d6e2 (Primary Teal/Cyan)
   Dark Navy: #061020 / #0a1628
   Font: Inter, sans-serif
   ============================================================ */

/* === GLOBAL RESET & VARIABLES === */
:root {
  --tw-max-width: 1540px;
  --tw-teal: #57d6e2;
  --tw-teal-dark: #3db8c4;
  --tw-teal-light: rgba(87, 214, 226, 0.15);
  --tw-navy: #061020;
  --tw-navy-mid: #0a1628;
  --tw-navy-light: #0e1e38;
  --tw-white: #ffffff;
  --tw-text-dark: #1a2332;
  --tw-text-muted: #6b7280;
  --tw-gray-light: #f0f4f8;
  --tw-border: rgba(87, 214, 226, 0.2);
}

/* === TOPBAR === */
.tw-topbar {
  background: #0b1d3a !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid rgba(87, 214, 226, 0.15) !important;
}
.tw-topbar__left {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
}

.tw-topbar__item {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: rgba(255,255,255,0.85) !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

.tw-topbar__item svg, .tw-topbar__item i {
  color: var(--tw-teal) !important;
  width: 14px !important;
  height: 14px !important;
}

.tw-topbar__right {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.tw-topbar__trust {
  color: rgba(255,255,255,0.85) !important;
  font-size: 13px !important;
}

.tw-topbar__stars {
  color: #f59e0b !important;
}

/* === HEADER === */
#tw-header, .tw-header {
  background: #ffffff !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  transition: box-shadow 0.3s ease !important;
}

.tw-header-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 1540px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  height: 72px !important;
}

/* Logo */
.tw-logo-link {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.tw-logo-link img {
  height: 44px !important;
  width: auto !important;
}

/* NAV - center between logo and CTA */
.tw-nav {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.tw-nav-list {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 4px !important;
}

.tw-nav-list > li {
  position: relative !important;
}

.tw-nav-link {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 8px 14px !important;
  color: #1a2332 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}

.tw-nav-link.tw-nav-link--active {
  color: var(--tw-teal) !important;
  position: relative !important;
}

.tw-nav-link.tw-nav-link--active::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 14px !important;
  right: 14px !important;
  height: 2px !important;
  background: var(--tw-teal) !important;
  border-radius: 2px !important;
}

.tw-nav-link svg, .tw-nav-link i {
  font-size: 11px !important;
  width: 11px !important;
  height: 11px !important;
  opacity: 0.6 !important;
}

/* Header Actions - CTA button */
.tw-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}

/* === ALL BUTTONS - Brand Color #57d6e2 === */
.tw-btn--primary,
.tw-hdr-cta,
.tw-btn.tw-btn--primary,
a.tw-btn--primary,
button.tw-btn--primary {
  background: #57d6e2 !important;
  color: #061020 !important;
  border: 2px solid #57d6e2 !important;
  border-radius: 8px !important;
  padding: 10px 22px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
}

.tw-btn--primary:hover,
.tw-hdr-cta:hover,
.tw-btn.tw-btn--primary:hover,
a.tw-btn--primary:hover {
  background: #3db8c4 !important;
  border-color: #3db8c4 !important;
  color: #061020 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(87, 214, 226, 0.4) !important;
}

.tw-hdr-cta {
  padding: 10px 20px !important;
  font-size: 14px !important;
}

.tw-btn--outline {
  background: transparent !important;
  color: var(--tw-teal) !important;
  border: 2px solid var(--tw-teal) !important;
  border-radius: 8px !important;
  padding: 10px 22px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.tw-btn--outline:hover {
  background: var(--tw-teal) !important;
  color: #061020 !important;
  transform: translateY(-1px) !important;
}

/* === DROPDOWN MEGA MENU === */
.tw-has-dd {
  position: relative !important;
}

.tw-dd {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.06) !important;
  padding: 20px !important;
  min-width: 480px !important;
  display: none !important;
  z-index: 9999 !important;
  opacity: 0 !important;
  transition: opacity 0.2s ease !important;
}

.tw-dd.tw-dd-small {
  min-width: 240px !important;
}

.tw-has-dd:hover .tw-dd,
.tw-has-dd.is-open .tw-dd {
  display: flex !important;
  opacity: 1 !important;
}

.tw-dd-inner {
  display: flex !important;
  gap: 24px !important;
  width: 100% !important;
}

.tw-dd-col {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.tw-dd-head {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #9ca3af !important;
  padding: 4px 8px 8px !important;
  border-bottom: 1px solid #f3f4f6 !important;
  margin-bottom: 4px !important;
}

/* === FIXED DROPDOWN ITEM - No more broken speed overlapping === */
.tw-dd-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 8px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: background 0.15s ease !important;
}

.tw-dd-item:hover {
  background: #f0f9ff !important;
}

.tw-dd-speed {
  min-width: 48px !important;
  max-width: 60px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--tw-teal) !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  text-align: right !important;
}

.tw-dd-speed span {
  font-size: 10px !important;
  font-weight: 600 !important;
  display: block !important;
  color: #9ca3af !important;
  text-align: right !important;
}

.tw-dd-item > div:last-child {
  flex: 1 !important;
  min-width: 0 !important;
}

.tw-dd-item > div:last-child strong {
  display: block !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1a2332 !important;
  margin-bottom: 2px !important;
}

.tw-dd-item > div:last-child span {
  display: block !important;
  font-size: 12px !important;
  color: #6b7280 !important;
  line-height: 1.4 !important;
}

.tw-dd-item:hover > div:last-child strong {
  color: var(--tw-teal) !important;
}

/* Small dropdown (no speed column) */
.tw-dd.tw-dd-small .tw-dd-item {
  gap: 8px !important;
}

.tw-dd.tw-dd-small .tw-dd-inner {
  flex-direction: column !important;
  gap: 4px !important;
}

.tw-dd.tw-dd-small .tw-dd-col {
  gap: 2px !important;
}

/* === HERO SECTION === */
#hero, .tw-hero {
  background: linear-gradient(135deg, #061020 0%, #0a1e3a 40%, #0d2a4e 70%, #061020 100%) !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  overflow: hidden !important;
}

.tw-hero__inner {
  max-width: 1540px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 40px !important;
  align-items: center !important;
  width: 100% !important;
}

.tw-hero__content {
  z-index: 2 !important;
}

.tw-hero__badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(87, 214, 226, 0.15) !important;
  border: 1px solid rgba(87, 214, 226, 0.3) !important;
  color: var(--tw-teal) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 6px 14px !important;
  border-radius: 50px !important;
  margin-bottom: 14px !important;
}

.tw-hero__features {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 20px !important;
  margin: 12px 0 18px !important;
}

.tw-hero__feature-item {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.tw-hero__feature-item i {
  color: #57d6e2 !important;
  font-size: 13px !important;
}

.tw-hero__search {
  margin-top: 4px !important;
  margin-bottom: 12px !important;
}

.tw-hero__tp {
  margin-top: 8px !important;
}

.tw-hero__title {
  font-size: clamp(36px, 4vw, 52px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  margin: 0 0 14px !important;
}

.tw-hero__title em, .tw-hero__title span.tw-accent {
  color: var(--tw-teal) !important;
  font-style: normal !important;
}

.tw-hero__text {
  font-size: 17px !important;
  color: rgba(255,255,255,0.75) !important;
  line-height: 1.65 !important;
  margin: 0 0 18px !important;
}

.tw-hero__text strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.tw-hero__form {
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 20px !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(87,214,226,0.25) !important;
  border-radius: 50px !important;
  padding: 4px !important;
  max-width: 480px !important;
}

.tw-hero__form input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  padding: 10px 16px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  outline: none !important;
}

.tw-hero__form input::placeholder {
  color: rgba(255,255,255,0.4) !important;
}

.tw-hero__form button {
  background: #57d6e2 !important;
  color: #061020 !important;
  border: none !important;
  padding: 10px 20px !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

.tw-hero__perks {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  align-items: center !important;
}

.tw-hero__perk {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.75) !important;
}

.tw-hero__perk::before {
  content: '✓' !important;
  color: var(--tw-teal) !important;
  font-weight: 700 !important;
}

/* Hero right - stats */
.tw-hero__right {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  z-index: 2 !important;
}

.tw-hero__trust {
  color: rgba(255,255,255,0.6) !important;
  font-size: 13px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  margin-top: 8px !important;
}

.tw-hero__trust:hover {
  color: var(--tw-teal) !important;
}

.tw-hero__stars {
  color: #f59e0b !important;
}

/* === TRUST BAR (premium grid below hero) === */
.tw-trust-bar {
  background: linear-gradient(90deg, #0a1628 0%, #0d2040 50%, #0a1628 100%) !important;
  border-top: 1px solid rgba(87, 214, 226, 0.25) !important;
  border-bottom: 1px solid rgba(87, 214, 226, 0.25) !important;
  padding: 28px 0 !important;
  overflow: hidden !important;
}

.tw-trust-bar__inner {
  max-width: 1540px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  box-sizing: border-box !important;
}

.tw-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 16px 18px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(87, 214, 226, 0.14) !important;
  border-radius: 14px !important;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
  min-width: 0 !important;
}

.tw-trust-item:hover {
  background: rgba(87, 214, 226, 0.08) !important;
  border-color: rgba(87, 214, 226, 0.28) !important;
  transform: translateY(-1px) !important;
}

.tw-trust-item__icon {
  flex-shrink: 0 !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(87, 214, 226, 0.12) !important;
  border: 1px solid rgba(87, 214, 226, 0.22) !important;
  border-radius: 12px !important;
}

.tw-trust-item__icon i,
.tw-trust-item__icon svg {
  color: #57d6e2 !important;
  font-size: 17px !important;
  width: 17px !important;
  height: 17px !important;
}

.tw-trust-item__text {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.tw-trust-item__title,
.tw-trust-item strong {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.01em !important;
}

.tw-trust-item__desc {
  color: rgba(255, 255, 255, 0.58) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

@media (min-width: 1280px) {
  .tw-trust-bar__inner {
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 12px !important;
  }
  .tw-trust-item {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 18px 12px !important;
    gap: 10px !important;
  }
  .tw-trust-item__text {
    align-items: center !important;
  }
}

@media (max-width: 900px) {
  .tw-trust-bar {
    padding: 20px 0 !important;
  }
  .tw-trust-bar__inner {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 0 16px !important;
  }
  .tw-trust-item {
    padding: 14px 14px !important;
    gap: 12px !important;
  }
  .tw-trust-item__icon {
    width: 40px !important;
    height: 40px !important;
  }
}

@media (max-width: 560px) {
  .tw-trust-bar__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 0 16px !important;
    overflow: visible !important;
  }
  .tw-trust-item {
    flex: none !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* === PACKAGES SECTION === */
#packages, .tw-packages {
  background: linear-gradient(160deg, #061020 0%, #0a1f3a 50%, #061020 100%) !important;
  padding: 50px 0 !important;
  position: relative !important;
}

.tw-packages__inner {
  max-width: 1540px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* Section Headers (shared) */
.tw-section-header {
  text-align: center !important;
  margin-bottom: 48px !important;
}

.tw-section-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(87,214,226,0.12) !important;
  border: 1px solid rgba(87,214,226,0.25) !important;
  color: var(--tw-teal) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 6px 14px !important;
  border-radius: 50px !important;
  margin-bottom: 16px !important;
}

.tw-section-title {
  font-size: clamp(28px, 3.5vw, 42px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  margin: 0 0 16px !important;
}

.tw-packages .tw-section-title,
#packages .tw-section-title {
  color: #ffffff !important;
}

.tw-packages .tw-section-label {
  color: var(--tw-teal) !important;
}

.tw-section-sub {
  font-size: 17px !important;
  color: rgba(255,255,255,0.65) !important;
  max-width: 600px !important;
  margin: 0 auto !important;
  line-height: 1.6 !important;
}

/* Package Tabs */
.tw-pkg-tabs {
  display: flex !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin-bottom: 32px !important;
}

.tw-pkg-tab {
  padding: 10px 24px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  border: 1px solid rgba(87,214,226,0.3) !important;
  background: rgba(255,255,255,0.06) !important;
  color: rgba(255,255,255,0.7) !important;
  transition: all 0.2s ease !important;
}

.tw-pkg-tab:hover {
  background: rgba(87,214,226,0.1) !important;
  color: var(--tw-teal) !important;
  border-color: rgba(87,214,226,0.4) !important;
}

.tw-pkg-tab.active, .tw-pkg-tab[aria-selected="true"] {
  background: #57d6e2 !important;
  color: #061020 !important;
  border-color: #57d6e2 !important;
  font-weight: 700 !important;
}

/* Package panels */
.tw-pkg-panel {
  display: none !important;
}

.tw-pkg-panel.active,
.tw-pkg-panel.tw-pkg-panel--standalone {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 24px !important;
}

/* Package Cards */
.tw-pkg-card {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 16px !important;
  padding: 28px !important;
  position: relative !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

.tw-pkg-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(87,214,226,0.3) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.4) !important;
}

.tw-pkg-card--featured {
  background: rgba(87,214,226,0.08) !important;
  border-color: rgba(87,214,226,0.35) !important;
}

.tw-pkg-card--featured:hover {
  border-color: #57d6e2 !important;
}

/* Most popular badge */
.tw-pkg-card__badge, .tw-pkg-badge {
  position: absolute !important;
  top: -12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #57d6e2 !important;
  color: #061020 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 4px 14px !important;
  border-radius: 50px !important;
  white-space: nowrap !important;
}

.tw-pkg-icon {
  width: 44px !important;
  height: 44px !important;
  background: rgba(87,214,226,0.15) !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 16px !important;
}

.tw-pkg-icon svg, .tw-pkg-icon i {
  color: var(--tw-teal) !important;
  width: 22px !important;
  height: 22px !important;
}

.tw-pkg-name {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin-bottom: 4px !important;
}

.tw-pkg-sub {
  font-size: 13px !important;
  color: rgba(255,255,255,0.55) !important;
  margin-bottom: 16px !important;
}

.tw-pkg-speed {
  font-size: 32px !important;
  font-weight: 900 !important;
  color: #57d6e2 !important;
  line-height: 1 !important;
  margin-bottom: 4px !important;
}

.tw-pkg-price {
  font-size: 28px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  margin-bottom: 6px !important;
}

.tw-pkg-meta {
  font-size: 12px !important;
  color: rgba(255,255,255,0.5) !important;
  margin-bottom: 20px !important;
}

.tw-pkg-divider {
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  margin: 16px 0 !important;
}

.tw-pkg-features {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  flex: 1 !important;
}

.tw-pkg-features li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.8) !important;
  padding: 6px 0 !important;
}

.tw-pkg-features li::before {
  content: '✓' !important;
  color: #57d6e2 !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
  margin-top: 1px !important;
}

.tw-pkg-cta {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  background: none !important;
  padding: 16px 0 0 !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  width: 100% !important;
  align-self: stretch !important;
}

.tw-pkg-cta .tw-btn,
.tw-pkg-cta a.tw-btn,
a.tw-pkg-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  background: linear-gradient(135deg, #57d6e2, #3bc4d0) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 10px 22px !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}

.tw-pkg-cta .tw-btn:hover,
.tw-pkg-cta a.tw-btn:hover,
a.tw-pkg-cta:hover {
  background: linear-gradient(135deg, #3bc4d0, #29a0ac) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  transform: translateY(-1px) !important;
}

.tw-pkg-card--featured .tw-pkg-cta .tw-btn,
.tw-pkg-card--featured .tw-pkg-cta a.tw-btn {
  background: linear-gradient(135deg, #57d6e2, #3bc4d0) !important;
  color: #ffffff !important;
  border: none !important;
}

.tw-pkg-card--featured .tw-pkg-cta .tw-btn:hover,
.tw-pkg-card--featured .tw-pkg-cta a.tw-btn:hover {
  background: linear-gradient(135deg, #3bc4d0, #29a0ac) !important;
  color: #ffffff !important;
}

/* Business + 5G tabs: 4 cards centered */
#tab-business.tw-pkg-panel.active,
#tab-5g.tw-pkg-panel.active {
  grid-template-columns: repeat(4, minmax(240px, 1fr)) !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
}

@media (max-width: 1100px) {
  #tab-business.tw-pkg-panel.active,
  #tab-5g.tw-pkg-panel.active {
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  #tab-business.tw-pkg-panel.active,
  #tab-5g.tw-pkg-panel.active {
    grid-template-columns: 1fr !important;
  }
}

/* === SHARED SECTION STYLES === */
.tw-section--white {
  background: #ffffff !important;
}

.tw-section--gray {
  background: #f0f4f8 !important;
}

.tw-section--white .tw-section-title,
.tw-section--gray .tw-section-title {
  color: #0d1b2e !important;
}

.tw-section--white .tw-section-sub,
.tw-section--gray .tw-section-sub {
  color: #6b7280 !important;
}

.tw-section--white .tw-section-label,
.tw-section--gray .tw-section-label {
  background: rgba(87,214,226,0.1) !important;
  border-color: rgba(87,214,226,0.2) !important;
  color: #2db3c0 !important;
}

/* Light section accent color for headings */
.tw-why .tw-section-title em,
.tw-coverage .tw-section-title em,
.tw-how .tw-section-title em,
.tw-tech .tw-section-title em,
.tw-reviews .tw-section-title em,
.tw-faq .tw-section-title em {
  color: #57d6e2 !important;
  font-style: normal !important;
}

/* Container shared */
.tw-section-inner, .tw-why__inner, .tw-coverage__inner, .tw-how__inner, .tw-tech__inner, .tw-reviews__inner, .tw-cta__inner, .tw-business__inner {
  max-width: 1540px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* FAQ — narrower than main sections (not 1540px) */
.tw-faq .tw-faq__inner,
#faq .tw-faq__inner {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.tw-why, .tw-coverage, .tw-how, .tw-tech, .tw-reviews, .tw-faq {
  padding: 50px 0 !important;
}

/* === WHY TRAVHAWK — premium light === */
.tw-why,
.tw-why.tw-section--white {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  padding: 50px 0 !important;
}

.tw-why__inner {
  max-width: 1540px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: grid !important;
  grid-template-columns: 1fr 1.05fr !important;
  gap: 56px !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

.tw-why__image {
  position: relative !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 64px rgba(11, 29, 58, 0.12) !important;
}

.tw-why__image img {
  width: 100% !important;
  height: clamp(320px, 38vw, 480px) !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 24px !important;
}

.tw-why__image-badge {
  position: absolute !important;
  bottom: 20px !important;
  left: 20px !important;
  background: linear-gradient(135deg, #57d6e2 0%, #2eb8c4 100%) !important;
  color: #ffffff !important;
  padding: 10px 18px !important;
  border-radius: 50px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: 0 8px 24px rgba(87, 214, 226, 0.35) !important;
}

.tw-why__image-badge i {
  color: #ffffff !important;
}

.tw-why__content h2 {
  font-size: clamp(28px, 3.2vw, 42px) !important;
  font-weight: 800 !important;
  color: #0b1d3a !important;
  line-height: 1.15 !important;
  margin: 0 0 14px !important;
}

.tw-why__content h2 .tw-green {
  color: #57d6e2 !important;
}

.tw-why__intro,
.tw-why__content > p {
  color: #5a6a85 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  margin: 0 0 28px !important;
}

.tw-why__features {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.tw-why__feature {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
  padding: 16px 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.14) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 18px rgba(11, 29, 58, 0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.tw-why__feature:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(87, 214, 226, 0.28) !important;
  box-shadow: 0 10px 28px rgba(11, 29, 58, 0.08) !important;
}

.tw-why__feature-icon {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  background: rgba(87, 214, 226, 0.1) !important;
  border: 1px solid rgba(87, 214, 226, 0.2) !important;
  border-radius: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.tw-why__feature-icon i {
  color: #57d6e2 !important;
  font-size: 18px !important;
}

.tw-why__feature h4 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0b1d3a !important;
  margin: 0 0 4px !important;
  line-height: 1.3 !important;
}

.tw-why__feature p {
  font-size: 14px !important;
  color: #64748b !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* === COVERAGE — premium light === */
.tw-coverage,
.tw-coverage.tw-section--gray {
  background: linear-gradient(135deg, #f8fafc 0%, #eef4f9 50%, #f8fafc 100%) !important;
  padding: 50px 0 !important;
}

.tw-coverage__inner {
  max-width: 1540px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 56px !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

.tw-coverage__info h2 {
  font-size: clamp(28px, 3.2vw, 42px) !important;
  font-weight: 800 !important;
  color: #0b1d3a !important;
  line-height: 1.15 !important;
  margin: 0 0 14px !important;
}

.tw-coverage__info h2 .tw-green {
  color: #57d6e2 !important;
}

.tw-coverage__intro,
.tw-coverage__info > p {
  color: #5a6a85 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  margin: 0 0 28px !important;
}

.tw-coverage__stats {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 14px !important;
  margin-bottom: 24px !important;
}

.tw-coverage__stat {
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.12) !important;
  border-radius: 16px !important;
  padding: 20px 16px !important;
  text-align: center !important;
  box-shadow: 0 6px 20px rgba(11, 29, 58, 0.05) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.tw-coverage__stat:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(11, 29, 58, 0.08) !important;
}

.tw-coverage__stat-num {
  font-size: clamp(26px, 2.5vw, 34px) !important;
  font-weight: 900 !important;
  color: #57d6e2 !important;
  display: block !important;
  margin-bottom: 6px !important;
  line-height: 1 !important;
}

.tw-coverage__stat p {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  margin: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.tw-coverage__form {
  display: block !important;
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.16) !important;
  border-radius: 20px !important;
  padding: 22px 24px !important;
  box-shadow: 0 12px 36px rgba(11, 29, 58, 0.07) !important;
}

.tw-coverage__form h4 {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #0b1d3a !important;
  margin: 0 0 6px !important;
}

.tw-coverage__form h4 i {
  color: #57d6e2 !important;
}

.tw-coverage__form-desc,
.tw-coverage__form > p {
  font-size: 13px !important;
  color: #94a3b8 !important;
  margin: 0 0 16px !important;
}

.tw-coverage__form-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 50px !important;
  padding: 5px !important;
}

.tw-coverage__input {
  flex: 1 !important;
  min-width: 0 !important;
  padding: 12px 18px !important;
  border: none !important;
  background: transparent !important;
  border-radius: 50px !important;
  font-size: 15px !important;
  color: #0b1d3a !important;
  outline: none !important;
}

.tw-coverage__input::placeholder {
  color: #94a3b8 !important;
}

.tw-coverage__btn {
  background: linear-gradient(135deg, #57d6e2 0%, #3db8c4 100%) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 12px 22px !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  box-shadow: 0 4px 14px rgba(87, 214, 226, 0.35) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.tw-coverage__btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 20px rgba(87, 214, 226, 0.45) !important;
}

.tw-coverage__image {
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 64px rgba(11, 29, 58, 0.12) !important;
}

.tw-coverage__image img {
  width: 100% !important;
  height: clamp(320px, 38vw, 480px) !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 24px !important;
}

@media (max-width: 1024px) {
  .tw-why__inner,
  .tw-coverage__inner {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .tw-coverage__image {
    order: -1 !important;
  }
}

@media (max-width: 768px) {
  .tw-why,
  .tw-coverage {
    padding: 40px 0 !important;
  }
  .tw-why__inner,
  .tw-coverage__inner {
    padding: 0 20px !important;
  }
  .tw-coverage__form-row {
    flex-direction: column !important;
    border-radius: 16px !important;
    padding: 10px !important;
  }
  .tw-coverage__btn {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* === HOW IT WORKS SECTION (dark) === */
.tw-how {
  background: #071224 !important;
  padding: 50px 0 !important;
}

@media (max-width: 768px) {
  .tw-how {
    padding: 40px 0 !important;
  }
  .tw-how__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.tw-how .tw-section-header h2 {
  color: #fff !important;
}

.tw-how .tw-section-header p {
  color: rgba(255, 255, 255, 0.65) !important;
}

.tw-how .tw-green {
  color: #57d6e2 !important;
}

.tw-how__steps {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 32px !important;
}

.tw-how__step {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 20px !important;
  padding: 32px 24px !important;
  text-align: center !important;
  transition: transform 0.25s, border-color 0.25s !important;
}

.tw-how__step:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(87, 214, 226, 0.35) !important;
}

.tw-how__num {
  width: 52px !important;
  height: 52px !important;
  background: linear-gradient(135deg, #57d6e2, #29a0ac) !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 20px !important;
}

.tw-how__step h4 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 10px !important;
}

.tw-how__step p {
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* === STATS BAR === */
.tw-stats {
  background: #0b1d3a !important;
  padding: 40px 0 !important;
}

.tw-stats__inner {
  max-width: 1540px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  text-align: center !important;
}

.tw-stats__item {}

.tw-stats__value {
  font-size: 36px !important;
  font-weight: 900 !important;
  color: #57d6e2 !important;
  display: block !important;
  margin-bottom: 4px !important;
}

.tw-stats__label {
  font-size: 14px !important;
  color: rgba(255,255,255,0.65) !important;
}

/* === TECHNOLOGY SECTION === */
.tw-tech {
  background: #f0f4f8 !important;
}

.tw-tech__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
  align-items: center !important;
}

.tw-tech__features {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.tw-tech__feature {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  transition: all 0.2s ease !important;
}

.tw-tech__feature:hover {
  border-color: rgba(87,214,226,0.3) !important;
  box-shadow: 0 4px 20px rgba(87,214,226,0.1) !important;
}

.tw-tech__feature-icon {
  width: 44px !important;
  height: 44px !important;
  background: rgba(87,214,226,0.1) !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.tw-tech__feature-icon svg, .tw-tech__feature-icon i {
  color: var(--tw-teal) !important;
  width: 20px !important;
  height: 20px !important;
}

.tw-tech__feature-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0d1b2e !important;
  margin-bottom: 4px !important;
}

.tw-tech__feature-text {
  font-size: 13px !important;
  color: #6b7280 !important;
  line-height: 1.6 !important;
}

.tw-tech__image {
  border-radius: 16px !important;
  overflow: hidden !important;
}

.tw-tech__image img {
  width: 100% !important;
  height: 420px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
}

.tw-tech__cards {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
}

.tw-tech__card {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* === REVIEWS — premium light === */
.tw-reviews,
.tw-reviews.tw-section--white {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  padding: 50px 0 !important;
}

.tw-reviews__inner {
  max-width: 1540px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

.tw-reviews__header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 32px !important;
  margin-bottom: 36px !important;
  flex-wrap: wrap !important;
}

.tw-reviews__header h2 {
  font-size: clamp(28px, 3.2vw, 40px) !important;
  font-weight: 800 !important;
  color: #0b1d3a !important;
  line-height: 1.15 !important;
  margin: 0 0 10px !important;
}

.tw-reviews__header h2 .tw-green {
  color: #57d6e2 !important;
}

.tw-reviews__intro,
.tw-reviews__header > div > p {
  color: #64748b !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  max-width: 520px !important;
}

.tw-reviews__score {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  text-align: right !important;
  flex-shrink: 0 !important;
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.16) !important;
  border-radius: 18px !important;
  padding: 18px 22px !important;
  box-shadow: 0 10px 32px rgba(11, 29, 58, 0.06) !important;
}

.tw-reviews__score-num {
  font-size: clamp(40px, 4vw, 52px) !important;
  font-weight: 900 !important;
  color: #0b1d3a !important;
  line-height: 1 !important;
}

.tw-reviews__score-stars {
  color: #00b67a !important;
  font-size: 18px !important;
  letter-spacing: 2px !important;
  margin: 6px 0 4px !important;
}

.tw-reviews__score p {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  margin: 0 !important;
}

.tw-reviews__grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
  margin-bottom: 32px !important;
}

.tw-review-card {
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.12) !important;
  border-radius: 20px !important;
  padding: 24px 26px !important;
  box-shadow: 0 8px 28px rgba(11, 29, 58, 0.05) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
  position: relative !important;
}

.tw-review-card::before {
  content: '\201C' !important;
  position: absolute !important;
  top: 14px !important;
  right: 20px !important;
  font-size: 48px !important;
  line-height: 1 !important;
  color: rgba(87, 214, 226, 0.12) !important;
  font-family: Georgia, serif !important;
  pointer-events: none !important;
}

.tw-review-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(87, 214, 226, 0.28) !important;
  box-shadow: 0 16px 40px rgba(11, 29, 58, 0.09) !important;
}

.tw-review-card__head,
.tw-review-card__header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

.tw-review-avatar,
.tw-review-card__avatar {
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #57d6e2 0%, #3db8c4 100%) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}

.tw-review-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}

.tw-review-name,
.tw-review-card__name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0b1d3a !important;
  line-height: 1.3 !important;
}

.tw-review-date,
.tw-review-card__date {
  font-size: 12px !important;
  color: #94a3b8 !important;
  margin-top: 2px !important;
}

.tw-review-stars,
.tw-review-card__stars {
  color: #00b67a !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
  margin-bottom: 10px !important;
}

.tw-review-title,
.tw-review-card__title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0b1d3a !important;
  margin-bottom: 8px !important;
  line-height: 1.35 !important;
}

.tw-review-text,
.tw-review-card__text {
  font-size: 14px !important;
  color: #64748b !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

.tw-review-verified,
.tw-review-card__verified {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: #57d6e2 !important;
  margin-top: 14px !important;
  font-weight: 600 !important;
  background: rgba(87, 214, 226, 0.08) !important;
  border-radius: 50px !important;
  padding: 5px 10px !important;
}

.tw-reviews__cta {
  text-align: center !important;
  margin-top: 8px !important;
}

.tw-reviews__cta .tw-btn--outline {
  border: 2px solid #57d6e2 !important;
  color: #0b1d3a !important;
  background: #ffffff !important;
  border-radius: 50px !important;
  padding: 12px 28px !important;
  font-weight: 700 !important;
  transition: all 0.2s ease !important;
}

.tw-reviews__cta .tw-btn--outline:hover {
  background: #57d6e2 !important;
  color: #ffffff !important;
}

@media (max-width: 900px) {
  .tw-reviews__header {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .tw-reviews__score {
    align-items: flex-start !important;
    text-align: left !important;
    width: 100% !important;
  }
  .tw-reviews__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
  #hero, .tw-hero {
    padding: 40px 0 36px !important;
  }
  .tw-hero__inner {
    gap: 28px !important;
  }
  .tw-reviews {
    padding: 40px 0 !important;
  }
}

/* === BUSINESS SECTION === */
#business, .tw-business {
  background: linear-gradient(135deg, #061020 0%, #0a1f3a 50%, #061020 100%) !important;
  padding: 50px 0 !important;
}

.tw-business__inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
  align-items: center !important;
}

.tw-business__content {}

.tw-business__label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(87,214,226,0.12) !important;
  border: 1px solid rgba(87,214,226,0.25) !important;
  color: var(--tw-teal) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 6px 14px !important;
  border-radius: 50px !important;
  margin-bottom: 16px !important;
}

.tw-business__title {
  font-size: clamp(28px, 3.5vw, 40px) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  margin: 0 0 16px !important;
}

.tw-business__title em {
  color: var(--tw-teal) !important;
  font-style: normal !important;
}

.tw-business__text {
  color: rgba(255,255,255,0.7) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  margin-bottom: 28px !important;
}

.tw-business__features {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  margin-bottom: 32px !important;
}

.tw-business__feature {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
}

.tw-business__feature-icon {
  width: 40px !important;
  height: 40px !important;
  background: rgba(87,214,226,0.12) !important;
  border-radius: 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.tw-business__feature-icon svg, .tw-business__feature-icon i {
  color: var(--tw-teal) !important;
  width: 18px !important;
  height: 18px !important;
}

.tw-business__feature-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  display: inline !important;
}

.tw-business__feature-desc {
  font-size: 14px !important;
  color: rgba(255,255,255,0.6) !important;
  line-height: 1.5 !important;
  margin-top: 2px !important;
}

.tw-business__image {
  border-radius: 16px !important;
  overflow: hidden !important;
}

.tw-business__image img {
  width: 100% !important;
  height: 420px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
}

/* === FAQ SECTION === */
#faq, .tw-faq {
  background: #f0f4f8 !important;
  padding: 50px 0 !important;
}

.tw-faq__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

.tw-faq__item {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 0 !important;
  border-top: none !important;
  overflow: hidden !important;
}

.tw-faq__item:first-child {
  border-top: 1px solid #e5e7eb !important;
  border-radius: 12px 12px 0 0 !important;
}

.tw-faq__item:last-child {
  border-radius: 0 0 12px 12px !important;
}

.tw-faq__question {
  width: 100% !important;
  text-align: left !important;
  padding: 20px 24px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #0d1b2e !important;
  gap: 16px !important;
  transition: background 0.2s ease !important;
}

.tw-faq__question:hover {
  background: #f8fafc !important;
}

.tw-faq__question[aria-expanded="true"] {
  color: #2db3c0 !important;
  background: #f0f9ff !important;
}

.tw-faq__icon {
  font-size: 20px !important;
  color: #57d6e2 !important;
  flex-shrink: 0 !important;
  transition: transform 0.3s ease !important;
  line-height: 1 !important;
}

.tw-faq__question[aria-expanded="true"] .tw-faq__icon {
  transform: rotate(45deg) !important;
}

/* *** KEY FIX: FAQ answers collapsed by default *** */
.tw-faq__answer {
  display: none !important;
  padding: 0 24px 20px !important;
  font-size: 15px !important;
  color: #6b7280 !important;
  line-height: 1.7 !important;
  border-top: 1px solid #f0f4f8 !important;
}

.tw-faq__answer.is-open,
.tw-faq__item.is-open .tw-faq__answer,
.tw-faq__question[aria-expanded="true"] + .tw-faq__answer {
  display: block !important;
}

/* === CTA SECTION === */
#check-availability, .tw-cta {
  background: linear-gradient(135deg, #061020 0%, #0a1f3a 50%, #061020 100%) !important;
  padding: 50px 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

.tw-cta__label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(87,214,226,0.12) !important;
  border: 1px solid rgba(87,214,226,0.25) !important;
  color: var(--tw-teal) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 6px 14px !important;
  border-radius: 50px !important;
  margin-bottom: 16px !important;
}

.tw-cta__title {
  font-size: clamp(28px, 3.5vw, 42px) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin: 0 0 12px !important;
}

.tw-cta__text {
  font-size: 17px !important;
  color: rgba(255,255,255,0.7) !important;
  margin-bottom: 32px !important;
}

.tw-cta__form-wrap {
  max-width: 480px !important;
  margin: 0 auto 24px !important;
  width: 100% !important;
}

.tw-cta__form-wrap .tw-cta__form {
  margin: 0 !important;
}

.tw-cta__form {
  display: flex !important;
  gap: 8px !important;
  max-width: 480px !important;
  margin: 0 auto 24px !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(87,214,226,0.25) !important;
  border-radius: 50px !important;
  padding: 4px !important;
}

.tw-cta__form input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  padding: 10px 16px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  outline: none !important;
}

.tw-cta__form input::placeholder {
  color: rgba(255,255,255,0.4) !important;
}

.tw-cta__form button {
  background: #57d6e2 !important;
  color: #061020 !important;
  border: none !important;
  padding: 10px 22px !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

.tw-cta__trust {
  color: rgba(255,255,255,0.5) !important;
  font-size: 13px !important;
}

.tw-cta__trust-items {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 24px !important;
  margin-top: 28px !important;
}

.tw-cta__trust-item svg, .tw-cta__trust-item i {
  color: var(--tw-teal) !important;
}

.tw-cta__trust-item strong {
  color: #ffffff !important;
}

/* === FOOTER === */
.tw-footer {
  background: #061020 !important;
  padding: 50px 0 !important;
  border-top: 1px solid rgba(87,214,226,0.1) !important;
}

.tw-footer__brand {}

.tw-footer__logo-link {
  display: inline-block !important;
  margin-bottom: 16px !important;
}

.tw-footer__logo-link img {
  height: 44px !important;
  width: auto !important;
}

.tw-footer__socials {
  display: flex !important;
  gap: 10px !important;
  margin-bottom: 20px !important;
}

.tw-footer__trustpilot {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  text-decoration: none !important;
}

.tw-footer__trustpilot-stars {
  color: #1db954 !important;
}

.tw-footer__trustpilot-text {
  font-size: 13px !important;
  color: rgba(255,255,255,0.7) !important;
}

.tw-footer__trustpilot-text strong {
  color: #ffffff !important;
}

.tw-footer__col {}

.tw-footer__col-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: rgba(255,255,255,0.4) !important;
  margin: 0 0 16px !important;
}

.tw-footer__links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.tw-footer__link {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.tw-footer__link::before {
  content: '›' !important;
  color: rgba(87,214,226,0.5) !important;
  font-size: 16px !important;
  transition: color 0.2s ease !important;
}

.tw-footer__link:hover {
  color: #57d6e2 !important;
}

.tw-footer__link:hover::before {
  color: #57d6e2 !important;
}

.tw-footer__contact {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.tw-footer__contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.75) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.tw-footer__contact-item:hover {
  color: #57d6e2 !important;
}

.tw-footer__contact-item svg, .tw-footer__contact-item i {
  color: #57d6e2 !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}

/* Footer bottom bar — full width strip; inner container holds layout */
.tw-footer__bottom {
  width: 100% !important;
  max-width: none !important;
  margin-top: 32px !important;
  padding: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  clear: both !important;
  position: relative !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
}

.tw-footer__badge svg, .tw-footer__badge i {
  width: 14px !important;
  height: 14px !important;
  color: #57d6e2 !important;
}

.tw-footer__badge--trustpilot {
  color: #1db954 !important;
}

/* === HAMBURGER/MOBILE === */
.tw-hamburger {
  display: none !important;
  flex-direction: column !important;
  gap: 5px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 4px !important;
}

.tw-hamburger span {
  width: 24px !important;
  height: 2px !important;
  background: #1a2332 !important;
  border-radius: 2px !important;
  display: block !important;
}

/* === POSTCODE FORM (Hero) === */
.tw-hero__cta-row {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 24px !important;
  flex-wrap: wrap !important;
}

.tw-btn-primary {
  background: #57d6e2 !important;
  color: #061020 !important;
  border: 2px solid #57d6e2 !important;
  border-radius: 8px !important;
  padding: 12px 24px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

/* === RESPONSIVE === */
@media (max-width: 1024px) {
  .tw-pkg-panel.active {
    grid-template-columns: 1fr 1fr !important;
  }
  .tw-how__steps {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .tw-footer__inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
}

@media (max-width: 768px) {
	
	.tw-btn--primary, .tw-hdr-cta, .tw-btn.tw-btn--primary, a.tw-btn--primary, button.tw-btn--primary{
		font-size: 14px !important;
	}
	
  .tw-nav { display: none !important; }
  .tw-hamburger { display: flex !important; }
  .tw-hero__inner { grid-template-columns: 1fr !important; gap: 40px !important; }
  .tw-why__grid, .tw-coverage__grid, .tw-tech__grid, .tw-business__inner { grid-template-columns: 1fr !important; gap: 32px !important; }
  .tw-pkg-panel.active { grid-template-columns: 1fr !important; }
  .tw-how__steps { grid-template-columns: 1fr 1fr !important; }
  .tw-reviews__grid { grid-template-columns: 1fr !important; }
  .tw-stats__inner { grid-template-columns: repeat(2, 1fr) !important; }
  .tw-topbar__left { gap: 12px !important; }
  .tw-footer__inner { grid-template-columns: 1fr !important; }
  .tw-hero__search-form {
    flex-direction: column !important;
    align-items: stretch !important;
    max-width: 100% !important;
    border-radius: 12px !important;
    padding: 8px !important;
    gap: 8px !important;
  }
  .tw-hero__search-btn {
    width: 100% !important;
    justify-content: center !important;
  }
  .tw-hero__right {
    width: 100% !important;
    max-width: 100% !important;
  }
  .tw-reviews__rating {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  .tw-reviews__cta .tw-btn,
  .tw-reviews .tw-btn--outline {
    max-width: 100% !important;
    width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .tw-coverage__form-row { flex-direction: column !important; gap: 10px !important; }
  .tw-coverage__input { width: 100% !important; min-width: 0 !important; }
  .tw-coverage__submit { width: 100% !important; }
  .tw-cta__input { width: 100% !important; min-width: 0 !important; }
  .tw-family__content { word-break: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
  .tw-pkg-tabs { flex-wrap: wrap !important; justify-content: center !important; gap: 8px !important; }
  * { box-sizing: border-box; }
  body { overflow-x: hidden !important; }
}

/* === AOS ANIMATION OVERRIDE - Make all content visible === */
/* Fix the Check Availability button color specifically */
a.tw-btn.tw-btn--primary.tw-hdr-cta,
.tw-hdr-cta {
  background-color: #57d6e2 !important;
  background: #57d6e2 !important;
  color: #061020 !important;
  border-color: #57d6e2 !important;
}

/* Ensure packages section has dark bg visually */
.tw-packages {
  background-color: #061020 !important;
  background-image: linear-gradient(160deg, #061020 0%, #0a1f3a 50%, #061020 100%) !important;
}

/* Business section dark bg */
.tw-business {
  background-color: #061020 !important;
  background-image: linear-gradient(135deg, #061020 0%, #0a1f3a 50%, #061020 100%) !important;
}

/* Hero section dark bg */
.tw-hero {
  background-color: #061020 !important;
}

/* FAQ collapse fix - use JS-driven class */
.tw-faq__answer {
  display: none !important;
  overflow: hidden !important;
}

/* When JS adds 'open' class to item or 'active' to answer */
.tw-faq__item.open .tw-faq__answer,
.tw-faq__item.active .tw-faq__answer,
.tw-faq__answer.open,
.tw-faq__answer.active {
  display: block !important;
}

/* aria-expanded=true on question */
.tw-faq__question[aria-expanded="true"] + .tw-faq__answer {
  display: block !important;
}

/* Topbar color fix */
.tw-topbar {
  background-color: #0b1d3a !important;
}

/* ===== TARGETED FIXES FOR ACTUAL HTML STRUCTURE ===== */

/* --- BUSINESS SECTION ACTUAL CLASS FIXES --- */
.tw-business__inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
  align-items: center !important;
  max-width: 1540px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.tw-business__feat {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin-bottom: 20px !important;
}

.tw-business__feat-icon {
  width: 40px !important;
  height: 40px !important;
  background: rgba(87, 214, 226, 0.12) !important;
  border-radius: 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  color: #57d6e2 !important;
}

.tw-business__feat-icon i {
  color: #57d6e2 !important;
  font-size: 16px !important;
}

.tw-business__features h4,
.tw-business__feat h4 {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 4px !important;
}

.tw-business__features p,
.tw-business__feat p {
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.6) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

.tw-section-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(87, 214, 226, 0.12) !important;
  border: 1px solid rgba(87, 214, 226, 0.25) !important;
  color: #57d6e2 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 6px 14px !important;
  border-radius: 50px !important;
  margin-bottom: 16px !important;
}

.tw-business h2 {
  color: #ffffff !important;
  font-size: clamp(26px, 3vw, 40px) !important;
  font-weight: 800 !important;
  margin: 0 0 16px !important;
  line-height: 1.2 !important;
}

.tw-business h2 .tw-green,
.tw-business .tw-green {
  color: #57d6e2 !important;
}

.tw-business > * p {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* --- FOOTER ACTUAL CLASS FIXES --- */
.tw-footer__main {
  max-width: 1540px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

.tw-footer__inner {
  max-width: 1540px !important;
  width: 100% !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 260px repeat(3, 1fr) !important;
  gap: 40px !important;
  box-sizing: border-box !important;
}

.tw-footer__col--brand {}

.tw-footer__tagline {
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.6) !important;
  line-height: 1.7 !important;
  margin: 12px 0 20px !important;
}

/* Footer social - fix horizontal layout */
.tw-footer__social {
  display: flex !important;
  flex-direction: row !important;
  gap: 8px !important;
  margin-bottom: 20px !important;
}

.tw-footer__social-link {
  width: 36px !important;
  height: 36px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255, 255, 255, 0.6) !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.tw-footer__social-link:hover {
  background: rgba(87, 214, 226, 0.15) !important;
  border-color: rgba(87, 214, 226, 0.35) !important;
  color: #57d6e2 !important;
}

.tw-footer__social-link i {
  font-size: 14px !important;
}

/* Footer Trustpilot */
.tw-footer__trustpilot {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  text-decoration: none !important;
}

.tw-footer__tp-stars {
  color: #1db954 !important;
  font-size: 14px !important;
}

.tw-footer__tp-text {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.tw-footer__tp-text strong {
  color: #ffffff !important;
}

/* Footer nav columns */
.tw-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: rgba(255, 255, 255, 0.4) !important;
  margin: 0 0 16px !important;
}

.tw-footer__nav {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.tw-footer__nav li {
  display: flex !important;
  align-items: center !important;
}

.tw-footer__nav a {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.6) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.tw-footer__nav a:hover {
  color: #57d6e2 !important;
}

.tw-footer__nav a i {
  font-size: 10px !important;
  color: rgba(87, 214, 226, 0.5) !important;
  transition: color 0.2s ease !important;
}

.tw-footer__nav a:hover i {
  color: #57d6e2 !important;
}

/* Footer contact list */
.tw-footer__col ul:not(.tw-footer__nav) {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.tw-footer__col ul:not(.tw-footer__nav) li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.tw-footer__col ul:not(.tw-footer__nav) li i {
  color: #57d6e2 !important;
  margin-top: 2px !important;
  flex-shrink: 0 !important;
  width: 14px !important;
}

.tw-footer__col ul:not(.tw-footer__nav) a {
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.tw-footer__col ul:not(.tw-footer__nav) a:hover {
  color: #57d6e2 !important;
}

.tw-footer__cta {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #57d6e2 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin-top: 4px !important;
  transition: color 0.2s ease !important;
}

.tw-footer__cta:hover {
  color: #3db8c4 !important;
}

/* Footer bottom — full-width bar, 1540px inner */
.tw-footer__bottom {
  width: 100% !important;
  max-width: none !important;
}

.tw-footer__bottom-inner {
  max-width: 1540px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 20px 24px !important;
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 16px 24px !important;
  box-sizing: border-box !important;
}

.tw-footer__copyright {
  justify-self: start !important;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.4) !important;
  text-align: left !important;
}

.tw-footer__legal {
  justify-self: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}

.tw-footer__legal a {
  color: rgba(255, 255, 255, 0.55) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  display: inline-flex !important;
  align-items: center !important;
}

.tw-footer__legal a::before {
  content: '\2022' !important;
  color: rgba(255, 255, 255, 0.25) !important;
  font-size: 12px !important;
  margin: 0 10px !important;
  line-height: 1 !important;
}

.tw-footer__legal a:first-child::before {
  margin-left: 0 !important;
}

.tw-footer__legal a:hover {
  color: #57d6e2 !important;
}

.tw-footer__legal-sep {
  display: none !important;
}

.tw-footer__badges {
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

@media (max-width: 768px) {
  .tw-footer__bottom-inner {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
  }
  .tw-footer__copyright,
  .tw-footer__legal,
  .tw-footer__badges {
    justify-self: center !important;
    text-align: center !important;
  }
  .tw-footer__badges {
    justify-content: center !important;
  }
}

.tw-footer__badges {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.tw-footer__badge {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.5) !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 6px !important;
  padding: 5px 12px !important;
}

.tw-footer__badge i {
  color: #57d6e2 !important;
  font-size: 12px !important;
}

.tw-footer__badge--tp i {
  color: #1db954 !important;
}

/* --- FIX HERO POSTCODE FORM button (tw-btn-primary not tw-btn--primary) --- */
.tw-btn-primary {
  background: #57d6e2 !important;
  color: #061020 !important;
  border: 2px solid #57d6e2 !important;
  border-radius: 8px !important;
  padding: 11px 22px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.tw-btn-primary:hover {
  background: #3db8c4 !important;
  border-color: #3db8c4 !important;
}

/* Fix hero postcode form button specifically */
.tw-hero__cta button,
.tw-hero__form button,
.tw-postcode-form button,
button.tw-btn-primary {
  background: #57d6e2 !important;
  color: #061020 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 11px 20px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Fix coverage check now button */
.tw-coverage__cta button,
.tw-coverage-form button {
  background: #57d6e2 !important;
  color: #061020 !important;
  border: none !important;
}

/* FAQ - ensure items are properly collapsed */
.tw-faq__answer {
  display: none !important;
}

.tw-faq__item.is-open .tw-faq__answer,
.tw-faq__question[aria-expanded="true"] + .tw-faq__answer {
  display: block !important;
  padding: 0 24px 20px !important;
  font-size: 15px !important;
  color: #6b7280 !important;
  line-height: 1.7 !important;
  border-top: 1px solid #f0f4f8 !important;
}

/* ================================================================
   FINAL TARGETED FIXES - All remaining issues
   ================================================================ */

/* === 1. NAV ACTIVE LINK - Dark text with teal underline, NOT teal text === */
.tw-nav-link {
  color: #1a2332 !important;
  position: relative !important;
}

.tw-nav-link--active {
  color: #1a2332 !important;
  font-weight: 600 !important;
}

.tw-nav-link--active::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 14px !important;
  right: 14px !important;
  height: 2px !important;
  background: #57d6e2 !important;
  border-radius: 2px !important;
}

/* === 2. HERO SECTION - Full comprehensive fix === */

/* Hero - h4 "Check Availability at Your Address" - white text */
.tw-hero__search h4,
.tw-hero__search h3,
.tw-hero__search h2 {
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.tw-hero__search h4 i,
.tw-hero__search h4 .fas {
  color: #57d6e2 !important;
}

/* Hero search paragraph - white muted */
.tw-hero__search > p,
.tw-hero__search p {
  color: rgba(255,255,255,0.65) !important;
  font-size: 14px !important;
  margin: 0 0 14px !important;
}

/* Hero search form - pill shape like reference site */
.tw-hero__search-form {
  display: flex !important;
  align-items: center !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(87, 214, 226, 0.3) !important;
  border-radius: 10px !important;
  padding: 4px !important;
  max-width: 480px !important;
  gap: 0 !important;
}

.tw-hero__search-input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  padding: 10px 16px !important;
  font-size: 15px !important;
  color: #ffffff !important;
  min-width: 0 !important;
}

.tw-hero__search-input::placeholder {
  color: rgba(255,255,255,0.45) !important;
}

.tw-hero__search-btn {
  background: #57d6e2 !important;
  color: #061020 !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 10px 22px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: background 0.2s ease !important;
}

.tw-hero__search-btn:hover {
  background: #3db8c4 !important;
}

/* Hero trustpilot text */
.tw-hero__tp {
  margin-top: 14px !important;
}

.tw-hero__tp a,
.tw-hero__tp span {
  color: rgba(255,255,255,0.6) !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

.tw-hero__tp a:hover {
  color: #57d6e2 !important;
}

.tw-hero__tp .tw-hero__stars {
  color: #f59e0b !important;
}

/* Hero search div container */
.tw-hero__search {
  margin-top: 12px !important;
  padding: 14px 16px !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(87,214,226,0.15) !important;
  border-radius: 16px !important;
  max-width: 500px !important;
}

/* === 3. PACKAGES - Center ALL content (section header + tabs) === */
.tw-packages .tw-section-header,
.tw-packages__inner .tw-section-header {
  text-align: center !important;
}

.tw-packages .tw-section-label,
.tw-packages__inner .tw-section-label {
  display: inline-flex !important;
}

/* Tabs - center them */
.tw-pkg-tabs {
  justify-content: center !important;
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 32px !important;
}

/* === 4. COVERAGE / WHY — premium light styles in section block above === */

/* === 5. CTA SECTION - Fix all buttons and trust items === */
.tw-cta__form {
  display: flex !important;
  align-items: center !important;
  max-width: 480px !important;
  margin: 0 auto 24px !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(87,214,226,0.25) !important;
  border-radius: 10px !important;
  padding: 4px !important;
  gap: 0 !important;
}

.tw-cta__input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  padding: 10px 16px !important;
  font-size: 15px !important;
  color: #ffffff !important;
  min-width: 0 !important;
}

.tw-cta__input::placeholder {
  color: rgba(255,255,255,0.4) !important;
}

/* CTA form button */
.tw-cta__form .tw-btn,
.tw-cta__form button,
.tw-cta__form .tw-btn--primary {
  background: #57d6e2 !important;
  color: #061020 !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 10px 22px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: background 0.2s ease !important;
}

.tw-cta__form .tw-btn:hover,
.tw-cta__form button:hover {
  background: #3db8c4 !important;
}

/* CTA trust items */
.tw-cta__trust {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 20px !important;
  margin-top: 24px !important;
}

.tw-cta__trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.7) !important;
}

.tw-cta__trust-item i, .tw-cta__trust-item .fas {
  color: #57d6e2 !important;
}

/* CTA section title */
.tw-cta h2 {
  color: #ffffff !important;
  font-size: clamp(28px, 3.5vw, 42px) !important;
  font-weight: 800 !important;
  margin: 8px 0 12px !important;
}

.tw-cta h2 .tw-green {
  color: #57d6e2 !important;
}

.tw-cta > div p,
.tw-cta__inner p {
  color: rgba(255,255,255,0.7) !important;
  font-size: 16px !important;
  margin-bottom: 28px !important;
}

.tw-cta__inner {
  text-align: center !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* === 6. ALL BUTTONS - Override any lingering issues === */
/* All primary buttons site-wide use #57d6e2 */
.tw-btn--primary,
button.tw-btn--primary,
a.tw-btn--primary,
.tw-btn.tw-btn--primary {
  background-color: #57d6e2 !important;
  background: #57d6e2 !important;
  color: #061020 !important;
  border-color: #57d6e2 !important;
}

.tw-btn--primary:hover {
  background-color: #3db8c4 !important;
  background: #3db8c4 !important;
  border-color: #3db8c4 !important;
}

/* Fix hdr button specifically */
.tw-hdr-cta,
a.tw-hdr-cta {
  background: #57d6e2 !important;
  color: #061020 !important;
  border: none !important;
}

.tw-hdr-cta:hover {
  background: #3db8c4 !important;
  color: #061020 !important;
}

/* ================================================================
   ADDITIONAL TARGETED FIXES
   ================================================================ */

/* === NAV ACTIVE - the teal IS correct per client site, but make sure 
   only the active page item shows teal, not a bad blue === */
/* Override any browser-default link blue */
.tw-nav-list a,
.tw-nav-list a:visited,
.tw-nav-link,
.tw-nav-link:visited {
  color: #374151 !important;
  text-decoration: none !important;
}

.tw-nav-link:hover {
  color: #57d6e2 !important;
}

/* Active stays teal (matches reference site) */
.tw-nav-link--active,
.current-menu-item > .tw-nav-link,
.current-menu-ancestor > .tw-nav-link {
  color: #57d6e2 !important;
}

/* === HERO - ensure h1 and description are correct === */
.tw-hero h1,
.tw-hero__content h1 {
  color: #ffffff !important;
  font-size: clamp(30px, 3.6vw, 46px) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  margin: 0 0 12px !important;
}

.tw-hero__desc {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 10px !important;
}

/* === HERO STATS - right side layout === */
.tw-hero__right {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.tw-stat-card {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(87,214,226,0.15) !important;
  border-radius: 12px !important;
  padding: 18px 24px !important;
  margin-bottom: 12px !important;
}

.tw-stat-card__value {
  font-size: 34px !important;
  font-weight: 900 !important;
  color: #57d6e2 !important;
  line-height: 1.1 !important;
  display: block !important;
  margin-bottom: 4px !important;
}

.tw-stat-card__label {
  font-size: 14px !important;
  color: rgba(255,255,255,0.65) !important;
}

/* === PACKAGES SECTION - ensure sub-heading centered === */
.tw-packages .tw-section-sub,
.tw-packages__inner > .tw-section-header p {
  text-align: center !important;
  margin: 0 auto !important;
}

/* === CTA SECTION - fix the green button issue === */
/* Target the specific button inside cta form */
#check-availability .tw-btn--primary,
#check-availability button,
.tw-cta button,
.tw-cta .tw-btn {
  background: #57d6e2 !important;
  background-color: #57d6e2 !important;
  color: #061020 !important;
  border: none !important;
}

#check-availability .tw-btn--primary:hover,
#check-availability button:hover {
  background: #3db8c4 !important;
  background-color: #3db8c4 !important;
}

/* Hard override for green color anywhere (exclude modal close) */
button[style*="background"]:not(#th-modal-close):not(.th-avail-close),
.tw-btn[style*="background"] {
  background: #57d6e2 !important;
}

/* Modal close button — clear visible X */
#th-avail-modal #th-modal-close,
#th-avail-modal .th-avail-close {
  background: #e8edf2 !important;
  background-color: #e8edf2 !important;
  color: #334155 !important;
  border: 1px solid #cbd5e1 !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  border-radius: 50% !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 10 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
#th-avail-modal #th-modal-close:hover,
#th-avail-modal .th-avail-close:hover {
  background: #d1dae4 !important;
  color: #0f172a !important;
}

/* Trust bar grid — defined in TRUST BAR section above */

/* ================================================================
   PRECISE FIX: Topbar links + Hero right stats
   ================================================================ */

/* === TOPBAR LINKS - Fix browser default blue === */
a.tw-topbar-link,
a.tw-topbar-link:visited,
a.tw-topbar-link:link {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
}

a.tw-topbar-link:hover {
  color: #57d6e2 !important;
  text-decoration: none !important;
}

.tw-topbar-link svg,
a.tw-topbar-link svg,
a.tw-topbar-link path,
a.tw-topbar-link polyline,
a.tw-topbar-link circle {
  color: #57d6e2 !important;
  stroke: #57d6e2 !important;
  fill: none !important;
}

/* Also fix any other links in topbar */
.tw-topbar a,
.tw-topbar a:visited,
.tw-topbar a:link {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
}

.tw-topbar a:hover {
  color: #57d6e2 !important;
}

/* Topbar right trust stars */
.tw-topbar-right a,
.tw-topbar-right a:visited {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
}

.tw-topbar-right a:hover {
  color: #57d6e2 !important;
}

/* === HERO RIGHT SIDE - Exact class names from DOM === */

/* Hero right container layout */
.tw-hero__right {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  position: relative !important;
  z-index: 2 !important;
}

/* BIG stat card - 900Mbps */
.tw-hero__stat-main {
  background: rgba(255, 255, 255, 0.07) !important;
  border: 1px solid rgba(87, 214, 226, 0.25) !important;
  border-radius: 16px !important;
  padding: 18px 22px !important;
  backdrop-filter: blur(10px) !important;
  margin-bottom: 10px !important;
}

.tw-hero__stat-main .tw-hero__stat-num {
  font-size: 44px !important;
  font-weight: 900 !important;
  color: #57d6e2 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

.tw-hero__stat-main .tw-hero__stat-num span {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #57d6e2 !important;
}

.tw-hero__stat-main > p {
  font-size: 15px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  margin: 0 !important;
}

/* Row of 2 smaller stat cards */
.tw-hero__stats-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

.tw-hero__stat-card {
  background: rgba(255, 255, 255, 0.07) !important;
  border: 1px solid rgba(87, 214, 226, 0.2) !important;
  border-radius: 16px !important;
  padding: 16px 18px !important;
  backdrop-filter: blur(10px) !important;
}

.tw-hero__stat-card .tw-hero__stat-num {
  font-size: 36px !important;
  font-weight: 900 !important;
  color: #57d6e2 !important;
  line-height: 1 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.tw-hero__stat-card .tw-hero__stat-num span {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #57d6e2 !important;
}

.tw-hero__stat-card > p {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.6) !important;
  margin: 0 !important;
}

/* Trustpilot card at bottom of hero right */
.tw-hero__trustpilot-card {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.tw-hero__trustpilot-card:hover {
  border-color: rgba(87, 214, 226, 0.3) !important;
}

.tw-hero__trustpilot-card svg {
  width: 28px !important;
  height: 28px !important;
  flex-shrink: 0 !important;
}

.tw-hero__trustpilot-card strong {
  display: block !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}

.tw-hero__trustpilot-card span {
  display: block !important;
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.65) !important;
}

/* === ALSO FIX: Any other links in topbar that still show blue === */
.tw-topbar *:not(.tw-topbar__stars):not(.tw-topbar-right *) {
  /* ensure no blue links */
}

/* Catch-all for blue link issue */
.tw-topbar a[href],
.tw-topbar a[href]:visited {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
}

.tw-topbar a[href] svg path,
.tw-topbar a[href] svg polyline,
.tw-topbar a[href] svg circle {
  stroke: #57d6e2 !important;
}

/* ===== SIDE BLINKING & OVERFLOW FIX ===== */
html,
body {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

.elementor-section,
.elementor-container,
.e-container,
section,
.wp-block-group {
  overflow-x: hidden !important;
}

/* AOS - disable horizontal movement only */
[data-aos="fade-right"] {
  opacity: 1 !important;
  transform: none !important;
}

[data-aos="fade-left"] {
  opacity: 1 !important;
  transform: none !important;
}

[data-aos="fade-right"].aos-animate {
  opacity: 1 !important;
  transform: none !important;
}

[data-aos="fade-left"].aos-animate {
  opacity: 1 !important;
  transform: none !important;
}

/* ===== HIDE CUSTOM TEAL SCROLLBAR ===== */
::-webkit-scrollbar {
  width: 0px !important;
  height: 0px !important;
}

::-webkit-scrollbar-track {
  display: none !important;
}

::-webkit-scrollbar-thumb {
  display: none !important;
}

html {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

/* ===== RESTORE CONTACT RADIO BUTTON PILL STYLING ===== */
/* Override any inline styles that may have been applied */
html body .tw-contact-form-card .wpcf7-radio .wpcf7-list-item {
  height: auto !important;
  min-height: 46px !important;
  overflow: visible !important;
}

html body .tw-contact-form-card .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label {
  background-color: #ffffff !important;
  border: 1.5px solid #d1d9e6 !important;
  border-radius: 8px !important;
  padding: 11px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #64788e !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}

html body .tw-contact-form-card .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::before {
  content: '' !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  border: 2px solid #d1d9e6 !important;
  background: #ffffff !important;
  flex-shrink: 0 !important;
  transition: all 0.2s ease !important;
}

html body .tw-contact-form-card .wpcf7-radio .wpcf7-list-item.is-checked .wpcf7-list-item-label,
html body .tw-contact-form-card .wpcf7-radio .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label {
  background-color: #0b1d3a !important;
  border-color: #0b1d3a !important;
  color: #ffffff !important;
}

html body .tw-contact-form-card .wpcf7-radio .wpcf7-list-item.is-checked .wpcf7-list-item-label::before,
html body .tw-contact-form-card .wpcf7-radio .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label::before {
  border-color: #57d6e2 !important;
  background: #57d6e2 !important;
  box-shadow: inset 0 0 0 3px #0b1d3a !important;
}

html body .tw-contact-form-card .wpcf7-radio .wpcf7-list-item:not(.is-checked):not(:has(input:checked)) .wpcf7-list-item-label:hover {
  background-color: #e8f8fa !important;
  border-color: #57d6e2 !important;
  color: #0b1d3a !important;
}

html body .tw-contact-form-card .wpcf7-radio .wpcf7-list-item:not(.is-checked):not(:has(input:checked)) .wpcf7-list-item-label:hover::before {
  border-color: #57d6e2 !important;
}

/* ===== CONTACT PAGE LAYOUT FIXES ===== */
@media (max-width: 1024px) {
  html body .tw-contact-info-card {
    position: static !important;
    top: auto !important;
  }
}

@media (max-width: 768px) {
  .tw-topbar {
    display: none !important;
  }
  html body .tw-contact-hero,
  html body .tw-contact-hero-section {
    min-height: 0 !important;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  html body .tw-contact-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  html body .tw-contact-form-card {
    padding: 20px !important;
  }
  html body .tw-cf7-row {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  html body .tw-contact-form-card .wpcf7-radio,
  html body .tw-contact-form-card .wpcf7-checkbox {
    flex-direction: column !important;
    gap: 10px !important;
  }
  html body .tw-contact-form-card .wpcf7-list-item {
    margin-left: 0 !important;
  }
}

@media (max-width: 480px) {
  html body .tw-contact-form-card {
    padding: 15px !important;
  }
}

/* ===== MOBILE RESPONSIVE - FINAL OVERRIDE (added end of file) ===== */
@media (max-width: 768px) {
  /* Coverage form - stack vertically */
  .tw-coverage__form-row {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  .tw-coverage__input,
  .tw-coverage__submit,
  .tw-coverage__btn {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* CTA section input - full width */
  .tw-cta__input {
    width: 100% !important;
    min-width: 0 !important;
  }
  .tw-cta__form {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important;
    max-width: 100% !important;
  }

  /* Family section - single column, no text cutoff */
  .tw-family__inner {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  .tw-family__content {
    overflow: visible !important;
    overflow-x: visible !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  .tw-family__content h2 {
    font-size: 28px !important;
    line-height: 1.2 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }
  .tw-family {
    overflow: visible !important;
  }

  /* Packages section button */
  .tw-pkg-cta a,
  .tw-pkg-cta .tw-btn {
    max-width: 100% !important;
    width: auto !important;
    font-size: 0.85rem !important;
    padding: 9px 18px !important;
  }
  .tw-pkg-card {
    align-items: center !important;
  }

  /* Packages tabs */
  .tw-pkg-tabs {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  /* Technology section */
  .tw-tech__grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* Section padding reductions */
  .tw-coverage,
  .tw-technology {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Prevent horizontal scroll globally */
  body, html {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  img, video, iframe, svg {
    max-width: 100% !important;
    height: auto !important;
  }
}

@media (max-width: 480px) {
  /* Extra small screens */
  .tw-family__content h2 {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }
  .tw-pkg-cta a,
  .tw-pkg-cta .tw-btn {
    font-size: 0.82rem !important;
    padding: 8px 16px !important;
  }
  .tw-coverage__form-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .tw-cta__form {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
}

/* === PAGE TEMPLATE SECTIONS: 1540px (FAQ excluded) === */
.tw-inner-hero__inner,
.tw-inner-section__inner,
.pkg-hero-inner,
.pkg-trust-bar,
.pkg-container,
.cov-hero-inner,
.cov-container,
.cov-map-inner,
.status-hero-inner,
.status-container,
.tech-hero-inner,
.tech-container,
.tw-about-grid,
.tw-contact-grid,
.cov-hero__inner {
  max-width: 1540px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* FAQ sections — no 1540px cap on outer FAQ wrappers */
.pkg-faq-sec .pkg-container {
  max-width: 100% !important;
}

.pkg-faq-sec .faq-list {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.tw-packages .tw-section-header h2 {
  color: #ffffff !important;
}

.tw-packages .tw-section-header p {
  color: rgba(255, 255, 255, 0.65) !important;
}

/* Inner-page FAQ rows (contact, etc.) */
.tw-faq-wrap,
.tw-inner-section .tw-faq-wrap {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Feature / included cards — icon left, title+text stacked (not 3-across row) */
.tw-feat-card {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  grid-template-rows: auto auto !important;
  gap: 4px 16px !important;
  align-items: start !important;
}
.tw-feat-card__icon {
  grid-row: 1 / span 2 !important;
}
.tw-feat-card__title {
  grid-column: 2 !important;
  margin: 0 !important;
}
.tw-feat-card__text {
  grid-column: 2 !important;
}

@media (max-width: 768px) {
  .tw-feat-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .pkg-benefits-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

@media (max-width: 640px) {
  .tw-feat-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 12px !important;
    padding: 20px 16px !important;
  }
  .tw-feat-card__icon {
    grid-row: auto !important;
  }
  .tw-business__feat {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
}

/* Coverage checker — hide empty result slot (ZFO shows centered error below form) */
#cov-result:empty {
  display: none !important;
  min-height: 0 !important;
  margin: 0 !important;
}

@media (max-width: 480px) {
  .tw-stats__inner {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .tw-hero__stats-row {
    grid-template-columns: 1fr !important;
  }
  .tw-how__steps {
    grid-template-columns: 1fr !important;
  }
}

/* === ABOUT US PAGE — mobile responsive === */
@media (max-width: 991px) {
  .tw-about-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 0 20px !important;
    align-items: stretch !important;
  }
  .tw-about-grid__text h2 {
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
    word-break: break-word !important;
  }
  .tw-about-grid__visual > div {
    padding: 28px 20px !important;
  }
}

@media (max-width: 768px) {
  .tw-inner-hero {
    padding: 40px 16px !important;
  }
  .tw-inner-hero__inner {
    padding: 0 !important;
  }
  .tw-inner-section {
    padding: 48px 0 !important;
  }
  .tw-inner-section__inner {
    padding: 0 16px !important;
    box-sizing: border-box !important;
  }
  .tw-inner-section__header {
    margin-bottom: 32px !important;
  }
  .tw-inner-section__header h2 {
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
  }
  .tw-about-values {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .tw-about-value {
    padding: 22px 18px !important;
  }
  .tw-team-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .tw-team-card {
    padding: 24px 18px !important;
  }
  .tw-inner-cta {
    padding: 40px 16px !important;
  }
  .tw-inner-cta h2 {
    font-size: clamp(1.4rem, 5vw, 1.75rem) !important;
  }
  .tw-inner-cta__actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .tw-inner-cta .tw-btn--primary,
  .tw-inner-cta .tw-btn--phone {
    width: 100% !important;
    justify-content: center !important;
  }
  .tw-contact-grid {
    padding: 0 16px !important;
  }
}

@media (max-width: 480px) {
  .tw-inner-section {
    padding: 40px 0 !important;
  }
  .tw-about-grid {
    padding: 0 12px !important;
  }
}

/* === HOMEPAGE HERO — compact lock (wins over cached / plugin CSS) === */
html body section#hero.tw-hero,
html body #hero.tw-hero,
html body .tw-hero#hero {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  align-items: flex-start !important;
}

html body section#hero.tw-hero .tw-hero__inner,
html body #hero.tw-hero .tw-hero__inner {
  gap: 32px !important;
  padding: 0 24px !important;
  min-height: 0 !important;
}

html body section#hero.tw-hero h1,
html body #hero.tw-hero h1 {
  font-size: clamp(28px, 3.4vw, 46px) !important;
  margin: 0 0 12px !important;
  line-height: 1.12 !important;
}

html body section#hero.tw-hero .tw-hero__desc,
html body #hero.tw-hero .tw-hero__desc {
  margin: 0 0 12px !important;
}

html body section#hero.tw-hero .tw-hero__features,
html body #hero.tw-hero .tw-hero__features {
  margin: 10px 0 14px !important;
  gap: 8px 16px !important;
}

html body section#hero.tw-hero .tw-hero__search,
html body #hero.tw-hero .tw-hero__search {
  margin-top: 8px !important;
  margin-bottom: 10px !important;
}

html body section#hero.tw-hero .tw-hero__tp,
html body #hero.tw-hero .tw-hero__tp {
  margin-top: 8px !important;
}

@media (max-width: 768px) {
  html body section#hero.tw-hero .tw-hero__inner,
  html body #hero.tw-hero .tw-hero__inner {
    gap: 24px !important;
    padding: 0 16px !important;
  }
}

/* === CONTACT FORM — typed text visible (beats .wpcf7-form-control white) === */
html body .tw-contact-form-card .wpcf7-form-control:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not(.wpcf7-radio),
html body .tw-contact-form-card select.wpcf7-form-control,
html body .tw-contact-form-card textarea.wpcf7-form-control,
html body .tw-contact-form-card input.wpcf7-form-control {
  color: #0b1d3a !important;
  -webkit-text-fill-color: #0b1d3a !important;
  background: #ffffff !important;
}

html body .tw-contact-form-card .wpcf7-form-control:-webkit-autofill,
html body .tw-contact-form-card .wpcf7-form-control:-webkit-autofill:hover,
html body .tw-contact-form-card .wpcf7-form-control:-webkit-autofill:focus {
  -webkit-text-fill-color: #0b1d3a !important;
  box-shadow: 0 0 0 1000px #ffffff inset !important;
}

html body .tw-contact-form-card .wpcf7-form p.h3 {
  color: #0b1d3a !important;
}

/* === THEME SECTION SPACING — 50px vertical desktop, horizontal on inners only === */
html body section#hero.tw-hero,
html body #hero.tw-hero,
html body .tw-hero#hero,
html body .tw-family,
html body .tw-services-trio,
html body .tw-other-services,
html body .tw-packages,
html body #packages,
html body .tw-why,
html body .tw-coverage,
html body .tw-how,
html body .tw-tech,
html body .tw-reviews,
html body .tw-business,
html body .tw-faq,
html body .tw-cta,
html body #check-availability,
html body .tw-stats,
html body .tw-inner-section,
html body .tw-inner-hero,
html body .tw-inner-cta,
html body .pkg-section,
html body .pkg-benefits,
html body .pkg-faq-sec,
html body .pkg-cta-strip,
html body .cov-section,
html body .cov-process,
html body .cov-map-section,
html body .cov-cta-strip,
html body .tech-section,
html body .tech-cta-strip,
html body .status-section,
html body .pkg-hero,
html body .cov-hero,
html body .tech-hero,
html body .status-hero {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body .tw-family__inner,
html body .tw-services-trio__inner,
html body .tw-other-services__inner,
html body .tw-packages__inner,
html body .tw-why__inner,
html body .tw-coverage__inner,
html body .tw-how__inner,
html body .tw-tech__inner,
html body .tw-reviews__inner,
html body .tw-business__inner,
html body .tw-faq__inner,
html body .tw-cta__inner,
html body .tw-stats__inner,
html body .tw-inner-section__inner,
html body .tw-inner-hero__inner,
html body .tw-inner-cta__inner,
html body .pkg-container,
html body .pkg-hero-inner,
html body .cov-container,
html body .cov-hero-inner,
html body .tech-container,
html body .tech-hero-inner,
html body .status-container,
html body .status-hero-inner,
html body .tw-about-grid,
html body .tw-contact-grid {
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  html body section#hero.tw-hero,
  html body #hero.tw-hero,
  html body .tw-hero#hero,
  html body .tw-family,
  html body .tw-services-trio,
  html body .tw-other-services,
  html body .tw-packages,
  html body #packages,
  html body .tw-why,
  html body .tw-coverage,
  html body .tw-how,
  html body .tw-tech,
  html body .tw-reviews,
  html body .tw-business,
  html body .tw-faq,
  html body .tw-cta,
  html body #check-availability,
  html body .tw-stats,
  html body .tw-inner-section,
  html body .tw-inner-hero,
  html body .tw-inner-cta,
  html body .pkg-section,
  html body .pkg-benefits,
  html body .pkg-faq-sec,
  html body .pkg-cta-strip,
  html body .cov-section,
  html body .cov-process,
  html body .cov-map-section,
  html body .cov-cta-strip,
  html body .tech-section,
  html body .tech-cta-strip,
  html body .status-section,
  html body .pkg-hero,
  html body .cov-hero,
  html body .tech-hero,
  html body .status-hero {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  html body .tw-family__inner,
  html body .tw-services-trio__inner,
  html body .tw-other-services__inner,
  html body .tw-packages__inner,
  html body .tw-why__inner,
  html body .tw-coverage__inner,
  html body .tw-how__inner,
  html body .tw-tech__inner,
  html body .tw-reviews__inner,
  html body .tw-business__inner,
  html body .tw-faq__inner,
  html body .tw-cta__inner,
  html body .tw-stats__inner,
  html body .tw-inner-section__inner,
  html body .tw-inner-hero__inner,
  html body .tw-inner-cta__inner,
  html body .pkg-container,
  html body .pkg-hero-inner,
  html body .cov-container,
  html body .cov-hero-inner,
  html body .tech-container,
  html body .tech-hero-inner,
  html body .status-container,
  html body .status-hero-inner,
  html body .tw-about-grid,
  html body .tw-contact-grid {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

@media (max-width: 480px) {
  html body section#hero.tw-hero,
  html body #hero.tw-hero,
  html body .tw-hero#hero,
  html body .tw-family,
  html body .tw-services-trio,
  html body .tw-other-services,
  html body .tw-packages,
  html body #packages,
  html body .tw-why,
  html body .tw-coverage,
  html body .tw-how,
  html body .tw-tech,
  html body .tw-reviews,
  html body .tw-business,
  html body .tw-faq,
  html body .tw-cta,
  html body #check-availability,
  html body .tw-stats,
  html body .tw-inner-section,
  html body .tw-inner-hero,
  html body .tw-inner-cta,
  html body .pkg-section,
  html body .pkg-benefits,
  html body .pkg-faq-sec,
  html body .pkg-cta-strip,
  html body .cov-section,
  html body .cov-process,
  html body .cov-map-section,
  html body .cov-cta-strip,
  html body .tech-section,
  html body .tech-cta-strip,
  html body .status-section,
  html body .pkg-hero,
  html body .cov-hero,
  html body .tech-hero,
  html body .status-hero {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  html body .tw-family__inner,
  html body .tw-services-trio__inner,
  html body .tw-other-services__inner,
  html body .tw-packages__inner,
  html body .tw-why__inner,
  html body .tw-coverage__inner,
  html body .tw-how__inner,
  html body .tw-tech__inner,
  html body .tw-reviews__inner,
  html body .tw-business__inner,
  html body .tw-faq__inner,
  html body .tw-cta__inner,
  html body .tw-stats__inner,
  html body .tw-inner-section__inner,
  html body .tw-inner-hero__inner,
  html body .tw-inner-cta__inner,
  html body .pkg-container,
  html body .pkg-hero-inner,
  html body .cov-container,
  html body .cov-hero-inner,
  html body .tech-container,
  html body .tech-hero-inner,
  html body .status-container,
  html body .status-hero-inner,
  html body .tw-about-grid,
  html body .tw-contact-grid {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* === FOOTER SPACING — equal top/bottom, no duplicate padding stacks === */
html body .tw-footer {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body .tw-footer__main {
  padding: 0 24px !important;
  margin: 0 auto !important;
}

html body .tw-footer__inner {
  padding: 0 !important;
}

html body .tw-footer__bottom {
  margin-top: 32px !important;
  padding: 0 !important;
}

html body .tw-footer__bottom-inner {
  padding: 24px 24px 0 !important;
}

@media (max-width: 768px) {
  html body .tw-footer {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  html body .tw-footer__main {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  html body .tw-footer__bottom-inner {
    padding: 20px 20px 0 !important;
  }
}

@media (max-width: 480px) {
  html body .tw-footer {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }
  html body .tw-footer__main {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  html body .tw-footer__bottom-inner {
    padding: 16px 16px 0 !important;
  }
}

/* === BROADBAND ORDER PAGE (Zen Fibre Order plugin) === */
body.tw-zfo-order-page {
  background: linear-gradient(180deg, #f8fbff 0%, #f0f4f8 100%) !important;
}

body.tw-zfo-order-page .tw-zfo-order-main {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

body.tw-zfo-order-page .tw-zfo-order-shell {
  max-width: 1340px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 50px 24px !important;
  box-sizing: border-box !important;
}

body.tw-zfo-order-page .zfo-wrap {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.tw-zfo-order-page .th-page-hero,
body.tw-zfo-order-page section:has(#th-page-postcode) {
  display: none !important;
}

/* Address list — restore scroll (theme hides global scrollbars) */
body.tw-zfo-order-page .zfo-address-list,
html body .zfo-wrap .zfo-address-list {
  max-height: min(380px, 52vh) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
  scrollbar-color: #57d6e2 #eef4f9 !important;
}

body.tw-zfo-order-page .zfo-address-list::-webkit-scrollbar,
html body .zfo-wrap .zfo-address-list::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
  display: block !important;
}

body.tw-zfo-order-page .zfo-address-list::-webkit-scrollbar-track,
html body .zfo-wrap .zfo-address-list::-webkit-scrollbar-track {
  display: block !important;
  background: #eef4f9 !important;
  border-radius: 4px !important;
}

body.tw-zfo-order-page .zfo-address-list::-webkit-scrollbar-thumb,
html body .zfo-wrap .zfo-address-list::-webkit-scrollbar-thumb {
  display: block !important;
  background: #57d6e2 !important;
  border-radius: 4px !important;
}

body.tw-zfo-order-page .zfo-card {
  overflow: visible !important;
}

@media (max-width: 768px) {
  body.tw-zfo-order-page .tw-zfo-order-shell {
    padding: 40px 20px !important;
  }
  body.tw-zfo-order-page .zfo-progress {
    padding: 12px 14px 10px !important;
  }
  body.tw-zfo-order-page .zfo-card {
    padding: 24px 18px 20px !important;
  }
}

@media (max-width: 480px) {
  body.tw-zfo-order-page .tw-zfo-order-shell {
    padding: 36px 16px !important;
  }
}

/* === CORE SERVICES (homepage) — matches TravHawk light sections === */
.tw-services-trio.tw-section--gray {
  background: linear-gradient(135deg, #f8fafc 0%, #eef4f9 50%, #f8fafc 100%) !important;
}

.tw-services-trio__inner {
  max-width: 1540px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.tw-services-trio .tw-section-header h2 {
  color: #0b1d3a !important;
  font-size: clamp(28px, 3.2vw, 40px) !important;
  font-weight: 800 !important;
  margin: 0 0 12px !important;
}

.tw-services-trio .tw-section-header p {
  color: #64748b !important;
  font-size: 16px !important;
  max-width: 620px !important;
  margin: 0 auto !important;
  line-height: 1.65 !important;
}

.tw-services-trio__grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}

.tw-services-trio__card {
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.14) !important;
  border-radius: 20px !important;
  padding: 28px 26px 30px !important;
  box-shadow: 0 8px 28px rgba(11, 29, 58, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.tw-services-trio__card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(87, 214, 226, 0.28) !important;
  box-shadow: 0 16px 40px rgba(11, 29, 58, 0.09) !important;
}

.tw-services-trio__icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
  background: rgba(87, 214, 226, 0.1) !important;
  border: 1px solid rgba(87, 214, 226, 0.2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  color: #57d6e2 !important;
  margin-bottom: 18px !important;
  flex-shrink: 0 !important;
}

.tw-services-trio__card h3 {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #0b1d3a !important;
  margin: 0 0 10px !important;
  line-height: 1.3 !important;
}

.tw-services-trio__card p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #64748b !important;
  margin: 0 0 auto !important;
  flex: 1 !important;
}

.tw-services-trio__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 20px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #57d6e2 !important;
  text-decoration: none !important;
  transition: gap 0.2s ease, color 0.2s ease !important;
}

.tw-services-trio__link:hover {
  color: #3db8c4 !important;
  gap: 11px !important;
}

@media (max-width: 992px) {
  .tw-services-trio__grid {
    grid-template-columns: 1fr !important;
  }
}

/* === ADDITIONAL SERVICES (homepage) — white cards on light bg === */
.tw-other-services.tw-section--white {
  background: #ffffff !important;
}

.tw-other-services__inner {
  max-width: 1540px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.tw-other-services .tw-section-header h2 {
  color: #0b1d3a !important;
  font-size: clamp(28px, 3.2vw, 40px) !important;
  font-weight: 800 !important;
  margin: 0 0 12px !important;
}

.tw-other-services .tw-section-header p {
  color: #64748b !important;
  font-size: 16px !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  line-height: 1.65 !important;
}

.tw-other-services__grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}

.tw-other-services__card {
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.14) !important;
  border-radius: 20px !important;
  padding: 26px 24px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 8px 28px rgba(11, 29, 58, 0.05) !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.tw-other-services__card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(87, 214, 226, 0.28) !important;
  box-shadow: 0 16px 40px rgba(11, 29, 58, 0.09) !important;
}

.tw-other-services__icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  background: rgba(87, 214, 226, 0.1) !important;
  border: 1px solid rgba(87, 214, 226, 0.2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  color: #57d6e2 !important;
  margin-bottom: 16px !important;
  flex-shrink: 0 !important;
}

.tw-other-services__card h3 {
  font-size: 1.0625rem !important;
  font-weight: 800 !important;
  color: #0b1d3a !important;
  margin: 0 0 10px !important;
  line-height: 1.35 !important;
}

.tw-other-services__card p {
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: #64748b !important;
  margin: 0 0 auto !important;
  flex: 1 !important;
}

.tw-other-services__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 18px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #57d6e2 !important;
  text-decoration: none !important;
  align-self: flex-start !important;
  transition: gap 0.2s ease, color 0.2s ease !important;
}

.tw-other-services__link:hover {
  color: #3db8c4 !important;
  gap: 11px !important;
}

@media (max-width: 992px) {
  .tw-other-services__grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .tw-other-services__grid {
    grid-template-columns: 1fr !important;
  }
}

/* === INNER PAGE PHONE LINKS + SPLIT HERO === */
.tw-inner-cta__inner {
  max-width: 1540px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
  text-align: left !important;
  flex-wrap: wrap !important;
}

.tw-inner-cta__inner > div:first-child {
  flex: 1 1 320px !important;
  min-width: 0 !important;
}

.tw-inner-cta .tw-btn--phone,
.tw-cta-phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.tw-inner-cta .tw-btn--phone i,
.tw-cta-phone i,
.tw-btn--phone-outline i {
  color: #57d6e2 !important;
}

.tw-btn--phone-primary i {
  color: #0b1d3a !important;
}

.tw-inner-hero--split .tw-inner-hero__inner {
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr !important;
  gap: 40px !important;
  align-items: center !important;
}

.tw-inner-hero__panel {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(87, 214, 226, 0.22) !important;
  border-radius: 20px !important;
  padding: 28px 26px !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
}

.tw-inner-hero__panel-num {
  display: block !important;
  font-size: 1.75rem !important;
  font-weight: 900 !important;
  color: #57d6e2 !important;
  line-height: 1.1 !important;
  margin-bottom: 4px !important;
}

.tw-inner-hero__panel-lbl {
  display: block !important;
  font-size: 0.72rem !important;
  color: rgba(255, 255, 255, 0.6) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

.tw-inner-hero__panel-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  grid-column: 1 / -1 !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.tw-inner-hero__panel-row:last-child {
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

.tw-inner-hero__panel-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: rgba(87, 214, 226, 0.12) !important;
  border: 1px solid rgba(87, 214, 226, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #57d6e2 !important;
  flex-shrink: 0 !important;
}

.tw-inner-hero__panel-row strong {
  display: block !important;
  color: #ffffff !important;
  font-size: 0.9rem !important;
  margin-bottom: 2px !important;
}

.tw-inner-hero__panel-row span,
.tw-inner-hero__panel-row a {
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
}

.tw-contact-item__icon i {
  color: #57d6e2 !important;
}

@media (max-width: 991px) {
  .tw-inner-hero--split .tw-inner-hero__inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .tw-inner-cta__inner {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .tw-inner-cta__actions {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 480px) {
  .tw-inner-hero__panel,
  .tw-inner-hero__visual-stats {
    grid-template-columns: 1fr !important;
  }
}

/* === INNER HERO VISUAL PANEL (right side) === */
.tw-inner-hero__visual {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(87, 214, 226, 0.22) !important;
  border-radius: 20px !important;
  padding: 26px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

.tw-inner-hero__visual-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  align-self: flex-start !important;
  background: rgba(87, 214, 226, 0.12) !important;
  border: 1px solid rgba(87, 214, 226, 0.28) !important;
  color: #57d6e2 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 50px !important;
}

.tw-inner-hero__visual-main {
  text-align: center !important;
  padding: 22px 18px !important;
  background: rgba(87, 214, 226, 0.08) !important;
  border: 1px solid rgba(87, 214, 226, 0.18) !important;
  border-radius: 16px !important;
}

.tw-inner-hero__visual-num {
  display: block !important;
  font-size: clamp(2rem, 4vw, 2.75rem) !important;
  font-weight: 900 !important;
  color: #57d6e2 !important;
  line-height: 1 !important;
  margin-bottom: 6px !important;
}

.tw-inner-hero__visual-num span {
  font-size: 0.45em !important;
}

.tw-inner-hero__visual-lbl {
  display: block !important;
  font-size: 0.82rem !important;
  color: rgba(255, 255, 255, 0.65) !important;
}

.tw-inner-hero__visual-stats {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
}

.tw-inner-hero__visual-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tw-inner-hero__visual-list li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 0.88rem !important;
  padding: 9px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.tw-inner-hero__visual-list li i {
  color: #57d6e2 !important;
}

.tw-inner-hero__visual-tp {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 14px !important;
  text-decoration: none !important;
}

.tw-inner-hero__visual-tp-stars {
  color: #00b67a !important;
}

/* Service status hero panel — high-contrast locks */
html body .tw-inner-hero__visual--status {
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

html body .tw-inner-hero__status-head {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 20px 22px !important;
  background: rgba(87, 214, 226, 0.1) !important;
  border-bottom: 1px solid rgba(87, 214, 226, 0.2) !important;
}

html body .tw-inner-hero__status-title {
  display: block !important;
  color: #ffffff !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

html body .tw-inner-hero__status-time {
  display: block !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 0.82rem !important;
}

html body .tw-inner-hero__status-dot {
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: #10b981 !important;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.28) !important;
  flex-shrink: 0 !important;
  margin-top: 4px !important;
}

html body .tw-inner-hero__status-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 8px 22px 4px !important;
}

html body .tw-inner-hero__status-list li {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html body .tw-inner-hero__status-list li i {
  width: 32px !important;
  height: 32px !important;
  border-radius: 10px !important;
  background: rgba(87, 214, 226, 0.12) !important;
  border: 1px solid rgba(87, 214, 226, 0.22) !important;
  color: #57d6e2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.85rem !important;
  flex-shrink: 0 !important;
}

html body .tw-inner-hero__status-name {
  flex: 1 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
}

html body .tw-inner-hero__status-ok {
  color: #34d399 !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  background: rgba(16, 185, 129, 0.14) !important;
  border: 1px solid rgba(16, 185, 129, 0.28) !important;
  padding: 4px 10px !important;
  border-radius: 50px !important;
  white-space: nowrap !important;
}

html body .tw-inner-hero__status-foot {
  padding: 16px 22px 20px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html body .tw-inner-hero__status-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #57d6e2 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html body .tw-inner-hero__status-link:hover {
  color: #ffffff !important;
}

html body .tw-inner-hero__aside {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.tw-inner-hero--split .tw-inner-hero__content h1,
.tw-inner-hero--split .tw-inner-hero__content p {
  max-width: none !important;
}

/* === NEWS & BLOG === */
.tw-blog-toolbar {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
  margin-bottom: 36px !important;
}

.tw-blog-toolbar h2 {
  color: #0b1d3a !important;
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  font-weight: 800 !important;
  margin: 8px 0 0 !important;
}

.tw-blog-search {
  display: flex !important;
  align-items: stretch !important;
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.2) !important;
  border-radius: 50px !important;
  overflow: hidden !important;
  min-width: min(100%, 320px) !important;
  box-shadow: 0 4px 16px rgba(11, 29, 58, 0.05) !important;
}

.tw-blog-search input {
  flex: 1 !important;
  border: none !important;
  outline: none !important;
  padding: 12px 18px !important;
  font-size: 0.95rem !important;
  color: #0b1d3a !important;
  background: transparent !important;
  min-width: 0 !important;
}

.tw-blog-search button {
  border: none !important;
  background: #57d6e2 !important;
  color: #0b1d3a !important;
  padding: 0 18px !important;
  cursor: pointer !important;
  font-size: 0.95rem !important;
}

.tw-blog-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

.tw-blog-card {
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.14) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 28px rgba(11, 29, 58, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.tw-blog-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 40px rgba(11, 29, 58, 0.09) !important;
}

.tw-blog-card__media {
  display: block !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  background: #eef4f9 !important;
}

.tw-blog-card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.tw-blog-card__placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #0b1d3a 0%, #063d4f 100%) !important;
  color: #57d6e2 !important;
  font-size: 2rem !important;
}

.tw-blog-card__body {
  padding: 22px 22px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.tw-blog-card__meta {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-bottom: 10px !important;
  font-size: 0.78rem !important;
  color: #94a3b8 !important;
}

.tw-blog-card__cat {
  background: rgba(87, 214, 226, 0.12) !important;
  color: #57d6e2 !important;
  padding: 3px 10px !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
}

.tw-blog-card__title {
  font-size: 1.125rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  margin: 0 0 10px !important;
}

.tw-blog-card__title a {
  color: #0b1d3a !important;
  text-decoration: none !important;
}

.tw-blog-card__title a:hover {
  color: #57d6e2 !important;
}

.tw-blog-card__excerpt {
  color: #64748b !important;
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
  margin: 0 0 auto !important;
  flex: 1 !important;
}

.tw-blog-card__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 16px !important;
  color: #57d6e2 !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.tw-blog-hero-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.tw-blog-hero-cat {
  padding: 6px 14px !important;
  border-radius: 50px !important;
  background: rgba(87, 214, 226, 0.12) !important;
  border: 1px solid rgba(87, 214, 226, 0.25) !important;
  color: #57d6e2 !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.tw-blog-pagination {
  margin-top: 40px !important;
  display: flex !important;
  justify-content: center !important;
}

.tw-blog-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 14px !important;
  margin: 0 4px !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.2) !important;
  color: #0b1d3a !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.tw-blog-pagination .page-numbers.current,
.tw-blog-pagination .page-numbers:hover {
  background: #57d6e2 !important;
  border-color: #57d6e2 !important;
  color: #0b1d3a !important;
}

.tw-blog-pagination ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 4px !important;
}

.tw-blog-empty {
  text-align: center !important;
  padding: 60px 24px !important;
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.14) !important;
  border-radius: 20px !important;
}

.tw-blog-empty__icon {
  font-size: 2.5rem !important;
  color: #57d6e2 !important;
  margin-bottom: 16px !important;
}

.tw-blog-empty h3 {
  color: #0b1d3a !important;
  margin: 0 0 8px !important;
}

.tw-blog-empty p {
  color: #64748b !important;
  margin: 0 !important;
}

/* Single post */
.tw-inner-hero--compact {
  padding: 40px 0 !important;
}

.tw-blog-back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  margin-bottom: 16px !important;
}

.tw-blog-back:hover {
  color: #57d6e2 !important;
}

.tw-blog-single__meta {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  margin-bottom: 12px !important;
  font-size: 0.85rem !important;
  color: rgba(255, 255, 255, 0.65) !important;
}

.tw-blog-single__cat {
  background: rgba(87, 214, 226, 0.15) !important;
  color: #57d6e2 !important;
  padding: 4px 12px !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
}

.tw-blog-single__lead {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
  max-width: 720px !important;
}

.tw-blog-single__read {
  color: rgba(255, 255, 255, 0.65) !important;
  font-size: 0.85rem !important;
}

.tw-blog-single__cat {
  text-decoration: none !important;
}

.tw-blog-single-layout,
.tw-blog-search-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 36px !important;
  align-items: start !important;
}

.tw-blog-single__article {
  min-width: 0 !important;
}

.tw-blog-single__content {
  max-width: none !important;
  margin: 0 !important;
}

.tw-blog-single__figure {
  margin: 0 0 28px !important;
}

.tw-blog-single__img {
  width: 100% !important;
  max-height: 480px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  display: block !important;
}

html body .tw-blog-prose p,
html body .tw-blog-prose .wp-block-paragraph,
html body .tw-blog-prose li {
  color: #4a5568 !important;
}

html body .tw-blog-prose h2,
html body .tw-blog-prose h3,
html body .tw-blog-prose h4 {
  color: #0b1d3a !important;
}

html body .tw-blog-prose a {
  color: #0b8fa0 !important;
}

html body .tw-blog-prose a:hover {
  color: #57d6e2 !important;
}

html body .tw-blog-prose img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
  margin: 20px 0 !important;
}

html body .tw-blog-prose .has-text-color {
  color: #4a5568 !important;
}

.tw-blog-sidebar {
  position: sticky !important;
  top: 100px !important;
}

.tw-blog-sidebar__box {
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.14) !important;
  border-radius: 18px !important;
  padding: 22px 20px !important;
  box-shadow: 0 8px 28px rgba(11, 29, 58, 0.05) !important;
  margin-bottom: 16px !important;
}

.tw-blog-sidebar__box h3 {
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: #0b1d3a !important;
  margin: 0 0 14px !important;
}

.tw-blog-sidebar__cats {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tw-blog-sidebar__cats li {
  margin-bottom: 6px !important;
}

.tw-blog-sidebar__cats a {
  display: block !important;
  padding: 8px 12px !important;
  border-radius: 10px !important;
  color: #64748b !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

.tw-blog-sidebar__cats a:hover {
  background: rgba(87, 214, 226, 0.12) !important;
  color: #0b1d3a !important;
}

.tw-blog-sidebar__back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #0b1d3a !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  margin-top: 4px !important;
}

.tw-blog-sidebar__back:hover {
  color: #57d6e2 !important;
}

.tw-blog-search--sidebar {
  min-width: 0 !important;
  width: 100% !important;
}

.tw-blog-search--hero {
  margin-top: 16px !important;
  width: 100% !important;
}

.tw-blog-empty .tw-btn {
  margin-top: 20px !important;
}

.screen-reader-text {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  word-wrap: normal !important;
}

/* === LEGAL PAGES === */
.tw-legal-updated {
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 0.85rem !important;
  margin-top: 12px !important;
}

.tw-legal-layout {
  display: grid !important;
  grid-template-columns: 280px 1fr !important;
  gap: 40px !important;
  align-items: start !important;
}

.tw-legal-sidebar {
  position: sticky !important;
  top: 100px !important;
}

.tw-legal-sidebar__box {
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.14) !important;
  border-radius: 18px !important;
  padding: 22px 20px !important;
  box-shadow: 0 8px 28px rgba(11, 29, 58, 0.05) !important;
  margin-bottom: 16px !important;
}

.tw-legal-sidebar__box h3 {
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: #0b1d3a !important;
  margin: 0 0 14px !important;
}

.tw-legal-sidebar__box ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tw-legal-sidebar__box li {
  margin-bottom: 6px !important;
}

.tw-legal-sidebar__box li a {
  display: block !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  color: #64748b !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

.tw-legal-sidebar__box li.is-active a,
.tw-legal-sidebar__box li a:hover {
  background: rgba(87, 214, 226, 0.12) !important;
  color: #0b1d3a !important;
}

.tw-legal-sidebar__help {
  background: linear-gradient(135deg, #0b1d3a 0%, #063d4f 100%) !important;
  border-radius: 18px !important;
  padding: 22px 20px !important;
  color: #ffffff !important;
}

html body .tw-legal-sidebar__help h4 {
  margin: 0 0 8px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
}

.tw-legal-sidebar__help p {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.85rem !important;
  line-height: 1.55 !important;
  margin: 0 0 14px !important;
}

.tw-legal-sidebar__phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #57d6e2 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  margin-bottom: 10px !important;
}

.tw-legal-sidebar__phone i {
  color: #57d6e2 !important;
}

.tw-legal-sidebar__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.tw-legal-content {
  background: #ffffff !important;
  border: 1px solid rgba(87, 214, 226, 0.12) !important;
  border-radius: 20px !important;
  padding: 36px 40px !important;
  box-shadow: 0 8px 28px rgba(11, 29, 58, 0.04) !important;
  color: #4a5568 !important;
  font-size: 0.95rem !important;
  line-height: 1.75 !important;
}

.tw-legal-content h2 {
  color: #0b1d3a !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  margin: 32px 0 12px !important;
  padding-top: 8px !important;
}

.tw-legal-content h2:first-child {
  margin-top: 0 !important;
}

.tw-legal-content h3 {
  color: #0b1d3a !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  margin: 24px 0 10px !important;
}

.tw-legal-content p {
  margin: 0 0 16px !important;
  color: #4a5568 !important;
}

.tw-legal-content ul,
.tw-legal-content ol {
  margin: 0 0 18px !important;
  padding-left: 22px !important;
}

.tw-legal-content li {
  margin-bottom: 8px !important;
  color: #4a5568 !important;
}

.tw-legal-content a {
  color: #57d6e2 !important;
  font-weight: 600 !important;
}

.tw-legal-content strong {
  color: #0b1d3a !important;
}

@media (max-width: 1100px) {
  .tw-blog-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .tw-legal-layout,
  .tw-blog-single-layout,
  .tw-blog-search-layout {
    grid-template-columns: 1fr !important;
  }
  .tw-legal-sidebar,
  .tw-blog-sidebar {
    position: static !important;
  }
}

@media (max-width: 640px) {
  .tw-blog-grid {
    grid-template-columns: 1fr !important;
  }
  .tw-legal-content {
    padding: 24px 20px !important;
  }
  .tw-blog-toolbar {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .tw-blog-search {
    min-width: 100% !important;
  }
}