@import url("fontawesome-all.min.css");
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic,700,900");

/*
	Escape Velocity by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input, select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	html {
		box-sizing: border-box;
	}

	*, *:before, *:after {
		box-sizing: inherit;
	}

	body.is-preload *, body.is-preload *:before, body.is-preload *:after {
		-moz-animation: none !important;
		-webkit-animation: none !important;
		-ms-animation: none !important;
		animation: none !important;
		-moz-transition: none !important;
		-webkit-transition: none !important;
		-ms-transition: none !important;
		transition: none !important;
	}

	body, input, textarea, select {
		font-family: 'Source Sans Pro', sans-serif;
		font-weight: 400;
		color: #667064;
		font-size: 14pt;
		line-height: 1.75em;
		letter-spacing: 0.025em;
	}

	body {
		background: #F7F4EC;
	}

	h1, h2, h3, h4, h5, h6 {
		font-weight: 700;
		color: #3F4638;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none;
		}

	a {
		-moz-transition: color .25s ease-in-out;
		-webkit-transition: color .25s ease-in-out;
		-ms-transition: color .25s ease-in-out;
		transition: color .25s ease-in-out;
		text-decoration: underline;
		color: #5A665A;
	}

		a:hover {
			text-decoration: none;
		}

	strong, b {
		font-weight: 700;
		color: #3F4638;
	}

	blockquote {
		border-left: solid 0.5em #D8D2C7;
		padding: 1em 0 1em 2em;
		font-style: italic;
	}

	em, i {
		font-style: italic;
	}

	hr {
		border: 0;
		border-top: solid 1px #D8D2C7;
		margin: 2em 0 2em 0;
	}

	sub {
		position: relative;
		top: 0.5em;
		font-size: 0.8em;
	}

	sup {
		position: relative;
		top: -0.5em;
		font-size: 0.8em;
	}

	.nobr {
		white-space: nowrap;
	}

	br.clear {
		clear: both;
	}

	p, ul, ol, dl, table, blockquote, form {
		margin-bottom: 2em;
	}

/* Container */

	.container {
		margin: 0 auto;
		max-width: 100%;
		width: 68em;
	}

		@media screen and (max-width: 1680px) {

			.container {
				width: 70em;
			}

		}

		@media screen and (max-width: 1280px) {

			.container {
				width: calc(100% - 100px);
			}

		}

		@media screen and (max-width: 980px) {

			.container {
				width: calc(100% - 100px);
			}

		}

		@media screen and (max-width: 736px) {

			.container {
				width: calc(100% - 40px);
			}

		}

/* Row */

	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

		.row > * {
			box-sizing: border-box;
		}

		.row.gtr-uniform > * > :last-child {
			margin-bottom: 0;
		}

		.row.aln-left {
			justify-content: flex-start;
		}

		.row.aln-center {
			justify-content: center;
		}

		.row.aln-right {
			justify-content: flex-end;
		}

		.row.aln-top {
			align-items: flex-start;
		}

		.row.aln-middle {
			align-items: center;
		}

		.row.aln-bottom {
			align-items: flex-end;
		}

		.row > .imp {
			order: -1;
		}

		.row > .col-1 {
			width: 8.33333%;
		}

		.row > .off-1 {
			margin-left: 8.33333%;
		}

		.row > .col-2 {
			width: 16.66667%;
		}

		.row > .off-2 {
			margin-left: 16.66667%;
		}

		.row > .col-3 {
			width: 25%;
		}

		.row > .off-3 {
			margin-left: 25%;
		}

		.row > .col-4 {
			width: 33.33333%;
		}

		.row > .off-4 {
			margin-left: 33.33333%;
		}

		.row > .col-5 {
			width: 41.66667%;
		}

		.row > .off-5 {
			margin-left: 41.66667%;
		}

		.row > .col-6 {
			width: 50%;
		}

		.row > .off-6 {
			margin-left: 50%;
		}

		.row > .col-7 {
			width: 58.33333%;
		}

		.row > .off-7 {
			margin-left: 58.33333%;
		}

		.row > .col-8 {
			width: 66.66667%;
		}

		.row > .off-8 {
			margin-left: 66.66667%;
		}

		.row > .col-9 {
			width: 75%;
		}

		.row > .off-9 {
			margin-left: 75%;
		}

		.row > .col-10 {
			width: 83.33333%;
		}

		.row > .off-10 {
			margin-left: 83.33333%;
		}

		.row > .col-11 {
			width: 91.66667%;
		}

		.row > .off-11 {
			margin-left: 91.66667%;
		}

		.row > .col-12 {
			width: 100%;
		}

		.row > .off-12 {
			margin-left: 100%;
		}

		.row.gtr-0 {
			margin-top: 0px;
			margin-left: 0px;
		}

			.row.gtr-0 > * {
				padding: 0px 0 0 0px;
			}

			.row.gtr-0.gtr-uniform {
				margin-top: 0px;
			}

				.row.gtr-0.gtr-uniform > * {
					padding-top: 0px;
				}

		.row.gtr-25 {
			margin-top: -12.5px;
			margin-left: -12.5px;
		}

			.row.gtr-25 > * {
				padding: 12.5px 0 0 12.5px;
			}

			.row.gtr-25.gtr-uniform {
				margin-top: -12.5px;
			}

				.row.gtr-25.gtr-uniform > * {
					padding-top: 12.5px;
				}

		.row.gtr-50 {
			margin-top: -25px;
			margin-left: -25px;
		}

			.row.gtr-50 > * {
				padding: 25px 0 0 25px;
			}

			.row.gtr-50.gtr-uniform {
				margin-top: -25px;
			}

				.row.gtr-50.gtr-uniform > * {
					padding-top: 25px;
				}

		.row {
			margin-top: -50px;
			margin-left: -50px;
		}

			.row > * {
				padding: 50px 0 0 50px;
			}

			.row.gtr-uniform {
				margin-top: -50px;
			}

				.row.gtr-uniform > * {
					padding-top: 50px;
				}

		.row.gtr-150 {
			margin-top: -75px;
			margin-left: -75px;
		}

			.row.gtr-150 > * {
				padding: 75px 0 0 75px;
			}

			.row.gtr-150.gtr-uniform {
				margin-top: -75px;
			}

				.row.gtr-150.gtr-uniform > * {
					padding-top: 75px;
				}

		.row.gtr-200 {
			margin-top: -100px;
			margin-left: -100px;
		}

			.row.gtr-200 > * {
				padding: 100px 0 0 100px;
			}

			.row.gtr-200.gtr-uniform {
				margin-top: -100px;
			}

				.row.gtr-200.gtr-uniform > * {
					padding-top: 100px;
				}

		@media screen and (max-width: 1680px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-xlarge {
					order: -1;
				}

				.row > .col-1-xlarge {
					width: 8.33333%;
				}

				.row > .off-1-xlarge {
					margin-left: 8.33333%;
				}

				.row > .col-2-xlarge {
					width: 16.66667%;
				}

				.row > .off-2-xlarge {
					margin-left: 16.66667%;
				}

				.row > .col-3-xlarge {
					width: 25%;
				}

				.row > .off-3-xlarge {
					margin-left: 25%;
				}

				.row > .col-4-xlarge {
					width: 33.33333%;
				}

				.row > .off-4-xlarge {
					margin-left: 33.33333%;
				}

				.row > .col-5-xlarge {
					width: 41.66667%;
				}

				.row > .off-5-xlarge {
					margin-left: 41.66667%;
				}

				.row > .col-6-xlarge {
					width: 50%;
				}

				.row > .off-6-xlarge {
					margin-left: 50%;
				}

				.row > .col-7-xlarge {
					width: 58.33333%;
				}

				.row > .off-7-xlarge {
					margin-left: 58.33333%;
				}

				.row > .col-8-xlarge {
					width: 66.66667%;
				}

				.row > .off-8-xlarge {
					margin-left: 66.66667%;
				}

				.row > .col-9-xlarge {
					width: 75%;
				}

				.row > .off-9-xlarge {
					margin-left: 75%;
				}

				.row > .col-10-xlarge {
					width: 83.33333%;
				}

				.row > .off-10-xlarge {
					margin-left: 83.33333%;
				}

				.row > .col-11-xlarge {
					width: 91.66667%;
				}

				.row > .off-11-xlarge {
					margin-left: 91.66667%;
				}

				.row > .col-12-xlarge {
					width: 100%;
				}

				.row > .off-12-xlarge {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -12.5px;
					margin-left: -12.5px;
				}

					.row.gtr-25 > * {
						padding: 12.5px 0 0 12.5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -12.5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 12.5px;
						}

				.row.gtr-50 {
					margin-top: -25px;
					margin-left: -25px;
				}

					.row.gtr-50 > * {
						padding: 25px 0 0 25px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -25px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 25px;
						}

				.row {
					margin-top: -50px;
					margin-left: -50px;
				}

					.row > * {
						padding: 50px 0 0 50px;
					}

					.row.gtr-uniform {
						margin-top: -50px;
					}

						.row.gtr-uniform > * {
							padding-top: 50px;
						}

				.row.gtr-150 {
					margin-top: -75px;
					margin-left: -75px;
				}

					.row.gtr-150 > * {
						padding: 75px 0 0 75px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -75px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 75px;
						}

				.row.gtr-200 {
					margin-top: -100px;
					margin-left: -100px;
				}

					.row.gtr-200 > * {
						padding: 100px 0 0 100px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -100px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 100px;
						}

		}

		@media screen and (max-width: 1280px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-large {
					order: -1;
				}

				.row > .col-1-large {
					width: 8.33333%;
				}

				.row > .off-1-large {
					margin-left: 8.33333%;
				}

				.row > .col-2-large {
					width: 16.66667%;
				}

				.row > .off-2-large {
					margin-left: 16.66667%;
				}

				.row > .col-3-large {
					width: 25%;
				}

				.row > .off-3-large {
					margin-left: 25%;
				}

				.row > .col-4-large {
					width: 33.33333%;
				}

				.row > .off-4-large {
					margin-left: 33.33333%;
				}

				.row > .col-5-large {
					width: 41.66667%;
				}

				.row > .off-5-large {
					margin-left: 41.66667%;
				}

				.row > .col-6-large {
					width: 50%;
				}

				.row > .off-6-large {
					margin-left: 50%;
				}

				.row > .col-7-large {
					width: 58.33333%;
				}

				.row > .off-7-large {
					margin-left: 58.33333%;
				}

				.row > .col-8-large {
					width: 66.66667%;
				}

				.row > .off-8-large {
					margin-left: 66.66667%;
				}

				.row > .col-9-large {
					width: 75%;
				}

				.row > .off-9-large {
					margin-left: 75%;
				}

				.row > .col-10-large {
					width: 83.33333%;
				}

				.row > .off-10-large {
					margin-left: 83.33333%;
				}

				.row > .col-11-large {
					width: 91.66667%;
				}

				.row > .off-11-large {
					margin-left: 91.66667%;
				}

				.row > .col-12-large {
					width: 100%;
				}

				.row > .off-12-large {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -8.75px;
					margin-left: -8.75px;
				}

					.row.gtr-25 > * {
						padding: 8.75px 0 0 8.75px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -8.75px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 8.75px;
						}

				.row.gtr-50 {
					margin-top: -17.5px;
					margin-left: -17.5px;
				}

					.row.gtr-50 > * {
						padding: 17.5px 0 0 17.5px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -17.5px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 17.5px;
						}

				.row {
					margin-top: -35px;
					margin-left: -35px;
				}

					.row > * {
						padding: 35px 0 0 35px;
					}

					.row.gtr-uniform {
						margin-top: -35px;
					}

						.row.gtr-uniform > * {
							padding-top: 35px;
						}

				.row.gtr-150 {
					margin-top: -52.5px;
					margin-left: -52.5px;
				}

					.row.gtr-150 > * {
						padding: 52.5px 0 0 52.5px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -52.5px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 52.5px;
						}

				.row.gtr-200 {
					margin-top: -70px;
					margin-left: -70px;
				}

					.row.gtr-200 > * {
						padding: 70px 0 0 70px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -70px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 70px;
						}

		}

		@media screen and (max-width: 980px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-medium {
					order: -1;
				}

				.row > .col-1-medium {
					width: 8.33333%;
				}

				.row > .off-1-medium {
					margin-left: 8.33333%;
				}

				.row > .col-2-medium {
					width: 16.66667%;
				}

				.row > .off-2-medium {
					margin-left: 16.66667%;
				}

				.row > .col-3-medium {
					width: 25%;
				}

				.row > .off-3-medium {
					margin-left: 25%;
				}

				.row > .col-4-medium {
					width: 33.33333%;
				}

				.row > .off-4-medium {
					margin-left: 33.33333%;
				}

				.row > .col-5-medium {
					width: 41.66667%;
				}

				.row > .off-5-medium {
					margin-left: 41.66667%;
				}

				.row > .col-6-medium {
					width: 50%;
				}

				.row > .off-6-medium {
					margin-left: 50%;
				}

				.row > .col-7-medium {
					width: 58.33333%;
				}

				.row > .off-7-medium {
					margin-left: 58.33333%;
				}

				.row > .col-8-medium {
					width: 66.66667%;
				}

				.row > .off-8-medium {
					margin-left: 66.66667%;
				}

				.row > .col-9-medium {
					width: 75%;
				}

				.row > .off-9-medium {
					margin-left: 75%;
				}

				.row > .col-10-medium {
					width: 83.33333%;
				}

				.row > .off-10-medium {
					margin-left: 83.33333%;
				}

				.row > .col-11-medium {
					width: 91.66667%;
				}

				.row > .off-11-medium {
					margin-left: 91.66667%;
				}

				.row > .col-12-medium {
					width: 100%;
				}

				.row > .off-12-medium {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -12.5px;
					margin-left: -12.5px;
				}

					.row.gtr-25 > * {
						padding: 12.5px 0 0 12.5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -12.5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 12.5px;
						}

				.row.gtr-50 {
					margin-top: -25px;
					margin-left: -25px;
				}

					.row.gtr-50 > * {
						padding: 25px 0 0 25px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -25px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 25px;
						}

				.row {
					margin-top: -50px;
					margin-left: -50px;
				}

					.row > * {
						padding: 50px 0 0 50px;
					}

					.row.gtr-uniform {
						margin-top: -50px;
					}

						.row.gtr-uniform > * {
							padding-top: 50px;
						}

				.row.gtr-150 {
					margin-top: -75px;
					margin-left: -75px;
				}

					.row.gtr-150 > * {
						padding: 75px 0 0 75px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -75px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 75px;
						}

				.row.gtr-200 {
					margin-top: -100px;
					margin-left: -100px;
				}

					.row.gtr-200 > * {
						padding: 100px 0 0 100px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -100px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 100px;
						}

		}

		@media screen and (max-width: 736px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-small {
					order: -1;
				}

				.row > .col-1-small {
					width: 8.33333%;
				}

				.row > .off-1-small {
					margin-left: 8.33333%;
				}

				.row > .col-2-small {
					width: 16.66667%;
				}

				.row > .off-2-small {
					margin-left: 16.66667%;
				}

				.row > .col-3-small {
					width: 25%;
				}

				.row > .off-3-small {
					margin-left: 25%;
				}

				.row > .col-4-small {
					width: 33.33333%;
				}

				.row > .off-4-small {
					margin-left: 33.33333%;
				}

				.row > .col-5-small {
					width: 41.66667%;
				}

				.row > .off-5-small {
					margin-left: 41.66667%;
				}

				.row > .col-6-small {
					width: 50%;
				}

				.row > .off-6-small {
					margin-left: 50%;
				}

				.row > .col-7-small {
					width: 58.33333%;
				}

				.row > .off-7-small {
					margin-left: 58.33333%;
				}

				.row > .col-8-small {
					width: 66.66667%;
				}

				.row > .off-8-small {
					margin-left: 66.66667%;
				}

				.row > .col-9-small {
					width: 75%;
				}

				.row > .off-9-small {
					margin-left: 75%;
				}

				.row > .col-10-small {
					width: 83.33333%;
				}

				.row > .off-10-small {
					margin-left: 83.33333%;
				}

				.row > .col-11-small {
					width: 91.66667%;
				}

				.row > .off-11-small {
					margin-left: 91.66667%;
				}

				.row > .col-12-small {
					width: 100%;
				}

				.row > .off-12-small {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -7.5px;
					margin-left: -7.5px;
				}

					.row.gtr-25 > * {
						padding: 7.5px 0 0 7.5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -7.5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 7.5px;
						}

				.row.gtr-50 {
					margin-top: -15px;
					margin-left: -15px;
				}

					.row.gtr-50 > * {
						padding: 15px 0 0 15px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -15px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 15px;
						}

				.row {
					margin-top: -30px;
					margin-left: -30px;
				}

					.row > * {
						padding: 30px 0 0 30px;
					}

					.row.gtr-uniform {
						margin-top: -30px;
					}

						.row.gtr-uniform > * {
							padding-top: 30px;
						}

				.row.gtr-150 {
					margin-top: -45px;
					margin-left: -45px;
				}

					.row.gtr-150 > * {
						padding: 45px 0 0 45px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -45px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 45px;
						}

				.row.gtr-200 {
					margin-top: -60px;
					margin-left: -60px;
				}

					.row.gtr-200 > * {
						padding: 60px 0 0 60px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -60px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 60px;
						}

		}

