/* ============================================================
   PAGE: 事業案内 (Service) — 固有スタイル（ライト差分）
   共通土台は page-base.css。本文（svc-cg / svc2）は既にライトなので
   ここではダークだったヒーロー（svc-ph）を水彩ライトへ変換する。
   ※ service の本体CSSは現状 style.css 内。抽出は別途慎重に行う。
   ============================================================ */

/* ── ヒーロー背景：ダーク画像 → 水彩ライト ──
   .page-template-page-service #sec_head は style.css 側で
   ダークグラデ＋画像を !important で敷いているため、!important で上書き。 */
.page-template-page-service #sec_head {
	background:
		linear-gradient(to bottom, rgba(245,244,240,0) 45%, rgba(245,244,240,0.55) 100%),
		#f5f4f0 url('../img/bg_watercolor.png') center top / cover no-repeat !important;
	min-height: 46vh !important;
	border-bottom: 0.5px solid var(--line-2);
}

/* svc-ph 内の暗色パーツをライトへ */
#sec_head.svc-ph::before { background: var(--line-2); }   /* 上端ベースライン */
.svc-ph-grid   { display: none; }                          /* 白グリッドは非表示 */
.svc-ph-bgword { color: rgba(0,0,0,0.035); }               /* 背景大文字 */
.svc-ph-h1     { color: var(--text); }                     /* タイトル */
.svc-ph-desc   { color: var(--text-2); }                   /* 補足文 */
/* .svc-ph-inner::after（緑の光スイープ）はライトでも映えるので維持 */

/* ════════════════════════════════════════
   レイアウト：サイドメニュー（page_nav）廃止
   会社案内と同じ「画面幅の4vw基準・2000pxで頭打ち」の余白ルールに統一。
   ════════════════════════════════════════ */
.page-template-page-service {
	--svc-pad: max(4vw, calc((100vw - 2000px) / 2));
}
.u-text-accent {
	color: #00937f !important;
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}
.svc2-wrap {
	width: 100%;
	margin: 0 auto;
	padding: 0 var(--svc-pad);
}
/* page_nav_content は元々 flex アイテム＋固定100px余白だったため、
   サイドナビ撤去後は無効化して svc2-wrap 側の余白だけに一本化する */
.page_nav_content {
	flex: none;
	padding: 0 !important;
}
.page_nav_content .box {
	padding: 96px 0;
}

/* eyebrow・大見出しを会社案内と同じスケールに縮小 */
.svc-ph-h1 {
	font-size: clamp(34px, 3.6vw, 52px) !important;
	font-weight: 500;
}
.svc2-h2 {
	font-size: clamp(24px, 2.2vw, 32px) !important;
	font-weight: 500;
}
.svc-intro-title {
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 500;
}

/* 本文サイズを底上げ（12〜14px → 16px 前後に）*/
.svc-ph-desc      { font-size: 15px; line-height: 1.9; }
.svc-intro-desc   { font-size: 16px; line-height: 2.0; }
.svc2-lead        { font-size: 16px; line-height: 1.9; }
.svc2-step-title  { font-size: 17px; }
.svc2-step-desc   { font-size: 15px; line-height: 1.9; }
.svc2-list-item   { font-size: 15px; }
.svc2-cta-t       { font-size: 14px; line-height: 1.9; }
.svc2-cta-t strong{ font-size: 16px; }
.svc-cg-title     { font-size: 17px; }
.svc-cg-desc      { font-size: 14px; line-height: 1.8; }

/* 各事業詳細の大きい写真（土木・解体・運送・レンタル）：
   コンテナが広がった分だけ無制限に巨大化していたので上限をつける */
.svc2-photo-main { max-width: 760px; }

/* ════════════════════════════════════════
   発掘調査フロー：軸線＋ドットのタイムラインをやめ、
   大きなセリフのゴースト番号＋横長写真＋余白の編集デザインに
   ════════════════════════════════════════ */
/* セクション全体を中央寄せ。1fr列が伸びすぎて右に余白が余るのを解消 */
.svc2-flow { max-width: 1240px; margin: 0 auto; }

@media (min-width: 769px) {
	.svc2-step {
		display: grid;
		grid-template-columns: 360px minmax(0, 1fr);
		align-items: center;
		gap: 40px;
		padding: 56px 0;
		border-bottom: 0.5px solid var(--line-2);
	}
	.svc2-step:first-child { padding-top: 0; }
	.svc2-step:last-child  { border-bottom: none; padding-bottom: 0; }

	.svc2-step-num {
		font-family: 'Cormorant Garamond', serif;
		font-size: 56px; font-weight: 300; font-style: italic;
		color: var(--green); opacity: 0.32; line-height: 1;
		transition: opacity .8s ease;
	}
	.svc2-step.is-visible .svc2-step-num { opacity: 0.85; }

	/* 箱を写真の実比率に合わせる＝トリミングなし・下地の余りなし */
	.svc2-step-photo {
		width: 100%; height: auto; aspect-ratio: auto; overflow: hidden; margin: 0;
		background: none;
	}
	.svc2-step-photo img { width: 100%; height: auto; object-fit: initial !important; display: block; }

	/* 写真と文字の間隔を広めに */
	.svc2-step-body { padding: 0; margin-left: 48px; max-width: 480px; border-bottom: none !important; }
	.svc2-step-en   { margin-top: 0; }
}
/* モバイル：軸線→番号に変わった分、数字が読めるよう列幅とサイズを調整 */
@media (max-width: 768px) {
	.svc2-step { grid-template-columns: 90px minmax(0, 1fr); }
	.svc2-step-num {
		font-family: 'Cormorant Garamond', serif;
		font-size: 15px; font-weight: 500; font-style: italic;
		color: var(--green); opacity: 0.7; line-height: 1;
		margin-top: 20px;
	}
}

/* Service hero: preserve the site watercolor and let the field image dissolve into it. */
.page-template-page-service #sec_head.svc-ph {
	min-height: clamp(560px, 64vh, 760px) !important;
	padding-bottom: clamp(56px, 8vh, 96px);
}
.page-template-page-service #sec_head.svc-ph .svc-ph-grid {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 31%;
	z-index: 0;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .08) 16%, #000 52%, #000 100%);
	mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .08) 16%, #000 52%, #000 100%);
}
.page-template-page-service #sec_head.svc-ph .svc-ph-grid::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(245,244,240,.08), rgba(245,244,240,.28));
	pointer-events: none;
}
.page-template-page-service #sec_head.svc-ph .svc-ph-grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 54% center;
	display: block;
	filter: saturate(.76) contrast(.96) brightness(1.06);
}
.page-template-page-service #sec_head.svc-ph .svc-ph-bgword {
	z-index: 1;
	color: rgba(0,0,0,.035);
}
.page-template-page-service #sec_head.svc-ph .svc-ph-inner {
	z-index: 2;
	display: block;
	padding-bottom: 0;
}
.page-template-page-service #sec_head.svc-ph .svc-ph-left { max-width: 520px; }
.page-template-page-service #sec_head.svc-ph .svc-ph-h1 {
	font-size: clamp(52px, 6vw, 82px) !important;
	letter-spacing: .01em;
	line-height: 1.06;
}
.page-template-page-service #sec_head.svc-ph .svc-ph-desc {
	margin: clamp(28px, 4vw, 52px) 0 0;
	max-width: 34em;
	font-family: var(--font-serif);
	font-size: clamp(15px, 1.25vw, 18px);
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: .04em;
	text-align: left;
	color: var(--text-2);
}
.page-template-page-service #sec_head.svc-ph .svc-ph-inner::after { display: none; }

