/* Sewing scene — s_8 accent (brand colors) */
.s_8 .sewing-scene{
	--thread-height: 25px;
	--thread-width: 16px;
	--sm-top-height: 50px;
	--sm-top-width: 185px;
	--sm-right-arm-height: 50px;
	--sm-right-arm-width: 50px;
	--sm-left-arm-height: 11px;
	--sm-left-arm-width: 45px;
	--sm-base-height: 40px;
	--needle-height: 20px;
	--table-height: 15px;
	--table-width: 450px;
	--tape-height: 11px;
	--tape-width: 34px;
	--pc-base-width: 50px;
	--pc-base-height: 6px;
	--pin-height: 20px;
	--pin-width: 1px;
	--pin-top-size: 4px;
	--scene-off-white: #f8f6f3;
	--scene-off-white-warm: #f5f0eb;
	--sm-clr: var(--scene-off-white);
	--sm-shadow: #85C0C4;
	--knob-clr: #ffd1e8;
	--knob-clr2: #685163;
	--spool-clr: #e8c4d0;
	--spool-clr2: #c66088;
	--thread-clr: #85C0C4;
	--thread-clr2: var(--scene-off-white-warm);
	--fabric-clr: rgba(248, 246, 243, 0.65);
	--fabric-clr2: rgba(133, 192, 196, 0.5);
	--fabric-clr3: rgba(198, 96, 136, 0.45);
	--tape-clr: var(--scene-off-white-warm);
	--tape-clr2: #f5c4d8;
	--tape-ticks: #C66088;
	--tape-btm-clr: #c2c2c2;
	--pc-color: #ffd1e8;
	--pc-color2: #eea0cd;
	--pc-base-clr: var(--scene-off-white);
	--pc-base-clr2: #85C0C4;
	--pin-clr: #cfcfcf;
	--pin-top-clr: #C66088;
	--table-clr: #f1dbc1;
	--table-clr2: #85C0C4;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 0 auto 36px;
	max-width: 100%;
	overflow: visible;
	padding-bottom: calc((var(--tape-width) * 3 + var(--tape-width) * 1.6 + var(--tape-height)) / 2);
}

.s_8 .sewing-stuff{
	width: var(--table-width);
	max-width: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: space-around;
	transform: translateY(-3px);
	position: relative;
	overflow: visible;
}

.s_8 .sewing-stuff,
.s_8 .sewing-stuff *{
	box-sizing: border-box;
}

.s_8 .table{
	height: var(--table-height);
	width: var(--table-width);
	max-width: 100%;
	background-color: var(--table-clr);
	border-bottom: 5px solid var(--table-clr2);
}

/* Tape */
.s_8 .tape{
	position: relative;
}

.s_8 .tape-top{
	position: relative;
	height: var(--tape-height);
	width: var(--tape-width);
	border-radius: 2px 0 0 1px;
	background-color: var(--tape-clr);
	box-shadow: 0 calc(var(--tape-height) * 0.25) var(--tape-clr2);
}

.s_8 .tape-top::before,
.s_8 .tape-top::after{
	content: "";
	position: absolute;
}

.s_8 .tape-top::before{
	left: 0;
	top: 0;
	height: calc(var(--tape-height) * 0.5);
	width: calc(var(--tape-width) - 10px);
	background-image: repeating-linear-gradient(
		to right,
		transparent,
		transparent 11%,
		var(--tape-ticks) 11%,
		var(--tape-ticks) 16%
	);
}

.s_8 .tape-top::after{
	height: 0;
	width: 0;
	top: 0;
	left: calc(100% - 5px);
	border-style: solid;
	border-width: calc(var(--tape-height) + var(--tape-height) * 0.3) 0 0 calc(var(--tape-height) + var(--tape-height) * 0.3);
	border-color: transparent transparent transparent var(--tape-clr2);
}

.s_8 .tape-bottom{
	height: calc(var(--tape-width) * 1.45);
	width: var(--tape-height);
	position: absolute;
	background-color: var(--tape-clr);
	margin-left: calc(var(--tape-width) - 5px);
	margin-top: calc(var(--tape-height) * 0.3);
	box-shadow: calc(var(--tape-height) * 0.25) 0 var(--tape-clr2);
	animation: s8-tape-length 3s infinite;
}

.s_8 .tape-bottom::before,
.s_8 .tape-bottom::after{
	content: "";
	position: absolute;
}

.s_8 .tape-bottom::before{
	height: calc(var(--tape-width) * 1.4);
	width: 55%;
	background-image: repeating-linear-gradient(
		to bottom,
		transparent,
		transparent 10%,
		var(--tape-ticks) 10%,
		var(--tape-ticks) 13%
	);
	animation: s8-tape-ticks 3s infinite;
}

.s_8 .tape-bottom::after{
	display: none;
}

/* Pin cushion */
.s_8 .pin-cushion{
	height: var(--pc-base-height);
	width: var(--pc-base-width);
	position: relative;
	border-radius: 1px;
	background-color: var(--pc-base-clr);
	box-shadow: 0 3px var(--pc-base-clr2);
}

