/* TTP Service Showcase — 3D Flip layout.
   Only affects widgets set to "Layout: 3D Flip slider". Every colour and size
   here can be changed from the widget's Style tab in Elementor. */
.ttp-ss.ttp-ss--flip{
	--ttp-fl-bg:#f3f8f6;
	--ttp-fl-glow1:rgba(1,119,98,.34);
	--ttp-fl-glow2:rgba(45,212,191,.26);
	--ttp-fl-line:rgba(1,119,98,.14);
	--ttp-fl-panel:#0d100f;
	--ttp-fl-accent:#017762;
	--ttp-fl-accent2:#2dd4bf;
	--ttp-fl-shade:#021a15;
	--ttp-fl-shade-op:.55;
	--ttp-fl-navbg:#ffffff;
	--ttp-fl-dot:#c4d3cf;
	--ttp-fl-dot-on:#017762;
	--ttp-fl-h:540px;
	--ttp-fl-split:44%;
	--ttp-fl-radius:22px;
	--ttp-fl-depth:270px;
	--ttp-fl-bgspeed:1;
	position:relative;isolation:isolate;overflow:hidden;
	background:var(--ttp-fl-bg);color:#0d100f;
	padding:0;border-radius:0;
}
/* own background layer, so the older "Layout > Background" default can't cover it */
.ttp-ss.ttp-ss--flip::before{content:"";position:absolute;inset:0;z-index:0;background:var(--ttp-fl-bg);pointer-events:none}
.ttp-ss--flip .ttp-fl__inner{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:clamp(48px,7vw,110px) clamp(16px,4vw,48px)}