/* Service 01: an editorial excavation process rather than a uniform list. */
.page-template-page-service #excavation.svc-stage--excavation {
	position: relative;
	padding: clamp(132px, 14vw, 208px) 0 clamp(118px, 13vw, 196px);
	border: 0;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-head {
	width: min(34%, 410px);
	margin: 0 0 clamp(68px, 7vw, 118px);
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-h2 {
	font-size: clamp(34px, 3.45vw, 56px) !important;
	line-height: 1.16;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-lead {
	font-size: 17px;
	line-height: 2;
	max-width: 500px;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-lead {
	margin-top: 24px;
	font-size: 15px;
	line-height: 2;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-divider { display: none; }
.page-template-page-service #excavation.svc-stage--excavation .svc2-flow {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: clamp(22px, 2.4vw, 44px);
	row-gap: clamp(76px, 8vw, 136px);
	max-width: none;
	margin: 0;
	counter-reset: excavation-step;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step {
	display: block;
	padding: 0;
	border: 0;
	min-width: 0;
	position: relative;
	counter-increment: excavation-step;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step::before {
	content: none;
	position: absolute;
	top: clamp(-54px, -4vw, -34px);
	left: 0;
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(34px, 3.2vw, 54px);
	font-style: italic;
	font-weight: 400;
	line-height: 1;
	color: var(--green);
	opacity: .7;
	z-index: 2;
	pointer-events: none;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step-photo {
	width: 100%;
	margin: 0;
	overflow: hidden;
	background: var(--paper);
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover !important;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step-body {
	margin: 0;
	padding: 0;
	max-width: none;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step-en {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 10px;
	letter-spacing: .16em;
	color: var(--green);
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step-en::before {
	content: counter(excavation-step, decimal-leading-zero);
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(30px, 2.5vw, 42px);
	font-style: italic;
	font-weight: 400;
	line-height: .8;
	letter-spacing: 0;
	color: currentColor;
	opacity: .78;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step-title {
	margin-top: 10px;
	font-size: clamp(18px, 1.42vw, 22px);
	line-height: 1.45;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step-desc {
	margin-top: 14px;
	font-size: 15px;
	line-height: 1.95;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(1) {
	position: absolute;
	top: clamp(150px, 15vw, 226px);
	right: 0;
	left: auto;
	width: calc((100% - clamp(22px, 2.4vw, 44px)) / 2);
	display: grid;
	grid-template-columns: minmax(150px, .82fr) minmax(250px, 1.18fr);
	gap: clamp(28px, 3vw, 56px);
	align-items: center;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(1) .svc2-step-photo { aspect-ratio: 4 / 3; }
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(2) {
	grid-column: 1 / span 3;
	display: block;
	align-self: start;
	padding-top: clamp(10px, 2vw, 34px);
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(2) .svc2-step-photo {
	aspect-ratio: 4 / 3;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(3) {
	grid-column: 4 / span 6;
	display: block;
	align-self: start;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(3) .svc2-step-photo { aspect-ratio: 4 / 3; }
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(4) {
	grid-column: 10 / -1;
	display: block;
	align-self: end;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(4) .svc2-step-photo { aspect-ratio: 1 / 1; }
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(2)::after,
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(3)::after,
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(6)::after,
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(7)::after {
	content: '››';
	position: absolute;
	top: 43%;
	right: clamp(-54px, -3.4vw, -38px);
	font-family: Arial, sans-serif;
	font-size: clamp(36px, 3vw, 50px);
	font-weight: 700;
	line-height: 1;
	color: #00937f;
	opacity: .18;
	animation: svc-flow-chevron-x 4.8s cubic-bezier(.22, 1, .36, 1) infinite;
	pointer-events: none;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(1)::after,
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(4)::after,
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5)::after,
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(8)::after {
	content: '››';
	position: absolute;
	bottom: clamp(-76px, -6vw, -54px);
	left: 50%;
	font-family: Arial, sans-serif;
	font-size: clamp(36px, 3vw, 50px);
	font-weight: 700;
	line-height: 1;
	color: #00937f;
	opacity: .18;
	animation: svc-flow-chevron-y 4.8s cubic-bezier(.22, 1, .36, 1) infinite .45s;
	pointer-events: none;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5)::after {
	bottom: 24px;
	z-index: 2;
}
@keyframes svc-flow-chevron-x {
	0%, 18% { opacity: 0; transform: translateX(-12px); }
	38%, 66% { opacity: .18; transform: translateX(0); }
	84%, 100% { opacity: 0; transform: translateX(12px); }
}
@keyframes svc-flow-chevron-y {
	0%, 18% { opacity: 0; transform: translate(-50%, -12px) rotate(90deg); }
	38%, 66% { opacity: .18; transform: translate(-50%, 0) rotate(90deg); }
	84%, 100% { opacity: 0; transform: translate(-50%, 12px) rotate(90deg); }
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) {
	grid-column: 1 / -1;
	position: relative;
	display: grid;
	align-items: center;
	min-height: clamp(270px, 29vw, 470px);
	padding: clamp(40px, 5vw, 92px) clamp(42px, 7vw, 132px);
	overflow: hidden;
	color: #fff;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-photo {
	position: absolute;
	inset: 0;
	aspect-ratio: auto;
	background: #16251f;
	z-index: 0;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-photo::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(10, 20, 16, .48);
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-body {
	position: relative;
	z-index: 1;
	width: min(100%, 390px);
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-en,
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-title { color: #fff; }
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-desc { color: rgba(255,255,255,.8); }
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5)::before {
	top: clamp(34px, 4vw, 72px);
	left: clamp(42px, 7vw, 132px);
	color: #fff;
	opacity: .78;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(6),
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(7),
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(8) { grid-column: span 4; }
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(7) {
	transform: translateY(clamp(-36px, -2.5vw, -24px));
	z-index: 1;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(6) .svc2-step-photo,
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(7) .svc2-step-photo,
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(8) .svc2-step-photo { aspect-ratio: 4 / 3; }
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(9) {
	grid-column: 2 / span 10;
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(190px, .5fr);
	gap: clamp(24px, 3vw, 56px);
	align-items: end;
}
.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(9) .excavation-report-photos {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
	gap: clamp(16px, 1.8vw, 30px);
	align-items: end;
}
.page-template-page-service #excavation.svc-stage--excavation .excavation-report-photos__item {
	overflow: hidden;
	aspect-ratio: 1.32 / 1;
}
.page-template-page-service #excavation.svc-stage--excavation .excavation-report-photos__item:nth-child(2) {
	aspect-ratio: 1 / 1;
	transform: translateY(clamp(18px, 2vw, 34px));
}
.page-template-page-service #excavation.svc-stage--excavation .excavation-report-photos__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (max-width: 768px) {
	.page-template-page-service #excavation.svc-stage--excavation { padding: 88px 0 104px; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-head { width: 100%; margin-bottom: 52px; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-h2 { font-size: 36px !important; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-flow { display: flex; flex-direction: column; gap: 48px; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) { display: grid; grid-template-columns: 1fr; gap: 20px; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(1) {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		width: auto;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(7) { transform: none; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-photo { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-body { grid-column: auto; grid-row: auto; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) { min-height: 330px; padding: 40px 30px; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-photo { position: absolute; inset: 0; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-body { position: relative; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5)::before { top: 28px; left: 30px; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step::before {
		top: -26px;
		font-size: 32px;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(1)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(2)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(3)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(4)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(6)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(7)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(8)::after {
		content: '››';
		top: auto;
		right: auto;
		bottom: -48px;
		left: 50%;
		font-size: 34px;
		animation-name: svc-flow-chevron-y;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5)::after { bottom: 22px; }
}
@media (prefers-reduced-motion: reduce) {
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(1)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(2)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(3)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(4)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(6)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(7)::after,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(8)::after {
		animation: none;
		opacity: .14;
	}
}

/* ============================================================
   RESPONSIVE MEDIA CORRECTION
   One controlled ratio system: lead media and supporting media
   remain legible instead of collapsing into narrow strips.
   ============================================================ */
@media (min-width: 481px) and (max-width: 900px) {
	.page-template-page-service #excavation.svc-stage--excavation .svc2-flow {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
		gap: 78px 24px;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) {
		position: relative;
		inset: auto;
		display: flex;
		flex-direction: column;
		grid-column: auto;
		grid-row: auto;
		width: 100%;
		height: auto;
		min-height: 0;
		margin: 0;
		padding: 0;
		gap: 22px;
		transform: none;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(even):not(:nth-child(5)) {
		transform: translateY(34px);
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-photo {
		position: relative;
		inset: auto;
		flex: none;
		width: 100%;
		height: auto !important;
		min-height: 0;
		aspect-ratio: 3 / 2 !important;
		margin: 0;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-photo img {
		width: 100%;
		height: 100% !important;
		object-fit: cover !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-body {
		width: 100%;
		height: auto;
		max-width: none;
		margin: 0;
		padding: 0 4px;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) {
		grid-column: 1 / -1;
		min-height: clamp(380px, 56vw, 510px);
		padding: clamp(44px, 7vw, 68px);
		transform: none;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-photo {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100% !important;
		aspect-ratio: auto !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-body {
		position: relative;
		width: min(100%, 520px);
		padding: 0;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(9) {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
		align-items: end;
		gap: 34px;
		transform: none;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(9) .excavation-report-photos {
		width: 100%;
	}

	.page-template-page-service .page_nav_content #construction.svc-stage--construction,
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition,
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation,
	.page-template-page-service .page_nav_content #rental.svc-stage--rental {
		display: flex;
		flex-direction: column;
	}

	.page-template-page-service #construction .svc2-head,
	.page-template-page-service #demolition .svc2-head,
	.page-template-page-service #transportation .svc2-head,
	.page-template-page-service #rental .svc2-head {
		order: 1;
		width: min(100%, 650px);
		max-width: none;
		padding: 0;
	}

	.page-template-page-service #construction .svc2-photo-main,
	.page-template-page-service #demolition .svc2-photo-main,
	.page-template-page-service #transportation .svc2-photo-main,
	.page-template-page-service #rental .svc2-photo-main {
		order: 2;
		height: auto;
		max-width: none;
		aspect-ratio: 3 / 2;
		margin-top: 54px;
		transform: none;
	}

	.page-template-page-service #construction .svc2-photo-main {
		width: calc(100% + var(--svc-pad));
		margin-left: calc(var(--svc-pad) * -1);
	}

	.page-template-page-service #demolition .svc2-photo-main {
		width: 84%;
		margin-left: auto;
	}

	.page-template-page-service #transportation .svc2-photo-main {
		width: 88%;
		margin-left: calc(var(--svc-pad) * -1);
	}

	.page-template-page-service #rental .svc2-photo-main {
		width: 84%;
		margin-left: auto;
	}

	.page-template-page-service #construction .svc2-photo-main img,
	.page-template-page-service #demolition .svc2-photo-main img,
	.page-template-page-service #transportation .svc2-photo-main img,
	.page-template-page-service #rental .svc2-photo-main img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.page-template-page-service #construction .construction-gallery,
	.page-template-page-service #demolition .svc2-thumbs,
	.page-template-page-service #transportation .svc2-thumbs,
	.page-template-page-service #rental .svc2-thumbs {
		order: 3;
		margin-top: 20px;
		transform: none;
	}

	.page-template-page-service #construction .construction-gallery {
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		width: 88%;
		margin-left: auto;
		gap: 12px;
	}

	.page-template-page-service #construction .construction-gallery__item:nth-child(1) { grid-column: 1 / 3; }
	.page-template-page-service #construction .construction-gallery__item:nth-child(2) { grid-column: 3 / 5; }
	.page-template-page-service #construction .construction-gallery__item:nth-child(3) { grid-column: 5 / 7; }
	.page-template-page-service #construction .construction-gallery__item:nth-child(4) { grid-column: 1 / 4; }
	.page-template-page-service #construction .construction-gallery__item:nth-child(5) { grid-column: 4 / 7; }

	.page-template-page-service #construction .construction-gallery__item,
	.page-template-page-service #demolition .svc2-thumb,
	.page-template-page-service #transportation .svc2-thumb,
	.page-template-page-service #rental .svc2-thumb {
		height: auto !important;
		aspect-ratio: 3 / 2 !important;
		transform: none;
	}

	.page-template-page-service #demolition .svc2-thumbs {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 90%;
		margin-right: auto;
		gap: 12px;
	}

	.page-template-page-service #transportation .svc2-thumbs,
	.page-template-page-service #rental .svc2-thumbs {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 72%;
		gap: 12px;
	}

	.page-template-page-service #transportation .svc2-thumbs {
		margin-left: auto;
	}

	.page-template-page-service #rental .svc2-thumbs {
		margin-right: auto;
	}

	.page-template-page-service #construction .construction-columns,
	.page-template-page-service #demolition .svc2-lists,
	.page-template-page-service #transportation .svc2-lists,
	.page-template-page-service #rental .svc2-lists {
		order: 4;
		width: 100%;
		max-width: none;
		margin: 58px 0 0;
		padding: 0;
		transform: none;
	}
}

@media (max-width: 480px) {
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-photo {
		height: auto !important;
		aspect-ratio: 3 / 2 !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-photo img {
		width: 100%;
		height: 100% !important;
		object-fit: cover !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-body {
		width: 100%;
		height: auto;
		max-width: none;
		margin: 0;
		padding: 0 2px;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-photo {
		position: absolute;
		inset: 0;
		height: 100% !important;
		aspect-ratio: auto !important;
	}

	.page-template-page-service #construction .svc2-photo-main,
	.page-template-page-service #demolition .svc2-photo-main,
	.page-template-page-service #transportation .svc2-photo-main,
	.page-template-page-service #rental .svc2-photo-main,
	.page-template-page-service #construction .construction-gallery__item,
	.page-template-page-service #demolition .svc2-thumb,
	.page-template-page-service #transportation .svc2-thumb,
	.page-template-page-service #rental .svc2-thumb {
		height: auto !important;
		aspect-ratio: 3 / 2 !important;
	}
}

/* Desktop: bring the opening consultation step into the title's visual orbit. */
@media (min-width: 1101px) {
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(1) {
		top: clamp(210px, 18vw, 286px);
		right: clamp(72px, calc(38vw - 430px), 440px);
	}
}

/* The editorial layout is intentionally non-linear, so it uses numbered steps without directional connectors. */
.page-template-page-service #excavation.svc-stage--excavation .svc2-step::after {
	content: none !important;
	animation: none !important;
}

@media (max-width: 768px) {
	.page-template-page-service #sec_head.svc-ph { min-height: 620px !important; }
	.page-template-page-service #sec_head.svc-ph .svc-ph-grid {
		top: 31%;
		left: 0;
		-webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.18) 28%, #000 70%, #000 100%);
		mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.18) 28%, #000 70%, #000 100%);
	}
	.page-template-page-service #sec_head.svc-ph .svc-ph-grid img { object-position: 58% center; }
	.page-template-page-service #sec_head.svc-ph .svc-ph-bgword { top: 74px; font-size: 104px; }
	.page-template-page-service #sec_head.svc-ph .svc-ph-h1 { font-size: 46px !important; }
	.page-template-page-service #sec_head.svc-ph .svc-ph-desc { margin-top: 26px; font-size: 14px; }
}

/* Service 02-05: shared typography, deliberately different compositions. */
.page-template-page-service .page_nav_content .svc-stage {
	position: relative;
	display: grid;
	grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr);
	column-gap: clamp(64px, 10vw, 184px);
	align-items: start;
	padding: clamp(132px, 15vw, 220px) 0;
	border: 0;
}
.page-template-page-service .svc-stage .svc2-divider { display: none; }
.page-template-page-service .svc-stage .svc2-head {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	padding-top: clamp(8px, 2vw, 34px);
}
.page-template-page-service .svc-stage .svc2-h2 {
	font-size: clamp(34px, 3.45vw, 56px) !important;
	line-height: 1.16;
}
.page-template-page-service .svc-stage .svc2-lead {
	margin-top: 24px;
	font-size: 15px;
	line-height: 2;
}
.page-template-page-service .svc-stage .svc2-layout { display: contents; }
.page-template-page-service .svc-stage .svc2-photos {
	grid-column: 2;
	grid-row: 1 / span 3;
	min-width: 0;
}
.page-template-page-service .svc-stage .svc2-photo-main {
	max-width: none;
	width: 100%;
	aspect-ratio: 16 / 10;
}
.page-template-page-service .svc-stage .svc2-lists {
	grid-column: 1;
	grid-row: 2;
	align-self: end;
	width: min(100%, 390px);
	margin-top: clamp(44px, 7vw, 112px);
	padding: 0;
	gap: 28px;
}
.page-template-page-service .svc-stage .svc2-list-label { color: var(--green); }
.page-template-page-service .svc-stage .svc2-list-item { font-size: 14px; }
.page-template-page-service .svc-stage .svc2-cta {
	grid-column: 1;
	grid-row: 3;
	align-self: end;
	width: min(100%, 390px);
	margin-top: 44px;
	padding-top: 22px;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.page-template-page-service .svc-stage .svc2-cta-btn {
	margin-top: 4px;
	padding: 11px 18px;
}

/* 02: a wide, quiet project frame. */
.page-template-page-service .svc-stage--construction::before {
	content: 'CIVIL ENGINEERING';
	position: absolute;
	top: 76px;
	right: 0;
	font-size: 10px;
	letter-spacing: .28em;
	color: var(--green);
	opacity: .55;
}
.page-template-page-service .svc-stage--construction .svc2-photos { padding-top: 0; }
.page-template-page-service .svc-stage--construction .svc2-photo-main { aspect-ratio: 16 / 9; }

/* 03: an upright, editorial composition with a vertical service marker. */
.page-template-page-service .svc-stage--demolition {
	grid-template-columns: minmax(260px, .76fr) minmax(0, 1.24fr);
	min-height: 880px;
}
.page-template-page-service .svc-stage--demolition::before {
	content: 'DEMOLITION WORKS';
	position: absolute;
	top: 50%;
	right: -32px;
	transform: rotate(90deg) translateX(50%);
	transform-origin: top right;
	font-size: 10px;
	letter-spacing: .28em;
	color: var(--green);
	opacity: .65;
}
.page-template-page-service .svc-stage--demolition .svc2-photos {
	grid-column: 2;
	grid-row: 1 / span 3;
	align-self: center;
	padding-right: clamp(16px, 4vw, 64px);
}
.page-template-page-service .svc-stage--demolition .svc2-photo-main { aspect-ratio: 4 / 5; }
.page-template-page-service .svc-stage--demolition .svc2-thumbs {
	max-width: 76%;
	margin-left: 0;
}
.page-template-page-service .svc-stage--demolition .svc2-lists { margin-top: clamp(56px, 9vw, 132px); }

/* 04: a full-bleed dark transport band. */
.page-template-page-service .page_nav_content .svc-stage--transportation {
	grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
	margin: 0 calc(var(--svc-pad) * -1);
	padding: clamp(104px, 10vw, 160px) var(--svc-pad);
	column-gap: clamp(48px, 8vw, 144px);
	background: #10201d;
	color: #fff;
}
.page-template-page-service .svc-stage--transportation .svc2-head { padding-top: 0; }
.page-template-page-service .svc-stage--transportation .svc2-eye,
.page-template-page-service .svc-stage--transportation .svc2-list-label { color: #8dcbbb; }
.page-template-page-service .svc-stage--transportation .svc2-eye::before { background: #8dcbbb; }
.page-template-page-service .svc-stage--transportation .svc2-h2 { color: #fff; }
.page-template-page-service .svc-stage--transportation .svc2-lead,
.page-template-page-service .svc-stage--transportation .svc2-list-item,
.page-template-page-service .svc-stage--transportation .svc2-cta-t { color: rgba(255,255,255,.7); }
.page-template-page-service .svc-stage--transportation .svc2-list-label::after,
.page-template-page-service .svc-stage--transportation .svc2-list-item,
.page-template-page-service .svc-stage--transportation .svc2-cta { border-color: rgba(255,255,255,.2); }
.page-template-page-service .svc-stage--transportation .svc2-list-item::after { background: #8dcbbb; }
.page-template-page-service .svc-stage--transportation .svc2-cta-t strong { color: #fff; }
.page-template-page-service .svc-stage--transportation .svc2-cta-btn { color: #b9e2d6; border-color: #8dcbbb; }
.page-template-page-service .svc-stage--transportation .svc2-cta-btn:hover { background: #8dcbbb; color: #10201d; }
.page-template-page-service .svc-stage--transportation .svc2-photo-main { aspect-ratio: 16 / 9; }
.page-template-page-service .svc-stage--transportation .svc2-thumbs { max-width: 56%; margin-left: auto; }

/* 05: equipment catalogue, open and light after the transport band. */
.page-template-page-service .svc-stage--rental {
	grid-template-columns: minmax(240px, .68fr) minmax(0, 1.32fr);
	padding-bottom: clamp(150px, 17vw, 260px);
}
.page-template-page-service .svc-stage--rental .svc2-photos { padding-top: clamp(14px, 3vw, 44px); }
.page-template-page-service .svc-stage--rental .svc2-photo-main { aspect-ratio: 16 / 8; }
.page-template-page-service .svc-stage--rental .svc2-thumbs {
	grid-template-columns: repeat(2, 1fr);
	max-width: 68%;
	margin-left: 0;
}
.page-template-page-service .svc-stage--rental .svc2-thumbs .svc2-thumb { height: auto; aspect-ratio: 16 / 8 !important; }

@media (max-width: 900px) {
	.page-template-page-service .page_nav_content .svc-stage,
	.page-template-page-service .page_nav_content .svc-stage--transportation,
	.page-template-page-service .page_nav_content .svc-stage--rental {
		grid-template-columns: minmax(210px, .7fr) minmax(0, 1.3fr);
		column-gap: 48px;
	}
	.page-template-page-service .svc-stage--demolition::before { display: none; }
}

@media (max-width: 768px) {
	.page-template-page-service .page_nav_content .svc-stage,
	.page-template-page-service .page_nav_content .svc-stage--transportation,
	.page-template-page-service .page_nav_content .svc-stage--rental {
		display: flex;
		flex-direction: column;
		gap: 0;
		margin: 0;
		padding: 92px 0;
		min-height: 0;
	}
	.page-template-page-service .svc-stage .svc2-head,
	.page-template-page-service .svc-stage .svc2-photos,
	.page-template-page-service .svc-stage .svc2-lists,
	.page-template-page-service .svc-stage .svc2-cta { width: 100%; margin-left: 0; }
	.page-template-page-service .svc-stage .svc2-head { padding-top: 0; }
	.page-template-page-service .svc-stage .svc2-h2 { font-size: 32px !important; }
	.page-template-page-service .svc-stage .svc2-photos { order: 2; margin-top: 34px; padding: 0; }
	.page-template-page-service .svc-stage .svc2-lists { order: 3; margin-top: 34px; }
	.page-template-page-service .svc-stage .svc2-cta { order: 4; margin-top: 34px; }
	.page-template-page-service .page_nav_content .svc-stage--transportation {
		margin: 0 calc(var(--svc-pad) * -1);
		padding: 84px var(--svc-pad);
	}
	.page-template-page-service .svc-stage--demolition .svc2-photo-main { aspect-ratio: 4 / 3; }
	.page-template-page-service .svc-stage--demolition .svc2-thumbs,
	.page-template-page-service .svc-stage--transportation .svc2-thumbs,
	.page-template-page-service .svc-stage--rental .svc2-thumbs { max-width: 100%; }
	.page-template-page-service .svc-stage--construction::before { display: none; }
}

/* ════════════════════════════════════════
   部門インデックス（svc-cg）：写真を外し、上品な文字だけの整列に
   ════════════════════════════════════════ */
.svc-cg { border-bottom: 0.5px solid var(--line-2); }
.svc-cg-card {
	border-right: 0.5px solid var(--line-2);
	transition: background 0.3s ease;
}
.svc-cg-body {
	display: flex; flex-direction: column; align-items: center;
	padding: 56px 24px 44px;
	text-align: center;
}
.svc-cg-num {
	font-family: 'Cormorant Garamond', serif;
	font-size: 30px; font-weight: 400; font-style: italic;
	color: var(--green); opacity: 0.55;
	letter-spacing: 0; margin-bottom: 14px;
}
.svc-cg-title {
	font-family: 'Noto Serif JP', serif;
	font-size: 18px; font-weight: 500;
	color: var(--text); line-height: 1.5; margin-bottom: 12px;
}
.svc-cg-desc {
	font-size: 13px; font-weight: 300; color: var(--text-2);
	line-height: 1.8; margin-bottom: 20px; max-width: 22em;
}
.svc-cg-arrow {
	width: 32px; height: 32px; border-radius: 50%;
	border: 0.5px solid var(--line-2);
	display: flex; align-items: center; justify-content: center;
	font-size: 13px; color: var(--green);
	transition: border-color .3s ease, background .3s ease, color .3s ease, transform .3s ease;
}
.svc-cg-card:hover { background: rgba(0,125,110,0.03); }
.svc-cg-card:hover .svc-cg-arrow {
	background: var(--green); border-color: var(--green); color: #fff;
	transform: translateY(2px);
}

/* Match the type scale used by the other lower-level pages. */
.page-template-page-service .svc2-h2 {
	font-size: clamp(28px, 2.2vw, 34px) !important;
	line-height: 1.25;
}
.page-template-page-service .svc2-lead,
.page-template-page-service .svc2-step-desc {
	font-size: 16px;
	line-height: 2;
}
.page-template-page-service .svc2-step-title { font-size: 18px; }
.page-template-page-service .svc2-list-item { font-size: 15px; }
.page-template-page-service .svc-cg-title { font-size: 18px; }
.page-template-page-service .svc-cg-desc { font-size: 14px; }

@media (max-width: 768px) {
	.page-template-page-service .svc2-h2 { font-size: 28px !important; }
	.page-template-page-service .svc2-lead,
	.page-template-page-service .svc2-step-desc { font-size: 15px; }
	.page-template-page-service .svc2-step-title { font-size: 17px; }
}

/* Service 03: editorial three-column composition with a static photo strip. */
.page-template-page-service .page_nav_content #demolition.svc-stage--demolition {
	position: relative;
	display: grid;
	grid-template-columns: minmax(220px, .62fr) minmax(400px, 1.08fr) minmax(300px, .82fr);
	grid-template-rows: auto auto;
	column-gap: clamp(48px, 6vw, 112px);
	row-gap: clamp(56px, 7vw, 112px);
	align-items: start;
	min-height: 0;
	padding: clamp(132px, 14vw, 210px) 0 clamp(100px, 11vw, 168px);
	border: 0;
}
.page-template-page-service .page_nav_content #demolition.svc-stage--demolition::before {
	content: '03';
	position: absolute;
	left: -2vw;
	right: auto;
	top: 49%;
	bottom: auto;
	transform: none;
	transform-origin: initial;
	font-family: var(--font-serif);
	font-size: clamp(140px, 16vw, 270px);
	font-style: italic;
	font-weight: 300;
	line-height: .7;
	letter-spacing: -.03em;
	color: rgba(0,125,110,.055);
	pointer-events: none;
	z-index: 0;
}
.page-template-page-service #demolition.svc-stage--demolition .svc2-divider { display: none; }
.page-template-page-service #demolition.svc-stage--demolition .svc2-head {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	padding-top: clamp(18px, 4vw, 72px);
}
.page-template-page-service #demolition.svc-stage--demolition .svc2-h2 {
	font-size: clamp(34px, 3.2vw, 50px) !important;
	line-height: 1.18;
}
.page-template-page-service #demolition.svc-stage--demolition .svc2-lead {
	margin-top: 24px;
	max-width: 23em;
}
.page-template-page-service #demolition.svc-stage--demolition .svc2-layout,
.page-template-page-service #demolition.svc-stage--demolition .svc2-photos { display: contents; }
.page-template-page-service #demolition.svc-stage--demolition .svc2-photo-main {
	grid-column: 2;
	grid-row: 1;
	width: min(100%, 520px);
	max-width: 520px;
	aspect-ratio: 4 / 3;
	justify-self: center;
	margin: 0;
}
.page-template-page-service #demolition.svc-stage--demolition .svc2-thumbs {
	grid-column: 1 / -1;
	grid-row: 2;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 2.4vw, 44px);
	width: min(78%, 1080px);
	max-width: none;
	margin: 0 auto;
	justify-self: center;
}
.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb {
	aspect-ratio: 4 / 3;
	height: auto;
	opacity: 1;
	cursor: default;
}
.page-template-page-service #demolition.svc-stage--demolition .svc2-lists {
	grid-column: 3;
	grid-row: 1;
	align-self: start;
	width: 100%;
	margin: 0;
	padding-top: clamp(28px, 5vw, 92px);
	gap: 0;
}
.page-template-page-service #demolition.svc-stage--demolition .svc2-list-label {
	margin-bottom: 14px;
	color: var(--green);
}
.page-template-page-service #demolition.svc-stage--demolition .svc2-list-item { padding: 13px 0; }
.page-template-page-service #demolition.svc-stage--demolition .svc2-cta {
	grid-column: 3;
	grid-row: 1;
	align-self: end;
	width: 100%;
	margin: 0;
	padding-top: 20px;
	justify-content: flex-end;
	border-top: 0;
}
.page-template-page-service #demolition.svc-stage--demolition .svc2-cta-t { display: none; }
.page-template-page-service #demolition.svc-stage--demolition .svc2-cta-btn {
	padding: 0 0 10px;
	border: 0;
	border-bottom: 1px solid var(--green);
	color: var(--text);
}
.page-template-page-service #demolition.svc-stage--demolition .svc2-cta-btn:hover { background: transparent; color: var(--green); }

/* Service 03: give the demolition work its own, denser rhythm. */
@media (min-width: 1201px) {
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition {
		grid-template-columns: minmax(230px, .62fr) minmax(460px, 1.16fr) minmax(310px, .78fr);
		grid-template-rows: minmax(470px, auto) auto;
		column-gap: clamp(46px, 5vw, 96px);
		row-gap: clamp(50px, 5vw, 92px);
		padding-top: clamp(144px, 15vw, 224px);
	}
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition::before {
		left: clamp(72px, 8vw, 156px);
		top: clamp(330px, 20vw, 460px);
		bottom: auto;
		font-size: clamp(170px, 18vw, 300px);
		color: rgba(0,125,110,.045);
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-head {
		padding-top: clamp(62px, 6vw, 112px);
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-h2 {
		font-size: clamp(38px, 3.5vw, 56px) !important;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-lead {
		font-size: 16px;
		line-height: 2;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-photo-main {
		width: min(100%, 620px);
		max-width: 620px;
		justify-self: start;
		align-self: start;
		margin-top: clamp(10px, 2.5vw, 42px);
		box-shadow: 0 22px 44px rgba(18, 31, 27, .10);
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-lists {
		align-self: start;
		padding: clamp(56px, 6vw, 104px) 0 0 clamp(24px, 2.4vw, 44px);
		border-left: 1px solid rgba(0,125,110,.24);
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-list-label {
		margin-bottom: 22px;
		letter-spacing: .18em;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-list-item {
		padding: 15px 0;
		font-size: 15px;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumbs {
		grid-column: 1 / span 2;
		width: 100%;
		margin: 0;
		justify-self: stretch;
		grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) minmax(0, 1.06fr);
		gap: clamp(20px, 2vw, 38px);
		padding-right: clamp(0px, 2vw, 34px);
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb {
		aspect-ratio: 4 / 3;
		box-shadow: 0 12px 28px rgba(18, 31, 27, .06);
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb:nth-child(2) {
		transform: translateY(clamp(20px, 2vw, 34px));
	}
}

/* Service 02: large main image with an empty gallery scaffold for future assets. */
.page-template-page-service .page_nav_content #construction.svc-stage--construction {
	position: relative;
	display: grid;
	grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
	grid-template-rows: auto auto;
	column-gap: clamp(54px, 7vw, 118px);
	row-gap: clamp(44px, 5vw, 84px);
	align-items: start;
	padding: clamp(126px, 13vw, 198px) 0 clamp(102px, 11vw, 168px);
	border: 0;
	min-height: 0;
}
.page-template-page-service .page_nav_content #construction.svc-stage--construction::before {
	content: '02';
	position: absolute;
	right: clamp(8px, 1.5vw, 20px);
	top: clamp(34px, 4vw, 64px);
	font-family: var(--font-serif);
	font-size: clamp(150px, 17vw, 286px);
	font-style: italic;
	font-weight: 300;
	line-height: .7;
	letter-spacing: -.03em;
	color: rgba(0,125,110,.05);
	pointer-events: none;
	z-index: 0;
}
.page-template-page-service #construction.svc-stage--construction .svc2-divider { display: none; }
.page-template-page-service #construction.svc-stage--construction .svc2-head {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	padding-top: 0;
	position: relative;
	z-index: 1;
}
.page-template-page-service #construction.svc-stage--construction .svc2-h2 {
	font-size: clamp(34px, 3.2vw, 50px) !important;
	line-height: 1.18;
}
.page-template-page-service #construction.svc-stage--construction .svc2-lead {
	margin-top: 24px;
	max-width: 24em;
}
.page-template-page-service #construction.svc-stage--construction .svc2-layout,
.page-template-page-service #construction.svc-stage--construction .svc2-photos { display: contents; }
.page-template-page-service #construction.svc-stage--construction .svc2-photo-main {
	grid-column: 1;
	grid-row: 2;
	width: min(65vw, 940px);
	max-width: 940px;
	aspect-ratio: 16 / 9;
	margin: clamp(-70px, -5vw, -42px) 0 0 calc(var(--svc-pad, 100px) * -1);
	align-self: start;
	transform: translateY(clamp(-74px, -5vw, -48px));
	position: relative;
	z-index: 1;
}
.page-template-page-service #construction.svc-stage--construction .construction-gallery {
	grid-column: 2;
	grid-row: 1;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	grid-template-areas:
		"top-a top-a top-b top-b top-c top-c"
		"bottom-a bottom-a bottom-a bottom-b bottom-b bottom-b";
	gap: clamp(16px, 1.8vw, 24px);
	width: min(90%, 500px);
	margin: clamp(22px, 3vw, 40px) clamp(8px, 1vw, 18px) 0 auto;
	transform:
		translateX(calc((min(90vw, 500px) - (clamp(16px, 1.8vw, 24px) * 2)) / -3))
		translateY(calc((min(90vw, 500px) - (clamp(16px, 1.8vw, 24px) * 2)) / 3));
	position: relative;
	z-index: 1;
}
.page-template-page-service #construction.svc-stage--construction .construction-gallery__item {
	aspect-ratio: 1 / 1;
	border-radius: 2px;
	overflow: hidden;
}
.page-template-page-service #construction.svc-stage--construction .construction-gallery__item > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(1) { grid-area: top-a; }
.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(2) { grid-area: top-b; }
.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(3) { grid-area: top-c; }
.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(4) { grid-area: bottom-a; }
.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(5) { grid-area: bottom-b; }
.page-template-page-service #construction.svc-stage--construction .construction-gallery__item--wide {
	aspect-ratio: 1.72 / 1;
}
.page-template-page-service #construction.svc-stage--construction .construction-gallery__item--placeholder {
	border: 1px solid rgba(0, 125, 110, .16);
	background:
		linear-gradient(180deg, rgba(255,255,255,.6), rgba(247,250,249,.94)),
		repeating-linear-gradient(135deg, rgba(0,125,110,.05) 0 12px, rgba(255,255,255,0) 12px 24px);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
}
.page-template-page-service #construction.svc-stage--construction .construction-columns {
	grid-column: 2;
	grid-row: 2;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(34px, 4vw, 62px);
	row-gap: 0;
	width: min(90%, 500px);
	margin: 0 clamp(8px, 1vw, 18px) 0 auto;
	transform: translateX(calc((min(90vw, 500px) - (clamp(16px, 1.8vw, 24px) * 2)) / -3));
	padding-top: 10px;
	position: relative;
	z-index: 1;
}
.page-template-page-service #construction.svc-stage--construction .construction-columns__group {
	min-width: 0;
}
.page-template-page-service #construction.svc-stage--construction .svc2-list-label {
	margin-bottom: 14px;
	color: var(--text);
}
.page-template-page-service #construction.svc-stage--construction .svc2-list-label::after {
	background: rgba(0,0,0,.12);
}
.page-template-page-service #construction.svc-stage--construction .svc2-list-item {
	padding: 13px 0;
}

