/* ============================================================
   TRAILBLAZERS — Pradip R. Dasgupta
   Dark Navy Theme  |  style.css
   ============================================================ */

:root {
  --navy:        #02112c;
  --navy-mid:    #152035;
  --navy-card:   #1a2a42;
  --navy-light:  #243352;
  --navy-border: rgba(255,255,255,.10);
  --gold:        #c8a96e;
  --gold-light:  #e2c990;
  --white:       #ffffff;
  --text-primary: #ffffff;
  --text-body:   #ffffff;
  --text-muted:  #8aa4c2;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'DM Sans', sans-serif;
  background: var(--navy);
  color: var(--text-primary);
  overflow-x: hidden;
  cursor: none;
}

/* ── Custom Cursor ── */
.cursor {
  width:10px; height:10px; background:var(--gold); border-radius:50%;
  position:fixed; top:0; left:0; pointer-events:none; z-index:9999;
  transform:translate(-50%,-50%); transition:width .3s,height .3s;
}
.cursor-ring {
  width:36px; height:36px; border:1px solid rgba(200,169,110,.45); border-radius:50%;
  position:fixed; top:0; left:0; pointer-events:none; z-index:9998;
  transform:translate(-50%,-50%); transition:all .18s ease; opacity:.7;
}
@media (max-width:768px) { .cursor,.cursor-ring { display:none; } body { cursor:auto; } }

/* ══════════════════════════════
   NAV
══════════════════════════════ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:22px 60px;
  display:flex; align-items:center; justify-content:space-between;
  transition:all .4s ease;
}
nav.scrolled {
  background:rgba(13,22,38,.97);
  backdrop-filter:blur(20px);
  padding:14px 60px;
  box-shadow:0 4px 40px rgba(0,0,0,.4);
}
.nav-logo {
  font-family:'Playfair Display', serif;
  font-size:20px; font-weight:700;
  color:var(--white); letter-spacing:.5px; line-height:1.2;
}
.nav-logo span { color:var(--gold); }
.nav-logo small {
  display:block; font-size:10px; letter-spacing:2.5px;
  text-transform:uppercase; color:rgba(255,255,255,.55);
  font-family:'DM Sans', sans-serif; font-weight:500; margin-top:2px;
}
.nav-links { display:flex; gap:34px; list-style:none; }
.nav-links a {
  font-size:11px; font-weight:600; letter-spacing:1.8px;
  text-transform:uppercase; color:rgba(255,255,255,.8);
  text-decoration:none; transition:color .3s; position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0;
  width:0; height:1px; background:var(--gold); transition:width .3s;
}
.nav-links a:hover { color:var(--white); }
.nav-links a:hover::after { width:100%; }

.hamburger {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; background:none; border:none; padding:4px;
}
.hamburger span { width:24px; height:2px; background:var(--white); display:block; transition:all .3s; }

.mobile-menu {
  display:none; position:fixed; top:0; left:0; right:0; bottom:0;
  background:rgba(13,22,38,.99); z-index:999;
  flex-direction:column; align-items:center; justify-content:center; gap:28px;
}
.mobile-menu.open { display:flex; }
.mobile-menu a {
  font-family:'Playfair Display', serif; font-size:30px; font-weight:700;
  color:var(--white); text-decoration:none; transition:color .3s;
}
.mobile-menu a:hover { color:var(--gold); }
.mobile-close {
  position:absolute; top:22px; right:22px;
  font-size:28px; color:var(--white); background:none; border:none; cursor:pointer;
}

@media (max-width:768px) {
  nav, nav.scrolled { padding:16px 20px; }
  .nav-links { display:none; }
  .hamburger { display:flex; }
}

/* ══════════════════════════════
   HERO
══════════════════════════════ */
#hero {
  min-height:100vh; background:var(--navy);
  position:relative; display:flex; align-items:center; overflow:hidden;
}
.hero-bg-lines {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(200,169,110,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200,169,110,.025) 1px, transparent 1px);
  background-size:80px 80px;
}
.hero-bg-radial {
  position:absolute; inset:0;
  background:radial-gradient(circle at 68% 50%, rgba(26,42,66,.8) 0%, transparent 60%);
}
.hero-content {
  position:relative; z-index:2; width:100%; max-width:1300px; margin:0 auto;
  padding:120px 60px 80px;
  display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center;
}
.hero-text { animation:fadeUp 1s ease both; }

