/* Nav popups: centered under the tab with a caret pointing up at it */
@media (min-width: 1200px) {
  .td_nav .td_nav_list > li > ul {
    left: 50%;
    transform: translateX(-50%);
  }
  .td_nav .td_nav_list > li > ul::before {
    content: "";
    position: absolute;
    bottom: calc(100% - 1px);
    left: 50%;
    width: 44px;
    height: 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 16'%3E%3Cpath d='M0 0H44C35 0 29.5 3 25.6 9.2L23.8 12.2Q22 15 20.2 12.2L18.4 9.2C14.5 3 9 0 0 0Z' fill='%23fff'/%3E%3C/svg%3E") no-repeat center/100% 100%;
    transform: translateX(-50%) scaleY(-1);
  }
}

/* Header: slimmer when stuck to the top */
.td_site_header.td_gescout_sticky .td_main_header_in {
  height: 74px;
  transition: height 0.3s ease;
}
.td_site_header.td_gescout_sticky .td_site_branding img {
  height: 54px !important;
  transition: height 0.3s ease;
}

/* Header: the centered nav is absolutely positioned, so make room for it
   on narrower desktops instead of letting it slide under the side items */
.td_site_header.td_style_1.td_type_3 .td_header_phone {
  display: flex;
}
/* Desktop: three tabs either side of the logo. The two lists share one grid
   track width, so the logo sits at the exact page centre even though the
   labels differ in length. Connect moves out of the list into a button. */
.iq_header_cta {
  display: none;
}
@media (min-width: 1200px) {
  .td_main_header .container-fluid {
    padding-right: 40px;
    padding-left: 40px;
  }
  .td_site_header.td_style_1.td_type_3 .td_nav_list_wrap_in {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 40px;
  }
  .td_site_header.td_style_1.td_type_3 .td_nav_list_wrap_in > .td_nav_list:first-child {
    justify-content: flex-end;
  }
  .td_site_header.td_style_1.td_type_3 .td_nav .td_nav_list > li {
    margin-right: 22px;
  }
  .td_site_header.td_style_1.td_type_3 .td_nav .td_nav_list > li:last-child,
  .td_site_header.td_style_1.td_type_3 .td_nav .td_nav_list > li:nth-last-child(2):has(+ .iq_nav_connect) {
    margin-right: 0;
  }
  .td_nav .td_nav_list > li.iq_nav_connect {
    display: none;
  }
  .td_site_header.td_style_1.td_type_3 .iq_header_cta {
    display: inline-flex;
    align-items: center;
    padding: 9px 24px;
    border-radius: 40px;
    font-weight: 600;
    color: var(--heading-color);
    background-color: var(--accent-gold);
    white-space: nowrap;
    transition: all 0.3s ease;
  }
  .td_site_header.td_style_1.td_type_3 .iq_header_cta:hover {
    color: var(--heading-color);
    background-color: #fff;
  }
}
@media (min-width: 1200px) and (max-width: 1439px) {
  .td_main_header .container-fluid {
    padding-right: 20px;
    padding-left: 20px;
  }
  .td_site_header.td_style_1.td_type_3 .td_nav_list_wrap_in {
    gap: 24px;
  }
  .td_site_header.td_style_1.td_type_3 .td_nav .td_nav_list > li {
    margin-right: 16px;
  }
  .td_site_header.td_style_1.td_type_3 .td_main_header_right {
    gap: 16px;
  }
}
/* Socials and phone drop out before they crowd the nav; the phone sits
   beside the Connect button, so it needs the wider screen */
@media (max-width: 1599px) {
  .td_site_header.td_style_1.td_type_3 .td_header_social_btns {
    display: none;
  }
}
@media (max-width: 1799px) {
  .td_site_header.td_style_1.td_type_3 .td_header_phone {
    display: none;
  }
}
@media (min-width: 1200px) and (max-width: 1299px) {
  .td_site_header.td_style_1.td_type_3 .td_nav_list_wrap_in {
    gap: 16px;
  }
  .td_site_header.td_style_1.td_type_3 .td_nav .td_nav_list > li {
    margin-right: 12px;
  }
  .td_site_header.td_style_1.td_type_3 .td_nav .td_nav_list > li > a {
    font-size: 15px;
  }
  .td_site_header.td_style_1.td_type_3 .iq_header_cta {
    padding: 8px 18px;
  }
}

/* "Start Your Journey" band shown above the footer on every page */
.td_journey_cta {
  position: relative;
  z-index: 2;
  margin-bottom: -110px;
  padding-top: 100px;
}
.td_journey_cta_in {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
  padding: 64px 70px;
  border-radius: 32px;
  overflow: hidden;
  color: #fff;
  box-shadow: 0 30px 60px -20px rgba(46, 20, 6, 0.45);
}
.td_journey_cta_in::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(100deg, rgba(122, 52, 16, 0.96) 0%, rgba(122, 52, 16, 0.82) 45%, rgba(196, 128, 41, 0.45) 100%);
}
.td_journey_cta_bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.05);
  transition: transform 6s ease;
}
.td_journey_cta_in:hover .td_journey_cta_bg {
  transform: scale(1.12);
}
.td_journey_cta_eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  padding: 6px 16px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent-gold);
  background-color: rgba(255, 255, 255, 0.12);
}
.td_journey_cta_text h2 {
  margin: 0;
  color: #fff;
  font-size: 46px;
  line-height: 1.15;
}
.td_journey_cta_text h2 em {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  color: var(--accent-gold);
}
.td_journey_cta_btns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.td_journey_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 30px;
  border-radius: 40px;
  font-weight: 600;
  transition: all 0.3s ease;
}
.td_journey_btn_solid {
  color: var(--heading-color);
  background-color: var(--accent-gold);
}
.td_journey_btn_solid:hover {
  color: var(--heading-color);
  background-color: #fff;
  transform: translateY(-2px);
}
.td_journey_btn_solid i {
  transition: transform 0.3s ease;
}
.td_journey_btn_solid:hover i {
  transform: translateX(4px);
}
.td_journey_btn_ghost {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(6px);
}
.td_journey_btn_ghost:hover {
  color: var(--accent-color);
  background-color: #fff;
}
@media (max-width: 991px) {
  .td_journey_cta_in {
    padding: 44px 28px;
    border-radius: 24px;
  }
  .td_journey_cta_text h2 {
    font-size: 32px;
  }
}

