/* ============================================================
   TRUESPEED THEME — MAIN STYLESHEET
   Version: 3.0.0 | WCAG 2.1 AA Compliant
   ============================================================ */

/* ── GOOGLE FONTS ── */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

/* ── CSS CUSTOM PROPERTIES ── */
:root {
  /* Brand */
  --ts-navy:         #09112B;
  --ts-navy-mid:     #111E45;
  --ts-navy-light:   #1A2D6B;
  --ts-blue:         #1D4ED8;
  --ts-blue-bright:  #3B82F6;
  --ts-blue-pale:    #EFF6FF;
  --ts-teal:         #0EA5E9;
  --ts-green:        #10B981;
  --ts-green-dark:   #047857;
  --ts-orange:       #F97316;
  --ts-red:          #EF4444;
  --ts-cyan:         #00B4FF; /* Truespeed brand cyan from logo */

  /* Neutrals */
  --ts-white:      #FFFFFF;
  --ts-gray-50:    #F8FAFF;
  --ts-gray-100:   #F1F5FF;
  --ts-gray-200:   #E2E8F8;
  --ts-gray-300:   #CBD5E1;
  --ts-gray-400:   #94A3B8;
  --ts-gray-500:   #64748B;
  --ts-gray-600:   #475569;
  --ts-gray-700:   #334155;
  --ts-gray-800:   #1E293B;
  --ts-gray-900:   #0F172A;

  /* Shadows */
  --ts-shadow-xs: 0 1px 3px rgba(9,17,43,.06);
  --ts-shadow-sm: 0 2px 8px rgba(9,17,43,.08);
  --ts-shadow-md: 0 4px 20px rgba(9,17,43,.10);
  --ts-shadow-lg: 0 8px 32px rgba(9,17,43,.13);
  --ts-shadow-xl: 0 16px 56px rgba(9,17,43,.17);

  /* Typography */
  --ts-font-display: 'Sora', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ts-font-body:    'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Spacing */
  --ts-sp-1:  4px;  --ts-sp-2:  8px;  --ts-sp-3: 12px;
  --ts-sp-4: 16px;  --ts-sp-5: 20px;  --ts-sp-6: 24px;
  --ts-sp-8: 32px;  --ts-sp-10:40px;  --ts-sp-12:48px;
  --ts-sp-16:64px;  --ts-sp-20:80px;

  /* Layout */
  --ts-max-width:  1200px;
  --ts-narrow:     760px;

  /* Radii */
  --ts-r-sm:   8px;
  --ts-r-md:  12px;
  --ts-r-lg:  16px;
  --ts-r-xl:  24px;
  --ts-r-full: 9999px;

  /* Transition */
  --ts-ease: 0.18s ease;

  /* ── Seeley Window Palette ── */
  --ts-purple:        #A78BFA;  /* Lighter variant — 5.7:1 on #0D1520, passes AA */
  --ts-purple-hover:  #8B5CF6;

  /* Dark surface tokens (Seeley / dark-mode sections) */
  --ts-dark-base:     #0D1520;
  --ts-dark-surface:  #141E2C;
  --ts-dark-card:     #1A2840;
  --ts-dark-raised:   #1E3040;
  --ts-dark-border:   #263D52;
  --ts-on-dark:       #F0F4F8;
  --ts-on-dark-muted: #9DB0C2;  /* 4.7:1 on #0D1520 — WCAG AA compliant */

  /* Rounded window card component */
  --ts-window-radius: 16px;
  --ts-window-shadow: 0 4px 24px rgba(13, 21, 32, 0.4);
  --ts-window-border: 1px solid var(--ts-dark-border);

  /* WCAG AA minimum touch target */
  --ts-touch-min:     44px;
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--ts-font-body);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--ts-gray-800);
  background: var(--ts-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, video, svg { display: block; max-width: 100%; height: auto; }
a { color: var(--ts-blue); text-decoration: none; transition: color var(--ts-ease); }
a:hover { color: var(--ts-navy); }
ul, ol { list-style: none; }
button, input, textarea, select { font-family: inherit; font-size: inherit; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--ts-font-display);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: var(--ts-navy);
}
h1 { font-size: clamp(1.875rem, 5vw, 3.25rem); }
h2 { font-size: clamp(1.5rem, 3.5vw, 2.25rem); }
h3 { font-size: clamp(1.125rem, 2.5vw, 1.5rem); }
h4 { font-size: 1.125rem; }
h5 { font-size: 1rem; }
h6 { font-size: 0.875rem; }

/* ── WCAG: FOCUS VISIBLE ── */
:focus {
  outline: 3px solid var(--ts-blue-bright);
  outline-offset: 3px;
}
:focus:not(:focus-visible) { outline: none; }
:focus-visible {
  outline: 3px solid var(--ts-blue-bright);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ── WCAG: SKIP LINK ── */
.ts-skip-link {
  position: absolute;
  top: -100%;
  left: var(--ts-sp-4);
  z-index: 9999;
  background: var(--ts-blue);
  color: var(--ts-white);
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  padding: var(--ts-sp-3) var(--ts-sp-5);
  border-radius: 0 0 var(--ts-r-sm) var(--ts-r-sm);
  text-decoration: none;
  transition: top 0.15s ease;
}
.ts-skip-link:focus { top: 0; }

/* ── LAYOUT ── */
.ts-container {
  width: 100%;
  max-width: var(--ts-max-width);
  margin-inline: auto;
  padding-inline: var(--ts-sp-6);
}
.ts-container--narrow { max-width: var(--ts-narrow); }
.ts-section { padding-block: var(--ts-sp-16); }
.ts-section--sm { padding-block: var(--ts-sp-10); }
.ts-section--lg { padding-block: var(--ts-sp-20); }
.ts-section--gray { background: var(--ts-gray-50); }
.ts-section--navy { background: var(--ts-navy); }

/* Grid helpers */
.ts-grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--ts-sp-6); }
.ts-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--ts-sp-6); }
.ts-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--ts-sp-6); }

/* ── TYPOGRAPHY HELPERS ── */
.ts-eyebrow {
  font-family: var(--ts-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ts-teal);
  display: block;
  margin-bottom: var(--ts-sp-2);
}
.ts-lead { font-size: 1.125rem; color: var(--ts-gray-600); line-height: 1.7; }
.ts-section-header { text-align: center; margin-bottom: var(--ts-sp-10); }
.ts-section-header h2 { margin-bottom: var(--ts-sp-3); }
.ts-section-header .ts-lead { max-width: 600px; margin-inline: auto; }

/* ── TOP BAR ── */
.ts-topbar {
  background: var(--ts-navy);
  padding-block: 6px;
  font-size: 0.8125rem;
}
.ts-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ts-sp-4);
  flex-wrap: wrap;
}
.ts-topbar-left, .ts-topbar-right {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-4);
  flex-wrap: wrap;
}
.ts-topbar a {
  color: rgba(255,255,255,.6);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--ts-font-display);
  font-weight: 600;
  font-size: 0.75rem;
  transition: color var(--ts-ease);
  padding: 2px 0;
}
.ts-topbar-phone-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  color: var(--ts-on-dark-soft, rgba(255,255,255,.64));
  line-height: 1;
}
.ts-topbar-phone-icon svg {
  display: block;
  width: 14px;
  height: 14px;
  fill: currentColor;
}
.ts-topbar a:hover { color: #fff; }
.ts-topbar-sep { color: rgba(255,255,255,.2); padding-inline: 2px; }

/* ── HEADER / NAV ── */

/* The topbar and the white header pin as one unit. Only .ts-header used to be
   sticky, so the topbar scrolled away and the header then caught — the
   "scrolls up a little and then stops" effect. The wrapper sticks instead, so
   no rule has to know how tall the topbar is at a given breakpoint. */
.ts-header-stack {
  position: sticky;
  top: 0;
  z-index: 200;
}

/* WordPress pins its admin bar over the top for logged-in users, so drop the
   stack below it. Under 600px WP switches the bar to position:absolute and it
   scrolls away, so the stack goes back to flush. */
body.admin-bar .ts-header-stack { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .ts-header-stack { top: 46px; }
}
@media (max-width: 600px) {
  body.admin-bar .ts-header-stack { top: 0; }
}

.ts-header {
  background: var(--ts-white);
  border-bottom: 1px solid var(--ts-gray-200);
  position: relative;
  z-index: 1;
  box-shadow: var(--ts-shadow-sm);
}
.ts-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ts-sp-4);
  height: 72px;
}
.ts-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}
.ts-logo img {
  height: 44px;
  width: auto;
  display: block;
}
.ts-logo:focus-visible { border-radius: var(--ts-r-sm); }

/* Primary navigation */
.ts-nav-primary {
  display: flex;
  align-items: center;
  gap: 2px;
}
.ts-nav-primary ul { display: flex; align-items: center; gap: 2px; }
.ts-nav-primary li { position: relative; }
.ts-nav-primary a {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 13px;
  border-radius: var(--ts-r-sm);
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ts-gray-700);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--ts-ease), background var(--ts-ease);
}
.ts-nav-primary a:hover,
.ts-nav-primary .current-menu-item > a,
.ts-nav-primary .current-menu-ancestor > a {
  color: var(--ts-blue);
  background: var(--ts-blue-pale);
}
.menu-item-has-children > a::after {
  content: '▾';
  font-size: 0.625rem;
  opacity: 0.55;
  margin-left: 2px;
}

/* Dropdown */
.ts-nav-primary .sub-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 230px;
  background: var(--ts-white);
  border: 1px solid var(--ts-gray-200);
  border-radius: var(--ts-r-md);
  box-shadow: var(--ts-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.18s ease;
  z-index: 300;
  padding: var(--ts-sp-2);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ts-nav-primary li:hover > .sub-menu,
.ts-nav-primary li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.ts-nav-primary .sub-menu a {
  padding: 9px 14px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ts-gray-700);
  border-radius: var(--ts-r-sm);
}
.ts-nav-primary .sub-menu a:hover { color: var(--ts-blue); background: var(--ts-blue-pale); }

/* Header CTAs */
.ts-header-actions {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-3);
  flex-shrink: 0;
}

/* Hamburger */
.ts-hamburger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: none;
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-sm);
  cursor: pointer;
  padding: 0;
  flex-direction: column;
  gap: 5px;
  transition: border-color var(--ts-ease), background var(--ts-ease);
  flex-shrink: 0;
}
.ts-hamburger:hover { border-color: var(--ts-blue); background: var(--ts-blue-pale); }
.ts-hamburger span {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--ts-gray-800);
  border-radius: 2px;
  transition: all 0.22s ease;
}
.ts-hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ts-hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ts-hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile nav panel */
.ts-mobile-nav {
  display: none;
  background: var(--ts-white);
  border-top: 1px solid var(--ts-gray-200);
  padding: var(--ts-sp-4) var(--ts-sp-6) var(--ts-sp-6);
  box-shadow: var(--ts-shadow-md);
}
.ts-mobile-nav.is-open { display: block; }
.ts-mobile-nav ul { display: flex; flex-direction: column; gap: 2px; }
.ts-mobile-nav a {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-3);
  min-height: var(--ts-touch-min);
  padding: 10px var(--ts-sp-4);
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--ts-gray-800);
  border-radius: var(--ts-r-sm);
  text-decoration: none;
  border-bottom: 1px solid var(--ts-gray-100);
  transition: background var(--ts-ease), color var(--ts-ease);
}
.ts-mobile-nav a:hover { background: var(--ts-blue-pale); color: var(--ts-blue); }
.ts-mobile-nav ul ul a { padding-left: var(--ts-sp-8); font-size: 0.875rem; font-weight: 600; color: var(--ts-gray-600); }
.ts-mobile-nav .ts-mobile-cta-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-2);
  margin-top: var(--ts-sp-4);
}

/* ── BUTTONS ── */
.ts-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ts-sp-2);
  padding: 0 var(--ts-sp-6);
  height: 50px;
  border-radius: var(--ts-r-md);
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  border: 2px solid transparent;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--ts-ease), color var(--ts-ease), transform var(--ts-ease), box-shadow var(--ts-ease), border-color var(--ts-ease);
  line-height: 1;
}
.ts-btn:hover { transform: translateY(-1px); }
.ts-btn:active { transform: translateY(0); }
.ts-btn:focus-visible { outline-offset: 4px; }

.ts-btn--primary   { background: var(--ts-blue); color: #fff; border-color: var(--ts-blue); }
.ts-btn--primary:hover { background: #1e40af; border-color: #1e40af; box-shadow: 0 8px 24px rgba(29,78,216,.35); color: #fff; }

.ts-btn--green     { background: var(--ts-green-dark); color: #fff; border-color: var(--ts-green-dark); }
.ts-btn--green:hover { background: #065F46; border-color: #065F46; box-shadow: 0 8px 24px rgba(5,150,105,.35); color: #fff; }
.ts-btn--green.ts-btn--sm { background: #047857; border-color: #047857; color: #fff; }
.ts-btn--green.ts-btn--sm:hover,
.ts-btn--green.ts-btn--sm:focus,
.ts-btn--green.ts-btn--sm:active { background: #065F46; border-color: #065F46; color: #fff; }
.ts-header .ts-header-actions .ts-btn.ts-btn--green.ts-btn--sm {
  background-color: #047857 !important;
  background: #047857 !important;
  border-color: #047857 !important;
  color: #fff !important;
}
.ts-header .ts-header-actions .ts-btn.ts-btn--green.ts-btn--sm:hover,
.ts-header .ts-header-actions .ts-btn.ts-btn--green.ts-btn--sm:focus,
.ts-header .ts-header-actions .ts-btn.ts-btn--green.ts-btn--sm:active {
  background-color: #065F46 !important;
  background: #065F46 !important;
  border-color: #065F46 !important;
  color: #fff !important;
}

.ts-btn--navy      { background: var(--ts-navy); color: #fff; border-color: var(--ts-navy); }
.ts-btn--navy:hover { background: var(--ts-navy-light); border-color: var(--ts-navy-light); box-shadow: 0 8px 24px rgba(9,17,43,.3); color: #fff; }

.ts-btn--outline-white { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.ts-btn--outline-white:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.9); color: #fff; }

.ts-btn--ghost     { background: transparent; color: var(--ts-blue); border-color: var(--ts-blue); }
.ts-btn--ghost:hover { background: var(--ts-blue-pale); color: var(--ts-blue); }

.ts-btn--sm  { height: 44px; padding: 0 var(--ts-sp-4); font-size: 0.8125rem; }
.ts-btn--lg  { height: 58px; padding: 0 var(--ts-sp-8); font-size: 1.0625rem; }
.ts-btn--full { width: 100%; }

/* ── HERO ── */
.ts-hero {
  background: linear-gradient(135deg, var(--ts-navy) 0%, #0f1e52 100%);
  position: relative;
  overflow: hidden;
  padding-block: var(--ts-sp-20) var(--ts-sp-16);
  min-height: 600px;
  display: flex;
  align-items: center;
}
.ts-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 80% at 92% 15%, rgba(0,180,255,.18) 0%, transparent 55%),
    radial-gradient(ellipse 40% 50% at 4% 88%, rgba(14,165,233,.1) 0%, transparent 50%);
  pointer-events: none;
}
.ts-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 55fr 45fr;
  gap: var(--ts-sp-12);
  align-items: center;
}
.ts-hero h1 { color: #fff; margin-bottom: var(--ts-sp-5); }
.ts-hero h1 .accent { color: var(--ts-cyan); }
.ts-hero-sub { font-size: 1.125rem; color: rgba(255,255,255,.7); margin-bottom: var(--ts-sp-8); line-height: 1.7; }
.ts-hero-actions { display: flex; gap: var(--ts-sp-3); flex-wrap: wrap; margin-bottom: var(--ts-sp-6); }
.ts-hero-trust {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-5);
  padding-top: var(--ts-sp-6);
  border-top: 1px solid rgba(255,255,255,.1);
  flex-wrap: wrap;
}
.ts-hero-trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgba(255,255,255,.55);
}
.ts-hero-trust-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ts-green);
  flex-shrink: 0;
}

/* Hero checker card */
.ts-hero-checker-card {
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--ts-r-xl);
  padding: var(--ts-sp-6);
}
.ts-hero-checker-title {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: var(--ts-sp-4);
}
.ts-hero-checker-title span { color: var(--ts-cyan); }

/* ── PAGE HERO (interior pages) ── */
.ts-page-hero {
  background: linear-gradient(135deg, var(--ts-navy) 0%, #0f1e52 100%);
  padding-block: var(--ts-sp-12) var(--ts-sp-10);
  position: relative;
  overflow: hidden;
}
.ts-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 65% 65% at 75% 25%, rgba(0,180,255,.15) 0%, transparent 60%);
  pointer-events: none;
}
.ts-page-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 720px;
}
.ts-page-hero h1 { color: #fff; margin-bottom: var(--ts-sp-4); }
.ts-page-hero .ts-page-hero-sub { font-size: 1.125rem; color: rgba(255,255,255,.65); line-height: 1.7; }

/* Breadcrumb */
.ts-breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-2);
  font-size: 0.8125rem;
  margin-bottom: var(--ts-sp-4);
  flex-wrap: wrap;
}
.ts-breadcrumb a {
  color: #F8FAFC;
  font-weight: 600;
  text-decoration: none;
}
.ts-breadcrumb a:hover,
.ts-breadcrumb a:focus-visible { color: #7DD3FC; }
.ts-breadcrumb-sep,
.ts-breadcrumb span[aria-hidden="true"] { color: rgba(215,227,242,.62); }
.ts-breadcrumb-current { color: #D7E3F2; font-weight: 700; }

/* ── STATS BAR ── */
.ts-stats-bar {
  background: var(--ts-navy-mid);
  padding-block: var(--ts-sp-5);
}
.ts-stats-inner {
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: var(--ts-sp-6);
  flex-wrap: wrap;
}
.ts-stat { text-align: center; flex: 1; min-width: 110px; }
.ts-stat-num {
  font-family: var(--ts-font-display);
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--ts-cyan);
  line-height: 1;
  margin-bottom: 4px;
}
.ts-stat-label {
  font-family: var(--ts-font-display);
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,.78);
}
.ts-stat-sep { width: 1px; height: 40px; background: rgba(255,255,255,.1); flex-shrink: 0; }

/* ── CARDS ── */
.ts-card {
  background: var(--ts-white);
  border: 1px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  box-shadow: var(--ts-shadow-sm);
  overflow: hidden;
  transition: box-shadow var(--ts-ease), transform var(--ts-ease), border-color var(--ts-ease);
}
.ts-card:hover { box-shadow: var(--ts-shadow-md); transform: translateY(-2px); }

/* Service cards */
.ts-service-card {
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-xl);
  padding: var(--ts-sp-8);
  box-shadow: var(--ts-shadow-sm);
  transition: all 0.22s ease;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-4);
}
.ts-service-card:hover {
  box-shadow: var(--ts-shadow-lg);
  transform: translateY(-4px);
  border-color: var(--ts-blue);
  color: inherit;
}
.ts-service-icon {
  width: 56px; height: 56px;
  border-radius: var(--ts-r-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.75rem;
  flex-shrink: 0;
}
.ts-service-icon--blue   { background: #dbeafe; }
.ts-service-icon--teal   { background: #e0f2fe; }
.ts-service-icon--green  { background: #d1fae5; }
.ts-service-icon--orange { background: #ffedd5; }
.ts-service-icon--purple { background: #ede9fe; }
.ts-service-from { font-size: 0.8125rem; color: var(--ts-gray-500); }
.ts-service-from strong { display: block; font-family: var(--ts-font-display); font-size: 1.375rem; font-weight: 800; color: var(--ts-navy); margin-top: 2px; }
.ts-service-card h3 { color: var(--ts-navy); font-size: 1.25rem; }
.ts-service-desc { font-size: 0.9375rem; color: var(--ts-gray-600); flex: 1; }
.ts-service-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ts-blue);
  margin-top: auto;
}
.ts-service-cta::after { content: '\2192'; transition: transform var(--ts-ease); }
.ts-service-card:hover .ts-service-cta::after,
.ts-window-card:hover .ts-service-cta::after {
  transform: translateX(4px);
}

/* ── WINDOW CARDS (Seeley "Rounded Window" pattern) ── */
.ts-window-card {
  background: var(--ts-dark-card);
  border: var(--ts-window-border);
  border-radius: var(--ts-window-radius);
  box-shadow: var(--ts-window-shadow);
  padding: var(--ts-sp-8);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
  color: var(--ts-on-dark);
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-4);
}
.ts-window-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(13, 21, 32, 0.6);
  color: var(--ts-on-dark);
}
.ts-window-card h3 {
  font-size: 1.25rem;
  color: var(--ts-on-dark);
}
.ts-window-card p {
  font-size: 0.9375rem;
  color: var(--ts-on-dark-muted);
  flex: 1;
}
.ts-window-card .ts-service-from {
  color: var(--ts-on-dark-muted);
}
.ts-window-card .ts-service-from strong {
  color: var(--ts-on-dark);
}
.ts-window-card .ts-service-cta {
  color: var(--ts-blue-bright);
}
/* Color accent bar at top of each card */
.ts-window-card[data-service="internet"] { border-top: 3px solid var(--ts-blue-bright); }
.ts-window-card[data-service="tv"]       { border-top: 3px solid var(--ts-purple); }
.ts-window-card[data-service="phone"]    { border-top: 3px solid var(--ts-green); }
.ts-window-card[data-service="business"] { border-top: 3px solid var(--ts-orange); }
.ts-window-card[data-service="support"]  { border-top: 3px solid var(--ts-teal); }
.ts-window-card[data-service="web"]      { border-top: 3px solid var(--ts-cyan); }

/* Glassmorphism variant for dark backgrounds */
.ts-window-card--glass {
  background: rgba(26, 40, 64, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* ── PLAN CARDS ── */
.ts-plan-card {
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-xl);
  padding: var(--ts-sp-6) var(--ts-sp-5) var(--ts-sp-5);
  position: relative;
  box-shadow: var(--ts-shadow-sm);
  transition: all 0.22s ease;
  cursor: pointer;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.ts-plan-card:hover {
  border-color: var(--ts-blue-bright);
  transform: translateY(-3px);
  box-shadow: var(--ts-shadow-md);
}
.ts-plan-card.is-featured {
  border-color: var(--ts-orange);
  box-shadow: 0 0 0 1px var(--ts-orange), var(--ts-shadow-md);
}
.ts-plan-card.is-popular {
  border-color: var(--ts-blue);
  box-shadow: 0 0 0 1px var(--ts-blue), var(--ts-shadow-md);
}
.ts-plan-card.is-fibre {
  border-color: #7c3aed;
  box-shadow: 0 0 0 1px #7c3aed, var(--ts-shadow-md);
}

/* ── Web service pillar cards: dark theme to match site style ── */
.ts-web-pillars .ts-web-pillar {
  background: var(--ts-dark-surface, #1A2640);
  border-color: rgba(255,255,255,0.08);
}
.ts-web-pillars .ts-web-pillar h3 { color: var(--ts-on-dark, #F0F4F8); }
.ts-web-pillars .ts-web-pillar p  { color: var(--ts-on-dark-muted, #9DB0C2); }
.ts-web-pillars .ts-web-pillar .ts-web-pillar-price { color: var(--ts-blue-bright, #60A5FA); }
.ts-web-pillars .ts-web-pillar .ts-web-pillar-icon { background: rgba(255,255,255,0.08); }
/* Icon: hide overflowing text (PHP template read-only), inject emoji via ::before */
.ts-web-pillar-icon { overflow: hidden; font-size: 0 !important; }
.ts-web-pillars .ts-web-pillar:nth-child(1) .ts-web-pillar-icon::before { content: '🎯'; font-size: 2.25rem; }
.ts-web-pillars .ts-web-pillar:nth-child(2) .ts-web-pillar-icon::before { content: '🔨'; font-size: 2.25rem; }
.ts-web-pillars .ts-web-pillar:nth-child(3) .ts-web-pillar-icon::before { content: '📈'; font-size: 2.25rem; }

.ts-plan-ribbon {
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  padding: 3px 12px;
  border-radius: var(--ts-r-full);
  font-family: var(--ts-font-display);
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #fff;
  white-space: nowrap;
}
.ts-plan-ribbon--orange  { background: var(--ts-orange); }
.ts-plan-ribbon--blue    { background: var(--ts-blue); }
.ts-plan-ribbon--purple  { background: #7c3aed; }
.ts-plan-type {
  font-family: var(--ts-font-display);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ts-gray-400);
  margin-bottom: 3px;
}
.ts-plan-speed {
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--ts-teal);
  margin-bottom: 4px;
}
.ts-plan-name {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-3);
}
.ts-plan-price {
  font-family: var(--ts-font-display);
  font-size: 2.25rem;
  font-weight: 800;
  color: var(--ts-navy);
  line-height: 1;
  margin-bottom: 3px;
}
.ts-plan-price sup { font-size: 1rem; vertical-align: top; margin-top: 5px; }
/* Cents and /mo stay smaller but take the dollar amount's own colour, so the
   price reads as one figure. `inherit` rather than a literal white: these cards
   render on dark backgrounds today, and a hardcoded white would turn invisible
   the day one is dropped onto a light section. The dark-theme overrides that
   used to grey this out were removed rather than restated. */
.ts-plan-price sub { font-size: 0.75rem; color: inherit; font-weight: 500; vertical-align: baseline; }
.ts-plan-note { font-size: 0.6875rem; color: var(--ts-gray-400); margin-bottom: var(--ts-sp-4); }
.ts-plan-features {
  text-align: left;
  border-top: 1px solid var(--ts-gray-100);
  padding-top: var(--ts-sp-4);
  margin-bottom: var(--ts-sp-5);
  flex: 1;
}
.ts-plan-feature {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.8125rem;
  color: var(--ts-gray-600);
  padding-block: 4px;
  line-height: 1.5;
}
.ts-plan-feature .check {
  color: var(--ts-green);
  font-weight: 800;
  flex-shrink: 0;
  margin-top: 1px;
}
.ts-plan-cta { margin-top: auto; }

/* Plan tabs */
.ts-plan-tabs {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-2);
  justify-content: center;
  margin-bottom: var(--ts-sp-8);
  flex-wrap: wrap;
}
.ts-plan-tab {
  padding: 9px 20px;
  border-radius: var(--ts-r-full);
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ts-gray-600);
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  cursor: pointer;
  transition: all 0.18s ease;
}
.ts-plan-tab:hover { border-color: var(--ts-blue-bright); color: var(--ts-blue); }
.ts-plan-tab.is-active {
  background: var(--ts-navy);
  color: #fff;
  border-color: var(--ts-navy);
}
.ts-plan-section { display: none; }
.ts-plan-section.is-active { display: grid; }

/* ── COMPARISON TABLE ── */
.ts-compare-wrap { margin-block: var(--ts-sp-8); overflow-x: auto; }
.ts-compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--ts-sp-4);
  min-width: 560px;
}
.ts-compare-card { border: 1.5px solid var(--ts-gray-200); border-radius: var(--ts-r-lg); overflow: hidden; }
.ts-compare-card.is-winner { border-color: var(--ts-blue); box-shadow: 0 0 0 1px var(--ts-blue), var(--ts-shadow-md); }
.ts-compare-hdr {
  padding: 13px 16px;
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 9px;
}
.ts-compare-hdr--ts   { background: var(--ts-navy); color: #7dd3fc; }
.ts-compare-hdr--bell { background: #0074C8; color: #fff; }
.ts-compare-hdr--cog  { background: #E31837; color: #fff; }
.ts-compare-logo-mark {
  width: 26px; height: 26px;
  border-radius: 6px;
  background: rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 900;
  flex-shrink: 0;
}
.ts-compare-body { background: var(--ts-white); padding: 10px 16px; }
.ts-compare-row {
  display: flex; flex-direction: column;
  padding: 6px 0;
  border-bottom: 1px solid var(--ts-gray-100);
}
.ts-compare-row:last-child { border-bottom: none; }
.ts-compare-row-label { font-family: var(--ts-font-display); font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ts-gray-400); }
.ts-compare-row-val { font-family: var(--ts-font-display); font-size: 0.875rem; font-weight: 700; color: var(--ts-gray-800); margin-top: 2px; }
.ts-compare-row-val.good { color: var(--ts-green-dark); }
.ts-compare-row-val.bad  { color: var(--ts-red); }
.ts-compare-footer { padding: 8px 16px 12px; background: var(--ts-gray-50); text-align: center; }
.ts-compare-winner-badge {
  font-family: var(--ts-font-display);
  font-size: 0.6875rem;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: var(--ts-r-full);
}
.ts-compare-winner-badge.good { background: #d1fae5; color: var(--ts-green-dark); }
.ts-compare-winner-badge.bad  { background: #fee2e2; color: #991b1b; }
.ts-compare-disclaimer { font-size: 0.75rem; color: var(--ts-gray-400); text-align: center; margin-top: var(--ts-sp-4); line-height: 1.6; }

/* ── WHY TRUESPEED / FEATURES ── */
.ts-feature-card {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-4);
  padding: var(--ts-sp-6);
  background: var(--ts-white);
  border: 1px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  box-shadow: var(--ts-shadow-xs);
}
.ts-feature-icon-wrap {
  width: 50px; height: 50px;
  border-radius: var(--ts-r-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.ts-feature-content h3 { font-size: 1.0625rem; color: var(--ts-navy); margin-bottom: 5px; }
.ts-feature-content p { font-size: 0.9rem; color: var(--ts-gray-600); line-height: 1.65; }

/* ── SPLIT / TWO-COLUMN SECTIONS ── */
.ts-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--ts-sp-12);
  align-items: center;
}
.ts-split.ts-split--reverse > *:first-child { order: 2; }
.ts-split.ts-split--reverse > *:last-child  { order: 1; }
.ts-split-image {
  border-radius: var(--ts-r-xl);
  overflow: hidden;
  box-shadow: var(--ts-shadow-xl);
}
.ts-split-image img { width: 100%; height: 100%; object-fit: cover; }

/* ── REVIEWS ── */
.ts-review-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--ts-r-lg);
  padding: var(--ts-sp-5);
}
.ts-review-stars { color: #f59e0b; font-size: 1rem; letter-spacing: 1px; margin-bottom: var(--ts-sp-2); }
.ts-review-text {
  font-size: 0.9375rem;
  color: rgba(255,255,255,.75);
  line-height: 1.7;
  font-style: italic;
  margin-bottom: var(--ts-sp-4);
}
.ts-review-author { display: flex; align-items: center; gap: var(--ts-sp-3); }
.ts-review-avatar {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--ts-blue);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 800;
  flex-shrink: 0;
}
.ts-review-name { font-family: var(--ts-font-display); font-weight: 700; font-size: 0.875rem; color: #fff; }
.ts-review-source { font-size: 0.75rem; color: rgba(255,255,255,.4); }
.ts-review-platform { font-size: 0.6875rem; font-family: var(--ts-font-display); font-weight: 700; color: rgba(255,255,255,.35); margin-left: auto; flex-shrink: 0; }

/* ── FAQ / ACCORDION ── */
.ts-accordion { display: flex; flex-direction: column; gap: var(--ts-sp-2); }
.ts-accordion-item {
  background: var(--ts-white);
  border: 1px solid var(--ts-gray-200);
  border-radius: var(--ts-r-md);
  overflow: hidden;
}
.ts-accordion-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ts-sp-4);
  padding: var(--ts-sp-5);
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--ts-navy);
  text-align: left;
  transition: background var(--ts-ease);
}
.ts-accordion-trigger:hover { background: var(--ts-gray-50); }
.ts-accordion-trigger[aria-expanded="true"] { color: var(--ts-blue); background: var(--ts-blue-pale); }
.ts-accordion-icon { font-size: 1rem; flex-shrink: 0; transition: transform 0.22s ease; color: var(--ts-gray-400); }
.ts-accordion-trigger[aria-expanded="true"] .ts-accordion-icon { transform: rotate(180deg); color: var(--ts-blue); }
.ts-accordion-content {
  padding: 0 var(--ts-sp-5) var(--ts-sp-5);
  font-size: 0.9375rem;
  color: var(--ts-gray-600);
  line-height: 1.7;
  display: none;
  border-top: 1px solid var(--ts-gray-100);
  padding-top: var(--ts-sp-4);
}
.ts-accordion-content.open,
.ts-accordion-content.is-open { display: block; }
.ts-accordion-content a { color: var(--ts-blue); }

/* ── FORMS ── */
.ts-form-group { display: flex; flex-direction: column; gap: 5px; }
.ts-form-label {
  font-family: var(--ts-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ts-gray-500);
}
.ts-form-input {
  width: 100%;
  height: 48px;
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-md);
  padding-inline: var(--ts-sp-4);
  font-family: var(--ts-font-body);
  font-size: 0.9375rem;
  color: var(--ts-gray-800);
  outline: none;
  transition: border-color var(--ts-ease), box-shadow var(--ts-ease);
  box-shadow: var(--ts-shadow-xs);
}
.ts-form-input::placeholder { color: var(--ts-gray-400); }
.ts-form-input:focus { border-color: var(--ts-blue-bright); box-shadow: 0 0 0 3px rgba(59,130,246,.12); }
.ts-form-input.is-error { border-color: var(--ts-red); }
.ts-form-textarea {
  width: 100%;
  min-height: 120px;
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-md);
  padding: var(--ts-sp-3) var(--ts-sp-4);
  font-family: var(--ts-font-body);
  font-size: 0.9375rem;
  color: var(--ts-gray-800);
  resize: vertical;
  outline: none;
  transition: border-color var(--ts-ease);
}
.ts-form-textarea:focus { border-color: var(--ts-blue-bright); box-shadow: 0 0 0 3px rgba(59,130,246,.10); }
.ts-form-error { font-size: 0.8125rem; color: var(--ts-red); font-family: var(--ts-font-display); font-weight: 600; }

/* ── BADGES & CHIPS ── */
.ts-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: var(--ts-r-full);
  font-family: var(--ts-font-display);
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ts-badge--blue   { background: #dbeafe; color: #1e40af; }
.ts-badge--green  { background: #d1fae5; color: var(--ts-green-dark); }
.ts-badge--orange { background: #ffedd5; color: #c2410c; }
.ts-badge--purple { background: #ede9fe; color: #6d28d9; }
.ts-badge--gray   { background: var(--ts-gray-100); color: var(--ts-gray-600); }

/* ── ALERTS / INFO BOXES ── */
.ts-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-3);
  padding: var(--ts-sp-4) var(--ts-sp-5);
  border-radius: var(--ts-r-md);
  font-size: 0.9375rem;
  line-height: 1.65;
}
.ts-alert-icon { font-size: 1.125rem; flex-shrink: 0; margin-top: 1px; }
.ts-alert--blue   { background: var(--ts-blue-pale); border: 1.5px solid #bfdbfe; color: #1e40af; }
.ts-alert--green  { background: #d1fae5; border: 1.5px solid #6ee7b7; color: #065f46; }
.ts-alert--amber  { background: #fffbeb; border: 1.5px solid #fcd34d; color: #92400e; }
.ts-alert--red    { background: #fee2e2; border: 1.5px solid #fca5a5; color: #991b1b; }
.ts-alert--red p,
.ts-alert--red strong { color: #7F1D1D; }

/* ── CTA BAND ── */
.ts-cta-band {
  background: linear-gradient(135deg, var(--ts-navy) 0%, #0f1e52 100%);
  padding-block: var(--ts-sp-16);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ts-cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 60% at 75% 40%, rgba(0,180,255,.12) 0%, transparent 60%);
  pointer-events: none;
}
.ts-cta-band .ts-container { position: relative; z-index: 1; }
.ts-cta-band h2 { color: #fff; margin-bottom: var(--ts-sp-4); }
.ts-cta-band p { color: rgba(255,255,255,.65); font-size: 1.125rem; margin-bottom: var(--ts-sp-8); max-width: 560px; text-align: center; margin-inline: auto; }
.ts-cta-actions { display: flex; gap: var(--ts-sp-3); justify-content: center; flex-wrap: wrap; }

@media (min-width: 641px) and (max-width: 900px) {
  .ts-cta-band .ts-cta-actions {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: center;
    gap: var(--ts-sp-3);
  }

  .ts-cta-band .ts-cta-actions .ts-btn {
    width: auto !important;
    min-width: 190px;
    max-width: none;
    flex: 0 0 auto;
    justify-content: center;
  }
}

/* ── BLOG / POST CARDS ── */
.ts-post-card {
  background: var(--ts-white);
  border: 1px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  overflow: hidden;
  box-shadow: var(--ts-shadow-sm);
  transition: all 0.2s ease;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
}
.ts-post-card:hover { box-shadow: var(--ts-shadow-md); transform: translateY(-3px); color: inherit; }
.ts-post-thumb { aspect-ratio: 16/9; overflow: hidden; background: var(--ts-gray-100); }
.ts-post-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.ts-post-card:hover .ts-post-thumb img { transform: scale(1.04); }
.ts-post-body { padding: var(--ts-sp-5); flex: 1; display: flex; flex-direction: column; }
.ts-post-meta { display: flex; align-items: center; gap: var(--ts-sp-2); font-size: 0.75rem; color: var(--ts-gray-400); margin-bottom: var(--ts-sp-2); flex-wrap: wrap; }
.ts-post-cat {
  background: var(--ts-blue-pale);
  color: var(--ts-blue);
  padding: 2px 9px;
  border-radius: var(--ts-r-full);
  font-family: var(--ts-font-display);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.ts-post-title { font-family: var(--ts-font-display); font-size: 1.0625rem; font-weight: 700; color: var(--ts-navy); line-height: 1.35; margin-bottom: var(--ts-sp-2); }
.ts-post-excerpt { font-size: 0.875rem; color: var(--ts-gray-600); line-height: 1.65; flex: 1; }
.ts-post-read-more { font-family: var(--ts-font-display); font-size: 0.8125rem; font-weight: 700; color: var(--ts-blue); margin-top: var(--ts-sp-4); display: flex; align-items: center; gap: 4px; }
.ts-post-read-more::after { content: '→'; transition: transform var(--ts-ease); }
.ts-post-card:hover .ts-post-read-more::after { transform: translateX(4px); }

/* ── SUPPORT HUB CARDS ── */
.ts-support-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--ts-sp-3);
  padding: var(--ts-sp-8);
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-xl);
  box-shadow: var(--ts-shadow-sm);
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
}
.ts-support-card:hover {
  box-shadow: var(--ts-shadow-lg);
  transform: translateY(-4px);
  border-color: var(--ts-blue);
  color: inherit;
}
.ts-support-card-icon { font-size: 2.25rem; }
.ts-support-card h3 { font-size: 1.125rem; color: var(--ts-navy); }
.ts-support-card p { font-size: 0.875rem; color: var(--ts-gray-500); line-height: 1.6; }

/* ── FOOTER ── */
.ts-footer {
  background: var(--ts-navy);
  padding-top: var(--ts-sp-16);
  padding-bottom: var(--ts-sp-8);
}
.ts-footer-grid {
  display: grid;
  grid-template-columns: minmax(320px, 1.7fr) repeat(3, minmax(150px, .85fr));
  gap: var(--ts-sp-10);
  margin-bottom: var(--ts-sp-10);
}
.ts-footer-brand {
  max-width: 520px;
}
.ts-footer-brand .ts-logo img { height: 42px; margin-bottom: var(--ts-sp-5); }
.ts-footer-brand p {
  max-width: 420px;
  font-size: 0.95rem;
  color: var(--ts-on-dark-muted, rgba(255,255,255,.78));
  line-height: 1.75;
  margin-bottom: var(--ts-sp-5);
}
.ts-footer-contact-links {
  display: grid;
  gap: var(--ts-sp-2);
}
.ts-footer-contact-links a {
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  color: var(--ts-on-dark, #F8FAFC);
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  transition: color var(--ts-ease);
}
.ts-footer-contact-links a:hover { color: #93C5FD; }
.ts-footer-contact-links a[href^="tel"] {
  color: var(--ts-on-dark, #F8FAFC) !important;
}
.ts-footer-contact-links a[href^="tel"]:hover {
  color: #fff !important;
}
.ts-footer-phone-combo {
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin: 0;
  color: var(--ts-on-dark, #F8FAFC);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.45;
}
.ts-footer-phone-combo-text {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.ts-footer-phone-combo .ts-footer-phone-combo-text a {
  display: inline;
  width: auto;
  color: inherit !important;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.ts-footer-phone-combo .ts-footer-phone-combo-text a:hover {
  color: #ffffffc7 !important;
}
.ts-footer-tollfree {
  font-size: .75rem;
  opacity: .6;
}
.ts-footer-phone-icon {
  width: 34px;
  height: 34px;
  border-radius: var(--ts-r-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  color: var(--ts-blue-bright, #38BDF8);
  background: rgba(14,165,233,.14);
  border: 1px solid rgba(56,189,248,.18);
}
.ts-footer-phone-icon svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
}
.ts-footer-contact-icon {
  width: 34px;
  height: 34px;
  border-radius: var(--ts-r-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  color: var(--ts-blue-bright, #38BDF8);
  background: rgba(14,165,233,.14);
  border: 1px solid rgba(56,189,248,.18);
  font-size: .95rem;
  line-height: 1;
}
.ts-footer-address,
.ts-footer-hours {
  max-width: 380px;
  color: var(--ts-on-dark-soft, rgba(255,255,255,.64));
  line-height: 1.55;
}
.ts-footer-address {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 0;
  font-size: .9rem;
  width: fit-content;
  text-decoration: none;
  cursor: pointer;
}
.ts-footer-address-mobile-comma {
  display: none;
}
.ts-footer-address-tablet-break {
  display: none;
}
.ts-footer-hours {
  display: block;
  font-size: .8125rem;
  margin-top: var(--ts-sp-4);
}
.ts-footer-tablet-hours-card {
  display: none;
}
.ts-footer-contact-links a[href^="mailto"],
.ts-footer-address {
  color: var(--ts-on-dark, #F8FAFC) !important;
}
.ts-footer-contact-links a[href^="mailto"]:hover {
  color: #fff !important;
}
.ts-footer-social {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-3);
  flex-wrap: wrap;
  margin-top: var(--ts-sp-5);
  padding-top: var(--ts-sp-5);
  border-top: 1px solid rgba(255,255,255,.08);
}
.ts-footer-social a {
  color: #93C5FD;
  font-family: var(--ts-font-display);
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  transition: color var(--ts-ease);
}
.ts-footer-social a:hover { color: #BFDBFE; }
.ts-footer-col h3,
.ts-footer-col h4 {
  font-family: var(--ts-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  margin-bottom: var(--ts-sp-4);
}
.ts-footer-col ul { display: flex; flex-direction: column; gap: var(--ts-sp-1); }
.ts-footer-col ul li a {
  font-size: 0.9rem;
  color: rgba(255,255,255,.75);
  display: inline-block;
  padding-block: 3px;
  transition: color var(--ts-ease);
  text-decoration: none;
}
.ts-footer-col ul li a:hover { color: #fff; }
.ts-footer-divider { display: none; }
.ts-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ts-sp-4);
  flex-wrap: wrap;
  padding-top: var(--ts-sp-5);
}

@media (min-width: 1181px) {
  .ts-footer-grid > .ts-footer-col {
    padding-top: calc(42px + var(--ts-sp-5));
  }
}

.ts-footer-copy { font-size: 0.8125rem; color: rgba(255,255,255,.55); }
.ts-footer-legal { display: flex; flex-wrap: wrap; gap: var(--ts-sp-2) var(--ts-sp-3); }
.ts-footer-legal a {
  font-size: 0.75rem;
  color: rgba(255,255,255,.55);
  white-space: nowrap;
  text-decoration: none;
  transition: color var(--ts-ease);
}
.ts-footer-legal a:hover { color: #93C5FD; text-decoration: none; }
.ts-footer-accreditations {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--ts-sp-3);
  margin-top: var(--ts-sp-6);
}
.ts-footer-cert {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 56px;
  font-family: var(--ts-font-display);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: rgba(255,255,255,.72);
  padding: 10px 12px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--ts-r-md);
  line-height: 1.35;
  text-align: center;
}

/* ── STICKY MOBILE BAR ── */
.ts-sticky-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 190;
  background: var(--ts-white);
  border-top: 1px solid var(--ts-gray-200);
  padding: var(--ts-sp-3) var(--ts-sp-4);
  display: none;
  gap: var(--ts-sp-2);
  box-shadow: 0 -4px 20px rgba(9,17,43,.12);
}
.ts-sticky-cta .ts-btn { flex: 1; height: 46px; font-size: 0.875rem; }

/* ── AVAILABILITY CHECKER (embedded) ── */
.ts-checker-embed {
  background: var(--ts-white);
  border: 1px solid var(--ts-gray-200);
  border-radius: var(--ts-r-xl);
  box-shadow: var(--ts-shadow-lg);
  overflow: hidden;
  max-width: 680px;
  margin-inline: auto;
}
.ts-checker-header {
  background: linear-gradient(135deg, var(--ts-navy) 0%, #0f1e52 100%);
  padding: var(--ts-sp-6) var(--ts-sp-8) var(--ts-sp-5);
  position: relative;
  overflow: hidden;
}
.ts-checker-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 65% 70% at 88% 18%, rgba(0,180,255,.2) 0%, transparent 55%);
  pointer-events: none;
}
.ts-checker-header > * { position: relative; z-index: 1; }

/* Checker mini-logo row */
.ts-checker-logo-row { display: flex; align-items: center; gap: var(--ts-sp-3); margin-bottom: var(--ts-sp-4); }
.ts-checker-logo-row img { height: 34px; }

/* ── PAGE-SPECIFIC OVERRIDES ── */
.ts-entry-content {
  max-width: 760px;
  margin-inline: auto;
  padding-block: var(--ts-sp-12);
}
.ts-entry-content h2, .ts-entry-content h3 { margin-block: var(--ts-sp-8) var(--ts-sp-4); }
.ts-entry-content p { margin-bottom: var(--ts-sp-5); color: var(--ts-gray-700); }
.ts-entry-content ul, .ts-entry-content ol { margin-block: var(--ts-sp-4); padding-left: var(--ts-sp-6); }
.ts-entry-content ul { list-style: disc; }
.ts-entry-content ol { list-style: decimal; }
.ts-entry-content li { margin-bottom: var(--ts-sp-2); color: var(--ts-gray-700); }
.ts-entry-content a { text-decoration: underline; }
.ts-entry-content hr { border: none; border-top: 1px solid var(--ts-gray-200); margin-block: var(--ts-sp-8); }
.ts-entry-content blockquote {
  border-left: 4px solid var(--ts-blue);
  margin-block: var(--ts-sp-6);
  padding: var(--ts-sp-4) var(--ts-sp-6);
  background: var(--ts-blue-pale);
  border-radius: 0 var(--ts-r-sm) var(--ts-r-sm) 0;
  font-style: italic;
  color: var(--ts-gray-700);
}

/* ── LEGAL BLOCK PAGES: NETWORK MANAGEMENT + CASL ── */
body.page-id-334 .ts-content,
body.page-id-335 .ts-content {
  max-width: var(--ts-max-width);
  margin-inline: auto;
}

body.page-id-334 .ts-section,
body.page-id-335 .ts-section {
  padding-top: var(--ts-sp-8);
}

body.page-id-334 .ts-content > .wp-block-group.alignfull:first-child,
body.page-id-335 .ts-content > .wp-block-group.alignfull:first-child {
  display: none;
}

body.page-id-334 .ts-content > .wp-block-group.alignfull,
body.page-id-335 .ts-content > .wp-block-group.alignfull {
  margin-inline: 0 !important;
}

body.page-id-334 .ts-content > .wp-block-group.alignfull:not(:first-child),
body.page-id-335 .ts-content > .wp-block-group.alignfull:not(:first-child) {
  background: transparent !important;
}

body.page-id-334 .ts-content > .wp-block-group.alignfull:not(:first-child),
body.page-id-335 .ts-content > .wp-block-group.alignfull:not(:first-child) {
  padding-top: 0 !important;
  padding-inline: 0 !important;
}

body.page-id-334 .ts-content > .wp-block-group.alignfull > .wp-block-group__inner-container,
body.page-id-335 .ts-content > .wp-block-group.alignfull > .wp-block-group__inner-container {
  max-width: var(--ts-max-width);
  margin-inline: auto;
}

body.page-id-334 .ts-content h2,
body.page-id-335 .ts-content h2 {
  color: var(--ts-white) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  margin: var(--ts-sp-8) 0 var(--ts-sp-3) !important;
  padding-top: var(--ts-sp-4);
  border-top: 2px solid rgba(255, 255, 255, .12);
}

body.page-id-334 .ts-content > .wp-block-group.alignfull:first-child h1,
body.page-id-335 .ts-content > .wp-block-group.alignfull:first-child h1 {
  color: var(--ts-white) !important;
  font-size: clamp(1.875rem, 5vw, 3.25rem) !important;
}

body.page-id-334 .ts-content > .wp-block-group.alignfull:first-child p,
body.page-id-335 .ts-content > .wp-block-group.alignfull:first-child p {
  color: rgba(255, 255, 255, .82) !important;
}

body.page-id-334 .ts-content > .wp-block-group.alignfull:not(:first-child) h2,
body.page-id-335 .ts-content > .wp-block-group.alignfull:not(:first-child) h2,
body.page-id-334 .ts-content > .wp-block-group.alignfull:not(:first-child) h3,
body.page-id-335 .ts-content > .wp-block-group.alignfull:not(:first-child) h3,
body.page-id-334 .ts-content > .wp-block-group.alignfull:not(:first-child) strong,
body.page-id-335 .ts-content > .wp-block-group.alignfull:not(:first-child) strong {
  color: var(--ts-white) !important;
}

body.page-id-334 .ts-content h2:first-of-type,
body.page-id-335 .ts-content h2:first-of-type {
  margin-top: 0 !important;
  padding-top: 0;
  border-top: 0;
}

body.page-id-334 .ts-content h3,
body.page-id-335 .ts-content h3 {
  color: var(--ts-white) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  margin: var(--ts-sp-5) 0 var(--ts-sp-2) !important;
}

body.page-id-334 .ts-content p,
body.page-id-335 .ts-content p,
body.page-id-334 .ts-content li,
body.page-id-335 .ts-content li {
  color: rgba(255, 255, 255, .82) !important;
  font-size: 1rem;
  line-height: 1.85;
}

body.page-id-334 .ts-content ul,
body.page-id-335 .ts-content ul {
  display: grid;
  gap: var(--ts-sp-2);
  margin: var(--ts-sp-3) 0 var(--ts-sp-5);
  padding-left: 1.25rem;
  list-style: disc;
}

body.page-id-334 .ts-content li,
body.page-id-335 .ts-content li {
  padding-left: var(--ts-sp-1);
}

body.page-id-334 .ts-content a,
body.page-id-335 .ts-content a {
  color: #93C5FD;
  font-weight: 700;
}

body.page-id-334 .ts-content a:hover,
body.page-id-335 .ts-content a:hover {
  color: #BFDBFE;
}

body.page-id-334 .ts-content > .wp-block-group.alignfull:last-child > p:last-child,
body.page-id-335 .ts-content > .wp-block-group.alignfull:last-child > p:last-child {
  display: inline-flex;
  align-items: center;
  margin-top: var(--ts-sp-8) !important;
  color: rgba(255, 255, 255, .62) !important;
  font-size: .875rem !important;
  line-height: 1.4;
}

/* ── 404 PAGE ── */
.error404 .ts-404-page {
  background: #111d2b;
  color: #fff;
}

.error404 .ts-404-hero {
  padding-block: var(--ts-sp-16);
  background: #0b1946;
  border-bottom: 1px solid rgba(148, 163, 184, .25);
}

.error404 .ts-404-hero-inner {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}

.error404 .ts-404-num {
  margin-block: var(--ts-sp-2) var(--ts-sp-3);
  color: #38bdf8;
  font-family: var(--ts-font-display);
  font-size: 7rem;
  font-weight: 800;
  line-height: .9;
}

.error404 .ts-404-title {
  margin-bottom: var(--ts-sp-4);
  color: #fff;
  font-size: 2.5rem;
}

.error404 .ts-404-sub {
  max-width: 620px;
  margin: 0 auto var(--ts-sp-8);
  color: rgba(255, 255, 255, .74);
  font-size: 1.0625rem;
  line-height: 1.7;
}

.error404 .ts-404-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--ts-sp-3);
}

.error404 .ts-404-destinations {
  background: #111d2b;
}

.error404 .ts-404-destinations .ts-section-head h2 {
  color: #fff;
}

.error404 .ts-404-destinations .ts-section-head {
  margin-bottom: var(--ts-sp-8);
}

.error404 .ts-404-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ts-sp-4);
}

.error404 .ts-404-link-card {
  display: flex;
  min-height: 180px;
  padding: var(--ts-sp-6);
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid rgba(148, 163, 184, .22);
  border-left: 3px solid #38bdf8;
  border-radius: 8px;
  background: #1c2d48;
  color: #fff;
  transition: transform .2s ease;
}

.error404 .ts-404-link-card:hover,
.error404 .ts-404-link-card:focus-visible {
  border-color: rgba(148, 163, 184, .22);
  border-left-color: #38bdf8;
  background: #1c2d48;
  color: #fff;
  transform: translateY(-4px);
}

.error404 .ts-404-link-title {
  margin-bottom: var(--ts-sp-3);
  font-family: var(--ts-font-display);
  font-size: 1.125rem;
  font-weight: 700;
}

.error404 .ts-404-link-copy {
  color: rgba(255, 255, 255, .72);
  font-size: .9375rem;
  line-height: 1.6;
}

.error404 .ts-404-link-action {
  margin-top: auto;
  padding-top: var(--ts-sp-3);
  color: #60a5fa;
  font-size: .875rem;
  font-weight: 700;
}

.error404 .ts-404-link-action span {
  display: inline-block;
  transition: transform var(--ts-ease);
}

.error404 .ts-404-link-card:hover .ts-404-link-action span,
.error404 .ts-404-link-card:focus-visible .ts-404-link-action span {
  transform: translateX(4px);
}

.error404 .ts-404-contact {
  margin: var(--ts-sp-8) 0 0;
  color: rgba(255, 255, 255, .68);
  text-align: center;
}

.error404 .ts-404-contact a {
  color: #7dd3fc;
  font-weight: 700;
}

.error404 .ts-404-contact a:hover,
.error404 .ts-404-contact a:focus-visible {
  color: #fff;
}

@media (max-width: 1024px) {
  .error404 .ts-404-links {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--ts-sp-3);
  }

  .error404 .ts-404-link-card {
    min-height: 150px;
    padding: var(--ts-sp-3);
  }

  .error404 .ts-404-link-title {
    margin-bottom: var(--ts-sp-2);
    font-size: .95rem;
    line-height: 1.3;
  }

  .error404 .ts-404-link-copy,
  .error404 .ts-404-link-action {
    font-size: .75rem;
  }

  .error404 .ts-404-link-action {
    padding-top: var(--ts-sp-2);
  }
}

@media (max-width: 600px) {
  .error404 .ts-404-hero {
    padding-block: var(--ts-sp-12);
  }

  .error404 .ts-404-num {
    font-size: 5rem;
  }

  .error404 .ts-404-title {
    font-size: 1.75rem;
  }

  .error404 .ts-404-actions,
  .error404 .ts-404-actions .ts-btn {
    width: 100%;
  }

  .error404 .ts-404-links {
    grid-template-columns: 1fr;
  }

  .error404 .ts-404-link-card {
    min-height: 0;
  }

  .error404 .ts-404-contact a {
    display: block;
    margin-top: var(--ts-sp-1);
  }
}

/* ── UTILITY ── */
.ts-text-center { text-align: center; }
.ts-text-white  { color: #fff !important; }
.ts-hidden      { display: none !important; }
.ts-visually-hidden { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.ts-mb-4  { margin-bottom: var(--ts-sp-4); }
.ts-mb-6  { margin-bottom: var(--ts-sp-6); }
.ts-mb-8  { margin-bottom: var(--ts-sp-8); }
.ts-mt-8  { margin-top: var(--ts-sp-8); }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .ts-nav-primary { display: none; }
  .ts-hamburger   { display: flex; }
  .ts-hero-inner  { grid-template-columns: 1fr; }
  .ts-hero-checker-card { max-width: 480px; }
  .ts-footer-grid { grid-template-columns: 1fr 1fr; }
  .ts-footer-accreditations { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .ts-grid-3, .ts-grid-4 { grid-template-columns: repeat(2,1fr); }
  .ts-split { grid-template-columns: 1fr; }
  .ts-split.ts-split--reverse > *:first-child { order: 1; }
  .ts-split.ts-split--reverse > *:last-child  { order: 2; }
  .ts-compare-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .ts-hero { padding-block: var(--ts-sp-12); min-height: auto; }
  .ts-sticky-cta { display: flex; }
  body { padding-bottom: 70px; }
  .ts-topbar-left .ts-topbar-sep,
  .ts-topbar-left span:not(:first-child) { display: none; }
  /* WCAG 2.5.8 — 44px touch targets on mobile */
  .ts-footer-col ul li a { padding-block: 10px; min-height: var(--ts-touch-min); display: inline-flex; align-items: center; }
  .ts-footer-legal { flex-wrap: wrap; gap: var(--ts-sp-3); }
  .ts-footer-legal a { padding-block: 6px; }
}

@media (max-width: 600px) {
  .ts-grid-2, .ts-grid-3, .ts-grid-4 { grid-template-columns: 1fr; }
  .ts-container { padding-inline: var(--ts-sp-4); }
  .ts-section { padding-block: var(--ts-sp-10); }
  .ts-section--lg { padding-block: var(--ts-sp-12); }
  .ts-footer-grid { grid-template-columns: 1fr; }
  .ts-footer-bottom { flex-direction: column; text-align: center; }
  .ts-footer-accreditations { grid-template-columns: 1fr; }
  .ts-hero h1 { font-size: clamp(1.75rem, 7vw, 2.5rem); }
}

@media (max-width: 420px) {
  .ts-hero-actions { flex-direction: column; }
  .ts-hero-actions .ts-btn { width: 100%; }
  .ts-plan-tabs { flex-direction: column; align-items: stretch; }
  .ts-plan-tab { text-align: center; }
}

/* ═══════════════════════════════════════════════════
   HOMEPAGE — AWARD / CREDIBILITY STRIP
═══════════════════════════════════════════════════ */
.ts-award-strip {
  background: var(--ts-navy-mid);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: 18px 0;
  overflow: hidden;
}
.ts-award-strip-inner {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-8);
  flex-wrap: wrap;
  justify-content: center;
}
.ts-award-label {
  font-family: var(--ts-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  flex-shrink: 0;
}
.ts-award-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.55);
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
}
.ts-award-item-icon { font-size: 1.1rem; }
.ts-award-sep {
  width: 1px;
  height: 20px;
  background: rgba(255,255,255,.12);
  flex-shrink: 0;
}
.ts-rating-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 40px;
  padding: 6px 14px 6px 10px;
}
.ts-rating-pill-stars { color: #FBC02D; font-size: 0.75rem; letter-spacing: 1px; }
.ts-rating-pill-score {
  font-family: var(--ts-font-display);
  font-size: 1.125rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}
.ts-rating-pill-label { font-size: 0.6875rem; color: rgba(255,255,255,.4); font-family: var(--ts-font-display); letter-spacing: .05em; text-transform: uppercase; }

/* ═══════════════════════════════════════════════════
   HOMEPAGE — WHY TRUESPEED (6-CARD GRID)
═══════════════════════════════════════════════════ */
.ts-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--ts-sp-5);
  margin-top: var(--ts-sp-10);
}
.ts-why-card {
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  padding: var(--ts-sp-6);
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--ts-ease), transform var(--ts-ease), border-color var(--ts-ease);
}
.ts-why-card:hover {
  box-shadow: var(--ts-shadow-lg);
  transform: translateY(-3px);
  border-color: var(--ts-blue-bright);
}
.ts-why-icon {
  font-size: 2rem;
  margin-bottom: var(--ts-sp-4);
  display: block;
}
.ts-why-card h3 {
  font-family: var(--ts-font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-2);
}
.ts-why-card p {
  font-size: 0.875rem;
  color: var(--ts-gray-600);
  line-height: 1.7;
  flex: 1;
}
.ts-why-stat {
  margin-top: var(--ts-sp-5);
  padding-top: var(--ts-sp-4);
  border-top: 1px solid var(--ts-gray-100);
  font-family: var(--ts-font-display);
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--ts-blue);
}
.ts-why-stat span {
  display: block;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--ts-gray-400);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-top: 2px;
}

/* ═══════════════════════════════════════════════════
   HOMEPAGE — PLAN TABS SECTION
═══════════════════════════════════════════════════ */
.ts-plans-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: var(--ts-sp-5);
  margin-bottom: var(--ts-sp-8);
}
.ts-plans-section-header .ts-section-header {
  text-align: left;
  margin-bottom: 0;
}
.ts-plans-panels { position: relative; }
.ts-plans-panel[hidden] { display: none; }
.ts-plans-panel {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--ts-sp-5);
}
.ts-plans-panel.ts-plans-panel--3col {
  grid-template-columns: repeat(3, 1fr);
}
.ts-plans-more {
  text-align: center;
  margin-top: var(--ts-sp-8);
  font-size: 0.9375rem;
  color: var(--ts-gray-500);
}
.ts-plans-more a {
  color: var(--ts-blue);
  font-weight: 700;
  text-decoration: none;
}
.ts-plans-more a:hover { text-decoration: underline; }
.ts-plans-more a:focus-visible { outline: 2px solid var(--ts-blue); outline-offset: 2px; border-radius: 3px; }

/* ═══════════════════════════════════════════════════
   HOMEPAGE — TELECOM COMPARISON TABLE
═══════════════════════════════════════════════════ */
.ts-telecom-wrap {
  overflow-x: auto;
  border-radius: var(--ts-r-lg);
  border: 1.5px solid var(--ts-gray-200);
  box-shadow: var(--ts-shadow-sm);
}
.ts-telecom-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  background: var(--ts-white);
}
.ts-telecom-table thead th {
  padding: 16px 24px;
  font-family: var(--ts-font-display);
  font-weight: 800;
  font-size: 0.875rem;
  text-align: left;
  border-bottom: 2px solid var(--ts-gray-200);
}
.ts-telecom-table th.ts-tc-feature { color: var(--ts-gray-400); width: 40%; }
.ts-telecom-table th.ts-tc-ts {
  background: var(--ts-navy);
  color: #7dd3fc;
  text-align: center;
  width: 30%;
  letter-spacing: .02em;
}
.ts-telecom-table th.ts-tc-other {
  background: var(--ts-gray-50);
  color: var(--ts-gray-500);
  text-align: center;
  width: 30%;
}
.ts-telecom-table tbody tr { border-bottom: 1px solid var(--ts-gray-100); }
.ts-telecom-table tbody tr:last-child { border-bottom: none; }
.ts-telecom-table tbody tr:hover { background: var(--ts-gray-50); }
.ts-telecom-table td { padding: 14px 24px; color: var(--ts-gray-700); vertical-align: middle; }
.ts-telecom-table td.ts-tc-ts {
  text-align: center;
  background: rgba(9,17,43,.025);
  font-family: var(--ts-font-display);
  font-weight: 700;
}
.ts-telecom-table td.ts-tc-other {
  text-align: center;
  color: var(--ts-gray-400);
}
.ts-tc-good { color: var(--ts-green-dark) !important; font-size: 1.125rem; }
.ts-tc-bad  { color: var(--ts-red) !important; font-size: 1.125rem; }
.ts-tc-neutral { color: var(--ts-gray-400); }

/* ═══════════════════════════════════════════════════
   HOMEPAGE — REVIEWS (DARK SECTION)
═══════════════════════════════════════════════════ */
.ts-section--reviews {
  background: var(--ts-navy);
  padding-block: var(--ts-sp-20);
}
.ts-reviews-hdr {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: var(--ts-sp-6);
  margin-bottom: var(--ts-sp-10);
}
.ts-reviews-hdr-left .ts-eyebrow { color: rgba(255,255,255,.35); }
.ts-reviews-hdr-left h2 { color: #fff; }
.ts-ratings-badges { display: flex; gap: var(--ts-sp-4); }
.ts-rating-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--ts-r-md);
  padding: 14px 20px;
  gap: 2px;
}
.ts-rating-badge-score {
  font-family: var(--ts-font-display);
  font-size: 1.75rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}
.ts-rating-badge-stars { color: #FBC02D; font-size: 0.8125rem; letter-spacing: 2px; }
.ts-rating-badge-platform { font-family: var(--ts-font-display); font-size: 0.625rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.78); margin-top: 2px; }

/* ═══════════════════════════════════════════════════
   HOMEPAGE — LOCAL / COMMUNITY SECTION
═══════════════════════════════════════════════════ */
.ts-local-visual {
  background: var(--ts-navy);
  border-radius: var(--ts-r-xl);
  padding: var(--ts-sp-8);
  position: relative;
  overflow: hidden;
}
.ts-local-visual::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 70%, rgba(14,165,233,.15) 0%, transparent 60%);
  pointer-events: none;
}
.ts-local-map-card {
  position: relative;
  z-index: 1;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--ts-r-lg);
  padding: var(--ts-sp-8);
  text-align: center;
}
.ts-local-map-icon { font-size: 3rem; display: block; margin-bottom: var(--ts-sp-3); }
.ts-local-map-card h3 {
  font-family: var(--ts-font-display);
  font-size: 1.25rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 6px;
}
.ts-local-map-card p { font-size: 0.8125rem; color: rgba(255,255,255,.4); margin-bottom: var(--ts-sp-5); }
.ts-area-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.ts-area-tag {
  background: rgba(59,130,246,.15);
  border: 1px solid rgba(59,130,246,.3);
  color: var(--ts-blue-bright);
  font-family: var(--ts-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 20px;
  white-space: nowrap;
}
.ts-local-points { list-style: none; display: flex; flex-direction: column; }
.ts-local-point {
  display: flex;
  gap: var(--ts-sp-5);
  padding: var(--ts-sp-5) 0;
  border-bottom: 1px solid var(--ts-gray-100);
}
.ts-local-point:last-child { border-bottom: none; }
.ts-local-point-icon {
  width: 48px; height: 48px;
  flex-shrink: 0;
  background: var(--ts-blue-pale);
  border: 1px solid rgba(29,78,216,.15);
  border-radius: var(--ts-r-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.375rem;
}
.ts-local-point-body h4 {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: 5px;
}
.ts-local-point-body p { font-size: 0.875rem; color: var(--ts-gray-600); line-height: 1.65; }

/* ── HOMEPAGE RESPONSIVE ── */
@media (max-width: 1024px) {
  .ts-why-grid { grid-template-columns: repeat(2, 1fr); }
  .ts-plans-panel { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .ts-award-strip-inner { gap: var(--ts-sp-5); }
  .ts-award-sep { display: none; }
  .ts-why-grid { grid-template-columns: repeat(2, 1fr); }
  .ts-reviews-hdr { flex-direction: column; align-items: flex-start; }
  .ts-ratings-badges { width: 100%; }
  .ts-plans-section-header { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
  .ts-why-grid { grid-template-columns: 1fr; }
  .ts-plans-panel { grid-template-columns: 1fr; }
  .ts-reviews-hdr {
    display: grid;
    grid-template-columns: 1fr;
    text-align: center;
  }
  .ts-reviews-hdr-left {
    width: 100%;
  }
  .ts-ratings-badges {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ts-sp-3);
    width: 100%;
    max-width: none;
  }
  .ts-rating-badge {
    width: 100%;
    justify-self: stretch;
  }
  .ts-telecom-table thead, .ts-telecom-table th.ts-tc-feature { font-size: 0.8125rem; }
  .ts-telecom-table td { padding: 11px 14px; font-size: 0.875rem; }
}

/* ── HIGH CONTRAST / PRINT ── */
@media (prefers-color-scheme: dark) {
  /* Theme uses explicit light colors — no dark mode inversion */
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
@media print {
  .ts-header-stack, .ts-topbar, .ts-header, .ts-footer, .ts-sticky-cta, .ts-hamburger { display: none !important; }
  .ts-hero { background: #fff !important; color: #000 !important; min-height: auto !important; }
  .ts-hero h1, .ts-hero .ts-hero-sub { color: #000 !important; }
}

/* ═══════════════════════════════════════════════════
   SESSION 2 — HOMEPAGE COMPONENT ADDITIONS
   Missing classes audited against front-page.php
═══════════════════════════════════════════════════ */

/* ── BACKGROUND UTILITIES ── */
.ts-bg-gray { background: var(--ts-gray-50); }
.ts-bg-navy { background: var(--ts-dark-base); }
.ts-bg-navy h2, .ts-bg-navy h3 { color: var(--ts-on-dark); }
.ts-bg-navy .ts-lead { color: var(--ts-on-dark-muted); }
.ts-bg-navy .ts-eyebrow { color: var(--ts-teal); }
.ts-text-muted { color: var(--ts-gray-500); }

/* ═══════════════════════════════════════════════════
   SEELEY-MATCHED COMPONENT STYLES
   Consistent dark aesthetic for all homepage sections
═══════════════════════════════════════════════════ */

/* ── FEATURES GRID (Why Customers Switch / Support Experience) ── */
.ts-features-grid {
  display: grid;
  gap: var(--ts-sp-5);
}
.ts-features-grid--4 { grid-template-columns: repeat(2, 1fr); }
.ts-features-grid--3 { grid-template-columns: repeat(3, 1fr); }

.ts-feature-card {
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-left: 3px solid var(--ts-blue-bright);
  border-radius: 12px;
  padding: var(--ts-sp-6);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-2);
}
.ts-feature-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 24px rgba(0,0,0,.3);
  color: inherit;
}

section[aria-labelledby="switch-heading"] .ts-feature-card {
  transition: none;
}

section[aria-labelledby="switch-heading"] .ts-feature-card:hover {
  transform: none;
  box-shadow: none;
}

@media (min-width: 641px) and (max-width: 900px) {
  body.home section[aria-labelledby="switch-heading"] .ts-features-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4);
  }

  body.home section[aria-labelledby="switch-heading"] .ts-feature-card {
    min-width: 0;
    padding: var(--ts-sp-5);
    gap: var(--ts-sp-2);
  }

  body.home section[aria-labelledby="switch-heading"] .ts-feature-title {
    font-size: .98rem;
    line-height: 1.25;
  }

  body.home section[aria-labelledby="switch-heading"] .ts-feature-desc {
    font-size: .84rem;
    line-height: 1.55;
  }
}

section[aria-labelledby="speedtest-tips-heading"] .ts-feature-card {
  transition: none;
}

section[aria-labelledby="speedtest-tips-heading"] .ts-feature-card:hover {
  transform: none;
  box-shadow: none;
}

@media (min-width: 641px) and (max-width: 900px) {
  body.home section[aria-labelledby="services-heading"] .ts-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4);
  }

  body.home section[aria-labelledby="services-heading"] .ts-window-card {
    min-width: 0;
    padding: var(--ts-sp-5);
    gap: var(--ts-sp-3);
  }

  body.home section[aria-labelledby="services-heading"] .ts-window-card h3 {
    font-size: .98rem;
    line-height: 1.25;
  }

  body.home section[aria-labelledby="services-heading"] .ts-window-card p {
    font-size: .82rem;
    line-height: 1.5;
  }

  body.home section[aria-labelledby="support-preview-heading"] .ts-features-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4);
  }

  body.home section[aria-labelledby="support-preview-heading"] .ts-feature-card {
    min-width: 0;
    padding: var(--ts-sp-5);
  }

  body.home section[aria-labelledby="support-preview-heading"] .ts-feature-title {
    font-size: .95rem;
    line-height: 1.25;
  }

  body.home section[aria-labelledby="support-preview-heading"] .ts-feature-desc {
    font-size: .8rem;
    line-height: 1.5;
  }
}

.page-template-template-about section[aria-labelledby="values-heading"] .ts-feature-card {
  transition: none;
}

.page-template-template-about section[aria-labelledby="values-heading"] .ts-feature-card:hover {
  transform: none;
  box-shadow: none;
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-about section[aria-labelledby="values-heading"] .ts-features-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ts-sp-4);
  }

  .page-template-template-about section[aria-labelledby="values-heading"] .ts-feature-card {
    padding: var(--ts-sp-5);
  }

  .page-template-template-about section[aria-labelledby="values-heading"] .ts-feature-title {
    font-size: 0.98rem;
    line-height: 1.25;
  }

  .page-template-template-about section[aria-labelledby="values-heading"] .ts-feature-desc {
    font-size: 0.82rem;
    line-height: 1.5;
  }
}

.ts-feature-card:nth-child(2) { border-left-color: var(--ts-green); }
.ts-feature-card:nth-child(3) { border-left-color: var(--ts-teal); }
.ts-feature-card:nth-child(4) { border-left-color: var(--ts-orange); }
.ts-feature-title {
  font-family: var(--ts-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--ts-on-dark, #F0F4F8);
}
.ts-feature-desc {
  font-size: 0.9rem;
  color: var(--ts-on-dark-muted, #9DB0C2);
  line-height: 1.65;
}
.ts-feature-card .ts-text-link {
  margin-top: auto;
  padding-top: var(--ts-sp-3);
}

/* Make "Why Customers Switch" dark to match Seeley */
.ts-section:has(.ts-features-grid) {
  background: var(--ts-dark-surface, #111B2E);
}
.ts-section:has(.ts-features-grid) .ts-section-header h2 { color: var(--ts-on-dark, #F0F4F8); }
.ts-section:has(.ts-features-grid) .ts-section-header .ts-lead { color: var(--ts-on-dark-muted, #9DB0C2); }
.ts-section:has(.ts-features-grid) .ts-eyebrow { color: var(--ts-teal); }

/* ── BUSINESS UNIFIED CARD ── */
.ts-biz-unified-card {
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: var(--ts-sp-10);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--ts-sp-10);
  align-items: start;
}
.ts-biz-unified-body .ts-eyebrow { color: var(--ts-teal); }
.ts-biz-unified-body h2 { color: var(--ts-on-dark, #F0F4F8); }
.ts-biz-unified-body p { color: var(--ts-on-dark-muted, #9DB0C2); line-height: 1.7; }

.ts-biz-unified-badges {
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-4);
}
.ts-biz-perk {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-left: 3px solid var(--ts-green);
  border-radius: 10px;
  padding: var(--ts-sp-4) var(--ts-sp-5);
}
.ts-biz-perk:nth-child(2) { border-left-color: var(--ts-blue-bright); }
.ts-biz-perk:nth-child(3) { border-left-color: var(--ts-orange); }
.ts-biz-perk:nth-child(4) { border-left-color: var(--ts-teal); }
.ts-biz-perk strong {
  display: block;
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--ts-on-dark, #F0F4F8);
  margin-bottom: 4px;
}
.ts-biz-perk span {
  font-size: 0.85rem;
  color: var(--ts-on-dark-muted, #9DB0C2);
  line-height: 1.55;
}

/* Business section dark background */
section:has(.ts-biz-unified-card) {
  background: var(--ts-dark-surface, #111B2E);
}

/* ── SERVICE AREAS (dark Seeley card rows) ── */
.ts-services-overview-list {
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-3);
}
.ts-about-service-row {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-5);
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: var(--ts-sp-5) var(--ts-sp-6);
  transition: border-color 0.2s ease;
}
.ts-about-service-row:hover {
  border-color: rgba(255,255,255,.18);
}
.ts-about-service-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(0, 180, 255, .1);
  color: var(--ts-cyan);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 800;
  flex-shrink: 0;
}
.ts-about-service-icon--phone {
  color: var(--ts-blue-bright, #3B82F6);
}
.ts-about-service-svg {
  width: 20px;
  height: 20px;
  display: block;
  fill: currentColor;
}
.ts-about-service-body h3 {
  font-family: var(--ts-font-display);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--ts-on-dark, #F0F4F8);
  margin-bottom: 4px;
}
.ts-about-service-body p {
  font-size: 0.9rem;
  color: var(--ts-on-dark-muted, #9DB0C2);
  line-height: 1.6;
  margin-bottom: var(--ts-sp-2);
}

/* Service Areas section dark background */
.ts-bg-gray:has(.ts-services-overview-list) {
  background: var(--ts-dark-base, #0D1520);
}
.ts-bg-gray:has(.ts-services-overview-list) .ts-section-header h2 { color: var(--ts-on-dark, #F0F4F8); }
.ts-bg-gray:has(.ts-services-overview-list) .ts-section-header .ts-lead { color: var(--ts-on-dark-muted, #9DB0C2); }
.ts-bg-gray:has(.ts-services-overview-list) .ts-eyebrow { color: var(--ts-teal); }

@media (min-width: 641px) and (max-width: 900px) {
  body.home section[aria-labelledby="areas-heading"] .ts-services-overview-list {
    display: grid;
    grid-template-columns: 1fr !important;
    max-width: none;
    width: 100%;
    margin-inline: 0;
    gap: var(--ts-sp-4);
  }

  body.home section[aria-labelledby="areas-heading"] .ts-about-service-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: flex-start;
    gap: var(--ts-sp-4);
    width: 100%;
    max-width: none;
  }

  body.home section[aria-labelledby="areas-heading"] .ts-about-service-icon {
    grid-column: 1;
    align-self: flex-start;
  }

  body.home section[aria-labelledby="areas-heading"] .ts-about-service-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: var(--ts-sp-4);
    align-items: center;
    min-width: 0;
  }

  body.home section[aria-labelledby="areas-heading"] .ts-about-service-body h3,
  body.home section[aria-labelledby="areas-heading"] .ts-about-service-body p {
    grid-column: 1;
  }

  body.home section[aria-labelledby="areas-heading"] .ts-about-service-body .ts-text-link {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    justify-self: end;
    white-space: nowrap;
    padding-top: 0;
  }
}

/* ── TEXT LINKS ── */
.ts-text-link {
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--ts-blue-bright);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color 0.15s ease;
}
.ts-text-link:hover { color: var(--ts-cyan); }
.ts-text-link::after {
  content: '\2192';
  display: inline-block;
  transition: transform var(--ts-ease);
}
.ts-text-link:hover::after,
.ts-feature-card:hover .ts-text-link::after,
.ts-support-card:hover .ts-text-link::after {
  transform: translateX(4px);
}

.page-template-template-blog .ts-text-link::after {
  content: none;
}

/* ── POST CARD MORE LINK ── */
.ts-post-more {
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--ts-blue-bright);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: var(--ts-sp-3);
}

/* ── AUTHORITY / BLOG section dark ── */
.ts-bg-gray:has(.ts-post-card) {
  background: var(--ts-dark-surface, #111B2E);
}
.ts-bg-gray:has(.ts-post-card) .ts-section-header h2 { color: var(--ts-on-dark, #F0F4F8); }
.ts-bg-gray:has(.ts-post-card) .ts-section-header .ts-lead { color: var(--ts-on-dark-muted, #9DB0C2); }
.ts-bg-gray:has(.ts-post-card) .ts-eyebrow { color: var(--ts-teal); }
.ts-bg-gray:has(.ts-post-card) .ts-post-card {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
}
.ts-bg-gray:has(.ts-post-card) .ts-post-title { color: var(--ts-on-dark, #F0F4F8); }
.ts-bg-gray:has(.ts-post-card) .ts-post-excerpt { color: var(--ts-on-dark-muted, #9DB0C2); }
.ts-bg-gray:has(.ts-post-card) .ts-post-cat {
  background: rgba(59, 130, 246, .15);
  color: var(--ts-blue-bright);
}
.ts-bg-gray:has(.ts-post-card) .ts-post-meta { color: rgba(255,255,255,.78); }
.ts-bg-gray:has(.ts-post-card) .ts-btn--ghost {
  color: var(--ts-on-dark, #F0F4F8);
  border-color: rgba(255,255,255,.15);
}
.ts-bg-gray:has(.ts-post-card) .ts-btn--ghost:hover {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.25);
}

@media (min-width: 641px) and (max-width: 900px) {
  body.home section[aria-labelledby="news-heading"] .ts-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4);
  }

  body.home section[aria-labelledby="news-heading"] .ts-post-body {
    padding: var(--ts-sp-4);
  }

  body.home section[aria-labelledby="news-heading"] .ts-post-title {
    font-size: .9rem;
    line-height: 1.28;
  }

  body.home section[aria-labelledby="news-heading"] .ts-post-excerpt {
    font-size: .76rem;
    line-height: 1.5;
  }

  body.home section[aria-labelledby="news-heading"] .ts-post-meta,
  body.home section[aria-labelledby="news-heading"] .ts-post-more {
    font-size: .68rem;
  }
}

/* ── RESPONSIVE: stack grids on small screens ── */
@media (max-width: 768px) {
  .ts-features-grid--4,
  .ts-features-grid--3 { grid-template-columns: 1fr; }
  .ts-biz-unified-card { grid-template-columns: 1fr; padding: var(--ts-sp-6); }
}

/* ── HERO LAYOUT ── */
.ts-hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ts-hero-aside {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
/* The dot trust item bullet */
.ts-hero-trust-item .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ts-green);
  display: inline-block;
  flex-shrink: 0;
}

/* ── HERO CHECKER CARD INTERNALS ── */
.ts-hero-checker-header {
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: var(--ts-sp-4);
  padding-bottom: var(--ts-sp-3);
  border-bottom: 1px solid rgba(255,255,255,.12);
  letter-spacing: -.01em;
}
.ts-hero-checker-body {
  margin-bottom: var(--ts-sp-4);
}
.ts-hero-addr-row {
  display: flex;
  gap: 6px;
  align-items: stretch;
}
.ts-hero-addr-input {
  flex: 1;
  height: 46px;
  padding: 0 var(--ts-sp-4);
  background: rgba(255,255,255,.9);
  border: 1.5px solid rgba(255,255,255,.2);
  border-radius: var(--ts-r-md);
  font-family: var(--ts-font-body);
  font-size: 0.9375rem;
  color: var(--ts-navy);
  outline: none;
  transition: border-color var(--ts-ease), background var(--ts-ease);
}
.ts-hero-addr-input::placeholder { color: var(--ts-gray-400); }
.ts-hero-addr-input:focus {
  background: #fff;
  border-color: var(--ts-cyan);
  box-shadow: 0 0 0 3px rgba(0,180,255,.25);
}
.ts-hero-addr-row .ts-btn {
  height: 46px;
  padding: 0 var(--ts-sp-4);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ts-hero-features {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ts-hero-feature {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.8125rem;
  color: rgba(255,255,255,.65);
  line-height: 1.45;
}
.ts-hero-feature-check {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background: rgba(16,185,129,.25);
  border: 1px solid rgba(16,185,129,.4);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  font-weight: 800;
  color: #6ee7b7;
  margin-top: 1px;
}

/* ── PLAN BADGES ── */
/* (front-page.php uses ts-plan-badge; CSS had ts-plan-ribbon — alias both) */
.ts-plan-badge,
.ts-plan-ribbon {
  display: inline-block;
  padding: 3px 12px;
  border-radius: var(--ts-r-full);
  font-family: var(--ts-font-display);
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #fff;
  white-space: nowrap;
  margin-bottom: var(--ts-sp-3);
}
.ts-plan-badge--orange,
.ts-plan-ribbon--orange  { background: #C2410C; }
.ts-plan-badge--blue,
.ts-plan-ribbon--blue    { background: var(--ts-blue); }
.ts-plan-badge--purple,
.ts-plan-ribbon--purple  { background: #7c3aed; }
.ts-plan-card .ts-plan-badge {
  /* When inside a card, re-center the badge */
  display: block;
  text-align: center;
  margin-bottom: var(--ts-sp-3);
}

/* ── WHY TRUESPEED — SPLIT LAYOUT ── */
.ts-feature-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--ts-sp-12);
  align-items: start;
}
@media (max-width: 900px) {
  .ts-feature-split { grid-template-columns: 1fr; }
}
.ts-feature-list {
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-5);
  margin-top: var(--ts-sp-6);
}
.ts-feature-item {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-4);
}
.ts-feature-item-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: var(--ts-r-md);
  background: var(--ts-blue-pale);
  border: 1px solid rgba(29,78,216,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem;
  margin-top: 2px;
}
.ts-feature-item-text h4 {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: 3px;
  line-height: 1.25;
}
.ts-feature-item-text p {
  font-size: 0.875rem;
  color: var(--ts-gray-600);
  line-height: 1.65;
  margin: 0;
}

/* ── SERVICE CARD "LEARN MORE" LINK ── */
.ts-service-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--ts-blue);
  margin-top: auto;
  padding-top: var(--ts-sp-4);
  text-decoration: none;
  transition: gap var(--ts-ease), color var(--ts-ease);
}
.ts-service-card:hover .ts-service-link {
  gap: 8px;
  color: var(--ts-blue-bright);
}
.ts-service-link::after {
  content: '\2192';
  display: inline-block;
  transition: transform var(--ts-ease);
}
.ts-service-card:hover .ts-service-link::after {
  transform: translateX(4px);
}

/* Service area pages: match Best-Fit Services cards to the homepage support-card style. */
section[aria-labelledby="area-fit-heading"] .ts-grid-3 {
  align-items: stretch;
}

section[aria-labelledby="area-fit-heading"] .ts-service-card {
  min-height: 100%;
  padding: var(--ts-sp-6);
  gap: var(--ts-sp-3);
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-left: 3px solid var(--ts-blue-bright, #3B82F6);
  border-radius: 12px;
  box-shadow: none;
  color: inherit;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:nth-child(2) {
  border-left-color: var(--ts-green, #10B981);
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:nth-child(3) {
  border-left-color: var(--ts-teal, #14B8A6);
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:nth-child(4) {
  border-left-color: var(--ts-orange, #F97316);
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:nth-child(5) {
  border-left-color: #8B5CF6;
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:nth-child(6) {
  border-left-color: #F59E0B;
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 4px 24px rgba(0,0,0,.3);
  color: inherit;
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:nth-child(1):hover {
  border-left-color: var(--ts-blue-bright, #3B82F6);
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:nth-child(2):hover {
  border-left-color: var(--ts-green, #10B981);
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:nth-child(3):hover {
  border-left-color: var(--ts-teal, #14B8A6);
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:nth-child(4):hover {
  border-left-color: var(--ts-orange, #F97316);
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:nth-child(5):hover {
  border-left-color: #8B5CF6;
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:nth-child(6):hover {
  border-left-color: #F59E0B;
}

section[aria-labelledby="area-fit-heading"] .ts-service-card h3 {
  margin: 0;
  color: var(--ts-on-dark, #F0F4F8);
  font-family: var(--ts-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.25;
}

section[aria-labelledby="area-fit-heading"] .ts-service-card p {
  margin: 0;
  color: var(--ts-on-dark-muted, #D7E3F2);
  font-size: .9rem;
  line-height: 1.65;
}

section[aria-labelledby="area-fit-heading"] .ts-service-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: auto;
  padding-top: var(--ts-sp-3);
  color: var(--ts-link-on-dark, #8CCBFF);
  font-family: var(--ts-font-display);
  font-size: .8125rem;
  font-weight: 800;
  line-height: 1.2;
}

section[aria-labelledby="area-fit-heading"] .ts-service-card:hover .ts-service-link {
  gap: 4px;
  color: var(--ts-cyan, #0EA5E9);
}

/* ── POST CARD "READ MORE" LINK ── */
.ts-post-more {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--ts-blue);
  margin-top: var(--ts-sp-3);
  text-decoration: none;
  transition: gap var(--ts-ease), color var(--ts-ease);
}
.ts-post-card:hover .ts-post-more {
  gap: 8px;
  color: var(--ts-blue-bright);
}

/* ── RESPONSIVE: HERO ASIDE (checker card) ── */
@media (max-width: 960px) {
  .ts-hero-inner {
    grid-template-columns: 1fr;
  }
  .ts-hero-aside {
    justify-content: flex-start;
    margin-top: var(--ts-sp-6);
  }
  .ts-hero-checker-card {
    width: 100%;
    max-width: 520px;
  }
}
@media (max-width: 600px) {
  .ts-hero-addr-row {
    flex-direction: column;
  }
  .ts-hero-addr-input,
  .ts-hero-addr-row .ts-btn {
    width: 100%;
  }
}

/* ═══════════════════════════════════════════════════
   SESSION 3 — INTERNET PLANS PAGE
   47 classes audited from template-internet.php
═══════════════════════════════════════════════════ */

/* ── CONTAINER SIZE VARIANTS ── */
.ts-container--sm { max-width: 740px; margin-inline: auto; }
.ts-container--md { max-width: 960px; margin-inline: auto; }

/* ── PAGE HERO — TRUST STRIP ── */
.ts-page-hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ts-sp-4) var(--ts-sp-6);
  margin-top: var(--ts-sp-8);
  padding-top: var(--ts-sp-6);
  border-top: 1px solid rgba(255,255,255,.1);
}
.ts-page-hero-trust-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: rgba(255,255,255,.6);
}
.ts-page-hero-trust-check {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: rgba(16,185,129,.25);
  border: 1px solid rgba(16,185,129,.4);
  display: flex; align-items: center; justify-content: center;
  font-size: 0;
  font-weight: 900;
  color: #6ee7b7;
  flex-shrink: 0;
}
.ts-page-hero-trust-check::before {
  content: '\2713';
  font-size: 14px;
  line-height: 1;
}

/* ── PLAN TABS (pages variant — wider tabs with sub-label) ── */
.ts-plan-tabs--pages {
  gap: var(--ts-sp-3);
  margin-bottom: 0; /* panel desc supplies spacing */
}
.ts-plan-tabs--pages .ts-plan-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 24px;
  border-radius: var(--ts-r-md);
  min-width: 130px;
  text-align: center;
  gap: 2px;
  height: auto;
}
.ts-plan-tabs--pages .ts-plan-tab.is-active {
  box-shadow: 0 4px 16px rgba(9,17,43,.25);
}
.ts-plan-tab-icon {
  font-size: 1.25rem;
  line-height: 1;
  display: block;
  margin-bottom: 2px;
}
/* Inline SVG tab icons (internet page). Sized here rather than by the span's
   font-size so line art and the emoji still used elsewhere both land right. */
.ts-plan-tab-icon svg {
  width: 26px;
  height: 26px;
  display: block;
}
.ts-plan-tab-label {
  font-size: 0.9375rem;
  font-weight: 800;
  line-height: 1.2;
}
.ts-plan-tab-sub {
  font-family: var(--ts-font-body);
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--ts-gray-400);
  line-height: 1;
}
.ts-plan-tab.is-active .ts-plan-tab-sub { color: rgba(255,255,255,.5); }

/* ── PLAN TAB PANELS ── */
.ts-plan-tab-panel { display: block; }
.ts-plan-tab-panel[hidden] { display: none; }
.ts-plan-tab-desc {
  font-size: 0.9375rem;
  color: var(--ts-gray-600);
  line-height: 1.7;
  margin: var(--ts-sp-6) 0 var(--ts-sp-8);
  padding: var(--ts-sp-4) var(--ts-sp-6);
  background: var(--ts-gray-50);
  border-radius: var(--ts-r-md);
  border-left: 3px solid var(--ts-blue);
}
.ts-plan-tab-desc strong { display: block; margin-bottom: 2px; color: var(--ts-navy); }

/* ── PLANS GRID VARIANTS ── */
/* Base grid — shares plan card layout */
.ts-plans-grid {
  display: grid;
  gap: var(--ts-sp-5);
  align-items: stretch;
}
.ts-plans-grid--cable { grid-template-columns: repeat(3, 1fr); }
.ts-plans-grid--dsl   { grid-template-columns: repeat(4, 1fr); }
/* Rural went from three tiers to four when the 10/1 entry tier was added
   (2026-08-11), so it takes the same 4-up track list as DSL. At three columns
   the fourth card dropped onto a row of its own. */
.ts-plans-grid--rural { grid-template-columns: repeat(4, 1fr); }
/* Fibre carries three tiers (1 / 1.5 / 3 Gig) since 2026-08-07. */
.ts-plans-grid--fibre { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1100px) {
  .ts-plans-grid--cable { grid-template-columns: repeat(3, 1fr); }
  .ts-plans-grid--dsl   { grid-template-columns: repeat(2, 1fr); }
  .ts-plans-grid--rural { grid-template-columns: repeat(2, 1fr); }
  .ts-plans-grid--fibre { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
  .ts-plans-grid--cable,
  .ts-plans-grid--rural,
  .ts-plans-grid--fibre { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .ts-plans-grid--cable,
  .ts-plans-grid--dsl,
  .ts-plans-grid--rural,
  .ts-plans-grid--fibre { grid-template-columns: 1fr; }
}

/* ── PLAN CARD EXTENSIONS ── */
/* Inline upload-speed annotation */
.ts-plan-ul {
  color: var(--ts-gray-400);
  font-size: 0.875em;
}
/* "Best for" label inside plan card */
.ts-plan-best-for {
  font-size: 0.75rem;
  color: var(--ts-gray-500);
  background: var(--ts-gray-50);
  border-radius: var(--ts-r-sm);
  padding: 5px 10px;
  margin-bottom: var(--ts-sp-4);
  text-align: center;
  line-height: 1.4;
}
.ts-plan-best-for-label {
  font-weight: 700;
  color: var(--ts-gray-700);
  margin-right: 3px;
}
/* Feature check icon (overrides .check on plan page) */
.ts-plan-feature-check {
  flex-shrink: 0;
  width: 16px;
  text-align: center;
  color: var(--ts-green-dark);
  font-weight: 800;
  margin-top: 1px;
}
/* Note-style feature row (e.g. fibre address caveat) */
.ts-plan-feature--note {
  color: var(--ts-gray-400);
  font-style: italic;
  border-top: 1px dashed var(--ts-gray-200);
  margin-top: var(--ts-sp-2);
  padding-top: var(--ts-sp-2);
}

/* ── PLANS DISCLAIMER ── */
.ts-plans-disclaimer {
  font-size: 0.8125rem;
  color: var(--ts-gray-400);
  text-align: center;
  margin-top: var(--ts-sp-8);
  line-height: 1.65;
  max-width: 820px;
  margin-inline: auto;
}

/* ── EVERYTHING INCLUDED BAND ── */
.ts-included-band {
  background: var(--ts-navy);
  padding: var(--ts-sp-10) 0;
}
.ts-included-label {
  font-family: var(--ts-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.72);
  text-align: center;
  margin-bottom: var(--ts-sp-6);
}
.ts-included-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--ts-sp-5);
}
.ts-included-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--ts-sp-3);
}
.ts-included-icon {
  width: 46px; height: 46px;
  background: rgba(14, 165, 233, .18);
  border: 1px solid rgba(125, 211, 252, .55);
  border-radius: var(--ts-r-md);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 1px rgba(14, 165, 233, .18);
  color: #BAE6FD;
  font-size: 1.375rem;
}
.ts-included-icon--data,
.ts-included-icon--support,
.ts-included-icon--price {
  font-family: var(--ts-font-display);
  font-size: 0;
  font-weight: 900;
}
.ts-included-icon--data::before,
.ts-included-icon--support::before,
.ts-included-icon--price::before {
  display: block;
  font-size: 1.375rem;
  line-height: 1;
}
.ts-included-icon--data::before { content: "∞"; }
.ts-included-icon--price::before { content: "$"; }
.ts-included-icon--support::before {
  content: "\1F3A7";
  font-size: 1.25rem;
}
.ts-included-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ts-included-text strong {
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
}
.ts-included-text span {
  font-size: 0.6875rem;
  color: rgba(255,255,255,.72);
  line-height: 1.35;
}
@media (max-width: 960px) {
  .ts-included-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px) {
  .ts-included-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── COMPARISON TABLE ── */
.ts-compare-table-wrap {
  overflow-x: auto;
  border-radius: var(--ts-r-lg);
  border: 1.5px solid var(--ts-gray-200);
  box-shadow: var(--ts-shadow-sm);
  margin-top: var(--ts-sp-8);
}
.ts-compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  background: var(--ts-white);
  min-width: 560px;
}
/* Header row */
.ts-compare-table thead th {
  padding: 14px 20px;
  font-family: var(--ts-font-display);
  font-weight: 800;
  font-size: 0.8125rem;
  letter-spacing: .02em;
}
.ts-compare-th-feature {
  text-align: left;
  color: var(--ts-gray-500);
  width: 32%;
  border-bottom: 2px solid var(--ts-gray-200);
}
.ts-compare-th-ts {
  background: var(--ts-navy);
  color: #7dd3fc;
  text-align: center;
  width: 22%;
  border-bottom: 2px solid var(--ts-navy);
}
.ts-compare-th-other {
  background: var(--ts-gray-50);
  color: var(--ts-gray-500);
  text-align: center;
  width: 23%;
  border-bottom: 2px solid var(--ts-gray-200);
}
/* Body cells */
.ts-compare-table tbody tr {
  border-bottom: 1px solid var(--ts-gray-100);
}
.ts-compare-table tbody tr:last-child { border-bottom: none; }
.ts-compare-table tbody tr:hover { background: var(--ts-gray-50); }
.ts-compare-td-feature {
  padding: 13px 20px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ts-gray-700);
}
.ts-compare-td-ts {
  padding: 13px 20px;
  text-align: center;
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ts-navy);
  background: rgba(9,17,43,.025);
}
.ts-compare-td-other {
  padding: 13px 20px;
  text-align: center;
  font-size: 0.875rem;
  color: var(--ts-gray-500);
}
/* Shared good/bad colouring for all td types */
.ts-compare-td-ts.good,
.ts-compare-td-other.good { color: var(--ts-green-dark); }
.ts-compare-td-ts.bad,
.ts-compare-td-other.bad  { color: var(--ts-red); }

.ts-compare-table-wrap {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
}
.ts-compare-table {
  background: var(--ts-dark-card, #151F32);
}
.ts-compare-table tbody tr {
  border-bottom-color: rgba(255,255,255,.06);
}
.ts-compare-table tbody tr:hover,
.ts-compare-table tbody tr:active,
.ts-compare-table tbody tr:hover td,
.ts-compare-table tbody tr:active td {
  background: rgba(14,165,233,.08) !important;
}
.ts-compare-th-feature,
.ts-compare-th-other {
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.58);
  border-bottom-color: rgba(255,255,255,.08);
}
.ts-compare-th-ts {
  background: rgba(14,165,233,.14);
  border-bottom-color: rgba(125,211,252,.22);
}
.ts-compare-td-feature {
  color: var(--ts-on-dark, #F0F4F8);
}
.ts-compare-td-ts {
  background: rgba(14,165,233,.05);
  color: var(--ts-on-dark, #F0F4F8);
}
.ts-compare-td-other {
  color: var(--ts-on-dark-muted, #9DB0C2);
}
.ts-compare-td-ts.good,
.ts-compare-td-other.good { color: #86efac; }
.ts-compare-td-ts.bad,
.ts-compare-td-other.bad { color: #fca5a5; }

@media (max-width: 600px) {
  .page-template-template-internet .ts-compare-table-wrap {
    overflow: visible;
  }

  .page-template-template-internet .ts-compare-table {
    width: 100%;
    table-layout: fixed;
    min-width: 0;
  }

  .page-template-template-internet .ts-compare-table tbody tr:hover,
  .page-template-template-internet .ts-compare-table tbody tr:active,
  .page-template-template-internet .ts-compare-table tbody tr:hover td,
  .page-template-template-internet .ts-compare-table tbody tr:active td {
    background: transparent !important;
  }

  .page-template-template-internet .ts-compare-table tbody tr:hover .ts-compare-td-ts,
  .page-template-template-internet .ts-compare-table tbody tr:active .ts-compare-td-ts {
    background: rgba(14,165,233,.05) !important;
  }

  .page-template-template-internet .ts-compare-table thead th,
  .page-template-template-internet .ts-compare-table td {
    padding: 9px 5px;
    font-size: clamp(0.625rem, 2.85vw, 0.75rem);
    line-height: 1.32;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .page-template-template-internet .ts-compare-th-feature,
  .page-template-template-internet .ts-compare-td-feature { width: 27%; }

  .page-template-template-internet .ts-compare-th-ts,
  .page-template-template-internet .ts-compare-td-ts { width: 27%; }

  .page-template-template-internet .ts-compare-th-other,
  .page-template-template-internet .ts-compare-td-other { width: 23%; }
}

/* ── MODEM / EQUIPMENT GRID ── */
.ts-modem-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--ts-sp-6);
  margin-top: var(--ts-sp-8);
}
@media (max-width: 700px) {
  .ts-modem-grid { grid-template-columns: 1fr; }
}
.ts-modem-card {
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  padding: var(--ts-sp-6);
}
.ts-modem-card--highlight {
  border-color: var(--ts-green-dark);
  background: #f0fdf4;
}
.ts-modem-icon {
  font-size: 2rem;
  display: block;
  margin-bottom: var(--ts-sp-3);
}
.ts-modem-card h3 {
  font-family: var(--ts-font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-3);
}
.ts-modem-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0;
  margin: 0;
}
.ts-modem-list li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 0.875rem;
  color: var(--ts-gray-600);
  line-height: 1.55;
}
.ts-modem-list li::before {
  content: '✓';
  flex-shrink: 0;
  color: var(--ts-green-dark);
  font-weight: 800;
  font-size: 0.75rem;
  margin-top: 2px;
}

/* ── ACCORDION GROUP wrapper (no extra style needed — alias) ── */
.ts-accordion-group { /* inherits ts-accordion layout */ }

/* ── RESPONSIVE: plan tab sub-label ── */
@media (max-width: 600px) {
  .ts-plan-tabs--pages { gap: var(--ts-sp-2); }
  .ts-plan-tabs--pages .ts-plan-tab { min-width: 80px; padding: 10px 12px; }
  .ts-plan-tab-sub { display: none; }
}
@media (max-width: 420px) {
  .ts-plan-tabs--pages { grid-template-columns: repeat(2,1fr); display: grid; }
  .ts-plan-tabs--pages .ts-plan-tab { width: 100%; }
}

/* ═══════════════════════════════════════════════════
   SESSION 4 — AVAILABILITY CHECKER + ORDER FLOW
   83 classes from template + JS-generated HTML
═══════════════════════════════════════════════════ */

/* ── PAGE HERO CHECKER VARIANT ── */
.ts-page-hero--checker { min-height: auto; padding-block: var(--ts-sp-12) var(--ts-sp-10); }
.ts-section--checker   { padding-top: var(--ts-sp-10); }

/* ── CHECKER WIDGET CONTAINER ── */
.ts-checker-widget { max-width: 820px; margin-inline: auto; }

/* ── CHECKER CARD (white box, shadow) ── */
.ts-checker-card {
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-xl);
  box-shadow: var(--ts-shadow-lg);
  padding: var(--ts-sp-8);
}

/* ── ADDRESS INPUT FORM ── */
.ts-checker-form-hdr {
  text-align: center;
  margin-bottom: var(--ts-sp-8);
}
.ts-checker-form-icon {
  font-size: 2.5rem;
  display: block;
  margin-bottom: var(--ts-sp-4);
}
.ts-checker-form-hdr h2 {
  font-size: 1.625rem;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-2);
}
.ts-checker-form-hdr p {
  color: var(--ts-gray-600);
  font-size: 1rem;
}
.ts-checker-addr-row {
  display: flex;
  gap: 8px;
  max-width: 580px;
  margin-inline: auto;
}
.ts-checker-addr-input {
  flex: 1;
  height: 52px;
  padding: 0 var(--ts-sp-5);
  border: 1.5px solid var(--ts-gray-300);
  border-radius: var(--ts-r-md);
  font-family: var(--ts-font-body);
  font-size: 1rem;
  color: var(--ts-navy);
  background: #fff;
  outline: none;
  transition: border-color var(--ts-ease), box-shadow var(--ts-ease);
}
.ts-checker-addr-input::placeholder { color: var(--ts-gray-400); }
.ts-checker-addr-input:focus {
  border-color: var(--ts-blue);
  box-shadow: 0 0 0 3px rgba(29,78,216,.15);
}
.ts-checker-addr-input.ts-input--error {
  border-color: var(--ts-red);
  box-shadow: 0 0 0 3px rgba(220,38,38,.15);
}
.ts-btn--checker {
  height: 52px;
  padding: 0 var(--ts-sp-6);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  flex-shrink: 0;
}
.ts-checker-addr-hint {
  text-align: center;
  font-size: 0.8125rem;
  color: var(--ts-gray-400);
  margin-top: var(--ts-sp-3);
  max-width: 580px;
  margin-inline: auto;
}
.ts-checker-examples {
  display: flex;
  flex-wrap: wrap;
  gap: 8px var(--ts-sp-5);
  justify-content: center;
  margin-top: var(--ts-sp-5);
  padding-top: var(--ts-sp-5);
  border-top: 1px solid var(--ts-gray-100);
}
.ts-checker-example-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  color: var(--ts-gray-500);
}
.ts-checker-example-item span { color: var(--ts-green-dark); font-weight: 700; }

/* ── LOADING STATE ── */
.ts-checker-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ts-sp-5);
  padding: var(--ts-sp-12) 0;
}
.ts-checker-loading p { color: var(--ts-gray-600); font-size: 1rem; }
.ts-checker-loading-dots {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ts-checker-loading-dots span {
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--ts-blue);
  animation: ts-pulse 1.2s infinite ease-in-out;
}
.ts-checker-loading-dots span:nth-child(2) { animation-delay: 0.2s; }
.ts-checker-loading-dots span:nth-child(3) { animation-delay: 0.4s; }
@keyframes ts-pulse {
  0%, 80%, 100% { transform: scale(0.75); opacity: 0.5; }
  40%           { transform: scale(1);    opacity: 1; }
}

/* ── RESULTS AREA ── */
.ts-checker-results { outline: none; }
.ts-checker-addr-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ts-sp-4);
  padding: var(--ts-sp-3) var(--ts-sp-4);
  background: var(--ts-gray-50);
  border: 1px solid var(--ts-gray-200);
  border-radius: var(--ts-r-md);
  margin-bottom: var(--ts-sp-5);
}
.ts-checker-addr-bar-left {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ts-navy);
}
.ts-checker-addr-bar-icon { font-size: 1rem; flex-shrink: 0; }
.ts-checker-addr-shown { color: var(--ts-navy); font-family: var(--ts-font-display); font-weight: 700; }
.ts-checker-change-btn {
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--ts-blue);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: var(--ts-r-sm);
  white-space: nowrap;
  transition: background var(--ts-ease);
}
.ts-checker-change-btn:hover { background: var(--ts-blue-pale); }
.ts-checker-change-btn:focus-visible { outline: 2px solid var(--ts-blue); outline-offset: 2px; }

/* Tier badge row */
.ts-checker-tier-row {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-4);
  margin-bottom: var(--ts-sp-6);
  flex-wrap: wrap;
}
.ts-tier-badge {
  display: inline-block;
  padding: 4px 14px;
  border-radius: var(--ts-r-full);
  font-family: var(--ts-font-display);
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  white-space: nowrap;
  flex-shrink: 0;
}
.ts-tier-badge--cable       { background: #dbeafe; color: #1d40b0; }
.ts-tier-badge--fibre-cable { background: #ede9fe; color: #5b21b6; }
.ts-tier-badge--rural       { background: #fef9c3; color: #713f12; }
.ts-tier-label {
  font-size: 0.9375rem;
  color: var(--ts-gray-600);
  line-height: 1.55;
}

/* Plans heading */
.ts-checker-plans-hdr {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-4);
}

/* Plans grid inside checker */
.ts-checker-plans-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: var(--ts-sp-4);
  margin-bottom: var(--ts-sp-4);
}
/* Plans section (hide/show all toggle target) */
.ts-plans-section { display: none; margin-top: var(--ts-sp-2); }
.ts-plans-section--open { display: grid; }

/* Plan card selected state (JS-toggled) */
.ts-plan-card--selected {
  border-color: var(--ts-blue) !important;
  box-shadow: 0 0 0 2px var(--ts-blue), var(--ts-shadow-md) !important;
  background: #eff6ff !important;
}

/* Show all button row */
.ts-checker-show-all-row {
  text-align: center;
  margin-bottom: var(--ts-sp-6);
}
.ts-btn-text { /* inline text span in button */ }
.ts-arr      { margin-left: 4px; display: inline-block; transition: transform var(--ts-ease); }

/* Comparison area (injected by JS) */
.ts-checker-comparison {
  margin: var(--ts-sp-8) 0;
  overflow-x: auto;
}
/* JS injects .ts-compare-grid — re-use existing grid styles but ensure overflow */
.ts-checker-comparison .ts-compare-grid { min-width: 520px; }

/* ── COMPARE CLASSES USED BY JS TEMPLATE STRINGS ── */
/* These alias/extend the existing ts-compare-* with the JS naming convention */
.ts-compare-label {
  font-family: var(--ts-font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--ts-gray-400);
  margin-bottom: 1px;
}
.ts-compare-val {
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ts-gray-800);
}
.ts-compare-val.good { color: var(--ts-green-dark); }
.ts-compare-val.bad  { color: var(--ts-red); }
/* "Truespeed" winning column */
.ts-winner {
  border-color: var(--ts-blue) !important;
  box-shadow: 0 0 0 2px var(--ts-blue), var(--ts-shadow-md) !important;
}
/* Savings row */
.ts-compare-savings {
  padding: var(--ts-sp-3) var(--ts-sp-4);
  border-radius: var(--ts-r-sm);
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  text-align: center;
  margin-top: var(--ts-sp-3);
}
.ts-compare-savings--good    { background: #d1fae5; color: #065f46; }
.ts-compare-savings--bad     { background: #fee2e2; color: #991b1b; }
.ts-compare-savings--neutral { background: var(--ts-gray-100); color: var(--ts-gray-600); }
/* Promo note */
.ts-compare-promo-note {
  font-size: 0.75rem;
  color: var(--ts-gray-400);
  margin-top: var(--ts-sp-3);
  padding-top: var(--ts-sp-3);
  border-top: 1px dashed var(--ts-gray-200);
  line-height: 1.5;
}

/* Selection / continue bar */
.ts-checker-sel-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ts-sp-5);
  padding: var(--ts-sp-5) var(--ts-sp-6);
  background: var(--ts-gray-50);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  margin-top: var(--ts-sp-6);
  flex-wrap: wrap;
}
.ts-sel-hint {
  font-size: 0.9375rem;
  color: var(--ts-gray-600);
  font-family: var(--ts-font-display);
  font-weight: 600;
}

/* ── ORDER CARD ── */
.ts-order-card {
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-xl);
  box-shadow: var(--ts-shadow-lg);
  overflow: hidden;
}

/* ── STEP PROGRESS BAR ── */
.ts-steps {
  display: flex;
  align-items: center;
  background: var(--ts-navy);
  padding: var(--ts-sp-5) var(--ts-sp-8);
  overflow-x: auto;
}
.ts-step-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.ts-step-num {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  border: 1.5px solid rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 800;
  color: rgba(255,255,255,.4);
  transition: all 0.22s ease;
}
.ts-step-label {
  font-family: var(--ts-font-display);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: rgba(255,255,255,.25);
  transition: color 0.22s ease;
  white-space: nowrap;
}
.ts-step-line {
  flex: 1;
  height: 1.5px;
  background: rgba(255,255,255,.1);
  min-width: 24px;
  margin-inline: 8px;
}
/* Active step */
.ts-step-item--active .ts-step-num {
  background: var(--ts-blue);
  border-color: var(--ts-blue);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(29,78,216,.3);
}
.ts-step-item--active .ts-step-label { color: #fff; }
/* Completed step */
.ts-step-item--done .ts-step-num {
  background: var(--ts-green-dark);
  border-color: var(--ts-green-dark);
  color: #fff;
  font-size: 0.875rem;
}
.ts-step-item--done .ts-step-num::after { content: '✓'; }
.ts-step-item--done > .ts-step-num { font-size: 0; }
.ts-step-item--done .ts-step-label { color: rgba(255,255,255,.5); }
.ts-step-item--done + .ts-step-line { background: rgba(5,150,105,.4); }

/* ── ORDER PANELS ── */
.ts-order-panel { padding: var(--ts-sp-8); }
.ts-order-panel[hidden] { display: none; }
.ts-order-panel-hdr {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-5);
  margin-bottom: var(--ts-sp-8);
}
.ts-order-panel-icon {
  font-size: 2.25rem;
  flex-shrink: 0;
  width: 56px; height: 56px;
  background: var(--ts-blue-pale);
  border: 1px solid rgba(29,78,216,.1);
  border-radius: var(--ts-r-lg);
  display: flex; align-items: center; justify-content: center;
}
.ts-order-panel-hdr h2 {
  font-size: 1.375rem;
  color: var(--ts-navy);
  margin-bottom: 6px;
  outline: none;
}
.ts-order-panel-hdr p {
  font-size: 0.9375rem;
  color: var(--ts-gray-600);
  line-height: 1.6;
}

/* ── YES / NO TOGGLE BUTTONS ── */
.ts-addon-yesno {
  display: flex;
  gap: var(--ts-sp-3);
  margin-bottom: var(--ts-sp-6);
  flex-wrap: wrap;
}
.ts-addon-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  border: 2px solid var(--ts-gray-200);
  border-radius: var(--ts-r-md);
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--ts-gray-600);
  background: var(--ts-white);
  cursor: pointer;
  transition: all 0.18s ease;
}
.ts-addon-toggle:hover { border-color: var(--ts-blue); color: var(--ts-blue); }
.ts-addon-toggle.active,
.ts-addon-toggle[aria-pressed="true"] {
  background: var(--ts-navy);
  border-color: var(--ts-navy);
  color: #fff;
}
.ts-addon-toggle--no.active,
.ts-addon-toggle--no[aria-pressed="true"] {
  background: var(--ts-gray-200);
  border-color: var(--ts-gray-200);
  color: var(--ts-gray-700);
}
.ts-addon-toggle:focus-visible { outline: 2px solid var(--ts-blue); outline-offset: 3px; }
.ts-addon-toggle-icon { font-size: 1rem; }

/* ── ADDON OPTIONS (phone / tv packages) ── */
.ts-addon-options {
  margin-bottom: var(--ts-sp-5);
}
.ts-addon-options[hidden] { display: none; }
.ts-radio-group { border: none; padding: 0; margin: 0; }
.ts-addon-card {
  display: block;
  margin-bottom: var(--ts-sp-4);
  cursor: pointer;
}
.ts-addon-card input { /* sr-only */ }
.ts-addon-card-inner {
  border: 2px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  padding: var(--ts-sp-5);
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-3);
  transition: border-color var(--ts-ease), box-shadow var(--ts-ease), background var(--ts-ease);
  position: relative;
}
.ts-addon-card:hover .ts-addon-card-inner {
  border-color: var(--ts-blue-bright);
  box-shadow: var(--ts-shadow-sm);
}
.ts-addon-card input:checked + .ts-addon-card-inner {
  border-color: var(--ts-blue);
  box-shadow: 0 0 0 1px var(--ts-blue);
  background: #eff6ff;
}
.ts-addon-card input:focus-visible + .ts-addon-card-inner {
  outline: 2px solid var(--ts-blue);
  outline-offset: 2px;
}
.ts-addon-card-check {
  position: absolute;
  top: var(--ts-sp-4); right: var(--ts-sp-4);
  width: 20px; height: 20px;
  border-radius: 50%;
  border: 2px solid var(--ts-gray-300);
  background: #fff;
  transition: all var(--ts-ease);
}
.ts-addon-card input:checked + .ts-addon-card-inner .ts-addon-card-check {
  background: var(--ts-blue);
  border-color: var(--ts-blue);
}
.ts-addon-card input:checked + .ts-addon-card-inner .ts-addon-card-check::after {
  content: '✓';
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 900;
  width: 100%;
  height: 100%;
}
.ts-addon-card-body {
  display: flex;
  align-items: baseline;
  gap: var(--ts-sp-3);
  flex-wrap: wrap;
  padding-right: 32px; /* space for check */
}
.ts-addon-card-body strong {
  font-family: var(--ts-font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--ts-navy);
}
.ts-addon-card-price {
  font-family: var(--ts-font-display);
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-left: auto;
}
.ts-addon-card-price small { font-size: 0.75rem; font-weight: 500; color: var(--ts-gray-400); }
.ts-addon-card-name-row {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-3);
  flex-wrap: wrap;
}
.ts-addon-features {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.ts-addon-features li {
  font-size: 0.875rem;
  color: var(--ts-gray-600);
  display: flex;
  align-items: flex-start;
  gap: 7px;
  line-height: 1.5;
}
.ts-addon-features li::before {
  content: '✓';
  color: var(--ts-green-dark);
  font-weight: 800;
  font-size: 0.75rem;
  flex-shrink: 0;
  margin-top: 2px;
}
.ts-addon-note {
  font-size: 0.8125rem;
  color: var(--ts-gray-400);
  margin-top: var(--ts-sp-3);
}

/* ── NAVIGATION BUTTONS ── */
.ts-order-nav {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-3);
  margin-top: var(--ts-sp-8);
  padding-top: var(--ts-sp-6);
  border-top: 1px solid var(--ts-gray-100);
  flex-wrap: wrap;
}
.ts-order-nav .ts-btn--primary,
.ts-order-nav .ts-btn--green { margin-left: auto; }

/* ── CUSTOMER INFO FORM ── */
.ts-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--ts-sp-5);
}
.ts-form-field { display: flex; flex-direction: column; gap: 6px; }
.ts-form-field--full { grid-column: 1 / -1; }
.ts-form-field label {
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--ts-gray-700);
}
.ts-form-field input,
.ts-form-field textarea {
  padding: 0 var(--ts-sp-4);
  height: 46px;
  border: 1.5px solid var(--ts-gray-300);
  border-radius: var(--ts-r-md);
  font-family: var(--ts-font-body);
  font-size: 0.9375rem;
  color: var(--ts-navy);
  background: #fff;
  outline: none;
  transition: border-color var(--ts-ease), box-shadow var(--ts-ease);
}
.ts-form-field textarea { height: auto; padding: var(--ts-sp-3) var(--ts-sp-4); resize: vertical; }
.ts-form-field input:focus,
.ts-form-field textarea:focus {
  border-color: var(--ts-blue);
  box-shadow: 0 0 0 3px rgba(29,78,216,.12);
}
.ts-form-field input.ts-input--error,
.ts-form-field textarea.ts-input--error {
  border-color: var(--ts-red);
  box-shadow: 0 0 0 3px rgba(220,38,38,.12);
}
.ts-field-req { color: var(--ts-red); font-weight: 800; }
.ts-field-hint {
  font-size: 0.75rem;
  color: var(--ts-gray-400);
  line-height: 1.4;
}
.ts-form-privacy {
  font-size: 0.8125rem;
  color: var(--ts-gray-500);
  background: var(--ts-gray-50);
  border-radius: var(--ts-r-md);
  padding: var(--ts-sp-3) var(--ts-sp-4);
  margin-top: var(--ts-sp-5);
}
@media (max-width: 560px) {
  .ts-form-grid { grid-template-columns: 1fr; }
}

/* ── REVIEW SUMMARY (JS-injected HTML uses .ts-sum-* classes) ── */
.ts-review-summary {
  background: var(--ts-gray-50);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  padding: var(--ts-sp-5);
  margin-bottom: var(--ts-sp-6);
}
.ts-review-summary--done { margin-bottom: 0; }
.ts-sum-section {
  margin-bottom: var(--ts-sp-5);
  padding-bottom: var(--ts-sp-5);
  border-bottom: 1px solid var(--ts-gray-200);
}
.ts-sum-section:last-of-type { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.ts-sum-label {
  font-family: var(--ts-font-display);
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--ts-gray-400);
  margin-bottom: var(--ts-sp-3);
}
.ts-sum-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--ts-sp-4);
  font-size: 0.875rem;
  padding-block: 4px;
}
.ts-sum-row span { color: var(--ts-gray-500); }
.ts-sum-row strong { color: var(--ts-navy); font-weight: 700; text-align: right; }
.ts-sum-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--ts-sp-4) var(--ts-sp-5);
  background: var(--ts-navy);
  border-radius: var(--ts-r-md);
  margin-top: var(--ts-sp-4);
}
.ts-sum-total span { font-size: 0.875rem; color: rgba(255,255,255,.55); font-weight: 600; }
.ts-sum-total strong { font-family: var(--ts-font-display); font-size: 1.5rem; font-weight: 800; color: #fff; }
.ts-sum-total strong small { font-size: 0.75rem; color: rgba(255,255,255,.45); font-weight: 500; }

/* ── CONFIRM CHECKBOX ── */
.ts-confirm-row {
  margin-bottom: var(--ts-sp-6);
  padding: var(--ts-sp-5);
  background: var(--ts-blue-pale);
  border: 1px solid rgba(29,78,216,.15);
  border-radius: var(--ts-r-md);
}
.ts-confirm-label {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-3);
  cursor: pointer;
  font-size: 0.875rem;
  color: var(--ts-gray-700);
  line-height: 1.65;
}
.ts-confirm-label input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px; height: 18px;
  margin-top: 2px;
  accent-color: var(--ts-blue);
  cursor: pointer;
}
.ts-confirm-label a { color: var(--ts-blue); text-decoration: underline; }
.ts-submit-note {
  font-size: 0.8125rem;
  color: var(--ts-gray-400);
  text-align: center;
  line-height: 1.65;
  max-width: 520px;
  margin: var(--ts-sp-4) auto 0;
}

/* ── CONFIRMATION / DONE PANEL ── */
.ts-done-card {
  text-align: center;
  padding: var(--ts-sp-8) var(--ts-sp-5);
  margin-bottom: var(--ts-sp-8);
}
.ts-done-icon {
  font-size: 3.5rem;
  display: block;
  margin-bottom: var(--ts-sp-5);
}
.ts-done-card h2 {
  font-size: 1.75rem;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-3);
  outline: none;
}
.ts-done-sub {
  font-size: 1rem;
  color: var(--ts-gray-600);
  max-width: 520px;
  margin-inline: auto;
  line-height: 1.7;
}
.ts-conf-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: #d1fae5;
  border: 1.5px solid #6ee7b7;
  border-radius: var(--ts-r-lg);
  padding: var(--ts-sp-4) var(--ts-sp-8);
  margin-top: var(--ts-sp-6);
}
.ts-conf-badge-label {
  font-family: var(--ts-font-display);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #065f46;
}
.ts-conf-badge-num {
  font-family: var(--ts-font-display);
  font-size: 1.5rem;
  font-weight: 800;
  color: #065f46;
  letter-spacing: .04em;
}

/* What happens next */
.ts-done-next {
  margin-block: var(--ts-sp-8);
  padding: var(--ts-sp-6);
  background: var(--ts-gray-50);
  border-radius: var(--ts-r-lg);
}
.ts-done-next h3 {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-5);
}
.ts-done-steps { display: flex; flex-direction: column; gap: var(--ts-sp-4); }
.ts-done-step {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-4);
}
.ts-done-step-num {
  width: 30px; height: 30px;
  flex-shrink: 0;
  background: var(--ts-navy);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 800;
}
.ts-done-step-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ts-done-step-body strong {
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--ts-navy);
  line-height: 1.25;
}
.ts-done-step-body span { font-size: 0.875rem; color: var(--ts-gray-600); line-height: 1.55; }

/* Done action buttons */
.ts-done-actions {
  display: flex;
  gap: var(--ts-sp-3);
  flex-wrap: wrap;
  justify-content: center;
  padding-top: var(--ts-sp-6);
  border-top: 1px solid var(--ts-gray-100);
  margin-top: var(--ts-sp-6);
}
.ts-btn--outline-navy {
  background: transparent;
  color: var(--ts-navy);
  border-color: var(--ts-navy);
}
.ts-btn--outline-navy:hover {
  background: var(--ts-navy);
  color: #fff;
}

/* ── BELOW-CHECKER TRUST GRID ── */
.ts-checker-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--ts-sp-6);
}
@media (min-width: 641px) and (max-width: 900px) {
  .ts-checker-trust-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--ts-sp-4);
  }

  .ts-checker-trust-item {
    gap: var(--ts-sp-2);
  }

  .ts-checker-trust-icon {
    width: 46px;
    height: 46px;
    font-size: 1rem;
  }

  .ts-checker-trust-item h3 {
    font-size: .86rem;
    line-height: 1.25;
  }

  .ts-checker-trust-item p {
    font-size: .74rem;
    line-height: 1.45;
  }
}
@media (max-width: 640px) {
  .ts-checker-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 500px) {
  .ts-checker-trust-grid { grid-template-columns: 1fr; }
}
.ts-checker-trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--ts-sp-3);
}
.ts-checker-trust-icon {
  font-size: 2.25rem;
  display: flex; align-items: center; justify-content: center;
  width: 60px; height: 60px;
  background: var(--ts-blue-pale);
  border: 1px solid rgba(29,78,216,.1);
  border-radius: var(--ts-r-lg);
}
.ts-checker-trust-item h3 {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--ts-navy);
}
.ts-checker-trust-item p {
  font-size: 0.875rem;
  color: var(--ts-gray-600);
  line-height: 1.65;
}

/* ── INPUT ERROR STATE (shared) ── */
.ts-input--error {
  border-color: var(--ts-red) !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,.12) !important;
}

/* ── CHECKER RESPONSIVE ── */
@media (max-width: 680px) {
  .ts-checker-card { padding: var(--ts-sp-5); }
  .ts-order-panel  { padding: var(--ts-sp-5); }
  .ts-steps        { padding: var(--ts-sp-4) var(--ts-sp-5); }
  .ts-checker-addr-row { flex-direction: column; }
  .ts-btn--checker { width: 100%; justify-content: center; }
  .ts-checker-sel-bar { flex-direction: column; align-items: stretch; }
  .ts-checker-sel-bar .ts-btn { width: 100%; }
  .ts-addon-yesno { flex-direction: column; }
  .ts-addon-toggle { justify-content: center; }
  .ts-order-nav { flex-direction: column; }
  .ts-order-nav .ts-btn { width: 100%; }
  .ts-order-nav .ts-btn--primary,
  .ts-order-nav .ts-btn--green { margin-left: 0; }
  .ts-done-actions { flex-direction: column; }
  .ts-done-actions .ts-btn { width: 100%; }
}

/* ═══════════════════════════════════════════════════
   SESSION 5 — TV + PHONE PAGE TEMPLATES
   72 classes across template-tv.php & template-phone.php
═══════════════════════════════════════════════════ */

/* ── HERO PAGE VARIANTS (TV / Phone colour accents) ── */
.ts-page-hero--tv    { /* inherits ts-page-hero; orange-tinted accent handled via eyebrow */ }
.ts-page-hero--phone { /* inherits ts-page-hero; green-tinted accent */ }

/* ── HOW IT WORKS BAND (TV) ── */
.ts-how-band {
  background: var(--ts-navy-mid, #0d1a38);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: var(--ts-sp-8) 0;
}
.ts-how-band-label {
  font-family: var(--ts-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.3);
  text-align: center;
  margin-bottom: var(--ts-sp-5);
}
.ts-how-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--ts-sp-4);
  position: relative;
}
/* connecting line between steps */
.ts-how-steps::after {
  content: '';
  position: absolute;
  top: 22px;
  left: calc(12.5% + 16px);
  right: calc(12.5% + 16px);
  height: 2px;
  background: linear-gradient(to right, rgba(255,255,255,.1) 0%, rgba(0,180,255,.3) 100%);
  pointer-events: none;
}
.ts-how-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--ts-sp-3);
  position: relative;
  z-index: 1;
}
.ts-how-step-num {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--ts-blue);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ts-font-display);
  font-size: 1.125rem;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 0 0 4px rgba(29,78,216,.25);
}
.ts-how-step-icon {
  font-size: 1.5rem;
  line-height: 1;
}
.ts-how-step-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ts-how-step-body strong {
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.25;
}
.ts-how-step-body span {
  font-size: 0.8125rem;
  color: rgba(255,255,255,.4);
  line-height: 1.55;
}
@media (max-width: 720px) {
  .ts-how-steps { grid-template-columns: repeat(2, 1fr); }
  .ts-how-steps::after { display: none; }
}
@media (max-width: 460px) {
  .ts-how-steps { grid-template-columns: 1fr; }
}

/* ── TV PLAN CARDS ── */
.ts-tv-plans-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--ts-sp-6);
  max-width: 780px;
  margin-inline: auto;
}
@media (max-width: 640px) {
  .ts-tv-plans-grid { grid-template-columns: 1fr; }
}
.ts-plan-card--tv { /* inherits .ts-plan-card */ }
.ts-tv-plan-channels {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  margin-block: var(--ts-sp-2) var(--ts-sp-1);
  color: var(--ts-gray-500);
  font-size: 0.875rem;
}
.ts-tv-plan-channel-num {
  font-family: var(--ts-font-display);
  font-size: 2.25rem;
  font-weight: 800;
  color: var(--ts-navy);
  line-height: 1;
}
.ts-tv-plan-tagline {
  font-size: 0.875rem;
  color: var(--ts-gray-500);
  font-style: italic;
  margin-bottom: var(--ts-sp-4);
  line-height: 1.5;
}

/* ── CHANNEL LINEUP ── */
.ts-channel-legend {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-6);
  justify-content: center;
  margin-bottom: var(--ts-sp-8);
  flex-wrap: wrap;
}
.ts-channel-legend-item {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-2);
  font-size: 0.875rem;
  color: var(--ts-gray-600);
}
.ts-channel-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--ts-r-full);
  font-family: var(--ts-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  transition: transform 0.12s ease;
  cursor: default;
}
.ts-channel-pill--both {
  background: var(--ts-white);
  color: var(--ts-navy);
  border: 1.5px solid var(--ts-gray-300);
}
.ts-channel-pill--prem {
  background: var(--ts-blue-pale);
  color: var(--ts-blue);
  border: 1.5px solid rgba(29,78,216,.25);
}
.ts-channel-pill:hover { transform: translateY(-1px); }
.ts-channel-cats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--ts-sp-6);
}
@media (max-width: 860px) {
  .ts-channel-cats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .ts-channel-cats { grid-template-columns: 1fr; }
}
.ts-channel-cat {
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  padding: var(--ts-sp-5);
}
.ts-channel-cat-name {
  font-family: var(--ts-font-display);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ts-gray-400);
  margin-bottom: var(--ts-sp-3);
  border-bottom: 1px solid var(--ts-gray-100);
  padding-bottom: var(--ts-sp-3);
}
.ts-channel-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* ── VS / COMPARISON TABLE (shared TV + Phone) ── */
.ts-vs-table-wrap {
  overflow-x: auto;
  border-radius: var(--ts-r-lg);
  border: 1.5px solid var(--ts-gray-200);
  box-shadow: var(--ts-shadow-sm);
  margin-top: var(--ts-sp-8);
}
.ts-vs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  background: var(--ts-white);
  min-width: 480px;
}
.ts-vs-table thead th {
  padding: 14px 20px;
  font-family: var(--ts-font-display);
  font-weight: 800;
  font-size: 0.8125rem;
  letter-spacing: .02em;
}
.ts-vs-th-feat {
  text-align: left;
  color: var(--ts-gray-500);
  width: 38%;
  border-bottom: 2px solid var(--ts-gray-200);
}
.ts-vs-th-us {
  background: var(--ts-navy);
  color: #7dd3fc;
  text-align: center;
  width: 31%;
  border-bottom: 2px solid var(--ts-navy);
}
.ts-vs-th-them {
  background: var(--ts-gray-50);
  color: var(--ts-gray-500);
  text-align: center;
  width: 31%;
  border-bottom: 2px solid var(--ts-gray-200);
}
.ts-vs-table tbody tr { border-bottom: 1px solid var(--ts-gray-100); }
.ts-vs-table tbody tr:last-child { border-bottom: none; }
.ts-vs-table tbody tr:hover { background: var(--ts-gray-50); }
.ts-vs-td-feat {
  padding: 13px 20px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ts-gray-700);
}
.ts-vs-td-us {
  padding: 13px 20px;
  text-align: center;
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ts-navy);
  background: rgba(9,17,43,.025);
}
.ts-vs-td-them {
  padding: 13px 20px;
  text-align: center;
  font-size: 0.875rem;
  color: var(--ts-gray-500);
}
.ts-vs-td-us.good,  .ts-vs-td-them.good { color: var(--ts-green-dark); }
.ts-vs-td-us.bad,   .ts-vs-td-them.bad  { color: var(--ts-red); }

/* ── BUNDLE BAND (shared TV + Phone) ── */
.ts-bundle-band {
  background: var(--ts-navy);
  padding: var(--ts-sp-16, 80px) 0 var(--ts-sp-12, 60px);
}
.ts-bundle-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--ts-sp-12);
  align-items: center;
  margin-bottom: var(--ts-sp-10);
}
@media (max-width: 820px) {
  .ts-bundle-inner { grid-template-columns: 1fr; gap: var(--ts-sp-8); }
}
@media (min-width: 641px) and (max-width: 820px) {
  .page-template-template-phone .ts-bundle-inner {
    grid-template-columns: minmax(0, .95fr) minmax(340px, 1fr);
    gap: var(--ts-sp-6);
    align-items: center;
  }

  .page-template-template-phone .ts-bundle-text h2 {
    font-size: clamp(1.5rem, 3.4vw, 2rem);
  }

  .page-template-template-phone .ts-bundle-text p,
  .page-template-template-phone .ts-bundle-list li {
    font-size: 0.875rem;
  }

  .page-template-template-phone .ts-bundle-cards {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: var(--ts-sp-2);
  }

  .page-template-template-phone .ts-bundle-mini-card {
    box-sizing: border-box;
    flex: 0 0 96px;
    width: 96px;
    min-width: 96px;
    height: 116px;
    min-height: 116px;
    max-height: 116px;
    justify-content: center;
    padding: var(--ts-sp-4) var(--ts-sp-3);
  }

  .page-template-template-phone .ts-bundle-mini-card strong {
    font-size: 0.8125rem;
  }

  .page-template-template-phone .ts-bundle-mini-card span {
    font-size: 0.75rem;
  }

  .page-template-template-phone .ts-bundle-plus,
  .page-template-template-phone .ts-bundle-equals {
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 116px;
    font-size: 1.25rem;
  }
}
@media (max-width: 640px) {
  .page-template-template-phone .ts-bundle-cards {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: stretch;
    gap: 6px;
    width: 100%;
  }

  .page-template-template-phone .ts-bundle-mini-card {
    box-sizing: border-box;
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    height: 104px;
    min-height: 104px;
    justify-content: center;
    padding: 12px 8px;
  }

  .page-template-template-phone .ts-bundle-mini-icon {
    font-size: 1.35rem;
    margin-bottom: 2px;
  }

  .page-template-template-phone .ts-bundle-mini-svg {
    width: 22px;
    height: 22px;
  }

  .page-template-template-phone .ts-bundle-mini-card strong {
    font-size: 0.75rem;
  }

  .page-template-template-phone .ts-bundle-mini-card span {
    font-size: 0.6875rem;
  }

  .page-template-template-phone .ts-bundle-plus,
  .page-template-template-phone .ts-bundle-equals {
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 104px;
    font-size: 1rem;
  }
}
.ts-bundle-text .ts-eyebrow { display: block; margin-bottom: var(--ts-sp-3); }
.ts-bundle-text h2 {
  font-family: var(--ts-font-display);
  font-size: 2rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: var(--ts-sp-4);
  line-height: 1.2;
}
.ts-bundle-text p {
  font-size: 1rem;
  color: rgba(255,255,255,.55);
  line-height: 1.7;
  margin-bottom: var(--ts-sp-5);
}
.ts-bundle-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ts-bundle-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 600;
  color: rgba(255,255,255,.7);
}
.ts-bundle-list li::before {
  content: "\2192";
  color: var(--ts-cyan);
  font-weight: 800;
  flex-shrink: 0;
}
.ts-bundle-sub {
  font-size: 0.875rem !important;
  color: rgba(255,255,255,.35) !important;
  margin-top: var(--ts-sp-4) !important;
  margin-bottom: 0 !important;
}
/* Mini calculator cards */
.ts-bundle-cards {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-4);
  flex-wrap: wrap;
  justify-content: center;
}
.ts-bundle-mini-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--ts-r-lg);
  padding: var(--ts-sp-5) var(--ts-sp-6);
  min-width: 120px;
  text-align: center;
  transition: all 0.18s ease;
}
.ts-bundle-mini-card--active {
  background: rgba(0,180,255,.12);
  border-color: rgba(0,180,255,.3);
  box-shadow: 0 0 0 1px rgba(0,180,255,.2);
}
.ts-bundle-mini-card--total {
  background: rgba(5,150,105,.15);
  border-color: rgba(5,150,105,.4);
  box-shadow: 0 0 0 1px rgba(5,150,105,.2);
}
.ts-bundle-mini-icon { font-size: 1.75rem; display: block; margin-bottom: 4px; }
.ts-bundle-mini-icon--phone {
  color: var(--ts-blue-bright, #38BDF8);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ts-bundle-mini-svg {
  width: 28px;
  height: 28px;
  display: block;
  fill: currentColor;
}
.ts-bundle-mini-card strong {
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
}
.ts-bundle-mini-card span {
  font-size: 0.8125rem;
  color: rgba(255,255,255,.4);
  line-height: 1.3;
}
.ts-bundle-plus,
.ts-bundle-equals {
  font-family: var(--ts-font-display);
  font-size: 1.75rem;
  font-weight: 800;
  color: rgba(255,255,255,.25);
  flex-shrink: 0;
}
/* Action buttons row */
.ts-bundle-actions {
  display: flex;
  gap: var(--ts-sp-3);
  flex-wrap: wrap;
  justify-content: center;
}
.ts-bundle-actions .ts-btn {
  min-width: 178px;
  height: 50px;
  border-radius: var(--ts-r-md);
  padding: 0 var(--ts-sp-6);
  font-size: 0.9375rem;
  font-weight: 900;
}
.ts-bundle-actions .ts-btn--green {
  min-width: 300px;
}

/* ── PHONE PLAN CARDS ── */
/* Four tiers per tab now, not the two this grid was built for, so it goes
   4-up and drops the 780px cap that would have squeezed them. */
.ts-phone-plans-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ts-sp-5);
  margin-inline: auto;
}
@media (max-width: 1100px) {
  .ts-phone-plans-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .ts-phone-plans-grid { grid-template-columns: 1fr; }
}
.ts-plan-card--phone { /* inherits .ts-plan-card */ }

/* ── BUSINESS PHONE ADD-ONS ── */
.ts-phone-addons {
  margin-top: var(--ts-sp-10);
  padding: var(--ts-sp-7) var(--ts-sp-7) var(--ts-sp-6);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--ts-r-xl, 14px);
  background: rgba(255,255,255,.04);
}
.ts-phone-addons-title {
  font-family: var(--ts-font-display);
  font-size: 1.125rem;
  margin: 0 0 var(--ts-sp-2);
}
.ts-phone-addons-intro {
  font-size: 0.875rem;
  margin: 0 0 var(--ts-sp-5);
  opacity: .8;
}
.ts-phone-addons-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--ts-sp-2) var(--ts-sp-7);
}
.ts-phone-addon {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--ts-sp-3);
  padding: var(--ts-sp-3) 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ts-phone-addon-name { font-size: 0.9375rem; }
.ts-phone-addon-price {
  font-family: var(--ts-font-display);
  font-weight: 700;
  white-space: nowrap;
}
.ts-phone-addon-unit {
  font-size: 0.75rem;
  font-weight: 600;
  opacity: .7;
}

/* The phone page sits on a dark surface, so pin these rather than inherit. */
.page-template-template-phone .ts-phone-addons-title,
.page-template-template-phone .ts-phone-addon-price {
  color: var(--ts-on-dark, #F8FAFC);
}
.page-template-template-phone .ts-phone-addons-intro,
.page-template-template-phone .ts-phone-addon-name {
  color: var(--ts-on-dark-muted, #D7E3F2);
}

/* ── CELL TWINNING SECTION ── */
.ts-twinning-section {
  padding: var(--ts-sp-16, 80px) 0;
  background: var(--ts-white);
}
.ts-twinning-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--ts-sp-16);
  align-items: center;
}
@media (max-width: 820px) {
  .ts-twinning-grid { grid-template-columns: 1fr; gap: var(--ts-sp-10); }
}
@media (min-width: 641px) and (max-width: 820px) {
  .page-template-template-phone .ts-twinning-grid {
    grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr);
    gap: var(--ts-sp-6);
    align-items: center;
  }

  .page-template-template-phone .ts-twinning-text h2 {
    font-size: clamp(1.5rem, 3.4vw, 2rem);
  }

  .page-template-template-phone .ts-twinning-text p,
  .page-template-template-phone .ts-twinning-list li {
    font-size: 0.875rem;
  }

  .page-template-template-phone .ts-twinning-diagram {
    padding: var(--ts-sp-6);
    gap: var(--ts-sp-4);
  }
}
.ts-twinning-text .ts-eyebrow { display: block; margin-bottom: var(--ts-sp-3); }
.ts-twinning-text h2 {
  font-family: var(--ts-font-display);
  font-size: 2rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-4);
  line-height: 1.2;
}
.ts-twinning-text p {
  font-size: 1rem;
  color: var(--ts-gray-600);
  line-height: 1.75;
  margin-bottom: var(--ts-sp-5);
}
.ts-twinning-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ts-twinning-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.9375rem;
  color: var(--ts-gray-700);
  line-height: 1.55;
}
.ts-twinning-list li::before {
  content: '✓';
  color: var(--ts-green-dark);
  font-weight: 800;
  flex-shrink: 0;
  margin-top: 1px;
}
/* Visual diagram */
.ts-twinning-visual { /* container */ }
.ts-twinning-diagram {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--ts-sp-6);
  padding: var(--ts-sp-10);
  background: var(--ts-gray-50);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-xl);
  flex-wrap: wrap;
}
.ts-twinning-device {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ts-sp-2);
  text-align: center;
  position: relative;
}
.ts-twinning-device--home { /* no extra style needed */ }
.ts-twinning-device--cell { /* no extra style needed */ }
.ts-twinning-device-icon {
  width: 64px; height: 64px;
  background: var(--ts-white);
  border: 2px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  display: flex; align-items: center; justify-content: center;
  font-size: 2rem;
  box-shadow: var(--ts-shadow-sm);
}
.ts-twinning-device span {
  font-family: var(--ts-font-display);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ts-gray-600);
}
.ts-twinning-ring-badge {
  background: var(--ts-green-dark);
  color: #fff;
  font-family: var(--ts-font-display);
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: .1em;
  padding: 2px 7px;
  border-radius: var(--ts-r-full);
  animation: ts-ring-badge 1.8s infinite ease-in-out;
}
@keyframes ts-ring-badge {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.5; transform: scale(0.95); }
}
.ts-twinning-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ts-sp-2);
}
.ts-twinning-call-line {
  width: 60px;
  height: 3px;
  background: linear-gradient(to right, var(--ts-blue), var(--ts-cyan));
  border-radius: 2px;
  position: relative;
}
.ts-twinning-call-line::after {
  content: '';
  position: absolute;
  right: -6px; top: 50%;
  transform: translateY(-50%);
  border-left: 8px solid var(--ts-cyan);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}
.ts-twinning-call-bubble {
  font-size: 1.5rem;
  animation: ts-call-bounce 1.5s infinite ease-in-out;
}
@keyframes ts-call-bounce {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-4px); }
}
.ts-twinning-diagram-label {
  text-align: center;
  font-size: 0.8125rem;
  color: var(--ts-gray-400);
  margin-top: var(--ts-sp-4);
  font-style: italic;
}

/* ── PHONE FEATURES GRID ── */
.ts-phone-features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--ts-sp-5);
}
@media (max-width: 900px) {
  .ts-phone-features-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .ts-phone-features-grid { grid-template-columns: 1fr; }
}
.ts-phone-feature-item {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-4);
  padding: var(--ts-sp-5);
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  transition: box-shadow var(--ts-ease), border-color var(--ts-ease);
}
.ts-phone-feature-item:hover {
  border-color: var(--ts-blue-bright);
  box-shadow: var(--ts-shadow-sm);
}
.ts-phone-feature-icon {
  width: 40px; height: 40px;
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.375rem;
  background: var(--ts-blue-pale);
  border-radius: var(--ts-r-md);
}
.ts-phone-feature-text strong {
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 800;
  color: var(--ts-navy);
  display: block;
  margin-bottom: 4px;
  line-height: 1.2;
}
.ts-phone-feature-text p {
  font-size: 0.8125rem;
  color: var(--ts-gray-600);
  line-height: 1.6;
  margin: 0;
}

/* ── PORTING / NUMBER TRANSFER SECTION ── */
.ts-porting-section {
  background: var(--ts-blue-pale);
  border-top: 1px solid rgba(29,78,216,.1);
  border-bottom: 1px solid rgba(29,78,216,.1);
  padding: var(--ts-sp-16, 80px) 0;
}
.ts-porting-inner {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: var(--ts-sp-10);
  align-items: flex-start;
}
@media (max-width: 700px) {
  .ts-porting-inner { grid-template-columns: 1fr; }
}
.ts-porting-icon-wrap { display: flex; justify-content: center; padding-top: var(--ts-sp-4); }
.ts-porting-icon {
  width: 80px; height: 80px;
  background: var(--ts-navy);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 2.5rem;
  box-shadow: 0 0 0 6px rgba(29,78,216,.12);
}
.ts-porting-text h2 {
  font-family: var(--ts-font-display);
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-4);
}
.ts-porting-text > p {
  font-size: 0.9375rem;
  color: var(--ts-gray-600);
  line-height: 1.7;
  margin-bottom: var(--ts-sp-6);
}
.ts-porting-steps {
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-4);
  margin-bottom: var(--ts-sp-5);
}
.ts-porting-step {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-4);
  padding: var(--ts-sp-4);
  background: var(--ts-white);
  border: 1.5px solid rgba(29,78,216,.12);
  border-radius: var(--ts-r-md);
}
.ts-porting-step-num {
  width: 28px; height: 28px;
  flex-shrink: 0;
  background: var(--ts-blue);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 800;
}
.ts-porting-step strong {
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 800;
  color: var(--ts-navy);
  display: block;
  margin-bottom: 3px;
}
.ts-porting-step p {
  font-size: 0.8125rem;
  color: var(--ts-gray-600);
  margin: 0;
  line-height: 1.55;
}
.ts-porting-note {
  font-size: 0.8125rem;
  color: var(--ts-gray-500);
  line-height: 1.65;
  padding: var(--ts-sp-3) var(--ts-sp-4);
  background: rgba(29,78,216,.06);
  border-radius: var(--ts-r-md);
  border-left: 3px solid var(--ts-blue);
}

/* ═══════════════════════════════════════════════════════════════
   SESSION 6 — CONTACT PAGE + WEB DESIGN PAGE
   83 classes: template-contact.php + template-webdesign.php
═══════════════════════════════════════════════════════════════ */

/* ── SHARED: hero page-type variants ── */
.ts-page-hero--contact { /* inherits ts-page-hero */ }
.ts-page-hero--web    { /* inherits ts-page-hero */ }

/* ── SHARED: honeypot field ── */
.ts-hp-wrap {
  display: none !important;
  visibility: hidden;
  position: absolute;
  left: -9999px;
}

/* ── SHARED: contact form success state ── */
.ts-contact-success {
  padding: var(--ts-sp-8);
  border-radius: var(--ts-r-xl);
  margin-bottom: var(--ts-sp-6);
}
.ts-contact-success strong { font-size: 1.125rem; display: block; margin-bottom: var(--ts-sp-2); }
.ts-alert.ts-contact-success p { color: #064E3B; }

/* ─────────────────────────────────────────────────────
   CONTACT — QUICK CONTACT BAR (inside hero)
───────────────────────────────────────────────────── */
.ts-contact-quick-bar {
  display: flex;
  align-items: stretch;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--ts-r-xl);
  margin-top: var(--ts-sp-8);
  overflow: hidden;
  flex-wrap: wrap;
}
.ts-contact-quick-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: var(--ts-sp-5) var(--ts-sp-6);
  flex: 1;
  min-width: 180px;
  text-decoration: none;
  transition: background 0.18s ease;
}
a.ts-contact-quick-item:hover { background: rgba(255,255,255,.07); }
.ts-contact-quick-icon {
  font-size: 1.25rem;
  line-height: 1;
  display: block;
  margin-bottom: 2px;
}
.ts-contact-quick-icon--phone {
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .78);
}
.ts-contact-quick-icon--phone svg {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
  fill: currentColor;
}
.ts-contact-quick-label {
  font-family: var(--ts-font-display);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.35);
}
.ts-contact-quick-item strong {
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: #fff;
}
.ts-contact-quick-divider {
  width: 1px;
  background: rgba(255,255,255,.1);
  align-self: stretch;
  flex-shrink: 0;
}
@media (max-width: 640px) {
  .ts-contact-quick-bar {
    flex-direction: column;
    width: 100%;
    border-radius: var(--ts-r-lg);
    margin-top: var(--ts-sp-6);
  }
  .ts-contact-quick-divider { width: auto; height: 1px; }
  .ts-contact-quick-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 2px var(--ts-sp-3);
    min-width: 0;
    padding: var(--ts-sp-4);
    align-items: center;
  }
  .ts-contact-quick-icon {
    grid-row: 1 / span 2;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    border-radius: var(--ts-r-sm);
    background: rgba(255,255,255,.08);
  }
  .ts-contact-quick-icon--phone,
  .ts-contact-quick-icon--phone svg {
    width: 34px;
    height: 34px;
  }
  .ts-contact-quick-icon--phone svg {
    width: 18px;
    height: 18px;
  }
  .ts-contact-quick-label,
  .ts-contact-quick-item strong {
    min-width: 0;
  }
  .ts-contact-quick-item strong {
    font-size: clamp(0.875rem, 4vw, 1rem);
    overflow-wrap: anywhere;
  }
}

@media (max-width: 640px) {
  .page-template-template-contact .ts-service-area-section > .ts-container {
    padding-inline: var(--ts-sp-3);
  }

  .page-template-template-contact .ts-service-area-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .page-template-template-contact .ts-service-area-layout,
  .page-template-template-contact .ts-service-area-text,
  .page-template-template-contact .ts-service-area-regions,
  .page-template-template-contact .ts-service-area-region {
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  .page-template-template-contact .ts-service-area-text > .ts-btn {
    width: auto !important;
    min-width: 220px;
    max-width: 280px;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center;
    justify-content: center;
  }
}

/* ─────────────────────────────────────────────────────
   CONTACT — MAIN LAYOUT (2-col: info + form)
───────────────────────────────────────────────────── */
.ts-section--contact-main { padding-top: var(--ts-sp-12); }
.ts-contact-layout {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: var(--ts-sp-12);
  align-items: start;
}
@media (max-width: 960px) {
  .ts-contact-layout { grid-template-columns: 1fr; gap: var(--ts-sp-8); }
}

/* ── INFO column ── */
.ts-contact-info-col { /* sticky positioning for desktop */  }
@media (min-width: 961px) {
  .ts-contact-info-col { position: sticky; top: var(--ts-sp-8); }
}
.ts-contact-info-hdr {
  font-family: var(--ts-font-display);
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-2);
}
.ts-contact-info-sub {
  font-size: 0.9375rem;
  color: var(--ts-gray-500);
  margin-bottom: var(--ts-sp-5);
}

/* ── Department cards ── */
.ts-contact-dept-list {
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-3);
  margin-bottom: var(--ts-sp-6);
}
@media (min-width: 641px) and (max-width: 960px) {
  .page-template-template-contact .ts-contact-dept-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ts-sp-4);
  }

  .page-template-template-contact .ts-contact-dept-card {
    height: 100%;
    min-width: 0;
  }
}
.ts-contact-dept-card {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-4);
  padding: var(--ts-sp-4) var(--ts-sp-5);
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  text-decoration: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease;
}
a.ts-contact-dept-card:hover {
  border-color: var(--ts-blue-bright);
  box-shadow: var(--ts-shadow-sm);
  transform: translateX(2px);
}
.ts-contact-dept-card--location { cursor: default; }
.ts-contact-dept-icon {
  width: 40px; height: 40px;
  border-radius: var(--ts-r-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}
.ts-contact-dept-icon--blue   { background: #dbeafe; }
.ts-contact-dept-icon--green  { background: #d1fae5; }
.ts-contact-dept-icon--orange { background: #ffedd5; }
.ts-contact-dept-icon--purple { background: #ede9fe; }
.ts-contact-dept-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.ts-contact-dept-body strong {
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 800;
  color: var(--ts-navy);
  line-height: 1.2;
}
.ts-contact-dept-body span {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ts-blue);
}
.ts-contact-dept-body em {
  font-style: normal;
  font-size: 0.8125rem;
  color: var(--ts-gray-400);
}
.ts-contact-dept-body address {
  font-style: normal;
  font-size: 0.8125rem;
  color: var(--ts-gray-600);
  line-height: 1.65;
}

/* ── Hours card ── */
.ts-contact-hours-card {
  background: var(--ts-gray-50);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  padding: var(--ts-sp-5);
}
.ts-contact-hours-card h3 {
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ts-gray-400);
  margin-bottom: var(--ts-sp-3);
}
.ts-contact-hours-rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: var(--ts-sp-4);
}
.ts-contact-hours-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--ts-gray-200);
}
.ts-contact-hours-row:last-child { border-bottom: none; padding-bottom: 0; }
.ts-contact-hours-row span { color: var(--ts-gray-700); }
.ts-hours-open   { color: var(--ts-green-dark); font-weight: 700; }
.ts-hours-closed { color: var(--ts-gray-400); font-weight: 400; }
.ts-contact-hours-note {
  font-size: 0.75rem;
  color: var(--ts-gray-400);
  line-height: 1.6;
  margin: 0;
  padding-top: var(--ts-sp-3);
  border-top: 1px dashed var(--ts-gray-200);
}

/* ── FORM column ── */
.ts-contact-form-col { min-width: 0; }
.ts-contact-form-card {
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-xl);
  box-shadow: var(--ts-shadow-lg);
  padding: var(--ts-sp-8);
}
@media (max-width: 500px) {
  .ts-contact-form-card { padding: var(--ts-sp-5); }
}
.ts-contact-form-hdr {
  margin-bottom: var(--ts-sp-6);
  padding-bottom: var(--ts-sp-6);
  border-bottom: 1px solid var(--ts-gray-100);
}
.ts-contact-form-hdr h2 {
  font-family: var(--ts-font-display);
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-2);
}
.ts-contact-form-hdr p {
  font-size: 0.9375rem;
  color: var(--ts-gray-500);
}
.ts-contact-form { /* container */ }

/* ─────────────────────────────────────────────────────
   CONTACT FORM — SHARED FIELD SYSTEM (ts-cform-*)
   Separate namespace from ts-form-* (used in checker)
───────────────────────────────────────────────────── */
.ts-cform-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--ts-sp-4) var(--ts-sp-5);
}
@media (max-width: 540px) {
  .ts-cform-grid { grid-template-columns: 1fr; }
}
.ts-cform-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ts-cform-field--full { grid-column: 1 / -1; }
.ts-cform-label {
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--ts-gray-700);
  display: flex;
  align-items: center;
  gap: 4px;
}
.ts-cform-label--check {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-3);
  font-family: var(--ts-font-body);
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--ts-gray-700);
  cursor: pointer;
  line-height: 1.55;
}
.ts-cform-label--check input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px; height: 18px;
  margin-top: 2px;
  accent-color: var(--ts-blue);
  cursor: pointer;
}
.ts-cform-req {
  color: var(--ts-red);
  font-weight: 800;
  font-size: 0.875rem;
}
.ts-cform-input {
  height: 46px;
  padding: 0 var(--ts-sp-4);
  border: 1.5px solid var(--ts-gray-300);
  border-radius: var(--ts-r-md);
  font-family: var(--ts-font-body);
  font-size: 0.9375rem;
  color: var(--ts-navy);
  background: var(--ts-white);
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
  width: 100%;
  box-sizing: border-box;
}
.ts-cform-input::placeholder { color: var(--ts-gray-400); }
.ts-cform-input:focus {
  border-color: var(--ts-blue);
  box-shadow: 0 0 0 3px rgba(29,78,216,.12);
}
.ts-cform-input:invalid:not(:placeholder-shown) {
  border-color: var(--ts-red);
}
.ts-cform-select {
  appearance: none;
  -webkit-appearance: none;
  color-scheme: dark;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20' fill='%237DD3FC'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: var(--ts-sp-9);
  cursor: pointer;
}
.ts-cform-select option {
  background: #172B44;
  color: #F8FAFC;
}
.ts-cform-select option:checked {
  background: var(--ts-blue, #1D4ED8);
  color: #FFFFFF;
}
.ts-cform-select option:disabled {
  color: rgba(248,250,252,.55);
}
.ts-cform-textarea {
  height: auto;
  padding: var(--ts-sp-3) var(--ts-sp-4);
  resize: vertical;
  min-height: 120px;
  line-height: 1.65;
}
.ts-cform-privacy {
  font-size: 0.8125rem;
  color: var(--ts-gray-400);
  text-align: center;
  margin-top: var(--ts-sp-4);
  line-height: 1.6;
}

/* ─────────────────────────────────────────────────────
   CONTACT — SERVICE AREA SECTION
───────────────────────────────────────────────────── */
.ts-service-area-section { }
.ts-service-area-layout {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: var(--ts-sp-12);
  align-items: start;
}
@media (max-width: 960px) {
  .ts-service-area-layout { grid-template-columns: 1fr; }
}
.ts-service-area-text { }
.ts-service-area-regions {
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-3);
}
.ts-service-area-region {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-3);
  padding: var(--ts-sp-3) var(--ts-sp-4);
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-md);
  transition: border-color 0.15s ease;
}
.ts-service-area-region:hover { border-color: var(--ts-blue-bright); }
.ts-service-area-region-icon {
  font-size: 1.25rem;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  background: var(--ts-gray-50);
  border-radius: var(--ts-r-sm);
  flex-shrink: 0;
}
.ts-service-area-region-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.ts-service-area-region-body strong {
  font-family: var(--ts-font-display);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ts-navy);
}
.ts-service-area-region-body span {
  font-size: 0.75rem;
  color: var(--ts-gray-500);
}
.ts-service-area-map-wrap {
  border-radius: var(--ts-r-xl);
  overflow: hidden;
  border: 2px solid var(--ts-gray-200);
  box-shadow: var(--ts-shadow-md);
  line-height: 0; /* kills gap under iframe */
}
.ts-service-area-map {
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
}
@media (max-width: 960px) {
  .ts-service-area-map { height: 320px; }
}

/* ─────────────────────────────────────────────────────
   WEB DESIGN — HERO
───────────────────────────────────────────────────── */
.ts-web-hero-inner {
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: var(--ts-sp-10);
  align-items: center;
}
@media (max-width: 760px) {
  .ts-web-hero-inner { grid-template-columns: 1fr; }
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-webdesign .ts-page-hero--web {
    padding-block: var(--ts-sp-8);
  }

  .page-template-template-webdesign .ts-web-hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(168px, 0.36fr);
    gap: var(--ts-sp-5);
    align-items: center;
  }

  .page-template-template-webdesign .ts-web-hero-text h1 {
    max-width: 520px;
    font-size: clamp(1.75rem, 3.4vw, 2.25rem);
    line-height: 1.08;
  }

  .page-template-template-webdesign .ts-web-hero-text .ts-page-hero-sub {
    max-width: 500px;
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .page-template-template-webdesign .ts-web-hero-text .ts-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ts-sp-3);
    margin-top: var(--ts-sp-6) !important;
  }

  .page-template-template-webdesign .ts-web-hero-text .ts-hero-actions .ts-btn {
    min-height: 46px;
    padding: 0.85rem 1.15rem;
    font-size: 0.9rem;
  }

  .page-template-template-webdesign .ts-web-hero-price-badge {
    justify-self: end;
    width: 100%;
    max-width: 182px;
    padding: var(--ts-sp-5);
  }

  .page-template-template-webdesign .ts-web-hero-price {
    font-size: 2.15rem;
  }

  .page-template-template-webdesign .ts-web-hero-price-badge .ts-btn {
    min-height: 44px;
    padding-inline: var(--ts-sp-3);
    font-size: 0.82rem;
    white-space: normal;
  }
}

@media (min-width: 641px) and (max-width: 760px) {
  .page-template-template-webdesign .ts-web-hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(160px, 0.38fr);
  }
}
.ts-web-hero-text { }
.ts-web-hero-text h1 {
  font-size: clamp(1.875rem, 4vw, 2.75rem);
  line-height: 1.15;
  margin-bottom: var(--ts-sp-4);
}
.ts-web-hero-accent {
  display: block;
  color: var(--ts-cyan);
}
/* Floating price badge */
.ts-web-hero-price-badge {
  background: rgba(255,255,255,.06);
  border: 1.5px solid rgba(255,255,255,.12);
  border-radius: var(--ts-r-xl);
  padding: var(--ts-sp-6);
  text-align: center;
  backdrop-filter: blur(8px);
}
.ts-web-hero-from {
  font-family: var(--ts-font-display);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.35);
  display: block;
  margin-bottom: var(--ts-sp-2);
}
.ts-web-hero-price {
  font-family: var(--ts-font-display);
  font-size: 2.75rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  margin-bottom: 2px;
}
.ts-web-hero-price-sub {
  font-size: 0.8125rem;
  color: rgba(255,255,255,.35);
  display: block;
}

/* ─────────────────────────────────────────────────────
   WEB DESIGN — 3 SERVICE PILLARS
───────────────────────────────────────────────────── */
.ts-web-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--ts-sp-5);
}
@media (max-width: 780px) {
  .ts-web-pillars { grid-template-columns: 1fr; }
}
.ts-web-pillar {
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-4);
  padding: var(--ts-sp-7);
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-xl);
  text-decoration: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.14s ease;
  cursor: pointer;
}
.ts-web-pillar:hover {
  border-color: var(--ts-blue-bright);
  box-shadow: var(--ts-shadow-md);
  transform: translateY(-2px);
}
.ts-web-pillar-icon {
  font-size: 2.25rem;
  width: 56px; height: 56px;
  display: flex; align-items: center; justify-content: center;
  background: var(--ts-blue-pale);
  border-radius: var(--ts-r-lg);
  transition: background 0.18s ease;
  overflow: hidden;
}
.ts-web-pillar:hover .ts-web-pillar-icon { background: var(--ts-navy); }
.ts-web-pillar h3 {
  font-family: var(--ts-font-display);
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin: 0;
}
.ts-web-pillar p {
  font-size: 0.875rem;
  color: var(--ts-gray-600);
  line-height: 1.7;
  flex: 1;
  margin: 0;
}
.ts-web-pillar-price {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--ts-blue);
  margin-top: auto;
}

/* ─────────────────────────────────────────────────────
   WEB DESIGN — PORTFOLIO GRID
───────────────────────────────────────────────────── */
.ts-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--ts-sp-5);
}
@media (max-width: 860px) { .ts-portfolio-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .ts-portfolio-grid { grid-template-columns: 1fr; } }
.ts-portfolio-card {
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-xl);
  overflow: hidden;
  transition: box-shadow 0.18s ease, transform 0.14s ease;
}
.ts-portfolio-card:hover {
  box-shadow: var(--ts-shadow-md);
  transform: translateY(-2px);
}
.ts-portfolio-thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.5rem;
  position: relative;
}
.ts-portfolio-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.15) 100%);
}
.ts-portfolio-thumb-icon {
  display: block;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.2));
}
.ts-portfolio-body {
  padding: var(--ts-sp-5);
}
.ts-portfolio-body h3 {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-2);
}
.ts-portfolio-body p {
  font-size: 0.8125rem;
  color: var(--ts-gray-600);
  line-height: 1.65;
  margin: 0;
}
.ts-portfolio-note {
  font-size: 0.8125rem;
  color: var(--ts-gray-400);
  text-align: center;
  margin-top: var(--ts-sp-6);
}

/* ─────────────────────────────────────────────────────
   WEB DESIGN — PRICING TIERS
───────────────────────────────────────────────────── */
.ts-web-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--ts-sp-5);
  align-items: start;
}
@media (max-width: 860px) { .ts-web-pricing-grid { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; } }

/* Price card — base */
.ts-web-price-card {
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-xl);
  padding: var(--ts-sp-7);
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-5);
  transition: box-shadow 0.18s ease;
  position: relative;
}
.ts-web-price-card:hover { box-shadow: var(--ts-shadow-md); }

/* Popular variant */
.ts-web-price-card--popular {
  border-color: var(--ts-blue);
  box-shadow: 0 0 0 1px var(--ts-blue), var(--ts-shadow-md);
}

.ts-web-price-name {
  font-family: var(--ts-font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--ts-gray-500);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.ts-web-price-amount {
  font-family: var(--ts-font-display);
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--ts-navy);
  line-height: 1;
}
.ts-web-price-suffix {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ts-gray-400);
}
.ts-web-price-sub {
  font-size: 0.875rem;
  color: var(--ts-gray-500);
  font-style: italic;
  margin-top: -var(--ts-sp-2);
  border-bottom: 1px solid var(--ts-gray-100);
  padding-bottom: var(--ts-sp-5);
}
.ts-web-price-feats {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.ts-web-price-feats li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.875rem;
  color: var(--ts-gray-700);
  line-height: 1.5;
}
.ts-web-price-feats li::before {
  content: '✓';
  color: var(--ts-green-dark);
  font-weight: 800;
  font-size: 0.75rem;
  flex-shrink: 0;
  margin-top: 2px;
}

/* ─────────────────────────────────────────────────────
   WEB DESIGN — HOSTING + MAINTENANCE ADDONS
───────────────────────────────────────────────────── */
.ts-web-addons-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--ts-sp-6);
}
@media (max-width: 780px) { .ts-web-addons-grid { grid-template-columns: 1fr; } }
.ts-web-addon-card {
  background: var(--ts-white);
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-xl);
  overflow: hidden;
}
.ts-web-addon-hdr {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-4);
  padding: var(--ts-sp-6);
  border-bottom: 1px solid var(--ts-gray-100);
  background: var(--ts-gray-50);
}
.ts-web-addon-icon {
  font-size: 1.75rem;
  width: 48px; height: 48px;
  display: flex; align-items: center; justify-content: center;
  background: var(--ts-blue-pale);
  border-radius: var(--ts-r-lg);
  flex-shrink: 0;
}
.ts-web-addon-hdr h3 {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--ts-navy);
  margin-bottom: 4px;
}
.ts-web-addon-hdr p {
  font-size: 0.8125rem;
  color: var(--ts-gray-500);
  margin: 0;
  line-height: 1.55;
}
.ts-web-addon-plans {
  display: flex;
  flex-direction: column;
}
.ts-web-addon-plan {
  padding: var(--ts-sp-5) var(--ts-sp-6);
  border-bottom: 1px solid var(--ts-gray-100);
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  column-gap: var(--ts-sp-4);
  align-items: baseline;
}
.ts-web-addon-plan:last-child { border-bottom: none; }
.ts-web-addon-plan-name {
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--ts-navy);
  grid-column: 1;
  grid-row: 1;
}
.ts-web-addon-plan-price {
  font-family: var(--ts-font-display);
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--ts-blue);
  grid-column: 2;
  grid-row: 1;
  white-space: nowrap;
}
.ts-web-addon-plan-desc {
  font-size: 0.8125rem;
  color: var(--ts-gray-500);
  line-height: 1.55;
  grid-column: 1 / -1;
  grid-row: 2;
  margin-top: 3px;
}

/* ─────────────────────────────────────────────────────
   WEB DESIGN — INTERNET CUSTOMER DISCOUNT BAND
───────────────────────────────────────────────────── */
.ts-web-discount-band {
  background: linear-gradient(135deg, #0d3320 0%, #065f46 100%);
  border-top: 1px solid rgba(5,150,105,.3);
  border-bottom: 1px solid rgba(5,150,105,.3);
  padding: var(--ts-sp-8) 0;
}
.ts-web-discount-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ts-sp-6);
  flex-wrap: wrap;
}
.ts-web-discount-text { flex: 1; min-width: 260px; }
.ts-web-discount-badge {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: var(--ts-sp-2);
}
.ts-web-discount-text p {
  font-size: 0.9375rem;
  color: rgba(255,255,255,.55);
  line-height: 1.65;
  margin: 0;
}

.ts-web-discount-band .ts-btn {
  background: var(--ts-blue, #1D4ED8);
  border-color: var(--ts-blue, #1D4ED8);
  color: var(--ts-white);
  box-shadow: none;
}

.ts-web-discount-band .ts-btn:hover,
.ts-web-discount-band .ts-btn:focus-visible {
  background: #1e40af;
  border-color: #1e40af;
  color: var(--ts-white);
  box-shadow: 0 8px 24px rgba(29,78,216,.35);
}

/* ─────────────────────────────────────────────────────
   RESPONSIVE — CONTACT PAGE
───────────────────────────────────────────────────── */
@media (max-width: 680px) {
  .ts-contact-form-card    { padding: var(--ts-sp-5); }
  .ts-service-area-regions { gap: var(--ts-sp-2); }
}
/* =============================================================================
   Truespeed — Session 10 CSS Additions
   APPEND to the end of assets/css/truespeed-main.css
   ============================================================================= */

/* ─────────────────────────────────────────────────────
   TV PAGE — PLAN CARDS (3-column: Skinny / Loaded / Fully Loaded)
───────────────────────────────────────────────────── */
.ts-tv-plans-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ts-sp-5);
  align-items: stretch;
  max-width: none;
  margin-inline: 0;
}
@media (max-width: 900px) {
  .ts-tv-plans-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
}
@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-tv .ts-tv-plans-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: none;
    margin-inline: 0;
    gap: var(--ts-sp-4);
  }

  .page-template-template-tv .ts-section--tv-plans .ts-tv-plan-card {
    padding: var(--ts-sp-4);
  }

  .page-template-template-tv .ts-section--tv-plans .ts-tv-plan-name {
    font-size: 1rem;
  }

  .page-template-template-tv .ts-section--tv-plans .ts-tv-plan-tagline,
  .page-template-template-tv .ts-section--tv-plans .ts-tv-plan-features li {
    font-size: .76rem;
    line-height: 1.45;
  }

  .page-template-template-tv .ts-section--tv-plans .ts-tv-plan-price-whole {
    font-size: 2rem;
  }

  .page-template-template-tv .ts-section--tv-plans .ts-tv-plan-card > .ts-btn {
    width: 100%;
    min-width: 0;
    padding-inline: var(--ts-sp-3);
  }
}

.ts-tv-plan-card {
  background: #fff;
  border-radius: var(--ts-r-xl);
  padding: var(--ts-sp-6) var(--ts-sp-5) var(--ts-sp-5);
  box-shadow: var(--ts-shadow-sm);
  position: relative;
  border: 2px solid var(--ts-gray-200);
  transition: transform .18s, box-shadow .18s;
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-4);
  min-width: 0;
}
.ts-tv-plan-card > .ts-btn { margin-top: auto; padding-bottom: 0; }
.ts-tv-plan-card:hover { transform: translateY(-4px); box-shadow: var(--ts-shadow-md); }
.ts-tv-plan-card--featured {
  border-color: var(--ts-blue);
  box-shadow: 0 0 0 3px rgba(29,78,216,.12), var(--ts-shadow-md);
}
.ts-tv-plan-card--premium {
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124,58,237,.1), var(--ts-shadow-md);
}

.ts-tv-plan-badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--ts-font-display);
  font-size: .8125rem;
  font-weight: 900;
  padding: 4px 16px;
  border-radius: 999px;
  white-space: nowrap;
}
.ts-tv-plan-badge--popular { background: var(--ts-blue); color: #fff; }
.ts-tv-plan-badge--premium { background: #7c3aed; color: #fff; }

.ts-tv-plan-header { text-align: center; }
.ts-tv-plan-name   { font-family: var(--ts-font-display); font-size: 1.5rem; font-weight: 900; color: var(--ts-navy); margin: 0 0 var(--ts-sp-2); }
.ts-tv-plan-tagline { font-size: .875rem; color: var(--ts-gray-600); line-height: 1.55; margin: 0; }

.ts-tv-plan-channels { text-align: center; padding: var(--ts-sp-3) 0; border-top: 1.5px solid var(--ts-gray-100); border-bottom: 1.5px solid var(--ts-gray-100); }
.ts-tv-plan-ch-count { display: block; font-family: var(--ts-font-display); font-size: 2.25rem; font-weight: 900; color: var(--ts-blue); line-height: 1; }
.ts-tv-plan-ch-label { display: block; font-size: .8125rem; color: var(--ts-gray-500); margin-top: 4px; }
.ts-tv-plan-card--featured .ts-tv-plan-ch-count { color: var(--ts-blue); }
.ts-tv-plan-card--premium .ts-tv-plan-ch-count  { color: #7c3aed; }

.ts-tv-plan-price-row { display: flex; align-items: baseline; justify-content: center; gap: 2px; }
.ts-tv-plan-price-sup  { font-size: 1.25rem; font-family: var(--ts-font-display); font-weight: 800; color: var(--ts-navy); }
.ts-tv-plan-price-whole { font-size: 3rem; font-family: var(--ts-font-display); font-weight: 900; color: var(--ts-navy); line-height: 1; }
.ts-tv-plan-price-frac  { font-size: 1.125rem; font-family: var(--ts-font-display); font-weight: 800; color: var(--ts-navy); }
.ts-tv-plan-price-period { font-size: .9rem; color: var(--ts-gray-500); margin-left: 2px; }
.ts-tv-plan-hst         { text-align: center; font-size: .8125rem; color: var(--ts-gray-500); margin: -var(--ts-sp-2) 0 0; }

.ts-tv-plan-features { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.ts-tv-plan-features li { display: flex; align-items: flex-start; gap: 8px; font-size: .8125rem; color: var(--ts-gray-700); line-height: 1.5; }
.ts-tv-feat-check { color: var(--ts-green); font-weight: 900; flex-shrink: 0; margin-top: 1px; }

.ts-tv-disclaimer { font-size: .8125rem; color: var(--ts-gray-500); margin-top: var(--ts-sp-6); text-align: center; line-height: 1.6; }
.ts-btn--purple { background: #7c3aed; color: #fff; border-color: #7c3aed; }
.ts-btn--purple:hover, .ts-btn--purple:focus-visible { background: #6d28d9; border-color: #6d28d9; color: #fff; }
.ts-btn--block { display: flex; width: 100%; align-items: center; justify-content: center; }

/* ─────────────────────────────────────────────────────
   TV CHANNEL COMPARISON TABLE
───────────────────────────────────────────────────── */
.ts-ch-table-wrap {
  overflow-x: auto;
  border-radius: var(--ts-r-xl);
  box-shadow: var(--ts-shadow-sm);
  background: #fff;
}
.ts-ch-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.ts-ch-table thead th {
  position: sticky; top: 0; z-index: 2;
  background: var(--ts-navy); color: #fff;
  font-family: var(--ts-font-display); font-weight: 800;
  text-align: center; padding: .875rem 1rem;
  white-space: nowrap;
}
.ts-ch-table thead th.ts-ch-th-name { text-align: left; background: var(--ts-navy-mid); }
.ts-ch-table thead th.ts-ch-th-loaded { background: var(--ts-blue); }
.ts-ch-table thead th.ts-ch-th-fully  { background: #7c3aed; }
.ts-ch-th-price { display: block; font-size: .75rem; font-weight: 600; opacity: .85; }

.ts-ch-category-row td {
  background: var(--ts-gray-100);
  font-family: var(--ts-font-display);
  font-size: .8125rem;
  font-weight: 900;
  color: var(--ts-gray-600);
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .5rem 1rem;
  border-top: 2px solid var(--ts-gray-200);
}
.ts-ch-row td { padding: .625rem 1rem; border-bottom: 1px solid var(--ts-gray-100); vertical-align: middle; }
.ts-ch-row:hover td { background: var(--ts-gray-50); }
.ts-ch-name  { color: var(--ts-gray-800); font-size: .9rem; }
.ts-ch-cell  { text-align: center; }
.ts-ch-cell--yes .ts-ch-check  { color: var(--ts-green); font-size: 1.1rem; font-weight: 900; }
.ts-ch-cell--no  .ts-ch-minus  { color: var(--ts-gray-300); font-size: .9rem; }

/* Row colour: channels in Loaded or Fully Loaded highlighted subtly */
.ts-ch-row[data-tier="loaded"] td:nth-child(3),
.ts-ch-row[data-tier="loaded"] td:nth-child(4) { background: rgba(29,78,216,.03); }
.ts-ch-row[data-tier="fully"] td:nth-child(4)  { background: rgba(124,58,237,.04); }

.ts-ch-table tfoot .ts-ch-total-row td,
.ts-ch-table tfoot .ts-ch-price-row td {
  padding: .75rem 1rem;
  border-top: 2px solid var(--ts-gray-200);
  font-family: var(--ts-font-display); font-weight: 900;
  background: var(--ts-gray-50); text-align: center;
}
.ts-ch-table tfoot .ts-ch-total-row .ts-ch-name,
.ts-ch-table tfoot .ts-ch-price-row .ts-ch-name { text-align: left; }
.ts-ch-cell--total { font-size: 1rem; color: var(--ts-navy); }
.ts-ch-cell--price { font-size: 1.0625rem; color: var(--ts-blue); }
.ts-ch-table tfoot .ts-ch-cta-row td { padding: .75rem 1rem; text-align: center; background: #fff; }

/* ─────────────────────────────────────────────────────
   TV — ADD-ON PACKAGES GRID
───────────────────────────────────────────────────── */
.ts-tv-addons-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--ts-sp-4);
}
.ts-tv-addon-card {
  background: #fff;
  border: 1.5px solid var(--ts-gray-200);
  border-radius: var(--ts-r-lg);
  padding: var(--ts-sp-5);
  display: flex;
  align-items: center;
  gap: var(--ts-sp-4);
}
.ts-tv-addon-icon { font-size: 1.75rem; flex-shrink: 0; }
.ts-tv-addon-body { flex: 1; }
.ts-tv-addon-name { font-family: var(--ts-font-display); font-size: .9375rem; font-weight: 800; color: var(--ts-navy); margin: 0 0 4px; }
.ts-tv-addon-desc { font-size: .8125rem; color: var(--ts-gray-600); line-height: 1.5; margin: 0; }
.ts-tv-addon-price { text-align: right; flex-shrink: 0; }
.ts-tv-addon-amount { display: block; font-family: var(--ts-font-display); font-size: 1.0625rem; font-weight: 900; color: var(--ts-blue); white-space: nowrap; }
.ts-tv-addon-period { font-size: .75rem; color: var(--ts-gray-500); }

/* ─────────────────────────────────────────────────────
   HOW IT WORKS — TV
───────────────────────────────────────────────────── */
.ts-how-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--ts-sp-6);
}
.ts-how-step { text-align: center; }
.ts-how-step-num {
  width: 48px; height: 48px;
  background: var(--ts-blue); color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ts-font-display); font-weight: 900; font-size: 1.25rem;
  margin: 0 auto var(--ts-sp-4);
}
.ts-how-step-title { font-family: var(--ts-font-display); font-size: 1rem; font-weight: 800; color: var(--ts-navy); margin-bottom: var(--ts-sp-2); }
.ts-how-step-desc  { font-size: .875rem; color: var(--ts-gray-600); line-height: 1.65; margin: 0; }

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-tv .ts-section--tv-how .ts-how-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: none;
    margin-inline: 0;
    gap: var(--ts-sp-4);
  }

  .page-template-template-tv .ts-section--tv-how .ts-how-step-title {
    font-size: .9rem;
    line-height: 1.25;
  }

  .page-template-template-tv .ts-section--tv-how .ts-how-step-desc {
    font-size: .74rem;
    line-height: 1.45;
  }
}

/* ─────────────────────────────────────────────────────
   CHECKER — ADDRESS ERROR STATE
───────────────────────────────────────────────────── */
.ts-checker-addr-error,
.ts-error-text {
  color: var(--ts-red);
  font-size: .875rem;
  font-weight: 600;
  margin-top: var(--ts-sp-2);
  display: flex;
  align-items: flex-start;
  gap: .375rem;
}
.ts-checker-addr-error:not([hidden])::before { content: '⚠'; font-size: 1rem; }
.ts-input--error { border-color: var(--ts-red) !important; box-shadow: 0 0 0 3px rgba(239,68,68,.12) !important; }

/* ─────────────────────────────────────────────────────
   CHECKER — PLAN CARD — FIBRE VARIANT
───────────────────────────────────────────────────── */
.ts-plan-card--fibre {
  border: 2px solid #7c3aed;
  background: linear-gradient(135deg, #faf5ff 0%, #fff 100%);
}
.ts-plan-card--fibre .ts-plan-type { color: #7c3aed; }
.ts-plan-badge--purple { background: #7c3aed; color: #fff; }
.ts-plan-fibre-note {
  font-size: .75rem;
  color: #7c3aed;
  font-weight: 700;
  text-align: center;
  margin-top: var(--ts-sp-2);
  padding: 4px 10px;
  background: rgba(124,58,237,.08);
  border-radius: 6px;
}

/* ─────────────────────────────────────────────────────
   CHECKER — BELL FIBRE UPGRADE CALLOUT
───────────────────────────────────────────────────── */
.ts-fibre-upgrade-callout {
  background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
  border: 1.5px solid #c4b5fd;
  border-radius: var(--ts-r-xl);
  padding: var(--ts-sp-5) var(--ts-sp-6);
  margin-top: var(--ts-sp-5);
}
.ts-fibre-upgrade-inner {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-4);
  flex-wrap: wrap;
}
.ts-fibre-upgrade-icon { font-size: 2rem; flex-shrink: 0; }
.ts-fibre-upgrade-inner > div { flex: 1; min-width: 220px; font-size: .9375rem; color: var(--ts-gray-700); line-height: 1.65; }
.ts-fibre-upgrade-inner strong { color: #5b21b6; }

/* ─────────────────────────────────────────────────────
   CHECKER — BUSINESS BANNER
───────────────────────────────────────────────────── */
.ts-business-banner {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
  border: 1.5px solid #bbf7d0;
  border-radius: var(--ts-r-xl);
  padding: var(--ts-sp-5) var(--ts-sp-6);
  display: flex;
  align-items: center;
  gap: var(--ts-sp-4);
  margin-top: var(--ts-sp-5);
  flex-wrap: wrap;
}
.ts-business-banner-icon { font-size: 2rem; flex-shrink: 0; }
.ts-business-banner-body { flex: 1; min-width: 220px; font-size: .9375rem; color: var(--ts-gray-700); line-height: 1.65; }
.ts-business-banner-body strong { color: var(--ts-green-dark); }

/* ─────────────────────────────────────────────────────
   INTERNET PAGE — BUSINESS NOTE SECTION
───────────────────────────────────────────────────── */
.ts-business-note-card {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-8);
  background: #fff;
  border-radius: var(--ts-r-xl);
  padding: var(--ts-sp-10);
  box-shadow: var(--ts-shadow-sm);
  border-left: 6px solid var(--ts-green);
}
@media (max-width: 680px) {
  .ts-business-note-card { flex-direction: column; gap: var(--ts-sp-5); }
}
.ts-business-note-icon { font-size: 3rem; flex-shrink: 0; margin-top: 4px; }
.ts-business-note-body h2 {
  font-family: var(--ts-font-display);
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 900;
  color: var(--ts-navy);
  margin-bottom: var(--ts-sp-4);
}
.ts-business-note-body p {
  color: var(--ts-gray-700);
  line-height: 1.75;
  font-size: .9375rem;
  margin-bottom: var(--ts-sp-4);
}
.ts-business-note-body p:last-of-type { margin-bottom: var(--ts-sp-6); }

/* ─────────────────────────────────────────────────────
   COMPARE CARD — Bell FIBRE LABEL
───────────────────────────────────────────────────── */
.ts-compare-hdr--bell { background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); color: #fff; font-size: .85rem; }

/* ─────────────────────────────────────────────────────
   LOGO — ensure real PNG logos display correctly
───────────────────────────────────────────────────── */
.ts-logo-img {
  max-width: 220px;
  height: auto;
  display: block;
  /* The logo PNG has a transparent background — works on all header bg colours */
}
.ts-header .ts-logo-img { max-width: 200px; }
.ts-footer .ts-logo-img {
  max-width: 200px;
  filter: none !important;
  opacity: 1;
}
.ts-footer .ts-footer-logo {
  margin-bottom: 0;
}
/* Avoid filter on nav that uses the colour logo explicitly */
.ts-hero-logo .ts-logo-img { max-width: 240px; filter: none; }

/* ── PHASE 4: 375px MOBILE POLISH ── */
@media (max-width: 420px) {
  /* Bump smallest body text for mobile readability */
  .ts-topbar { font-size: 0.75rem; }
  .ts-stat { min-width: 0; }
  .ts-compare-grid { min-width: 0; }
  .ts-vs-table-wrap { min-width: 0; }

  /* Ensure hero text doesn't overflow */
  .ts-page-hero h1 { font-size: 1.5rem; word-break: break-word; }
  .ts-page-hero-sub { font-size: 0.9375rem; }

  /* Stack CTA buttons vertically */
  .ts-hero-ctas { flex-direction: column; gap: var(--ts-sp-3); }
  .ts-hero-ctas .ts-btn { width: 100%; text-align: center; }
}


/* ═══════════════════════════════════════════════════
   SEELEY DARK MODE — INTERIOR PAGES
   Converts all white/gray sections to dark surfaces
   matching the Project Seeley command center look.
═══════════════════════════════════════════════════ */

/* ── Global: make ALL sections dark ── */
.ts-section,
.ts-section--gray,
.ts-bg-gray {
  background: var(--ts-dark-surface, #111B2E);
}
.ts-section h2,
.ts-section h3,
.ts-bg-gray h2,
.ts-bg-gray h3 { color: var(--ts-on-dark, #F0F4F8); }
.ts-section .ts-lead,
.ts-section p,
.ts-bg-gray .ts-lead,
.ts-bg-gray p { color: var(--ts-on-dark-muted, #9DB0C2); }
.ts-section .ts-eyebrow,
.ts-bg-gray .ts-eyebrow { color: var(--ts-teal); }

/* ── Plan cards: dark variant ── */
.ts-plan-card {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}
.ts-plan-card:hover {
  border-color: var(--ts-blue-bright);
  box-shadow: 0 4px 20px rgba(59,130,246,.15);
}
.ts-plan-card.is-featured { border-color: var(--ts-orange); box-shadow: 0 0 0 1px var(--ts-orange), 0 4px 20px rgba(249,115,22,.15); }
.ts-plan-card.is-popular  { border-color: var(--ts-blue);   box-shadow: 0 0 0 1px var(--ts-blue),   0 4px 20px rgba(29,78,216,.15); }
.ts-plan-card.is-fibre    { border-color: #7c3aed;          box-shadow: 0 0 0 1px #7c3aed,          0 4px 20px rgba(124,58,237,.15); }

.ts-plan-type   { color: rgba(255,255,255,.35); }
.ts-plan-name   { color: var(--ts-on-dark, #F0F4F8); }
.ts-plan-price  { color: var(--ts-on-dark, #F0F4F8); }
.ts-plan-note   { color: rgba(255,255,255,.4); }
.ts-plan-best   { color: rgba(255,255,255,.5); }
.ts-plan-best strong { color: var(--ts-on-dark, #F0F4F8); }
.ts-plan-features li { color: var(--ts-on-dark-muted, #9DB0C2); }
.ts-plan-features .ts-check { color: var(--ts-green); }

/* ── Plan tabs: dark ── */
.ts-plan-tab {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.1);
  color: rgba(255,255,255,.5);
}
.ts-plan-tab:hover {
  border-color: var(--ts-blue-bright);
  color: var(--ts-blue-bright);
}
.ts-plan-tab.is-active {
  background: var(--ts-blue);
  color: #fff;
  border-color: var(--ts-blue);
}
.ts-plan-tabs--pages .ts-plan-tab {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.1);
  color: rgba(255,255,255,.5);
}
.ts-plan-tabs--pages .ts-plan-tab.is-active {
  background: var(--ts-blue);
  color: #fff;
  border-color: var(--ts-blue);
}
.ts-plan-tab-icon { color: rgba(255,255,255,.35); }
.ts-plan-tab.is-active .ts-plan-tab-icon { color: #fff; }

.ts-plan-section-desc {
  color: var(--ts-on-dark-muted, #9DB0C2);
  border-left-color: var(--ts-blue-bright);
}

/* ── Accordion / FAQ: dark ── */
.ts-accordion-item {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
}
.ts-accordion-trigger {
  color: var(--ts-on-dark, #F0F4F8);
}
.ts-accordion-trigger:hover {
  background: rgba(255,255,255,.04);
}
.ts-accordion-trigger[aria-expanded="true"] {
  color: var(--ts-blue-bright);
  background: rgba(59,130,246,.08);
}
.ts-accordion-icon { color: rgba(255,255,255,.35); }
.ts-accordion-trigger[aria-expanded="true"] .ts-accordion-icon { color: var(--ts-blue-bright); }
.ts-accordion-content {
  color: var(--ts-on-dark-muted, #9DB0C2);
}
.ts-accordion-content a { color: var(--ts-blue-bright); }

/* ── Telecom comparison table: dark ── */
.ts-telecom-table {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
}
.ts-telecom-table thead th {
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.5);
  border-color: rgba(255,255,255,.08);
}
.ts-telecom-table th.ts-tc-ts {
  color: var(--ts-blue-bright);
}
.ts-telecom-table tbody tr {
  border-color: rgba(255,255,255,.06);
}
.ts-telecom-table tbody tr:hover {
  background: rgba(255,255,255,.03);
}
.ts-telecom-table td {
  color: var(--ts-on-dark-muted, #9DB0C2);
}
.ts-telecom-table td.ts-tc-ts {
  background: rgba(59,130,246,.04);
  color: var(--ts-on-dark, #F0F4F8);
}
.ts-tc-good { color: var(--ts-green) !important; }
.ts-tc-bad  { color: var(--ts-red) !important; }

/* ── Support cards: dark ── */
.ts-support-card {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
}
.ts-support-card h3 { color: var(--ts-on-dark, #F0F4F8); }
.ts-support-card p { color: var(--ts-on-dark-muted, #9DB0C2); }

/* ── About page body text ── */
.ts-about-body,
.ts-about-body p {
  color: var(--ts-on-dark-muted, #9DB0C2);
}

/* ── Contact form / general forms: dark ── */
.ts-form-group label { color: var(--ts-on-dark, #F0F4F8); }
.ts-form-group input,
.ts-form-group textarea,
.ts-form-group select {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.12);
  color: var(--ts-on-dark, #F0F4F8);
}
.ts-form-group input::placeholder,
.ts-form-group textarea::placeholder {
  color: rgba(255,255,255,.3);
}
.ts-form-group input:focus,
.ts-form-group textarea:focus,
.ts-form-group select:focus {
  border-color: var(--ts-blue-bright);
  box-shadow: 0 0 0 3px rgba(59,130,246,.15);
}

/* ── Ghost button on dark ── */
.ts-btn--ghost,
.ts-btn--outline {
  color: var(--ts-on-dark, #F0F4F8);
  border-color: rgba(255,255,255,.2);
}
.ts-btn--ghost:hover,
.ts-btn--outline:hover {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.3);
  color: #fff;
}

/* ── Section header text ── */
.ts-section-header h2 { color: var(--ts-on-dark, #F0F4F8); }
.ts-section-header .ts-lead { color: var(--ts-on-dark-muted, #9DB0C2); }
.ts-section-header .ts-eyebrow { color: var(--ts-teal); }

/* ── Split sections ── */
.ts-split-text h2 { color: var(--ts-on-dark, #F0F4F8); }
.ts-split-text p  { color: var(--ts-on-dark-muted, #9DB0C2); }
.ts-split-text .ts-eyebrow { color: var(--ts-teal); }
.ts-split-text ul li { color: var(--ts-on-dark-muted, #9DB0C2); }

/* Phone twinning: dark */
.ts-twinning-list li { color: var(--ts-on-dark-muted, #9DB0C2); }
.ts-twinning-list li::before { color: var(--ts-teal); }

/* ── Modem / hardware cards ── */
.ts-modem-card {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
}
.ts-modem-card h3 { color: var(--ts-on-dark, #F0F4F8); }
.ts-modem-card p  { color: var(--ts-on-dark-muted, #9DB0C2); }
.ts-modem-list li { color: var(--ts-on-dark-muted, #9DB0C2); }
.ts-modem-list li::before { color: var(--ts-teal); }

/* ── Channel table (TV page) ── */
.ts-channel-table {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
}
.ts-channel-table thead th {
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.5);
  border-color: rgba(255,255,255,.08);
}
.ts-channel-table td {
  color: var(--ts-on-dark-muted, #9DB0C2);
  border-color: rgba(255,255,255,.06);
}

/* ── Breadcrumbs on dark ── */
.ts-breadcrumb a { color: #F8FAFC; }
.ts-breadcrumb span { color: #D7E3F2; }
.ts-breadcrumb span[aria-hidden="true"] { color: rgba(215,227,242,.62); }

/* ── Generic card overrides ── */
.ts-card {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
}
.ts-card h3 { color: var(--ts-on-dark, #F0F4F8); }
.ts-card p  { color: var(--ts-on-dark-muted, #9DB0C2); }

/* ═══════════════════════════════════════════════════
   MOBILE-FIRST OPTIMIZATION
   Comprehensive responsive fixes for 375-768px
   WCAG 2.5.8: 44px minimum touch targets
═══════════════════════════════════════════════════ */

/* ── 960px: Tablet landscape ── */
@media (max-width: 960px) {
  .ts-stats-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--ts-sp-4);
    text-align: center;
  }

  .ts-stats-inner .ts-stat-sep {
    display: none;
  }

  .ts-stats-inner .ts-stat {
    min-width: 0;
    padding: var(--ts-sp-3);
    border-radius: var(--ts-r-md);
    background: rgba(255,255,255,.035);
  }

  .ts-contact-row {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 641px) and (max-width: 960px) {
  body.home .ts-stats-inner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--ts-sp-3);
  }

  body.home .ts-stats-inner .ts-stat {
    padding: var(--ts-sp-3) var(--ts-sp-2);
  }

  body.home .ts-stat-num {
    font-size: clamp(1.2rem, 2.5vw, 1.55rem);
  }

  body.home .ts-stat-label {
    font-size: .56rem;
    line-height: 1.25;
  }
}

/* ── 768px: Tablet portrait / large phone ── */
@media (max-width: 768px) {
  .ts-hero-checker-card {
    max-width: 100%;
    padding: var(--ts-sp-5);
  }
  .ts-about-service-row {
    padding: var(--ts-sp-4);
    gap: var(--ts-sp-3);
  }
  .ts-about-service-icon {
    width: 38px;
    height: 38px;
    font-size: 0.75rem;
  }
  .ts-about-service-body h3 { font-size: 1rem; }
  .ts-about-service-body p  { font-size: 0.85rem; }
  .ts-reviews-grid {
    grid-template-columns: 1fr;
  }
  .ts-plan-tabs {
    gap: var(--ts-sp-2);
  }
  .ts-plan-tab {
    font-size: 0.8125rem;
    padding: 8px 14px;
  }
  .ts-accordion-trigger {
    min-height: 48px;
    padding: var(--ts-sp-4);
    font-size: 0.9375rem;
  }
  .ts-btn {
    min-height: 48px;
    padding-block: 12px;
  }
  .ts-btn--sm {
    min-height: 44px;
    padding-block: 10px;
  }
  .ts-biz-perk {
    padding: var(--ts-sp-3) var(--ts-sp-4);
  }
  .ts-biz-perk strong { font-size: 0.875rem; }
  .ts-biz-perk span   { font-size: 0.8125rem; }
}

/* ── 600px: Small phones ── */
@media (max-width: 600px) {
  .ts-hero {
    padding-block: var(--ts-sp-8) var(--ts-sp-6);
  }
  .ts-hero h1 {
    font-size: clamp(1.5rem, 8vw, 2.25rem);
    line-height: 1.15;
  }
  .ts-hero-sub {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
  .ts-hero-actions {
    flex-direction: column;
    gap: var(--ts-sp-3);
  }
  .ts-hero-actions .ts-btn {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  .ts-hero-trust {
    gap: var(--ts-sp-3);
    font-size: 0.75rem;
  }
  .ts-hero-checker-card {
    padding: var(--ts-sp-4);
    border-radius: var(--ts-r-lg);
  }
  .ts-hero-checker-title { font-size: 0.875rem; }
  .ts-hero-checker-steps { display: none; }
  .ts-stat-num { font-size: 1.375rem; }
  .ts-stat-label { font-size: 0.625rem; }
  .ts-section-header h2 {
    font-size: clamp(1.25rem, 5.5vw, 1.75rem);
  }
  .ts-section-header .ts-lead {
    font-size: 0.875rem;
    line-height: 1.6;
  }
  .ts-plan-card {
    padding: var(--ts-sp-5) var(--ts-sp-4) var(--ts-sp-4);
  }
  .ts-plan-name { font-size: 0.9375rem; }
  .ts-plan-price { font-size: 2rem; }
  .ts-plan-features li { font-size: 0.8125rem; }
  .ts-feature-card {
    padding: var(--ts-sp-4);
  }
  .ts-feature-title { font-size: 0.9375rem; }
  .ts-feature-desc  { font-size: 0.8125rem; }
  .ts-telecom-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .ts-telecom-table { min-width: 480px; }
  .ts-about-service-icon {
    width: 34px;
    height: 34px;
    font-size: 0.6875rem;
    border-radius: 8px;
  }
  .ts-contact-grid {
    grid-template-columns: 1fr;
    gap: var(--ts-sp-6);
  }
  .ts-topbar-left a[href^="mailto"] { display: none; }
  .ts-topbar-right { gap: var(--ts-sp-2); }
  .ts-page-hero {
    padding-block: var(--ts-sp-8) var(--ts-sp-6);
  }
  .ts-page-hero h1 {
    font-size: clamp(1.375rem, 7vw, 2rem);
    line-height: 1.15;
  }
  .ts-page-hero-sub { font-size: 0.9375rem; }
  .ts-post-read-more,
  .ts-post-more {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* ── 420px: Smallest phones (iPhone SE, etc.) ── */
@media (max-width: 420px) {
  .ts-container { padding-inline: var(--ts-sp-3); }
  .ts-stats-inner {
    grid-template-columns: 1fr 1fr;
    gap: var(--ts-sp-3);
  }
  .ts-stat-num { font-size: 1.25rem; }
  .ts-hero h1 {
    font-size: 1.5rem;
    word-break: break-word;
    hyphens: auto;
  }
  .ts-plan-tabs {
    flex-direction: column;
    align-items: stretch;
  }
  .ts-plan-tab {
    text-align: center;
    width: 100%;
  }
  .ts-biz-unified-card {
    padding: var(--ts-sp-4);
    gap: var(--ts-sp-5);
  }
  .ts-cta-actions {
    flex-direction: column;
    gap: var(--ts-sp-3);
  }
  .ts-cta-actions .ts-btn {
    width: 100%;
    justify-content: center;
  }
  .ts-footer-grid {
    grid-template-columns: 1fr;
    gap: var(--ts-sp-6);
  }
  .ts-included-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--ts-sp-3);
  }
  .ts-text-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* ── Sticky mobile CTA bar ── */
.ts-sticky-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: var(--ts-navy);
  border-top: 1px solid rgba(255,255,255,.1);
  padding: var(--ts-sp-3) var(--ts-sp-4);
  display: none;
  gap: var(--ts-sp-2);
  box-shadow: 0 -4px 16px rgba(0,0,0,.3);
}
.ts-sticky-cta .ts-btn {
  flex: 1;
  text-align: center;
  justify-content: center;
  min-height: 48px;
  font-size: 0.875rem;
}
@media (max-width: 768px) {
  .ts-sticky-cta { display: flex; }
  body { padding-bottom: 72px; }
}

/* ── Safe area insets for notched phones ── */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .ts-sticky-cta {
    padding-bottom: calc(var(--ts-sp-3) + env(safe-area-inset-bottom));
  }
  @media (max-width: 768px) {
    body {
      padding-bottom: calc(72px + env(safe-area-inset-bottom));
    }
  }
}

/* ═══════════════════════════════════════════════
   ADDITIONAL CONTRAST FIXES (2026-03-31)
   WCAG 2.1 AA compliance - AODA requirement
   ═══════════════════════════════════════════════ */

.ts-footer-brand p,
.ts-footer .footer-description {
    color: rgba(255, 255, 255, 0.78) !important;
}

.ts-footer-hours,
.ts-footer-hours p,
.ts-footer-address {
    color: rgba(255, 255, 255, 0.78) !important;
}

.ts-footer-hours strong,
.ts-footer .phone-number,
.ts-footer-contact-links a[href^="tel"] {
    color: rgba(255, 255, 255, 0.88) !important;
}

.ts-footer-contact-links a[href^="mailto"],
.ts-footer-address {
    color: #fff !important;
}

.ts-footer-contact-links a[href^="mailto"]:hover {
    color: #fff !important;
}

.ts-footer-col ul li a {
    color: #93C5FD !important;
    text-decoration: none;
}

.ts-footer-col ul li a:hover {
    color: #BFDBFE !important;
    text-decoration: underline;
}

.ts-footer-col h3,
.ts-footer-col h4,
.ts-footer h3,
.ts-footer h4 {
    color: rgba(255, 255, 255, 0.75) !important;
    font-weight: 700;
}

.ts-footer-social a {
    color: #93C5FD !important;
}

.ts-footer-social a:hover {
    color: #BFDBFE !important;
}

.ts-footer-cert {
    color: rgba(255, 255, 255, 0.82) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}

.ts-footer-legal a {
    color: rgba(255, 255, 255, 0.82) !important;
}

.ts-footer-legal a:hover {
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none;
}

.ts-footer-copy {
    color: rgba(255, 255, 255, 0.82) !important;
}

/* ============================================================
   FINAL CONTRAST + TABLET/MOBILE FIXES
   Keeps dark page sections readable and prevents the mobile
   header controls from overflowing on narrow screens.
   ============================================================ */

:root {
  --ts-on-dark: #F8FAFC;
  --ts-on-dark-muted: #D7E3F2;
  --ts-on-dark-soft: #BFD0E4;
}

.ts-btn--green,
.ts-sticky-cta .ts-btn--green {
  background: #047857;
  border-color: #047857;
  color: #fff;
}
.ts-btn--green:hover,
.ts-sticky-cta .ts-btn--green:hover {
  background: #065F46;
  border-color: #065F46;
  color: #fff;
}

.ts-topbar a { color: rgba(255,255,255,.82); }
.ts-topbar-sep { color: rgba(255,255,255,.45); }

.ts-page-hero .ts-page-hero-sub,
.ts-hero-sub { color: rgba(255,255,255,.82); }
.ts-breadcrumb a { color: #F8FAFC; }
.ts-breadcrumb-current { color: #D7E3F2; }
.ts-breadcrumb-sep,
.ts-breadcrumb span[aria-hidden="true"] { color: rgba(215,227,242,.62); }
.ts-page-hero-trust-item,
.ts-hero-trust-item { color: rgba(255,255,255,.84); }

.ts-section .ts-lead,
.ts-section p,
.ts-bg-gray .ts-lead,
.ts-bg-gray p,
.ts-card p {
  color: var(--ts-on-dark-muted);
}

.ts-plan-tab {
  color: rgba(255,255,255,.82);
}
.ts-plan-tab:hover {
  color: #BFDBFE;
}
.ts-plan-tab-sub,
.ts-plan-tab.is-active .ts-plan-tab-sub {
  color: rgba(255,255,255,.78);
}
.ts-plan-tab-icon {
  color: rgba(255,255,255,.72);
}

.ts-plan-tab-desc {
  background: #F8FAFC;
  color: #334155;
}
.ts-section .ts-plan-tab-desc {
  color: #334155;
}
.ts-plan-tab-desc strong {
  color: #0F172A;
}
.ts-section .ts-plan-tab-desc strong {
  color: #0F172A;
}

#plans .ts-plan-tab-desc,
#plans.ts-section .ts-plan-tab-desc {
  background: rgba(26, 40, 64, .88);
  border: 1px solid rgba(56, 189, 248, .2);
  border-left: 3px solid var(--ts-blue-bright);
  color: var(--ts-on-dark-muted, #D7E3F2);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .18);
}

#plans .ts-plan-tab-desc strong,
#plans.ts-section .ts-plan-tab-desc strong {
  color: var(--ts-on-dark, #F8FAFC);
}

.ts-plan-type,
.ts-plan-note {
  color: var(--ts-on-dark-soft);
}
.ts-plan-ul {
  color: #C7D7EA;
}
.ts-plan-best-for {
  background: rgba(255,255,255,.08);
  color: #E2E8F0;
}
.ts-plan-best-for-label {
  color: #F8FAFC;
}
.ts-plan-feature,
.ts-plan-features li,
.ts-plan-feature--note {
  color: var(--ts-on-dark-muted);
}
.ts-plan-feature-check,
.ts-plan-feature .check,
.ts-plan-features .ts-check {
  color: #86EFAC;
}
.ts-plans-disclaimer {
  color: var(--ts-on-dark-soft);
}

#plans-heading {
  margin-bottom: var(--ts-sp-8);
  text-align: center;
}

#plans .ts-plan-tabs--pages {
  margin-top: var(--ts-sp-2);
}

#plans .ts-plan-tabs--pages .ts-plan-tab {
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

#plans .ts-plan-tabs--pages .ts-plan-tab:hover,
#plans .ts-plan-tabs--pages .ts-plan-tab:focus-visible {
  background: rgba(37, 99, 235, .18);
  border-color: var(--ts-blue-bright, #2563EB);
  color: var(--ts-on-dark, #F8FAFC);
  box-shadow: 0 12px 28px rgba(37, 99, 235, .2);
}

#plans .ts-plan-tabs--pages .ts-plan-tab:hover .ts-plan-tab-icon,
#plans .ts-plan-tabs--pages .ts-plan-tab:focus-visible .ts-plan-tab-icon,
#plans .ts-plan-tabs--pages .ts-plan-tab:hover .ts-plan-tab-sub,
#plans .ts-plan-tabs--pages .ts-plan-tab:focus-visible .ts-plan-tab-sub {
  color: var(--ts-on-dark, #F8FAFC);
}

#plans .ts-plan-tabs--pages .ts-plan-tab.is-active,
#plans .ts-plan-tabs--pages .ts-plan-tab.is-active:hover,
#plans .ts-plan-tabs--pages .ts-plan-tab.is-active:focus-visible {
  background: #2563EB;
  border-color: #2563EB;
  border-radius: 10px;
  color: #fff;
  box-shadow: 0 16px 34px rgba(37, 99, 235, .28);
}

#plans .ts-plan-tabs--pages .ts-plan-tab.is-active .ts-plan-tab-icon,
#plans .ts-plan-tabs--pages .ts-plan-tab.is-active .ts-plan-tab-sub {
  color: #fff;
}

.ts-included-icon--data,
.ts-included-icon--support,
.ts-included-icon--price {
  background: rgba(14, 165, 233, .18);
  border-color: rgba(125, 211, 252, .55);
  color: #BAE6FD;
  box-shadow: 0 0 0 1px rgba(14, 165, 233, .18);
}

.ts-mobile-nav.ts-mobile-nav--open,
.ts-mobile-nav.is-open {
  display: block;
}

@media (max-width: 1024px) {
  .ts-nav-primary {
    display: none;
  }
  .ts-hamburger {
    display: flex;
  }
  .ts-mobile-nav {
    padding: var(--ts-sp-3) 0 var(--ts-sp-5);
  }
  .ts-mobile-nav .ts-container {
    padding-inline: var(--ts-sp-5);
  }
  .ts-mobile-nav ul,
  .ts-mobile-nav .ts-mobile-cta-wrap {
    width: 100%;
  }
  .ts-mobile-nav a {
    width: 100%;
  }
  .ts-mobile-nav .ts-mobile-cta-wrap .ts-btn,
  .ts-mobile-nav .ts-mobile-cta-wrap .ts-btn:hover,
  .ts-mobile-nav .ts-mobile-cta-wrap .ts-btn:focus-visible {
    color: var(--ts-white, #fff) !important;
  }
  .ts-mobile-nav .ts-mobile-cta-icon {
    flex: 0 0 auto;
    color: currentColor;
    fill: currentColor;
  }
  .ts-mobile-nav .ts-mobile-cta-wrap .ts-btn--green {
    background: var(--ts-green-dark, #047857);
    border-color: var(--ts-green-dark, #047857);
  }
  .ts-mobile-nav .ts-mobile-cta-wrap .ts-btn--navy {
    background: var(--ts-navy, #09112B);
    border-color: var(--ts-navy, #09112B);
  }
}

@media (min-width: 641px) and (max-width: 1024px) {
  .ts-mobile-nav .ts-mobile-cta-wrap {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ts-sp-3);
  }

  .ts-mobile-nav .ts-mobile-cta-wrap .ts-btn {
    width: 100%;
    min-width: 0;
    padding-inline: var(--ts-sp-3);
    white-space: nowrap;
  }
}

@media (max-width: 1024px) {
  .ts-header-stack:has(.ts-mobile-nav--open),
  .ts-header-stack:has(.ts-mobile-nav.is-open) {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
  }

  body.admin-bar .ts-header-stack:has(.ts-mobile-nav--open),
  body.admin-bar .ts-header-stack:has(.ts-mobile-nav.is-open) {
    top: 32px;
  }

  .ts-mobile-nav.ts-mobile-nav--open,
  .ts-mobile-nav.is-open {
    max-height: calc(100dvh - 72px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 782px) {
  body.admin-bar .ts-header-stack:has(.ts-mobile-nav--open),
  body.admin-bar .ts-header-stack:has(.ts-mobile-nav.is-open) {
    top: 46px;
  }

  body.admin-bar .ts-mobile-nav.ts-mobile-nav--open,
  body.admin-bar .ts-mobile-nav.is-open {
    max-height: calc(100dvh - 118px);
  }
}

@media (max-width: 560px) {
  .ts-mobile-nav.ts-mobile-nav--open,
  .ts-mobile-nav.is-open {
    max-height: calc(100dvh - 64px);
  }

  body.admin-bar .ts-mobile-nav.ts-mobile-nav--open,
  body.admin-bar .ts-mobile-nav.is-open {
    max-height: calc(100dvh - 110px);
  }
}

@media (max-width: 768px) {
  .ts-page-hero {
    padding-block: var(--ts-sp-8) var(--ts-sp-6);
  }
  .ts-page-hero-inner {
    max-width: none;
  }
  .ts-page-hero h1 {
    font-size: clamp(1.75rem, 7vw, 2.35rem);
    line-height: 1.12;
  }
  .ts-page-hero .ts-page-hero-sub {
    font-size: 1rem;
  }
  .ts-page-hero-trust {
    gap: var(--ts-sp-3);
  }
  .ts-plan-tabs--pages {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ts-plan-tabs--pages .ts-plan-tab {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 560px) {
  .ts-header-inner {
    height: 64px;
    gap: var(--ts-sp-3);
  }
  .ts-header .ts-logo-img,
  .ts-logo img {
    max-width: 176px;
    height: auto;
    max-height: 44px;
  }
  .ts-header-actions .ts-btn {
    display: none;
  }
  .ts-header-actions {
    margin-left: auto;
  }
  .ts-hamburger {
    display: flex;
  }
  .ts-mobile-nav {
    padding-inline: 0;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .ts-hero {
    min-height: auto;
    padding-block: var(--ts-sp-10);
  }
  .ts-hero-inner {
    gap: var(--ts-sp-8);
  }
  .ts-hero-content {
    width: 100%;
    max-width: none;
    padding-left: 0;
  }
  .ts-hero-actions {
    padding-left: 0;
  }
  .ts-hero h1 {
    font-size: clamp(2rem, 5.2vw, 2.65rem);
  }
  .ts-hero-sub {
    max-width: 640px;
    margin-bottom: var(--ts-sp-6);
  }
  .ts-hero-actions {
    margin-bottom: var(--ts-sp-5);
  }
  .ts-page-hero-trust {
    margin-top: var(--ts-sp-6);
    padding-top: var(--ts-sp-5);
    padding-left: 0;
    width: 100%;
  }
  .ts-page-hero-trust {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--ts-sp-3);
  }
  .ts-page-hero-trust-item {
    min-width: 0;
    justify-content: center;
    text-align: center;
    font-size: .75rem;
    line-height: 1.25;
  }
  .page-template-template-internet .ts-page-hero-trust {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .page-template-template-internet .ts-page-hero-trust-item {
    font-size: .7rem;
    gap: 5px;
  }
  .ts-hero-aside {
    max-width: 680px;
    width: 100%;
  }
  .ts-features-grid--4,
  .ts-features-grid--3,
  .ts-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ts-services-overview-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ts-sp-4);
  }
  .ts-reviews-hdr {
    align-items: flex-start;
    gap: var(--ts-sp-5);
  }
  .ts-sticky-cta {
    display: flex !important;
    align-items: center;
    gap: var(--ts-sp-3);
    background: var(--ts-navy, #09112B);
    border-top: 1px solid rgba(255,255,255,.12);
  }
  body {
    padding-bottom: 72px !important;
  }
  .ts-sticky-cta .ts-btn {
    justify-content: center;
    min-height: 48px;
  }
  .ts-sticky-cta .ts-btn--navy {
    background: transparent;
    border-color: rgba(255,255,255,.62);
    color: #fff;
    gap: 10px;
    box-shadow: none;
  }
  .ts-sticky-cta .ts-btn--navy:hover,
  .ts-sticky-cta .ts-btn--navy:focus-visible {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.9);
    color: #fff;
    box-shadow: none;
  }
  .ts-sticky-cta .ts-btn--navy .ts-footer-phone-icon {
    width: auto;
    height: auto;
    flex: 0 0 auto;
    background: transparent !important;
    border: 0 !important;
    color: #fff !important;
  }
}

@media (max-width: 420px) {
  .ts-header .ts-logo-img,
  .ts-logo img {
    max-width: 166px;
  }
  .ts-plan-tabs--pages {
    grid-template-columns: 1fr;
  }
}

/* TV page: keep specialized cards/tables readable on the dark theme. */
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-tagline,
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-hst,
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-price-period,
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-features li,
.page-template-template-tv .ts-section--tv-plans .ts-tv-disclaimer {
  color: var(--ts-on-dark-muted, #9DB0C2);
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-name,
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-price-sup,
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-price-whole,
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-price-frac {
  color: var(--ts-on-dark, #F0F4F8);
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-ch-label {
  color: #B8C7D9;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ts-sp-3);
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-name {
  margin: 0;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-tagline {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
  font-size: 0.8125rem;
  font-style: normal;
  line-height: 1.4;
  text-align: center;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-channels {
  margin-top: 0;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-card {
  padding-top: var(--ts-sp-5);
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-badge {
  position: static;
  display: block;
  width: 100%;
  transform: none;
  margin: 0 0 var(--ts-sp-3);
  padding: 3px 12px;
  border-radius: var(--ts-r-full);
  font-family: var(--ts-font-display);
  font-size: 0.625rem;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-badge--popular {
  background: var(--ts-blue, #1D4ED8);
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-badge--premium {
  background: #7C3AED;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-card:not(.ts-tv-plan-card--featured):not(.ts-tv-plan-card--premium)::before {
  display: block;
  width: 100%;
  align-self: stretch;
  margin: 0 0 var(--ts-sp-3);
  padding: 3px 12px;
  border-radius: var(--ts-r-full);
  font-family: var(--ts-font-display);
  font-size: 0.625rem;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  background: #16A34A;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-card > .ts-btn {
  width: auto;
  align-self: center;
  height: 50px;
  min-height: 50px;
  margin-top: auto;
  padding: 0 var(--ts-sp-6);
  border-radius: var(--ts-r-md);
  font-size: 0.9375rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-card > .ts-btn:hover,
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-card > .ts-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0,0,0,.24);
  color: #fff;
}

.page-template-template-tv .ts-section--tv-channels .ts-section-header p {
  color: var(--ts-on-dark-muted, #9DB0C2);
}

.page-template-template-tv .ts-section--tv-channels .ts-tv-channel-note {
  color: var(--ts-on-dark-muted, #9DB0C2);
  font-size: .8125rem;
  line-height: 1.6;
  margin-top: var(--ts-sp-4);
  text-align: center;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-table-wrap {
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-table thead th {
  border-color: rgba(255,255,255,.08);
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-col-skinny {
  background: transparent;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-col-loaded {
  background: transparent;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-col-fully {
  background: transparent;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-category-row td {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.08);
  color: var(--ts-on-dark, #F0F4F8);
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-row td,
.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot td {
  border-color: rgba(255,255,255,.08);
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-row:hover td {
  background: rgba(14,165,233,.08);
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-row[data-tier] td,
.page-template-template-tv .ts-section--tv-channels .ts-ch-row[data-tier="loaded"] td:nth-child(3),
.page-template-template-tv .ts-section--tv-channels .ts-ch-row[data-tier="loaded"] td:nth-child(4),
.page-template-template-tv .ts-section--tv-channels .ts-ch-row[data-tier="fully"] td:nth-child(4) {
  background: transparent;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-row:hover td {
  background: rgba(14,165,233,.08) !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-row[data-tier]:hover td,
.page-template-template-tv .ts-section--tv-channels .ts-ch-row[data-tier="loaded"]:hover td:nth-child(3),
.page-template-template-tv .ts-section--tv-channels .ts-ch-row[data-tier="loaded"]:hover td:nth-child(4),
.page-template-template-tv .ts-section--tv-channels .ts-ch-row[data-tier="fully"]:hover td:nth-child(4) {
  background: rgba(14,165,233,.08) !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-row td:nth-child(2) .ts-ch-check,
.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot td:nth-child(2) .ts-ch-check {
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-row td:nth-child(3) .ts-ch-check,
.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot td:nth-child(3) .ts-ch-check {
  color: var(--ts-blue, #1D4ED8);
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-row td:nth-child(4) .ts-ch-check,
.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot td:nth-child(4) .ts-ch-check {
  color: #7C3AED;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot .ts-ch-total-row td,
.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot .ts-ch-price-row td {
  background: rgba(255,255,255,.04);
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot .ts-ch-total-row td:nth-child(2),
.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot .ts-ch-price-row td:nth-child(2) {
  background: rgba(255,255,255,.04) !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot .ts-ch-total-row td:nth-child(3),
.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot .ts-ch-price-row td:nth-child(3) {
  background: rgba(255,255,255,.04) !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot .ts-ch-total-row td:nth-child(4),
.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot .ts-ch-price-row td:nth-child(4) {
  background: rgba(255,255,255,.04) !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot .ts-ch-cta-row td {
  background: var(--ts-dark-card, #151F32);
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-cta-row .ts-btn {
  border: 0;
  height: 44px;
  padding: 0 var(--ts-sp-4);
  border-radius: var(--ts-r-md);
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
  color: #fff;
  min-width: 140px;
  font-size: 0.8125rem;
  font-weight: 900;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-cta-row td:nth-child(2) .ts-btn {
  background: #101933;
  background-color: #101933 !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-cta-row td:nth-child(2) .ts-btn:hover,
.page-template-template-tv .ts-section--tv-channels .ts-ch-cta-row td:nth-child(2) .ts-btn:focus-visible {
  background: #172247;
  background-color: #172247 !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-cta-row td:nth-child(3) .ts-btn {
  background: var(--ts-blue, #1D4ED8);
  background-color: var(--ts-blue, #1D4ED8) !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-cta-row td:nth-child(3) .ts-btn:hover,
.page-template-template-tv .ts-section--tv-channels .ts-ch-cta-row td:nth-child(3) .ts-btn:focus-visible {
  background: #2563EB;
  background-color: #2563EB !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-cta-row td:nth-child(4) .ts-btn {
  background: #7C3AED;
  background-color: #7C3AED !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-cta-row td:nth-child(4) .ts-btn:hover,
.page-template-template-tv .ts-section--tv-channels .ts-ch-cta-row td:nth-child(4) .ts-btn:focus-visible {
  background: #8B5CF6;
  background-color: #8B5CF6 !important;
}

.page-template-template-tv .ts-section--tv-addons .ts-tv-addon-card {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
}

.page-template-template-tv .ts-section--tv-addons .ts-tv-addons-cta {
  max-width: 980px;
  margin: var(--ts-sp-8) auto 0;
  padding: var(--ts-sp-5) 0 0;
  text-align: center;
  border-top: 1px solid rgba(148,163,184,.22);
}

.page-template-template-tv .ts-section--tv-addons .ts-tv-addons-cta p {
  max-width: 780px;
  margin: 0 auto var(--ts-sp-4);
  font-size: 1rem;
  line-height: 1.65;
}

.page-template-template-tv .ts-section--tv-addons .ts-tv-addons-cta .ts-btn {
  min-width: 280px;
  height: 50px;
  border-radius: var(--ts-r-md);
  font-size: 0.9375rem;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(29,78,216,.28);
}

.page-template-template-tv .ts-section--tv-addons .ts-tv-addon-name,
.page-template-template-tv .ts-section--tv-how .ts-how-step-title {
  color: var(--ts-on-dark, #F0F4F8);
}

.page-template-template-tv .ts-section--tv-addons .ts-tv-addon-desc,
.page-template-template-tv .ts-section--tv-addons .ts-tv-addon-period,
.page-template-template-tv .ts-section--tv-addons .ts-tv-addons-cta p,
.page-template-template-tv .ts-section--tv-how .ts-how-step-desc {
  color: var(--ts-on-dark-muted, #9DB0C2) !important;
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-tv .ts-section--tv-addons .ts-tv-addons-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ts-sp-3);
  }

  .page-template-template-tv .ts-section--tv-addons .ts-tv-addon-card {
    align-items: flex-start;
    gap: 10px;
    padding: var(--ts-sp-4);
  }

  .page-template-template-tv .ts-section--tv-addons .ts-tv-addon-icon {
    width: 32px;
    min-width: 32px;
    font-size: 1.25rem;
    line-height: 1.1;
  }

  .page-template-template-tv .ts-section--tv-addons .ts-tv-addon-name {
    font-size: 0.78rem;
    line-height: 1.2;
  }

  .page-template-template-tv .ts-section--tv-addons .ts-tv-addon-desc {
    font-size: 0.68rem;
    line-height: 1.35;
  }

  .page-template-template-tv .ts-section--tv-addons .ts-tv-addon-price {
    min-width: 48px;
  }

  .page-template-template-tv .ts-section--tv-addons .ts-tv-addon-amount {
    font-size: 0.82rem;
  }

  .page-template-template-tv .ts-section--tv-addons .ts-tv-addon-period {
    font-size: 0.62rem;
  }
}

@media (max-width: 760px) {
  .page-template-template-tv .ts-section--tv-channels .ts-ch-table-wrap {
    overflow: visible;
  }

  .page-template-template-tv .ts-section--tv-channels .ts-ch-table {
    table-layout: fixed;
    width: 100%;
    min-width: 0;
    font-size: clamp(0.625rem, 2.8vw, 0.8125rem);
  }

  .page-template-template-tv .ts-section--tv-channels .ts-ch-col-name,
  .page-template-template-tv .ts-section--tv-channels .ts-ch-th-name,
  .page-template-template-tv .ts-section--tv-channels .ts-ch-name {
    width: 32%;
  }

  .page-template-template-tv .ts-section--tv-channels .ts-ch-col-skinny,
  .page-template-template-tv .ts-section--tv-channels .ts-ch-col-loaded,
  .page-template-template-tv .ts-section--tv-channels .ts-ch-col-fully,
  .page-template-template-tv .ts-section--tv-channels .ts-ch-th-skinny,
  .page-template-template-tv .ts-section--tv-channels .ts-ch-th-loaded,
  .page-template-template-tv .ts-section--tv-channels .ts-ch-th-fully,
  .page-template-template-tv .ts-section--tv-channels .ts-ch-cell {
    width: 22.66%;
  }

  .page-template-template-tv .ts-section--tv-channels .ts-ch-table thead th,
  .page-template-template-tv .ts-section--tv-channels .ts-ch-row td,
  .page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot td {
    padding: 8px 4px;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.25;
  }

  .page-template-template-tv .ts-section--tv-channels .ts-ch-table thead th {
    font-size: clamp(0.625rem, 2.75vw, 0.75rem);
  }

  .page-template-template-tv .ts-section--tv-channels .ts-ch-th-price {
    font-size: .625rem;
  }

  .page-template-template-tv .ts-section--tv-channels .ts-ch-th-fully {
    font-size: 0;
  }

  .page-template-template-tv .ts-section--tv-channels .ts-ch-th-fully::before {
    content: "Fully";
    display: block;
    font-size: clamp(0.625rem, 2.75vw, 0.75rem);
  }

  .page-template-template-tv .ts-section--tv-channels .ts-ch-th-fully .ts-ch-th-price {
    font-size: .625rem;
  }

  .page-template-template-tv .ts-section--tv-channels .ts-ch-name {
    font-size: clamp(0.6875rem, 2.95vw, 0.8125rem);
  }

  .page-template-template-tv .ts-section--tv-channels .ts-ch-cell--yes .ts-ch-check,
  .page-template-template-tv .ts-section--tv-channels .ts-ch-cell--no .ts-ch-minus {
    font-size: 0.9375rem;
  }

  .page-template-template-tv .ts-section--tv-channels .ts-ch-table tfoot .ts-ch-cta-row {
    display: none;
  }
}

/* Phone page: align specialized sections with the dark theme. */
.page-template-template-phone .ts-twinning-section {
  background: linear-gradient(180deg, #0E1728 0%, #14213A 100%);
}

.page-template-template-phone .ts-twinning-text h2,
.page-template-template-phone .ts-phone-feature-text strong,
.page-template-template-phone .ts-porting-text h2,
.page-template-template-phone .ts-porting-step strong {
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-phone .ts-twinning-text p,
.page-template-template-phone .ts-twinning-list li,
.page-template-template-phone .ts-twinning-diagram-label,
.page-template-template-phone .ts-phone-feature-text p,
.page-template-template-phone .ts-porting-text > p,
.page-template-template-phone .ts-porting-step p,
.page-template-template-phone .ts-porting-note {
  color: var(--ts-on-dark-muted, #D7E3F2);
}

.page-template-template-phone .ts-twinning-diagram,
.page-template-template-phone .ts-phone-feature-item,
.page-template-template-phone .ts-porting-step {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
}

.page-template-template-phone .ts-twinning-device-icon,
.page-template-template-phone .ts-phone-feature-icon {
  background: rgba(14,165,233,.12);
  border-color: rgba(125,211,252,.2);
}

.page-template-template-phone .ts-twinning-device span {
  color: var(--ts-on-dark-soft, #BFD0E4);
}

.page-template-template-phone .ts-twinning-call-bubble {
  color: var(--ts-blue-bright, #38BDF8);
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-template-template-phone .ts-twinning-call-icon {
  width: 24px;
  height: 24px;
  display: block;
  fill: currentColor;
}

.page-template-template-phone .ts-twinning-device--cell .ts-twinning-device-icon {
  color: var(--ts-blue-bright, #38BDF8);
  font-family: "Segoe UI Symbol", sans-serif;
  font-weight: 700;
}

.page-template-template-phone .ts-phone-feature-icon--phone {
  color: var(--ts-blue-bright, #38BDF8);
}

.page-template-template-phone .ts-phone-feature-svg {
  width: 20px;
  height: 20px;
  display: block;
  fill: currentColor;
}

.page-template-template-phone .ts-plan-best-for--phone {
  background: rgba(255,255,255,.08);
  border-radius: var(--ts-r-sm, 6px);
  color: var(--ts-on-dark-muted, #D7E3F2);
  font-style: normal;
  margin: 0 0 var(--ts-sp-4);
}

.page-template-template-phone .ts-plan-best-for--phone .ts-plan-best-for-label {
  color: var(--ts-on-dark, #F8FAFC);
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-phone .ts-phone-features-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ts-sp-4);
  }

  .page-template-template-phone .ts-phone-feature-item {
    gap: var(--ts-sp-3);
    padding: var(--ts-sp-4);
  }

  .page-template-template-phone .ts-phone-feature-icon {
    width: 36px;
    height: 36px;
    font-size: 1.1rem;
  }

  .page-template-template-phone .ts-phone-feature-svg {
    width: 18px;
    height: 18px;
  }

  .page-template-template-phone .ts-phone-feature-text strong {
    font-size: 0.78rem;
    line-height: 1.2;
  }

  .page-template-template-phone .ts-phone-feature-text p {
    font-size: 0.7rem;
    line-height: 1.42;
  }
}

@media (max-width: 640px) {
  .page-template-template-phone .ts-twinning-text .ts-eyebrow,
  .page-template-template-phone .ts-twinning-text h2 {
    display: block;
    text-align: center;
  }

  .page-template-template-phone .ts-twinning-text .ts-eyebrow {
    margin-inline: auto;
  }

  .page-template-template-phone .ts-twinning-text > .ts-btn {
    display: flex;
    width: fit-content;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center;
  }
}

.page-template-template-phone .ts-porting-section {
  background: var(--ts-dark-surface, #111B2E);
  border-color: rgba(255,255,255,.08);
}

.page-template-template-phone .ts-porting-note {
  background: rgba(14,165,233,.08);
  border-left-color: var(--ts-teal);
}

.page-template-template-phone .ts-compare-table--phone {
  min-width: 620px;
}

.page-template-template-phone .ts-compare-table--phone .ts-compare-th-feature {
  width: 34%;
}

.page-template-template-phone .ts-compare-table--phone .ts-compare-th-ts,
.page-template-template-phone .ts-compare-table--phone .ts-compare-th-other {
  width: 33%;
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-phone .ts-page-hero-trust {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--ts-sp-3);
  }

  .page-template-template-phone .ts-page-hero-trust-item {
    justify-content: center;
    font-size: clamp(0.625rem, 1.25vw, 0.75rem);
    text-align: center;
  }
}

/* About page: tune hero spacing and let key content use the theme width. */
.page-template-template-about .ts-page-hero--about {
  padding-block: var(--ts-sp-16, 80px) var(--ts-sp-12, 60px);
}

.page-template-template-about .ts-page-hero--about .ts-container {
  position: relative;
  z-index: 1;
}

.page-template-template-about .ts-page-hero--about h1 {
  max-width: 980px;
}

.page-template-template-about .ts-page-hero--about .ts-page-hero-sub {
  max-width: 1120px;
  overflow-wrap: anywhere;
}

.page-template-template-about .ts-page-hero--about .ts-hero-actions {
  margin-top: var(--ts-sp-5);
  margin-bottom: 0;
}

.page-template-template-about #about-us .ts-about-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(22px, 3vw, 32px);
  align-items: stretch;
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 44px);
  background: rgba(21,31,50,.72);
  border: 1px solid rgba(125,211,252,.16);
  border-radius: var(--ts-r-lg);
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  line-height: 1.85;
  font-size: 1.0625rem;
}

.page-template-template-about #about-us .ts-about-copy p {
  margin: 0 0 var(--ts-sp-5);
  color: var(--ts-on-dark-muted, #D7E3F2);
}

.page-template-template-about #about-us .ts-about-copy p:last-child {
  margin-bottom: 0;
}

.page-template-template-about #about-us .ts-about-copy p:first-child {
  color: var(--ts-on-dark, #F8FAFC);
  font-size: clamp(1.0625rem, 1.4vw, 1.18rem);
}

.page-template-template-about .ts-services-overview-list {
  max-width: none;
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-about section[aria-labelledby="services-overview-heading"] .ts-services-overview-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ts-sp-4);
  }

  .page-template-template-about section[aria-labelledby="services-overview-heading"] .ts-about-service-row {
    display: flex;
    gap: var(--ts-sp-3);
    padding: var(--ts-sp-4);
  }

  .page-template-template-about section[aria-labelledby="services-overview-heading"] .ts-about-service-icon {
    width: 36px;
    height: 36px;
    font-size: 0.72rem;
    border-radius: 9px;
  }

  .page-template-template-about section[aria-labelledby="services-overview-heading"] .ts-about-service-svg {
    width: 17px;
    height: 17px;
  }

  .page-template-template-about section[aria-labelledby="services-overview-heading"] .ts-about-service-body h3 {
    font-size: 0.92rem;
    line-height: 1.22;
  }

  .page-template-template-about section[aria-labelledby="services-overview-heading"] .ts-about-service-body p {
    font-size: 0.74rem;
    line-height: 1.42;
  }

  .page-template-template-about section[aria-labelledby="services-overview-heading"] .ts-about-service-body .ts-text-link {
    font-size: 0.72rem;
  }

  .page-template-template-about section[aria-labelledby="about-news-heading"] .ts-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4);
  }

  .page-template-template-about section[aria-labelledby="about-news-heading"] .ts-post-body {
    padding: var(--ts-sp-4);
  }

  .page-template-template-about section[aria-labelledby="about-news-heading"] .ts-post-title {
    font-size: .9rem;
    line-height: 1.28;
  }

  .page-template-template-about section[aria-labelledby="about-news-heading"] .ts-post-excerpt {
    font-size: .76rem;
    line-height: 1.5;
  }

  .page-template-template-about section[aria-labelledby="about-news-heading"] .ts-post-meta,
  .page-template-template-about section[aria-labelledby="about-news-heading"] .ts-post-more {
    font-size: .7rem;
  }
}

/* Support Hub: page-specific spacing, width, and dark-theme contrast. */
.page-template-template-support .ts-page-hero--support .ts-page-hero-sub {
  max-width: 1120px;
  margin-bottom: var(--ts-sp-6);
}

.page-template-template-support .ts-page-hero--support .ts-hero-actions {
  margin-top: 0;
  gap: var(--ts-sp-3);
}

.page-template-template-support #support-ai .ts-container,
.page-template-template-support [aria-labelledby="support-resources-heading"] .ts-container,
.page-template-template-support [aria-labelledby="support-contact-heading"] .ts-container {
  max-width: var(--ts-container, 1200px);
}

.page-template-template-support .ts-support-ai-shell,
.page-template-template-support .ts-portal-card,
.page-template-template-support .ts-contact-dept-card,
.page-template-template-support .ts-support-hours {
  background: var(--ts-dark-card, #151F32) !important;
  border-color: rgba(255,255,255,.08) !important;
}

.page-template-template-support #support-ai .ts-support-ai-shell,
.page-template-template-support #support-ai .ts-portal-card {
  background: transparent !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: none;
}

.page-template-template-support #support-ai .ts-support-ai-shell {
  padding: 0;
}

.page-template-template-support #support-ai .ts-portal-card {
  padding: var(--ts-sp-6);
}

.page-template-template-support #support-ai .ts-portal-two-col {
  gap: var(--ts-sp-8);
}

.page-template-template-support #support-ai .ts-portal-card {
  display: grid;
  align-content: start;
  gap: var(--ts-sp-4);
}

.page-template-template-support #support-ai .ts-portal-card h3,
.page-template-template-support #support-ai .ts-portal-card p {
  margin-bottom: 0;
}

.page-template-template-support #support-ai .ts-support-ai-prompt-row {
  gap: var(--ts-sp-3);
  margin: var(--ts-sp-2) 0 var(--ts-sp-5);
}

.page-template-template-support #support-ai label:not(.sr-only) {
  display: block;
  margin-bottom: var(--ts-sp-2);
}

.page-template-template-support .ts-section-sub,
.page-template-template-support .ts-portal-muted,
.page-template-template-support .ts-portal-ai-response p,
.page-template-template-support .ts-about-service-body p,
.page-template-template-support .ts-accordion-content p,
.page-template-template-support .ts-contact-dept-body em,
.page-template-template-support .ts-support-hours p,
.page-template-template-support .ts-support-hours table,
.page-template-template-support .ts-support-hours td {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}

.page-template-template-support .ts-portal-card h3,
.page-template-template-support .ts-about-service-body h3,
.page-template-template-support .ts-accordion-trigger,
.page-template-template-support .ts-contact-dept-body strong,
.page-template-template-support .ts-contact-dept-body a,
.page-template-template-support .ts-contact-dept-body span,
.page-template-template-support .ts-support-hours h3,
.page-template-template-support .ts-support-hours td:first-child {
  color: var(--ts-on-dark, #F8FAFC) !important;
}

.page-template-template-support .ts-contact-dept-body a {
  display: inline-block;
  width: fit-content;
  font-family: var(--ts-font-display);
  font-weight: 800;
  text-decoration: none;
}

.page-template-template-support .ts-contact-dept-body a:hover,
.page-template-template-support .ts-contact-dept-body a:focus-visible {
  color: var(--ts-blue-bright, #60A5FA) !important;
}

.page-template-template-support .ts-support-ai-prompt,
.page-template-template-support .ts-portal-ai-input,
.page-template-template-support .ts-portal-search,
.page-template-template-support .ts-portal-ai-response,
.page-template-template-support .ts-accordion-item {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.1);
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-support .ts-portal-ai-input::placeholder,
.page-template-template-support .ts-portal-search::placeholder {
  color: rgba(255,255,255,.42);
}

.page-template-template-support #support-ai .ts-support-ai-prompt:hover,
.page-template-template-support #support-ai .ts-support-ai-prompt:focus-visible {
  background: rgba(59,130,246,.16);
  border-color: rgba(96,165,250,.42);
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-support #support-ai .ts-btn--ghost:hover,
.page-template-template-support #support-ai .ts-btn--ghost:focus-visible {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.32);
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-support #support-ai a:not(.ts-btn) {
  color: var(--ts-blue-bright, #60A5FA);
}

.page-template-template-support #support-ai a:not(.ts-btn):hover,
.page-template-template-support #support-ai a:not(.ts-btn):focus-visible {
  color: #93C5FD;
}

.page-template-template-support #support-ai .ts-portal-result:hover,
.page-template-template-support #support-ai .ts-portal-search-result:hover,
.page-template-template-support #support-ai [data-support-search-results] > *:hover {
  background: rgba(59,130,246,.12) !important;
  border-color: rgba(96,165,250,.34) !important;
  color: var(--ts-on-dark, #F8FAFC) !important;
}

.page-template-template-support #support-ai .ts-portal-result:hover *,
.page-template-template-support #support-ai .ts-portal-search-result:hover *,
.page-template-template-support #support-ai [data-support-search-results] > *:hover * {
  color: inherit !important;
}

.page-template-template-support #support-ai .ts-portal-ai-response ul {
  list-style: none;
  margin: var(--ts-sp-4) 0 0;
  padding: 0;
}

.page-template-template-support #support-ai .ts-portal-ai-response li {
  margin: 0 0 var(--ts-sp-2);
  padding: 0;
  color: var(--ts-on-dark-soft, #D7E3F2);
  line-height: 1.55;
}

.page-template-template-support #support-ai .ts-portal-ai-response li:last-child {
  margin-bottom: 0;
}

/* Contact page: keep cards, forms, and coverage details readable on the dark theme. */
.page-template-template-contact .ts-contact-dept-body strong,
.page-template-template-contact .ts-contact-hours-row span,
.page-template-template-contact .ts-service-area-region-body strong {
  color: var(--ts-on-dark, #F8FAFC) !important;
}

.page-template-template-contact .ts-contact-dept-body span,
.page-template-template-contact .ts-contact-dept-body em,
.page-template-template-contact .ts-contact-dept-body address,
.page-template-template-contact .ts-contact-hours-note,
.page-template-template-contact .ts-service-area-text p,
.page-template-template-contact .ts-service-area-region-body span {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}

.page-template-template-contact .ts-contact-dept-body a[href^="tel"] {
  color: #93C5FD !important;
}

.page-template-template-contact .ts-contact-dept-body a[href^="tel"]:hover,
.page-template-template-contact .ts-contact-dept-body a[href^="tel"]:focus-visible {
  color: #BFDBFE !important;
}

.page-template-template-contact .ts-contact-dept-card,
.page-template-template-contact .ts-contact-hours-card,
.page-template-template-contact .ts-contact-form-card,
.page-template-template-contact .ts-service-area-region {
  background: var(--ts-dark-card, #151F32) !important;
  border-color: rgba(255,255,255,.08) !important;
}

.page-template-template-contact .ts-alert--red p,
.page-template-template-contact .ts-alert--red strong {
  color: #7F1D1D !important;
}

.page-template-template-contact .ts-service-area-region {
  transition: none !important;
}

.page-template-template-contact .ts-contact-dept-card--location {
  cursor: pointer;
}

.page-template-template-contact a.ts-contact-dept-card:hover {
  transform: none;
  box-shadow: none;
}

.page-template-template-contact .ts-service-area-section > .ts-container > .ts-section-header {
  width: 100%;
  max-width: none;
  margin-bottom: var(--ts-sp-4);
  text-align: center;
}

.page-template-template-contact .ts-service-area-intro {
  width: 100%;
  max-width: 900px;
  margin: 0 auto var(--ts-sp-8);
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  font-size: 1rem;
  line-height: 1.75;
  text-align: center;
}

/* The region list is now visually hidden and the disclaimer is gone, so the
   left column has nothing left to show. Collapse to one centred column with
   the map and its CTA rather than leaving a two-column grid half empty. */
.page-template-template-contact .ts-service-area-layout {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: var(--ts-sp-6);
  align-items: start;
}

.page-template-template-contact .ts-service-area-text {
  display: flex;
  flex-direction: column;
}

.page-template-template-contact .ts-service-area-text .ts-section-header {
  margin-bottom: var(--ts-sp-6);
  text-align: left;
}

.page-template-template-contact .ts-service-area-text .ts-section-header h2,
.page-template-template-contact .ts-service-area-text .ts-section-header .ts-lead {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.page-template-template-contact .ts-service-area-map-wrap {
  align-self: stretch;
  height: auto;
  min-height: 100%;
  margin-top: 0;
  border-color: rgba(255,255,255,.14) !important;
}

.page-template-template-contact .ts-service-area-map-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: start;
  gap: var(--ts-sp-5);
  min-width: 0;
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
}

.page-template-template-contact .ts-service-area-map-wrap {
  width: 100%;
}

.page-template-template-contact .ts-service-area-map {
  height: 100% !important;
  min-height: 100%;
}

/* This was hidden because the left column carried the visible CTA. That one is
   gone, so this is now the only Check My Address button in the section. */
.page-template-template-contact .ts-service-area-map-cta {
  display: inline-flex;
}

@media (max-width: 960px) {
  .page-template-template-contact .ts-service-area-layout {
    align-items: start;
  }

  .page-template-template-contact .ts-service-area-map-wrap {
    height: 360px !important;
    min-height: 360px;
  }

  .page-template-template-contact .ts-service-area-map {
    height: 100% !important;
    min-height: 0;
  }
}

.page-template-template-contact .ts-contact-dept-card:hover {
  border-color: rgba(14,165,233,.5) !important;
}

.page-template-template-contact .ts-service-area-region:hover {
  border-color: rgba(255,255,255,.08) !important;
}

.page-template-template-contact .ts-contact-hours-row,
.page-template-template-contact .ts-contact-form-hdr,
.page-template-template-contact .ts-contact-hours-note {
  border-color: rgba(255,255,255,.1) !important;
}

.page-template-template-contact .ts-hours-open {
  color: #34D399 !important;
}

.page-template-template-contact .ts-hours-closed {
  color: rgba(215,227,242,.72) !important;
}

.page-template-template-contact .ts-cform-label,
.page-template-template-contact .ts-cform-privacy {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}

.page-template-template-contact .ts-cform-input {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: var(--ts-on-dark, #F8FAFC) !important;
}

.page-template-template-contact .ts-cform-input::placeholder {
  color: rgba(215,227,242,.55) !important;
}

.page-template-template-contact .ts-cform-input:focus {
  border-color: var(--ts-blue-bright, #3B82F6) !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,.2) !important;
}

.page-template-template-contact .ts-service-area-region-icon {
  background: rgba(255,255,255,.08) !important;
}

@media (min-width: 641px) and (max-width: 960px) {
  .page-template-template-contact .ts-contact-form .ts-btn--full[type="submit"] {
    width: 50% !important;
    min-width: 220px;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
  }

  .page-template-template-contact .ts-service-area-text > .ts-btn {
    display: none !important;
  }

  .page-template-template-contact .ts-service-area-map-cta {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 220px;
    max-width: none;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    justify-content: center;
  }
}

/* News page: align the blog listing with the dark Truespeed page theme. */
.page-template-template-blog .ts-section[aria-labelledby="blog-posts-heading"] {
  background: var(--ts-dark-base, #0D1520);
}

.page-template-template-blog .ts-blog-cat-nav {
  align-items: center;
  padding: var(--ts-sp-3);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-lg);
}

.page-template-template-blog .ts-tag-pill {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.1);
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  font-family: var(--ts-font-display);
  font-weight: 700;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.page-template-template-blog .ts-tag-pill:hover,
.page-template-template-blog .ts-tag-pill:focus-visible {
  background: rgba(14,165,233,.14) !important;
  border-color: rgba(14,165,233,.42);
  color: var(--ts-on-dark, #F8FAFC) !important;
  transform: translateY(-1px);
}

.page-template-template-blog .ts-tag-pill--active {
  background: var(--ts-blue, #1D4ED8) !important;
  border-color: rgba(125,211,252,.42);
  color: #fff !important;
}

.page-template-template-blog .ts-blog-grid {
  align-items: stretch;
}

.page-template-template-blog #blog-posts-heading {
  margin-bottom: var(--ts-sp-5);
}

.page-template-template-blog .ts-blog-card {
  background: var(--ts-dark-card, #151F32) !important;
  border-color: rgba(255,255,255,.08) !important;
  border-radius: var(--ts-r-lg) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  color: var(--ts-on-dark, #F8FAFC) !important;
  min-height: 100%;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.page-template-template-blog .ts-blog-card:hover {
  border-color: rgba(14,165,233,.36) !important;
  box-shadow: 0 22px 54px rgba(0,0,0,.3);
  transform: translateY(-3px);
}

.page-template-template-blog .ts-blog-card-thumb,
.page-template-template-blog .ts-blog-card > div[aria-hidden="true"] {
  background: linear-gradient(135deg, rgba(14,165,233,.18), rgba(124,58,237,.16)) !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.page-template-template-blog .ts-blog-card-img {
  filter: saturate(1.05) contrast(1.02);
}

.page-template-template-blog .ts-blog-card:hover .ts-blog-card-img {
  transform: scale(1.04);
}

.page-template-template-blog .ts-blog-card-body > div:first-child a,
.page-template-template-blog .ts-blog-card-body > div:first-child .ts-post-cat {
  background: rgba(59, 130, 246, .15);
  color: var(--ts-blue-bright) !important;
}

.page-template-template-blog .ts-blog-card-title a {
  color: var(--ts-on-dark, #F8FAFC) !important;
}

.page-template-template-blog .ts-blog-card-title a:hover,
.page-template-template-blog .ts-blog-card-title a:focus-visible {
  color: #7DD3FC !important;
}

.page-template-template-blog .ts-blog-card-date,
.page-template-template-blog .ts-blog-card-excerpt {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}

.page-template-template-blog .ts-text-link {
  color: #7DD3FC !important;
  font-family: var(--ts-font-display);
  font-weight: 800;
  text-decoration: none;
}

.page-template-template-blog .ts-text-link:hover,
.page-template-template-blog .ts-text-link:focus-visible {
  color: #BAE6FD !important;
}

.page-template-template-blog .ts-pagination ul {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ts-sp-2);
  list-style: none;
  margin: 0;
  padding: var(--ts-sp-2);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-lg);
}

.page-template-template-blog .ts-pagination li {
  margin: 0;
}

.page-template-template-blog .ts-pagination a,
.page-template-template-blog .ts-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 38px;
  padding: 0 var(--ts-sp-3);
  border-radius: var(--ts-r-md);
  color: var(--ts-on-dark-muted, #D7E3F2);
  text-decoration: none;
  font-family: var(--ts-font-display);
  font-weight: 700;
}

.page-template-template-blog .ts-pagination a:hover,
.page-template-template-blog .ts-pagination a:focus-visible,
.page-template-template-blog .ts-pagination .current {
  background: var(--ts-blue, #1D4ED8);
  color: #fff;
}

.page-template-template-blog .ts-section[aria-labelledby="blog-posts-heading"] > .ts-container > div[style*="text-align:center"] {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}

.page-template-template-blog .ts-section[aria-labelledby="blog-posts-heading"] > .ts-container > div[style*="text-align:center"] h2 {
  color: var(--ts-on-dark, #F8FAFC) !important;
}

/* Refer page: dark-theme readability and full-width steps treatment. */
.page-template-template-refer [aria-labelledby="refer-how-heading"] > .ts-container {
  max-width: var(--ts-container, 1200px);
}

.page-template-template-refer [aria-labelledby="refer-how-heading"] .ts-section-header {
  margin-bottom: var(--ts-sp-6);
}

.page-template-template-refer .ts-steps-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ts-sp-4);
}

.page-template-template-refer .ts-step-card,
.page-template-template-refer .ts-refer-highlight,
.page-template-template-refer [aria-labelledby="refer-form-heading"] .ts-card {
  background: var(--ts-dark-card, #151F32) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: var(--ts-r-lg) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
}

.page-template-template-refer .ts-step-card {
  padding: var(--ts-sp-6);
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-3);
  min-height: 216px;
}

.page-template-template-refer .ts-step-num {
  background: rgba(14,165,233,.16) !important;
  border-color: rgba(125,211,252,.34) !important;
  color: #7DD3FC !important;
  margin-bottom: var(--ts-sp-1);
}

.page-template-template-refer .ts-step-title,
.page-template-template-refer .ts-step-desc {
  margin: 0;
}

.page-template-template-refer .ts-refer-highlight {
  margin-top: var(--ts-sp-5) !important;
  padding: var(--ts-sp-5) var(--ts-sp-6) !important;
}

.page-template-template-refer .ts-step-title,
.page-template-template-refer [aria-labelledby="refer-form-heading"] .ts-card h3,
.page-template-template-refer #refer-review-heading {
  color: var(--ts-on-dark, #F8FAFC) !important;
}

.page-template-template-refer .ts-step-desc,
.page-template-template-refer .ts-refer-highlight p,
.page-template-template-refer [aria-labelledby="refer-form-heading"] .ts-card > p,
.page-template-template-refer .ts-refer-alt-contact,
.page-template-template-refer .ts-refer-alt-contact p,
.page-template-template-refer [aria-labelledby="refer-review-heading"] p {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}

.page-template-template-refer .ts-cform-label,
.page-template-template-refer .ts-cform-privacy {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}

.page-template-template-refer .ts-cform-req {
  color: #FCA5A5 !important;
}

.page-template-template-refer .ts-refer-phone-icon {
  display: inline-flex;
  filter: grayscale(1) brightness(2.35);
}

.page-template-template-refer .ts-cform-input {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: var(--ts-on-dark, #F8FAFC) !important;
}

.page-template-template-refer .ts-cform-input:focus {
  border-color: var(--ts-blue-bright, #3B82F6) !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,.2) !important;
}

.page-template-template-refer .ts-cform-input::placeholder {
  color: rgba(215,227,242,.55) !important;
}

.page-template-template-refer [aria-labelledby="refer-form-heading"] .ts-card h3 + .ts-cform-grid {
  margin-bottom: var(--ts-sp-2);
}

@media (max-width: 860px) {
  .page-template-template-refer .ts-steps-row {
    grid-template-columns: 1fr;
  }
}

/* Careers page: full-width, balanced intro panel with dark-theme readable text. */
.page-template-template-careers [aria-labelledby="careers-msg-heading"] > .ts-container {
  max-width: var(--ts-container, 1200px);
}

.page-template-template-careers .ts-careers-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
  gap: var(--ts-sp-8);
  align-items: stretch;
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-xl);
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  padding: var(--ts-sp-8);
}

.page-template-template-careers .ts-careers-panel-copy {
  text-align: left;
}

.page-template-template-careers #careers-msg-heading {
  color: var(--ts-on-dark, #F8FAFC) !important;
  margin-bottom: var(--ts-sp-4) !important;
}

.page-template-template-careers .ts-careers-panel-copy p,
.page-template-template-careers .ts-careers-panel-actions p {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.page-template-template-careers .ts-careers-panel-copy p:last-child {
  margin-bottom: 0 !important;
}

.page-template-template-careers .ts-careers-panel-actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--ts-sp-5);
  padding: var(--ts-sp-6);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-lg);
}

.page-template-template-careers .ts-careers-contact-row {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: var(--ts-sp-3) !important;
  margin-bottom: 0 !important;
}

.page-template-template-careers .ts-careers-contact-row .ts-btn {
  width: 100%;
  justify-content: center;
}

.page-template-template-careers .ts-careers-btn-icon {
  flex: 0 0 auto;
  color: var(--ts-white, #FFFFFF);
}

.page-template-template-careers .ts-feature-card {
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-left: 3px solid var(--ts-blue-bright, #3B82F6);
  box-shadow: none;
  transition: none;
}

.page-template-template-careers .ts-feature-card:hover {
  transform: none;
  box-shadow: none;
  color: inherit;
}

.page-template-template-careers .ts-feature-title {
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-careers .ts-feature-desc {
  color: var(--ts-on-dark-muted, #D7E3F2);
}

@media (max-width: 860px) {
  .page-template-template-careers .ts-careers-panel {
    grid-template-columns: 1fr;
    padding: var(--ts-sp-5);
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-careers .ts-careers-panel {
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr) !important;
    gap: var(--ts-sp-5);
    align-items: stretch;
    padding: var(--ts-sp-6);
  }

  .page-template-template-careers .ts-careers-panel-actions {
    padding: var(--ts-sp-5);
  }

  .page-template-template-careers .ts-careers-panel-copy p {
    font-size: .98rem !important;
    line-height: 1.7 !important;
  }

  .page-template-template-careers .ts-careers-contact-row .ts-btn {
    width: 100%;
    min-width: 0;
  }

  .page-template-template-careers section[aria-labelledby="why-ts-heading"] .ts-features-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4);
  }

  .page-template-template-careers section[aria-labelledby="why-ts-heading"] .ts-feature-card {
    padding: var(--ts-sp-5);
  }

  .page-template-template-careers section[aria-labelledby="why-ts-heading"] .ts-feature-title {
    font-size: .95rem;
    line-height: 1.25;
  }

  .page-template-template-careers section[aria-labelledby="why-ts-heading"] .ts-feature-desc {
    font-size: .8rem;
    line-height: 1.5;
  }
}

/* Service Area default page: dark themed content, readable typography, and cleaner area lists. */
.page-id-117 .ts-section > .ts-container {
  max-width: var(--ts-container, 1200px);
}

.page-id-117 .ts-content {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

.page-id-117 .ts-content > h1:first-child {
  display: none;
}

.page-id-117 .ts-content .wp-block-group.alignfull {
  width: 100%;
  margin: 0;
  padding: var(--ts-sp-8) var(--ts-sp-6) !important;
  background: transparent !important;
  border: 0;
  border-radius: 0;
}

.page-id-117 .ts-content .wp-block-group.alignfull + .wp-block-group.alignfull {
  margin-top: var(--ts-sp-6);
}

.page-id-117 .ts-content .wp-block-group.alignfull:nth-of-type(2) {
  background: transparent !important;
  border: 0;
  border-radius: 0;
  padding-inline: 0 !important;
}

.page-id-117 .ts-content .wp-block-group:first-child h1 {
  display: none;
}

.page-id-117 .ts-content .wp-block-group:first-child p {
  max-width: 860px;
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  font-size: 1.125rem;
  line-height: 1.75;
}

.page-id-117 .ts-content .wp-block-group__inner-container {
  max-width: none;
}

.page-id-117 .ts-content .wp-block-columns {
  gap: var(--ts-sp-5);
  align-items: stretch !important;
  margin-top: var(--ts-sp-7);
  padding: var(--ts-sp-5);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-lg);
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-id-117 .ts-content .wp-block-column {
  min-width: 0;
  flex-basis: auto !important;
}

.page-id-117 .ts-content > p:first-of-type {
  max-width: 820px;
  margin: 0 0 var(--ts-sp-8);
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  font-size: 1.125rem;
  line-height: 1.75;
}

.page-id-117 .ts-content h2 {
  color: var(--ts-on-dark, #F8FAFC) !important;
  margin: 0 0 var(--ts-sp-3);
}

.page-id-117 .ts-content h2 + p {
  max-width: 860px;
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  line-height: 1.7;
  margin-bottom: var(--ts-sp-7);
  margin-left: auto;
  margin-right: auto;
}

.page-id-117 .ts-content h3 {
  margin: 0;
  padding: 0 0 var(--ts-sp-3);
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--ts-on-dark, #F8FAFC) !important;
  font-size: 1.05rem;
}

.page-id-117 .ts-content h3 + ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ts-sp-2);
  margin: 0;
  padding: 0;
  list-style: none;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.page-id-117 .ts-content h3 + ul li {
  margin: 0;
  padding: .65rem .8rem;
  border-radius: var(--ts-r-md);
  background: rgba(14,165,233,.1);
  border: 1px solid rgba(14,165,233,.18);
  color: var(--ts-on-dark, #F8FAFC) !important;
  font-family: var(--ts-font-display);
  font-weight: 700;
}

.page-id-117 .ts-content .wp-block-buttons {
  gap: var(--ts-sp-3);
  margin-top: var(--ts-sp-7);
}

.page-id-117 .ts-content .wp-block-button {
  width: 190px !important;
  flex: 0 0 190px !important;
}

.page-id-117 .ts-content .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 190px !important;
  max-width: 190px !important;
  box-sizing: border-box;
  height: 54px;
  min-height: 54px;
  min-width: 0;
  margin: 0;
  padding: 0 16px !important;
  border: 2px solid transparent;
  border-radius: var(--ts-r-md) !important;
  box-shadow: none;
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background var(--ts-ease), color var(--ts-ease), transform var(--ts-ease), box-shadow var(--ts-ease), border-color var(--ts-ease);
}

.page-id-117 .ts-content .wp-block-button__link:hover,
.page-id-117 .ts-content .wp-block-button__link:focus-visible {
  box-shadow: 0 8px 24px rgba(29,78,216,.28);
  transform: translateY(-1px);
}

.page-id-117 .ts-content h3 + ul li::before {
  content: "";
  display: inline-block;
  width: .45rem;
  height: .45rem;
  margin-right: .55rem;
  border-radius: 999px;
  background: var(--ts-teal, #14B8A6);
  vertical-align: middle;
}

.page-id-117 .ts-content a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: var(--ts-sp-6) var(--ts-sp-3) 0 0;
  padding: 0 var(--ts-sp-5);
  border-radius: var(--ts-r-md);
  background: var(--ts-blue, #1D4ED8);
  border: 1px solid var(--ts-blue, #1D4ED8);
  color: #fff !important;
  font-family: var(--ts-font-display);
  font-weight: 800;
  text-decoration: none;
}

.page-id-117 .ts-content a + a {
  background: var(--ts-blue, #1D4ED8);
  border-color: var(--ts-blue, #1D4ED8);
  color: var(--ts-white, #FFFFFF) !important;
}

.page-id-117 .ts-content a:hover,
.page-id-117 .ts-content a:focus-visible {
  border-color: var(--ts-blue-bright, #3B82F6);
  background: var(--ts-blue-bright, #3B82F6);
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(59,130,246,.35);
}

.page-id-117 .ts-content a + a:hover,
.page-id-117 .ts-content a + a:focus-visible {
  background: #2563EB;
}

.page-id-117 .ts-content .wp-block-button__link:hover,
.page-id-117 .ts-content .wp-block-button__link:focus-visible {
  background: #2563EB !important;
  border-color: #2563EB !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(59,130,246,.35) !important;
}

.page-id-117 .ts-content .wp-block-button__link[href="/coverage-map"] {
  background: var(--ts-blue, #1D4ED8) !important;
  border-color: var(--ts-blue, #1D4ED8) !important;
  color: var(--ts-white, #FFFFFF) !important;
}

.page-id-117 .ts-content .wp-block-button:first-child .wp-block-button__link {
  height: 54px !important;
  min-height: 54px !important;
  width: 190px !important;
  max-width: 190px !important;
  min-width: 0 !important;
  padding: 0 16px !important;
  border: 2px solid transparent !important;
  background: var(--ts-blue, #1D4ED8) !important;
  color: var(--ts-white, #FFFFFF) !important;
}

.page-id-117 .ts-content .wp-block-button:first-child .wp-block-button__link:hover,
.page-id-117 .ts-content .wp-block-button:first-child .wp-block-button__link:focus-visible {
  border-color: transparent !important;
  background: #2563EB !important;
  color: var(--ts-white, #FFFFFF) !important;
  box-shadow: 0 8px 24px rgba(59,130,246,.35) !important;
}

@media (max-width: 640px) {
  .page-id-117 .ts-content .wp-block-columns {
    grid-template-columns: 1fr;
  }

  .page-id-117 .ts-content {
    padding: 0;
  }

  .page-id-117 .ts-content .wp-block-group.alignfull {
    padding: var(--ts-sp-5) !important;
  }

  .page-id-117 .ts-content a {
    width: 100%;
    margin-right: 0;
  }
}

/* Rural Wireless page: standard dark-theme styling for block-built content. */
.page-id-114 .ts-section > .ts-container,
.page-id-114 .ts-content {
  max-width: var(--ts-container, 1200px);
}

.page-id-114 .ts-content {
  margin: 0 auto;
  padding: 0;
  color: var(--ts-on-dark-muted, #D7E3F2);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.page-id-114 .ts-content > .wp-block-group.alignfull {
  width: 100%;
  margin: 0 0 32px;
  padding: 36px 24px !important;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-lg);
  background: var(--ts-dark-card, #151F32) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  overflow: hidden;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:first-child,
.page-id-114 .ts-content > .wp-block-group.alignfull:last-child {
  text-align: center;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(2),
.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) {
  padding: 20px 0 0 !important;
  border: 0;
  background: transparent !important;
  box-shadow: none;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:last-child {
  display: none !important;
}

.page-id-114 .ts-content h1,
.page-id-114 .ts-content h2,
.page-id-114 .ts-content h3,
.page-id-114 .ts-content strong {
  color: var(--ts-on-dark, #F8FAFC) !important;
  font-family: var(--ts-font-display);
}

.page-id-114 .ts-content h1 {
  max-width: 820px;
  margin: 0 auto 16px;
  font-size: clamp(2rem, 4vw, 2.85rem);
  line-height: 1.08;
}

.page-id-114 .ts-content h2 {
  margin: 0 0 24px;
  text-align: center;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: 1.12;
}

.page-id-114 .ts-content h3 {
  margin: 0 0 12px;
  font-size: 1.15rem;
  line-height: 1.25;
}

.page-id-114 .ts-content p,
.page-id-114 .ts-content li {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  line-height: 1.75;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:first-child p,
.page-id-114 .ts-content > .wp-block-group.alignfull:last-child p {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-id-114 .ts-content .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 28px 0 0 !important;
}

.page-id-114 .ts-content .wp-block-column {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100%;
  padding: 24px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: var(--ts-r-lg) !important;
  background: var(--ts-dark-card, #151F32) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

.page-id-114 .ts-content .wp-block-column > * {
  margin-top: 0;
  margin-bottom: 0;
}

.page-id-114 .ts-content .wp-block-column h2 {
  color: var(--ts-green, #10B981) !important;
  margin-bottom: 4px;
  text-align: left;
}

.page-id-114 .ts-content .wp-block-column h2 span {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}

.page-id-114 .ts-content .wp-block-column ul {
  display: grid;
  gap: 10px;
  margin: 6px 0 0;
  padding-left: 0;
  list-style: none;
}

.page-id-114 .ts-content .wp-block-column li {
  position: relative;
  padding-left: 22px;
}

.page-id-114 .ts-content .wp-block-column li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--ts-blue-bright, #3B82F6);
  box-shadow: 0 0 0 4px rgba(14,165,233,.12);
}

.page-id-114 .ts-content .wp-block-column p:first-child:has(+ h3) {
  align-self: flex-start;
  padding: 5px 10px;
  border: 1px solid rgba(16,185,129,.34);
  border-radius: 999px;
  background: rgba(16,185,129,.12);
  color: #86EFAC !important;
  font-family: var(--ts-font-display);
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-columns {
  gap: 24px;
  align-items: stretch;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column {
  position: relative;
  align-items: center;
  gap: 10px;
  padding: 34px 20px 28px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: var(--ts-r-lg) !important;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
  transition: border-color var(--ts-ease), box-shadow var(--ts-ease), transform var(--ts-ease);
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:hover {
  border-color: var(--ts-blue-bright, #3B82F6) !important;
  box-shadow: var(--ts-shadow-md);
  transform: translateY(-3px);
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> p:first-child + h3) {
  border-color: var(--ts-green, #10B981) !important;
  box-shadow: 0 0 0 1px var(--ts-green, #10B981), 0 2px 8px rgba(0,0,0,.2);
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> p:first-child + h3):hover {
  border-color: var(--ts-green, #10B981) !important;
  box-shadow: 0 0 0 1px var(--ts-green, #10B981), var(--ts-shadow-md);
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column > p:first-child:has(+ h3) {
  width: calc(100% - 40px);
  justify-content: center;
  align-self: center;
  margin: 0;
  padding: 4px 12px;
  border: 0;
  border-radius: 999px;
  background: var(--ts-green, #10B981);
  color: #fff !important;
  font-size: .72rem !important;
  line-height: 1.2;
  letter-spacing: .04em;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h3 {
  margin: 0 0 4px;
  font-size: 1.2rem;
  text-align: center;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  margin: 0 0 8px;
  color: var(--ts-green, #10B981) !important;
  font-size: clamp(2.75rem, 4vw, 3.45rem);
  font-weight: 900;
  line-height: .95;
  text-align: center;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .ts-rural-price-symbol {
  color: inherit;
  font-size: .42em;
  font-weight: 900;
  line-height: 1;
  transform: translateY(-.5em);
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .ts-rural-price-whole {
  color: inherit;
  font-size: 1em;
  font-weight: 900;
  line-height: .95;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .ts-rural-price-cents {
  color: inherit;
  font-size: .42em;
  font-weight: 700;
  line-height: 1;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 > span:not(.ts-rural-price-symbol):not(.ts-rural-price-whole):not(.ts-rural-price-cents) {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  font-size: .28em !important;
  font-weight: 500;
  vertical-align: baseline;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 .ts-rural-price-symbol,
.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 .ts-rural-price-whole,
.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 .ts-rural-price-cents {
  color: inherit !important;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 .ts-rural-price-symbol,
.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 .ts-rural-price-cents {
  font-size: .42em !important;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 .ts-rural-price-whole {
  font-size: 1em !important;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column ul {
  width: 100%;
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.75);
  text-align: left;
  gap: 0;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column li {
  padding-left: 28px;
  padding-block: 3px;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column li::before {
  content: "✓";
  top: .05em;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #86EFAC;
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 900;
}

.page-id-114 .ts-content .wp-block-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 24px !important;
}

.page-id-114 .ts-content .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 50px;
  min-height: 50px;
  padding: 0 24px !important;
  border-radius: var(--ts-r-md) !important;
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background var(--ts-ease), color var(--ts-ease), transform var(--ts-ease), box-shadow var(--ts-ease), border-color var(--ts-ease);
}

.page-id-114 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--ts-green, #10B981) !important;
  border: 2px solid var(--ts-green, #10B981) !important;
  color: #fff !important;
}

.page-id-114 .ts-content .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 2px solid rgba(125,211,252,.42) !important;
  color: var(--ts-on-dark, #F8FAFC) !important;
}

.page-id-114 .ts-content .wp-block-button__link:hover,
.page-id-114 .ts-content .wp-block-button__link:focus-visible {
  color: #fff !important;
  transform: translateY(-1px);
}

.page-id-114 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.page-id-114 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible {
  box-shadow: 0 8px 24px rgba(16,185,129,.35);
}

.page-id-114 .ts-content .wp-block-button.is-style-outline .wp-block-button__link:hover,
.page-id-114 .ts-content .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(125,211,252,.72) !important;
}

@media (max-width: 860px) {
  .page-id-114 .ts-content > .wp-block-group.alignfull {
    padding: 28px 18px !important;
  }

  .page-id-114 .ts-content .wp-block-columns {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .page-id-114 .ts-content .wp-block-buttons {
    flex-direction: column;
  }

  .page-id-114 .ts-content .wp-block-button,
  .page-id-114 .ts-content .wp-block-button__link {
    width: 100%;
  }
}

@media (min-width: 641px) and (max-width: 860px) {
  .page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column {
    min-width: 0;
  }

  .page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .page-id-114 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column {
    min-width: 0;
  }

  .page-id-114 .ts-content > .wp-block-group.alignfull:first-child .wp-block-buttons {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
  }

  .page-id-114 .ts-content > .wp-block-group.alignfull:first-child .wp-block-button,
  .page-id-114 .ts-content > .wp-block-group.alignfull:first-child .wp-block-button__link {
    width: 100% !important;
    min-width: 0;
  }
}

/* Business Internet page: align block-built content with Rural Wireless styling. */
.page-id-316 .ts-section > .ts-container,
.page-id-316 .ts-content {
  max-width: var(--ts-container, 1200px);
}

.page-id-316 .ts-content {
  margin: 0 auto;
  padding: 0;
  color: var(--ts-on-dark-muted, #D7E3F2);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.page-id-316 .ts-content > h1:first-child {
  display: none;
}

.page-id-316 .ts-content > .wp-block-group.alignfull {
  width: 100%;
  margin: 0 0 32px;
  padding: 36px 24px !important;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-lg);
  background: var(--ts-dark-card, #151F32) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  overflow: hidden;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:first-child,
.page-id-316 .ts-content > .wp-block-group.alignfull:last-child {
  text-align: center;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(2) {
  padding: 20px 0 0 !important;
  border: 0;
  background: transparent !important;
  box-shadow: none;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns {
  gap: 16px;
  margin-top: 0 !important;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column {
  padding: 26px 24px !important;
  border: 1px solid rgba(125,211,252,.16) !important;
  border-radius: var(--ts-r-lg) !important;
  background: var(--ts-dark-card, #151F32) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column h2,
.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column h3 {
  margin: 0 0 14px;
  color: var(--ts-on-dark, #F8FAFC) !important;
  font-size: clamp(1.35rem, 2vw, 1.7rem) !important;
  line-height: 1.15;
  text-align: left;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column p {
  margin: 0;
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  font-size: 1rem;
  line-height: 1.65;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) {
  padding: 20px 0 0 !important;
  border: 0;
  background: transparent !important;
  box-shadow: none;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) {
  position: relative;
  width: 100% !important;
  max-width: none !important;
  padding: clamp(44px, 5vw, 64px) 0 !important;
  background: transparent !important;
  border-color: transparent;
  box-shadow: none;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) > .wp-block-group__inner-container {
  width: 100% !important;
  max-width: none !important;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4)::before {
  content: none;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) h2 {
  max-width: 920px;
  margin-inline: auto;
  margin-bottom: clamp(28px, 4vw, 44px);
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns {
  width: 100% !important;
  max-width: none !important;
  gap: 18px;
  margin-top: 0 !important;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column {
  position: relative;
  padding: 28px 24px 28px 28px !important;
  border-color: rgba(125,211,252,.16) !important;
  background: rgba(13,23,39,.72) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
  overflow: hidden;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--ts-green, #10B981);
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(2)::before {
  background: var(--ts-blue-bright, #3B82F6);
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(3)::before {
  background: var(--ts-orange, #F97316);
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:hover {
  border-color: rgba(125,211,252,.16) !important;
  transform: none;
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column h3 {
  margin-bottom: 14px;
  font-size: 1.05rem;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.7;
}

.page-id-316 .ts-content h1,
.page-id-316 .ts-content h2,
.page-id-316 .ts-content h3,
.page-id-316 .ts-content strong {
  color: var(--ts-on-dark, #F8FAFC) !important;
  font-family: var(--ts-font-display);
}

.page-id-316 .ts-content h1 {
  max-width: 860px;
  margin: 0 auto 16px;
  font-size: clamp(2rem, 4vw, 2.85rem) !important;
  line-height: 1.08;
}

.page-id-316 .ts-content h2 {
  margin: 0 0 24px;
  text-align: center;
  font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
  line-height: 1.12;
}

.page-id-316 .ts-content h3 {
  margin: 0 0 12px;
  font-size: 1.15rem;
  line-height: 1.25;
}

.page-id-316 .ts-content p,
.page-id-316 .ts-content li {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  line-height: 1.75;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:first-child p,
.page-id-316 .ts-content > .wp-block-group.alignfull:last-child p {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-id-316 .ts-content .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 28px 0 0 !important;
}

.page-id-316 .ts-content .wp-block-column {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  min-height: 100%;
  padding: 24px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: var(--ts-r-lg) !important;
  background: var(--ts-dark-card, #151F32) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

.page-id-316 .ts-content .wp-block-column > * {
  margin-top: 0;
  margin-bottom: 0;
}

.page-id-316 .ts-content .wp-block-column h2 {
  color: var(--ts-green, #10B981) !important;
  margin-bottom: 4px;
  text-align: left;
}

.page-id-316 .ts-content .wp-block-column h2 span {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}

.page-id-316 .ts-content .wp-block-column ul {
  display: grid;
  gap: 10px;
  margin: 6px 0 0;
  padding-left: 0;
  list-style: none;
}

.page-id-316 .ts-content .wp-block-column li {
  position: relative;
  padding-left: 22px;
}

.page-id-316 .ts-content .wp-block-column li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--ts-blue-bright, #3B82F6);
  box-shadow: 0 0 0 4px rgba(14,165,233,.12);
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-columns {
  gap: 24px;
  align-items: stretch;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column {
  position: relative;
  align-items: center;
  gap: 10px;
  padding: 34px 20px 28px !important;
  text-align: center;
  transition: border-color var(--ts-ease), box-shadow var(--ts-ease), transform var(--ts-ease);
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:not(:has(> *)) {
  display: none;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> *) {
  border-color: rgba(255,255,255,.08) !important;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> *):hover {
  border-color: var(--ts-blue-bright, #3B82F6) !important;
  box-shadow: var(--ts-shadow-md);
  transform: translateY(-3px);
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(a[style*="#16a34a"]) {
  border-color: var(--ts-green, #10B981) !important;
  box-shadow: 0 0 0 1px var(--ts-green, #10B981), 0 2px 8px rgba(0,0,0,.2);
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column > p:first-child:has(+ h3) {
  width: calc(100% - 40px);
  justify-content: center;
  align-self: center;
  margin: 0 0 var(--ts-sp-3);
  padding: 4px 12px;
  border: 0;
  border-radius: 999px;
  background: var(--ts-green, #10B981);
  color: #fff !important;
  font-family: var(--ts-font-display);
  font-size: .72rem !important;
  font-weight: 900 !important;
  line-height: 1.2;
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> p:first-child + h3) {
  border-color: var(--ts-green, #10B981) !important;
  box-shadow: 0 0 0 1px var(--ts-green, #10B981), 0 2px 8px rgba(0,0,0,.2);
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> p:first-child + h3) .wp-block-button__link {
  background: var(--ts-blue-bright, #3B82F6) !important;
  border-color: var(--ts-blue-bright, #3B82F6) !important;
  box-shadow: 0 16px 34px rgba(59,130,246,.24) !important;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  margin: 0 0 8px;
  color: var(--ts-green, #10B981) !important;
  font-size: clamp(2.75rem, 4vw, 3.45rem) !important;
  font-weight: 900;
  line-height: .95;
  text-align: center;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 span {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  font-size: .32em !important;
  font-weight: 500;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column ul {
  width: 100%;
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.75);
  text-align: left;
  gap: 0;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column li {
  padding-left: 28px;
  padding-block: 3px;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column li::before {
  content: "✓";
  top: .05em;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #86EFAC;
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 900;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column .wp-block-buttons {
  margin-top: auto !important;
  padding-top: var(--ts-sp-4);
}

.page-id-316 .ts-content .wp-block-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 24px !important;
}

.page-id-316 .ts-content .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 50px;
  min-height: 50px;
  padding: 0 24px !important;
  border-radius: var(--ts-r-md) !important;
  font-family: var(--ts-font-display);
  font-size: .9375rem !important;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background var(--ts-ease), color var(--ts-ease), transform var(--ts-ease), box-shadow var(--ts-ease), border-color var(--ts-ease);
}

.page-id-316 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--ts-green, #10B981) !important;
  border: 2px solid var(--ts-green, #10B981) !important;
  color: #fff !important;
}

.page-id-316 .ts-content .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 2px solid rgba(125,211,252,.42) !important;
  color: var(--ts-on-dark, #F8FAFC) !important;
}

.page-id-316 .ts-content .wp-block-button__link:hover,
.page-id-316 .ts-content .wp-block-button__link:focus-visible {
  color: #fff !important;
  transform: translateY(-1px);
}

.page-id-316 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.page-id-316 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible {
  box-shadow: 0 8px 24px rgba(16,185,129,.35);
}

.page-id-316 .ts-content .wp-block-button.is-style-outline .wp-block-button__link:hover,
.page-id-316 .ts-content .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(125,211,252,.72) !important;
}

/* Business Internet: WCAG AA contrast safeguards for block buttons and recommended labels. */
.page-id-316 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.page-id-316 .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #047857 !important;
  border-color: #047857 !important;
  color: #fff !important;
}

.page-id-316 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.page-id-316 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible,
.page-id-316 .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.page-id-316 .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible {
  background: #065F46 !important;
  border-color: #065F46 !important;
  color: #fff !important;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> p:first-child + h3) .wp-block-button__link,
.page-id-316 .entry-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> p:first-child + h3) .wp-block-button__link {
  background: #2563EB !important;
  border-color: #2563EB !important;
  color: #fff !important;
}

.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> p:first-child + h3) .wp-block-button__link:hover,
.page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> p:first-child + h3) .wp-block-button__link:focus-visible,
.page-id-316 .entry-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> p:first-child + h3) .wp-block-button__link:hover,
.page-id-316 .entry-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> p:first-child + h3) .wp-block-button__link:focus-visible {
  background: #1D4ED8 !important;
  border-color: #1D4ED8 !important;
  color: #fff !important;
}

@media (max-width: 860px) {
  .page-id-316 .ts-content > .wp-block-group.alignfull {
    padding: 28px 18px !important;
  }

  .page-id-316 .ts-content .wp-block-columns {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .page-id-316 .ts-content .wp-block-buttons {
    flex-direction: column;
  }

  .page-id-316 .ts-content .wp-block-button,
  .page-id-316 .ts-content .wp-block-button__link {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) {
    padding-inline: 0 !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) h2 {
    padding-inline: var(--ts-sp-4);
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column {
    width: 100% !important;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-id-316 .ts-content > .wp-block-group.alignfull {
    padding: 28px 18px !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns,
  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-columns,
  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: stretch !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) {
    padding-inline: 0 !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column,
  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column,
  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column {
    min-width: 0 !important;
    min-height: 100% !important;
    padding: var(--ts-sp-5) !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column h2,
  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column h3,
  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column h3 {
    font-size: clamp(1rem, 1.7vw, 1.2rem) !important;
    line-height: 1.22 !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column p,
  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p {
    font-size: .86rem !important;
    line-height: 1.55 !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column {
    gap: 10px !important;
    padding: var(--ts-sp-5) !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-columns:has(> .wp-block-column:nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: calc((100% - 32px) / 3 * 2 + 16px) !important;
    margin-inline: auto !important;
    justify-content: center !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 {
    font-size: clamp(2rem, 4vw, 2.8rem) !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column li {
    font-size: .78rem !important;
    line-height: 1.42 !important;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:first-child .wp-block-buttons,
  .page-id-316 .ts-content > .wp-block-group.alignfull:last-child .wp-block-buttons {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    width: 100%;
  }

  .page-id-316 .ts-content > .wp-block-group.alignfull:first-child .wp-block-button,
  .page-id-316 .ts-content > .wp-block-group.alignfull:first-child .wp-block-button__link,
  .page-id-316 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button,
  .page-id-316 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button__link {
    width: auto !important;
    min-width: 300px;
  }
}

/* Business Solutions page: align default block content with Rural Wireless styling. */
.page-id-104 .ts-section > .ts-container,
.page-id-104 .ts-content {
  max-width: var(--ts-container, 1200px);
}

.page-id-104 .ts-content {
  margin: 0 auto;
  padding: 0;
  color: var(--ts-on-dark-muted, #D7E3F2);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.page-id-104 .ts-content > .wp-block-group.alignfull {
  width: 100%;
  margin: 0 0 32px;
  padding: 36px 24px !important;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-lg);
  background: var(--ts-dark-card, #151F32) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  overflow: hidden;
}

.page-id-104 .ts-content > .wp-block-group.alignfull:first-child,
.page-id-104 .ts-content > .wp-block-group.alignfull:last-child {
  text-align: center;
}

.page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) {
  padding: 20px 0 0 !important;
  border: 0;
  background: transparent !important;
  box-shadow: none;
}

.page-id-104 .ts-content h1,
.page-id-104 .ts-content h2,
.page-id-104 .ts-content h3,
.page-id-104 .ts-content strong {
  color: var(--ts-on-dark, #F8FAFC) !important;
  font-family: var(--ts-font-display);
}

.page-id-104 .ts-content h1 {
  max-width: 820px;
  margin: 0 auto 16px;
  font-size: clamp(2rem, 4vw, 2.85rem);
  line-height: 1.08;
}

.page-id-104 .ts-content h2 {
  margin: 0 0 24px;
  text-align: center;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: 1.12;
}

.page-id-104 .ts-content h3 {
  margin: 0 0 12px;
  font-size: 1.15rem;
  line-height: 1.25;
}

.page-id-104 .ts-content p {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  line-height: 1.75;
}

.page-id-104 .ts-content > .wp-block-group.alignfull:first-child p,
.page-id-104 .ts-content > .wp-block-group.alignfull:last-child p {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-id-104 .ts-content .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 28px 0 0 !important;
}

.page-id-104 .ts-content .wp-block-column {
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-2);
  min-height: 100%;
  padding: var(--ts-sp-6) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-left: 3px solid var(--ts-orange) !important;
  border-radius: 12px !important;
  background: var(--ts-dark-card, #151F32) !important;
  box-shadow: none;
  transition: border-color var(--ts-ease), box-shadow var(--ts-ease), transform var(--ts-ease);
}

.page-id-104 .ts-content .wp-block-column:hover {
  box-shadow: 0 4px 24px rgba(0,0,0,.3);
  transform: translateY(-2px);
}

.page-id-104 .ts-content .wp-block-column:nth-child(2) {
  border-left-color: var(--ts-blue-bright, #3B82F6) !important;
}

.page-id-104 .ts-content .wp-block-column:nth-child(3) {
  border-left-color: var(--ts-teal, #14B8A6) !important;
}

.page-id-104 .ts-content .wp-block-column > * {
  margin-top: 0;
  margin-bottom: 0;
}

.page-id-104 .ts-content .wp-block-column p {
  flex: 1;
  font-size: 0.9rem;
  line-height: 1.65;
}

.page-id-104 .ts-content .wp-block-column h3 {
  font-size: 1.0625rem;
  font-weight: 700;
}

.page-id-104 .ts-content .wp-block-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 24px !important;
}

.page-id-104 .ts-content .wp-block-column .wp-block-buttons {
  justify-content: flex-start;
  margin-top: auto !important;
}

.page-id-104 .ts-content .wp-block-column .wp-block-button {
  width: auto;
}

.page-id-104 .ts-content .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 50px;
  min-height: 50px;
  padding: 0 24px !important;
  border-radius: var(--ts-r-md) !important;
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background var(--ts-ease), color var(--ts-ease), transform var(--ts-ease), box-shadow var(--ts-ease), border-color var(--ts-ease);
}

.page-id-104 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #047857 !important;
  border: 2px solid #047857 !important;
  color: #fff !important;
}

.page-id-104 .ts-content .wp-block-column .wp-block-button__link {
  height: auto;
  min-height: 0;
  padding: var(--ts-sp-3) 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #60A5FA !important;
  font-size: 0.8125rem;
  font-weight: 700;
  box-shadow: none !important;
}

.page-id-104 .ts-content .wp-block-column .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: transparent !important;
  border: 0 !important;
  color: #60A5FA !important;
}

.page-id-104 .ts-content .wp-block-column .wp-block-button__link::after {
  content: '\2192';
  display: inline-block;
  margin-left: 4px;
  transition: transform var(--ts-ease);
}

.page-id-104 .ts-content .wp-block-button__link:hover,
.page-id-104 .ts-content .wp-block-button__link:focus-visible {
  color: #fff !important;
  background: #065F46 !important;
  border-color: #065F46 !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(4,120,87,.35);
}

.page-id-104 .ts-content .wp-block-column .wp-block-button__link:hover,
.page-id-104 .ts-content .wp-block-column .wp-block-button__link:focus-visible {
  color: var(--ts-cyan, #22D3EE) !important;
  background: transparent !important;
  border: 0 !important;
  transform: none;
}

.page-id-104 .ts-content .wp-block-column .wp-block-button__link:hover::after,
.page-id-104 .ts-content .wp-block-column .wp-block-button__link:focus-visible::after,
.page-id-104 .ts-content .wp-block-column:hover .wp-block-button__link::after {
  transform: translateX(4px);
}

@media (max-width: 860px) {
  .page-id-104 .ts-content > .wp-block-group.alignfull {
    padding: 28px 18px !important;
  }

  .page-id-104 .ts-content .wp-block-columns {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .page-id-104 .ts-content .wp-block-buttons {
    flex-direction: column;
  }

  .page-id-104 .ts-content .wp-block-button,
  .page-id-104 .ts-content .wp-block-button__link {
    width: 100%;
  }
}

@media (min-width: 641px) and (max-width: 860px) {
  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column {
    min-width: 0;
    padding: var(--ts-sp-5) !important;
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column h3 {
    font-size: clamp(0.9rem, 1.5vw, 1.05rem);
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column p {
    font-size: clamp(0.76rem, 1.2vw, 0.875rem);
    line-height: 1.55;
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column .wp-block-buttons {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    width: auto !important;
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column .wp-block-button,
  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column .wp-block-button__link {
    width: auto !important;
    max-width: max-content;
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column .wp-block-button {
    align-self: flex-start !important;
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column .wp-block-button__link {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:last-child .wp-block-buttons {
    justify-content: center;
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button {
    width: 50% !important;
    flex: 0 1 50%;
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button__link {
    width: 100% !important;
  }
}

@media (max-width: 640px) {
  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column .wp-block-buttons {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    width: auto !important;
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column .wp-block-button,
  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column .wp-block-button__link {
    width: auto !important;
    max-width: max-content;
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column .wp-block-button {
    align-self: flex-start !important;
  }

  .page-id-104 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column .wp-block-button__link {
    justify-content: flex-start !important;
    text-align: left !important;
  }
}

/* Business Phone page: align default block content with Rural Wireless styling. */
.page-id-332 .ts-section > .ts-container,
.page-id-332 .ts-content {
  max-width: var(--ts-container, 1200px);
}

.page-id-332 .ts-content {
  margin: 0 auto;
  padding: 0;
  color: var(--ts-on-dark-muted, #D7E3F2);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.page-id-332 .ts-content > .wp-block-group.alignfull {
  width: 100%;
  margin: 0 0 32px;
  padding: 36px 24px !important;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-lg);
  background: var(--ts-dark-card, #151F32) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  overflow: hidden;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:first-child,
.page-id-332 .ts-content > .wp-block-group.alignfull:last-child {
  text-align: center;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2),
.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3),
.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) {
  padding: 20px 0 0 !important;
  border: 0;
  background: transparent !important;
  box-shadow: none;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) {
  margin-top: -12px;
  padding-top: 0 !important;
}

.page-id-332 .ts-content h1,
.page-id-332 .ts-content h2,
.page-id-332 .ts-content h3,
.page-id-332 .ts-content strong {
  color: var(--ts-on-dark, #F8FAFC) !important;
  font-family: var(--ts-font-display);
}

.page-id-332 .ts-content h1 {
  max-width: 900px;
  margin: 0 auto 16px;
  font-size: clamp(2rem, 4vw, 2.85rem);
  line-height: 1.08;
}

.page-id-332 .ts-content h2 {
  margin: 0 0 24px;
  text-align: center;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: 1.12;
}

.page-id-332 .ts-content h3 {
  margin: 0 0 12px;
  font-size: 1.15rem;
  line-height: 1.25;
}

.page-id-332 .ts-content p,
.page-id-332 .ts-content li {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  line-height: 1.75;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:first-child p,
.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) > .wp-block-group__inner-container > p,
.page-id-332 .ts-content > .wp-block-group.alignfull:last-child p {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-id-332 .ts-content .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 28px 0 0 !important;
}

.page-id-332 .ts-content .wp-block-column {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100%;
  padding: 24px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: var(--ts-r-lg) !important;
  background: var(--ts-dark-card, #151F32) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

.page-id-332 .ts-content .wp-block-column > * {
  margin-top: 0;
  margin-bottom: 0;
}

.page-id-332 .ts-content .wp-block-column p {
  font-size: 0.9375rem;
}

.page-id-332 .ts-content .wp-block-column p:first-child:not(:only-child) {
  color: var(--ts-green, #10B981) !important;
  font-family: var(--ts-font-display);
  font-weight: 800 !important;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column,
.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column {
  border: 1px solid rgba(255,255,255,.08) !important;
  border-left-color: rgba(255,255,255,.08) !important;
  border-radius: var(--ts-r-lg) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column h3 {
  font-size: 1.6rem !important;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: start;
  column-gap: var(--ts-sp-4);
  row-gap: 0;
  padding: var(--ts-sp-5) !important;
  border: 1.5px solid rgba(255,255,255,.08) !important;
  border-left-width: 1.5px !important;
  border-left-color: rgba(255,255,255,.08) !important;
  border-radius: var(--ts-r-lg) !important;
  transition: none;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column::before {
  content: "NP";
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  grid-column: 1;
  grid-row: 1 / span 2;
  border-radius: var(--ts-r-md);
  background: rgba(14,165,233,.14);
  color: var(--ts-blue-bright, #3B82F6);
  font-family: var(--ts-font-display);
  font-size: .75rem;
  font-weight: 900;
  line-height: 1;
  flex: 0 0 40px;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(2)::before {
  content: "ID";
  background-image: none;
  background-color: rgba(124,58,237,.22);
  color: #C4B5FD;
  font-family: var(--ts-font-display);
  font-size: .78rem;
  font-weight: 900;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(3)::before {
  content: "911";
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p:first-child {
  grid-column: 2 !important;
  grid-row: 1 !important;
  color: var(--ts-on-dark, #F8FAFC) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1.2;
  margin-bottom: 4px;
  align-self: start;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p:last-child {
  grid-column: 2 !important;
  grid-row: 2 !important;
  font-size: 0.8125rem;
  line-height: 1.6;
  align-self: start;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column:nth-child(2),
.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(2) {
  border-left-color: var(--ts-green, #10B981) !important;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column:nth-child(3),
.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(3) {
  border-left-color: var(--ts-teal, #14B8A6) !important;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column:hover,
.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
  transform: none;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:hover {
  border-color: rgba(255,255,255,.08) !important;
  box-shadow: none;
  transform: none;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column,
.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(2),
.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(3) {
  border-left-color: rgba(255,255,255,.08) !important;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-columns {
  gap: 24px;
  align-items: stretch;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column {
  position: relative;
  align-items: center;
  gap: 10px;
  padding: 34px 20px 28px !important;
  text-align: center;
  transition: border-color var(--ts-ease), box-shadow var(--ts-ease), transform var(--ts-ease);
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:hover {
  border-color: var(--ts-blue-bright, #3B82F6) !important;
  box-shadow: var(--ts-shadow-md);
  transform: translateY(-3px);
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> p:first-child + h3) {
  border-color: var(--ts-green, #10B981) !important;
  box-shadow: 0 0 0 1px var(--ts-green, #10B981), 0 2px 8px rgba(0,0,0,.2);
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:has(> p:first-child + h3):hover {
  border-color: var(--ts-green, #10B981) !important;
  box-shadow: 0 0 0 1px var(--ts-green, #10B981), var(--ts-shadow-md);
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column > p:first-child:has(+ h3) {
  width: calc(100% - 40px);
  align-self: center;
  margin: 0;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--ts-green, #10B981);
  color: #fff !important;
  font-family: var(--ts-font-display);
  font-size: .72rem !important;
  font-weight: 800 !important;
  line-height: 1.2;
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h3 {
  margin: 0 0 4px;
  font-size: 1.2rem;
  text-align: center;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h3 + p {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  font-size: 0.8125rem !important;
  line-height: 1.5;
  text-align: center;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  margin: 0 0 8px;
  color: var(--ts-green, #10B981) !important;
  font-size: clamp(2.35rem, 4vw, 3rem);
  font-weight: 900;
  line-height: .95;
  text-align: center;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column h2 span {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  font-size: .32em !important;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column ul {
  display: grid;
  width: 100%;
  gap: 0;
  margin: 8px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid rgba(255,255,255,.75);
  list-style: none;
  text-align: left;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column li {
  position: relative;
  padding-left: 28px;
  padding-block: 3px;
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: .05em;
  color: #86EFAC;
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 900;
}

.page-id-332 .ts-content .wp-block-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 24px !important;
}

.page-id-332 .ts-content .wp-block-column .wp-block-buttons {
  margin-top: auto !important;
}

.page-id-332 .ts-content .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 50px;
  min-height: 50px;
  padding: 0 24px !important;
  border-radius: var(--ts-r-md) !important;
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background var(--ts-ease), color var(--ts-ease), transform var(--ts-ease), box-shadow var(--ts-ease), border-color var(--ts-ease);
}

.page-id-332 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--ts-green, #10B981) !important;
  border: 2px solid var(--ts-green, #10B981) !important;
  color: #fff !important;
}

.page-id-332 .ts-content .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 2px solid rgba(125,211,252,.42) !important;
  color: var(--ts-on-dark, #F8FAFC) !important;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:nth-child(2) .wp-block-button__link {
  background: var(--ts-blue, #1D4ED8) !important;
  border-color: var(--ts-blue, #1D4ED8) !important;
  color: #fff !important;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:nth-child(2) .wp-block-button__link:hover,
.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:nth-child(2) .wp-block-button__link:focus-visible {
  background: #1e40af !important;
  border-color: #1e40af !important;
  box-shadow: 0 8px 24px rgba(29,78,216,.35);
}

.page-id-332 .ts-content .wp-block-button__link:hover,
.page-id-332 .ts-content .wp-block-button__link:focus-visible {
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(16,185,129,.35);
}

.page-id-332 .ts-content .wp-block-button.is-style-outline .wp-block-button__link:hover,
.page-id-332 .ts-content .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(125,211,252,.72) !important;
  box-shadow: none;
}

@media (max-width: 860px) {
  .page-id-332 .ts-content > .wp-block-group.alignfull {
    padding: 28px 18px !important;
  }

  .page-id-332 .ts-content .wp-block-columns {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .page-id-332 .ts-content .wp-block-buttons {
    flex-direction: column;
  }

  .page-id-332 .ts-content .wp-block-button,
  .page-id-332 .ts-content .wp-block-button__link {
    width: 100%;
  }
}

@media (min-width: 641px) and (max-width: 860px) {
  .page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns,
  .page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column,
  .page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column {
    min-width: 0;
  }

  body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns,
  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column,
  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column {
    min-width: 0 !important;
  }

  .page-id-332 .ts-content > .wp-block-group.alignfull:first-child .wp-block-buttons,
  .page-id-332 .ts-content > .wp-block-group.alignfull:last-child .wp-block-buttons {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
  }

  .page-id-332 .ts-content > .wp-block-group.alignfull:first-child .wp-block-button,
  .page-id-332 .ts-content > .wp-block-group.alignfull:first-child .wp-block-button__link,
  .page-id-332 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button,
  .page-id-332 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button__link {
    width: 100% !important;
    min-width: 0;
  }
}

/* FAQ page: dark theme category navigation, accordions, and support CTA. */
.page-template-template-faq .ts-section {
  background: var(--ts-dark-bg, #0F172A);
}

.page-template-template-faq .ts-faq-cat-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ts-sp-3);
  margin-bottom: var(--ts-sp-10);
}

.page-template-template-faq .ts-faq-cat-tab {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 42px;
  padding: .65rem 1rem;
  border: 1px solid rgba(56,189,248,.22);
  border-radius: 999px;
  background: rgba(26,40,64,.82);
  color: var(--ts-on-dark, #F8FAFC);
  font-family: var(--ts-font-display);
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 10px 28px rgba(0,0,0,.16);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.page-template-template-faq .ts-faq-cat-tab:hover,
.page-template-template-faq .ts-faq-cat-tab:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(56,189,248,.55);
  background: rgba(14,165,233,.16);
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-faq .ts-faq-section {
  scroll-margin-top: 110px;
}

.page-template-template-faq .ts-faq-section-heading {
  color: var(--ts-on-dark, #F8FAFC);
  font-family: var(--ts-font-display);
  font-weight: 800;
  padding-bottom: var(--ts-sp-3);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.page-template-template-faq .ts-accordion-item {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
  border-radius: var(--ts-r-md);
  overflow: hidden;
}

.page-template-template-faq .ts-accordion-trigger {
  padding: var(--ts-sp-5);
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-faq .ts-accordion-trigger:hover {
  background: rgba(255,255,255,.04);
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-faq .ts-accordion-trigger[aria-expanded="true"] {
  background: rgba(59,130,246,.08);
  color: var(--ts-blue-bright);
}

.page-template-template-faq .ts-accordion-content {
  color: var(--ts-on-dark-muted, #9DB0C2);
  border-top-color: rgba(255,255,255,.82);
}

.page-template-template-faq .ts-accordion-content p {
  color: inherit;
  line-height: inherit;
}

.page-template-template-faq .ts-faq-cta-row {
  background: rgba(26,40,64,.92) !important;
  border: 1px solid rgba(56,189,248,.22) !important;
  border-radius: var(--ts-r-xl) !important;
  color: var(--ts-on-dark, #F8FAFC) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.24);
}

.page-template-template-faq .ts-faq-cta-row h3 {
  color: var(--ts-on-dark, #F8FAFC);
  font-family: var(--ts-font-display);
}

.page-template-template-faq .ts-faq-cta-row p {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}

.page-template-template-faq .ts-faq-cta-row .ts-faq-cta-emoji {
  display: inline-block;
  filter: grayscale(1) brightness(0) invert(1);
  line-height: 1;
}

.page-template-template-faq .ts-faq-cta-row .ts-btn--outline {
  border-color: rgba(56,189,248,.35);
  color: var(--ts-on-dark, #F8FAFC);
  background: rgba(255,255,255,.04);
}

.page-template-template-faq .ts-faq-cta-row .ts-btn--outline:hover,
.page-template-template-faq .ts-faq-cta-row .ts-btn--outline:focus-visible {
  background: rgba(14,165,233,.16);
  border-color: rgba(56,189,248,.65);
  color: var(--ts-on-dark, #F8FAFC);
}

@media (max-width: 640px) {
  .page-template-template-faq .ts-faq-cat-nav {
    display: grid;
    grid-template-columns: 1fr;
  }

  .page-template-template-faq .ts-faq-cat-tab {
    justify-content: flex-start;
    width: 100%;
  }

  .page-template-template-faq .ts-faq-cta-row > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .page-template-template-faq .ts-faq-cta-row .ts-btn {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Shared FAQ accordion styling for service and support pages. */
:where(
  .page-template-template-internet #faq,
  .page-template-template-tv .ts-section--tv-faq,
  .page-template-template-phone #faq,
  .page-template-template-about #faqs,
  .page-template-template-service-area section[aria-labelledby="area-faq-heading"],
  .page-template-template-support,
  .page-template-template-contact
) .ts-accordion {
  width: 100%;
  max-width: none;
  gap: var(--ts-sp-2);
}

:where(
  .page-template-template-internet #faq,
  .page-template-template-tv .ts-section--tv-faq,
  .page-template-template-phone #faq,
  .page-template-template-about #faqs,
  .page-template-template-service-area section[aria-labelledby="area-faq-heading"],
  .page-template-template-contact section[aria-labelledby="contact-faq-heading"]
) .ts-container--sm {
  max-width: var(--ts-container, 1200px);
}

:where(
  .page-template-template-internet #faq,
  .page-template-template-tv .ts-section--tv-faq,
  .page-template-template-phone #faq,
  .page-template-template-about #faqs,
  .page-template-template-service-area section[aria-labelledby="area-faq-heading"],
  .page-template-template-support,
  .page-template-template-contact
) .ts-accordion-item {
  width: 100%;
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-md);
  overflow: hidden;
  box-shadow: none;
}

:where(
  .page-template-template-internet #faq,
  .page-template-template-tv .ts-section--tv-faq,
  .page-template-template-phone #faq,
  .page-template-template-about #faqs,
  .page-template-template-service-area section[aria-labelledby="area-faq-heading"],
  .page-template-template-support,
  .page-template-template-contact
) .ts-accordion-trigger {
  width: 100%;
  min-height: 0;
  padding: var(--ts-sp-5);
  color: var(--ts-on-dark, #F8FAFC);
}

:where(
  .page-template-template-internet #faq,
  .page-template-template-tv .ts-section--tv-faq,
  .page-template-template-phone #faq,
  .page-template-template-about #faqs,
  .page-template-template-service-area section[aria-labelledby="area-faq-heading"],
  .page-template-template-support,
  .page-template-template-contact
) .ts-accordion-trigger:hover {
  background: rgba(255,255,255,.04);
  color: var(--ts-on-dark, #F8FAFC);
}

:where(
  .page-template-template-internet #faq,
  .page-template-template-tv .ts-section--tv-faq,
  .page-template-template-phone #faq,
  .page-template-template-about #faqs,
  .page-template-template-service-area section[aria-labelledby="area-faq-heading"],
  .page-template-template-support,
  .page-template-template-contact
) .ts-accordion-trigger[aria-expanded="true"] {
  background: rgba(59,130,246,.08);
  color: var(--ts-blue-bright) !important;
}

:where(
  .page-template-template-internet #faq,
  .page-template-template-tv .ts-section--tv-faq,
  .page-template-template-phone #faq,
  .page-template-template-about #faqs,
  .page-template-template-service-area section[aria-labelledby="area-faq-heading"],
  .page-template-template-support,
  .page-template-template-contact
) .ts-accordion-icon {
  color: rgba(255,255,255,.35);
}

:where(
  .page-template-template-internet #faq,
  .page-template-template-tv .ts-section--tv-faq,
  .page-template-template-phone #faq,
  .page-template-template-about #faqs,
  .page-template-template-service-area section[aria-labelledby="area-faq-heading"],
  .page-template-template-support,
  .page-template-template-contact
) .ts-accordion-content {
  color: var(--ts-on-dark-muted, #9DB0C2);
  border-top-color: rgba(255,255,255,.82);
}

:where(
  .page-template-template-internet #faq,
  .page-template-template-tv .ts-section--tv-faq,
  .page-template-template-phone #faq,
  .page-template-template-about #faqs,
  .page-template-template-service-area section[aria-labelledby="area-faq-heading"],
  .page-template-template-support,
  .page-template-template-contact
) .ts-accordion-content p {
  color: var(--ts-on-dark-muted, #9DB0C2) !important;
  line-height: inherit;
}

.page-template-template-support section[aria-labelledby="support-checklist-heading"] .ts-container--md {
  max-width: var(--ts-container, 1200px);
}

.page-template-template-support section[aria-labelledby="support-checklist-heading"] .ts-accordion-item {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
}

.page-template-template-support section[aria-labelledby="support-checklist-heading"] .ts-accordion-trigger:hover {
  background: rgba(255,255,255,.04);
  color: var(--ts-on-dark, #F8FAFC) !important;
}

.page-template-template-support section[aria-labelledby="support-checklist-heading"] .ts-accordion-trigger[aria-expanded="true"] {
  background: rgba(59,130,246,.08);
  color: var(--ts-blue-bright) !important;
}

/* Speed Test page: full-width dark panels and balanced spacing. */
.page-template-template-speedtest .ts-page-hero--speedtest {
  padding-block: var(--ts-sp-12) var(--ts-sp-10);
}

.page-template-template-speedtest .ts-page-hero--speedtest .ts-container {
  max-width: var(--ts-container, 1200px);
  display: block;
  text-align: left;
}

.page-template-template-speedtest .ts-page-hero--speedtest h1 {
  max-width: none;
  margin-bottom: var(--ts-sp-4);
  line-height: 1.05;
}

.page-template-template-speedtest .ts-page-hero--speedtest .ts-page-hero-sub {
  max-width: none;
  margin-bottom: 0;
  color: rgba(255,255,255,.65);
  line-height: 1.7;
}

.page-template-template-speedtest .ts-page-hero--speedtest .ts-hero-actions {
  gap: var(--ts-sp-3);
  justify-content: flex-start;
  margin-bottom: var(--ts-sp-6);
}

.page-template-template-speedtest .ts-page-hero--speedtest .ts-hero-actions .ts-btn {
  min-width: 0;
  justify-content: center;
}

.page-template-template-speedtest .ts-section > .ts-container {
  max-width: var(--ts-container, 1200px);
}

.page-template-template-speedtest .ts-section-header {
  max-width: 100%;
  width: 100%;
  margin: 0 auto clamp(2.5rem, 5vw, 4rem);
  text-align: center;
}

.page-template-template-speedtest .ts-section-header h2 {
  max-width: 100%;
  margin-inline: auto;
  line-height: 1.08;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.page-template-template-speedtest .ts-section-sub {
  max-width: 100%;
  margin-inline: auto;
  margin-bottom: 0;
  color: var(--ts-on-dark-muted, #D7E3F2);
  line-height: 1.65;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.page-template-template-speedtest .ts-speedtest-launch-card,
.page-template-template-speedtest .ts-speedtest-app-card {
  background: rgba(26,40,64,.92);
  border: 1px solid rgba(56,189,248,.18);
  border-radius: var(--ts-r-xl);
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-speedtest .ts-speedtest-launch-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--ts-sp-5);
  align-items: center;
  width: 100%;
  padding: var(--ts-sp-8);
}

.page-template-template-speedtest .ts-speedtest-icon,
.page-template-template-speedtest .ts-speedtest-app-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(14,165,233,.16);
  border: 1px solid rgba(56,189,248,.25);
  color: #7DD3FC;
  font-size: 1.5rem;
  flex: 0 0 auto;
}

.page-template-template-speedtest .ts-speedtest-launch-card h3,
.page-template-template-speedtest .ts-speedtest-app-card h3 {
  color: var(--ts-on-dark, #F8FAFC);
  font-family: var(--ts-font-display);
  margin-bottom: var(--ts-sp-2);
}

.page-template-template-speedtest .ts-speedtest-launch-card p,
.page-template-template-speedtest .ts-speedtest-app-card p {
  color: var(--ts-on-dark-muted, #D7E3F2);
  line-height: 1.7;
}

.page-template-template-speedtest .ts-speedtest-launch-card > p:not(.ts-speedtest-launch-note) {
  margin: 0;
}

.page-template-template-speedtest .ts-speedtest-launch-note {
  grid-column: 2 / -1;
  margin: calc(var(--ts-sp-3) * -1) 0 0;
  font-size: .8125rem;
}

.page-template-template-speedtest .ts-speedtest-launch-card {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}

.page-template-template-speedtest .ts-speedtest-launch-card .ts-speedtest-icon {
  grid-column: 1;
  grid-row: 1 / 5;
}

.page-template-template-speedtest .ts-speedtest-launch-card h3,
.page-template-template-speedtest .ts-speedtest-launch-card > p:not(.ts-speedtest-launch-note),
.page-template-template-speedtest .ts-speedtest-launch-note,
.page-template-template-speedtest .ts-speedtest-launch-card > .ts-btn {
  grid-column: 2;
}

.page-template-template-speedtest .ts-speedtest-launch-card h3 {
  grid-row: 1;
}

.page-template-template-speedtest .ts-speedtest-launch-card > p:not(.ts-speedtest-launch-note) {
  grid-row: 2;
}

.page-template-template-speedtest .ts-speedtest-launch-note {
  grid-row: 3;
  margin: 0;
}

.page-template-template-speedtest .ts-speedtest-launch-card > .ts-btn {
  grid-row: 4;
  justify-self: center;
  margin-top: var(--ts-sp-3);
  height: 50px;
  padding: 0 var(--ts-sp-6);
  font-size: .9375rem;
}

.page-template-template-speedtest .ts-speedtest-app-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ts-sp-6);
}

.page-template-template-speedtest .ts-speedtest-app-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--ts-sp-4);
  align-items: start;
  padding: var(--ts-sp-7);
}

.page-template-template-speedtest .ts-speedtest-app-card .ts-btn {
  grid-column: 2;
  justify-self: start;
  margin-top: var(--ts-sp-2);
}

.page-template-template-speedtest section[aria-labelledby="results-heading"] .ts-accordion {
  width: 100%;
  max-width: none;
  gap: var(--ts-sp-3);
}

.page-template-template-speedtest section[aria-labelledby="results-heading"] .ts-accordion-item {
  background: rgba(26,40,64,.86);
  border: 1px solid rgba(56,189,248,.18);
  border-radius: var(--ts-r-lg);
  overflow: hidden;
}

.page-template-template-speedtest section[aria-labelledby="results-heading"] .ts-accordion-trigger {
  min-height: 60px;
  padding: var(--ts-sp-4) var(--ts-sp-5);
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-speedtest section[aria-labelledby="results-heading"] .ts-accordion-trigger:hover,
.page-template-template-speedtest section[aria-labelledby="results-heading"] .ts-accordion-trigger[aria-expanded="true"] {
  background: rgba(14,165,233,.14);
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-speedtest section[aria-labelledby="results-heading"] .ts-accordion-content,
.page-template-template-speedtest section[aria-labelledby="results-heading"] .ts-accordion-content p {
  color: var(--ts-on-dark-muted, #D7E3F2);
}

.page-template-template-speedtest section[aria-labelledby="speed-support-heading"] .ts-features-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ts-sp-5);
  align-items: stretch;
}

.page-template-template-speedtest section[aria-labelledby="speed-support-heading"] .ts-feature-card {
  min-height: 100%;
  padding: var(--ts-sp-5);
}

.page-template-template-speedtest section[aria-labelledby="speed-support-heading"] .ts-feature-desc {
  font-size: .875rem;
}

.page-template-template-speedtest section[aria-labelledby="speed-support-heading"] .ts-text-link {
  align-self: flex-start;
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-speedtest section[aria-labelledby="speedtest-tips-heading"] .ts-features-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4);
    align-items: stretch;
  }

  .page-template-template-speedtest section[aria-labelledby="speedtest-tips-heading"] .ts-feature-card {
    min-width: 0;
    min-height: 100%;
    padding: var(--ts-sp-5);
  }

  .page-template-template-speedtest section[aria-labelledby="speedtest-tips-heading"] .ts-feature-title {
    font-size: .95rem;
    line-height: 1.25;
  }

  .page-template-template-speedtest section[aria-labelledby="speedtest-tips-heading"] .ts-feature-desc {
    font-size: .8rem;
    line-height: 1.5;
  }
}

@media (max-width: 640px) {
  .page-template-template-speedtest section[aria-labelledby="speed-support-heading"] .ts-features-grid--3 {
    grid-template-columns: 1fr;
  }
}

/* Remote Support page: standard dark-theme block styling aligned with Refer-a-Friend. */
.page-id-120 .ts-section > .ts-container,
.page-id-120 .ts-content {
  max-width: var(--ts-container, 1200px);
}

.page-id-120 .ts-content {
  margin: 0 auto;
  padding: 0;
  color: var(--ts-on-dark-muted, #D7E3F2);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.page-id-120 .ts-content > .wp-block-group.alignfull {
  width: 100%;
  margin: 0 0 var(--ts-sp-6);
  padding: var(--ts-sp-7) var(--ts-sp-6) !important;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-lg);
  background: var(--ts-dark-card, #151F32) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  overflow: hidden;
}

.page-id-120 .ts-content > .wp-block-group.alignfull:first-child {
  background: transparent !important;
  border: 0;
  box-shadow: none;
  text-align: center;
}

.page-id-120 .ts-content > .wp-block-group.alignfull:nth-of-type(2) {
  background: transparent !important;
  border: 0;
  box-shadow: none;
}

.page-id-120 .ts-content > .wp-block-group.alignfull:last-child {
  display: grid;
  justify-items: center;
  margin-top: clamp(28px, 4vw, 56px) !important;
  padding: 32px 24px 36px !important;
  text-align: center;
}

.page-id-120 .ts-content > .wp-block-group.alignfull:last-child .wp-block-group__inner-container {
  display: grid;
  justify-items: center;
  gap: var(--ts-sp-4);
  width: 100%;
  padding: 0 !important;
}

.page-id-120 .ts-content > .wp-block-group.alignfull:last-child h2,
.page-id-120 .ts-content > .wp-block-group.alignfull:last-child p,
.page-id-120 .ts-content > .wp-block-group.alignfull:last-child .wp-block-buttons {
  margin: 0 !important;
}

.page-id-120 .ts-content h1,
.page-id-120 .ts-content h2,
.page-id-120 .ts-content h3,
.page-id-120 .ts-content strong {
  color: var(--ts-on-dark, #F8FAFC) !important;
  font-family: var(--ts-font-display);
}

.page-id-120 .ts-content h1 {
  max-width: 760px;
  margin: 0 auto var(--ts-sp-3);
  font-size: clamp(2rem, 4vw, 2.75rem);
  line-height: 1.08;
}

.page-id-120 .ts-content h2 {
  margin: 0 0 var(--ts-sp-5);
  text-align: center;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: 1.12;
}

.page-id-120 .ts-content h3 {
  margin: 0 0 var(--ts-sp-3);
  font-size: 1.1rem;
  line-height: 1.25;
}

.page-id-120 .ts-content p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  line-height: 1.75;
}

.page-id-120 .ts-content > .wp-block-group.alignfull:first-child p,
.page-id-120 .ts-content > .wp-block-group.alignfull:last-child p {
  width: 100%;
  max-width: none;
  margin: 0;
  text-align: center;
}

.page-id-120 .ts-content .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ts-sp-4);
  margin: var(--ts-sp-6) 0 0 !important;
}

.page-id-120 .ts-content .wp-block-column {
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-3);
  min-height: 216px;
  padding: var(--ts-sp-6) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: var(--ts-r-lg) !important;
  background: rgba(255,255,255,.04) !important;
}

.page-id-120 .ts-content .wp-block-column h1,
.page-id-120 .ts-content .wp-block-column h2,
.page-id-120 .ts-content .wp-block-column h3,
.page-id-120 .ts-content .wp-block-column h4,
.page-id-120 .ts-content .wp-block-column p,
.page-id-120 .ts-content .wp-block-column strong {
  color: var(--ts-on-dark, #F8FAFC) !important;
}

.page-id-120 .ts-content .wp-block-column p:not(:first-child) {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}

.page-id-120 .ts-content .wp-block-column > p:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin: 0 0 var(--ts-sp-4);
  border-radius: var(--ts-r-lg);
  background: rgba(14,165,233,.14);
  border: 1px solid rgba(125,211,252,.28);
  color: #7DD3FC !important;
  font-family: var(--ts-font-display);
  font-weight: 900;
  font-size: 1.25rem;
}

.page-id-120 .ts-content .wp-block-column > * {
  margin-top: 0;
  margin-bottom: 0;
}

.page-id-120 .ts-content .wp-block-group.alignfull:nth-of-type(2) > p:last-child {
  max-width: none;
  width: 100%;
  margin: var(--ts-sp-6) 0 0;
  padding: var(--ts-sp-5) var(--ts-sp-6);
  border: 1px solid rgba(125,211,252,.24);
  border-radius: var(--ts-r-md);
  background: rgba(255,255,255,.04);
  text-align: left;
}

.page-id-120 .ts-content .wp-block-group.alignfull:nth-of-type(2) .wp-block-group__inner-container > p:last-child {
  max-width: none;
  width: 100%;
  margin: var(--ts-sp-6) 0 32px;
  padding: 22px 24px;
  border: 1px solid rgba(125,211,252,.24);
  border-radius: var(--ts-r-md);
  background: rgba(255,255,255,.04);
  text-align: left !important;
}

.page-id-120 .ts-content .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  height: 50px;
  padding: 0 var(--ts-sp-6) !important;
  border-radius: var(--ts-r-md) !important;
  background: var(--ts-green, #10B981) !important;
  border: 2px solid var(--ts-green, #10B981) !important;
  color: #fff !important;
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: none;
  transition: background var(--ts-ease), color var(--ts-ease), transform var(--ts-ease), box-shadow var(--ts-ease), border-color var(--ts-ease);
}

.page-id-120 .ts-content .wp-block-button__link:hover,
.page-id-120 .ts-content .wp-block-button__link:focus-visible {
  background: var(--ts-green, #10B981) !important;
  border-color: var(--ts-green, #10B981) !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(16,185,129,.35);
  transform: translateY(-1px);
}

.page-id-120 .ts-content .wp-block-button__link:active {
  transform: translateY(0);
}

/* Support page block-editor version: match Remote Support dark block styling. */
.page-id-95 .ts-content,
.page-id-95 .entry-content {
  max-width: var(--ts-container, 1200px);
  margin: 0 auto;
  padding: 0;
  background: transparent;
  color: var(--ts-on-dark-muted, #D7E3F2);
}

.page-id-95 .ts-content > .wp-block-group.alignfull,
.page-id-95 .entry-content > .wp-block-group.alignfull {
  width: 100%;
  margin: 0 0 var(--ts-sp-6);
  padding: var(--ts-sp-7) var(--ts-sp-6) !important;
  border: 0 !important;
  border-radius: var(--ts-r-lg);
  background: transparent !important;
  box-shadow: none;
  overflow: hidden;
}

.page-id-95 .ts-content > .wp-block-group.alignfull:first-child,
.page-id-95 .entry-content > .wp-block-group.alignfull:first-child {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none;
  text-align: center;
}

.page-id-95 .ts-content > .wp-block-group.alignfull:nth-of-type(2),
.page-id-95 .entry-content > .wp-block-group.alignfull:nth-of-type(2) {
  background: transparent !important;
}

.page-id-95 .ts-content h1,
.page-id-95 .ts-content h2,
.page-id-95 .ts-content h3,
.page-id-95 .entry-content h1,
.page-id-95 .entry-content h2,
.page-id-95 .entry-content h3 {
  color: var(--ts-on-dark, #F8FAFC) !important;
  font-family: var(--ts-font-display);
}

.page-id-95 .ts-content h1,
.page-id-95 .entry-content h1 {
  max-width: 760px;
  margin: 0 auto var(--ts-sp-3);
  font-size: clamp(2rem, 4vw, 2.75rem) !important;
  line-height: 1.08;
}

.page-id-95 .ts-content h2,
.page-id-95 .entry-content h2 {
  margin: 0 0 var(--ts-sp-5);
  text-align: center;
  font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
  line-height: 1.12;
}

.page-id-95 .ts-content p,
.page-id-95 .entry-content p {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  line-height: 1.75;
}

.page-id-95 .ts-content > .wp-block-group.alignfull:first-child p,
.page-id-95 .entry-content > .wp-block-group.alignfull:first-child p {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}

.page-id-95 .ts-content .wp-block-columns,
.page-id-95 .entry-content .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ts-sp-4) !important;
  margin: var(--ts-sp-6) 0 0 !important;
}

.page-id-95 .ts-content .wp-block-column,
.page-id-95 .entry-content .wp-block-column {
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-3);
  min-height: 216px;
  padding: var(--ts-sp-6) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-left: 3px solid var(--ts-blue-bright, #3B82F6) !important;
  border-radius: var(--ts-r-lg) !important;
  background: rgba(255,255,255,.04) !important;
  box-shadow: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.page-id-95 .ts-content .wp-block-column:nth-child(2),
.page-id-95 .entry-content .wp-block-column:nth-child(2) {
  border-left-color: var(--ts-green, #10B981) !important;
}

.page-id-95 .ts-content .wp-block-column:nth-child(3),
.page-id-95 .entry-content .wp-block-column:nth-child(3) {
  border-left-color: var(--ts-cyan, #00B4FF) !important;
}

.page-id-95 .ts-content .wp-block-column:hover,
.page-id-95 .entry-content .wp-block-column:hover {
  transform: translateY(-2px);
  background: rgba(26,40,64,.92) !important;
  border-top-color: rgba(255,255,255,.08) !important;
  border-right-color: rgba(255,255,255,.08) !important;
  border-bottom-color: rgba(255,255,255,.08) !important;
}

.page-id-95 .ts-content .wp-block-column > *,
.page-id-95 .entry-content .wp-block-column > * {
  margin-top: 0;
  margin-bottom: 0;
}

.page-id-95 .ts-content .wp-block-column h3,
.page-id-95 .entry-content .wp-block-column h3 {
  font-size: 1.1rem !important;
}

.page-id-95 .ts-content .wp-block-column p:last-child,
.page-id-95 .entry-content .wp-block-column p:last-child {
  color: #7DD3FC !important;
}

.page-id-95 .ts-content .wp-block-button__link,
.page-id-95 .entry-content .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  height: 50px;
  padding: 0 var(--ts-sp-6) !important;
  border: 2px solid var(--ts-green, #10B981) !important;
  border-radius: var(--ts-r-md) !important;
  background: var(--ts-green, #10B981) !important;
  color: #fff !important;
  font-family: var(--ts-font-display);
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: none;
  transition: transform var(--ts-ease), box-shadow var(--ts-ease);
}

.page-id-95 .ts-content .wp-block-column:nth-child(1) .wp-block-button__link,
.page-id-95 .entry-content .wp-block-column:nth-child(1) .wp-block-button__link {
  background: var(--ts-blue-bright, #3B82F6) !important;
  border-color: var(--ts-blue-bright, #3B82F6) !important;
}

.page-id-95 .ts-content .wp-block-column:nth-child(2) .wp-block-button__link,
.page-id-95 .entry-content .wp-block-column:nth-child(2) .wp-block-button__link {
  background: var(--ts-green, #10B981) !important;
  border-color: var(--ts-green, #10B981) !important;
}

.page-id-95 .ts-content .wp-block-column:nth-child(3) .wp-block-button__link,
.page-id-95 .entry-content .wp-block-column:nth-child(3) .wp-block-button__link {
  background: var(--ts-cyan, #00B4FF) !important;
  border-color: var(--ts-cyan, #00B4FF) !important;
}

.page-id-95 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button:nth-child(1) .wp-block-button__link,
.page-id-95 .entry-content > .wp-block-group.alignfull:last-child .wp-block-button:nth-child(1) .wp-block-button__link {
  background: transparent !important;
  border-color: rgba(255,255,255,.62) !important;
}

.page-id-95 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button:nth-child(2) .wp-block-button__link,
.page-id-95 .entry-content > .wp-block-group.alignfull:last-child .wp-block-button:nth-child(2) .wp-block-button__link {
  background: transparent !important;
  border-color: rgba(255,255,255,.62) !important;
}

.page-id-95 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button:nth-child(3) .wp-block-button__link,
.page-id-95 .entry-content > .wp-block-group.alignfull:last-child .wp-block-button:nth-child(3) .wp-block-button__link {
  background: transparent !important;
  border-color: rgba(255,255,255,.62) !important;
}

.page-id-95 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button:nth-child(4) .wp-block-button__link,
.page-id-95 .entry-content > .wp-block-group.alignfull:last-child .wp-block-button:nth-child(4) .wp-block-button__link {
  background: transparent !important;
  border-color: rgba(255,255,255,.62) !important;
}

.page-id-95 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button__link:hover,
.page-id-95 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button__link:focus-visible,
.page-id-95 .entry-content > .wp-block-group.alignfull:last-child .wp-block-button__link:hover,
.page-id-95 .entry-content > .wp-block-group.alignfull:last-child .wp-block-button__link:focus-visible {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.9) !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

.page-id-95 .ts-content .wp-block-button__link:hover,
.page-id-95 .ts-content .wp-block-button__link:focus-visible,
.page-id-95 .entry-content .wp-block-button__link:hover,
.page-id-95 .entry-content .wp-block-button__link:focus-visible {
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(16,185,129,.35);
  transform: translateY(-1px);
}

.page-id-95 .ts-content .wp-block-column .wp-block-button__link,
.page-id-95 .entry-content .wp-block-column .wp-block-button__link {
  justify-content: flex-start;
  min-height: 0;
  height: auto;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  color: var(--ts-on-dark, #F8FAFC) !important;
  box-shadow: none;
  cursor: pointer;
  outline: 0 !important;
  text-align: left;
  transform: none;
}

.page-id-95 .ts-content .wp-block-column .wp-block-button__link::after,
.page-id-95 .entry-content .wp-block-column .wp-block-button__link::after {
  content: '\2192';
  display: inline-block;
  margin-left: 6px;
  transition: transform var(--ts-ease);
}

.page-id-95 .ts-content .wp-block-column .wp-block-button__link:hover,
.page-id-95 .ts-content .wp-block-column .wp-block-button__link:focus-visible,
.page-id-95 .entry-content .wp-block-column .wp-block-button__link:hover,
.page-id-95 .entry-content .wp-block-column .wp-block-button__link:focus-visible {
  background: transparent !important;
  border: 0 !important;
  border-color: transparent !important;
  color: var(--ts-blue-bright, #3B82F6) !important;
  box-shadow: none;
  cursor: pointer;
  outline: 0 !important;
  transform: none;
}

.page-id-95 .ts-content .wp-block-column .wp-block-button__link:hover::after,
.page-id-95 .ts-content .wp-block-column .wp-block-button__link:focus-visible::after,
.page-id-95 .ts-content .wp-block-column:hover .wp-block-button__link::after,
.page-id-95 .entry-content .wp-block-column .wp-block-button__link:hover::after,
.page-id-95 .entry-content .wp-block-column .wp-block-button__link:focus-visible::after,
.page-id-95 .entry-content .wp-block-column:hover .wp-block-button__link::after {
  transform: none;
}

.page-id-95 .ts-content .wp-block-column .wp-block-buttons,
.page-id-95 .entry-content .wp-block-column .wp-block-buttons {
  justify-content: flex-start;
  text-align: left;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column {
  text-align: left !important;
}

body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column h3,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column p,
body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column h3,
body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column p {
  text-align: left !important;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column .wp-block-buttons {
  display: flex !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column .wp-block-buttons {
  display: flex !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column .wp-block-button__link,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column .wp-block-button__link {
  justify-content: flex-start !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ts-on-dark, #F8FAFC) !important;
  cursor: pointer !important;
  box-shadow: none !important;
  outline: 0 !important;
  text-align: left !important;
  transform: none !important;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column .wp-block-button__link:hover,
body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column .wp-block-button__link:focus-visible,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column .wp-block-button__link:hover,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column .wp-block-button__link:focus-visible {
  border: 0 !important;
  background: transparent !important;
  color: var(--ts-on-dark, #F8FAFC) !important;
  cursor: pointer !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--ts-sp-5) !important;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: var(--ts-sp-2) !important;
  padding: var(--ts-sp-6) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-left: 3px solid var(--ts-blue-bright, #3B82F6) !important;
  border-radius: 12px !important;
  background: var(--ts-dark-card, #151F32) !important;
  box-shadow: none !important;
  color: inherit !important;
  cursor: pointer;
  text-align: left !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column:nth-child(2),
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column:nth-child(2) {
  border-left-color: var(--ts-green, #10B981) !important;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column:nth-child(3),
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column:nth-child(3) {
  border-left-color: var(--ts-teal, #14B8A6) !important;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column:hover,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column:hover {
  transform: translateY(-2px) !important;
  background: var(--ts-dark-card, #151F32) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.3) !important;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column h3,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column h3 {
  margin: 0 !important;
  color: var(--ts-on-dark, #F0F4F8) !important;
  font-family: var(--ts-font-display);
  font-size: 1.0625rem !important;
  font-weight: 700;
  line-height: 1.35;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column p,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column p {
  margin: 0 !important;
  color: var(--ts-on-dark-muted, #9DB0C2) !important;
  font-size: 0.9rem !important;
  line-height: 1.65;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column .wp-block-buttons,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column .wp-block-buttons {
  margin-top: auto !important;
  padding-top: var(--ts-sp-3) !important;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column .wp-block-button__link,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column .wp-block-button__link {
  color: var(--ts-blue-bright, #3B82F6) !important;
  cursor: pointer !important;
  font-family: var(--ts-font-display);
  font-size: 0.8125rem !important;
  font-weight: 700;
}

body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column .wp-block-button__link:hover,
body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column .wp-block-button__link:focus-visible,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column .wp-block-button__link:hover,
body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column .wp-block-button__link:focus-visible {
  color: var(--ts-blue-bright, #3B82F6) !important;
}

.page-id-95 .ts-content > .wp-block-group.alignfull:last-child,
.page-id-95 .entry-content > .wp-block-group.alignfull:last-child {
  text-align: center;
  margin-top: clamp(56px, 6vw, 88px) !important;
}

.page-id-95 .ts-content > .wp-block-group.alignfull:last-child .wp-block-buttons,
.page-id-95 .entry-content > .wp-block-group.alignfull:last-child .wp-block-buttons {
  justify-content: center;
}

.page-id-95 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button__link,
.page-id-95 .entry-content > .wp-block-group.alignfull:last-child .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--ts-sp-2) !important;
  min-width: 178px !important;
  height: 50px !important;
  min-height: 50px !important;
  padding: 0 var(--ts-sp-6) !important;
  border: 2px solid rgba(255,255,255,.5) !important;
  border-radius: var(--ts-r-md) !important;
  background: transparent !important;
  color: #fff !important;
  font-family: var(--ts-font-display);
  font-size: 0.9375rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background var(--ts-ease), color var(--ts-ease), transform var(--ts-ease), box-shadow var(--ts-ease), border-color var(--ts-ease) !important;
}

.page-id-95 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button__link:hover,
.page-id-95 .ts-content > .wp-block-group.alignfull:last-child .wp-block-button__link:focus-visible,
.page-id-95 .entry-content > .wp-block-group.alignfull:last-child .wp-block-button__link:hover,
.page-id-95 .entry-content > .wp-block-group.alignfull:last-child .wp-block-button__link:focus-visible {
  background: rgba(255,255,255,.12) !important;
  background-color: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.9) !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

body.page-id-95 main#ts-main-content .ts-content > .wp-block-group.alignfull:last-child .wp-block-button__link:hover,
body.page-id-95 main#ts-main-content .ts-content > .wp-block-group.alignfull:last-child .wp-block-button__link:focus-visible,
body.page-id-95 main#ts-main-content .entry-content > .wp-block-group.alignfull:last-child .wp-block-button__link:hover,
body.page-id-95 main#ts-main-content .entry-content > .wp-block-group.alignfull:last-child .wp-block-button__link:focus-visible {
  background: rgba(255,255,255,.12) !important;
  background-color: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.9) !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 860px) {
  .page-id-120 .ts-content {
    padding: 0;
  }

  .page-id-120 .ts-content > .wp-block-group.alignfull {
    padding: var(--ts-sp-6) var(--ts-sp-4) !important;
  }

  .page-id-95 .ts-content > .wp-block-group.alignfull,
  .page-id-95 .entry-content > .wp-block-group.alignfull {
    padding: var(--ts-sp-6) var(--ts-sp-4) !important;
  }

  .page-id-95 .ts-content .wp-block-columns,
  .page-id-95 .entry-content .wp-block-columns {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  body.page-id-95 main#ts-main-content .ts-content .wp-block-columns,
  body.page-id-95 main#ts-main-content .entry-content .wp-block-columns {
    grid-template-columns: 1fr !important;
    max-width: 760px;
    margin-inline: auto !important;
  }

  body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column,
  body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column {
    width: 100% !important;
    min-height: auto !important;
  }
}

@media (max-width: 640px) {
  body.page-id-95 main#ts-main-content .ts-content .wp-block-columns,
  body.page-id-95 main#ts-main-content .entry-content .wp-block-columns {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    gap: var(--ts-sp-4) !important;
  }

  body.page-id-95 main#ts-main-content .ts-content .wp-block-columns .wp-block-column,
  body.page-id-95 main#ts-main-content .entry-content .wp-block-columns .wp-block-column {
    width: 100% !important;
    min-width: 0 !important;
    min-height: auto !important;
  }
}

@media (min-width: 641px) and (max-width: 860px) {
  .page-id-120 .ts-content .wp-block-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ts-sp-3);
  }

  .page-id-120 .ts-content .wp-block-column {
    min-height: 100%;
    padding: var(--ts-sp-5) !important;
  }

  .page-id-120 .ts-content .wp-block-column h3 {
    font-size: .98rem;
  }

  .page-id-120 .ts-content .wp-block-column p:not(:first-child) {
    font-size: .82rem;
    line-height: 1.55;
  }
}

@media (max-width: 640px) {
  .page-id-120 .ts-content .wp-block-columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .page-template-template-speedtest .ts-speedtest-launch-card,
  .page-template-template-speedtest .ts-speedtest-app-card {
    grid-template-columns: 1fr;
  }

  .page-template-template-speedtest .ts-speedtest-launch-note,
  .page-template-template-speedtest .ts-speedtest-app-card .ts-btn {
    grid-column: auto;
  }
}

@media (min-width: 641px) and (max-width: 860px) {
  .page-template-template-speedtest .ts-speedtest-app-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ts-sp-5);
  }
}

@media (max-width: 640px) {
  .page-template-template-speedtest .ts-speedtest-app-grid {
    grid-template-columns: 1fr;
  }
}

/* Coverage Map page: dark theme layout, map sizing, and readable controls. */
.ts-coverage-map-updated-page .ts-coverage-container {
  max-width: var(--ts-container, 1200px);
}

.ts-coverage-map-updated-page .ts-coverage-search-wrap,
.ts-coverage-map-updated-page .ts-coverage-legend,
.ts-coverage-map-updated-page .ts-coverage-map-wrap {
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-xl);
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
}

.ts-coverage-map-updated-page .ts-coverage-search-wrap {
  margin-bottom: var(--ts-sp-6);
  padding: var(--ts-sp-6);
}

.ts-coverage-map-updated-page .ts-coverage-search-inner {
  display: grid;
  gap: var(--ts-sp-3);
}

.ts-coverage-map-updated-page .ts-coverage-search-label,
.ts-coverage-map-updated-page .ts-coverage-legend h3,
.ts-coverage-map-updated-page .ts-legend-item strong {
  color: var(--ts-on-dark, #F8FAFC) !important;
  font-family: var(--ts-font-display);
  font-weight: 800;
}

.ts-coverage-map-updated-page .ts-coverage-search-label {
  font-size: 1rem;
}

.ts-coverage-map-updated-page .ts-coverage-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--ts-sp-3);
}

.ts-coverage-map-updated-page .ts-coverage-addr-input {
  width: 100%;
  height: 50px;
  padding: 0 var(--ts-sp-4);
  background: rgba(255,255,255,.06);
  border: 1.5px solid rgba(255,255,255,.14);
  border-radius: var(--ts-r-md);
  color: var(--ts-on-dark, #F8FAFC);
  font-family: var(--ts-font-body);
  font-size: .9375rem;
  outline: none;
}

.ts-coverage-map-updated-page .ts-coverage-addr-input::placeholder {
  color: rgba(215,227,242,.5);
}

.ts-coverage-map-updated-page .ts-coverage-addr-input:focus {
  border-color: var(--ts-blue-bright, #3B82F6);
  box-shadow: 0 0 0 3px rgba(59,130,246,.2);
}

.ts-coverage-map-updated-page .ts-coverage-search-hint,
.ts-coverage-map-updated-page .ts-legend-item p,
.ts-coverage-map-updated-page .ts-legend-disclaimer,
.ts-coverage-map-updated-page .ts-feature-card-list li {
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}

.ts-coverage-map-updated-page .ts-coverage-result-bar {
  padding: var(--ts-sp-3) var(--ts-sp-4);
  border-radius: var(--ts-r-md);
  background: rgba(14,165,233,.12);
  color: var(--ts-on-dark, #F8FAFC);
}

.ts-coverage-map-updated-page .ts-coverage-layout {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  gap: var(--ts-sp-6);
  align-items: stretch;
}

.ts-coverage-map-updated-page .ts-coverage-legend {
  padding: var(--ts-sp-6);
}

.ts-coverage-map-updated-page .ts-coverage-legend h3 {
  margin-bottom: var(--ts-sp-5);
}

.ts-coverage-map-updated-page .ts-legend-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--ts-sp-3);
  padding: var(--ts-sp-4) 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.ts-coverage-map-updated-page .ts-legend-item:first-of-type {
  padding-top: 0;
}

.ts-coverage-map-updated-page .ts-legend-item--note {
  border-bottom: 0;
}

.ts-coverage-map-updated-page .ts-legend-swatch {
  width: 16px;
  height: 16px;
  margin-top: .25rem;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.55);
  box-shadow: 0 0 0 4px rgba(255,255,255,.04);
}

.ts-coverage-map-updated-page .ts-legend-swatch--fibre { background: #7C3AED; }
.ts-coverage-map-updated-page .ts-legend-swatch--cable { background: #1D4ED8; }
.ts-coverage-map-updated-page .ts-legend-swatch--rural { background: #10B981; }
.ts-coverage-map-updated-page .ts-legend-swatch--marker { background: #F59E0B; }

.ts-coverage-map-updated-page .ts-legend-cta {
  margin-top: var(--ts-sp-5);
}

.ts-coverage-map-updated-page .ts-legend-disclaimer {
  margin-top: var(--ts-sp-5);
  padding-top: var(--ts-sp-4);
  border-top: 1px dashed rgba(255,255,255,.16);
  font-size: .8125rem;
  line-height: 1.6;
}

.ts-coverage-map-updated-page .ts-coverage-map-wrap {
  position: relative;
  min-height: 560px;
  overflow: hidden;
}

.ts-coverage-map-updated-page .ts-coverage-map {
  width: 100%;
  height: 560px;
  min-height: 560px;
  background: var(--ts-dark-surface, #111B2E);
}

.ts-coverage-map-updated-page .ts-map-loader {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--ts-sp-3);
  color: var(--ts-on-dark-muted, #D7E3F2);
  background: rgba(17,27,46,.78);
}

.ts-coverage-map-updated-page .ts-map-loader-spinner {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 3px solid rgba(255,255,255,.18);
  border-top-color: var(--ts-blue-bright, #3B82F6);
  animation: ts-map-spin .8s linear infinite;
}

@keyframes ts-map-spin {
  to { transform: rotate(360deg); }
}

.ts-coverage-map-updated-page .ts-feature-card {
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-left: 4px solid var(--ts-blue-bright, #3B82F6);
  border-radius: var(--ts-r-lg, 12px);
  padding: var(--ts-sp-6);
  gap: var(--ts-sp-4);
  box-shadow: 0 14px 36px rgba(0,0,0,.18);
  transition: none;
}

.ts-coverage-map-updated-page .ts-feature-card:hover {
  transform: none;
  box-shadow: 0 14px 36px rgba(0,0,0,.18);
  color: inherit;
}

.ts-coverage-map-updated-page .ts-grid-3 .ts-feature-card:nth-child(2) {
  border-left-color: var(--ts-teal, #14B8A6);
}

.ts-coverage-map-updated-page .ts-grid-3 .ts-feature-card:nth-child(3) {
  border-left-color: var(--ts-green, #10B981);
}

.ts-coverage-map-updated-page .ts-feature-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-height: 28px;
  margin-bottom: var(--ts-sp-1);
  padding: 0 var(--ts-sp-3);
  border-radius: 999px;
  background: rgba(59,130,246,.16);
  color: #7DD3FC;
  font-family: var(--ts-font-display);
  font-size: .75rem;
  font-weight: 800;
  line-height: 1;
}

.ts-coverage-map-updated-page .ts-feature-card-icon--teal {
  background: rgba(20,184,166,.16);
  color: #5EEAD4;
}

.ts-coverage-map-updated-page .ts-feature-card-icon--green {
  background: rgba(16,185,129,.16);
  color: #86EFAC;
}

.ts-coverage-map-updated-page .ts-feature-card h3 {
  color: var(--ts-on-dark, #F8FAFC);
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.15;
}

.ts-coverage-map-updated-page .ts-feature-card p {
  margin: 0;
  color: var(--ts-on-dark-muted, #D7E3F2);
  line-height: 1.6;
}

.ts-coverage-map-updated-page .ts-feature-card-list {
  display: grid;
  gap: var(--ts-sp-3);
  margin: var(--ts-sp-3) 0 var(--ts-sp-5);
  padding: var(--ts-sp-4) 0 0;
  border-top: 1px solid rgba(255,255,255,.14);
  list-style: none;
}

.ts-coverage-map-updated-page .ts-feature-card-list li {
  position: relative;
  margin: 0;
  padding-left: var(--ts-sp-5);
  color: var(--ts-on-dark, #F8FAFC) !important;
  line-height: 1.5;
}

.ts-coverage-map-updated-page .ts-feature-card-list li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  top: 0;
  color: #7DD3FC;
  font-weight: 800;
}

.ts-coverage-map-updated-page .ts-grid-3 .ts-feature-card:nth-child(2) .ts-feature-card-list li::before {
  color: #5EEAD4;
}

.ts-coverage-map-updated-page .ts-grid-3 .ts-feature-card:nth-child(3) .ts-feature-card-list li::before {
  color: #86EFAC;
}

.ts-coverage-map-updated-page .ts-feature-card .ts-btn {
  align-self: flex-start;
  width: auto;
  min-width: 138px;
}

@media (min-width: 641px) and (max-width: 900px) {
  .ts-coverage-map-updated-page .ts-bg-gray .ts-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4);
  }

  .ts-coverage-map-updated-page .ts-bg-gray .ts-feature-card {
    min-width: 0;
    padding: var(--ts-sp-4);
    gap: var(--ts-sp-3);
  }

  .ts-coverage-map-updated-page .ts-bg-gray .ts-feature-card h3 {
    font-size: 1.05rem;
  }

  .ts-coverage-map-updated-page .ts-bg-gray .ts-feature-card p,
  .ts-coverage-map-updated-page .ts-bg-gray .ts-feature-card-list li {
    font-size: .82rem;
    line-height: 1.5;
  }

  .ts-coverage-map-updated-page .ts-bg-gray .ts-feature-card-list {
    gap: var(--ts-sp-2);
    margin-bottom: var(--ts-sp-4);
  }

  .ts-coverage-map-updated-page .ts-bg-gray .ts-feature-card .ts-btn {
    min-width: 0;
    width: 100%;
    justify-content: center;
  }

}

@media (max-width: 940px) {
  .ts-coverage-map-updated-page .ts-coverage-layout,
  .ts-coverage-map-updated-page .ts-coverage-search-row {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .ts-coverage-map-updated-page .ts-coverage-search-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(180px, .34fr) !important;
    align-items: stretch;
    gap: var(--ts-sp-4);
  }

  .ts-coverage-map-updated-page .ts-coverage-search-row .ts-btn {
    width: 100%;
    min-width: 0;
    white-space: nowrap;
  }

  .ts-coverage-map-updated-page .ts-legend-cta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ts-sp-3);
  }

  .ts-coverage-map-updated-page .ts-legend-cta .ts-btn {
    width: 100%;
    min-width: 0;
    margin-top: 0 !important;
    white-space: nowrap;
  }
}

.page-template-template-support .ts-portal-search-results {
  margin-top: var(--ts-sp-5);
  display: grid;
  gap: var(--ts-sp-4);
}

/* Support tiles are <details>. The summary is the whole card head and the
   answer discloses underneath; the chevron is drawn rather than using the
   native marker, which several browsers hide or style inconsistently. */
.page-template-template-support .ts-portal-search-result > summary {
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-right: var(--ts-sp-7);
}
.page-template-template-support .ts-portal-search-result > summary::-webkit-details-marker {
  display: none;
}
.page-template-template-support .ts-portal-search-result > summary::after {
  content: "";
  position: absolute;
  top: .6em;
  right: 0;
  width: 9px;
  height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  opacity: .6;
  transform: rotate(45deg);
  transition: transform .18s ease;
}
.page-template-template-support .ts-portal-search-result[open] > summary::after {
  transform: rotate(-135deg);
}
.page-template-template-support .ts-portal-search-result > summary:focus-visible {
  outline: 2px solid var(--ts-blue, #00AEEF);
  outline-offset: 3px;
}
.page-template-template-support .ts-portal-search-result .ts-portal-doc-category {
  display: block;
}
.page-template-template-support .ts-portal-search-result > summary > :last-child {
  margin-bottom: 0;
}
.page-template-template-support .ts-portal-search-result .ts-portal-doc-body {
  margin: var(--ts-sp-3) 0 0;
  padding-top: var(--ts-sp-3);
  border-top: 1px solid rgba(255,255,255,.12);
}

.page-template-template-support .ts-portal-result,
.page-template-template-support .ts-portal-search-result,
.page-template-template-support [data-support-search-results] > * {
  background: rgba(255,255,255,.05) !important;
  border-color: rgba(255,255,255,.1) !important;
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  padding: var(--ts-sp-5) !important;
}

.page-template-template-support .ts-portal-result *,
.page-template-template-support .ts-portal-search-result *,
.page-template-template-support [data-support-search-results] > * * {
  color: inherit !important;
}

.page-template-template-support .ts-portal-result strong,
.page-template-template-support .ts-portal-search-result strong,
.page-template-template-support [data-support-search-results] strong,
.page-template-template-support [data-support-search-results] h3,
.page-template-template-support [data-support-search-results] h4 {
  color: var(--ts-on-dark, #F8FAFC) !important;
  line-height: 1.35;
  margin-top: var(--ts-sp-1);
  margin-bottom: var(--ts-sp-3);
}

.page-template-template-support [data-support-search-results] p {
  line-height: 1.65;
  margin: 0;
}

.page-template-template-support .ts-about-service-row {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-section-header {
  max-width: 960px;
  margin-inline: auto;
  text-align: center;
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card {
  align-items: flex-start;
  text-align: left;
  border-left-width: 3px;
  border-left-style: solid;
  border-left-color: var(--ts-blue-bright, #3B82F6);
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card:nth-child(2) {
  border-left-color: var(--ts-green, #10B981);
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card:nth-child(3) {
  border-left-color: var(--ts-cyan, #00B4FF);
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card:nth-child(4) {
  border-left-color: var(--ts-orange, #F97316);
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card:nth-child(5) {
  border-left-color: #7C3AED;
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card:nth-child(6) {
  border-left-color: #FBBF24;
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card:hover {
  border-top-color: rgba(255,255,255,.08);
  border-right-color: rgba(255,255,255,.08);
  border-bottom-color: rgba(255,255,255,.08);
  border-left-color: var(--ts-blue-bright, #3B82F6);
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card:nth-child(2):hover {
  border-left-color: var(--ts-green, #10B981);
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card:nth-child(3):hover {
  border-left-color: var(--ts-cyan, #00B4FF);
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card:nth-child(4):hover {
  border-left-color: var(--ts-orange, #F97316);
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card:nth-child(5):hover {
  border-left-color: #7C3AED;
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card:nth-child(6):hover {
  border-left-color: #FBBF24;
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card .ts-feature-title,
.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card .ts-feature-desc,
.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card .ts-text-link {
  text-align: left;
}

.page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card .ts-text-link {
  align-self: flex-start;
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-features-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ts-sp-4);
  }

  .page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-support-card {
    padding: var(--ts-sp-5);
  }

  .page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-feature-title {
    font-size: 0.96rem;
    line-height: 1.24;
  }

  .page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-feature-desc {
    font-size: 0.8rem;
    line-height: 1.5;
  }

  .page-template-template-support section[aria-labelledby="support-actions-heading"] .ts-text-link {
    font-size: 0.78rem;
  }
}

.page-template-template-support [aria-labelledby="support-contact-heading"] .ts-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr);
  gap: var(--ts-sp-8);
  align-items: start;
}

.page-template-template-support [aria-labelledby="support-contact-heading"] .ts-section-header {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.page-template-template-support .ts-contact-dept-list {
  display: grid;
  gap: var(--ts-sp-4);
}

.page-template-template-support .ts-support-hours {
  margin-top: 0 !important;
}

.page-template-template-support .ts-support-hours tr {
  border-bottom-color: rgba(255,255,255,.08) !important;
}

@media (max-width: 820px) {
  .page-template-template-support [aria-labelledby="support-contact-heading"] .ts-container {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-support [aria-labelledby="support-contact-heading"] .ts-container {
    grid-template-columns: 1fr;
  }

  .page-template-template-support .ts-contact-dept-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ts-sp-3);
  }

  .page-template-template-support .ts-contact-dept-card {
    min-width: 0;
    padding: var(--ts-sp-4) !important;
  }

  .page-template-template-support .ts-contact-dept-body {
    min-width: 0;
  }

  .page-template-template-support .ts-contact-dept-body strong,
  .page-template-template-support .ts-contact-dept-body a,
  .page-template-template-support .ts-contact-dept-body em {
    overflow-wrap: anywhere;
  }
}


/* Business Phone: remove the colored left accent from the three feature cards. */
.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column {
  border-left: 1px solid rgba(255,255,255,.08) !important;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-column::before {
  content: none !important;
  display: none !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull .wp-block-columns > .wp-block-column,
body.page-id-332 .ts-content > .wp-block-group.alignfull .wp-block-column {
  border-left-color: rgba(255,255,255,.08) !important;
  border-left-width: 1px !important;
  border-left-style: solid !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull .wp-block-columns > .wp-block-column::before,
body.page-id-332 .ts-content > .wp-block-group.alignfull .wp-block-columns > .wp-block-column::after,
body.page-id-332 .ts-content > .wp-block-group.alignfull .wp-block-column::before,
body.page-id-332 .ts-content > .wp-block-group.alignfull .wp-block-column::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns > .wp-block-column:nth-child(2),
body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns > .wp-block-column:nth-child(3),
body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) > .wp-block-columns > .wp-block-column:nth-child(2),
body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) > .wp-block-columns > .wp-block-column:nth-child(3) {
  border-color: rgba(255,255,255,.08) !important;
  border-left-color: rgba(255,255,255,.08) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2) !important;
  outline: 0 !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns > .wp-block-column:nth-child(2)::before,
body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns > .wp-block-column:nth-child(2)::after,
body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns > .wp-block-column:nth-child(3)::before,
body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns > .wp-block-column:nth-child(3)::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Business Phone: match the Phone page included-feature card treatment. */
body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) {
  clear: both !important;
  margin-top: clamp(72px, 9vw, 120px) !important;
  padding-top: clamp(56px, 7vw, 88px) !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) > h2,
body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-heading {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 0 clamp(24px, 3vw, 34px) !important;
  text-align: center !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 24px) !important;
  align-items: stretch !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
  min-height: 150px !important;
  padding: clamp(24px, 2.6vw, 32px) !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  grid-template-rows: auto 1fr !important;
  column-gap: 18px !important;
  row-gap: 8px !important;
  align-content: start !important;
  background: rgba(24, 40, 64, .88) !important;
  border: 1px solid rgba(94, 122, 158, .45) !important;
  border-left: 1px solid rgba(94, 122, 158, .45) !important;
  border-radius: var(--ts-r-lg) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2) !important;
  transform: none !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column::before {
  content: "" !important;
  display: flex !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 22px 22px !important;
  box-shadow: none !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(1)::before {
  background: rgba(29, 78, 216, .72) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 3h4v4'/%3E%3Cpath d='M21 3l-7 7'/%3E%3Cpath d='M7 21H3v-4'/%3E%3Cpath d='M3 21l7-7'/%3E%3Cpath d='M21 14v3a4 4 0 0 1-4 4h-3'/%3E%3Cpath d='M3 10V7a4 4 0 0 1 4-4h3'/%3E%3C/svg%3E") !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(2)::before {
  background: rgba(14, 116, 144, .72) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2.5' width='10' height='19' rx='2.5'/%3E%3Cpath d='M11 18h2'/%3E%3Cpath d='M9.5 6h5'/%3E%3C/svg%3E") !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(3)::before {
  background: rgba(16, 185, 129, .68) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E") !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column h3,
body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column .wp-block-heading {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  color: var(--ts-on-dark, #F8FAFC) !important;
  font-size: clamp(1.15rem, 1.7vw, 1.35rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  text-align: left !important;
}

@media (max-width: 900px) {
  body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns,
  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column,
  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column {
    align-content: start !important;
    align-items: start !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto 1fr !important;
    row-gap: 0 !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column::before,
  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column::before {
    align-self: start !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
    margin-bottom: var(--ts-sp-3) !important;
  }

  body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column h3,
  body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column .wp-block-heading,
  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column h3,
  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column .wp-block-heading {
    grid-column: 1 !important;
    grid-row: 2 !important;
    text-align: left !important;
  }

  body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p:first-child,
  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p:first-child {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: 0 0 .45rem !important;
    font-size: .9rem !important;
    line-height: 1.25 !important;
    text-align: left !important;
  }

  body.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p,
  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p {
    grid-column: 1 !important;
    grid-row: 3 !important;
    margin-top: 0 !important;
    text-align: left !important;
  }
}
/* Business Phone: match Phone page feature icon blocks. */
.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column::before {
  content: "NP" !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  flex: 0 0 40px !important;
  border-radius: var(--ts-r-md) !important;
  background:
    linear-gradient(135deg, #7C3AED, #8B5CF6) center / 26px 26px no-repeat,
    rgba(14, 165, 233, .16) !important;
  color: var(--ts-white) !important;
  font-family: var(--ts-font-display) !important;
  font-size: .62rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(2)::before {
  content: "APP" !important;
  font-size: .56rem !important;
}

.page-id-332 .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column:nth-child(3)::before {
  content: "911" !important;
  font-size: .58rem !important;
}
/* Business Phone: final icon style override for included-feature cards. */
body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns .wp-block-column::before {
  content: "\21C4" !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  border-radius: var(--ts-r-md) !important;
  background: rgba(14, 165, 233, .16) !important;
  color: var(--ts-blue-bright, #3B82F6) !important;
  font-family: var(--ts-font-display) !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  background-size: auto !important;
  background-position: center, center !important;
  background-repeat: no-repeat !important;
}

body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns .wp-block-column:nth-child(2)::before {
  content: "\25A3" !important;
  color: #67E8F9 !important;
  font-size: 1rem !important;
}

body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns .wp-block-column:nth-child(3)::before {
  content: "\2713" !important;
  color: var(--ts-green, #10B981) !important;
  font-size: 1rem !important;
}
/* Business Phone: match Phone Included Features card typography and tighten top spacing. */
body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) {
  padding-top: clamp(2.5rem, 4vw, 4rem) !important;
  margin-top: 0 !important;
}

body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) h2 {
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem) !important;
}

body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column {
  column-gap: var(--ts-sp-4) !important;
  padding: var(--ts-sp-5) !important;
}

body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p:first-child {
  font-size: .95rem !important;
  line-height: 1.25 !important;
  margin-bottom: .35rem !important;
}

body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p:last-child {
  font-size: .875rem !important;
  line-height: 1.5 !important;
}

@media (min-width: 641px) and (max-width: 900px) {
  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    align-content: stretch !important;
    align-items: flex-start !important;
    padding: var(--ts-sp-5) !important;
    text-align: left !important;
  }

  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-columns .wp-block-column::before {
    position: static !important;
    flex: 0 0 40px !important;
    margin: 0 0 .85rem !important;
    transform: none !important;
  }

  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column h3,
  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column .wp-block-heading,
  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p:first-child {
    margin: 0 0 .55rem !important;
    font-size: .95rem !important;
    line-height: 1.25 !important;
    text-align: left !important;
  }

  body.page-id-332 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(4) .wp-block-column p:not(:first-child) {
    margin: 0 !important;
    font-size: .82rem !important;
    line-height: 1.45 !important;
    text-align: left !important;
  }
}
/* Rural Wireless: plan-card CTA buttons styled like standard plan buttons. */
body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
}

body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column .wp-block-buttons {
  justify-content: center !important;
  margin-top: auto !important;
  padding-top: var(--ts-sp-5) !important;
}

body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column .wp-block-button,
body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column .wp-block-button__link {
  width: 100% !important;
}

body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: .9rem 1.35rem !important;
  border: 0 !important;
  border-radius: var(--ts-r-md) !important;
  background: var(--ts-green, #10B981) !important;
  color: var(--ts-white) !important;
  font-family: var(--ts-font-display) !important;
  font-size: .98rem !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  box-shadow: 0 16px 34px rgba(16, 185, 129, .24) !important;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}

body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:nth-child(2) .wp-block-button__link {
  background: var(--ts-blue-bright, #2563EB) !important;
  box-shadow: 0 16px 34px rgba(37, 99, 235, .24) !important;
}

body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column .wp-block-button__link:hover,
body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column .wp-block-button__link:focus-visible {
  transform: translateY(-2px) !important;
  box-shadow: 0 22px 42px rgba(16, 185, 129, .32) !important;
}

body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:nth-child(2) .wp-block-button__link:hover,
body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:nth-child(2) .wp-block-button__link:focus-visible {
  box-shadow: 0 22px 42px rgba(37, 99, 235, .32) !important;
}

/* Rural Wireless: WCAG AA contrast safeguards for block buttons and recommended labels. */
body.page-id-114 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link,
body.page-id-114 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button,
body.page-id-114 .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link,
body.page-id-114 .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button {
  background: #047857 !important;
  background-color: #047857 !important;
  border-color: #047857 !important;
  color: #fff !important;
}

body.page-id-114 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
body.page-id-114 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:hover,
body.page-id-114 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible,
body.page-id-114 .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:focus-visible,
body.page-id-114 .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
body.page-id-114 .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:hover,
body.page-id-114 .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible,
body.page-id-114 .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:focus-visible {
  background: #065F46 !important;
  background-color: #065F46 !important;
  border-color: #065F46 !important;
  color: #fff !important;
}

body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:nth-child(2) .wp-block-button__link {
  background: #2563EB !important;
  border-color: #2563EB !important;
  color: #fff !important;
}

body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:nth-child(2) .wp-block-button__link:hover,
body.page-id-114 main#ts-main-content .ts-content > .wp-block-group.alignfull:nth-of-type(3) .wp-block-column:nth-child(2) .wp-block-button__link:focus-visible {
  background: #1D4ED8 !important;
  border-color: #1D4ED8 !important;
  color: #fff !important;
}

body.page-id-114 .ts-content p.has-text-color[style*="16a34a"],
body.page-id-114 .entry-content p.has-text-color[style*="16a34a"],
body.page-id-114 .ts-content p.has-text-color[style*="10b981"],
body.page-id-114 .entry-content p.has-text-color[style*="10b981"] {
  color: #86EFAC !important;
}

/* News single posts: bring article pages in line with the dark Truespeed theme. */
body.single-post .ts-page-hero {
  background: linear-gradient(180deg, var(--ts-dark-navy, #071638) 0%, var(--ts-dark-base, #0D1520) 100%);
  padding-bottom: var(--ts-sp-6);
}

body.single-post .ts-page-hero-inner {
  max-width: none;
  text-align: left;
}

body.single-post .ts-page-hero h1 {
  max-width: none;
  margin-top: var(--ts-sp-4);
  margin-bottom: var(--ts-sp-4);
  font-size: clamp(1.55rem, 2.35vw, 2.35rem);
  line-height: 1.14;
}

.ts-single-post-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: .38rem .8rem;
  border: 1px solid rgba(0, 174, 239, .42);
  border-radius: 999px;
  background: rgba(0, 174, 239, .12);
  color: var(--ts-teal, #00AEEF);
  font-family: var(--ts-font-display);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ts-single-post-meta {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
  width: fit-content;
  margin-top: 0;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--ts-r-md);
  background: rgba(255, 255, 255, .055);
  color: var(--ts-on-dark-muted, #9DB0C2);
  font-family: var(--ts-font-display);
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.2;
  padding: .5rem .65rem;
}

.ts-single-post-meta::before {
  content: "";
  width: 8px;
  height: 8px;
  margin-right: .25rem;
  border-radius: 999px;
  background: var(--ts-teal, #00AEEF);
  box-shadow: 0 0 0 5px rgba(0, 174, 239, .12);
}

.ts-single-post-meta-value {
  color: var(--ts-on-dark, #F0F4F8);
  font-weight: 900;
}

.ts-single-post-meta-author::before {
  content: "|";
  margin-right: .4rem;
  color: rgba(255, 255, 255, .35);
  font-weight: 700;
}

.ts-single-post-meta > span:first-child::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: .9em;
  margin-left: .4rem;
  vertical-align: -.12em;
  background: rgba(255, 255, 255, .25);
}

body.single-post .ts-single-post-meta,
body.single-post .ts-single-post-meta * {
  font-size: .82rem !important;
  line-height: 1.2;
}

body.single-post .ts-single-post-meta {
  gap: .32rem;
  padding: .42rem .58rem;
}

body.single-post .ts-single-post-meta::before {
  width: 7px;
  height: 7px;
  margin-right: .18rem;
  box-shadow: 0 0 0 4px rgba(0, 174, 239, .12);
}

.ts-single-post-section {
  background: var(--ts-dark-base, #0D1520);
  padding-top: var(--ts-sp-6);
}

body.single-post .ts-article {
  max-width: none;
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--ts-r-lg);
  background: var(--ts-dark-card, #172B44);
  box-shadow: var(--ts-shadow-lg);
}

body.single-post .ts-article-body {
  padding: clamp(1.5rem, 3vw, 3rem);
  color: var(--ts-on-dark, #F0F4F8);
}

body.single-post .ts-article-body > * {
  max-width: none;
  margin-inline: auto;
}

body.single-post .ts-article-body p,
body.single-post .ts-article-body li {
  color: rgba(240, 244, 248, .88);
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 1.82;
}

body.single-post .ts-article-body p {
  margin-bottom: 1.25rem;
}

body.single-post .ts-article-body p:first-child {
  color: var(--ts-on-dark, #F0F4F8);
  font-size: clamp(1.08rem, 1.7vw, 1.24rem);
  line-height: 1.75;
}

body.single-post .ts-article-body a {
  color: var(--ts-link-on-dark, #79B8FF);
  font-weight: 800;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

body.single-post .ts-article-footer {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ts-sp-4);
  align-items: center;
  justify-content: space-between;
  padding: var(--ts-sp-6) clamp(2rem, 4vw, 4rem);
  border-top: 1px solid rgba(255, 255, 255, .82);
  background: rgba(8, 18, 32, .36);
}

body.single-post .ts-share {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ts-sp-3);
}

body.single-post .ts-share a,
body.single-post .ts-article-tags a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .72rem 1rem;
  border: 1px solid rgba(0, 174, 239, .46);
  border-radius: var(--ts-r-sm);
  background: rgba(0, 174, 239, .08);
  color: var(--ts-link-on-dark, #79B8FF);
  font-family: var(--ts-font-display);
  font-size: .88rem;
  font-weight: 900;
  line-height: 1.1;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background-color .2s ease, color .2s ease;
}

body.single-post .ts-share a:hover,
body.single-post .ts-share a:focus-visible,
body.single-post .ts-article-tags a:hover,
body.single-post .ts-article-tags a:focus-visible {
  transform: translateY(-2px);
  border-color: var(--ts-teal, #00AEEF);
  background: rgba(0, 174, 239, .16);
  color: var(--ts-on-dark, #F0F4F8);
}

.ts-related-posts {
  margin-top: clamp(2rem, 4vw, 4rem);
}

.ts-related-posts .ts-section-header {
  max-width: none;
  margin-bottom: var(--ts-sp-6);
  text-align: left;
}

.ts-related-posts .ts-section-header h2 {
  color: var(--ts-on-dark, #F0F4F8);
  font-size: clamp(1.6rem, 2.6vw, 2.4rem);
}

.ts-related-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ts-sp-5);
}

.ts-related-post-card {
  display: flex;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--ts-r-md);
  background: var(--ts-dark-card, #172B44);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .18);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
  flex-direction: column;
}

.ts-related-post-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 174, 239, .42);
  box-shadow: 0 20px 44px rgba(0, 0, 0, .26);
}

.ts-related-post-thumb {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: rgba(255, 255, 255, .05);
}

.ts-related-post-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.ts-related-post-card:hover .ts-related-post-thumb img {
  transform: scale(1.04);
}

.ts-related-post-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: var(--ts-sp-5);
}

.ts-related-post-body time {
  margin-bottom: var(--ts-sp-3);
  color: #AEB8C5;
  font-family: var(--ts-font-display);
  font-size: .76rem;
  font-weight: 800;
}

.ts-related-post-body h3 {
  margin: 0 0 var(--ts-sp-3);
  color: var(--ts-on-dark, #F0F4F8);
  font-size: 1.05rem;
  line-height: 1.3;
}

.ts-related-post-body h3 a {
  color: inherit;
  text-decoration: none;
}

.ts-related-post-body h3 a:hover,
.ts-related-post-body h3 a:focus-visible {
  color: var(--ts-link-on-dark, #79B8FF);
}

.ts-related-post-body p {
  color: var(--ts-on-dark-muted, #9DB0C2);
  font-size: .92rem;
  line-height: 1.6;
}

.ts-related-post-body .ts-text-link {
  margin-top: auto;
  padding-top: var(--ts-sp-4);
  color: var(--ts-link-on-dark, #79B8FF);
}

@media (max-width: 700px) {
  body.single-post .ts-page-hero-inner {
    text-align: left;
  }

  body.single-post .ts-article-body,
  body.single-post .ts-article-footer {
    padding-inline: var(--ts-sp-5);
  }

  body.single-post .ts-article-footer,
  body.single-post .ts-share {
    align-items: stretch;
    flex-direction: column;
  }

  body.single-post .ts-share a {
    width: 100%;
  }

  .ts-related-posts-grid {
    grid-template-columns: 1fr;
  }
}

/* News: remove only the extra category-filter wrapper background. */
body.page-id-40 .ts-blog-cat-nav {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-blog .ts-blog-grid,
  body.page-id-40 .ts-blog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4) !important;
  }

  .page-template-template-blog .ts-blog-card-body,
  body.page-id-40 .ts-blog-card-body {
    padding: var(--ts-sp-4) !important;
  }

  .page-template-template-blog .ts-blog-card-title,
  body.page-id-40 .ts-blog-card-title {
    font-size: 0.9rem !important;
    line-height: 1.28 !important;
  }

  .page-template-template-blog .ts-blog-card-date,
  .page-template-template-blog .ts-blog-card-excerpt,
  body.page-id-40 .ts-blog-card-date,
  body.page-id-40 .ts-blog-card-excerpt {
    font-size: 0.74rem !important;
    line-height: 1.45 !important;
  }

  .page-template-template-blog .ts-blog-card .ts-text-link,
  body.page-id-40 .ts-blog-card .ts-text-link {
    font-size: 0.74rem !important;
  }
}

/* Web Services: standardize Phase 1 Packages pricing cards. */
.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-section-header {
  max-width: 960px;
  margin-inline: auto;
  margin-bottom: var(--ts-sp-8);
  text-align: center;
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-pricing-grid {
  align-items: stretch;
  gap: var(--ts-sp-6);
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card {
  min-height: 100%;
  padding: var(--ts-sp-8) var(--ts-sp-6);
  gap: var(--ts-sp-4);
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-xl);
  box-shadow: none;
  color: var(--ts-on-dark, #F0F4F8);
  text-align: center;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card:hover {
  border-color: rgba(125,211,252,.42);
  box-shadow: 0 14px 36px rgba(37, 99, 235, .14);
  transform: translateY(-3px);
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card--popular {
  border-color: var(--ts-green, #10B981);
  box-shadow: 0 0 0 1px var(--ts-green, #10B981);
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card--popular:hover {
  border-color: var(--ts-green, #10B981);
  box-shadow: 0 0 0 1px var(--ts-green, #10B981), 0 16px 40px rgba(16, 185, 129, .18);
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card .ts-plan-badge {
  width: 100%;
  max-width: 286px;
  margin: -2px auto var(--ts-sp-2);
  padding: 6px var(--ts-sp-3);
  color: var(--ts-white);
  font-family: var(--ts-font-display);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  background: var(--ts-green, #10B981);
  border-radius: 999px;
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-name {
  color: var(--ts-on-dark, #F0F4F8);
  font-size: 1.28rem;
  letter-spacing: 0;
  line-height: 1.25;
  margin-top: var(--ts-sp-2);
  text-transform: none;
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-amount {
  color: var(--ts-green, #10B981);
  font-size: clamp(2.55rem, 4vw, 3.25rem);
  line-height: .95;
  margin-top: var(--ts-sp-2);
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-suffix {
  color: var(--ts-on-dark-muted, #9DB0C2);
  font-size: .34em;
  font-weight: 500;
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-sub {
  min-height: 54px;
  margin: 0;
  padding: var(--ts-sp-1) 0 var(--ts-sp-5);
  color: rgba(255, 255, 255, .76);
  font-size: .9rem;
  font-style: italic;
  border-bottom: 1px solid rgba(255, 255, 255, .78);
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-feats {
  gap: 10px;
  padding-top: var(--ts-sp-1);
  text-align: left;
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-feats li {
  gap: 12px;
  color: var(--ts-on-dark-soft, #D7E3F2);
  font-size: .95rem;
  line-height: 1.45;
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-feats li::before {
  color: #86EFAC;
  font-size: .9rem;
  line-height: 1.45;
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card .ts-btn {
  width: auto !important;
  min-width: 220px;
  margin: auto auto 0 !important;
  border-radius: var(--ts-r-md);
  background: var(--ts-green, #10B981);
  border-color: var(--ts-green, #10B981);
  color: var(--ts-white);
  box-shadow: none;
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card .ts-btn:hover,
.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card .ts-btn:focus-visible {
  background: var(--ts-green, #10B981);
  border-color: var(--ts-green, #10B981);
  color: var(--ts-white);
  box-shadow: 0 8px 24px rgba(16,185,129,.35);
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card--popular .ts-btn {
  background: var(--ts-blue, #1D4ED8);
  border-color: var(--ts-blue, #1D4ED8);
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card--popular .ts-btn:hover,
.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card--popular .ts-btn:focus-visible {
  background: #1e40af;
  border-color: #1e40af;
  box-shadow: 0 8px 24px rgba(29,78,216,.35);
}

.page-template-template-webdesign .ts-web-process-section .ts-section-header {
  max-width: 960px;
  margin-inline: auto;
  text-align: center;
}

.page-template-template-webdesign .ts-web-process-section .ts-features-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ts-sp-5);
}

.page-template-template-webdesign .ts-web-process-section .ts-feature-card {
  display: block;
  min-height: 100%;
  padding: var(--ts-sp-6);
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-left: 3px solid var(--ts-blue-bright);
  border-radius: var(--ts-r-lg);
  box-shadow: none;
  transition: none;
}

.page-template-template-webdesign .ts-web-process-section .ts-feature-card:hover {
  transform: none;
  box-shadow: none;
}

.page-template-template-webdesign .ts-web-process-section .ts-feature-card:nth-child(2) {
  border-left-color: var(--ts-green, #10B981);
}

.page-template-template-webdesign .ts-web-process-section .ts-feature-card:nth-child(3) {
  border-left-color: var(--ts-cyan, #00B4FF);
}

.page-template-template-webdesign .ts-web-process-section .ts-feature-card:nth-child(4) {
  border-left-color: var(--ts-orange, #F97316);
}

.page-template-template-webdesign .ts-web-process-section .ts-feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: var(--ts-sp-4);
  color: #7DD3FC;
  background: rgba(14, 165, 233, .14);
  border: 1px solid rgba(125, 211, 252, .34);
  border-radius: var(--ts-r-md);
  font-family: var(--ts-font-display);
  font-size: .82rem;
  font-weight: 900;
  line-height: 1;
}

.page-template-template-webdesign .ts-web-process-section .ts-feature-card:nth-child(2) .ts-feature-icon {
  color: #5EEAD4;
  background: rgba(20, 184, 166, .14);
  border-color: rgba(94, 234, 212, .32);
}

.page-template-template-webdesign .ts-web-process-section .ts-feature-card:nth-child(4) .ts-feature-icon {
  color: #FDBA74;
  background: rgba(249, 115, 22, .14);
  border-color: rgba(253, 186, 116, .32);
}

.page-template-template-webdesign .ts-web-process-section .ts-feature-title {
  margin-bottom: var(--ts-sp-2);
  color: var(--ts-on-dark, #F0F4F8);
  font-size: 1.05rem;
}

.page-template-template-webdesign .ts-web-process-section .ts-feature-desc {
  color: var(--ts-on-dark-soft, #D7E3F2);
  font-size: .92rem;
  line-height: 1.55;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-section-header {
  max-width: 960px;
  margin-inline: auto;
  text-align: center;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addons-grid {
  max-width: 1080px;
  margin-inline: auto;
  align-items: stretch;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-xl);
  box-shadow: none;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-hdr {
  align-items: center;
  padding: var(--ts-sp-6);
  background: rgba(255,255,255,.035);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-icon {
  width: 48px;
  height: 48px;
  color: #7DD3FC;
  background: rgba(14, 165, 233, .14);
  border: 1px solid rgba(125, 211, 252, .34);
  border-radius: var(--ts-r-md);
  font-family: var(--ts-font-display);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .02em;
}

.page-template-template-webdesign .ts-web-hosting-section #maintenance .ts-web-addon-icon {
  color: #5EEAD4;
  background: rgba(20, 184, 166, .14);
  border-color: rgba(94, 234, 212, .32);
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-hdr h3 {
  color: var(--ts-on-dark, #F0F4F8);
  font-size: 1.12rem;
  line-height: 1.25;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-hdr p {
  color: var(--ts-on-dark-muted, #9DB0C2);
  font-size: .9rem;
  line-height: 1.55;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-plans {
  flex: 1;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-plan {
  padding: var(--ts-sp-5) var(--ts-sp-6);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: transparent;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-plan:last-child {
  border-bottom: 0;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-plan-name {
  color: var(--ts-on-dark, #F0F4F8);
  font-size: .95rem;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-plan-price {
  color: var(--ts-blue-bright, #60A5FA);
  font-size: 1.05rem;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-plan-desc {
  color: var(--ts-on-dark-soft, #D7E3F2);
  font-size: .86rem;
  line-height: 1.55;
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card .ts-plan-badge {
  background: #047857 !important;
  border-color: #047857 !important;
  color: var(--ts-white) !important;
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card .ts-btn {
  background: #047857 !important;
  border-color: #047857 !important;
  color: var(--ts-white) !important;
}

.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card .ts-btn:hover,
.page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card .ts-btn:focus-visible {
  background: #065F46 !important;
  border-color: #065F46 !important;
  color: var(--ts-white) !important;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-plan-price {
  color: #60A5FA !important;
}

.page-template-template-webdesign .ts-web-hosting-section .ts-web-addon-plan-name span {
  background: #047857 !important;
  color: var(--ts-white) !important;
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-section-header {
  max-width: 960px;
  margin-inline: auto;
  text-align: center;
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillars {
  gap: var(--ts-sp-5);
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar {
  min-height: 100%;
  padding: var(--ts-sp-6);
  gap: var(--ts-sp-3);
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-top: 3px solid var(--ts-blue-bright);
  border-radius: var(--ts-r-lg);
  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar:nth-child(2) {
  border-top-color: var(--ts-green, #10B981);
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar:nth-child(3) {
  border-top-color: var(--ts-cyan, #00B4FF);
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar:hover {
  border-color: rgba(125,211,252,.34);
  border-top-color: var(--ts-blue-bright);
  box-shadow: 0 14px 36px rgba(37, 99, 235, .14);
  transform: translateY(-3px);
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar:nth-child(2):hover {
  border-top-color: var(--ts-green, #10B981);
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar:nth-child(3):hover {
  border-top-color: var(--ts-cyan, #00B4FF);
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar-icon {
  width: 44px;
  height: 44px;
  margin-bottom: var(--ts-sp-2);
  color: #7DD3FC;
  background: rgba(14, 165, 233, .14);
  border: 1px solid rgba(125, 211, 252, .34);
  border-radius: var(--ts-r-md);
  font-family: var(--ts-font-display);
  font-size: 0 !important;
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar-icon::before {
  font-size: .82rem !important;
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1;
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar:nth-child(1) .ts-web-pillar-icon::before {
  content: "WS";
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar:nth-child(2) .ts-web-pillar-icon {
  color: #5EEAD4;
  background: rgba(20, 184, 166, .14);
  border-color: rgba(94, 234, 212, .32);
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar:nth-child(2) .ts-web-pillar-icon::before {
  content: "DB";
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar:nth-child(3) .ts-web-pillar-icon {
  color: #38BDF8;
  background: rgba(56, 189, 248, .14);
  border-color: rgba(56, 189, 248, .32);
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar:nth-child(3) .ts-web-pillar-icon::before {
  content: "HG";
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar h3 {
  color: var(--ts-on-dark, #F0F4F8);
  font-size: 1.08rem;
  line-height: 1.25;
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar p {
  color: var(--ts-on-dark-soft, #D7E3F2);
  font-size: .92rem;
  line-height: 1.58;
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar-price {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: auto;
  color: #7DD3FC;
  font-size: .9rem;
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar-price::after {
  content: "→";
  margin-left: 6px;
  transition: transform .18s ease;
}

.page-template-template-webdesign section[aria-labelledby="web-services-heading"] .ts-web-pillar:hover .ts-web-pillar-price::after {
  transform: translateX(4px);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-section-header {
  max-width: 960px;
  margin-inline: auto;
  text-align: center;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--ts-sp-5);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-left: 3px solid var(--ts-blue-bright);
  border-radius: var(--ts-r-lg);
  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(1),
.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(2) {
  grid-column: span 3;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(n+3) {
  grid-column: span 2;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(96, 165, 250, .14), transparent 42%),
    radial-gradient(circle at top right, rgba(125, 211, 252, .11), transparent 36%);
  opacity: .65;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card > * {
  position: relative;
  z-index: 1;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(2) {
  border-left-color: var(--ts-orange, #F97316);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(3) {
  border-left-color: var(--ts-green, #10B981);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(4) {
  border-left-color: var(--ts-purple, #7C3AED);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(5) {
  border-left-color: var(--ts-red, #EF4444);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(6) {
  border-left-color: #FBBF24;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:hover {
  border-color: rgba(125,211,252,.34);
  border-left-color: var(--ts-blue-bright);
  box-shadow: 0 14px 36px rgba(37, 99, 235, .14);
  transform: none;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(2):hover {
  border-left-color: var(--ts-orange, #F97316);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(3):hover {
  border-left-color: var(--ts-green, #10B981);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(4):hover {
  border-left-color: var(--ts-purple, #7C3AED);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(5):hover {
  border-left-color: var(--ts-red, #EF4444);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(6):hover {
  border-left-color: #FBBF24;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-thumb {
  aspect-ratio: auto;
  width: auto;
  min-height: 0;
  justify-content: flex-start;
  padding: var(--ts-sp-5) var(--ts-sp-5) var(--ts-sp-2);
  background: transparent !important;
  color: inherit !important;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-thumb::after {
  display: none;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-thumb-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: auto;
  padding: 0;
  color: #7DD3FC;
  background: transparent;
  border: 0;
  border-radius: 0;
  filter: none;
  font-family: var(--ts-font-display);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(2) .ts-portfolio-thumb-icon {
  color: #FDBA74;
  background: transparent;
  border-color: transparent;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(3) .ts-portfolio-thumb-icon {
  color: #5EEAD4;
  background: transparent;
  border-color: transparent;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(4) .ts-portfolio-thumb-icon {
  color: #C4B5FD;
  background: transparent;
  border-color: transparent;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(5) .ts-portfolio-thumb-icon {
  color: #FCA5A5;
  background: transparent;
  border-color: transparent;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(6) .ts-portfolio-thumb-icon {
  color: #FDE68A;
  background: transparent;
  border-color: transparent;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-body {
  flex: 1;
  padding: 0 var(--ts-sp-5) var(--ts-sp-5);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-body h3 {
  color: var(--ts-on-dark, #F0F4F8);
  font-size: 1.18rem;
  line-height: 1.25;
  margin-bottom: var(--ts-sp-3);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-body p {
  color: var(--ts-on-dark-soft, #D7E3F2);
  font-size: .92rem;
  line-height: 1.58;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-note {
  max-width: 920px;
  margin-inline: auto;
  color: var(--ts-on-dark-muted, #9DB0C2);
  line-height: 1.6;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    var(--ts-dark-card, #151F32);
  border: 0;
  border-left: 0;
  box-shadow: none;
  transition: background .18s ease, box-shadow .18s ease;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:hover {
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.024)),
    var(--ts-dark-card, #151F32);
  border: 0;
  border-left: 0;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .16);
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card::before {
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--ts-blue-bright), rgba(96,165,250,.08));
  opacity: 1;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(2)::before {
  background: linear-gradient(90deg, var(--ts-orange, #F97316), rgba(249,115,22,.08));
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(3)::before {
  background: linear-gradient(90deg, var(--ts-green, #10B981), rgba(16,185,129,.08));
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(4)::before {
  background: linear-gradient(90deg, var(--ts-purple, #7C3AED), rgba(124,58,237,.08));
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(5)::before {
  background: linear-gradient(90deg, var(--ts-red, #EF4444), rgba(239,68,68,.08));
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(6)::before {
  background: linear-gradient(90deg, #FBBF24, rgba(251,191,36,.08));
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card,
.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(1),
.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(2),
.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(n+3) {
  grid-column: auto;
  height: 100%;
  border: 0 !important;
  border-left: 0 !important;
  outline: 0;
  box-shadow: none;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:hover,
.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(2):hover,
.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(3):hover,
.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(4):hover,
.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(5):hover,
.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(6):hover {
  border: 0 !important;
  border-left: 0 !important;
  transform: none;
}

.page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card::before {
  display: none;
}

@media (max-width: 860px) {
  .page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-pricing-grid {
    max-width: 520px;
  }

  .page-template-template-webdesign .ts-web-process-section .ts-features-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card,
  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(1),
  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(2),
  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(n+3) {
    grid-column: span 1;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-pricing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: none;
    gap: var(--ts-sp-3);
  }

  .page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card {
    padding: var(--ts-sp-5) var(--ts-sp-4);
    gap: var(--ts-sp-3);
  }

  .page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card .ts-plan-badge {
    max-width: 100%;
    padding-block: 5px;
    font-size: 0.58rem;
  }

  .page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-name {
    font-size: 1rem;
    line-height: 1.2;
  }

  .page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-amount {
    font-size: 2.1rem;
  }

  .page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-sub {
    min-height: 44px;
    padding-bottom: var(--ts-sp-3);
    font-size: 0.76rem;
  }

  .page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-feats {
    gap: 8px;
  }

  .page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-feats li {
    gap: 8px;
    font-size: 0.74rem;
    line-height: 1.35;
  }

  .page-template-template-webdesign section[aria-labelledby="web-pricing-heading"] .ts-web-price-card .ts-btn {
    min-width: 0;
    width: 100% !important;
    min-height: 42px;
    padding: 0.75rem 0.8rem;
    font-size: 0.78rem;
  }

  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4);
  }

  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card,
  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(1),
  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(2),
  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-card:nth-child(n+3) {
    grid-column: auto !important;
    min-width: 0;
  }

  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-thumb {
    padding: var(--ts-sp-4) var(--ts-sp-4) var(--ts-sp-2);
  }

  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-body {
    padding: 0 var(--ts-sp-4) var(--ts-sp-4);
  }

  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-body h3 {
    font-size: .95rem;
    line-height: 1.25;
  }

  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-body p {
    font-size: .78rem;
    line-height: 1.5;
  }

  .page-template-template-webdesign .ts-web-process-section .ts-features-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-3);
  }

  .page-template-template-webdesign .ts-web-process-section .ts-feature-card {
    min-width: 0;
    padding: var(--ts-sp-4);
  }

  .page-template-template-webdesign .ts-web-process-section .ts-feature-icon {
    width: 34px;
    height: 34px;
    font-size: .78rem;
    margin-bottom: var(--ts-sp-3);
  }

  .page-template-template-webdesign .ts-web-process-section .ts-feature-title {
    font-size: .88rem;
    line-height: 1.25;
  }

  .page-template-template-webdesign .ts-web-process-section .ts-feature-desc {
    font-size: .72rem;
    line-height: 1.45;
  }
}

@media (max-width: 640px) {
  .page-template-template-webdesign .ts-web-process-section .ts-features-grid--4 {
    grid-template-columns: 1fr;
  }

  .page-template-template-webdesign section[aria-labelledby="portfolio-heading"] .ts-portfolio-grid {
    grid-template-columns: 1fr;
  }
}

/* Managed IT: standardize Starting Packages pricing cards. */
.page-template-template-managed-it .ts-web-hero-price-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 260px;
  padding: 40px 28px 36px !important;
  box-sizing: border-box;
}

.page-template-template-managed-it .ts-web-hero-from {
  color: var(--ts-cyan, #00B4FF);
  margin-bottom: var(--ts-sp-2);
}

.page-template-template-managed-it .ts-web-hero-price {
  font-size: 2.55rem;
  margin-bottom: var(--ts-sp-2);
}

.page-template-template-managed-it .ts-web-hero-price-sub {
  max-width: 190px;
  margin-inline: auto;
  line-height: 1.55;
}

.page-template-template-managed-it .ts-web-hero-price-badge .ts-btn {
  width: auto !important;
  max-width: calc(100% - 32px);
  gap: 8px;
  min-height: 48px;
  margin-top: var(--ts-sp-5) !important;
  margin-bottom: 0 !important;
  margin-inline: auto !important;
  padding: 1rem 1.05rem;
  background: var(--ts-blue, #1D4ED8);
  border-color: var(--ts-blue, #1D4ED8);
  font-size: .88rem;
  line-height: 1.1;
  white-space: normal;
}

.page-template-template-managed-it .ts-web-hero-price-badge .ts-btn:hover,
.page-template-template-managed-it .ts-web-hero-price-badge .ts-btn:focus-visible {
  background: #1e40af;
  border-color: #1e40af;
  box-shadow: 0 8px 24px rgba(29,78,216,.35);
}

@media (max-width: 760px) {
  .page-template-template-managed-it .ts-web-hero-price-badge {
    min-width: 0;
    max-width: 320px;
  }
}

@media (max-width: 640px) {
  .page-template-template-managed-it .ts-web-hero-price-badge {
    width: 100%;
    max-width: none;
  }
}

.page-template-template-managed-it section[aria-labelledby="managed-it-services-heading"] .ts-feature-card {
  transition: none;
}

.page-template-template-managed-it section[aria-labelledby="managed-it-services-heading"] .ts-feature-card:hover {
  transform: none;
  box-shadow: none;
  color: inherit;
}

.page-template-template-managed-it section[aria-labelledby="managed-it-services-heading"] .ts-feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: var(--ts-sp-2);
  color: #7DD3FC;
  background: rgba(14, 165, 233, .14);
  border: 1px solid rgba(125, 211, 252, .34);
  border-radius: var(--ts-r-md);
  font-family: var(--ts-font-display);
  font-size: .82rem;
  font-weight: 900;
  line-height: 1;
}

.page-template-template-managed-it section[aria-labelledby="managed-it-services-heading"] .ts-feature-card:nth-child(2) .ts-feature-icon {
  color: #5EEAD4;
  background: rgba(20, 184, 166, .14);
  border-color: rgba(94, 234, 212, .32);
}

.page-template-template-managed-it section[aria-labelledby="managed-it-services-heading"] .ts-feature-card:nth-child(4) .ts-feature-icon {
  color: #FDBA74;
  background: rgba(249, 115, 22, .14);
  border-color: rgba(253, 186, 116, .32);
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-section-header {
  max-width: 960px;
  margin-inline: auto;
  margin-bottom: var(--ts-sp-8);
  text-align: center;
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-pricing-grid {
  align-items: stretch;
  gap: var(--ts-sp-6);
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card {
  min-height: 100%;
  padding: var(--ts-sp-8) var(--ts-sp-6);
  gap: var(--ts-sp-4);
  background: var(--ts-dark-card, #151F32);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ts-r-xl);
  box-shadow: none;
  color: var(--ts-on-dark, #F0F4F8);
  text-align: center;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card:hover {
  border-color: rgba(125,211,252,.42);
  box-shadow: 0 14px 36px rgba(37, 99, 235, .14);
  transform: translateY(-3px);
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card--popular {
  border-color: var(--ts-green, #10B981);
  box-shadow: 0 0 0 1px var(--ts-green, #10B981);
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card--popular:hover {
  border-color: var(--ts-green, #10B981);
  box-shadow: 0 0 0 1px var(--ts-green, #10B981), 0 16px 40px rgba(16, 185, 129, .18);
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card .ts-plan-badge {
  width: 100%;
  max-width: 286px;
  margin: -2px auto var(--ts-sp-2);
  padding: 6px var(--ts-sp-3);
  color: var(--ts-white);
  font-family: var(--ts-font-display);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  background: #047857;
  border-radius: 999px;
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-name {
  color: var(--ts-on-dark, #F0F4F8);
  font-size: 1.28rem;
  letter-spacing: 0;
  line-height: 1.25;
  margin-top: var(--ts-sp-2);
  text-transform: none;
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-amount {
  color: var(--ts-green, #10B981);
  font-size: clamp(2.55rem, 4vw, 3.25rem);
  line-height: .95;
  margin-top: var(--ts-sp-2);
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card--popular .ts-web-price-amount {
  color: var(--ts-green, #10B981);
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-suffix {
  color: var(--ts-on-dark-muted, #9DB0C2);
  font-size: .34em;
  font-weight: 500;
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-sub {
  min-height: 54px;
  margin: 0;
  padding: var(--ts-sp-1) 0 var(--ts-sp-5);
  color: rgba(255, 255, 255, .76);
  font-size: .9rem;
  font-style: italic;
  border-bottom: 1px solid rgba(255, 255, 255, .78);
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-feats {
  gap: 10px;
  padding-top: var(--ts-sp-1);
  text-align: left;
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-feats li {
  gap: 12px;
  color: var(--ts-on-dark-soft, #D7E3F2);
  font-size: .95rem;
  line-height: 1.45;
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-feats li::before {
  color: #86EFAC;
  font-size: .9rem;
  line-height: 1.45;
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card .ts-btn {
  width: auto !important;
  min-width: 220px;
  margin: auto auto 0 !important;
  border-radius: var(--ts-r-md);
  background: #047857;
  border-color: #047857;
  color: var(--ts-white);
  box-shadow: none;
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card .ts-btn:hover,
.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card .ts-btn:focus-visible {
  background: #065F46;
  border-color: #065F46;
  color: var(--ts-white);
  box-shadow: 0 8px 24px rgba(16,185,129,.35);
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card--popular .ts-btn {
  background: var(--ts-blue, #1D4ED8);
  border-color: var(--ts-blue, #1D4ED8);
}

.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card--popular .ts-btn:hover,
.page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card--popular .ts-btn:focus-visible {
  background: #1e40af;
  border-color: #1e40af;
  box-shadow: 0 8px 24px rgba(29,78,216,.35);
}

.page-template-template-managed-it #it-consultation .ts-contact-form-card {
  background: var(--ts-dark-card, #151F32);
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
}

.page-template-template-managed-it #it-consultation .ts-contact-form-hdr {
  border-bottom-color: rgba(255,255,255,.1);
}

.page-template-template-managed-it #it-consultation .ts-contact-form-hdr h2 {
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-managed-it #it-consultation .ts-contact-form-hdr p,
.page-template-template-managed-it #it-consultation .ts-cform-label,
.page-template-template-managed-it #it-consultation .ts-cform-privacy {
  color: var(--ts-on-dark-muted, #D7E3F2);
}

.page-template-template-managed-it #it-consultation .ts-cform-input {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
  color: var(--ts-on-dark, #F8FAFC);
}

.page-template-template-managed-it #it-consultation .ts-cform-input::placeholder {
  color: rgba(215,227,242,.55);
}

.page-template-template-managed-it #it-consultation .ts-cform-input:focus {
  border-color: var(--ts-blue-bright, #3B82F6);
  box-shadow: 0 0 0 3px rgba(59,130,246,.2);
}

.page-template-template-managed-it #it-consultation .ts-cform-select {
  color-scheme: dark;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20' fill='%237DD3FC'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

.page-template-template-managed-it #it-consultation .ts-cform-select option {
  background: #172B44;
  color: #F8FAFC;
}

.page-template-template-managed-it #it-consultation .ts-cform-select option:checked {
  background: var(--ts-blue, #1D4ED8);
  color: #FFFFFF;
}

.page-template-template-managed-it #it-consultation .ts-cform-select option:disabled {
  color: rgba(248,250,252,.55);
}

@media (max-width: 860px) {
  .page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-pricing-grid {
    max-width: 520px;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-managed-it section[aria-labelledby="managed-it-services-heading"] .ts-features-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4);
    align-items: stretch;
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-services-heading"] .ts-feature-card {
    min-width: 0;
    min-height: 100%;
    padding: var(--ts-sp-5);
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-services-heading"] .ts-feature-icon {
    width: 36px;
    height: 36px;
    font-size: .78rem;
    margin-bottom: var(--ts-sp-3);
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-services-heading"] .ts-feature-title {
    font-size: .9rem;
    line-height: 1.25;
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-services-heading"] .ts-feature-desc {
    font-size: .76rem;
    line-height: 1.48;
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-pricing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: none;
    gap: var(--ts-sp-3);
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card {
    padding: var(--ts-sp-5) var(--ts-sp-4);
    gap: var(--ts-sp-3);
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card .ts-plan-badge {
    max-width: 100%;
    padding-block: 5px;
    font-size: 0.58rem;
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-name {
    font-size: 1rem;
    line-height: 1.2;
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-amount {
    font-size: 2.1rem;
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-sub {
    min-height: 42px;
    padding-bottom: var(--ts-sp-3);
    font-size: 0.76rem;
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-feats {
    gap: 8px;
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-feats li {
    gap: 8px;
    font-size: 0.74rem;
    line-height: 1.35;
  }

  .page-template-template-managed-it section[aria-labelledby="managed-it-pricing-heading"] .ts-web-price-card .ts-btn {
    min-width: 0;
    width: 100% !important;
    min-height: 42px;
    padding: 0.75rem 0.8rem;
    font-size: 0.78rem;
  }
}

.ts-footer .ts-footer-contact-links a[href^="mailto"],
.ts-footer .ts-footer-contact-links a[href^="mailto"] span:not(.ts-footer-contact-icon),
.ts-footer .ts-footer-address,
.ts-footer .ts-footer-address span:not(.ts-footer-contact-icon) {
  color: #fff !important;
  font-weight: 700;
}

.ts-footer .ts-footer-contact-links a[href^="mailto"]:hover span:not(.ts-footer-contact-icon) {
  color: #ffffffc7 !important;
}

.ts-footer .ts-footer-contact-links a[href^="tel"]:hover span:not(.ts-footer-phone-icon),
.ts-footer .ts-footer-address:hover span:not(.ts-footer-contact-icon) {
  color: #ffffffc7 !important;
}

.ts-footer .ts-footer-phone-combo .ts-footer-phone-combo-text a:hover,
.ts-footer .ts-footer-phone-combo .ts-footer-phone-combo-text a:focus-visible {
  color: #ffffffc7 !important;
}

.ts-footer .ts-footer-contact-links a[href^="mailto"]:hover .ts-footer-contact-icon,
.ts-footer .ts-footer-address:hover .ts-footer-contact-icon {
  color: var(--ts-blue-bright, #38BDF8) !important;
}

.ts-footer .ts-footer-contact-links a[href^="tel"] .ts-footer-phone-icon,
.ts-footer .ts-footer-contact-links a[href^="tel"]:hover .ts-footer-phone-icon,
.ts-footer .ts-footer-contact-links a[href^="tel"]:focus-visible .ts-footer-phone-icon,
.ts-footer .ts-footer-contact-links a[href^="tel"] .ts-footer-phone-icon svg,
.ts-footer .ts-footer-contact-links a[href^="tel"]:hover .ts-footer-phone-icon svg,
.ts-footer .ts-footer-contact-links a[href^="tel"]:focus-visible .ts-footer-phone-icon svg {
  color: var(--ts-blue-bright, #38BDF8) !important;
  fill: currentColor !important;
}

@media (max-width: 768px) {
  .ts-sticky-cta {
    display: flex !important;
    align-items: center;
    gap: var(--ts-sp-3);
    background: var(--ts-navy, #09112B);
    border-top: 1px solid rgba(255,255,255,.12);
  }

  body {
    padding-bottom: 72px !important;
  }

  .ts-sticky-cta .ts-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px;
  }

  .ts-sticky-cta .ts-btn--navy {
    background: transparent !important;
    border: 2px solid rgba(255,255,255,.62) !important;
    color: #fff !important;
    gap: 10px;
    box-shadow: none !important;
  }

  .ts-sticky-cta .ts-btn--navy:hover,
  .ts-sticky-cta .ts-btn--navy:focus-visible {
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.9) !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  .ts-sticky-cta .ts-btn--navy .ts-footer-phone-icon,
  .ts-sticky-cta .ts-btn--navy:hover .ts-footer-phone-icon,
  .ts-sticky-cta .ts-btn--navy:focus-visible .ts-footer-phone-icon {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #fff !important;
  }

  .ts-sticky-cta .ts-btn--navy .ts-footer-phone-icon svg {
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
  }
}

@media (max-width: 1180px) {
  .ts-footer {
    padding-top: var(--ts-sp-12);
  }

  .ts-footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ts-sp-8) var(--ts-sp-7);
  }

  .ts-footer-col:first-of-type {
    padding-left: 0;
  }

  .ts-footer-brand,
  .ts-footer-brand p,
  .ts-footer-address,
  .ts-footer-hours {
    max-width: none;
  }

  .ts-footer-contact-links a,
  .ts-footer-phone-combo {
    width: 100%;
    max-width: 100%;
    align-items: center;
  }

  .ts-footer-phone-combo-text {
    min-width: 0;
  }

  .ts-footer-brand {
    grid-column: 1 / -1;
    width: 100%;
  }

  .ts-footer-brand p {
    max-width: none;
  }

  .ts-footer-contact-links {
    max-width: none;
    width: 100%;
  }

  .ts-footer-address span:not(.ts-footer-contact-icon) {
    white-space: nowrap;
  }

  .ts-footer-address br {
    display: none;
  }

  .ts-footer-address-mobile-comma {
    display: inline;
  }

  .ts-footer-social {
    margin-bottom: 0;
  }

  .ts-footer-col {
    margin-top: var(--ts-sp-4);
  }
}

@media (max-width: 980px) {
  .ts-footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ts-sp-8) var(--ts-sp-7);
  }

  .ts-footer-brand {
    grid-column: 1 / -1;
    grid-row: auto;
    max-width: none;
  }

  .ts-footer-col {
    min-width: 0;
  }

  .ts-footer-col:first-of-type {
    padding-left: 0;
  }

  .ts-footer-col ul {
    gap: var(--ts-sp-2);
  }

  .ts-footer-accreditations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 721px) and (max-width: 1024px) {
  .ts-footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ts-footer-brand {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr);
    gap: var(--ts-sp-6) var(--ts-sp-8);
    align-items: start;
    max-width: none;
    padding-bottom: var(--ts-sp-6);
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .ts-footer-brand .ts-footer-logo,
  .ts-footer-brand > p,
  .ts-footer-contact-links,
  .ts-footer-social {
    grid-column: 1;
  }

  .ts-footer-brand > p {
    max-width: 100%;
    margin-bottom: 0;
  }

  .ts-footer-contact-links {
    gap: var(--ts-sp-3);
  }

  .ts-footer-contact-links .ts-footer-hours {
    display: none !important;
  }

  .ts-footer-tablet-hours-card {
    display: grid;
    grid-column: 2;
    grid-row: 2 / span 3;
    gap: var(--ts-sp-3);
    padding: var(--ts-sp-5);
    background: var(--ts-dark-card, #151F32);
    border: 1px solid rgba(148,163,184,.2);
    border-radius: var(--ts-r-xl, 16px);
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
  }

  .ts-footer-tablet-hours-card h3,
  .ts-footer-tablet-hours-card h4 {
    margin: 0 0 var(--ts-sp-2);
    color: var(--ts-on-dark, #F8FAFC);
    font-family: var(--ts-font-display);
    font-size: .9rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .ts-footer-tablet-hours-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ts-sp-4);
    padding-bottom: var(--ts-sp-3);
    border-bottom: 1px solid rgba(255,255,255,.12);
    color: var(--ts-on-dark, #F8FAFC);
    font-size: .9rem;
    line-height: 1.35;
  }

  .ts-footer-tablet-hours-row strong {
    color: var(--ts-green, #10B981);
    font-family: var(--ts-font-display);
    font-size: .95rem;
    font-weight: 900;
    white-space: nowrap;
  }

  .ts-footer-tablet-hours-row:nth-of-type(n + 2) strong {
    color: var(--ts-on-dark-muted, #A8B4C4);
  }

  .ts-footer-tablet-hours-card p {
    margin: var(--ts-sp-2) 0 0;
    color: var(--ts-on-dark-muted, #D7E3F2) !important;
    font-size: .8rem;
    line-height: 1.55;
  }

  .ts-footer-address .ts-footer-address-tablet-break {
    display: block;
  }
}

@media (max-width: 720px) {
  .ts-footer-grid {
    grid-template-columns: 1fr;
    gap: var(--ts-sp-7);
  }

  .ts-footer-brand {
    grid-row: auto;
    grid-column: auto;
  }

  .ts-footer-col:first-of-type {
    padding-left: 0;
  }

  .ts-footer-phone-combo {
    align-items: flex-start;
  }

  .ts-footer-phone-combo-text {
    display: inline;
  }

  .ts-footer-phone-combo-text > span[aria-hidden="true"] {
    margin-inline: 6px;
  }

  .ts-footer-contact-links a {
    align-items: flex-start;
  }

  .ts-footer-social {
    gap: var(--ts-sp-4);
  }

  .ts-footer-col h3,
  .ts-footer-col h4 {
    margin-bottom: var(--ts-sp-3);
  }

  .ts-footer-col ul {
    gap: var(--ts-sp-1);
  }

  .ts-footer-accreditations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ts-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    text-align: left;
  }

  .ts-footer-legal {
    justify-content: flex-start;
  }
}

@media (max-width: 520px) {
  .ts-footer {
    padding-top: var(--ts-sp-10);
  }

  .ts-page-hero-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ts-footer-grid {
    gap: var(--ts-sp-6);
  }

  .ts-footer-phone-combo,
  .ts-footer-contact-links a {
    gap: 8px;
    width: 100%;
    max-width: 100%;
    align-items: center;
  }

  .ts-footer-phone-combo-text {
    display: inline-flex;
    flex-direction: row;
    align-items: baseline;
    gap: 6px;
    flex-wrap: nowrap;
    min-width: 0;
    white-space: nowrap;
    font-size: clamp(.8rem, 3.4vw, .95rem);
  }

  .ts-footer-phone-combo-text > span[aria-hidden="true"] {
    display: inline;
  }

  .ts-footer-hours {
    font-size: .8rem;
    line-height: 1.6;
  }

  .ts-footer-contact-links a[href^="mailto"] span:not(.ts-footer-contact-icon),
  .ts-footer-address span:not(.ts-footer-contact-icon) {
    min-width: 0;
    overflow-wrap: normal;
  }

  .ts-footer-address span:not(.ts-footer-contact-icon) {
    white-space: nowrap;
    font-size: clamp(.78rem, 3.35vw, .95rem);
  }

  .ts-footer-address br {
    display: none;
  }

  .ts-footer-social {
    padding-top: var(--ts-sp-4);
  }

  .ts-footer-accreditations {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .ts-cta-band .ts-cta-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-3) !important;
    width: 100% !important;
    max-width: 420px !important;
    margin-inline: auto !important;
  }

  .ts-cta-band .ts-cta-actions .ts-btn {
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: var(--ts-sp-3) !important;
    font-size: clamp(.82rem, 3.2vw, .95rem) !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }

  .ts-cta-band .ts-cta-actions:has(.ts-btn:only-child) {
    grid-template-columns: minmax(0, 220px) !important;
    justify-content: center !important;
  }

  .ts-cta-band .ts-cta-actions .ts-btn:only-child {
    justify-self: center !important;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-checker .ts-checker-trust-grid,
  body:has(.ts-checker-widget) .ts-checker-trust-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-3) !important;
    width: 100% !important;
  }

  .page-template-template-checker .ts-checker-trust-item,
  body:has(.ts-checker-widget) .ts-checker-trust-item {
    min-width: 0 !important;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .home .ts-section--reviews .ts-grid-3,
  body.home .ts-section--reviews .ts-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4) !important;
  }

  .home .ts-section--reviews .ts-card,
  body.home .ts-section--reviews .ts-card {
    padding: var(--ts-sp-5) !important;
  }

  .home .ts-section--reviews .ts-card p,
  body.home .ts-section--reviews .ts-card p {
    font-size: .86rem;
    line-height: 1.6;
  }
}

@media (max-width: 640px) {
  body.page-id-95 .ts-content .wp-block-columns,
  body.page-id-95 .entry-content .wp-block-columns,
  body.page-id-95 main .ts-content .wp-block-columns,
  body.page-id-95 main .entry-content .wp-block-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: calc(100% + (var(--ts-sp-4) * 2)) !important;
    max-width: none !important;
    margin-inline: calc(var(--ts-sp-4) * -1) !important;
    gap: var(--ts-sp-4) !important;
  }

  body.page-id-95 .ts-content .wp-block-columns > .wp-block-column,
  body.page-id-95 .entry-content .wp-block-columns > .wp-block-column,
  body.page-id-95 main .ts-content .wp-block-columns > .wp-block-column,
  body.page-id-95 main .entry-content .wp-block-columns > .wp-block-column {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex-basis: auto !important;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  body.page-id-95 .ts-content .wp-block-columns,
  body.page-id-95 .entry-content .wp-block-columns,
  body.page-id-95 main .ts-content .wp-block-columns,
  body.page-id-95 main .entry-content .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: calc(100% + (var(--ts-sp-4) * 2)) !important;
    max-width: none !important;
    margin-inline: calc(var(--ts-sp-4) * -1) !important;
    gap: var(--ts-sp-4) !important;
  }

  body.page-id-95 .ts-content .wp-block-columns > .wp-block-column,
  body.page-id-95 .entry-content .wp-block-columns > .wp-block-column,
  body.page-id-95 main .ts-content .wp-block-columns > .wp-block-column,
  body.page-id-95 main .entry-content .wp-block-columns > .wp-block-column {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: var(--ts-sp-4) !important;
    gap: var(--ts-sp-2) !important;
  }

  body.page-id-95 .ts-content .wp-block-columns > .wp-block-column h3,
  body.page-id-95 .entry-content .wp-block-columns > .wp-block-column h3,
  body.page-id-95 main .ts-content .wp-block-columns > .wp-block-column h3,
  body.page-id-95 main .entry-content .wp-block-columns > .wp-block-column h3 {
    font-size: .95rem !important;
    line-height: 1.25 !important;
  }

  body.page-id-95 .ts-content .wp-block-columns > .wp-block-column p,
  body.page-id-95 .entry-content .wp-block-columns > .wp-block-column p,
  body.page-id-95 main .ts-content .wp-block-columns > .wp-block-column p,
  body.page-id-95 main .entry-content .wp-block-columns > .wp-block-column p {
    font-size: .78rem !important;
    line-height: 1.5 !important;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .page-template-template-internet .ts-plans-grid--cable,
  .page-template-template-internet .ts-plans-grid--dsl,
  .page-template-template-internet .ts-plans-grid--rural {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ts-sp-4) !important;
  }

  .page-template-template-internet .ts-plan-card {
    min-width: 0;
    padding: var(--ts-sp-4) !important;
  }

  .page-template-template-internet .ts-plan-name {
    font-size: .95rem;
  }

  .page-template-template-internet .ts-plan-price {
    font-size: 2rem;
  }

  .page-template-template-internet .ts-plan-feature,
  .page-template-template-internet .ts-plan-features li {
    font-size: .78rem;
    line-height: 1.45;
  }

  .page-template-template-internet .ts-plan-card .ts-btn {
    width: 100%;
    min-width: 0;
    padding-inline: var(--ts-sp-3);
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  body.page-id-95 .ts-content .wp-block-group.alignfull:has(.wp-block-columns),
  body.page-id-95 .entry-content .wp-block-group.alignfull:has(.wp-block-columns) {
    padding-left: var(--ts-sp-4) !important;
    padding-right: var(--ts-sp-4) !important;
  }

  body.page-id-95 .ts-content .wp-block-group.alignfull:has(.wp-block-columns) > .wp-block-group__inner-container,
  body.page-id-95 .entry-content .wp-block-group.alignfull:has(.wp-block-columns) > .wp-block-group__inner-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-id-95 .ts-content .wp-block-group.alignfull:has(.wp-block-columns) .wp-block-columns,
  body.page-id-95 .entry-content .wp-block-group.alignfull:has(.wp-block-columns) .wp-block-columns {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-id-95 .ts-content > .wp-block-group.alignfull:nth-of-type(2),
  body.page-id-95 .entry-content > .wp-block-group.alignfull:nth-of-type(2) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-95 .ts-content > .wp-block-group.alignfull:nth-of-type(2) > .wp-block-group__inner-container,
  body.page-id-95 .entry-content > .wp-block-group.alignfull:nth-of-type(2) > .wp-block-group__inner-container {
    width: 100% !important;
    max-width: none !important;
  }

  body.page-id-95 .ts-content > .wp-block-group.alignfull:nth-of-type(2) h2,
  body.page-id-95 .entry-content > .wp-block-group.alignfull:nth-of-type(2) h2 {
    padding-left: var(--ts-sp-4) !important;
    padding-right: var(--ts-sp-4) !important;
  }

  body.page-id-95 .ts-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns,
  body.page-id-95 .entry-content > .wp-block-group.alignfull:nth-of-type(2) .wp-block-columns {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Internet page: WCAG AA contrast safeguards for plan tabs, badges, and included text. */
#plans .ts-plan-tabs--pages .ts-plan-tab.is-active,
#plans .ts-plan-tabs--pages .ts-plan-tab.is-active:hover,
#plans .ts-plan-tabs--pages .ts-plan-tab.is-active:focus-visible,
#plans .ts-plan-tabs--pages .ts-plan-tab.is-active.active {
  background: #2563EB !important;
  background-color: #2563EB !important;
  border-color: #2563EB !important;
  color: #fff !important;
}

#plans .ts-plan-tabs--pages .ts-plan-tab.is-active .ts-plan-tab-label,
#plans .ts-plan-tabs--pages .ts-plan-tab.is-active .ts-plan-tab-sub,
#plans .ts-plan-tabs--pages .ts-plan-tab.is-active.active .ts-plan-tab-label,
#plans .ts-plan-tabs--pages .ts-plan-tab.is-active.active .ts-plan-tab-sub {
  color: #fff !important;
}

.page-template-template-internet .ts-plan-badge.ts-plan-badge--orange {
  background: #C2410C !important;
  background-color: #C2410C !important;
  color: #fff !important;
}

.page-template-template-internet .ts-included-label,
.page-template-template-internet .ts-included-text span {
  color: rgba(255,255,255,.72) !important;
}

/* TV page: WCAG AA contrast safeguards for plan counts, table prices, and add-ons. */
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-ch-count,
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-card--featured .ts-tv-plan-ch-count {
  color: #60A5FA !important;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-card--premium .ts-tv-plan-ch-count {
  color: #A78BFA !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-th-price {
  color: #fff !important;
  opacity: 1 !important;
}

.page-template-template-tv .ts-section--tv-addons .ts-tv-addon-amount {
  color: #60A5FA !important;
}

/* Bundle band: WCAG AA contrast safeguards for muted subtitle and mini-card pricing. */
.ts-bundle-band .ts-bundle-sub,
.ts-bundle-band .ts-bundle-mini-card span {
  color: rgba(255,255,255,.72) !important;
}

/* Rural Wireless: final WCAG AA contrast overrides for WordPress block output. */
body.page-id-114 main#ts-main-content .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button,
body.page-id-114 main#ts-main-content .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button {
  background: #047857 !important;
  background-color: #047857 !important;
  border-color: #047857 !important;
  color: #fff !important;
}

body.page-id-114 main#ts-main-content .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:hover,
body.page-id-114 main#ts-main-content .ts-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:focus-visible,
body.page-id-114 main#ts-main-content .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:hover,
body.page-id-114 main#ts-main-content .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:focus-visible {
  background: #065F46 !important;
  background-color: #065F46 !important;
  border-color: #065F46 !important;
  color: #fff !important;
}

body.page-id-114 main#ts-main-content .ts-content p.has-text-color[style*="16a34a"],
body.page-id-114 main#ts-main-content .ts-content p.has-text-color[style*="10b981"],
body.page-id-114 main#ts-main-content .ts-content p.has-text-color[style*="86EFAC"],
body.page-id-114 main#ts-main-content .entry-content p.has-text-color[style*="16a34a"],
body.page-id-114 main#ts-main-content .entry-content p.has-text-color[style*="10b981"],
body.page-id-114 main#ts-main-content .entry-content p.has-text-color[style*="86EFAC"] {
  color: #BBF7D0 !important;
}

/* Remote Support: WCAG AA contrast override for WordPress block CTA buttons. */
body.page-id-120 main#ts-main-content .ts-content .wp-block-button__link.has-background,
body.page-id-120 main#ts-main-content .entry-content .wp-block-button__link.has-background {
  background: #047857 !important;
  background-color: #047857 !important;
  border-color: #047857 !important;
  color: #fff !important;
}

body.page-id-120 main#ts-main-content .ts-content .wp-block-button__link.has-background:hover,
body.page-id-120 main#ts-main-content .ts-content .wp-block-button__link.has-background:focus-visible,
body.page-id-120 main#ts-main-content .entry-content .wp-block-button__link.has-background:hover,
body.page-id-120 main#ts-main-content .entry-content .wp-block-button__link.has-background:focus-visible {
  background: #065F46 !important;
  background-color: #065F46 !important;
  border-color: #065F46 !important;
  color: #fff !important;
}

/* Business Phone: WCAG AA contrast overrides for WordPress block CTA buttons and badges. */
body.page-id-332 main#ts-main-content .ts-content .wp-block-button__link.has-background,
body.page-id-332 main#ts-main-content .entry-content .wp-block-button__link.has-background {
  background: #047857 !important;
  background-color: #047857 !important;
  border-color: #047857 !important;
  color: #fff !important;
}

body.page-id-332 main#ts-main-content .ts-content .wp-block-button__link.has-background:hover,
body.page-id-332 main#ts-main-content .ts-content .wp-block-button__link.has-background:focus-visible,
body.page-id-332 main#ts-main-content .entry-content .wp-block-button__link.has-background:hover,
body.page-id-332 main#ts-main-content .entry-content .wp-block-button__link.has-background:focus-visible {
  background: #065F46 !important;
  background-color: #065F46 !important;
  border-color: #065F46 !important;
  color: #fff !important;
}

body.page-id-332 main#ts-main-content .ts-content p.has-text-color[style*="16a34a"],
body.page-id-332 main#ts-main-content .ts-content p.has-text-color[style*="10b981"],
body.page-id-332 main#ts-main-content .entry-content p.has-text-color[style*="16a34a"],
body.page-id-332 main#ts-main-content .entry-content p.has-text-color[style*="10b981"] {
  background: #047857 !important;
  background-color: #047857 !important;
  color: #fff !important;
}

/* Business Internet: WCAG AA contrast overrides for WordPress plan badges. */
body.page-id-316 main#ts-main-content .ts-content p.has-text-color[style*="16a34a"],
body.page-id-316 main#ts-main-content .ts-content p.has-text-color[style*="10b981"],
body.page-id-316 main#ts-main-content .ts-content p.has-text-color[style*="86EFAC"],
body.page-id-316 main#ts-main-content .entry-content p.has-text-color[style*="16a34a"],
body.page-id-316 main#ts-main-content .entry-content p.has-text-color[style*="10b981"],
body.page-id-316 main#ts-main-content .entry-content p.has-text-color[style*="86EFAC"] {
  background: #047857 !important;
  background-color: #047857 !important;
  color: #fff !important;
}

/* Rural Wireless: direct WCAG AA overrides for plan CTAs and recommended badge. */
body.page-id-114 main#ts-main-content a.wp-block-button__link.wp-element-button[href*="address-lookup"],
body.page-id-114 main#ts-main-content a.wp-block-button__link.wp-element-button[href*="contact"] {
  background: #047857 !important;
  background-color: #047857 !important;
  border-color: #047857 !important;
  color: #fff !important;
}

body.page-id-114 main#ts-main-content a.wp-block-button__link.wp-element-button[href*="address-lookup"]:hover,
body.page-id-114 main#ts-main-content a.wp-block-button__link.wp-element-button[href*="address-lookup"]:focus-visible,
body.page-id-114 main#ts-main-content a.wp-block-button__link.wp-element-button[href*="contact"]:hover,
body.page-id-114 main#ts-main-content a.wp-block-button__link.wp-element-button[href*="contact"]:focus-visible {
  background: #065F46 !important;
  background-color: #065F46 !important;
  border-color: #065F46 !important;
  color: #fff !important;
}

body.page-id-114 main#ts-main-content p.has-text-color[style*="16a34a"],
body.page-id-114 main#ts-main-content p.has-text-color[style*="10b981"],
body.page-id-114 main#ts-main-content p.has-text-color[style*="86EFAC"] {
  background: #047857 !important;
  background-color: #047857 !important;
  color: #fff !important;
}

/* Legal pages: WCAG AA contrast for contact links on light legal sections. */
.ts-section--legal address a[href^="tel:"],
.ts-section--legal address a[href^="mailto:"],
.ts-section--legal .ts-legal-body a,
.ts-section--legal .ts-legal-contact a {
  color: #047857 !important;
}

.ts-section--legal .ts-legal-body a {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

/* WAVE accessibility: homepage small-label readability and topbar contrast. */
body.home .ts-eyebrow,
body.home .ts-stat-label,
body.home .ts-rating-badge-platform,
body.home .ts-post-meta,
body.home .ts-post-cat,
body.home .ts-post-more,
body.home .ts-service-from,
body.home .ts-service-cta,
body.home .ts-text-link,
body.home .ts-footer-legal a,
body.home .ts-footer-copy,
body.home .ts-footer-hours,
body.home .ts-footer-social a,
body.home .ts-footer-col h3,
body.home .ts-footer-col a,
body.home .ts-page-hero-trust-item {
  font-size: 14px !important;
}

.ts-topbar a,
.ts-topbar a:visited {
  color: rgba(255,255,255,.92) !important;
}

.ts-topbar a:hover,
.ts-topbar a:focus-visible {
  color: #ffffff !important;
}

.ts-topbar-phone-icon {
  color: rgba(255,255,255,.92) !important;
}

.ts-topbar-sep {
  color: rgba(255,255,255,.64) !important;
}
/* Internet page: WAVE readability and contrast safeguards without layout changes. */
body.page-template-template-internet .ts-eyebrow,
body.page-template-template-internet .ts-plan-tab-sub,
body.page-template-template-internet .ts-plan-type,
body.page-template-template-internet .ts-plan-ul,
body.page-template-template-internet .ts-plan-price sub,
body.page-template-template-internet .ts-plan-note,
body.page-template-template-internet .ts-plan-best-for,
body.page-template-template-internet .ts-plan-feature,
body.page-template-template-internet .ts-plan-feature--note,
body.page-template-template-internet .ts-plans-disclaimer,
body.page-template-template-internet .ts-included-label,
body.page-template-template-internet .ts-included-text strong,
body.page-template-template-internet .ts-included-text span,
body.page-template-template-internet .ts-compare-disclaimer,
body.page-template-template-internet .ts-modem-list,
body.page-template-template-internet .ts-accordion-content p,
body.page-template-template-internet .ts-compare-table th,
body.page-template-template-internet .ts-compare-table td {
  font-size: 12px !important;
}

body.page-template-template-internet .ts-page-hero-trust-item,
body.page-template-template-internet .ts-plan-best-for-label {
  color: var(--ts-on-dark, #F8FAFC) !important;
}

body.page-template-template-internet .ts-plan-tab-sub,
body.page-template-template-internet .ts-included-label,
body.page-template-template-internet .ts-included-text span,
body.page-template-template-internet .ts-plans-disclaimer,
body.page-template-template-internet .ts-compare-disclaimer {
  color: rgba(255, 255, 255, .86) !important;
}

body.page-template-template-internet .ts-plan-badge--orange {
  background: #C2410C !important;
  background-color: #C2410C !important;
  color: #fff !important;
}

body.page-template-template-internet .ts-plan-badge--blue,
body.page-template-template-internet .ts-plan-tab.is-active,
body.page-template-template-internet .ts-plan-tab.is-active:hover,
body.page-template-template-internet .ts-plan-tab.is-active:focus-visible {
  background: #2563EB !important;
  background-color: #2563EB !important;
  border-color: #2563EB !important;
  color: #fff !important;
}

body.page-template-template-internet .ts-plan-card .ts-btn--green,
body.page-template-template-internet .ts-btn--green.ts-btn--lg,
body.page-template-template-internet .ts-included-band .ts-btn--green,
body.page-template-template-internet .ts-cta-band .ts-btn--green {
  background: #047857 !important;
  background-color: #047857 !important;
  border-color: #047857 !important;
  color: #fff !important;
}

body.page-template-template-internet .ts-plan-card .ts-btn--primary,
body.page-template-template-internet .ts-btn--primary.ts-btn--lg {
  background: #2563EB !important;
  background-color: #2563EB !important;
  border-color: #2563EB !important;
  color: #fff !important;
}

/* Internet page: WAVE safeguards for embedded availability checker labels and CTAs. */
body.page-template-template-internet #ts-availability-widget .step-label,
body.page-template-template-internet #ts-availability-widget .step-desc,
body.page-template-template-internet #ts-availability-widget .hint,
body.page-template-template-internet #ts-availability-widget .helper-text,
body.page-template-template-internet #ts-availability-widget .addr-bar,
body.page-template-template-internet #ts-availability-widget .addr-bar .chg,
body.page-template-template-internet #ts-availability-widget .op-avail-badge,
body.page-template-template-internet #ts-availability-widget .op-sub,
body.page-template-template-internet #ts-availability-widget .op-choice,
body.page-template-template-internet #ts-availability-widget .op-choice .oc-label,
body.page-template-template-internet #ts-availability-widget .op-choice .oc-detail,
body.page-template-template-internet #ts-availability-widget .op-note,
body.page-template-template-internet #ts-availability-widget .compare-heading,
body.page-template-template-internet #ts-availability-widget .ptag,
body.page-template-template-internet #ts-availability-widget .pstatus,
body.page-template-template-internet #ts-availability-widget .fb-desc,
body.page-template-template-internet #ts-availability-widget .fbp-info .fbp-speed,
body.page-template-template-internet #ts-availability-widget .fbp-price sub,
body.page-template-template-internet #ts-availability-widget .fb-more,
body.page-template-template-internet #ts-availability-widget .pt-tab,
body.page-template-template-internet #ts-availability-widget .plan-badge,
body.page-template-template-internet #ts-availability-widget .plan-speed,
body.page-template-template-internet #ts-availability-widget .plan-name,
body.page-template-template-internet #ts-availability-widget .plan-price sub,
body.page-template-template-internet #ts-availability-widget .plan-note,
body.page-template-template-internet #ts-availability-widget .select-hint,
body.page-template-template-internet #ts-availability-widget .ct-label,
body.page-template-template-internet #ts-availability-widget .ct-val,
body.page-template-template-internet #ts-availability-widget .ext-dis,
body.page-template-template-internet #ts-availability-widget .fpill,
body.page-template-template-internet #ts-availability-widget .ftr-phone,
body.page-template-template-internet #ts-availability-widget .pr-price,
body.page-template-template-internet #ts-availability-widget .pr-change,
body.page-template-template-internet #ts-availability-widget .addon-desc {
  font-size: 12px !important;
}

body.page-template-template-internet #ts-availability-widget .step-desc,
body.page-template-template-internet #ts-availability-widget .hint,
body.page-template-template-internet #ts-availability-widget .helper-text,
body.page-template-template-internet #ts-availability-widget .op-sub,
body.page-template-template-internet #ts-availability-widget .op-choice .oc-detail,
body.page-template-template-internet #ts-availability-widget .op-note,
body.page-template-template-internet #ts-availability-widget .compare-heading,
body.page-template-template-internet #ts-availability-widget .ftr-phone,
body.page-template-template-internet #ts-availability-widget .fpill {
  color: rgba(255, 255, 255, .86) !important;
}

body.page-template-template-internet #ts-availability-widget .btn-check,
body.page-template-template-internet #ts-availability-widget .btn-get-started,
body.page-template-template-internet #ts-availability-widget .plan-badge,
body.page-template-template-internet #ts-availability-widget .pt-tab.active {
  background: #2563EB !important;
  background-color: #2563EB !important;
  border-color: #2563EB !important;
  color: #fff !important;
}

body.page-template-template-internet #ts-availability-widget .pstatus.avail,
body.page-template-template-internet #ts-availability-widget .op-avail-badge {
  background: #D1FAE5 !important;
  border-color: #047857 !important;
  color: #064E3B !important;
}

/* Internet page: decorative icons drawn with CSS so WAVE does not treat them as tiny text. */
body.page-template-template-internet .ts-page-hero-trust-check,
body.page-template-template-internet .ts-accordion-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #F8FAFC !important;
  line-height: 1 !important;
  font-size: 0 !important;
}

body.page-template-template-internet .ts-page-hero-trust-check::before {
  content: "\2713";
  font-size: 14px !important;
  line-height: 1 !important;
}

body.page-template-template-internet .ts-accordion-icon::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid #F8FAFC;
}

body.page-template-template-internet .ts-accordion-trigger[aria-expanded="true"] .ts-accordion-icon::before {
  border-top-color: #60A5FA;
}

/* Internet page: WAVE small-text floor for plan badges. */
body.page-template-template-internet .ts-plan-badge,
body.page-template-template-internet .ts-plan-ribbon {
  font-size: 12px !important;
}
/* TV page: WAVE accessibility safeguards for decorative symbols, small helper text, and contrast. */
.page-template-template-tv .ts-page-hero-trust-check::before,
.page-template-template-tv .ts-tv-feat-check::before,
.page-template-template-tv .ts-section--tv-channels .ts-ch-check::before {
  content: "\2713";
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-minus::before {
  content: "\2212";
}

.page-template-template-tv .ts-page-hero-trust-check,
.page-template-template-tv .ts-tv-feat-check,
.page-template-template-tv .ts-section--tv-channels .ts-ch-check,
.page-template-template-tv .ts-section--tv-channels .ts-ch-minus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1em;
  color: #F8FAFC !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-cell--no .ts-ch-minus {
  color: #CBD5E1 !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-cell--yes .ts-ch-check {
  color: #F8FAFC !important;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-badge,
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-ch-label,
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-hst,
.page-template-template-tv .ts-section--tv-channels .ts-ch-th-price,
.page-template-template-tv .ts-section--tv-addons .ts-tv-addon-period {
  font-size: 0.75rem !important;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-price-period,
.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-features li,
.page-template-template-tv .ts-section--tv-addons .ts-tv-addon-desc,
.page-template-template-tv .ts-section--tv-channels .ts-tv-channel-note {
  font-size: 0.8125rem !important;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-badge--popular,
.page-template-template-tv .ts-section--tv-channels .ts-ch-cta-row td:nth-child(3) .ts-btn,
.page-template-template-tv .ts-section--tv-addons .ts-tv-addons-cta .ts-btn {
  background: #2563EB !important;
  background-color: #2563EB !important;
  color: #fff !important;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-badge--premium,
.page-template-template-tv .ts-section--tv-channels .ts-ch-cta-row td:nth-child(4) .ts-btn {
  background: #6D28D9 !important;
  background-color: #6D28D9 !important;
  color: #fff !important;
}

.page-template-template-tv .ts-section--tv-channels .ts-ch-cell--price,
.page-template-template-tv .ts-section--tv-addons .ts-tv-addon-amount {
  color: #93C5FD !important;
}
.page-template-template-tv .ts-accordion-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  color: #F8FAFC !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

.page-template-template-tv .ts-accordion-icon::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid #F8FAFC;
}

.page-template-template-tv .ts-accordion-trigger[aria-expanded="true"] .ts-accordion-icon::before {
  border-top-color: #93C5FD;
}

.page-template-template-tv .ts-section--tv-plans .ts-tv-plan-badge--value {
  width: 100% !important;
  max-width: none !important;
  min-height: 24px !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.06em !important;
}

/* Phone page: WAVE accessibility safeguards for decorative symbols, small helper text, and contrast. */
.page-template-template-phone .ts-page-hero-trust-check::before,
.page-template-template-phone .ts-plan-feature-check::before {
  content: "\2713";
  font-size: 14px !important;
  line-height: 1 !important;
}

.page-template-template-phone .ts-page-hero-trust-check,
.page-template-template-phone .ts-plan-feature-check,
.page-template-template-phone .ts-accordion-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #F8FAFC !important;
  line-height: 1 !important;
  font-size: 0 !important;
}

.page-template-template-phone .ts-plan-feature-check {
  min-width: 16px;
}

.page-template-template-phone .ts-accordion-icon {
  width: 14px !important;
  height: 14px !important;
}

.page-template-template-phone .ts-accordion-icon::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid #F8FAFC;
}

.page-template-template-phone .ts-accordion-trigger[aria-expanded="true"] .ts-accordion-icon::before {
  border-top-color: #93C5FD;
}

.page-template-template-phone .ts-twinning-device span,
.page-template-template-phone .ts-twinning-ring-badge,
.page-template-template-phone .ts-plan-badge,
.page-template-template-phone .ts-plan-ribbon,
.page-template-template-phone .ts-plan-kicker,
.page-template-template-phone .ts-plan-price-sub,
.page-template-template-phone .ts-plan-note,
.page-template-template-phone .ts-vs-note,
.page-template-template-phone .ts-compare-disclaimer {
  font-size: 12px !important;
}

.page-template-template-phone .ts-btn--primary,
.page-template-template-phone .ts-btn--green {
  background: #047857 !important;
  background-color: #047857 !important;
  border-color: #047857 !important;
  color: #fff !important;
}

.page-template-template-phone .ts-plan-badge--blue,
.page-template-template-phone .ts-plan-card.is-popular .ts-btn--primary,
.page-template-template-phone .ts-plan-card.is-popular .ts-btn--green {
  background: #2563EB !important;
  background-color: #2563EB !important;
  border-color: #2563EB !important;
  color: #fff !important;
}

.page-template-template-phone .ts-twinning-ring-badge {
  background: #047857 !important;
  background-color: #047857 !important;
  color: #fff !important;
}
/* About page: WAVE accessibility safeguard for FAQ accordion arrows. */
.page-template-template-about .ts-accordion-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  color: #F8FAFC !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

.page-template-template-about .ts-accordion-icon::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid #F8FAFC;
}

.page-template-template-about .ts-accordion-trigger[aria-expanded="true"] .ts-accordion-icon::before {
  border-top-color: #93C5FD;
}
/* Support Hub page: WAVE accessibility safeguard for checklist accordion arrows. */
.page-template-template-support .ts-accordion-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  color: #F8FAFC !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

.page-template-template-support .ts-accordion-icon::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid #F8FAFC;
}

.page-template-template-support .ts-accordion-trigger[aria-expanded="true"] .ts-accordion-icon::before {
  border-top-color: #93C5FD;
}
/* Contact page: WAVE accessibility safeguards for required markers and FAQ accordion arrows. */
.page-template-template-contact .ts-cform-req {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0.55em;
  color: #FCA5A5 !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

.page-template-template-contact .ts-cform-req::before {
  content: "*";
  font-size: 1rem !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.page-template-template-contact .ts-accordion-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  color: #F8FAFC !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

.page-template-template-contact .ts-accordion-icon::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid #F8FAFC;
}

.page-template-template-contact .ts-accordion-trigger[aria-expanded="true"] .ts-accordion-icon::before {
  border-top-color: #93C5FD;
}
/* Address Lookup page: WAVE accessibility safeguards for decorative checkmarks. */
.page-template-template-checker .ts-page-hero-trust-check,
.page-template-template-checker .ts-checker-example-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 16px !important;
  color: #34D399 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.page-template-template-checker .ts-page-hero-trust-check::before,
.page-template-template-checker .ts-checker-example-check::before {
  content: "";
  width: 6px;
  height: 10px;
  border-right: 2px solid #86EFAC;
  border-bottom: 2px solid #86EFAC;
  transform: rotate(45deg);
}
/* Service Area pages: WAVE accessibility safeguard for FAQ accordion arrows. */
.page-template-template-service-area .ts-accordion-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  color: #F8FAFC !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

.page-template-template-service-area .ts-accordion-icon::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid #F8FAFC;
}

.page-template-template-service-area .ts-accordion-trigger[aria-expanded="true"] .ts-accordion-icon::before {
  border-top-color: #93C5FD;
}
/* FAQ page: WAVE accessibility safeguard for accordion arrows. */
.page-template-template-faq .ts-accordion-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  color: #F8FAFC !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

.page-template-template-faq .ts-accordion-icon::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid #F8FAFC;
}

.page-template-template-faq .ts-accordion-trigger[aria-expanded="true"] .ts-accordion-icon::before {
  border-top-color: #93C5FD;
}


/* Remote Support: keep decorative step numbers visual without WAVE treating them as headings. */

.ts-remote-step-number {
  display: block;
  margin: 0 0 1rem;
  line-height: 1;
}

.ts-remote-step-number::before {
  content: attr(data-step);
}

/* Rural Wireless: WAVE readability safeguards for plan price suffixes. */
body.page-id-114 main#ts-main-content .ts-rural-price-symbol,
body.page-id-114 main#ts-main-content .ts-rural-price-cents {
  font-size: .5em !important;
}

body.page-id-114 main#ts-main-content .wp-block-column h2 > span:not(.ts-rural-price-symbol):not(.ts-rural-price-whole):not(.ts-rural-price-cents) {
  font-size: .42em !important;
  color: var(--ts-on-dark-muted, #D7E3F2) !important;
}
/* Managed IT page: WAVE contrast safeguards for buttons, badges, and required markers. */
.page-template-template-managed-it .ts-btn--green {
  background-color: #047857 !important;
  border-color: #047857 !important;
  color: #FFFFFF !important;
}

.page-template-template-managed-it .ts-btn--green:hover,
.page-template-template-managed-it .ts-btn--green:focus-visible {
  background-color: #065F46 !important;
  border-color: #065F46 !important;
  color: #FFFFFF !important;
}

.page-template-template-managed-it .ts-btn--primary {
  background-color: #1D4ED8 !important;
  border-color: #1D4ED8 !important;
  color: #FFFFFF !important;
}

.page-template-template-managed-it .ts-btn--primary:hover,
.page-template-template-managed-it .ts-btn--primary:focus-visible {
  background-color: #1E40AF !important;
  border-color: #1E40AF !important;
  color: #FFFFFF !important;
}

.page-template-template-managed-it .ts-plan-badge,
.page-template-template-managed-it .ts-plan-badge--blue {
  background-color: #047857 !important;
  color: #FFFFFF !important;
}

.page-template-template-managed-it #it-consultation .ts-cform-req {
  color: #FCA5A5 !important;
}

/* Managed IT page: WAVE accessibility safeguard for FAQ accordion arrows. */
.page-template-template-managed-it .ts-accordion-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

.page-template-template-managed-it .ts-accordion-icon::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid #F8FAFC;
}

.page-template-template-managed-it .ts-accordion-trigger[aria-expanded="true"] .ts-accordion-icon::before {
  border-top-color: #93C5FD;
}
/* Internet page: plan cards are not clickable, so keep the default cursor on the card surface. */
body.page-template-template-internet .ts-plan-card {
  cursor: default !important;
}

body.page-template-template-internet .ts-plan-card .ts-btn {
  cursor: pointer !important;
}
/* Phone page: plan cards are not clickable, so keep the default cursor on the card surface. */
body.page-template-template-phone .ts-plan-card {
  cursor: default !important;
}

body.page-template-template-phone .ts-plan-card .ts-btn {
  cursor: pointer !important;
}

/* ═══════════════════════════════════════════════════
   P1 CRO (2026-07-10)
   1. Hero price anchor under the subhead.
   2. Verifiable-proof links (trust chip + rating badges).
   3. Mobile hero: the availability checker moves directly under the
      headline (display:contents flattens .ts-hero-content so its children
      and the aside share one flex order space). Front page only.
═══════════════════════════════════════════════════ */
.ts-hero-price {
  font-size: 1rem;
  font-weight: 600;
  color: rgba(255,255,255,.92);
  margin: 0 0 var(--ts-sp-6);
}
/* Match the plain trust chips (a color:inherit picked up a dimmer ancestor). */
a.ts-page-hero-trust-item--link { color: rgba(255,255,255,.84); text-decoration: none; }
a.ts-page-hero-trust-item--link:hover,
a.ts-page-hero-trust-item--link:focus-visible { text-decoration: underline; }
a.ts-rating-badge--link { color: inherit; text-decoration: none; }
a.ts-rating-badge--link:hover,
a.ts-rating-badge--link:focus-visible { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.1); }

@media (max-width: 1024px) {
  /* The flattened column keeps the desktop grid's 48px gap, which stacks on
     each element's own margins — kill the gap and let margins do the rhythm. */
  .home .ts-hero-inner { display: flex; flex-direction: column; gap: 0; }
  .home .ts-hero-content { display: contents; }
  .home .ts-hero-content .ts-eyebrow { order: 1; }
  .home .ts-hero-content h1 { order: 2; margin-bottom: var(--ts-sp-4); }
  .home .ts-hero-aside { order: 3; margin-top: 0; width: 100%; justify-content: center; }
  .home .ts-hero-aside .syc { width: 100%; }
  .home .ts-hero-sub { order: 4; margin: var(--ts-sp-6) 0 var(--ts-sp-2); }
  .home .ts-hero-price { order: 5; margin-bottom: var(--ts-sp-4); }
  .home .ts-hero-actions { order: 6; }
  .home .ts-page-hero-trust { order: 7; }
  /* The widget sitting right under the headline IS the check CTA here —
     drop the duplicate green button; Compare Plans stays. */
  .home .ts-hero-actions .ts-btn--hero-check { display: none; }
}

/* ═══════════════════════════════════════════════════
   HOMEPAGE HERO FACELIFT (2026-07-11)
   1. Checker card top-aligned with the headline; h1 trimmed just enough
      to keep "Better Internet Starts Here." on one line (fits <=46.8px
      at the 607px content column — measured live).
   2. Hero CTA buttons removed from the copy column (the checker IS the
      check CTA); Internet/TV/Phone plan links sit under the checker.
   3. Trust strip spans the full hero width below both columns.
═══════════════════════════════════════════════════ */
.home .ts-hero h1 { font-size: clamp(1.875rem, 5vw, 2.8125rem); }
.home .ts-hero-inner { align-items: start; }
.home .ts-hero-content { justify-content: flex-start; }
.home .ts-hero-aside {
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: var(--ts-sp-2);
  /* Card top level with the eyebrow line. */
  margin-top: 0;
}
.ts-hero-plan-links {
  display: flex;
  gap: var(--ts-sp-3);
  width: 100%;
}
.ts-hero-plan-links .ts-btn { flex: 1; }
/* The Customizer Additional-CSS rule `.ts-btn--sm { background-color: #059669
   !important }` (there for the header CTA) would fill these solid green and
   drown the checker's own CTA — keep the outline look here. */
.ts-hero-plan-links .ts-btn--outline-white { background: transparent !important; }
.ts-hero-plan-links .ts-btn--outline-white:hover,
.ts-hero-plan-links .ts-btn--outline-white:focus-visible { background: rgba(255,255,255,.12) !important; }
/* The band lives outside .ts-hero-inner, so it needs its own lift above
   the hero's ::before gradient layer. */
.home .ts-page-hero-trust--band {
  position: relative;
  z-index: 1;
  justify-content: space-between;
  margin-top: var(--ts-sp-10);
}
@media (max-width: 1024px) {
  .home .ts-hero-aside { margin-top: 0; }
  .home .ts-page-hero-trust--band { justify-content: flex-start; margin-top: var(--ts-sp-6); }
}

/* Footer legal links: each label stays intact on ONE line and the ROW wraps
   instead. This deliberately reverses the earlier "keep the row to a single
   line" rule, because forcing one row meant squeezing the flex items until the
   LABELS broke mid-phrase: "Accessibility" stayed on one line while its
   neighbour split into "Network" / "Management", so the second line sat under
   "Network" rather than under the item above it and the whole row read as
   misaligned. There is no way to align a label that is broken in half, so the
   fix is to stop it breaking. */
@media (min-width: 769px) {
  .ts-footer-legal { flex-wrap: wrap; }
  .ts-footer-legal a { white-space: nowrap; }
}

/* Two-line plan feature: bold label with a descriptor underneath. */
.ts-plan-feature-body { display: block; }
.ts-plan-feature-body strong { display: block; font-weight: 700; }
.ts-plan-feature-sub { display: block; font-size: .8125rem; line-height: 1.4; opacity: .75; }

/* Top bar account links on mobile.
   Webmail / My Account / News were dropped below 768px, which left no way to
   reach webmail from a phone. Give the group its own centred row under the
   phone numbers, as tap-sized chips so it reads as a control rather than as
   leftover text.
   This first shipped with display:flex !important, to beat a Customizer
   Additional-CSS rule that hid the group and was printed after this
   stylesheet. That rule was deleted from the Customizer on 2026-08-07, so the
   !important is gone too. The .ts-topbar-inner centring is repeated here
   because the Customizer block still sets it, and this layout should not
   depend on that block surviving. */
@media (max-width: 768px) {
  .ts-topbar-inner {
    justify-content: center;
    gap: 4px 12px;
  }
  .ts-topbar-right {
    display: flex;
    flex-basis: 100%;
    justify-content: center;
    gap: 6px;
  }
  /* The chips separate themselves; the middots would just add noise. */
  .ts-topbar-right .ts-topbar-sep { display: none; }
  .ts-topbar-right a {
    min-height: 30px;
    padding: 5px 11px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fff !important;
  }
  .ts-topbar-right a:hover,
  .ts-topbar-right a:focus-visible {
    background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.32);
  }
}

/* ═══════════════════════════════════════════════════
   SERVICE SUITE PAGES — Web Services & Managed IT
   Shared component set for the two long-form service
   pages, which are built to read like small sites of
   their own inside the Truespeed shell. Class prefixes
   ts-suite-, ts-work-, ts-care-, ts-pain-, ts-timeline
   and ts-subnav are used nowhere else in the theme.
   ═══════════════════════════════════════════════════ */

/* ── Hero: copy on the left, a price summary card on the right ── */
.ts-suite-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.85fr);
  gap: var(--ts-sp-12);
  align-items: start;
}
.ts-suite-hero-side {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--ts-r-lg);
  padding: var(--ts-sp-6);
}
.ts-suite-side-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--ts-sp-3);
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.ts-suite-side-row:last-of-type { border-bottom: none; }
.ts-suite-side-k {
  font-size: 0.8125rem;
  color: rgba(255,255,255,.72);
}
.ts-suite-side-v {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
  white-space: nowrap;
}

/* ── Hero stat strip ── */
.ts-suite-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ts-sp-6);
  margin-top: var(--ts-sp-12);
  padding-top: var(--ts-sp-8);
  border-top: 1px solid rgba(255,255,255,.14);
}
.ts-suite-stat { display: flex; flex-direction: column; gap: 4px; }
.ts-suite-stat-n {
  font-family: var(--ts-font-display);
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1;
  color: var(--ts-cyan, #00B4FF);
}
.ts-suite-stat-l {
  font-size: 0.8125rem;
  line-height: 1.45;
  color: rgba(255,255,255,.74);
}

/* ── In-page section nav. Deliberately not sticky: the site header is
      already position:sticky at z-index 200, so a second sticky bar would
      scroll underneath it and disappear. ── */
.ts-subnav {
  background: var(--ts-dark-base, #0D1520);
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.ts-subnav-list {
  display: flex;
  align-items: center;
  gap: var(--ts-sp-2);
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.ts-subnav-list::-webkit-scrollbar { height: 3px; }
.ts-subnav-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,.2); }
.ts-subnav-list li { flex: 0 0 auto; }
.ts-subnav-list a {
  display: block;
  padding: 15px 14px;
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: .01em;
  color: rgba(255,255,255,.72);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  transition: color .18s ease, border-color .18s ease;
}
.ts-subnav-list a:hover,
.ts-subnav-list a:focus-visible {
  color: #fff;
  border-bottom-color: var(--ts-cyan, #00B4FF);
}
.ts-subnav-cta { margin-left: auto; }
.ts-subnav-cta a { color: var(--ts-cyan, #00B4FF); }

/* ── Portfolio grid: screenshot in a browser frame ── */
.ts-work-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: var(--ts-sp-8);
}
.ts-work-card {
  display: flex;
  flex-direction: column;
  background: var(--ts-dark-card, #1A2840);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--ts-r-lg);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ts-work-card:hover,
.ts-work-card:focus-within {
  transform: translateY(-3px);
  border-color: rgba(0,180,255,.5);
  box-shadow: 0 18px 40px rgba(0,0,0,.38);
}
.ts-work-shot {
  display: block;
  text-decoration: none;
  background: #0B1220;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.ts-work-chrome {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 12px;
  background: rgba(255,255,255,.07);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ts-work-dot {
  width: 9px; height: 9px;
  border-radius: 50%;
  background: rgba(255,255,255,.26);
  flex: 0 0 auto;
}
.ts-work-url {
  margin-left: 8px;
  padding: 2px 10px;
  border-radius: var(--ts-r-full);
  background: rgba(0,0,0,.28);
  font-family: var(--ts-font-body);
  font-size: 0.6875rem;
  color: rgba(255,255,255,.66);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ts-work-shot img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 900 / 605;
  object-fit: cover;
  object-position: top center;
  transition: opacity .2s ease;
}
.ts-work-shot:hover img { opacity: .88; }
.ts-work-body {
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-3);
  padding: var(--ts-sp-6);
  flex: 1;
}
.ts-work-sector {
  font-family: var(--ts-font-display);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--ts-cyan, #00B4FF);
}
.ts-work-name {
  font-family: var(--ts-font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--ts-on-dark, #F0F4F8);
  margin: 0;
}
.ts-work-note {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--ts-on-dark-muted, #9DB0C2);
  margin: 0;
}
.ts-work-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ts-work-tags li {
  padding: 4px 10px;
  border-radius: var(--ts-r-full);
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.10);
  font-size: 0.6875rem;
  font-weight: 600;
  color: rgba(255,255,255,.78);
}
.ts-work-link {
  margin-top: auto;
  padding-top: var(--ts-sp-2);
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--ts-cyan, #00B4FF);
  text-decoration: none;
}
.ts-work-link:hover { text-decoration: underline; }

/* ── Pain-point cards ── */
.ts-pain-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: var(--ts-sp-6);
}
.ts-pain-card {
  position: relative;
  padding: var(--ts-sp-6);
  padding-left: calc(var(--ts-sp-6) + 30px);
  background: var(--ts-dark-card, #1A2840);
  border: 1px solid rgba(255,255,255,.10);
  border-left: 3px solid var(--ts-orange, #F97316);
  border-radius: 12px;
}
.ts-pain-mark {
  position: absolute;
  left: var(--ts-sp-5);
  top: var(--ts-sp-6);
  width: 22px; height: 22px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(249,115,22,.16);
  border: 1px solid rgba(249,115,22,.45);
  color: #FDBA74;
  font-family: var(--ts-font-display);
  font-size: 0.8125rem;
  font-weight: 900;
  line-height: 1;
}
.ts-pain-card h3 {
  font-family: var(--ts-font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--ts-on-dark, #F0F4F8);
  margin: 0 0 6px;
}
.ts-pain-card p {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--ts-on-dark-muted, #9DB0C2);
  margin: 0;
}

/* ── Care / plan cards ── */
.ts-care-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
  gap: var(--ts-sp-6);
  align-items: stretch;
}
.ts-care-grid--3 { grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); }
.ts-care-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--ts-sp-3);
  padding: var(--ts-sp-6);
  background: var(--ts-dark-card, #1A2840);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--ts-r-lg);
}
.ts-care-card--best {
  border-color: var(--ts-orange, #F97316);
  box-shadow: 0 0 0 1px var(--ts-orange, #F97316), 0 12px 32px rgba(249,115,22,.14);
}
.ts-care-card .ts-plan-badge {
  position: static;
  align-self: flex-start;
  transform: none;
  margin-bottom: 2px;
}
.ts-care-name {
  font-family: var(--ts-font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--ts-on-dark, #F0F4F8);
  margin: 0;
}
.ts-care-price {
  font-family: var(--ts-font-display);
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1;
  color: #fff;
}
.ts-care-price span {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ts-on-dark-soft, #BFD0E4);
}
.ts-care-sub {
  font-size: 0.8125rem;
  color: var(--ts-on-dark-muted, #9DB0C2);
  margin: 0;
}
.ts-care-feats {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin: var(--ts-sp-2) 0 0;
  padding: var(--ts-sp-4) 0 0;
  border-top: 1px solid rgba(255,255,255,.10);
  list-style: none;
}
.ts-care-feats li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--ts-on-dark-muted, #9DB0C2);
}
.ts-care-feats li span {
  flex: 0 0 auto;
  color: #86EFAC;
  font-weight: 900;
}

/* ── Numbered vertical timeline ── */
.ts-timeline {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 820px;
}
.ts-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: var(--ts-sp-5);
  padding-bottom: var(--ts-sp-8);
}
.ts-timeline-item:last-child { padding-bottom: 0; }
.ts-timeline-item::before {
  content: "";
  position: absolute;
  left: 25px;
  top: 52px;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, rgba(0,180,255,.45), rgba(0,180,255,.05));
}
.ts-timeline-item:last-child::before { display: none; }
.ts-timeline-marker {
  width: 52px; height: 52px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(0,180,255,.12);
  border: 1px solid rgba(0,180,255,.42);
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 900;
  color: var(--ts-cyan, #00B4FF);
}
.ts-timeline-body { padding-top: 6px; }
.ts-timeline-body h3 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--ts-sp-3);
  font-family: var(--ts-font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--ts-on-dark, #F0F4F8);
  margin: 0 0 6px;
}
.ts-timeline-when {
  padding: 3px 10px;
  border-radius: var(--ts-r-full);
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  font-family: var(--ts-font-body);
  font-size: 0.6875rem;
  font-weight: 600;
  color: rgba(255,255,255,.72);
}
.ts-timeline-body p {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--ts-on-dark-muted, #9DB0C2);
  margin: 0;
}

/* ── Check-list grid ── */
.ts-suite-included-section { background: var(--ts-dark-base, #0D1520); }
.ts-suite-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--ts-sp-6);
}
.ts-suite-check {
  display: flex;
  align-items: flex-start;
  gap: var(--ts-sp-4);
  padding: var(--ts-sp-5);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
}
.ts-suite-check-mark {
  flex: 0 0 auto;
  width: 26px; height: 26px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(16,185,129,.16);
  border: 1px solid rgba(16,185,129,.45);
  color: #6EE7B7;
  font-size: 0.8125rem;
  font-weight: 900;
}
.ts-suite-check strong {
  display: block;
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--ts-on-dark, #F0F4F8);
  margin-bottom: 3px;
}
.ts-suite-check span {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--ts-on-dark-muted, #9DB0C2);
}

/* ── Data tables (add-ons, response targets, comparison) ── */
.ts-suite-table-title {
  font-family: var(--ts-font-display);
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--ts-on-dark, #F0F4F8);
  margin: var(--ts-sp-12) 0 var(--ts-sp-4);
}
.ts-suite-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--ts-r-lg);
  background: var(--ts-dark-card, #1A2840);
}
.ts-suite-table-wrap:focus-visible {
  outline: 2px solid var(--ts-cyan, #00B4FF);
  outline-offset: 2px;
}
.ts-suite-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.ts-suite-table thead th {
  padding: 14px 18px;
  background: rgba(255,255,255,.05);
  border-bottom: 1px solid rgba(255,255,255,.12);
  font-family: var(--ts-font-display);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.78);
  text-align: left;
}
.ts-suite-table tbody th,
.ts-suite-table tbody td {
  padding: 14px 18px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  vertical-align: top;
  text-align: left;
  color: var(--ts-on-dark-muted, #9DB0C2);
  line-height: 1.55;
  font-weight: 400;
}
.ts-suite-table tbody th {
  font-family: var(--ts-font-display);
  font-weight: 700;
  color: var(--ts-on-dark, #F0F4F8);
  width: 27%;
}
.ts-suite-table tbody tr:last-child th,
.ts-suite-table tbody tr:last-child td { border-bottom: none; }
.ts-suite-td-price {
  font-family: var(--ts-font-display);
  font-weight: 800;
  color: #fff;
  white-space: nowrap;
}
.ts-suite-th-win { color: #fff; }
.ts-suite-table--compare .ts-suite-td-win {
  background: rgba(16,185,129,.08);
  color: #D9F5E6;
}
.ts-suite-table--compare .ts-suite-td-lose { color: rgba(255,255,255,.52); }

/* ── Severity pills ── */
.ts-sla-pill {
  display: inline-block;
  padding: 4px 12px;
  border-radius: var(--ts-r-full);
  font-family: var(--ts-font-display);
  font-size: 0.75rem;
  font-weight: 800;
}
.ts-sla-pill--crit  { background: rgba(239,68,68,.16);   border: 1px solid rgba(239,68,68,.5);   color: #FCA5A5; }
.ts-sla-pill--high  { background: rgba(249,115,22,.16);  border: 1px solid rgba(249,115,22,.5);  color: #FDBA74; }
.ts-sla-pill--norm  { background: rgba(59,130,246,.16);  border: 1px solid rgba(59,130,246,.5);  color: #93C5FD; }
.ts-sla-pill--sched { background: rgba(148,163,184,.16); border: 1px solid rgba(148,163,184,.5); color: #CBD5E1; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .ts-suite-hero-grid { grid-template-columns: minmax(0, 1fr); gap: var(--ts-sp-8); }
  .ts-suite-hero-side { max-width: 460px; }
  .ts-suite-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ts-sp-5); }
}
@media (max-width: 768px) {
  .ts-work-grid { grid-template-columns: minmax(0, 1fr); gap: var(--ts-sp-6); }
  .ts-suite-table-title { margin-top: var(--ts-sp-8); }
  .ts-timeline-item { grid-template-columns: 42px minmax(0, 1fr); gap: var(--ts-sp-4); }
  .ts-timeline-marker { width: 42px; height: 42px; font-size: 0.8125rem; }
  .ts-timeline-item::before { left: 20px; top: 42px; }
  .ts-subnav-list a { padding: 13px 11px; font-size: 0.75rem; }
  .ts-subnav-cta { margin-left: 0; }
}
@media (max-width: 560px) {
  .ts-suite-stats { grid-template-columns: minmax(0, 1fr); gap: var(--ts-sp-4); }
  .ts-care-price { font-size: 1.875rem; }
  .ts-pain-card { padding-left: calc(var(--ts-sp-5) + 26px); }
}

/* Motion-safety: the lift on portfolio cards is decorative. */
@media (prefers-reduced-motion: reduce) {
  .ts-work-card,
  .ts-work-shot img { transition: none; }
  .ts-work-card:hover,
  .ts-work-card:focus-within { transform: none; }
}

/* Modem & Installation cards: line-art icons, the same set the plan tabs
   use (ts_internet_tab_icon), replacing the emoji that used to sit here. */
.ts-modem-icon svg {
  width: 34px;
  height: 34px;
  display: block;
  color: var(--ts-cyan, #00B4FF);
}

/* ═══════════════════════════════════════════════════
   NEWS: image provenance notice + linked-story figure
   ═══════════════════════════════════════════════════ */

/* The notice sits immediately under the News/Blog/Facebook tab row, so it
   needs air above it and a treatment that reads as an advisory rather than
   as another content card. Amber separates it from both the blue tabs and
   the slate story cards while keeping light-on-dark readability.

   It previously carried inline styles referencing --ts-radius and
   --ts-blue-600, neither of which this theme defines: that is why it
   rendered as a hard-cornered near-white slab flush against the tabs.
   Selector is p.ts-news-image-notice so it outranks `.ts-section p`. */
p.ts-news-image-notice {
  margin: var(--ts-sp-8) 0 var(--ts-sp-8);
  padding: var(--ts-sp-5) var(--ts-sp-6);
  background: rgba(245, 158, 11, .09);
  border: 1px solid rgba(245, 158, 11, .34);
  border-left: 3px solid #F59E0B;
  border-radius: var(--ts-r-lg);
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--ts-on-dark-muted, #D7E3F2);
}
p.ts-news-image-notice strong {
  font-family: var(--ts-font-display);
  font-weight: 800;
  color: #FCD34D;
}
p.ts-news-image-notice a {
  color: #FCD34D;
  text-decoration: underline;
}

/* ── Linked-story post: figure + "Read the Full Story" ── */

/* The image is now the publisher's own, at whatever aspect ratio they use,
   so the hardcoded width/height are stripped server-side and the sizing is
   done here instead. */
.single .ts-article-body .wp-block-image img {
  width: 100%;
  height: auto;
  border-radius: var(--ts-r-lg);
}
.single .ts-article-body .wp-block-image {
  margin-inline: auto;
}

/* Gutenberg already emits is-content-justification-center on this block, but
   the theme ships no layout support for it, so the button sat hard left. */
.single .ts-article-body .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--ts-sp-3);
  margin: var(--ts-sp-6) 0 var(--ts-sp-4);
}
.single .ts-article-body .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 30px;
  border: 1px solid #2563EB;
  border-radius: var(--ts-r-full);
  background: #2563EB;
  color: #fff;
  font-family: var(--ts-font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.single .ts-article-body .wp-block-button__link:hover,
.single .ts-article-body .wp-block-button__link:focus-visible {
  background: #1D4ED8;
  border-color: #1D4ED8;
  color: #fff;
  transform: translateY(-1px);
}

/* The centred URL line above the button is machine-ish; quiet it down so the
   button is clearly the thing to press. */
.single .ts-article-body p.has-text-align-center {
  font-size: 0.8125rem;
  color: var(--ts-on-dark-soft, #BFD0E4);
  word-break: break-word;
}

@media (prefers-reduced-motion: reduce) {
  .single .ts-article-body .wp-block-button__link { transition: none; }
  .single .ts-article-body .wp-block-button__link:hover,
  .single .ts-article-body .wp-block-button__link:focus-visible { transform: none; }
}

@media (max-width: 560px) {
  p.ts-news-image-notice { padding: var(--ts-sp-4) var(--ts-sp-5); }
  .single .ts-article-body .wp-block-button__link { padding: 12px 24px; }
}

