@keyframes promoBanner-fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes promoBanner-shimmer{0%{background-position:-200% center}to{background-position:200% center}}.promoBanner-fullwidthWrap{max-width:1800px;margin:32px auto;padding:var(--container-padding)}.promoBanner{position:relative;display:block;overflow:hidden;text-decoration:none;color:#fff;border-radius:12px;will-change:transform}.promoBanner__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .4s ease;will-change:transform}.promoBanner:hover .promoBanner__bg{transform:scale(1.02)}.promoBanner__content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:6px;height:100%;padding:24px 32px}.promoBanner__title{font-size:1.375rem;font-weight:800;line-height:1.2;animation:promoBanner-fadeInUp .4s ease .1s both;text-shadow:0 1px 4px rgba(0,0,0,.25)}.promoBanner__subtitle{font-size:.875rem;font-weight:400;line-height:1.4;opacity:.9;animation:promoBanner-fadeInUp .4s ease .2s both;text-shadow:0 1px 3px rgba(0,0,0,.2)}.promoBanner__cta{display:inline-flex;align-items:center;gap:4px;font-size:.8125rem;font-weight:700;letter-spacing:.02em;margin-top:4px;animation:promoBanner-fadeInUp .4s ease .3s both;background:linear-gradient(90deg,#fff 0% 40%,#ffffff80 50%,#fff 60% 100%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.promoBanner:hover .promoBanner__cta{animation:promoBanner-shimmer 1.5s ease infinite;background:linear-gradient(90deg,#fff 0% 40%,#ffffff80 50%,#fff 60% 100%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.promoBanner__content{justify-content:flex-end;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.6) 45%,transparent 100%)}.promoBanner--fullwidth{width:100%;min-height:225px;border-radius:12px}.promoBanner--fullwidth .promoBanner__content{padding:32px 48px;justify-content:center;background:linear-gradient(to right,rgba(0,0,0,.85) 0%,rgba(0,0,0,.6) 60%,transparent 100%);width:55%;min-height:225px}.promoBanner--fullwidth .promoBanner__title{font-size:2.5rem;font-weight:900;line-height:1.05;white-space:nowrap}.promoBanner--fullwidth .promoBanner__subtitle{font-size:1.15rem;max-width:95%}@media(max-width:768px){.promoBanner--fullwidth{min-height:175px}.promoBanner--fullwidth .promoBanner__content{padding:20px;width:70%;min-height:175px}.promoBanner--fullwidth .promoBanner__title{font-size:1.5rem}.promoBanner--fullwidth .promoBanner__subtitle{font-size:.8125rem}}.promoBanner--card{width:100%;min-height:220px;border-radius:12px}.promoBanner--card .promoBanner__content{padding:28px 32px 32px;justify-content:flex-end;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.6) 45%,transparent 100%)}.promoBanner--card .promoBanner__title{font-size:2.5rem;font-weight:900;line-height:1.1}.promoBanner--card .promoBanner__subtitle{font-size:.95rem;line-height:1.5}@media(max-width:480px){.promoBanner--card{min-height:180px}.promoBanner--card .promoBanner__title{font-size:1.5rem}.promoBanner--card .promoBanner__subtitle{font-size:.8125rem}}.promoBanner--sidebar{width:100%;min-height:300px;border-radius:12px}.promoBanner--sidebar .promoBanner__content{padding:20px 20px 24px;justify-content:flex-end;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.65) 50%,transparent 100%)}.promoBanner--sidebar .promoBanner__title{font-size:1.8rem;font-weight:900;line-height:1.1}.promoBanner--sidebar .promoBanner__subtitle{font-size:.82rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.promoBanner--midcontent{width:100%;max-width:800px;min-height:160px;margin:24px auto;border-radius:12px}.promoBanner--midcontent .promoBanner__content{flex-direction:row;align-items:center;gap:16px;padding:20px 32px}.promoBanner--midcontent .promoBanner__title{font-size:1.25rem;white-space:nowrap}.promoBanner--midcontent .promoBanner__subtitle{flex:1;font-size:.875rem}.promoBanner--midcontent .promoBanner__cta{white-space:nowrap;margin-top:0}@media(max-width:768px){.promoBanner--midcontent{max-width:100%}.promoBanner--midcontent .promoBanner__content{flex-direction:column;align-items:flex-start;gap:6px;padding:20px}.promoBanner--midcontent .promoBanner__title{font-size:1.0625rem;white-space:normal}}
