/* GLOBAL & ANIMATIONS */
body{background-color:#f8fafc;overflow-x:hidden;font-family:'Inter',sans-serif}
.glass-nav{background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,0.05)}
.cbse-badge{animation:pulse 2s infinite}
@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}
.slide-img{transition:opacity 1.5s ease-in-out}
.pattern-dots{background-image:radial-gradient(#ffffff 1px,transparent 1px);background-size:20px 20px}

/* COMPONENT: CARDS & FLIP */
.feature-card{transition:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275)}
.feature-card:hover{transform:translateY(-12px);box-shadow:0 20px 25px -5px rgba(0,0,0,0.1)}
.flip-card{background-color:transparent;perspective:1000px;height:250px}
.flip-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform 0.6s;transform-style:preserve-3d;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);border-radius:1rem}
.flip-card:hover .flip-inner{transform:rotateY(180deg)}
.flip-front,.flip-back{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:1rem;overflow:hidden}
.flip-front{background-color:#fff;color:black}
.flip-back{background-color:#003366;color:white;transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}

/* COMPONENT: PROFILE & ABOUT */
.profile-card{background:white;border-radius:1.5rem;overflow:hidden;border:1px solid #f1f5f9;box-shadow:0 10px 30px -10px rgba(0,0,0,0.1);transition:transform 0.3s ease,box-shadow 0.3s ease}
.profile-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px -10px rgba(0,0,0,0.15)}
.profile-img-container{height:220px;overflow:hidden;position:relative;background-color:#f1f5f9}
.profile-img-container img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 0.5s ease}
.profile-card:hover .profile-img-container img{transform:scale(1.05)}
.quote-box{position:relative;padding:2rem;background:#f8fafc;border-left:5px solid #003366;border-radius:0.5rem;margin-top:1rem}
.quote-box i{color:#cbd5e1;font-size:3rem;position:absolute;top:1rem;right:1rem;opacity:0.3}

/* COMPONENT: MPD & INFO */
.mpd-info-card{background:white;padding:1.5rem;border-radius:1rem;border:1px solid #f1f5f9;box-shadow:0 4px 6px -1px rgba(0,0,0,0.02);display:flex;flex-direction:column;gap:0.5rem;transition:transform 0.2s}
.mpd-info-card:hover{transform:translateY(-3px);border-color:#cbd5e1}
.mpd-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em;color:#64748b;font-weight:700}
.mpd-value{font-size:1rem;color:#0f172a;font-weight:600;line-height:1.4}
.doc-row{background:white;padding:1rem 1.5rem;border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column;gap:1rem}
@media(min-width:768px){.doc-row{flex-direction:row;align-items:center;justify-content:space-between}}
.doc-row:last-child{border-bottom:none}.doc-row:hover{background:#f8fafc}
.stat-card{background:linear-gradient(135deg,#003366 0%,#004488 100%);color:white;padding:1.5rem;border-radius:1rem;text-align:center}
.stat-number{font-size:2.5rem;font-weight:800;line-height:1;margin-bottom:0.5rem}
.stat-title{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.05em;opacity:0.9}
.infra-item{display:flex;align-items:center;gap:1rem;background:white;padding:1rem;border-radius:0.75rem;border:1px solid #f1f5f9}
.infra-icon{width:3rem;height:3rem;background:#eff6ff;color:#003366;border-radius:0.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem}

/* COMPONENT: GALLERY & ACTIVITY */
.gallery-grid,.activity-grid{column-count:1;column-gap:1.5rem}
@media(min-width:640px){.gallery-grid,.activity-grid{column-count:2}}
@media(min-width:1024px){.gallery-grid,.activity-grid{column-count:3}}
.gallery-item,.activity-item{break-inside:avoid;margin-bottom:1.5rem;background:white;border-radius:1rem;overflow:hidden;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);transition:transform 0.3s ease,box-shadow 0.3s ease;border:1px solid #f1f5f9;position:relative}
.gallery-item:hover,.activity-item:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px rgba(0,0,0,0.15)}
.gallery-item img,.activity-item img{width:100%;height:auto;display:block;transition:transform 0.5s ease}
.gallery-item:hover img,.activity-item:hover img{transform:scale(1.05)}
.video-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background:rgba(0,0,0,0.6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:1.5rem;backdrop-filter:blur(4px);pointer-events:none}
.activity-overlay{padding:1rem;background:white;border-top:1px solid #f1f5f9}
.activity-title{font-weight:700;color:#1e293b;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.05em}
.gallery-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem;margin-bottom:2rem}
.gallery-tab{padding:0.5rem 1.25rem;border-radius:9999px;font-size:0.875rem;font-weight:600;cursor:pointer;transition:all 0.2s;background:white;border:1px solid #e2e8f0;color:#64748b}
.gallery-tab.active,.gallery-tab:hover{background:#003366;color:white;border-color:#003366}

/* COMPONENT: DOWNLOAD CARDS */
.doc-card{background:white;padding:2rem;border-radius:1rem;border:1px solid #f1f5f9;text-align:center;transition:all 0.3s;position:relative;overflow:hidden;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.doc-card:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px rgba(0,0,0,0.1);border-color:#003366}
.doc-icon{width:60px;height:60px;background-color:#f0f9ff;color:#003366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.5rem;transition:all 0.3s}
.doc-card:hover .doc-icon{background-color:#003366;color:#ffffff;transform:scale(1.1)}
.doc-title{font-weight:700;color:#1e293b;margin-bottom:1rem;font-size:1.1rem;line-height:1.4}
.doc-link{font-size:0.8rem;font-weight:700;text-transform:uppercase;color:#64748b;letter-spacing:0.05em;display:inline-flex;align-items:center;gap:0.5rem}
.doc-card:hover .doc-link{color:#ffcc00}

/* COMPONENT: ACADEMIC & RULES */
.subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.subject-card{background:white;border-radius:1rem;padding:1.5rem;border:1px solid #f1f5f9;box-shadow:0 4px 6px -1px rgba(0,0,0,0.05);transition:transform 0.2s}
.subject-card:hover{transform:translateY(-5px);box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);border-color:#003366}
.subject-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}
.subject-icon{width:3rem;height:3rem;background:#eff6ff;color:#003366;border-radius:0.75rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.subject-list{list-style:none;padding:0;margin:0}
.subject-list li{display:flex;align-items:center;gap:0.75rem;padding:0.5rem 0;color:#475569;font-size:0.95rem;border-bottom:1px dashed #e2e8f0}
.subject-list li:last-child{border-bottom:none}
.subject-code{background:#003366;color:white;font-size:0.75rem;padding:0.15rem 0.5rem;border-radius:0.25rem;font-weight:700;min-width:3rem;text-align:center}
.rules-container{background:white;border-radius:1.5rem;box-shadow:0 10px 30px -10px rgba(0,0,0,0.1);padding:2.5rem;border:1px solid #f1f5f9}
.rule-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem 0;border-bottom:1px dashed #e2e8f0}
.rule-item:last-child{border-bottom:none}
.rule-icon{min-width:2rem;height:2rem;background:#ecfdf5;color:#059669;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.9rem;margin-top:0.1rem}
.rule-text{font-size:1rem;color:#334155;line-height:1.6}
.rules-header{text-align:center;margin-bottom:2.5rem}
.rules-header h2{font-size:2rem;font-weight:800;color:#1e293b;text-transform:uppercase;letter-spacing:-0.02em}
.rules-header p{color:#64748b;margin-top:0.5rem}

/* COMPONENT: AWARDS (FIXED) */
.award-card{background:white;border-radius:1.5rem;overflow:hidden;box-shadow:0 10px 25px -5px rgba(0,0,0,0.1);border:1px solid #f1f5f9;margin-bottom:3rem;display:flex;flex-direction:column}
.award-img-container{width:100%;height:250px;position:relative;overflow:hidden;background-color:#e2e8f0}
.award-img-container img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;position:absolute;top:0;left:0}
.award-card:hover .award-img-container img{transform:scale(1.05)}
.award-content{padding:2rem;flex:1;display:flex;flex-direction:column;justify-content:center}
@media(min-width:768px){.award-card{flex-direction:row;align-items:stretch;min-height:350px}.award-card:nth-child(even){flex-direction:row-reverse}.award-img-container{width:40%;height:auto}}
.award-badge{display:inline-block;background:#fffbeb;color:#b45309;font-size:0.75rem;font-weight:800;text-transform:uppercase;padding:0.25rem 0.75rem;border-radius:9999px;margin-bottom:1rem;align-self:flex-start}
.award-title{font-size:1.75rem;font-weight:800;color:#1e293b;margin-bottom:1rem;line-height:1.2}
.award-desc{color:#475569;line-height:1.7;font-size:1rem}
.award-list{margin-top:1.5rem;list-style:none;padding:0}
.award-list li{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.5rem;font-weight:600;color:#334155}
.award-list li i{color:#059669}

/* COMPONENT: CONTACT */
.contact-info-card{background:#003366;color:white;padding:2.5rem;border-radius:1.5rem;height:100%}
.contact-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem}
.contact-icon{min-width:3rem;height:3rem;background:rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#ffcc00}
.contact-form-card{background:white;padding:2.5rem;border-radius:1.5rem;box-shadow:0 10px 30px -10px rgba(0,0,0,0.1);border:1px solid #f1f5f9}
.form-group{margin-bottom:1.5rem}
.form-label{display:block;margin-bottom:0.5rem;font-weight:600;color:#334155;font-size:0.9rem}
.form-control{width:100%;padding:0.75rem 1rem;border:1px solid #e2e8f0;border-radius:0.5rem;font-size:1rem;transition:all 0.2s}
.form-control:focus{outline:none;border-color:#003366;box-shadow:0 0 0 3px rgba(0,51,102,0.1)}
.map-container{border-radius:1rem;overflow:hidden;height:300px;margin-top:2rem}
.map-container iframe{width:100%;height:100%;border:0}