.s_8 .pin-cushion::before{
	content: "";
	position: absolute;
	z-index: 1;
	left: 50%;
	height: calc(var(--pc-base-width) * 0.45);
	width: calc(var(--pc-base-width) * 0.9);
	background-color: var(--pc-color);
	border-radius: 10em 10em 0 0;
	box-shadow: 0 calc(var(--pc-base-width) * 0.08) var(--pc-color2);
	transform: translate(-50%, -27px);
}

.s_8 .pins{
	display: flex;
	z-index: 5;
	position: absolute;
	justify-content: space-around;
	transform: translateY(calc(var(--pin-height) * -1.5));
}

.s_8 .pin{
	z-index: 5;
	margin-right: 8.5px;
	height: var(--pin-height);
	width: var(--pin-width);
	background-image: linear-gradient(to bottom, gray, var(--pin-clr));
	position: relative;
}

.s_8 .pin::before{
	content: "";
	position: absolute;
	height: var(--pin-top-size);
	width: var(--pin-top-size);
	border-radius: 50%;
	background-color: var(--tape-ticks);
	transform: translateX(calc(var(--pin-width) * -1.4)) translateY(calc(var(--pin-width) * -4));
	animation: s8-pin-color 3s infinite;
}

.s_8 .pin:nth-child(1){
	transform: rotate(-35deg) translateY(5px);
}

.s_8 .pin:nth-child(2){
	transform: rotate(-20deg);
}

.s_8 .pin:nth-child(3){
	transform: rotate(-9deg) translateY(-3px);
}

.s_8 .pin:nth-child(4){
	transform: rotate(3deg) translateY(-3px);
}

.s_8 .pin:nth-child(5){
	transform: rotate(20deg) translateY(-1px);
}

.s_8 .pin:nth-child(6){
	transform: rotate(35deg) translateY(5px);
}

/* Sewing machine */
.s_8 .sewing-machine{
	position: relative;
}

.s_8 .thread{
	height: var(--thread-height);
	width: var(--thread-width);
	transform: translateX(134px);
	background-image: repeating-linear-gradient(
		35deg,
		var(--thread-clr),
		var(--thread-clr) 0 5%,
		var(--thread-clr2) 5% 10%
	);
	animation: s8-thread-color 2s infinite;
}

.s_8 .thread::before,
.s_8 .thread::after{
	content: "";
	display: block;
}

.s_8 .thread::before{
	height: var(--thread-height);
	width: calc(var(--thread-width) * 1.22);
	border-radius: 2px;
	transform: translateX(-2px);
	background-image: linear-gradient(
		to bottom,
		var(--spool-clr) 0 10%,
		var(--spool-clr2) 10% 20%,
		transparent 20% 80%,
		var(--spool-clr) 80% 90%,
		var(--spool-clr2) 90%
	);
}

.s_8 .thread::after{
	height: 1px;
	width: 105px;
	background-color: var(--thread-clr);
	transform: translateX(-104px) translateY(-9.5px) rotate(-9.5deg);
	animation: s8-thread-swing 2s infinite;
}

.s_8 .needle{
	position: absolute;
	height: var(--needle-height);
	width: 3.5px;
	background-color: var(--knob-clr);
	transform: translateY(calc(var(--sm-top-height) + var(--sm-left-arm-height))) translateX(calc(var(--sm-left-arm-width) / 2.2));
}

.s_8 .needle::before,
.s_8 .needle::after{
	content: "";
	display: block;
}

.s_8 .needle::before{
	height: calc(var(--needle-height) * 0.9);
	width: 8px;
	border-radius: 0.5px;
	transform: translateX(-2px) translateY(3px);
	background-image: linear-gradient(
		to bottom,
		var(--knob-clr2) 0 20%,
		transparent 20% 85%,
		var(--knob-clr2) 85%
	);
}

.s_8 .needle::after{
	height: 15px;
	width: 1px;
	background-color: var(--knob-clr2);
	transform: translateY(2px) translateX(1.2px);
	border-radius: 0 0 50% 50%;
	animation: s8-needle-move 0.2s infinite;
}

.s_8 .machine-top{
	position: relative;
	display: flex;
	height: var(--sm-top-height);
	width: var(--sm-top-width);
	border-radius: 5px 5px 0 0;
	background-color: var(--sm-clr);
	box-shadow: 0 4px var(--sm-shadow), 0 0 4px rgba(133, 192, 196, 0.45);
}

.s_8 .machine-top::before,
.s_8 .machine-top::after{
	content: "";
	position: absolute;
}

.s_8 .machine-top::before{
	height: var(--sm-left-arm-height);
	width: var(--sm-left-arm-width);
	border-radius: 0 0 1px 1px;
	transform: translateY(var(--sm-top-height));
	box-shadow: 0 3px var(--sm-shadow);
	background-color: var(--sm-clr);
}