/* ---------- animated background ---------- */
.ttp-fl__bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.ttp-fl__glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.9;will-change:transform}
.ttp-fl__glow--1{width:46vw;height:46vw;max-width:640px;max-height:640px;left:-12%;top:-18%;background:var(--ttp-fl-glow1);animation:ttpFlDrift1 calc(22s / var(--ttp-fl-bgspeed)) ease-in-out infinite alternate}
.ttp-fl__glow--2{width:40vw;height:40vw;max-width:560px;max-height:560px;right:-10%;bottom:-20%;background:var(--ttp-fl-glow2);animation:ttpFlDrift2 calc(26s / var(--ttp-fl-bgspeed)) ease-in-out infinite alternate}
.ttp-fl__glow--3{width:26vw;height:26vw;max-width:380px;max-height:380px;left:45%;top:30%;background:var(--ttp-fl-glow1);opacity:.55;animation:ttpFlDrift3 calc(30s / var(--ttp-fl-bgspeed)) ease-in-out infinite alternate}
.ttp-fl__grid{position:absolute;inset:-60px;
	background-image:linear-gradient(var(--ttp-fl-line) 1px,transparent 1px),linear-gradient(90deg,var(--ttp-fl-line) 1px,transparent 1px);
	background-size:60px 60px;
	-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 50%,#000 20%,transparent 75%);
	mask-image:radial-gradient(ellipse 75% 70% at 50% 50%,#000 20%,transparent 75%);
	animation:ttpFlGrid calc(18s / var(--ttp-fl-bgspeed)) linear infinite}
.ttp-fl__shape{position:absolute;display:block;border:2px solid var(--ttp-fl-line);opacity:.9}
.ttp-fl__shape--ring{width:120px;height:120px;border-radius:50%;left:6%;bottom:12%;border-color:var(--ttp-fl-glow1);animation:ttpFlFloat calc(12s / var(--ttp-fl-bgspeed)) ease-in-out infinite}
.ttp-fl__shape--square{width:54px;height:54px;border-radius:12px;right:8%;top:12%;border-color:var(--ttp-fl-glow1);animation:ttpFlSpin calc(20s / var(--ttp-fl-bgspeed)) linear infinite}
.ttp-fl__shape--plus{width:30px;height:30px;border:0;left:48%;top:8%;animation:ttpFlFloat calc(9s / var(--ttp-fl-bgspeed)) ease-in-out infinite reverse}
.ttp-fl__shape--plus::before,.ttp-fl__shape--plus::after{content:"";position:absolute;left:50%;top:50%;width:100%;height:3px;margin:-1.5px 0 0 -50%;background:var(--ttp-fl-accent);opacity:.45;border-radius:2px}
.ttp-fl__shape--plus::after{transform:rotate(90deg)}
.ttp-fl__shape--dot{width:14px;height:14px;border:0;border-radius:50%;background:var(--ttp-fl-accent2);opacity:.5;right:30%;bottom:8%;animation:ttpFlFloat calc(7s / var(--ttp-fl-bgspeed)) ease-in-out infinite}
.ttp-fl--bg-glow .ttp-fl__grid,.ttp-fl--bg-glow .ttp-fl__shape{display:none}
.ttp-fl--bg-grid .ttp-fl__glow,.ttp-fl--bg-grid .ttp-fl__shape{display:none}
@keyframes ttpFlDrift1{0%{transform:translate(0,0) scale(1)}50%{transform:translate(18vw,10vh) scale(1.15)}100%{transform:translate(6vw,26vh) scale(.95)}}
@keyframes ttpFlDrift2{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-16vw,-12vh) scale(1.1)}100%{transform:translate(-4vw,-28vh) scale(1.2)}}
@keyframes ttpFlDrift3{0%{transform:translate(0,0) scale(.9)}100%{transform:translate(-22vw,14vh) scale(1.25)}}
@keyframes ttpFlGrid{from{transform:translate(0,0)}to{transform:translate(60px,60px)}}
@keyframes ttpFlFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}
@keyframes ttpFlSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* ---------- heading ---------- */
.ttp-fl__head{margin:0 0 clamp(28px,4vw,56px)}
.ttp-fl__eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ttp-fl-accent);margin-bottom:12px}
.ttp-fl__eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ttp-fl-accent);box-shadow:0 0 0 5px rgba(1,119,98,.15);animation:ttpFlPulse 2.4s ease-in-out infinite}
@keyframes ttpFlPulse{0%,100%{box-shadow:0 0 0 4px rgba(1,119,98,.18)}50%{box-shadow:0 0 0 9px rgba(1,119,98,0)}}
.ttp-ss--flip .ttp-fl__heading{margin:0;padding:0;font-size:clamp(34px,5.4vw,72px);line-height:1.02;font-weight:800;letter-spacing:-.02em;color:#0d100f}

/* ---------- stage ---------- */
.ttp-fl__wrap{position:relative;display:flex;align-items:center;gap:0}
.ttp-fl__stage{position:relative;flex:1;min-width:0;display:grid;grid-template-columns:var(--ttp-fl-split) minmax(0,1fr);
	min-height:var(--ttp-fl-h);border-radius:var(--ttp-fl-radius)}
.ttp-fl__stage::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
	box-shadow:0 40px 80px -30px rgba(2,26,21,.45),0 18px 36px -18px rgba(2,26,21,.3);transition:opacity .35s ease}
.ttp-fl__stage.ttp-fl--next::before,.ttp-fl__stage.ttp-fl--prev::before{opacity:0}
.ttp-ss--no-image .ttp-fl__stage{grid-template-columns:minmax(0,1fr)}
.ttp-fl__cube{position:relative;display:grid;min-width:0;perspective:1800px;perspective-origin:50% 50%}
.ttp-fl__cube--media{border-radius:var(--ttp-fl-radius) 0 0 var(--ttp-fl-radius)}
.ttp-fl__cube--content{border-radius:0 var(--ttp-fl-radius) var(--ttp-fl-radius) 0}
.ttp-ss--no-image .ttp-fl__cube--content{border-radius:var(--ttp-fl-radius)}

.ttp-fl__face{grid-area:1/1;position:relative;min-width:0;visibility:hidden;
	backface-visibility:hidden;-webkit-backface-visibility:hidden;
	transform-origin:50% 50% calc(var(--ttp-fl-depth) * -1);
	animation-duration:var(--ttp-fl-dur);animation-fill-mode:both;animation-timing-function:cubic-bezier(.65,.05,.25,1)}
