.lwsh,.lwsh *{box-sizing:border-box}
.lwsh{
	--lw-accent:#7c0df2;--lw-btn:#0b5d1e;--lw-text:#0e0e12;--lw-h:740px !important;
	position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
	gap:68px;align-items:center;width:100%;height:var(--lw-h);overflow:hidden;
	background:transparent !important;
}
.lwsh-left{padding:0 0 0 clamp(24px,9vw,218px);display:flex;flex-direction:column;align-items:flex-start;gap:22px;z-index:2}

/* avatar */
.lwsh-avatar{display:flex;align-items:center;gap:10px;font-size:15px;color:#555}
.lwsh-avatar img{width:37px;height:37px;border-radius:8px;object-fit:cover}

/* badge */
.lwsh-badge{background:#e9f7d6;color:#16301a;font-weight:600;font-size:15px;padding:10px 16px;border-radius:10px}

/* title */
.lwsh-title{margin:0;font-size:clamp(38px,5.2vw,71px); text-transform :uppercase; line-height:1.08;font-weight:800;letter-spacing:-.025em;color:var(--lw-text)}
.lwsh-word-wrap{display:inline-block;position:relative;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.lwsh-word{
	display:inline-block;background:linear-gradient(90deg,var(--lw-accent),#b44cff);
	-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
	transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .45s ease;
}
.lwsh-word.is-out-up{transform:translateY(-110%);opacity:0}
.lwsh-word.is-in-below{transform:translateY(110%);opacity:0;transition:none}
.lwsh-word.is-fade-out{opacity:0}
.lwsh-word.is-caret::after{content:"";display:inline-block;width:.06em;height:.85em;margin-left:.05em;background:var(--lw-accent);vertical-align:-.05em;animation:lwsh-blink .8s steps(1) infinite;-webkit-text-fill-color:initial}
@keyframes lwsh-blink{50%{opacity:0}}
.lwsh-rest{display:inline}

.lwsh-desc{margin:0;max-width:520px;font-size:clamp(16px,1.5vw,20px);line-height:1.65;color:#66666f}

/* button */
.lwsh-btn{
	display:inline-block;background:var(--lw-btn);color:#fff!important;text-decoration:none!important;font-weight:700;font-size:18px;
	padding:19px 34px;border-radius:999px;box-shadow:0 14px 30px -10px var(--lw-btn);
	transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}
.lwsh-btn:hover{transform:translateY(-3px);filter:brightness(1.12);box-shadow:0 18px 34px -10px var(--lw-btn)}

/* entrance animation */
.lwsh-reveal{opacity:0;transform:translateY(18px);animation:lwsh-in .8s cubic-bezier(.22,1,.36,1) forwards}
.lwsh-badge{animation-delay:.05s}.lwsh-title{animation-delay:.15s}.lwsh-desc{animation-delay:.3s}.lwsh-btn{animation-delay:.45s}
@keyframes lwsh-in{to{opacity:1;transform:none}}

/* right side */
.lwsh-right{
	display:grid;grid-template-columns:repeat(3,1fr);gap:14px;height:100%;padding-right:14px;overflow:hidden;
	-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 91%,transparent 100%);
	mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 91%,transparent 100%);
}
.lwsh-col{overflow:hidden;height:100%}
.lwsh-track{display:flex;flex-direction:column;animation:lwsh-down var(--lw-dur,40s) linear infinite;will-change:transform}
.lwsh-up .lwsh-track{animation-name:lwsh-up}
.lwsh-pause:hover .lwsh-track{animation-play-state:paused}
.lwsh-set{display:flex;flex-direction:column;gap:14px;padding-bottom:14px}

/* top -> bottom */
@keyframes lwsh-down{from{transform:translate3d(0,-50%,0)}to{transform:translate3d(0,0,0)}}
@keyframes lwsh-up{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-50%,0)}}

.lwsh-card{position:relative;border-radius:18px;overflow:hidden;background:#eee;min-height:150px;flex:none}
.lwsh-card img{display:block;width:100%;height:auto;object-fit:cover}
.lwsh-tag{position:absolute;right:10px;bottom:10px;background:rgba(15,15,20,.78);color:#fff;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;backdrop-filter:blur(4px)}
.lwsh-cover{position:absolute;inset:0}

/* staggered start so columns don't line up */
.lwsh-col:nth-child(2) .lwsh-track{animation-delay:-9s}
.lwsh-col:nth-child(3) .lwsh-track{animation-delay:-17s}

/* responsive */
@media (max-width:900px){
	.lwsh{grid-template-columns:1fr;height:auto;gap:32px;padding:48px 0 0}
	.lwsh-left{padding:0 24px}
	.lwsh-right{height:420px;padding:0 14px}
}
@media (max-width:520px){
	.lwsh-right{gap:8px;height:360px}
	.lwsh-btn{font-size:16px;padding:16px 26px}
}
@media (prefers-reduced-motion:reduce){
	.lwsh-track{animation:none}
	.lwsh-reveal{animation:none;opacity:1;transform:none}
}
