/* ============================================================ */
/* HOMEPAGE SPECIFIC STYLES                                     */
/* ============================================================ */

/* Hero */
.hero { position: relative; height: 100vh; min-height: 600px; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--ink); }
.hero-bg { position: absolute; inset: 0; z-index: 1; }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.6; transform: scale(1.05); transition: transform 10s linear; }
.hero:hover .hero-bg img { transform: scale(1); }
.hero::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to bottom, rgba(17, 24, 39, 0.4) 0%, rgba(17, 24, 39, 0.8) 100%); }
.hero-content { position: relative; z-index: 2; text-align: center; max-width: 800px; padding: 0 var(--padding); color: var(--surface); }
.hero-content h1 { color: var(--surface); margin-bottom: 1.5rem; text-shadow: 0 4px 12px rgba(0,0,0,0.3); }
.hero-content p { color: rgba(255, 255, 255, 0.9); font-size: 1.1rem; max-width: 600px; margin: 0 auto 2.5rem; font-weight: 400; }
.hero-buttons { display: flex; gap: 1rem; justify-content: center; }

.reveal-mask { display: block; overflow: hidden; margin-bottom: 0.5rem; }
.reveal-mask > span { display: block; transform: translateY(100%); transition: transform 1.2s var(--ease-out); }
.hero-content.is-visible .reveal-mask > span { transform: translateY(0); }

/* Trust Bar */
.trust-bar { background: var(--surface); padding: 2rem 0; border-bottom: 1px solid var(--border); overflow: hidden; }
.trust-bar-inner { display: flex; align-items: center; max-width: var(--container); margin: 0 auto; padding: 0 var(--padding); }
.trust-title { font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; color: var(--ink-light); white-space: nowrap; margin-right: 3rem; }
.marquee-wrapper { overflow: hidden; width: 100%; mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent); }
.marquee-track { display: flex; align-items: center; gap: 5rem; width: max-content; animation: scroll 25s linear infinite; }
.marquee-track:hover { animation-play-state: paused; }
.trust-logos img { height: 55px; width: auto; filter: grayscale(100%) opacity(0.6); transition: all 0.3s ease; }
.trust-logos img:hover { filter: grayscale(0%) opacity(1); }
@keyframes scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* Academics Section */
.academics-section { background: var(--bg); padding: 5rem 0; }
.academics-header { text-align: center; max-width: 600px; margin: 0 auto 4rem; }
.academics-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.academic-card { position: relative; height: 500px; display: block; text-decoration: none; overflow: hidden; background: var(--ink); }
.academic-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-out), opacity 0.5s ease; opacity: 0.8; }
.academic-card:hover img { transform: scale(1.05); opacity: 1; }
.academic-content { position: absolute; inset: 0; padding: 3rem 2rem; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(to top, rgba(17, 24, 39, 0.9) 0%, rgba(17, 24, 39, 0) 60%); }
.academic-content h3 { color: var(--surface); font-family: var(--font-sans); font-size: 1.5rem; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 0.5rem; }
.academic-content p { color: rgba(255,255,255,0.8); font-size: 0.95rem; transform: translateY(10px); opacity: 0; transition: all 0.4s var(--ease-out); }
.academic-card:hover .academic-content p { transform: translateY(0); opacity: 1; }

/* Video Section */
.video-section { background: var(--ink); padding: 5rem 0; color: var(--surface); }
.video-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.video-text h2 { color: var(--surface); margin-bottom: 2rem; }
.video-text p { color: rgba(255,255,255,0.8); margin-bottom: 1.5rem; }
.video-wrapper { position: relative; aspect-ratio: 16/9; overflow: hidden; cursor: pointer; background: #000; }
.video-wrapper img { width: 100%; height: 100%; object-fit: cover; opacity: 0.8; transition: all 0.5s ease; }
.video-wrapper:hover img { opacity: 1; transform: scale(1.02); }
.play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 70px; height: 70px; background: var(--surface); color: var(--ink); border: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s var(--ease-out); }
.play-btn:hover { background: var(--gold); transform: translate(-50%, -50%) scale(1.1); }
.video-wrapper iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; }

/* Interactive Facilities */
.facilities-interactive { background: var(--bg); padding: 5rem 0; }
.facilities-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.facility-list { list-style: none; border-top: 1px solid var(--border); margin-top: 2rem; }
.facility-item { display: flex; align-items: center; padding: 1.5rem 0; border-bottom: 1px solid var(--border); cursor: pointer; transition: all 0.3s ease; }
.facility-item .num { font-size: 0.875rem; color: var(--ink-light); margin-right: 2rem; width: 20px; }
.facility-item h3 { font-family: var(--font-display); font-size: 2rem; color: var(--ink); margin: 0; transition: transform 0.3s var(--ease-out); }
.facility-item:hover h3, .facility-item.active h3 { color: var(--gold); transform: translateX(10px); }
.facilities-media-wrapper { height: 600px; position: relative; overflow: hidden; background: var(--ink); }
.media-container { position: absolute; inset: 0; }
.media-container img { width: 100%; height: 100%; object-fit: cover; opacity: 1; transition: opacity 0.3s ease;}

/* Contact Section */
.contact-section { padding: 5rem 0; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; }
.contact-form { display: flex; flex-direction: column; gap: 1.5rem; margin-top: 2rem; }
.form-group input, .form-group textarea { width: 100%; padding: 1rem 0; border: none; border-bottom: 1px solid var(--border); background: transparent; font-family: var(--font-sans); font-size: 1.05rem; color: var(--ink); transition: border-color 0.3s; }
.form-group input:focus, .form-group textarea:focus { outline: none; border-color: var(--gold); }
.map-container { height: 450px; width: 100%; margin-top: 2rem; }

@media (max-width: 1100px) {
    .hero-content h1 { font-size: 3rem; }
    .academics-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .academic-card { height: 350px; }
    .video-grid, .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
    .facilities-media-wrapper { display: none !important; }
    .facilities-grid { grid-template-columns: 1fr; gap: 2rem; }
    .facility-list { margin-top: 1rem; }
    .trust-title { display: none; }
}