/* ==== Mobile Nav Toggle (conflict-free minimal) ==== */
@media (max-width: 1024px) {
  /* Hamburger visible */
  header .mobile-menu-btn { display: flex !important; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; border: 2px solid transparent; background: transparent; cursor: pointer; transition: box-shadow .2s ease, border-color .2s ease; }
  header .mobile-menu-btn:hover { box-shadow: 0 4px 12px rgba(16,24,40,.12); }
  /* Cross state */
  header .mobile-menu-btn[aria-expanded="true"] { background: #fff; border-color: #6C4CF5; box-shadow: 0 6px 18px rgba(108,76,245,.18); }

  header .nav-menu { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100vw !important; height: 100vh !important; box-sizing: border-box !important; display: flex !important; flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 0; padding: 188px 16px 24px; transform: translateX(-100%); transition: transform .3s ease-in-out; background: rgba(255,255,255,.98); backdrop-filter: blur(10px); z-index: 1000; overflow-y: auto; margin: 0 !important; }
  header .nav-menu.mobile-open { transform: translateX(0); }

  
  @media (hover:hover) { header .mobile-menu-btn:hover + .nav-menu, header:hover .nav-menu { transform: translateX(0); } }

  /* Menu items */
  header .nav-menu .menu-btn { width: 100% !important; display: flex !important; align-items: center; justify-content: space-between; gap: 8px; text-align: left; font-size: 1rem; font-weight: 600; color: #0f172a; background: transparent; border: 0; text-decoration: none; padding: 14px 8px; border-radius: 8px; transition: background .2s ease, color .2s ease; }
  header .nav-menu a { width: 100% !important; display: flex !important; align-items: center; justify-content: space-between; text-align: left; }
  header .nav-menu .menu-btn + .menu-btn { border-top: 1px solid #edf0f6; }
  header .nav-menu .menu-btn:hover { background: #f7f8fb; color: #6C4CF5; }
  header .nav-menu .chevron { width: 10px; height: 10px; border-right: 2px solid #94a3b8; border-bottom: 2px solid #94a3b8; transform: rotate(-45deg); transition: transform .2s ease, border-color .2s ease; }
  header .nav-menu .menu-btn:hover .chevron { border-color: #6C4CF5; }

  /* Close button inside the panel */
  .nav-close-btn{ position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border-radius: 10px; background: transparent; border: 0; display:flex; align-items:center; justify-content:center; z-index:1102; pointer-events:auto; }
  .nav-close-btn span{ position:absolute; width:18px; height:2px; background:#0f172a; }
  .nav-close-btn span:first-child{ transform: rotate(45deg); }
  .nav-close-btn span:last-child{ transform: rotate(-45deg); }

  /* CTA block inserted inside nav-menu */
  .mobile-cta{ position: relative; top: auto; left: auto; right: auto; z-index: 1; text-align: center; margin: 20px 0 16px 0; padding-right: 56px; }
  /* leave space at right for the close button */
  .mobile-cta .panel-primary{ display: flex; align-items: center; justify-content: center; width: calc(100% - 56px); height: 48px; color: #fff; background: #6C4CF5; border-radius: 999px; font-weight: 600; box-shadow: 0 8px 20px rgba(108,76,245,.18); text-decoration: none; margin: 0 56px 8px 0; }
  .mobile-cta .panel-primary:hover{ background:#5a3ef0; }
  .mobile-cta .signin-link{ display:block; margin-top:2px; color:#475569; text-decoration:none; }
  .mobile-cta .signin-link:hover{ color:#6C4CF5; text-decoration:underline; }
  /* Sign-in link */
  header .nav-menu a.signin-link { display: inline-block; margin: 10px auto 0; color: #475569; font-size: 14px; text-decoration: none; }
  header .nav-menu a.signin-link:hover { color: #6C4CF5; text-decoration: underline; }
}

/* Hide mobile-only CTA block on desktop */
@media (min-width: 1025px){
  .mobile-cta{ display: none !important; }
}

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: hsl(222 47% 11%); /* foreground */
  background: #fff;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
:root{
  --radius: 14px;
  --shadow-soft: 0 10px 30px rgba(16, 24, 40, .08);
  --shadow-card: 0 8px 24px rgba(16, 24, 40, .06);
  --border: #e5e7eb;
  --primary: #6C4CF5;
  --primary-deep: #5a3ef0;
  --primary-light: #8a72ff;
  --accent: #E49A57; 
  --secondary: #EEF1FF;
  --foreground: #0f172a;
  --muted-foreground: #6b7280;
  --slate: #65748B;
  --background: #ffffff;
  --cloud: #F6F8FC;          
  --cloud-50: rgba(246,248,252,.5);
  --card: #ffffff;
  --card-border-radius: 20px; /* Consistent corner rounding */
  --card-shadow-effect: 0 6px 16px rgba(16, 24, 40, .06), 0 2px 8px rgba(16, 24, 40, .04); /* Soft shadow */
  --card-shadow-hover-effect: 0 10px 24px rgba(16, 24, 40, .08), 0 4px 12px rgba(16, 24, 40, .05); /* Slightly stronger hover shadow */
  --card-border-color: #eef0f3;
}
.fixed{ position: fixed; }
.relative{ position: relative; }
.absolute{ position: absolute; }
.inset-0{ inset: 0; }
.left-4{ left: 1rem; }
.right-2{ right: .5rem; }
.top-1\/2{ top: 50%; }
.z-\[100\]{ z-index: 100; }

/* Flexbox & display */
.hidden{ display: none !important; }
.flex{ display: flex; }
.flex-col{ flex-direction: column; }
.flex-1{ flex: 1 1 auto; }
.flex-shrink-0{ flex-shrink: 0; }
.items-center{ align-items: center; }
.justify-between{ justify-content: space-between; }
.justify-center{ justify-content: center; }
@media (min-width: 1024px){ .lg\:flex{ display: flex; } }

/* Spacing */
.gap-2{ gap: .5rem; }
.gap-4{ gap: 1rem; }
.gap-8{ gap: 2rem; }
.space-x-4 > * + *{ margin-left: 1rem; }
.space-x-6 > * + *{ margin-left: 1.5rem; }
.mx-auto{ margin-left: auto; margin-right: auto; }
.mx-6{ margin-left: 1.5rem; margin-right: 1.5rem; }
.ml-1{ margin-left: .25rem; }
.px-2{ padding-left: .5rem; padding-right: .5rem; }
.px-3{ padding-left: .75rem; padding-right: .75rem; }
.px-6{ padding-left: 1.5rem; padding-right: 1.5rem; }
.px-8{ padding-left: 2rem; padding-right: 2rem; }
.py-2{ padding-top: .5rem; padding-bottom: .5rem; }
.py-4{ padding-top: 1rem; padding-bottom: 1rem; }
.p-6{ padding: 1.5rem; }
.pb-4{ padding-bottom: 1rem; }
@media (min-width: 1024px){ .lg\:px-8{ padding-left: 2rem; padding-right: 2rem; } }

/* Sizing */
.w-full{ width: 100%; }
.w-auto{ width: auto; }
.w-24{ width: 6rem; }
.w-4{ width: 1rem; }
.w-5{ width: 1.25rem; }
.w-6{ width: 1.5rem; }
.w-8{ width: 2rem; }
.h-4{ height: 1rem; }
.h-5{ height: 1.25rem; }
.h-6{ height: 1.5rem; }
.h-8{ height: 2rem; }
.h-11{ height: 2.75rem; }
.h-14{ height: 3.5rem; }
.min-w-\[120px\]{ min-width: 120px; }
.min-w-\[180px\]{ min-width: 180px; }
.max-w-2xl{ max-width: 42rem; }
.max-w-3xl{ max-width: 48rem; }
.max-w-4xl{ max-width: 56rem; }
.max-w-5xl{ max-width: 64rem; }
@media (min-width: 768px){ .md\:max-w-\[420px\]{ max-width: 420px; } }

/* Typography */
.text-xs{ font-size: 12px; }
.text-sm{ font-size: 14px; }
.md\:text-sm{ font-size: 14px; }
.text-base{ font-size: 16px; }
.text-lg{ font-size: 18px; }
.text-xl{ font-size: 20px; }
.text-3xl{ font-size: 30px; }
.text-4xl{ font-size: 36px; }
.lg\:text-6xl{ font-size: 60px; }
.xl\:text-7xl{ font-size: 72px; }
.font-medium{ font-weight: 500; }
.font-semibold{ font-weight: 600; }
.font-bold{ font-weight: 700; }
.tracking-tight{ letter-spacing: -0.02em; }
.text-center{ text-align: center; }

/* Transforms */
.transform{ transform: translateZ(0); }
.-translate-y-1\/2{ transform: translateY(-50%); }

/* Borders & radius */
.rounded{ border-radius: 8px; }
.rounded-md{ border-radius: 10px; }
.rounded-lg{ border-radius: 16px; }
.rounded-xl{ border-radius: 20px; }
.rounded-full{ border-radius: 999px; }

/* Colors/backgrounds */
.bg-white{ background: #fff; }
.bg-white\/20{ background: rgba(255,255,255,.2); }
.bg-background\/95{ background: rgba(255,255,255,.95); }
.backdrop-blur{ backdrop-filter: blur(8px); }
.hover\:text-primary:hover{ color: var(--primary); }
.transition-colors{ transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.opacity-\[0\.03\]{ opacity: .03; }
.opacity-40{ opacity: .40; }
.supports-\[backdrop-filter\]\:bg-background\/60{ background: rgba(255,255,255,.60); }
.bg-background{ background: var(--background); }
.bg-cloud{ background: var(--cloud); }
.bg-cloud\/50{ background: var(--cloud-50); }
.bg-card{ background: var(--card); }
.bg-primary{ background: var(--primary); color:#fff; }
.bg-primary-light{ background: var(--primary-light); color:#fff; }
.bg-accent{ background: var(--accent); color:#fff; }
.bg-secondary{ background: var(--secondary); }
.text-foreground{ color: var(--foreground); }
.text-muted-foreground{ color: var(--muted-foreground); }
.text-slate{ color: var(--slate); }
.text-primary{ color: var(--primary); }
.text-primary-deep{ color: var(--primary-deep); }
.text-primary-foreground{ color:#fff; }

/* Borders */
.border{ border: 1px solid var(--border); }
.border-0{ border: 0; }
.border-input{ border: 1px solid var(--border); }
.border-t{ border-top: 1px solid var(--border); }
.border-b{ border-bottom: 1px solid var(--border); }
.border-primary{ border: 2px solid var(--primary); }

/* Additional sizing */
.h-9{ height: 2.25rem; }

/* Common padding helpers used by sections/cards */
.p-8{ padding: 2rem; }
.pt-0{ padding-top: 0; }
.pt-4{ padding-top: 1rem; }

/* Text color helpers */
.text-white{ color: #fff; }
.text-card-foreground{ color: var(--foreground); }

/* Shadow helpers */
.shadow-sm{ box-shadow: 0 1px 2px rgba(16,24,40,.06); }
.shadow-lg{ box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05); }
.card-shadow {
  border: 1px solid var(--card-border-color); /* Add consistent border */
  border-radius: var(--card-border-radius); /* Add consistent radius */
  background: #fff; /* Ensure white background */
  box-shadow: var(--card-shadow-effect) !important; /* Use new shadow */
  transition: box-shadow .25s ease, transform .12s ease;
}
.card-shadow:hover {
  box-shadow: var(--card-shadow-hover-effect) !important; /* Use new hover shadow */
  transform: translateY(-3px); /* Add consistent hover transform */
}
.card-soft{ border: 1px solid var(--border); border-radius: 18px; background: #fff; box-shadow: var(--shadow-soft); }

/* Layout basics */
.min-h-screen{ min-height: 100vh; }
.sticky{ position: sticky; }
.top-0{ top: 0; }
.z-50{ z-index: 50; }

/* Grid helpers */
.grid{ display: grid; gap: 2rem; }
.grid-cols-1{ grid-template-columns: 1fr; }
.lg\:grid-cols-2{ grid-template-columns: 1fr; }
.md\:grid-cols-3{ grid-template-columns: 1fr; }
@media (min-width: 768px){ .md\:grid-cols-3{ grid-template-columns: repeat(3,1fr); } }
@media (min-width: 1024px){ .lg\:grid-cols-2{ grid-template-columns: repeat(2,1fr); } }
.container{ width: min(1180px, 92%); margin-inline: auto; }

/* --------- NAVBAR --------- */
header .h-16{ height: 64px; }
header a{ color: var(--foreground); text-decoration: none; }
header nav .space-x-6 > * + *{ margin-left: 1.5rem; }
header .hover\:text-primary:hover{ color: var(--primary); }

header .container{ position: relative; }
header .flex{ display: flex; align-items: center; justify-content: space-between; height: 64px; }
header .items-center{ align-items: center; }
header .justify-between{ justify-content: space-between; }
header .h-16{ height: 4rem; }
header .px-6{ padding-left: 1.5rem; padding-right: 1.5rem; }
header .lg\:px-8{ padding-left: 1.5rem; padding-right: 1.5rem; }
@media (min-width: 1024px){ header .lg\:px-8{ padding-left: 2rem; padding-right: 2rem; } }
header .flex-shrink-0{ flex-shrink: 0; margin-right: 1.5rem; }
header .hidden{ display: none; }
@media (min-width: 1024px){ header .lg\:flex{ display: flex; } }
header .flex-1{ flex: 1 1 auto; }
header .justify-center{ justify-content: center; }
header .mx-6{ margin-left: 1.5rem; margin-right: 1.5rem; }
header .text-foreground{ color: var(--foreground); }
header .transition-colors{ transition: color .2s ease; }
header .py-2{ padding-top: .5rem; padding-bottom: .5rem; }
header .px-2{ padding-left: .5rem; padding-right: .5rem; }
header .font-medium{ font-weight: 500; }
header .focus-visible\:outline-none:focus-visible{ outline: none; }
header .focus-visible\:ring-2:focus-visible{ box-shadow: 0 0 0 2px var(--primary); }
header .focus-visible\:ring-primary:focus-visible{ box-shadow: 0 0 0 2px var(--primary); }
header .focus-visible\:ring-offset-2:focus-visible{ box-shadow: 0 0 0 2px var(--primary), 0 0 0 4px rgba(255,255,255,1); }
header .rounded{ border-radius: 8px; }
header .h-8{ height: 2rem; }
header .w-auto{ width: auto; }
header .ml-auto{ margin-left: auto; }
header .p-2{ padding: .5rem; }
header .h-6{ height: 1.5rem; }
.w-6{ width: 1.5rem; }

.bg-gradient-to-r.from-primary.to-accent{
  background: linear-gradient(90deg, #6C4CF5 0%, #A55FE0 24%, var(--accent) 58%, var(--accent) 100%);
  color:#fff;
}
.bg-gradient-to-r.from-primary.to-accent a{ color:#fff; text-decoration: none; }

.relative.py-16{ position: relative; padding: 64px 0; }
@media (min-width:1024px){ .lg\:py-24{ padding-top:96px; padding-bottom:96px; } }

.bg-gradient-to-br.from-background.via-cloud\/30.to-background{
  background:
    radial-gradient(850px 420px at 30% 20%, rgba(108,76,245,0.08) 0%, rgba(108,76,245,0.00) 45%),
    radial-gradient(850px 420px at 70% 80%, rgba(228,154,87,0.12) 0%, rgba(228,154,87,0.00) 45%),
    var(--background);
  overflow: hidden;
}

.text-gradient{
  background: linear-gradient(90deg, #6C4CF5 0%, #A55FE0 32%, var(--accent) 72%, var(--accent) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.text-accent{
  background: linear-gradient(90deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 88%, black 12%) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Hero typography */
h1{text-wrap: balance;}
.mx-auto.max-w-4xl.text-center h1{
  font-size: clamp(35px, 6.5vw, 65px);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 18px;
  color: var(--foreground);
  line-height: 1.02;
}
.mx-auto.max-w-4xl.text-center p{
  font-size: clamp(16px, 1.6vw, 20px);
  color: var(--muted-foreground);
  max-width: 820px;
  margin: 0 auto 28px;
}

/* CTA buttons in hero */
.btn-gradient{
  background: linear-gradient(135deg, #6C4CF5 0%, #A55FE0 26%, var(--accent) 66%, var(--accent) 100%);
  color: #fff; border: 0; cursor: pointer;
  padding: 16px 56px; border-radius: 44px; 
  font-weight: 700; min-height: 64px; display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 34px 80px rgba(108,76,245,0.10), 0 20px 48px rgba(228,154,87,0.08);
  transition: transform .12s ease, box-shadow .18s ease, filter .18s ease;
}
.btn-gradient:hover{
  transform: translateY(-3px); filter: brightness(1.02);
  box-shadow: 0 44px 100px rgba(108,76,245,0.12), 0 28px 60px rgba(228,154,87,0.10);
}

/* thin purple accent bar under header */
#site-header::after{
  content: '';
  display: block;
  height: 6px;
  width: 100%;
  background: linear-gradient(90deg, #6C4CF5 0%, #A55FE0 30%, var(--accent) 70%);
  position: absolute; left: 0; bottom: -6px; z-index: 99998;
}
.hero-cta{
  padding: 12px 40px !important;
  border-radius: 50px !important;
  height: auto !important;
  min-width: 180px;
  transition: all 0.3s ease;
}

.hero-section{ 
  position: relative; 
  padding: 64px 0; 
  background: 
  radial-gradient(1200px 600px at 30% 20%, rgba(108,76,245,.08), transparent 55%),
  radial-gradient(1200px 600px at 70% 80%, rgba(228,154,87,.12), transparent 50%),
    var(--background);
  overflow: hidden;
}
@media (min-width:1024px){ .hero-section{ padding-top:96px; padding-bottom:96px; } }
/* Reference-like hero CTA sizes and variants */
.hero-section .flex.flex-col.sm\:flex-row.gap-4.justify-center.items-center > a > button,
.hero-section .flex.flex-col.sm\:flex-row.gap-4.justify-center.items-center > button{
  height: 72px !important;
  min-width: 260px !important;
  padding: 0 42px !important;
  border-radius: 999px !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}
.hero-section .flex.flex-col.sm\:flex-row.gap-4.justify-center.items-center > a > button.bg-primary,
.hero-section .flex.flex-col.sm\:flex-row.gap-4.justify-center.items-center > button.bg-primary{
  background: #6C4CF5 !important;
  color: #fff !important;
}
.hero-section .flex.flex-col.sm\:flex-row.gap-4.justify-center.items-center > a > button.border-2.border-primary,
.hero-section .flex.flex-col.sm\:flex-row.gap-4.justify-center.items-center > button.border-2.border-primary{
  background: #fff !important;
  color: #6C4CF5 !important;
  border: 3px solid #6C4CF5 !important;
}
@media (max-width: 640px){
  .hero-section .flex.flex-col.sm\:flex-row.gap-4.justify-center.items-center > a > button,
  .hero-section .flex.flex-col.sm\:flex-row.gap-4.justify-center.items-center > button{ width: 100% !important; min-width: 0 !important; }
}
/* Headline sizing close to reference */
.mx-auto.max-w-4xl.text-center h1{
  font-size: clamp(36px, 6.6vw, 72px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}
.mx-auto.max-w-4xl.text-center p{ font-size: clamp(16px, 1.6vw, 22px) !important; }
/* Pills/Chips – lavender background */
.inline-flex.items-center.rounded-full.border.px-2\.5,
.inline-flex.items-center.rounded-full.border.px-2\.5.py-0\.5{
  background: #EDE9FE !important;
  color: #6C4CF5 !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
}
/* Candidate skill chips */
.bg-cloud.rounded-lg.p-4.border .flex.flex-wrap.gap-2 div{
  background: #EEF1FF !important;
  color: #3b3f66 !important;
  border: 0 !important;
  border-radius: 999px !important;
}

.bg-cloud.rounded-lg.p-4.border .flex.space-x-2.pt-2 > button:last-child:hover{
  background: #FFC445 !important;
  color: #fff !important;
  border-color: #FFC445 !important;
  box-shadow: 0 8px 20px rgba(255,196,69,0.24);
}

/* Enhanced "View All" button hover effect - more specific targeting */
button:has-text("View All"):hover,
button[class*="hover:bg-accent"]:hover {
  background: #E49A57 !important; /* Orange/yellow color */
  color: #fff !important;
  border-color: #E49A57 !important;
  box-shadow: 0 8px 20px rgba(228, 154, 87, 0.3) !important;
  transform: translateY(-1px) !important;
}

/* More specific targeting for View All button */
.flex.space-x-2.pt-2 > button:last-child:hover {
  background: #E49A57 !important;
  color: #fff !important;
  border-color: #E49A57 !important;
  box-shadow: 0 8px 20px rgba(228, 154, 87, 0.3) !important;
  transform: translateY(-1px) !important;
}

/* Shortlist buttons full-width on mobile */
@media (max-width: 640px){
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2{ flex-direction: column; }
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 button{ width: 100%; }
}

/* Hero button container */
.flex.flex-col.sm\:flex-row.gap-4.justify-center.items-center{
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  justify-content: center;
  align-items: center;
}
@media (min-width: 640px){ 
  .flex.flex-col.sm\:flex-row.gap-4.justify-center.items-center{ 
    flex-direction: row; 
  } 
}

/* Hero buttons */
.inline-flex.items-center.justify-center.gap-2.whitespace-nowrap{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  white-space: nowrap;
}
.transition-all.duration-300{ transition: all .3s ease; }
.focus-visible\:outline-none:focus-visible{ outline: none; }
.focus-visible\:ring-2:focus-visible{ box-shadow: 0 0 0 2px var(--primary); }
.focus-visible\:ring-ring:focus-visible{ box-shadow: 0 0 0 2px var(--primary); }
.focus-visible\:ring-offset-2:focus-visible{ box-shadow: 0 0 0 2px var(--primary), 0 0 0 4px rgba(255,255,255,1); }
.disabled\:pointer-events-none:disabled{ pointer-events: none; }
.disabled\:opacity-50:disabled{ opacity: .5; }
.hover\:shadow-xl:hover{ box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04); }
.border-2{ border-width: 2px; }
.bg-transparent{ background: transparent; }
.hover\:bg-primary:hover{ background: var(--primary); }
.hover\:text-primary-foreground:hover{ color: #fff; }

/* Search bar in hero */
input[placeholder*="Search jobs"]{
  height: 56px; border-radius: 999px; border: 1px solid var(--border);
  padding-left: 44px; padding-right: 120px; font-size: 16px; box-shadow: var(--shadow-soft);
}
.lucide.lucide-search{ color: var(--muted-foreground); }
button.text-xs.absolute.right-2{
  height: 40px; padding: 0 16px; border-radius: 999px; background: var(--primary);
  color:#fff; font-weight: 600; border: 0; cursor: pointer;
  outline: none !important;
  box-shadow: none !important;
}
button.text-xs.absolute.right-2:hover{ background: var(--primary-deep); }

@media (max-width: 640px){
  input[placeholder*="Search jobs"]{ 
    padding-right: 96px; }
  button.text-xs.absolute.right-2{ 
    position: absolute; right: 10px; }
}

/* Search bar layout fixes */
.mb-12{ margin-bottom: 3rem; }
.flex.w-full{ display: flex; width: 100%; }
.ring-offset-background{ box-shadow: 0 0 0 0 var(--background); }
.file\:border-0:file{ border: 0; }
.file\:bg-transparent:file{ background: transparent; }
.file\:text-sm:file{ font-size: 14px; }
.file\:font-medium:file{ font-weight: 500; }
.file\:text-foreground:file{ color: var(--foreground); }
.placeholder\:text-muted-foreground::placeholder{ color: var(--muted-foreground); }
.disabled\:cursor-not-allowed:disabled{ cursor: not-allowed; }
.pl-12{ padding-left: 3rem; }
.hover\:bg-primary-deep:hover{ background: var(--primary-deep); }
.hover\:shadow-\[var\(--shadow-soft\)\]:hover{ box-shadow: var(--shadow-soft); }
.hover\:-translate-y-0\.5:hover{ transform: translateY(-2px); }

/* “Trusted by companies” grey logos */
.opacity-40 .rounded-md{ background: #CBD5E1; }

/* --------- CHOOSE YOUR PATH (two big cards) --------- */
section.py-20{ padding: 80px 0; }
.text-center.mb-16 h2{
  font-size: clamp(28px, 3.2vw, 40px);
  margin: 0 0 10px;
}
.text-center.mb-16 p{ color: var(--slate); }

.grid.lg\:grid-cols-2.max-w-5xl.mx-auto{ gap: 28px; }
.rounded-lg.text-card-foreground.shadow-sm.card-shadow{
  border-radius: 24px; border: 1px solid var(--border);
  background:#fff; box-shadow: var(--shadow-card);
  transition: box-shadow .25s ease, transform .12s ease;
}
.rounded-lg.text-card-foreground.shadow-sm.card-shadow:hover{
  box-shadow: 0 18px 44px rgba(16,24,40,.12); transform: translateY(-2px);
}
.w-16.h-16.rounded-full{ width:64px; height:64px; border-radius:50%; }
.bg-primary\/10{ background: color-mix(in srgb, var(--primary) 10%, white); }
.bg-accent\/10{ background: color-mix(in srgb, var(--accent) 12%, white); }

/* Card layout fixes */
.py-20{ padding: 80px 0; }
.mb-16{ margin-bottom: 4rem; }
.lg\:text-4xl{ font-size: 40px; }
.mb-4{ margin-bottom: 1rem; }
.mb-2{ margin-bottom: .5rem; }
/* .group utility is intentionally left out; add rules here if needed. */
.transition-all{ transition: all .2s ease; }
.duration-300{ transition-duration: .3s; }
.space-y-1\.5 > * + *{ margin-top: .375rem; }
.space-y-4 > * + *{ margin-top: 1.15rem; } /* slightly increased list spacing for checklist items */

/* Reduce gap between card title and subtitle inside Choose Your Path cards */
.lg\:grid-cols-2 .flex-col.p-6.text-center.pb-4 h3{
  margin-bottom: 8px; /* exact target: 8px between title and subtitle */
}
.lg\:grid-cols-2 .flex-col.p-6.text-center.pb-4 p{
  margin-bottom: 18px; /* exact target: 18px between subtitle and checklist */
}
/* Precise checklist spacing */
.lg\:grid-cols-2 .p-6.pt-0 .space-y-4 > * + *{ margin-top: 20px; } /* 20px between checklist items */
/* CTA gap from checklist to button */
.grid.lg\:grid-cols-2 > .rounded-lg .p-6.pt-0 a.block.pt-4{ margin-top: 28px; }
.gap-3{ gap: .75rem; }
.block{ display: block; }

/* “Post a Job / Find Jobs” buttons inside cards */
a.block.pt-4 button,
div.p-6.pt-0 a button{
  width: 100%;
}

/* Remove accidental dark/black rim from CTAs/buttons */
/* keep scoped grid button fixes; remove global .btn-gradient overrides to avoid conflicts */
.grid.lg\:grid-cols-2 .rounded-lg a > button.bg-primary,
.grid.lg\:grid-cols-2 .rounded-lg a > button.bg-primary:focus,
.grid.lg\:grid-cols-2 .rounded-lg a > button.bg-primary:active,
.btn-gradient:active {
  border: 0 !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-shadow: 0 10px 30px rgba(108,76,245,0.12) !important;
  background-clip: padding-box !important;
}
.grid.lg\:grid-cols-2 .rounded-lg a > button.border-2.border-primary,
.grid.lg\:grid-cols-2 .rounded-lg a > button.border-2.border-primary:focus {
  border: 2px solid rgba(108,76,245,0.85) !important;
  box-shadow: none !important;
  outline: none !important;
}
.grid.lg\:grid-cols-2 .rounded-lg a > button::after,
.grid.lg\:grid-cols-2 .rounded-lg a > button *::after,
.btn-gradient::after{ content: none !important; }

/* --------- SIGNATURE FEATURE (Analyzer) --------- */
section.bg-cloud{
  background: var(--cloud);
}
.inline-flex.items-center.rounded-full.border.px-2\.5{
  background: color-mix(in srgb, var(--primary) 12%, white);
  color: var(--primary);
  border: 0; padding: 4px 10px; border-radius: 999px; font-weight: 700;
}
.bg-white.rounded-xl.p-8.card-shadow{
  background:#fff; border-radius: 20px; box-shadow: var(--shadow-card);
}
.inline-flex.items-center.rounded-full.border.px-2\.5.py-0\.5{
  border: 0; padding: 4px 10px; border-radius: 999px; font-weight: 600;
}

section.bg-white .card-soft{
  background:#fff; border-radius: 22px; border: 1px solid var(--border);
  box-shadow: var(--shadow-soft); transition: transform .1s ease;
}
section.bg-white .card-soft:hover{ transform: translateY(-2px); }
section.bg-white .card-soft .text-muted-foreground{ color: var(--muted-foreground); }

/* --------- INDUSTRY EXPERTISE (3 info cards) --------- */
section.bg-cloud\/50{ background: var(--cloud-50); }
.card-soft.p-8.group.cursor-pointer{
  border-radius: 22px; background: #fff; border: 1px solid var(--border);
  box-shadow: var(--shadow-soft);
}
.card-soft.p-8.group.cursor-pointer:hover{ box-shadow: 0 16px 40px rgba(16,24,40,.12); }

/* --------- TESTIMONIAL CARDS HOVER EFFECT --------- */
.grid.grid-cols-1.lg\:grid-cols-2.gap-8.max-w-4xl.mx-auto .card-soft {
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}
.grid.grid-cols-1.lg\:grid-cols-2.gap-8.max-w-4xl.mx-auto .card-soft:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 20px 50px rgba(16, 24, 40, 0.15) !important;
  border-color: rgba(108, 76, 245, 0.2) !important;
}

/* --------- TRANSPARENT AI (left job card + right shortlist) --------- */
.max-w-6xl.mx-auto{ width: min(1100px, 92%); margin-inline: auto; }
/* ===== Section above footer: gradient band with white CTAs (match reference) ===== */
.brand-gradient{
  background: linear-gradient(135deg, #6C4CF5 0%, #A55FE0 40%, #E49A57 100%);
}
.py-16.lg\:py-20.relative.overflow-hidden .container .max-w-4xl.mx-auto.text-center h2{ text-wrap: balance; }
.py-16.lg\:py-20.relative.overflow-hidden .container .max-w-4xl.mx-auto.text-center .flex > button{
  border-radius: 999px !important;
}
.py-16.lg\:py-20.relative.overflow-hidden .container .max-w-4xl.mx-auto.text-center > p{ opacity: .92; }
@media (max-width: 640px){
  .py-16.lg\:py-20.relative.overflow-hidden .container .max-w-4xl.mx-auto.text-center .flex{ flex-direction: column; }
  .py-16.lg\:py-20.relative.overflow-hidden .container .max-w-4xl.mx-auto.text-center .flex > button{ width: 100%; min-width: 0; }
}

/* Tighten spacing in the CTA section above footer */
.py-16.lg\:py-20.relative.overflow-hidden{
  padding: 48px 0 !important;
}
@media (min-width: 1024px){
  .py-16.lg\:py-20.relative.overflow-hidden{
    padding: 64px 0 !important;
  }
}

.py-16.lg\:py-20.relative.overflow-hidden .container .max-w-4xl.mx-auto.text-center h2{
  margin-bottom: 16px !important;
}
.py-16.lg\:py-20.relative.overflow-hidden .container .max-w-4xl.mx-auto.text-center p{
  margin-bottom: 24px !important;
  font-size: 18px !important;
  color: #fff !important;
  opacity: 0.9 !important;
  font-weight: 400 !important;
}
.py-16.lg\:py-20.relative.overflow-hidden .container .max-w-4xl.mx-auto.text-center .flex{
  gap: 12px !important;
  margin-bottom: 16px !important;
}
.py-16.lg\:py-20.relative.overflow-hidden .container .max-w-4xl.mx-auto.text-center p.text-sm{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-size: 14px !important;
  color: #fff !important;
  opacity: 0.8 !important;
}
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft{
  border-radius: 20px; border: 1px solid var(--border); background:#fff; box-shadow: var(--shadow-soft);
}
.bg-cloud\/50.hover\:bg-cloud{ background: var(--cloud-50); transition: background .2s; }
.bg-cloud\/50.hover\:bg-cloud:hover{ background: var(--cloud); }

/* TAGS in job card */
.inline-flex.items-center.rounded-full.border.px-2\.5.py-0\.5.text-xs.font-semibold{
  border: 1px solid var(--border); border-radius: 999px; padding: 4px 10px;
}

/* Small primary + outline buttons */
.bg-primary:hover{ background: var(--primary-deep); }
.hover\:bg-primary-deep:hover{ background: var(--primary-deep); }
.hover\:text-primary-deep:hover{ color: var(--primary-deep); }
.border.border-input.bg-background:hover{ background: var(--cloud); }

/* --------- Misc spacing helpers used by the HTML --------- */
.py-16{ padding-block: 64px; }
.lg\:py-24{ padding-block: 96px; }
.mb-6{ margin-bottom: 1.5rem; }
.mb-8{ margin-bottom: 2rem; }
.mb-12{ margin-bottom: 3rem; }
.mb-16{ margin-bottom: 4rem; }

/* --------- Responsive tweaks --------- */
@media (max-width: 1024px){
  header nav{ display: none !important; }
}

/* Mobile menu visible state (small screens) */
header nav.mobile-open{
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 64px;
  background: var(--background);
  padding: 1rem 1.5rem;
  box-shadow: 0 12px 36px rgba(16,24,40,0.12);
  border-top: 1px solid var(--border);
  z-index: 100000;
}

/* Prevent body scroll when mobile nav open */
body.nav-open{ overflow: hidden; }

/* Header scrolled state — slight shrink and stronger shadow */
#site-header.scrolled{
  background: rgba(255,255,255,0.96) !important;
  box-shadow: 0 6px 24px rgba(12,18,36,0.08);
  transition: background .18s ease, box-shadow .18s ease, padding .18s ease;
}

/* Dropdown simple transition (for aria-expanded state) */
header nav .space-x-6 > * > button[aria-expanded="true"]{
  color: var(--primary);
}
header nav .space-x-6 > * > button[aria-expanded="true"] + .dropdown,
header nav .space-x-6 > * > .dropdown[aria-hidden="false"]{
  display: block;
  opacity: 1;
  transform: translateY(0);
}
header nav .space-x-6 > * > .dropdown{
  display: none;
  position: absolute;
  left: 0;
  margin-top: 6px;
  padding: 8px 12px;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: 0 12px 32px rgba(16,24,40,0.08);
  border-radius: 8px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .15s ease, transform .15s ease;
  z-index: 1000;
}

/* Stats section: circular icons above numbers in a 4-column grid on desktop */
.stats-grid{ align-items: stretch; }
.stats-grid .stat{ display:flex; flex-direction: column; align-items: center; justify-content: flex-start; }
.stats-grid .icon{ width: 72px; height: 72px; border-radius: 999px; background: rgba(108,76,245,0.06); display:flex; align-items:center; justify-content:center; }
.stats-grid .icon svg{ width: 28px; height:28px; color: var(--primary); }
.stats-grid .stat .text-2xl{ font-size: 32px; }

@media (max-width: 768px){
  .stats-grid .icon{ width: 64px; height: 64px; }
  .stats-grid .stat{ padding: 1.25rem 0; }
}
@media (max-width: 900px){
  .mx-auto.max-w-4xl.text-center h1{ font-size: clamp(32px, 7vw, 52px); }
}
/* remove global full-width CTAs on small screens; handled by layout containers */
/* HEADER Fixes */
header .container {
  width: min(1180px, 92%);
  max-width: 1180px;
  margin-inline: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  display: flex;
  align-items: center;
  height: 64px;
}

/* Strong header visibility override: make sure header is visible and sits
   on top of all content. Use ID selector for higher specificity. */
#site-header{
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.95));
  box-shadow: 0 6px 20px rgba(12, 18, 36, 0.08);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

/* 'Try the Analyzer' button helper: transparent by default, translucent white on hover */
.btn-analyzer{
  background: transparent;
  color: #fff; /* strip text is white */
  border: 0;
  padding: 9px 14px;
  border-radius: 12px;
  transition: background .18s ease, color .18s ease, transform .12s ease;
}
.btn-analyzer:hover{
  background: rgba(255,255,255,0.10);
  color: #fff;
}
.btn-analyzer:focus{ box-shadow: 0 0 0 3px rgba(108,76,245,0.12); }

@media (max-width: 1200px) {
  header .container {
    min-width: 100vw;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

header nav {
  /* Keep nav in normal flow and let flex centering position it in the middle */
  position: static;
  transform: none;
  display: flex;
  justify-content: center;
  margin: 0 10rem;
  max-width: none;
  min-width: 0;
}

header nav .space-x-6 > * {
  margin-left: 1.5rem;
}

header .flex-shrink-0 {
  flex-shrink: 0;
  margin-right: 1.5rem;
}
/* Right-side CTA group spacing inside header */
header > .container .flex > .hidden.lg\:flex.items-center{
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* FOOTER IMPROVEMENTS */
footer {
  background: var(--cloud);
  border-top: 1px solid var(--border);
  padding: 0;
  width: 100%;
  display: block !important;
}

footer .container {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding: 40px 0;
}

footer .footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr;
  gap: 28px;
  margin-bottom: 0;
}
@media (max-width: 900px) {
  footer .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
  }
}

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

footer .footer-grid > div {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

footer .footer-grid h4 {
  margin-bottom: 12px;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--foreground);
}

footer .footer-grid a {
  color: #5f6b7a;
  text-decoration: none;
  font-size: 15px;
}

footer .footer-grid a:hover {
  color: var(--primary);
}

footer .bottom {
  border-top: 1px solid var(--border);
  padding: 16px 0;
  margin-top: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #6b7280;
  font-size: 14px;
}

footer .bottom a {
  color: #6b7280;
  text-decoration: none;
  margin-left: 10px;
}

footer .bottom a:hover {
  color: var(--primary);
}

footer input[type="email"] {
  width: 100%;
  height: 44px;
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 0 14px;
  background: #fff;
  font-size: 14px;
  margin-top: 8px;
}

footer .subscribe {
  height: 44px;
  border-radius: 22px;
  background: var(--primary);
  color: #fff;
  border: 0;
  padding: 0 18px;
  font-weight: 600;
  cursor: pointer;
  font-size: 14px;
  margin-top: 8px;
}

footer .subscribe:hover {
  background: var(--primary-deep);
}

footer img {
  height: 32px;
  margin-bottom: 18px;
}

header .hidden {
  display: none !important;
}
@media (min-width: 1024px) {
  header .lgflex {
    display: flex !important;
  }
}
header nav .menu-list > * {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  border-radius: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 18px;
  font-family: inherit;
  font-weight: 500;
  color: #232a33;
  line-height: 1.3;
  cursor: pointer;
  transition: color 0.14s;
}

/* No outline or box for focus */
header nav .menu-list > *:focus, 
header nav .menu-list > *:active {
  outline: none !important;
  box-shadow: none !important;
}

.nav-container {
  display: flex;
  align-items: center;
  justify-content: space-between; 
  height: 72px;
  padding: 0 1rem;
  max-width: 1200px;
  margin: auto;
  font-family: 'Inter', sans-serif;
}
.nav-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.7rem;
}

.menu-btn {
  background: none;
  border: none;
  font-size: 15px;
  font-weight: 500;
  color: #0f172a;
  cursor: pointer;
  display: flex;
  gap: 4px;
  align-items: center;
  transition: color 0.3s ease;
}

.menu-btn:hover {
  color: var(--primary);
}

/* AI Resume Analyzer lighter */
.nav-menu a.menu-btn {
  font-weight: 400;
}

/* Force AI Resume Analyzer to 2 lines - ULTIMATE FIX */
.nav-menu a.menu-btn {
  line-height: 0.8 !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  font-size: 14px !important;
  padding: 8px 12px !important;
  white-space: nowrap !important;
}

.nav-menu a.menu-btn span {
  display: block !important;
  line-height: 0.8 !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
}

/* Keep other menu buttons on single line */
.nav-menu button.menu-btn {
  line-height: normal !important;
  display: inline-flex !important;
  flex-direction: row !important;
  white-space: nowrap !important;
}

/* SUBTLE CHEVRON */
.chevron {
  display: inline-block;
  width: 5.5px;
  height: 5.5px;
  border-right: 1.4px solid currentColor;
  border-bottom: 1.4px solid currentColor;
  transform: rotate(45deg);
  margin-bottom: 2px;
  opacity: 0.9;
}

/* CTA SECTION */
.nav-cta {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  height: 100%;
}

/* Fix alignment for Sign In with AI Resume Analyzer */
.nav-cta .signin-link {
  display: flex;
  align-items: center;
  height: 100%;
  line-height: 1;
}

/* SIGN IN LINK */
.signin-link {
  font-size: 13.5px;
  font-weight: 400;
  color: #151a22;
  text-decoration: none;
  padding: 0.15rem 0.4rem; /* minimal default padding so it looks like plain text */
  border-radius: 999px;
  transition: all .25s ease-in-out;
}

.signin-link:hover {
  background: var(--accent);
  color: #fff;
  padding: 0.35rem 0.8rem; /* tighter pill size exactly like your screenshot */
}

/* PRIMARY BUTTON */
.primary-btn {
  background: var(--primary);
  color: #fff;
  border-radius: 999px;
  padding: 0.55rem 1.4rem;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
}

.primary-btn:hover {
  background: var(--primary-deep);
}

/* Fix all footer SVG icon sizing and centering */
footer svg, footer .icon, footer .footer-grid svg {
  display: inline-block;
  vertical-align: middle;
  height: 24px !important;
  width: 24px !important;
  min-width: 24px;
  min-height: 24px;
  max-width: 26px;
  max-height: 26px;
  margin-right: 8px;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  overflow: visible !important; /* Prevent cropping */
  color: #647193;
  fill: none;
  stroke-width: 2;
  stroke: #647193;
  box-sizing: content-box;
}

/* Special for social row */
footer .social-row a svg {
  height: 26px !important;
  width: 26px !important;
  margin: 0 7px 0 0 !important;
  color: #647193;
  stroke: #647193;
}

footer .social-row a:last-child svg { margin-right: 0 !important; }

footer .flex, footer .flex.items-center {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  min-height: 26px;
}

footer .footer-grid .flex.items-center {
  gap: 10px;
}

/* Remove extra margin that might push icons out of view */
footer svg:not(:root) {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
}

/* On mobile, prevent shrinking/cropping */
@media (max-width: 600px) {
  footer svg, footer .icon {
    min-width: 22px !important;
    min-height: 22px !important;
    height: 22px !important;
    width: 22px !important;
  }
}

/* Force-remove any border/outline/shadow on the hero search button (all states) */
input[placeholder*="Search jobs"] ~ button.text-xs.absolute.right-2,
input[placeholder*="Search jobs"] ~ button.text-xs.absolute.right-2:hover,
input[placeholder*="Search jobs"] ~ button.text-xs.absolute.right-2:focus,
input[placeholder*="Search jobs"] ~ button.text-xs.absolute.right-2:active,
input[placeholder*="Search jobs"] ~ button.text-xs.absolute.right-2:focus-visible,
.search-bar-wrapper button,
.search-bar-wrapper button:hover,
.search-bar-wrapper button:focus,
.search-bar-wrapper button:active,
.search-bar-wrapper button:focus-visible,
.custom-search-bar button,
.custom-search-bar button:hover,
.custom-search-bar button:focus,
.custom-search-bar button:active,
.custom-search-bar button:focus-visible {
  border: 0 !important;
  border-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-clip: padding-box !important;
}

/* EXACT hero search button as in markup: inline-flex ... absolute right-2 top-1/2 */
.max-w-2xl.mx-auto.mb-12.relative > button.inline-flex.items-center.justify-center.gap-2.whitespace-nowrap.absolute.right-2.top-1\/2,
.max-w-2xl.mx-auto.mb-12.relative > button.inline-flex.items-center.justify-center.gap-2.whitespace-nowrap.absolute.right-2.top-1\/2:hover,
.max-w-2xl.mx-auto.mb-12.relative > button.inline-flex.items-center.justify-center.gap-2.whitespace-nowrap.absolute.right-2.top-1\/2:focus,
.max-w-2xl.mx-auto.mb-12.relative > button.inline-flex.items-center.justify-center.gap-2.whitespace-nowrap.absolute.right-2.top-1\/2:active,
.max-w-2xl.mx-auto.mb-12.relative > button.inline-flex.items-center.justify-center.gap-2.whitespace-nowrap.absolute.right-2.top-1\/2:focus-visible{
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background-clip: padding-box !important;
}
.max-w-2xl.mx-auto.mb-12.relative > button.inline-flex.items-center.justify-center.gap-2.whitespace-nowrap.absolute.right-2.top-1\/2::after{ content: none !important; }
.max-w-2xl.mx-auto.mb-12.relative{
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 12px 34px rgba(16,24,40,.12);
  padding: 8px 8px;
}
/* Remove inner input shadow/border so only wrapper casts the shadow */
.max-w-2xl.mx-auto.mb-12.relative input[placeholder*="Search jobs"]{
  border: 0 !important;
  box-shadow: none !important;
  height: 56px !important;
  border-radius: 999px !important;
}
/* Make the search bar super curved/pill style */
.search-bar-wrapper, .custom-search-bar {
  border-radius: 2.5rem !important;
  overflow: visible;
  background: #fff;
  box-shadow: 0 8px 40px rgba(16,24,40,0.11);
  display: flex;
  align-items: center;
  padding: 0;
}

.search-bar-wrapper input[type="text"],
.custom-search-bar input[type="text"] {
  border: none;
  outline: none;
  font-size: 1.45rem;
  background: transparent;
  padding-left: 1.7em;
  height: 68px;
  border-radius: 2.5rem 0 0 2.5rem !important;
  flex: 1 1 auto;
  box-shadow: none;
}

.search-bar-wrapper button,
.custom-search-bar button,
button.text-xs.absolute.right-2 {
  background: var(--primary);
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  border: 0 !important;
  border-radius: 2.5rem !important;
  height: 52px;
  min-width: 110px;
  margin: 0 12px 0 0;
  box-shadow: 0 8px 20px rgba(16,24,40,0.06); /* subtle neutral shadow instead of dark stroke */
  transition: background 0.13s, box-shadow .12s ease;
  outline: none;
  -webkit-appearance: none; appearance: none;
}
.search-bar-wrapper button:hover,
.custom-search-bar button:hover,
button.text-xs.absolute.right-2:hover {
  background: var(--primary-deep);
}

/* Remove any stray black outline/stroke that may appear around the search button */
.search-bar-wrapper button::after,
.custom-search-bar button::after,
button.text-xs.absolute.right-2::after{ content: none !important; }

.search-bar-wrapper svg,
.custom-search-bar svg {
  height: 28px;
  width: 28px;
  color: #647193;
  margin-right: 16px;
}

/* Optional: spacing/padding tweak so circle isn't clipped */
.search-bar-wrapper, .custom-search-bar {
  padding-left: 8px;
  padding-right: 6px;
}

header, header.w-full, header.site-header, header.sticky,
header.w-full:after, header.w-full:before,
header:after, header:before {
  border-bottom: none !important;
  background-image: none !important;
  box-shadow: none !important;
}
button.text-xs.absolute.right-2 {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
}
input[placeholder*="Search jobs"], .search-bar-wrapper, .custom-search-bar {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
}

/* Also override any focus or active style */
button.text-xs.absolute.right-2:focus,
button.text-xs.absolute.right-2:active {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

button.text-xs.absolute.right-2,
button.text-xs.absolute.right-2:focus,
button.text-xs.absolute.right-2:active,
button.text-xs.absolute.right-2:focus-visible,
button.text-xs.absolute.right-2:focus-within {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: none !important;
}
input[type="submit"].text-xs.absolute.right-2,
input[type="submit"].text-xs.absolute.right-2:focus,
input[type="submit"].text-xs.absolute.right-2:active,
input[type="submit"].text-xs.absolute.right-2:focus-visible,
input[type="submit"].text-xs.absolute.right-2:focus-within {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: none !important;
}

.logo-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px; /* Use same value as your grid gap for nice rhythm */
  margin-top: 34px;
}

.logo-box {
  background: #e6e9ee;
  height: 56px;
  width: 160px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.flex.company-logo-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px; /* change to 24px or 40px as you want */
}

.company-logo-bar > div {
  width: 96px;
  height: 32px;
  background: #e6e9ee;
  border-radius: 12px;
}

.search-btn {
  background: #6C4CF5;
  color: #fff;
  border: none;
  border-radius: 999px;
  font-size: 2rem;
  padding: 0 48px;
  height: 86px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  outline: none;
  box-shadow: none;
  transition: background 0.17s, color 0.13s;
}

.search-btn:hover,
.search-btn:focus {
  background: #5436d1;
  color: #fff;
  border: none;
  outline: none;
  box-shadow: none;
}

.py-20.bg-cloud {
  background: #F6F8FC !important;
  padding: 84px 0 !important;
}
.py-20.bg-cloud .inline-flex.rounded-full {
  height: 26px;
  padding: 0 10px;
  background: color-mix(in srgb, #6C4CF5 12%, white);
  color: #6C4CF5;
  font-weight: 600;
  border: 0;
}
.py-20.bg-cloud h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 700;
  color: #0f172a;
  margin: 12px 0 10px 0;
}
.py-20.bg-cloud p.text-xl {
  color: #65748B;
  margin: 0 0 24px 0;
}
.py-20.bg-cloud .flex.items-start .w-8.h-8 {
  width: 32px;
  height: 32px;
  border-radius: 999px;
}
.py-20.bg-cloud .flex.items-start .w-8.h-8 svg {
  width: 16px;
  height: 16px;
}
.py-20.bg-cloud .flex.items-start h3 {
  margin: 2px 0 4px 0;
  font-weight: 600;
  color: #0f172a;
}
.py-20.bg-cloud .flex.items-start p {
  color: #65748B;
}

/* Card Shortlist Layout */
.py-20.bg-cloud .bg-white.rounded-xl.p-8.card-shadow {
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(16,24,40,.06);
  border: 1px solid #e6e8ef;
  background: #fff;
}

.bg-cloud.rounded-lg.p-4.border .font-medium {
  font-weight: 600;
  color: #0f172a;
}
.bg-cloud.rounded-lg.p-4.border .inline-flex.rounded-full {
  height: 28px;
  padding: 0 10px;
  border: 0;
  font-weight: 700;
  color: #fff;
}
/* Score pill color for each candidate card - match first screenshot exactly */
.bg-cloud.rounded-lg.p-4.border:nth-child(1) .inline-flex.rounded-full { 
  background: #6C4CF5 !important; 
  color: #fff !important;
}
.bg-cloud.rounded-lg.p-4.border:nth-child(2) .inline-flex.rounded-full { 
  background: #E49A57 !important; 
  color: #fff !important;
}
.bg-cloud.rounded-lg.p-4.border:nth-child(3) .inline-flex.rounded-full { 
  background: #8A72FF !important; 
  color: #fff !important;
}

.bg-cloud.rounded-lg.p-4.border p.text-sm {
  color: #667085;
  margin: 6px 0 10px 0;
}
/* Skill pill styles */
.bg-cloud.rounded-lg.p-4.border .flex.flex-wrap.gap-2 div {
  background: #EEF1FF;
  color: #3b3f66;
  border: 0;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 600;
}

/* Buttons - match first screenshot exactly */
.bg-cloud.rounded-lg.p-4.border .flex.gap-2 button {
  height: 42px;
  font-size: 12px;
  border-radius: 12px;
}
/* Candidate card buttons */
.bg-cloud.rounded-lg.p-4.border .flex.gap-2 button:first-child {
  background: #fff;
  color: #0f172a;
  border: 1px solid #E6E9F6;
}
.bg-cloud.rounded-lg.p-4.border .flex.gap-2 button:first-child:hover {
  background: #E49A57 !important;
  color: #fff !important;
  border-color: #E49A57 !important;
}
.bg-cloud.rounded-lg.p-4.border .flex.gap-2 button:last-child {
  background: #6C4CF5 !important;
  color: #fff !important;
  border: 0 !important;
  font-weight: 700 !important;
}
.bg-cloud.rounded-lg.p-4.border .flex.gap-2 button:last-child:hover {
  background: #5a3ef0 !important;
}

/* Utility matches for general styles & colors */
.card-shadow, .card-soft { box-shadow: 0 8px 24px rgba(16,24,40,.06) !important; }
.bg-cloud { background: #F6F8FC !important; }

/* Candidate card CTA: "Find Jobs" button states */
a[href="/candidates/jobs"] button{
  background: transparent !important;
  color: inherit !important;
  border: inherit !important;
  border-radius: 50px !important;
}
a[href="/candidates/jobs"] button:hover{
  background: #6C4CF5 !important;
  color: #fff !important;
  border-color: #6C4CF5 !important;
  box-shadow: 0 8px 24px rgba(108,76,245,.28) !important;
}

/* Hero Find Jobs button - outlined style */
.hero-cta.border-2.bg-transparent{
  background: #fff !important;
  color: #6C4CF5 !important;
  border: 2px solid #6C4CF5 !important;
}
.hero-cta.border-2.bg-transparent:hover{
  background: #6C4CF5 !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(108,76,245,.28) !important;
}

/* More specific override for hero Find Jobs button */
button.hero-cta.border-2.bg-transparent{
  background: #fff !important;
  color: #6C4CF5 !important;
  border: 2px solid #6C4CF5 !important;
}
button.hero-cta.border-2.bg-transparent:hover{
  background: #6C4CF5 !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(108,76,245,.28) !important;
}

/* How it works button - outlined by default, filled on hover */
a[href="/employers/how-it-works"] button{
  background: transparent !important;
  color: #6C4CF5 !important;
  border: 2px solid #6C4CF5 !important;
  border-radius: 50px !important;
}
a[href="/employers/how-it-works"] button:hover{
  background: #6C4CF5 !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(108,76,245,.28) !important;
}

/* Try the Analyzer button - pill shape like Find Jobs */
a[href="/ai-resume-analyzer"] button{
  border-radius: 50px !important;
}

/* Force white background for hero Find Jobs button - highest specificity */
button.bg-transparent.hero-cta.border-2.border-primary.text-primary {
  background: #fff !important;
  color: #6C4CF5 !important;
  border: 2px solid #6C4CF5 !important;
  border-radius: 50px !important;
}
button.bg-transparent.hero-cta.border-2.border-primary.text-primary:hover {
  background: #6C4CF5 !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(108,76,245,.28) !important;
}

/* Alternative approach - target by attribute */
button[class*="bg-transparent"][class*="hero-cta"] {
  background: #fff !important;
  color: #6C4CF5 !important;
  border: 2px solid #6C4CF5 !important;
  border-radius: 50px !important;
}
button[class*="bg-transparent"][class*="hero-cta"]:hover {
  background: #6C4CF5 !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(108,76,245,.28) !important;
}

/* Employer card CTA: "Post a Job" button states */
a[href="/employers/platform"] button{
  background: #6C4CF5 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 50px !important;
}
a[href="/employers/platform"] button:hover{
  background: #5a3ef0 !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(108,76,245,.28) !important;
}
.bg-white { background: #fff !important; }
.bg-primary, .bg-primary-deep { background: #6C4CF5 !important; }
.bg-accent { background: #E49A57 !important; }

.text-slate { color: #65748B !important; }
/* removed duplicate utilities: defined earlier in file */
 /* Main section background */
.py-20.bg-cloud {
  background: #F6F8FC !important;
  padding: 80px 0 !important;
}

/* Signature Feature badge */
.py-20.bg-cloud .inline-flex.rounded-full {
  height: 24px;
  padding: 0 10px;
  font-size: 13px;
}

/* Section header */
.py-20.bg-cloud h2 {
  font-size: clamp(26px, 2.6vw, 35px);
  font-weight: 700;
  margin: 10px 0 10px 0;
}

/* Subtitle text */
.py-20.bg-cloud p.text-xl {
  font-size: 15px;
  margin-bottom: 20px;
}

/* Features (icon + title + desc) */
.py-20.bg-cloud .flex.items-start .w-8.h-8 {
  width: 30px;
  height: 30px;
}
.py-20.bg-cloud .flex.items-start .w-8.h-8 svg {
  width: 14px;
  height: 14px;
}
.py-20.bg-cloud .flex.items-start h3 {
  font-size: 16px;
}
.py-20.bg-cloud .flex.items-start p {
  font-size: 13px;
}

/* Card container */
.py-20.bg-cloud .bg-white.rounded-xl.p-8.card-shadow {
  border-radius: 18px;
  padding: 24px !important;
}

/* Shortlist Cards */
.bg-cloud.rounded-lg.p-4.border {
  padding: 16px !important;
  border-radius: 12px !important;
}

.bg-cloud.rounded-lg.p-4.border .font-medium {
  font-size: 15px;
}
.bg-cloud.rounded-lg.p-4.border .inline-flex.rounded-full {
  height: 24px;
  padding: 0 8px;
  font-size: 13px;
}
.bg-cloud.rounded-lg.p-4.border p.text-sm {
  font-size: 13px;
  margin: 4px 0 10px 0;
}

/* Skill chips */
.bg-cloud.rounded-lg.p-4.border .flex.flex-wrap.gap-2 div {
  padding: 5px 11px;
  font-size: 12px;
}

/* Button styling (estimated ss size) */
.bg-cloud.rounded-lg.p-4.border .flex.gap-2 button {
  height: 34px;
  min-width: 75px;
  font-size: 13px;
  border-radius: 10px;
  padding: 0 16px;
}

.text-foreground { color: #0f172a !important; }
.text-primary { color: #6C4CF5 !important; }
.text-accent { color: #E49A57 !important; }
.text-secondary-foreground { color: #3b3f66 !important; }

.border { border: 1px solid #E6E9F6 !important; }
 
/* Try the Analyzer & How it Works: side-by-side */
.try-analyzer-row {
  display: flex;
  gap: 16px;
}
.try-analyzer-row button {
  min-width: 148px;
  height: 44px;
  font-size: 15px;
  border-radius: 16px;
  font-weight: 600;
  margin: 0;
}


/* Card content tweaks */
.ai-candidate-card .candidate-name {
  font-size: 22px;
  font-weight: 700;
  color: #222a3a;
  margin-bottom: 2px;
}
.ai-candidate-card .candidate-role {
  font-size: 16px;
  color: #5e6878;
  margin-bottom: 8px;
}
.ai-candidate-card .skills-row {
  margin-bottom: 14px;
}
.ai-candidate-card .skill-chip {
  background: #EEF1FF;
  color: #3b3f66;
  border-radius: 999px;
  font-size: 15px;
  padding: 4px 14px;
  font-weight: 600;
  margin-right: 12px;
  margin-bottom: 3px;
  display: inline-block;
}

.ai-btn-invite {
  background: #6C4CF5;
  color: #fff;
  border: none;
}
.ai-btn-invite:hover, .ai-btn-invite:focus {
  background: #5a3ef0;
}

@media (max-width: 600px) {
  .ai-candidate-card {
    padding: 12px 6px;
  }
  .ai-match-pill {
    top: 16px;
    right: 16px;
    font-size: 13px;
    padding: 2px 18px;
  }
  .ai-btn-row {
    gap: 10px;
    flex-direction: column;
  }
  .ai-btn-shortlist, .ai-btn-invite {
    height: 42px;
    font-size: 16px;
    border-radius: 28px;
  }
}

.ai-candidate-card {
  background: #F6F8FC;
  border-radius: 24px;
  padding: 18px 20px;
  box-shadow: 0 2px 10px rgba(36,40,68,.05);
  border: none;
  position: relative;
}

.try-analyzer-row button {
  min-width: 148px;
  height: 44px;
  font-size: 15px;
  border-radius: 16px;
  font-weight: 600;
  margin: 0;
  border: none;
  background: #F6F8FC;
  color: #6C4CF5;
  transition: background 0.15s, color 0.15s;
  cursor: pointer;
}

.try-analyzer-row .btn-howitworks:hover, 
.try-analyzer-row .btn-howitworks:focus {
  background: #6C4CF5;
  color: #fff;
}

/* Candidate card tweaks for margin/pill alignment */
.ai-match-pill {
  position: absolute;
  top: 24px;
  right: 32px;
  background: #6C4CF5;
  color: #fff;
  font-size: 14px;
  border-radius: 22px;
  padding: 2px 24px;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: 0 1px 6px 0 rgba(108, 76, 245, 0.08);
  z-index: 2;
  display: inline-flex;
  align-items: center;
}
/* Buttons - curvy, full width, beside each other */
.ai-btn-row {
  display: flex;
  gap: 20px;
  margin-top: 18px;
}
.ai-btn-shortlist, .ai-btn-invite {
  flex: 1;
  height: 52px;
  border-radius: 34px;
  border: none;
  font-size: 18px;
  font-weight: 600;
  box-shadow: 0 2px 10px rgba(112,86,255,0.04);
  transition: background 0.2s, color 0.2s;
  cursor: pointer;
}
.ai-btn-shortlist {
  background: #E49A57;
  color: #fff;
}
.ai-btn-shortlist:hover, .ai-btn-shortlist:focus {
  background: #FFC445;
  color: #fff;
}
.ai-btn-invite {
  background: #6C4CF5;
  color: #fff;
}
.ai-btn-invite:hover, .ai-btn-invite:focus {
  background: #5a3ef0;
}

/* Responsive if needed */
@media (max-width: 600px) {
  .try-analyzer-row {
    flex-direction: column;
    gap: 8px;
  }
  .ai-candidate-card {
    padding: 12px 6px;
  }
  .ai-match-pill {
    top: 12px;
    right: 12px;
    font-size: 13px;
    padding: 2px 14px;
  }
  .ai-btn-row {
    gap: 10px;
    flex-direction: column;
  }
  .ai-btn-shortlist, .ai-btn-invite {
    height: 42px;
    font-size: 16px;
    border-radius: 28px;
  }
}

.ai-match-pill {
  position: absolute;
  top: 24px;
  right: 32px;
  background: #6C4CF5;
  color: #fff;
  font-size: 14px;
  border-radius: 22px;
  padding: 2px 24px;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: 0 1px 6px 0 rgba(108, 76, 245, 0.08);
  z-index: 2;
  display: inline-flex;
  align-items: center;
}
.ai-candidate-card:nth-child(2) .ai-match-pill { background: #E49A57; }
.ai-candidate-card:nth-child(3) .ai-match-pill { background: #8A72FF; }

.ai-btn-row {
  display: flex;
  gap: 20px;
  margin-top: 18px;
}
.ai-btn-shortlist, .ai-btn-invite {
  flex: 1;
  height: 52px;
  border-radius: 34px;
  border: none;
  font-size: 18px;
  font-weight: 600;
  box-shadow: 0 2px 10px rgba(112,86,255,0.04);
  transition: background 0.2s, color 0.2s;
  cursor: pointer;
}
.ai-btn-shortlist {
  background: #E49A57;
  color: #fff;
}
.ai-btn-shortlist:hover, .ai-btn-shortlist:focus {
  background: #FFC445;
  color: #fff;
}
.ai-btn-invite {
  background: #6C4CF5;
  color: #fff;
}
.ai-btn-invite:hover, .ai-btn-invite:focus {
  background: #5a3ef0;
}

.try-analyzer-row {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 0;
}
.try-analyzer-row button {
  min-width: 148px;
  height: 44px;
  font-size: 15px;
  border-radius: 16px;
  font-weight: 600;
  margin: 0;
  border: none;
  background: #F6F8FC;
  color: #6C4CF5;
  transition: background 0.15s, color 0.15s;
  cursor: pointer;
}
.try-analyzer-row .btn-analyze {
  background: #6C4CF5;
  color: #fff;
}

/* ===== Final hero Find Jobs appearance (highest priority) ===== */
button.hero-cta.border-2.border-primary,
button.hero-cta.border-2.border-primary:focus,
button.hero-cta.border-2.border-primary:active {
  background: transparent !important;
  color: var(--primary) !important;
  border: 2px solid var(--primary) !important;
  border-radius: 999px !important;
  padding: 12px 38px !important; /* keep pill proportions */
  min-width: 180px !important;
  height: 56px !important; /* matches h-14 */
  line-height: 1 !important;
  box-shadow: 0 6px 20px rgba(108,76,245,0.06) !important; /* subtle purple halo */
  transition: transform .12s ease, box-shadow .18s ease, background .12s ease, color .12s ease !important;
}
button.hero-cta.border-2.border-primary:hover {
  background: rgba(108,76,245,0.04) !important; /* faint fill on hover */
  color: #4a2fd6 !important; /* slightly deeper purple on hover */
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 36px rgba(108,76,245,0.10) !important;
}

/* Ensure icon spacing remains correct inside the outlined pill */
button.hero-cta.border-2.border-primary svg { margin-left: .5rem; }

.try-analyzer-row .btn-howitworks {
  border: 1.5px solid #6C4CF5;
  background: #F6F8FC;
  color: #6C4CF5;
}
.try-analyzer-row .btn-howitworks:hover, 
.try-analyzer-row .btn-howitworks:focus {
  background: #6C4CF5;
  color: #fff;
}

/* Detach full width, make pill effect for Signature Feature badge */
.bg-primary10.text-primary {
  display: inline-block;
  background: #ede9fe !important;
  color: #6c4cf5 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  padding: 2px 20px !important;
  border-radius: 24px !important;
  box-shadow: none !important;
  border: none !important;
  margin-top: 10px !important;
  margin-bottom: 22px !important;
}

/* HERO SECTION BUTTONS - EXACT MATCH TO DESIGN */
.flex.flex-col.sm\:flex-row .btn-gradient {
  background: linear-gradient(135deg, #6C4CF5 0%, #A55FE0 26%, #E49A57 66%, #E49A57 100%) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important; /* Perfect pill shape */
  padding: 20px 40px !important; /* Increased padding for thickness */
  font-size: 18px !important; /* Larger font */
  font-weight: 700 !important; /* Bolder font weight */
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important; /* More space between text and icon */
  transition: all 0.3s ease !important;
  box-shadow: 0 6px 20px rgba(108, 76, 245, 0.3) !important; /* Stronger shadow */
  height: 56px !important; 
  min-width: 200px !important; 
}

.hero-cta.btn-gradient:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(108, 76, 245, 0.3) !important;
}
.find-jobs-btn-custom {
  background: #fff;
  color: #6C4CF5; 
  border: 2px solid #6C4CF5;
  border-radius: 999px !important;
  padding: 14px 32px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  height: 56px !important;
  min-width: 180px !important;
}

.find-jobs-btn-custom svg {
  color: #6C4CF5;
  stroke: #6C4CF5; 
  fill: none; 
  width: 16px ;
  height: 16px ;
  transition: color 0.3s ease, stroke 0.3s ease, fill 0.3s ease;
}
button.find-jobs-btn-custom:hover {
  background: #6C4CF5 !important; /* ADDED !important */
  color: white !important;
  border-color: #6C4CF5 !important; /* ADDED !important */
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(108, 76, 245, 0.3) !important;
  -webkit-text-fill-color: white !important;
  opacity: 1 !important;
  z-index: 1;
  position: relative;
}
button.find-jobs-btn-custom:hover svg {
  color: white !important;
  stroke: white !important;
  fill: white !important;
  opacity: 1 !important;
}
button.find-jobs-btn-custom:hover span {
    color: white !important;
    -webkit-text-fill-color: white !important;
    opacity: 1 !important;
}


/* Card button specific styling - Perfect pill shape */
a[href="/candidates/jobs"] .find-jobs-btn-custom {
  margin-top: 16px !important;
  padding: 12px 20px !important;
  font-size: 14px !important;
  height: 40px !important; /* Smaller height for exact match */
  border-radius: 999px !important; /* Perfect pill shape */
  background: #fff !important;
  color: #6C4CF5 !important;
  border: 2px solid #6C4CF5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  min-width: 120px !important; /* Minimum width for proper pill shape */
}

/* Ensure the arrow icon is properly styled in card buttons */
a[href="/candidates/jobs"] .find-jobs-btn-custom svg {
  color: #6C4CF5 !important;
  width: 14px !important;
  height: 14px !important;
  stroke-width: 2 !important;
}

/* Hover effect for card buttons */
a[href="/candidates/jobs"] .find-jobs-btn-custom:hover {
  background: #6C4CF5 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(108, 76, 245, 0.3) !important;
}

a[href="/candidates/jobs"] .find-jobs-btn-custom:hover svg {
  color: #fff !important;
}

/* Post a Job Button in Cards - THICK VERSION */
a[href="/employers/platform"] button {
  background: #6C4CF5 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important; /* Perfect pill shape */
  padding: 18px 36px !important; /* Increased padding for thickness */
  font-size: 16px !important; /* Larger font */
  font-weight: 700 !important; /* Bolder font weight */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important; /* More space between text and icon */
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(108, 76, 245, 0.3) !important; /* Stronger shadow */
  height: 52px !important; /* Increased height for thickness */
  width: 100% !important;
}

a[href="/employers/platform"] button:hover {
  background: #5a3ef0 !important; /* Darker purple on hover */
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(108, 76, 245, 0.4) !important;
}

a[href="/employers/platform"] button svg {
  color: #fff !important;
  width: 18px !important;
  height: 18px !important;
}

/* Mobile responsive for both buttons */
@media (max-width: 768px) {
  .hero-cta.btn-gradient,
  .find-jobs-btn-custom {
    width: 100% !important;
    justify-content: center !important;
    margin-bottom: 12px !important;
  }
}

@media (max-width: 480px) {
  .hero-cta.btn-gradient,
  .find-jobs-btn-custom {
    padding: 14px 24px !important;
    font-size: 14px !important;
  }
}

/* ===== COMPREHENSIVE RESPONSIVE DESIGN SYSTEM ===== */
* {
  box-sizing: border-box !important;
}

body {
  overflow-x: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

.container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* Image responsiveness */
img {
  max-width: 100% !important;
  height: auto !important;
}

/* Text responsiveness */
h1, h2, h3, h4, h5, h6 {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

/* Button responsiveness */
button, .btn {
  min-height: 44px !important; /* Touch-friendly minimum */
  touch-action: manipulation !important;
}

/* ===== MOBILE FIRST RESPONSIVE BREAKPOINTS ===== */
@media (max-width: 480px) {
  .container, .max-w-2xl, .max-w-3xl, .max-w-4xl, .max-w-5xl {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  h1 { font-size: 24px !important; line-height: 1.2 !important; }
  h2 { font-size: 20px !important; line-height: 1.3 !important; }
  
  .hero-cta, .find-jobs-btn-custom {
    width: 100% !important;
  min-width: unset !important;
    margin-bottom: 8px !important;
  }
  /* let Tailwind sm: breakpoint control direction; avoid forcing column */
  /* .flex.flex-col.sm\:flex-row { flex-direction: column !important; gap: 12px !important; } */
  .bg-cloud.rounded-lg.p-4.border { padding: 12px !important; margin-bottom: 12px !important; }
  .flex.gap-2 { flex-direction: column !important; gap: 8px !important; }
  .flex.gap-2 button { width: 100% !important; height: 44px !important; }
  /* rely on grid utilities; no hard block fallback */
  /* .grid.lg\:grid-cols-2 { display: block !important; }
  .grid.lg\:grid-cols-2 > * { margin-bottom: 16px !important; } */
}

/* Small Devices (landscape phones, 481px and up) */
@media (min-width: 481px) and (max-width: 768px) {
  .container { padding-left: 16px !important; padding-right: 16px !important; }
  h1 { font-size: 28px !important; }
  h2 { font-size: 22px !important; }
  /* keep natural row at >=lg via utilities only */
  /* .flex.flex-col.sm\:flex-row { flex-direction: row !important; gap: 16px !important; } */
  .hero-cta, .find-jobs-btn-custom { flex: 1 !important; min-width: 140px !important; }
  /* .grid.lg\:grid-cols-2 { display: block !important; } */
}

/* Medium Devices (tablets, 769px and up) */
@media (min-width: 769px) and (max-width: 1024px) {
  .container { padding-left: 24px !important; padding-right: 24px !important; }
  h1 { font-size: 32px !important; }
  h2 { font-size: 24px !important; }
  .lg\:grid-cols-2 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
}

/* Large Devices (desktops, 1025px and up) */
@media (min-width: 1025px) {
  .container { max-width: 1200px !important; margin: 0 auto !important; padding-left: 32px !important; padding-right: 32px !important; }
  h1 { font-size: 36px !important; }
  h2 { font-size: 28px !important; }
  .lg\:grid-cols-2 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
}

/* Extra Large Devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .container { max-width: 1400px !important; }
  h1 { font-size: 40px !important; }
  h2 { font-size: 32px !important; }
}

/* ===== COMPONENT-SPECIFIC RESPONSIVE RULES ===== */
@media (max-width: 768px) {
  .hero-section { padding: 40px 0 !important; }
  .hero-section h1 { font-size: 28px !important; margin-bottom: 16px !important; }
  .hero-section p { font-size: 16px !important; margin-bottom: 24px !important; }
  .search-bar-wrapper { margin-bottom: 24px !important; }
  .bg-cloud.rounded-lg.p-4.border { margin-bottom: 16px !important; padding: 16px !important; }
  .flex.gap-2 { flex-direction: column !important; gap: 12px !important; }
  .flex.gap-2 button { width: 100% !important; height: 48px !important; font-size: 14px !important; }
}

/* Navigation Responsive */
/* Ensure desktop CTA shows, mobile hides */
@media (max-width: 1024px) { .nav-cta { display: none !important; } }
@media (min-width: 1025px) { .nav-cta { display: flex !important; } }

/* Header Logo Sizing */
.nav-logo img { height: 40px !important; width: auto !important; max-height: 40px !important; }

/* Footer Logo Sizing */
footer img { height: 32px !important; width: auto !important; max-height: 32px !important; }

/* Company Logo Containers - Darker and More Rounded */
.bg-slate.rounded-md {
  background-color: #64748b !important; /* Darker grey */
  border-radius: 12px !important; /* More rounded */
  transition: all 0.3s ease !important;
}
.bg-slate.rounded-md:hover {
  background-color: #475569 !important; /* Even darker on hover */
  transform: translateY(-2px) !important;
}

/* Search Bar Enhanced Shadow Effect */
input[placeholder*="Search jobs"] {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important; /* Subtle elevated shadow */
  border: 1px solid rgba(0, 0, 0, 0.05) !important; /* Very light border */
  transition: all 0.3s ease !important;
}
input[placeholder*="Search jobs"]:focus {
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.12) !important; /* Enhanced shadow on focus */
  border-color: #6C4CF5 !important;
}

/* Search Bar Container */
.search-bar-wrapper, .custom-search-bar {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important; /* Container shadow */
  border-radius: 50px !important; /* Perfect pill shape */
  overflow: visible;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

/* Mobile Menu Styles */
.mobile-menu-btn {
  display: none;
  flex-direction: column;
  justify-content: space-around;
  width: 30px;
  height: 30px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 10;
}
@media (max-width: 1024px) {
  .mobile-menu-btn { display: flex !important; }
  /* Hidden by default on mobile */
  .nav-menu { display: none !important; }
  .nav-cta { display: none !important; }
}

.hamburger-line {
  width: 25px;
  height: 3px;
  background: #333;
  transition: all 0.3s linear;
  position: relative;
  transform-origin: 1px;
}
.mobile-menu-btn[aria-expanded="true"] .hamburger-line:first-child { transform: rotate(45deg); }
.mobile-menu-btn[aria-expanded="true"] .hamburger-line:nth-child(2) { opacity: 0; }
.mobile-menu-btn[aria-expanded="true"] .hamburger-line:nth-child(3) { transform: rotate(-45deg); }

/* Mobile hamburger ↔ cross visual treatment */
@media (max-width: 1024px) {
  header .mobile-menu-btn {
    display: flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 10px;
    border: 2px solid transparent; background: transparent;
    cursor: pointer; transition: box-shadow .2s ease, border-color .2s ease, background .2s ease;
  }
  header .mobile-menu-btn:hover { box-shadow: 0 4px 12px rgba(16,24,40,.12); }
  header .mobile-menu-btn[aria-expanded="true"] {
    background: #fff; border-color: #6C4CF5; box-shadow: 0 6px 18px rgba(108,76,245,.18);
  }
}

/* Mobile Menu Overlay */
@media (max-width: 1024px) {
  .nav-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    display: none; /* hidden until hover or JS toggle */
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    z-index: 40;
    padding: 72px 16px 24px; /* leave space for header */
    overflow-y: auto;
    border-top: 1px solid #edf0f6;
  }
  .nav-menu.mobile-open { display: flex !important; transform: translateX(0); }
  /* Also open on hover over header/hamburger (as requested on mobile) */
  @media (hover:hover) {
    header .mobile-menu-btn:hover + .nav-menu,
    header:hover .nav-menu { display: flex !important; transform: translateX(0); }
  }
  .nav-menu .menu-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
    text-decoration: none;
    padding: 14px 8px;
    border-radius: 8px;
    transition: background .2s ease, color .2s ease;
    background: transparent;
    border: 0;
  }
  .nav-menu .menu-btn + .menu-btn { border-top: 1px solid #edf0f6; }
  .nav-menu .menu-btn:hover { background: #f7f8fb; color: #6C4CF5; }
  .nav-menu .chevron {
    width: 10px; height: 10px; flex: 0 0 auto;
    border-right: 2px solid #94a3b8; border-bottom: 2px solid #94a3b8;
    transform: rotate(-45deg);
    transition: transform .2s ease, border-color .2s ease;
  }
  .nav-menu .menu-btn:hover .chevron { border-color: #6C4CF5; }
  .nav-menu a.signin-link { display: inline-block; margin: 10px auto 0; color: #475569; font-size: 14px; text-decoration: none; }

  /* Put CTA button inside the opened panel with proper alignment */
  body.nav-open header .nav-cta { 
    display: flex !important; 
    position: static !important; 
    transform: none !important; 
    gap: 0 !important; 
    padding: 0 16px !important; 
    margin: 8px 0 4px 0 !important; 
  }
  body.nav-open header .nav-cta a { 
    width: 100% !important; 
    height: 48px !important; 
    border-radius: 999px !important; 
    font-weight: 600 !important; 
  }

  /* Keep header clean on mobile when menu is closed */
  header .nav-cta { display: none !important; }
  header .mobile-menu-btn { position: static; }
  .nav-cta {
    position: fixed;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 1rem;
    z-index: 50;
  }
  .nav-cta .signin-link,
  .nav-cta .primary-btn {
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
  }
  .nav-cta .signin-link { color: #333; border: 2px solid #333; }
  .nav-cta .primary-btn { background: #6C4CF5; color: white; border: 2px solid #6C4CF5; }
}

/* Enhanced Mobile Responsiveness - Based on Reference Site */
@media (max-width: 768px) {
  header { padding: 12px 16px !important; }
  .nav-container { padding: 0 !important; }
  .hero-section h1 { font-size: 2.5rem !important; line-height: 1.2 !important; margin-bottom: 1.5rem !important; }
  .hero-section p { font-size: 1rem !important; line-height: 1.5 !important; margin-bottom: 2rem !important; }
  .search-bar-wrapper {
    flex-direction: row !important;
    gap: 8px !important;
    padding: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
  }
  .search-bar-wrapper input {
    width: 100% !important;
    padding-right: 80px !important; 
    font-size: 16px !important; 
    padding-left: 48px !important; 
  }
  .search-bar-wrapper button {
    position: absolute !important;
    right: 4px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: auto !important;
    height: 32px !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
    min-width: 60px !important;
  }
  .grid.lg\\:grid-cols-2 { grid-template-columns: 1fr !important; gap: 16px !important; }
  .card-soft { margin-bottom: 16px !important; padding: 20px !important; }
  .flex.flex-col.sm\\:flex-row { flex-direction: column !important; gap: 12px !important; }
  .flex.flex-col.sm\\:flex-row button { width: 100% !important; padding: 14px 24px !important; font-size: 16px !important; }
  .grid.grid-cols-1.lg\\:grid-cols-2.gap-8.max-w-4xl.mx-auto { grid-template-columns: 1fr !important; gap: 16px !important; }
  .grid.grid-cols-1.md\\:grid-cols-3.gap-8 { grid-template-columns: 1fr !important; gap: 16px !important; }
  .text-3xl { font-size: 1.875rem !important; }
  .text-4xl { font-size: 2.25rem !important; }
  .text-5xl { font-size: 3rem !important; }
}

@media (max-width: 480px) {
  .container { padding-left: 12px !important; padding-right: 12px !important; }
  .hero-section h1 { font-size: 2rem !important; }
  .hero-section p { font-size: 0.9rem !important; }
  .py-16, .py-20, .py-24 { padding-top: 24px !important; padding-bottom: 24px !important; }
}

/* Footer Responsive */
@media (max-width: 768px) {
  .footer-content { flex-direction: column !important; gap: 24px !important; text-align: center !important; }
  .footer-links { flex-direction: column !important; gap: 16px !important; }
}

/* Search Bar Responsive */
@media (max-width: 768px) {
  .search-bar-wrapper, .custom-search-bar { width: 100% !important; max-width: 100% !important; margin: 0 auto !important; }
  .search-bar-wrapper input, .custom-search-bar input { font-size: 16px !important; padding: 12px 16px !important; }
  .search-bar-wrapper button, .custom-search-bar button { right: 8px !important; padding: 8px 12px !important; }
}

@media (max-width: 1024px) {
  .lg\:grid-cols-2 { display: block !important; }
  .lg\:grid-cols-2 > * { margin-bottom: 24px !important; }
}

@media (max-width: 768px) {
  .py-16, .py-20, .py-24 { padding-top: 32px !important; padding-bottom: 32px !important; }
  .mb-16, .mb-12, .mb-8 { margin-bottom: 24px !important; }
  .px-8, .px-6 { padding-left: 16px !important; padding-right: 16px !important; }
}

@media (max-width: 640px) {
  .text-lg { font-size: 16px !important; }
  .text-base { font-size: 14px !important; }
  .text-sm { font-size: 12px !important; }
}
@media (max-width: 768px) {
  html { -webkit-text-size-adjust: 100% !important; -ms-text-size-adjust: 100% !important; }
  button, a, input, textarea, select { -webkit-tap-highlight-color: transparent !important; touch-action: manipulation !important; }
  body { -webkit-overflow-scrolling: touch !important; }
  .hero-cta, .find-jobs-btn-custom { min-height: 48px !important; font-size: 16px !important; padding: 14px 24px !important; }
  .search-bar-wrapper input { -webkit-appearance: none !important; appearance: none !important; border-radius: 8px !important; }
  .search-bar-wrapper button,
  .custom-search-bar button,
  button.inline-flex.items-center.justify-center.gap-2.whitespace-nowrap.transition-all.duration-300.focus-visible\:outline-none.focus-visible\:ring-2.focus-visible\:ring-ring.focus-visible\:ring-offset-2.disabled\:pointer-events-none.disabled\:opacity-50.bg-primary.text-primary-foreground.hover\:bg-primary-deep.hover\:shadow-\[var\(--shadow-soft\)\].hover\:-translate-y-0\.5.font-semibold.rounded-full.h-10.px-4.py-2.text-sm.absolute.right-2.top-1\/2.transform.-translate-y-1\/2 {
    height: 32px !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
    right: 4px !important;
    min-width: 60px !important;
  }
  .search-bar-wrapper button[class*="bg-primary"],
  .custom-search-bar button[class*="bg-primary"],
  button[class*="bg-primary"][class*="absolute"][class*="right-2"] {
    height: 32px !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
    right: 4px !important;
    min-width: 60px !important;
  }
  .card-soft { border-radius: 12px !important; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important; }
  .bg-white.rounded-xl.p-8.card-shadow { padding: 16px !important; margin: 16px 0 !important; }
  .bg-cloud.rounded-lg.p-4.border { padding: 16px !important; margin-bottom: 12px !important; }
  .bg-cloud.rounded-lg.p-4.border .flex.justify-between.items-center {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 8px !important;
  }
  .bg-cloud.rounded-lg.p-4.border .inline-flex.items-center.rounded-full { align-self: flex-end !important; margin-top: 0 !important; }
  .flex.flex-wrap.gap-2 { gap: 6px !important; }
  .flex.flex-wrap.gap-2 .inline-flex { font-size: 11px !important; padding: 4px 8px !important; }
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 { flex-direction: row !important; gap: 8px !important; }
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 button {
    flex: 1 !important;
    height: 36px !important;
    font-size: 12px !important;
    padding: 8px 12px !important;
    border-radius: 8px !important; 
    font-weight: 500 !important;
  }
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 button:first-child { background: #fff !important; color: #374151 !important; border: 1px solid #d1d5db !important; }
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 button:last-child { background: #6C4CF5 !important; color: #fff !important; border: 1px solid #6C4CF5 !important; }
}

/* Form Elements Responsive */
@media (max-width: 768px) {
  input, textarea, select { font-size: 16px !important; padding: 12px !important; border-radius: 8px !important; }
  button { padding: 12px 24px !important; font-size: 16px !important; }
}
body { overflow-x: hidden !important; }

/* Candidate Shortlist Section - Tablet Responsive */
@media (min-width: 769px) and (max-width: 1024px) {
  .bg-white.rounded-xl.p-8.card-shadow { padding: 24px !important; }
  .bg-cloud.rounded-lg.p-4.border { padding: 20px !important; }
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 button { height: 36px !important; font-size: 12px !important; border-radius: 8px !important; }
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 button:first-child { background: #fff !important; color: #374151 !important; border: 1px solid #d1d5db !important; }
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 button:last-child { background: #6C4CF5 !important; color: #fff !important; border: 1px solid #6C4CF5 !important; }
}

/* Candidate Shortlist Section - Desktop Responsive */
@media (min-width: 1025px) {
  .bg-white.rounded-xl.p-8.card-shadow { padding: 32px !important; }
  .bg-cloud.rounded-lg.p-4.border { padding: 24px !important; }
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 button {
    height: 36px !important;
    font-size: 12px !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
  }
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 button:first-child { background: #fff !important; color: #374151 !important; border: 1px solid #d1d5db !important; }
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 button:last-child { background: #6C4CF5 !important; color: #fff !important; border: 1px solid #6C4CF5 !important; }
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 button:hover { transform: translateY(-1px) !important; }
  .bg-cloud.rounded-lg.p-4.border:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important; transition: all 0.3s ease !important; }
}

/* ===== CANDIDATE SHORTLIST SECTION - REFERENCE DESIGN ===== */
.candidate-card {
  background: #f8f9fa;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 8px;
  transition: all 0.3s ease;
  cursor: pointer;
}
.candidate-card:hover {
  background: #f1f5f9;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.candidate-avatar {
  width: 32px !important; 
  height: 32px !important; 
  background: #6C4CF5 !important; 
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  min-width: 32px !important;
  min-height: 32px !important;
}
.avatar-text {
  color: #fff !important; 
  font-weight: 600 !important;
  font-size: 12px !important; 
  line-height: 1 !important;
}
.deeper-fancy-image { display: flex; align-items: center; justify-content: center; min-height: 60px; }
.deeper-fancy-image img { max-width: 100%; height: auto; object-fit: contain; }
.m-border-right-none { border-right: none !important; }
.m-border-bottom { border-bottom: 1px solid #d1d5db !important; }
.m-border-right { border-right: 1px solid #d1d5db !important; }
.banner-text {
  line-height: 1.0 !important;
  white-space: nowrap !important;
  font-size: 0.8rem !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: inline-block !important;
}
@media (max-width: 1024px) {
  .banner-text { white-space: normal !important; line-height: 1.1 !important; font-size: 0.75rem !important; max-height: 2.2em !important; overflow: hidden !important; }
}
@media (max-width: 768px) {
  .banner-text { font-size: 0.7rem !important; line-height: 1.0 !important; max-height: 2em !important; }
}
@media (max-width: 640px) {
  .banner-text { font-size: 0.65rem !important; line-height: 1.0 !important; max-height: 2em !important; }
}

.candidate-info { flex: 1; min-width: 0; }
.candidate-name { font-weight: 600; font-size: 14px; color: #1f2937; margin-bottom: 2px; line-height: 1.2; }
.candidate-skills { font-size: 12px; color: #6b7280; line-height: 1.3; }
.match-score { display: flex; align-items: center; gap: 4px; }
.star-icon { color: #f59e0b; fill: #f59e0b; width: 16px; height: 16px; }
.score-text { font-weight: 600; font-size: 14px; color: #1f2937; }
.arrow-icon { color: #9ca3af; width: 16px; height: 16px; }

@media (max-width: 768px) {
  .candidate-card { padding: 12px; }
  .candidate-avatar { width: 36px; height: 36px; }
  .avatar-text { font-size: 12px; }
  .candidate-name { font-size: 13px; }
  .candidate-skills { font-size: 11px; }
  .star-icon, .arrow-icon { width: 14px; height: 14px; }
  .score-text { font-size: 13px; }
}
@media (min-width: 1025px) {
  .candidate-card { padding: 20px; }
  .candidate-card:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); }
}

.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft .inline-flex.items-center.rounded-full.border.px-2\.5.py-0\.5.text-xs.font-semibold.transition-colors.focus\:outline-none.focus\:ring-2.focus\:ring-ring.focus\:ring-offset-2.border-transparent.hover\:bg-secondary\/80.bg-accent\/10.text-accent {
  background: #FEF3C7 !important; 
  color: #D97706 !important; 
  border: 1px solid #FCD34D !important; 
  font-weight: 600 !important;
  padding: 4px 8px !important;
  font-size: 12px !important;
}
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft .flex.flex-wrap.gap-2 div {
  background: #ffffff !important; 
  color: #6C4CF5 !important; 
  border: 1px solid #d1d5db !important; 
  border-radius: 999px !important; 
  padding: 6px 12px !important; 
  font-size: 12px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft:last-child .candidate-avatar {
  background: #6C4CF5 !important; 
  color: #ffffff !important; 
  width: 32px !important; 
  height: 32px !important; 
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 600 !important;
  font-size: 12px !important; 
}
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
  padding: 24px !important;
  margin-bottom: 16px !important;
  max-width: 100% !important;
  width: 100% !important;
}
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft .flex.justify-between.items-start { margin-bottom: 12px !important; }
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft .space-y-2 { margin-bottom: 16px !important; }
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft .flex.flex-wrap.gap-2 { margin-bottom: 16px !important; gap: 8px !important; }
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft .pt-4.border-t { padding-top: 16px !important; border-top: 1px solid #e5e7eb !important; }
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft:last-child {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
  padding: 24px !important;
  margin-top: 16px !important;
  max-width: 100% !important;
  width: 100% !important;
}
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft:last-child .flex.items-center.justify-between { margin-bottom: 16px !important; }
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft:last-child .space-y-3 { margin-bottom: 16px !important; }
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft:last-child .flex.space-x-2.pt-4 { margin-bottom: 16px !important; }
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft:last-child .text-sm.text-muted-foreground { text-align: center !important; margin-top: 0 !important; }

.bg-accent\/10.text-accent {
  background: #FEF3C7 !important; 
  color: #D97706 !important; 
  border: 1px solid #FCD34D !important; 
}
.inline-flex.items-center.rounded-full.border.px-2\.5.py-0\.5.text-xs.font-semibold.bg-accent\/10.text-accent {
  background: #FEF3C7 !important; 
  color: #D97706 !important; 
  border: 1px solid #FCD34D !important; 
}
div.inline-flex.items-center.rounded-full.border.px-2\.5.py-0\.5.text-xs.font-semibold.transition-colors.focus\:outline-none.focus\:ring-2.focus\:ring-ring.focus\:ring-offset-2.border-transparent.hover\:bg-secondary\/80.bg-accent\/10.text-accent {
  background: #FEF3C7 !important; 
  color: #D97706 !important; 
  border: 1px solid #FCD34D !important; 
}
.candidate-avatar { background: #6C4CF5 !important; color: #ffffff !important; }
.avatar-text { color: #ffffff !important; }
.candidate-avatar.avatar-ak,
.candidate-avatar.avatar-rs,
.candidate-avatar.avatar-ng,
.candidate-avatar.avatar-ps { background: #6C4CF5 !important; color: #ffffff !important; }
div.candidate-avatar { background: #6C4CF5 !important; color: #ffffff !important; }
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft:last-child div.candidate-avatar { background: #6C4CF5 !important; color: #ffffff !important; }
div[class*="candidate-avatar"] { background: #6C4CF5 !important; background-color: #6C4CF5 !important; color: #ffffff !important; }
.candidate-avatar,
.candidate-avatar.avatar-ak,
.candidate-avatar.avatar-rs, 
.candidate-avatar.avatar-ng,
.candidate-avatar.avatar-ps,
div.candidate-avatar,
span.candidate-avatar { background: #6C4CF5 !important; color: #ffffff !important; background-color: #6C4CF5 !important; }
.candidate-avatar { background: var(--primary) !important; color: #ffffff !important; background-color: var(--primary) !important; }
.rounded-lg.border.bg-card.text-card-foreground.shadow-sm.p-6.card-soft:last-child .space-y-3 .candidate-card .flex.items-center.justify-between .flex.items-center.space-x-3 .candidate-avatar {
  background: #6C4CF5 !important; 
  background-color: #6C4CF5 !important; 
  color: #ffffff !important; 
  width: 32px !important; 
  height: 32px !important; 
}
div.candidate-avatar,
.candidate-avatar,
[class*="candidate-avatar"],
[class*="avatar-"] {
  background: #6C4CF5 !important; 
  background-color: #6C4CF5 !important; 
  color: #ffffff !important; 
}
@media (max-width: 480px) {
  .hero-cta.btn-gradient,
  .btn-gradient,
  button.hero-cta.btn-gradient {
    width: 100% !important;
    min-width: unset !important;
    height: 48px !important;
    padding: 12px 22px !important;
    font-size: 16px !important;
    border-radius: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 8px 24px rgba(108,76,245,0.12) !important;
  }
  .hero-cta.btn-gradient svg,
  .btn-gradient svg { width: 16px !important; height: 16px !important; }

  .find-jobs-btn-custom,
  button.hero-cta.border-2.border-primary,
  button.bg-transparent.hero-cta.border-2.border-primary.text-primary {
    width: 100% !important;
    min-width: unset !important;
    height: 44px !important;
    padding: 10px 18px !important;
    font-size: 15px !important;
    border-radius: 28px !important;
    border-width: 2px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .find-jobs-btn-custom svg,
  button.hero-cta.border-2.border-primary svg { width: 14px !important; height: 14px !important; }

  a[href="/candidates/jobs"] .find-jobs-btn-custom,
  a[href="/employers/platform"] button,
  .ai-btn-shortlist, .ai-btn-invite {
    width: 100% !important;
    min-width: unset !important;
    height: 44px !important;
    padding: 10px 16px !important;
    border-radius: 28px !important;
    font-size: 15px !important;
  }
  .search-bar-wrapper button,
  .custom-search-bar button,
  button.text-xs.absolute.right-2 {
    height: 40px !important;
    min-width: 64px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
  }
  .search-bar-wrapper svg,
  .custom-search-bar svg { width: 20px !important; height: 20px !important; }
  .flex.flex-col.sm\:flex-row,
  .flex.flex-col.sm\:flex-row > * { gap: 12px !important; }
   .hero-cta.btn-gradient > span, .find-jobs-btn-custom > span {
    display: inline-block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .hero-cta.btn-gradient:active,
  .find-jobs-btn-custom:active,
  .btn-gradient:active {
    transform: translateY(0) !important;
    box-shadow: 0 6px 18px rgba(108,76,245,0.10) !important;
  }
}
@media (max-width: 768px) and (min-width: 481px) {
  .hero-cta.btn-gradient, .btn-gradient {
    height: 52px !important; padding: 14px 24px !important; border-radius: 30px !important; font-size: 16px !important; width: 100% !important; min-width: unset !important;
  }
  .find-jobs-btn-custom, button.hero-cta.border-2.border-primary {
    height: 48px !important; padding: 12px 20px !important; border-radius: 30px !important; font-size: 15px !important; width: 100% !important; min-width: unset !important;
  }
}


.logo-scroller-section {
  background-color: var(--cloud) !important;
  padding: 4rem 0; /* py-16 */
}
@media (min-width: 1024px) {
  .logo-scroller-section { padding: 5rem 0; } /* lg:py-20 */
}

/* "Trusted by..." Text */
.logo-scroller-section .text-base.font-medium.text-muted-foreground {
  color: var(--slate) !important;
  font-weight: 500 !important;
  margin-bottom: 1.5rem !important;
  text-align: center;
}

/* Gradient Accent Line */
.gradient-line-container {
    text-align: center;
    margin-bottom: 2.5rem; /* Space below line */
}
.gradient-line {
  display: inline-block;
  width: 150px; max-width: 30%; height: 3px;
  background: linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%);
  border-radius: 99px;
}

/* Headings */
.logo-scroller-section h3 {
  font-family: 'Abril Fatface', serif; font-weight: 600;
  color: var(--primary) !important; font-size: 1.5rem; /* text-2xl */
  margin-bottom: 1.5rem !important; /* mb-6 */
  text-align: center;
}

/* Main Grid controlling the 2 columns */
.logo-scroller-section .grid.md\:grid-cols-2 {
    gap: 2rem 3rem; /* row-gap column-gap (adjust 3rem for column gap) */
}
.logo-scroller {
  max-width: 100%;
  overflow: hidden;
  /* Keep mask for fade effect on edges of each scroller */
  -webkit-mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
  mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
}

/* Inner container */
.scroller-inner {
  display: flex;
  flex-wrap: nowrap;
  gap: 2.5rem; /* Gap between logos within a scroller */
  width: max-content;
}

/* Styling individual logos */
.scroller-inner img {
  height: 40px; max-width: 140px; width: auto; object-fit: contain;
  filter: saturate(60%) opacity(85%);
  transition: filter 0.3s ease, opacity 0.3s ease;
}
.scroller-inner img:hover {
   filter: saturate(100%) opacity(100%);
}

/* Animation */
.logo-scroller[data-animated="true"] .scroller-inner {
  animation: scroll 30s linear infinite; /* Duration for 6 logos */
}
.logo-scroller[data-animated="true"]:hover .scroller-inner {
  animation-play-state: paused;
}

@keyframes scroll {
  to { transform: translateX(-50%); }
}

/* Responsive adjustments */
@media (max-width: 768px) {
  /* Stack columns */
  .logo-scroller-section .grid.md\:grid-cols-2 {
      grid-template-columns: 1fr !important;
      gap: 3rem 0; /* Only vertical gap */
  }
  /* Ensure each scroller shows its own heading on mobile */
  .logo-scroller-section .text-center > h3 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 1.25rem;
    margin: 0 0 1rem 0;
    position: relative; z-index: 1;
  }
  .logo-scroller-section .logo-scroller { margin-top: .25rem; }
  .gradient-line-container { margin-bottom: 2rem; } /* Adjusted spacing */
  .gradient-line { width: 120px; height: 2px; }
  .scroller-inner { gap: 1.5rem; }
  .scroller-inner img { height: 30px; }
  .logo-scroller[data-animated="true"] .scroller-inner { animation: scroll 25s linear infinite; }
}
.explore-btn {
  background-color: transparent; /* No background by default */
  color: var(--primary) !important; /* Purple text (ensure it overrides utility) */
  padding: 2px 4px; /* Minimal base padding */
  border-radius: 6px; /* Slight rounding */
  font-size: 13px; /* text-xs */
  font-weight: 500; /* font-medium */
  text-decoration: none;
  border: none;
  cursor: pointer;
  /* Smooth transition */
  transition: background-color 0.2s ease, color 0.2s ease, padding 0.2s ease, border-radius 0.2s ease;
}
.explore-btn svg {
  width: 14px; /* h-4 w-4 */
  height: 14px;
  stroke: var(--primary) !important; /* Purple icon */
  transition: stroke 0.2s ease;
  margin-left: 2px; /* ml-1 */
}
.explore-btn:hover {
  background-color: var(--accent) !important; 
  color: #fff !important; 
  padding: 2px 10px !important; 
  border-radius: 999px !important;
  text-decoration: none;
}

.explore-btn:hover svg {
  stroke: #333 !important; /* Dark icon */
}
.choose-path-cards .card-shadow .p-6.pt-0 .space-y-4 {
  margin-bottom: 1rem !important; 
}
.choose-path-cards .card-shadow .p-6.pt-0 > a.block {
   margin-top: 0 !important; 
   display: inline-block;
   width: auto;
 }
.choose-path-cards .card-shadow .p-6.pt-0 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0rem;
  padding-top: 0;
  margin-top: 0 !important; 
}

.announcement-strip .container > div:first-child {
  display: flex; 
  align-items: center;
  flex-grow: 1;
  flex-shrink: 1; 
  min-width: 0; 
  overflow: hidden; 
}

/* Style for the text span */
.announcement-strip .banner-text {
  display: block; /* CHANGE to block element */
  white-space: nowrap; 
  overflow: hidden; 
  text-overflow: ellipsis; 
  vertical-align: middle; 
 
}

/* Button container adjustments */
.announcement-strip .container > a {
    flex-shrink: 0; /* Prevent button from shrinking */
}

/* Responsive adjustments */
@media (max-width: 768px) {
  /* Hide the dot separator on small screens */
  .announcement-strip .hidden.sm\:inline {
      display: none !important;
  }
  .announcement-strip .banner-text {
  }
}

@media (max-width: 480px) {
    /* Hide text on very small screens */
    .announcement-strip .banner-text {
        display: none !important;
    }
}

@media (max-width: 768px) {
  html, body { overflow-x: hidden !important; }
}
@media (hover:hover) and (max-width: 1024px) {
  header .mobile-menu-btn:hover + .nav-menu,
  header:hover .nav-menu { transform: translateX(0) !important; }
}

@media (max-width: 1024px) {

  .btn-gradient:is(:hover,:active,:focus,:focus-visible),
  a[href] .btn-gradient:is(:hover,:active,:focus,:focus-visible),
  .bg-primary:is(:hover,:active,:focus,:focus-visible) {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(108, 76, 245, 0.3) !important;
    filter: brightness(1.02) !important;
  }
 
  .find-jobs-btn-custom:is(:hover,:active,:focus,:focus-visible),
  button.hero-cta.border-2.border-primary:is(:hover,:active,:focus,:focus-visible) {
    background: #6C4CF5 !important;
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(108,76,245,.28) !important;
    transform: translateY(-2px) !important;
  }
 
  .border.border-input.bg-background:is(:hover,:active,:focus,:focus-visible) {
    background: var(--accent) !important;
    color: var(--accent-foreground, #fff) !important;
    }

  /* Analyzer CTA */
  .btn-analyzer:is(:hover,:active,:focus,:focus-visible) {
    background: rgba(255,255,255,0.10) !important; 
    color: #fff !important;
    transform: translateY(-1px) !important;
  }

  /* Shortlist card buttons */
  .bg-cloud.rounded-lg.p-4.border .flex.gap-2 button:is(:hover,:active,:focus,:focus-visible) {
    filter: brightness(1.03) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(16,24,40,.12) !important;
    }
}
div[class*="inline-flex"][class*="rounded-full"][class*="text-xs"][class*="font-semibold"] {
  background: #8A72FF !important;
  color: #fff !important;
  border: 1px solid #8A72FF !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
div[class*="inline-flex"][class*="rounded-full"][class*="text-xs"][class*="font-semibold"][class*="text-foreground"] {
  background: #f3f4f6 !important;
  color: #374151 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