/* Footer */
.td_footer.td_itqan_footer {
  padding-top: 170px;
  background: radial-gradient(circle at 85% 0%, rgba(196, 128, 41, 0.18), transparent 45%), #1d0a03;
}
.td_itqan_footer .td_footer_text_widget p {
  margin: 22px 0 26px;
  opacity: 0.75;
}
.td_itqan_footer .td_footer_address_widget li {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}
.td_itqan_footer .td_footer_address_widget i {
  margin-top: 5px;
  color: var(--accent-gold);
}
.td_itqan_footer .td_footer_widget_menu a:hover,
.td_itqan_footer .td_footer_address_widget a:hover {
  color: var(--accent-gold);
}
.td_itqan_footer .td_footer_social_btns a:hover {
  color: var(--heading-color);
  background-color: var(--accent-gold);
  border-color: var(--accent-gold);
}

/* Floating WhatsApp button */
.td_whatsapp_float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  font-size: 30px;
  color: #fff;
  background-color: #25d366;
  box-shadow: 0 10px 30px rgba(37, 211, 102, 0.45);
  transition: transform 0.3s ease;
}
.td_whatsapp_float::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid #25d366;
  animation: td_wa_pulse 2.4s ease-out infinite;
}
.td_whatsapp_float:hover {
  color: #fff;
  transform: scale(1.08);
}
.td_whatsapp_float_bubble {
  position: absolute;
  right: calc(100% + 14px);
  white-space: nowrap;
  padding: 10px 16px;
  border-radius: 14px 14px 4px 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--heading-color);
  background-color: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  opacity: 0;
  transform: translateX(8px);
  pointer-events: none;
  transition: all 0.3s ease;
}
.td_whatsapp_float:hover .td_whatsapp_float_bubble,
.td_whatsapp_float.td_bubble_on .td_whatsapp_float_bubble {
  opacity: 1;
  transform: translateX(0);
}
@keyframes td_wa_pulse {
  0% { transform: scale(1); opacity: 0.8; }
  100% { transform: scale(1.6); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .td_whatsapp_float::before { animation: none; }
}

/* Small toast, e.g. "Arabic version coming soon" */
.td_toast {
  position: fixed;
  left: 50%;
  bottom: 30px;
  z-index: 1000;
  padding: 14px 26px;
  border-radius: 40px;
  font-weight: 600;
  color: #fff;
  background-color: var(--heading-color);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
  opacity: 0;
  transform: translate(-50%, 20px);
  pointer-events: none;
  transition: all 0.35s ease;
}
.td_toast.td_toast_show {
  opacity: 1;
  transform: translate(-50%, 0);
}
@media (max-width: 767px) {
  .td_whatsapp_float {
    right: 16px;
    bottom: 16px;
    width: 50px;
    height: 50px;
    font-size: 26px;
  }
  .td_scrollup {
    right: 16px;
    bottom: 78px;
    width: 50px;
    height: 50px;
  }
  .td_whatsapp_float_bubble {
    display: none;
  }
}

/* ==========================================================
   Itqan page sections (iq_*)
   ========================================================== */
.iq_section {
  padding: 120px 0;
}
@media (max-width: 991px) {
  .iq_section {
    padding: 80px 0;
  }
}
.iq_eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-light);
}
.iq_eyebrow::before {
  content: "";
  width: 28px;
  height: 2px;
  background-color: currentColor;
}
.iq_eyebrow_light {
  color: var(--accent-gold);
}
.iq_title {
  margin-bottom: 20px;
  font-size: 50px;
  line-height: 1.12;
}
.iq_title em,
.iq_life_text h2 em {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  color: var(--accent-light);
}
.iq_title_light {
  color: #fff;
}
.iq_title_light em {
  color: var(--accent-gold);
}
@media (max-width: 991px) {
  .iq_title {
    font-size: 36px;
  }
}
.iq_lead {
  font-size: 18px;
  line-height: 1.7;
}
.iq_heading_center {
  max-width: 720px;
  margin: 0 auto 56px;
  text-align: center;
}
.iq_heading_split {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.iq_heading_split .iq_title {
  margin-bottom: 0;
}

/* Buttons */
.iq_btn_row {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
  margin-top: 34px;
}
.iq_btn_row_center {
  justify-content: center;
  margin-top: 56px;
}
.iq_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 30px;
  border-radius: 40px;
  font-weight: 600;
  transition: all 0.3s ease;
}
.iq_btn i {
  transition: transform 0.3s ease;
}
.iq_btn:hover i {
  transform: translateX(4px);
}
.iq_btn_primary {
  color: #fff;
  background-image: var(--accent-gradient);
  box-shadow: 0 12px 30px -10px rgba(122, 52, 16, 0.6);
}
.iq_btn_primary:hover {
  color: #fff;
  transform: translateY(-2px);
}
.iq_btn_gold {
  color: var(--heading-color);
  background-color: var(--accent-gold);
}
.iq_btn_gold:hover {
  color: var(--heading-color);
  background-color: #fff;
}
.iq_btn_outline {
  color: var(--accent-color);
  border: 1px solid var(--accent-color);
}
.iq_btn_outline:hover {
  color: #fff;
  background-color: var(--accent-color);
}
.iq_btn_outline_light {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.5);
}
.iq_btn_outline_light:hover {
  color: var(--accent-color);
  background-color: #fff;
}
.iq_btn_link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-weight: 600;
  color: var(--heading-color);
}
.iq_btn_link span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  font-size: 14px;
  color: #fff;
  background-color: var(--accent-light);
  box-shadow: 0 0 0 8px rgba(173, 104, 32, 0.15);
  transition: box-shadow 0.3s ease;
}
.iq_btn_link:hover span {
  box-shadow: 0 0 0 12px rgba(173, 104, 32, 0.2);
}
.iq_btn_link_light {
  color: #fff;
}
.iq_btn_link_light:hover {
  color: var(--accent-gold);
}
.iq_btn_link_light span {
  color: var(--heading-color);
  background-color: var(--accent-gold);
  box-shadow: 0 0 0 8px rgba(241, 182, 58, 0.25);
}

