/* Google Fonts are linked in HTML head; using CSS variables for palette */
:root {
    --primary: #6366f1; /* Indigo 500 */
    --primary-dark: #4f46e5; /* Indigo 600 */
    --accent: #22d3ee; /* Cyan 400 */
    --gradient-start: #6366f1;
    --gradient-end: #22d3ee;
    --text: #111827; /* Slate 900 */
    --muted: #6b7280;
    --bg: #ffffff;
    --bg-soft: #f8fafc;
    --card-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
    --radius: 14px;
    --nav-height-desktop: 74px;
    --nav-height-mobile: 64px;
}

body {
    font-family: 'Poppins', 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    color: var(--text);
    background: var(--bg);
    line-height: 1.6;
    margin: 0;
}

.navbar {
    backdrop-filter: saturate(180%) blur(12px);
    background: rgba(255,255,255,0.85) !important;
    border-bottom: 1px solid rgba(15,23,42,.06);
}

.navbar .nav-link {
    font-weight: 500;
}

.navbar .nav-link.active {
    color: var(--primary) !important;
}

.btn-gradient, .btn-accent {
    background-image: linear-gradient(90deg, var(--gradient-start), var(--gradient-end));
    color: #fff;
    border: 0;
}

.btn-gradient:hover, .btn-accent:hover {
    filter: brightness(0.95);
    color: #fff;
}

.hero {
    position: relative;
    padding: 120px 0 100px;
    background: linear-gradient(135deg, rgba(99,102,241,0.15), rgba(34,211,238,0.15)), url('https://images.pexels.com/photos/3184291/pexels-photo-3184291.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat;
}

/* Modern hero redesign */
.hero-pro {
    position: relative;
    padding: 140px 0 80px;
    background: radial-gradient(1200px 600px at 10% 10%, rgba(99,102,241,.18), transparent 60%),
                radial-gradient(1200px 600px at 90% 10%, rgba(34,211,238,.18), transparent 60%),
                linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    overflow: hidden;
}

.hero-pro .bg-shape {
    position: absolute;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    filter: blur(60px);
    opacity: .25;
    z-index: 0;
}

.hero-pro .bg-shape.shape-1 { background: var(--gradient-start); top: -120px; left: -120px; }
.hero-pro .bg-shape.shape-2 { background: var(--gradient-end); top: -160px; right: -160px; }

.hero-pro .content { position: relative; z-index: 1; }

.search-pill {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 999px;
    box-shadow: 0 10px 30px rgba(2, 6, 23, .06);
    padding: 10px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.search-pill .form-control {
    border: 0;
    box-shadow: none !important;
    padding-left: 0;
}

.search-pill .vr {
    width: 1px;
    background: rgba(15,23,42,.08);
    height: 32px;
}

.search-field {
    display: flex;
    align-items: center;
    flex: 1 1 220px;
    gap: 8px;
}

.search-pill .btn { border-radius: 999px; }

.avatar-stack {
    display: flex;
    align-items: center;
}

.avatar-stack .avatar {
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.avatar-stack .avatar + .avatar {
    margin-left: -12px;
}

.hero-visual .screen-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(2,6,23,.12);
    border: 1px solid rgba(99,102,241,.12);
}

.floating-chip {
    position: absolute;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(2,6,23,.08);
    padding: 10px 14px;
    font-size: 12px;
}

.floating-chip i { color: var(--primary); }

.trusted-logos img, .trusted-logos span {
    opacity: .7;
    filter: grayscale(100%);
}

/* Animation delays for staggered reveals */
.delay-1 { transition-delay: .05s; }
.delay-2 { transition-delay: .1s; }
.delay-3 { transition-delay: .15s; }
.delay-4 { transition-delay: .2s; }

/* Chips / badges */
.chip {
    display: inline-block;
    border: 1px solid rgba(15,23,42,.08);
    background: #fff;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 14px;
    box-shadow: 0 4px 14px rgba(2,6,23,.06);
}

/* Steps */
.step {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.step-index {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 600;
    box-shadow: 0 6px 16px rgba(2,6,23,.12);
}
.step-body .title { font-weight: 600; }
.step-body .desc { color: var(--muted); font-size: 14px; }

/* Logo cloud */
.logo-cloud {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

@media (max-width: 991.98px) { .logo-cloud { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 767.98px) { .logo-cloud { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 575.98px) { .logo-cloud { grid-template-columns: repeat(2, 1fr); } }

.logo-card {
    position: relative;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(2,6,23,.06);
    height: 84px;
    display: grid;
    place-items: center;
    filter: grayscale(100%);
    opacity: .85;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease, opacity .2s ease;
}

.logo-card:hover { transform: translateY(-2px); box-shadow: 0 12px 22px rgba(2,6,23,.1); filter: grayscale(0%); opacity: 1; }

.logo-text {
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #0f172a;
    font-size: 14px;
}

.hero .display-5 {
    font-weight: 700;
}

.section {
    padding: 80px 0;
}

.section.bg-soft {
    background: var(--bg-soft);
}

.card-soft {
    border: 0;
    border-radius: var(--radius);
    box-shadow: var(--card-shadow);
    border: 1px solid rgba(99,102,241,0.08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.card-soft:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(0,0,0,.08);
}

.icon-circle {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(99,102,241,.15), rgba(34,211,238,.15));
    color: var(--primary);
}

.testimonial {
    font-style: italic;
}

.footer {
    background: #0b1220;
    color: #c7d2fe;
}

.footer a { color: #c7d2fe; text-decoration: none; }
.footer a:hover { color: #fff; }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(12px); transition: all .6s ease; }
.reveal-visible { opacity: 1; transform: translateY(0); }

/* Job/Candidate cards */
.job-card .badge { font-weight: 500; }
.avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
}

/* Utilities */
.text-muted-2 { color: var(--muted) !important; }
.shadow-soft { box-shadow: var(--card-shadow); }
.rounded-xl { border-radius: var(--radius); }

/* Forms */
.form-control, .form-select {
    border-radius: 10px;
}

.newsletter-input {
    background: #111827;
    border: 1px solid #1f2937;
    color: #e5e7eb;
}

.newsletter-input::placeholder { color: #9ca3af; }

/* Hero buttons spacing on mobile */
@media (max-width: 576px) {
    .hero .btn { display: block; width: 100%; margin-bottom: 10px; }
    .search-pill .btn { width: 100%; }
    .navbar .navbar-brand { font-size: 1rem; }
    .navbar .btn { padding: 6px 12px; border-radius: 999px; }
}

/* Blog */
.post-card img { border-top-left-radius: var(--radius); border-top-right-radius: var(--radius); }

/* Timeline/Stats */
.stat {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Sticky offset */
.sticky-offset { padding-top: var(--nav-height-desktop); }

/* Gradient utilities */
.gradient-text {
    background: linear-gradient(90deg, var(--gradient-start), var(--gradient-end));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* Remove visible gap between fixed navbar and first hero */
@media (max-width: 991.98px) {
    .sticky-offset { padding-top: var(--nav-height-mobile); }
    .sticky-offset > .hero-pro,
    .sticky-offset > .hero { margin-top: 0; }
    .hero-pro { padding: 110px 0 48px; }
    .hero-pro .bg-shape { display: none; }
    .floating-chip { display: none; }
}

@media (max-width: 575.98px) {
    .search-pill { border-radius: 16px; padding: 12px; }
}


