/* Banner Páginas Dinastía Elementor Widget */
.bpd-banner,
.bpd-banner * {
    box-sizing: border-box;
}

.bpd-banner {
    --bpd-blue: #0A1F44;
    --bpd-dark-blue: #071835;
    --bpd-blue-secondary: #123D8D;
    --bpd-blue-glow: #1E63FF;
    --bpd-blue-light: #4D8DFF;
    --bpd-red: #E32028;
    --bpd-red-dark: #8F0F14;
    --bpd-white: #FFFFFF;
    --bpd-gray-white: #F4F6F9;
    --bpd-gray-line: #D9DEE8;
    --bpd-text-secondary: #7A8599;
    --bpd-photo-x: 50%;
    --bpd-photo-y: 50%;
    --bpd-rotate-x: 2deg;
    --bpd-rotate-y: -5deg;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 720px;
    padding: 64px 56px 150px;
    color: var(--bpd-white);
    background:
        radial-gradient(circle at 76% 28%, rgba(77,141,255,.20) 0%, rgba(30,99,255,.12) 26%, transparent 54%),
        radial-gradient(circle at 16% 82%, rgba(30,99,255,.12) 0%, transparent 30%),
        linear-gradient(115deg, var(--bpd-blue) 0%, var(--bpd-blue-secondary) 46%, var(--bpd-dark-blue) 100%);
}

.bpd-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(circle at 20% 35%, rgba(255,255,255,.055), transparent 30%),
        linear-gradient(90deg, rgba(10,31,68,.94) 0%, rgba(18,61,141,.76) 52%, rgba(7,24,53,.70) 100%);
    pointer-events: none;
}


.bpd-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(145deg, rgba(255,255,255,.045) 0 0) left top / 58% 100% no-repeat,
        radial-gradient(circle at 50% 86%, rgba(30,99,255,.10), transparent 38%);
    clip-path: polygon(0 0, 55% 0, 35% 100%, 0 100%);
    pointer-events: none;
    opacity: .9;
}

.bpd-grid {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: minmax(0, .93fr) minmax(380px, 1.07fr);
    gap: 38px;
    align-items: center;
    max-width: 1500px;
    margin: 0 auto;
}

.bpd-content {
    position: relative;
    z-index: 7;
    max-width: 720px;
    padding-left: 56px;
}

.bpd-vertical-bar {
    position: absolute;
    left: 0;
    top: -58px;
    width: 6px;
    height: 378px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--bpd-blue-glow) 0 42%, var(--bpd-white) 42% 54%, var(--bpd-red) 54% 100%);
    box-shadow: 0 0 20px rgba(30,99,255,.72), 0 0 18px rgba(227,32,40,.38);
}

.bpd-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 22px;
    color: var(--bpd-red);
    font-size: 16px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.bpd-kicker__icon {
    display: inline-flex;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    color: var(--bpd-red);
}

.bpd-kicker__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.bpd-title {
    margin: 0 0 26px;
    color: var(--bpd-white);
    font-size: clamp(54px, 6vw, 104px);
    line-height: .95;
    font-weight: 950;
    letter-spacing: -0.055em;
    text-shadow: 0 12px 28px rgba(7,24,53,.26);
}

.bpd-subtitle {
    max-width: 650px;
    margin: 0;
    color: var(--bpd-white);
    font-size: clamp(17px, 1.6vw, 22px);
    line-height: 1.55;
    font-weight: 500;
    opacity: .98;
}

.bpd-visual {
    position: relative;
    z-index: 5;
    min-height: 545px;
    display: grid;
    place-items: center;
    perspective: 1600px;
    perspective-origin: 52% 42%;
}

.bpd-photo-card {
    --bpd-card-radius: 30px;
    position: relative;
    z-index: 9;
    width: 100%;
    max-width: 430px;
    border-radius: var(--bpd-card-radius);
    transform: translateY(-2px) rotateX(var(--bpd-rotate-x)) rotateY(var(--bpd-rotate-y));
    transform-style: preserve-3d;
    filter: drop-shadow(0 26px 34px rgba(0,20,82,.22));
}

