/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com */
*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}

/* Core Utility Classes */
.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}
.flex{display:flex}.grid{display:grid}.hidden{display:none}
.h-screen{height:100vh}.h-full{height:100%}
.w-full{width:100%}
.flex-col{flex-direction:column}.flex-row{flex-direction:row}
.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.gap-4{gap:1rem}.gap-8{gap:2rem}
.rounded{border-radius:0.25rem}.rounded-lg{border-radius:0.5rem}
.border{border-width:1px}
.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}
.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}
.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}
.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}
.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}
.bg-opacity-50{--tw-bg-opacity:0.5}
.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}
.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}
.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.text-center{text-align:center}
.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-5xl{font-size:3rem;line-height:1}
.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}
.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}
.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity))}
.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}
.duration-300{transition-duration:300ms}
.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}
.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216 / var(--tw-bg-opacity))}
.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}
.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}
.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}
.inline-block{display:inline-block}
.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}

/* Layout */
.container { width: 100%; margin-left: auto; margin-right: auto; }
@media (min-width: 640px) { .container { max-width: 640px; } }
@media (min-width: 768px) { .container { max-width: 768px; } }
@media (min-width: 768px){.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) { .container { max-width: 1024px; } }
@media (min-width: 1280px) { .container { max-width: 1280px; } }
@media (min-width: 1536px) { .container { max-width: 1536px; } }

/* Flexbox */
.flex { display: flex; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }

/* Grid */
.grid { display: grid; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gap-4 { gap: 1rem; }
.gap-8 { gap: 2rem; }

/* Spacing */
.p-4 { padding: 1rem; }
.p-6 { padding: 1.5rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.m-4 { margin: 1rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }

/* Typography */
.text-center { text-align: center; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-5xl { font-size: 3rem; line-height: 1; }
.font-bold { font-weight: 700; }
.font-semibold { font-weight: 600; }
.text-white { color: white; }

/* Background */
.bg-black { background-color: #000; }
.bg-blue-500 { background-color: #3b82f6; }
.bg-opacity-50 { opacity: 0.5; }
.bg-cover { background-size: cover; }
.bg-center { background-position: center; }

/* Sizing */
.h-screen { height: 100vh; }
.h-full { height: 100%; }

/* Borders */
.rounded { border-radius: 0.25rem; }
.rounded-lg { border-radius: 0.5rem; }

/* Display */
.block { display: block; }
.inline-block { display: inline-block; }

/* Backdrop Filter Utilities */
.backdrop-filter {
  --tw-backdrop-blur: var(--tw-empty,/*!*/ /*!*/);
  --tw-backdrop-brightness: var(--tw-empty,/*!*/ /*!*/);
  --tw-backdrop-contrast: var(--tw-empty,/*!*/ /*!*/);
  --tw-backdrop-grayscale: var(--tw-empty,/*!*/ /*!*/);
  --tw-backdrop-hue-rotate: var(--tw-empty,/*!*/ /*!*/);
  --tw-backdrop-invert: var(--tw-empty,/*!*/ /*!*/);
  --tw-backdrop-opacity: var(--tw-empty,/*!*/ /*!*/);
  --tw-backdrop-saturate: var(--tw-empty,/*!*/ /*!*/);
  --tw-backdrop-sepia: var(--tw-empty,/*!*/ /*!*/);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

/* Glassmorphism effect support */
.backdrop-filter {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

/* Backdrop Blur Utilities */
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
}
.backdrop-blur, .backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
}
.backdrop-blur-lg {
  --tw-backdrop-blur: blur(16px);
}
.backdrop-blur-xl {
  --tw-backdrop-blur: blur(24px);
}
.backdrop-blur-2xl {
  --tw-backdrop-blur: blur(40px);
}
.backdrop-blur-3xl {
  --tw-backdrop-blur: blur(64px);
}
.backdrop-blur-none {
  --tw-backdrop-blur: blur(0);
}

/* Background opacity utilities - expanded */
.bg-white\/10, .bg-white\/10 {
  background-color: rgba(255, 255, 255, 0.1);
}
.bg-white\/20, .bg-white\/20 {
  background-color: rgba(255, 255, 255, 0.2);
}
.to-white\/10 {
  --tw-gradient-to: rgba(255, 255, 255, 0.1);
}
.to-white\/20 {
  --tw-gradient-to: rgba(255, 255, 255, 0.2);
}
.from-white\/10 {
  --tw-gradient-from: rgba(255, 255, 255, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}
.from-white\/20 {
  --tw-gradient-from: rgba(255, 255, 255, 0.2);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

/* Gradient utilities */
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}

/* Glassmorphism utilities */
.glassmorphism {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.2);
}

.glassmorphism-dark {
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.15);
}

.glassmorphism-light {
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);
}

.glassmorphism-strong {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.25);
}

/* Hero section background overlay */
.hero-overlay {
  background-color: rgba(0, 0, 0, 0.2);
  padding: 2.5rem 2rem;
  border-radius: 0.5rem;
  display: inline-block;
}

/* Add backdrop blur effect (if not already in your Tailwind) */
.backdrop-blur {
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* Fix for Chrome overflow issues */
.hero-content {
  max-width: 100%;
  overflow: hidden;
}

/* Make sure SVG icons don't overflow in Chrome */
svg.h-8, svg.w-8, svg.h-5, svg.w-5, svg.h-6, svg.w-6 {
  max-width: 100%;
  overflow: hidden;
}

#contact {
  background-color: #f9f8f4 !important;
}

#contact h2 {
  color: #2a3f54 !important;
}

#contact p:not(.text-white) {
  color: #4a5568 !important;
}

