/* Reset & Base */
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html {
  /* scroll-behavior: auto — smooth only on anchor clicks (see main.js). Fixes first-scroll jump on light theme. */
  scroll-behavior: auto;
  overflow-x: hidden;
  height: 100%;
}

html,
body {
  max-width: 100vw;
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-text-primary);
  background-color: var(--color-background);
}

body {
  overflow-x: clip; /* Prevent horizontal overflow while allowing sticky */
  /* Don't force <body> to be the scroll container.
     This can conflict with header/topbar state changes and "eat" the first scroll on KB pages. */
  overflow-y: visible;
  min-height: 100%;
  position: relative;
  width: 100%;
  max-width: 100%;
}

/* Mobile safety net: Prevent page-level horizontal scroll */
@media (max-width: 480px) {
  body {
    overflow-x: hidden;
  }
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

/* Focus States - Accessibility */
*:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

button:focus-visible,
a:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
  border-radius: var(--radius-sm);
}

/* Button Styles - Premium */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 2rem;
  border-radius: var(--radius-md);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  text-align: center;
  transition: all var(--transition-base);
  border: 1px solid transparent;
  position: relative;
  overflow: hidden;
}

.btn-primary {
  background-color: var(--color-brand-primary);
  color: white;
  box-shadow: 0 2px 4px rgba(26, 115, 232, 0.2);
}

.btn-primary:hover {
  background-color: var(--color-brand-primary-hover);
  box-shadow: 0 4px 8px rgba(26, 115, 232, 0.3);
  transform: translateY(-1px);
}

.btn-primary:active {
  transform: translateY(0);
}

.btn-secondary {
  background-color: transparent;
  color: var(--color-brand-primary);
  border: 1px solid rgba(26, 115, 232, 0.3);
  transition: all var(--transition-base);
  padding: 0.75rem 1.75rem;
}

.btn-secondary:hover {
  background-color: rgba(26, 115, 232, 0.04);
  color: var(--color-brand-primary);
  border-color: rgba(26, 115, 232, 0.4);
}

.btn-secondary:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.btn-primary:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

/* Button Size Modifier - Header */
.btn--header {
  font-size: 0.95rem;
  padding: 0.6rem 1.25rem;
}

/* Container */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 18px;
  box-sizing: border-box;
  overflow-x: visible; /* Changed from clip to visible to prevent billing period clipping */
}

/* Mobile: Add safe padding to prevent edge touching */
@media (max-width: 480px) {
  .container {
    padding-left: clamp(12px, 4vw, 16px);
    padding-right: clamp(12px, 4vw, 16px);
  }
}

/* Breadcrumb */
.breadcrumb {
  margin-bottom: 14px;
  padding-top: 12px;
}

/* Web Hosting page: Tighten breadcrumb and hero spacing */
.wh-hero .breadcrumb {
  margin: 8px 0 10px 0;
  padding-top: 0;
  font-size: 13px;
  line-height: 1.1;
}

/* Ensure no extra spacing from header or main */
.wh-hero {
  margin-top: 0;
}

/* Ensure header doesn't add bottom margin */
.site-header {
  margin-bottom: 0;
}

.wh-hero .breadcrumb__link,
.wh-hero .breadcrumb__current {
  font-size: 13px;
  line-height: 1.1;
}

.wh-hero .breadcrumb__separator {
  font-size: 13px;
  line-height: 1.1;
}

.breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.breadcrumb__item {
  display: inline-flex;
  align-items: center;
}

.breadcrumb__link {
  font-size: 12px;
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color var(--transition-base);
}

.breadcrumb__link:hover {
  color: var(--color-brand-primary);
  text-decoration: underline;
}

.breadcrumb__current {
  font-size: 12px;
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-medium);
}

.breadcrumb__separator {
  font-size: 12px;
  color: var(--color-text-tertiary);
  margin: 0 2px;
  user-select: none;
}

/* Section Spacing - Improved (normalized, slightly reduced for premium density) */
.section {
  padding: calc(var(--section-padding-desktop) * 0.9) 0;
}

.section-sm {
  padding: var(--section-padding-mobile) 0;
}

@media (max-width: 768px) {
  .section {
    padding: calc(var(--section-padding-mobile) * 0.85) 0;
  }
}

/* Utility Classes */
.text-center {
  text-align: center;
}

.mt-sm { margin-top: var(--spacing-sm); }
.mt-md { margin-top: var(--spacing-md); }
.mt-lg { margin-top: var(--spacing-lg); }
.mt-xl { margin-top: var(--spacing-xl); }

.mb-sm { margin-bottom: var(--spacing-sm); }
.mb-md { margin-bottom: var(--spacing-md); }
.mb-lg { margin-bottom: var(--spacing-lg); }
.mb-xl { margin-bottom: var(--spacing-xl); }

/* Premium Header Styles */
.site-header {
  position: relative;
  width: 100%;
  margin-bottom: 0;
}

.site-header.is-scrolled .header-main {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(26, 115, 232, 0.18);
}

/* Ensure fixed header always has background */
.header-main.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 10000;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.92), rgba(247, 249, 252, 0.92)) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

html[data-theme="dark"] .header-main.is-fixed {
  background: linear-gradient(to bottom, rgba(13, 15, 19, 0.98), rgba(10, 12, 15, 0.98)) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Topbar Row */
.topbar {
  background: rgba(248, 249, 250, 0.96);
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  width: 100%;
  position: relative;
  z-index: 11000; /* keep language menu above header */
  overflow: visible; /* allow language menu to overflow */
  max-height: 44px; /* enough for 34px inner + borders */
  /* Slightly slower show; hide duration overridden below */
  transition: opacity 220ms ease-out, transform 220ms ease-out, max-height 260ms ease-out;
  will-change: opacity, transform, max-height;
}

.topbar.is-hidden {
  opacity: 0;
  /* Less aggressive slide so it doesn't feel like a snap */
  transform: translateY(-12px);
  max-height: 0;
  pointer-events: none;
  overflow: hidden; /* safe while collapsing */
  /* Slow down the hide animation specifically */
  transition-duration: 320ms, 320ms, 360ms;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1), cubic-bezier(0.16, 1, 0.3, 1), cubic-bezier(0.16, 1, 0.3, 1);
}

/* Dark theme desktop: fully remove topbar when hidden */

/* Desktop: when hiding, remove topbar from flow so it can't "drop" below fixed header */
@media (min-width: 901px) {
  .topbar.is-hidden {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 999; /* just under .header-main (1000) */
  }
}

.topbar-inner {
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  line-height: 1;
}

.topbar-left {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
  color: rgba(15, 23, 42, 0.72);
}

.topbar-left a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-base);
}

.topbar-left a:hover {
  color: rgba(26, 115, 232, 1);
}

.topbar-left .topbar-dot {
  opacity: 0.25;
}

.topbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.topbar-item {
  color: inherit;
}

.topbar-link {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-base);
}

.topbar-link:hover {
  color: rgba(26, 115, 232, 1);
}

.topbar-dot {
  color: inherit;
  opacity: 0.25;
  font-size: 0.625rem;
}

/* Main Header Row */
.header-main {
  position: sticky;
  top: 0;
  height: 64px;
  display: flex;
  align-items: center;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.92), rgba(247, 249, 252, 0.92));
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  width: 100%;
  z-index: 1000;
}

.header-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  width: 100%;
  position: relative;
}

@media (max-width: 900px) {
  .header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}


.header-left {
  display: contents;
}

.header-left > .brand {
  grid-column: 1;
  display: flex;
  align-items: center;
}

.header-left > .nav {
  grid-column: 2;
  justify-self: center;
  display: flex;
  align-items: center;
}

.brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  transition: opacity var(--transition-base);
  z-index: 1;
  line-height: 1;
}

.brand:hover {
  opacity: 0.8;
}

.brand img {
  display: block;
  height: auto;
  width: auto;
  max-height: 44px;
}

/* Site Logo - SVG styling */
.brand .site-logo {
  height: 42px;
  width: auto;
  object-fit: contain;
}

/* Logo swap - Default to light, swap in dark mode */
.brand .site-logo--dark {
  display: none;
}

.brand .site-logo--light {
  display: block;
}

html[data-theme="dark"] .brand .site-logo--light {
  display: none;
}

html[data-theme="dark"] .brand .site-logo--dark {
  display: block;
}

@media (max-width: 900px) {
  .brand .site-logo {
    height: 38px;
  }
}

/* Desktop Navigation - Centered */
.nav {
  display: flex;
  align-items: center;
  justify-self: center;
}

.nav-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-list li {
  position: relative;
}

.nav-link {
  color: var(--color-text-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  padding: 0.375rem 0.5rem;
  position: relative;
  transition: all var(--transition-base);
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border-radius: 999px;
  background: transparent;
}

.nav-link:hover {
  color: var(--color-brand-primary);
  background: rgba(26, 115, 232, 0.08);
}

.nav-link.active {
  color: var(--color-brand-primary);
  background: rgba(26, 115, 232, 0.15);
}

.nav-link:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
  border-radius: 999px;
}

/* Support Dropdown */
.nav-dropdown {
  position: relative;
}

.nav-dropdown-toggle {
  cursor: pointer;
  background: none;
  border: none;
  font-family: inherit;
}

.nav-dropdown-arrow {
  font-size: 0.5rem;
  transition: transform var(--transition-base);
  margin-left: 0.25rem;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  vertical-align: middle;
}

.nav-dropdown.open .nav-dropdown-arrow {
  transform: rotate(180deg);
}

.nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  background: var(--color-background);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  list-style: none;
  min-width: 200px;
  padding: 0.5rem 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all var(--transition-base);
  z-index: 100;
  margin: 0;
}

.nav-dropdown.open .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nav-dropdown-link {
  display: block;
  padding: 0.625rem 1.25rem;
  color: var(--color-text-primary);
  font-size: var(--font-size-sm);
  transition: background-color var(--transition-base), color var(--transition-base);
}

.nav-dropdown-link:hover,
.nav-dropdown-link.active {
  background: var(--color-background-section);
  color: var(--color-brand-primary);
}

/* Header Right Section */
.header-right {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
  order: 1;
}


/* Theme Toggle Button - Modern Pill Control */
.theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: var(--radius-full);
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--color-text-primary);
  transition: all var(--transition-base);
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
}

.theme-toggle:hover {
  background: rgba(255, 255, 255, 0.8);
  border-color: rgba(15, 23, 42, 0.15);
}

.theme-toggle:active {
  transform: scale(0.95);
}

.theme-toggle:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

/* Theme toggle icons */
.theme-toggle__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity var(--transition-base), transform var(--transition-base);
}

.theme-toggle__icon svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
}

/* Show sun icon in light mode, moon in dark mode */
.theme-toggle__icon--moon {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}

.theme-toggle__icon--sun {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg);
}

.theme-toggle.is-dark .theme-toggle__icon--sun {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}

.theme-toggle.is-dark .theme-toggle__icon--moon {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg);
}

/* Fallback: sync with data-theme attribute (for immediate display before JS runs) */
html[data-theme="dark"] .theme-toggle:not(.is-dark) .theme-toggle__icon--sun {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}

html[data-theme="dark"] .theme-toggle:not(.is-dark) .theme-toggle__icon--moon {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg);
}

/* Dark theme toggle styling */
html[data-theme="dark"] .theme-toggle {
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(32, 33, 36, 0.6);
}

html[data-theme="dark"] .theme-toggle:hover {
  background: rgba(32, 33, 36, 0.8);
  border-color: rgba(255, 255, 255, 0.2);
}

/* Theme Toggle - Topbar Variant (Compact) */
.theme-toggle--topbar {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.70);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.theme-toggle--topbar:hover {
  background: rgba(255, 255, 255, 0.85);
  border-color: rgba(15, 23, 42, 0.15);
}

.theme-toggle--topbar .theme-toggle__icon {
  width: 14px;
  height: 14px;
}

.theme-toggle--topbar .theme-toggle__icon svg {
  width: 14px;
  height: 14px;
}

html[data-theme="dark"] .theme-toggle--topbar {
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(32, 33, 36, 0.6);
}

html[data-theme="dark"] .theme-toggle--topbar:hover {
  background: rgba(32, 33, 36, 0.8);
  border-color: rgba(255, 255, 255, 0.2);
}

/* Language Switcher - Compact Pill */
.lang-switcher {
  position: relative;
  display: inline-block;
  z-index: 11000; /* ensure dropdown sits above header CTA */
}

.lang-switcher .lang-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.70);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--color-text-primary);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-base);
  font-family: inherit;
}

.lang-switcher .lang-trigger:hover {
  background: rgba(255, 255, 255, 0.85);
  border-color: rgba(15, 23, 42, 0.15);
}

.lang-switcher .lang-trigger:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.lang-caret {
  font-size: 8px;
  opacity: 0.6;
  transition: transform var(--transition-base);
  display: inline-block;
}

/* Caret rotation is controlled by open state (JS), not hover */

.lang-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 60px;
  background: var(--color-background);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  padding: 4px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity var(--transition-base), transform var(--transition-base), visibility var(--transition-base);
  z-index: 11001; /* above .header-main (1000) and CTA */
}

.lang-switcher.is-open .lang-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.lang-switcher.is-open .lang-caret {
  transform: rotate(180deg);
}

.lang-option {
  display: block;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  border-radius: var(--radius-sm);
  transition: background-color var(--transition-base), color var(--transition-base);
  text-align: center;
}

.lang-option:hover,
.lang-option:focus {
  background: var(--color-background-section);
  color: var(--color-brand-primary);
}

.lang-option--disabled {
  opacity: 0.7;
  cursor: not-allowed;
  pointer-events: none;
  color: var(--color-text-tertiary);
}

.lang-option__soon {
  font-size: 10px;
  font-weight: var(--font-weight-medium);
  opacity: 0.9;
}

html[data-theme="dark"] .lang-switcher .lang-trigger {
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(32, 33, 36, 0.6);
}

html[data-theme="dark"] .lang-switcher .lang-trigger:hover {
  background: rgba(32, 33, 36, 0.8);
  border-color: rgba(255, 255, 255, 0.2);
}

html[data-theme="dark"] .lang-menu {
  background: var(--color-background-section);
  border-color: var(--color-border);
}

@media (prefers-reduced-motion: reduce) {
  .theme-toggle,
  .theme-toggle__icon,
  .lang-trigger,
  .lang-caret,
  .lang-menu {
    transition: none;
  }
  
  .theme-toggle__icon {
    transform: translate(-50%, -50%) !important;
  }
  
  .theme-toggle.is-dark .theme-toggle__icon {
    transform: translate(-50%, -50%) !important;
  }
}

/* Header CTA - Refined */
.header-cta {
  white-space: nowrap;
  flex-shrink: 0;
}

/* Mobile Toggle Button */
.nav-toggle {
  grid-column: 3;
  justify-self: end;
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  z-index: 10000;
  width: 40px;
  height: 40px;
  justify-content: center;
  align-items: center;
  order: 2;
  border-radius: 8px;
  transition: background-color var(--transition-base);
  position: relative;
}

.nav-toggle:hover {
  background: rgba(26, 115, 232, 0.08);
}

.nav-toggle:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.nav-toggle span {
  width: 22px;
  height: 2.5px;
  background: var(--color-text-primary);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: block;
  border-radius: 2px;
}

.nav-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}

.nav-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
  transform: translateX(-10px);
}

.nav-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

/* Mobile Menu Overlay */
.mobile-menu-overlay {
  position: fixed;
  inset: 0;
  background: rgba(2, 6, 23, 0.45);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  z-index: 4000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}

.mobile-menu-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

/* Mobile Navigation Panel */
.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  height: 100dvh;
  width: min(420px, 92vw);
  max-width: 420px;
  padding: 16px 20px;
  background: var(--bg-elevated);
  border-right: 1px solid var(--border-color);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
  z-index: 4001;
  transform: translateX(-100%) translateZ(0);
  transition: transform 200ms ease-out;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  color: var(--text-primary);
  --drawer-control-bg: rgba(15, 23, 42, 0.04);
  --drawer-control-border: rgba(15, 23, 42, 0.10);
  --drawer-hover-bg: rgba(15, 23, 42, 0.04);
}

.mobile-menu.is-open {
  transform: translateX(0) translateZ(0);
}

body.menu-open .site-header,
body.menu-open .header-main {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* When drawer is open, avoid duplicate "X" in header toggle */
body.menu-open .nav-toggle {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.mobile-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 44px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border-color);
  width: auto;
  margin: -16px -20px 8px; /* keep only one divider above nav */
}

.menu-utils {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.mobile-menu-header .lang-trigger,
.mobile-menu-header .theme-toggle--mobile,
.mobile-menu-header .menu-close {
  height: 36px;
  min-width: 36px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--drawer-control-bg);
  border: 1px solid var(--drawer-control-border);
  color: var(--text-primary);
}

.mobile-menu-header .lang-trigger {
  padding: 0 10px;
  gap: 6px;
}

.mobile-menu-header .theme-toggle--mobile {
  width: 36px;
  padding: 0;
}

.menu-close {
  width: 44px;  /* >= 44px tap target */
  height: 44px; /* >= 44px tap target */
  cursor: pointer;
}

.mobile-menu__nav {
  padding: 10px 16px 8px; /* consistent left padding */
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: visible;
  list-style: none;
  margin: 0;
  flex: 1;
  min-height: 0;
  width: 100%;
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
  color: var(--menu-item-color);
}

.mobile-menu__nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  margin: 0;
  text-decoration: none;
  font-size: 17px;
  font-weight: 500;
  color: inherit;
  border-radius: 10px;
  transition: color 200ms ease-out, background-color 200ms ease-out;
}

.mobile-menu__nav a:hover {
  color: var(--color-primary);
  background: var(--drawer-hover-bg);
}

.mobile-menu__nav a:active {
  color: var(--color-primary);
  background: var(--drawer-hover-bg);
}

.mobile-menu__nav li.active > a {
  color: var(--color-primary);
  background: var(--color-primary-soft);
}

.mobile-menu__nav li.active > a:hover,
.mobile-menu__nav li.active > a:active {
  background: var(--color-primary-soft);
}

/* Ensure mobile menu content is visible when open */
.mobile-menu.is-open .mobile-menu__nav {
  display: block;
  visibility: visible;
  opacity: 1;
}

.mobile-menu.is-open .mobile-menu__nav li {
  display: block;
  visibility: visible;
  opacity: 1;
}

.mobile-menu.is-open .mobile-menu__nav a {
  display: flex;
  visibility: visible;
  opacity: 1;
}

.mobile-menu__bottom,
.mobile-menu-footer,
.mobile-menu__footer {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--color-border-subtle);
  padding-left: 0;
  padding-right: 0;
  background: var(--bg-elevated);
  position: sticky;
  bottom: 0;
  width: 100%;
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
}

.mobile-menu__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--text-secondary);
  font-size: 14px;
  margin-bottom: 8px;
}

.mobile-menu__meta a {
  color: var(--text-secondary);
  opacity: 0.85;
  text-decoration: none;
  transition: color 200ms ease-out, text-decoration-color 200ms ease-out;
}

.mobile-menu__meta a:hover {
  color: var(--text-secondary);
  text-decoration: underline;
}

.mobile-menu__meta a:active {
  text-decoration: underline;
}

.mobile-menu__meta .dot {
  opacity: 0.6;
  font-size: 10px;
}

.mobile-menu-footer .client-area-btn {
  width: 100%;
  height: 48px;
  font-weight: 600;
  position: sticky;
  bottom: 0;
  margin-top: 12px;
  border-radius: 12px;
}

.mobile-menu__bottom .btn {
  padding: 0.7rem 1rem;
  font-size: 0.95rem;
}

/* Dark theme overrides */
html[data-theme="dark"] .mobile-menu {
  height: 100dvh !important;
  min-height: 100dvh !important;
  z-index: 20000 !important;
  isolation: isolate;
  will-change: transform;
  --drawer-control-bg: rgba(255, 255, 255, 0.04);
  --drawer-control-border: rgba(255, 255, 255, 0.10);
  --drawer-hover-bg: rgba(255, 255, 255, 0.05);
}



/* Mobile Styles */
@media (max-width: 900px) {
  /* Hide topbar completely on mobile - content moved to mobile menu */
  .topbar {
    display: none !important;
  }

  /* Hide desktop language switcher and theme toggle - they're in mobile menu now */
  .topbar-right {
    display: none !important;
  }
  
  /* On mobile, revert header-inner to flex for simpler layout */
  .header-inner {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    grid-template-columns: none !important;
    width: 100%;
    overflow: hidden;
  }
  
  .header-left {
    display: flex;
    align-items: center;
    flex-shrink: 0;
  }
  
  .header-left > .brand {
    flex-shrink: 0;
  }
  
  /* Hide desktop navigation completely on mobile */
  .header-left > .nav,
  .nav,
  .nav-list {
    display: none !important;
    visibility: hidden !important;
  }
  
  /* Hide Client Area button on mobile */
  .header-right {
    display: none !important;
    visibility: hidden !important;
  }
  
  /* Show hamburger menu toggle */
  .nav-toggle {
    display: flex !important;
    visibility: visible !important;
    flex-shrink: 0;
    order: 999;
    margin-left: auto;
  }

  .header-main {
    height: 64px;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 10000;
    transform: translateZ(0);
    will-change: transform;
    /* Ensure background is always visible when fixed */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.92), rgba(247, 249, 252, 0.92)) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .mobile-menu {
    top: 64px; /* Sit below fixed header */
    height: calc(100dvh - 64px);
    display: block !important;
  }

  .mobile-menu-overlay {
    display: block;
    inset: 64px 0 0 0; /* Don't cover fixed header */
  }
  
  /* Prevent horizontal scroll */
  body {
    overflow-x: hidden !important;
    padding-top: 64px;
  }

  /* Scroll lock only while the mobile drawer is open */
  body.menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
    left: 0;
    right: 0;
  }
  
  .site-header {
    overflow-x: hidden;
  }

  html[data-theme="dark"] .header-main {
    /* iOS/Safari: fixed + backdrop-filter can fail to render in dark theme */
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(13, 15, 19, 0.98);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }

  html[data-theme="dark"] .site-header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .theme-toggle {
    min-width: 36px;
    height: 36px;
  }

  .theme-toggle__icon {
    width: 16px;
    height: 16px;
  }

  .theme-toggle__icon svg {
    width: 16px;
    height: 16px;
  }
}

@media (min-width: 901px) {
  .mobile-menu,
  .mobile-menu-overlay,
  .mobile-menu.is-open,
  .mobile-menu-overlay.is-open {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transform: translateX(-100%) !important;
    pointer-events: none !important;
  }
  
  .nav-toggle {
    display: none !important;
  }
}


/* SEO footer block — “About this page” above footer */
.seo-footer-block {
  margin: 64px auto 24px;
}

.seo-footer-block__card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(255, 255, 255, 0.7);
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 10px 30px rgba(2, 6, 23, 0.06);
  backdrop-filter: blur(8px);
}

.seo-footer-block__title {
  margin: 0 0 10px;
  font-size: 22px;
  letter-spacing: -0.02em;
  font-weight: 800;
  color: var(--color-text-primary);
}

.seo-footer-block__p {
  margin: 0 0 10px;
  color: rgba(15, 23, 42, 0.7);
  line-height: 1.65;
  max-width: 900px;
}

.seo-footer-block__p:last-of-type {
  margin-bottom: 0;
}

.seo-footer-block__list {
  margin: 10px 0 12px 18px;
  padding-left: 20px;
  color: rgba(15, 23, 42, 0.72);
  line-height: 1.6;
}

.seo-footer-block__list li {
  margin: 4px 0;
}

.seo-footer-block__links-wrap {
  margin: 14px 0 0;
  color: rgba(15, 23, 42, 0.6);
  font-size: 15px;
  line-height: 1.6;
}

.seo-footer-block__links-label {
  font-weight: 600;
  margin-right: 6px;
}

.seo-footer-block__links-wrap a {
  color: rgba(37, 99, 235, 0.95);
  text-decoration: none;
  font-weight: 600;
}

.seo-footer-block__links-wrap a:hover {
  text-decoration: underline;
}

.seo-footer-block__links-sep {
  margin: 0 6px;
  color: rgba(15, 23, 42, 0.4);
  font-weight: 400;
}

html[data-theme="dark"] .seo-footer-block__card {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(2, 6, 23, 0.4);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .seo-footer-block__title {
  color: rgba(226, 232, 240, 0.95);
}

html[data-theme="dark"] .seo-footer-block__p,
html[data-theme="dark"] .seo-footer-block__list {
  color: rgba(226, 232, 240, 0.72);
}

html[data-theme="dark"] .seo-footer-block__links-wrap {
  color: rgba(226, 232, 240, 0.65);
}

html[data-theme="dark"] .seo-footer-block__links-wrap a {
  color: rgba(147, 197, 253, 0.95);
}

html[data-theme="dark"] .seo-footer-block__links-sep {
  color: rgba(226, 232, 240, 0.4);
}

@media (max-width: 640px) {
  .seo-footer-block__card {
    padding: 20px;
  }
  .seo-footer-block {
    margin-top: 48px;
  }
}

/* Footer - Premium, grounded, complete */
.footer {
  background: var(--color-background-section);
  border-top: 1px solid var(--color-border-light);
  padding: var(--spacing-3xl) 0 0;
  margin-top: var(--spacing-3xl);
}

.footer__container {
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
}

.footer-content {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr 1fr;
  gap: var(--spacing-xl) var(--spacing-lg);
  margin-bottom: var(--spacing-2xl);
  padding-bottom: var(--spacing-xl);
  align-items: start;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
}

.footer-brand__logo {
  display: block;
  margin-bottom: 0.25rem;
}

.footer-brand__logo img {
  display: block;
  height: 28px;
  width: auto;
  max-width: 140px;
}

.footer-brand__logo .site-logo--dark {
  display: none;
}

html[data-theme="dark"] .footer-brand__logo .site-logo--light {
  display: none;
}

html[data-theme="dark"] .footer-brand__logo .site-logo--dark {
  display: block;
}

.footer-brand__tagline {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin: 0;
  line-height: 1.45;
  max-width: 22ch;
}

.footer-brand__trust {
  font-size: var(--text-xs);
  color: var(--color-text-tertiary);
  margin: 0;
  line-height: 1.4;
}

.footer-column {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.footer-title {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-bottom: 0.75rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.footer-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
}

.footer-list a {
  color: var(--color-text-secondary);
  font-size: 13px;
  transition: color var(--transition-base), text-decoration-color var(--transition-base);
  text-underline-offset: 3px;
  line-height: 1.4;
}

.footer-list a:hover {
  color: var(--color-brand-primary);
  text-decoration: underline;
}

.footer-list a:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
  border-radius: 2px;
}

.footer-bottom {
  padding: var(--spacing-md) 0 var(--spacing-lg);
  border-top: 1px solid var(--color-border-light);
  text-align: left;
}

.footer-copyright {
  font-size: var(--text-xs);
  color: var(--color-text-tertiary);
  margin: 0;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .footer-content {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl) var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
    padding-bottom: var(--spacing-lg);
  }

  .footer-brand {
    grid-column: 1 / -1;
    padding-bottom: var(--spacing-md);
    border-bottom: 1px solid var(--color-border-light);
    margin-bottom: 0;
  }

  .footer-brand__tagline {
    max-width: none;
  }
}

@media (max-width: 480px) {
  .footer {
    padding: var(--spacing-2xl) 0 0;
  }

  .footer-content {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
  }

  .footer-brand {
    grid-column: 1;
    padding-bottom: var(--spacing-lg);
  }

  .footer-title {
    margin-bottom: 0.5rem;
  }

  .footer-bottom {
    padding-top: var(--spacing-md);
    text-align: center;
  }
}