.hero-name {
  font-family:'Playfair Display', serif;
  font-size:clamp(36px,5.5vw,30px);
  font-weight:900; line-height:1.05;
  color:var(--white);
  white-space:nowrap;
  animation:fadeUp 1s .2s ease both;
}
.hero-title {
  font-family:'Cormorant Garamond', serif; font-size:22px; font-weight:400;
  color:#ffffff; margin-top:16px; margin-bottom:36px;
  letter-spacing:.5px; animation:fadeUp 1s .3s ease both;
  font-weight:600;
}
.hero-cta { display:flex; gap:12px; flex-wrap:wrap; animation:fadeUp 1s .4s ease both; }

.btn-primary {
  padding:14px 32px; background:var(--gold); color:var(--navy);
  font-weight:700; font-size:12px; letter-spacing:1.5px; text-transform:uppercase;
  text-decoration:none; border-radius:2px; border:none; cursor:pointer;
  transition:all .3s; display:inline-block;
}
.btn-primary:hover {
  background:var(--gold-light); transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(200,169,110,.3);
}
.btn-outline {
  padding:14px 32px; border:1px solid rgba(255,255,255,.35); color:var(--white);
  font-weight:600; font-size:12px; letter-spacing:1.5px; text-transform:uppercase;
  text-decoration:none; border-radius:2px; transition:all .3s; display:inline-block;
}
.btn-outline:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-2px); }

.hero-visual { position:relative; animation:fadeLeft 1s .3s ease both; }
.hero-img-frame { position:relative; width:100%; max-width:400px; margin:0 auto; }
.hero-img-frame::before {
  content:''; position:absolute; top:-14px; right:-14px;
  width:100%; height:100%; border:1px solid rgba(200,169,110,.2);
  border-radius:2px; z-index:0;
}
.hero-main-photo {
  width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top;
  border-radius:2px; position:relative; z-index:1; display:block;
}
.hero-photo-caption {
  position:absolute; bottom:0; left:0; right:0; z-index:2;
  padding:28px 20px;
  background:linear-gradient(to top, rgba(13,22,38,.95) 0%, transparent 100%);
  border-radius:0 0 2px 2px;
}

@media (max-width:860px) {
  .hero-content { grid-template-columns:1fr; padding:90px 20px 60px; gap:36px; }
  .hero-visual { order:-1; }
  .hero-img-frame { max-width:260px; }
  .hero-name { font-size:clamp(34px,8vw,56px); white-space:nowrap; }
}
@media (max-width:400px) {
  .hero-name { font-size:24px; white-space:nowrap; }
}

/* ══════════════════════════════
   SECTION BASE
══════════════════════════════ */
.section { padding:100px 0; }
.section-inner { max-width:1300px; margin:0 auto; padding:0 60px; }

.section-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-size:12px; letter-spacing:3px; text-transform:uppercase;
  color:var(--text-body); margin-bottom:16px; font-weight:700;
}
.section-eyebrow::before { content:''; width:24px; height:1px; background:var(--gold); }

.section-title {
  font-family:'Playfair Display', serif;
  font-size:clamp(28px,4vw,50px); font-weight:700;
  line-height:1.1; color:var(--white);
  white-space:nowrap;
}
.section-title em { font-style:italic; color:var(--gold-light); }

@media (max-width:768px) {
  .section { padding:70px 0; }
  .section-inner { padding:0 20px; }
  .section-title { white-space:normal; font-size:clamp(26px,6vw,40px); }
}

/* ══════════════════════════════
   ABOUT
══════════════════════════════ */
#about { background:var(--navy-mid); }
.about-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:70px; align-items:start; }

.about-img-stack { position:relative; padding-bottom:38px; }
.about-main-img {
  width:100%; aspect-ratio:3/4; border-radius:2px;
  overflow:hidden; position:relative; background:var(--navy-card);
}
.about-main-img img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center top; display:block;
}
.about-main-img .about-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(13,22,38,.9) 0%, rgba(13,22,38,.1) 50%, transparent 100%);
  z-index:1;
}
.about-accent-box {
  position:absolute; bottom:0; right:-18px; width:145px;
  padding:16px; background:var(--gold); border-radius:2px; text-align:center; z-index:3;
}
.about-accent-box .big-num {
  font-family:'Playfair Display', serif; font-size:40px;
  font-weight:900; color:var(--navy); line-height:1;
}
.about-accent-box p {
  font-size:11px; color:var(--navy); font-weight:800;
  text-transform:uppercase; letter-spacing:1px; margin-top:4px;
}