#contact .bg-primary-dark {
  background-color: #2a3f54 !important;
}

#contact .bg-primary-dark * {
  color: white !important;
}

#contact .bg-primary-dark a {
  color: #60a5fa !important;
}

#contact .text-primary-dark {
  color: #2a3f54 !important;
}

#contact .bg-gradient-to-r {
  background-image: linear-gradient(to right, #3DB39E, #2a3f54) !important;
  color: white !important;
}

#contact .from-primary {
  --tw-gradient-from: #3DB39E !important;
}

#contact .to-primary-dark {
  --tw-gradient-to: #2a3f54 !important;
}

/* Background custom */
.bg-bg-custom {
  background-color: #000;
}

/* Positioning utilities */
.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.inset-0 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.right-0 {
  right: 0;
}

.top-0 {
  top: 0;
}

.left-0 {
  left: 0;
}

.bottom-0 {
  bottom: 0;
}

/* Z-index utilities */
.z-0 {
  z-index: 0;
}

.z-10 {
  z-index: 10;
}

/* Overflow utilities */
.overflow-hidden {
  overflow: hidden;
}

.overflow-y-auto {
  overflow-y: auto;
}

/* Opacity utilities */
.opacity-5 {
  opacity: 0.05;
}

.opacity-10 {
  opacity: 0.1;
}

/* Transform utilities */
.transform {
  transform: var(--tw-transform);
}

.rotate-90 {
  --tw-rotate: 90deg;
  transform: rotate(90deg);
}

.hover\:translate-x-1:hover {
  transform: translateX(0.25rem);
}

.hover\:translate-x-2:hover {
  transform: translateX(0.5rem);
}

.group-hover\:translate-x-1:hover {
  transform: translateX(0.25rem);
}

/* Height and width utilities */
.h-1 {
  height: 0.25rem;
}

.h-4 {
  height: 1rem;
}

.h-5 {
  height: 1.25rem;
}

.h-6 {
  height: 1.5rem;
}

.h-64 {
  height: 16rem;
}

.w-0 {
  width: 0;
}

.w-4 {
  width: 1rem;
}

.w-5 {
  width: 1.25rem;
}

.w-6 {
  width: 1.5rem;
}

.w-16 {
  width: 4rem;
}

