.sp-hero{position:relative;min-height:80vh;display:flex;align-items:center}
.sp-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sp-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(90,31,46,0.7),rgba(0,0,0,0.2))}
.sp-hero-content{position:relative;z-index:2;max-width:700px;margin-left:var(--container-padding);display:flex;flex-direction:column;gap:var(--space-3)}
.sp-hero-note{color:#fff;font-size:var(--step-0)}
.sp-hero h1,.sp-hero p{color:#fff}

.sp-concept-inner{max-width:900px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-5)}
.sp-concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.sp-concept-item{min-width:0}

.sp-timeline{position:relative}
.sp-timeline-line{position:absolute;left:50%;top:120px;bottom:40px;width:2px;background:var(--color-accent-gold)}
.sp-timeline-items{display:grid;gap:var(--space-6);max-width:680px;margin-inline:auto}
.sp-timeline-item{background:var(--color-surface-elevated);border:var(--border-soft);padding:var(--space-4);border-radius:var(--radius-sm)}

.sp-gallery-intro{max-width:700px}
.sp-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.sp-gallery-item{border-radius:var(--radius-sm);transition:transform var(--transition-fast)}
.sp-gallery-item:hover{transform:scale(1.03)}

.sp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.sp-card{min-width:0;transition:transform var(--transition-fast)}
.sp-card:hover{transform:translateY(-4px)}

.sp-ethics-inner{max-width:720px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-5)}
.sp-ethics-block{display:flex;flex-direction:column;gap:var(--space-3)}

.sp-sensory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}

.sp-cta{background:var(--color-accent-burgundy);color:#fff;text-align:center}
.sp-cta-inner{max-width:700px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-4)}
.sp-cta h2,.sp-cta p{color:#fff}

@media(max-width:1000px){
.sp-concept-grid,.sp-cards,.sp-sensory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
.sp-hero-content{max-width:100%;margin:0 var(--container-padding)}
.sp-concept-grid,.sp-cards,.sp-sensory-grid,.sp-gallery-grid{grid-template-columns:1fr}
.sp-timeline-line{display:none}
}