/* Section/Article */

	section,
	article {
		margin: 0 0 4em 0;
	}

	section > :last-child,
	article > :last-child,
	section:last-child,
	article:last-child {
		margin-bottom: 0;
	}

	header.style1 {
		text-align: center;
		padding: 3em 0 3em 0;
	}

		header.style1 h2 {
			font-weight: 700;
			font-size: 2em;
			letter-spacing: 0.075em;
			line-height: 1.5em;
		}

		header.style1 p {
			color: #B7C0B4;
			display: block;
			margin: 1.15em 0 0 0;
			font-size: 1.3em;
			letter-spacing: 0.075em;
			line-height: 1.5em;
		}

/* Table */

	table {
		width: 100%;
	}

		table.default {
			width: 100%;
		}

			table.default tbody tr:nth-child(2n+2) {
				background: #F0EDE5;
			}

			table.default td {
				padding: 0.5em 1em 0.5em 1em;
			}

			table.default th {
				text-align: left;
				font-weight: 400;
				padding: 0.5em 1em 0.5em 1em;
			}

			table.default thead {
				background: #3F4638;
				color: #fff;
			}

			table.default tfoot {
				background: #F1EEE6;
			}

/* Form */

form label {
    display: block;
    font-weight: 700;
    color: #3F4638;
    margin: 0.25em 0 0.5em 0;
}

form input[type="text"],
form input[type="email"],
form input[type="password"],
form input[type="tel"],
form select,
form textarea {
    -moz-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;

    -webkit-appearance: none;
    appearance: none;

    display: block;
    border: 0;
    background: #F1EEE6;
    box-shadow: inset 0px 0px 1px 0px #9AA18F;
    border-radius: 0.35em;
    width: 100%;
    padding: 0.75em 1em 0.75em 1em;
    box-sizing: border-box;
}

form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="password"]:focus,
form input[type="tel"]:focus,
form select:focus,
form textarea:focus {
    background: #FAF8F2;
    outline: none;
}

form input[type="text"],
form input[type="email"],
form input[type="password"],
form input[type="tel"] {
    line-height: 1em;
}

form select {
    line-height: 1em;
}

form textarea {
    min-height: 8em;
}

form ul.actions {
    margin-top: 0;
}

form ::-webkit-input-placeholder {
    color: #554B40 !important;
    font-style: italic;
    line-height: 1.35em;
}

form :-moz-placeholder {
    color: #554B40 !important;
    font-style: italic;
}

form ::-moz-placeholder {
    color: #554B40 !important;
    font-style: italic;
}

form :-ms-input-placeholder {
    color: #554B40 !important;
    font-style: italic;
}

form ::-moz-focus-inner {
    border: 0;
}
/* Image */

	.image {
		display: inline-block;
	}

		.image img {
			display: block;
			width: 100%;
		}

		.image.fit {
			display: block;
			width: 100%;
		}

		.image.left {
			float: left;
			margin: 0 2em 2em 0;
		}

		.image.centered {
			display: block;
			margin: 0 0 2em 0;
		}

			.image.centered img {
				margin: 0 auto;
				width: auto;
			}

		.image.featured {
			display: block;
			width: 100%;
			margin: 0 0 2em 0;
		}

/* Button */

	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	button,
	.button {
		-moz-transition: all .25s ease-in-out;
		-webkit-transition: all .25s ease-in-out;
		-ms-transition: all .25s ease-in-out;
		transition: all .25s ease-in-out;
		display: inline-block;
		background: #5B4A3A;
		text-align: center;
		text-transform: uppercase;
		font-weight: 700;
		letter-spacing: 0.25em;
		text-decoration: none;
		border-radius: 0.35em;
		border: 0;
		outline: 0;
		cursor: pointer;
		padding: 0 2.25em 0 2.25em;
		font-size: 0.9em;
		min-width: 12em;
		height: 4em;
		line-height: 4em;
	}

		input[type="button"]:hover,
		input[type="submit"]:hover,
		input[type="reset"]:hover,
		button:hover,
		.button:hover {
			background-color: #789C52;
		}

		input[type="button"].large,
		input[type="submit"].large,
		input[type="reset"].large,
		button.large,
		.button.large {
			font-size: 1em;
			min-width: 14em;
		}

		input[type="button"].style1,
		input[type="submit"].style1,
		input[type="reset"].style1,
		button.style1,
		.button.style1 {
			background: #5B7F3A url("images/overlay.png");
			color: #fff;
		}

			input[type="button"].style1:hover,
			input[type="submit"].style1:hover,
			input[type="reset"].style1:hover,
			button.style1:hover,
			.button.style1:hover {
				background-color: #789C52;
			}

			input[type="button"].style1:active,
			input[type="submit"].style1:active,
			input[type="reset"].style1:active,
			button.style1:active,
			.button.style1:active {
				background-color: #45652D;
			}

		input[type="button"].style2,
		input[type="submit"].style2,
		input[type="reset"].style2,
		button.style2,
		.button.style2 {
			background: none;
			color: #5B665B;
			box-shadow: inset 0px 0px 2px 0px #9AA18F;
		}

			input[type="button"].style2:hover,
			input[type="submit"].style2:hover,
			input[type="reset"].style2:hover,
			button.style2:hover,
			.button.style2:hover {
				box-shadow: inset 0px 0px 2px 0px #5B665B;
			}

			input[type="button"].style2:active,
			input[type="submit"].style2:active,
			input[type="reset"].style2:active,
			button.style2:active,
			.button.style2:active {
				box-shadow: inset 0px 0px 2px 0px #30392E;
			}

		input[type="button"].style3,
		input[type="submit"].style3,
		input[type="reset"].style3,
		button.style3,
		.button.style3 {
			background: #4B382A url("images/overlay.png");
			color: #fff;
		}

			input[type="button"].style3:hover,
			input[type="submit"].style3:hover,
			input[type="reset"].style3:hover,
			button.style3:hover,
			.button.style3:hover {
				background-color: #624A37;
			}

			input[type="button"].style3:active,
			input[type="submit"].style3:active,
			input[type="reset"].style3:active,
			button.style3:active,
			.button.style3:active {
				background-color: #35271D;
			}

/* List */

	ul {
		list-style: disc;
		padding-left: 1em;
	}

		ul li {
			padding-left: 0.5em;
		}

		ul.style2 {
			list-style: none;
			padding-left: 0;
		}

			ul.style2 li {
				border-top: solid 1px #F1EEE6;
				padding: 1.5em 0 0 0;
				margin: 1.5em 0 0 0;
			}

				ul.style2 li:first-child {
					border-top: 0;
					padding-top: 0;
					margin-top: 0;
				}

		ul.style3 {
			list-style: none;
			padding-left: 0;
		}

			ul.style3 li {
				border-top: solid 1px #F1EEE6;
				padding: 0.5em 0 0 0;
				margin: 0.5em 0 0 0;
			}

				ul.style3 li:first-child {
					border-top: 0;
					padding-top: 0;
					margin-top: 0;
				}

	ol {
		list-style: decimal;
		padding-left: 1.25em;
	}

		ol li {
			padding-left: 0.25em;
		}