@media (min-width: 1201px) {
	.page-template-page-service #construction.svc-stage--construction .construction-gallery {
		display: block;
		height: clamp(290px, 24vw, 330px);
		overflow: visible;
		transform:
			translateX(clamp(-150px, -10vw, -110px))
			translateY(clamp(196px, 15vw, 226px));
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item {
		position: absolute;
		width: 46%;
		aspect-ratio: 1.72 / 1;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(1) { left: -26%; top: 0; }
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(2) { left: 27%; top: 0; }
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(3) { left: 80%; top: 0; }
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(4),
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(5) {
		top: clamp(148px, 12vw, 164px);
		width: 48%;
		aspect-ratio: 1.72 / 1;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(4) { left: 0; }
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(5) { left: 52%; }
}

@media (max-width: 900px) {
	.page-template-page-service .page_nav_content #construction.svc-stage--construction {
		grid-template-columns: minmax(220px, .66fr) minmax(0, 1.34fr);
		column-gap: 36px;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery,
	.page-template-page-service #construction.svc-stage--construction .construction-columns {
		width: 100%;
		transform: none;
	}
	.page-template-page-service #construction.svc-stage--construction .svc2-photo-main {
		width: min(72vw, 720px);
		margin-left: 0;
		transform: translateY(-34px);
	}
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition {
		grid-template-columns: minmax(190px, .58fr) minmax(320px, 1fr) minmax(230px, .72fr);
		column-gap: 34px;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumbs { width: 100%; }
}

@media (max-width: 768px) {
	.page-template-page-service .page_nav_content #construction.svc-stage--construction {
		display: flex;
		flex-direction: column;
		gap: 0;
		padding: 92px 0;
	}
	.page-template-page-service .page_nav_content #construction.svc-stage--construction::before {
		right: 0;
		top: 48px;
		font-size: 120px;
	}
	.page-template-page-service #construction.svc-stage--construction .svc2-head,
	.page-template-page-service #construction.svc-stage--construction .svc2-photo-main,
	.page-template-page-service #construction.svc-stage--construction .construction-gallery,
	.page-template-page-service #construction.svc-stage--construction .construction-columns {
		width: 100%;
		max-width: none;
		margin: 0;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery {
		order: 2;
		margin-top: 34px;
		transform: none;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas:
			"top-a top-b"
			"top-c bottom-a"
			"bottom-b bottom-b";
	}
	.page-template-page-service #construction.svc-stage--construction .svc2-photo-main {
		order: 3;
		width: 100%;
		margin-top: 20px;
		margin-left: 0;
		transform: none;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-columns {
		order: 4;
		grid-template-columns: 1fr;
		gap: 26px;
		margin-top: 34px;
		padding-top: 0;
	}
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition {
		display: flex;
		flex-direction: column;
		gap: 0;
		padding: 92px 0;
	}
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition::before {
		left: 0;
		bottom: 44px;
		font-size: 120px;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-head,
	.page-template-page-service #demolition.svc-stage--demolition .svc2-photo-main,
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumbs,
	.page-template-page-service #demolition.svc-stage--demolition .svc2-lists,
	.page-template-page-service #demolition.svc-stage--demolition .svc2-cta {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-photo-main {
		order: 2;
		aspect-ratio: 4 / 3;
		margin-top: 34px;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumbs {
		order: 3;
		gap: 4px;
		margin-top: 4px;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-lists {
		order: 4;
		margin-top: 34px;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-cta {
		order: 5;
		justify-content: flex-start;
		margin-top: 34px;
	}
}

/* Static project galleries: all supporting photographs remain visible. */
.page-template-page-service #transportation .svc2-photo-main,
.page-template-page-service #rental .svc2-photo-main { display: none; }
.page-template-page-service #demolition.svc-stage--demolition .svc2-thumbs {
	display: grid;
}
.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb {
	aspect-ratio: 4 / 3;
	opacity: 1;
	cursor: default;
}
.page-template-page-service .svc2-thumb.active::after { border-color: transparent; }
.page-template-page-service #transportation .svc2-thumbs,
.page-template-page-service #rental .svc2-thumbs {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 0;
}
.page-template-page-service #transportation .svc2-thumb,
.page-template-page-service #rental .svc2-thumb {
	height: auto;
	aspect-ratio: 4 / 3 !important;
	opacity: 1;
	cursor: default;
}
@media (max-width: 768px) {
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumbs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
		margin-top: 34px;
	}
}

