:root {
    --bpt-accent: #a90012;
    --bpt-accent-bright: #d52032;
    --bpt-ink: #17233d;
    --bpt-muted: #607089;
    --bpt-surface: #ffffff;
    --bpt-soft: #f4f6f9;
    --bpt-line: rgba(23, 35, 61, 0.11);
    --bpt-shadow: 0 18px 45px rgba(19, 34, 60, 0.12);
}

html {
    scroll-behavior: smooth;
}

body.bpt-site-enhanced {
    background: linear-gradient(180deg, #ffffff 0%, #f8f9fb 48%, #ffffff 100%);
    color: var(--bpt-ink);
}

body.bpt-site-enhanced ::selection {
    background: rgba(169, 0, 18, 0.18);
    color: #111827;
}

body.bpt-site-enhanced #headerwrap {
    position: relative;
    isolation: isolate;
    animation: bptHeroReveal 850ms cubic-bezier(.2, .75, .25, 1) both;
}

body.bpt-site-enhanced #headerwrap::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(110deg, rgba(6, 14, 28, 0.12), transparent 48%, rgba(169, 0, 18, 0.08));
    opacity: 0;
    animation: bptHeroSheen 1.4s 250ms ease-out both;
}

.bpt-modern-section {
    position: relative;
    isolation: isolate;
}

.bpt-modern-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(circle at 12% 20%, rgba(169, 0, 18, 0.035), transparent 32%);
}

.bpt-content-card {
    border: 1px solid var(--bpt-line) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 8px 24px rgba(19, 34, 60, 0.06);
    transition: transform 300ms cubic-bezier(.2, .75, .25, 1), box-shadow 300ms ease, border-color 300ms ease;
}

.bpt-content-card:hover {
    transform: translateY(-5px);
    border-color: rgba(169, 0, 18, 0.24) !important;
    box-shadow: var(--bpt-shadow);
}

.bpt-media-polish {
    transition: transform 450ms cubic-bezier(.2, .75, .25, 1), filter 450ms ease, box-shadow 450ms ease;
    transform: translateZ(0);
}

.bpt-media-polish:hover {
    transform: translateY(-4px) scale(1.012);
    filter: saturate(1.05) contrast(1.02);
    box-shadow: 0 16px 36px rgba(15, 29, 55, 0.18);
}

.bpt-action-polish {
    transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease !important;
}

.bpt-action-polish:hover,
.bpt-action-polish:focus {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow: 0 9px 20px rgba(115, 7, 24, 0.2);
}

.bpt-modern-section .glyphicon,
.bpt-modern-section [class*="icon"] {
    transition: transform 300ms cubic-bezier(.2, .75, .25, 1), filter 300ms ease;
}

.bpt-modern-section .glyphicon:hover,
.bpt-modern-section [class*="icon"]:hover {
    transform: translateY(-3px) rotate(-3deg) scale(1.06);
    filter: saturate(1.12);
}

.bpt-modern-section li {
    transition: transform 220ms ease, color 220ms ease;
}

.bpt-modern-section li:hover {
    transform: translateX(3px);
    color: #263e5e;
}

.bpt-motion-ready .bpt-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 700ms cubic-bezier(.2, .75, .25, 1), transform 700ms cubic-bezier(.2, .75, .25, 1);
    transition-delay: var(--bpt-delay, 0ms);
}

.bpt-motion-ready .bpt-reveal.bpt-reveal-left {
    transform: translate3d(-24px, 0, 0);
}

.bpt-motion-ready .bpt-reveal.bpt-reveal-right {
    transform: translate3d(24px, 0, 0);
}

.bpt-motion-ready .bpt-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@keyframes bptHeroReveal {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes bptHeroSheen {
    from { opacity: 0; transform: translateX(-3%); }
    to { opacity: 1; transform: translateX(0); }
}

@media (max-width: 767px) {
    .bpt-motion-ready .bpt-reveal,
    .bpt-motion-ready .bpt-reveal.bpt-reveal-left,
    .bpt-motion-ready .bpt-reveal.bpt-reveal-right {
        transform: translate3d(0, 16px, 0);
    }
    .bpt-content-card:hover,
    .bpt-media-polish:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    body.bpt-site-enhanced #headerwrap,
    body.bpt-site-enhanced #headerwrap::after,
    .bpt-motion-ready .bpt-reveal,
    .bpt-motion-ready .bpt-reveal.bpt-reveal-left,
    .bpt-motion-ready .bpt-reveal.bpt-reveal-right,
    .bpt-content-card,
    .bpt-media-polish,
    .bpt-action-polish {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
