/* Y's works service pages production */
body.ys-service-body {
	background: var(--ys-bg-ivory);
}

.ys-service {
	--service-accent: #57bdaa;
	--service-accent-deep: #2e6f63;
	--service-accent-dark: #24594f;
	--service-accent-soft: #eaf7f4;
	--service-warm: #f4efe6;
	--service-paper: #fffdf8;
	--service-muted: #8aae9c;
	--service-line: rgba(76, 73, 72, .18);
	--service-shadow: rgba(76, 73, 72, .12);
	background: var(--service-paper);
	color: var(--ys-text);
}

.ys-service--lecturer {
	--service-accent: #8aae9c;
	--service-accent-deep: #2e6f63;
	--service-accent-dark: #24594f;
	--service-accent-soft: #eef5f1;
	--service-warm: #f3eee6;
	--service-muted: #c57a68;
}

.ys-service--line-ai {
	--service-accent: #57bdaa;
	--service-accent-deep: #24594f;
	--service-accent-dark: #1f4d45;
	--service-accent-soft: #eaf7f4;
	--service-warm: #f6f3ed;
	--service-muted: #8d849e;
}

.ys-service .ys-kicker {
	color: var(--service-accent-deep);
}

.ys-service .ys-button--primary,
.ys-service .ys-button--primary:link,
.ys-service .ys-button--primary:visited,
.ys-service .ys-nav__contact,
.ys-service .ys-nav__contact:link,
.ys-service .ys-nav__contact:visited {
	background: var(--service-accent-deep);
	border-color: var(--service-accent-deep);
	color: #fff;
}

.ys-service .ys-button--primary:hover,
.ys-service .ys-button--primary:focus,
.ys-service .ys-nav__contact:hover,
.ys-service .ys-nav__contact:focus {
	background: var(--service-accent-dark);
	border-color: var(--service-accent-dark);
	color: #fff;
}

.ys-service .ys-button--secondary {
	background: #fff;
	border-color: rgba(46, 111, 99, .42);
	color: var(--service-accent-dark);
}

.ys-service .ys-button--secondary:hover,
.ys-service .ys-button--secondary:focus {
	background: var(--service-accent-soft);
	border-color: var(--service-accent-dark);
	color: var(--service-accent-dark);
}

.ys-service .ys-header--scrolled,
.ys-service .ys-header.is-drawer-open,
.ys-service .ys-header:has(.ys-nav[data-open="true"]) {
	background: rgba(255, 253, 248, .94);
	box-shadow: 0 10px 26px rgba(36, 89, 79, .09);
}

.ys-service .ys-image {
	background: var(--service-accent-soft);
}

.ys-service-hero {
	position: relative;
	min-height: 700px;
	padding: calc(var(--ys-header-height) + 54px) 0 82px;
	isolation: isolate;
	overflow: clip;
	background: linear-gradient(90deg, var(--service-paper) 0 52%, var(--service-accent-soft) 52% 100%);
}

.ys-service-hero::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 0;
	width: min(46vw, 680px);
	height: 78%;
	background: linear-gradient(180deg, rgba(255, 255, 255, .48), rgba(244, 239, 230, .76));
}

.ys-service-hero::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 0;
	width: 100%;
	height: 1px;
	background: var(--service-line);
}

.ys-service-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(430px, .92fr) minmax(0, 1.08fr);
	gap: clamp(34px, 6vw, 86px);
	align-items: center;
}

.ys-service-hero__copy {
	max-width: 600px;
}

.ys-service-hero__title {
	max-width: none;
	margin: 0;
	color: var(--ys-charcoal);
	font-size: clamp(42px, 4.1vw, 54px);
	line-height: 1.26;
}

.ys-service-hero__title .ys-heading-line,
.ys-service .ys-section-title .ys-heading-line {
	white-space: nowrap;
}

.ys-service-hero__lead {
	max-width: 42em;
	margin-top: 24px;
	font-size: clamp(15px, 1.18vw, 17px);
	line-height: 2;
}

.ys-service-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.ys-service-actions .ys-button {
	width: auto;
	max-width: none;
}

.ys-service-hero__media {
	position: relative;
	z-index: 1;
}

.ys-service-hero__media::before {
	content: "";
	position: absolute;
	left: -24px;
	top: -24px;
	z-index: -1;
	width: 44%;
	height: 44%;
	background: linear-gradient(135deg, var(--service-muted), var(--service-accent));
}

.ys-service-hero__image {
	display: block;
	width: 100%;
	height: clamp(410px, 39vw, 540px);
	box-shadow: 0 24px 58px var(--service-shadow);
}