.s_8 .machine-top::after{
	background-image: linear-gradient(var(--knob-clr) 0 80%, var(--knob-clr2) 80%);
	height: calc(var(--sm-top-height) * 0.3);
	width: calc(var(--sm-top-height) * 0.8);
	transform: translateX(calc(var(--sm-top-height) * 1.5)) translateY(calc(var(--sm-top-height) / 2.5));
}

.s_8 .machine-right{
	height: var(--sm-right-arm-height);
	width: var(--sm-right-arm-width);
	background-color: var(--sm-clr);
	box-shadow: -4px 0 var(--sm-shadow), 0 3px 2px var(--sm-shadow);
	transform: translateX(127px);
	position: relative;
}

.s_8 .machine-right::before,
.s_8 .machine-right::after{
	content: "";
	position: absolute;
}

.s_8 .machine-right::before{
	height: calc(var(--sm-top-height) / 1.4);
	width: calc(var(--sm-top-height) / 4);
	border-radius: 0 25% 25% 0;
	top: -40px;
	left: 58px;
	transform: none;
	background-image: linear-gradient(to right, var(--knob-clr) 0 70%, var(--knob-clr2) 70%);
}

.s_8 .machine-right::after{
	display: block;
	height: calc(var(--sm-top-height) * 0.6);
	width: calc(var(--sm-right-arm-width) * 0.2);
	background-image: repeating-linear-gradient(
		to bottom,
		var(--scene-off-white-warm) 0 10%,
		var(--knob-clr2) 10% 20%,
		transparent 20% 40%
	);
	transform: translateX(18px) translateY(10px);
}

.s_8 .machine-bottom{
	height: var(--sm-base-height);
	width: calc(var(--sm-top-width) + 15px);
	border-radius: 5px 0 0 0;
	background-color: var(--sm-clr);
	transform: translateX(-15px);
	box-shadow: 0 3px var(--sm-shadow), 0 2px 2px var(--sm-shadow);
	position: relative;
}

.s_8 .machine-bottom::before{
	content: "";
	display: block;
	height: 85px;
	width: 125px;
	background-image:
		repeating-linear-gradient(var(--fabric-clr), var(--fabric-clr) 5%, var(--fabric-clr2) 5% 10%),
		repeating-linear-gradient(90deg, var(--fabric-clr3), var(--fabric-clr3) 5%, transparent 5% 10%);
	clip-path: polygon(30% 0%, 90% 0%, 90% 20%, 30% 45%);
	animation: s8-fabric-move 7s infinite;
}

/* Animations */
@keyframes s8-needle-move{
	50%{
		transform: translateY(-4.5px) translateX(1.2px);
	}
}

@keyframes s8-thread-color{
	50%{
		background-image: repeating-linear-gradient(
			35deg,
			var(--thread-clr2),
			var(--thread-clr2) 0 5%,
			var(--thread-clr) 5% 10%
		);
	}
}

@keyframes s8-thread-swing{
	50%{
		transform-origin: center left;
		transform: translateX(-105px) translateY(-1px) rotate(0deg);
	}
}

@keyframes s8-fabric-move{
	50%{
		height: 200px;
	}
}

@keyframes s8-tape-length{
	50%{
		height: calc(var(--tape-width) * 3);
	}
}

@keyframes s8-tape-ticks{
	50%{
		height: calc(var(--tape-width) * 3);
		background-image: repeating-linear-gradient(
			to bottom,
			transparent,
			transparent 6%,
			var(--tape-ticks) 6%,
			var(--tape-ticks) 7.5%
		);
	}
}

@keyframes s8-tape-end{
	50%{
		transform: translateY(calc(var(--tape-width) * 1.55));
	}
}

@keyframes s8-pin-color{
	50%{
		background-color: var(--pin-top-clr);
	}
}

@media (max-width: 767px){
	.s_8 .sewing-scene{
		--table-width: 300px;
		transform: scale(0.78);
		transform-origin: top center;
		margin-bottom: -36px;
		padding-top: 28px;
		padding-bottom: 50px;
	}

	.s_8 .text-box{
		margin-top: 4px;
	}
}

@media (max-width: 420px){
	.s_7.price-grid-section .price-grid,
	.s_7.service-pricing .price-grid{
		gap: 8px 10px;
	}

	.s_7.price-grid-section .price_box,
	.s_7.service-pricing .price_box{
		padding: 14px 10px;
	}

	.s_7.price-grid-section .price_box .price_label{
		font-size: 13px;
	}

	.s_7.price-grid-section .price_box .price_value{
		padding: 6px 12px;
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce){
	.s_8 .tape-bottom,
	.s_8 .tape-bottom::before,
	.s_8 .tape-bottom::after,
	.s_8 .pin::before,
	.s_8 .thread,
	.s_8 .thread::after,
	.s_8 .needle::after,
	.s_8 .machine-bottom::before{
		animation: none;
	}
}
