:root {
    --bvm-blue: #2A3CEC;
    --bvm-orange: #EE7E31; /* Updated per request */
    --bvm-white: #ffffff;
}

html, body {
    font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
}

/* Myriad Pro–like display font (Source Sans 3) for logo and headings */
h1, h2, h3, h4, h5, h6, .navbar-brand, .card-title {
    font-family: 'Source Sans 3', 'Myriad Pro', Myriad, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.15;
}

/* Bolder weights for headings/brand per request */
h1, h2 { font-weight: 800; }
h3, h4, h5, h6, .navbar-brand, .card-title { font-weight: 700; }

/* Slight tracking for headings */
h2, h3, h4, h5, h6, .navbar-brand { letter-spacing: .01em; }

.bg-primary-gradient {
    background: linear-gradient(135deg, var(--bvm-blue) 0%, #1d2bc2 100%);
}

.navbar .nav-link {
    opacity: .9
}

.navbar .nav-link:hover {
    opacity: 1
}

.hero-section {
    padding-top: 8rem; /* prevent overlap with fixed navbar */
    padding-bottom: 6rem;
    background: radial-gradient(1200px 600px at 80% -10%, rgba(255, 255, 255, .08), rgba(0, 0, 0, 0)), linear-gradient(180deg, var(--bvm-blue) 0%, #1d2bc2 60%);
    position: relative;
}

.hero-image {
    min-height: 320px;
    background: url('../images/_J3A9242 klein.jpg') center/cover no-repeat;
}

.about-me-img {
    background: url('../images/_J3A9164 klein.jpg') center/cover no-repeat;
}

.contact-img {
    background: url('../images/_J3A9393 klein.jpg') center/cover no-repeat;
    width: 100%;
    height: 100%;
}

.service-img-1 {
    background: url('../images/_J3A9360 klein.jpg') center/cover no-repeat;
}

.service-img-2 {
    background: url('../images/_J3A9422 klein.jpg') center/cover no-repeat;
}

.service-img-3 {
    background: url('../images/_J3A9296 klein.jpg') center/cover no-repeat;
}

.hero-wave {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 40px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='40' viewBox='0 0 1200 40'%3E%3Cpath fill='%23ffffff' d='M0,40 C150,10 300,10 450,40 C600,70 750,70 900,40 C1050,10 1200,10 1200,10 L1200,40 L0,40 Z'/%3E%3C/svg%3E") center/cover no-repeat
}

.placeholder-img {
    width: 100%;
    height: 100%;
    background: #e9eefc url('https://images.unsplash.com/photo-1519119012055-1d6b3c8b25b3?q=80&w=1400&auto=format&fit=crop') center/cover no-repeat;
}

.btn-orange {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bvm-orange);
    --bs-btn-border-color: var(--bvm-orange);
    --bs-btn-hover-bg: #d96f2b; /* ~10% darker */
    --bs-btn-hover-border-color: #d96f2b;
    --bs-btn-focus-shadow-rgb: 238, 126, 49; /* focus ring tuned to new orange */
    --bs-btn-active-bg: #bf6126; /* ~20% darker */
    --bs-btn-active-border-color: #bf6126;
}

/* Orange badge utility to match Bootstrap's text-bg-* pattern */
.text-bg-orange {
    color: #fff !important;
    background-color: var(--bvm-orange) !important;
}

.service-card .card-title {
    font-weight: 700
}

.service-card .card-text {
    min-height: 3.5rem
}

.check {
    color: var(--bvm-orange);
    font-weight: 700
}

.py-lg-6 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important
}

footer a:hover {
    color: #fff
}

/* Contact alert */
#contactAlert {
    display: none
}

/* Smooth scrolling offset for anchor targets */
section[id] {
    scroll-margin-top: 5rem
}
