/* astra-child/assets/css/home-hero.css */
.home #content > .ast-container { max-width: none; padding: 0; }
.home #primary { width: 100%; margin: 0; padding: 0; }
.home .elementor .bm-home-hero { display: block; position: relative; width: 100%; max-width: none; padding: 0; margin: 0; overflow: hidden; background: #142a3b; border-radius: 0; }
.home .elementor .bm-hero-slide { position: relative; display: none; min-height: 600px; width: 100%; padding: 0; isolation: isolate; }
.home .elementor .bm-hero-slide.is-active { display: flex; animation: bm-hero-reveal .55s ease-out; }
.home .bm-hero-slide::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(12,29,43,.94) 0%, rgba(12,29,43,.83) 28%, rgba(12,29,43,.45) 54%, rgba(12,29,43,.02) 80%); }
.home .elementor .bm-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; z-index: 0; }
.home .bm-hero-image .elementor-widget-container { width: 100%; height: 100%; }
.home .bm-hero-image img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 70% 85%; border-radius: 0; }
.home .elementor .bm-hero-content { position: relative; z-index: 2; width: 100%; max-width: 1200px; min-height: 600px; margin: 0 auto; padding: 64px 32px 94px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 20px; color: #fff; }
.home .bm-hero-content > .elementor-widget { width: min(100%, 660px); margin: 0; }
.home .bm-hero-eyebrow p { margin: 0; color: #99dafa; font-size: 13px; line-height: 1.6; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; }
.home .bm-hero-title .elementor-heading-title { margin: 0; color: #fff; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: clamp(42px, 4.5vw, 62px); font-weight: 700; line-height: 1.08; letter-spacing: -1.5px; }
.home .bm-hero-description p { max-width: 540px; margin: 0; color: #e1e9ee; font-size: 19px; line-height: 1.7; }
.home .elementor .bm-hero-actions { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; width: auto; padding: 4px 0 0; gap: 14px; }
.home .bm-hero-actions > .elementor-widget { width: auto; margin: 0; }
.home .bm-hero-actions .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 24px; border-radius: 0; border: 1px solid transparent; font-size: 16px; line-height: 1.3; font-weight: 600; transition: background-color .2s, color .2s; text-decoration: none; }
.home .bm-hero-primary .elementor-button { color: #102c3e; background: #79d2f6; }
.home .bm-hero-primary .elementor-button:hover { background: #a6e4fc; }
.home .bm-hero-secondary .elementor-button { color: #fff; background: rgba(12,29,43,.24); border-color: rgba(255,255,255,.72); }
.home .bm-hero-secondary .elementor-button:hover { background: rgba(255,255,255,.16); }
.home .bm-home-hero button:focus-visible, .home .bm-hero-actions a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@keyframes bm-hero-reveal { from { opacity: .35; } to { opacity: 1; } }
@media (max-width: 767px) {
    .home .elementor .bm-hero-slide, .home .elementor .bm-hero-content { min-height: 750px; }
    .home .elementor .bm-hero-image { height: 250px; }
    .home .bm-hero-image img { object-position: 76% 65%; }
    .home .bm-hero-slide::after { background: linear-gradient(180deg, transparent 0, rgba(20,42,59,.05) 170px, #142a3b 250px); }
    .home .elementor .bm-hero-content { padding: 268px 24px 88px; justify-content: flex-start; gap: 16px; }
    .home .bm-hero-title .elementor-heading-title { font-size: 36px; line-height: 1.13; letter-spacing: -.8px; }
    .home .bm-hero-description p { font-size: 17px; line-height: 1.65; }
    .home .bm-hero-eyebrow p { font-size: 11px; letter-spacing: 1.5px; }
    .home .elementor .bm-hero-actions { width: 100%; flex-direction: column; align-items: stretch; gap: 12px; }
    .home .bm-hero-actions > .elementor-widget, .home .bm-hero-actions .elementor-button { width: 100%; }
}
@media (max-width: 360px) {
    .home .elementor .bm-hero-slide, .home .elementor .bm-hero-content { min-height: 800px; }
    .home .bm-hero-title .elementor-heading-title { font-size: 33px; }
}
@media (prefers-reduced-motion: reduce) {
    .home .elementor .bm-hero-slide.is-active { animation: none; }
    .home .bm-hero-actions .elementor-button { transition: none; }
}
body.elementor-editor-active.home .elementor .bm-hero-slide { display: flex; }

.home .bm-hero-nowrap { white-space: nowrap; }