/* Hero Styles - Premium (soft aurora + subtle dots) */
.hero {
  position: relative;
  overflow: hidden;
  padding: 96px 16px 64px;
  text-align: center;
  border-bottom: 1px solid var(--color-border-light);
  background: linear-gradient(to bottom, rgba(247, 249, 252, 0.98), #fff);
}

.page-header {
  padding: 3.5rem 0 2.5rem;
  text-align: center;
  position: relative;
  border-bottom: 1px solid var(--color-border-light);
  overflow: hidden;
  background: radial-gradient(1200px 600px at 20% 20%, rgba(26, 115, 232, 0.08), transparent 60%),
              linear-gradient(to bottom, rgba(247, 249, 252, 0.9), rgba(255, 255, 255, 0.98));
}

.hero-inner {
  max-width: 900px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* Hero background layer — soft blue glow (light) */
.hero::before {
  content: "";
  position: absolute;
  inset: -25%;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(700px 360px at 50% 30%, rgba(37, 99, 235, 0.14), transparent 60%),
    radial-gradient(520px 300px at 70% 55%, rgba(59, 130, 246, 0.1), transparent 62%),
    radial-gradient(520px 320px at 30% 60%, rgba(14, 165, 233, 0.08), transparent 65%);
  filter: blur(0);
  opacity: 1;
}

/* Optional: super subtle dot texture (light) */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: radial-gradient(rgba(15, 23, 42, 0.05) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: 0.18;
  mask-image: radial-gradient(60% 55% at 50% 35%, #000 40%, transparent 70%);
  -webkit-mask-image: radial-gradient(60% 55% at 50% 35%, #000 40%, transparent 70%);
}

@media (prefers-reduced-motion: no-preference) {
  .hero::before {
    animation: heroGlow 9s ease-in-out infinite;
  }
}

@keyframes heroGlow {
  0%, 100% { transform: translateY(0) scale(1); opacity: 1; }
  50% { transform: translateY(-8px) scale(1.02); opacity: 0.95; }
}

/* Ensure hero content stays above background */
.hero > *,
.hero .hero-inner,
.hero .container {
  position: relative;
  z-index: 1;
}

/* Subtle visual anchor behind hero content (5–8% opacity) */
.hero .hero-inner::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 400px;
  background: radial-gradient(ellipse at center, rgba(26, 115, 232, 0.07), transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.hero .hero-inner > * {
  position: relative;
  z-index: 1;
}

.hero-kicker {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #475569;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-weight: var(--font-weight-medium);
}

.hero-kicker::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: var(--color-brand-primary);
  opacity: 0.6;
}

.hero-title,
.page-header h1 {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
  margin-bottom: var(--spacing-sm);
  color: var(--color-text-primary);
  letter-spacing: var(--letter-spacing-tight);
  max-width: 20ch;
  margin-left: auto;
  margin-right: auto;
}

/* Rotating word base */
.hero-rotator {
  display: inline-block;
  color: #1a73e8; /* default brand blue */
  font-weight: 800;
  transition: color 350ms ease, text-shadow 350ms ease, opacity 0.4s ease-in-out;
  text-shadow: 0 6px 18px rgba(26,115,232,0.10);
  opacity: 1;
  vertical-align: baseline;
}

/* Shade variations (same hue family) */
.hero-rotator.is-simple     { color: #1a73e8; }
.hero-rotator.is-affordable { color: #2b7ff0; }
.hero-rotator.is-fast       { color: #1769e0; }
.hero-rotator.is-secure     { color: #1257c7; }

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .hero::before { animation: none; }
  .hero-rotator { transition: none; }
}

.hero-subtitle,
.hero-subline,
.intro {
  font-size: var(--font-size-xl);
  color: var(--color-text-secondary);
  margin-bottom: 1.5rem;
  margin-top: 0.5rem;
  line-height: var(--line-height-relaxed);
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}

/* Hero subline: better readability (slightly higher contrast, no excess letter-spacing) */
.hero .hero-subtitle {
  color: rgba(15, 23, 42, 0.78);
  letter-spacing: -0.01em;
}

html[data-theme="dark"] .hero .hero-subtitle {
  color: rgba(255, 255, 255, 0.82);
}

.hero-actions,
.hero-ctas {
  display: flex;
  gap: var(--spacing-md);
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.hero-btn-primary {
  font-size: var(--font-size-base);
  padding: 0.6rem 1.4rem;
  font-weight: var(--font-weight-semibold);
  box-shadow: 0 2px 8px rgba(26, 115, 232, 0.3);
  transform: translateY(0);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

.hero-btn-primary:hover {
  box-shadow: 0 4px 12px rgba(26, 115, 232, 0.35);
  transform: translateY(-2px);
}

.hero-btn-primary:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

/* Hero feature badges — non-interactive; distinct from CTAs */
.hero-pills,
.hero-pills * {
  pointer-events: none;
}

.hero-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--spacing-sm);
  margin-top: 1.25rem;
}

.hero-pill {
  display: inline-flex;
  align-items: center;
  cursor: default;
  padding: 0.5rem 0.875rem;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text-secondary);
  background: rgba(0, 0, 0, 0.04);
  border: none;
  border-radius: 999px;
  line-height: 1.2;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
}

.hero-pill:hover,
.hero-pill:active,
.hero-pill:focus,
.hero-pill:focus-visible {
  background: rgba(0, 0, 0, 0.04);
  box-shadow: none;
  transform: none;
}

.hero .hero-pill {
  background: rgba(0, 0, 0, 0.04);
  box-shadow: none;
}

/* Trust Strip - Premium */
.trust-strip {
  text-align: center;
  margin-top: 1.5rem;
  font-size: 13px;
  color: var(--color-text-secondary);
  font-weight: 400;
  line-height: 1.5;
}

.hero .trust-strip,
.hero .hero-trust-line {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1rem;
}

.hero-trust-line {
  text-align: center;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
}

.trust-item-icon {
  font-size: 1.25rem;
  flex-shrink: 0;
}

.trust-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  opacity: 1;
}

.trust-item .trust-dot,
.trust-item .trust-item-icon,
.trust-item svg {
  opacity: 1;
  flex-shrink: 0;
}

.trust-dot.is-blue {
  background-color: var(--color-accent-blue);
}

.trust-dot.is-red {
  background-color: var(--color-accent-red);
}

.trust-dot.is-yellow {
  background-color: var(--color-accent-yellow);
}

.trust-dot.is-green {
  background-color: var(--color-accent-green);
}

@media (max-width: 768px) {
  .hero,
  .page-header {
    padding: 3rem 0 2rem;
  }

  .hero-inner::before {
    width: 400px;
    height: 300px;
  }

  .hero-title,
  .page-header h1 {
    font-size: var(--font-size-2xl);
    max-width: none;
  }

  .hero-kicker {
    font-size: 11px;
    margin-bottom: 10px;
  }

  .hero-subtitle,
  .hero-subline,
  .intro {
    font-size: var(--font-size-lg);
    max-width: none;
    margin-bottom: 1.5rem;
    margin-top: 0.5rem;
  }

  .hero-actions,
  .hero-ctas {
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-bottom: 0;
  }

  .hero-actions .btn,
  .hero-ctas .btn {
    width: 100%;
    max-width: 280px;
  }

  .hero-pills {
    justify-content: center;
  }

  .trust-strip,
  .hero-trust-line {
    margin-top: 1rem;
    font-size: var(--text-sm);
    text-align: center;
  }

  .hero .trust-strip,
  .hero .hero-trust-line {
    max-width: 100%;
  }
}

/* Web Hosting Hero - Clean 2-Column Layout */
.wh-hero {
  padding: 2.5rem 0 3rem;
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

/* Web Hosting page: Reduce top padding - hero starts immediately under header */
.wh-hero {
  padding-top: 22px;
  padding-bottom: 18px;
  margin-top: 0;
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow-x: visible; /* Changed from clip to visible to prevent billing period clipping */
}

/* Web Hosting page: Soft gradient fade at top of hero in dark theme */
html[data-theme="dark"] .wh-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 200px;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.35),
    rgba(0, 0, 0, 0.0) 60%
  );
  pointer-events: none;
  z-index: 0;
}

html[data-theme="dark"] .wh-hero .container {
  position: relative;
  z-index: 1;
}

.wh-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  overflow-x: visible; /* Changed from clip to visible to prevent billing period clipping */
}

/* Mobile: Stack vertically */
@media (max-width: 768px) {
  .wh-hero__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.wh-hero__copy,
.wh-plans {
  align-self: start;
}

.wh-hero__copy {
  min-height: 520px;
}

/* Desktop: Rebalanced proportions */
@media (min-width: 1200px) {
  .wh-hero__grid {
    grid-template-columns: 58% 42%;
    gap: 40px;
    align-items: flex-start;
  }
}

/* Left Column: Hero Copy */
.wh-hero__copy {
  position: relative;
  z-index: 1;
  max-width: 600px;
}

/* Desktop: Extra bottom spacing for visual height */
@media (min-width: 1024px) {
  .wh-hero__copy {
    padding-bottom: 50px;
  }
}

/* Eyebrow */
.wh-hero__eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-secondary);
  background: rgba(26, 115, 232, 0.08);
  padding: 6px 12px;
  border-radius: var(--radius-full);
  margin-bottom: 12px;
}

/* Title */
.wh-hero__title {
  font-size: clamp(1.875rem, 3.5vw, 3rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.08;
  margin-top: 0;
  margin-bottom: 16px;
  color: var(--color-text-primary);
}

.wh-hero__accent {
  color: var(--color-brand-primary);
  background: linear-gradient(135deg, var(--color-brand-primary), rgba(26, 115, 232, 0.8));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Subheadline */
.wh-hero__subheadline {
  font-size: 18px;
  color: var(--color-text-secondary);
  line-height: 1.5;
  max-width: 580px;
  margin-top: 0;
  margin-bottom: 20px;
}

.wh-hero__pills {
  margin-bottom: 1rem;
}

/* Bullets List */
.wh-hero__bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}

/* Supporting Text */
.wh-hero__support {
  font-size: 14px;
  color: var(--color-text-secondary);
  line-height: 1.4;
  margin: 8px 0 16px 0;
  max-width: 580px;
}

.wh-hero__supporting {
  font-size: 15px;
  color: var(--color-text-secondary);
  line-height: 1.5;
  margin: 0 0 18px 0;
  max-width: 580px;
}

/* Trust & Payments Strip */
.wh-hero__trust-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px 20px;
  margin-top: 16px;
  margin-bottom: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--color-border-light);
}

.wh-hero__trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--color-text-secondary);
  line-height: 1.3;
}

.wh-hero__trust-item svg {
  flex-shrink: 0;
  color: var(--color-brand-primary);
  opacity: 0.8;
}

.wh-hero__trust-item--payments {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.wh-hero__trust-payments {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.wh-hero__trust-payment-icon {
  max-height: 14px;
  width: auto;
  opacity: 0.7;
  transition: opacity 200ms ease;
}

.wh-hero__trust-payment-icon:hover {
  opacity: 1;
}

.wh-hero__bullets li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 15px;
  color: var(--color-text-primary);
  line-height: 1.35;
}

.wh-hero__bullets li strong {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

/* Dot Variants */
.dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 5px;
}

.dot--blue {
  background-color: #4285f4;
}

.dot--green {
  background-color: #34a853;
}

.dot--amber {
  background-color: #fbbc04;
}

.dot--purple {
  background-color: #9c27b0;
}

/* Chips */
.wh-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 20px;
  margin-bottom: 16px;
}

.chip {
  display: inline-block;
  font-size: 11px;
  color: var(--color-text-secondary);
  background: rgba(15, 23, 42, 0.02);
  border: 1px solid rgba(15, 23, 42, 0.05);
  padding: 0 8px;
  height: 24px;
  line-height: 24px;
  border-radius: 999px;
  font-weight: var(--font-weight-medium);
  transition: all var(--transition-base);
  opacity: 0.85;
}

/* Hero Note */
.wh-hero__note {
  font-size: 10px;
  color: var(--color-text-tertiary);
  margin-top: 4px;
  margin-bottom: 16px;
  line-height: 1.4;
  max-width: 520px;
  opacity: 0.75;
}

.chip:hover {
  background: rgba(15, 23, 42, 0.06);
  border-color: rgba(15, 23, 42, 0.12);
}

/* CTA Row */
.wh-hero__cta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 16px;
  margin-bottom: 20px;
}

.wh-hero__cta .btn {
  height: 42px;
  padding: 0 20px;
  font-size: 14px;
  border-radius: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

/* Hero Secondary Button */
.wh-hero__cta .btn-primary {
  flex: 1;
  min-width: 160px;
}

.wh-hero__cta .btn-secondary--sales {
  background: transparent;
  color: var(--color-brand-primary);
  border: 1px solid rgba(26, 115, 232, 0.25);
  box-shadow: none;
  transition: all var(--transition-base);
  height: 42px;
  font-size: 14px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.wh-hero__cta .btn-secondary--sales svg {
  flex-shrink: 0;
  opacity: 0.8;
  transition: opacity var(--transition-base);
}

.wh-hero__cta .btn-secondary--sales:hover {
  background: rgba(26, 115, 232, 0.04);
  border-color: rgba(26, 115, 232, 0.35);
  color: var(--color-brand-primary);
  transform: none;
  box-shadow: none;
}

.wh-hero__cta .btn-secondary--sales:hover svg {
  opacity: 1;
}

.wh-hero__cta .btn-secondary--sales:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

/* Ghost Button */
.btn-ghost {
  background-color: transparent;
  color: var(--color-text-primary);
  border: 1px solid var(--color-border);
  transition: all var(--transition-base);
}

.btn-ghost:hover {
  background-color: rgba(15, 23, 42, 0.04);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

.btn-ghost:active {
  background-color: rgba(15, 23, 42, 0.06);
}

/* Right Column: Plans */
.wh-plans {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: var(--spacing-lg);
  min-height: 520px;
  padding: var(--spacing-lg);
  border-radius: var(--radius-lg);
  background: transparent;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: visible; /* Changed from clip to visible to prevent clipping */
}

/* Web Hosting page: Remove top padding and tighten gap */
.wh-hero .wh-plans {
  padding-top: 0;
  gap: 14px;
}

/* Mobile: Constrain wh-plans container */
@media (max-width: 768px) {
  .wh-plans {
    width: 100%;
    max-width: 100%;
    padding: 0;
    min-height: auto;
  }
}

/* Billing Term Selector */
.billing-term-selector {
  width: 100%;
  max-width: 580px;
  margin: 0 auto;
}

/* Web Hosting page: Soft background panel for billing period - centered, attached to pricing */
.wh-hero .billing-term-selector {
  background: rgba(248, 250, 252, 0.92);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
  border-radius: 14px;
  padding: 16px 18px 12px;
  margin-top: 0;
  margin-bottom: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%; /* Use 100% not 100vw */
  max-width: 100%; /* Constrain to parent */
  margin-left: 0; /* Remove auto margins that could cause issues */
  margin-right: 0;
  box-sizing: border-box;
  overflow: visible; /* Allow content to be visible, prevent clipping */
  position: relative;
  min-width: 0; /* Allow shrinking */
}

.billing-term-label {
  display: block;
  font-size: 12px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  margin-bottom: 8px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Web Hosting page: More visible billing label - centered */
.wh-hero .billing-term-label {
  color: rgba(15, 23, 42, 0.65);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 6px;
  text-align: center;
}

/* Web Hosting page: Helper text under billing label */
.wh-hero .billing-term-helper {
  font-size: 11px;
  color: rgba(15, 23, 42, 0.5);
  margin: 0 0 10px 0;
  text-align: center;
  line-height: 1.4;
  font-weight: 400;
}

@media (max-width: 1100px) {
  .billing-term-selector {
    max-width: 100%;
    margin-bottom: var(--spacing-sm);
  }

  /* Web Hosting page: Keep centered alignment on tablet */
  .wh-hero .billing-term-selector {
    align-items: center;
    margin-bottom: 14px;
    margin-top: 0;
  }
}

@media (max-width: 900px) {
  .billing-term-group {
    gap: 6px;
  }

  .billing-term-btn {
    flex: 1 1 calc(50% - 3px);
    min-width: 90px;
    max-width: calc(50% - 3px);
  }

  /* Web Hosting page: Keep grid layout on tablet */
  .wh-hero .billing-term-group {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: visible;
  }
}

.billing-term-group {
  display: flex;
  gap: 6px;
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-full);
  padding: 3px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible; /* Prevent clipping of active pill shadow */
}

/* Web Hosting page: Mobile billing terms must stay on one line */
@media (max-width: 640px) {
  /* Stop ancestor clipping on tablet/mobile */
  .wh-hero {
    overflow-x: visible !important;
  }
  
  .wh-hero__grid {
    overflow-x: visible !important;
  }
  
  .wh-hero .container {
    overflow-x: visible !important;
  }
  
  .wh-plans {
    overflow-x: visible !important;
  }
  
  .wh-hero .billing-term-selector {
    padding: 14px 12px 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    overflow: visible !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }

  /* Force grid layout for even scaling */
  .wh-hero .billing-term-group {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 3px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    margin: 0 !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }

  .wh-hero .billing-term-btn {
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
    padding: 6px 4px;
    font-size: 11px;
    height: 36px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    /* Remove any transforms that might increase width */
    transform: none;
  }

  /* Ensure active pill doesn't increase layout width */
  .wh-hero .billing-term-btn[aria-pressed="true"],
  .wh-hero .billing-term-btn.is-active {
    transform: none;
    margin: 0;
  }

  .wh-hero .term-discount {
    font-size: 9px;
    margin-left: 1px;
  }
}

/* Extra small mobile: Further constrain billing selector */
@media (max-width: 480px) {
  /* Stop ancestor clipping - allow billing period to be visible */
  .wh-hero {
    overflow-x: visible !important; /* Override clip to prevent billing period clipping */
  }
  
  .wh-hero__grid {
    overflow-x: visible !important; /* Override clip to prevent billing period clipping */
  }
  
  .wh-hero .container {
    overflow-x: visible !important; /* Override clip to prevent billing period clipping */
    padding-left: 16px;
    padding-right: 16px;
  }
  
  .wh-plans {
    overflow-x: visible !important; /* Ensure plans section doesn't clip */
  }

  .wh-hero .billing-term-selector {
    padding: 12px 12px 8px !important; /* Consistent horizontal padding */
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    overflow: visible !important; /* Allow content to be visible */
    position: relative !important;
    /* Kill any transforms or positioning that could shift the block */
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }

  /* Force grid layout for even scaling - ensure it fits */
  .wh-hero .billing-term-group {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important; /* Consistent gap */
    padding: 3px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    overflow: visible !important; /* Prevent clipping */
    position: relative !important;
    /* Kill any transforms or positioning that could shift the block */
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }

  .wh-hero .billing-term-btn {
    padding: 6px 4px !important; /* Balanced horizontal padding */
    font-size: 10px !important;
    height: 34px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important; /* Ensure full grid cell width */
    white-space: nowrap !important;
    overflow: hidden !important; /* Hide text overflow, but allow button to fit */
    text-overflow: ellipsis !important; /* Show ellipsis if text is too long */
    /* Kill any transforms or positioning that could shift the block */
    transform: none !important;
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
    /* Ensure box-shadow doesn't extend beyond bounds */
    box-shadow: none !important;
    border: 1px solid transparent !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  /* Ensure active pill doesn't increase layout width */
  .wh-hero .billing-term-btn[aria-pressed="true"],
  .wh-hero .billing-term-btn.is-active {
    transform: none !important;
    /* Use only inset shadow to prevent any overflow */
    box-shadow: inset 0 0 0 1px rgba(26, 115, 232, 0.3) !important;
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
    border: 1px solid transparent !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    /* Ensure active pill width matches grid cell */
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .wh-hero .term-discount {
    font-size: 8px;
  }
}

/* Very small screens (320px): Extra constraints */
@media (max-width: 375px) {
  .wh-hero .billing-term-selector {
    padding: 10px 10px 6px !important; /* Consistent horizontal padding */
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }

  .wh-hero .billing-term-group {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 3px !important;
    padding: 3px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    margin: 0 !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }

  .wh-hero .billing-term-btn {
    padding: 6px 3px !important;
    font-size: 9px;
    height: 32px;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important; /* Hide text overflow */
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    transform: none !important;
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
  }
  
  .wh-hero .billing-term-btn[aria-pressed="true"],
  .wh-hero .billing-term-btn.is-active {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .wh-hero .billing-term-label {
    font-size: 10px;
  }

  .wh-hero .billing-term-helper {
    font-size: 10px;
  }
}

/* Web Hosting page: Improved toggle visibility - centered */
.wh-hero .billing-term-group {
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(15, 23, 42, 0.10);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  padding: 4px;
  border-radius: 999px;
  justify-content: center;
  display: grid; /* Use grid for better control */
  grid-template-columns: repeat(4, minmax(0, 1fr)); /* 4-column grid */
  gap: 8px; /* Consistent gap */
  width: 100%;
  max-width: 100%;
  min-width: 0; /* Allow shrinking */
  box-sizing: border-box;
  overflow: visible; /* Prevent clipping of active pill shadow */
  margin: 0;
}

/* Mobile: Override base styles to prevent overflow */
@media (max-width: 480px) {
  .wh-hero .billing-term-group {
    display: grid !important; /* Force grid override */
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 3px !important;
    gap: 4px !important; /* Increased gap for better spacing */
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8); /* Keep subtle shadow */
    margin: 0 !important;
    overflow: visible !important; /* Prevent clipping */
    box-sizing: border-box !important;
  }
}

.billing-term-btn {
  flex: 1;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary); /* Dark color like price for inactive terms */
  background: transparent;
  border: 1px solid transparent; /* reserve space so hover doesn't shift layout */
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: all var(--transition-base);
  position: relative;
  white-space: nowrap;
  min-width: 0;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  opacity: 1;
}

/* Inactive billing term buttons - dark text color */
.billing-term-btn:not([aria-pressed="true"]):not(.is-active) {
  color: var(--color-text-primary); /* Dark color like price */
}

/* Keep discount percentage light grey for inactive buttons */
.billing-term-btn:not([aria-pressed="true"]):not(.is-active) .term-discount {
  color: rgba(var(--color-brand-primary-rgb), 0.55); /* Light grey for discount */
  opacity: 0.8;
}

/* Web Hosting page: Improved toggle button visibility */
.wh-hero .billing-term-btn {
  padding: 6px 14px;
  font-size: 14px;
  border-radius: 999px;
  white-space: nowrap;
  color: var(--color-text-primary); /* Dark color like price for inactive terms */
  font-weight: 600;
  transform: none;
  border: 1px solid transparent; /* reserve space so hover doesn't shift layout */
  min-width: 0; /* Allow shrinking in grid */
  max-width: 100%; /* Constrain to grid cell */
  width: 100%; /* Fill grid cell */
  box-sizing: border-box;
  overflow: hidden; /* Hide text overflow */
  text-overflow: ellipsis; /* Show ellipsis if needed */
}

/* Inactive billing term buttons - dark text color */
.wh-hero .billing-term-btn:not([aria-pressed="true"]):not(.is-active) {
  color: var(--color-text-primary); /* Dark color like price */
}

/* Keep discount percentage light grey for inactive buttons */
.wh-hero .billing-term-btn:not([aria-pressed="true"]):not(.is-active) .term-discount {
  color: rgba(var(--color-brand-primary-rgb), 0.55); /* Light grey for discount */
  opacity: 0.8;
}

.wh-hero .billing-term-btn:hover {
  color: rgba(var(--color-brand-primary-rgb), 0.92);
  background: rgba(var(--color-brand-primary-rgb), 0.06);
  border-color: rgba(var(--color-brand-primary-rgb), 0.16);
}

/* Inactive button hover - keep dark text */
.wh-hero .billing-term-btn:not([aria-pressed="true"]):not(.is-active):hover {
  color: var(--color-text-primary); /* Keep dark on hover for inactive */
}

.wh-hero .billing-term-btn[aria-pressed="true"],
.wh-hero .billing-term-btn.is-active {
  color: #ffffff;
  transform: none;
}

/* Web Hosting page: Visible hover state for active button */
.wh-hero .billing-term-btn[aria-pressed="true"]:hover,
.wh-hero .billing-term-btn.is-active:hover {
  background: var(--color-brand-primary);
  box-shadow: 0 6px 16px rgba(26, 115, 232, 0.4), 0 3px 8px rgba(26, 115, 232, 0.25);
  transform: none;
  color: #ffffff;
  opacity: 1;
}

.billing-term-btn:hover {
  color: rgba(var(--color-brand-primary-rgb), 0.92);
  background: rgba(var(--color-brand-primary-rgb), 0.05);
}

/* Inactive button hover - keep dark text */
.billing-term-btn:not([aria-pressed="true"]):not(.is-active):hover {
  color: var(--color-text-primary); /* Keep dark on hover for inactive */
}

.billing-term-btn[aria-pressed="true"],
.billing-term-btn.is-active {
  background: var(--color-brand-primary);
  color: white;
  font-weight: var(--font-weight-semibold);
  font-size: 13px;
  box-shadow: 0 2px 8px rgba(26, 115, 232, 0.25), 0 1px 3px rgba(26, 115, 232, 0.15);
  opacity: 1;
  transform: none; /* avoid "jump" when changing active/hover */
}

.billing-term-btn:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.term-discount {
  font-size: 11px;
  opacity: 1;
  font-weight: var(--font-weight-semibold);
  margin-left: 2px;
  color: rgba(var(--color-brand-primary-rgb), 0.95);
}

/* Inactive billing term discount - keep light grey */
.billing-term-btn:not([aria-pressed="true"]):not(.is-active) .term-discount {
  color: rgba(var(--color-brand-primary-rgb), 0.55); /* Light grey for discount on inactive buttons */
  opacity: 0.8;
}

.billing-term-btn[aria-pressed="true"] .term-discount,
.billing-term-btn.is-active .term-discount {
  opacity: 1;
  color: rgba(255, 255, 255, 0.95);
}

/* Disabled term (if applicable) */
.billing-term-btn:disabled,
.billing-term-btn[aria-disabled="true"] {
  color: rgba(107, 114, 128, 0.7);
  opacity: 0.6;
  cursor: not-allowed;
}

.billing-term-btn:disabled:hover,
.billing-term-btn[aria-disabled="true"]:hover {
  background: transparent;
  border-color: transparent;
  color: rgba(107, 114, 128, 0.7);
}

/* Plan Meta Container - Fixed Height */
.plan-meta {
  margin-top: 8px;
  display: grid;
  gap: 8px;
  margin-bottom: 6px;
}

/* Web Hosting page: Fix plan-meta layout - no absolute positioning */
.wh-hero .plan-meta {
  margin-top: 8px;
  display: grid;
  gap: 6px;
  position: static;
  min-height: auto;
  align-items: start;
}

.wh-hero .plan-billed {
  font-size: 14px;
  line-height: 1.3;
  color: #6b7280;
  white-space: nowrap;
  margin: 0;
}

.wh-hero .plan-billed-text {
  font-size: 14px;
  line-height: 1.3;
  color: #6b7280;
  white-space: nowrap;
}

/* Always reserve space for save badge to prevent layout shift */
.wh-hero .plan-save {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 22px;
  position: static !important;
  opacity: 1;
  visibility: visible;
  transform: none !important;
  top: auto;
  right: auto;
  margin-top: 2px;
}

/* Hide save badge content when not visible, but keep container */
.wh-hero .plan-save:not(.is-visible) .plan-save-text {
  display: none;
}

.wh-hero .plan-save.is-visible .plan-save-text {
  display: inline-flex;
}

/* Web Hosting page: Smaller, calmer save badge - lower hierarchy */
.wh-hero .save-pill,
.wh-hero .plan-save-text {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: #4a7c59;
  background: #e8f5eb;
  border: 1px solid #d4e6db;
  position: static !important;
  transform: none !important;
  line-height: 1;
}

/* Plan Price Updates */
.plan-billed {
  margin: 0;
}

.plan-billed-text {
  font-size: 14px;
  color: var(--color-text-secondary);
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* .plan-save display handled by absolute positioning above */

.plan-save-text {
  display: inline-block;
  padding: 3px 8px;
  background: rgba(52, 168, 83, 0.1);
  color: #34a853;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  border-radius: var(--radius-full);
  line-height: 1.4;
}

.plan-card--popular .plan-save-text {
  background: rgba(52, 168, 83, 0.15);
}

.compare-billed {
  display: block;
  margin-top: 2px;
}

.compare-billed small {
  font-size: 11px;
  color: var(--color-text-tertiary);
  line-height: 1.3;
  white-space: nowrap;
}

.wh-plans__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  align-items: stretch;
  max-width: 600px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: visible; /* Allow badge overflow */
  overflow-y: visible;
}

/* Mobile: Ensure pricing cards container allows overflow */
@media (max-width: 480px) {
  .wh-plans__grid {
    overflow-x: visible !important;
    overflow-y: visible !important;
    /* Ensure grid has proper spacing for badge */
    gap: 10px;
    padding-right: 0;
    margin-right: 0;
  }

  .wh-plans {
    overflow-x: visible !important;
    overflow-y: visible !important;
    padding-right: 0;
    margin-right: 0;
  }

  /* Ensure container allows overflow for badge */
  .wh-hero .container {
    overflow-x: visible;
  }
}

/* Web Hosting page: Prevent layout shift and move cards closer to selector */
.wh-hero .wh-plans__grid {
  min-height: 520px;
  margin-top: -6px;
}

.wh-hero .plan-card {
  margin-top: 0;
}

/* Plan Card Pulse Animation */
.plan-card[tabindex="-1"]:focus {
  outline: none;
}

.plan-pulse {
  animation: planPulse 900ms ease-out;
}

.plan-card.is-highlight {
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
  border-color: rgba(59, 130, 246, 0.55);
  animation: planHighlight 1200ms ease-out;
}

@keyframes planHighlight {
  0% {
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.25);
    border-color: rgba(59, 130, 246, 0.55);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(59, 130, 246, 0.15);
    border-color: rgba(59, 130, 246, 0.65);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0);
    border-color: var(--color-border-light);
  }
}

@media (prefers-reduced-motion: reduce) {
  .plan-card.is-highlight {
    animation: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
    border-color: rgba(59, 130, 246, 0.55);
  }

  html[data-theme="dark"] .plan-card.is-highlight {
    box-shadow: 0 0 0 3px rgba(74, 158, 255, 0.3);
    border-color: rgba(74, 158, 255, 0.6);
  }
}

@keyframes planPulse {
  0% {
    transform: translateZ(0) scale(1);
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0);
  }
  35% {
    transform: translateZ(0) scale(1.01);
    box-shadow: 0 0 0 6px rgba(59, 130, 246, 0.18);
  }
  70% {
    transform: translateZ(0) scale(1.005);
    box-shadow: 0 0 0 10px rgba(59, 130, 246, 0.10);
  }
  100% {
    transform: translateZ(0) scale(1);
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0);
  }
}

@media (min-width: 1200px) {
  .wh-plans__grid {
    max-width: 580px;
  }
}

/* Plan Card */
.plan-card {
  display: flex;
  flex-direction: column;
  padding: calc(var(--spacing-lg) - 8px);
  border: 1px solid var(--color-border-light);
  border-radius: 18px;
  background: var(--color-background);
  transition: all var(--transition-base);
  position: relative; /* Required for badge positioning */
  overflow: visible; /* Allow badge to extend beyond card */
}

.plan-card:hover {
  transform: translateY(-2px);
  border-color: var(--color-border);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Most Popular Plan */
.plan-card--popular {
  background: linear-gradient(to bottom, rgba(26, 115, 232, 0.06), rgba(255, 255, 255, 0.98));
  border-color: rgba(26, 115, 232, 0.25);
  border-width: 2px;
  box-shadow: 0 4px 16px rgba(26, 115, 232, 0.15);
  transform: scale(1.02);
  position: relative;
}

.plan-card--popular:hover {
  border-color: rgba(26, 115, 232, 0.35);
  box-shadow: 0 6px 24px rgba(26, 115, 232, 0.22);
  transform: translateY(-2px) scale(1.02);
  background: linear-gradient(to bottom, rgba(26, 115, 232, 0.08), rgba(255, 255, 255, 0.98));
}

.plan-badge {
  position: absolute;
  top: -8px;
  right: var(--spacing-md);
  background: var(--color-brand-primary);
  color: white;
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 4px;
  z-index: 2;
}

/* Mobile: Adjust badge positioning to prevent clipping */
@media (max-width: 480px) {
  .plan-badge {
    top: -6px; /* Slightly reduce negative top */
    right: 2px; /* Minimal right offset to keep badge fully visible */
    font-size: 9px;
    padding: 2px 6px; /* Reduce padding to fit better */
    white-space: nowrap;
    overflow: visible; /* Allow content to be visible */
    z-index: 10; /* Ensure badge is above other elements */
    /* Ensure badge doesn't get clipped */
    max-width: none; /* Remove max-width constraint */
  }

  .plan-badge-tooltip {
    width: 12px;
    height: 12px;
    font-size: 8px;
    flex-shrink: 0; /* Prevent icon from shrinking */
    display: inline-flex; /* Ensure icon displays */
  }

  /* Ensure card allows badge overflow */
  .plan-card {
    overflow: visible !important;
    position: relative !important;
  }

  /* Ensure popular card specifically allows badge */
  .plan-card--popular {
    overflow: visible !important;
  }
}

.plan-badge-tooltip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
  font-size: 9px;
  cursor: help;
  transition: background 200ms ease;
}

.plan-badge-tooltip:hover {
  background: rgba(255, 255, 255, 0.4);
}
  letter-spacing: 0.05em;
  padding: 3px 10px;
  border-radius: var(--radius-full);
  box-shadow: 0 2px 8px rgba(26, 115, 232, 0.3);
  z-index: 2;
  line-height: 1.4;
}

.plan-card__header {
  margin-bottom: var(--spacing-sm);
}

.plan-card__header h3 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0;
}

.plan-card__recommended {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin: 4px 0 0 0;
  line-height: 1.3;
}

.plan-card--popular .plan-card__header h3 {
  font-size: var(--font-size-xl);
  color: var(--color-brand-primary);
}

.plan-card__price {
  margin-bottom: var(--spacing-md);
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.plan-price__amount {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  line-height: 1;
}

.plan-card--popular .plan-price__amount {
  font-size: 2rem;
  color: var(--color-brand-primary);
}

.plan-price__period {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-normal);
}

.plan-card__features {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--spacing-md) 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.plan-card__features li {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: 1.5;
  padding-left: 20px;
  position: relative;
}

.plan-card__features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--color-brand-primary);
  font-weight: var(--font-weight-semibold);
}

.btn-block {
  width: 100%;
  display: block;
  text-align: center;
}

/* Hero Plan Cards - Compact Preview Style */
.wh-hero .plan-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 8px 14px 10px;
  border-radius: 16px;
  min-height: 280px;
  width: 100%;
}

.plan-card__business-note {
  font-size: 11px;
  color: var(--color-text-tertiary);
  line-height: 1.4;
  margin-top: 8px;
  text-align: center;
}

@media (min-width: 1200px) {
  .wh-hero .plan-card {
    max-width: 290px;
  }
}

.wh-hero .plan-card__header {
  margin-bottom: 5px;
}

.wh-hero .plan-card__header h3 {
  font-size: 19px;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0;
}

.wh-hero .plan-card__recommended {
  font-size: 11px;
  color: var(--color-text-tertiary);
  margin: 3px 0 0 0;
  line-height: 1.3;
}

.wh-hero .plan-card--popular {
  background: linear-gradient(to bottom, rgba(26, 115, 232, 0.06), rgba(255, 255, 255, 0.98));
  border-color: rgba(26, 115, 232, 0.22);
  border-width: 2px;
  box-shadow: 0 4px 16px rgba(26, 115, 232, 0.12);
  transform: none;
}

.wh-hero .plan-card--popular:hover {
  border-color: rgba(26, 115, 232, 0.32);
  box-shadow: 0 6px 20px rgba(26, 115, 232, 0.18);
  transform: translateY(-2px);
}

.wh-hero .plan-card--popular .plan-card__header h3 {
  font-size: 19px;
  color: var(--color-brand-primary);
}

.wh-hero .plan-card__price {
  margin-bottom: 0;
  display: flex;
  align-items: baseline;
  gap: 4px;
}