.w-24 {
  width: 6rem;
}

.w-64 {
  width: 16rem;
}

/* Margin utilities */
.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.ml-1 {
  margin-left: 0.25rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.ml-3 {
  margin-left: 0.75rem;
}

.mr-3 {
  margin-right: 0.75rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-16 {
  margin-bottom: 4rem;
}

/* Padding utilities */
.p-2 {
  padding: 0.5rem;
}

.p-8 {
  padding: 2rem;
}

.py-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

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

/* Border radius */
.rounded-full {
  border-radius: 9999px;
}

.rounded-xl {
  border-radius: 0.75rem;
}

.rounded-lg {
  border-radius: 0.5rem;
}

/* Border utilities */
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
}

.border {
  border-width: 1px;
}

.border-b {
  border-bottom-width: 1px;
}

/* Shadow utilities */
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-2xl:hover {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* Spacing utilities */
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

/* Focus utilities */
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-2: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(2px + 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-primary:focus {
  --tw-ring-color: #3DB39E;
}

.focus\:border-transparent:focus {
  border-color: transparent;
}

/* Color opacity utilities */
.text-white\/80 {
  color: rgba(255, 255, 255, 0.8);
}

.bg-white\/20 {
  background-color: rgba(255, 255, 255, 0.2);
}

.bg-primary\/10 {
  background-color: rgba(61, 179, 158, 0.1);
}

/* Gradient utilities */
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.from-primary {
  --tw-gradient-from: #3DB39E;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(61 179 158 / 0));
}

.to-primary-dark {
  --tw-gradient-to: #2a3f54;
}

.from-white {
  --tw-gradient-from: #fff;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(255 255 255 / 0));
}

.to-gray-100 {
  --tw-gradient-to: #f3f4f6;
}

/* Group utilities */
.group {
  display: inline-flex;
}

.group-hover\:w-4:hover {
  width: 1rem;
}

/* Display and alignment utilities */
.inline-flex {
  display: inline-flex;
}

.items-start {
  align-items: flex-start;
}

/* Animation utilities */
.animation-delay-200 {
  animation-delay: 0.2s;
}

.animation-delay-400 {
  animation-delay: 0.4s;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

/* Text utilities */
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-dark {
  color: var(--dark, #1f2937);
}

.text-primary {
  color: #3DB39E;
}

.text-primary-dark {
  color: #2a3f54;
}

.text-primary-light {
  color: #60a5fa;
}

.text-gray-500 {
  color: #6b7280;
}

.hover\:text-white:hover {
  color: white;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

/* Button utility */
.btn {
  display: inline-block;
  text-align: center;
}

/* Specific styling for phone numbers and company details */
.company-details-card {
  color: #4a5568;
}

/* Emergency fix for contact section white overlay */
#contact {
  background-color: #f9f8f4 !important;
  color: #2a3f54 !important;
}

/* Fix bg-bg-custom which is currently set to black */
.bg-bg-custom {
  background-color: #f9f8f4 !important; /* Light beige instead of black */
}

/* Force all contact section elements to be visible */
#contact > * {
  position: relative !important;
  z-index: 5 !important;
}

/* Set any potential overlays to be transparent */
#contact::before,
#contact::after {
  display: none !important;
}

/* Fix for common overlay patterns */
.overlay,
[class*="overlay"],
[id*="overlay"],
.backdrop,
[class*="backdrop"],
[id*="backdrop"] {
  opacity: 0 !important;
  z-index: -1 !important;
}

/* Force all text colors */
#contact h2, 
#contact h3,
#contact .text-xl,
#contact .font-semibold {
  color: #2a3f54 !important;
}

#contact p,
#contact .text-sm,
#contact label {
  color: #4a5568 !important;
}

#contact .bg-white {
  background-color: white !important;
}

/* Fix for form elements */
#contact input,
#contact select,
#contact textarea {
  background-color: white !important;
  border-color: #d1d5db !important;
  color: #1f2937 !important;
}