.about-content .section-title { margin-bottom:20px; white-space:normal; }
.about-content p { font-size:16px; line-height:1.9; color:var(--text-body); margin-bottom:18px; font-weight:500; }

.about-quals { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:30px; }
.qual-item {
  display:flex; align-items:flex-start; gap:12px; padding:14px;
  background:var(--navy-card); border-radius:2px; border-left:3px solid var(--gold);
}
.qual-item h4 { font-size:14px; font-weight:700; color:var(--white); margin-bottom:4px; }
.qual-item p { font-size:13px; color:var(--text-body); margin:0; line-height:1.4; font-weight:500; }

@media (max-width:860px) {
  .about-grid { grid-template-columns:1fr; gap:20px; }
  .about-img-stack { padding-bottom:44px; }
  .about-main-img { aspect-ratio:16/9; max-height:300px; }
  .about-accent-box { right:0; }
}
@media (max-width:480px) {
  .about-quals { grid-template-columns:1fr; }
  .about-main-img { aspect-ratio:4/3; max-height:260px; }
}

/* =========================
   SPEAKER IMAGE SECTION
========================= */

.speaker-image-section{
  width:100%;
  padding:80px 0;
  background:var(--navy);
}

.speaker-image-container{
  width:100%;
  max-width:1300px;
  margin:auto;
  padding:0 50px;
}

.speaker-image-container img{
  width:100%;
  display:block;
  border-radius:8px;
  object-fit:cover;
  box-shadow:0 10px 40px rgba(0,0,0,.35);
}

/* MOBILE RESPONSIVE */

@media(max-width:768px){

  .speaker-image-section{
    padding:50px 0;
  }

  .speaker-image-container{
    padding:0 16px;
  }

  .speaker-image-container img{
    border-radius:6px;
  }
}

/* ══════════════════════════════
   STANDING PHOTO SECTION
══════════════════════════════ */
#profile-feature { background:var(--navy); padding:100px 0; }
.profile-grid {
  max-width:1300px; margin:0 auto; padding:0 60px;
  display:grid; grid-template-columns:1fr 1.1fr; gap:72px; align-items:center;
}
.profile-img-wrap { position:relative; }
.profile-img-frame {
  position:relative; width:100%; max-width:420px;
  border-radius:2px; overflow:hidden;
}
.profile-img-frame::before {
  content:''; position:absolute; top:-14px; left:-14px;
  width:100%; height:100%; border:1px solid rgba(200,169,110,.18);
  border-radius:2px; z-index:0; pointer-events:none;
}
.profile-img-frame img {
  width:100%; display:block; border-radius:2px;
  object-fit:cover; object-position:center top; position:relative; z-index:1;
}
.profile-content .section-title { margin-bottom:24px; white-space:normal; }
.profile-content p { font-size:16px; line-height:1.9; color:var(--text-body); margin-bottom:18px; font-weight:500; }

@media (max-width:860px) {
  .profile-grid { grid-template-columns:1fr; padding:0 20px; gap:40px; }
  .profile-img-frame { max-width:320px; margin:0 auto; }
  #profile-feature { padding:70px 0; }
}

/* ══════════════════════════════
   STATS BAND
══════════════════════════════ */
.stats-band {
  background:var(--navy-card); padding:64px 0;
  border-top:1px solid var(--navy-border); border-bottom:1px solid var(--navy-border);
}
.stats-grid {
 
}
.stat-item { text-align:center; }
.stat-item .num {
  font-family:'Playfair Display', serif; font-size:54px;
  font-weight:900; color:var(--gold); line-height:1; display:block;
}
.stat-item .num sup { font-size:22px; }
.stat-item .label {
  font-size:12px; letter-spacing:2px; text-transform:uppercase;
  color:var(--text-body); margin-top:10px; display:block; font-weight:600;
}

@media (max-width:768px) {
  .stats-grid { grid-template-columns:repeat(2,1fr); padding:0 20px; gap:28px; }
  .stat-item .num { font-size:40px; }
}