/* Price + meta area: ensure consistent height to prevent layout shift */
.wh-hero .plan-card__price {
  margin-bottom: 0;
}

.wh-hero .plan-card__price + .plan-meta {
  margin-top: 8px;
}

/* Reserve space for price + billed + save (prevent layout shift) */
.wh-hero .plan-card__header + .plan-card__price,
.wh-hero .plan-card__price + .plan-meta {
  /* Virtual container height: price (~40px) + gap (8px) + billed (20px) + gap (8px) + save (28px) = ~104px */
}

.wh-hero .plan-card__header {
  margin-bottom: 8px;
}

.wh-hero .plan-card__price {
  min-height: 40px;
  margin-bottom: 0;
}

.wh-hero .plan-meta {
  min-height: 56px; /* billed line (18px) + gap (6px) + save pill (22px) + gap (6px) */
  display: grid;
  grid-template-rows: auto auto;
  gap: 6px;
}

.wh-hero .plan-price__amount {
  font-size: 38px;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  line-height: 1;
}

.wh-hero .plan-card--popular .plan-price__amount {
  font-size: 38px;
  color: var(--color-brand-primary);
}

.wh-hero .plan-price__period {
  font-size: 13px;
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-normal);
  opacity: 0.75;
}

.wh-hero .plan-card__features {
  list-style: none;
  padding: 0;
  margin: 0 0 8px 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-height: 0;
}

.wh-hero .plan-card__features li {
  font-size: 13px;
  color: var(--color-text-secondary);
  line-height: 1.3;
  padding-left: 16px;
  position: relative;
}

/* Web Hosting page: Reduce visual noise in Starter plan */
.wh-hero .plan-card[data-plan="starter"] .plan-card__features li {
  font-size: 12px;
  line-height: 1.25;
  opacity: 0.9;
}

.wh-hero .plan-card__features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--color-brand-primary);
  font-weight: var(--font-weight-semibold);
  font-size: 12px;
}

.wh-hero .plan-badge {
  position: absolute;
  top: -4px;
  right: 14px;
  background: var(--color-brand-primary);
  color: white;
  font-size: 11px;
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0 9px;
  height: 24px;
  line-height: 24px;
  border-radius: var(--radius-full);
  box-shadow: 0 2px 6px rgba(26, 115, 232, 0.25);
  z-index: 2;
}

.wh-hero .plan-card .btn {
  height: 29px;
  padding: 0 12px;
  font-size: 12px;
  border-radius: 10px;
  margin-top: auto;
  box-shadow: 0 1px 3px rgba(26, 115, 232, 0.12);
  color: #ffffff;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

.wh-hero .plan-card .btn-secondary {
  color: var(--color-brand-primary);
}

.wh-hero .plan-card .btn:hover {
  box-shadow: 0 3px 6px rgba(26, 115, 232, 0.2);
}

.wh-hero .plan-card .btn::before {
  z-index: -1;
  pointer-events: none;
}

/* Responsive: Tablet */
@media (max-width: 1100px) {
  .wh-hero__grid {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }

  .wh-hero__copy {
    text-align: center;
    max-width: 100%;
  }

  .wh-hero__bullets {
    align-items: flex-start;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }

  .wh-hero__chips {
    justify-content: center;
  }

  .wh-hero__cta {
    justify-content: center;
  }

  .wh-plans {
    justify-content: center;
  }

  .wh-plans__grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: 600px;
    margin: 0 auto;
    gap: 18px;
  }

  .wh-hero .plan-card {
    max-width: 100%;
  }
}

/* Web Hosting page: Mobile CTA must never overflow */
@media (max-width: 900px) {
  .wh-hero__cta {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 12px;
  }

  .wh-hero__cta .btn {
    width: 100%;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    white-space: normal;
  }

  .wh-hero__cta .btn-primary {
    flex: none;
    min-width: 0;
  }

  .wh-hero__cta .btn-secondary--sales {
    padding: 0 16px;
  }
}

/* Responsive: Mobile */
@media (max-width: 640px) {
  .wh-hero {
    padding-top: 22px;
    padding-bottom: 18px;
  }

  .wh-hero .breadcrumb {
    margin-bottom: 8px;
    margin-top: 8px;
  }

  .wh-hero__title {
    font-size: 1.75rem;
  }

  .wh-hero__eyebrow {
    font-size: 10px;
    padding: 5px 10px;
  }

  .wh-hero__cta {
    flex-direction: column;
    width: 100%;
  }

  .wh-hero__cta .btn {
    width: 100%;
    max-width: 100%;
  }
}

/* Mobile Hero Optimizations - Compact Text-Heavy Section */
@media (max-width: 480px) {
  /* Reduce overall hero padding, but ensure bottom spacing for trust strip margin */
  .wh-hero {
    padding-top: 18px; /* Reduced from 22px */
    padding-bottom: 0; /* Let trust strip margin-bottom handle spacing */
  }

  /* Improved vertical spacing and rhythm - mobile only */
  .wh-hero__title {
    font-size: 1.54rem; /* ~12% reduction from 1.75rem */
    line-height: 1.12;
    margin-bottom: 26px; /* Increased for better breathing room (24-28px range) */
    max-width: 100%;
  }

  /* Reduce eyebrow spacing */
  .wh-hero__eyebrow {
    margin-bottom: 5px; /* Keep compact */
    font-size: 9px;
    padding: 4px 8px;
  }

  /* Compact subheadline - limit to 1-2 lines with proper ellipsis */
  .wh-hero__subheadline {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 30px; /* Increased for better readability (28-32px range) */
    max-width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }

  /* Convert bullets to 2x2 grid of compact chips with label + subtext */
  .wh-hero__bullets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 34px; /* Increased for stronger CTA separation (32-36px range) */
    margin-top: 0; /* Description margin-bottom already provides separation */
  }

  .wh-hero__bullets li {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 10px 12px;
    background: rgba(var(--color-brand-primary-rgb), 0.04);
    border: 1px solid rgba(var(--color-brand-primary-rgb), 0.1);
    border-radius: 12px;
    line-height: 1.3;
    min-height: auto;
    position: relative;
  }

  /* Label row: dot + strong on same line */
  .wh-hero__bullets li > span.dot {
    position: absolute;
    left: 12px;
    top: 12px; /* Align with first line */
    margin-right: 0;
  }

  .wh-hero__bullets li strong {
    display: block;
    margin-left: 14px; /* Space for dot */
    margin-bottom: 2px;
  }

  /* Chip label (bold) */
  .wh-hero__bullets li strong {
    font-weight: 600;
    font-size: 13px;
    color: var(--color-text-primary);
    line-height: 1.2;
  }

  /* Smaller dots for chips */
  .wh-hero__bullets .dot {
    width: 6px;
    height: 6px;
    flex-shrink: 0;
    display: inline-block;
    vertical-align: middle;
  }

  /* Chip subtext */
  .wh-hero__bullets .chip-subtext {
    font-size: 11px;
    color: rgba(var(--color-text-secondary-rgb), 0.7);
    opacity: 0.8;
    line-height: 1.3;
    margin-top: 2px;
    margin-left: 14px; /* Align with label */
    display: block;
  }

  /* Hide supporting text on mobile (merged into description) */
  .wh-hero__supporting {
    display: none;
  }

  /* CTA spacing - improved rhythm */
  .wh-hero__cta {
    margin-top: 0; /* No extra top margin - chips already have bottom margin */
    gap: 15px; /* Increased spacing between primary and secondary (14-16px range) */
    flex-direction: column; /* Ensure vertical stacking on mobile */
  }

  .wh-hero__cta .btn {
    height: 40px; /* Reduced from 42px */
    padding: 0 18px;
    font-size: 14px;
  }

  /* Secondary CTA - visually lighter and smaller, closer to primary */
  .wh-hero__cta .btn-secondary--sales {
    height: 34px; /* Further reduced - 10-15% smaller than before */
    padding: 0 12px; /* Further reduced */
    font-size: 13px;
    border-color: rgba(var(--color-brand-primary-rgb), 0.15); /* Lighter border - reduced contrast */
    color: rgba(var(--color-brand-primary-rgb), 0.85); /* Slightly softer color */
    margin-top: 0; /* Use container gap instead */
  }

  .wh-hero__cta .btn-secondary--sales svg {
    width: 13px;
    height: 13px;
    opacity: 0.75; /* Softer icon */
  }

  .wh-hero__cta .btn-secondary--sales:hover {
    border-color: rgba(var(--color-brand-primary-rgb), 0.25); /* Lighter hover */
    background: rgba(var(--color-brand-primary-rgb), 0.03); /* Very subtle hover */
  }

  /* Trust strip spacing - breathing space after CTAs */
  .wh-hero__trust-strip {
    margin-top: 30px; /* Increased for better separation (28-32px range) */
    margin-bottom: 36px; /* Clear visual break before pricing (32-40px range) */
    padding-top: 10px; /* Keep compact internal padding */
    gap: 10px 14px; /* Keep compact */
    position: relative;
    padding-bottom: 0;
  }

  /* Subtle hero boundary - divider after trust row */
  .wh-hero__trust-strip::after {
    content: '';
    position: absolute;
    bottom: -36px; /* Align with margin-bottom */
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(
      to right,
      transparent 0%,
      rgba(15, 23, 42, 0.06) 20%,
      rgba(15, 23, 42, 0.06) 80%,
      transparent 100%
    );
    pointer-events: none;
  }

  /* Ensure hero copy section has proper spacing */
  .wh-hero__copy {
    position: relative;
    padding-bottom: 0;
  }

  /* Hide secure payments and timeline from hero on mobile */
  .wh-hero__trust-item--payments {
    display: none;
  }

  .wh-hero__copy .wh-hero__timeline {
    display: none;
  }

  /* Mobile-only section below pricing */
  .wh-plans__mobile-extras {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--color-border-light);
  }

  .wh-plans__mobile-extras .wh-hero__trust-item--payments {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: rgba(var(--color-brand-primary-rgb), 0.02);
    border-radius: 12px;
  }

  .wh-plans__mobile-extras .wh-hero__trust-payments {
    justify-content: center;
    flex-wrap: wrap;
  }

  .wh-plans__mobile-extras .wh-hero__timeline {
    display: block;
  }
}

/* Hide mobile extras on desktop/tablet */
@media (min-width: 481px) {
  .wh-plans__mobile-extras {
    display: none;
  }
}

/* Dark theme: Mobile hero chips, extras, and boundary */
@media (max-width: 480px) {
  html[data-theme="dark"] .wh-hero__bullets li {
    background: rgba(74, 158, 255, 0.08);
    border-color: rgba(74, 158, 255, 0.15);
    color: var(--color-text-primary);
  }

  html[data-theme="dark"] .wh-hero__bullets li strong {
    color: var(--color-text-primary);
  }

  html[data-theme="dark"] .wh-hero__bullets .chip-subtext {
    color: rgba(192, 197, 204, 0.7);
  }

  html[data-theme="dark"] .wh-plans__mobile-extras {
    border-top-color: var(--color-border);
  }

  html[data-theme="dark"] .wh-plans__mobile-extras .wh-hero__trust-item--payments {
    background: rgba(74, 158, 255, 0.04);
  }

  /* Dark theme: Subtle hero boundary divider */
  html[data-theme="dark"] .wh-hero__trust-strip::after {
    background: linear-gradient(
      to right,
      transparent 0%,
      rgba(255, 255, 255, 0.05) 20%,
      rgba(255, 255, 255, 0.05) 80%,
      transparent 100%
    );
  }
}

  .wh-plans__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: visible;
  }

  .wh-hero .plan-card {
    padding: 12px 14px;
    min-height: auto;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Mobile order: Basic first, then Starter, Pro, Business */
  .wh-plans__grid > .plan-card[data-plan="basic"] {
    order: 1;
  }

  .wh-plans__grid > .plan-card[data-plan="starter"] {
    order: 2;
  }

  .wh-plans__grid > .plan-card[data-plan="pro"] {
    order: 3;
  }

  .wh-plans__grid > .plan-card[data-plan="business"] {
    order: 4;
  }
}

@media (max-width: 768px) {
  .wh-hero {
    padding-top: 22px;
    padding-bottom: 18px;
  }

  .wh-hero .breadcrumb {
    margin-bottom: 8px;
    margin-top: 8px;
  }

  .plan-card--popular {
    transform: scale(1); /* Remove scale on mobile */
  }

  .plan-card--popular:hover {
    transform: translateY(-2px); /* Only translate on mobile */
  }
}

/* Very small screens - ensure cards fit within viewport */
@media (max-width: 480px) {
  .wh-plans__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    scroll-snap-type: none;
    gap: 10px;
    padding-bottom: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .plan-card {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    overflow: hidden;
  }

  .plan-card--popular {
    /* no-op: keep standard order */
  }

  /* Ensure plan card content doesn't overflow */
  .wh-hero .plan-card__header h3 {
    font-size: 16px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .wh-hero .plan-card__price {
    font-size: 20px;
    word-wrap: break-word;
  }

  .wh-hero .plan-card__features {
    font-size: 13px;
  }

  .wh-hero .plan-card__features li {
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .wh-hero .plan-card .btn {
    font-size: 13px;
    padding: 10px 16px;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* Services Section - Premium Layout */
.services {
  padding: calc(var(--section-padding-desktop) * 0.9) 0;
}

.services-section h2 {
  font-size: 38px;
  letter-spacing: -0.02em;
}

.services-section .subtitle {
  margin-top: 10px;
  color: rgba(15, 23, 42, 0.6);
  font-size: 16px;
}

.services-section__trust {
  margin-top: 8px;
  margin-bottom: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, 0.45);
}

html[data-theme="dark"] .services-section .subtitle {
  color: rgba(255, 255, 255, 0.65);
}

html[data-theme="dark"] .services-section__trust {
  color: rgba(255, 255, 255, 0.45);
}

.section-head {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  margin-bottom: calc(var(--spacing-xl) - 4px);
}

.section-head h2 {
  margin-bottom: 12px;
  max-width: 28ch;
  margin-left: auto;
  margin-right: auto;
}

.section-head p {
  margin-bottom: 0;
  max-width: 52ch;
  margin-left: auto;
  margin-right: auto;
}

/* Trust / Social Proof Row */
.trust-proof-section {
  padding: 20px 0; /* Compact spacing */
  background: rgba(248, 250, 252, 0.3);
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.trust-proof-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
}

.trust-proof-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  white-space: nowrap;
}

.trust-proof-item svg {
  width: 16px;
  height: 16px;
  color: var(--color-brand-primary);
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .trust-proof-section {
    padding: 16px 0;
  }
  
  .trust-proof-row {
    gap: 16px;
  }
  
  .trust-proof-item {
    font-size: 12px;
    gap: 6px;
  }
  
  .trust-proof-item svg {
    width: 14px;
    height: 14px;
  }
}

/* Consistent spacing for key sections - tightened by 10-15% */
.audience-section {
  padding: calc(var(--section-padding-desktop) * 0.75) 0; /* Reduced from 0.85 */
  margin-top: calc(var(--section-padding-desktop) * -0.1); /* Tighter gap after Compare Plans */
}

/* Tighter spacing after Compare Plans */
#compare-plans {
  padding-bottom: calc(var(--section-padding-desktop) * 0.7);
}

/* Tighter spacing after Technical Specs */
#technical-specs {
  padding-bottom: calc(var(--section-padding-desktop) * 0.5);
}

/* Tighter spacing after FAQ */
#faq {
  padding-bottom: calc(var(--section-padding-desktop) * 0.5);
}

/* Final CTA section - add subtle background transition */
#get-started.cta-section {
  position: relative;
  padding-top: calc(var(--section-padding-desktop) * 0.7);
}

#get-started.cta-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(15, 23, 42, 0.08) 20%,
    rgba(15, 23, 42, 0.08) 80%,
    transparent 100%
  );
  pointer-events: none;
}

/* FAQ section spacing */
.section:has(.faq-list) {
  padding: calc(var(--section-padding-desktop) * 0.7) 0; /* Reduced padding */
}

.section-head h2 {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-sm);
  color: var(--color-text-primary);
  letter-spacing: var(--letter-spacing-tight);
}

.section-head p {
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
  line-height: var(--line-height-relaxed);
}

/* Services Grid - Premium 2x2 */
.services-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: var(--spacing-lg);
  align-items: stretch;
}

.service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 22px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
  padding: 22px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  min-height: 260px;
  cursor: pointer;
  text-align: left;
}

.service-card::before {
  content: '';
  position: absolute;
  inset: -40%;
  background: radial-gradient(520px 260px at 20% 10%, rgba(37, 99, 235, 0.1), transparent 60%);
  opacity: 0.6;
  pointer-events: none;
}

.service-card > * {
  position: relative;
  z-index: 1;
}

.service-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 54px rgba(15, 23, 42, 0.1);
  border-color: rgba(37, 99, 235, 0.22);
}

.service-card--featured {
  background: linear-gradient(to bottom, rgba(26, 115, 232, 0.04), rgba(255, 255, 255, 0.92));
  border-color: rgba(37, 99, 235, 0.18);
}

.service-card--featured:hover {
  border-color: rgba(37, 99, 235, 0.28);
  box-shadow: 0 22px 54px rgba(37, 99, 235, 0.12);
}

.service-card__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.service-card__label {
  display: flex;
  align-items: center;
  gap: 0;
}

.service-kicker {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(15, 23, 42, 0.55);
}

.service-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
  margin-right: 10px;
}

.service-dot--blue { background: #2563eb; }
.service-dot--red { background: #ef4444; }
.service-dot--amber { background: #f59e0b; }
.service-dot--green { background: #22c55e; }

.service-badge {
  font-size: 12px;
  font-weight: 900;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.1);
  border: 1px solid rgba(37, 99, 235, 0.18);
  color: rgba(37, 99, 235, 0.95);
}

.service-card h3 {
  margin: 8px 0 8px;
  font-size: 26px;
  letter-spacing: -0.02em;
  font-weight: 800;
  color: var(--color-text-primary);
  line-height: 1.2;
}

.service-card p {
  margin: 0;
  color: rgba(15, 23, 42, 0.62);
  font-size: 14px;
  line-height: 1.55;
  max-width: 95%;
  flex: 1;
}

.service-card__footer {
  margin-top: auto;
  padding-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.service-card__benefit {
  color: rgba(15, 23, 42, 0.55);
  font-size: 13px;
  font-weight: 700;
}

.service-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  font-weight: 900;
  background: rgba(37, 99, 235, 0.1);
  border: 1px solid rgba(37, 99, 235, 0.18);
  color: rgba(37, 99, 235, 0.95);
  text-decoration: none;
  transition: transform 0.15s ease, background 0.2s ease, border-color 0.2s ease;
}

.service-cta:hover {
  transform: translateY(-1px);
  background: rgba(37, 99, 235, 0.14);
  border-color: rgba(37, 99, 235, 0.26);
}

.service-cta:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

@media (max-width: 900px) {
  .services-grid {
    grid-template-columns: 1fr;
  }

  .service-card {
    min-height: unset;
  }
}

/* Responsive: Stack cards on tablet/mobile */
@media (max-width: 1024px) {
  .services-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .services {
    padding: var(--section-padding-mobile) 0;
  }

  .services-section h2 {
    font-size: 32px;
  }

  .section-head {
    margin-bottom: var(--spacing-xl);
  }
  
  .section-head h2 {
    font-size: var(--font-size-xl);
  }
  
  .section-head p {
    font-size: var(--font-size-base);
  }
  
  .services-grid {
    gap: var(--spacing-lg);
  }
  
  .service-card {
    padding: var(--spacing-lg);
  }
}

/* Why Section - Premium Grid Layout */
.why-section {
  background: var(--color-background-section);
  padding: calc(var(--section-padding-desktop) * 0.6) 0; /* Reduced by ~40% for less whitespace */
}

.why-section .section-head {
  margin-bottom: calc(var(--spacing-md) - 2px); /* Further reduced gap */
}

/* Features section spacing */
.features-section {
  padding: calc(var(--section-padding-desktop) * 0.6) 0; /* Reduced padding */
}

.features-section .content-section h2 {
  margin-bottom: calc(var(--spacing-md) - 2px); /* Reduced gap */
}

/* Modern features section - use section-head styling */
.features-section .section-head {
  margin-bottom: calc(var(--spacing-md) + 4px);
}

.features-section .section-head p {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  margin-top: 8px;
  margin-bottom: 0;
  line-height: 1.5;
}

/* Technical Specifications */
.tech-specs-section {
  padding: calc(var(--section-padding-desktop) * 0.6) 0; /* Reduced padding - secondary section */
}

.tech-specs-section .section-head {
  margin-bottom: calc(var(--spacing-md) + 4px);
}

.tech-specs-section .section-head p {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  margin-top: 8px;
  margin-bottom: 0;
  line-height: 1.5;
}

/* Priority Technical Assistance add-on section (Business Hosting only) */
.addon-section {
  padding: calc(var(--section-padding-desktop) * 0.5) 0;
  background: var(--color-background-section);
}

.addon-block {
  max-width: 720px;
  margin: 0 auto;
  padding: var(--spacing-lg) var(--spacing-xl);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-light);
  border-left: 3px solid rgba(37, 99, 235, 0.35);
  background: var(--color-background);
}

.addon-section__head {
  margin-bottom: 12px;
}

.addon-section__title {
  font-weight: 600;
  margin: 0 0 12px 0;
}

.addon-section__subtitle {
  max-width: 560px;
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  line-height: 1.5;
  margin: 0 0 16px 0;
}

.addon-block__support-note {
  max-width: 560px;
  font-size: var(--font-size-base);
  color: var(--color-text-tertiary);
  line-height: 1.5;
  margin: 0;
}

.addon-block__reassurance {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: 1.5;
  margin: 0 0 20px 0;
  font-weight: 400;
  opacity: 0.85;
}

.addon-block__content {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-lg);
  margin-top: 0;
  margin-bottom: 20px;
}

.addon-block__bullets {
  list-style: none;
  padding: 0;
  margin: 0;
}

.addon-block__bullets li {
  position: relative;
  padding-left: 1.25rem;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: 1.5;
  margin-bottom: 0.35rem;
}

.addon-block__bullets li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--color-brand-primary);
  font-weight: 600;
}

.addon-block__exclusions {
  padding-top: 0;
}

.addon-block__exclusions-heading {
  font-size: var(--font-size-xs);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-text-tertiary);
  margin: 0 0 var(--spacing-sm) 0;
}

.addon-block__exclusions-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  line-height: 1.5;
}

.addon-block__exclusions-list li {
  position: relative;
  padding-left: 1rem;
  margin-bottom: 0.25rem;
}

.addon-block__exclusions-list li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: var(--color-text-tertiary);
}

.addon-block__exclusions-helper {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  line-height: 1.5;
  margin: var(--spacing-sm) 0 0 0;
}

.addon-block__price-block {
  margin-top: var(--spacing-lg);
  padding-top: var(--spacing-lg);
  border-top: 1px solid var(--color-border-light);
}

.addon-block__price {
  font-size: 1.75rem;
  font-weight: 600;
  color: var(--color-text-primary);
}

.addon-block__price-period {
  font-size: var(--font-size-base);
  font-weight: 400;
  color: var(--color-text-secondary);
}

.addon-block__price-helper {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  line-height: 1.5;
  margin: 0.35rem 0 0 0;
}

@media (min-width: 768px) {
  .addon-block__content {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
  }

  .addon-block__exclusions {
    padding-top: 0;
  }
}

@media (max-width: 767px) {
  .addon-block {
    padding: var(--spacing-lg);
  }
}

html[data-theme="dark"] .addon-block {
  border-left-color: rgba(96, 165, 250, 0.4);
}

/* Tech Specs Grid - Premium Enterprise Layout */
.tech-specs-grid {
  display: grid;
  grid-template-columns: 1fr; /* Mobile: 1 column */
  gap: 18px;
  margin-top: calc(var(--spacing-md) + 4px);
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

/* Tablet: 2 columns */
@media (min-width: 768px) {
  .tech-specs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

/* Desktop: 3 columns */
@media (min-width: 1024px) {
  .tech-specs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
}

/* Very wide screens: 4 columns */
@media (min-width: 1536px) {
  .tech-specs-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Tech Spec Item - Premium Enterprise Card */
.tech-spec-item {
  padding: 22px; /* Card padding */
  border: 1px solid rgba(15, 23, 42, 0.08); /* Subtle border */
  border-radius: 18px; /* Border radius */
  background: var(--color-background); /* White background (respects dark mode) */
  transition: all 200ms ease;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Header row: icon + title ONLY (no badge) */
.tech-spec-item__header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 0;
}

/* Icon wrapper for consistent spacing */
.tech-spec-item__icon-wrapper {
  flex-shrink: 0;
  align-self: flex-start;
}

/* Icon badge */
.tech-spec-item__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  background: rgba(26, 115, 232, 0.08);
  color: var(--color-brand-primary);
  flex-shrink: 0;
}

.tech-spec-item__icon svg {
  width: 20px;
  height: 20px;
  stroke-width: 2;
}

/* Title - clean block, no truncation */
.tech-spec-item__header h3 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  margin: 0;
  color: var(--color-text-primary);
  line-height: 1.35;
  flex: 1;
  min-width: 0;
  word-wrap: break-word;
}

/* Value badge chip - separate line below title */
.tech-spec-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  background: rgba(15, 23, 42, 0.06);
  color: var(--color-text-primary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
  line-height: 1.4;
  margin-top: 8px; /* mt-2 equivalent */
  margin-bottom: 0;
}

/* Mobile adjustments */
@media (max-width: 480px) {
  .tech-spec-item__header {
    gap: 10px;
  }
  
  .tech-spec-item__header h3 {
    font-size: var(--font-size-base);
  }
  
  .tech-spec-badge {
    font-size: 11px;
    padding: 3px 10px;
    margin-top: 6px;
  }
  
  .tech-spec-item {
    padding: 18px;
  }
  
  .tech-spec-item__icon {
    width: 36px;
    height: 36px;
  }
  
  .tech-spec-item__icon svg {
    width: 18px;
    height: 18px;
  }
}

/* Description - below badge */
.tech-spec-item p {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: 1.5;
  margin: 12px 0 0 0; /* mt-3 equivalent - consistent spacing below badge */
  display: -webkit-box;
  -webkit-line-clamp: 3; /* 3 lines on mobile */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Desktop: clamp to 2 lines */
@media (min-width: 1024px) {
  .tech-spec-item p {
    -webkit-line-clamp: 2;
  }
}

/* Hover effects - desktop only */
@media (min-width: 769px) {
  .tech-spec-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    border-color: rgba(26, 115, 232, 0.2);
  }
  
  .tech-spec-item:hover .tech-spec-item__icon {
    background: rgba(26, 115, 232, 0.12);
    transform: scale(1.05);
  }
  
  .tech-spec-item:hover .tech-spec-badge {
    background: rgba(26, 115, 232, 0.1);
  }
}

.why-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr)); /* Mobile: 1 column */
  gap: 16px; /* Mobile gap */
  margin-top: 0;
  max-width: 100%;
}

/* Tablet: 2 columns */
@media (min-width: 768px) {
  .why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px; /* Tablet gap */
  }
}

/* Desktop: 4 columns */
@media (min-width: 1024px) {
  .why-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px; /* Desktop gap */
  }
}

.why-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: var(--spacing-xl);
  border-radius: var(--radius-xl);
  transition: all 200ms ease;
  border: 1px solid var(--color-border-light);
  background: var(--color-background);
  position: relative;
  height: 100%;
  max-width: 100%;
  margin: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* Desktop hover lift */
@media (min-width: 769px) {
  .why-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    border-color: rgba(26, 115, 232, 0.2);
  }
}

.why-icon-chip {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--spacing-md);
  flex-shrink: 0;
  color: var(--color-brand-primary);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.why-icon-chip svg {
  width: 20px;
  height: 20px;
  stroke-width: 2;
}

.why-icon-chip.is-blue {
  background: rgba(66, 133, 244, 0.1);
  color: #4285f4;
}

.why-icon-chip.is-red {
  background: rgba(234, 67, 53, 0.1);
  color: #ea4335;
}

.why-icon-chip.is-yellow {
  background: rgba(251, 188, 4, 0.1);
  color: #fbbc04;
}

.why-icon-chip.is-green {
  background: rgba(52, 168, 83, 0.1);
  color: #34a853;
}

.why-icon-chip.is-purple {
  background: rgba(156, 39, 176, 0.1);
  color: #9c27b0;
}

.why-icon {
  font-size: 1.5rem;
  line-height: 1;
  display: block;
}

.why-item h3 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  margin-bottom: 10px; /* Reduced spacing */
  color: var(--color-text-primary);
  line-height: 1.2;
  text-align: left; /* Left-aligned */
}

.why-item p {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.5;
  max-width: 100%;
  margin: 0;
  text-align: left;
}

/* Why Section Responsive - Mobile adjustments */
@media (max-width: 767px) {
  .why-section {
    padding: calc(var(--section-padding-mobile) * 0.8) 0; /* Reduced padding */
  }
  
  .why-item {
    padding: 18px; /* Slightly reduced padding on mobile */
  }
  
  .why-icon-chip {
    width: 44px;
    height: 44px;
    margin-bottom: 14px;
  }
  
  .why-icon-chip svg {
    width: 18px;
    height: 18px;
  }
}

/* Stack Section - Premium Card Grid (consistent with why-item cards) */
.stack-section {
  padding: calc(var(--section-padding-desktop) * 0.9) 0;
}

.stack-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
  margin-top: var(--spacing-md);
}

.stack-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--spacing-lg);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  background: var(--color-background);
  transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.stack-item:hover {
  transform: translateY(-4px);
  border-color: rgba(26, 115, 232, 0.2);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.stack-badge {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  margin-bottom: var(--spacing-md);
  background: rgba(26, 115, 232, 0.08);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  flex-shrink: 0;
  line-height: 1;
}

.stack-item h3 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-xs);
  color: var(--color-text-primary);
  line-height: 1.2;
}

.stack-item p {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: var(--line-height-relaxed);
}

/* Stack Section Responsive */
@media (max-width: 1024px) {
  .stack-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .stack-section {
    padding: var(--section-padding-mobile) 0;
  }
  
  .stack-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }
  
  .stack-item {
    padding: var(--spacing-lg);
  }
}

/* How it works - Homepage */
.how-it-works {
  padding: calc(var(--section-padding-desktop) * 0.9) 0;
}

.how-it-works .section-head {
  margin-bottom: var(--spacing-xl);
}

.how-it-works__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-md);
  align-items: stretch;
}

@media (min-width: 768px) {
  .how-it-works__grid {
    grid-template-columns: 1fr 16px 1fr 16px 1fr;
    column-gap: 8px;
    row-gap: 0;
    width: 100%;
  }
}

.how-it-works__step {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: var(--spacing-xl) var(--spacing-lg);
  min-height: 172px;
  min-width: 0;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  background: var(--color-background);
  transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}

.how-it-works__step:hover {
  transform: translateY(-4px);
  border-color: rgba(26, 115, 232, 0.28);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.how-it-works__top {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-md);
  flex-shrink: 0;
}

.how-it-works__num {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-brand-primary);
  background: rgba(26, 115, 232, 0.12);
  border: 1px solid rgba(26, 115, 232, 0.22);
  border-radius: 50%;
  line-height: 1;
  flex-shrink: 0;
}

.how-it-works__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(26, 115, 232, 0.1);
  color: var(--color-brand-primary);
  flex-shrink: 0;
}

.how-it-works__icon svg {
  width: 24px;
  height: 24px;
}

.how-it-works__title {
  font-size: clamp(var(--font-size-lg), 2vw, 1.25rem);
  font-weight: var(--font-weight-bold);
  margin: 0 0 var(--spacing-sm);
  color: var(--color-text-primary);
  line-height: 1.3;
}

.how-it-works__text {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  margin: 0;
  line-height: 1.55;
  flex: 1;
}

/* Connector between steps (desktop only, hidden on mobile) */
.how-it-works__connector {
  display: none;
}

