:root {
--sh-bg:#fff;
--sh-text:#474747;
--sh-muted:#888;
--sh-line:#dedede;
--sh-accent:#c92f35
}
.service-page {
	background: var(--sh-bg);
	color: var(--sh-text);
	min-height: 900px
}
.service-intro {
	padding: 76px 24px 72px;
	text-align: center
}
.service-intro h1, .repair-section h2 {
	margin: 0;
	color: #333;
	font-size: 30px;
	font-weight: 400;
	letter-spacing: 4px
}
.service-intro h1:after, .repair-section h2:after {
	content: "";
	display: block;
	width: 38px;
	height: 2px;
	margin: 20px auto 36px;
	background: var(--sh-accent)
}
.service-intro p {
	margin: 8px 0;
	color: #777;
	font-size: 15px;
	line-height: 1.8
}
.repair-section {
	border-top: 1px solid #eee;
	background: #fafafa;
	padding: 68px 24px 98px
}
.repair-wrap {
	width: min(780px, 100%);
	margin: 0 auto
}
.repair-section h2 {
	text-align: center;
	font-size: 28px;
	margin-bottom: 50px
}
.repair-section h2:after {
	margin-bottom: 0
}
.repair-form {
	display: flex;
	flex-direction: column
}
.form-row {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	align-items: center;
	min-height: 61px;
	border-bottom: 1px solid var(--sh-line)
}
.form-row>label {
	padding: 0 22px 0 4px;
	font-size: 14px;
	color: #555
}
.form-row>label span {
	color: var(--sh-accent);
	margin-left: 3px
}
.form-row>input, .form-row textarea, .date-field input {
	width: 100%;
	border: 0;
	background: transparent;
	color: #444;
	font: 14px/1.6 Arial, "Microsoft YaHei", sans-serif;
	outline: 0;
	padding: 16px 12px
}
.form-row>input:focus, .form-row textarea:focus, .date-field:focus-within {
background:#fff;
box-shadow:inset 0 0 0 1px #bbb
}
.date-field {
	position: relative
}
.date-field input {
	min-height: 60px
}
.upload-row {
	align-items: start;
	padding: 17px 0
}
.upload-row>label {
	padding-top: 8px
}
.upload-control {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 36px
}
.upload-control input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0
}
.upload-control label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 34px;
	padding: 0 22px;
	border: 1px solid #aaa;
	background: #fff;
	color: #555;
	font-size: 13px;
	cursor: pointer
}
.upload-control span {
	color: #999;
	font-size: 13px
}
.upload-row>p {
	grid-column: 2;
	margin: 4px 0 0;
	color: #aaa;
	font-size: 12px
}
.message-row {
	align-items: start;
	padding-top: 13px
}
.message-row>label {
	padding-top: 15px
}
.message-row textarea {
	resize: vertical;
	min-height: 118px
}
.form-error, .form-success {
	display: none;
	text-align: center;
	font-size: 13px;
	margin: 22px 0 0
}
.form-error {
	color: var(--sh-accent)
}
.form-success {
	color: #555
}
.submit-button {
	align-self: center;
	width: 132px;
	height: 42px;
	border: 1px solid #555;
	background: transparent;
	color: #444;
	font-size: 14px;
	letter-spacing: 5px;
	margin-top: 38px;
	cursor: pointer;
	transition: .2s
}
.submit-button:hover, .submit-button:focus-visible {
background:#3f3f3f;
color:#fff
}
.form-row.invalid {
	box-shadow: inset 0 -1px var(--sh-accent)
}

@media(max-width:720px) {
.service-intro {
	padding: 54px 20px
}
.repair-section {
	padding: 50px 20px 70px
}
.form-row {
	grid-template-columns: 1fr;
	padding: 12px 0
}
.form-row>label {
	padding: 0 4px 4px
}
.form-row>input, .form-row textarea, .date-field input {
	padding: 9px 4px
}
.upload-row>p {
	grid-column: 1
}
.message-row>label {
	padding-top: 0
}
.service-intro h1, .repair-section h2 {
	font-size: 25px
}
.site-footer {
	margin-top: 0
}
}
