/* ============================================
   ANF — Akademia Nauk Formalnych we Wrocławiu
   Shared Stylesheet
   ============================================ */

:root {
  --navy: #03223E;
  --navy-deep: #011628;
  --navy-light: #0a3a66;
  --silver: #c8d4e3;
  --silver-light: #e8edf3;
  --gold: #D1B285;
  --gold-light: #e8d4b8;
  --cream: #f7f5f2;
  --gray: #989D9F;
  --white: #ffffff;
  --serif: 'Cormorant Garamond', 'Noto Serif KR', 'Georgia', serif;
  --sans: 'DM Sans', 'Noto Sans KR', 'Helvetica Neue', sans-serif;
  --max-width: 1280px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
html[lang="ko"] { word-break: keep-all; }
body {
  font-family: var(--sans); color: var(--navy);
  background: var(--white); overflow-x: hidden;
}

/* ---- ANIMATIONS ---- */
@keyframes fadeUp { from { opacity:0; transform:translateY(40px) } to { opacity:1; transform:translateY(0) }}
@keyframes fadeIn { from { opacity:0 } to { opacity:1 }}
.reveal { opacity:0; transform:translateY(40px); transition: opacity 0.8s ease, transform 0.8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ---- NAV ---- */
nav {
  position: fixed; top:0; left:0; right:0; z-index:100;
  display: flex; align-items: center;
  padding: 0 48px; height: 72px;
  background: rgba(3,34,62,0.95); backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(200,212,227,0.1);
  transition: background 0.4s;
}
nav.scrolled { background: rgba(1,22,40,0.98); }
nav .logo-wrap { display:flex; align-items:center; gap:14px; text-decoration:none; flex-shrink:0; }
nav .logo-full { height:44px; width:auto; filter: brightness(0) invert(1); }
nav .nav-center { flex:1; display:flex; justify-content:center; }
nav .nav-links { display:flex; gap:32px; }
nav .nav-links a {
  color: var(--silver); font-size:13px; font-weight:400;
  letter-spacing:1.5px; text-transform:uppercase; text-decoration:none;
  transition:color 0.3s; position:relative;
}
nav .nav-links a:hover,
nav .nav-links a.active { color: var(--gold); }
nav .nav-links a.active::after {
  content:''; position:absolute; bottom:-4px; left:0; right:0;
  height:1px; background:var(--gold);
}
nav .nav-right { display:flex; align-items:center; gap:20px; flex-shrink:0; }
nav .nav-cta {
  padding:8px 24px; border:1px solid var(--gold); color:var(--gold);
  font-size:12px; letter-spacing:2px; text-transform:uppercase;
  text-decoration:none; transition:all 0.3s;
}
nav .nav-cta:hover { background:var(--gold); color:var(--navy-deep); }

/* Language Toggle */
.lang-toggle { display:flex; align-items:center; gap:0; }
.lang-toggle a {
  color: var(--gray); font-size:11px; font-weight:500;
  letter-spacing:2px; text-transform:uppercase;
  text-decoration:none; padding:4px 6px;
  transition: color 0.3s; cursor:pointer;
}
.lang-toggle .sep { color:rgba(200,212,227,0.2); font-size:11px; user-select:none; }
.lang-toggle a:hover { color:var(--silver); }
.lang-toggle a.active { color:var(--gold); }

/* Mobile menu toggle */
.nav-hamburger {
  display:none; flex-direction:column; gap:5px; cursor:pointer;
  background:none; border:none; padding:8px;
}
.nav-hamburger span {
  display:block; width:24px; height:1.5px; background:var(--silver);
  transition: all 0.3s;
}

/* Mobile CTA (hidden on desktop) */
.nav-mobile-cta { display:none; }

/* ---- PAGE HEADER (for subpages) ---- */
.page-header {
  padding: 160px 48px 80px;
  background: var(--navy-deep); color: var(--white);
  position: relative; overflow: hidden;
}
.page-header::after {
  content:''; position:absolute; bottom:0; left:48px; right:48px;
  height:1px; background: rgba(200,212,227,0.1);
}
.page-header .section-label { margin-bottom:16px; }
.page-header h1 {
  font-family: var(--serif); font-weight:300;
  font-size: clamp(36px, 5vw, 56px); line-height:1.15;
  color: var(--white); letter-spacing:-0.3px;
}
.page-header p {
  font-size:17px; font-weight:300; line-height:1.7;
  color:var(--silver); max-width:640px; margin-top:20px;
}

/* ---- HERO ---- */
.hero {
  position: relative; height: 100vh; min-height:700px;
  display:flex; align-items:flex-end; overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0; z-index:0;
  background: url('../images/campus-night.jpg') center/cover no-repeat;
}
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background: linear-gradient(to top, rgba(1,22,40,0.95) 0%, rgba(3,34,62,0.4) 40%, rgba(3,34,62,0.2) 100%);
}
.hero-content {
  position:relative; z-index:1;
  padding: 0 48px 80px; max-width:900px;
  animation: fadeUp 1.2s ease both;
}
.hero-label {
  font-family:var(--sans); font-size:12px; font-weight:500;
  letter-spacing:5px; text-transform:uppercase;
  color: var(--gold); margin-bottom:20px;
  display:flex; align-items:center; gap:16px;
}
.hero-label::before { content:''; display:block; width:48px; height:1px; background:var(--gold); }
.hero h1 {
  font-family: var(--serif); font-weight:300; font-size:clamp(40px,6vw,72px);
  line-height:1.1; color:var(--white); margin-bottom:20px; letter-spacing:-0.5px;
}
.hero h1 em { font-style:italic; font-weight:300; color:var(--gold-light); }
.hero p {
  font-size:17px; font-weight:300; line-height:1.7;
  color: var(--silver); max-width:560px; margin-bottom:32px;
}
.hero-btn {
  display:inline-block; padding:14px 40px;
  border:1px solid rgba(200,212,227,0.3); color:var(--white);
  font-size:13px; letter-spacing:3px; text-transform:uppercase; text-decoration:none;
  transition:all 0.4s;
}
.hero-btn:hover { background:var(--white); color:var(--navy); border-color:var(--white); }

/* ---- SECTION COMMONS ---- */
section { padding: 120px 48px; }
.section-inner { max-width: var(--max-width); margin: 0 auto; }
.section-label {
  font-size:11px; font-weight:600; letter-spacing:5px; text-transform:uppercase;
  color:var(--gold); margin-bottom:16px;
  display:flex; align-items:center; gap:14px;
}
.section-label::before { content:''; display:block; width:32px; height:1px; background:var(--gold); }
.section-title {
  font-family:var(--serif); font-weight:400; font-size:clamp(32px,4vw,52px);
  line-height:1.15; margin-bottom:24px; letter-spacing:-0.3px;
}
.section-body {
  font-size:16px; font-weight:300; line-height:1.8;
  color:#3a4a5c; max-width:640px;
}

/* ---- ABOUT / STATS ---- */
.about { background:var(--cream); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; max-width:var(--max-width); margin:0 auto; }
.about-img { position:relative; }
.about-img img { width:100%; display:block; filter:grayscale(0.1); }
.about-img::after {
  content:''; position:absolute; top:20px; left:20px; right:-20px; bottom:-20px;
  border:1px solid var(--gold); z-index:-1;
}
.stats-row { display:flex; gap:48px; margin-top:48px; flex-wrap:wrap; }
.stat-num { font-family:var(--serif); font-size:48px; font-weight:300; color:var(--navy); line-height:1; }
.stat-label { font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--gray); margin-top:4px; }