/* Welcome */
.iq_collage {
  position: relative;
  padding: 0 90px 70px 0;
}
.iq_collage_main {
  width: 100%;
  aspect-ratio: 4 / 3.4;
  object-fit: cover;
  border-radius: 28px;
}
.iq_collage_side {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 46%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 24px;
  border: 8px solid #fff;
  box-shadow: 0 20px 50px -15px rgba(46, 20, 6, 0.35);
}
.iq_collage_badge {
  position: absolute;
  left: -20px;
  bottom: 30px;
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 300px;
  padding: 14px 18px;
  border-radius: 18px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--heading-color);
  background-color: #fff;
  box-shadow: 0 20px 40px -10px rgba(46, 20, 6, 0.25);
  animation: iq_float 5s ease-in-out infinite;
}
.iq_collage_badge img {
  width: 92px;
  flex: none;
}
.iq_collage .iq_play_btn {
  position: absolute;
  top: 40%;
  left: 42%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  font-size: 22px;
  color: var(--accent-color);
  background-color: rgba(255, 255, 255, 0.92);
  box-shadow: 0 0 0 14px rgba(255, 255, 255, 0.3);
  transition: transform 0.3s ease;
}
.iq_collage .iq_play_btn:hover {
  transform: translate(-50%, -50%) scale(1.08);
}
@keyframes iq_float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@media (max-width: 575px) {
  .iq_collage {
    padding: 0 40px 50px 0;
  }
  .iq_collage_badge {
    left: 0;
    bottom: -10px;
    max-width: 240px;
    font-size: 12px;
  }
  .iq_collage_badge img {
    width: 64px;
  }
}
.iq_checklist {
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}
.iq_checklist li {
  display: flex;
  gap: 12px;
  margin-bottom: 14px;
  font-size: 17px;
  color: var(--heading-color);
}
.iq_checklist i {
  margin-top: 4px;
  color: var(--accent-light);
}

/* Highlights strip */
.iq_highlights_in {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-radius: 24px;
  background-image: var(--accent-gradient);
  box-shadow: 0 30px 60px -25px rgba(122, 52, 16, 0.7);
  overflow: hidden;
}
.iq_highlight {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 34px 28px;
  color: #fff;
}
.iq_highlight + .iq_highlight {
  border-left: 1px solid rgba(255, 255, 255, 0.15);
}
.iq_highlight i {
  font-size: 34px;
  color: var(--accent-gold);
}
.iq_highlight strong {
  display: block;
  font-size: 19px;
  line-height: 1.3;
}
.iq_highlight span {
  font-size: 14px;
  opacity: 0.8;
}
@media (max-width: 1199px) {
  .iq_highlights_in {
    grid-template-columns: repeat(2, 1fr);
  }
  .iq_highlight:nth-child(3) {
    border-left: none;
  }
  .iq_highlight:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }
}
@media (max-width: 575px) {
  .iq_highlights_in {
    grid-template-columns: 1fr;
  }
  .iq_highlight + .iq_highlight {
    border-left: none;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }
}

/* Cambridge Centre band under the highlights */
.iq_cambridge {
  padding-top: 80px;
}
.iq_cambridge_in {
  display: flex;
  align-items: center;
  gap: 48px;
  padding: 40px 48px;
  border-radius: 28px;
  background-color: #fff7e6;
  border: 1px solid rgba(241, 182, 58, 0.5);
}
.iq_cambridge_logo {
  flex: none;
  width: 220px;
  padding: 18px 22px;
  border-radius: 20px;
  background-color: #fff;
  box-shadow: 0 20px 40px -24px rgba(122, 52, 16, 0.45);
}
.iq_cambridge_text {
  flex: 1;
}
.iq_cambridge_text .iq_title {
  margin-bottom: 12px;
  font-size: 38px;
}
.iq_cambridge_text p:last-child {
  margin: 0;
  font-size: 17px;
}
.iq_cambridge_in > .iq_btn {
  flex: none;
}
@media (max-width: 991px) {
  .iq_cambridge_in {
    flex-direction: column;
    gap: 28px;
    padding: 36px 28px;
    text-align: center;
  }
  .iq_cambridge_text .iq_title {
    font-size: 30px;
  }
}

/* Programmes: expanding panels */
.iq_programme_row {
  display: flex;
  gap: 16px;
  height: 540px;
}
.iq_programme {
  position: relative;
  flex: 1;
  min-width: 0;
  border-radius: 26px;
  overflow: hidden;
  color: #fff;
  transition: flex 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.iq_programme.iq_active {
  flex: 2.6;
}
.iq_programme img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}
.iq_programme:hover img {
  transform: scale(1.05);
}
.iq_programme::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(46, 20, 6, 0) 30%, rgba(46, 20, 6, 0.92) 100%);
}
.iq_programme_info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 30px;
}
.iq_programme_num {
  display: inline-block;
  margin-bottom: 10px;
  font-family: Georgia, serif;
  font-size: 18px;
  font-style: italic;
  color: var(--accent-gold);
}
.iq_programme h3 {
  margin: 0;
  font-size: 21px;
  line-height: 1.25;
  color: #fff;
  transition: font-size 0.4s ease;
}
.iq_programme.iq_active h3 {
  font-size: 28px;
}
.iq_programme p,
.iq_programme_more {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.5s ease;
}
.iq_programme p {
  color: #fff;
}
.iq_programme.iq_active p {
  max-width: 460px;
  max-height: 140px;
  margin: 12px 0 0;
  opacity: 0.9;
}
.iq_programme.iq_active .iq_programme_more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-height: 60px;
  margin-top: 18px;
  padding: 11px 24px;
  border-radius: 40px;
  font-weight: 600;
  color: var(--heading-color);
  background-color: var(--accent-gold);
  opacity: 1;
}
.iq_programme.iq_active:hover .iq_programme_more {
  color: #fff;
  background-color: var(--accent-color);
}
.iq_programme.iq_active .iq_programme_more i {
  transition: transform 0.3s ease;
}
.iq_programme.iq_active:hover .iq_programme_more i {
  transform: translateX(4px);
}
@media (max-width: 991px) {
  .iq_programme_row {
    flex-direction: column;
    height: auto;
  }
  .iq_programme,
  .iq_programme.iq_active {
    height: 360px;
    flex: none;
  }
  .iq_programme p,
  .iq_programme_more {
    max-height: none;
    opacity: 0.9;
    margin-top: 10px;
  }
  .iq_programme .iq_programme_more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    padding: 10px 22px;
    border-radius: 40px;
    font-weight: 600;
    color: var(--heading-color);
    background-color: var(--accent-gold);
    opacity: 1;
  }
}

