.m25_hero_section {
position: relative;
width: 100%;
}
.m25_hero {
position: relative;
width: 100%; min-height: max(640px, calc(100vh - 45.5px));
min-height: max(640px, calc(100dvh - 45.5px));
background: var(--hs-dark);
color: #fff;
overflow: hidden;
display: flex;
align-items: stretch; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 80px), 50% 100%, 0 calc(100% - 80px));
}
@media (max-width: 768px) {
.m25_hero { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 50% 100%, 0 calc(100% - 40px)); }
}
.m25_hero_bg {
position: absolute;
inset: 0;
z-index: 0;
}
.m25_hero_bg_img {
width: 100%;
height: 100%;
object-fit: cover;
}
.home .m25_hero_bg_img {
object-position: center right;
}
.m25_hero_overlay {
position: absolute;
inset: 0;
background: linear-gradient(110deg, rgba(47,58,70,0.78) 0%, rgba(47,58,70,0.42) 60%, rgba(47,58,70,0.20) 100%);
} .m25_hero_inner {
position: relative;
z-index: 2;
width: 100%; padding-top: clamp(120px, 20vw, 386px);
padding-bottom: clamp(120px, 11vw, 200px); padding-left: max(var(--hs-container-px), 120px);
display: flex;
align-items: center;
}
.m25_hero_content {
max-width: 620px;
} .m25_hero_headline {
color: #fff !important;
margin-bottom: 32px;
font-weight: 600; font-size: clamp(28px, 3.2vw, 60px);
line-height: 1.05;
letter-spacing: 0.03em;
text-shadow: 0 2px 18px rgba(0,0,0,0.25);
overflow-wrap: anywhere;
}
.m25_hero_headline em {
font-style: italic;
font-weight: 600;
font-family: var(--hs-font-display);
}
.m25_hero_text {
color: rgba(255,255,255,0.92);
margin-bottom: 44px;
max-width: 580px;
font-size: 16px;
line-height: 1.5;
letter-spacing: 0.03em;
} .m25_hero_badge {
position: absolute;
left: 0;
top: 45%;
transform: translateY(-50%);
z-index: 3;
width: 107px;
pointer-events: none;
}
.m25_hero_badge img {
width: 100%;
height: auto;
display: block;
} .m25_hero_scroll { border: 0;
padding: 0;
cursor: pointer;
font: inherit;
color: inherit;
position: absolute;
left: 50%;
bottom: -45.5px;
transform: translateX(-50%);
width: 73px;
height: 91px;
background: var(--hs-gold);
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
z-index: 4;
overflow: hidden;
transition: background 0.35s ease;
}
.m25_hero_scroll:hover { background: var(--hs-gold-dark); }
.m25_hero_scroll_line { display: none; }
.m25_hero_scroll_arrow {
display: flex;
align-items: center;
justify-content: center;
color: #fff;
transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
} .m25_hero_scroll:hover .m25_hero_scroll_arrow { transform: translateY(8px); }
.m25_hero_scroll_arrow svg { width: 22px; height: 30px; }  .m25_rotating_badge {
position: absolute;
right: clamp(20px, 5vw, 100px);
bottom: 0;
transform: translateY(25%);
width: 190px;
height: 190px;
border-radius: 50%;
display: block;
text-decoration: none;
z-index: 4;
}
@media (max-width: 1199.98px) {
.m25_rotating_badge {
width: 150px;
height: 150px;
right: clamp(20px, 4vw, 60px);
}
}
@media (max-width: 991.98px) {
.m25_rotating_badge {
width: 120px;
height: 120px;
right: 16px; bottom: auto;
top: 50%;
transform: translateY(-50%);
}
}
.m25_rotating_badge_disc {
position: absolute;
inset: 0;
border-radius: 50%;
background: rgba(47, 58, 70, 0.90);
-webkit-backdrop-filter: blur(7.5px);
backdrop-filter: blur(7.5px); box-shadow: inset 0 0 0 1px var(--hs-gold);
}
.m25_rotating_badge_disc::after {
content: '';
position: absolute;
inset: 24px;
border-radius: 50%;
border: 1px solid var(--hs-gold);
pointer-events: none;
}
.m25_rotating_badge_text {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
animation: m25_rb_spin 18s linear infinite;
}
@keyframes m25_rb_spin {
from { transform: rotate(0deg); }
to   { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
.m25_rotating_badge_text { animation: none; }
}
.m25_rotating_badge_icon {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
pointer-events: none;
}
.m25_rotating_badge_icon svg {
width: 55%;
height: 55%;
display: block;
transition: transform 0.3s ease;
}
.m25_rotating_badge:hover .m25_rotating_badge_icon svg {
transform: scale(1.05);
}
@media (max-width: 768px) {
.m25_hero { min-height: max(680px, calc(100svh - 45.5px));
}
.m25_hero_inner { padding-top: clamp(80px, 15vw, 130px); padding-bottom: 80px; padding-left: var(--hs-container-px); }
.m25_hero_badge { display: none; }
.m25_hero_scroll { display: none; }
.m25_hero_scroll_line { height: 32px; width: 10px; }
}
@media (max-width: 575.98px) { .m25_rotating_badge { display: none; }
}
.m25_hero_section + section {
padding-top: clamp(120px, 15vw, 220px);
}
@media (max-width: 991.98px) {
.m25_hero_section + section {
padding-top: clamp(60px, 10vw, 100px);
}
}