/* A connected film ribbon; isolated from the original story folio. */
.story-wave{--wave-accent:var(--studio-color-accent);position:relative;isolation:isolate;max-width:1680px;margin-inline:auto;padding:38px clamp(16px,4vw,64px);color:var(--studio-color-text);overflow:clip}
.story-wave-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:28px}.story-wave-heading>div:first-child{max-width:760px;min-width:0}
.story-wave-eyebrow{color:var(--wave-accent);font-size:11px;letter-spacing:.07em}.story-wave-heading h2{color:var(--studio-color-heading);font-size:clamp(25px,2.6vw,40px);line-height:1.5;margin:5px 0 8px;overflow-wrap:anywhere}.story-wave-heading p{color:var(--studio-color-text-muted);font-size:13px;line-height:1.85;margin:0}
.story-wave-tools{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0;font-size:12px;color:var(--studio-color-text-muted)}.story-wave-tools button{background:none;border:0;padding:8px 0;min-height:36px;color:var(--wave-accent);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.story-wave-group+.story-wave-group{margin-top:38px}.story-wave-chapter{display:flex;align-items:center;gap:16px;margin-bottom:12px}.story-wave-chapter>span{font-size:12px;color:var(--wave-accent)}.story-wave-chapter>i{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--studio-color-border),transparent)}.story-wave-chapter>small{font-size:11px;color:var(--studio-color-text-muted)}
.story-wave-ribbon{display:flex;gap:3px;height:clamp(270px,27vw,380px);padding-block:0;isolation:isolate;clip-path:polygon(0 5%,10% 3%,20% 2%,30% 3%,40% 5%,50% 6%,60% 5%,70% 3%,80% 2%,90% 3%,100% 5%,100% 95%,90% 97%,80% 98%,70% 97%,60% 95%,50% 94%,40% 95%,30% 97%,20% 98%,10% 97%,0 95%)}
.story-wave-card{position:relative;isolation:isolate;flex:1 1 0;min-width:0;overflow:hidden;background:var(--studio-color-surface);transition:flex-grow .65s cubic-bezier(.2,.7,.2,1)}.story-wave-card.is-selected{flex-grow:1.24}.story-wave-card::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,#060809ed 2%,#06080985 31%,transparent 65%);pointer-events:none}.story-wave-card::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(115deg,transparent 25%,#fff2 46%,transparent 65%);transform:translateX(-120%);pointer-events:none}
.story-wave-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.04);transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s;filter:saturate(.82)}.story-wave-card.is-selected>img{transform:scale(1.1);filter:saturate(1.07)}
.story-wave-fallback{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--wave-accent) 18%,var(--studio-color-surface)),var(--studio-color-canvas));color:var(--wave-accent)}.story-wave-fallback svg{width:48px;height:48px;opacity:.4}
.story-wave-select{position:absolute;z-index:3;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;border-radius:0}.story-wave-select[aria-selected=true]{box-shadow:inset 0 -3px var(--wave-accent)}
.story-wave-title{position:absolute;z-index:4;inset-inline:20px 54px;bottom:clamp(28px,3vw,42px);pointer-events:none;min-width:0;color:#fff}.story-wave-title>small{display:block;font-size:10px;line-height:1.7;opacity:.8;margin-bottom:7px}.story-wave-title>strong{font-size:clamp(17px,1.6vw,24px);line-height:1.55;text-shadow:0 2px 14px #000a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.story-wave-card .vip-badge{z-index:4;top:30px;pointer-events:none}
.story-wave-actions{position:absolute;z-index:5;top:32px;left:12px;display:flex;flex-direction:column;gap:6px}.story-wave-actions button,.story-wave-direct{display:grid;place-items:center;width:36px;height:36px;min-width:36px;padding:8px;border:1px solid #ffffff66;border-radius:50%;color:#fff;background:#0b1116a8;backdrop-filter:blur(9px);cursor:pointer;transition:background .2s,transform .2s,opacity .2s}.story-wave-actions svg,.story-wave-direct svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.story-wave-direct{position:absolute;z-index:5;bottom:36px;inset-inline-end:12px;text-decoration:none}
.story-wave-stories{margin-top:12px;border-block-start:1px solid var(--studio-color-border)}.story-wave-story{position:relative;display:flex;align-items:center;gap:32px;justify-content:space-between;padding:22px 24px;min-height:170px;background:linear-gradient(110deg,transparent,color-mix(in srgb,var(--wave-accent) 6%,transparent));border-inline-start:2px solid var(--wave-accent)}.story-wave-story[hidden]{display:none!important}.story-wave-copy{min-width:0;max-width:880px}.story-wave-copy>span{font-size:10px;color:var(--wave-accent)}.story-wave-copy h3{font-size:18px;line-height:1.6;color:var(--studio-color-heading);margin:3px 0 5px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.story-wave-copy p{font-size:13px;line-height:1.9;color:var(--studio-color-text-muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;min-height:3.8em;max-height:3.8em}
.story-wave-links{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.story-wave-links>a{display:flex;justify-content:center;align-items:center;gap:20px;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:6px;background:var(--wave-accent);color:var(--studio-color-accent-contrast,#111);font-size:12px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s}.story-wave-links>button{border:0;background:none;color:var(--wave-accent);font:inherit;font-size:11px;min-height:32px;cursor:pointer;padding:4px 12px}
.story-wave-empty{padding:30px;border-block:1px solid var(--studio-color-border);color:var(--studio-color-text-muted)}.story-wave-empty strong{font-size:21px;color:var(--studio-color-heading)}
.story-wave :is(button,a,[tabindex]):focus-visible{outline:2px solid var(--wave-accent);outline-offset:4px}.story-wave-select:focus-visible{outline-offset:-10px}
@media(hover:hover) and (pointer:fine){.story-wave-actions,.story-wave-direct{opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity .2s,transform .3s}.story-wave-card:hover .story-wave-actions,.story-wave-card:hover .story-wave-direct,.story-wave-card:focus-within .story-wave-actions,.story-wave-card:focus-within .story-wave-direct{opacity:1;pointer-events:auto;transform:none}.story-wave-actions button:hover,.story-wave-direct:hover{background:var(--wave-accent);color:#111;transform:translateY(-2px)}.story-wave-links>a:hover{transform:translateY(-2px);box-shadow:0 8px 26px color-mix(in srgb,var(--wave-accent) 18%,transparent)}}
@media(prefers-reduced-motion:no-preference){.story-wave-ribbon{animation:story-wave-flow 9s ease-in-out infinite alternate;animation-play-state:paused}.story-wave.is-in-view:not(.is-motion-paused):not(:focus-within) .story-wave-ribbon{animation-play-state:running}.story-wave-ribbon:hover{animation-play-state:paused!important}.story-wave-card.is-selected::before{animation:story-wave-glint .9s ease both}.story-wave-story.is-entering .story-wave-copy{animation:story-wave-reveal .38s ease both}@keyframes story-wave-flow{to{clip-path:polygon(0 3%,10% 5%,20% 6%,30% 5%,40% 3%,50% 2%,60% 3%,70% 5%,80% 6%,90% 5%,100% 3%,100% 97%,90% 95%,80% 94%,70% 95%,60% 97%,50% 98%,40% 97%,30% 95%,20% 94%,10% 95%,0 97%)}}@keyframes story-wave-glint{to{transform:translateX(120%)}}@keyframes story-wave-reveal{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media(max-width:900px){.story-wave{padding-inline:22px}.story-wave-ribbon{height:290px}.story-wave-title{inset-inline:12px 44px;bottom:27px}.story-wave-title>strong{font-size:17px}.story-wave-title>small{font-size:9px}.story-wave-story{padding:18px;gap:18px}.story-wave-actions{left:8px}.story-wave-actions button,.story-wave-direct{width:32px;height:32px;min-width:32px;padding:7px}.story-wave-direct{inset-inline-end:8px;bottom:30px}}
@media(max-width:600px){.story-wave{padding:26px 16px}.story-wave-heading{display:block;margin-bottom:18px}.story-wave-heading p{font-size:12px}.story-wave-tools{flex-direction:row;align-items:center;justify-content:space-between;margin-top:10px;font-size:10px}.story-wave-chapter{gap:10px}.story-wave-chapter>small{font-size:10px}.story-wave-ribbon{display:grid;grid-template-columns:repeat(min(var(--wave-count),2),minmax(0,1fr));height:auto;gap:8px;clip-path:none!important;animation:none!important}.story-wave-card{height:230px;border-radius:14px 14px 8px 8px}.story-wave-card:nth-child(even){border-radius:14px 14px 8px 8px}.story-wave-card:only-child{height:270px;border-radius:8px}.story-wave-card>img{object-position:center}.story-wave-card .vip-badge{top:16px;inset-inline-end:10px}.story-wave-actions{top:16px;left:9px;gap:5px}.story-wave-actions button{width:30px;height:30px;min-width:30px;padding:6px}.story-wave-title{inset-inline:12px 40px;bottom:17px}.story-wave-title>strong{font-size:15px;line-height:1.55}.story-wave-title>small{font-size:8px;margin-bottom:4px}.story-wave-direct{bottom:18px;width:30px;height:30px;min-width:30px}.story-wave-story{display:block;min-height:0;padding:17px 15px}.story-wave-copy h3{font-size:17px}.story-wave-copy p{font-size:12px;-webkit-line-clamp:3;min-height:5.7em;max-height:5.7em}.story-wave-links{flex-direction:row;justify-content:space-between;margin-top:14px;gap:8px}.story-wave-links>a{font-size:11px;padding-inline:12px;gap:12px}.story-wave-group+.story-wave-group{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.story-wave *,.story-wave *::before{animation:none!important;transition:none!important}}

.story-wave-card.is-selected .story-wave-title>small{color:var(--wave-accent);opacity:1}.story-wave-actions button.is-active{background:var(--wave-accent);color:#111}.story-wave-actions button.is-active svg{fill:currentColor}

.story-wave-links>a.story-wave-full-story{background:none;color:var(--wave-accent);border:0;min-height:32px;padding:4px 12px;font-size:11px;font-weight:400;box-shadow:none}