/* Actions */

	ul.actions {
		list-style: none;
		padding-left: 0;
		margin: 3em 0 0 0;
	}

		ul.actions li {
			display: inline-block;
			margin: 0 0.75em 0 0.75em;
			padding-left: 0;
		}

			ul.actions li:first-child {
				margin-left: 0;
			}

			ul.actions li:last-child {
				margin-right: 0;
			}

		ul.actions.special {
			text-align: center;
		}

/* Feature List */

	.feature-list {
		max-width: 58em;
		margin-left: auto;
		margin-right: auto;
		position: relative;
		top: 0.75em;
	}

		.feature-list section {
			border-top: solid 1px #F1EEE6;
			padding-top: 3em;
			padding-left: 5em;
			position: relative;
		}

		@media screen and (min-width: 981px) {

			.feature-list > .row > :nth-child(-n + 2) > section {
				border-top: 0;
				padding-top: 0;
			}

		}

		.feature-list h3 {
			color: #5B7F3A !important;
			margin: -0.35em 0 0.75em 0;
			font-size: 1.15em;
			letter-spacing: 0.05em;
		}

			.feature-list h3:before {
				display: block;
				color: #fff;
				background: #4B382A url("images/overlay.png");
				border-radius: 2.5em;
				text-align: center;
				width: 2.5em;
				height: 2.5em;
				line-height: 2.5em;
				margin-right: 0.75em;
				position: absolute;
				left: 0;
				margin-top: -0.5em;
			}

		.feature-list.small section {
			padding-left: 3.5em;
		}

		.feature-list.small h3:before {
			font-size: 0.8em;
		}

/* Icons */

	.icon {
		text-decoration: none;
		text-decoration: none;
	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			display: inline-block;
			font-style: normal;
			font-variant: normal;
			text-rendering: auto;
			line-height: 1;
			text-transform: none !important;
			font-family: 'Font Awesome 5 Free';
			font-weight: 400;
		}

		.icon:before {
			line-height: inherit;
			font-size: 1.25em;
		}

		.icon > .label {
			display: none;
		}

		.icon.solid:before {
			font-weight: 900;
		}

		.icon.brands:before {
			font-family: 'Font Awesome 5 Brands';
		}

/* Box */

	.box header {
		margin: 0 0 1.5em 0;
	}

		.box header.style1 {
			position: relative;
			margin: -0.5em 0 0 0;
			padding-top: 0;
		}

	.box h2 {
		margin: 0 0 0.75em 0;
		font-size: 1.15em;
		letter-spacing: 0.05em;
	}

	.box h3 {
		margin: 0 0 0.5em 0;
		font-size: 1em;
		font-weight: 600;
		letter-spacing: 0.05em;
	}

	.box.post-excerpt .image.left {
		position: relative;
		top: 0.5em;
		width: 5em;
	}

	.box.post-excerpt h3, .box.post-excerpt p {
		margin-left: 7em;
	}

/* Wrapper */

	.wrapper {
		position: relative;
		padding: 6em 0 9em 0;
	}

		.wrapper .title {
			position: absolute;
			top: 0;
			left: 50%;
			text-align: center;
			text-transform: uppercase;
			display: block;
			font-weight: 700;
			letter-spacing: 0.25em;
			font-size: 0.9em;
			width: 25em;
			height: 3.25em;
			top: -3.25em;
			line-height: 3.25em;
			margin-bottom: -3.25em;
			margin-left: -12.5em;
			padding-top: 0.5em;
		}

			.wrapper .title:before {
				content: '';
				position: absolute;
				bottom: -38px;
				left: -35px;
				width: 35px;
				height: 38px;
				background: url("images/shadow.png");
			}

			.wrapper .title:after {
				-moz-transform: scaleX(-1);
				-webkit-transform: scaleX(-1);
				-ms-transform: scaleX(-1);
				transform: scaleX(-1);
				content: '';
				position: absolute;
				bottom: -38px;
				right: -35px;
				width: 35px;
				height: 38px;
				background: url("images/shadow.png");
			}

		.wrapper.style1 {
			background: #5B7F3A url("images/overlay.png");
			color: #F1EEE6;
			color: rgba(255, 255, 255, 0.75);
		}

			.wrapper.style1 .title {
				background: #5B7F3A url("images/overlay.png");
				color: #fff;
			}

			.wrapper.style1 h1, .wrapper.style1 h2, .wrapper.style1 h3, .wrapper.style1 h4, .wrapper.style1 h5, .wrapper.style1 h6, .wrapper.style1 strong, .wrapper.style1 b, .wrapper.style1 a {
				color: #fff;
			}

		.wrapper.style2 {
			background: #fff;
		}

			.wrapper.style2 .title {
				background: #fff;
				color: #3F4638;
			}

		.wrapper.style3 {
			background: #E8E4D9 url("images/overlay.png");
		}

			.wrapper.style3 .title {
				background: #E8E4D9 url("images/overlay.png");
				color: #3F4638;
			}

			.wrapper.style3 .image {
				border: solid 10px #fff;
			}

/* Page Wrapper */

	#page-wrapper > section {
		margin-bottom: 0;
	}

/* Header */

/* =========================================
   HERO PREMIUM — RJNPAYSAGES
   ========================================= */

#/* =========================================
   RJN PAYSAGES — HERO CLEAN PREMIUM
   ========================================= */

#header {
    position: relative !important;
    overflow: hidden;

    background-image: url("../../images/banner.jpg") !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* SUPPRESSION TOTALE DU FILTRE GRIS */
#header:before {
    display: none !important;
    content: none !important;
    background: none !important;
}

/* Aucun filtre supplémentaire */
#header:after {
    display: none !important;
    content: none !important;
}

/* Le contenu reste au-dessus de l'image */
#header > * {
    position: relative;
    z-index: 2;
}

/* Hero homepage */
.homepage #header {
    height: 35em;
}

/* Logo / texte */
#logo h1 {
    color: #fff;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
}

#logo p {
    color: rgba(255, 255, 255, 0.88);
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.25);
}

		.homepage #header {
			height: 35em;
		}

/* Logo */

	#logo {
		width: 100%;
		text-align: center;
		position: relative;
		top: 1.5em;
	}

		#logo h1 {
			font-weight: 900;
			text-transform: uppercase;
			color: #fff;
			font-size: 2em;
			letter-spacing: 0.25em;
		}

		#logo p {
			color: #F1EEE6;
			color: rgba(255, 255, 255, 0.5);
			text-transform: uppercase;
			margin: 1.25em 0 0 0;
			display: block;
			letter-spacing: 0.2em;
			font-size: 0.9em;
		}

/* Nav */

	#nav {
		position: absolute;
		display: block;
		top: 2.5em;
		left: 0;
		width: 100%;
		text-align: center;
	}

		#nav > ul {
			display: inline-block;
			border-radius: 0.35em;
			box-shadow: inset 0px 0px 1px 1px rgba(255, 255, 255, 0.25);
			padding: 0 1.5em 0 1.5em;
		}

			#nav > ul > li {
				display: inline-block;
				text-align: center;
				padding: 0 1.5em 0 1.5em;
			}

				#nav > ul > li > ul {
					display: none;
				}

				#nav > ul > li > a, #nav > ul > li > span {
					display: block;
					color: #5B7F3A;
					color: rgba(255, 255, 255, 0.75);
					text-transform: uppercase;
					text-decoration: none;
					font-size: 0.7em;
					letter-spacing: 0.25em;
					height: 5em;
					line-height: 5em;
					-moz-transition: all .25s ease-in-out;
					-webkit-transition: all .25s ease-in-out;
					-o-transition: all .25s ease-in-out;
					-ms-transition: all .25s ease-in-out;
					transition: all .25s ease-in-out;
					outline: 0;
				}

				#nav > ul > li:hover > a {
					color: #fff;
				}

				#nav > ul > li.active > a, #nav > ul > li.active > span {
					color: #fff;
				}

	.dropotron {
		background: #283523 url("images/overlay.png");
		background-color: rgba(44, 50, 63, 0.925);
		padding: 1.25em 1em 1.25em 1em;
		border-radius: 0.35em;
		box-shadow: inset 0px 0px 1px 1px rgba(255, 255, 255, 0.25);
		min-width: 12em;
		text-align: left;
		margin-top: -1.25em;
		margin-left: -1px;
		list-style: none;
	}

		.dropotron.level-0 {
			margin-top: -1px;
			margin-left: 0;
			border-top-left-radius: 0;
			border-top-right-radius: 0;
		}

		.dropotron a, .dropotron span {
			-moz-transition: all .25s ease-in-out;
			-webkit-transition: all .25s ease-in-out;
			-ms-transition: all .25s ease-in-out;
			transition: all .25s ease-in-out;
			display: block;
			color: #F1EEE6;
			color: rgba(255, 255, 255, 0.75);
			text-transform: uppercase;
			text-decoration: none;
			font-size: 0.7em;
			letter-spacing: 0.25em;
			border-top: solid 1px rgba(255, 255, 255, 0.15);
			line-height: 3em;
		}

		.dropotron li {
			padding-left: 0;
		}

			.dropotron li:first-child a, .dropotron li:first-child span {
				border-top: 0;
			}

			.dropotron li:hover > a, .dropotron li:hover > span {
				color: #fff;
			}

/* Intro */

	#intro {
		padding-bottom: 8em;
		text-align: center;
	}

		#intro p.style1 {
			font-size: 1.5em;
			letter-spacing: 0.075em;
		}

		#intro p.style2 {
			font-weight: 700;
			color: #fff;
			border-radius: 0.35em;
			box-shadow: inset 0px 0px 1px 1px rgba(255, 255, 255, 0.25);
			font-size: 2.75em;
			letter-spacing: 0.075em;
			line-height: 1.35em;
			padding: 1em 0 1em 0;
			margin-bottom: 1em;
		}

			#intro p.style2 a {
				color: inherit;
				text-decoration: none;
			}

		#intro p.style3 {
			font-size: 1.1em;
			width: 48em;
			margin: 0 auto;
		}

/* Features */

	#features header.style1 {
		padding-bottom: 5em;
	}

	#features ul.actions {
		margin-top: 5em;
	}

/* Highlights */

	#highlights .highlight {
		text-align: center;
	}

		#highlights .highlight h3 {
			color: #5B7F3A;
			margin: 0 0 0.75em 0;
			font-size: 1.15em;
			letter-spacing: 0.05em;
		}

/* Main */

/* Footer */

	#footer {
		background: #2F3B2B url("images/overlay.png");
		color: #F1EEE6;
		color: rgba(255, 255, 255, 0.5);
		padding-bottom: 6em;
	}

		#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6, #footer strong, #footer b, #footer a {
			color: #fff;
		}

		#footer hr {
			border-top-color: #4A4037;
			border-top-color: rgba(255, 255, 255, 0.05);
		}

		#footer form input[type="text"],
		#footer form input[type="email"],
		#footer form input[type="password"],
		#footer form select,
		#footer form textarea {
			background: #C9C4B8;
			box-shadow: none;
		}

			#footer form input[type="text"]:focus,
			#footer form input[type="email"]:focus,
			#footer form input[type="password"]:focus,
			#footer form select:focus,
			#footer form textarea:focus {
				background: #fff;
			}

		#footer input[type="button"],
		#footer input[type="submit"],
		#footer input[type="reset"],
		#footer button,
		#footer .button {
			color: #fff;
			box-shadow: inset 0px 0px 2px 0px rgba(255, 255, 255, 0.5);
		}

			#footer input[type="button"]:hover,
			#footer input[type="submit"]:hover,
			#footer input[type="reset"]:hover,
			#footer button:hover,
			#footer .button:hover {
				color: #fff;
				box-shadow: inset 0px 0px 2px 0px rgba(255, 255, 255, 0.65);
			}

			#footer input[type="button"]:active,
			#footer input[type="submit"]:active,
			#footer input[type="reset"]:active,
			#footer button:active,
			#footer .button:active {
				box-shadow: inset 0px 0px 2px 0px rgba(255, 255, 255, 0.75);
			}

			#footer input[type="button"].style2:active,
			#footer input[type="submit"].style2:active,
			#footer input[type="reset"].style2:active,
			#footer button.style2:active,
			#footer .button.style2:active {
				box-shadow: inset 0px 0px 2px 0px rgba(255, 255, 255, 0.75);
			}

		#footer .title {
			background: #2F3B2B url("images/overlay.png");
			color: #F1EEE6;
		}

		#footer header.style1 {
			padding-bottom: 6em;
			margin-bottom: 6em;
			border-bottom: solid 1px rgba(255, 255, 255, 0.05);
		}

			#footer header.style1 h2 {
				color: #fff;
			}

			#footer header.style1 .p {
				color: inherit;
			}

		#footer .feature-list {
			max-width: 100%;
		}

			#footer .feature-list section {
				border-top-color: rgba(255, 255, 255, 0.05);
			}

			#footer .feature-list h3:before {
				background: #3E5038 url("images/overlay.png");
			}