/* ---- FACULTIES ---- */
.faculties { background:var(--navy-deep); color:var(--white); }
.faculties .section-inner { max-width: var(--max-width); margin: 0 auto; }
.faculties .section-title { color:var(--white); }
.faculties .section-body { color:var(--silver); }
.fac-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:64px; }
.fac-card {
  position:relative; background:var(--navy); padding:48px 36px;
  display:flex; flex-direction:column; justify-content:flex-end;
  border-top:2px solid transparent; transition:all 0.5s;
  min-height:300px;
}
.fac-card:hover { border-top-color:var(--gold); background:var(--navy-light); }
.fac-num { font-family:var(--serif); font-size:64px; font-weight:300; color:rgba(200,212,227,0.08); position:absolute; top:24px; right:32px; }
.fac-name { font-family:var(--serif); font-size:24px; font-weight:400; margin-bottom:12px; color:var(--white); line-height:1.3; }
.fac-name-pl { font-size:13px; color:var(--gold); font-style:italic; margin-bottom:16px; }
.fac-desc { font-size:14px; font-weight:300; line-height:1.7; color:var(--silver); }
.fac-link {
  display:inline-block; margin-top:20px; font-size:12px; letter-spacing:2px;
  text-transform:uppercase; color:var(--gold); text-decoration:none;
  transition: color 0.3s;
}
.fac-link:hover { color:var(--gold-light); }