/* Life at Itqan video band */
.iq_life {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 680px;
  padding: 100px 0;
  overflow: hidden;
  color: #fff;
  background: #2e1406 url("../video/life_poster.jpg") center / cover;
}
.iq_life_video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.iq_life::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(29, 10, 3, 0.88) 0%, rgba(29, 10, 3, 0.55) 50%, rgba(29, 10, 3, 0.1) 100%);
}
.iq_life .container {
  position: relative;
  z-index: 1;
}
.iq_life_text {
  max-width: 560px;
}
.iq_life_text h2 {
  font-size: 54px;
  line-height: 1.1;
  color: #fff;
}
.iq_life_text h2 em {
  color: var(--accent-gold);
}
.iq_life_text > p {
  font-size: 18px;
  opacity: 0.9;
}
.iq_chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 26px 0 36px;
  padding: 0;
  list-style: none;
}
.iq_chips li {
  padding: 8px 18px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background-color: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(6px);
}
@media (max-width: 767px) {
  .iq_life {
    min-height: 560px;
  }
  .iq_life_text h2 {
    font-size: 36px;
  }
}

/* Why Itqan */
.iq_why {
  background-color: #fbf6ef;
}
.iq_why_sticky {
  position: sticky;
  top: 110px;
}
.iq_why_img img {
  width: 100%;
  margin-top: 16px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 24px;
}
.iq_why_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}
.iq_why_card {
  padding: 34px 30px;
  border-radius: 24px;
  background-color: #fff;
  border: 1px solid rgba(122, 52, 16, 0.08);
  transition: all 0.35s ease;
}
.iq_why_card:hover {
  transform: translateY(-6px);
  box-shadow: 0 25px 50px -20px rgba(122, 52, 16, 0.35);
}
.iq_why_card_wide {
  grid-column: span 2;
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.iq_why_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 62px;
  height: 62px;
  margin-bottom: 20px;
  border-radius: 18px;
  font-size: 26px;
  color: #fff;
  background-image: var(--accent-gradient);
  transition: transform 0.35s ease;
}
.iq_why_card:hover .iq_why_icon {
  transform: rotate(-8deg) scale(1.06);
}
.iq_why_card h3 {
  margin-bottom: 10px;
  font-size: 22px;
}
.iq_why_card p {
  margin: 0;
}
@media (max-width: 767px) {
  .iq_why_grid {
    grid-template-columns: 1fr;
  }
  .iq_why_card_wide {
    grid-column: auto;
    display: block;
  }
}