/* Copyright */

	#copyright {
		text-align: center;
		padding-top: 6em;
		margin-top: 6em;
		border-top: solid 1px rgba(255, 255, 255, 0.05);
	}

		#copyright ul {
			display: inline-block;
			border-radius: 0.35em;
			box-shadow: inset 0px 0px 1px 1px rgba(255, 255, 255, 0.05);
			color: #A6A99E;
			color: rgba(255, 255, 255, 0.25);
			padding: 0.75em 2em;
			font-size: 0.9em;
		}

			#copyright ul li {
				display: inline-block;
				margin-left: 1em;
				padding-left: 1em;
				border-left: solid 1px #4A4037;
				border-left-color: rgba(255, 255, 255, 0.05);
			}

				#copyright ul li:first-child {
					border-left: 0;
					margin-left: 0;
					padding-left: 0;
				}

		#copyright a {
			color: inherit;
		}

			#copyright a:hover {
				color: #fff;
			}

/* XLarge */

	@media screen and (max-width: 1680px) {

		/* Basic */

			body, input, textarea, select {
				font-size: 12pt;
			}

	}

/* Large */

	@media screen and (max-width: 1280px) {

		/* Basic */

			body, input, select, textarea {
				font-size: 11pt;
				line-height: 1.5em;
				letter-spacing: 0.015em;
			}

		/* Wrapper */

			.wrapper {
				padding: 4em 0 7em 0;
			}

		/* Logo */

			#logo {
				margin-top: -0.5em !important;
			}

				#logo h1 {
					font-size: 1.75em;
				}

		/* Intro */

			#intro {
				padding-bottom: 7em;
			}

				#intro p.style1 {
					font-size: 1.25em;
				}

				#intro p.style2 {
					font-size: 2.25em;
				}

		/* Footer */

			#footer {
				padding-bottom: 4em;
			}

				#footer header.style1 {
					padding-bottom: 4em;
					margin-bottom: 4em;
					border-bottom: solid 1px rgba(255, 255, 255, 0.05);
				}

		/* Copyright */

			#copyright {
				padding-top: 4em;
				margin-top: 4em;
			}

	}

/* Medium */

	#navPanel, #titleBar {
		display: none;
	}

	@media screen and (max-width: 980px) {

		/* Section/Article */

			header br {
				display: none;
			}

		/* Form */

			form ul.actions {
				text-align: center;
			}

		/* Feature List */

			.feature-list {
				max-width: 40em;
			}

				.feature-list section {
					padding-top: 4em;
				}

				.feature-list > .row > :first-child > section {
					border-top: 0;
					padding-top: 0;
				}

		/* Nav */

			#nav {
				display: none;
			}

		/* Logo */

			#logo {
				top: 0;
			}

		/* Intro */

			#intro p.style3 {
				width: auto;
			}

		/* Highlights */

			#highlights .highlight {
				max-width: 40em;
				margin-left: auto;
				margin-right: auto;
			}

		/* Footer */

			#footer .feature-list {
				border-top: solid 1px rgba(255, 255, 255, 0.05);
				padding-top: 4em;
			}

	}

		@media screen and (max-width: 980px) and (min-width: 737px) {

				#footer .feature-list > .row > :nth-child(2) > section {
					border-top: 0;
					padding-top: 0;
				}

		}

	@media screen and (max-width: 980px) {

		/* Nav */

			#page-wrapper {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				padding-bottom: 1px;
			}

			#titleBar {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				display: block;
				height: 44px;
				left: 0;
				position: fixed;
				top: 0;
				width: 100%;
				z-index: 10001;
				background: none;
			}

				#titleBar .title {
					display: none;
				}

				#titleBar .toggle {
					text-decoration: none;
					position: absolute;
					top: 0;
					left: 0;
					width: 60px;
					height: 44px;
				}

					#titleBar .toggle:before {
						-moz-osx-font-smoothing: grayscale;
						-webkit-font-smoothing: antialiased;
						display: inline-block;
						font-style: normal;
						font-variant: normal;
						text-rendering: auto;
						line-height: 1;
						text-transform: none !important;
						font-family: 'Font Awesome 5 Free';
						font-weight: 900;
					}

					#titleBar .toggle:before {
						-moz-transition: all .15s ease-in-out;
						-webkit-transition: all .15s ease-in-out;
						-ms-transition: all .15s ease-in-out;
						transition: all .15s ease-in-out;
						text-decoration: none;
						content: '\f0c9';
						font-size: 14px;
						position: absolute;
						top: 6px;
						left: 6px;
						display: block;
						width: 54px;
						height: 38px;
						line-height: 38px;
						text-align: center;
						color: rgba(255, 255, 255, 0.75);
						background-color: rgba(92, 95, 103, 0.5);
						border-radius: 0.25em;
					}

					#titleBar .toggle:active:before {
						background-color: rgba(92, 95, 103, 0.75);
					}

			#navPanel {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transform: translateX(-275px);
				-webkit-transform: translateX(-275px);
				-ms-transform: translateX(-275px);
				transform: translateX(-275px);
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				display: block;
				height: 100%;
				left: 0;
				overflow-y: auto;
				position: fixed;
				top: 0;
				width: 275px;
				z-index: 10002;
				background: #273125 url("images/overlay.png");
				box-shadow: inset -3px 0px 4px 0px rgba(0, 0, 0, 0.1);
			}

				#navPanel .link {
					display: block;
					color: rgba(255, 255, 255, 0.5);
					text-transform: uppercase;
					text-decoration: none;
					font-size: 0.85em;
					letter-spacing: 0.15em;
					text-decoration: none;
					height: 44px;
					line-height: 44px;
					border-top: solid 1px rgba(255, 255, 255, 0.05);
					margin: 0 15px 0 15px;
				}

					#navPanel .link:first-child {
						border-top: 0;
					}

				#navPanel .indent-1 {
					display: inline-block;
					width: 1em;
				}

				#navPanel .indent-2 {
					display: inline-block;
					width: 2em;
				}

				#navPanel .indent-3 {
					display: inline-block;
					width: 3em;
				}

				#navPanel .indent-4 {
					display: inline-block;
					width: 4em;
				}

				#navPanel .indent-5 {
					display: inline-block;
					width: 5em;
				}

				#navPanel .depth-0 {
					color: #fff;
				}

			body.navPanel-visible #page-wrapper {
				-moz-transform: translateX(275px);
				-webkit-transform: translateX(275px);
				-ms-transform: translateX(275px);
				transform: translateX(275px);
			}

			body.navPanel-visible #titleBar {
				-moz-transform: translateX(275px);
				-webkit-transform: translateX(275px);
				-ms-transform: translateX(275px);
				transform: translateX(275px);
			}

			body.navPanel-visible #navPanel {
				-moz-transform: translateX(0);
				-webkit-transform: translateX(0);
				-ms-transform: translateX(0);
				transform: translateX(0);
			}

	}

/* Small */

	@media screen and (max-width: 736px) {

		/* Basic */

			body, input, select, textarea {
				line-height: 1.5em;
				font-size: 10.5pt;
				letter-spacing: 0;
			}

			h2, h3, h4, h5, h6 {
				font-size: 1.2em;
				letter-spacing: 0.05em;
				margin: 0 0 1em 0;
			}

			hr {
				margin: 1em 0 1em 0;
			}

		/* Section/Article */

			section, article {
				clear: both;
			}

			header br {
				display: none;
			}

			header.style1 {
				padding: 0 0 1em 0;
			}

				header.style1 h2 {
					font-size: 1.5em;
					letter-spacing: 0.075em;
					line-height: 1.25em;
				}

				header.style1 p {
					font-size: 1em;
					letter-spacing: 0;
					display: block;
					margin: 0;
				}

		/* Button */

			input[type="button"],
			input[type="submit"],
			input[type="reset"],
			button,
			.button {
				display: block;
				width: 100%;
				font-size: 1em;
				max-width: 30em;
				margin: 0 auto;
			}

		/* Actions */

			ul.actions {
				margin: 2em 0 0 0;
			}

				ul.actions li {
					margin: 15px 0 0 0;
					display: block;
				}

					ul.actions li:first-child {
						margin-top: 0;
					}

		/* Feature List */

			.feature-list section {
				padding-top: 2em;
				padding-left: 4em;
			}

			.feature-list h3:before {
				font-size: 0.9em;
			}

		/* Box */

			.box.post-excerpt .image.left {
				position: relative;
				top: 0.25em;
				width: 25%;
				margin: 0;
			}

			.box.post-excerpt h3, .box.post-excerpt p {
				margin-left: 32.5%;
			}

		/* Wrapper */

			.wrapper {
				padding: 3em 0 6em 0;
			}

				.wrapper .title {
					font-size: 0.9em;
					width: 18em;
					height: 2.5em;
					top: -2.5em;
					line-height: 2.5em;
					margin-bottom: -2.5em;
					margin-left: -9em;
					padding-top: 0.5em;
				}

					.wrapper .title:before, .wrapper .title:after {
						height: 15px;
						bottom: -15px;
						background-size: 100% 100%;
					}

		/* Header */

			#header {
				height: 17em;
			}

				.homepage #header {
					height: 20em;
				}

		/* Logo */

			#logo {
				text-align: center;
				padding-left: 2em;
				padding-right: 2em;
			}

				#logo h1 {
					font-size: 1.5em;
					letter-spacing: 0.2em;
				}

				#logo p {
					margin: 1.25em 0 0 0;
					display: block;
					letter-spacing: 0.2em;
					font-size: 0.9em;
				}

		/* Intro */

			#intro {
				text-align: center;
				padding-right: 2em;
				padding-left: 2em;
				padding-bottom: 5em;
				margin: 0 auto;
			}

				#intro p.style1 {
					margin-bottom: 1.5em;
				}

				#intro p.style2 {
					font-size: 1.5em;
					letter-spacing: 0.05em;
					line-height: 1.25em;
					padding: 1.25em;
				}

		/* Features */

			#features header.style1 {
				padding-bottom: 4em;
			}

			#features ul.actions {
				margin-top: 4em;
			}

		/* Content */

			#content {
				padding: 0 0 2em 0;
			}

				#content header.style1 {
					padding-bottom: 2.5em;
				}

		/* Footer */

			#footer {
				padding-bottom: 0;
			}

				#footer header.style1 {
					padding-bottom: 0;
					margin-bottom: 2em;
					border-bottom: 0;
				}

				#footer .feature-list {
					border-top: 0;
					padding-top: 0;
				}

		/* Copyright */

			#copyright {
				padding-top: 0;
				margin-top: 4em;
				border-top: 0;
			}

				#copyright ul {
					padding: 1em 2em;
					width: 100%;
				}

					#copyright ul li {
						display: block;
						margin: 0.5em 0 0 0;
						border-left: 0;
						padding: 0;
					}

						#copyright ul li:first-child {
							margin-top: 0;
						}

	}
	
	/* =========================================
   HERO - LOGO RJN PAYSAGES
   ========================================= */

