.theme-seoul42 {
	--accent: var(--theme-seoul42);
	--accent-soft: #f1f5f9;
	--text-42seoul: #975ecf;

}
.bg-light { background-color: var(--bg-alt); }

.hero-logo-side h2 {
	color: var(--text-42seoul);
}

/* Layout Utilities */
.slide-tag {
    display: inline-block; color: var(--text-42seoul); font-family: 'Outfit'; font-weight: 800;
    font-size: 0.9rem; letter-spacing: 2px; margin-bottom: 20px; position: relative; padding-left: 20px;
}
.slide-tag::before { content: ''; position: absolute; left: 0; top: 50%; width: 12px; height: 2px; background: var(--accent); }
.slide-tag.white { color: var(--text-inverse); }
.slide-tag.white::before { background: var(--text-inverse); }

.slide-p { font-size: 1.1rem; color: var(--text-muted); line-height: 1.8; word-break: keep-all; }


/* Vision Grid */
.vision-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; align-items: center; }

/* List Style */
.t-list { padding-left: 20px; line-height: 1.8; color: var(--text-muted); }
.t-list li::marker { color: var(--accent); font-weight: bold; }

/* High Contrast for Dark Sections */
.t-feature-slide .t-feature-num { color: var(--text-42seoul) !important; opacity: 1; }
.t-feature-slide .t-tech-badge { background: rgba(207, 74, 222, 0.15); color: var(--text-42seoul); border: 1px solid rgba(207, 74, 222, 0.3); }

/* Media adjustments */
.f-media img { display: block; width: 100%; height: 100%; }

.tech-point strong { font-size: 1.3rem; color: var(--text-42seoul); display: block; margin-bottom: 15px; }
.tech-point p { font-size: 1rem; color: var(--text-muted); line-height: 1.7; }

/* Outro */
.align-center-vh { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.btn-outline.white-border { border-color: var(--border-inverse); color: var(--text-inverse); }
.btn-outline.white-border:hover { background: var(--text-inverse); color: var(--accent); }

@media (max-width: 900px) {
    .vision-grid { grid-template-columns: 1fr !important; }
    .hero-mockups { height: auto; position: relative; margin: 40px 0; } 
    .mockup-bridge { width: 100% !important; height: auto !important; position: static !important; transform: none !important; }
}

@media (max-width: 900px) {
    .slide-title { font-size: 2rem; }
}