/* ══════════════════════════════
   EXPERIENCE
══════════════════════════════ */
#experience { background:var(--navy-mid); }
.exp-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:48px;
  align-items:start; margin-top:0;
}
.exp-block {
  background:var(--navy-card); padding:36px 30px;
  border-radius:2px; border-top:3px solid var(--gold);
}
.exp-block h3 {
  font-family:'Playfair Display', serif; font-size:22px;
  font-weight:700; color:var(--white); margin-bottom:14px;
}
.exp-block p { font-size:15px; line-height:1.8; color:var(--text-body); font-weight:500; }
.exp-block ul { list-style:none; margin-top:14px; }
.exp-block ul li {
  font-size:15px; color:var(--text-body); padding:10px 0;
  border-bottom:1px solid var(--navy-border);
  display:flex; align-items:center; gap:12px; font-weight:500;
}
.exp-block ul li:last-child { border-bottom:none; }
.exp-block ul li::before {
  content:''; width:6px; height:6px; border-radius:50%;
  background:var(--gold); flex-shrink:0;
}
.exp-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.exp-tag {
  padding:7px 14px; border:1px solid rgba(200,169,110,.4);
  color:var(--text-primary); font-size:12px; letter-spacing:.5px; border-radius:2px;
  font-weight:600;
}

@media (max-width:768px) { .exp-grid { grid-template-columns:1fr; gap:20px; } }

/* ══════════════════════════════
   SERVICES
══════════════════════════════ */
#services { background:var(--navy); }
.services-header {
  display:grid; grid-template-columns:1fr 1fr; gap:52px;
  align-items:end; margin-bottom:60px;
}
.services-intro-text {
  font-family:'Cormorant Garamond', serif; font-size:19px;
  font-weight:600; line-height:1.8; color:var(--text-body);
}
.services-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:2px; background:rgba(255,255,255,.04);
  border-radius:4px; overflow:hidden;
}
.service-card {
  background:var(--navy-card); padding:40px 36px;
  position:relative; overflow:hidden; transition:all .4s;
}
.service-card::before {
  content:''; position:absolute; top:0; left:0;
  width:0; height:3px; background:var(--gold); transition:width .4s;
}
.service-card:hover::before { width:100%; }
.service-card:hover { background:var(--navy-light); }
.service-card:hover .service-num { color:rgba(200,169,110,.08); }
.service-card:hover .service-name { color:var(--white); }
.service-card:hover .service-desc { color:var(--text-primary); }
.service-card:hover .service-tags span { border-color:rgba(200,169,110,.3); color:var(--gold); }

.service-card.hr-card-item { border-left:2px solid rgba(200,169,110,.2); }
.service-hr-badge {
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(200,169,110,.12); border:1px solid rgba(200,169,110,.25);
  color:var(--gold); font-size:10px; letter-spacing:1.5px; text-transform:uppercase;
  padding:4px 10px; border-radius:20px; margin-bottom:12px; font-weight:700;
}
.service-num {
  font-family:'Playfair Display', serif; font-size:64px;
  font-weight:900; color:rgba(255,255,255,.05); line-height:1;
  margin-bottom:-16px; transition:color .4s;
}
.service-name {
  font-family:'Playfair Display', serif; font-size:21px;
  font-weight:700; color:var(--white); margin-bottom:12px;
  margin-top:14px; transition:color .4s;
}
.service-desc {
  font-size:15px; line-height:1.8; color:var(--text-body);
  margin-bottom:20px; transition:color .4s; font-weight:500;
}
.service-tags { display:flex; flex-wrap:wrap; gap:8px; }
.service-tags span {
  padding:5px 12px; border:1px solid rgba(255,255,255,.15);
  font-size:12px; letter-spacing:.5px; color:var(--text-primary);
  border-radius:2px; transition:all .4s; font-weight:600;
}

.services-section-label {
  grid-column:1 / -1;
  padding:20px 36px 12px;
  background:var(--navy-card);
  display:flex; align-items:center; gap:14px;
}
.services-section-label span {
  font-size:11px; letter-spacing:3px; text-transform:uppercase;
  color:var(--text-body); font-weight:700;
}
.services-section-label::before,
.services-section-label::after {
  content:''; flex:1; height:1px; background:var(--navy-border);
}
.services-section-label::before { max-width:28px; background:var(--gold); }

