/** Smooth Cards Hero — image-led editorial presentation. */
/* Repeat the component class to supersede Elementor's saved min-height selector. */
.iab2b-smooth-hero.iab2b-smooth-hero.iab2b-smooth-hero.iab2b-smooth-hero {
  --iab2b-hero-navy: #071b30;
  --iab2b-hero-blue: #0787c9;
  --iab2b-hero-text: #fff;
  --iab2b-hero-muted: rgba(255, 255, 255, .82);
  --iab2b-hero-fast: .22s cubic-bezier(.2, .7, .2, 1);
  --iab2b-hero-smooth: .55s cubic-bezier(.16, 1, .3, 1);
  --iab2b-content-width: min(42vw, 540px);
  --iab2b-content-offset-x: 0px;
  --iab2b-content-offset-y: 0px;
  --iab2b-card-width: clamp(166px, 13.9vw, 190px);
  --iab2b-card-height: clamp(220px, 18.4vw, 250px);
  --iab2b-active-card-width: clamp(184px, 15.4vw, 210px);
  --iab2b-active-card-height: clamp(240px, 19.9vw, 270px);
  --iab2b-card-gap: 14px;
  --iab2b-rail-inline-offset: clamp(42px, 3.5vw, 68px);
  --iab2b-rail-bottom-offset: clamp(42px, 6vh, 68px);
  --iab2b-card-radius: 4px;
  --iab2b-card-opacity: .68;
  --iab2b-card-padding: 13px 12px;
  --iab2b-card-overlay-color: #04111f;
  --iab2b-card-overlay-strength: 90%;
  --iab2b-card-active-offset: -7px;
  --iab2b-left-overlay-color: #04111f;
  --iab2b-left-overlay-strength: 70%;
  --iab2b-bottom-overlay-strength: 31%;
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  overflow: hidden;
  color: var(--iab2b-hero-text);
  background: var(--iab2b-hero-navy);
  box-sizing: border-box;
}
.iab2b-smooth-hero *, .iab2b-smooth-hero *::before, .iab2b-smooth-hero *::after { box-sizing: border-box; }
.iab2b-smooth-hero__slides, .iab2b-smooth-hero__slide-bg, .iab2b-smooth-hero__overlay { position: absolute; inset: 0; }
.iab2b-smooth-hero__slides { z-index: 1; overflow: hidden; }
.iab2b-smooth-hero__slide-bg { visibility: hidden; opacity: 0; transition: opacity var(--iab2b-hero-smooth), visibility var(--iab2b-hero-smooth); pointer-events: none; }
.iab2b-smooth-hero__slide-bg.is-active { z-index: 1; visibility: visible; opacity: 1; }
.iab2b-smooth-hero__bg-img { position: absolute !important; inset: 0; display: block; width: 100%; height: 100% !important; max-width: none !important; object-fit: cover; object-position: center; transform: scale(1.015); transition: transform 7s cubic-bezier(.25, 1, .5, 1); }
.iab2b-smooth-hero__slide-bg.is-active .iab2b-smooth-hero__bg-img { transform: scale(1); }