.ttp-fl__face.is-active,.ttp-fl__face.is-in,.ttp-fl__face.is-out{visibility:visible}
.ttp-fl__face.is-out{z-index:1}
.ttp-fl__face.is-in{z-index:2}

.ttp-fl__face--media{overflow:hidden;background:#0b2b25;border-radius:inherit}
.ttp-fl__face--media img,.ttp-ss--flip .ttp-ss__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;border-radius:0;transform:scale(1.06);transition:transform 6s ease}
.ttp-fl__face--media.is-active img{transform:scale(1)}
.ttp-fl__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,var(--ttp-fl-shade) 100%);opacity:var(--ttp-fl-shade-op)}
.ttp-fl__shade::after{content:"";position:absolute;inset:0;background:var(--ttp-fl-shade);opacity:.35}
.ttp-fl__imgtext{position:absolute;left:8%;right:8%;top:50%;transform:translateY(-50%);text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;gap:12px}
.ttp-fl__imgtitle{font-size:clamp(26px,3.4vw,50px);line-height:1.02;font-weight:800;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 6px 30px rgba(0,0,0,.35)}
.ttp-fl__imgsub{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;opacity:.9;padding:6px 14px;border:1px solid rgba(255,255,255,.45);border-radius:999px;backdrop-filter:blur(4px)}