@media (min-width: 768px) {
  .how-it-works__connector {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    width: 16px;
    flex-shrink: 0;
  }

  .how-it-works__connector::before {
    content: '';
    width: 100%;
    height: 2px;
    background: rgba(26, 115, 232, 0.35);
    border-radius: 1px;
  }
}

@media (max-width: 768px) {
  .how-it-works {
    padding: var(--section-padding-mobile) 0;
  }

  .how-it-works__grid {
    gap: var(--spacing-md);
  }

  .how-it-works__step {
    padding: var(--spacing-lg) var(--spacing-md);
    min-height: 160px;
  }

  .how-it-works__title {
    font-size: var(--font-size-lg);
  }

  .how-it-works__text {
    font-size: var(--font-size-sm);
  }
}

/* Support section - Homepage */
.support-section {
  padding: calc(var(--section-padding-desktop) * 0.9) 0;
  background: rgba(248, 250, 252, 0.6);
}

.support-section .section-head {
  margin-bottom: var(--spacing-xl);
}

.support-panel {
  max-width: 560px;
  margin: 0 auto;
  padding: var(--spacing-xl);
  background: var(--color-background);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(26, 115, 232, 0.04);
}

.support-panel__reassurance {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-md);
  padding-bottom: var(--spacing-md);
  border-bottom: 1px solid var(--color-border-light);
  text-align: center;
}

.support-panel__trust {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin: 0.75rem 0 0;
  text-align: center;
  line-height: 1.4;
}

.support-section__list {
  list-style: none;
  margin: 0 0 var(--spacing-lg);
  padding: 0;
}

.support-section__list li {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-sm);
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  line-height: 1.5;
}

.support-section__list li:last-child {
  margin-bottom: 0;
}

.support-section__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(26, 115, 232, 0.08);
  color: var(--color-brand-primary);
}

.support-section__icon svg {
  width: 18px;
  height: 18px;
}

.support-section__cta {
  text-align: center;
}

.support-section__cta .btn {
  font-weight: var(--font-weight-semibold);
}

.support-section__cta .btn + .support-panel__trust {
  display: block;
}

@media (max-width: 768px) {
  .support-section {
    padding: var(--section-padding-mobile) 0;
  }

  .support-panel {
    padding: var(--spacing-lg);
  }

  .support-section__list {
    margin-bottom: var(--spacing-md);
  }
}

/* CTA Section */
/* CTA Section - Premium Panel Design */
.cta-section {
  background: rgba(248, 250, 252, 0.5); /* Very light tinted section background */
  padding: calc(var(--section-padding-desktop) * 0.8) 0;
  position: relative;
}

/* Final CTA: wider container on desktop so section doesn't feel shrinked */
.cta-section .container {
  max-width: 1440px;
}

/* Subtle radial gradient glow behind panel */
.cta-section::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 1200px;
  height: 60%;
  background: radial-gradient(circle at center, rgba(26, 115, 232, 0.08), transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.cta-panel {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px 24px; /* 28-36px mobile */
  background: var(--color-background);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 24px; /* 20-28px */
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
  transition: all 200ms ease;
}

.cta-panel:hover {
  border-color: rgba(26, 115, 232, 0.15);
  box-shadow: 0 6px 32px rgba(0, 0, 0, 0.08);
}

.cta-content {
  text-align: center;
}

.cta-content h2 {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  margin-bottom: 12px;
  color: var(--color-text-primary);
  letter-spacing: var(--letter-spacing-tight);
  line-height: 1.2;
}

.cta-subtitle {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  margin-bottom: 8px;
  line-height: 1.5;
}

.cta-note {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin-bottom: 28px;
  line-height: 1.4;
}

/* ===== Final Homepage CTA (cta-section--final) – full-width band + panel ===== */
.cta-section--final {
  padding: 0;
  background: none;
  position: relative;
}

.cta-section--final::before {
  display: none;
}

.cta-section__band {
  width: 100%;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, rgba(241, 245, 249, 0.6) 100%);
  padding: 2.5rem 0;
  position: relative;
}

.cta-section__inner {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 18px;
  box-sizing: border-box;
}

.cta-section__panel {
  max-width: 960px;
  margin: 0 auto;
  padding: 2rem 2.25rem;
  background: var(--color-background);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  transition: border-color 200ms ease, box-shadow 200ms ease;
}

.cta-section__panel:hover {
  border-color: rgba(26, 115, 232, 0.12);
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.07);
}

.cta-section--final .cta-content {
  text-align: center;
}

.cta-section--final .cta-title {
  font-size: clamp(1.5rem, 2.5vw, 1.875rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.25;
  margin-bottom: 0.75rem;
  color: var(--color-text-primary);
  letter-spacing: var(--letter-spacing-tight);
}

.cta-section--final .cta-description {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  margin-bottom: 1.25rem;
  line-height: 1.5;
  max-width: 42ch;
  margin-left: auto;
  margin-right: auto;
}

.cta-section__btn {
  display: inline-block;
  padding: 0.6rem 1.5rem;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  border-radius: var(--radius-md);
  background-color: var(--color-brand-primary);
  color: white;
  border: 1px solid transparent;
  box-shadow: 0 2px 6px rgba(26, 115, 232, 0.25);
  transition: all var(--transition-base);
  text-align: center;
}

.cta-section__btn:hover {
  background-color: var(--color-brand-primary-hover);
  box-shadow: 0 4px 12px rgba(26, 115, 232, 0.3);
  transform: translateY(-1px);
}

.cta-section__btn:active {
  transform: translateY(0);
}

/* Final CTA – mobile */
@media (max-width: 767px) {
  .cta-section--final .cta-section__band {
    padding: 1.75rem 0;
  }

  .cta-section__inner {
    padding: 0 16px;
  }

  .cta-section--final .cta-section__panel {
    padding: 1.5rem 1.25rem;
    border-radius: 16px;
  }

  .cta-section--final .cta-title {
    font-size: 1.35rem;
    margin-bottom: 0.5rem;
  }

  .cta-section--final .cta-description {
    font-size: 0.9375rem;
    margin-bottom: 1rem;
  }

  .cta-section--final .cta-section__btn {
    width: 100%;
    max-width: 340px;
    display: block;
    margin: 0 auto;
    padding: 0.65rem 1.25rem;
  }
}

/* Laptop Density Optimization (13-14" screens)
   Optimizes layout density for laptop screens without affecting large desktops (>1440px)
   or mobile/tablet layouts (<768px). Improves content visibility above the fold.
*/
@media (max-width: 1440px) {
  /* Hero Section - Reduced vertical padding and scaled typography */
  .hero,
  .page-header {
    padding: 3rem 0 2.5rem;
  }

  .hero-title,
  .page-header h1 {
    font-size: clamp(2.4rem, 4vw, 3rem);
  }

  .hero-subtitle,
  .hero-subline,
  .intro {
    font-size: 1.05rem;
    margin-bottom: 1.5rem;
    margin-top: 0.5rem;
  }

  .hero-actions,
  .hero-ctas {
    margin-bottom: 0.5rem;
  }

  .trust-strip {
    margin-top: 1rem;
  }

  /* Section Spacing - Reduced vertical padding */
  .section,
  .services,
  .why-section,
  .stack-section,
  .cta-section {
    padding: 3rem 0;
  }

  /* Section Headers - Tighter typography */
  .section-head h2 {
    font-size: 1.6rem;
  }

  .section-head p {
    font-size: 0.95rem;
  }

  /* Service Cards - Reduced padding and tighter typography */
  .service-card {
    padding: 1.5rem;
  }

  .service-card h3 {
    font-size: 1.25rem;
  }

  .service-card--featured h3 {
    font-size: 1.5rem;
  }

  .service-card p {
    font-size: 0.95rem;
  }

  .service-card--featured p {
    font-size: 1rem;
  }

  /* Why Section - Tighter spacing */
  .why-item {
    padding: 20px; /* Consistent with new card styling */
  }

  .why-item h3 {
    font-size: 1.1rem;
  }

  .why-item p {
    font-size: 0.9rem; /* Slightly smaller for density */
  }

  /* Stack Section - Reduced card padding */
  .stack-item {
    padding: 1.5rem;
  }

  .stack-item h3 {
    font-size: 1.1rem;
  }

  .stack-item p {
    font-size: 0.875rem;
  }

  /* Feature Cards - Consistent density */
  .feature-item {
    padding: 1.5rem;
  }

  .feature-item h3 {
    font-size: 1.1rem;
  }

  .feature-item p {
    font-size: 0.95rem;
  }

  /* CTA Section - Tighter spacing */
  .cta-title {
    font-size: 1.5rem;
  }

  .cta-description {
    font-size: 1rem;
  }
}

/* Page Styles */
.content-section {
  max-width: 1000px;
  margin: 0 auto;
}

.content-section h2 {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-xl);
  color: var(--color-text-primary);
  letter-spacing: var(--letter-spacing-tight);
}

/* Legal pages - prose and hierarchy */
.legal-content h2 {
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  font-size: var(--font-size-xl);
}

.legal-content h2:first-of-type {
  margin-top: 0;
}

.legal-content h3 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
}

.legal-content p,
.legal-content ul {
  margin-bottom: 1rem;
  line-height: 1.6;
}

.legal-content ul {
  padding-left: 1.5rem;
}

.legal-content li {
  margin-bottom: 0.35rem;
}

.legal-content a {
  color: var(--color-brand-primary);
  text-underline-offset: 2px;
}

.legal-content a:hover {
  text-decoration: underline;
}

.legal-updated {
  margin-top: 2.5rem;
  margin-bottom: 0;
  font-size: var(--text-xs);
  color: var(--color-text-tertiary);
  padding-top: 1rem;
  border-top: 1px solid var(--color-border-light);
}

/* Features Grid - Refined */
.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--spacing-xl);
  margin-top: var(--spacing-lg);
}

/* Compact features grid for checklist-style sections */
.features-grid--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* 2 columns on desktop */
  gap: 16px; /* Tighter spacing */
  margin-top: calc(var(--spacing-md) + 4px); /* Reduced top margin */
}

@media (max-width: 767px) {
  .features-grid--compact {
    grid-template-columns: 1fr; /* 1 column on mobile */
    gap: 12px;
  }
}

/* Modern features grid - value-driven cards */
.features-grid--modern {
  display: grid;
  grid-template-columns: 1fr; /* Mobile: 1 column */
  gap: 18px;
  margin-top: calc(var(--spacing-md) + 4px);
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

/* Tablet: 2 columns */
@media (min-width: 768px) {
  .features-grid--modern {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

/* Desktop: 3 columns */
@media (min-width: 1024px) {
  .features-grid--modern {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
}

/* Very wide screens: 4 columns */
@media (min-width: 1536px) {
  .features-grid--modern {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.feature-item {
  padding: var(--spacing-xl);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  background: var(--color-background);
  transition: all var(--transition-base);
}

/* Compact feature items */
.feature-item--compact {
  padding: 16px 18px; /* Reduced padding */
  border-radius: 12px; /* Smaller radius */
  border: 1px solid rgba(15, 23, 42, 0.06); /* Lighter border */
  background: rgba(248, 250, 252, 0.3); /* Subtle background */
}

.feature-item--compact h3 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  margin-bottom: 6px;
  color: var(--color-text-primary);
}

.feature-item--compact p {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: 1.4;
  margin: 0;
}

/* Modern feature items - premium cards */
.feature-item--modern {
  padding: 22px; /* Card padding */
  border: 1px solid rgba(15, 23, 42, 0.08); /* Subtle border */
  border-radius: 18px; /* Border radius */
  background: var(--color-background); /* White background (respects dark mode) */
  transition: all 200ms ease;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Icon badge */
.feature-item--modern .feature-item__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  background: rgba(26, 115, 232, 0.08);
  color: var(--color-brand-primary);
  margin-bottom: 16px;
  flex-shrink: 0;
}

.feature-item--modern .feature-item__icon svg {
  width: 20px;
  height: 20px;
  stroke-width: 2;
}

/* Title */
.feature-item--modern h3 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  margin-bottom: 10px;
  margin-top: 0;
  color: var(--color-text-primary);
  line-height: 1.3;
}

/* Description */
.feature-item--modern p {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Hover effects - desktop only */
@media (min-width: 769px) {
  .feature-item--modern:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    border-color: rgba(26, 115, 232, 0.2);
  }
  
  .feature-item--modern:hover .feature-item__icon {
    background: rgba(26, 115, 232, 0.12);
    transform: scale(1.05);
  }
}

.feature-item:hover {
  border-color: var(--color-border);
  box-shadow: var(--shadow-sm);
}

.feature-item h3 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-sm);
  color: var(--color-text-primary);
}

.feature-item p {
  color: var(--color-text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
}

.pricing-section {
  background: var(--color-background-section);
  padding: var(--section-padding-desktop) 0;
}

.placeholder-text {
  color: var(--color-text-secondary);
  font-size: var(--font-size-base);
  text-align: center;
  padding: var(--spacing-xl) 0;
  line-height: var(--line-height-relaxed);
}

/* FAQ Section - Compact Accordion */
.faq-section {
  padding: calc(var(--section-padding-desktop) * 0.7) 0;
}

.faq-section .section-head {
  margin-bottom: calc(var(--spacing-md) + 4px);
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 10px; /* 10-12px gap between items */
  margin-top: calc(var(--spacing-md) + 4px);
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.faq-item {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px; /* 14-16px radius */
  background: var(--color-background);
  transition: all 200ms ease;
  overflow: hidden;
}

.faq-item:hover {
  background: rgba(248, 250, 252, 0.4); /* Subtle background tint on hover */
  border-color: rgba(15, 23, 42, 0.12);
}

.faq-item[data-expanded="true"] {
  border-color: rgba(26, 115, 232, 0.2); /* Slightly stronger border when open */
}

/* Question button */
.faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px; /* 14-16px padding desktop */
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  line-height: 1.4;
  gap: 12px;
}

.faq-question span {
  flex: 1;
  min-width: 0;
}

/* Chevron icon */
.faq-chevron {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--color-text-secondary);
  transition: transform 200ms ease;
}

.faq-item[data-expanded="true"] .faq-chevron {
  transform: rotate(180deg); /* Rotate 180deg when open */
}

/* Answer */
.faq-answer {
  padding: 0 16px 14px 16px; /* 0 16px 14px 16px */
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}

.faq-answer p {
  margin: 0;
  color: var(--color-text-secondary);
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .faq-question {
    padding: 12px 14px; /* 12-14px padding mobile */
    font-size: var(--font-size-sm);
  }
  
  .faq-answer {
    padding: 0 14px 12px 14px;
    font-size: 13px;
  }
  
  .faq-chevron {
    width: 18px;
    height: 18px;
  }
  
  .faq-list {
    gap: 8px;
  }
}

.cta-buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

/* CTA Button Styles */
.cta-btn-primary,
.cta-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  padding: 0 24px;
  border-radius: 12px; /* rounded-xl */
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
  transition: all 200ms ease;
  white-space: nowrap;
}

.cta-btn-primary {
  background: var(--color-brand-primary);
  color: white;
  border: none;
  box-shadow: 0 4px 12px rgba(26, 115, 232, 0.25);
}

.cta-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(26, 115, 232, 0.35);
  background: var(--color-brand-primary-hover, #1a73e8);
}

.cta-btn-primary svg {
  width: 18px;
  height: 18px;
}

.cta-btn-secondary {
  background: transparent;
  color: var(--color-text-primary);
  border: 1px solid rgba(15, 23, 42, 0.15);
}

.cta-btn-secondary:hover {
  transform: translateY(-1px);
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(15, 23, 42, 0.25);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.cta-btn-secondary svg {
  width: 18px;
  height: 18px;
}

/* Trust Row */
.cta-trust-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 0;
}

.cta-trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  white-space: nowrap;
}

.cta-trust-item svg {
  width: 16px;
  height: 16px;
  color: var(--color-brand-primary);
  flex-shrink: 0;
}

/* Desktop adjustments */
@media (min-width: 768px) {
  .cta-panel {
    padding: 48px 40px; /* 44-56px desktop */
  }
  
  .cta-content h2 {
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    margin-bottom: 14px;
  }
  
  .cta-subtitle {
    font-size: var(--font-size-lg);
    margin-bottom: 10px;
  }
  
  .cta-note {
    margin-bottom: 32px;
  }
  
  .cta-buttons {
    margin-bottom: 28px;
  }
  
  .cta-trust-row {
    gap: 24px;
  }
}

/* Mobile adjustments */
@media (max-width: 767px) {
  .cta-section {
    padding: calc(var(--section-padding-mobile) * 0.8) 0;
  }
  
  .cta-panel {
    padding: 28px 20px;
    border-radius: 20px;
  }
  
  .cta-content h2 {
    font-size: 1.5rem;
    margin-bottom: 10px;
  }
  
  .cta-subtitle {
    font-size: var(--font-size-sm);
    margin-bottom: 6px;
  }
  
  .cta-note {
    font-size: 11px;
    margin-bottom: 24px;
  }
  
  .cta-buttons {
    flex-direction: column;
    width: 100%;
    gap: 10px;
    margin-bottom: 20px;
  }
  
  .cta-btn-primary,
  .cta-btn-secondary {
    width: 100%;
    justify-content: center;
  }
  
  .cta-trust-row {
    gap: 16px;
    justify-content: center;
  }
  
  .cta-trust-item {
    font-size: 12px;
    gap: 5px;
  }
  
  .cta-trust-item svg {
    width: 14px;
    height: 14px;
  }
}

/* Compare Plans - Desktop */
.compare-desktop {
  display: block;
}

.compare-mobile {
  display: none;
}

/* Compare Plans Table */
.compare-scroll {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
}

.compare-mobile-hint {
  display: none;
  text-align: center;
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin-bottom: var(--spacing-sm);
  padding: 0 var(--spacing-md);
}

.compare-table-wrapper {
  max-width: 100%;
  margin: 0 auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

.compare-table-wrapper::-webkit-scrollbar {
  height: 8px;
}

.compare-table-wrapper::-webkit-scrollbar-track {
  background: transparent;
}

.compare-table-wrapper::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}

.compare-table {
  width: 100%;
  min-width: 800px;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-background);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.compare-table thead {
  background: var(--color-background-section);
}

.compare-table th {
  padding: var(--spacing-md) var(--spacing-sm);
  text-align: left;
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  border-bottom: 2px solid var(--color-border-light);
  position: relative;
  vertical-align: top;
  background: var(--color-background-section);
}

.compare-feature-col {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-base);
  position: sticky;
  left: 0;
  background: var(--color-background-section);
  z-index: 11;
  box-shadow: 2px 0 4px rgba(0, 0, 0, 0.05);
}

.compare-price {
  display: block;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-secondary);
  margin-top: 4px;
}

.compare-col-highlight {
  background: rgba(59, 130, 246, 0.04);
  border-left: 1px solid rgba(59, 130, 246, 0.12);
  border-right: 1px solid rgba(59, 130, 246, 0.12);
  position: relative;
}

.compare-col-highlight::before {
  content: '';
  position: absolute;
  top: 0;
  left: -1px;
  right: -1px;
  height: 100%;
  background: rgba(59, 130, 246, 0.05);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.06);
  pointer-events: none;
  z-index: -1;
}

.compare-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 7px;
  background: var(--color-brand-primary);
  color: white;
  font-size: 9px;
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: var(--radius-full);
  vertical-align: middle;
  line-height: 1.4;
}

.compare-table tbody tr {
  border-bottom: 1px solid var(--color-border-light);
  transition: background-color 0.15s ease;
}

.compare-table tbody tr:hover {
  background: rgba(0, 0, 0, 0.015);
}

.compare-table tbody tr:last-child td {
  border-bottom: none;
}

.compare-section-header td {
  padding: 32px var(--spacing-sm) 14px;
  background: var(--color-background-section);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-top: 2px solid var(--color-border-light);
  border-bottom: 1px solid var(--color-border-light);
  position: relative;
}

.compare-section-header td::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    var(--color-border-light) 10%,
    var(--color-border-light) 90%,
    transparent
  );
}

.compare-section-header td:first-child {
  position: sticky;
  left: 0;
  background: var(--color-background-section);
  z-index: 1;
}

.compare-table td {
  padding: 14px var(--spacing-sm);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.5;
  border-bottom: 1px solid var(--color-border-light);
}

/* Starter plan - make it look active and prominent */
.compare-table th[data-plan="starter"] {
  color: var(--color-text-primary);
  opacity: 1;
  font-weight: var(--font-weight-semibold);
}

/* Ensure Starter plan price and billing text are visible */
.compare-table th[data-plan="starter"] .compare-price,
.compare-table th[data-plan="starter"] .compare-billed {
  color: var(--color-text-secondary);
  opacity: 1;
}

.compare-table td:nth-child(2) {
  color: var(--color-text-secondary);
  opacity: 1;
}

.compare-table td:nth-child(2) .compare-check {
  opacity: 1;
}

.compare-table td:first-child {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  position: sticky;
  left: 0;
  background: inherit;
  z-index: 2;
  box-shadow: 2px 0 4px rgba(0, 0, 0, 0.03);
}

.compare-col-highlight td {
  background: rgba(59, 130, 246, 0.04);
}

.compare-table tbody tr:hover .compare-col-highlight td {
  background: rgba(59, 130, 246, 0.05);
}

.compare-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: var(--color-brand-primary);
  font-weight: var(--font-weight-bold);
  font-size: 16px;
  line-height: 1;
  background: rgba(59, 130, 246, 0.1);
  border-radius: 50%;
}

.compare-unavailable {
  display: inline-block;
  color: var(--color-text-tertiary);
  font-size: var(--font-size-base);
  opacity: 0.5;
}

.compare-label {
  display: inline-block;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-medium);
}

.compare-notes {
  margin-top: var(--spacing-lg);
  text-align: center;
}

.compare-note {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  max-width: 700px;
  margin: var(--spacing-xs) auto;
  line-height: 1.5;
}

/* Compare Plans CTA */
.compare-cta {
  margin-top: var(--spacing-xl);
  text-align: center;
  padding: var(--spacing-md) 0;
}

.compare-cta__text {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-xs);
}

.compare-cta__subtext {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-md);
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.compare-cta__note {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin-top: var(--spacing-sm);
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.4;
}

.compare-cta__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.compare-cta__buttons .btn {
  min-width: 120px;
}

/* Who is this for Grid */
.who-grid {
  display: grid;
  grid-template-columns: 1fr; /* Default: 1 column for very small screens */
  gap: calc(var(--spacing-lg) + 8px); /* Increased spacing between cards */
  max-width: 1000px;
  margin: 0 auto;
  align-items: start; /* Ensure consistent vertical alignment */
}

/* Mobile: 2 columns when space allows */
@media (min-width: 360px) {
  .who-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px; /* Reduced gap for 2-up mobile */
  }
}

/* Tablet/Desktop: 4 columns */
@media (min-width: 768px) {
  .who-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(var(--spacing-lg) + 8px); /* Restore larger gap on desktop */
  }
}

.who-card {
  padding: calc(var(--spacing-lg) - 4px) calc(var(--spacing-lg) - 2px); /* Slightly reduced internal padding */
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  background: var(--color-background);
  transition: all var(--transition-base);
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%; /* Ensure consistent card heights */
  overflow: visible; /* Ensure badge doesn't clip */
}

/* Mobile: Reduce card padding for 2-up layout */
@media (min-width: 360px) and (max-width: 767px) {
  .who-card {
    padding: 14px 12px; /* Reduced padding on mobile */
  }
}

.who-card:hover {
  border-color: var(--color-brand-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-3px);
}

.who-card:focus {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.who-card:active {
  transform: translateY(-1px);
}

.who-card--highlight {
  background: rgba(26, 115, 232, 0.035); /* Slightly increased background tint (2-4% brand blue) */
  border-color: var(--color-brand-primary);
  border-width: 2px;
  box-shadow: 0 4px 16px rgba(26, 115, 232, 0.12);
}

/* Desktop: Subtle lift for recommended plan */
@media (min-width: 769px) {
  .who-card--highlight {
    transform: translateY(-4px); /* Subtle lift on desktop */
  }

  .who-card--highlight:hover {
    transform: translateY(-6px); /* Slightly more lift on hover */
    box-shadow: 0 6px 20px rgba(26, 115, 232, 0.18);
  }
}

/* Card icon */
.who-card__icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  color: var(--color-text-secondary);
  opacity: 0.7;
  flex-shrink: 0;
}

/* Mobile: Slightly smaller icon for 2-up layout */
@media (min-width: 360px) and (max-width: 767px) {
  .who-card__icon {
    width: 28px;
    height: 28px;
    margin-bottom: 10px;
  }
  
  .who-card__icon svg {
    width: 18px;
    height: 18px;
  }
}

.who-card--highlight .who-card__icon {
  color: var(--color-brand-primary);
  opacity: 0.9;
}

.who-card h3 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  margin-bottom: 8px; /* Reduced for tighter spacing */
  margin-top: 0;
  color: var(--color-text-primary);
  line-height: 1.2;
}

/* Mobile: Slightly smaller title for 2-up layout */
@media (min-width: 360px) and (max-width: 767px) {
  .who-card h3 {
    font-size: 16px; /* Slightly smaller on mobile */
    margin-bottom: 6px;
  }
}

.who-card--highlight h3 {
  color: var(--color-brand-primary);
}

.who-card p {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: 1.5; /* Tighter line-height for compact feel */
  margin: 0 0 12px 0; /* Reduced bottom margin */
  flex: 1; /* Push CTA to bottom */
}

/* Mobile: Clamp description to 2 lines */
@media (min-width: 360px) and (max-width: 767px) {
  .who-card p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4; /* Tighter line-height for mobile */
  }
}

.who-card__badge {
  display: inline-block;
  padding: 3px 9px;
  background: var(--color-brand-primary);
  color: white;
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: var(--radius-full);
  margin-bottom: 8px; /* Reduced spacing */
  margin-top: 0;
  line-height: 1.4;
  white-space: nowrap; /* Prevent badge text wrapping */
  overflow: visible; /* Ensure badge doesn't clip */
}

.who-card__hint {
  display: block;
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin-top: auto; /* Push to bottom */
  margin-bottom: 0;
  padding-top: 8px;
  transition: color var(--transition-base);
  font-weight: var(--font-weight-medium);
}

/* Mobile: Make CTA more compact */
@media (min-width: 360px) and (max-width: 767px) {
  .who-card__hint {
    font-size: 11px; /* Slightly smaller on mobile */
    padding-top: 6px; /* Reduced padding */
  }
}

.who-card--highlight .who-card__hint {
  color: var(--color-brand-primary);
  font-weight: var(--font-weight-semibold);
}

.who-card:hover .who-card__hint {
  color: var(--color-brand-primary);
}

/* Infrastructure Grid */
/* Built on Reliable Infrastructure - Trust anchor with generous spacing */
.section:has(.infrastructure-grid) {
  padding-top: calc(var(--section-padding-desktop) * 0.9); /* Slightly larger top spacing as trust anchor */
  padding-bottom: calc(var(--section-padding-desktop) * 0.75);
}

.section:has(.infrastructure-grid) .section-head {
  margin-bottom: calc(var(--spacing-md) - 2px); /* Further reduced gap (10-15% tighter) */
}

.infrastructure-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px; /* Reduced gap */
  max-width: 1000px;
  margin: 0 auto;
}

.infrastructure-item {
  text-align: center;
  padding: 22px; /* Consistent padding */
  border-radius: 18px; /* Consistent border radius */
  transition: all 200ms ease;
  cursor: default;
  /* Card styling */
  border: 1px solid rgba(15, 23, 42, 0.08); /* Light border */
  background: rgba(248, 250, 252, 0.4); /* Soft background tint */
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%; /* Ensure consistent card heights */
}

/* Desktop hover lift */
@media (min-width: 769px) {
  .infrastructure-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    border-color: rgba(26, 115, 232, 0.2);
  }
}

.infrastructure-item:focus-visible {
  outline: 2px solid rgba(59, 130, 246, 0.35);
  outline-offset: 4px;
  border-radius: 18px;
}

.infrastructure-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px; /* Reduced icon-to-title spacing */
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  transition: transform 200ms ease;
  color: var(--color-brand-primary);
}

.infrastructure-icon svg {
  width: 24px;
  height: 24px;
  stroke-width: 2;
}

.infrastructure-item:hover .infrastructure-icon {
  transform: scale(1.05);
}

.infrastructure-icon.is-blue {
  background: rgba(66, 133, 244, 0.1);
  color: #4285f4;
}

.infrastructure-icon.is-green {
  background: rgba(52, 168, 83, 0.1);
  color: #34a853;
}

.infrastructure-item--primary .infrastructure-icon.is-green {
  background: rgba(52, 168, 83, 0.15);
}

.infrastructure-icon.is-amber {
  background: rgba(251, 188, 4, 0.1);
  color: #fbbc04;
}

.infrastructure-item--primary .infrastructure-icon.is-amber {
  background: rgba(251, 188, 4, 0.15);
}

.infrastructure-icon.is-purple {
  background: rgba(156, 39, 176, 0.1);
  color: #9c27b0;
}

.infrastructure-item h3 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  margin-bottom: 10px; /* Reduced title-to-text spacing */
  color: var(--color-text-primary);
  transition: color 200ms ease;
  text-align: center; /* Keep titles centered */
}

.infrastructure-item:hover h3 {
  color: var(--color-brand-primary);
}

.infrastructure-item--primary h3 {
  font-weight: var(--font-weight-bold);
  position: relative;
}

.infrastructure-item--primary h3::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 2px;
  background: var(--color-brand-primary);
  border-radius: var(--radius-full);
  opacity: 0.4;
}

.infrastructure-item p {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: 1.45; /* Reduced from 1.5 for better scan speed */
  margin: 0 0 12px 0; /* Space before proof line */
  text-align: left; /* Left-align body text */
  max-width: 100%; /* Limit text width */
  flex: 1; /* Allow text to grow, push proof line to bottom */
}

/* Proof line styling */
.infrastructure-proof {
  font-size: var(--font-size-xs);
  font-weight: 600; /* Increased from semibold for more distinction */
  color: var(--color-text-primary); /* Darkened compared to body text */
  text-align: left; /* Left-align proof lines */
  margin-top: auto; /* Push to bottom of card */
  padding-top: 12px;
  border-top: 1px solid rgba(15, 23, 42, 0.08); /* Slightly more visible divider */
  line-height: 1.4;
  letter-spacing: 0.01em;
  position: relative;
}

/* Subtle dot/divider before proof line */
.infrastructure-proof::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.25);
}

.infrastructure-trust-line {
  display: block;
  text-align: center;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary); /* Slightly darker for better contrast */
  margin-top: 28px; /* Closer to feature grid */
  margin-left: auto;
  margin-right: auto;
  padding: 12px 20px;
  background: rgba(248, 250, 252, 0.8); /* Increased opacity for better contrast */
  border-radius: 12px;
  max-width: 700px;
  line-height: 1.5;
  border: 1px solid rgba(15, 23, 42, 0.1); /* Slightly more visible border */
}

/* How it Works Section (other pages: use .how-it-works-section wrapper) */
.how-it-works-section {
  background: var(--color-background-section);
  padding: var(--spacing-xl) 0;
}

.how-it-works-section .how-it-works {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-lg);
  max-width: 1000px;
  margin: 0 auto;
}

.how-it-works-item {
  text-align: center;
  padding: var(--spacing-md);
}

.how-it-works-number {
  width: 48px;
  height: 48px;
  margin: 0 auto var(--spacing-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  background: var(--color-brand-primary);
  color: white;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

.how-it-works-item h3 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-xs);
  color: var(--color-text-primary);
}

.how-it-works-item p {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

/* Inline Setup Timeline */
.wh-hero__timeline {
  margin-top: 0;
  padding-top: 18px;
  border-top: 1px solid var(--color-border-light);
}

/* Payment Methods */
.wh-hero__payments {
  margin-top: var(--spacing-lg);
  padding-top: var(--spacing-md);
  border-top: 1px solid var(--color-border-light);
}

.wh-hero__payments-label {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--spacing-sm);
  text-align: center;
}

.wh-hero__payments-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