/* Enrolment steps */
.iq_steps {
  position: relative;
  color: #fff;
  background: radial-gradient(circle at 15% 0%, rgba(241, 182, 58, 0.18), transparent 40%), linear-gradient(135deg, #3a1708 0%, #1d0a03 100%);
}
.iq_steps_row {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
.iq_steps_row::before {
  content: "";
  position: absolute;
  top: 44px;
  left: 12%;
  right: 12%;
  border-top: 2px dashed rgba(241, 182, 58, 0.4);
}
.iq_steps_row li {
  position: relative;
  padding: 0 10px;
  text-align: center;
}
.iq_steps_row i {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  margin: 0 auto 24px;
  border-radius: 50%;
  font-size: 30px;
  color: var(--heading-color);
  background-color: var(--accent-gold);
  box-shadow: 0 0 0 10px rgba(241, 182, 58, 0.15);
  transition: transform 0.35s ease;
}
.iq_steps_row li:hover i {
  transform: translateY(-6px);
}
.iq_step_num {
  position: absolute;
  top: -14px;
  left: 50%;
  z-index: 1;
  margin-left: 22px;
  padding: 2px 10px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background-color: var(--accent-color);
}
.iq_steps_row h3 {
  font-size: 21px;
  color: #fff;
}
.iq_steps_row p {
  margin: 0;
  opacity: 0.75;
}
@media (max-width: 991px) {
  .iq_steps_row {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 50px;
  }
  .iq_steps_row::before {
    display: none;
  }
}
@media (max-width: 575px) {
  .iq_steps_row {
    grid-template-columns: 1fr;
  }
}

/* Gallery marquee */
.iq_gallery_strip {
  padding-bottom: 100px;
  overflow: hidden;
}
.iq_marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.iq_marquee_track {
  display: flex;
  gap: 20px;
  width: max-content;
  animation: iq_marquee 60s linear infinite;
}
.iq_marquee:hover .iq_marquee_track {
  animation-play-state: paused;
}
.iq_marquee_track img {
  width: 380px;
  height: 270px;
  object-fit: cover;
  border-radius: 22px;
  transition: transform 0.4s ease;
}
.iq_marquee_track img:nth-child(even) {
  margin-top: 36px;
}
.iq_marquee_track img:hover {
  transform: scale(1.03);
}
@keyframes iq_marquee {
  to { transform: translateX(-50%); }
}
@media (max-width: 767px) {
  .iq_marquee_track img {
    width: 260px;
    height: 190px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .iq_marquee_track,
  .iq_collage_badge { animation: none; }
}

/* Leadership */
.iq_leaders {
  padding-top: 40px;
}
.iq_leader {
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  background-color: #f3ece4;
}
.iq_leader img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: top;
  transition: transform 0.6s ease;
}
.iq_leader:hover img {
  transform: scale(1.04);
}
.iq_leader_info {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  padding: 18px 22px;
  border-radius: 18px;
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
}
.iq_leader_info h3 {
  margin: 0;
  font-size: 22px;
}
.iq_leader_info span {
  font-weight: 600;
  color: var(--accent-light);
}
.iq_leader_link {
  position: absolute;
  top: 18px;
  left: 18px;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 8px 16px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background-color: var(--accent-color);
}
.iq_leader_link:hover {
  color: var(--heading-color);
  background-color: var(--accent-gold);
}

/* Parent quick links */
.iq_quick {
  padding-bottom: 20px;
}
.iq_quick_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.iq_quick_tile {
  display: block;
  padding: 30px 26px;
  border-radius: 22px;
  border: 1px solid rgba(122, 52, 16, 0.12);
  color: var(--body-color);
  transition: all 0.35s ease;
}
.iq_quick_tile i {
  margin-bottom: 18px;
  font-size: 30px;
  color: var(--accent-light);
}
.iq_quick_tile h3 {
  margin-bottom: 6px;
  font-size: 20px;
}
.iq_quick_tile p {
  margin: 0;
  font-size: 15px;
}
.iq_quick_tile:hover {
  border-color: transparent;
  color: rgba(255, 255, 255, 0.85);
  background-image: var(--accent-gradient);
  transform: translateY(-6px);
}
.iq_quick_tile:hover h3,
.iq_quick_tile:hover i {
  color: #fff;
}
@media (max-width: 991px) {
  .iq_quick_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .iq_quick_grid {
    grid-template-columns: 1fr;
  }
}

/* Local-video lightbox */
.iq_lightbox {
  position: fixed;
  inset: 0;
  z-index: 1001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background-color: rgba(15, 5, 1, 0.88);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.iq_lightbox.iq_open {
  opacity: 1;
  visibility: visible;
}
.iq_lightbox video,
.iq_lightbox img {
  max-width: min(1100px, 100%);
  max-height: 86vh;
  border-radius: 18px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
}
.iq_lightbox_close {
  position: absolute;
  top: 20px;
  right: 24px;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  font-size: 22px;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.12);
}
.iq_lightbox_close:hover {
  background-color: var(--accent-color);
}

/* Campus picker: asks Muthaiga or South C before opening a page */
.iq_campus_picker {
  position: fixed;
  inset: 0;
  z-index: 1001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background-color: rgba(15, 5, 1, 0.75);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.iq_campus_picker.iq_open {
  opacity: 1;
  visibility: visible;
}
.iq_campus_picker_box {
  position: relative;
  width: min(560px, 100%);
  padding: 44px 40px 36px;
  border-radius: 28px;
  background-color: #fff;
  text-align: center;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4);
  transform: translateY(16px);
  transition: transform 0.3s ease;
}
.iq_campus_picker.iq_open .iq_campus_picker_box {
  transform: none;
}
.iq_campus_picker_close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  color: var(--heading-color);
  background-color: #f3ece4;
}
.iq_campus_picker_close:hover {
  color: #fff;
  background-color: var(--accent-color);
}
.iq_campus_picker_title {
  margin-bottom: 26px;
  font-size: 34px;
}
.iq_campus_picker_options {
  display: grid;
  gap: 14px;
}
.iq_campus_picker_options a {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 22px;
  border-radius: 18px;
  border: 1px solid rgba(122, 52, 16, 0.15);
  color: var(--heading-color);
  text-align: left;
  transition: all 0.3s ease;
}
.iq_campus_picker_options a:hover,
.iq_campus_picker_options a:focus-visible {
  border-color: var(--accent-color);
  background-color: #fff7e6;
}
.iq_campus_picker_options i {
  font-size: 24px;
  color: var(--accent-light);
}
.iq_campus_picker_options strong {
  display: block;
  font-size: 19px;
}
.iq_campus_picker_options small {
  display: block;
  font-size: 14px;
  opacity: 0.75;
}

/* ==========================================================
   Inner pages
   ========================================================== */
.iq_page_hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 460px;
  margin-top: 90px;
  padding: 90px 0 80px;
  overflow: hidden;
  color: #fff;
  background-color: var(--heading-color);
}
.iq_page_hero > img,
.iq_page_hero > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: iq_kenburns 18s ease-out both;
}
.iq_page_hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(29, 10, 3, 0.55) 0%, rgba(29, 10, 3, 0.35) 40%, rgba(29, 10, 3, 0.9) 100%);
}
.iq_page_hero .container {
  position: relative;
  z-index: 1;
}
.iq_page_hero h1 {
  max-width: 820px;
  margin: 0 0 14px;
  font-size: 64px;
  line-height: 1.08;
  color: #fff;
}
.iq_page_hero h1 em {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--accent-gold);
}
.iq_page_hero p {
  max-width: 640px;
  margin: 0;
  font-size: 19px;
  opacity: 0.9;
}
.iq_breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.iq_breadcrumb li + li::before {
  content: "/";
  margin-right: 8px;
  opacity: 0.5;
}
.iq_breadcrumb a {
  color: var(--accent-gold);
}
.iq_breadcrumb a:hover {
  color: #fff;
}
@keyframes iq_kenburns {
  from { transform: scale(1.12); }
  to { transform: scale(1); }
}
@media (max-width: 767px) {
  .iq_page_hero {
    min-height: 380px;
    padding: 70px 0 56px;
  }
  .iq_page_hero h1 {
    font-size: 40px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .iq_page_hero > img { animation: none; }
}

/* In-page anchor nav (sticky) */
.iq_subnav {
  position: sticky;
  top: 0;
  z-index: 50;
  background-color: #fff;
  border-bottom: 1px solid rgba(122, 52, 16, 0.1);
  box-shadow: 0 10px 30px -20px rgba(46, 20, 6, 0.3);
}
.iq_subnav ul {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 14px 0;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: none;
}
.iq_subnav a {
  display: block;
  padding: 9px 20px;
  border-radius: 30px;
  font-weight: 600;
  white-space: nowrap;
  color: var(--heading-color);
  transition: all 0.3s ease;
}
.iq_subnav a:hover,
.iq_subnav a.iq_current {
  color: #fff;
  background-color: var(--accent-color);
}

/* Split content block: image + text */
.iq_split + .iq_split {
  margin-top: 110px;
}
.iq_split_img {
  position: relative;
}
.iq_split_img img {
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  border-radius: 28px;
}
.iq_split_img .iq_split_tag {
  position: absolute;
  right: 20px;
  bottom: 20px;
  padding: 10px 18px;
  border-radius: 14px;
  font-weight: 700;
  color: var(--heading-color);
  background-color: var(--accent-gold);
}
@media (max-width: 991px) {
  .iq_split + .iq_split {
    margin-top: 70px;
  }
}
.iq_bg_soft {
  background-color: #fbf6ef;
}

/* Vision / mission cards */
.iq_vm_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.iq_vm_card {
  position: relative;
  padding: 44px 40px;
  border-radius: 28px;
  overflow: hidden;
  color: #fff;
  background-image: var(--accent-gradient);
}
.iq_vm_card:nth-child(2) {
  background: linear-gradient(135deg, #3a1708 0%, #1d0a03 100%);
}
.iq_vm_card > i {
  position: absolute;
  right: -10px;
  bottom: -20px;
  font-size: 150px;
  opacity: 0.08;
}
.iq_vm_card h3 {
  margin-bottom: 14px;
  font-size: 15px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-gold);
}
.iq_vm_card p {
  margin: 0;
  font-size: 26px;
  line-height: 1.35;
  font-weight: 600;
}
@media (max-width: 767px) {
  .iq_vm_grid {
    grid-template-columns: 1fr;
  }
  .iq_vm_card p {
    font-size: 21px;
  }
}

/* Core values */
.iq_values {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.iq_value {
  padding: 40px;
  border-radius: 28px;
  background-color: #fff;
  border: 1px solid rgba(122, 52, 16, 0.1);
}
.iq_value_head {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
}
.iq_value_head span {
  font-family: Georgia, serif;
  font-size: 46px;
  font-style: italic;
  line-height: 1;
  color: var(--accent-gold);
}
.iq_value_head h3 {
  margin: 0;
  font-size: 26px;
}
.iq_value_head small {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--accent-light);
}
.iq_value blockquote {
  margin: 0;
  padding-left: 20px;
  border-left: 3px solid var(--accent-gold);
  font-size: 17px;
  font-style: italic;
  line-height: 1.7;
}
@media (max-width: 991px) {
  .iq_values {
    grid-template-columns: 1fr;
  }
}

/* Timeline */
.iq_timeline {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.iq_timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: linear-gradient(180deg, var(--accent-gold), var(--accent-color));
}
.iq_timeline li {
  position: relative;
  width: 50%;
  padding: 0 56px 56px 0;
  text-align: right;
}
.iq_timeline li:nth-child(even) {
  margin-left: 50%;
  padding: 0 0 56px 56px;
  text-align: left;
}
.iq_timeline li::before {
  content: "";
  position: absolute;
  top: 8px;
  right: -11px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 5px solid #fff;
  background-color: var(--accent-light);
  box-shadow: 0 0 0 3px var(--accent-gold);
}
.iq_timeline li:nth-child(even)::before {
  right: auto;
  left: -11px;
}
.iq_timeline_year {
  display: inline-block;
  margin-bottom: 10px;
  padding: 4px 16px;
  border-radius: 20px;
  font-weight: 700;
  color: #fff;
  background-color: var(--accent-color);
}
.iq_timeline h3 {
  margin-bottom: 8px;
  font-size: 22px;
}
.iq_timeline p {
  margin: 0;
}
@media (max-width: 767px) {
  .iq_timeline::before {
    left: 10px;
  }
  .iq_timeline li,
  .iq_timeline li:nth-child(even) {
    width: 100%;
    margin-left: 0;
    padding: 0 0 44px 44px;
    text-align: left;
  }
  .iq_timeline li::before,
  .iq_timeline li:nth-child(even)::before {
    left: -1px;
    right: auto;
  }
}

/* Letter (Principal's welcome) */
.iq_letter {
  position: relative;
  padding: 60px 64px;
  border-radius: 30px;
  background-color: #fff;
  box-shadow: 0 40px 80px -40px rgba(46, 20, 6, 0.35);
}
.iq_letter::before {
  content: "\201C";
  position: absolute;
  top: -10px;
  right: 40px;
  font-family: Georgia, serif;
  font-size: 200px;
  line-height: 1;
  color: var(--accent-gold);
  opacity: 0.3;
}
.iq_letter p {
  font-size: 18px;
  line-height: 1.85;
}
.iq_letter .iq_letter_greeting {
  font-family: Georgia, serif;
  font-size: 24px;
  font-style: italic;
  color: var(--accent-color);
}
.iq_letter_sign {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid rgba(122, 52, 16, 0.12);
}
.iq_letter_sign img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
}
.iq_letter_sign strong {
  display: block;
  font-size: 20px;
  color: var(--heading-color);
}
.iq_portrait {
  position: sticky;
  top: 110px;
}
.iq_portrait img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: top;
  border-radius: 30px;
}
@media (max-width: 767px) {
  .iq_letter {
    padding: 40px 26px;
  }
}