.ttp-fl__face--content{background:var(--ttp-fl-panel);border-radius:inherit;overflow:hidden}
.ttp-ss.ttp-ss--flip .ttp-fl__card{position:relative;height:100%;background:transparent;border-radius:0;display:flex;flex-direction:column;justify-content:center;gap:0;
	padding:clamp(28px,4.5vw,64px) clamp(24px,5vw,76px) clamp(28px,4.5vw,64px) clamp(24px,4.5vw,64px);color:#fff}
.ttp-fl__card::before{content:"";position:absolute;right:-120px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(1,119,98,.35),transparent 70%);pointer-events:none}
.ttp-fl__mark{position:absolute;right:clamp(16px,3vw,40px);bottom:-.18em;font-size:clamp(120px,15vw,220px);line-height:1;font-weight:800;color:#fff;opacity:.04;pointer-events:none;letter-spacing:-.04em}
.ttp-fl__kicker{position:relative;display:inline-flex;align-items:center;gap:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--ttp-fl-accent2);margin-bottom:16px}
.ttp-fl__kicker::after{content:"";width:36px;height:1px;background:currentColor;opacity:.8}
.ttp-ss.ttp-ss--flip .ttp-fl__title{position:relative;margin:0 0 18px;font-size:clamp(24px,2.8vw,40px);line-height:1.08;font-weight:800;text-transform:uppercase;letter-spacing:.01em;color:#fff}
.ttp-ss.ttp-ss--flip .ttp-fl__desc{position:relative;margin:0 0 24px;font-size:16px;line-height:1.75;color:#c9d2cf}
.ttp-ss.ttp-ss--flip .ttp-fl__tags{position:relative;margin:0 0 28px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.ttp-ss.ttp-ss--flip .ttp-fl__tags li{display:inline-flex;align-items:center;gap:8px;margin:0;padding:5px 14px 5px 5px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:#e6eeeb;font-size:13px;line-height:1.2}
.ttp-fl__tag-ico{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--ttp-fl-accent);color:#fff;flex:none}
.ttp-fl__tag-ico svg{width:13px;height:13px}
.ttp-ss.ttp-ss--flip .ttp-fl__btn{position:relative;align-self:flex-start;display:inline-flex;align-items:center;gap:12px;padding:15px 26px;border-radius:12px;background:var(--ttp-fl-accent);border:0;color:#fff;font-size:15px;font-weight:600;text-decoration:none;box-shadow:0 12px 26px -12px rgba(1,119,98,.8);transition:background-color .3s,transform .3s,box-shadow .3s}
.ttp-ss.ttp-ss--flip .ttp-fl__btn:hover,.ttp-ss.ttp-ss--flip .ttp-fl__btn:focus-visible{background:#008970;color:#fff;transform:translateY(-2px);box-shadow:0 18px 30px -14px rgba(1,119,98,.9)}
.ttp-fl__btn svg{width:17px;height:17px;transition:transform .3s}
.ttp-fl__btn:hover svg{transform:translate(2px,-2px)}

/* content pieces slide in after the flip */
.ttp-fl__face--content.is-in .ttp-fl__kicker,.ttp-fl__face--content.is-in .ttp-fl__title,.ttp-fl__face--content.is-in .ttp-fl__desc,.ttp-fl__face--content.is-in .ttp-fl__tags,.ttp-fl__face--content.is-in .ttp-fl__btn{animation:ttpFlRise calc(var(--ttp-fl-dur) * .9) cubic-bezier(.2,.7,.2,1) both}
.ttp-fl__face--content.is-in .ttp-fl__title{animation-delay:calc(var(--ttp-fl-dur) * .08)}
.ttp-fl__face--content.is-in .ttp-fl__desc{animation-delay:calc(var(--ttp-fl-dur) * .16)}
.ttp-fl__face--content.is-in .ttp-fl__tags{animation-delay:calc(var(--ttp-fl-dur) * .24)}
.ttp-fl__face--content.is-in .ttp-fl__btn{animation-delay:calc(var(--ttp-fl-dur) * .32)}
@keyframes ttpFlRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* ---------- progress ---------- */
.ttp-fl__progress{position:absolute;left:var(--ttp-fl-split);right:0;bottom:0;height:3px;background:transparent;z-index:3;border-radius:0 0 var(--ttp-fl-radius) 0;overflow:hidden;transition:opacity .2s}
.ttp-fl--next .ttp-fl__progress,.ttp-fl--prev .ttp-fl__progress{opacity:0}
.ttp-ss--no-image .ttp-fl__progress{left:0}
.ttp-fl__progress i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--ttp-fl-accent),var(--ttp-fl-accent2));transform:scaleX(0);transform-origin:left}
.ttp-fl__progress.is-run i{animation:ttpFlBar linear both}
.ttp-fl__progress.is-paused i{animation-play-state:paused}
@keyframes ttpFlBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ---------- nav (vertical dots card) ---------- */
.ttp-fl__nav{position:relative;z-index:4;flex:none;margin-left:-22px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 10px;background:var(--ttp-fl-navbg);border-radius:18px;box-shadow:0 18px 40px -16px rgba(2,26,21,.35)}
.ttp-fl__count{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.06em;color:#6b7c77;display:flex;flex-direction:column;align-items:center;line-height:1.25}
.ttp-fl__count b{font-size:15px;color:#0d100f}
.ttp-fl__count i{font-style:normal;opacity:.5}
.ttp-fl__dots{display:flex;flex-direction:column;align-items:center;gap:9px;padding:4px 0}
.ttp-ss .ttp-fl__dot,.ttp-ss .ttp-fl__arrow{appearance:none;-webkit-appearance:none;border:0;margin:0;padding:0;box-shadow:none;cursor:pointer;font:inherit;line-height:1;text-transform:none;letter-spacing:normal}
.ttp-ss .ttp-fl__dot{position:relative;width:10px;height:10px;border-radius:999px;background:var(--ttp-fl-dot);transition:height .45s cubic-bezier(.65,.05,.25,1),background-color .3s}
.ttp-ss .ttp-fl__dot::before{content:"";position:absolute;inset:-6px}
.ttp-ss .ttp-fl__dot:hover{background:var(--ttp-fl-accent2)}
.ttp-ss .ttp-fl__dot.is-active{height:28px;background:var(--ttp-fl-dot-on)}
.ttp-ss .ttp-fl__dot:focus-visible,.ttp-ss .ttp-fl__arrow:focus-visible{outline:2px solid var(--ttp-fl-accent);outline-offset:3px}
.ttp-fl__tip{position:absolute;right:calc(100% + 18px);top:50%;transform:translate(8px,-50%);white-space:nowrap;background:#0d100f;color:#fff;font-size:12px;padding:6px 10px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.ttp-fl__dot:hover .ttp-fl__tip,.ttp-fl__dot:focus-visible .ttp-fl__tip{opacity:1;transform:translate(0,-50%)}
.ttp-ss .ttp-fl__arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eef4f2;color:#0d100f;transition:background-color .3s,color .3s}
.ttp-ss .ttp-fl__arrow:hover{background:var(--ttp-fl-accent);color:#fff}
.ttp-fl__arrow svg{width:17px;height:17px}
.ttp-fl__nav.is-h .ttp-fl__arrow svg{transform:rotate(-90deg)}

/* ---------- EFFECTS ---------- */
/* 3D cube, vertical: image rolls one way, content rolls the other */
.ttp-fl--fx-cube-v .ttp-fl--next .ttp-fl__cube--media .is-out{animation-name:ttpFlVOutUp}
.ttp-fl--fx-cube-v .ttp-fl--next .ttp-fl__cube--media .is-in{animation-name:ttpFlVInUp}
.ttp-fl--fx-cube-v .ttp-fl--next .ttp-fl__cube--content .is-out{animation-name:ttpFlVOutDown}
.ttp-fl--fx-cube-v .ttp-fl--next .ttp-fl__cube--content .is-in{animation-name:ttpFlVInDown}
.ttp-fl--fx-cube-v .ttp-fl--prev .ttp-fl__cube--media .is-out{animation-name:ttpFlVOutDown}
.ttp-fl--fx-cube-v .ttp-fl--prev .ttp-fl__cube--media .is-in{animation-name:ttpFlVInDown}
.ttp-fl--fx-cube-v .ttp-fl--prev .ttp-fl__cube--content .is-out{animation-name:ttpFlVOutUp}
.ttp-fl--fx-cube-v .ttp-fl--prev .ttp-fl__cube--content .is-in{animation-name:ttpFlVInUp}
@keyframes ttpFlVOutUp{from{transform:rotateX(0);filter:brightness(1)}to{transform:rotateX(90deg);filter:brightness(.45)}}
@keyframes ttpFlVInUp{from{transform:rotateX(-90deg);filter:brightness(.45)}to{transform:rotateX(0);filter:brightness(1)}}
@keyframes ttpFlVOutDown{from{transform:rotateX(0);filter:brightness(1)}to{transform:rotateX(-90deg);filter:brightness(.45)}}
@keyframes ttpFlVInDown{from{transform:rotateX(90deg);filter:brightness(.45)}to{transform:rotateX(0);filter:brightness(1)}}

/* 3D cube, horizontal */
.ttp-fl--fx-cube-h .ttp-fl--next .ttp-fl__cube--media .is-out,.ttp-fl--fx-cube-h .ttp-fl--next .ttp-fl__cube--content .is-out{animation-name:ttpFlHOutL}
.ttp-fl--fx-cube-h .ttp-fl--next .ttp-fl__cube--media .is-in,.ttp-fl--fx-cube-h .ttp-fl--next .ttp-fl__cube--content .is-in{animation-name:ttpFlHInL}
.ttp-fl--fx-cube-h .ttp-fl--prev .ttp-fl__cube--media .is-out,.ttp-fl--fx-cube-h .ttp-fl--prev .ttp-fl__cube--content .is-out{animation-name:ttpFlHOutR}
.ttp-fl--fx-cube-h .ttp-fl--prev .ttp-fl__cube--media .is-in,.ttp-fl--fx-cube-h .ttp-fl--prev .ttp-fl__cube--content .is-in{animation-name:ttpFlHInR}
@keyframes ttpFlHOutL{from{transform:rotateY(0);filter:brightness(1)}to{transform:rotateY(-90deg);filter:brightness(.45)}}
@keyframes ttpFlHInL{from{transform:rotateY(90deg);filter:brightness(.45)}to{transform:rotateY(0);filter:brightness(1)}}
@keyframes ttpFlHOutR{from{transform:rotateY(0);filter:brightness(1)}to{transform:rotateY(90deg);filter:brightness(.45)}}
@keyframes ttpFlHInR{from{transform:rotateY(-90deg);filter:brightness(.45)}to{transform:rotateY(0);filter:brightness(1)}}

/* 3D card flip */
.ttp-fl--fx-flip .ttp-fl__face{transform-origin:50% 50%}
.ttp-fl--fx-flip .ttp-fl--next .is-out{animation-name:ttpFlFOutN}
.ttp-fl--fx-flip .ttp-fl--next .is-in{animation-name:ttpFlFInN}
.ttp-fl--fx-flip .ttp-fl--prev .is-out{animation-name:ttpFlFOutP}
.ttp-fl--fx-flip .ttp-fl--prev .is-in{animation-name:ttpFlFInP}
.ttp-fl--fx-flip .ttp-fl__cube--content .ttp-fl__face{animation-delay:calc(var(--ttp-fl-dur) * .12)}
@keyframes ttpFlFOutN{from{transform:rotateY(0)}to{transform:rotateY(-180deg)}}
@keyframes ttpFlFInN{from{transform:rotateY(180deg)}to{transform:rotateY(0)}}
@keyframes ttpFlFOutP{from{transform:rotateY(0)}to{transform:rotateY(180deg)}}
@keyframes ttpFlFInP{from{transform:rotateY(-180deg)}to{transform:rotateY(0)}}

/* fade + zoom */
.ttp-fl--fx-fade .ttp-fl__face.is-out{animation-name:ttpFlFadeOut}
.ttp-fl--fx-fade .ttp-fl__face.is-in{animation-name:ttpFlFadeIn}
@keyframes ttpFlFadeOut{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}
@keyframes ttpFlFadeIn{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}

/* ---------- tablet ---------- */
@media (max-width:1024px){
	.ttp-ss.ttp-ss--flip{--ttp-fl-split:42%;--ttp-fl-h:480px}
	.ttp-fl__imgtitle{font-size:clamp(22px,3.4vw,36px)}
}

/* ---------- phone ---------- */
@media (max-width:767px){
	.ttp-ss.ttp-ss--flip{--ttp-fl-h:0px}
	.ttp-fl__wrap{flex-direction:column;align-items:stretch}
	.ttp-fl__stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}
	.ttp-fl__cube--media{height:260px;border-radius:var(--ttp-fl-radius) var(--ttp-fl-radius) 0 0}
	.ttp-fl__cube--content{border-radius:0 0 var(--ttp-fl-radius) var(--ttp-fl-radius)}
	.ttp-fl__progress{left:0;border-radius:0 0 var(--ttp-fl-radius) var(--ttp-fl-radius)}
	.ttp-fl__nav{margin:-18px auto 0;flex-direction:row;padding:8px 10px;max-width:calc(100% - 24px)}
	.ttp-fl__count{flex-direction:row;gap:3px}
	.ttp-fl__count b{font-size:13px}
	.ttp-fl__dots{flex-direction:row;gap:7px;overflow-x:auto;max-width:190px;padding:6px 4px;scrollbar-width:none}
	.ttp-fl__dots::-webkit-scrollbar{display:none}
	.ttp-ss .ttp-fl__dot{flex:none;width:9px;height:9px;transition:width .45s cubic-bezier(.65,.05,.25,1),background-color .3s}
	.ttp-ss .ttp-fl__dot.is-active{width:24px;height:9px}
	.ttp-fl__tip{display:none}
	.ttp-fl__arrow svg{transform:rotate(-90deg)}
	.ttp-ss .ttp-fl__arrow{width:32px;height:32px}
	.ttp-fl__mark{font-size:120px}
	.ttp-ss.ttp-ss--flip .ttp-fl__desc{font-size:15px}
	.ttp-fl__shape--ring,.ttp-fl__shape--square,.ttp-fl__shape--plus{display:none}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
	.ttp-fl__glow,.ttp-fl__grid,.ttp-fl__shape,.ttp-fl__eyebrow::before{animation:none!important}
	.ttp-fl__face,.ttp-fl__face *{animation-duration:1ms!important;animation-delay:0s!important}
	.ttp-fl__face--media img{transition:none;transform:none}
}