/* ---- RESEARCH ---- */
.research { display:grid; grid-template-columns:1fr 1fr; gap:0; padding:0; }
.research-text { padding:120px 48px; display:flex; flex-direction:column; justify-content:center; }
.research-img { position:relative; overflow:hidden; min-height:500px; }
.research-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.research-topics { margin-top:40px; display:flex; flex-wrap:wrap; gap:10px; }
.topic-tag {
  padding:6px 16px; border:1px solid var(--silver);
  font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--navy);
  transition:all 0.3s; cursor:default;
}
.topic-tag:hover { border-color:var(--gold); color:var(--gold); }

/* ---- CAMPUS GALLERY ---- */
.campus-gallery { background:var(--cream); }
.campus-gallery .section-inner { max-width: var(--max-width); margin: 0 auto; }
.gallery-grid { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:300px 300px; gap:4px; margin-top:64px; }
.gallery-grid .gi { overflow:hidden; position:relative; }
.gallery-grid .gi img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s; }
.gallery-grid .gi:hover img { transform:scale(1.05); }
.gallery-grid .gi:first-child { grid-row:1/3; }

/* ---- PEOPLE ---- */
.people { background:var(--white); }
.people .section-inner { max-width: var(--max-width); margin: 0 auto; }
.people-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:40px; margin-top:64px; }
.person { text-align:center; }
.person-img {
  width:180px; height:180px; border-radius:50%; overflow:hidden;
  margin:0 auto 20px; position:relative;
  border:2px solid var(--silver-light); transition:border-color 0.3s;
}
.person:hover .person-img { border-color:var(--gold); }
.person-img img { width:100%; height:100%; object-fit:cover; }
.person-name { font-family:var(--serif); font-size:20px; font-weight:500; margin-bottom:2px; }
.person-title { font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--gray); margin-bottom:8px; }
.person-field { font-size:13px; color:#5a6a7a; font-weight:300; line-height:1.5; }

/* ---- FOUNDER BANNER ---- */
.founder {
  display:grid; grid-template-columns:1fr 2fr; gap:0;
  background:var(--navy-deep); color:var(--white); padding:0;
}
.founder-img { position:relative; overflow:hidden; }
.founder-img img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.1); }
.founder-text { padding:80px 64px; display:flex; flex-direction:column; justify-content:center; }
.founder-text .section-title { color:var(--white); margin-bottom:16px; }
.founder-quote {
  font-family:var(--serif); font-size:24px; font-weight:300; font-style:italic;
  line-height:1.6; color:var(--gold-light); margin-bottom:24px;
  padding-left:24px; border-left:2px solid var(--gold);
}
.founder-bio { font-size:15px; font-weight:300; line-height:1.8; color:var(--silver); }

/* ---- CTA BAND ---- */
.cta-band {
  background: url('../images/campus-day.png') center/cover no-repeat;
  position:relative; padding:100px 48px; text-align:center;
}
.cta-band::after { content:''; position:absolute; inset:0; background:rgba(3,34,62,0.8); }
.cta-band-inner { position:relative; z-index:1; }
.cta-band h2 { font-family:var(--serif); font-size:clamp(28px,4vw,48px); font-weight:300; color:var(--white); margin-bottom:16px; }
.cta-band p { color:var(--silver); font-size:16px; font-weight:300; margin-bottom:32px; }
.cta-band a.cta-btn {
  display:inline-block; padding:16px 48px; background:var(--gold); color:var(--navy-deep);
  font-size:13px; font-weight:600; letter-spacing:3px; text-transform:uppercase;
  text-decoration:none; transition:all 0.3s;
}
.cta-band a.cta-btn:hover { background:var(--white); }

