#hero { position: relative; min-height: 800px; height: min(70vh,880px); margin-top: var(--header-h); overflow: hidden; background: var(--cream); padding: 0; }
.main-slider { position: absolute; inset: 0; }
.hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1s var(--ease),visibility 1s; }
.hero-slide.is-active { opacity: 1; visibility: visible; }
.hero-media,.hero-video { position: absolute; inset: 0; overflow: hidden; }
.hero-media img,.hero-video video,.hero-video iframe { width: 100%; height: 100%; object-fit: cover; border: 0; }
.hero-media img { transform: scale(1.035); transition: transform 7s linear; }
.hero-slide.is-active .hero-media img { transform: scale(1); }
.hero-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(250,249,245,.92) 0%,rgba(250,249,245,.72) 29%,rgba(250,249,245,.18) 55%,transparent 72%); pointer-events: none; }
.hero-content { position: relative; z-index: 2; width: min(700px,48vw); padding-top: clamp(120px,20vh,210px); }
.hero-kicker { margin: 0 0 18px; color: var(--green-700); font-size: .82rem; font-weight: 700; letter-spacing: .18em; }
.hero-title { margin: 0; color: var(--green-900); font-size: clamp(2.65rem,4.6vw,3.8rem); font-weight: 500; line-height: 1.24; letter-spacing: .055em; }
.hero-copy { max-width: 450px; margin: 30px 0 32px; color: #59635c; padding-bottom: 35px; font-size: 20px; line-height: 1.6; letter-spacing: 0.6px; }
.hero-tagline { margin: 20px 0 8px; color: var(--green-700); letter-spacing: .11em; font-size: 26px; font-weight: 500; }
.hero-slide.is-active .hero-kicker,.hero-slide.is-active .hero-title,.hero-slide.is-active .hero-tagline,.hero-slide.is-active .hero-copy,.hero-slide.is-active .hero-actions { animation: hero-in var(--duration) var(--ease) both; }
.hero-slide.is-active .hero-title {animation-delay: 90ms;}
.hero-slide.is-active .hero-tagline { animation-delay: 120ms; }
.hero-slide.is-active .hero-copy { animation-delay: 180ms; }
.hero-slide.is-active .hero-actions { animation-delay: 250ms; }
@keyframes hero-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.hero-controls {position: absolute;z-index: 5;left: max(24px,calc((100% - var(--width-xxl))/2));bottom: 42px;display: flex;align-items: center;gap: 16px;display: none;}
.hero-arrow { width: 48px; height: 48px; padding: 0; border: 1px solid rgba(15,90,53,.28); border-radius: 50%; color: var(--green-800); background: rgba(255,255,255,.74); cursor: pointer; }
.hero-dots { display: flex; gap: 8px; }
.hero-dot { width: 30px; height: 5px; padding: 0; border: 0; border-radius: 999px; background: rgba(15,90,53,.25); cursor: pointer; overflow: hidden; }
.hero-dot span { display: block; width: 0; height: 100%; background: var(--green-800); }
.hero-dot.is-active span { animation: hero-progress 6s linear forwards; }
@keyframes hero-progress { to { width: 100%; } }
.scroll-link { position: absolute; z-index: 5; right: 34px; bottom: 44px; display: flex; align-items: center; gap: 12px; color: var(--green-900); font-size: .72rem; font-weight: 800; letter-spacing: .24em; writing-mode: vertical-rl; }
.scroll-link::after { content: ""; width: 1px; height: 42px; background: var(--green-700); }
@media (max-width: 1120px) { .hero-content { width: min(580px,57vw); } }
@media (max-width: 780px) {
	#hero { min-height: 430px; /* height: calc(100svh - var(--header-h)); */ }
	.hero-slide::after { background: linear-gradient(180deg,rgba(250,249,245,.08) 20%,rgba(250,249,245,.9) 36%,rgba(250,249,245,1) 100%,rgba(250,249,245,1) 100%); }
	.hero-media,.hero-video { height: 40%; }
	.hero-media img { object-position: 66% center; }
	.hero-content {position: absolute;left: 16px;right: 16px;bottom: 40px;width: auto;padding: 0;}
	.hero-kicker { margin-bottom: 10px; font-size: .7rem; }
	.hero-title { font-size: clamp(1.15rem,7.5vw,2.25rem); line-height: 1.25; }
	.hero-tagline { font-size: 21px; }
	.hero-copy {font-size: 16px;margin: 10px 0 20px;padding-bottom: 10px;}
	.hero-controls { left: 16px; bottom: 24px; }
	.hero-arrow { width: 44px; height: 44px; }
	.scroll-link { display: none; }
}
@media (prefers-reduced-motion: reduce) { .hero-media img { transform: none !important; } }