.wh-hero__payment-logo {
  max-height: 20px;
  height: auto;
  width: auto;
  opacity: 0.7;
  transition: opacity 200ms ease;
  filter: grayscale(20%);
}

.wh-hero__payment-logo:hover {
  opacity: 1;
  filter: grayscale(0%);
}

.wh-hero__timeline-steps {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  position: relative;
}

.wh-hero__timeline-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  position: relative;
}

.wh-hero__timeline-icon {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  background: var(--color-background);
  border: 1.5px solid var(--color-border-light);
  color: var(--color-brand-primary);
  transition: all var(--transition-base);
  flex-shrink: 0;
}

.wh-hero__timeline-step:hover .wh-hero__timeline-icon {
  transform: scale(1.05);
  border-color: var(--color-brand-primary);
  box-shadow: 0 2px 8px rgba(26, 115, 232, 0.15);
  animation: timelineIconPulse 1.5s ease-in-out infinite;
}

@keyframes timelineIconPulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.8;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wh-hero__timeline-step:hover .wh-hero__timeline-icon {
    animation: none;
  }
}

.wh-hero__timeline-step--active .wh-hero__timeline-icon {
  border-color: var(--color-brand-primary);
  background: rgba(26, 115, 232, 0.08);
  animation: timelineStepPulse 2s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .wh-hero__timeline-step--active .wh-hero__timeline-icon {
    animation: none;
  }
  
  .wh-hero__timeline-step:hover .wh-hero__timeline-icon {
    transform: none;
  }
}

@keyframes timelineStepPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(26, 115, 232, 0.3);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(26, 115, 232, 0);
  }
}

.wh-hero__timeline-connector {
  flex: 1;
  height: 1px;
  background: var(--color-border-light);
  margin: 0 4px;
  min-width: 20px;
  max-width: 40px;
  transition: background-color var(--transition-base);
  position: relative;
  top: -14px;
}

.wh-hero__timeline-steps:hover .wh-hero__timeline-connector {
  background: linear-gradient(
    to right,
    var(--color-border-light),
    var(--color-brand-primary) 50%,
    var(--color-border-light)
  );
  background-size: 200% 100%;
  animation: timelineProgress 2s ease-in-out infinite;
}

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

@media (prefers-reduced-motion: reduce) {
  .wh-hero__timeline-steps:hover .wh-hero__timeline-connector {
    animation: none;
    background: var(--color-brand-primary);
  }
}

.wh-hero__timeline-step:hover ~ .wh-hero__timeline-connector,
.wh-hero__timeline-step:hover + .wh-hero__timeline-connector {
  background: rgba(26, 115, 232, 0.3);
}

.wh-hero__timeline-label {
  display: block;
  font-size: 12px;
  color: var(--color-text-secondary);
  text-align: center;
  line-height: 1.35;
  white-space: normal;
  max-width: 100px;
  margin: 0 auto;
  overflow: visible;
  text-overflow: clip;
  word-wrap: break-word;
  hyphens: auto;
}

/* Domain Search Styles - Enhanced */
.domain-search {
  max-width: 700px;
  margin: 0 auto;
  padding: var(--spacing-xl) 0;
}

.domain-search-form {
  display: flex;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-lg);
}

.domain-search-input {
  flex: 1;
  padding: 1rem 1.25rem;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: var(--font-size-base);
  font-family: inherit;
  transition: border-color var(--transition-base);
}

.domain-search-input:focus {
  outline: none;
  border-color: var(--color-brand-primary);
}

.domain-search-button {
  padding: 1rem 2rem;
  white-space: nowrap;
}

/* Domain page hero (single-column, centered) */
.domain-hero .domain-hero__inner {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

.domain-hero .wh-hero__copy--standalone,
.domain-hero .domain-hero__inner .wh-hero__title {
  max-width: 100%;
}

.domain-hero__form {
  margin: var(--spacing-xl) 0;
}

.domain-hero__form-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
  justify-content: center;
  align-items: stretch;
}

.domain-hero__input {
  min-width: 180px;
  flex: 1;
  max-width: 320px;
}

.domain-hero__tld-select {
  padding: 1rem 1.25rem;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: var(--font-size-base);
  font-family: inherit;
  background: var(--color-background);
  color: var(--color-text-primary);
  min-width: 100px;
}

.domain-hero__trust {
  justify-content: center;
  flex-wrap: wrap;
}

/* TLD grid (Popular TLDs section) */
.tld-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: var(--spacing-lg);
}

.tld-card {
  padding: var(--spacing-lg);
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  text-align: center;
  transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.tld-card:hover {
  border-color: var(--color-brand-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.tld-card__label {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  display: block;
  margin-bottom: var(--spacing-xs);
}

.tld-card__copy {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-md);
}

.tld-card__cta {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-brand-primary);
  text-decoration: none;
}

.tld-card__cta:hover {
  text-decoration: underline;
}

/* How it works (3 steps) - domains page only */
.how-it-works__steps {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.how-it-works__steps .how-it-works__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-sm);
}

.how-it-works__steps .how-it-works__icon {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-full);
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-brand-primary);
}

.how-it-works__label {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}

.how-it-works__steps .how-it-works__connector {
  width: 24px;
  height: 2px;
  background: var(--color-border);
  margin: 0 var(--spacing-sm);
  flex-shrink: 0;
}

.transfer-panel__bullets {
  list-style: none;
  padding: 0;
  margin: var(--spacing-md) 0 var(--spacing-lg);
}

.transfer-panel__bullets li {
  margin-bottom: var(--spacing-sm);
  color: var(--color-text-secondary);
}

/* ========== Help page ========== */
.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;
}

.help-hero {
  position: relative;
  overflow: hidden;
  padding: 90px 0 70px;
  --mx: 50%;
  --my: 45%;
}

.help-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
}

.help-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
}

.help-hero__bg::before {
  content: "";
  position: absolute;
  inset: -10%;
  background:
    radial-gradient(520px 280px at 50% 45%, rgba(37, 99, 235, 0.1), transparent 62%),
    radial-gradient(420px 240px at 65% 55%, rgba(99, 102, 241, 0.07), transparent 65%),
    radial-gradient(420px 240px at 35% 60%, rgba(14, 165, 233, 0.06), transparent 65%);
}

.help-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(15, 23, 42, 0.18) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: 0.18;
  mask-image: radial-gradient(closest-side at 50% 45%, black 0%, transparent 78%);
}

.help-hero__magnet {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(220px 220px at var(--mx) var(--my), rgba(37, 99, 235, 0.12), transparent 65%);
  mix-blend-mode: multiply;
  opacity: 0.9;
}

.help-search-panel {
  transition: transform 0.2s ease;
}

.help-search-panel:focus-within {
  transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
  .help-hero__magnet {
    opacity: 0;
    pointer-events: none;
  }
  .help-search-panel:focus-within {
    transform: none;
  }
}

.help-hero__inner {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
  padding: 0 var(--spacing-sm);
}

.help-hero__title {
  font-size: clamp(1.75rem, 5vw, var(--font-size-2xl));
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-sm);
}

.help-hero__subtitle {
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-md);
}

.help-hero__trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-xs);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  opacity: 0.7;
  margin-top: var(--spacing-sm);
  margin-bottom: 0;
  max-width: 26rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}

@media (max-width: 480px) {
  .help-hero__trust {
    margin-top: 0.75rem; /* mt-3 equivalent */
    font-size: var(--font-size-sm);
  }
}

.help-hero__trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.help-hero__trust-item svg {
  flex-shrink: 0;
  color: var(--color-brand-primary);
}

.help-hero__trust-sep {
  opacity: 0.6;
}

.help-hero__tip {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  opacity: 0.85;
  margin: 0 0 var(--spacing-md);
}

@media (max-width: 480px) {
  .help-hero__tip {
    margin-bottom: var(--spacing-sm);
  }
}

.help-hero__search {
  margin: 0 auto var(--spacing-sm);
  width: 100%;
}

@media (max-width: 480px) {
  .help-hero__search {
    margin-bottom: var(--spacing-xs);
  }
}

/* Make KB search the primary focus above-the-fold */
.help-kb-search--hero {
  max-width: 720px;
}

.help-kb-search--hero .help-kb-search__input-wrap {
  border-radius: 12px;
}

.help-kb-search--hero .help-kb-search__input {
  height: 52px;
}

.help-kb-search--hero .help-kb-search__submit {
  min-height: 48px;
  border-radius: 10px;
}

@media (min-width: 901px) {
  .help-hero {
    padding: calc(var(--spacing-xl) * 0.8) 0 var(--spacing-xl);
    min-height: calc(100vh - 108px);
    display: flex;
    align-items: center;
  }

  .help-hero__inner {
    padding: 0;
  }

  .help-kb-search--hero {
    max-width: 800px;
  }

  .help-kb-search--hero .help-kb-search__input {
    height: 56px;
    font-size: 1rem;
  }

  .help-kb-search--hero .help-kb-search__submit {
    min-height: 56px;
    min-width: 120px;
    font-size: 1rem;
  }
}

.help-section {
  padding-top: var(--spacing-lg);
  padding-bottom: var(--spacing-lg);
}

.help-section--compact {
  padding-top: var(--spacing-md);
  padding-bottom: var(--spacing-md);
}

.help-section--support {
  padding-top: var(--spacing-md);
}

.section-head--support h2 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-xs);
}

.help-support__meta {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  opacity: 0.85;
  text-align: center;
  margin: 0 auto var(--spacing-md);
  max-width: 28rem;
}

.help-support__meta span {
  margin: 0 0.35rem;
  opacity: 0.6;
}

.help-cta-panel {
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
  padding: var(--spacing-xl);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.help-cta-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
  align-items: stretch;
}

.help-cta-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--spacing-lg);
  min-height: 200px;
  background: var(--color-background);
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  box-sizing: border-box;
}

.help-cta-card--primary {
  background: var(--color-background-section);
  border-color: var(--color-brand-primary);
  border-width: 1.5px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.help-cta-card:not(.help-cta-card--primary):hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  border-color: var(--color-brand-primary);
}

.help-cta-card--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(74, 158, 255, 0.12);
}

.help-cta-card:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.help-cta-card__icon {
  color: var(--color-brand-primary);
  margin-bottom: var(--spacing-md);
  flex-shrink: 0;
}

.help-cta-card__title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-xs);
  line-height: 1.3;
}

.help-cta-card__desc {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-md);
  flex: 1;
  line-height: 1.45;
}

.help-cta-card__btn {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 1.25rem;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  border-radius: var(--radius-md);
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.help-cta-card__btn.btn-primary {
  background: var(--color-brand-primary);
  color: #fff;
  border: 1px solid var(--color-brand-primary);
}

.help-cta-card__btn.btn-primary:hover {
  background: var(--color-brand-primary-hover, #3d8ae8);
  border-color: var(--color-brand-primary-hover, #3d8ae8);
  color: #fff;
}

.help-cta-card__btn.help-cta-card__btn--secondary {
  background: transparent;
  color: var(--color-brand-primary);
  border: 1px solid var(--color-border);
}

.help-cta-card:hover .help-cta-card__btn.help-cta-card__btn--secondary {
  border-color: var(--color-brand-primary);
}

.help-cta-card__btn:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

/* Quick topics */
.help-quick {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-sm);
  margin-top: var(--spacing-md);
  padding: 0 var(--spacing-xs);
}

.help-quick__label {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-medium);
  width: 100%;
  text-align: center;
  margin: 0;
}

.help-quick__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}

.help-quick__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.5rem 1rem;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  background: var(--color-background);
  border: 1px solid var(--color-border-light);
  border-radius: 12px;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
  white-space: nowrap;
}

.help-quick__chip:hover {
  background: var(--color-background-section);
  border-color: var(--color-brand-primary);
  color: var(--color-brand-primary);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.help-quick__chip:active {
  background: var(--color-background-section);
  border-color: var(--color-brand-primary);
}

.help-quick__chip:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.help-quick__chip svg {
  flex-shrink: 0;
  display: block;
  color: var(--color-brand-primary);
  width: 16px;
  height: 16px;
}

@media (max-width: 480px) {
  .help-quick {
    margin-top: var(--spacing-sm);
    gap: var(--spacing-xs);
    padding: 0 var(--spacing-sm);
  }

  .help-quick__chips {
    max-width: 100%;
    gap: 0.5rem;
    justify-content: center;
  }

  .help-quick__chip {
    padding: 0.5rem 1rem;
    min-height: 44px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
  }

  .help-quick__chip svg {
    transform: scale(0.9);
    transform-origin: center;
  }
}

.help-status-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
  padding: var(--spacing-md) var(--spacing-lg);
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: 12px;
}

.help-status-panel__left {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}

.help-status-panel__icon {
  color: var(--color-brand-primary);
  flex-shrink: 0;
}

.help-status-panel__label {
  display: block;
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  margin-bottom: 0.15rem;
}

.help-status-panel__text {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin: 0;
}

.help-status-panel__right {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

.help-status-panel__badge {
  font-size: 0.8125rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  padding: 0.3rem 0.6rem;
  background: var(--color-background);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-full);
}

.help-status-panel__btn {
  min-height: 36px;
  padding: 0.35rem 0.85rem;
}

.help-kb-search {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  max-width: 640px;
  margin: 0 auto;
  width: 100%;
}

.help-kb-search__input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  background: var(--color-background);
  border: 1.5px solid var(--color-border);
  border-radius: 12px;
  transition: border-color 0.2s ease;
}

.help-kb-search__input-wrap:focus-within {
  border-color: var(--color-brand-primary);
}

.help-kb-search__icon {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  opacity: 0.55;
  color: var(--color-text-secondary);
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.help-kb-search__icon svg {
  width: 18px;
  height: 18px;
}

.help-kb-search__input {
  flex: 1;
  width: 100%;
  min-width: 0;
  height: 48px;
  padding-left: 52px;
  padding-right: 46px;
  border: 0;
  font-size: var(--font-size-base);
  font-family: inherit;
  background: transparent;
  color: var(--color-text-primary);
  border-radius: 12px;
  box-sizing: border-box;
  text-overflow: ellipsis;
}

.help-kb-search__input::placeholder {
  color: var(--color-text-secondary);
  opacity: 0.8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.help-kb-search__input:focus,
.help-kb-search__input:focus-visible {
  outline: none;
}

.help-kb-search__clear {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: var(--radius-md);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

.help-kb-search__clear:hover {
  background: var(--color-background-section);
  color: var(--color-text-primary);
}

.help-kb-search__clear:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.help-kb-search__submit {
  width: 100%;
  min-height: 44px;
  padding: 0.6rem 1.5rem;
  border-radius: 10px;
  font-size: var(--font-size-base);
}

/* Desktop: inline input + button */
@media (min-width: 640px) {
  .help-kb-search {
    flex-direction: row;
    align-items: stretch;
    gap: var(--spacing-sm);
  }

  .help-kb-search__input-wrap {
    flex: 1;
    min-width: 0;
  }

  .help-kb-search__submit {
    width: auto;
    min-width: 100px;
    flex-shrink: 0;
  }
}

.help-kb-search__hint {
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  opacity: 0.75;
  margin: var(--spacing-xs) auto 0;
  max-width: 640px;
  text-align: center;
}

.help-kb-top-searches {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-xs);
  margin-top: var(--spacing-sm);
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.help-kb-top-searches__label {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin: 0;
}

.help-kb-top-searches__chip {
  padding: 0.35rem 0.65rem;
  min-height: 32px;
  font-size: var(--font-size-sm);
  font-family: inherit;
  color: var(--color-text-secondary);
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.15s ease;
}

.help-kb-top-searches__chip:hover {
  background: var(--color-background);
  border-color: var(--color-brand-primary);
  color: var(--color-brand-primary);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.help-kb-top-searches__chip:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.help-kb-browse-all {
  margin-top: var(--spacing-lg);
  margin-bottom: 0;
  text-align: center;
}

.help-kb-browse-all a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-brand-primary);
  text-decoration: none;
  padding: 0.6rem 1rem;
  min-height: 44px;
  border-radius: var(--radius-md);
  transition: gap 0.2s ease, opacity 0.2s ease, background 0.2s ease;
}

.help-kb-browse-all a:hover {
  text-decoration: underline;
  gap: 0.4rem;
  background: rgba(59, 130, 246, 0.08);
}

@media (max-width: 480px) {
  .help-kb-browse-all {
    text-align: center;
    margin-top: var(--spacing-md);
  }

  .help-kb-browse-all a {
    width: 100%;
    max-width: 20rem;
    margin: 0 auto;
  }
}

.help-kb-browse-all a:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
  border-radius: 2px;
}

.help-kb-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
  align-items: stretch;
}

@media (max-width: 900px) {
  .help-kb-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.help-kb-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--spacing-lg);
  min-height: 140px;
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  box-sizing: border-box;
}

.help-kb-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  border-color: var(--color-brand-primary);
}

.help-kb-card:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.help-kb-card__icon {
  color: var(--color-brand-primary);
  margin-bottom: var(--spacing-sm);
  flex-shrink: 0;
}

.help-kb-card__title {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-xs);
  line-height: 1.3;
}

.help-kb-card__desc {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin: 0;
  margin-top: auto;
  line-height: 1.4;
}

.help-popular {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-sm) var(--spacing-lg);
}

.help-popular__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
  padding: 0.85rem var(--spacing-md);
  min-height: 56px;
  border-bottom: 1px solid var(--color-border-light);
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
  box-sizing: border-box;
  border-radius: var(--radius-md);
}

.help-popular__link:nth-last-child(-n+2) {
  border-bottom: none;
}

.help-popular__link:hover {
  background: var(--color-background-section);
  color: var(--color-brand-primary);
}

.help-popular__link:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.help-popular__link span {
  flex: 1;
  min-width: 0;
}

.help-popular__link svg {
  flex-shrink: 0;
  color: var(--color-text-secondary);
  margin-left: var(--spacing-sm);
  opacity: 0.6;
}

.help-popular__link:hover svg {
  color: var(--color-brand-primary);
  opacity: 0.9;
}

.help-popular__all {
  margin-top: var(--spacing-lg);
  margin-bottom: 0;
  text-align: center;
}

.help-popular__all a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.5rem 1rem;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-brand-primary);
  text-decoration: none;
  border-radius: var(--radius-md);
}

.help-popular__all a:hover {
  text-decoration: underline;
}

.help-popular__all a:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
  border-radius: 2px;
}

.help-cta-final .cta-content {
  padding: var(--spacing-lg) 0;
}

.help-cta-note {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  opacity: 0.95;
  margin: var(--spacing-sm) 0 var(--spacing-md);
}

.help-cta-note:focus-visible {
  outline: none;
}

/* ========== Knowledge Base (KB) pages ========== */
.container--kb {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--spacing-md);
  padding-right: var(--spacing-md);
}

@media (min-width: 640px) {
  .container--kb {
    padding-left: var(--spacing-lg);
    padding-right: var(--spacing-lg);
  }
}

.kb-main {
  width: 100%;
  padding-bottom: var(--spacing-xl);
}

.kb-ribbon {
  padding: var(--spacing-lg) 0 var(--spacing-md);
  border-bottom: 1px solid var(--color-border-light);
  background: var(--color-background-section);
}

.kb-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
  padding: 0;
  margin: 0 0 var(--spacing-sm);
  font-size: var(--font-size-sm);
}

.kb-breadcrumb__item:not(:last-child)::after {
  content: ' › ';
  margin-left: 0.15rem;
  color: var(--color-text-secondary);
  font-weight: 300;
}

.kb-breadcrumb__link {
  color: var(--color-text-secondary);
  text-decoration: none;
}

.kb-breadcrumb__link:hover {
  color: var(--color-brand-primary);
}

.kb-breadcrumb__current {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
}

.kb-title {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-md);
}

.kb-search {
  display: flex;
  align-items: center;
  gap: 0;
  max-width: 560px;
  background: var(--color-background);
  border: 1.5px solid var(--color-border);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.2s ease;
}

.kb-search:focus-within {
  border-color: var(--color-brand-primary);
}

.kb-search--prominent {
  margin-top: var(--spacing-md);
}

.kb-search--above-results {
  margin-bottom: var(--spacing-lg);
}

.kb-search__icon {
  padding: 0.75rem 1rem;
  color: var(--color-text-secondary);
  flex-shrink: 0;
}

.kb-search__input {
  flex: 1;
  min-width: 0;
  padding: 0.75rem 0.5rem;
  border: 0;
  font-size: var(--font-size-base);
  font-family: inherit;
  background: transparent;
  color: var(--color-text-primary);
}

.kb-search__input:focus {
  outline: none;
}

.kb-search__submit {
  margin: 0.5rem;
  flex-shrink: 0;
}

.kb-search--sidebar {
  flex-direction: column;
  align-items: stretch;
  margin-bottom: var(--spacing-lg);
}

.kb-search--sidebar .kb-search__input {
  padding: 0.6rem 0.75rem;
}

.kb-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-xl);
  padding-top: var(--spacing-lg);
  align-items: start;
}

.kb-content-col {
  min-width: 0;
  width: 100%;
}

@media (min-width: 1024px) {
  .kb-grid {
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: var(--spacing-xl);
  }

  .kb-content-col {
    min-width: 0;
  }

  .kb-sidebar {
    display: none;
  }

  .kb-right-sidebar {
    display: block;
    position: sticky;
    top: 5rem;
    width: 100%;
    min-width: 0;
    max-width: 320px;
    justify-self: end;
  }
}

.kb-sidebar {
  position: sticky;
  top: 1rem;
  padding: var(--spacing-lg);
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
}

.kb-sidebar__heading {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-sm);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.kb-sidebar__list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--spacing-lg);
}

.kb-sidebar__list li {
  margin-bottom: 0.25rem;
}

.kb-sidebar__link {
  display: block;
  padding: 0.4rem 0;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  text-decoration: none;
  border-radius: var(--radius-md);
  transition: color 0.2s ease, background 0.2s ease;
}

.kb-sidebar__link:hover {
  color: var(--color-brand-primary);
  background: var(--color-background);
}

.kb-sidebar__link--active {
  color: var(--color-brand-primary);
  font-weight: var(--font-weight-medium);
}

.kb-sidebar__link:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.kb-toc-block {
  margin-bottom: var(--spacing-lg);
}

.kb-toc__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.kb-toc__item {
  margin-bottom: 0.25rem;
}

.kb-toc__item--h3 {
  margin-left: 0.75rem;
}

.kb-toc__link {
  display: block;
  padding: 0.35rem 0;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  text-decoration: none;
  border-radius: var(--radius-md);
  transition: color 0.2s ease, background 0.2s ease;
}

.kb-toc__link:hover {
  color: var(--color-brand-primary);
  background: var(--color-background);
}

.kb-toc__link--h3 {
  font-size: 0.8125rem;
}

.kb-sidebar__cta {
  padding-top: var(--spacing-md);
  border-top: 1px solid var(--color-border-light);
}

.kb-sidebar__cta-text {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin: 0 0 var(--spacing-sm);
}

.kb-sidebar__cta-btn {
  width: 100%;
  text-align: center;
}

/* Right sidebar – hidden on mobile, visible on desktop (≥ lg) */
/* Right sidebar visibility is controlled by #kb-layout-critical in layout-top.php (ID selector) */

.kb-right-sidebar__inner {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.kb-right-sidebar__sticky {
  position: sticky;
  top: 6rem;
  align-self: start;
}

.kb-right-sidebar__card {
  margin-bottom: 0;
}

.kb-right-sidebar__inner .kb-right-sidebar__card:last-child {
  margin-bottom: 0;
}

.kb-right-card {
  padding: 1rem;
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: 12px;
}

.kb-right-card--compact {
  padding: 0.75rem 1rem;
}

.kb-right-card--popular {
  padding: 0.75rem 1rem;
}

.kb-right-card--help {
  background: var(--color-background);
  border-color: var(--color-border-light);
  padding: 0.75rem 1rem;
}

.kb-right-card__title {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-xs);
  text-transform: none;
  letter-spacing: normal;
}

.kb-right-card__title--small {
  font-size: 0.8125rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
}

.kb-right-card__text {
  font-size: 0.8125rem;
  color: var(--color-text-secondary);
  margin: 0 0 var(--spacing-sm);
  line-height: 1.45;
}

.kb-right-card--help .kb-right-card__text {
  opacity: 0.85;
  margin-bottom: var(--spacing-sm);
}

.kb-right-card__actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.kb-right-card__btn {
  width: 100%;
  text-align: center;
  padding: 0.5rem 0.75rem;
  font-size: var(--font-size-sm);
}

.kb-right-card--help .kb-right-card__btn {
  padding: 0.45rem 0.6rem;
  font-size: 0.8125rem;
}

.kb-right-card__status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: var(--spacing-sm);
}

.kb-right-card__status-label {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}

.kb-right-card__status-badge {
  font-size: 0.75rem;
  font-weight: var(--font-weight-medium);
  color: #059669;
  background: rgba(5, 150, 105, 0.12);
  padding: 0.2rem 0.5rem;
  border-radius: var(--radius-full);
}

.kb-right-card__link {
  font-size: var(--font-size-sm);
  color: var(--color-brand-primary);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: color 0.2s ease;
}

.kb-right-card__link:hover {
  color: var(--color-brand-primary-hover, #3d8ae8);
}

.kb-right-card__link:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.kb-right-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.kb-right-card__list li {
  margin-bottom: 0.35rem;
}

.kb-right-card__list-link {
  display: block;
  padding: 0.35rem 0.5rem;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  text-decoration: none;
  border-radius: var(--radius-md);
  transition: color 0.2s ease, background 0.2s ease;
}

.kb-right-card__list-link--with-chevron {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.4rem 0.5rem;
}

.kb-right-card__list-link--with-chevron span {
  flex: 1;
  min-width: 0;
}

.kb-right-card__chevron {
  flex-shrink: 0;
  color: var(--color-text-secondary);
  opacity: 0.7;
}

.kb-right-card__list-link--with-chevron:hover .kb-right-card__chevron {
  color: var(--color-brand-primary);
}

.kb-right-card__list-link:hover {
  color: var(--color-brand-primary);
  background: var(--color-background);
}

.kb-right-card__list-link:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

/* Temporary: force TOC visibility for debugging */
.toc-debug-visible {
  outline: 2px solid red !important;
  min-height: 40px !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
}
.toc-debug-visible a {
  display: block !important;
  color: #111827 !important;
  background: #fef3c7 !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
  margin-top: 6px !important;
  font-size: 13px !important;
}

.kb-toc__nav {
  margin-top: 0.75rem;
}

.kb-right-card--toc .kb-toc__list {
  margin: 0;
}

.kb-toc--right .kb-toc__list {
  margin: 0;
}

.kb-toc__link--right {
  padding: 0.35rem 0 0.35rem 0.5rem;
  font-size: var(--font-size-sm);
  border-left: 2px solid transparent;
  margin-left: -0.5rem;
  padding-left: 0.5rem;
}

.kb-toc__link--right.is-active {
  color: var(--color-brand-primary);
  font-weight: var(--font-weight-medium);
  border-left-color: var(--color-brand-primary);
}

.kb-toc__link--right:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.kb-top-searches {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-lg);
}

.kb-top-searches__label {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin: 0;
}

.kb-top-searches__chip {
  padding: 0.4rem 0.75rem;
  font-size: var(--font-size-sm);
  color: var(--color-brand-primary);
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-full);
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.kb-top-searches__chip:hover {
  background: var(--color-background);
  border-color: var(--color-brand-primary);
}

.kb-top-searches__chip:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.kb-home__section {
  margin-bottom: var(--spacing-xl);
}

.kb-home__heading {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-md);
}

.kb-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: var(--spacing-lg);
}

.kb-category-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--spacing-lg);
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: 20px;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.kb-category-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border-color: var(--color-brand-primary);
}

.kb-category-card:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.kb-category-card__icon {
  color: var(--color-brand-primary);
  margin-bottom: var(--spacing-sm);
}

.kb-category-card__title {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-xs);
}

.kb-category-card__desc {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin: 0;
}

.kb-popular-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.kb-popular-list__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
  padding: 0.6rem var(--spacing-md);
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  text-decoration: none;
  border-radius: var(--radius-md);
  transition: background 0.2s ease, color 0.2s ease;
}

.kb-popular-list__link:hover {
  background: var(--color-background-section);
  color: var(--color-brand-primary);
}

.kb-popular-list__link:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.kb-popular-list__link svg {
  flex-shrink: 0;
  color: var(--color-text-secondary);
}

.kb-popular-list__link:hover svg {
  color: var(--color-brand-primary);
}

.kb-article-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.kb-article-list__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  padding: var(--spacing-md) var(--spacing-md);
  border-bottom: 1px solid var(--color-border-light);
  text-decoration: none;
  color: inherit;
  transition: background 0.2s ease, color 0.2s ease;
}

.kb-article-list__item:hover {
  background: var(--color-background-section);
  color: var(--color-brand-primary);
}

.kb-article-list__item:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
  border-radius: var(--radius-md);
}

.kb-article-list__title {
  flex: 1;
  min-width: 0;
  font-weight: var(--font-weight-medium);
  color: inherit;
}

.kb-article-list__excerpt {
  width: 100%;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.kb-article-list__meta {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.kb-article-list__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.kb-tag {
  font-size: 0.75rem;
  padding: 0.2rem 0.5rem;
  background: var(--color-background-section);
  border-radius: var(--radius-full);
  color: var(--color-text-secondary);
}

.kb-article-list__chevron {
  flex-shrink: 0;
  color: var(--color-text-secondary);
}

.kb-article-list__item:hover .kb-article-list__chevron {
  color: var(--color-brand-primary);
}

.kb-empty {
  padding: var(--spacing-xl) 0;
  text-align: center;
}

.kb-empty__title {
  font-size: var(--font-size-lg);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-sm);
}

.kb-empty__text {
  color: var(--color-text-secondary);
  margin: 0 0 var(--spacing-md);
}

.kb-empty__categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-lg);
}

.kb-empty__cat-link {
  font-size: var(--font-size-sm);
  color: var(--color-brand-primary);
  text-decoration: none;
}

.kb-empty__cat-link:hover {
  text-decoration: underline;
}

.kb-empty__cta {
  margin-top: var(--spacing-md);
}

.kb-home__cta {
  margin-top: var(--spacing-xl);
}

.kb-content__heading {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-md);
}

.kb-content__lead {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  margin: 0 0 var(--spacing-lg);
  line-height: 1.5;
}

.kb-article__meta {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-lg);
}

.kb-article__meta span + span[aria-hidden="true"] {
  margin: 0 0.35rem;
}

/* Mobile KB article: lighter, documentation-first (article pages only) */
@media (max-width: 768px) {
  .kb-content-col:has(#kb-article-content) .kb-title {
    font-size: 1.625rem;
    line-height: 1.2;
    margin-bottom: calc(var(--spacing-md) * 0.6);
  }

  .kb-grid:has(#kb-article-content) {
    padding-top: calc(var(--spacing-lg) * 0.6);
  }

  #kb-article-content .kb-article__meta {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary);
    opacity: 0.85;
    margin-top: 0;
    margin-bottom: calc(var(--spacing-lg) * 0.6);
  }

  #kb-article-content .kb-article__meta,
  #kb-article-content .kb-article__meta a {
    color: var(--color-text-secondary);
  }
}

.kb-article__cat-link {
  color: var(--color-brand-primary);
  text-decoration: none;
}

.kb-article__cat-link:hover {
  text-decoration: underline;
}

.kb-content-prose {
  max-width: 720px;
  line-height: 1.65;
  font-size: var(--font-size-base);
}

#kb-article-content h2,
#kb-article-content h3 {
  scroll-margin-top: 110px;
}

.kb-content-prose h2 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: var(--spacing-lg) 0 var(--spacing-sm);
  padding-bottom: 0.25rem;
}

.kb-content-prose h3 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: var(--spacing-md) 0 var(--spacing-xs);
}

.kb-content-prose p {
  margin: 0 0 var(--spacing-md);
  color: var(--color-text-primary);
}

.kb-content-prose ul, .kb-content-prose ol {
  margin: 0 0 var(--spacing-md);
  padding-left: 1.5rem;
}