@media (max-width:768px) {
  .services-header { grid-template-columns:1fr; gap:16px; margin-bottom:28px; }
  .services-grid { grid-template-columns:1fr; }
  .service-card { padding:28px 20px; }
}

/* ══════════════════════════════
   GALLERY
══════════════════════════════ */
#gallery { background:var(--navy-mid); padding:100px 0; }
.gallery-header { margin-bottom:48px; }
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.gallery-card {
  position:relative; border-radius:2px; overflow:hidden;
  aspect-ratio:1/1; background:var(--navy-card);
  border:1px solid var(--navy-border);
  transition:transform .35s, box-shadow .35s;
}
.gallery-card:hover {
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(0,0,0,.4);
}
.gallery-card img {
  width:100%; height:100%; object-fit:cover; object-position:center top;
  display:block; transition:transform .5s;
}
.gallery-card:hover img { transform:scale(1.06); }
.gallery-card-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(13,22,38,.7) 0%, transparent 60%);
  opacity:0; transition:opacity .35s;
}
.gallery-card:hover .gallery-card-overlay { opacity:1; }

@media (max-width:900px) { .gallery-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px) { .gallery-grid { grid-template-columns:repeat(2,1fr); gap:8px; } #gallery { padding:70px 0; } }

/* ══════════════════════════════
   PROCESS
══════════════════════════════ */
#process { background:var(--navy); }
.process-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0; margin-top:60px; position:relative;
}
.process-grid::before {
  content:''; position:absolute; top:37px; left:12%; width:76%; height:1px;
  background:linear-gradient(to right, var(--gold), rgba(200,169,110,.15)); z-index:0;
}
.process-step { padding:0 18px; text-align:center; position:relative; z-index:1; }
.step-num {
  width:74px; height:74px; border-radius:50%; background:var(--navy-card);
  border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 24px;
  font-family:'Playfair Display', serif; font-size:24px; font-weight:900; color:var(--gold);
  box-shadow:0 8px 30px rgba(0,0,0,.2); transition:all .3s;
}
.process-step:hover .step-num { background:var(--gold); color:var(--navy); transform:scale(1.08); }
.process-step h3 {
  font-family:'Playfair Display', serif; font-size:18px;
  font-weight:700; color:var(--white); margin-bottom:10px;
}
.process-step p { font-size:14px; color:var(--text-body); line-height:1.7; font-weight:500; }

@media (max-width:768px) {
  .process-grid { grid-template-columns:repeat(2,1fr); gap:34px; }
  .process-grid::before { display:none; }
}
@media (max-width:440px) { .process-grid { grid-template-columns:1fr; gap:28px; } }

/* ══════════════════════════════
   CONTACT
══════════════════════════════ */
#contact { background:var(--navy-card); padding:100px 0; }
.contact-inner { max-width:1300px; margin:0 auto; padding:0 60px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }

.contact-info .section-title { margin-bottom:18px; white-space:normal; }
.contact-info > p {
  font-family:'Cormorant Garamond', serif; font-size:20px; font-weight:600;
  line-height:1.8; color:var(--text-body); margin-bottom:38px;
}
.contact-items { display:flex; flex-direction:column; gap:12px; }
.contact-item {
  display:flex; align-items:center; gap:16px; padding:16px 20px;
  background:rgba(255,255,255,.04); border:1px solid var(--navy-border);
  border-radius:2px; transition:all .3s;
}
.contact-item:hover {
  background:rgba(200,169,110,.07); border-color:rgba(200,169,110,.25);
  transform:translateX(5px);
}
.contact-icon {
  width:42px; height:42px; background:rgba(200,169,110,.1);
  border:1px solid rgba(200,169,110,.2); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; flex-shrink:0; color:var(--gold); font-weight:700;
}
.contact-detail h4 {
  color:var(--text-body); font-size:11px; letter-spacing:2px;
  text-transform:uppercase; margin-bottom:3px; font-weight:700;
}
.contact-detail p { color:var(--text-primary); font-size:15px; margin:0; font-weight:500; }

