.mp-hero { position: relative; isolation: isolate; background: #074b7b; color: #fff; }
.mp-hero *, .mp-hero *::before, .mp-hero *::after { box-sizing: border-box; }
.mp-hero .carousel-inner { display: grid; }
.mp-hero .carousel-item {
    display: block;
    position: relative;
    grid-area: 1 / 1;
    float: none;
    width: 100%;
    margin-right: 0;
    min-height: 350px;
    visibility: hidden;
}
.mp-hero .carousel-item.active,
.mp-hero .carousel-item-next,
.mp-hero .carousel-item-prev { visibility: visible; }
.mp-hero .mp-hero__photo { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.mp-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3, 62, 106, .94) 0%, rgba(4, 72, 121, .86) 45%, rgba(0, 77, 127, .52) 100%); }
.mp-hero__container { position: relative; z-index: 1; width: 100%; max-width: var(--content-width); margin-inline: auto; padding: 46px 15px; }
.mp-hero__content { max-width: 820px; }
.mp-hero h2 { color: #fff; font-size: clamp(30px, 3.1vw, 48px); line-height: 1.16; font-weight: 800; margin: 0 0 26px; letter-spacing: -.6px; }
.mp-hero p { max-width: 560px; margin: 0 0 36px; font-size: 16px; line-height: 1.7; color: #e2edf6; }
.mp-hero p strong { color: #fff; font-weight: 700; }
.mp-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.mp-hero__actions a { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 50px; padding: 12px 24px; border-radius: 6px; font-size: 16px; font-weight: 700; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.mp-hero .mp-hero__primary { background: #f5dba7; border: 1px solid #f5dba7; color: #00548d; }
.mp-hero .mp-hero__primary:hover { background: #ffe7bb; transform: translateY(-2px); color: #003d68; }
.mp-hero .mp-hero__secondary { color: #fff; border: 1px solid #ffffff70; background: #ffffff05; }
.mp-hero .mp-hero__secondary:hover { background: #ffffff18; color: #fff; transform: translateY(-2px); }
.mp-hero a:focus-visible, .mp-hero button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
@media (max-width: 767px) {
    .mp-hero .carousel-item { min-height: 390px; }
    .mp-hero__container { padding: 34px 15px; }
    .mp-hero__content { max-width: 620px; }
    .mp-hero h2 { margin-bottom: 20px; font-size: clamp(29px, 5vw, 38px); }
    .mp-hero p { font-size: 15px; line-height: 1.65; margin-bottom: 26px; }
    .mp-hero__overlay { background: linear-gradient(90deg, #033e6aeb, #044879b8); }
}
@media (max-width: 479px) {
    .mp-hero .carousel-item { min-height: 455px; }
    .mp-hero__container { padding-inline: 15px; }
    .mp-hero__actions { gap: 10px; }
    .mp-hero__actions a { padding-inline: 17px; font-size: 14px; min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
    .mp-hero .carousel-item, .mp-hero__actions a { transition: none !important; }
}
