/* Talli Reviews — grid + carousel. No external libraries. */
.tw-reviews{position:relative;display:flex;flex-direction:column;font-family:var(--tw-font,'proxima-nova','Proxima Nova',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif);color:#1A1A1A;-webkit-font-smoothing:antialiased}
.tw-reviews *,.tw-reviews *::before,.tw-reviews *::after{box-sizing:border-box}

/* ---------- Card ---------- */
.tw-reviews .tw-card{position:relative;display:flex;flex-direction:column;min-width:0;margin:0;background:#FFDD00;border-radius:8px;padding:56px 40px 32px;transition:transform .35s cubic-bezier(.2,.7,.2,1),background-color .35s,box-shadow .35s}
.tw-reviews .tw-card:hover{transform:translateY(calc(-1 * var(--tw-lift,0px)))}
.tw-reviews .tw-quote{position:absolute;top:var(--tw-q-top,-14px);right:var(--tw-q-x,40px);width:var(--tw-q-size,64px);line-height:0;color:#1A1A1A;fill:currentColor;pointer-events:none;z-index:1}
.tw-q-left .tw-quote{right:auto;left:var(--tw-q-x,40px)}
.tw-reviews .tw-quote svg,.tw-reviews .tw-quote img{display:block;width:100%;height:auto;fill:currentColor}
.tw-reviews .tw-quote i{font-size:var(--tw-q-size,64px);line-height:1}
.tw-reviews .tw-quote.is-flip{transform:scaleX(-1)}
.tw-reviews .tw-stars{display:flex;gap:2px;margin-bottom:12px;color:#1A1A1A}
.tw-reviews .tw-stars svg{width:17px;height:17px;flex:none;fill:currentColor}
.tw-reviews .tw-text{font-size:clamp(15px,1.05vw,17px);line-height:var(--tw-lh-body,1.5em);font-weight:400;margin-bottom:24px;overflow-wrap:break-word}
.tw-reviews--carousel .tw-text{font-size:var(--tw-fs-body,clamp(16px,1.2vw,19px))}
.tw-reviews .tw-text p{margin:0 0 .6em;font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}
.tw-reviews .tw-text p:last-child{margin-bottom:0}
.tw-reviews .tw-author{display:flex;align-items:center;gap:16px}
.tw-author-bottom .tw-author{margin-top:auto}
.tw-reviews .tw-avatar{display:block;flex:none;width:56px;height:56px;max-width:none;border-radius:50%;object-fit:cover}
.tw-reviews .tw-meta{min-width:0}
.tw-reviews .tw-name{display:block;font-size:var(--tw-fs-btn,clamp(15px,1vw,16px));line-height:1.3;font-weight:600}
.tw-reviews .tw-role{display:block;margin-top:2px;font-size:var(--tw-fs-caption,clamp(12px,0.82vw,13px));line-height:var(--tw-lh-caption,1.4em)}

/* ---------- Grid ---------- */
.tw-reviews .tw-scroller{position:relative;padding-top:max(0px,calc(-1 * var(--tw-q-top,-14px)))}
.tw-reviews .tw-grid{display:grid;grid-template-columns:repeat(var(--tw-cols,3),minmax(0,1fr));gap:var(--tw-gap,16px)}
.tw-scroll .tw-scroller{max-height:var(--tw-box-h,none);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--tw-sb-thumb,#1A1A1A) var(--tw-sb-track,rgba(0,0,0,.06))}
.tw-scroll:not(.tw-no-sb) .tw-scroller.is-limited{padding-right:var(--tw-sb-space,10px)}
.tw-scroll .tw-scroller::-webkit-scrollbar{width:6px}
.tw-scroll .tw-scroller::-webkit-scrollbar-track{background:var(--tw-sb-track,rgba(0,0,0,.06));border-radius:6px}
.tw-scroll .tw-scroller::-webkit-scrollbar-thumb{background:var(--tw-sb-thumb,#1A1A1A);border-radius:6px}
.tw-scroll.tw-no-sb .tw-scroller{padding-right:0;scrollbar-width:none;-ms-overflow-style:none}
.tw-scroll.tw-no-sb .tw-scroller::-webkit-scrollbar{display:none;width:0;height:0}
.tw-fade .tw-scroller.is-limited:not(.is-end){-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - var(--tw-fade,90px)),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - var(--tw-fade,90px)),transparent)}

/* ---------- Carousel ---------- */
.tw-reviews .tw-track{position:relative;overflow:hidden;outline:0;touch-action:pan-y;
	margin-left:calc(-1 * var(--tw-bleed-l,0px));margin-right:calc(-1 * var(--tw-bleed-r,0px));
	padding:max(0px,calc(-1 * var(--tw-q-top,-14px))) calc(var(--tw-bleed-r,0px) + var(--tw-inset,0px) + var(--tw-off-r,0px)) 12px calc(var(--tw-bleed-l,0px) + var(--tw-inset,0px) + var(--tw-off-l,0px))}
.tw-reviews .tw-track:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.tw-reviews .tw-rail{display:flex;gap:var(--tw-gap,16px);width:100%;margin:0;padding:0;transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden}
/* a card is never wider than the visible area, so it can't be cut off */
.tw-reviews .tw-rail>.tw-card{flex:0 0 min(var(--tw-card-w,544px),100%);min-width:0}
/* one card at a time: card fills the visible width */
.tw-reviews.tw-one .tw-rail>.tw-card{flex:0 0 100%}
.tw-drag .tw-track{cursor:grab}
.tw-reviews .tw-track.is-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}
.tw-reviews .tw-track.is-dragging .tw-card{pointer-events:none}
/* Left space: hidden copies until the carousel moves (fade in when moving backwards) */
.tw-reviews .tw-rail>.tw-card.is-clone-before{transition:opacity .6s ease,transform .35s cubic-bezier(.2,.7,.2,1),background-color .35s,box-shadow .35s}
.tw-left-fresh .tw-rail>.tw-card.is-clone-before{opacity:0;pointer-events:none}
.tw-left-instant .tw-rail>.tw-card.is-clone-before{transition:none}

.tw-edge-fade .tw-track{-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--tw-edge-fade,80px),#000 calc(100% - var(--tw-edge-fade,80px)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--tw-edge-fade,80px),#000 calc(100% - var(--tw-edge-fade,80px)),transparent)}

.tw-reviews .tw-nav{display:flex;gap:12px;margin-top:20px;justify-content:flex-end;padding:0 calc(var(--tw-inset,0px) + var(--tw-off-r,0px)) 0 calc(var(--tw-inset,0px) + var(--tw-off-l,0px))}
.tw-reviews .tw-nav--bottom-left{justify-content:flex-start}
.tw-reviews .tw-nav--bottom-center{justify-content:center}
.tw-reviews .tw-nav--top-right{order:-1;margin:0 0 16px}
.tw-reviews .tw-nav--sides{position:absolute;left:0;right:0;top:50%;margin:0;justify-content:space-between;transform:translateY(-50%);pointer-events:none;z-index:3;padding:0 8px}
.tw-reviews .tw-nav--sides .tw-arrow{pointer-events:auto;box-shadow:0 4px 18px rgba(0,0,0,.15)}
.tw-reviews.is-static .tw-nav,.tw-reviews.is-static .tw-dots{display:none}

.tw-reviews .tw-arrow{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-height:0;padding:0;margin:0;border:0;border-radius:50%;background:#1A1A1A;color:#FFDD00;cursor:pointer;line-height:1;font-size:0;box-shadow:none;text-transform:none;transition:background-color .25s,color .25s,opacity .25s,transform .25s}
.tw-reviews .tw-arrow:hover,.tw-reviews .tw-arrow:focus{background:#FFDD00;color:#1A1A1A}
.tw-reviews .tw-arrow:focus-visible{outline:2px solid #1A1A1A;outline-offset:3px}
.tw-reviews .tw-arrow:active{transform:scale(.94)}
.tw-reviews .tw-arrow:disabled{opacity:.3;cursor:default;transform:none}
.tw-reviews .tw-arrow svg{width:42%;height:42%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

.tw-reviews .tw-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:16px}
.tw-reviews .tw-dot{width:10px;height:10px;min-height:0;padding:0;margin:0;border:0;border-radius:50%;background:#D9D9D9;cursor:pointer;box-shadow:none;transition:background-color .25s,transform .25s}
.tw-reviews .tw-dot:hover,.tw-reviews .tw-dot:focus{background:#9a9a9a}
.tw-reviews .tw-dot.is-active{background:#1A1A1A;transform:scale(1.25)}

@media (max-width:767px){
	.tw-reviews .tw-nav--sides{display:none}
}
@media (prefers-reduced-motion:reduce){
	.tw-reviews .tw-card,.tw-reviews .tw-arrow{transition:none}
}

/* ---------- Read More: card clamp, CTA link/button (shared style) ---------- */
.tw-reviews .tw-text.tw-clamp:not(.is-open){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--tw-clamp,6);overflow:hidden}
.tw-reviews .tw-text.tw-clamp p{display:inline}
.tw-reviews .tw-text.tw-clamp p+p::before{content:"";display:block;height:.6em}
.tw-reviews .tw-text.tw-clamp.is-open{display:block}

.tw-reviews .tw-cta-wrap{display:flex;justify-content:var(--tc-align,center);margin-top:var(--tc-space,32px);padding:0 calc(var(--tw-inset,0px) + var(--tw-off-r,0px)) 0 calc(var(--tw-inset,0px) + var(--tw-off-l,0px))}
.tw-reviews .tw-cta-wrap[hidden]{display:none}
.tw-reviews .tw-cta.tw-cta{
	--_c:var(--tc-c,#1A1A1A);--_i:var(--tc-i,var(--_c));--_bg:var(--tc-bg,#FFDD00);--_bt:var(--tc-bt,#1A1A1A);--_b:var(--tc-b,var(--_bg));
	display:inline-flex;align-items:center;gap:8px;width:auto;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;
	color:var(--_c);font-family:inherit;font-size:var(--tw-fs-btn,clamp(15px,1vw,16px));font-weight:600;line-height:1.3;letter-spacing:inherit;text-transform:none;text-decoration:none;
	cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .3s ease,background-color .3s ease,border-color .3s ease
}
.tw-reviews .tw-cta.tw-cta--button{padding:14px 22px;border:var(--tc-bw,0px) solid var(--_b);border-radius:var(--tc-r,5px);background:var(--_bg);color:var(--_bt);--_i:var(--tc-i,var(--_bt));text-transform:uppercase}
.tw-reviews .tw-cta.tw-cta:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.tw-reviews .tw-cta .tw-cta__t{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:1px;transition:background-size .35s cubic-bezier(.22,.61,.36,1)}
.tw-reviews .tw-cta .tw-cta__i{display:inline-flex;flex:none;width:var(--tc-is,13px);height:var(--tc-is,13px);color:var(--_i);transition:transform .35s cubic-bezier(.22,.61,.36,1),color .3s ease}
.tw-reviews .tw-cta .tw-cta__i svg{display:block;width:100%;height:100%}
.tw-reviews .tw-cta.tw-more[aria-expanded="true"] .tw-cta__i,.tw-reviews .tw-cta.tw-more-btn.is-less .tw-cta__i{transform:rotate(180deg)}
/* card "Read more" link: only when the text is actually cut */
.tw-reviews .tw-card .tw-cta.tw-more{display:none;align-self:flex-start;margin:-12px 0 24px;font-size:var(--tw-fs-caption,clamp(13px,.9vw,14px))}
.tw-reviews .tw-card.has-more .tw-cta.tw-more{display:inline-flex}
/* hover effects: underline / arrow / colour (each switchable) */
@media (hover:hover){
	.tw-fx-u .tw-cta.tw-cta:hover .tw-cta__t{background-size:100% 1px}
	.tw-fx-a.tw-arrow-diag .tw-cta:not(.tw-more):hover .tw-cta__i{transform:translate(3px,-3px)}
	.tw-fx-a.tw-arrow-right .tw-cta:hover .tw-cta__i{transform:translateX(4px)}
	.tw-fx-a .tw-cta.tw-more[aria-expanded="false"]:hover .tw-cta__i,.tw-fx-a .tw-cta.tw-more-btn:not(.is-less):hover .tw-cta__i,.tw-fx-a.tw-arrow-down .tw-cta:not(.is-less):not([aria-expanded="true"]):hover .tw-cta__i{transform:translateY(3px)}
	.tw-fx-c .tw-cta.tw-cta:hover{--_c:var(--tc-c-h,#E8604C);--_i:var(--tc-i-h,var(--_c));--_bg:var(--tc-bg-h,#1A1A1A);--_bt:var(--tc-bt-h,#FFDD00);--_b:var(--tc-b-h,var(--_bg))}
	.tw-fx-c .tw-cta.tw-cta--button:hover{--_i:var(--tc-i-h,var(--_bt))}
}
.tw-fx-u .tw-cta.tw-cta:focus-visible .tw-cta__t{background-size:100% 1px}

/* grid "Read more" mode */
.tw-reviews .tw-grid>.tw-card.is-hidden{display:none}
.tw-more-mode .tw-grid>.tw-card{transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1),background-color .35s,box-shadow .35s}
.tw-more-mode .tw-grid>.tw-card.tw-reveal{opacity:0;transform:translateY(18px)}
.tw-reviews .tw-text.tw-clamp.is-anim{overflow:hidden;transition:height .45s cubic-bezier(.22,.61,.36,1)}
@media (prefers-reduced-motion:reduce){
	.tw-reviews .tw-cta .tw-cta__t,.tw-reviews .tw-cta .tw-cta__i,.tw-more-mode .tw-grid>.tw-card{transition:none}
}