.contact-form-area {
  background:rgba(255,255,255,.03); border:1px solid var(--navy-border);
  padding:40px; border-radius:4px;
}
.form-title {
  font-family:'Playfair Display', serif; font-size:26px;
  font-weight:700; color:var(--white); margin-bottom:28px;
}
.form-group { margin-bottom:18px; }
.form-group label {
  display:block; font-size:11px; letter-spacing:2px; text-transform:uppercase;
  color:var(--text-body); margin-bottom:7px; font-weight:700;
}
.form-group input,
.form-group textarea,
.form-group select {
  width:100%; padding:13px 15px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  border-radius:2px; color:var(--text-primary);
  font-family:'DM Sans', sans-serif; font-size:15px;
  transition:border-color .3s; outline:none;
}
.form-group select { -webkit-appearance:none; cursor:pointer; }
.form-group select option { background:#152035; }
.form-group textarea { resize:vertical; min-height:110px; }
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus { border-color:var(--gold); }
.form-group input::placeholder,
.form-group textarea::placeholder { color:rgba(255,255,255,.3); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.btn-submit {
  width:100%; padding:15px; background:var(--gold); color:var(--navy);
  font-weight:700; font-size:12px; letter-spacing:2px; text-transform:uppercase;
  border:none; border-radius:2px; cursor:pointer; transition:all .3s; margin-top:4px;
}
.btn-submit:hover {
  background:var(--gold-light); transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(200,169,110,.2);
}

@media (max-width:860px) {
  .contact-inner { padding:0 20px; }
  .contact-grid { grid-template-columns:1fr; gap:40px; }
  .contact-form-area { padding:24px 18px; }
  .form-row { grid-template-columns:1fr; }
  #contact { padding:70px 0; }
}

/* ══════════════════════════════
   FOOTER
══════════════════════════════ */
footer {
  background:#080f1c; padding:48px 60px;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:20px;
  border-top:1px solid var(--navy-border);
}
.footer-brand .logo {
  font-family:'DM Sans', sans-serif; font-size:14px;
  font-weight:600; color:var(--text-body);
}
.footer-brand .logo small {
  display:block; font-size:12px; letter-spacing:1px;
  color:var(--text-body); font-family:'DM Sans', sans-serif;
  margin-top:4px; font-weight:500;
}
.footer-brand .logo small a {
  color:var(--gold); text-decoration:none; font-weight:700;
  transition:color .3s;
}
.footer-brand .logo small a:hover { color:var(--gold-light); text-decoration:underline; }
.footer-links { display:flex; gap:24px; list-style:none; flex-wrap:wrap; }
.footer-links a {
  font-size:13px; color:var(--text-body); text-decoration:none;
  transition:color .3s; font-weight:500;
}
.footer-links a:hover { color:var(--white); }
.footer-copy { font-size:12px; color:var(--text-body); font-weight:500; }

@media (max-width:768px) {
  footer { flex-direction:column; text-align:center; padding:32px 20px; }
  .footer-links { justify-content:center; }
}

/* ══════════════════════════════
   ANIMATIONS & REVEAL
══════════════════════════════ */
@keyframes fadeUp   { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeLeft { from { opacity:0; transform:translateX(36px); } to { opacity:1; transform:translateX(0); } }
@keyframes floatIn  { from { opacity:0; transform:translateY(16px) scale(.96); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes scrollAnim { 0% { left:-100%; } 100% { left:100%; } }

.reveal       { opacity:0; transform:translateY(32px); transition:all .8s cubic-bezier(.16,1,.3,1); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-left  { opacity:0; transform:translateX(-32px); transition:all .8s cubic-bezier(.16,1,.3,1); }
.reveal-left.visible { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(32px); transition:all .8s cubic-bezier(.16,1,.3,1); }
.reveal-right.visible { opacity:1; transform:translateX(0); }
.delay-1 { transition-delay:.1s; }
.delay-2 { transition-delay:.2s; }
.delay-3 { transition-delay:.3s; }
.delay-4 { transition-delay:.4s; }

/* ══════════════════════════════
   MOBILE GLOBAL FIXES
══════════════════════════════ */
@media (max-width:480px) {
  .about-quals { grid-template-columns:1fr; }
  .stats-band { padding:48px 0; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); gap:8px; }
  .process-grid { grid-template-columns:1fr; gap:28px; }
  .process-grid::before { display:none; }
  .exp-grid { grid-template-columns:1fr; }
}