.bpd-photo-card::before {
    content: "";
    position: absolute;
    inset: -3px;
    border-radius: inherit;
    border: 1.5px solid rgba(255,255,255,.92);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.72),
        0 0 0 3px rgba(77,141,255,.30),
        0 0 36px rgba(255,255,255,.34),
        0 0 68px rgba(255,255,255,.12),
        0 0 26px rgba(77,141,255,.34);
    pointer-events: none;
}

.bpd-photo-card::after {
    content: "";
    position: absolute;
    inset: 10px 12px -12px 12px;
    z-index: -2;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(77,141,255,.16) 38%, rgba(0,32,115,.34) 100%);
    box-shadow: 0 24px 36px rgba(0,24,95,.22), 0 0 24px rgba(77,141,255,.14);
    transform: translateZ(-18px) scale(.985);
}

.bpd-photo-card__glow {
    position: absolute;
    inset: -26px -20px -30px -22px;
    z-index: -1;
    border-radius: 40px;
    background:
        radial-gradient(ellipse at 50% 92%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.74) 10%, rgba(255,255,255,.34) 24%, rgba(77,141,255,.22) 38%, transparent 60%),
        radial-gradient(circle at 50% 50%, rgba(255,255,255,.52) 0%, rgba(255,255,255,.26) 24%, rgba(77,141,255,.18) 40%, transparent 70%);
    filter: blur(18px);
    opacity: 1;
}

.bpd-photo-card img,
.bpd-photo-placeholder {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: inherit;
    border: 2.4px solid rgba(255,255,255,.84);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.82),
        0 0 0 3px rgba(77,141,255,.26),
        0 0 30px rgba(255,255,255,.26),
        0 16px 34px rgba(0,24,95,.18),
        0 0 40px rgba(77,141,255,.32),
        inset 0 0 1px rgba(255,255,255,.85);
    overflow: hidden;
}

.bpd-photo-card img {
    object-fit: cover;
    object-position: var(--bpd-photo-x, 50%) var(--bpd-photo-y, 50%) !important;
}

.bpd-photo-placeholder {
    display: grid;
    place-items: center;
    min-height: 360px;
    color: var(--bpd-white);
    font-size: 34px;
    line-height: 1.05;
    font-weight: 950;
    text-align: center;
    padding: 32px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.18), rgba(30,99,255,.42)),
        radial-gradient(circle at 70% 30%, rgba(255,255,255,.20), transparent 36%);
}

.bpd-orbit {
    position: absolute;
    z-index: 4;
    width: 780px;
    height: 328px;
    border: 1.7px solid rgba(77,141,255,.38);
    border-radius: 50%;
    filter: drop-shadow(0 0 15px rgba(77,141,255,.30));
    pointer-events: none;
}

.bpd-orbit--one {
    top: 94px;
    right: -38px;
    transform: rotate(-10deg);
}

.bpd-orbit--two {
    width: 740px;
    height: 272px;
    top: 146px;
    right: -14px;
    opacity: .92;
    transform: rotate(15deg);
}

.bpd-orbit-icon {
    position: absolute;
    z-index: 10;
    display: grid;
    place-items: center;
    width: 88px;
    height: 88px;
    border-radius: 999px;
    color: var(--bpd-white);
    background: radial-gradient(circle at 35% 28%, rgba(255,255,255,.30) 0%, rgba(77,141,255,.18) 24%, rgba(30,99,255,.46) 58%, rgba(0,48,155,.62) 100%);
    border: 1px solid rgba(77,141,255,.50);
    box-shadow: 0 0 30px rgba(77,141,255,.38), inset 0 1px 0 rgba(255,255,255,.25);
}

.bpd-orbit-icon svg {
    width: 36px;
    height: 36px;
    display: block;
}

.bpd-orbit-icon--home { left: 2.3%; top: 16%; }
.bpd-orbit-icon--cap { right: 3.4%; top: 13%; }
.bpd-orbit-icon--pig { left: 3.2%; bottom: 21%; }
.bpd-orbit-icon--heart { right: 4%; bottom: 20.5%; }

