/* Figma 2439:136702 artwork. Images dissolve; text exits before the next copy appears. */
.yn-homepage .yn-home-banner {
    position: relative;
    isolation: isolate;
    overflow: clip;
    background: var(--yn-home-surface);
    border-block: 1px solid #7a441166;
    box-shadow: 0 -4px 25px #0003, 0 14px 28px #0003;
    margin-bottom: 24px;
    touch-action: pan-y;
}
.yn-homepage .yn-home-banner__slides { display: grid; }
.yn-homepage .yn-home-banner__slide {
    grid-area: 1 / 1;
    min-width: 0;
    min-height: 520px;
    position: relative;
    isolation: isolate;
    overflow: clip;
    background: var(--yn-home-surface);
}
.yn-homepage .yn-home-banner__slide[hidden] { display: none; }
.yn-homepage .yn-home-banner.is-enhanced .yn-home-banner__slide {
    background: transparent;
    visibility: hidden;
    pointer-events: none;
    transition: visibility 0s linear 800ms;
}
.yn-homepage .yn-home-banner.is-enhanced .yn-home-banner__slide.is-active { visibility: visible; pointer-events: auto; z-index: 1; transition-delay: 0s; }
.yn-homepage .yn-home-banner__photo { position: absolute; inset: 0 auto 0 14%; width: 43%; background: #fff; isolation: isolate; clip-path: polygon(0 0, 68% 0, 100% 100%, 0 100%); z-index: -1; }
.yn-homepage .yn-home-banner__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 56%; }
.yn-homepage .yn-home-banner__slide:nth-child(2) .yn-home-banner__photo img { object-position: 65% 65%; }
.yn-homepage .yn-home-banner__slide:nth-child(4) .yn-home-banner__photo img { object-position: center 40%; }
.yn-homepage .yn-home-banner__slide:nth-child(n+5) .yn-home-banner__photo img { object-position: center; }
.yn-homepage .yn-home-banner__slide::before { content: ""; position: absolute; inset: 0 auto 0 11.8%; width: 2.5%; background: #d77c43; z-index: -1; }
.yn-homepage .yn-home-banner__stripe { position: absolute; height: 150%; top: -25%; transform: rotate(-20deg); z-index: -1; }
.yn-homepage .yn-home-banner__stripe--wide { left: 44%; width: 5.6%; background: #ff6c0d; box-shadow: 0 20px 25px -5px #7f1d1d33; }
.yn-homepage .yn-home-banner__stripe--narrow { left: 49%; width: 2.1%; background: #b34900; }
.yn-homepage .yn-home-banner__content {
    display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
    gap: 24px; width: min(743px, 40.4%); min-height: 520px; height: 100%;
    margin-left: 57.6%; padding: 40px clamp(32px, 3.7vw, 80px);
}
/* Separate the image and text timelines so two headlines never blend together.
   Keep text stationary to avoid resampling glyphs during a transform. */
.yn-homepage .yn-home-banner.is-enhanced .yn-home-banner__photo { opacity: 0; transition: opacity 800ms cubic-bezier(.25, .1, .25, 1); }
.yn-homepage .yn-home-banner.is-enhanced .is-active .yn-home-banner__photo { opacity: 1; }
.yn-homepage .yn-home-banner.is-enhanced .yn-home-banner__content { opacity: 0; transition: opacity 160ms ease-out; }
.yn-homepage .yn-home-banner.is-enhanced .is-active .yn-home-banner__content { opacity: 1; transition: opacity 400ms cubic-bezier(.22, .61, .36, 1) 200ms; }
.yn-homepage .yn-home-banner.is-enhanced .yn-home-banner__slide :is(.yn-home-banner__stripe, .yn-home-banner__triangle, .yn-home-banner__line, .yn-home-banner__line-end) { visibility: hidden; }
.yn-homepage .yn-home-banner.is-enhanced .is-active :is(.yn-home-banner__stripe, .yn-home-banner__triangle, .yn-home-banner__line, .yn-home-banner__line-end) { visibility: visible; }
.yn-homepage .yn-home-banner__eyebrow { display: flex; align-items: center; gap: 8px; color: #ff6c0d; font-size: 12px; line-height: 20px; font-weight: 700; letter-spacing: 2px; margin: 0; }
.yn-homepage .yn-home-banner__eyebrow img { flex: 0 0 auto; }
.yn-homepage .yn-home-banner h2 { font-size: clamp(34px, 2.61vw, 56px); line-height: 1.14; letter-spacing: -1.5px; font-weight: 800; margin: 0 0 8px; color: #1e1e1e; }
.yn-homepage .yn-home-banner__lead { color: #ff6c0d; font-size: 20px; font-weight: 600; line-height: 28px; margin: 0; }
.yn-homepage .yn-home-banner__copy { font-size: 18px; line-height: 26px; color: #6e6e6e; margin: 0; }
.yn-homepage .yn-home-banner__button { display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px; color: #fff; background: #ff6c0d; border-radius: 12px; font-size: 14px; font-weight: 800; box-shadow: 0 20px 25px -5px #7f1d1d33; }
.yn-homepage .yn-home-banner__button:hover { background: var(--yn-home-brand-text); }
.yn-homepage .yn-home-banner__triangle { position: absolute; left: 53%; top: 60px; transform: rotate(35deg); }
.yn-homepage .yn-home-banner__line { position: absolute; left: 49%; bottom: 35px; transform: rotate(70deg); }
.yn-homepage .yn-home-banner__line-end { position: absolute; right: 3.5%; bottom: 40px; transform: rotate(-20deg); }
.yn-homepage .yn-home-banner__controls { display: none; }
.yn-homepage .yn-home-banner.is-enhanced .yn-home-banner__controls { display: contents; }
.yn-homepage .yn-home-banner__arrow {
    position: absolute; z-index: 3; top: calc(50% - 22px); width: 44px; height: 44px;
    display: grid; place-items: center; padding: 0; border-radius: 50%; border: 1px solid #e6e2d8b3;
    background: #fdfcfabf; box-shadow: 0 2px 8px #00000005; cursor: pointer;
    transition: background 180ms, border-color 180ms;
}
.yn-homepage .yn-home-banner__arrow:hover { background: #fff; border-color: #f47b1b; }
.yn-homepage .yn-home-banner :is(button, a):focus { outline: 2px solid var(--yn-home-brand); outline-offset: 2px; }
.yn-homepage .yn-home-banner__arrow--prev { left: 24px; }
.yn-homepage .yn-home-banner__arrow--prev img { transform: rotate(180deg); }
.yn-homepage .yn-home-banner__arrow--next { right: 24px; }
/* Keyboard users retain a pause control without a permanent visual toolbar. */
.yn-homepage .yn-home-banner__toggle { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.yn-homepage .yn-home-banner__toggle:focus-visible { top: 16px; right: 24px; z-index: 4; width: auto; height: 40px; padding: 0 16px; margin: 0; clip-path: none; border: 1px solid var(--yn-home-line); border-radius: 8px; background: var(--yn-home-bg); color: var(--yn-home-text); font: 500 12px/16px Inter, sans-serif; }
@media (max-width: 1599px) {
    .yn-homepage .yn-home-banner__content { margin-left: 54%; width: 44%; padding: 40px 48px 40px 32px; gap: 20px; }
    .yn-homepage .yn-home-banner__copy { font-size: 16px; line-height: 24px; }
    .yn-homepage .yn-home-banner__lead { font-size: 18px; line-height: 26px; }
    .yn-homepage .yn-home-banner__arrow--prev { left: 12px; }
    .yn-homepage .yn-home-banner__arrow--next { right: 12px; }
}
@media (max-width: 991px) {
    .yn-homepage .yn-home-banner__content { margin-left: 48%; width: 52%; padding-right: 48px; }
    .yn-homepage .yn-home-banner__photo { left: 0; width: 53%; }
    .yn-homepage .yn-home-banner__slide::before { display: none; }
    .yn-homepage .yn-home-banner__stripe--wide { left: 37%; width: 6%; }
    .yn-homepage .yn-home-banner__stripe--narrow { left: 43%; }
    .yn-homepage .yn-home-banner h2 { font-size: 32px; }
    .yn-homepage .yn-home-banner__eyebrow { font-size: 10px; letter-spacing: 1px; }
    .yn-homepage .yn-home-banner__triangle { left: 45%; }
    .yn-homepage .yn-home-banner__line { left: 41%; }
}
@media (max-width: 767px) {
    .yn-homepage .yn-home-banner__slide { min-height: 0; padding-top: 200px; }
    .yn-homepage .yn-home-banner__photo { left: 0; width: 100%; height: 220px; clip-path: polygon(0 0, 100% 0, 100% 75%, 0 100%); }
    .yn-homepage .yn-home-banner__stripe { display: none; }
    .yn-homepage .yn-home-banner__content { margin: 0; padding: 24px 20px 32px; width: 100%; min-height: 0; height: auto; gap: 18px; justify-content: flex-start; }
    .yn-homepage .yn-home-banner h2 { font-size: clamp(27px, 7.2vw, 34px); line-height: 1.18; letter-spacing: -.8px; overflow-wrap: break-word; }
    .yn-homepage .yn-home-banner__eyebrow { padding-right: 24px; font-size: 11px; line-height: 18px; letter-spacing: .66px; }
    .yn-homepage .yn-home-banner__lead { font-size: 17px; line-height: 25px; }
    .yn-homepage .yn-home-banner__copy { font-size: 14px; line-height: 22px; }
    .yn-homepage .yn-home-banner__button { min-height: 50px; padding: 12px 22px; border-radius: 18px; font-size: 13px; }
    .yn-homepage .yn-home-banner__triangle { top: 234px; left: auto; right: 20px; }
    .yn-homepage .yn-home-banner__line, .yn-homepage .yn-home-banner__line-end { display: none; }
    .yn-homepage .yn-home-banner__arrow { top: 90px; background: #fdfcfae6; }
}
@media (max-width: 991px), (hover: none) {
    .yn-homepage .yn-home-banner__toggle,
    .yn-homepage .yn-home-banner__toggle:focus-visible { top: 16px; left: 16px; right: auto; z-index: 4; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; margin: 0; clip-path: none; overflow: visible; border: 1px solid #e6e2d8; border-radius: 50%; background: #fdfcfae6; color: #15171c; font: 700 18px/1 Manrope, sans-serif; cursor: pointer; }
    .yn-homepage .yn-home-banner__toggle [data-banner-toggle-label] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .yn-homepage .yn-home-banner__toggle::before { content: 'Ⅱ'; }
    .yn-homepage .yn-home-banner__toggle[aria-pressed="true"]::before { content: '▶'; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    .yn-homepage .yn-home-banner.is-enhanced .yn-home-banner__slide,
    .yn-homepage .yn-home-banner.is-enhanced .yn-home-banner__photo,
    .yn-homepage .yn-home-banner.is-enhanced .yn-home-banner__slide .yn-home-banner__content { transition: none; }
}

.yn-homepage .yn-home-banner__photo::after { content: ""; position: absolute; inset: 0; background: #d06926d9; mix-blend-mode: multiply; pointer-events: none; }
@media (min-width: 1600px) {
    .yn-homepage .yn-home-banner__content { gap: 28px; padding-top: 40px; }
    .yn-homepage .yn-home-banner__eyebrow { font-size: 14px; }
    .yn-homepage .yn-home-banner__copy { min-height: 84px; font-size: 20px; line-height: 28px; }
}