#header {
    position: relative;
    overflow: hidden;
}

#logo {
    width: 100%;
    text-align: center;
    position: relative;
    z-index: 2;
    top: 0;
}

#logo .hero-logo {
    display: block;
    width: 260px;
    max-width: 65vw;
    height: auto;
    margin: 0 auto 1.25em auto;
    object-fit: contain;
}

/* Texte sous le logo */
#logo p {
    color: #5B7F3A;
    color: rgba(255,255,255,0.9);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 0.9em;
    margin: 0 0 1.5em 0;
}

/* Bouton du hero */
#logo .button {
    background: #5B7F3A;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.25);
}

#logo .button:hover {
    background: #789C52;
}

/* Mobile */
@media screen and (max-width: 736px) {

    #logo .hero-logo {
        width: 210px;
        max-width: 60vw;
        margin-bottom: 1em;
    }

    #logo p {
        font-size: 0.75em;
        letter-spacing: 0.08em;
    }

}
/* =========================================================
   RJN PAYSAGES — HERO FINAL / CRÈME & NATURE
   Reproduction fidèle de la maquette fournie.
   ========================================================= */
#header {
    min-height: 780px;
    height: auto !important;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background: #f7f0df !important;
    background-image:
        radial-gradient(circle at 50% 45%, rgba(255,255,255,.72) 0%, rgba(247,240,223,.92) 52%, #f2e9d5 100%) !important;
    border-bottom: 1px solid rgba(102, 76, 39, .18);
}

#header:before,
#header:after {
    content: "";
    position: absolute;
    pointer-events: none;
    display: block !important;
    z-index: 0;
}

/* Fines formes botaniques décoratives, sans remplacer le logo original. */
#header:before {
    width: 280px;
    height: 520px;
    left: -125px;
    bottom: -90px;
    opacity: .20;
    transform: rotate(-18deg);
    border-left: 2px solid #607748;
    border-radius: 50%;
    box-shadow:
        36px -70px 0 -34px rgba(96,119,72,.45),
        70px -155px 0 -36px rgba(96,119,72,.35),
        100px -245px 0 -38px rgba(96,119,72,.28),
        132px -330px 0 -40px rgba(96,119,72,.22);
}

#header:after {
    width: 250px;
    height: 470px;
    right: -110px;
    bottom: -80px;
    opacity: .16;
    transform: rotate(20deg) scaleX(-1);
    border-left: 2px solid #607748;
    border-radius: 50%;
    box-shadow:
        34px -80px 0 -34px rgba(96,119,72,.45),
        66px -170px 0 -36px rgba(96,119,72,.34),
        94px -260px 0 -38px rgba(96,119,72,.24),
        124px -340px 0 -40px rgba(96,119,72,.18);
}

#nav {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    z-index: 20;
    padding: 1.8em 3.2em 0;
    text-align: right;
}

#nav > ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

#nav > ul > li {
    margin: 0;
    padding: 0;
    border-left: 1px solid rgba(106, 76, 38, .16);
}

#nav > ul > li:first-child {
    border-left: 0;
}

#nav > ul > li > a,
#nav > ul > li > span {
    display: block;
    padding: .85em 1.35em;
    color: #3f592c !important;
    background: transparent !important;
    font-size: .83em;
    font-weight: 700;
    letter-spacing: .025em;
    text-shadow: none !important;
    transition: color .2s ease, background-color .2s ease;
}

#nav > ul > li:hover > a,
#nav > ul > li.active > a,
#nav > ul > li.active > span,
#nav > ul > li.current > a {
    color: #6b4720 !important;
    background: rgba(255,255,255,.30) !important;
}

/* Le bouton conserve la forme classique du thème : rectangulaire légèrement arrondie. */
#nav > ul > li.nav-cta {
    border-left: 0;
    margin-left: .8em;
}

#nav > ul > li.nav-cta > a {
    padding: .9em 1.5em;
    border-radius: .35em;
    background: #8b5b20 !important;
    color: #fffaf0 !important;
    box-shadow: 0 5px 12px rgba(86, 59, 26, .20);
    letter-spacing: .045em;
}

#nav > ul > li.nav-cta:hover > a {
    background: #744b1b !important;
    color: #fffaf0 !important;
}

#logo {
    width: min(1100px, calc(100% - 40px));
    margin: 0 auto;
    padding: 2.4em 0 4.5em;
    text-align: center;
    position: relative;
    z-index: 5;
}

.hero-brand {
    display: block;
    width: min(475px, 68vw);
    margin: 0 auto;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

#logo .hero-logo {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.hero-title {
    margin: .15em 0 .1em;
    color: #6b4720 !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.4rem, 7.2vw, 7.2rem);
    font-weight: 700;
    line-height: .95;
    letter-spacing: .015em;
    text-transform: uppercase;
    text-shadow: none;
}

.hero-title span {
    color: #385529;
}

.hero-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1em;
    width: min(560px, 80%);
    margin: 1em auto .75em;
}

.hero-divider span {
    flex: 1;
    height: 1px;
    background: rgba(77, 102, 53, .45);
}

.hero-divider i {
    color: #557342;
    font-size: .65em;
    font-style: normal;
    transform: rotate(45deg);
}

#logo .hero-baseline {
    max-width: 980px;
    margin: 0 auto;
    color: #3d582b !important;
    font-size: clamp(.78rem, 1.35vw, 1.08rem);
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: .095em;
    text-transform: uppercase;
}

#logo .hero-baseline b {
    color: #8b5b20;
    padding: 0 .45em;
}

#logo .hero-tagline {
    margin: .7em auto 0;
    color: #70491f !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.05rem, 1.8vw, 1.45rem);
    font-style: italic;
    letter-spacing: .035em;
}

#logo .hero-actions {
    margin: 1.8em 0 0;
}

#logo .hero-cta {
    min-width: 15em;
    height: 3.8em;
    line-height: 3.8em;
    padding: 0 2em !important;
    border: 0 !important;
    border-radius: .35em !important;
    background: #8b5b20 !important;
    color: #fffaf0 !important;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    box-shadow: 0 7px 18px rgba(91, 61, 25, .20);
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

#logo .hero-cta:hover {
    background: #744b1b !important;
    color: #fffaf0 !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(91, 61, 25, .25);
}

@media screen and (max-width: 1100px) {
    #nav { padding-left: 1.5em; padding-right: 1.5em; }
    #nav > ul > li > a,
    #nav > ul > li > span { padding-left: .8em; padding-right: .8em; }
}

@media screen and (max-width: 980px) {
    #header { min-height: 700px; }
    #nav { padding-top: 1.25em; }
    #nav > ul > li > a,
    #nav > ul > li > span { font-size: .76em; }
    #logo { padding-top: 2em; }
    .hero-brand { width: min(420px, 64vw); }
}

@media screen and (max-width: 736px) {
    #header { min-height: 650px; }
    #nav { display: none; }
    #logo {
        width: calc(100% - 28px);
        padding: 4.2em 0 3.5em;
    }
    .hero-brand { width: min(310px, 76vw); }
    .hero-title { font-size: clamp(2.8rem, 14vw, 4.5rem); }
    .hero-divider { width: 78%; margin-top: .8em; }
    #logo .hero-baseline {
        font-size: .69rem;
        line-height: 1.7;
        letter-spacing: .055em;
    }
    #logo .hero-baseline b { display: none; }
    #logo .hero-tagline { font-size: .98rem; }
    #logo .hero-cta { min-width: 13em; font-size: .76em; }
}
/* ===== MENU PREMIUM RJN — MODIFICATION DU MENU UNIQUEMENT ===== */

#nav {
    position: absolute !important;
    top: 2em !important;
    left: 50% !important;
    transform: translateX(-50%);
    width: auto !important;
    text-align: center !important;
    z-index: 100;
}

#nav > ul {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: max-content;
    margin: 0 auto !important;
    padding: 0.35em 0.5em !important;

    background: rgba(247, 240, 223, 0.94);
    border: 1px solid rgba(63, 86, 52, 0.20);
    border-radius: 3px;
    box-shadow: 0 8px 25px rgba(63, 70, 56, 0.08);
}

#nav > ul > li {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}

/* Texte parfaitement centré */
#nav > ul > li > a {
    display: flex !important;
    align-items: center;
    justify-content: center;

    height: 44px;
    padding: 0 1.25em !important;

    color: #3F5634 !important;
    text-align: center !important;

    font-size: 0.72em;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;

    text-decoration: none;
    transition: color 0.25s ease, background 0.25s ease;
}

/* Séparateurs */
#nav > ul > li + li {
    border-left: 1px solid rgba(117, 86, 54, 0.18);
}

/* Survol */
#nav > ul > li > a:hover {
    color: #755636 !important;
    background: rgba(96, 119, 72, 0.06);
}

/* Téléphone */

#nav .nav-phone a {
    display: flex !important;
    align-items: center;
    justify-content: center;

    color: #755636 !important;
    font-weight: 700;
    white-space: nowrap;
}

/* Icône Font Awesome */
#nav .nav-phone .fa-phone {
    display: inline-block;
    margin-right: 0.55em;

    color: #755636;
    font-size: 1em;

    transform-origin: center;
    transition: transform 0.2s ease;
}

/* Animation au survol */
#nav .nav-phone a:hover .fa-phone {
    animation: rjn-phone-ring 0.55s ease-in-out;
}

@keyframes rjn-phone-ring {
    0%   { transform: rotate(0deg); }
    20%  { transform: rotate(15deg); }
    40%  { transform: rotate(-15deg); }
    60%  { transform: rotate(10deg); }
    80%  { transform: rotate(-8deg); }
    100% { transform: rotate(0deg); }
}

/* Mobile */
@media screen and (max-width: 980px) {

    #nav {
        top: 1.2em !important;
        width: calc(100% - 2em) !important;
    }

    #nav > ul {
        width: 100%;
        max-width: 650px;
        flex-wrap: wrap;
    }

    #nav > ul > li > a {
        height: 40px;
        padding: 0 0.75em !important;
        font-size: 0.65em;
    }
}
/* =========================================================
   RJN PAYSAGES — SERVICES PREMIUM
   ========================================================= */

.services-premium {
    position: relative;
    padding: 6em 2em;
    background: #FAF8F2;
    color: #3F4638;
}

.services-container {
    width: 100%;
    max-width: 1220px;
    margin: 0 auto;
}


/* ---------------------------------------------------------
   EN-TÊTE
   --------------------------------------------------------- */

.services-header {
    max-width: 720px;
    margin: 0 auto 3.5em;
    text-align: center;
}

.services-eyebrow {
    display: inline-block;
    margin-bottom: 0.8em;

    color: #65784C;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.services-header h2 {
    margin: 0 0 0.55em;

    color: #3F4638;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.4em;
    font-weight: 600;
    line-height: 1.2;
}

.services-header p {
    margin: 0 auto;
    max-width: 650px;

    color: #687268;
    font-size: 1em;
    line-height: 1.7em;
}


/* ---------------------------------------------------------
   GRILLE
   --------------------------------------------------------- */

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2em;
}


/* ---------------------------------------------------------
   CARTE
   --------------------------------------------------------- */

.service-card {
    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: #FCFBF7;

    border: 1px solid rgba(63, 86, 52, 0.12);
    border-radius: 0.8em;

    box-shadow:
        0 8px 30px rgba(63, 70, 56, 0.07);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}

.service-card:hover {
    transform: translateY(-7px);

    border-color: rgba(96, 119, 72, 0.28);

    box-shadow:
        0 18px 45px rgba(63, 70, 56, 0.13);
}


/* ---------------------------------------------------------
   IMAGE
   --------------------------------------------------------- */

.service-image {
    position: relative;

    height: 220px;
    overflow: hidden;

    background: #E7E2D6;
}

.service-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.6s ease,
        filter 0.6s ease;
}

.service-card:hover .service-image img {
    transform: scale(1.045);
}


/* voile léger sur l'image */

.service-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(28, 39, 25, 0.38),
            rgba(28, 39, 25, 0.02) 60%
        );

    pointer-events: none;
}