.bpd-platform {
    position: absolute;
    z-index: 5;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    width: 582px;
    height: 102px;
    border-radius: 50%;
    background:
        radial-gradient(ellipse at center, rgba(255,255,255,1) 0%, rgba(255,255,255,.88) 7%, rgba(255,255,255,.46) 15%, rgba(214,244,255,.26) 25%, rgba(77,141,255,.18) 38%, rgba(30,99,255,.10) 52%, transparent 74%);
    filter: drop-shadow(0 0 18px rgba(255,255,255,.24)) drop-shadow(0 0 16px rgba(77,141,255,.34));
    pointer-events: none;
}

.bpd-platform::before,
.bpd-platform::after {
    content: "";
    position: absolute;
    inset: 16px 48px;
    border-radius: 50%;
    border: 2px solid rgba(220,245,255,.82);
}

.bpd-platform::after {
    inset: -2px 0 0;
    border-color: rgba(77,141,255,.34);
}

.bpd-dots {
    position: absolute;
    z-index: 1;
    width: 150px;
    height: 126px;
    opacity: .26;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(255,255,255,.74) 1.3px, transparent 1.5px);
    background-size: 18px 18px;
}

.bpd-dots--left { left: 36px; bottom: 148px; }
.bpd-dots--right { right: 58px; top: 80px; }

.bpd-bottom-wave {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    z-index: 30;
    height: 170px;
    pointer-events: none;
    line-height: 0;
}

.bpd-bottom-wave svg {
    display: block;
    width: 100%;
    height: 100%;
}

.bpd-wave-shadow { fill: rgba(217,222,232,.70); }
.bpd-wave-soft { fill: var(--bpd-gray-white); opacity: .96; filter: drop-shadow(0 -12px 18px rgba(255,255,255,.20)); }
.bpd-wave-main { fill: var(--bpd-white); filter: drop-shadow(0 -20px 28px rgba(10,31,68,.20)); }
.bpd-wave-red { fill: none; stroke: var(--bpd-gray-line); stroke-width: 2; stroke-linecap: round; opacity: .88; }

.bpd-is-animated .bpd-photo-card { animation: bpdPhotoFloat 6s ease-in-out infinite; }
.bpd-is-animated .bpd-orbit-icon { animation: bpdIconFloat 5.6s ease-in-out infinite; }
.bpd-is-animated .bpd-orbit-icon--cap { animation-delay: .7s; }
.bpd-is-animated .bpd-orbit-icon--pig { animation-delay: 1.15s; }
.bpd-is-animated .bpd-orbit-icon--heart { animation-delay: 1.55s; }
.bpd-is-animated .bpd-platform { animation: bpdPulse 4.4s ease-in-out infinite; }
.bpd-is-animated .bpd-orbit--one { animation: bpdOrbitBreath 7s ease-in-out infinite; }
.bpd-is-animated .bpd-orbit--two { animation: bpdOrbitBreath 7s ease-in-out 1s infinite; }

@keyframes bpdPhotoFloat {
    0%, 100% { transform: translateY(-2px) rotateX(var(--bpd-rotate-x)) rotateY(var(--bpd-rotate-y)); }
    50% { transform: translateY(-8px) rotateX(calc(var(--bpd-rotate-x) + 1deg)) rotateY(calc(var(--bpd-rotate-y) + .8deg)); }
}

@keyframes bpdIconFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@keyframes bpdPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .88; }
}

@keyframes bpdOrbitBreath {
    0%, 100% { opacity: .70; }
    50% { opacity: 1; }
}

@media (max-width: 1200px) {
    .bpd-banner { min-height: 700px; padding: 54px 34px 128px; }
    .bpd-grid { grid-template-columns: minmax(0, 1fr) minmax(330px, .95fr); gap: 26px; }
    .bpd-content { padding-left: 34px; }
    .bpd-vertical-bar { height: 340px; top: -40px; }
    .bpd-title { font-size: clamp(48px, 5.6vw, 78px); }
    .bpd-visual { min-height: 500px; }
    .bpd-photo-card { max-width: 380px; }
    .bpd-orbit { width: 620px; height: 270px; right: -62px; top: 98px; }
    .bpd-orbit--two { width: 584px; height: 226px; right: -34px; top: 146px; }
    .bpd-platform { width: 470px; height: 86px; bottom: 20px; }
    .bpd-orbit-icon { width: 74px; height: 74px; }
    .bpd-orbit-icon svg { width: 30px; height: 30px; }
}

