.pws-service-page {
	--service-ink: #0a293b;
	--service-body: #334f60;
	--service-blue: #006785;
	color: var(--service-body);
}
.service_page_css, .service_page_css .nf-form-cont { scroll-margin-top: calc(var(--pws-compact-brand) + 24px); }
.pws-service-page :focus-visible { outline: 3px solid #0085a7; outline-offset: 3px; }
.pws-service-mast { background: #092939; color: #fff; border-bottom: 3px solid #0785a5; }
.pws-service-mast-inner { display: grid; }
.pws-service-mast-inner.has-service-photo { grid-template-columns: minmax(0,.85fr) minmax(0,1.25fr); }
.pws-service-mast-copy {
	display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
	padding: clamp(114px,8vw,136px) clamp(24px,4vw,66px) clamp(36px,4vw,60px) 0;
}
.pws-service-parent {
	display: inline-flex; align-items: center; gap: 10px;
	color: #9ce1ee; font: 700 13px/1.4 var(--body); letter-spacing: .13em; text-transform: uppercase;
}
.pws-service-parent::before { content: ""; width: 25px; height: 2px; background: #61c9dc; }
.pws-service-parent:is(:hover,:focus-visible), .pws-service-call:is(:hover,:focus-visible) { color: white; text-decoration: underline; text-underline-offset: 4px; }
.pws-service-mast h1 { margin: 12px 0 22px; color: white; font: 700 clamp(38px,4.1vw,68px)/1.03 var(--heading); letter-spacing: -.045em; overflow-wrap: anywhere; text-wrap: balance; }
.pws-service-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; }
.pws-service-actions a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font: 700 16px/1.3 var(--body); }
.pws-service-estimate { padding: 12px 16px; border-radius: 5px; color: #082637; background: #e9f7fa; box-shadow: inset 0 -3px #47bed6; }
.pws-service-estimate:is(:hover,:focus-visible) { background: white; }
.pws-service-call { color: #e3f1f6; }
.pws-service-call .pws-icon { color: #8edceb; }
.pws-service-mast :focus-visible { outline-color: #91e4f3; }
.pws-service-photo { position: relative; align-self: stretch; min-width: 0; min-height: 320px; overflow: hidden; background: #102e3d; }
.pws-service-photo .wp-block-image, .pws-service-photo figure { margin: 0; width: 100%; max-width: none; }
.pws-service-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.pws-service-photo figcaption { position: absolute; z-index: 1; bottom: 0; inset-inline: 0; margin: 0; padding: 8px 14px; background: #061c29d9; color: white; font: 400 14px/1.4 var(--body); }
.pws-service-introduction { background: white; }
.pws-service-intro-layout {
	display: grid; grid-template-columns: clamp(200px,16vw,236px) minmax(0,1fr);
	align-items: start; gap: clamp(32px,6vw,92px); padding-block: clamp(42px,5vw,76px);
}
.pws-service-aside, .pws-service-menu { min-width: 0; }
.pws-service-menu { overflow: hidden; border: 1px solid #bdd0d9; border-radius: 7px; background: #f2f7f9; }
.pws-service-menu summary {
	display: flex; justify-content: space-between; align-items: center; gap: 8px;
	padding: 11px 14px; min-height: 44px; color: #fff; background: #0e354b;
	font: 700 15px/1.35 var(--body); cursor: pointer; list-style: none;
}
.pws-service-menu summary::-webkit-details-marker { display: none; }
.pws-service-menu summary::after { content: ""; width: 8px; height: 8px; border: solid #a5e3ed; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.pws-service-menu[open] summary::after { transform: rotate(225deg); }
.pws-service-menu ul { margin: 0; padding: 3px 8px; list-style: none; }
.pws-service-menu li + li { border-top: 1px solid #d2e0e5; }
.pws-service-menu a { display: flex; align-items: center; min-height: 43px; padding: 9px 8px; border-inline-start: 3px solid transparent; color: var(--service-ink); font: 700 15px/1.35 var(--body); }
.pws-service-menu a[aria-current="page"], .pws-service-menu .current-menu-item > a { color: #005a75; background: #deedf2; border-inline-start-color: #0087a8; }
.pws-service-menu a:is(:hover,:focus-visible) { color: #005b75; background: #e5f1f4; }
.pws-service-menu :focus-visible { outline-offset: -3px; }
.pws-service-prose { min-width: 0; color: var(--service-body); font: 400 clamp(17px,1.22vw,19px)/1.65 var(--body); }
.pws-service-prose > :first-child { margin-top: 0; }
.pws-service-prose > :last-child { margin-bottom: 0; }
.pws-service-prose p, .pws-service-prose :where(ul,ol) { max-width: 73ch; margin-block: 0 1em; }
.pws-service-page h2 { margin: 0; color: var(--service-ink); font: 700 clamp(25px,2.2vw,37px)/1.15 var(--heading); letter-spacing: -.035em; text-wrap: balance; }
.pws-service-opening h2 { max-width: 34ch; margin-bottom: 18px; font-size: clamp(30px,3vw,48px); }
.pws-service-prose strong { color: #183b4c; }
.pws-service-prose a { color: var(--service-blue); text-decoration: underline; text-underline-offset: 3px; }
.pws-service-details { background: #f2f6f7; border-top: 1px solid #d3e1e6; }
.pws-service-detail-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.55fr); align-items: start; gap: clamp(28px,5vw,76px); padding-block: clamp(32px,3.4vw,50px); }
.pws-service-detail-row + .pws-service-detail-row { border-top: 1px solid #c2d5dd; }
.pws-service-detail-heading::before { content: ""; display: block; width: 32px; height: 3px; margin-bottom: 14px; background: #0083a4; }
@media (min-width: 992px) {
	.pws-service-mast-inner.has-service-photo { min-height: clamp(365px,23vw,422px); }
}
@media (max-width: 991px) {
	.pws-service-intro-layout { grid-template-columns: minmax(0,1fr); gap: 26px; padding-block: 30px 42px; }
	.pws-service-menu nav ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
	.pws-service-menu li + li { border-top: 0; }
	.pws-service-detail-row { gap: 24px; }
}
@media (max-width: 767px) {
	.pws-service-mast-inner.has-service-photo { grid-template-columns: minmax(0,1fr); }
	.pws-service-mast-copy { padding: 84px 0 24px; }
	.pws-service-mast h1 { font-size: clamp(35px,7.5vw,50px); }
	.pws-service-photo { min-height: 0; aspect-ratio: 2.12; }
	.pws-service-detail-row { grid-template-columns: minmax(0,1fr); gap: 14px; }
}
@media (max-width: 479px) {
	.pws-service-menu nav ul { display: block; }
	.pws-service-menu li + li { border-top: 1px solid #d2e0e5; }
	.pws-service-actions { gap: 5px 12px; }
	.pws-service-actions a { font-size: 15px; }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
	.pws-service-estimate span { transition: transform .2s ease-out; }
	.pws-service-estimate:is(:hover,:focus-visible) span { transform: translate(2px,-2px); }
}
@media screen and (min-width: 1600px) {
	.pws-service-intro-layout:has(> .pws-wide-photo) {
		grid-template-columns: 210px minmax(0,1.58fr) minmax(0,1fr);
		gap: 42px;
	}
	.pws-service-intro-layout > .pws-wide-photo { align-self: start; }
	.pws-service-intro-layout > .pws-wide-photo img { aspect-ratio: 1.36; }
}