.kb-content-prose li {
  margin-bottom: 0.25rem;
}

.kb-content-prose code {
  font-family: ui-monospace, monospace;
  font-size: 0.9em;
  padding: 0.15rem 0.4rem;
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: 4px;
  color: var(--color-text-primary);
}

.kb-content-prose pre {
  margin: var(--spacing-md) 0;
  padding: var(--spacing-md);
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: 8px;
  overflow-x: auto;
}

.kb-content-prose pre code {
  padding: 0;
  background: none;
  border: none;
}

.kb-callout {
  margin: var(--spacing-md) 0;
  padding: var(--spacing-md) var(--spacing-lg);
  border-radius: 8px;
  border-left: 4px solid var(--color-brand-primary);
  background: var(--color-background-section);
  font-size: var(--font-size-sm);
}

.kb-callout--tip {
  border-left-color: #22c55e;
}

.kb-callout--note {
  border-left-color: var(--color-brand-primary);
}

.kb-callout--warning {
  border-left-color: #eab308;
}

.kb-article__feedback {
  margin-top: var(--spacing-xl);
  padding-top: var(--spacing-lg);
  border-top: 1px solid var(--color-border-light);
}

.kb-article__feedback-q {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-sm);
}

.kb-article__feedback-btns {
  display: flex;
  gap: var(--spacing-sm);
}

.kb-article__feedback-btn {
  padding: 0.4rem 0.75rem;
  font-size: var(--font-size-sm);
}

.kb-article__feedback-thanks {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  margin: 0;
}

.kb-article__feedback-counts {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  opacity: 0.9;
  margin: 0.35rem 0 0;
}

.kb-article__related {
  margin-top: var(--spacing-xl);
}

.kb-article__related-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-md);
}

.kb-article__cta {
  margin-top: var(--spacing-xl);
}

.kb-browse-btn {
  display: none;
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 100;
  padding: 0.6rem 1rem;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  background: var(--color-background);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}

.kb-browse-btn:focus-visible {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.kb-sidebar__close {
  display: none;
}

@media (max-width: 1023px) {
  .kb-toc-block {
    display: none;
  }

  .kb-sidebar {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 280px;
    max-width: 90vw;
    z-index: 101;
    transform: translateX(100%);
    transition: transform 0.2s ease;
    overflow-y: auto;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.1);
  }

  .kb-sidebar--open {
    transform: translateX(0);
  }

  .kb-sidebar__close {
    display: block;
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    padding: 0.5rem;
    background: transparent;
    border: 0;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--color-text-secondary);
    cursor: pointer;
  }

  .kb-browse-btn {
    display: block;
  }
}

/* KB dark mode */
html[data-theme="dark"] .kb-ribbon {
  background: var(--color-background-section);
  border-bottom-color: var(--color-border);
}

html[data-theme="dark"] .kb-breadcrumb__link {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .kb-breadcrumb__link:hover {
  color: var(--color-brand-primary);
}

html[data-theme="dark"] .kb-breadcrumb__current {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .kb-title {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .kb-search {
  background: var(--color-background);
  border-color: var(--color-border);
}

html[data-theme="dark"] .kb-search:focus-within {
  border-color: var(--color-brand-primary);
}

html[data-theme="dark"] .kb-search__input {
  background: transparent;
  color: var(--color-text-primary);
}

html[data-theme="dark"] .kb-sidebar {
  background: var(--color-background-section);
  border-color: var(--color-border);
}

html[data-theme="dark"] .kb-sidebar__link:hover {
  background: var(--color-background);
}

html[data-theme="dark"] .kb-sidebar__cta {
  border-top-color: var(--color-border);
}

html[data-theme="dark"] .kb-right-card {
  background: var(--color-background-section);
  border-color: var(--color-border);
}

html[data-theme="dark"] .kb-right-card--help {
  background: var(--color-background);
  border-color: var(--color-border);
}

html[data-theme="dark"] .kb-right-card__status-badge {
  color: #34d399;
  background: rgba(52, 211, 153, 0.15);
}

html[data-theme="dark"] .kb-right-card__list-link:hover {
  background: var(--color-background);
}

html[data-theme="dark"] .kb-top-searches__chip {
  background: var(--color-background-section);
  border-color: var(--color-border);
  color: var(--color-brand-primary);
}

html[data-theme="dark"] .kb-top-searches__chip:hover {
  background: var(--color-background);
  border-color: var(--color-brand-primary);
}

html[data-theme="dark"] .kb-category-card {
  background: var(--color-background-section);
  border-color: var(--color-border);
}

html[data-theme="dark"] .kb-category-card:hover {
  border-color: var(--color-brand-primary);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

html[data-theme="dark"] .kb-article-list__item {
  border-color: var(--color-border);
}

html[data-theme="dark"] .kb-article-list__item:hover {
  background: var(--color-background);
  border-color: var(--color-border);
}

html[data-theme="dark"] .kb-empty {
  background: var(--color-background-section);
  border-color: var(--color-border);
}

html[data-theme="dark"] .kb-empty__cat-link {
  color: var(--color-brand-primary);
}

html[data-theme="dark"] .kb-empty__cat-link:hover {
  color: var(--color-brand-primary);
}

html[data-theme="dark"] .kb-content-prose {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .kb-content-prose h2,
html[data-theme="dark"] .kb-content-prose h3 {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .kb-content-prose code {
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-text-primary);
  border-color: var(--color-border);
}

html[data-theme="dark"] .kb-content-prose pre {
  background: rgba(0, 0, 0, 0.35);
  border-color: var(--color-border);
}

html[data-theme="dark"] .kb-content-prose pre code {
  background: transparent;
  color: var(--color-text-primary);
  border: none;
}

html[data-theme="dark"] .kb-callout {
  border-color: var(--color-border);
  background: var(--color-background-section);
}

html[data-theme="dark"] .kb-callout--tip {
  border-left-color: var(--color-brand-primary);
}

html[data-theme="dark"] .kb-callout--note {
  border-left-color: #6b7280;
}

html[data-theme="dark"] .kb-callout--warning {
  border-left-color: #f59e0b;
}

html[data-theme="dark"] .kb-article__cat-link {
  color: var(--color-brand-primary);
}

html[data-theme="dark"] .kb-article__cat-link:hover {
  color: var(--color-brand-primary);
}

html[data-theme="dark"] .kb-sidebar__close {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .kb-sidebar__close:hover {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .kb-toc__link:hover {
  background: var(--color-background);
}

html[data-theme="dark"] .kb-toc__link--right.is-active {
  color: var(--color-brand-primary);
  border-left-color: var(--color-brand-primary);
}

@media (max-width: 1023px) {
  html[data-theme="dark"] .kb-sidebar {
    background: var(--color-background);
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.4);
  }
}

@media (max-width: 768px) {
  .help-section {
    padding-top: calc(var(--spacing-lg) * 0.85);
    padding-bottom: calc(var(--spacing-lg) * 0.85);
  }

  .help-section--compact {
    padding-top: calc(var(--spacing-md) * 0.85);
    padding-bottom: calc(var(--spacing-md) * 0.85);
  }

  .help-section--support {
    padding-top: var(--spacing-md);
  }

  .help-cta-grid {
    grid-template-columns: 1fr;
  }

  .help-hero {
    padding: var(--spacing-md) 0 var(--spacing-lg);
  }

  .help-hero__inner {
    padding: 0 var(--spacing-sm);
  }

  .help-hero__tip {
    font-size: var(--font-size-sm);
  }

  .help-quick {
    margin-top: var(--spacing-sm);
    gap: var(--spacing-xs);
  }

  .help-quick__chip {
    min-height: 44px;
  }

  .help-status-panel {
    flex-direction: column;
    align-items: flex-start;
  }

  .help-status-panel__right {
    width: 100%;
    justify-content: space-between;
  }

  .help-kb-search--hero .help-kb-search__input {
    height: 48px;
  }

  .help-kb-search--hero .help-kb-search__submit {
    min-height: 44px;
  }

  .help-kb-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
  }

  .help-kb-card {
    min-height: 120px;
  }

  .help-popular {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .help-popular__link {
    min-height: 52px;
    padding: 0.85rem var(--spacing-md);
  }

  .help-popular__link:last-child {
    border-bottom: none;
  }

  .help-cta-card {
    min-height: 180px;
  }
}

/* Help page: small mobile (480px) overrides */
@media (max-width: 480px) {
  .help-section {
    padding-top: var(--spacing-md);
    padding-bottom: var(--spacing-md);
  }

  .help-section--compact {
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
  }

  .help-hero {
    padding: 1.5rem 0;
  }

  .help-kb-search--hero {
    max-width: 100%;
  }

  .help-kb-search--hero .help-kb-search__submit {
    width: 100%;
  }

  .help-kb-grid {
    gap: var(--spacing-sm);
  }

  .help-kb-card {
    padding: var(--spacing-md);
    min-height: 140px;
  }

  .help-kb-card__icon {
    transform: scale(0.9);
    transform-origin: left top;
  }

  .help-cta-panel {
    padding: var(--spacing-md);
  }

  .help-cta-card {
    padding: var(--spacing-md);
    min-height: 0;
  }

  .help-cta-grid {
    gap: var(--spacing-sm);
  }

  .help-popular {
    gap: var(--spacing-md) 0;
  }

  .help-popular__link {
    min-height: 56px;
    padding: 1rem var(--spacing-md);
  }

  .help-section--support {
    padding-top: var(--spacing-sm);
  }

  .section-head--support h2 {
    font-size: var(--font-size-base);
  }

  .help-support__meta {
    margin-bottom: var(--spacing-sm);
    font-size: 0.8125rem;
  }
}

/* Popular TLDs */
.popular-tlds {
  margin-bottom: var(--spacing-xl);
  text-align: center;
}

.popular-tlds-label {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-sm);
  display: block;
}

.tld-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
  justify-content: center;
}

.tld-chip {
  padding: 0.5rem 1rem;
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-full);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  cursor: pointer;
  transition: all var(--transition-base);
}

.tld-chip:hover {
  background: var(--color-brand-primary);
  color: white;
  border-color: var(--color-brand-primary);
}

/* Domain Results Preview */
.domain-results {
  margin-top: var(--spacing-xl);
  padding: var(--spacing-lg);
  background: var(--color-background);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
}

.domain-results-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-md);
  color: var(--color-text-primary);
}

.domain-results-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.domain-result-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-md);
  background: var(--color-background-section);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-light);
}

.domain-result-name {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}

.domain-badge {
  padding: 0.375rem 0.75rem;
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
}

.domain-badge-available {
  background: var(--color-badge-bg-available);
  color: var(--color-badge-available);
}

.domain-badge-taken {
  background: var(--color-badge-bg-taken);
  color: var(--color-badge-taken);
}

/* Contact Info Block */
.contact-info {
  margin-top: var(--spacing-xl);
  padding: var(--spacing-xl);
  background: var(--color-background-section);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-light);
}

.contact-info-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-md);
  color: var(--color-text-primary);
}

.contact-info-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.contact-info-item {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-sm);
}

.contact-info-label {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  min-width: 120px;
}

.contact-info-value {
  color: var(--color-text-secondary);
}

.contact-info-value a {
  color: var(--color-brand-primary);
  text-decoration: underline;
}

.contact-info-value a:hover {
  color: var(--color-brand-primary-hover);
}

/* ========== Contact page - premium layout ========== */
.contact-page .contact-hero.page-header {
  padding: 4.5rem 0 3.5rem;
  background-image:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(26, 115, 232, 0.06), transparent 55%),
    repeating-linear-gradient(0deg, transparent, transparent 1px, rgba(0, 0, 0, 0.015) 1px, rgba(0, 0, 0, 0.015) 2px);
  background-size: 100% 100%, 4px 4px;
}

.contact-page .contact-hero__inner {
  max-width: 720px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.contact-hero__title {
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
  margin-bottom: var(--spacing-sm);
  color: var(--color-text-primary);
  letter-spacing: var(--letter-spacing-tight);
}

.contact-hero__subtitle {
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
  line-height: var(--line-height-relaxed);
  max-width: 52ch;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--spacing-sm);
}

.contact-hero__reassurance {
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
  margin: 0 auto var(--spacing-lg);
  max-width: 32ch;
}

.contact-hero__trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--spacing-md) var(--spacing-xl);
  margin-bottom: var(--spacing-xl);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-medium);
}

.contact-hero__trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.contact-hero__trust-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-brand-primary);
  flex-shrink: 0;
  opacity: 0.75;
}

.contact-hero__trust-icon svg {
  width: 20px;
  height: 20px;
}

.contact-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
  justify-content: center;
  align-items: center;
  margin-bottom: var(--spacing-sm);
}

.contact-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  min-height: 44px;
  font-weight: var(--font-weight-semibold);
  box-sizing: border-box;
}

.contact-hero__btn--primary {
  font-size: var(--font-size-base);
  padding: 0.65rem 1.5rem;
  box-shadow: 0 2px 8px rgba(26, 115, 232, 0.35);
}

.contact-hero__btn--primary:hover {
  box-shadow: 0 4px 12px rgba(26, 115, 232, 0.4);
}

.contact-hero__btn--secondary {
  font-size: var(--font-size-sm);
  padding: 0.5rem 1.25rem;
}

.contact-hero__btn:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

.contact-hero__note {
  font-size: var(--text-sm);
  color: var(--color-text-tertiary);
  margin: 0;
}

.contact-section-intro {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  text-align: center;
  max-width: 42ch;
  margin: -0.5rem auto var(--spacing-xl);
  line-height: 1.5;
}

.contact-section-title {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-lg);
  color: var(--color-text-primary);
  letter-spacing: var(--letter-spacing-tight);
  text-align: center;
}

.contact-reach .contact-section-intro,
.contact-faq .contact-section-intro {
  margin-top: -0.5rem;
  margin-bottom: var(--spacing-xl);
}

.contact-cards__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-lg);
  max-width: 1000px;
  margin: 0 auto;
  align-items: stretch;
}

@media (min-width: 768px) {
  .contact-cards__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-xl);
  }
}

.contact-card {
  position: relative;
  padding: var(--spacing-xl);
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
  background: var(--color-background);
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 0;
}

.contact-card:focus-within {
  outline: 2px solid var(--color-brand-primary);
  outline-offset: 2px;
}

@media (min-width: 769px) {
  .contact-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(60, 64, 67, 0.12);
    border-color: rgba(26, 115, 232, 0.2);
  }
}

.contact-card--recommended {
  border-width: 1.5px;
  border-color: rgba(26, 115, 232, 0.35);
  box-shadow: 0 2px 14px rgba(26, 115, 232, 0.12);
  background: linear-gradient(to bottom, rgba(26, 115, 232, 0.03), var(--color-background));
}

.contact-card__badge {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.25rem 0.5rem;
  font-size: 0.65rem;
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-brand-primary);
  background: rgba(26, 115, 232, 0.1);
  border-radius: 0 16px 0 10px;
}

.contact-card__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(26, 115, 232, 0.1);
  color: var(--color-brand-primary);
  margin-bottom: var(--spacing-md);
  flex-shrink: 0;
}

.contact-card__icon svg {
  width: 24px;
  height: 24px;
}

.contact-card__title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-sm);
  color: var(--color-text-primary);
  line-height: 1.3;
}

.contact-card__text {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: 1.5;
  margin: 0 0 var(--spacing-md);
  flex-grow: 1;
}

.contact-card__sla {
  font-size: var(--text-xs);
  color: var(--color-text-tertiary);
  margin: 0 0 var(--spacing-md);
}

.contact-card__btn {
  width: 100%;
  justify-content: center;
  font-weight: var(--font-weight-medium);
}

.contact-card__btn:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

.contact-reach__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-xl);
  max-width: 900px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .contact-reach__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-2xl);
  }
}

.contact-reach__channels,
.contact-reach__checklist {
  padding: var(--spacing-xl);
  background: var(--color-background-section);
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
}

.contact-reach__subtitle {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-md);
  color: var(--color-text-primary);
}

.contact-reach__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.contact-reach__list li {
  margin-bottom: var(--spacing-sm);
}

.contact-reach__list li:last-child {
  margin-bottom: 0;
}

.contact-reach__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-brand-primary);
  text-decoration: none;
  font-weight: var(--font-weight-medium);
  padding: 0.25rem 0;
}

.contact-reach__link:hover {
  color: var(--color-brand-primary-hover);
  text-decoration: underline;
}

.contact-reach__link:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}

.contact-reach__link-icon {
  display: inline-flex;
  color: var(--color-text-secondary);
  flex-shrink: 0;
}

.contact-reach__link-icon svg {
  width: 20px;
  height: 20px;
}

.contact-reach__checklist-list {
  list-style: none;
  margin: 0 0 var(--spacing-md);
  padding: 0;
}

.contact-reach__checklist-list li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: var(--spacing-sm);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}

.contact-reach__checklist-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-brand-primary);
}

.contact-reach__security {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0;
  padding: var(--spacing-sm) var(--spacing-sm) 0;
  margin-top: var(--spacing-sm);
  border-top: 1px solid var(--color-border-light);
  background: rgba(26, 115, 232, 0.06);
  border-radius: 0 0 12px 12px;
  margin-left: calc(-1 * var(--spacing-xl));
  margin-right: calc(-1 * var(--spacing-xl));
  margin-bottom: calc(-1 * var(--spacing-xl));
  padding-left: var(--spacing-xl);
  padding-right: var(--spacing-xl);
  padding-bottom: var(--spacing-xl);
}

.contact-reach__security-icon {
  flex-shrink: 0;
  color: var(--color-brand-primary);
  margin-top: 0.15rem;
}

.contact-reach__security-icon svg {
  width: 18px;
  height: 18px;
}

.contact-reach__security p {
  font-size: 0.8125rem;
  color: var(--color-text-secondary);
  margin: 0;
  line-height: 1.5;
  font-weight: var(--font-weight-normal);
}

.contact-reach__security strong {
  color: var(--color-text-primary);
}

.contact-faq__list {
  max-width: 680px;
  margin: 0 auto;
}

.contact-faq__item {
  border: 1px solid var(--color-border-light);
  border-radius: 14px;
  margin-bottom: var(--spacing-sm);
  background: var(--color-background);
  overflow: hidden;
}

.contact-faq__item:last-child {
  margin-bottom: 0;
}

.contact-faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--spacing-md) var(--spacing-lg);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  transition: background var(--transition-base);
}

.contact-faq__trigger:hover {
  background: rgba(26, 115, 232, 0.06);
}

.contact-faq__trigger:focus-visible {
  outline: var(--focus-outline);
  outline-offset: -2px;
}

.contact-faq__trigger::after {
  content: '';
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-left: var(--spacing-sm);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%235f6368' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") center/20px no-repeat;
  transition: transform var(--transition-base);
}

.contact-faq__trigger[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.contact-faq__panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.contact-faq__item--open .contact-faq__panel {
  max-height: 400px;
}

.contact-faq__panel > p {
  padding: 0 var(--spacing-lg) var(--spacing-md);
}

.contact-faq__panel p {
  margin: 0;
  padding-left: var(--spacing-md);
  padding-right: var(--spacing-md);
  padding-top: var(--spacing-xs);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.contact-faq__panel a {
  color: var(--color-brand-primary);
  text-decoration: underline;
}

.contact-faq__panel a:hover {
  color: var(--color-brand-primary-hover);
}

/* Support ticket page — Submit a ticket (department selector) */
.support-hero {
  position: relative;
  padding: 72px 16px 26px;
  overflow: hidden;
}

.support-hero__bg {
  position: absolute;
  inset: -20%;
  pointer-events: none;
  background:
    radial-gradient(720px 360px at 50% 40%, rgba(37, 99, 235, 0.12), transparent 60%),
    radial-gradient(520px 300px at 62% 55%, rgba(99, 102, 241, 0.08), transparent 62%),
    radial-gradient(520px 300px at 38% 60%, rgba(14, 165, 233, 0.06), transparent 62%);
}

.support-hero__inner {
  position: relative;
  width: min(1100px, 100%);
  margin: 0 auto;
  text-align: center;
  z-index: 1;
}

.support-hero__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.1);
  border: 1px solid rgba(37, 99, 235, 0.2);
  color: rgba(37, 99, 235, 0.95);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.support-hero h1 {
  margin: 14px 0 10px;
  font-size: 44px;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: var(--color-text-primary);
}

.support-hero p {
  margin: 0 auto 12px;
  max-width: 720px;
  color: var(--color-text-secondary);
  font-size: 16px;
  line-height: 1.6;
}

.support-hero__meta {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 10px;
  opacity: 0.9;
  font-size: 13px;
}

.support-hero__meta span {
  color: rgba(15, 23, 42, 0.55);
  font-weight: 600;
}

.support-confidence {
  margin-top: 10px;
  margin-bottom: 0;
  font-size: 13px;
  color: rgba(15, 23, 42, 0.55);
}

html[data-theme="dark"] .support-confidence {
  color: var(--color-text-tertiary);
}

.support-depts {
  padding: 28px 16px 64px;
}

.support-depts__inner {
  width: min(1100px, 100%);
  margin: 0 auto;
}

.support-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

.dept-card {
  display: flex;
  flex-direction: column;
  min-height: 340px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(15, 23, 42, 0.1);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
  padding: 18px;
  transition: transform 0.15s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

html[data-theme="dark"] .dept-card {
  background: var(--color-background-section);
  border-color: var(--color-border);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.2);
}

.dept-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 54px rgba(15, 23, 42, 0.1);
  border-color: rgba(37, 99, 235, 0.26);
}

.dept-card:focus-within {
  border-color: rgba(37, 99, 235, 0.36);
  box-shadow: 0 0 0 7px rgba(37, 99, 235, 0.1), 0 22px 54px rgba(15, 23, 42, 0.1);
}

html[data-theme="dark"] .dept-card:hover {
  border-color: rgba(74, 158, 255, 0.3);
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.3);
}

html[data-theme="dark"] .dept-card:focus-within {
  border-color: rgba(74, 158, 255, 0.45);
  box-shadow: 0 0 0 7px rgba(74, 158, 255, 0.12), 0 22px 54px rgba(0, 0, 0, 0.3);
}

/* Subtle default emphasis on Technical (guided choice) */
.dept-card--tech {
  border-color: rgba(37, 99, 235, 0.32);
  box-shadow: 0 22px 54px rgba(37, 99, 235, 0.12);
}

html[data-theme="dark"] .dept-card--tech {
  border-color: rgba(74, 158, 255, 0.35);
  box-shadow: 0 22px 54px rgba(74, 158, 255, 0.15);
}

.dept-card__recommend {
  display: inline-block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(37, 99, 235, 0.95);
}

html[data-theme="dark"] .dept-card__recommend {
  color: rgba(147, 197, 253, 1);
}

.dept-card a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.35);
  border-radius: 12px;
}

html[data-theme="dark"] .dept-card a:focus-visible {
  box-shadow: 0 0 0 3px rgba(74, 158, 255, 0.45);
}

.dept-card__top {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.dept-card__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(37, 99, 235, 0.1);
  border: 1px solid rgba(37, 99, 235, 0.16);
  font-size: 18px;
  flex-shrink: 0;
}

html[data-theme="dark"] .dept-card__icon {
  background: rgba(74, 158, 255, 0.12);
  border-color: rgba(74, 158, 255, 0.25);
}

.dept-card__titlewrap h2 {
  line-height: 1.1;
}

.dept-card h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 900;
  color: var(--color-text-primary);
}

.dept-card__pill {
  margin-top: 8px;
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.05);
  color: rgba(15, 23, 42, 0.68);
  font-size: 11.5px;
  font-weight: 800;
}

html[data-theme="dark"] .dept-card__pill {
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-text-secondary);
}

.dept-card__desc {
  margin: 12px 0 10px;
  color: var(--color-text-secondary);
  font-size: 13px;
  line-height: 1.45;
}

.dept-card__list {
  margin: 0 0 14px;
  padding-left: 18px;
  color: rgba(15, 23, 42, 0.68);
  font-size: 12.5px;
  line-height: 1.55;
}

.dept-card__list li {
  margin: 4px 0;
}

.dept-card__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: auto;
  padding-top: 8px;
}

.dept-card__actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 14px;
  border-radius: 14px;
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box;
}

.dept-card__actions .btn-primary {
  height: 44px;
  min-width: 190px;
}

/* Support ticket: premium ghost CTAs (override global .btn-ghost) */
.support-depts .dept-card__actions .btn-ghost {
  height: 40px;
  min-width: 140px;
  font-size: 13px;
  opacity: 0.85;
  background: rgba(37, 99, 235, 0.12);
  background-color: rgba(37, 99, 235, 0.12);
  border: 1px solid rgba(37, 99, 235, 0.28);
  color: #1d4ed8;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.support-depts .dept-card__actions .btn-ghost:hover {
  background: rgba(37, 99, 235, 0.18);
  background-color: rgba(37, 99, 235, 0.18);
  border-color: rgba(37, 99, 235, 0.4);
  color: #1e40af;
  opacity: 1;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.15);
}

.support-depts .dept-card__actions .btn-ghost:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.35);
  border-radius: 12px;
}

html[data-theme="dark"] .support-depts .dept-card__actions .btn-ghost {
  background: rgba(74, 158, 255, 0.14);
  background-color: rgba(74, 158, 255, 0.14);
  border-color: rgba(74, 158, 255, 0.35);
  color: rgba(147, 197, 253, 1);
}

html[data-theme="dark"] .support-depts .dept-card__actions .btn-ghost:hover {
  background: rgba(74, 158, 255, 0.22);
  background-color: rgba(74, 158, 255, 0.22);
  border-color: rgba(74, 158, 255, 0.5);
  color: #93c5fd;
  box-shadow: 0 12px 24px rgba(74, 158, 255, 0.2);
}

.support-tipbox {
  margin-top: 18px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.75);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

html[data-theme="dark"] .support-tipbox {
  background: var(--color-background-section);
  border-color: var(--color-border);
}

.support-tipbox h3 {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 900;
  color: var(--color-text-primary);
}

.support-tips {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.support-tip {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  border-radius: 16px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.support-tip__icon {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(37, 99, 235, 0.1);
  border: 1px solid rgba(37, 99, 235, 0.16);
  font-size: 16px;
  flex-shrink: 0;
}

html[data-theme="dark"] .support-tip__icon {
  background: rgba(74, 158, 255, 0.12);
  border-color: rgba(74, 158, 255, 0.25);
}

.support-tip__text {
  color: rgba(15, 23, 42, 0.7);
  font-size: 12.5px;
  line-height: 1.45;
}

.support-tip strong {
  font-weight: 800;
}

html[data-theme="dark"] .support-tip {
  background: var(--color-background-section);
  border-color: var(--color-border);
}

html[data-theme="dark"] .support-tip__text {
  color: var(--color-text-secondary);
}

.support-alt {
  margin-top: 16px;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.support-alt__link {
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.7);
  color: rgba(15, 23, 42, 0.72);
  font-size: 12.5px;
  font-weight: 800;
  opacity: 0.9;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.support-alt__link:hover {
  border-color: rgba(37, 99, 235, 0.24);
  color: rgba(37, 99, 235, 0.95);
  opacity: 1;
}

html[data-theme="dark"] .support-alt__link {
  background: var(--color-background-section);
  border-color: var(--color-border);
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .support-alt__link:hover {
  border-color: rgba(74, 158, 255, 0.35);
  color: var(--color-brand-primary);
}

/* System Status page — same design language as Support */
.status-page-section .status-unavailable {
  padding: 24px;
  border-radius: 16px;
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.25);
  color: var(--color-text-primary);
  text-align: center;
  margin-bottom: 24px;
}

.status-page-section .status-unavailable p {
  margin: 0;
  font-weight: 600;
}

.status-banner {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 14px;
  margin-bottom: 24px;
}

.status-banner__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  animation: status-pulse 2s ease-in-out infinite;
}

.status-banner--operational {
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.3);
  color: #15803d;
}

.status-banner--operational .status-banner__dot {
  background: #22c55e;
}

.status-banner--degraded {
  background: rgba(234, 179, 8, 0.12);
  border: 1px solid rgba(234, 179, 8, 0.35);
  color: #a16207;
}

.status-banner--degraded .status-banner__dot {
  background: #eab308;
}

.status-banner--outage {
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: #b91c1c;
}

.status-banner--outage .status-banner__dot {
  background: #ef4444;
}

@keyframes status-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

html[data-theme="dark"] .status-banner--operational {
  background: rgba(34, 197, 94, 0.15);
  border-color: rgba(34, 197, 94, 0.4);
  color: #4ade80;
}

html[data-theme="dark"] .status-banner--degraded {
  background: rgba(234, 179, 8, 0.15);
  border-color: rgba(234, 179, 8, 0.4);
  color: #facc15;
}

html[data-theme="dark"] .status-banner--outage {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.4);
  color: #f87171;
}

.status-section-title {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 800;
  color: var(--color-text-secondary);
}

.status-section-title__muted {
  font-weight: 600;
  color: var(--color-text-tertiary);
}

.status-services {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 28px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(15, 23, 42, 0.1);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

html[data-theme="dark"] .status-services {
  background: var(--color-background-section);
  border-color: var(--color-border);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2);
}

.status-refresh-indicator {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  color: var(--color-text-tertiary);
}

.status-refresh-indicator__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-brand-primary);
  opacity: 0.9;
}

.status-refresh-indicator--pulse .status-refresh-indicator__dot {
  animation: status-refresh-pulse 0.6s ease-out;
}

@keyframes status-refresh-pulse {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.6; }
  100% { transform: scale(1); opacity: 0.9; }
}

.status-service {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  gap: 12px 16px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  font-size: 14px;
}

.status-service:last-child {
  border-bottom: none;
}

html[data-theme="dark"] .status-service {
  border-bottom-color: var(--color-border-light);
}

.status-service__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 6px;
}

.status-service__main {
  min-width: 0;
}

.status-service__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}

.status-service__meta {
  display: inline-flex;
  align-items: center;
  gap: 10px 14px;
  flex-wrap: wrap;
  margin-left: auto;
}

.status-service__sub {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 6px;
  color: rgba(15, 23, 42, 0.55);
  font-size: 12.5px;
}

html[data-theme="dark"] .status-service__sub {
  color: rgba(255, 255, 255, 0.6);
}

.status-service__uptime strong {
  color: var(--color-text-secondary);
}

.status-history {
  display: flex;
  gap: 4px;
}

.status-history__block {
  width: 10px;
  height: 8px;
  border-radius: 3px;
  background: rgba(15, 23, 42, 0.1);
}

html[data-theme="dark"] .status-history__block {
  background: rgba(255, 255, 255, 0.1);
}

.status-history__block.h-ok {
  background: rgba(34, 197, 94, 0.45);
}

.status-history__block.h-warn {
  background: rgba(245, 158, 11, 0.55);
}

.status-history__block.h-down {
  background: rgba(239, 68, 68, 0.6);
}

.status-pill--core {
  font-size: 11px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.18);
  color: rgba(37, 99, 235, 0.95);
}

html[data-theme="dark"] .status-pill--core {
  background: rgba(59, 130, 246, 0.12);
  border-color: rgba(59, 130, 246, 0.25);
  color: rgba(147, 197, 253, 0.95);
}

.status-service__core-info {
  font-size: 12px;
  opacity: 0.85;
  cursor: help;
  margin-left: 2px;
}

.status-tooltip {
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  transform: translate(-50%, -100%);
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.95);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  max-width: 260px;
  white-space: normal;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: opacity 0.15s ease;
}

html[data-theme="dark"] .status-tooltip {
  background: rgba(30, 35, 45, 0.98);
  color: var(--color-text-primary);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.status-service__dot--operational {
  background: #22c55e;
}

.status-service__dot--degraded {
  background: #eab308;
}

.status-service__dot--outage {
  background: #ef4444;
}

html[data-theme="dark"] .status-service__dot--operational {
  background: #4ade80;
}

html[data-theme="dark"] .status-service__dot--degraded {
  background: #facc15;
}

html[data-theme="dark"] .status-service__dot--outage {
  background: #f87171;
}

.status-service__name {
  font-weight: 700;
  color: var(--color-text-primary);
}

.status-service__latency {
  font-size: 13px;
  color: var(--color-text-tertiary);
  font-variant-numeric: tabular-nums;
}

.status-service__row .status-service__name {
  flex: 1;
  min-width: 0;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 800;
}

.status-pill--operational {
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.3);
  color: #15803d;
}