@media (max-width: 1024px) {
    .bpd-banner { min-height: 680px; padding: 50px 28px 118px; }
    .bpd-grid { grid-template-columns: minmax(0, 1.08fr) minmax(286px, .84fr); gap: 22px; }
    .bpd-content { padding-left: 28px; }
    .bpd-title { font-size: clamp(42px, 5.2vw, 64px); line-height: 1; margin-bottom: 20px; }
    .bpd-subtitle { font-size: 17px; }
    .bpd-kicker { font-size: 13px; margin-bottom: 18px; }
    .bpd-visual { min-height: 440px; }
    .bpd-photo-card { max-width: 330px; }
    .bpd-platform { width: 388px; height: 74px; bottom: 16px; }
    .bpd-orbit { width: 510px; height: 230px; right: -64px; top: 104px; }
    .bpd-orbit--two { width: 470px; height: 192px; right: -38px; top: 146px; }
    .bpd-orbit-icon { width: 62px; height: 62px; }
    .bpd-orbit-icon svg { width: 27px; height: 27px; }
    .bpd-bottom-wave { height: 145px; }
}

@media (max-width: 767px) {
    .bpd-banner { min-height: 880px; padding: 38px 20px 110px; }
    .bpd-grid { display: flex; flex-direction: column; gap: 28px; align-items: stretch; }
    .bpd-content { order: 1; max-width: 100%; padding-left: 0; }
    .bpd-vertical-bar { display: none; }
    .bpd-kicker { font-size: 11px; gap: 8px; margin-bottom: 16px; }
    .bpd-kicker__icon { width: 22px; height: 22px; flex-basis: 22px; }
    .bpd-title { font-size: 42px; line-height: 1.03; letter-spacing: -.045em; max-width: 100%; margin-bottom: 18px; }
    .bpd-subtitle { font-size: 16px; line-height: 1.48; max-width: 100%; }
    .bpd-visual { order: 2; min-height: 376px; width: 100%; perspective: 1200px; }
    .bpd-photo-card { max-width: 300px; transform: translateY(0) rotateX(1.4deg) rotateY(-2.3deg); }
    .bpd-photo-card__glow { inset: -18px -14px -22px -16px; filter: blur(16px); }
    .bpd-photo-placeholder { min-height: 290px; font-size: 26px; }
    .bpd-orbit { width: 432px; height: 196px; top: 42px; right: 50%; transform: translateX(50%) rotate(-10deg); opacity: .78; }
    .bpd-orbit--two { width: 398px; height: 164px; top: 82px; right: 50%; transform: translateX(50%) rotate(15deg); opacity: .68; }
    .bpd-orbit-icon { width: 52px; height: 52px; }
    .bpd-orbit-icon svg { width: 22px; height: 22px; }
    .bpd-orbit-icon--home { left: 2%; top: 7%; }
    .bpd-orbit-icon--cap { right: 2%; top: 7%; }
    .bpd-orbit-icon--pig { left: 3%; bottom: 17%; }
    .bpd-orbit-icon--heart { right: 3%; bottom: 17%; }
    .bpd-platform { width: 332px; height: 68px; bottom: 10px; }
    .bpd-dots--right { display: none; }
    .bpd-dots--left { left: 18px; bottom: 108px; opacity: .20; }
    .bpd-bottom-wave { height: 116px; }
    .bpd-wave-red { stroke-width: 1.6; }
}

@media (max-width: 420px) {
    .bpd-title { font-size: 38px; }
    .bpd-photo-card { max-width: 285px; }
    .bpd-platform { width: 306px; }
    .bpd-orbit { width: 390px; height: 182px; }
    .bpd-orbit--two { width: 362px; height: 150px; }
}