/* Service 04: horizontal transport composition with one attached support photo. */
.page-template-page-service .page_nav_content #transportation.svc-stage--transportation {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 704px) minmax(190px, 260px) minmax(300px, 1fr);
	column-gap: clamp(28px, 3vw, 56px);
	row-gap: clamp(40px, 5vw, 80px);
	align-items: start;
	padding: clamp(124px, 13vw, 196px) 0 clamp(108px, 12vw, 176px);
	background: transparent;
	border: 0;
	min-height: 0;
}
.page-template-page-service .page_nav_content #transportation.svc-stage--transportation::before {
	content: '04';
	position: absolute;
	right: clamp(8px, 1.8vw, 24px);
	top: clamp(40px, 5vw, 78px);
	font-family: var(--font-serif);
	font-size: clamp(150px, 17vw, 286px);
	font-style: italic;
	font-weight: 300;
	line-height: .7;
	letter-spacing: -.03em;
	color: rgba(0,125,110,.052);
	pointer-events: none;
	z-index: 0;
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-divider { display: none; }
.page-template-page-service #transportation.svc-stage--transportation .svc2-head {
	grid-column: 1 / -1;
	margin: 0;
	padding-left: clamp(32px, 6vw, 112px);
	max-width: 34em;
	position: relative;
	z-index: 1;
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-eye,
.page-template-page-service #transportation.svc-stage--transportation .svc2-list-label { color: var(--green); }
.page-template-page-service #transportation.svc-stage--transportation .svc2-eye::before { background: var(--green); }
.page-template-page-service #transportation.svc-stage--transportation .svc2-h2 {
	color: var(--text);
	font-size: clamp(34px, 3.2vw, 50px) !important;
	line-height: 1.18;
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-lead {
	max-width: 25em;
	color: var(--text);
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-layout,
.page-template-page-service #transportation.svc-stage--transportation .svc2-photos { display: contents; }
.page-template-page-service #transportation.svc-stage--transportation .svc2-photo-main {
	display: block;
	grid-column: 1;
	grid-row: 2;
	width: 100%;
	max-width: none;
	aspect-ratio: 16 / 9;
	margin: 0;
	justify-self: start;
	position: relative;
	z-index: 1;
	box-shadow: 0 24px 70px rgba(15, 35, 31, .08);
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-thumbs {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	justify-self: stretch;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(12px, 1.2vw, 20px);
	width: 100%;
	max-width: none;
	margin: clamp(48px, 4vw, 72px) 0 0;
	position: relative;
	z-index: 2;
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-thumb {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3 !important;
	opacity: 1;
	cursor: default;
	box-shadow: 0 18px 44px rgba(15, 35, 31, .12);
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-thumb:nth-child(2) {
	transform: none;
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-lists {
	grid-column: 3;
	grid-row: 2;
	align-self: start;
	width: 100%;
	margin: clamp(48px, 4vw, 72px) 0 0;
	gap: 0;
	position: relative;
	z-index: 1;
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-list-label::after,
.page-template-page-service #transportation.svc-stage--transportation .svc2-list-item,
.page-template-page-service #transportation.svc-stage--transportation .svc2-cta {
	border-color: rgba(0, 0, 0, .12);
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-list-item {
	color: var(--text);
	padding: 15px 0;
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-list-item::after { background: var(--green); }
.page-template-page-service #transportation.svc-stage--transportation .svc2-cta {
	grid-column: 3;
	grid-row: 2;
	align-self: end;
	width: 100%;
	margin: 0;
	padding-top: 26px;
	justify-content: flex-end;
	border-top: 0;
	position: relative;
	z-index: 1;
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-cta-t { display: none; }
.page-template-page-service #transportation.svc-stage--transportation .svc2-cta-btn {
	padding: 0 0 10px;
	border: 0;
	border-bottom: 1px solid var(--green);
	color: var(--text);
}
.page-template-page-service #transportation.svc-stage--transportation .svc2-cta-btn:hover { background: transparent; color: var(--green); }

@media (max-width: 900px) {
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation {
		grid-template-columns: minmax(0, 1fr);
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-head,
	.page-template-page-service #transportation.svc-stage--transportation .svc2-photo-main,
	.page-template-page-service #transportation.svc-stage--transportation .svc2-thumbs,
	.page-template-page-service #transportation.svc-stage--transportation .svc2-lists,
	.page-template-page-service #transportation.svc-stage--transportation .svc2-cta {
		grid-column: 1;
		grid-row: auto;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-thumbs {
		width: min(48%, 280px);
		margin: 24px 0 0;
	}
}

@media (max-width: 768px) {
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation {
		display: flex;
		flex-direction: column;
		gap: 0;
		padding: 92px 0;
	}
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation::before {
		right: 0;
		top: 54px;
		font-size: 120px;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-photo-main {
		aspect-ratio: 4 / 3;
		width: 100%;
		max-width: none;
		margin-top: 34px;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-thumbs {
		width: 58%;
		margin: 18px 0 0 auto;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-thumb:nth-child(2) { transform: none; }
	.page-template-page-service #transportation.svc-stage--transportation .svc2-lists {
		margin-top: 34px;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-cta {
		justify-content: flex-start;
		margin-top: 34px;
	}
}

.page-template-page-service .svc2-cta {
	display: none !important;
}

/* Service 05: a calm equipment catalogue with every photograph visible. */
@media (min-width: 901px) {
	.page-template-page-service .page_nav_content #rental.svc-stage--rental {
		position: relative;
		display: grid;
		grid-template-columns: minmax(240px, .68fr) minmax(0, 1.32fr);
		grid-template-rows: auto auto;
		column-gap: clamp(58px, 7vw, 118px);
		row-gap: clamp(42px, 5vw, 84px);
		align-items: start;
		padding: clamp(138px, 14vw, 220px) 0 clamp(144px, 15vw, 236px);
		border: 0;
	}
	.page-template-page-service .page_nav_content #rental.svc-stage--rental::before {
		content: '05';
		position: absolute;
		right: clamp(4px, 1.4vw, 24px);
		top: clamp(48px, 5vw, 84px);
		font-family: var(--font-serif);
		font-size: clamp(150px, 17vw, 284px);
		font-style: italic;
		font-weight: 300;
		line-height: .7;
		letter-spacing: -.03em;
		color: rgba(0,125,110,.048);
		pointer-events: none;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-divider { display: none; }
	.page-template-page-service #rental.svc-stage--rental .svc2-head {
		grid-column: 1;
		grid-row: 1;
		margin: 0;
		padding-top: clamp(24px, 3vw, 58px);
		position: relative;
		z-index: 1;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-h2 {
		font-size: clamp(34px, 3.3vw, 52px) !important;
		line-height: 1.18;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-lead {
		font-size: 16px;
		line-height: 2;
		max-width: 24em;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-layout,
	.page-template-page-service #rental.svc-stage--rental .svc2-photos { display: contents; }
	.page-template-page-service #rental.svc-stage--rental .svc2-photo-main {
		display: block;
		grid-column: 2;
		grid-row: 1;
		width: min(82%, 680px);
		max-width: 680px;
		justify-self: start;
		aspect-ratio: 16 / 9;
		margin: 0;
		box-shadow: 0 18px 46px rgba(18, 31, 27, .08);
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-thumbs {
		display: grid;
		grid-column: 2;
		grid-row: 2;
		grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
		gap: clamp(18px, 2vw, 34px);
		width: min(74%, 610px);
		max-width: none;
		margin: 0 0 0 clamp(34px, 5vw, 92px);
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-thumb {
		aspect-ratio: 16 / 10 !important;
		height: auto;
		opacity: 1;
		cursor: default;
		box-shadow: 0 12px 30px rgba(18, 31, 27, .06);
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-thumb:nth-child(2) {
		transform: translateY(clamp(18px, 2vw, 32px));
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-lists {
		grid-column: 1;
		grid-row: 2;
		align-self: start;
		width: 100%;
		margin: 0;
		padding-top: clamp(16px, 2vw, 36px);
		gap: 0;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-list-label { margin-bottom: 18px; }
	.page-template-page-service #rental.svc-stage--rental .svc2-list-item { padding: 14px 0; font-size: 15px; }
}

@media (max-width: 900px) {
	.page-template-page-service #rental.svc-stage--rental .svc2-photo-main { display: block; }
	.page-template-page-service #rental.svc-stage--rental .svc2-thumb:nth-child(2) { transform: none; }
}

/* ============================================================
   RESPONSIVE EDITORIAL PASS
   Preserve the character of each service instead of collapsing
   every composition into the same single-column stack.
   ============================================================ */

.page-template-page-service #sec_service,
.page-template-page-service .svc2-wrap,
.page-template-page-service .page_nav_content,
.page-template-page-service .page_nav_content > .box {
	min-width: 0;
}

.page-template-page-service .svc2-photo-main,
.page-template-page-service .svc2-step-photo,
.page-template-page-service .svc2-thumb,
.page-template-page-service .construction-gallery__item,
.page-template-page-service .excavation-report-photos__item {
	isolation: isolate;
}

.page-template-page-service .svc2-photo-main img,
.page-template-page-service .svc2-step-photo img,
.page-template-page-service .svc2-thumb img,
.page-template-page-service .construction-gallery__item img,
.page-template-page-service .excavation-report-photos__item img {
	max-width: 100%;
}

/* Tablet landscape / compact desktop: 1024px remains an editorial spread. */
@media (min-width: 801px) and (max-width: 1100px) {
	.page-template-page-service {
		--svc-pad: clamp(32px, 4vw, 48px);
	}

	.page-template-page-service .page_nav_content > .box {
		overflow: clip;
	}

	.page-template-page-service .svc2-h2,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-h2,
	.page-template-page-service #construction.svc-stage--construction .svc2-h2,
	.page-template-page-service #demolition.svc-stage--demolition .svc2-h2,
	.page-template-page-service #transportation.svc-stage--transportation .svc2-h2,
	.page-template-page-service #rental.svc-stage--rental .svc2-h2 {
		font-size: clamp(34px, 4.5vw, 46px) !important;
	}

	.page-template-page-service .svc2-list-item {
		min-height: 44px;
		display: flex;
		align-items: center;
	}

	/* 01 / Excavation: a readable, non-linear process map. */
	.page-template-page-service #excavation.svc-stage--excavation {
		padding: 128px 0 144px;
	}
	.page-template-page-service #excavation.svc-stage--excavation::after {
		content: '01';
		position: absolute;
		top: 56px;
		right: 0;
		font-family: var(--font-serif);
		font-size: 190px;
		font-style: italic;
		font-weight: 300;
		line-height: .7;
		color: rgba(0, 125, 110, .05);
		pointer-events: none;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-head {
		width: min(44%, 410px);
		margin-bottom: 72px;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-flow {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		grid-template-rows: repeat(6, auto);
		column-gap: 24px;
		row-gap: 72px;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) {
		position: relative;
		inset: auto;
		width: auto;
		display: block;
		padding: 0;
		transform: none;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(1) {
		grid-column: 7 / -1;
		grid-row: 1;
		display: grid;
		grid-template-columns: minmax(0, .9fr) minmax(190px, 1.1fr);
		gap: 26px;
		align-items: center;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(2) {
		grid-column: 1 / 4;
		grid-row: 2;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(3) {
		grid-column: 4 / 9;
		grid-row: 2;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(4) {
		grid-column: 9 / -1;
		grid-row: 2;
		align-self: end;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) {
		grid-column: 1 / -1;
		grid-row: 3;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(6) {
		grid-column: 1 / 5;
		grid-row: 4;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(7) {
		grid-column: 5 / 9;
		grid-row: 4;
		transform: translateY(-24px);
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(8) {
		grid-column: 9 / -1;
		grid-row: 4;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(9) {
		grid-column: 2 / -1;
		grid-row: 5;
		grid-template-columns: minmax(0, 1.35fr) minmax(210px, .65fr);
	}

	/* 02 / Construction: wide work image balanced by a five-image field board. */
	.page-template-page-service .page_nav_content #construction.svc-stage--construction {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		grid-template-rows: auto auto;
		column-gap: 20px;
		row-gap: 54px;
		padding: 126px 0 138px;
	}
	.page-template-page-service #construction.svc-stage--construction .svc2-head {
		grid-column: 1 / 5;
		grid-row: 1;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery {
		grid-column: 6 / -1;
		grid-row: 1;
		width: 100%;
		margin: 18px 0 0;
		transform: none;
		gap: 14px;
	}
	.page-template-page-service #construction.svc-stage--construction .svc2-photo-main {
		grid-column: 1 / 8;
		grid-row: 2;
		width: calc(100% + var(--svc-pad));
		max-width: none;
		margin: 0 0 0 calc(var(--svc-pad) * -1);
		transform: none;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-columns {
		grid-column: 8 / -1;
		grid-row: 2;
		width: 100%;
		margin: 0;
		padding: 0;
		transform: none;
		align-self: center;
		column-gap: 24px;
	}

	/* 03 / Demolition: upright centerpiece with a controlled lower strip. */
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		grid-template-rows: auto auto;
		column-gap: 20px;
		row-gap: 58px;
		padding: 128px 0 142px;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-head {
		grid-column: 1 / 4;
		grid-row: 1;
		padding-top: 42px;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-photo-main {
		grid-column: 4 / 10;
		grid-row: 1;
		width: 100%;
		max-width: none;
		aspect-ratio: 4 / 3;
		justify-self: stretch;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-lists {
		grid-column: 10 / -1;
		grid-row: 1;
		width: 100%;
		margin: 0;
		padding: 38px 0 0 18px;
		border-left: 1px solid rgba(0, 125, 110, .18);
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumbs {
		grid-column: 3 / 11;
		grid-row: 2;
		width: 100%;
		margin: 0;
		gap: 18px;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb:nth-child(2) {
		transform: translateY(22px);
	}
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition::before {
		left: 0;
		top: 42%;
		font-size: 190px;
	}

	/* 04 / Transportation: the long main frame leads into a vertical pair. */
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		grid-template-rows: auto auto;
		column-gap: 20px;
		row-gap: 52px;
		width: auto;
		margin: 0;
		padding: 126px 0 142px;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-head {
		grid-column: 1 / 7;
		grid-row: 1;
		width: 100%;
		max-width: none;
		padding: 0 0 0 24px;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-photo-main {
		grid-column: 1 / 8;
		grid-row: 2;
		width: calc(100% + var(--svc-pad));
		margin-left: calc(var(--svc-pad) * -1);
		aspect-ratio: 16 / 10;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-thumbs {
		grid-column: 8 / 10;
		grid-row: 2;
		width: 100%;
		margin: 34px 0 0;
		gap: 14px;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-lists {
		grid-column: 10 / -1;
		grid-row: 2;
		width: 100%;
		margin: 34px 0 0;
	}

	/* 05 / Rental: an open catalogue spread with a staggered equipment pair. */
	.page-template-page-service .page_nav_content #rental.svc-stage--rental {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		grid-template-rows: auto auto;
		column-gap: 20px;
		row-gap: 48px;
		padding: 132px 0 154px;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-head {
		grid-column: 1 / 5;
		grid-row: 1;
		padding-top: 34px;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-photo-main {
		grid-column: 5 / -1;
		grid-row: 1;
		width: 88%;
		max-width: none;
		justify-self: start;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-lists {
		grid-column: 1 / 5;
		grid-row: 2;
		width: 100%;
		padding-top: 16px;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-thumbs {
		grid-column: 5 / -1;
		grid-row: 2;
		width: 82%;
		margin: 0 0 0 38px;
		gap: 20px;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-thumb:nth-child(2) {
		transform: translateY(24px);
	}
}

/* Tablet portrait: asymmetric six-column compositions. */
@media (min-width: 481px) and (max-width: 800px) {
	.page-template-page-service {
		--svc-pad: clamp(24px, 4vw, 32px);
	}

	.page-template-page-service .page_nav_content > .box {
		overflow: clip;
	}

	.page-template-page-service .page_nav_content #construction.svc-stage--construction,
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition,
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation,
	.page-template-page-service .page_nav_content #rental.svc-stage--rental {
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		column-gap: 16px;
		width: auto;
		min-height: 0;
		margin: 0;
		padding: 104px 0 120px;
	}

	.page-template-page-service .svc2-list-item {
		min-height: 44px;
		display: flex;
		align-items: center;
	}

	.page-template-page-service #excavation.svc-stage--excavation {
		position: relative;
		padding: 104px 0 124px;
	}
	.page-template-page-service #excavation.svc-stage--excavation::after,
	.page-template-page-service .page_nav_content #construction.svc-stage--construction::before,
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition::before,
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation::before,
	.page-template-page-service .page_nav_content #rental.svc-stage--rental::before {
		display: block;
		position: absolute;
		top: 54px;
		right: 0;
		left: auto;
		font-family: var(--font-serif);
		font-size: 150px;
		font-style: italic;
		font-weight: 300;
		line-height: .7;
		letter-spacing: -.03em;
		color: rgba(0, 125, 110, .05);
		pointer-events: none;
		z-index: 0;
	}
	.page-template-page-service #excavation.svc-stage--excavation::after { content: '01'; }
	.page-template-page-service .page_nav_content #construction.svc-stage--construction::before { content: '02'; }
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition::before { content: '03'; }
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation::before { content: '04'; }
	.page-template-page-service .page_nav_content #rental.svc-stage--rental::before { content: '05'; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-head {
		width: min(76%, 500px);
		margin-bottom: 64px;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-flow {
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 64px 16px;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) {
		position: relative;
		inset: auto;
		width: auto;
		display: grid;
		grid-template-columns: 1fr;
		grid-column: auto;
		grid-row: auto;
		gap: 18px;
		padding: 0;
		transform: none;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(1) { grid-column: 3 / -1; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(2) { grid-column: 1 / 4; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(3) { grid-column: 3 / -1; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(4) { grid-column: 1 / 4; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) { grid-column: 1 / -1; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(6) { grid-column: 1 / 4; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(7) {
		grid-column: 4 / -1;
		transform: translateY(34px);
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(8) { grid-column: 2 / 6; }
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(9) {
		grid-column: 1 / -1;
		grid-template-columns: minmax(0, 1.2fr) minmax(210px, .8fr);
		gap: 26px;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-photo,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-body {
		grid-column: auto;
		grid-row: auto;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) {
		min-height: 390px;
		padding: 52px 42px;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-photo {
		position: absolute;
		inset: 0;
	}

	.page-template-page-service #construction.svc-stage--construction .svc2-head {
		grid-column: 1 / 5;
		grid-row: 1;
		width: 100%;
	}
	.page-template-page-service #construction.svc-stage--construction .svc2-photo-main {
		grid-column: 1 / -1;
		grid-row: 2;
		order: initial;
		width: calc(100% + var(--svc-pad));
		max-width: none;
		margin: 48px 0 0 calc(var(--svc-pad) * -1);
		transform: none;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery {
		grid-column: 2 / -1;
		grid-row: 3;
		order: initial;
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		grid-template-areas: none;
		width: 100%;
		margin: 28px 0 0;
		transform: none;
		gap: 12px;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item {
		aspect-ratio: 16 / 10;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(1) {
		grid-area: auto;
		grid-column: 1 / 3;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(2) {
		grid-area: auto;
		grid-column: 3 / 5;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(3) {
		grid-area: auto;
		grid-column: 5 / 7;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(4) {
		grid-area: auto;
		grid-column: 1 / 4;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(5) {
		grid-area: auto;
		grid-column: 4 / 7;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-columns {
		grid-column: 1 / -1;
		grid-row: 4;
		order: initial;
		width: 100%;
		margin: 48px 0 0;
		padding: 0;
		transform: none;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px;
	}

	.page-template-page-service #demolition.svc-stage--demolition .svc2-head {
		grid-column: 1 / 4;
		grid-row: 1;
		width: 100%;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-photo-main {
		grid-column: 2 / -1;
		grid-row: 2;
		order: initial;
		width: 100%;
		max-width: none;
		aspect-ratio: 4 / 3;
		margin: 48px 0 0;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumbs {
		grid-column: 1 / 6;
		grid-row: 3;
		order: initial;
		width: 100%;
		margin: 18px 0 0;
		gap: 12px;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb:nth-child(2) {
		transform: translateY(22px);
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-lists {
		grid-column: 2 / -1;
		grid-row: 4;
		order: initial;
		width: 100%;
		margin: 62px 0 0;
		padding: 0;
	}
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition::before {
		left: auto;
		right: 0;
		top: 58px;
		font-size: 150px;
	}

	.page-template-page-service #transportation.svc-stage--transportation .svc2-head {
		grid-column: 1 / 5;
		grid-row: 1;
		width: 100%;
		max-width: none;
		padding: 0;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-photo-main {
		grid-column: 1 / 5;
		grid-row: 2;
		order: initial;
		width: calc(100% + var(--svc-pad));
		max-width: none;
		aspect-ratio: 4 / 3;
		margin: 48px 0 0 calc(var(--svc-pad) * -1);
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-thumbs {
		grid-column: 5 / -1;
		grid-row: 2;
		order: initial;
		width: 100%;
		margin: 76px 0 0;
		gap: 12px;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-lists {
		grid-column: 2 / -1;
		grid-row: 3;
		order: initial;
		width: 100%;
		margin: 54px 0 0;
	}

	.page-template-page-service #rental.svc-stage--rental .svc2-head {
		grid-column: 1 / 4;
		grid-row: 1;
		width: 100%;
		padding: 20px 0 0;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-layout,
	.page-template-page-service #rental.svc-stage--rental .svc2-photos {
		display: contents;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-photo-main {
		grid-column: 4 / -1;
		grid-row: 1;
		order: initial;
		width: 100%;
		max-width: none;
		aspect-ratio: 4 / 3;
		margin: 0;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-lists {
		grid-column: 1 / 3;
		grid-row: 2;
		order: initial;
		width: 100%;
		margin: 54px 0 0;
		padding: 0;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-thumbs {
		grid-column: 3 / -1;
		grid-row: 2;
		order: initial;
		width: 100%;
		margin: 36px 0 0;
		gap: 16px;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-thumb:nth-child(2) {
		transform: translateY(28px);
	}
}

/* Phone: alternating widths and deliberate offsets retain visual rhythm. */
@media (max-width: 480px) {
	.page-template-page-service {
		--svc-pad: clamp(16px, 5vw, 20px);
	}

	.page-template-page-service #contents,
	.page-template-page-service #sec_service,
	.page-template-page-service .svc2-wrap,
	.page-template-page-service .page_nav_content > .box {
		overflow: clip;
	}

	.page-template-page-service #sec_head.svc-ph {
		min-height: min(680px, 100svh) !important;
	}
	.page-template-page-service #sec_head.svc-ph .svc-ph-h1 {
		font-size: clamp(38px, 12vw, 46px) !important;
		line-height: 1.18;
	}
	.page-template-page-service #sec_head.svc-ph .svc-ph-desc {
		max-width: 24em;
		line-height: 1.85;
	}

	.page-template-page-service .page_nav_content > .box,
	.page-template-page-service .page_nav_content #construction.svc-stage--construction,
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition,
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation,
	.page-template-page-service .page_nav_content #rental.svc-stage--rental {
		width: 100%;
		min-height: 0;
		margin: 0;
		padding: 92px 0 108px;
	}

	.page-template-page-service #excavation.svc-stage--excavation {
		position: relative;
	}
	.page-template-page-service #excavation.svc-stage--excavation::after,
	.page-template-page-service .page_nav_content #construction.svc-stage--construction::before,
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition::before,
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation::before,
	.page-template-page-service .page_nav_content #rental.svc-stage--rental::before {
		display: block;
		position: absolute;
		top: 44px;
		right: -6px;
		left: auto;
		font-family: var(--font-serif);
		font-size: 126px;
		font-style: italic;
		font-weight: 300;
		line-height: .7;
		letter-spacing: -.03em;
		color: rgba(0, 125, 110, .05);
		pointer-events: none;
		z-index: 0;
	}
	.page-template-page-service #excavation.svc-stage--excavation::after { content: '01'; }
	.page-template-page-service .page_nav_content #construction.svc-stage--construction::before { content: '02'; }
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition::before { content: '03'; }
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation::before { content: '04'; }
	.page-template-page-service .page_nav_content #rental.svc-stage--rental::before { content: '05'; }

	.page-template-page-service .svc2-h2,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-h2,
	.page-template-page-service #construction.svc-stage--construction .svc2-h2,
	.page-template-page-service #demolition.svc-stage--demolition .svc2-h2,
	.page-template-page-service #transportation.svc-stage--transportation .svc2-h2,
	.page-template-page-service #rental.svc-stage--rental .svc2-h2 {
		font-size: clamp(30px, 9.2vw, 36px) !important;
		line-height: 1.22;
	}
	.page-template-page-service .svc2-lead,
	.page-template-page-service .svc2-step-desc {
		font-size: 15px;
		line-height: 1.9;
	}
	.page-template-page-service .svc2-list-item {
		min-height: 48px;
		display: flex;
		align-items: center;
		padding: 12px 0;
	}

	/* Navigation remains compact without becoming a horizontal carousel. */
	.page-template-page-service .svc-cg {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.page-template-page-service .svc-cg-card {
		width: auto;
		min-width: 0;
		min-height: 190px;
		border-bottom: .5px solid var(--line-2);
	}
	.page-template-page-service .svc-cg-card:nth-child(5) {
		grid-column: 1 / -1;
		min-height: 150px;
	}
	.page-template-page-service .svc-cg-body {
		height: 100%;
		padding: 30px 14px 24px;
	}
	.page-template-page-service .svc-cg-desc {
		display: none;
	}
	.page-template-page-service .svc-cg-title {
		font-size: 15px;
		margin-bottom: 16px;
	}
	.page-template-page-service .svc-cg-arrow {
		width: 40px;
		height: 40px;
		margin-top: auto;
	}

	/* 01 / Excavation: alternating process blocks, not a uniform feed. */
	.page-template-page-service #excavation.svc-stage--excavation .svc2-head {
		width: 92%;
		margin-bottom: 58px;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-flow {
		display: flex;
		flex-direction: column;
		gap: 58px;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step,
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) {
		position: relative;
		inset: auto;
		display: grid;
		grid-template-columns: 1fr;
		width: 91%;
		margin: 0;
		padding: 0;
		gap: 18px;
		transform: none;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(odd) {
		margin-left: auto;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(3),
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(7) {
		width: 96%;
		margin-left: auto;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(4),
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(6) {
		width: 82%;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) {
		width: calc(100% + (var(--svc-pad) * 2));
		min-height: 390px;
		margin-left: calc(var(--svc-pad) * -1);
		padding: 52px calc(var(--svc-pad) + 8px);
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-photo {
		position: absolute;
		inset: 0;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(9) {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(9) .excavation-report-photos {
		width: 96%;
		grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
		gap: 10px;
	}

	/* 02 / Construction: main panorama followed by a compact 3-2 field mosaic. */
	.page-template-page-service .page_nav_content #construction.svc-stage--construction {
		display: flex;
		flex-direction: column;
	}
	.page-template-page-service #construction.svc-stage--construction .svc2-head {
		order: 1;
		width: 91%;
	}
	.page-template-page-service #construction.svc-stage--construction .svc2-photo-main {
		order: 2;
		width: calc(100% + var(--svc-pad));
		max-width: none;
		aspect-ratio: 4 / 3;
		margin: 46px 0 0 calc(var(--svc-pad) * -1);
		transform: none;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery {
		order: 3;
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		grid-template-areas: none;
		width: 94%;
		margin: 22px 0 0 auto;
		transform: none;
		gap: 9px;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item,
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item--wide {
		grid-area: auto;
		aspect-ratio: 16 / 10;
	}
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(1) { grid-column: 1 / 3; }
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(2) { grid-column: 3 / 5; }
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(3) { grid-column: 5 / 7; }
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(4) { grid-column: 1 / 4; }
	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(5) { grid-column: 4 / 7; }
	.page-template-page-service #construction.svc-stage--construction .construction-columns {
		order: 4;
		width: 100%;
		margin: 46px 0 0;
		padding: 0;
		transform: none;
		grid-template-columns: 1fr;
		gap: 28px;
	}

	/* 03 / Demolition: large controlled frame and a broken three-image sequence. */
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition {
		display: flex;
		flex-direction: column;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-head {
		order: 1;
		width: 88%;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-photo-main {
		order: 2;
		width: 94%;
		max-width: none;
		aspect-ratio: 4 / 3;
		margin: 46px 0 0 auto;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumbs {
		order: 3;
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		width: 92%;
		margin: 12px auto 0 0;
		gap: 9px;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb {
		aspect-ratio: 4 / 3 !important;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb:nth-child(1) { grid-column: 1 / 4; }
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb:nth-child(2) {
		grid-column: 4 / 7;
		transform: translateY(14px);
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb:nth-child(3) {
		grid-column: 2 / 6;
		margin-top: 9px;
	}
	.page-template-page-service #demolition.svc-stage--demolition .svc2-lists {
		order: 4;
		width: 88%;
		margin: 52px 0 0 auto;
		padding: 0;
	}
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition::before {
		left: auto;
		right: -6px;
		top: 50px;
		font-size: 126px;
	}

	/* 04 / Transportation: broad main vehicle image and a right-side vertical pair. */
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation {
		display: flex;
		flex-direction: column;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-head {
		order: 1;
		width: 90%;
		max-width: none;
		padding: 0;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-photo-main {
		order: 2;
		width: calc(100% + var(--svc-pad));
		max-width: none;
		aspect-ratio: 4 / 3;
		margin: 46px 0 0 calc(var(--svc-pad) * -1);
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-thumbs {
		order: 3;
		grid-template-columns: 1fr;
		width: 64%;
		max-width: none;
		margin: 12px 0 0 auto;
		gap: 10px;
	}
	.page-template-page-service #transportation.svc-stage--transportation .svc2-lists {
		order: 4;
		width: 90%;
		margin: 46px 0 0;
	}

	/* 05 / Rental: quiet catalogue with a staggered supporting pair. */
	.page-template-page-service .page_nav_content #rental.svc-stage--rental {
		display: flex;
		flex-direction: column;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-head {
		order: 1;
		width: 88%;
		padding: 0;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-photo-main {
		order: 2;
		width: 94%;
		max-width: none;
		aspect-ratio: 4 / 3;
		margin: 46px 0 0 auto;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-thumbs {
		order: 3;
		grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
		width: 88%;
		max-width: none;
		margin: 16px auto 0 0;
		gap: 10px;
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-thumb:nth-child(2) {
		transform: translateY(20px);
	}
	.page-template-page-service #rental.svc-stage--rental .svc2-lists {
		order: 4;
		width: 88%;
		margin: 50px 0 0 auto;
		padding: 0;
	}

}

@media (prefers-reduced-motion: reduce) {
	.page-template-page-service *,
	.page-template-page-service *::before,
	.page-template-page-service *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
	.page-template-page-service .svc2-step,
	.page-template-page-service .svc2-photo-main,
	.page-template-page-service .svc2-thumb,
	.page-template-page-service .construction-gallery__item {
		transition: none !important;
	}
}

/* Final cascade: keep every responsive photograph legible and proportionate. */
@media (min-width: 481px) and (max-width: 1100px) {
	.page-template-page-service #excavation.svc-stage--excavation .svc2-flow {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		align-items: start;
		gap: 78px 24px !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) {
		position: relative !important;
		inset: auto !important;
		display: flex !important;
		flex-direction: column !important;
		grid-column: auto !important;
		grid-row: auto !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 22px !important;
		transform: none !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-photo {
		position: relative !important;
		inset: auto !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 3 / 2 !important;
		margin: 0 !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-photo img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-body {
		width: 100% !important;
		height: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 4px !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) {
		grid-column: 1 / -1 !important;
		min-height: clamp(380px, 56vw, 510px) !important;
		padding: clamp(44px, 7vw, 68px) !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-photo {
		position: absolute !important;
		inset: 0 !important;
		height: 100% !important;
		aspect-ratio: auto !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-body {
		position: relative !important;
		width: min(100%, 520px) !important;
		padding: 0 !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(9) {
		grid-column: 1 / -1 !important;
		display: grid !important;
		grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
		align-items: end !important;
		gap: 34px !important;
	}

	.page-template-page-service .page_nav_content #construction.svc-stage--construction,
	.page-template-page-service .page_nav_content #demolition.svc-stage--demolition,
	.page-template-page-service .page_nav_content #transportation.svc-stage--transportation,
	.page-template-page-service .page_nav_content #rental.svc-stage--rental {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: none !important;
	}

	.page-template-page-service #construction .svc2-head,
	.page-template-page-service #demolition .svc2-head,
	.page-template-page-service #transportation .svc2-head,
	.page-template-page-service #rental .svc2-head {
		order: 1 !important;
		width: min(100%, 650px) !important;
		max-width: none !important;
		padding: 0 !important;
	}

	.page-template-page-service #construction .svc2-photo-main,
	.page-template-page-service #demolition .svc2-photo-main,
	.page-template-page-service #transportation .svc2-photo-main,
	.page-template-page-service #rental .svc2-photo-main {
		order: 2 !important;
		height: auto !important;
		max-width: none !important;
		aspect-ratio: 3 / 2 !important;
		margin-top: 54px !important;
		transform: none !important;
	}

	.page-template-page-service #construction .svc2-photo-main {
		width: calc(100% + var(--svc-pad)) !important;
		margin-left: calc(var(--svc-pad) * -1) !important;
	}

	.page-template-page-service #demolition .svc2-photo-main,
	.page-template-page-service #rental .svc2-photo-main {
		width: 84% !important;
		margin-left: auto !important;
	}

	.page-template-page-service #transportation .svc2-photo-main {
		width: 88% !important;
		margin-left: calc(var(--svc-pad) * -1) !important;
	}

	.page-template-page-service #construction .construction-gallery,
	.page-template-page-service #demolition .svc2-thumbs,
	.page-template-page-service #transportation .svc2-thumbs,
	.page-template-page-service #rental .svc2-thumbs {
		order: 3 !important;
		margin-top: 20px !important;
		transform: none !important;
	}

	.page-template-page-service #construction .construction-gallery {
		display: grid !important;
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
		width: 88% !important;
		margin-left: auto !important;
		gap: 12px !important;
	}

	.page-template-page-service #construction .construction-gallery__item:nth-child(1) { grid-column: 1 / 3 !important; }
	.page-template-page-service #construction .construction-gallery__item:nth-child(2) { grid-column: 3 / 5 !important; }
	.page-template-page-service #construction .construction-gallery__item:nth-child(3) { grid-column: 5 / 7 !important; }
	.page-template-page-service #construction .construction-gallery__item:nth-child(4) { grid-column: 1 / 4 !important; }
	.page-template-page-service #construction .construction-gallery__item:nth-child(5) { grid-column: 4 / 7 !important; }

	.page-template-page-service #construction .construction-gallery__item,
	.page-template-page-service #demolition .svc2-thumb,
	.page-template-page-service #transportation .svc2-thumb,
	.page-template-page-service #rental .svc2-thumb {
		height: auto !important;
		aspect-ratio: 3 / 2 !important;
		transform: none !important;
	}

	.page-template-page-service #demolition .svc2-thumbs {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		width: 90% !important;
		margin-right: auto !important;
		gap: 12px !important;
	}

	.page-template-page-service #transportation .svc2-thumbs,
	.page-template-page-service #rental .svc2-thumbs {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: 72% !important;
		gap: 12px !important;
	}

	.page-template-page-service #transportation .svc2-thumbs {
		margin-left: auto !important;
	}

	.page-template-page-service #transportation.svc-stage--transportation .svc2-thumb {
		height: auto !important;
		aspect-ratio: 3 / 2 !important;
		transform: none !important;
	}

	.page-template-page-service #rental.svc-stage--rental .svc2-thumbs .svc2-thumb {
		height: auto !important;
		aspect-ratio: 3 / 2 !important;
		transform: none !important;
	}

	.page-template-page-service #rental .svc2-thumbs {
		margin-right: auto !important;
	}

	.page-template-page-service #construction .construction-columns,
	.page-template-page-service #demolition .svc2-lists,
	.page-template-page-service #transportation .svc2-lists,
	.page-template-page-service #rental .svc2-lists {
		order: 4 !important;
		width: 100% !important;
		max-width: none !important;
		margin: 58px 0 0 !important;
		padding: 0 !important;
		transform: none !important;
	}
}

@media (max-width: 480px) {
	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-photo,
	.page-template-page-service #construction .svc2-photo-main,
	.page-template-page-service #demolition .svc2-photo-main,
	.page-template-page-service #transportation .svc2-photo-main,
	.page-template-page-service #rental .svc2-photo-main,
	.page-template-page-service #construction .construction-gallery__item,
	.page-template-page-service #demolition .svc2-thumb,
	.page-template-page-service #transportation .svc2-thumb,
	.page-template-page-service #rental .svc2-thumb {
		height: auto !important;
		aspect-ratio: 3 / 2 !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-photo img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(n) .svc2-step-body {
		width: 100% !important;
		height: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 2px !important;
	}

	.page-template-page-service #excavation.svc-stage--excavation .svc2-step:nth-child(5) .svc2-step-photo {
		position: absolute !important;
		inset: 0 !important;
		height: 100% !important;
		aspect-ratio: auto !important;
	}

	.page-template-page-service #construction.svc-stage--construction .construction-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: 94% !important;
		gap: 10px !important;
	}

	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(1) {
		grid-column: 1 / -1 !important;
	}

	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(n+2) {
		grid-column: auto !important;
	}

	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(n) {
		grid-area: auto !important;
		grid-row: auto !important;
	}

	.page-template-page-service #construction.svc-stage--construction .construction-gallery__item:nth-child(1) {
		grid-column: 1 / -1 !important;
	}

	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumbs {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: 92% !important;
	}

	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb,
	.page-template-page-service #transportation.svc-stage--transportation .svc2-thumb,
	.page-template-page-service #rental.svc-stage--rental .svc2-thumb {
		height: auto !important;
		aspect-ratio: 3 / 2 !important;
		transform: none !important;
	}

	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb:nth-child(1),
	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb:nth-child(2) {
		grid-column: auto !important;
	}

	.page-template-page-service #demolition.svc-stage--demolition .svc2-thumb:nth-child(3) {
		grid-column: 1 / -1 !important;
		width: 72% !important;
		margin: 0 0 0 auto !important;
	}

	.page-template-page-service #rental.svc-stage--rental .svc2-thumbs {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: 90% !important;
	}
}