.status-pill--degraded {
  background: rgba(234, 179, 8, 0.12);
  border: 1px solid rgba(234, 179, 8, 0.35);
  color: #a16207;
}

.status-pill--outage {
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: #b91c1c;
}

html[data-theme="dark"] .status-pill--operational {
  background: rgba(34, 197, 94, 0.15);
  border-color: rgba(34, 197, 94, 0.4);
  color: #4ade80;
}

html[data-theme="dark"] .status-pill--degraded {
  background: rgba(234, 179, 8, 0.15);
  border-color: rgba(234, 179, 8, 0.4);
  color: #facc15;
}

html[data-theme="dark"] .status-pill--outage {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.4);
  color: #f87171;
}

.status-pill--scheduled {
  background: rgba(234, 179, 8, 0.12);
  border: 1px solid rgba(234, 179, 8, 0.35);
  color: #a16207;
}

html[data-theme="dark"] .status-pill--scheduled {
  background: rgba(234, 179, 8, 0.15);
  border-color: rgba(234, 179, 8, 0.4);
  color: #facc15;
}

.status-service__details-wrap {
  grid-column: 1 / -1;
  font-size: 12px;
  color: var(--color-text-tertiary);
  margin-top: 4px;
}

.status-service__details {
  font-weight: 500;
}

@media (max-width: 640px) {
  .status-service__meta {
    width: 100%;
    margin-left: 0;
  }
  .status-service__sub {
    flex-wrap: wrap;
  }
  .status-service__details-wrap {
    grid-column: 1 / -1;
  }
}

.status-maintenance {
  margin-bottom: 28px;
}

.status-maintenance__empty {
  margin: 0;
  padding: 14px 18px;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.03);
  border: 1px solid rgba(15, 23, 42, 0.08);
  font-size: 13px;
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .status-maintenance__empty {
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--color-border-light);
}

.status-maintenance__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.status-maintenance-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding: 14px 18px;
  border-radius: 12px;
  background: rgba(234, 179, 8, 0.06);
  border: 1px solid rgba(234, 179, 8, 0.2);
  font-size: 13px;
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .status-maintenance-card {
  background: rgba(234, 179, 8, 0.08);
  border-color: rgba(234, 179, 8, 0.25);
}

.status-maintenance-card strong {
  color: var(--color-text-primary);
}

.status-maintenance__date {
  font-size: 12px;
  color: var(--color-text-tertiary);
}

.status-incidents {
  margin-bottom: 28px;
}

.status-incidents-summary {
  padding: 14px 18px;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.03);
  border: 1px solid rgba(15, 23, 42, 0.08);
  margin-bottom: 12px;
  font-size: 13px;
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .status-incidents-summary {
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--color-border-light);
}

.status-incidents-summary__line {
  margin: 0 0 4px;
}

.status-incidents-summary__line:last-child {
  margin-bottom: 0;
}

.status-incidents-summary__line strong {
  color: var(--color-text-primary);
}

.status-incidents__list {
  margin: 0;
  padding-left: 20px;
  font-size: 13px;
  color: var(--color-text-secondary);
}

.status-incidents__list li {
  margin: 6px 0;
}

.status-incidents__date {
  font-size: 12px;
  color: var(--color-text-tertiary);
}

.status-metrics-internal {
  margin-bottom: 24px;
}

.status-metrics-internal[hidden] {
  display: none !important;
}

.status-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

.status-card {
  display: flex;
  flex-direction: column;
  min-height: 140px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(15, 23, 42, 0.1);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
  padding: 18px;
  transition: transform 0.15s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

html[data-theme="dark"] .status-card {
  background: var(--color-background-section);
  border-color: var(--color-border);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.2);
}

.status-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 54px rgba(15, 23, 42, 0.1);
  border-color: rgba(37, 99, 235, 0.2);
}

html[data-theme="dark"] .status-card:hover {
  border-color: rgba(74, 158, 255, 0.3);
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.3);
}

.status-card__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(37, 99, 235, 0.1);
  border: 1px solid rgba(37, 99, 235, 0.16);
  font-size: 18px;
  flex-shrink: 0;
  margin-bottom: 10px;
}

html[data-theme="dark"] .status-card__icon {
  background: rgba(74, 158, 255, 0.12);
  border-color: rgba(74, 158, 255, 0.25);
}

.status-card__title {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 800;
  color: var(--color-text-secondary);
}

.status-card__value {
  font-size: 20px;
  font-weight: 900;
  color: var(--color-text-primary);
  line-height: 1.2;
}

.status-card__meta {
  margin-top: 4px;
  font-size: 11px;
  color: var(--color-text-tertiary);
}

.status-updated {
  margin: 0 0 24px;
  font-size: 13px;
  color: var(--color-text-tertiary);
}

.status-page-alt {
  margin-top: 32px;
}

@media (max-width: 980px) {
  .status-metrics {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .status-metrics {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .support-grid {
    grid-template-columns: 1fr;
  }

  .dept-card {
    min-height: unset;
  }

  .support-tips {
    grid-template-columns: 1fr;
  }

  .support-hero h1 {
    font-size: 38px;
  }
}

/* Contact page: tighter mobile spacing */
@media (max-width: 768px) {
  .contact-page .section {
    padding: 2rem 0;
  }

  .contact-page .contact-hero.page-header {
    padding: 2.5rem 0 2rem;
  }

  .contact-hero__ctas {
    flex-direction: column;
  }

  .contact-hero__btn {
    width: 100%;
    min-width: 0;
  }

  .contact-hero__btn--primary {
    order: -1;
  }

  .contact-hero__trust {
    gap: var(--spacing-sm);
  }

  .contact-section-intro {
    margin-bottom: var(--spacing-lg);
  }

  .contact-reach__security {
    margin-left: calc(-1 * var(--spacing-md));
    margin-right: calc(-1 * var(--spacing-md));
    margin-bottom: calc(-1 * var(--spacing-md));
    padding-left: var(--spacing-md);
    padding-right: var(--spacing-md);
    padding-bottom: var(--spacing-md);
  }
}

@media (max-width: 768px) {
  .hero-title,
  .page-header h1 {
    font-size: var(--font-size-2xl);
  }

  .hero-subline,
  .intro {
    font-size: var(--font-size-lg);
  }

  .services-grid,
  .why-grid,
  .stack-grid,
  .features-grid {
    grid-template-columns: 1fr;
  }

  .domain-search-form {
    flex-direction: column;
  }

  .domain-search-button {
    width: 100%;
  }

  .domain-hero__form-row {
    flex-direction: column;
  }

  .domain-hero__input {
    max-width: 100%;
  }

  .how-it-works__steps {
    flex-direction: column;
    gap: var(--spacing-md);
  }

  .how-it-works__connector {
    width: 2px;
    height: 24px;
    margin: 0;
  }

  .tld-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact-info-item {
    flex-direction: column;
    gap: var(--spacing-xs);
  }

  .contact-info-label {
    min-width: auto;
  }

  .hero-subline,
  .intro {
    font-size: var(--font-size-lg);
  }

  .services-grid,
  .why-grid,
  .stack-grid,
  .features-grid {
    grid-template-columns: 1fr;
  }

  .domain-search-form {
    flex-direction: column;
  }

  .domain-search-button {
    width: 100%;
  }

  .domain-hero__form-row {
    flex-direction: column;
  }

  .domain-hero__input {
    max-width: 100%;
  }

  .how-it-works__steps {
    flex-direction: column;
    gap: var(--spacing-md);
  }

  .how-it-works__connector {
    width: 2px;
    height: 24px;
    margin: 0;
  }

  .tld-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact-info-item {
    flex-direction: column;
    gap: var(--spacing-xs);
  }

  .contact-info-label {
    min-width: auto;
  }

/* Compare Plans - Mobile */
@media (max-width: 900px) {
  .compare-mobile-hint {
    display: block;
  }

  .compare-desktop {
    display: none;
  }

  .compare-mobile {
    display: block;
  }

  .compare-cta__buttons {
    flex-direction: column;
    width: 100%;
  }

  .compare-cta__buttons .btn {
    width: 100%;
    max-width: 280px;
  }
}

/* Desktop: Sticky header only */
@media (min-width: 901px) {
  .compare-table thead {
    position: sticky;
    top: 0;
    z-index: 10;
  }
}

.compare-plan-selector {
  display: flex;
  gap: 8px;
  margin-bottom: var(--spacing-lg);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.compare-plan-selector::-webkit-scrollbar {
  display: none;
}

.compare-plan-btn {
  flex: 1;
  min-width: 100px;
  padding: 12px 16px;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  background: var(--color-background);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all var(--transition-base);
  white-space: nowrap;
}

.compare-plan-btn:hover {
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

.compare-plan-btn.active {
  background: var(--color-brand-primary);
  color: white;
  border-color: var(--color-brand-primary);
  font-weight: var(--font-weight-semibold);
}

.compare-plan-details {
  background: var(--color-background);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: var(--spacing-lg);
}

.compare-plan-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-sm);
  padding: var(--spacing-md) 0;
  border-bottom: 1px solid var(--color-border-light);
  align-items: center;
}

.compare-plan-feature:last-child {
  border-bottom: none;
}

.compare-plan-feature-name {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  font-size: var(--font-size-sm);
  margin-bottom: 0;
}

.compare-plan-feature-value {
  color: var(--color-text-secondary);
  text-align: right;
  font-size: var(--font-size-sm);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* Mobile: Reduce vertical spacing in compare plans section */
@media (max-width: 480px) {
  /* Reduce spec row padding */
  .compare-table td {
    padding-top: 9px; /* Reduced from 14px (8-10px range) */
    padding-bottom: 9px; /* Reduced from 14px (8-10px range) */
    padding-left: var(--spacing-sm); /* Keep horizontal padding */
    padding-right: var(--spacing-sm);
    /* Ensure vertical centering */
    vertical-align: middle;
    line-height: 1.4; /* Tighter line-height */
  }

  /* Reduce divider spacing */
  .compare-table tbody tr {
    border-bottom: 1px solid var(--color-border-light);
  }

  .compare-table tbody tr:not(.compare-section-header) {
    margin-top: 0;
    margin-bottom: 0;
  }

  /* Reduce section header spacing */
  .compare-section-header td {
    padding-top: 20px; /* Reduced from 32px */
    padding-bottom: 10px; /* Reduced from 14px */
    margin-top: 6px; /* Reduced divider margin (6-8px range) */
    margin-bottom: 6px;
  }

  /* Reduce compare-plan-feature padding (mobile view) */
  .compare-plan-feature {
    padding-top: 9px; /* Reduced from var(--spacing-md) = 24px (8-10px range) */
    padding-bottom: 9px; /* Reduced from var(--spacing-md) = 24px */
    margin-top: 0;
    margin-bottom: 0;
    align-items: center; /* Ensure label and value are vertically centered */
  }

  /* Remove extra margin from labels */
  .compare-plan-feature-name {
    margin-bottom: 0 !important;
    margin-top: 0;
    line-height: 1.3;
  }

  .compare-plan-feature-value {
    margin-bottom: 0;
    margin-top: 0;
    line-height: 1.3;
  }

  /* Reduce container vertical padding */
  .compare-plan-details {
    padding-top: 24px; /* Reduced from var(--spacing-lg) = 32px (20-25% reduction) */
    padding-bottom: 24px; /* Reduced from var(--spacing-lg) = 32px */
    padding-left: var(--spacing-lg); /* Keep horizontal padding unchanged */
    padding-right: var(--spacing-lg);
  }

  /* Ensure table container doesn't add extra spacing */
  .compare-table-wrapper {
    margin-top: 0;
    margin-bottom: 0;
  }
}

  /* Billing Term Selector Mobile */
  .billing-term-group {
    gap: 6px;
  }

  .billing-term-btn {
    flex: 1 1 calc(50% - 3px);
    min-width: 90px;
    max-width: calc(50% - 3px);
    padding: 8px 10px;
    font-size: 12px;
  }

  /* Who Grid Mobile */
  /* Very small screens: Keep 1 column (already set in base) */
  .who-grid {
    grid-template-columns: 1fr;
    gap: 12px; /* Reduced gap for very small screens */
  }
  
  /* Reduce padding on very small screens */
  .who-card {
    padding: 12px 10px;
  }
  
  /* Ensure badge fits on very small screens */
  .who-card__badge {
    font-size: 9px;
    padding: 2px 7px;
  }

  /* Infrastructure Grid Mobile */
  .infrastructure-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px; /* Reduced gap on mobile */
  }
  
  .infrastructure-item {
    padding: 18px; /* Slightly reduced padding on mobile */
  }
  
  .infrastructure-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
  }
  
  .infrastructure-icon svg {
    width: 20px;
    height: 20px;
  }

  /* How it Works Mobile */
  .how-it-works {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-md);
  }
}

@media (max-width: 768px) {
  .wh-hero__timeline {
    padding-top: 16px;
  }

  .wh-hero__trust-strip {
    gap: 12px 16px;
    font-size: 11px;
  }

  .wh-hero__trust-item {
    gap: 5px;
  }

  .wh-hero__trust-item svg {
    width: 12px;
    height: 12px;
  }

  .wh-hero__trust-payment-icon {
    max-height: 12px;
  }

  .wh-hero__payments {
    margin-top: var(--spacing-md);
    padding-top: var(--spacing-sm);
  }

  .wh-hero__payments-grid {
    gap: 10px;
  }

  .wh-hero__payment-logo {
    max-height: 24px;
  }

  .wh-hero__timeline-steps {
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
  }

  .wh-hero__timeline-connector {
    display: none;
  }

  .wh-hero__timeline-label {
    max-width: 110px;
    font-size: 11px;
    line-height: 1.25;
    white-space: nowrap;
  }

  .wh-hero__timeline-icon {
    width: 24px;
    height: 24px;
  }
}