/* Generic feature cards */
.iq_cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.iq_cards_4 {
  grid-template-columns: repeat(4, 1fr);
}
.iq_cards_2 {
  grid-template-columns: repeat(2, 1fr);
}
.iq_card {
  height: 100%;
  padding: 34px 30px;
  border-radius: 24px;
  background-color: #fff;
  border: 1px solid rgba(122, 52, 16, 0.1);
  transition: all 0.35s ease;
}
.iq_card:hover {
  transform: translateY(-6px);
  box-shadow: 0 25px 50px -20px rgba(122, 52, 16, 0.35);
}
.iq_card h3 {
  margin-bottom: 10px;
  font-size: 22px;
}
.iq_card p {
  margin: 0;
}
.iq_card_img {
  padding: 0;
  overflow: hidden;
}
.iq_card_img img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.iq_card_img:hover img {
  transform: scale(1.05);
}
.iq_card_img .iq_card_body {
  padding: 26px 28px 30px;
}
@media (max-width: 1199px) {
  .iq_cards_4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 991px) {
  .iq_cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .iq_cards,
  .iq_cards_2,
  .iq_cards_4 {
    grid-template-columns: 1fr;
  }
}

/* Learner profile (Muslim Toolbox) */
.iq_profile {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  counter-reset: iq_profile;
}
.iq_profile li {
  position: relative;
  padding: 28px 26px 28px 84px;
  border-radius: 22px;
  list-style: none;
  background-color: #fff;
  border: 1px solid rgba(122, 52, 16, 0.1);
}
.iq_profile li::before {
  counter-increment: iq_profile;
  content: counter(iq_profile);
  position: absolute;
  top: 26px;
  left: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  font-weight: 700;
  color: var(--heading-color);
  background-color: var(--accent-gold);
}
.iq_profile h3 {
  margin-bottom: 4px;
  font-size: 20px;
}
.iq_profile p {
  margin: 0;
  font-size: 15px;
}
@media (max-width: 991px) {
  .iq_profile {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .iq_profile {
    grid-template-columns: 1fr;
  }
}

/* Tabs */
.iq_tabs_nav {
  display: inline-flex;
  gap: 6px;
  margin-bottom: 40px;
  padding: 6px;
  border-radius: 40px;
  background-color: #f3ece4;
}
.iq_tabs_nav button {
  padding: 12px 30px;
  border: none;
  border-radius: 30px;
  font-weight: 700;
  color: var(--heading-color);
  background: transparent;
  transition: all 0.3s ease;
}
.iq_tabs_nav button.iq_current {
  color: #fff;
  background-image: var(--accent-gradient);
  box-shadow: 0 10px 24px -10px rgba(122, 52, 16, 0.7);
}
/* Campus tabs sit above the page's other tabs, so they read a step larger */
.iq_tabs_nav.iq_tabs_campus {
  margin-bottom: 34px;
  background-color: #fff;
  border: 1px solid rgba(122, 52, 16, 0.15);
}
.iq_tabs_campus button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 32px;
  font-size: 18px;
}
.iq_tabs_campus button i {
  color: var(--accent-light);
  transition: color 0.3s ease;
}
.iq_tabs_campus button.iq_current i {
  color: var(--accent-gold);
}
@media (max-width: 575px) {
  .iq_tabs_campus button {
    padding: 12px 18px;
    font-size: 15px;
  }
  .iq_tabs_campus button i {
    display: none;
  }
}
.iq_tab_panel {
  display: none;
  scroll-margin-top: 220px; /* keep the tabs in view when opened via #link */
  animation: iq_fade_up 0.5s ease both;
}
.iq_tab_panel.iq_current {
  display: block;
}
@keyframes iq_fade_up {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
.iq_note {
  display: flex;
  gap: 14px;
  margin-top: 30px;
  padding: 20px 24px;
  border-radius: 18px;
  background-color: #fff7e6;
  border: 1px solid rgba(241, 182, 58, 0.5);
}
.iq_note i {
  margin-top: 4px;
  color: var(--accent-light);
}
.iq_note p {
  margin: 0;
}

/* Forms */
.iq_form_card {
  padding: 50px 48px;
  border-radius: 30px;
  background-color: #fff;
  box-shadow: 0 40px 80px -40px rgba(46, 20, 6, 0.35);
}
.iq_form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 20px;
}
.iq_field_full {
  grid-column: 1 / -1;
}
.iq_form label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--heading-color);
}
.iq_form input,
.iq_form select,
.iq_form textarea {
  width: 100%;
  padding: 14px 18px;
  border-radius: 14px;
  border: 1px solid rgba(122, 52, 16, 0.18);
  background-color: #fdfaf6;
  color: var(--heading-color);
  outline: none;
  transition: all 0.25s ease;
}
.iq_form textarea {
  min-height: 140px;
  resize: vertical;
}
.iq_form input:focus,
.iq_form select:focus,
.iq_form textarea:focus {
  border-color: var(--accent-light);
  background-color: #fff;
  box-shadow: 0 0 0 4px rgba(173, 104, 32, 0.12);
}
.iq_form button {
  border: none;
  cursor: pointer;
}
.iq_form_status {
  grid-column: 1 / -1;
  margin: 0;
  font-weight: 600;
}
.iq_form_status.iq_ok {
  color: #1b7a3c;
}
.iq_form_status.iq_err {
  color: #b42318;
}
@media (max-width: 767px) {
  .iq_form_card {
    padding: 34px 22px;
  }
  .iq_form {
    grid-template-columns: 1fr;
  }
}