/* ---- FOOTER ---- */
footer {
  background:var(--navy-deep); color:var(--silver); padding:64px 48px 32px;
}
.footer-inner { max-width: var(--max-width); margin: 0 auto; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; }
.footer-brand .logo-full { height:36px; filter:brightness(0) invert(1); margin-bottom:16px; }
.footer-brand p { font-size:14px; font-weight:300; line-height:1.7; color:var(--gray); max-width:300px; }
.footer-col h4 { font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.footer-col a { display:block; font-size:14px; color:var(--silver); text-decoration:none; margin-bottom:8px; transition:color 0.3s; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom {
  border-top:1px solid rgba(200,212,227,0.1); padding-top:24px;
  display:flex; justify-content:space-between; font-size:12px; color:var(--gray);
}

/* ---- CONTENT SECTIONS (for subpages) ---- */
.content-section { padding: 100px 48px; }
.content-section.alt { background: var(--cream); }
.content-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; max-width:var(--max-width); margin:0 auto; }
.content-grid.reverse { direction:rtl; }
.content-grid.reverse > * { direction:ltr; }

/* Timeline (about/history — vertical) */
.timeline { position:relative; padding-left:40px; max-width:800px; margin:48px auto 0; }
.timeline::before { content:''; position:absolute; left:0; top:0; bottom:0; width:1px; background:var(--silver); }
.timeline-item { position:relative; margin-bottom:48px; }
.timeline-item::before {
  content:''; position:absolute; left:-44px; top:8px;
  width:9px; height:9px; border-radius:50%; background:var(--gold);
}
.timeline-year { font-family:var(--serif); font-size:32px; font-weight:300; color:var(--gold); margin-bottom:8px; }
.timeline-text { font-size:15px; font-weight:300; line-height:1.8; color:#3a4a5c; }

/* Timeline Compact (horizontal grid) */
.timeline-compact {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
  gap:2px; margin-top:48px;
}
.timeline-compact .tl-item {
  background:var(--navy); padding:24px 20px;
  border-top:2px solid transparent; transition:border-color 0.3s;
}
.timeline-compact .tl-item:hover { border-top-color:var(--gold); }
.timeline-compact .tl-year {
  font-family:var(--serif); font-size:28px; font-weight:300;
  color:var(--gold); margin-bottom:8px;
}
.timeline-compact .tl-text {
  font-size:13px; font-weight:300; line-height:1.6; color:var(--silver);
}

/* Info Cards */
.info-card {
  background:var(--white); border:1px solid var(--silver-light);
  padding:40px; transition:border-color 0.3s;
}
.info-card:hover { border-color:var(--gold); }
.info-card h3 { font-family:var(--serif); font-size:22px; font-weight:400; margin-bottom:12px; }
.info-card p { font-size:14px; font-weight:300; line-height:1.7; color:#3a4a5c; }

/* Contact Form */
.contact-form { max-width:600px; }
.form-group { margin-bottom:24px; }
.form-group label {
  display:block; font-size:12px; letter-spacing:2px; text-transform:uppercase;
  color:var(--gray); margin-bottom:8px;
}
.form-group input,
.form-group textarea {
  width:100%; padding:12px 16px; border:1px solid var(--silver-light);
  font-family:var(--sans); font-size:15px; color:var(--navy);
  background:var(--white); transition:border-color 0.3s; outline:none;
}
.form-group input:focus,
.form-group textarea:focus { border-color:var(--gold); }
.form-group textarea { min-height:150px; resize:vertical; }
.form-submit {
  display:inline-block; padding:14px 40px; background:var(--navy);
  color:var(--white); font-size:13px; letter-spacing:3px;
  text-transform:uppercase; border:none; cursor:pointer;
  font-family:var(--sans); transition:background 0.3s;
}
.form-submit:hover { background:var(--navy-light); }

/* Admissions Steps */
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:48px; }
.step { text-align:center; padding:32px 20px; }
.step-num {
  font-family:var(--serif); font-size:48px; font-weight:300;
  color:var(--gold); margin-bottom:12px;
}
.step h3 { font-size:14px; font-weight:500; letter-spacing:1px; text-transform:uppercase; margin-bottom:8px; }
.step p { font-size:14px; font-weight:300; line-height:1.6; color:#3a4a5c; }

/* Map embed */
.map-container { width:100%; height:400px; margin-top:48px; filter:grayscale(0.3); }
.map-container iframe { width:100%; height:100%; border:0; }

/* ---- MODAL ---- */
.modal-overlay {
  position:fixed; inset:0; z-index:300;
  background:rgba(1,22,40,0.85); backdrop-filter:blur(8px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.modal-overlay.active { opacity:1; visibility:visible; }
.modal {
  background:var(--white); max-width:640px; width:90%;
  max-height:85vh; overflow-y:auto;
  padding:48px; position:relative;
  transform:translateY(20px); transition:transform 0.3s;
}
.modal-overlay.active .modal { transform:translateY(0); }
.modal-close {
  position:absolute; top:16px; right:20px;
  background:none; border:none; font-size:28px; color:var(--gray);
  cursor:pointer; transition:color 0.3s; line-height:1;
}
.modal-close:hover { color:var(--navy); }
.modal-header { display:flex; gap:24px; align-items:flex-start; margin-bottom:24px; }
.modal-photo {
  width:100px; height:100px; border-radius:50%; overflow:hidden;
  flex-shrink:0; border:2px solid var(--silver-light);
}
.modal-photo img { width:100%; height:100%; object-fit:cover; }
.modal-info h3 { font-family:var(--serif); font-size:24px; font-weight:400; margin-bottom:4px; }
.modal-info .modal-title { font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); margin-bottom:4px; }
.modal-info .modal-field { font-size:13px; color:var(--gray); }
.modal-bio { font-size:15px; font-weight:300; line-height:1.8; color:#3a4a5c; }
.modal-bio p { margin-bottom:16px; }
.modal-publications { margin-top:24px; }
.modal-publications h4 {
  font-size:11px; letter-spacing:3px; text-transform:uppercase;
  color:var(--gold); margin-bottom:12px;
}
.modal-publications li {
  font-size:13px; color:#3a4a5c; line-height:1.6; margin-bottom:8px;
  list-style:none; padding-left:16px; position:relative;
}
.modal-publications li::before {
  content:'·'; position:absolute; left:0; color:var(--gold);
}

/* ---- FACULTY LIST (text-only members) ---- */
.faculty-list { margin-top:48px; }
.faculty-list-item {
  display:grid; grid-template-columns:1fr 1fr 1fr;
  padding:16px 0; border-bottom:1px solid var(--silver-light);
  cursor:pointer; transition:background 0.3s;
  align-items:center;
}
.faculty-list-item:hover { background:rgba(209,178,133,0.06); }
.faculty-list-item:first-child {
  border-top:1px solid var(--silver-light);
}
.fl-name { font-family:var(--serif); font-size:18px; font-weight:400; }
.fl-title { font-size:13px; color:var(--gray); letter-spacing:0.5px; }
.fl-field { font-size:13px; color:#5a6a7a; font-weight:300; text-align:right; }
.faculty-list-hint {
  font-size:12px; color:var(--gray); margin-top:16px; font-style:italic;
}

/* ---- FACILITIES GRID (campus page) ---- */
.facilities-grid {
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:2px; margin-top:48px;
}
.facility-card {
  background:var(--navy); padding:36px 28px;
  border-top:2px solid transparent; transition:all 0.5s;
  min-height:220px;
}
.facility-card:hover { border-top-color:var(--gold); background:var(--navy-light); }
.facility-card h3 {
  font-family:var(--serif); font-size:20px; font-weight:400;
  color:var(--white); margin-bottom:12px;
}
.facility-card p {
  font-size:14px; font-weight:300; line-height:1.7; color:var(--silver);
}

/* ---- PUBLICATIONS LIST ---- */
.pub-list { margin-top:48px; }
.pub-item {
  padding:20px 0; border-bottom:1px solid var(--silver-light);
}
.pub-item:first-child { border-top:1px solid var(--silver-light); }
.pub-title {
  font-family:var(--serif); font-size:17px; font-weight:400;
  color:var(--navy); margin-bottom:6px; line-height:1.4;
}
.pub-authors { font-size:13px; color:var(--gray); margin-bottom:4px; }
.pub-venue {
  font-size:12px; letter-spacing:1px; text-transform:uppercase;
  color:var(--gold); font-weight:500;
}

/* ---- NEWS GRID ---- */
.news-grid {
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px;
  margin-top:48px; max-width:var(--max-width); margin-left:auto; margin-right:auto;
}
.news-card {
  border:1px solid var(--silver-light); transition:border-color 0.3s;
  text-decoration:none; color:inherit; display:block;
}
.news-card:hover { border-color:var(--gold); }
.news-card img { width:100%; height:200px; object-fit:cover; display:block; }
.news-card-body { padding:24px; }
.news-date {
  font-size:11px; letter-spacing:2px; text-transform:uppercase;
  color:var(--gold); margin-bottom:8px;
}
.news-card h3 {
  font-family:var(--serif); font-size:20px; font-weight:400;
  line-height:1.3; margin-bottom:8px; color:var(--navy);
}
.news-card p {
  font-size:14px; font-weight:300; line-height:1.6; color:#3a4a5c;
}
.news-more {
  display:inline-block; margin-top:12px; font-size:12px;
  letter-spacing:2px; text-transform:uppercase; color:var(--gold);
  text-decoration:none; transition:color 0.3s;
}
.news-more:hover { color:var(--gold-light); }
@media (max-width:900px) { .news-grid { grid-template-columns:1fr; } }

/* ---- RECTOR WELCOME ---- */
.rector-welcome {
  display:grid; grid-template-columns:300px 1fr; gap:64px;
  align-items:start; max-width:var(--max-width); margin:0 auto;
}
.rector-photo { position:relative; }
.rector-photo img {
  width:100%; display:block;
}
.rector-photo::after {
  content:''; position:absolute; top:16px; left:16px; right:-16px; bottom:-16px;
  border:1px solid var(--gold); z-index:-1;
}
.rector-message blockquote {
  font-family:var(--serif); font-size:20px; font-weight:300; font-style:italic;
  line-height:1.6; color:var(--navy); margin-bottom:24px;
  padding-left:20px; border-left:2px solid var(--gold);
}
.rector-signature {
  font-size:14px; color:var(--gray);
}
.rector-signature strong {
  display:block; font-family:var(--serif); font-size:18px; color:var(--navy);
  font-weight:400; margin-bottom:2px;
}

/* ---- RESPONSIVE ---- */

/* Tablet (max-width: 900px) */
@media (max-width:900px) {
  nav { padding:0 24px; }
  nav .nav-center {
    position:absolute; top:72px; left:0; right:0;
    flex-direction:column; justify-content:flex-start;
    background:var(--navy-deep);
    max-height:0; overflow:hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    padding:0 24px;
    border-bottom: 1px solid rgba(200,212,227,0.1);
  }
  nav .nav-center.open {
    max-height:500px;
    padding:24px;
  }
  nav .nav-center .nav-links {
    flex-direction:column; gap:0;
  }
  nav .nav-center .nav-links a {
    display:block; padding:14px 0; font-size:15px;
    border-bottom:1px solid rgba(200,212,227,0.08);
    letter-spacing:2px;
  }
  .nav-mobile-cta {
    display:inline-block !important;
    margin-top:20px; padding:12px 32px;
    border:1px solid var(--gold); color:var(--gold);
    font-size:13px; letter-spacing:2px; text-transform:uppercase;
    text-decoration:none; text-align:center;
    transition:all 0.3s;
  }
  .nav-mobile-cta:hover { background:var(--gold); color:var(--navy-deep); }
  nav .nav-right { margin-left:auto; }
  nav .nav-cta { display:none; }
  .nav-hamburger { display:flex; order:99; }

  section { padding:80px 24px; }
  .page-header { padding:140px 24px 60px; }

  .about-grid { grid-template-columns:1fr; gap:40px; }
  .fac-grid { grid-template-columns:1fr; }
  .research { grid-template-columns:1fr; }
  .research-text { padding:80px 24px; }
  .research-img { min-height:300px; }
  .gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .gallery-grid .gi { min-height:200px; }
  .gallery-grid .gi:first-child { grid-row:auto; }
  .people-grid { grid-template-columns:1fr 1fr; }
  .founder { grid-template-columns:1fr; }
  .founder-img { height:300px; }
  .founder-text { padding:60px 24px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .stats-row { gap:32px; }
  .hero-content { padding:0 24px 60px; }
  .content-grid { grid-template-columns:1fr; gap:40px; }
  .content-grid.reverse { direction:ltr; }
  .steps { grid-template-columns:1fr 1fr; }
  .facilities-grid { grid-template-columns:1fr; }
  .rector-welcome { grid-template-columns:1fr; gap:40px; }
  .rector-photo { max-width:250px; }
}

/* Mobile (max-width: 600px) */
@media (max-width:600px) {
  .hero { min-height:600px; }
  .hero h1 { font-size:clamp(32px,8vw,48px); }
  .stats-row { flex-direction:column; gap:24px; }
  .stat-num { font-size:36px; }
  .people-grid { grid-template-columns:1fr; }
  .person-img { width:140px; height:140px; }
  .gallery-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .gallery-grid .gi { min-height:250px; }
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .footer-bottom { flex-direction:column; gap:8px; }
  .steps { grid-template-columns:1fr; }
  .fac-card { min-height:auto; padding:36px 24px; }
  .cta-band { padding:80px 24px; }
  .modal { padding:32px 24px; }
  .modal-header { flex-direction:column; align-items:center; text-align:center; }
  .faculty-list-item { grid-template-columns:1fr; gap:4px; }
  .fl-field { text-align:left; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  .reveal { opacity:1; transform:none; }
}