/* ---------------------------------------------------------
   LABEL SUR IMAGE
   --------------------------------------------------------- */

.service-image-label {
    position: absolute;

    left: 1em;
    bottom: 1em;

    z-index: 2;

    display: flex;
    align-items: center;
    gap: 0.65em;

    padding: 0.55em 0.8em;

    color: #FFFFFF;

    font-size: 0.82em;
    font-weight: 500;

    background: rgba(48, 63, 42, 0.70);

    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 0.35em;

    backdrop-filter: blur(5px);
}

.service-image-label .icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 2.1em;
    height: 2.1em;

    color: #48673D;
    background: #FAF8F2;

    border-radius: 0.35em;
}


/* ---------------------------------------------------------
   CONTENU
   --------------------------------------------------------- */

.service-content {
    display: flex;
    flex-direction: column;
    flex: 1;

    padding: 1.8em 1.8em 1.6em;
}

.service-content h3 {
    display: flex;
    align-items: flex-start;
    gap: 0.65em;

    min-height: 2.7em;

    margin: 0 0 1em;

    color: #28352D;

    font-size: 1.05em;
    font-weight: 700;
    line-height: 1.35em;
    letter-spacing: 0.035em;
}

.service-content h3 .icon {
    flex-shrink: 0;

    margin-top: 0.1em;

    color: #35684E;

    font-size: 0.95em;
}


/* ---------------------------------------------------------
   DESCRIPTION
   --------------------------------------------------------- */

.service-content > p {
    margin: 0 0 1.5em;

    color: #657067;

    font-size: 0.9em;
    line-height: 1.6em;
}


/* ---------------------------------------------------------
   LISTE
   --------------------------------------------------------- */

.service-content ul {
    margin: auto 0 1.5em;
    padding: 0;

    list-style: none;
}

.service-content ul li {
    position: relative;

    margin: 0.65em 0;
    padding-left: 1.1em;

    color: #607066;

    font-size: 0.85em;
    line-height: 1.4em;
}

.service-content ul li::before {
    content: "";

    position: absolute;
    left: 0;
    top: 0.55em;

    width: 5px;
    height: 5px;

    background: #35684E;

    border-radius: 50%;
}


/* ---------------------------------------------------------
   BOUTON
   --------------------------------------------------------- */

.service-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.7em;

    width: 100%;

    padding: 0.75em 1em;

    color: #315642 !important;
    background: #DCE9E0;

    border: 1px solid rgba(53, 104, 78, 0.22);
    border-radius: 0.4em;

    font-size: 0.85em;
    font-weight: 500;

    text-decoration: none;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}

.service-button:hover {
    color: #FFFFFF !important;
    background: #35684E;

    border-color: #35684E;
}

.service-arrow {
    font-size: 1.25em;
    line-height: 1;

    transition: transform 0.25s ease;
}

.service-button:hover .service-arrow {
    transform: translateX(4px);
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media screen and (max-width: 980px) {

    .services-premium {
        padding: 5em 1.5em;
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .service-card:last-child {
        grid-column: 1 / -1;
        max-width: 50%;
        margin: 0 auto;
    }
}


@media screen and (max-width: 736px) {

    .services-premium {
        padding: 4em 1em;
    }

    .services-header {
        margin-bottom: 2.5em;
    }

    .services-header h2 {
        font-size: 1.9em;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: 1.5em;
    }

    .service-card:last-child {
        grid-column: auto;
        max-width: none;
    }

.service-image {
    position: relative;
    height: 160px;
    overflow: hidden;
    background: #E7E2D6;
}

.service-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

    .service-content {
        padding: 1.5em;
    }
}
/* =========================================================
   PORTFOLIO — ISOLATION DU STYLE DU THÈME
   ========================================================= */

#portfolio.portfolio-section {
    position: relative;
}

#portfolio .portfolio-content {
    width: 100%;
}

#portfolio .portfolio-gallery {
    width: 100%;
}

/* =========================================================
   RJN PAYSAGES — STABILITY / ANTI-DÉCALAGE PATCH
   Dernière couche volontairement isolée pour éviter les
   conflits avec le thème HTML5 UP et les anciennes règles.
   ========================================================= */

/* Prevent horizontal overflow caused by transformed/decorative elements. */
html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body,
#page-wrapper {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

/* Keep all replaced elements predictable. */
img,
svg,
video {
    max-width: 100%;
}

img {
    display: block;
}

/* Anchor scrolling: sections don't hide behind the navigation. */
section[id] {
    scroll-margin-top: 20px;
}

/* HERO: stable geometry before web fonts/images finish loading. */
#header {
    min-height: 780px;
    height: auto;
    overflow: hidden;
}

#logo {
    width: 100%;
    min-width: 0;
}

#logo .hero-logo {
    width: min(260px, 65vw);
    height: 260px;
    max-width: 65vw;
    object-fit: contain;
    object-position: center;
    margin-inline: auto;
}

/* Do not let long hero copy force horizontal movement. */
#logo .hero-title,
#logo .hero-baseline,
#logo .hero-tagline {
    max-width: 100%;
    overflow-wrap: anywhere;
}

#logo .hero-baseline {
    line-height: 1.5;
}

/* NAV: no flex item is allowed to shrink into another item. */
#nav,
#nav > ul,
#nav > ul > li,
#nav > ul > li > a {
    min-width: 0;
}

#nav > ul {
    flex-wrap: wrap;
    justify-content: center;
}

#nav > ul > li > a {
    white-space: nowrap;
}

/* SERVICE CARDS: identical image geometry = no card jumps. */
.services-grid {
    align-items: stretch;
}

.service-card {
    min-width: 0;
    height: 100%;
}

.service-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    flex: 0 0 auto;
    overflow: hidden;
}

.service-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Keep service content/buttons aligned even when text wraps differently. */
.service-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.service-content p {
    flex: 0 0 auto;
}

.service-content ul {
    flex: 0 0 auto;
}

.service-button {
    margin-top: auto;
}

/* PORTFOLIO: prevent lazy-loaded images from changing masonry geometry. */
.portfolio-gallery {
    width: 100%;
    min-width: 0;
}

.portfolio-item {
    width: 100%;
    min-width: 0;
}

.portfolio-link {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #e9e5da;
}

.portfolio-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Forms: stable sizing and no accidental overflow on small screens. */
#contact-form,
#contact-form .row,
#contact-form input,
#contact-form textarea {
    min-width: 0;
    max-width: 100%;
}

#contact-form input,
#contact-form textarea {
    box-sizing: border-box;
    width: 100%;
}

#contact-form textarea {
    resize: vertical;
}

/* Footer columns stay inside the viewport. */
#footer .row > * {
    min-width: 0;
}

/* Medium screens: keep the 3-column service layout from becoming cramped. */
@media screen and (max-width: 1100px) {
    .services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Tablet: predictable container gutters. */
@media screen and (max-width: 980px) {
    .container {
        width: min(100% - 48px, 1100px);
    }

    #header {
        min-height: 720px;
    }

    #logo .hero-logo {
        width: min(240px, 58vw);
        height: 240px;
    }

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

    .service-card:last-child {
        grid-column: auto;
        max-width: none;
        margin: 0;
    }
}

/* Mobile: one clean column, no horizontal overflow, no fixed desktop spacing. */
@media screen and (max-width: 736px) {
    html,
    body {
        width: 100%;
        overflow-x: hidden;
    }

    .container {
        width: calc(100% - 32px);
        max-width: none;
    }

    #header {
        min-height: 0;
        padding-bottom: 3.5rem;
    }

    #logo {
        padding: 1.5rem 1rem 0;
    }

    #logo .hero-logo {
        width: min(210px, 62vw);
        height: 210px;
        margin-bottom: 0.75rem;
    }

    #logo .hero-title {
        font-size: clamp(2.35rem, 12vw, 3.6rem);
        line-height: 1.05;
    }

    #logo .hero-baseline {
        font-size: 0.72rem;
        line-height: 1.55;
        letter-spacing: 0.07em;
    }

    #logo .hero-tagline {
        font-size: 0.95rem;
        line-height: 1.45;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .service-image {
        aspect-ratio: 16 / 9;
    }

    .portfolio-gallery {
        columns: 1;
        column-gap: 0;
    }

    .portfolio-item {
        margin-bottom: 16px;
    }

    .portfolio-link {
        aspect-ratio: 4 / 3;
    }

    #footer .row > .col-6 {
        width: 100%;
    }

    #contact-form .col-6,
    #contact-form .col-12 {
        width: 100%;
    }
}

/* Very small phones: reduce gutters without allowing overflow. */
@media screen and (max-width: 420px) {
    .container {
        width: calc(100% - 24px);
    }

    #logo {
        padding-inline: 0.5rem;
    }

    .service-content {
        padding: 1.25rem;
    }
}

/* Respect users who disable animation. */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
/* formulaire de contact. */
.contact-success {
    position: relative;
    margin: 0 0 2rem 0;
    padding: 1.5rem 3.5rem 1.5rem 1.5rem;
    border: 1px solid #3f8f52;
    border-radius: 10px;
    background: #173d24;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}

.contact-success strong {
    display: block;
    margin-bottom: 0.5rem;
    color: #ffffff;
    font-size: 1.1rem;
}

.contact-success p {
    margin: 0;
    color: #e8f5eb;
    line-height: 1.5;
}

/* Bouton de fermeture */
.contact-success-close {
    position: absolute;
    top: 1.2rem;
    right: 0.65rem;
    transform: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: none !important;
    border-radius: 0 !important;
    outline: none;
    box-shadow: none !important;
    background: transparent !important;
    color: #ffffff;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    opacity: 0.8;
}

.contact-success-close:hover,
.contact-success-close:focus,
.contact-success-close:active {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}
/* =========================================================
   AVIS GOOGLE
   ========================================================= */

.google-review-box {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 50px;
	max-width: 900px;
	margin: 0 auto;
	padding: 40px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 8px;
}

.google-review-rating {
	display: flex;
	align-items: center;
	gap: 20px;
	min-width: 280px;
}

.google-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #fff;
	font-family: Arial, sans-serif;
	font-size: 32px;
	font-weight: 700;
	color: #4285f4;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);
}

.google-rating-number {
	display: flex;
	align-items: baseline;
	gap: 5px;
}

.google-rating-number strong {
	font-size: 38px;
	line-height: 1;
	color: #fff;
}

.google-rating-number span {
	font-size: 16px;
	color: rgba(255, 255, 255, 0.7);
}

.google-stars {
	margin-top: 7px;
	color: #fbbc04;
	font-size: 22px;
	letter-spacing: 2px;
	line-height: 1;
}

.google-rating-content p {
	margin: 8px 0 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.85);
}

.google-review-text {
	max-width: 460px;
}

.google-review-text p {
	margin: 0 0 20px;
}

.google-review-text .button {
	margin-top: 5px;
}


/* MOBILE */

@media screen and (max-width: 736px) {

	.google-review-box {
		flex-direction: column;
		gap: 30px;
		padding: 30px 20px;
		text-align: center;
	}

	.google-review-rating {
		justify-content: center;
		min-width: 0;
	}

	.google-review-text {
		max-width: 100%;
	}

	.google-rating-number strong {
		font-size: 34px;
	}

}
/* =========================================================
   À PROPOS — ROBIN
   ========================================================= */

#about-robin .robin-profile {
	text-align: center;
}

.robin-photo {
	max-width: 420px;
	margin: 0 auto 25px;
	overflow: hidden;
	border-radius: 6px;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.15);
}

.robin-photo img {
	display: block;
	width: 100%;
	height: auto;
}

.robin-profile h3 {
	margin: 0 0 5px;
	font-size: 1.6em;
}

.robin-role {
	margin: 0;
	opacity: 0.7;
	font-size: 0.95em;
}

.robin-biography {
	padding: 10px 0;
}

.robin-biography h2 {
	margin-bottom: 25px;
}

.robin-biography p {
	margin-bottom: 18px;
}