/* Contact info cards */
.iq_info_list {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.iq_info_list li {
  display: flex;
  gap: 18px;
  padding: 22px 24px;
  border-radius: 20px;
  background-color: #fff;
  border: 1px solid rgba(122, 52, 16, 0.1);
}
.iq_info_list i {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 50px;
  height: 50px;
  border-radius: 14px;
  font-size: 20px;
  color: #fff;
  background-image: var(--accent-gradient);
}
.iq_info_list strong {
  display: block;
  margin-bottom: 2px;
  color: var(--heading-color);
}
.iq_info_list a {
  color: var(--body-color);
}
.iq_info_list a:hover {
  color: var(--accent-color);
}
.iq_map {
  width: 100%;
  height: 440px;
  border: 0;
  border-radius: 28px;
  filter: sepia(0.25);
}
.iq_map_panel {
  margin-top: 50px;
}
.iq_campus_heading {
  margin-bottom: 6px;
  font-size: 30px;
}

/* Downloads */
.iq_download {
  display: flex;
  gap: 26px;
  align-items: center;
  height: 100%;
  padding: 26px;
  border-radius: 26px;
  background-color: #fff;
  border: 1px solid rgba(122, 52, 16, 0.1);
  transition: all 0.35s ease;
}
.iq_download:hover {
  box-shadow: 0 25px 50px -20px rgba(122, 52, 16, 0.35);
}
.iq_download img {
  width: 140px;
  flex: none;
  border-radius: 14px;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.3);
}
.iq_download h3 {
  margin-bottom: 6px;
  font-size: 22px;
}
.iq_download .iq_btn_row {
  margin-top: 18px;
  gap: 12px;
}
.iq_download .iq_btn {
  padding: 12px 22px;
  font-size: 15px;
}
@media (max-width: 575px) {
  .iq_download {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Gallery */
.iq_filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 40px;
}
.iq_filters button {
  padding: 10px 22px;
  border-radius: 30px;
  border: 1px solid rgba(122, 52, 16, 0.2);
  font-weight: 600;
  color: var(--heading-color);
  background-color: #fff;
  transition: all 0.3s ease;
}
.iq_filters button.iq_current,
.iq_filters button:hover {
  color: #fff;
  border-color: transparent;
  background-image: var(--accent-gradient);
}
.iq_gallery {
  columns: 3 320px;
  column-gap: 18px;
}
.iq_gallery a {
  position: relative;
  display: block;
  margin-bottom: 18px;
  border-radius: 20px;
  overflow: hidden;
  break-inside: avoid;
}
.iq_gallery a.iq_hidden {
  display: none;
}
.iq_gallery img {
  width: 100%;
  transition: transform 0.6s ease;
}
.iq_gallery a::after {
  content: "\f00e";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 26px;
  color: #fff;
  background-color: rgba(122, 52, 16, 0.45);
  opacity: 0;
  transition: opacity 0.35s ease;
}
.iq_gallery a:hover::after {
  opacity: 1;
}
.iq_gallery a:hover img {
  transform: scale(1.05);
}

/* Small stats/facts row */
.iq_facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 30px;
}
.iq_fact {
  padding: 20px;
  border-radius: 18px;
  background-color: #fbf6ef;
}
.iq_fact strong {
  display: block;
  font-size: 18px;
  color: var(--heading-color);
}
.iq_fact span {
  font-size: 14px;
}
@media (max-width: 575px) {
  .iq_facts {
    grid-template-columns: 1fr;
  }
}

