.to-satshow-hero {
	position: relative;
	min-height: 640px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: linear-gradient(180deg, #065f46 0%, #059669 100%);
	background-size: cover;
	background-position: center;
	padding: 60px 24px;
	overflow: hidden;
}
.to-satshow-hero-inner { position: relative; max-width: 780px; z-index: 1; }
/* Plus d'overlay vert plein cadre : à la place, une ombre douce et large
   ("effet 3D") uniquement derrière le bloc de texte, pour garder la photo
   lisible en couleurs tout en assurant le contraste du texte par-dessus. */
.to-satshow-hero-inner::before {
	content: '';
	position: absolute;
	inset: -36px -48px;
	background: radial-gradient(ellipse at center, rgba(0,0,0,.55) 0%, rgba(0,0,0,.32) 45%, rgba(0,0,0,0) 75%);
	filter: blur(6px);
	z-index: -1;
	border-radius: 40px;
}
.to-satshow-hero h1 {
	font-family: 'Fraunces', Georgia, serif;
	color: #fff;
	font-size: 46px;
	line-height: 1.15;
	margin: 0 0 20px;
	text-shadow: 0 1px 0 rgba(0,0,0,.5), 0 4px 10px rgba(0,0,0,.45), 0 14px 30px rgba(0,0,0,.35);
}
.to-satshow-hero p {
	color: #fff;
	font-size: 17px;
	line-height: 1.6;
	margin: 0 0 32px;
	text-shadow: 0 1px 0 rgba(0,0,0,.4), 0 3px 8px rgba(0,0,0,.4);
}
.to-satshow-hero-ctas { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.to-satshow-btn--outline {
	background: rgba(255,255,255,.12);
	border: 1.5px solid #fff;
	backdrop-filter: blur(2px);
	color: #fff;
}
.to-satshow-btn--outline:hover { background: #fff; color: #065f46 !important; }

@media (max-width: 640px) {
	.to-satshow-hero { min-height: 480px; padding: 40px 20px; }
	.to-satshow-hero h1 { font-size: 30px; }
}

/* Blocs "richesses du territoire" — alternance image/texte */
.to-satshow-blocks { max-width: 1100px; margin: 0 auto; padding: 70px 24px; display: flex; flex-direction: column; gap: 64px; }
.to-satshow-block { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.to-satshow-block.is-reverse .to-satshow-block-media { order: 2; }
.to-satshow-block.is-reverse .to-satshow-block-text { order: 1; }
.to-satshow-block-media { aspect-ratio: 4/3; border-radius: 18px; overflow: hidden; background: #ecfdf5; box-shadow: 0 16px 40px rgba(6,95,70,.14); }
.to-satshow-block-media img { width: 100%; height: 100%; object-fit: cover; }
.to-satshow-block-text h2 { font-family: 'Fraunces', Georgia, serif; font-size: 28px; color: #064e3b; margin: 0 0 14px; }
.to-satshow-block-text p { font-size: 15.5px; line-height: 1.7; color: #44403c; margin: 0; }

@media (max-width: 800px) {
	.to-satshow-block, .to-satshow-block.is-reverse { grid-template-columns: 1fr; }
	.to-satshow-block.is-reverse .to-satshow-block-media,
	.to-satshow-block.is-reverse .to-satshow-block-text { order: initial; }
	.to-satshow-blocks { padding: 48px 20px; gap: 40px; }
}

.to-satshow-section-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	font-family: 'Fraunces', Georgia, serif;
	font-size: 28px;
	color: #064e3b;
	text-align: center;
	margin: 0 0 44px;
}
.to-satshow-section-title::before,
.to-satshow-section-title::after {
	content: '';
	flex: 1 1 80px;
	max-width: 140px;
	height: 1px;
	background: linear-gradient(90deg, transparent, #d4af37 50%, transparent);
}
.to-satshow-more { text-align: center; margin-top: 28px; font-size: 14px; }
.to-satshow-more a { color: #065f46; font-weight: 700; text-decoration: none; }
.to-satshow-more a:hover { text-decoration: underline; }

@media (max-width: 480px) {
	.to-satshow-section-title { font-size: 22px; gap: 10px; margin: 0 0 32px; }
	.to-satshow-section-title::before,
	.to-satshow-section-title::after { flex: 1 1 28px; max-width: 40px; }
}