.ys-service-opening {
	background: #fff;
}

.ys-service-opening__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
	align-items: center;
	gap: 0;
}

.ys-service-opening__media {
	position: relative;
	z-index: 1;
	box-shadow: 0 20px 52px rgba(76, 73, 72, .1);
}

.ys-service-opening__image {
	width: 100%;
	height: clamp(380px, 42vw, 520px);
}

.ys-service-opening__content {
	position: relative;
	z-index: 2;
	margin-left: calc(var(--ys-overlap-md) * -1);
	padding: clamp(30px, 5vw, 56px);
	background: #fff;
	border-top: 4px solid var(--service-accent-deep);
	box-shadow: 0 18px 50px rgba(76, 73, 72, .12);
}

.ys-service-issues {
	background: var(--service-warm);
}

.ys-service-issues .ys-section-head {
	margin-bottom: 0;
}

.ys-service-line-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--service-line);
}

.ys-service-line-list li {
	display: grid;
	grid-template-columns: 18px 1fr;
	gap: 14px;
	align-items: start;
	padding: 15px 0;
	border-bottom: 1px solid var(--service-line);
	color: var(--ys-charcoal);
	font-weight: 700;
	line-height: 1.75;
}

.ys-service-line-list li::before {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: .86em;
	background: var(--service-accent-deep);
	border-radius: 50%;
}

.ys-service-support {
	background: #fff;
}

.ys-service-scope {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--service-line);
	border-bottom: 1px solid var(--service-line);
	background: #fff;
}

.ys-service-scope article {
	min-height: 164px;
	padding: clamp(24px, 3vw, 36px);
	border-right: 1px solid var(--service-line);
	border-bottom: 1px solid var(--service-line);
}

.ys-service-scope article:nth-child(3n) {
	border-right: 0;
}

.ys-service-scope article:nth-last-child(-n+3) {
	border-bottom: 0;
}

.ys-service-scope span {
	display: block;
	margin-bottom: 18px;
	color: var(--service-accent-deep);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .14em;
	line-height: 1;
}

.ys-service-scope h3 {
	margin: 0;
	color: var(--ys-charcoal);
	font-family: var(--ys-gothic);
	font-size: clamp(17px, 1.45vw, 21px);
	font-weight: 800;
	line-height: 1.55;
}

.ys-service-flow {
	background: var(--ys-bg-ivory);
}

.ys-service-flow__photo {
	margin: 0 0 clamp(44px, 6vw, 72px);
	box-shadow: 0 18px 54px rgba(76, 73, 72, .12);
}

.ys-service-flow__image {
	width: 100%;
	height: clamp(360px, 42vw, 520px);
}

.ys-service-flow__steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
	background: #fff;
	border-top: 1px solid var(--service-line);
	border-bottom: 1px solid var(--service-line);
}

.ys-service-flow__steps li {
	position: relative;
	display: grid;
	gap: 16px;
	align-content: start;
	min-height: 242px;
	padding: clamp(24px, 3vw, 34px) 18px;
	border-right: 1px solid var(--service-line);
}

.ys-service-flow__steps li:last-child {
	border-right: 0;
}

.ys-service-flow__steps span {
	width: 46px;
	height: 46px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--service-accent-deep);
	color: #fff;
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
}

.ys-service-flow__steps h3 {
	margin: 0;
	color: var(--ys-charcoal);
	font-family: var(--ys-gothic);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.55;
}

.ys-service-flow__steps p {
	margin: 8px 0 0;
	color: var(--ys-text);
	font-size: 13px;
	line-height: 1.8;
}

.ys-service-faq {
	background: #fff;
}

.ys-service-faq .ys-faq-item[open] {
	background: var(--service-accent-soft);
}

.ys-service-faq .ys-faq-item summary span {
	color: var(--service-accent-deep);
}

.ys-service-contact .ys-contact-stage__inner {
	justify-content: center;
}

.ys-service-contact .ys-contact-stage__panel {
	width: min(100%, 680px);
}

.ys-service-contact .ys-contact-stage__title {
	white-space: nowrap;
}

.ys-service-contact .ys-contact-stage__image {
	opacity: .54;
	filter: saturate(.98) brightness(.82);
	object-position: 50% 48%;
}

.ys-service-contact .ys-contact-stage__overlay {
	background: linear-gradient(105deg, rgba(36, 89, 79, .92), rgba(46, 111, 99, .72) 52%, rgba(36, 89, 79, .82));
}

.ys-service .ys-footer,
.ys-service .ys-footer__main {
	background: var(--service-accent-deep);
}

