.bg-brand-panel\/95 { background-color: rgba(45, 45, 45, 0.95); }
.bg-brand-dark\/60 { background-color: rgba(28, 28, 28, 0.6); }
.bg-brand-secondary\/10 { background-color: rgba(51, 51, 51, 0.1); }
.bg-brand-secondary\/20 { background-color: rgba(51, 51, 51, 0.2); }
.border-brand-muted\/15 { border-color: rgba(204, 204, 204, 0.15); }
.border-brand-muted\/20 { border-color: rgba(204, 204, 204, 0.2); }
.text-brand-accent\/80 { color: rgba(245, 224, 0, 0.8); }
.text-brand-dark { color: #1c1c1c; }
.shadow-brand-accent\/20 { --tw-shadow-color: rgba(245, 224, 0, 0.2); --tw-shadow: var(--tw-shadow-colored); }

.hover\:bg-brand-secondary\/20:hover { background-color: rgba(51, 51, 51, 0.2); }
.hover\:bg-brand-accent\/90:hover { background-color: rgba(245, 224, 0, 0.9); }
.hover\:border-brand-accent\/40:hover { border-color: rgba(245, 224, 0, 0.4); }
.hover\:text-gold-300:hover { color: #f6d845; }

.group:hover .group-open\:bg-brand-secondary\/30,
details[open] .group-open\:bg-brand-secondary\/30 { background-color: rgba(51, 51, 51, 0.3); }
details[open] .group-open\:text-brand-accent { color: #f5e000; }
details[open] .group-open\:rotate-180 { transform: rotate(180deg); }

.bg-white {
  background-color: #ffffff;
}
.text-slate-900 {
  color: #0f172a;
}
.text-slate-700 {
  color: #334155;
}
.border-slate-200 {
  border-color: #e2e8f0;
}
.border-slate-300 {
  border-color: #cbd5e1;
}
.hover\:bg-slate-100:hover {
  background-color: #f1f5f9;
}
.hover\:text-slate-950:hover {
  color: #020617;
}

.max-h-screen {
  max-height: 100vh;
}
.max-h-\[calc\(100vh-6rem\)\] {
  max-height: calc(100vh - 6rem);
}
.overflow-y-auto {
  overflow-y: auto;
}

.dropdown-menu-panel {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    visibility 0.2s ease;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 30px 80px -35px rgba(0, 0, 0, 0.45);
  min-width: 26rem;
  max-width: calc(100vw - 2rem);
  z-index: 60;
}

.text-gradient-gold {
  background: linear-gradient(120deg, #fae78a 0%, #f5b942 45%, #c47e0c 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.bg-brand-dark {
  background-color: #1c1c1c;
}
.bg-brand-panel {
  background-color: #2d2d2d;
}
.bg-brand-secondary {
  background-color: #333333;
}
.hover\:bg-brand-secondary\/40:hover {
  background-color: rgba(51, 51, 51, 0.4);
}
.hover\:text-brand-accent:hover {
  color: #f5e000;
}

.bg-brand-accent {
  background-color: #f5e000;
}
.text-brand-primary {
  color: #ffffff;
}
.text-brand-muted {
  color: #cccccc;
}

.text-brand-accent {
  color: #f5e000;
}
.border-brand-muted {
  border-color: rgba(204, 204, 204, 0.2);
}
.border-brand-accent {
  border-color: #f5e000;
}
.border-brand-secondary {
  border-color: #8b7a00;
}
.text-gradient-emerald {
  background: linear-gradient(120deg, #6ee7b7 0%, #10b981 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.border-gradient {
  position: relative;
  background:
    linear-gradient(#0d0f12, #0d0f12) padding-box,
    linear-gradient(
        135deg,
        rgba(245, 185, 66, 0.5),
        rgba(16, 185, 129, 0.4),
        rgba(34, 211, 238, 0.35)
      )
      border-box;
  border: 1px solid transparent;
}
.glass {
  background: rgba(13, 15, 18, 0.72);
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
}
.dropdown-menu-panel {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    visibility 0.2s ease;
  background-color: #2d2d2d;
  color: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 30px 80px -35px rgba(0, 0, 0, 0.45);
  min-width: 26rem;
  max-width: calc(100vw - 2rem);
  z-index: 60;
}
.dropdown-menu.is-open .dropdown-menu-panel {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.dropdown-menu-panel {
  margin-top: 0.6rem;
}
.reveal {
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.\[animation-delay\:-6s\] {
  animation-delay: -6s;
}
.\[mask-image\:radial-gradient\(ellipse_80\%_60\%_at_50\%_0\%\2c
  black\2c
  transparent\)\] {
  -webkit-mask-image: radial-gradient(
    ellipse 80% 60% at 50% 0%,
    black,
    transparent
  );
  mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, black, transparent);
}

.placeholder\:text-slate-600::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.placeholder\:text-slate-600::placeholder {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:-translate-y-1:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-emerald-400\/25:hover {
  border-color: rgb(52 211 153 / 0.25);
}

.hover\:border-gold-400\/25:hover {
  border-color: rgb(245 185 66 / 0.25);
}

.hover\:border-gold-400\/30:hover {
  border-color: rgb(245 185 66 / 0.3);
}

.hover\:border-gold-400\/40:hover {
  border-color: rgb(245 185 66 / 0.4);
}

.hover\:border-white\/15:hover {
  border-color: rgb(255 255 255 / 0.15);
}

.hover\:border-white\/20:hover {
  border-color: rgb(255 255 255 / 0.2);
}

.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/5:hover {
  background-color: rgb(255 255 255 / 0.05);
}

.hover\:from-gold-300:hover {
  --tw-gradient-from: #f6d845 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(246 216 69 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:to-gold-400:hover {
  --tw-gradient-to: #f5b942 var(--tw-gradient-to-position);
}

.hover\:text-emerald-300:hover {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}

.hover\:text-gold-200:hover {
  --tw-text-opacity: 1;
  color: rgb(250 231 138 / var(--tw-text-opacity, 1));
}

.hover\:text-gold-400:hover {
  --tw-text-opacity: 1;
  color: rgb(245 185 66 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:shadow-gold-500\/40:hover {
  --tw-shadow-color: rgb(232 160 21 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-gold-500\/45:hover {
  --tw-shadow-color: rgb(232 160 21 / 0.45);
  --tw-shadow: var(--tw-shadow-colored);
}

.focus\:border-gold-400\/50:focus {
  border-color: rgb(245 185 66 / 0.5);
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0
    var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0
    calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow:
    var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
    var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-gold-400\/30:focus {
  --tw-ring-color: rgb(245 185 66 / 0.3);
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:opacity-60:disabled {
  opacity: 0.6;
}

.group:hover .group-hover\:-translate-y-0\.5 {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:bg-emerald-400\/20 {
  background-color: rgb(52 211 153 / 0.2);
}

.group:hover .group-hover\:bg-gold-400\/20 {
  background-color: rgb(245 185 66 / 0.2);
}

.group:hover .group-hover\:text-gold-300 {
  --tw-text-opacity: 1;
  color: rgb(246 216 69 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

@media (min-width: 640px) {
  .sm\:mt-20 {
    margin-top: 5rem;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline-flex {
    display: inline-flex;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:p-12 {
    padding: 3rem;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:py-28 {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }

  .sm\:pb-28 {
    padding-bottom: 7rem;
  }

  .sm\:pt-40 {
    padding-top: 10rem;
  }

  .sm\:text-left {
    text-align: left;
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .sm\:text-\[11px\] {
    font-size: 11px;
  }

  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 768px) {
  .md\:block {
    display: block;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .lg\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }
}

/* Fix for Calendly Next button hover state */
button[class*="booking-kit_confirm-button-selected"]:hover {
    background-color: #006bff !important; /* Change this hex to your preferred Calendly brand color */
    color: #ffffff !important;
    opacity: 0.9;
}