/* Mobile: Switch timeline to 2x2 grid layout */
@media (max-width: 480px) {
  /* Apply to both hero timeline and mobile-extras timeline */
  .wh-hero__timeline-steps,
  .wh-plans__mobile-extras .wh-hero__timeline-steps {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: start !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .wh-hero__timeline-step {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 8px !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    /* Remove any fixed widths or flex-basis */
    flex-basis: auto !important;
  }

  .wh-hero__timeline-icon {
    width: 28px !important;
    height: 28px !important;
    flex-shrink: 0 !important;
    margin: 0 auto !important;
  }

  .wh-hero__timeline-label {
    font-size: 13px !important;
    line-height: 1.3 !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    width: 100% !important;
    /* Remove any fixed widths */
    min-width: 0 !important;
  }

  .wh-hero__timeline-connector {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .infrastructure-grid,
  .how-it-works {
    grid-template-columns: 1fr;
    gap: 14px; /* Reduced gap on very small screens */
  }
  
  .infrastructure-item {
    padding: 16px;
  }
  
  .infrastructure-trust-line {
    padding: 10px 16px;
    font-size: 12px;
  }

  .billing-term-btn {
    flex: 1 1 100%;
    min-width: 0;
    max-width: 100%;
    padding: 8px 10px;
    font-size: 12px;
  }
}

/* Dark Theme Overrides - Rich, Layered Palette */
html[data-theme="dark"] {
  /* Background layers - stronger separation */
  --color-background: #0a0c0f; /* Darkest (page bg) - slightly darker */
  --color-background-section: #131519; /* Slightly lighter than before (section surface) */
  --color-background-card: #1a1d22; /* A bit lighter than section (cards) */
  --color-background-hero: linear-gradient(to bottom, #131519 0%, #0a0c0f 100%);
  
  /* Text - high contrast with improved secondary */
  --color-text-primary: #f1f3f5; /* Near-white for headings */
  --color-text-secondary: #c0c5cc; /* Slightly brighter for paragraphs */
  --color-text-tertiary: #9aa0a8; /* Muted for tertiary text - not too faint */

  /* Surface + Text Aliases */
  --surface-900: #131519;
  --surface-950: #0a0c0f;
  --text-primary: var(--color-text-primary);
  --text-secondary: var(--color-text-secondary);
  --bg-elevated: linear-gradient(
    180deg,
    var(--surface-900) 0%,
    var(--surface-950) 100%
  );
  --border-color: var(--color-border);
  --color-primary: var(--color-brand-primary);
  --color-primary-soft: rgba(59, 130, 246, 0.10);
  --color-border-subtle: var(--border-color);
  --menu-item-color: #E5E7EB;
  
  /* Borders - visible but subtle */
  --color-border: #2d3138; /* Main border */
  --color-border-light: #25282e; /* Lighter border */
  
  /* Brand - ensure it pops */
  --color-brand-primary: #4a9eff; /* Slightly brighter blue for dark */
  --color-brand-primary-rgb: 74, 158, 255;
  --color-brand-primary-hover: #6bb0ff;
  
  /* Shadows - deep and rich */
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.55);
  
  /* Accent glow system - premium SaaS polish */
  --glow-brand: rgba(74, 158, 255, 0.18);
  --glow-brand-soft: rgba(74, 158, 255, 0.10);
  --glow-success-soft: rgba(60, 220, 160, 0.10);
}

/* Dark theme - Hero: deep navy aurora (no grid) */
html[data-theme="dark"] .hero {
  background:
    radial-gradient(1200px 600px at 50% 20%, rgba(37, 99, 235, 0.18), transparent 55%),
    radial-gradient(900px 500px at 15% 70%, rgba(14, 165, 233, 0.12), transparent 60%),
    radial-gradient(900px 520px at 85% 75%, rgba(99, 102, 241, 0.1), transparent 60%),
    #0b1220;
}

html[data-theme="dark"] .page-header {
  background: linear-gradient(to bottom, #0a0c0f 0%, #0a0c0f 100%);
}

/* Dark theme - Hero aurora glow layer */
html[data-theme="dark"] .hero::before {
  background:
    radial-gradient(760px 420px at 50% 28%, rgba(37, 99, 235, 0.22), transparent 60%),
    radial-gradient(620px 360px at 75% 55%, rgba(59, 130, 246, 0.14), transparent 62%),
    radial-gradient(620px 380px at 25% 62%, rgba(14, 165, 233, 0.1), transparent 65%);
  opacity: 1;
}

/* Dark theme - Hero very subtle dot texture */
html[data-theme="dark"] .hero::after {
  background-image: radial-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 30px 30px;
  opacity: 0.1;
  mask-image: radial-gradient(60% 55% at 50% 35%, #000 40%, transparent 70%);
  -webkit-mask-image: radial-gradient(60% 55% at 50% 35%, #000 40%, transparent 70%);
}

/* Dark theme - Hero text/CTA contrast */
html[data-theme="dark"] .hero .hero-title,
html[data-theme="dark"] .hero h1 {
  color: rgba(255, 255, 255, 0.92);
}

html[data-theme="dark"] .hero .hero-subtitle,
html[data-theme="dark"] .hero .subtitle,
html[data-theme="dark"] .hero p {
  color: rgba(255, 255, 255, 0.68);
}

html[data-theme="dark"] .hero .hero-pill,
html[data-theme="dark"] .hero .pill {
  background: rgba(255, 255, 255, 0.06);
  border: none;
  color: rgba(255, 255, 255, 0.72);
  box-shadow: none;
}

html[data-theme="dark"] .hero .hero-pill:hover,
html[data-theme="dark"] .hero .hero-pill:active,
html[data-theme="dark"] .hero .hero-pill:focus,
html[data-theme="dark"] .hero .pill:hover,
html[data-theme="dark"] .hero .pill:active,
html[data-theme="dark"] .hero .pill:focus {
  background: rgba(255, 255, 255, 0.06);
  box-shadow: none;
  transform: none;
}

/* Dark theme - Remove hard box behind hero */
html[data-theme="dark"] .hero .hero-inner {
  background: transparent;
  box-shadow: none;
}

html[data-theme="dark"] .hero .hero-inner::before {
  opacity: 0;
}

/* Dark theme - Header with visible separators */
html[data-theme="dark"] .site-header {
  background: linear-gradient(to bottom, rgba(13, 15, 19, 0.95), rgba(10, 12, 15, 0.95));
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  border-top: 0;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 10000;
}

/* Dark theme: adjust body padding based on scroll */
html[data-theme="dark"] body {
  padding-top: 98px;
}

html[data-theme="dark"] body.has-scrolled {
  padding-top: 64px;
}

@media (max-width: 900px) {
  html[data-theme="dark"] body {
    padding-top: 68px;
  }

  html[data-theme="dark"] body.has-scrolled {
    padding-top: 68px;
  }
}

html[data-theme="dark"] .topbar {
  background: rgba(10, 12, 15, 0.98);
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

html[data-theme="dark"] .topbar-inner {
  /* Match light theme exactly - no overrides needed */
}

html[data-theme="dark"] .topbar-left {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .topbar-right {
  gap: 8px;
}

html[data-theme="dark"] .topbar-link {
  font-size: 12px;
  line-height: 1;
  padding: 0;
  border-radius: 999px;
  transition: all var(--transition-base);
  color: var(--color-brand-primary);
}

html[data-theme="dark"] .topbar-link:hover {
  padding: 0.25rem 0.5rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--color-brand-primary-hover);
}

html[data-theme="dark"] .topbar-left a {
  font-size: 12px;
  line-height: 1;
  padding: 0;
  color: inherit;
}

html[data-theme="dark"] .topbar-left a:hover {
  color: var(--color-brand-primary);
}

html[data-theme="dark"] .topbar-item {
  font-size: 12px;
  line-height: 1;
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .topbar-dot {
  font-size: 0.625rem;
  opacity: 0.25;
}

html[data-theme="dark"] .header-main {
  background: linear-gradient(to bottom, rgba(13, 15, 19, 0.98), rgba(10, 12, 15, 0.98)) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Ensure fixed header maintains background in dark theme */
html[data-theme="dark"] .header-main[style*="position: fixed"],
html[data-theme="dark"] .header-main[style*="position:fixed"] {
  background: linear-gradient(to bottom, rgba(13, 15, 19, 0.98), rgba(10, 12, 15, 0.98)) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Mobile dark-mode: force header rendering (iOS/Safari fixed + blur bug) */
@media (max-width: 900px) {
  html[data-theme="dark"] .site-header {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html[data-theme="dark"] .header-main {
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    background: rgba(13, 15, 19, 0.98) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    z-index: 10000 !important;
  }
  
  /* Ensure fixed header on mobile maintains background */
  html[data-theme="dark"] .header-main[style*="position: fixed"],
  html[data-theme="dark"] .header-main[style*="position:fixed"] {
    background: rgba(13, 15, 19, 0.98) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }
}

/* Dark theme - Cards with premium treatment */
html[data-theme="dark"] .service-card,
html[data-theme="dark"] .feature-item,
html[data-theme="dark"] .stack-item,
html[data-theme="dark"] .why-item {
  background: rgba(19, 21, 25, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  box-shadow: 
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    var(--shadow-md);
  position: relative;
}

html[data-theme="dark"] .faq-item {
  background: rgba(19, 21, 25, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .faq-item:hover {
  background: rgba(19, 21, 25, 0.6);
  border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .faq-item[data-expanded="true"] {
  border-color: rgba(74, 158, 255, 0.3);
}

html[data-theme="dark"] .contact-info,
html[data-theme="dark"] .pricing-card,
html[data-theme="dark"] .plan-card,
html[data-theme="dark"] .who-card {
  background: var(--color-background-card);
  border: 1px solid var(--color-border);
  border-image: none;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
  border-radius: 16px;
  box-shadow: 
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    var(--shadow-md);
  position: relative;
}

/* Contact page - dark theme */
html[data-theme="dark"] .contact-card,
html[data-theme="dark"] .contact-faq__item {
  background: rgba(19, 21, 25, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), var(--shadow-md);
}

html[data-theme="dark"] .contact-card:hover {
  border-color: rgba(74, 158, 255, 0.25);
}

html[data-theme="dark"] .contact-card--recommended {
  border-color: rgba(74, 158, 255, 0.2);
  box-shadow: 0 2px 12px rgba(74, 158, 255, 0.08);
}

html[data-theme="dark"] .contact-reach__channels,
html[data-theme="dark"] .contact-reach__checklist {
  background: rgba(19, 21, 25, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .contact-reach__security {
  border-top-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .contact-faq__trigger:hover {
  background: rgba(74, 158, 255, 0.08);
}

html[data-theme="dark"] .contact-faq__trigger::after {
  opacity: 0.85;
  filter: brightness(2);
}

html[data-theme="dark"] .contact-page .contact-hero.page-header {
  background-image:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(74, 158, 255, 0.08), transparent 55%),
    repeating-linear-gradient(0deg, transparent, transparent 1px, rgba(255, 255, 255, 0.02) 1px, rgba(255, 255, 255, 0.02) 2px);
}

html[data-theme="dark"] .contact-reach__security {
  background: rgba(74, 158, 255, 0.06);
}

html[data-theme="dark"] .contact-card--recommended {
  background: linear-gradient(to bottom, rgba(74, 158, 255, 0.06), rgba(19, 21, 25, 0.4));
}


html[data-theme="dark"] .compare-table {
  background: var(--color-background-card);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-md);
}

html[data-theme="dark"] .compare-table thead {
  background: var(--color-background-section);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

html[data-theme="dark"] .compare-feature-col {
  background: var(--color-background-section);
  box-shadow: 2px 0 4px rgba(0, 0, 0, 0.3);
}

html[data-theme="dark"] .compare-table td:first-child {
  box-shadow: 2px 0 4px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] .compare-table th {
  border-bottom-color: var(--color-border);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .compare-table td {
  border-bottom-color: var(--color-border);
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .compare-table tbody tr {
  border-bottom-color: var(--color-border);
}

html[data-theme="dark"] .compare-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.02);
}

html[data-theme="dark"] .compare-section-header td {
  background: var(--color-background-section);
  border-top-color: var(--color-border);
  border-bottom-color: var(--color-border);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .compare-section-header td::before {
  background: linear-gradient(
    to right,
    transparent,
    var(--color-border) 10%,
    var(--color-border) 90%,
    transparent
  );
}

html[data-theme="dark"] .compare-table th[data-plan="starter"] {
  color: var(--color-text-primary);
  opacity: 1;
  font-weight: var(--font-weight-semibold);
}

/* Ensure Starter plan price and billing text are visible in dark theme */
html[data-theme="dark"] .compare-table th[data-plan="starter"] .compare-price,
html[data-theme="dark"] .compare-table th[data-plan="starter"] .compare-billed {
  color: var(--color-text-secondary);
  opacity: 1;
}

html[data-theme="dark"] .compare-table td:nth-child(2) {
  color: var(--color-text-secondary);
  opacity: 1;
}

html[data-theme="dark"] .compare-table td:nth-child(2) .compare-check {
  opacity: 1;
}

html[data-theme="dark"] .compare-cta__subtext {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .compare-cta__note {
  color: var(--color-text-tertiary);
}

html[data-theme="dark"] .plan-pulse {
  animation: planPulseDark 900ms ease-out;
}

@keyframes planPulseDark {
  0% {
    transform: translateZ(0) scale(1);
    box-shadow: 0 0 0 0 rgba(74, 158, 255, 0);
  }
  35% {
    transform: translateZ(0) scale(1.01);
    box-shadow: 0 0 0 6px rgba(74, 158, 255, 0.25);
  }
  70% {
    transform: translateZ(0) scale(1.005);
    box-shadow: 0 0 0 10px rgba(74, 158, 255, 0.15);
  }
  100% {
    transform: translateZ(0) scale(1);
    box-shadow: 0 0 0 0 rgba(74, 158, 255, 0);
  }
}

html[data-theme="dark"] .compare-cta__text {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .compare-label {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .compare-section-header td:first-child {
  background: var(--color-background-section);
}

html[data-theme="dark"] .compare-col-highlight {
  background: rgba(59, 130, 246, 0.06);
  border-left-color: rgba(59, 130, 246, 0.18);
  border-right-color: rgba(59, 130, 246, 0.18);
}

html[data-theme="dark"] .compare-col-highlight::before {
  background: rgba(59, 130, 246, 0.08);
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.12);
}

html[data-theme="dark"] .compare-col-highlight td {
  background: rgba(59, 130, 246, 0.06);
}

html[data-theme="dark"] .compare-table tbody tr:hover .compare-col-highlight td {
  background: rgba(59, 130, 246, 0.08);
}

html[data-theme="dark"] .compare-check {
  color: rgba(74, 158, 255, 0.95);
  background: rgba(74, 158, 255, 0.15);
}

html[data-theme="dark"] .compare-unavailable {
  color: var(--color-text-tertiary);
  opacity: 0.4;
}

html[data-theme="dark"] .who-card--highlight {
  background: rgba(74, 158, 255, 0.08); /* Slightly increased for visibility (2-4% brand blue) */
  border-color: rgba(74, 158, 255, 0.4);
  border-width: 2px;
  box-shadow: 0 4px 16px rgba(74, 158, 255, 0.15);
}

/* Desktop: Subtle lift for recommended plan in dark theme */
@media (min-width: 769px) {
  html[data-theme="dark"] .who-card--highlight {
    transform: translateY(-4px); /* Subtle lift on desktop */
  }

  html[data-theme="dark"] .who-card--highlight:hover {
    transform: translateY(-6px);
    box-shadow: 0 6px 20px rgba(74, 158, 255, 0.2);
  }
}

html[data-theme="dark"] .who-card__icon {
  color: var(--color-text-secondary);
  opacity: 0.7;
}

html[data-theme="dark"] .who-card--highlight .who-card__icon {
  color: rgba(74, 158, 255, 0.9);
  opacity: 0.9;
}

/* Infrastructure Section Dark Theme */
/* Dark theme: Infrastructure section */
html[data-theme="dark"] .infrastructure-item {
  background: rgba(19, 21, 25, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
}

@media (min-width: 769px) {
  html[data-theme="dark"] .infrastructure-item:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
    border-color: rgba(74, 158, 255, 0.3);
  }
}

html[data-theme="dark"] .infrastructure-item:hover h3 {
  color: rgba(74, 158, 255, 0.95);
}

html[data-theme="dark"] .infrastructure-item--primary .infrastructure-icon.is-green {
  background: rgba(52, 168, 83, 0.2);
}

html[data-theme="dark"] .infrastructure-item--primary .infrastructure-icon.is-amber {
  background: rgba(251, 188, 4, 0.2);
}

html[data-theme="dark"] .infrastructure-item--primary h3::after {
  background: rgba(74, 158, 255, 0.6);
}

html[data-theme="dark"] .infrastructure-item:focus-visible {
  outline-color: rgba(74, 158, 255, 0.4);
}

html[data-theme="dark"] .infrastructure-proof {
  border-top-color: rgba(255, 255, 255, 0.12); /* Slightly more visible in dark mode */
  color: var(--color-text-primary); /* Darkened for distinction */
}

html[data-theme="dark"] .infrastructure-proof::before {
  background: rgba(255, 255, 255, 0.3);
}

html[data-theme="dark"] .infrastructure-trust-line {
  background: rgba(19, 21, 25, 0.8); /* Increased opacity for better contrast */
  border-color: rgba(255, 255, 255, 0.12); /* Slightly more visible border */
  color: var(--color-text-secondary); /* Slightly darker for better contrast */
}

html[data-theme="dark"] .who-card__hint {
  color: var(--color-text-tertiary);
}

html[data-theme="dark"] .who-card--highlight .who-card__hint {
  color: rgba(74, 158, 255, 0.95);
  font-weight: var(--font-weight-semibold);
}

html[data-theme="dark"] .who-card:hover .who-card__hint {
  color: rgba(74, 158, 255, 0.9);
}

html[data-theme="dark"] .plan-card.is-highlight {
  box-shadow: 0 0 0 3px rgba(74, 158, 255, 0.3);
  border-color: rgba(74, 158, 255, 0.6);
  animation: planHighlightDark 1200ms ease-out;
}

@keyframes planHighlightDark {
  0% {
    box-shadow: 0 0 0 0 rgba(74, 158, 255, 0.3);
    border-color: rgba(74, 158, 255, 0.6);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(74, 158, 255, 0.2);
    border-color: rgba(74, 158, 255, 0.7);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(74, 158, 255, 0);
    border-color: var(--color-border);
  }
}

html[data-theme="dark"] .how-it-works-section {
  background: var(--color-background-section);
}

html[data-theme="dark"] .wh-hero__timeline {
  border-top-color: var(--color-border);
}

html[data-theme="dark"] .wh-hero__payments {
  border-top-color: var(--color-border);
}

html[data-theme="dark"] .wh-hero__payments-label {
  color: var(--color-text-tertiary);
}

html[data-theme="dark"] .wh-hero__payment-logo {
  opacity: 0.6;
  filter: grayscale(10%) brightness(1.1);
}

html[data-theme="dark"] .wh-hero__payment-logo:hover {
  opacity: 0.9;
  filter: grayscale(0%) brightness(1.2);
}

html[data-theme="dark"] .wh-hero__timeline-icon {
  background: var(--color-background-card);
  border-color: var(--color-border);
  color: rgba(74, 158, 255, 0.9);
}

html[data-theme="dark"] .wh-hero__timeline-step:hover .wh-hero__timeline-icon {
  border-color: rgba(74, 158, 255, 0.5);
  box-shadow: 0 2px 8px rgba(74, 158, 255, 0.2);
}

html[data-theme="dark"] .wh-hero__timeline-step--active .wh-hero__timeline-icon {
  border-color: rgba(74, 158, 255, 0.6);
  background: rgba(74, 158, 255, 0.12);
  animation: timelineStepPulseDark 2s ease-in-out infinite;
}

@keyframes timelineStepPulseDark {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(74, 158, 255, 0.3);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(74, 158, 255, 0);
  }
}

html[data-theme="dark"] .wh-hero__timeline-connector {
  background: var(--color-border);
}

html[data-theme="dark"] .wh-hero__timeline-step:hover ~ .wh-hero__timeline-connector,
html[data-theme="dark"] .wh-hero__timeline-step:hover + .wh-hero__timeline-connector {
  background: rgba(74, 158, 255, 0.3);
}

html[data-theme="dark"] .wh-hero__timeline-label {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .breadcrumb__link {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .breadcrumb__link:hover {
  color: rgba(74, 158, 255, 0.95);
}

html[data-theme="dark"] .breadcrumb__current {
  color: var(--color-text-primary);
  opacity: 0.9;
}

html[data-theme="dark"] .breadcrumb__separator {
  color: var(--color-text-tertiary);
  opacity: 0.6;
}

html[data-theme="dark"] .billing-term-group {
  background: var(--color-background-section);
  border-color: var(--color-border);
}

html[data-theme="dark"] .billing-term-label {
  color: var(--color-text-tertiary);
}

/* Web Hosting page: Dark theme for lightweight billing period */
html[data-theme="dark"] .wh-hero .billing-term-selector {
  background: rgba(19, 21, 25, 0.85);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  border-radius: 14px;
}

html[data-theme="dark"] .wh-hero .billing-term-helper {
  color: rgba(255, 255, 255, 0.5);
}

html[data-theme="dark"] .wh-hero .billing-term-label {
  color: rgba(255, 255, 255, 0.75);
}

html[data-theme="dark"] .wh-hero .billing-term-group {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .wh-hero .billing-term-btn {
  color: var(--color-text-primary); /* Dark color like price for inactive terms */
}

/* Inactive billing term buttons in dark theme - dark text color */
html[data-theme="dark"] .wh-hero .billing-term-btn:not([aria-pressed="true"]):not(.is-active) {
  color: var(--color-text-primary); /* Dark color like price */
}

/* Keep discount percentage light grey for inactive buttons in dark theme */
html[data-theme="dark"] .wh-hero .billing-term-btn:not([aria-pressed="true"]):not(.is-active) .term-discount {
  color: rgba(74, 158, 255, 0.55); /* Light grey for discount */
  opacity: 0.8;
}

html[data-theme="dark"] .wh-hero .billing-term-btn:hover {
  color: rgba(var(--color-brand-primary-rgb), 0.95);
  background: rgba(var(--color-brand-primary-rgb), 0.10);
  border-color: rgba(var(--color-brand-primary-rgb), 0.18);
}

html[data-theme="dark"] .wh-hero .billing-term-btn[aria-pressed="true"],
html[data-theme="dark"] .wh-hero .billing-term-btn.is-active {
  color: #ffffff;
}

/* Web Hosting page: Visible hover state for active button (dark theme) */
html[data-theme="dark"] .wh-hero .billing-term-btn[aria-pressed="true"]:hover,
html[data-theme="dark"] .wh-hero .billing-term-btn.is-active:hover {
  background: var(--color-brand-primary);
  box-shadow: 0 6px 16px rgba(74, 158, 255, 0.5), 0 3px 8px rgba(74, 158, 255, 0.3);
  transform: none;
  color: #ffffff;
  opacity: 1;
}

html[data-theme="dark"] .billing-term-btn {
  color: var(--color-text-primary); /* Dark color like price for inactive terms */
  opacity: 1;
}

/* Inactive billing term discount in dark theme - keep light grey */
html[data-theme="dark"] .billing-term-btn:not([aria-pressed="true"]):not(.is-active) .term-discount {
  color: rgba(74, 158, 255, 0.55); /* Light grey for discount on inactive buttons */
  opacity: 0.8;
}

html[data-theme="dark"] .billing-term-btn:hover {
  background: rgba(var(--color-brand-primary-rgb), 0.10);
  color: rgba(var(--color-brand-primary-rgb), 0.92);
}

html[data-theme="dark"] .billing-term-btn[aria-pressed="true"],
html[data-theme="dark"] .billing-term-btn.is-active {
  background: var(--color-brand-primary);
  color: white;
  box-shadow: 0 2px 8px rgba(74, 158, 255, 0.35), 0 1px 4px rgba(74, 158, 255, 0.2);
  opacity: 1;
}

html[data-theme="dark"] .wh-hero__support {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .wh-hero__supporting {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .wh-hero__trust-strip {
  border-top-color: var(--color-border);
}

html[data-theme="dark"] .wh-hero__trust-item {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .wh-hero__trust-item svg {
  color: rgba(74, 158, 255, 0.9);
  opacity: 0.9;
}

html[data-theme="dark"] .wh-hero__trust-payment-icon {
  opacity: 0.6;
  filter: brightness(1.1);
}

html[data-theme="dark"] .wh-hero__trust-payment-icon:hover {
  opacity: 0.85;
  filter: brightness(1.2);
}

html[data-theme="dark"] .plan-card__business-note {
  color: var(--color-text-tertiary);
}

html[data-theme="dark"] .wh-plans {
  background: transparent;
}

html[data-theme="dark"] .wh-hero__cta .btn-secondary {
  background: transparent;
  color: var(--color-text-primary);
  border-color: var(--color-border);
}

html[data-theme="dark"] .wh-hero__cta .btn-secondary:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--color-border);
}

html[data-theme="dark"] .plan-save-text {
  background: rgba(60, 220, 160, 0.15);
  color: #3cdca0;
}

html[data-theme="dark"] .plan-billed-text,
html[data-theme="dark"] .compare-billed small {
  color: var(--color-text-tertiary);
}

/* Web Hosting page: Dark theme for plan-meta */
html[data-theme="dark"] .wh-hero .plan-billed,
html[data-theme="dark"] .wh-hero .plan-billed-text {
  color: rgba(255, 255, 255, 0.65);
}

html[data-theme="dark"] .wh-hero .save-pill,
html[data-theme="dark"] .wh-hero .plan-save-text {
  color: #7fb896;
  background: rgba(74, 124, 89, 0.15);
  border-color: rgba(74, 124, 89, 0.25);
  height: 22px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 600;
}

html[data-theme="dark"] .compare-table thead {
  background: var(--color-background-section);
}

html[data-theme="dark"] .compare-table th {
  background: var(--color-background-section);
  border-bottom-color: var(--color-border);
}

html[data-theme="dark"] .compare-table td {
  border-bottom-color: var(--color-border);
}

html[data-theme="dark"] .compare-feature-col {
  background: var(--color-background-section);
  box-shadow: 2px 0 4px rgba(0, 0, 0, 0.3);
}

html[data-theme="dark"] .compare-table td:first-child {
  box-shadow: 2px 0 4px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] .compare-plan-btn {
  background: var(--color-background-card);
  border-color: var(--color-border);
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .compare-plan-btn:hover {
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .compare-plan-btn.active {
  background: var(--color-brand-primary);
  color: white;
  border-color: var(--color-brand-primary);
}

html[data-theme="dark"] .compare-plan-details {
  background: var(--color-background-card);
  border-color: var(--color-border);
}

html[data-theme="dark"] .compare-plan-feature {
  border-bottom-color: var(--color-border);
}

html[data-theme="dark"] .compare-plan-feature-name {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .compare-plan-feature-value {
  color: var(--color-text-secondary);
}

/* Fallback for border-image support */
@supports not (border-image: linear-gradient(to bottom, transparent, black)) {
  html[data-theme="dark"] .why-item {
    background: rgba(19, 21, 25, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
  }
  
  html[data-theme="dark"] .service-card,
  html[data-theme="dark"] .feature-item,
  html[data-theme="dark"] .stack-item,
  html[data-theme="dark"] .faq-item {
    background: rgba(19, 21, 25, 0.4);
    border-color: rgba(255, 255, 255, 0.08);
  }

  html[data-theme="dark"] .faq-item:hover {
    background: rgba(19, 21, 25, 0.6);
    border-color: rgba(255, 255, 255, 0.12);
  }

  html[data-theme="dark"] .faq-item[data-expanded="true"] {
    border-color: rgba(74, 158, 255, 0.3);
  }

  html[data-theme="dark"] .contact-info,
  html[data-theme="dark"] .pricing-card,
  html[data-theme="dark"] .plan-card,
  html[data-theme="dark"] .who-card {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-right: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    border-left: 1px solid var(--color-border);
    border-radius: 16px;
  }
}

html[data-theme="dark"] .service-card:hover,
html[data-theme="dark"] .stack-item:hover,
html[data-theme="dark"] .feature-item:hover,
@media (min-width: 769px) {
  html[data-theme="dark"] .why-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
    border-color: rgba(74, 158, 255, 0.3);
  }
}

html[data-theme="dark"] .pricing-card:hover,
html[data-theme="dark"] .plan-card:hover,
html[data-theme="dark"] .who-card:hover {
  border-color: #3d4249;
  border-top-color: rgba(255, 255, 255, 0.12);
  transform: translateY(-2px);
  box-shadow: 
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 10px 26px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(74, 158, 255, 0.12);
}

html[data-theme="dark"] .service-card--featured,
html[data-theme="dark"] .pricing-card--featured,
html[data-theme="dark"] .plan-card--popular {
  background: 
    linear-gradient(180deg, rgba(74, 158, 255, 0.08), rgba(0, 0, 0, 0)),
    linear-gradient(to bottom, rgba(74, 158, 255, 0.12), var(--color-background-card));
  border: 2px solid rgba(74, 158, 255, 0.3);
  border-top: 2px solid rgba(74, 158, 255, 0.4);
  border-image: none;
  border-radius: 16px;
  box-shadow: 
    inset 0 1px 0 rgba(74, 158, 255, 0.15),
    var(--shadow-md),
    0 4px 16px rgba(74, 158, 255, 0.15);
  position: relative;
}

html[data-theme="dark"] .service-card--featured::before,
html[data-theme="dark"] .pricing-card--featured::before,
html[data-theme="dark"] .plan-card--popular::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 50% 0%, var(--glow-brand-soft), transparent 60%);
  opacity: 0.6;
  pointer-events: none;
  border-radius: inherit;
}

@supports not (border-image: linear-gradient(to bottom, transparent, black)) {
  html[data-theme="dark"] .service-card--featured,
  html[data-theme="dark"] .pricing-card--featured,
  html[data-theme="dark"] .plan-card--popular {
    border-top: 2px solid rgba(74, 158, 255, 0.4);
    border-right: 2px solid rgba(74, 158, 255, 0.3);
    border-bottom: 2px solid rgba(74, 158, 255, 0.3);
    border-left: 2px solid rgba(74, 158, 255, 0.3);
    border-radius: 16px;
  }
}

html[data-theme="dark"] .service-card--featured:hover,
html[data-theme="dark"] .pricing-card--featured:hover,
html[data-theme="dark"] .plan-card--popular:hover {
  border-color: rgba(74, 158, 255, 0.4);
  border-top-color: rgba(74, 158, 255, 0.45);
  box-shadow: 
    inset 0 1px 0 rgba(74, 158, 255, 0.2),
    0 10px 26px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(74, 158, 255, 0.2),
    0 6px 20px rgba(74, 158, 255, 0.2);
}

html[data-theme="dark"] .service-card--featured:hover::before,
html[data-theme="dark"] .pricing-card--featured:hover::before,
html[data-theme="dark"] .plan-card--popular:hover::before {
  opacity: 0.8;
}

/* Web Hosting page: Strengthen Most Popular emphasis (dark theme) */
html[data-theme="dark"] .wh-hero .plan-card--popular {
  background: linear-gradient(to bottom, rgba(74, 158, 255, 0.10), var(--color-background-card));
  border: 2px solid rgba(74, 158, 255, 0.35);
  border-image: none;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(74, 158, 255, 0.15);
  transform: none;
}

html[data-theme="dark"] .wh-hero .plan-card--popular:hover {
  border-color: rgba(74, 158, 255, 0.45);
  box-shadow: 0 6px 20px rgba(74, 158, 255, 0.2);
  transform: translateY(-2px);
}

/* Web Hosting page: Ensure rounded borders for all plan cards in dark theme */
html[data-theme="dark"] .wh-hero .plan-card {
  border-radius: 16px;
  border-image: none;
}

/* Dark theme - Trust strip pills - more legible */
/* Trust strip - no container styling in dark theme */

/* Dark theme - trust strip text */
html[data-theme="dark"] .trust-strip {
  color: var(--color-text-secondary);
}

/* Dark theme - Alternating section backgrounds for depth */
html[data-theme="dark"] .section:nth-child(even) {
  background: var(--color-background);
}

html[data-theme="dark"] .section:nth-child(odd) {
  background: var(--color-background-section);
}

html[data-theme="dark"] .why-section,
html[data-theme="dark"] .stack-section {
  background: var(--color-background-section);
}

html[data-theme="dark"] .how-it-works__step {
  background: rgba(19, 21, 25, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .how-it-works__connector::before {
  background: rgba(74, 158, 255, 0.4);
}

html[data-theme="dark"] .support-section {
  background: rgba(19, 21, 25, 0.3);
}

html[data-theme="dark"] .support-panel {
  background: rgba(19, 21, 25, 0.5);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] .support-panel__reassurance {
  color: var(--color-text-primary);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .support-section__list li {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .support-panel__trust {
  color: var(--color-text-tertiary);
}

html[data-theme="dark"] .service-badge--popular,
html[data-theme="dark"] .service-badge {
  color: rgba(74, 158, 255, 0.95);
  background: rgba(74, 158, 255, 0.12);
  border-color: rgba(74, 158, 255, 0.3);
}

html[data-theme="dark"] .service-kicker {
  color: rgba(255, 255, 255, 0.55);
}

html[data-theme="dark"] .service-card__benefit {
  color: var(--color-text-tertiary);
}

html[data-theme="dark"] .service-card__footer {
  border-top-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .hero-pill {
  background: rgba(255, 255, 255, 0.06);
  border: none;
  color: var(--color-text-secondary);
  box-shadow: none;
}

html[data-theme="dark"] .hero-pill:hover,
html[data-theme="dark"] .hero-pill:active,
html[data-theme="dark"] .hero-pill:focus {
  background: rgba(255, 255, 255, 0.06);
  box-shadow: none;
  transform: none;
}

/* Dark theme - Section dividers (premium gradient line) */
html[data-theme="dark"] .section {
  position: relative;
}

html[data-theme="dark"] .section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(255, 255, 255, 0.06) 20%,
    rgba(255, 255, 255, 0.06) 80%,
    transparent 100%
  );
  pointer-events: none;
}

html[data-theme="dark"] .section:first-child::before {
  display: none;
}



@supports not (border-image: linear-gradient(to bottom, transparent, black)) {
  html[data-theme="dark"] .cta-panel {
    background: rgba(19, 21, 25, 0.8);
    border-color: rgba(255, 255, 255, 0.1);
  }
}

/* Dark theme: Final homepage CTA band + panel */
html[data-theme="dark"] .cta-section--final .cta-section__band {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.4) 0%, rgba(15, 23, 42, 0.2) 100%);
}

html[data-theme="dark"] .cta-section--final .cta-section__panel {
  background: var(--color-background);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}

html[data-theme="dark"] .cta-section--final .cta-section__panel:hover {
  border-color: rgba(74, 158, 255, 0.2);
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.3);
}

/* Dark theme: Trust proof section */
html[data-theme="dark"] .trust-proof-section {
  background: rgba(19, 21, 25, 0.4);
  border-top-color: rgba(255, 255, 255, 0.08);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .trust-proof-item svg {
  color: rgba(74, 158, 255, 0.9);
}

/* Dark theme: Plan card recommended text */
html[data-theme="dark"] .plan-card__recommended {
  color: var(--color-text-secondary);
}

/* Dark theme: CTA section divider */
html[data-theme="dark"] #get-started.cta-section::before {
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(255, 255, 255, 0.06) 20%,
    rgba(255, 255, 255, 0.06) 80%,
    transparent 100%
  );
}

/* Dark theme - Footer with clear separation */
html[data-theme="dark"] .footer {
  background: var(--color-background);
  border-top: 1px solid var(--color-border);
  position: relative;
}

html[data-theme="dark"] .footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(255, 255, 255, 0.08) 20%,
    rgba(255, 255, 255, 0.08) 80%,
    transparent 100%
  );
  pointer-events: none;
}

/* Dark theme - Buttons: premium hover + focus */
html[data-theme="dark"] .btn-primary {
  box-shadow: 0 4px 12px rgba(74, 158, 255, 0.35);
  position: relative;
  isolation: isolate;
  color: #ffffff;
  text-shadow: none;
  -webkit-text-fill-color: currentColor;
}

html[data-theme="dark"] .btn-primary > * {
  position: relative;
  z-index: 1;
}

html[data-theme="dark"] .btn-primary::before {
  content: '';
  position: absolute;
  inset: -2px;
  background: radial-gradient(circle, var(--glow-brand-soft), transparent 70%);
  opacity: 0;
  transition: opacity var(--transition-base);
  border-radius: inherit;
  z-index: -1;
  pointer-events: none;
}

html[data-theme="dark"] .btn-primary:hover {
  background-color: #3b82f6; /* Darker blue so white text stays visible */
  color: #ffffff;
  box-shadow: 
    0 10px 30px var(--glow-brand-soft),
    0 4px 16px rgba(0, 0, 0, 0.45);
  transform: translateY(-1px);
}

html[data-theme="dark"] .btn-primary:hover::before {
  opacity: 1;
}

html[data-theme="dark"] .btn-primary:active {
  transform: translateY(0);
}

html[data-theme="dark"] .btn-primary:focus-visible {
  outline: 2px solid rgba(74, 158, 255, 0.55);
  outline-offset: 2px;
}

/* Dark theme - Web Hosting Hero Left Column */
html[data-theme="dark"] .wh-hero__eyebrow {
  background: rgba(74, 158, 255, 0.12);
  color: var(--color-text-secondary);
  border: 1px solid rgba(74, 158, 255, 0.2);
}

html[data-theme="dark"] .wh-hero__accent {
  color: #4a9eff;
  background: linear-gradient(135deg, #4a9eff, #6bb3ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 0 20px rgba(74, 158, 255, 0.2);
}

html[data-theme="dark"] .wh-hero__bullets li {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .wh-hero__bullets li strong {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .dot--blue {
  background-color: #5a9eff;
  box-shadow: 0 0 8px rgba(90, 158, 255, 0.4);
}

html[data-theme="dark"] .dot--green {
  background-color: #4caf50;
  box-shadow: 0 0 8px rgba(76, 175, 80, 0.4);
}

html[data-theme="dark"] .dot--amber {
  background-color: #ffb300;
  box-shadow: 0 0 8px rgba(255, 179, 0, 0.4);
}

html[data-theme="dark"] .dot--purple {
  background-color: #ab47bc;
  box-shadow: 0 0 8px rgba(171, 71, 188, 0.4);
}

html[data-theme="dark"] .chip {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
  color: var(--color-text-secondary);
  opacity: 0.8;
}

html[data-theme="dark"] .chip:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.16);
}

html[data-theme="dark"] .wh-hero__note {
  color: var(--color-text-tertiary);
  opacity: 0.75;
}

html[data-theme="dark"] .btn-ghost {
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .btn-ghost:hover {
  background-color: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.2);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .btn-ghost:active {
  background-color: rgba(255, 255, 255, 0.08);
}

/* Dark theme - Hero CTA buttons */
html[data-theme="dark"] .wh-hero__cta .btn-primary {
  color: #ffffff;
  position: relative;
  z-index: 1;
  isolation: isolate;
}

html[data-theme="dark"] .wh-hero__cta .btn-primary::before {
  z-index: -1;
  pointer-events: none;
}

/* Dark theme - Hero Secondary Button */
html[data-theme="dark"] .wh-hero__cta .btn-secondary--sales {
  background: transparent;
  color: rgba(74, 158, 255, 0.95);
  border: 1px solid rgba(74, 158, 255, 0.35);
  box-shadow: none;
}

html[data-theme="dark"] .wh-hero__cta .btn-secondary--sales svg {
  opacity: 0.85;
}

html[data-theme="dark"] .wh-hero__cta .btn-secondary--sales:hover {
  background: rgba(74, 158, 255, 0.08);
  border-color: rgba(74, 158, 255, 0.45);
  color: rgba(74, 158, 255, 1);
}

html[data-theme="dark"] .wh-hero__cta .btn-secondary--sales:hover svg {
  opacity: 1;
}

html[data-theme="dark"] .wh-hero__cta .btn-secondary--sales:focus-visible {
  outline: 2px solid rgba(74, 158, 255, 0.55);
  outline-offset: 2px;
}

/* Dark theme - Hero Plan Cards Compact */
html[data-theme="dark"] .wh-hero .plan-card .btn {
  color: #ffffff;
  position: relative;
  z-index: 1;
  isolation: isolate;
}

html[data-theme="dark"] .wh-hero .plan-card .btn::before {
  z-index: -1;
  pointer-events: none;
}

html[data-theme="dark"] .wh-hero .plan-card .btn-secondary {
  color: var(--color-brand-primary);
  border-color: rgba(74, 158, 255, 0.55);
}

html[data-theme="dark"] .wh-hero .plan-card .btn-secondary:hover {
  background-color: rgba(255, 255, 255, 0.06);
  color: var(--color-brand-primary);
}

html[data-theme="dark"] .btn-secondary {
  border-color: rgba(74, 158, 255, 0.55);
  color: var(--color-brand-primary);
  text-shadow: none;
  -webkit-text-fill-color: currentColor;
}

html[data-theme="dark"] .btn-secondary:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(74, 158, 255, 0.65);
  color: var(--color-brand-primary);
}

html[data-theme="dark"] .btn-secondary:focus-visible {
  outline: 2px solid rgba(74, 158, 255, 0.55);
  outline-offset: 2px;
}

/* Dark theme - Inputs and form elements */
html[data-theme="dark"] .domain-search-input,
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] textarea {
  background: var(--color-background-section);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .domain-search-input:focus,
html[data-theme="dark"] input:focus,
html[data-theme="dark"] textarea:focus {
  border-color: var(--color-brand-primary);
}

html[data-theme="dark"] .domain-hero__tld-select {
  background: var(--color-background-section);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .tld-card {
  background: rgba(19, 21, 25, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .tld-card:hover {
  border-color: rgba(74, 158, 255, 0.3);
}

html[data-theme="dark"] .how-it-works__icon {
  background: rgba(19, 21, 25, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
}

/* Help page dark theme */
html[data-theme="dark"] .help-cta-panel {
  background: rgba(19, 21, 25, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .help-cta-card {
  background: rgba(19, 21, 25, 0.5);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .help-cta-card:hover {
  border-color: rgba(74, 158, 255, 0.3);
}

html[data-theme="dark"] .help-status-panel {
  background: rgba(19, 21, 25, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .help-status-panel__badge {
  background: rgba(255, 255, 255, 0.06);
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .help-kb-search__input-wrap {
  background: var(--color-background-section);
  border-color: var(--color-border);
}

html[data-theme="dark"] .help-kb-card {
  background: rgba(19, 21, 25, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .help-kb-card:hover {
  border-color: rgba(74, 158, 255, 0.3);
}

html[data-theme="dark"] .help-popular__link:hover {
  background: rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .help-hero__tip {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .help-hero__bg::before {
  background:
    radial-gradient(520px 280px at 50% 45%, rgba(96, 165, 250, 0.08), transparent 62%),
    radial-gradient(420px 240px at 65% 55%, rgba(129, 140, 248, 0.06), transparent 65%),
    radial-gradient(420px 240px at 35% 60%, rgba(56, 189, 248, 0.05), transparent 65%);
}

html[data-theme="dark"] .help-hero__bg::after {
  background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px);
  opacity: 0.16;
}

html[data-theme="dark"] .help-hero__magnet {
  background: radial-gradient(220px 220px at var(--mx) var(--my), rgba(96, 165, 250, 0.1), transparent 65%);
}


html[data-theme="dark"] .help-cta-card--primary {
  background: rgba(74, 158, 255, 0.08);
  border-color: rgba(74, 158, 255, 0.35);
}

html[data-theme="dark"] .help-quick__chip {
  background: rgba(19, 21, 25, 0.5);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .help-quick__chip:hover {
  background: rgba(74, 158, 255, 0.08);
  border-color: rgba(74, 158, 255, 0.3);
}

html[data-theme="dark"] .help-status-panel__badge {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .help-kb-search__clear:hover {
  background: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .help-kb-top-searches__chip {
  background: rgba(19, 21, 25, 0.5);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .help-kb-top-searches__chip:hover {
  background: rgba(74, 158, 255, 0.08);
  border-color: rgba(74, 158, 255, 0.3);
}

html[data-theme="dark"] .help-cta-note {
  color: var(--color-text-secondary);
  opacity: 0.95;
}

html[data-theme="dark"] .help-kb-search__hint {
  color: var(--color-text-secondary);
  opacity: 0.8;
}

/* Dark theme - Typography contrast improvements */
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6,
html[data-theme="dark"] .section-head h2,
html[data-theme="dark"] .hero-title,
html[data-theme="dark"] .service-card h3,
html[data-theme="dark"] .stack-item h3,
html[data-theme="dark"] .why-item h3 {
  color: var(--color-text-primary);
}

html[data-theme="dark"] p,
html[data-theme="dark"] .section-head p,
html[data-theme="dark"] .service-card p,
html[data-theme="dark"] .stack-item p,
html[data-theme="dark"] .why-item p {
  color: var(--color-text-secondary);
  line-height: 1.45; /* Match light theme */
}

html[data-theme="dark"] .feature-item--compact {
  background: rgba(19, 21, 25, 0.3);
  border-color: rgba(255, 255, 255, 0.08);
}

/* Dark theme: Tech Spec Items */
html[data-theme="dark"] .tech-spec-item {
  background: rgba(19, 21, 25, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .tech-spec-item .tech-spec-item__icon {
  background: rgba(74, 158, 255, 0.12);
  color: rgba(74, 158, 255, 0.9);
}

html[data-theme="dark"] .tech-spec-badge {
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-text-primary);
}

@media (min-width: 769px) {
  html[data-theme="dark"] .tech-spec-item:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
    border-color: rgba(74, 158, 255, 0.3);
  }
  
  html[data-theme="dark"] .tech-spec-item:hover .tech-spec-item__icon {
    background: rgba(74, 158, 255, 0.18);
  }
  
  html[data-theme="dark"] .tech-spec-item:hover .tech-spec-badge {
    background: rgba(74, 158, 255, 0.15);
  }
}

/* Dark theme: Modern feature items */
html[data-theme="dark"] .feature-item--modern {
  background: rgba(19, 21, 25, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .feature-item--modern .feature-item__icon {
  background: rgba(74, 158, 255, 0.12);
  color: rgba(74, 158, 255, 0.9);
}

@media (min-width: 769px) {
  html[data-theme="dark"] .feature-item--modern:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
    border-color: rgba(74, 158, 255, 0.3);
  }
  
  html[data-theme="dark"] .feature-item--modern:hover .feature-item__icon {
    background: rgba(74, 158, 255, 0.18);
  }
}


html[data-theme="dark"] .hero-subtitle {
  color: var(--color-text-secondary);
  line-height: 1.7;
}

/* Dark theme - Small labels not too faint */
html[data-theme="dark"] .service-price,
html[data-theme="dark"] .service-meta,
html[data-theme="dark"] .footer-copyright,
html[data-theme="dark"] .topbar-item {
  color: var(--color-text-tertiary);
}

html[data-theme="dark"] a,
html[data-theme="dark"] .nav-link,
html[data-theme="dark"] .service-cta,
html[data-theme="dark"] .lang-option:not(.lang-option--disabled) {
  color: var(--color-brand-primary);
}

html[data-theme="dark"] .lang-option--disabled {
  color: var(--color-text-tertiary);
}

html[data-theme="dark"] a:hover,
html[data-theme="dark"] .nav-link:hover,
html[data-theme="dark"] .service-cta:hover {
  color: var(--color-brand-primary-hover);
}

/* Dark theme - Ensure links/CTAs are readable (no low-contrast gray) */
html[data-theme="dark"] .footer-list a {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .footer-list a:hover {
  color: var(--color-brand-primary);
}

/* Dark theme - Hero highlight word: premium gradient + glow */
html[data-theme="dark"] .hero-rotator {
  background: linear-gradient(135deg, #4a9eff 0%, #6bb0ff 50%, #4a9eff 100%);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 10px 30px rgba(74, 158, 255, 0.12);
  animation: heroGradientShift 8s ease-in-out infinite;
}

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

html[data-theme="dark"] .hero-rotator.is-simple {
  background: linear-gradient(135deg, #4a9eff 0%, #6bb0ff 50%, #4a9eff 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

html[data-theme="dark"] .hero-rotator.is-affordable {
  background: linear-gradient(135deg, #5ba8ff 0%, #7bc0ff 50%, #5ba8ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

html[data-theme="dark"] .hero-rotator.is-fast {
  background: linear-gradient(135deg, #3d8eff 0%, #5da6ff 50%, #3d8eff 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

html[data-theme="dark"] .hero-rotator.is-secure {
  background: linear-gradient(135deg, #2e7eff 0%, #4e9eff 50%, #2e7eff 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="dark"] .hero-rotator {
    animation: none;
    background: var(--color-brand-primary);
    -webkit-text-fill-color: var(--color-brand-primary);
    background-clip: unset;
  }
}

/* Dark theme - Accessibility: clear focus-visible states */
html[data-theme="dark"] .nav-link:focus-visible {
  outline: 2px solid rgba(74, 158, 255, 0.55);
  outline-offset: 2px;
}

html[data-theme="dark"] .lang-trigger:focus-visible,
html[data-theme="dark"] .theme-toggle:focus-visible {
  outline: 2px solid rgba(74, 158, 255, 0.55);
  outline-offset: 2px;
}

html[data-theme="dark"] .topbar-link:focus-visible {
  outline: 2px solid rgba(74, 158, 255, 0.55);
  outline-offset: 2px;
}

/* Dark theme - Navigation dropdowns and mobile menu */
html[data-theme="dark"] .nav-dropdown-menu {
  background: var(--color-background-card);
  border-color: var(--color-border);
  box-shadow: var(--shadow-lg);
}

html[data-theme="dark"] .nav-dropdown-link {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .nav-dropdown-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--color-brand-primary);
}