.robin-signature {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.robin-signature strong {
	display: block;
	font-size: 1.3em;
}

.robin-signature span {
	display: block;
	margin-top: 4px;
	font-size: 0.85em;
	letter-spacing: 0.08em;
	opacity: 0.65;
}

.about-company {
	margin-top: 70px;
	padding-top: 50px;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}


/* MOBILE */

@media screen and (max-width: 736px) {

	.robin-photo {
		max-width: 320px;
	}

	.robin-biography {
		margin-top: 30px;
		text-align: left;
	}

	.about-company {
		margin-top: 45px;
		padding-top: 35px;
	}

}
/* ========================================================= */
/* HERO RÉDUIT - PAGES ANNEXES */
/* ========================================================= */

#header.inner-page-header {
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
}

#header.inner-page-header #logo {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 3em 0 2em 0 !important;
    margin: 0 !important;
    text-align: center !important;
}

#header.inner-page-header .hero-brand {
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}

#header.inner-page-header .hero-logo {
    display: block !important;
    position: relative !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 180px !important;
    margin: 0 auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}


/* ========================================================= */
/* TABLETTE */
/* ========================================================= */

@media screen and (max-width: 980px) {

    #header.inner-page-header #logo {
        padding: 2.5em 0 1.5em 0 !important;
    }

    #header.inner-page-header .hero-logo {
        max-height: 140px !important;
    }

}


/* ========================================================= */
/* MOBILE */
/* ========================================================= */

@media screen and (max-width: 736px) {

    #header.inner-page-header #logo {
        padding: 2em 0 1em 0 !important;
    }

    #header.inner-page-header .hero-logo {
        max-height: 100px !important;
    }

}

/* =========================================================
   PORTFOLIO — MASONRY + POP-UP DÉTAIL
   ========================================================= */

.portfolio-gallery {
    display: block;
    columns: 3 280px;
    column-gap: 24px;
    margin: 0 auto 2em;
}

.portfolio-item {
    display: inline-block;
    width: 100%;
    margin: 0 0 24px;
    padding: 0;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    overflow: hidden;
    position: relative;
    background: #fff;
    border-radius: 0.65em;
    box-shadow: 0 10px 28px rgba(63, 70, 56, 0.12);
}

.portfolio-link {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    position: relative;
    overflow: hidden;
    cursor: zoom-in;
    background: #e9e6dc;
    text-align: left;
}

.portfolio-link img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    transition: transform .45s ease, filter .45s ease;
}

.portfolio-link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(30, 35, 28, .55), transparent 48%);
    opacity: 0;
    transition: opacity .3s ease;
    pointer-events: none;
}

.portfolio-zoom {
    position: absolute;
    right: 14px;
    bottom: 14px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: #3F4638;
    font-size: 25px;
    line-height: 1;
    font-weight: 400;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .3s ease, transform .3s ease;
    z-index: 2;
    box-shadow: 0 5px 18px rgba(0,0,0,.16);
}

.portfolio-item:hover .portfolio-link img,
.portfolio-link:focus-visible img {
    transform: scale(1.045);
    filter: saturate(1.05);
}

.portfolio-item:hover .portfolio-link::after,
.portfolio-link:focus-visible::after {
    opacity: 1;
}

.portfolio-item:hover .portfolio-zoom,
.portfolio-link:focus-visible .portfolio-zoom {
    opacity: 1;
    transform: translateY(0);
}

.portfolio-link:focus-visible {
    outline: 3px solid #5B7F3A;
    outline-offset: -3px;
}

.portfolio-item figcaption {
    padding: .9em 1em 1em;
    background: #fff;
    color: #3F4638;
    font-size: .95em;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.35em;
}

/* Pop-up */
.portfolio-modal[hidden] {
    display: none !important;
}

.portfolio-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.portfolio-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(25, 29, 24, .82);
    backdrop-filter: blur(5px);
}

.portfolio-modal-dialog {
    position: relative !important;
    z-index: 1;
    width: min(1120px, 100%);
    max-height: min(900px, calc(100vh - 60px));
    overflow: auto;
    background: #F7F4EC;
    border-radius: 14px;
    box-shadow: 0 25px 80px rgba(0,0,0,.35);
}

.portfolio-modal-close {
    position: absolute;
    top: 14px;
    right: 2px !important;
    left: auto;
    z-index: 10;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #3F4638;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 38px;
    font-weight: 300;
    line-height: .8;
    cursor: pointer;
    box-shadow: none;
    appearance: none;
}

.portfolio-modal-close:hover {
    background: transparent;
    color: #5B7F3A;
    transform: none;
}

.portfolio-modal-body {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    gap: 0;
}

.portfolio-modal-gallery {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 26px;
    background: #e9e6dc;
}

.portfolio-photo {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    background: #d8d3c7;
    min-height: 220px;
}

.portfolio-photo img {
    display: block;
    width: 100%;
    max-height: 650px;
    object-fit: contain;
    margin: 0;
    background: #ddd9cf;
}

.portfolio-photo-label {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    color: #3F4638;
    font-size: .78em;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.portfolio-modal-info {
    padding: 55px 38px 38px;
}

.portfolio-modal-kicker {
    margin: 0 0 8px;
    color: #5B7F3A;
    font-size: .78em;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.portfolio-modal-info h2 {
    margin: 0 0 22px;
    font-size: 1.8em;
    line-height: 1.2;
}

.portfolio-modal-details {
    display: grid;
    gap: 10px;
    margin-bottom: 25px;
    padding: 18px;
    border-radius: 10px;
    background: #fff;
    border-left: 4px solid #5B7F3A;
}

.portfolio-modal-details p {
    margin: 0;
    color: #4d5549;
    font-size: .95em;
    line-height: 1.45;
}

.portfolio-modal-description {
    border-top: 1px solid #d8d2c7;
    padding-top: 22px;
}

.portfolio-modal-description h3 {
    margin: 0 0 8px;
    font-size: 1.05em;
}

.portfolio-modal-description p {
    margin: 0;
    line-height: 1.7;
}

body.portfolio-modal-open {
    overflow: hidden;
}

@media screen and (max-width: 980px) {
    .portfolio-gallery {
        columns: 2 240px;
        column-gap: 18px;
    }

    .portfolio-item {
        margin-bottom: 18px;
    }

    .portfolio-modal-body {
        grid-template-columns: 1fr;
    }

    .portfolio-modal-gallery {
        padding: 18px;
    }

    .portfolio-photo img {
        max-height: 520px;
    }

    .portfolio-modal-info {
        padding: 30px;
    }
}

@media screen and (max-width: 736px) {
    .portfolio-gallery {
        columns: 1;
    }

    .portfolio-item {
        margin-bottom: 16px;
        border-radius: .5em;
    }

    .portfolio-zoom {
        opacity: 1;
        transform: none;
        width: 38px;
        height: 38px;
        right: 10px;
        bottom: 10px;
    }

    .portfolio-modal {
        padding: 10px;
    }

    .portfolio-modal-dialog {
        max-height: calc(100vh - 20px);
        border-radius: 10px;
    }

    .portfolio-modal-gallery {
        padding: 10px;
    }

    .portfolio-modal-info {
        padding: 28px 20px 24px;
    }

    .portfolio-modal-info h2 {
        font-size: 1.45em;
        padding-right: 25px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portfolio-link img,
    .portfolio-zoom,
    .portfolio-link::after,
    .portfolio-modal-close {
        transition: none;
    }
}
.portfolio-modal-dialog {
    position: relative !important;
}

 .portfolio-modal-dialog .portfolio-modal-close {
    position: absolute !important;
    top: 10px !important;
    right: 2px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 99999 !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    color: #3F4638 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 38px !important;
    font-weight: 300 !important;
    line-height: .8 !important;
    cursor: pointer !important;
    appearance: none !important;
}

/* =========================================================
   RJN PAYSAGES — MASONRY FINAL
   Les images gardent leur hauteur naturelle.
   ========================================================= */

#portfolio .portfolio-gallery {
    display: block !important;
    width: 100% !important;
    columns: 3 300px !important;
    column-gap: 24px !important;
    column-fill: balance !important;
}

#portfolio .portfolio-item {
    display: inline-block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    vertical-align: top !important;
    break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
    overflow: hidden !important;
}

#portfolio .portfolio-link {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

#portfolio .portfolio-link img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: initial !important;
    margin: 0 !important;
}

/* Un peu plus d'espace visuel sur les grandes images */
#portfolio .portfolio-item figcaption {
    padding: 14px 16px 16px !important;
}

@media screen and (max-width: 980px) {
    #portfolio .portfolio-gallery {
        columns: 2 280px !important;
        column-gap: 20px !important;
    }
}

@media screen and (max-width: 736px) {
    #portfolio .portfolio-gallery {
        columns: 1 !important;
    }
}
.hero-title small {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.35em;
    font-weight: 400;
    letter-spacing: 0.08em;
}
.rjn-phone-button {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 99999;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #6b4632;
    color: #fff;

    border-radius: 50%;
    text-decoration: none;

    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);

    transition: all 0.25s ease;
  }

  .rjn-phone-button i {
    font-size: 22px;
    color: #fff;
  }

  .rjn-phone-button:hover {
    background: #513323;
    color: #fff;
    transform: scale(1.08);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
  }

  .rjn-phone-button:hover i {
    color: #fff;
  }

  /* MOBILE */
  @media (max-width: 600px) {
    .rjn-phone-button {
      right: 15px;
      bottom: 15px;
      width: 54px;
      height: 54px;
    }

    .rjn-phone-button i {
      font-size: 21px;
    }
  }
  /* =========================================================
   ZONE D'INTERVENTION
   ========================================================= */

#zones-intervention {
    position: relative;
    overflow: visible;
}

#zones-intervention .container {
    position: relative;
}

/* Carte */

.zone-map {
    max-width: 1000px;
    margin: 3em auto 2em;
}

.map-area {
    position: relative;
    width: 100%;
    height: 560px;
    overflow: hidden;

    background:
        linear-gradient(
            rgba(255,255,255,0.45),
            rgba(255,255,255,0.45)
        ),
        #e9eee8;

    border-radius: 8px;
    border: 1px solid rgba(40, 70, 45, 0.15);

    box-shadow:
        0 15px 45px rgba(35, 55, 40, 0.10);
}

/* Texture légère */

.map-area::before {
    content: "";
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            35deg,
            transparent 48%,
            rgba(80,100,80,0.06) 49%,
            transparent 50%
        );

    background-size: 70px 70px;
    opacity: 0.5;
}

/* Zones */

.map-region {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.region-idf {
    width: 650px;
    height: 420px;

    left: 150px;
    top: 70px;

    background: rgba(255,255,255,0.55);

    border: 2px solid rgba(50,80,55,0.10);

    transform: rotate(-12deg);
}

.region-77 {
    width: 480px;
    height: 350px;

    left: 350px;
    top: 120px;

    background: rgba(116, 145, 103, 0.13);

    border: 2px solid rgba(70,100,65,0.13);

    transform: rotate(14deg);
}

.region-91 {
    width: 300px;
    height: 250px;

    left: 100px;
    top: 250px;

    background: rgba(173, 194, 150, 0.15);

    border: 2px solid rgba(80,110,70,0.12);

    transform: rotate(-18deg);
}

/* Routes */

.road {
    position: absolute;
    display: block;

    height: 2px;

    background: rgba(90,100,90,0.20);

    transform-origin: left center;

    pointer-events: none;
}

.road-1 {
    width: 620px;
    left: 100px;
    top: 250px;
    transform: rotate(17deg);
}

.road-2 {
    width: 520px;
    left: 270px;
    top: 420px;
    transform: rotate(-25deg);
}

.road-3 {
    width: 430px;
    left: 360px;
    top: 110px;
    transform: rotate(65deg);
}

.road-4 {
    width: 340px;
    left: 150px;
    top: 380px;
    transform: rotate(-5deg);
}

/* Marqueurs */

.city-marker {
    position: absolute;

    display: flex;
    align-items: center;
    gap: 10px;

    color: #263c2b;
    text-decoration: none;

    z-index: 5;

    transition:
        transform 0.25s ease,
        color 0.25s ease;
}

.city-marker:hover {
    color: #557a50;
    transform: translateY(-4px);
}

/* Point */

.marker-dot {
    position: relative;

    width: 16px;
    height: 16px;

    flex: 0 0 16px;

    background: #557a50;

    border: 4px solid #fff;

    border-radius: 50%;

    box-shadow:
        0 2px 8px rgba(30,50,30,0.25);
}

/* Halo */

.marker-dot::after {
    content: "";

    position: absolute;

    width: 28px;
    height: 28px;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%);

    border-radius: 50%;

    border: 1px solid rgba(85,122,80,0.25);
}

