/* ═══════════════════════════════════════════════════════════
   COMPREHENSIVE DESIGN FIXES
   All issues from screenshots addressed
═══════════════════════════════════════════════════════════ */

/* ── 1. SERVICE CARDS — Much bigger, full design ── */
.svc-grid {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 22px !important;
}
.svc {
  padding: 40px 30px !important;
  border-radius: 26px !important;
  min-height: 220px;
}
.svc-icon {
  width: 84px !important;
  height: 84px !important;
  border-radius: 24px !important;
  font-size: 36px !important;
  margin-bottom: 22px !important;
}
.svc h3 {
  font-size: 15px !important;
  font-weight: 800 !important;
  margin-bottom: 10px !important;
}
.svc p {
  font-size: 13px !important;
  line-height: 1.75 !important;
}

/* ── 2. FINDER CARDS (Services page) — bigger icons ── */
.finder-grid {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  max-width: 1000px !important;
}
.finder-card {
  padding: 36px 22px 28px !important;
  border-radius: 22px !important;
}
.finder-icon {
  height: 90px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
}
.finder-icon img {
  width: 80px !important;
  height: 80px !important;
  object-fit: contain !important;
  transition: transform .4s cubic-bezier(.16,1,.3,1) !important;
}
.finder-card:hover .finder-icon img {
  transform: scale(1.2) rotate(-5deg) !important;
}
.finder-card h3 {
  font-size: 14px !important;
  font-weight: 800 !important;
  margin-bottom: 8px !important;
}
.finder-card p {
  font-size: 12.5px !important;
  line-height: 1.65 !important;
}
@media(max-width:768px) {
  .finder-grid { grid-template-columns: 1fr 1fr !important; }
}