/* Protect the editorial column while leaving the photograph visible. */
.iab2b-smooth-hero__overlay { z-index: 2; pointer-events: none; background: linear-gradient(90deg, color-mix(in srgb, var(--iab2b-left-overlay-color) var(--iab2b-left-overlay-strength), transparent) 0%, color-mix(in srgb, var(--iab2b-left-overlay-color) 43%, transparent) 29%, color-mix(in srgb, var(--iab2b-left-overlay-color) 10%, transparent) 57%, transparent 76%), linear-gradient(0deg, rgb(3 15 27 / var(--iab2b-bottom-overlay-strength)), transparent 40%); }
.iab2b-smooth-hero__container { position: relative; z-index: 3; display: flex; align-items: center; width: 100%; min-height: inherit; margin: 0; padding: 8vh clamp(42px, 3.5vw, 68px) 9vh; }
.iab2b-smooth-hero__content { width: var(--iab2b-content-width); transform: translate(var(--iab2b-content-offset-x), var(--iab2b-content-offset-y)); }
.iab2b-smooth-hero__text-pane { display: none; flex-direction: column; gap: 15px; }
.iab2b-smooth-hero__text-pane.is-active { display: flex; animation: iab2b-hero-copy-in .45s cubic-bezier(.16, 1, .3, 1); }
@keyframes iab2b-hero-copy-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.iab2b-smooth-hero__badge { display: inline-flex; align-items: center; gap: 9px; width: fit-content; color: #f4f8fb; }
.iab2b-smooth-hero__badge-num { color: #6fd4ff; font-size: .68rem; font-weight: 700; letter-spacing: .16em; }
.iab2b-smooth-hero__badge-text { font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.iab2b-smooth-hero__title { max-width: 520px; margin: 0; color: var(--iab2b-hero-text); font-size: clamp(2.45rem, 4vw, 4.2rem); font-weight: 700; line-height: 1.02; letter-spacing: -.045em; text-wrap: balance; text-shadow: 0 2px 16px rgba(0, 0, 0, .22); }
.iab2b-smooth-hero__desc { max-width: 450px; margin: 0; color: var(--iab2b-hero-muted); font-size: clamp(.92rem, 1.1vw, 1.05rem); line-height: 1.65; }
.iab2b-smooth-hero__actions { display: flex; align-items: center; gap: 19px; flex-wrap: wrap; margin-top: 6px; }
.iab2b-smooth-hero__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 45px; padding: 11px 21px; color: #fff !important; border: 1px solid transparent; border-radius: 3px; font-size: .85rem; font-weight: 700; text-decoration: none; transition: background var(--iab2b-hero-fast), border-color var(--iab2b-hero-fast), transform var(--iab2b-hero-fast); }
.iab2b-smooth-hero__btn--primary { background: var(--iab2b-hero-blue); box-shadow: 0 7px 20px rgba(0, 63, 102, .26); }
.iab2b-smooth-hero__btn--primary:hover, .iab2b-smooth-hero__btn--primary:focus-visible { background: #006fa9; transform: translateY(-1px); }
.iab2b-smooth-hero__btn--outline { padding-inline: 0; background: transparent; border-color: transparent; color: rgba(255, 255, 255, .9) !important; }
.iab2b-smooth-hero__btn--outline:hover, .iab2b-smooth-hero__btn--outline:focus-visible { color: #fff !important; text-decoration: underline; text-underline-offset: 5px; }

.iab2b-smooth-hero__cards-column { position: absolute; right: var(--iab2b-rail-inline-offset); bottom: var(--iab2b-rail-bottom-offset); display: flex; flex-direction: column; align-items: flex-end; gap: 13px; min-width: 0; }
.iab2b-smooth-hero__cards-deck { display: flex; align-items: flex-end; gap: var(--iab2b-card-gap); transition: transform var(--iab2b-hero-smooth); }
.iab2b-smooth-hero__cards-deck.is-shifting { transform: translateX(var(--iab2b-rail-shift, 0)); }
.iab2b-smooth-hero__card-item { position: relative; flex: 0 0 var(--iab2b-card-width); width: var(--iab2b-card-width); height: var(--iab2b-card-height); overflow: hidden; padding: 0; color: #fff; border: 1px solid rgba(255, 255, 255, .2); border-radius: var(--iab2b-card-radius); background: #11283a; box-shadow: 0 11px 29px rgba(0, 0, 0, .27); cursor: pointer; text-align: left; transition: transform var(--iab2b-hero-fast), border-color var(--iab2b-hero-fast), opacity var(--iab2b-hero-fast), box-shadow var(--iab2b-hero-fast); }
.iab2b-smooth-hero__card-item:not(.is-active) { opacity: var(--iab2b-card-opacity); }
.iab2b-smooth-hero__card-item:hover, .iab2b-smooth-hero__card-item:focus-visible { transform: translateY(-4px); border-color: rgba(255, 255, 255, .72); opacity: 1; outline: none; }
.iab2b-smooth-hero__card-item.is-active { flex-basis: var(--iab2b-active-card-width); width: var(--iab2b-active-card-width); height: var(--iab2b-active-card-height); border-color: rgba(111, 212, 255, .7); box-shadow: 0 16px 36px rgba(0, 0, 0, .35); opacity: 1; transform: translateY(var(--iab2b-card-active-offset)); }
.iab2b-smooth-hero__card-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .55s ease; }
.iab2b-smooth-hero__card-item:hover .iab2b-smooth-hero__card-img, .iab2b-smooth-hero__card-item:focus-visible .iab2b-smooth-hero__card-img { transform: scale(1.05); }
.iab2b-smooth-hero__card-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 3px; padding: var(--iab2b-card-padding); background: linear-gradient(0deg, color-mix(in srgb, var(--iab2b-card-overlay-color) var(--iab2b-card-overlay-strength), transparent) 0%, color-mix(in srgb, var(--iab2b-card-overlay-color) 38%, transparent) 48%, transparent 78%); }
.iab2b-smooth-hero__card-num { color: #8bddfb !important; font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-shadow: 0 1px 5px rgba(0, 0, 0, .8); }
.iab2b-smooth-hero__card-title { margin: 0; color: #fff !important; font-size: .78rem; font-weight: 700; line-height: 1.25; text-shadow: 0 1px 5px rgba(0, 0, 0, .85); }
.iab2b-smooth-hero__controls { display: flex; align-items: center; gap: 9px; color: rgba(255, 255, 255, .78); }
.iab2b-smooth-hero__controls::before { width: 48px; height: 1px; content: ''; background: rgba(255, 255, 255, .45); }
.iab2b-smooth-hero__fraction { min-width: 39px; font-size: .7rem; letter-spacing: .1em; }
.iab2b-smooth-hero__fraction-current { color: #fff; font-weight: 700; }
.iab2b-smooth-hero__ctrl-btn { display: inline-flex; align-items: center; justify-content: center; width: 29px; height: 29px; padding: 0; color: #fff; border: 1px solid rgba(255, 255, 255, .33); border-radius: 50%; background: rgba(7, 27, 48, .22); cursor: pointer; transition: background var(--iab2b-hero-fast), border-color var(--iab2b-hero-fast); }
.iab2b-smooth-hero__ctrl-btn:hover, .iab2b-smooth-hero__ctrl-btn:focus-visible { border-color: #fff; background: rgba(7, 27, 48, .56); outline: none; }
.iab2b-smooth-hero__ctrl-btn svg { width: 15px; height: 15px; }
@media (max-width: 1024px) {
  .iab2b-smooth-hero { min-height: 100vh; min-height: 100svh; min-height: 100dvh; }
  .iab2b-smooth-hero__container { padding: 78px 28px 62px; }
  .iab2b-smooth-hero__cards-column { right: 28px; bottom: 54px; }
  .iab2b-smooth-hero { --iab2b-card-width: 120px; --iab2b-card-height: 166px; --iab2b-active-card-width: 132px; --iab2b-active-card-height: 184px; --iab2b-card-gap: 8px; --iab2b-rail-inline-offset: 28px; --iab2b-rail-bottom-offset: 54px; }
}
@media (max-width: 700px) {
  .iab2b-smooth-hero { align-items: flex-end; min-height: 100vh; min-height: 100svh; min-height: 100dvh; padding: 104px 0 44px; }
  .iab2b-smooth-hero__overlay { background: linear-gradient(180deg, rgba(4, 17, 31, .31), rgba(4, 17, 31, .08) 25%, rgba(4, 17, 31, .73) 68%, rgba(4, 17, 31, .93)); }
  .iab2b-smooth-hero__container { align-items: flex-start; flex-direction: column; justify-content: flex-end; min-height: auto; padding: 0 20px; }
  .iab2b-smooth-hero { --iab2b-content-width: 100%; --iab2b-content-offset-x: 0px; --iab2b-content-offset-y: 0px; --iab2b-card-width: 116px; --iab2b-card-height: 154px; --iab2b-active-card-width: 126px; --iab2b-active-card-height: 168px; --iab2b-card-active-offset: -4px; }
  .iab2b-smooth-hero__title { max-width: 350px; font-size: clamp(2.2rem, 10vw, 3rem); }
  .iab2b-smooth-hero__desc { max-width: 340px; font-size: .9rem; line-height: 1.55; }
  .iab2b-smooth-hero__actions { gap: 13px; }
  .iab2b-smooth-hero__btn { min-height: 43px; padding: 10px 17px; }
  .iab2b-smooth-hero__cards-column { position: static; align-items: flex-start; width: 100%; margin-top: 27px; }
  .iab2b-smooth-hero__cards-deck { width: calc(100vw - 20px); padding: 4px 20px 4px 0; overflow-x: auto; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .iab2b-smooth-hero__cards-deck::-webkit-scrollbar { display: none; }
  .iab2b-smooth-hero__card-item { scroll-snap-align: start; }
  .iab2b-smooth-hero__card-overlay { padding: 10px; }
  .iab2b-smooth-hero__card-title { font-size: .72rem; }
  .iab2b-smooth-hero__controls { padding-left: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  .iab2b-smooth-hero *, .iab2b-smooth-hero *::before, .iab2b-smooth-hero *::after { animation: none !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .iab2b-smooth-hero__bg-img, .iab2b-smooth-hero__slide-bg.is-active .iab2b-smooth-hero__bg-img { transform: none; }
}