/* Texte */

.city-label {
    display: flex;
    flex-direction: column;

    padding: 7px 11px;

    background: rgba(255,255,255,0.92);

    border-radius: 5px;

    box-shadow:
        0 4px 15px rgba(30,50,30,0.08);
}

.city-label strong {
    font-size: 0.9em;
    font-weight: 600;
}

.city-label small {
    margin-top: 2px;

    font-size: 0.72em;

    opacity: 0.65;
}

/* Positions */

.marker-fontainebleau {
    left: 48%;
    top: 42%;
}

.marker-avon {
    left: 52%;
    top: 32%;
}

.marker-nemours {
    left: 69%;
    top: 65%;
}

.marker-milly {
    left: 28%;
    top: 66%;
}

.marker-chapelle {
    left: 34%;
    top: 48%;
}

/* Départements */

.zone-caption {
    position: absolute;

    left: 62%;
    top: 15%;

    z-index: 2;

    color: rgba(45,70,48,0.45);

    font-size: 0.8em;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.zone-caption span {
    display: inline-block;

    margin-right: 5px;

    font-size: 1.8em;
    font-weight: 700;

    color: rgba(45,70,48,0.30);
}

.zone-caption-91 {
    left: 16%;
    top: 76%;
}


/* Liste sous la carte */

.zone-links {
    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 12px;

    max-width: 1000px;

    margin: 0 auto;
}

.zone-links a {
    display: flex;
    flex-direction: column;

    padding: 15px;

    color: #263c2b;

    text-decoration: none;

    background: #f7f9f6;

    border: 1px solid rgba(50,80,55,0.10);

    border-radius: 5px;

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.zone-links a:hover {
    background: #fff;

    transform: translateY(-3px);

    box-shadow:
        0 8px 20px rgba(30,50,30,0.08);
}

.zone-links span {
    font-weight: 600;
}

.zone-links small {
    margin-top: 4px;

    font-size: 0.75em;

    opacity: 0.6;
}


/* CTA */

.zone-cta {
    text-align: center;

    margin-top: 3em;
}

.zone-cta p {
    margin-bottom: 1em;
}

.zone-cta .button {
    display: inline-block;

    padding: 0.8em 1.8em;

    color: #fff;

    background: #557a50;

    border-radius: 4px;

    text-decoration: none;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.zone-cta .button:hover {
    background: #3f633b;

    transform: translateY(-2px);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media screen and (max-width: 980px) {

    .map-area {
        height: 500px;
    }

    .zone-links {
        grid-template-columns:
            repeat(3, 1fr);
    }

}

@media screen and (max-width: 736px) {

    .zone-map {
        margin-top: 2em;
    }

    .map-area {
        height: 440px;
    }

    .region-idf {
        width: 520px;
        left: 50px;
    }

    .region-77 {
        width: 390px;
        left: 220px;
    }

    .region-91 {
        width: 250px;
        left: 40px;
    }

    .marker-fontainebleau {
        left: 42%;
        top: 38%;
    }

    .marker-avon {
        left: 45%;
        top: 27%;
    }

    .marker-nemours {
        left: 58%;
        top: 65%;
    }

    .marker-milly {
        left: 12%;
        top: 68%;
    }

    .marker-chapelle {
        left: 25%;
        top: 48%;
    }

    .city-label {
        padding: 5px 8px;
    }

    .city-label strong {
        font-size: 0.78em;
    }

    .city-label small {
        display: none;
    }

    .zone-links {
        grid-template-columns:
            repeat(2, 1fr);
    }

}

@media screen and (max-width: 480px) {

    .map-area {
        height: 380px;
    }

    .zone-caption {
        display: none;
    }

    .marker-dot {
        width: 13px;
        height: 13px;

        flex-basis: 13px;

        border-width: 3px;
    }

    .city-label {
        padding: 4px 6px;
    }

    .city-label strong {
        font-size: 0.68em;
    }

    .marker-fontainebleau {
        left: 35%;
        top: 38%;
    }

    .marker-avon {
        left: 39%;
        top: 25%;
    }

    .marker-nemours {
        left: 52%;
        top: 65%;
    }

    .marker-milly {
        left: 8%;
        top: 68%;
    }

    .marker-chapelle {
        left: 20%;
        top: 48%;
    }

    .zone-links {
        grid-template-columns: 1fr;
    }

}
/* =========================================================
   RJN PAYSAGES — CARTE ZONE D'INTERVENTION
   ========================================================= */

#zones-intervention {
    position: relative;
}


/* ---------------------------------------------------------
   CONTENEUR CARTE
   --------------------------------------------------------- */

.rjn-map-container {
    position: relative;

    width: 100%;
    max-width: 1050px;

    margin: 3em auto 1.5em;

    overflow: hidden;

    border-radius: 8px;

    background: #e8eee5;

    box-shadow:
        0 18px 45px rgba(30, 55, 30, 0.14);
}


/* ---------------------------------------------------------
   CARTE LEAFLET
   --------------------------------------------------------- */

#rjn-map {
    width: 100%;
    height: 520px;

    z-index: 1;
}


/*
 * IMPORTANT :
 * On force la carte à avoir une apparence propre
 * indépendamment du CSS de HTML5 UP.
 */

#rjn-map img {
    max-width: none !important;
}


/* ---------------------------------------------------------
   BADGE SUR LA CARTE
   --------------------------------------------------------- */

.rjn-map-overlay {
    position: absolute;

    left: 20px;
    bottom: 20px;

    z-index: 500;

    display: flex;
    align-items: center;

    gap: 9px;

    padding: 10px 14px;

    background: rgba(255,255,255,0.94);

    color: #405c3c !important;

    border-radius: 5px;

    box-shadow:
        0 5px 20px rgba(0,0,0,0.12);

    font-size: 0.8em;
    font-weight: 600;
}

.rjn-map-overlay-dot {
    width: 10px;
    height: 10px;

    background: #557a50;

    border-radius: 50%;

    box-shadow:
        0 0 0 4px rgba(85,122,80,0.15);
}


/* ---------------------------------------------------------
   POPUPS LEAFLET
   --------------------------------------------------------- */

/*
 * Le thème du site impose probablement du blanc
 * aux liens. On écrase cela ici.
 */

#zones-intervention .leaflet-popup-content-wrapper {
    background: #ffffff;

    color: #344434 !important;

    border-radius: 6px;

    box-shadow:
        0 8px 25px rgba(0,0,0,0.15);
}

#zones-intervention .leaflet-popup-content {
    margin: 15px 17px;

    color: #344434 !important;

    line-height: 1.5;
}

#zones-intervention .leaflet-popup-tip {
    background: #ffffff;
}

#zones-intervention .leaflet-popup-content strong {
    color: #405c3c !important;
}

#zones-intervention .leaflet-popup-content small {
    color: #777 !important;
}

#zones-intervention .rjn-popup {
    text-align: center;

    min-width: 190px;
}

#zones-intervention .rjn-popup-title {
    display: block;

    margin-bottom: 3px;

    color: #405c3c !important;

    font-size: 1.1em;
    font-weight: 700;
}

#zones-intervention .rjn-popup-department {
    display: block;

    margin-bottom: 12px;

    color: #777 !important;

    font-size: 0.8em;
}

#zones-intervention .rjn-popup-link {
    display: inline-block;

    padding: 7px 12px;

    background: #557a50 !important;

    color: #ffffff !important;

    border-radius: 4px;

    text-decoration: none !important;

    font-size: 0.8em;
    font-weight: 600;
}

#zones-intervention .rjn-popup-link:hover {
    background: #405f3c !important;

    color: #ffffff !important;
}


/* ---------------------------------------------------------
   LISTE DES VILLES
   --------------------------------------------------------- */

.rjn-city-list {
    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 12px;

    max-width: 1050px;

    margin: 0 auto;
}


.rjn-city-link {
    display: flex;

    align-items: center;

    gap: 11px;

    min-height: 65px;

    padding: 12px 14px;

    background: #ffffff !important;

    color: #405c3c !important;

    border: 1px solid rgba(65, 90, 60, 0.13);

    border-radius: 5px;

    text-decoration: none !important;

    box-shadow:
        0 3px 12px rgba(30, 50, 30, 0.05);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}


.rjn-city-link:hover {
    background: #f7f9f6 !important;

    color: #405c3c !important;

    transform: translateY(-3px);

    box-shadow:
        0 8px 22px rgba(30, 50, 30, 0.10);
}


.rjn-city-link strong {
    display: block;

    color: #405c3c !important;

    font-size: 0.85em;
}


.rjn-city-link small {
    display: block;

    margin-top: 3px;

    color: #888 !important;

    font-size: 0.68em;
}


/* Point vert */

.rjn-city-dot {
    position: relative;

    flex: 0 0 10px;

    width: 10px;
    height: 10px;

    background: #557a50;

    border-radius: 50%;
}


.rjn-city-dot::after {
    content: "";

    position: absolute;

    width: 20px;
    height: 20px;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%);

    border: 1px solid rgba(85,122,80,0.25);

    border-radius: 50%;
}


/* ---------------------------------------------------------
   CTA
   --------------------------------------------------------- */

.rjn-map-cta {
    text-align: center;

    margin-top: 2.5em;
}


.rjn-map-cta p {
    margin-bottom: 1em;

    color: inherit;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media screen and (max-width: 980px) {

    .rjn-city-list {
        grid-template-columns:
            repeat(3, 1fr);
    }

}


@media screen and (max-width: 736px) {

    #rjn-map {
        height: 430px;
    }

    .rjn-map-overlay {
        left: 12px;
        bottom: 12px;

        font-size: 0.7em;
    }

    .rjn-city-list {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


@media screen and (max-width: 480px) {

    #rjn-map {
        height: 360px;
    }

    .rjn-city-list {
        grid-template-columns: 1fr;
    }

    .rjn-map-overlay {
        display: none;
    }

}

/* =========================================================
   RJN PAYSAGES — VILLES DISCRÈTES / INTÉGRATION CARTOGRAPHIE
   Dernière couche : remplace l'ancien aspect "cartes".
   ========================================================= */
.rjn-city-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.65rem 1.25rem;
    width: 100%;
    max-width: 1050px;
    margin: 1.15rem auto 0;
    padding: 0.35rem 0;
}

.rjn-city-link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 0;
    padding: 0.35rem 0.7rem;
    background: rgba(255,255,255,0.42) !important;
    color: #405c3c !important;
    border: 1px solid rgba(85,122,80,0.14);
    border-radius: 999px;
    box-shadow: none;
    text-decoration: none !important;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.rjn-city-link:hover,
.rjn-city-link:focus-visible {
    background: rgba(255,255,255,0.8) !important;
    border-color: rgba(85,122,80,0.3);
    color: #405c3c !important;
    transform: translateY(-1px);
    box-shadow: none;
}

.rjn-city-link strong {
    display: inline;
    margin: 0;
    color: #405c3c !important;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.rjn-city-link small {
    display: inline;
    margin: 0 0 0 0.2rem;
    color: #8a9185 !important;
    font-size: 0.66rem;
    font-weight: 400;
    line-height: 1.2;
}

.rjn-city-dot {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background: #557a50;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(85,122,80,0.12);
}

.rjn-city-dot::after { display: none; }

@media screen and (max-width: 736px) {
    .rjn-city-list {
        gap: 0.5rem 0.7rem;
        margin-top: 0.9rem;
    }
    .rjn-city-link {
        padding: 0.3rem 0.55rem;
    }
    .rjn-city-link strong { font-size: 0.74rem; }
    .rjn-city-link small { font-size: 0.62rem; }
}