/* ── 3. ABOUT IMAGE — full visible, no clipping ── */
.about-grid {
  align-items: stretch !important;
  min-height: 460px;
}
.about-img-wrap {
  height: 100% !important;
  min-height: 460px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  position: relative !important;
}
.about-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  min-height: 460px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* ── 4. UNIVERSITY LOGOS — real logos, no CY logo ── */
.uni-logo-img {
  height: 150px !important;
  background: #fafafa !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
}
.uni-logo-img img {
  max-height: 90px !important;
  max-width: 180px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.uni-logo-card {
  border-radius: 20px !important;
  overflow: hidden !important;
}
.uni-logo-card:hover {
  box-shadow: 0 24px 64px rgba(0,0,0,.1) !important;
  transform: translateY(-8px) !important;
}

/* ── 5. GOOGLE MAP — big interactive ── */
.map-embed-real,
iframe[title*="Consultancy"] {
  width: 100% !important;
  height: 500px !important;
  border-radius: 20px !important;
  border: none !important;
  display: block !important;
  box-shadow: 0 16px 56px rgba(0,0,0,.1) !important;
}

/* ── 6. AOS ANIMATIONS — smooth fly-in effects ── */
[data-aos="fade-right"] {
  opacity: 0;
  transform: translateX(-56px);
  transition: opacity .75s cubic-bezier(.16,1,.3,1),
              transform .75s cubic-bezier(.16,1,.3,1);
}
[data-aos="fade-left"] {
  opacity: 0;
  transform: translateX(56px);
  transition: opacity .75s cubic-bezier(.16,1,.3,1),
              transform .75s cubic-bezier(.16,1,.3,1);
}
[data-aos="fade-up"] {
  opacity: 0;
  transform: translateY(48px);
  transition: opacity .75s cubic-bezier(.16,1,.3,1),
              transform .75s cubic-bezier(.16,1,.3,1);
}
[data-aos="fade-down"] {
  opacity: 0;
  transform: translateY(-48px);
  transition: opacity .75s cubic-bezier(.16,1,.3,1),
              transform .75s cubic-bezier(.16,1,.3,1);
}
[data-aos="zoom-in"] {
  opacity: 0;
  transform: scale(0.8);
  transition: opacity .7s cubic-bezier(.16,1,.3,1),
              transform .7s cubic-bezier(.16,1,.3,1);
}
[data-aos="flip-up"] {
  opacity: 0;
  transform: perspective(500px) rotateX(-22deg) translateY(24px);
  transition: opacity .75s cubic-bezier(.16,1,.3,1),
              transform .75s cubic-bezier(.16,1,.3,1);
}
[data-aos].aos-animate {
  opacity: 1 !important;
  transform: none !important;
}
/* Delay classes */
[data-aos-delay="80"]  { transition-delay: .08s !important; }
[data-aos-delay="100"] { transition-delay: .10s !important; }
[data-aos-delay="120"] { transition-delay: .12s !important; }
[data-aos-delay="150"] { transition-delay: .15s !important; }
[data-aos-delay="160"] { transition-delay: .16s !important; }
[data-aos-delay="200"] { transition-delay: .20s !important; }
[data-aos-delay="240"] { transition-delay: .24s !important; }
[data-aos-delay="250"] { transition-delay: .25s !important; }
[data-aos-delay="300"] { transition-delay: .30s !important; }
[data-aos-delay="320"] { transition-delay: .32s !important; }
[data-aos-delay="350"] { transition-delay: .35s !important; }
[data-aos-delay="400"] { transition-delay: .40s !important; }
[data-aos-delay="480"] { transition-delay: .48s !important; }
[data-aos-delay="500"] { transition-delay: .50s !important; }
[data-aos-delay="560"] { transition-delay: .56s !important; }
[data-aos-delay="600"] { transition-delay: .60s !important; }
[data-aos-delay="640"] { transition-delay: .64s !important; }
[data-aos-delay="720"] { transition-delay: .72s !important; }

/* ── 7. GENERAL SCROLL REVEAL (old .anim classes) ── */
.anim, .anim-l, .anim-r, .anim-s, .anim-blur {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity .7s cubic-bezier(.16,1,.3,1),
              transform .7s cubic-bezier(.16,1,.3,1);
}
.anim.show, .anim-l.show, .anim-r.show,
.anim-s.show, .anim-blur.show {
  opacity: 1 !important;
  transform: none !important;
}
.anim-l { transform: translateX(-50px) !important; }
.anim-r { transform: translateX(50px) !important; }
.anim-s { transform: scale(0.82) !important; }

/* ── 8. SFC CARDS (services page) — bigger ── */
.svc-full-grid {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
  gap: 26px !important;
}
.sfc {
  padding: 36px 30px !important;
  border-radius: 24px !important;
}
.sfc-icon {
  width: 74px !important;
  height: 74px !important;
  font-size: 30px !important;
  border-radius: 22px !important;
  margin-bottom: 20px !important;
}
.sfc h3 {
  font-size: 17px !important;
  margin-bottom: 12px !important;
}
.sfc p {
  font-size: 13.5px !important;
  line-height: 1.8 !important;
}

/* ── 9. DESTINATION CARDS — taller images ── */
.dest-item-img {
  height: 160px !important;
}
.dest-item-img img.dest-flag-img {
  height: 160px !important;
}

/* ── 10. BLOG CARDS — better image sizing ── */
.blog-card {
  grid-template-columns: 260px 1fr !important;
}
.blog-img img {
  height: 220px !important;
  width: 260px !important;
  object-fit: cover !important;
}
@media(max-width:900px) {
  .blog-card { grid-template-columns: 1fr !important; }
  .blog-img img { width: 100% !important; height: 200px !important; }
}

/* ── 11. PAGE HERO — proper dark overlay for readability ── */
.page-hero {
  padding: 120px 24px 70px !important;
}

/* ── 12. ABOUT PAGE — ceo image proper display ── */
.about-hero-grid {
  align-items: stretch !important;
}
.ceo-wrap {
  height: 540px !important;
  min-height: 540px !important;
}
.ceo-wrap img {
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
}