/* 404 */
.iq_404 {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 160px 0 100px;
  text-align: center;
}
.iq_404 strong {
  display: block;
  font-size: 160px;
  line-height: 1;
  background-image: var(--accent-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.iq_profile {
  padding: 0;
}
@media (min-width: 576px) {
  .iq_profile.iq_profile_2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Scroll-up button sits above the WhatsApp button, same size, thin border */
.td_scrollup {
  right: 24px;
  bottom: 94px;
  width: 56px;
  height: 56px;
  font-size: 16px;
  color: var(--accent-light);
  background-color: #fff;
  box-shadow: 0 8px 20px -6px rgba(46, 20, 6, 0.3);
}
.td_scrollup::after {
  display: none;
}
.td_scrollup:hover {
  color: #fff;
  background-color: var(--accent-color);
}
/* Scroll progress ring drawn around the button */
.iq_progress {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  pointer-events: none;
}
.iq_progress circle {
  fill: none;
  stroke-width: 2.5;
}
.iq_progress_track {
  stroke: rgba(122, 52, 16, 0.15);
}
.iq_progress_bar {
  stroke: var(--accent-light);
  stroke-linecap: round;
}
.td_scrollup:hover .iq_progress_track {
  stroke: rgba(255, 255, 255, 0.3);
}
.td_scrollup:hover .iq_progress_bar {
  stroke: var(--accent-gold);
}
@media (max-width: 767px) {
  .td_scrollup {
    right: 16px;
    bottom: 78px;
    width: 50px;
    height: 50px;
  }
}

/* Banner starts below the header, which is 80px tall under 1200px */
@media (max-width: 1199px) {
  .iq_page_hero {
    margin-top: 80px;
  }
}

/* Content protection: no text selection or image dragging outside form fields */
body {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
input,
textarea,
select {
  -webkit-user-select: text;
  user-select: text;
}
img,
video {
  -webkit-user-drag: none;
  user-drag: none;
}

/* Homepage video hero starts below the header */
.td_hero.td_style_1.td_hero_extended {
  margin-top: 90px;
  height: calc(100vh - 90px);
  min-height: 640px;
}
@media (max-width: 1199px) {
  .td_hero.td_style_1.td_hero_extended {
    margin-top: 80px;
    height: calc(100vh - 80px);
  }
}
@media (min-width: 992px) {
  .td_hero.td_style_1.td_hero_extended {
    padding-top: 40px;
  }
}

/* Form placeholders and the hidden spam trap */
.iq_form ::placeholder {
  color: rgba(46, 20, 6, 0.4);
}
.iq_hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.iq_form input:not(:placeholder-shown):invalid,
.iq_form textarea:not(:placeholder-shown):invalid {
  border-color: #d92d20;
}

/* Page loader: Itqan emblem in a spinning ring, centred on screen */
.td_preloader.iq_preloader {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 22px;
  background: radial-gradient(circle at 50% 45%, #fff 0%, #fbf6ef 60%, #f3e6d6 100%);
}
.td_preloader.iq_preloader::before {
  display: none;
}
.iq_loader {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 128px;
  height: 128px;
}
.iq_loader img {
  width: 76px;
  height: 76px;
  animation: iq_loader_pulse 1.6s ease-in-out infinite;
}
.iq_loader_ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 3px solid rgba(173, 104, 32, 0.15);
  border-top-color: var(--accent-gold);
  border-right-color: var(--accent-color);
  animation: iq_loader_spin 1s linear infinite;
}
.iq_loader_text {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-color);
  text-align: center;
}
.iq_loader_text span {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  letter-spacing: 0.32em;
  color: var(--accent-light);
}
@keyframes iq_loader_spin {
  to { transform: rotate(360deg); }
}
@keyframes iq_loader_pulse {
  0%, 100% { transform: scale(0.94); opacity: 0.85; }
  50% { transform: scale(1.04); opacity: 1; }
}