.ys-service .ys-footer__bottom {
	background: var(--service-accent-dark);
}

@media (max-width: 1120px) {
	.ys-service-hero {
		min-height: auto;
		padding-bottom: 70px;
	}

	.ys-service-hero__grid,
	.ys-service-opening__grid {
		grid-template-columns: 1fr;
	}

	.ys-service-hero__copy {
		max-width: 760px;
	}

	.ys-service-hero__image,
	.ys-service-opening__image {
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.ys-service-opening__content {
		width: min(calc(100% - 48px), 720px);
		margin: -48px 24px 0 auto;
	}

	.ys-service-scope {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ys-service-scope article:nth-child(3n) {
		border-right: 1px solid var(--service-line);
	}

	.ys-service-scope article:nth-child(2n) {
		border-right: 0;
	}

	.ys-service-scope article:nth-last-child(-n+3) {
		border-bottom: 1px solid var(--service-line);
	}

	.ys-service-scope article:nth-last-child(-n+2) {
		border-bottom: 0;
	}

	.ys-service-flow__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ys-service-flow__steps li {
		min-height: 190px;
		border-bottom: 1px solid var(--service-line);
	}

	.ys-service-flow__steps li:nth-child(2n) {
		border-right: 0;
	}

	.ys-service-flow__steps li:nth-last-child(-n+2) {
		border-bottom: 0;
	}

	.ys-service-flow__steps li:last-child {
		grid-column: 1 / -1;
		border-right: 0;
	}
}

@media (max-width: 767px) {
	.ys-service-hero {
		padding: calc(var(--ys-header-height) + 38px) 0 64px;
		background: linear-gradient(180deg, var(--service-paper) 0 52%, var(--service-accent-soft) 52% 100%);
	}

	.ys-service-hero::before {
		width: 82vw;
		height: 48%;
	}

	.ys-service-hero__grid {
		gap: 36px;
	}

	.ys-service-hero__title {
		font-size: 36px;
		line-height: 1.34;
	}

	.ys-service-hero__lead {
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.95;
	}

	.ys-service-actions {
		display: grid;
		gap: 10px;
		max-width: 320px;
		margin-top: 28px;
	}

	.ys-service-actions .ys-button {
		width: 100%;
	}

	.ys-service-hero__media::before {
		left: -14px;
		top: -14px;
	}

	.ys-service-hero__image,
	.ys-service-opening__image,
	.ys-service-flow__image {
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.ys-service-opening__content {
		width: 100%;
		margin: 0;
		padding: 30px 22px;
		box-shadow: none;
		border-right: 1px solid var(--service-line);
		border-bottom: 1px solid var(--service-line);
		border-left: 1px solid var(--service-line);
	}

	.ys-service-issues .ys-section-head {
		gap: 32px;
	}

	.ys-service-line-list li {
		grid-template-columns: 14px 1fr;
		gap: 12px;
		font-size: 14px;
	}

	.ys-service-scope {
		grid-template-columns: 1fr;
	}

	.ys-service-scope article,
	.ys-service-scope article:nth-child(2n),
	.ys-service-scope article:nth-child(3n),
	.ys-service-scope article:nth-last-child(-n+2),
	.ys-service-scope article:nth-last-child(-n+3) {
		min-height: 0;
		border-right: 0;
		border-bottom: 1px solid var(--service-line);
	}

	.ys-service-scope article:last-child {
		border-bottom: 0;
	}

	.ys-service-flow__photo {
		margin-bottom: 40px;
	}

	.ys-service-flow__steps {
		grid-template-columns: 1fr;
	}

	.ys-service-flow__steps li,
	.ys-service-flow__steps li:nth-child(2n),
	.ys-service-flow__steps li:nth-last-child(-n+2),
	.ys-service-flow__steps li:last-child {
		grid-column: auto;
		grid-template-columns: 52px 1fr;
		gap: 16px;
		min-height: 0;
		padding: 22px 0;
		border-right: 0;
		border-bottom: 1px solid var(--service-line);
	}

	.ys-service-flow__steps li:last-child {
		border-bottom: 0;
	}

	.ys-service-flow__steps span {
		width: 42px;
		height: 42px;
	}

	.ys-service-flow__steps h3 {
		font-size: 16px;
	}

	.ys-service-flow__steps p {
		font-size: 13px;
	}

	.ys-service-contact .ys-contact-stage__image {
		object-position: 55% 50%;
	}
}

@media (max-width: 374px) {
	.ys-service-hero__title {
		font-size: 30px;
	}

	.ys-service-opening__content {
		padding-inline: 18px;
	}
}
