/* Shared styles for every inner page rendered through <InnerPage>
   (title hero + legacy WordPress/Elementor content + new footer).
   Builds on home-redesign.css; scoped to .iihm-inner.

   The legacy content lives inside .ip-content. Base resets in
   home-redesign.css deliberately skip it (":where(:not(.ip-content *))"),
   so here we only re-skin it to match the new look: type, colours,
   buttons, spacing. */

/* ---- Hero ----------------------------------------------------------------- */
.iihm-inner .ip-hero {
  position: relative; overflow: hidden; color: #fff; display: flex; align-items: center;
  background: linear-gradient(100deg, #0a3c82 0%, #0a3470 50%, #082a5d 100%);
  min-height: clamp(190px, 15vw, 250px);
}
.iihm-inner .ip-hero__photo {
  position: absolute; top: 0; right: 0; bottom: 0; width: 46%;
  background-size: cover; background-position: 55% 40%; opacity: .9;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 55%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 55%);
}
.iihm-inner .ip-hero__grid { position: relative; z-index: 2; padding-top: 36px; padding-bottom: 36px; }
.iihm-inner .ip-hero__copy { max-width: 860px; }
.iihm-inner .ip-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; font-size: 12px; color: rgba(255,255,255,.9); margin-bottom: 16px; }
.iihm-inner .ip-crumbs a:hover { text-decoration: underline; }
.iihm-inner .ip-crumbs span:last-child { max-width: 52ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.iihm-inner .ip-hero h1 {
  font-family: var(--serif); font-weight: 700; color: #fff; text-transform: none; line-height: 1.2;
  font-size: clamp(26px, 3vw, 42px); max-width: 780px;
}
.iihm-inner .ip-hero__by { margin-top: 14px; font-size: 13px; color: rgba(255,255,255,.88); }
.iihm-inner .ip-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.iihm-inner .ip-hero__cta .hm-btn { height: 42px; font-size: 13px; }

/* ---- Content shell ---------------------------------------------------------------- */
.iihm-inner .ip-main { background: #fff; min-height: 240px; }
.iihm-inner .ip-content { color: #2b3a55; font-family: var(--sans); font-size: 15px; line-height: 1.75; }

/* Neutralise the old Astra container so content runs full-width inside the new shell */
.iihm-inner .ip-content .ast-container { max-width: none; width: 100%; margin: 0; padding: 0; display: block; }
.iihm-inner .ip-content #primary,
.iihm-inner .ip-content .site-main,
.iihm-inner .ip-content article { width: 100%; max-width: none; margin: 0; padding: 0; float: none; border: 0; background: none; box-shadow: none; }
.iihm-inner .ip-content .entry-header .entry-title,
.iihm-inner .ip-content .entry-header .entry-meta,
.iihm-inner .ip-content .ast-single-post-order { display: none; }
.iihm-inner .ip-content .entry-header.ast-header-without-markup { display: none; }
.iihm-inner .ip-content .entry-content { margin: 0; }
.iihm-inner .ip-content .ast-article-single { padding: 0 !important; }

/* Text in Elementor text-editor widgets: restore flow spacing the base reset removed elsewhere */
.iihm-inner .ip-content p { margin: 0 0 1.15em; }
.iihm-inner .ip-content ul { list-style: disc; margin: 0 0 1.15em; padding-left: 1.4em; }
.iihm-inner .ip-content ol { list-style: decimal; margin: 0 0 1.15em; padding-left: 1.5em; }
.iihm-inner .ip-content li { margin: 0 0 .4em; }
.iihm-inner .ip-content .elementor-widget-text-editor,
.iihm-inner .ip-content .elementor-widget-text-editor p,
.iihm-inner .ip-content .elementor-widget-text-editor li,
.iihm-inner .ip-content .elementor-widget-container > p {
  font-family: var(--sans) !important; color: #2b3a55; font-size: 15px; line-height: 1.75;
}
.iihm-inner .ip-content .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.iihm-inner .ip-content a { color: #c91623; }
.iihm-inner .ip-content a:hover { color: var(--navy); }
.iihm-inner .ip-content img { max-width: 100%; height: auto; }

/* Headings */
.iihm-inner .ip-content h1, .iihm-inner .ip-content h2, .iihm-inner .ip-content h3, .iihm-inner .ip-content h4 { text-transform: none; letter-spacing: normal; }
.iihm-inner .ip-content .elementor-heading-title,
.iihm-inner .ip-content .elementor-widget-text-editor h2,
.iihm-inner .ip-content .elementor-widget-text-editor h3,
.iihm-inner .ip-content .elementor-widget-text-editor h4,
.iihm-inner .ip-content .entry-content > h2,
.iihm-inner .ip-content .entry-content > h3 {
  font-family: var(--serif) !important; font-weight: 700 !important; color: var(--navy) !important;
  text-transform: none !important; letter-spacing: normal !important; line-height: 1.25 !important;
}
.iihm-inner .ip-content h2.elementor-heading-title { font-size: 24px !important; }
.iihm-inner .ip-content h3.elementor-heading-title { font-size: 20px !important; }
.iihm-inner .ip-content h4.elementor-heading-title { font-size: 18px !important; }
.iihm-inner .ip-content .elementor-widget-text-editor h2 { font-size: 24px; margin: 0 0 .6em; }
.iihm-inner .ip-content .elementor-widget-text-editor h3 { font-size: 20px; margin: 1.2em 0 .5em; }
/* Section titles keep their short red accent rule (from enhancements.css) in brand red */
.iihm-inner .ip-content h2.elementor-heading-title::after { background: var(--red); }
/* White/colored headings that sit on photos must stay legible */
.iihm-inner .ip-content .elementor-background-overlay ~ .elementor-container .elementor-heading-title,
.iihm-inner .ip-content .elementor-section[data-settings*="background"] .elementor-heading-title[style*="color: #fff"],
.iihm-inner .ip-content .elementor-counter-title { color: inherit !important; }

/* Buttons -> new red rectangular style */
.iihm-inner .ip-content .elementor-button,
.iihm-inner .ip-content .eael-creative-button,
.iihm-inner .ip-content a.eael-creative-button {
  border-radius: 4px !important; background: var(--red) !important; color: #fff !important; border: 0 !important;
  font-family: var(--sans) !important; font-weight: 600 !important; font-size: 13.5px !important; text-transform: none !important; letter-spacing: 0 !important;
  box-shadow: none !important; transition: background .2s, transform .2s, box-shadow .2s;
}
.iihm-inner .ip-content .elementor-button:hover,
.iihm-inner .ip-content .eael-creative-button:hover { background: var(--red-dark) !important; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(229,32,47,.3) !important; }
.iihm-inner .ip-content .eael-creative-button .eael-creative-button--content,
.iihm-inner .ip-content .eael-creative-button i, .iihm-inner .ip-content .elementor-button-text { color: #fff !important; }

/* Small icon chips inside narrow inner-section columns (contact details etc.) */
.iihm-inner .ip-content .elementor-inner-section .elementor-widget-icon .elementor-icon { width: 38px; height: 38px; box-shadow: 0 3px 8px rgba(251,32,86,.25); }
.iihm-inner .ip-content .elementor-inner-section .elementor-widget-icon .elementor-icon i { font-size: 15px; }

/* Cards / images */
.iihm-inner .ip-content .elementor-image-box-wrapper img,
.iihm-inner .ip-content .elementor-widget-image img { border-radius: 4px; }
.iihm-inner .ip-content .elementor-widget-image-box .elementor-image-box-title { font-family: var(--serif) !important; color: var(--navy) !important; }

/* Forms (contact page etc.) */
.iihm-inner .ip-content input[type=text], .iihm-inner .ip-content input[type=email], .iihm-inner .ip-content input[type=tel],
.iihm-inner .ip-content input[type=number], .iihm-inner .ip-content select, .iihm-inner .ip-content textarea {
  border: 1px solid #cfd9e8; border-radius: 4px; padding: 10px 12px; font-family: var(--sans); font-size: 14px; background: #fff; color: var(--ink);
}
.iihm-inner .ip-content input:focus, .iihm-inner .ip-content select:focus, .iihm-inner .ip-content textarea:focus { outline: 2px solid rgba(10,52,112,.25); border-color: var(--navy); }
.iihm-inner .ip-content input[type=submit], .iihm-inner .ip-content button[type=submit] { background: var(--red); color: #fff; border: 0; border-radius: 4px; padding: 11px 22px; font-weight: 600; cursor: pointer; }

/* Tables in articles */
.iihm-inner .ip-content table { width: 100%; border-collapse: collapse; margin: 0 0 1.4em; font-size: 14px; }
.iihm-inner .ip-content th, .iihm-inner .ip-content td { border: 1px solid #dbe4f0; padding: 10px 12px; text-align: left; }
.iihm-inner .ip-content th { background: #eef4fc; color: var(--navy); }
.iihm-inner .ip-content iframe { max-width: 100%; border: 0; }

/* ---- Blog posts --------------------------------------------------------------------- */
.iihm-kind-post .ip-content .entry-content,
.iihm-kind-post .ip-content .post-thumb { max-width: 880px; margin-left: auto; margin-right: auto; padding-left: clamp(20px, 4vw, 40px); padding-right: clamp(20px, 4vw, 40px); }
.iihm-kind-post .ip-content article { padding-top: clamp(28px, 4vw, 52px) !important; padding-bottom: clamp(36px, 5vw, 70px) !important; }
.iihm-kind-post .ip-content .post-thumb { margin-bottom: 28px; }
.iihm-kind-post .ip-content .post-thumb img { width: 100%; border-radius: 6px; box-shadow: 0 14px 36px rgba(10,52,112,.16); }
.iihm-kind-post .ip-content .elementor-section .elementor-container { max-width: 100%; }
.iihm-kind-post .ip-content .elementor-widget-text-editor h2 { margin-top: 1.4em; }
.iihm-kind-post .ip-content .elementor-widget-text-editor p, .iihm-kind-post .ip-content .elementor-widget-text-editor li { font-size: 16px; line-height: 1.85; }
.iihm-kind-post .ip-content .comments-area, .iihm-kind-post .ip-content #comments, .iihm-kind-post .ip-content .post-navigation { display: none; }

/* ---- Landing pages (SEO course pages) ---------------------------------------------- */
.iihm-kind-landing .ip-content .elementor-section-stretched { width: 100% !important; left: 0 !important; }
.iihm-kind-landing .ip-content .elementor-widget-text-editor p { max-width: 980px; margin-left: auto; margin-right: auto; }

/* ---- Stub pages ------------------------------------------------------------------------ */
.iihm-inner .ip-stub { padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(48px, 6vw, 90px); }
.iihm-inner .ip-stub p { margin: 14px 0 24px; max-width: 560px; color: var(--muted); }
.iihm-inner .ip-stub__btns { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---- Responsive -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .iihm-inner .ip-hero { min-height: 170px; }
  .iihm-inner .ip-hero__photo { width: 100%; opacity: .25; -webkit-mask-image: none; mask-image: none; }
  .iihm-inner .ip-crumbs span:last-child { max-width: 30ch; }
}

/* ---- EAEL post grid (Blogs lists) ------------------------------------------------------ */
.iihm-inner .ip-content .eael-post-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.iihm-inner .ip-content .eael-post-grid::before, .iihm-inner .ip-content .eael-post-grid::after { display: none; }
.iihm-inner .ip-content .eael-grid-post { width: auto !important; max-width: none !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.iihm-inner .ip-content .eael-grid-post-holder { height: 100%; background: #fff; border: 1px solid #dbe4f0; border-radius: 8px; overflow: hidden; box-shadow: 0 10px 28px rgba(10,52,112,.08); transition: transform .25s, box-shadow .25s; }
.iihm-inner .ip-content .eael-grid-post-holder:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(10,52,112,.16); }
.iihm-inner .ip-content .eael-grid-post-holder-inner { display: flex; flex-direction: column; height: 100%; }
.iihm-inner .ip-content .eael-entry-media { position: relative !important; display: block; height: auto !important; overflow: hidden; background: #eef4fc; }
.iihm-inner .ip-content .eael-entry-overlay { display: none !important; }
.iihm-inner .ip-content .eael-entry-thumbnail { display: block; }
.iihm-inner .ip-content .eael-entry-thumbnail img { display: block; width: 100%; height: 210px !important; object-fit: cover; transition: transform .5s; }
.iihm-inner .ip-content .eael-grid-post-holder:hover .eael-entry-thumbnail img { transform: scale(1.05); }
.iihm-inner .ip-content .eael-entry-wrapper { position: static !important; display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px !important; background: #fff !important; }
.iihm-inner .ip-content .eael-entry-header { padding: 0 !important; margin: 0 0 10px; }
.iihm-inner .ip-content .eael-entry-title, .iihm-inner .ip-content .eael-entry-title a { margin: 0; font-family: 'Playfair Display', Georgia, serif !important; font-size: 19px !important; line-height: 1.3 !important; color: var(--navy) !important; font-weight: 700; text-decoration: none; }
.iihm-inner .ip-content .eael-entry-title a:hover { color: var(--red) !important; }
.iihm-inner .ip-content .eael-entry-content { flex: 1; color: var(--muted); font-size: 14.5px; line-height: 1.7; }
.iihm-inner .ip-content .eael-grid-post-excerpt p { margin: 0 0 14px; color: var(--muted); font-size: 14.5px; }
.iihm-inner .ip-content a.eael-post-elements-readmore-btn { display: inline-block; color: var(--red) !important; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; text-decoration: none; }
.iihm-inner .ip-content .eael-entry-header-after, .iihm-inner .ip-content .eael-entry-footer { margin-top: 14px; padding: 12px 0 0 !important; border-top: 1px solid #e5ecf6; font-size: 12.5px; color: #6b7a90; }
.iihm-inner .ip-content .eael-entry-meta, .iihm-inner .ip-content .eael-entry-meta span, .iihm-inner .ip-content .eael-entry-meta time { color: #6b7a90 !important; font-size: 12.5px; }

/* ---- EAEL filterable gallery (Events) --------------------------------------------------- */
.iihm-inner .ip-content .eael-filter-gallery-control { margin: 0 0 28px; }
.iihm-inner .ip-content .eael-filter-gallery-control ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none !important; background: none !important; }
.iihm-inner .ip-content .eael-filter-gallery-control li { display: inline-block !important; margin: 0 !important; padding: 9px 20px !important; background: #fff !important; color: var(--navy) !important; border: 1px solid #cfdcee; border-radius: 999px; font-size: 14px; font-weight: 600; line-height: 1.2; cursor: pointer; transition: all .2s; list-style: none !important; }
.iihm-inner .ip-content .eael-filter-gallery-control li:hover { border-color: var(--navy); }
.iihm-inner .ip-content .eael-filter-gallery-control li.active { background: var(--red) !important; border-color: var(--red); color: #fff !important; }
.iihm-inner .ip-content .eael-filter-gallery-container { display: flex; flex-wrap: wrap; margin: 0 -12px; height: auto !important; }
.iihm-inner .ip-content .eael-filterable-gallery-item-wrap { position: static !important; box-sizing: border-box; padding: 0 12px 24px !important; float: none !important; transform: none !important; }
.iihm-inner .ip-content .eael-gallery-grid-item { position: relative; overflow: hidden; border-radius: 8px; background: #0a3470; box-shadow: 0 10px 26px rgba(10,52,112,.12); }
.iihm-inner .ip-content .eael-gallery-grid-item > a { display: block; position: relative; }
.iihm-inner .ip-content .gallery-item-thumbnail-wrap { position: relative; display: block; overflow: hidden; aspect-ratio: 3 / 2; background: #dbe4f0; }
.iihm-inner .ip-content .gallery-item-thumbnail-wrap img.gallery-item-thumbnail, .iihm-inner .ip-content .gallery-item-thumbnail-wrap img:not(.eael-fg-video-play-icon) { width: 100% !important; height: 100% !important; object-fit: cover; display: block; transition: transform .5s; }
.iihm-inner .ip-content .eael-gallery-grid-item:hover .gallery-item-thumbnail-wrap img:not(.eael-fg-video-play-icon) { transform: scale(1.06); }
.iihm-inner .ip-content .gallery-item-thumbnail-wrap noscript { display: none; }
.iihm-inner .ip-content .eael-fg-video-play-icon { position: absolute !important; top: 50%; left: 50%; width: 52px !important; height: 52px !important; transform: translate(-50%, -50%); object-fit: contain !important; z-index: 3; }
.iihm-inner .ip-content .gallery-item-caption-wrap { position: absolute !important; inset: auto 0 0 0 !important; width: 100% !important; height: auto !important; padding: 0 !important; background: linear-gradient(0deg, rgba(8,42,93,.92), rgba(8,42,93,0)) !important; opacity: 1 !important; transform: none !important; visibility: visible !important; }
.iihm-inner .ip-content .gallery-item-hoverer-bg { display: none !important; }
.iihm-inner .ip-content .gallery-item-caption-over { position: static !important; padding: 34px 16px 14px !important; text-align: left; background: none !important; }
.iihm-inner .ip-content .fg-item-title { margin: 0 !important; color: #fff !important; font-family: 'Inter', system-ui, sans-serif !important; font-size: 15px !important; font-weight: 600; line-height: 1.3; text-shadow: none; }
.iihm-inner .ip-content .fg-item-content { display: none; }

@media (max-width: 1024px) {
  .iihm-inner .ip-content .eael-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .iihm-inner .ip-content .eael-post-grid { grid-template-columns: 1fr; }
  .iihm-inner .ip-content .eael-filter-gallery-control li { padding: 8px 14px !important; font-size: 13px; }
}
.iihm-inner .ip-content .eael-gallery-grid-item { padding: 0 !important; background: #dbe4f0; }
.iihm-inner .ip-content .eael-gallery-grid-item > a { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.iihm-inner .ip-content .gallery-item-thumbnail-wrap, .iihm-inner .ip-content .gallery-item-caption-wrap { width: 100% !important; margin: 0 !important; }
.iihm-inner .ip-content img[data-src*="eael-default-placeholder"] { visibility: hidden; }

/* ---- Video gallery (static YouTube thumbnails) ---------------------------------------- */
.iihm-inner .ip-videos { max-width: 1200px; margin: 0 auto; padding: clamp(36px, 5vw, 70px) clamp(20px, 4vw, 40px); }
.iihm-inner .ip-videos__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.iihm-inner .ip-video { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; background: #0a3470; box-shadow: 0 10px 26px rgba(10,52,112,.14); }
.iihm-inner .ip-video img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.iihm-inner .ip-video:hover img { transform: scale(1.06); }
.iihm-inner .ip-video__play { position: absolute; top: 50%; left: 50%; width: 58px; height: 58px; margin: -29px 0 0 -29px; border-radius: 50%; background: var(--red); box-shadow: 0 6px 18px rgba(0,0,0,.35); }
.iihm-inner .ip-video__play::after { content: ''; position: absolute; top: 50%; left: 50%; margin: -9px 0 0 -6px; border-left: 16px solid #fff; border-top: 9px solid transparent; border-bottom: 9px solid transparent; }
.iihm-inner .ip-videos__more { margin: 36px 0 0; text-align: center; }
@media (max-width: 1024px) { .iihm-inner .ip-videos__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .iihm-inner .ip-videos__grid { grid-template-columns: 1fr; } }
.iihm-inner .ip-content .ip-videos__more { margin: 40px 0 0 !important; padding-top: 4px; }
.iihm-inner .ip-content .ip-videos__more a.hm-btn { color: #fff !important; text-decoration: none; display: inline-flex; }


/* ---- One underline per heading ------------------------------------------------------------
   h2 section titles already get a short red rule (::after); a divider widget directly under such a
   heading drew a second line, so it is hidden. */
.iihm-inner .ip-content .elementor-widget-heading:has(h2) ~ .elementor-widget-divider,
.iihm-inner .ip-content .elementor-inner-section:has(.elementor-heading-title) ~ .elementor-widget-divider { display: none; }
.iihm-inner .ip-content h2.elementor-heading-title.ip-left::after { left: 0; right: auto; margin: 0; }
.iihm-inner .ip-content .elementor-widget-text-editor h2::after, .iihm-inner .ip-content .elementor-widget-text-editor h3::after { content: none; }

/* ---- Accent-framed images (same style as the About page story image) ------------------------
   Only large images that sit beside a text column in a two-column row; logo grids and galleries are untouched. */
.iihm-inner .ip-content .elementor-container:has(> .elementor-column:nth-child(2):last-child) .ip-framed > .elementor-widget-container { position: relative; padding: 0 0 4px 4px; margin-left: 14px; }
.iihm-inner .ip-content .elementor-container:has(> .elementor-column:nth-child(2):last-child) .ip-framed > .elementor-widget-container::before {
  content: ''; position: absolute; left: -14px; top: 18px; bottom: -4px; width: 4px; border-radius: 1px;
  background: linear-gradient(180deg, var(--red) 0 30%, var(--navy) 30% 100%); z-index: 1;
}
.iihm-inner .ip-content .elementor-container:has(> .elementor-column:nth-child(2):last-child) .ip-framed > .elementor-widget-container::after { content: ''; position: absolute; left: -14px; bottom: -4px; width: 62%; height: 4px; background: var(--navy); z-index: 1; }
.iihm-inner .ip-content .elementor-container:has(> .elementor-column:nth-child(2):last-child) .ip-framed img { display: block; width: 100%; border-radius: 3px !important; box-shadow: 0 14px 36px rgba(10, 52, 112, .18) !important; border: 0 !important; }

/* ---- Embedded YouTube players ---------------------------------------------------------------- */
.iihm-inner .ip-content .elementor-video.ip-embed { position: relative; aspect-ratio: 16 / 9; width: 100%; border-radius: 6px; overflow: hidden; box-shadow: 0 14px 36px rgba(10,52,112,.18); background: #0a3470; }
.iihm-inner .ip-content .elementor-video.ip-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---- Page width & column spacing ----------------------------------------------------------------
   Boxed sections were 1140-1360px wide with columns butting against the screen edge; align them with the
   header/hero container and give them proper side padding. */
.iihm-kind-page .ip-content .elementor-top-section:not(.elementor-section-stretched):not(.elementor-section-full_width) > .elementor-container {
  max-width: 1362px !important; width: 100%; box-sizing: border-box; padding-left: clamp(20px, 4.7vw, 72px); padding-right: clamp(20px, 4.7vw, 72px);
}
/* Two-column rows (copy + image): pull the columns together instead of leaving a wide gutter */
.iihm-kind-page .ip-content .elementor-container:has(> .elementor-column:nth-child(2):last-child) > .elementor-column > .elementor-widget-wrap { padding-left: 14px !important; padding-right: 14px !important; }
/* Three-column rows (contact cards): tight, even gutters */
.iihm-kind-page .ip-content .elementor-top-section > .elementor-container > .elementor-col-33 > .elementor-widget-wrap { padding-left: 10px !important; padding-right: 10px !important; }
.iihm-kind-page .ip-content .elementor-top-section > .elementor-container:has(> .elementor-col-33) { column-gap: 0; }

/* ---- Counter band (replaces the old grey counter strip) ------------------------------------------ */
.iihm-inner .ip-stats { position: relative; overflow: hidden; background: linear-gradient(100deg, #0a3c82 0%, #0a3470 50%, #082a5d 100%); color: #fff; }
.iihm-inner .ip-stats::before { content: ''; position: absolute; right: -120px; top: -160px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(229,32,47,.28), rgba(229,32,47,0) 70%); }
.iihm-inner .ip-stats::after { content: ''; position: absolute; left: -90px; bottom: -190px; width: 380px; height: 380px; border-radius: 50%; border: 48px solid rgba(255,255,255,.05); }
.iihm-inner .ip-stats__in { position: relative; z-index: 1; max-width: 1362px; margin: 0 auto; padding: clamp(34px, 4vw, 54px) clamp(20px, 4.7vw, 72px); }
.iihm-inner .ip-stats ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.iihm-inner .ip-stats li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 6px 16px; border-left: 1px solid rgba(255,255,255,.18); margin: 0; }
.iihm-inner .ip-stats li:first-child { border-left: 0; }
.iihm-inner .ip-stats__ico { display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.28); margin-bottom: 8px; }
.iihm-inner .ip-stats__ico svg { width: 26px; height: 26px; }
.iihm-inner .ip-stats strong { font-family: var(--serif); font-size: clamp(30px, 3vw, 42px); line-height: 1.1; font-weight: 700; color: #fff; }
.iihm-inner .ip-stats__lbl { font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: rgba(255,255,255,.85); font-weight: 500; }
@media (max-width: 767px) {
  .iihm-inner .ip-stats ul { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 26px; }
  .iihm-inner .ip-stats li:nth-child(odd) { border-left: 0; }
}


/* =====================================================================================================
   Round 3: consistent spacing, accordion, step form, cards, lightbox, news, blog cards
   ===================================================================================================== */

/* ---- Consistent page rhythm (taken from the Events page): sections 60px top/bottom, headings sit 40px above their content ---- */
.iihm-kind-page .ip-content .elementor-top-section:not(.elementor-section-stretched):not(.ip-stats):has(.elementor-widget) { padding-top: 60px !important; padding-bottom: 60px !important; }
.iihm-kind-page .ip-content .elementor-top-section.ip-stats { padding: 0 !important; }
.iihm-inner .ip-content .elementor-widget-heading { margin-bottom: 20px !important; }
.iihm-inner .ip-content .elementor-widget-heading h2.elementor-heading-title { margin: 0 0 20px !important; }
.iihm-inner .ip-content .elementor-widget-heading h2.elementor-heading-title:empty { display: none; }
/* A section that only holds a heading hugs the content that follows it (Events Gallery -> filter tabs) */
.iihm-kind-page .ip-content .elementor-top-section:has(.elementor-widget-heading):not(:has(.elementor-widget:not(.elementor-widget-heading):not(.elementor-widget-divider), .elementor-inner-section)) { padding-bottom: 0 !important; }
.iihm-kind-page .ip-content .elementor-top-section:has(.elementor-widget-heading):not(:has(.elementor-widget:not(.elementor-widget-heading):not(.elementor-widget-divider), .elementor-inner-section)) + .elementor-top-section { padding-top: 0 !important; }
.iihm-inner .ip-content .elementor-widget-text-editor > .elementor-widget-container > h2:empty,
.iihm-inner .ip-content h2.elementor-heading-title:empty::after { display: none; }
.iihm-inner .ip-main { padding-bottom: 0; }
.iihm-kind-page .ip-main > .ip-content { padding-bottom: 0; }
.iihm-kind-post .ip-main > .ip-content { padding-bottom: 20px; }
@media (max-width: 767px) {
  .iihm-kind-page .ip-content .elementor-top-section:not(.elementor-section-stretched):not(.ip-stats):has(.elementor-widget) { padding-top: 40px !important; padding-bottom: 40px !important; }
}

/* ---- Custom sections made in app/lib/inner.js ---------------------------------------------------------- */
.iihm-inner .ip-sect { max-width: 1362px; margin: 0 auto; padding: 60px clamp(20px, 4.7vw, 72px); box-sizing: border-box; }
.iihm-inner .ip-sect .elementor-heading-title { text-align: center; }
.iihm-inner .ip-sect .elementor-widget-heading { margin-bottom: 20px; }
.iihm-inner .ip-lead { max-width: 720px; margin: 0 auto !important; text-align: center; color: var(--muted); font-size: 16px; }

/* ---- Accordion (placement process) ----------------------------------------------------------------------- */
.iihm-inner .ip-acc { display: grid; gap: 14px; max-width: 980px; margin: 0 auto; }
.iihm-inner .ip-acc__item { background: #fff; border: 1px solid #dbe4f0; border-left: 4px solid #cfd9e8; border-radius: 10px; box-shadow: 0 6px 18px rgba(10,52,112,.06); overflow: hidden; transition: border-color .25s, box-shadow .25s; }
.iihm-inner .ip-acc__item:hover { border-left-color: var(--navy); }
.iihm-inner .ip-acc__item[open] { border-left-color: var(--red); box-shadow: 0 14px 34px rgba(10,52,112,.14); background: linear-gradient(180deg, #fff, #f6f9fe); }
.iihm-inner .ip-acc__item summary { list-style: none; display: flex; align-items: center; gap: 16px; padding: 16px 22px; cursor: pointer; margin: 0; }
.iihm-inner .ip-acc__item summary::-webkit-details-marker { display: none; }
.iihm-inner .ip-acc__item summary:focus-visible { outline: 2px solid var(--navy); outline-offset: -2px; }
.iihm-inner .ip-acc__num { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: #eef4fc; color: var(--navy); font-family: var(--serif); font-weight: 700; font-size: 16px; transition: background .25s, color .25s; }
.iihm-inner .ip-acc__item[open] .ip-acc__num { background: var(--red); color: #fff; box-shadow: 0 6px 14px rgba(229,32,47,.3); }
.iihm-inner .ip-acc__title { flex: 1; font-family: var(--serif); font-weight: 700; font-size: 19px; line-height: 1.3; color: var(--navy); }
.iihm-inner .ip-acc__chev { flex: 0 0 auto; width: 11px; height: 11px; margin: 0 6px 4px 0; border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: rotate(45deg); transition: transform .25s, border-color .25s; }
.iihm-inner .ip-acc__item[open] .ip-acc__chev { transform: rotate(-135deg); margin-bottom: -4px; border-color: var(--red); }
.iihm-inner .ip-acc__body { padding: 0 26px 22px 82px; }
.iihm-inner .ip-content .ip-acc__body p { margin: 0; color: #2b3a55; font-size: 15px; line-height: 1.75; }
@media (max-width: 600px) { .iihm-inner .ip-acc__body { padding: 0 20px 20px; } .iihm-inner .ip-acc__title { font-size: 17px; } }
.iihm-page-placement-process .ip-content .elementor-top-section:last-child { padding-bottom: 70px !important; }

/* ---- Admission step form -------------------------------------------------------------------------------- */
.iihm-inner .ip-stepform-wrap { max-width: 980px; margin: 0 auto; padding: clamp(24px, 3vw, 40px); background: #fff; border: 1px solid #dbe4f0; border-top: 4px solid var(--red); border-radius: 14px; box-shadow: 0 18px 44px rgba(10,52,112,.12); scroll-margin-top: 110px; }
.iihm-inner .ip-stepform__head { text-align: center; margin-bottom: 28px; }
.iihm-inner .ip-stepform__kicker { display: inline-block; padding: 5px 14px; border-radius: 999px; background: #fdecee; color: var(--red); font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.iihm-inner .ip-content .ip-stepform__title { margin: 14px 0 8px !important; font-family: var(--serif) !important; font-size: clamp(24px, 2.4vw, 32px) !important; color: var(--navy) !important; padding-bottom: 0; }
.iihm-inner .ip-content .ip-stepform__head p { margin: 0; color: var(--muted); font-size: 14.5px; }
.iihm-inner .ip-steps { display: flex; list-style: none !important; margin: 0 0 30px !important; padding: 0 !important; counter-reset: none; }
.iihm-inner .ip-steps li { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0 !important; text-align: center; color: #8a97ab; }
.iihm-inner .ip-steps li::before { content: ''; position: absolute; top: 21px; left: calc(-50% + 26px); right: calc(50% + 26px); height: 2px; background: #dbe4f0; }
.iihm-inner .ip-steps li:first-child::before { display: none; }
.iihm-inner .ip-steps__dot { position: relative; z-index: 1; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 2px solid #cfd9e8; font-weight: 700; font-size: 15px; color: #8a97ab; transition: all .25s; }
.iihm-inner .ip-steps__lbl { font-size: 13px; font-weight: 600; line-height: 1.3; }
.iihm-inner .ip-steps li.is-active { color: var(--navy); }
.iihm-inner .ip-steps li.is-active .ip-steps__dot { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 6px 16px rgba(229,32,47,.32); }
.iihm-inner .ip-steps li.is-done { color: var(--navy); }
.iihm-inner .ip-steps li.is-done::before, .iihm-inner .ip-steps li.is-active::before { background: var(--red); }
.iihm-inner .ip-steps li.is-done .ip-steps__dot { background: var(--navy); border-color: var(--navy); color: #fff; font-size: 0; }
.iihm-inner .ip-steps li.is-done .ip-steps__dot::after { content: '\2713'; font-size: 17px; }
.iihm-inner .ip-step { display: none; }
.iihm-inner .ip-step.is-active { display: block; animation: ipStepIn .35s ease; }
@keyframes ipStepIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.iihm-inner .ip-content .ip-step__title { margin: 0 0 18px !important; padding-bottom: 10px; border-bottom: 1px solid #e5ecf6; font-family: var(--serif) !important; font-size: 20px !important; color: var(--navy) !important; }
.iihm-inner .ip-stepform .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; margin: 0 -10px; }
.iihm-inner .ip-stepform .elementor-field-group { padding: 0 10px; margin-bottom: 16px; box-sizing: border-box; width: 100%; }
.iihm-inner .ip-stepform .elementor-col-50 { width: 50%; }
.iihm-inner .ip-stepform .elementor-field-label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 13.5px; color: var(--navy); }
.iihm-inner .ip-stepform input, .iihm-inner .ip-stepform select, .iihm-inner .ip-stepform textarea { width: 100%; box-sizing: border-box; }
.iihm-inner .ip-req { color: var(--red); }
.iihm-inner .ip-content .ip-invalid { border-color: var(--red) !important; background: #fff6f7 !important; }
.iihm-inner .ip-stepform__nav { display: flex; justify-content: flex-end; gap: 12px; margin-top: 8px; padding-top: 20px; border-top: 1px solid #e5ecf6; }
.iihm-inner .ip-stepform__nav [hidden] { display: none; }
.iihm-inner .ip-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 24px; border: 2px solid transparent; border-radius: 6px; font: 600 14px var(--sans); cursor: pointer; text-decoration: none; transition: background .2s, transform .2s, box-shadow .2s; }
.iihm-inner .ip-content a.ip-btn, .iihm-inner .ip-content .ip-btn { color: #fff; }
.iihm-inner .ip-btn--red { background: var(--red); }
.iihm-inner .ip-btn--red:hover { background: var(--red-dark); transform: translateY(-1px); box-shadow: 0 8px 20px rgba(229,32,47,.3); }
.iihm-inner .ip-content .ip-btn--ghost { background: #fff; color: var(--navy); border-color: #cfd9e8; }
.iihm-inner .ip-btn--ghost:hover { border-color: var(--navy); }
.iihm-inner .ip-btn--wa { background: #25d366; }
.iihm-inner .ip-stepform__err { margin: 14px 0 0 !important; padding: 10px 14px; border-radius: 6px; background: #fdecee; color: #b4121f; font-size: 13.5px; }
.iihm-inner .ip-stepform__err[hidden], .iihm-inner .ip-stepform__done[hidden], .iihm-inner .ip-steps[hidden], .iihm-inner .ip-stepform[hidden] { display: none; }
.iihm-inner .ip-stepform__done { text-align: center; padding: 10px 0 4px; }
.iihm-inner .ip-content .ip-stepform__done h3 { margin: 0 0 10px !important; font-family: var(--serif) !important; font-size: 24px !important; color: var(--navy) !important; }
.iihm-inner .ip-stepform__done p { max-width: 560px; margin: 0 auto 22px; color: var(--muted); }
.iihm-inner .ip-stepform__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
@media (max-width: 700px) {
  .iihm-inner .ip-stepform .elementor-col-50 { width: 100%; }
  .iihm-inner .ip-steps__lbl { font-size: 11px; }
  .iihm-inner .ip-steps li::before { left: calc(-50% + 22px); right: calc(50% + 22px); }
  .iihm-inner .ip-steps__dot { width: 36px; height: 36px; }
  .iihm-inner .ip-steps li::before { top: 18px; }
}

/* ---- Icon-box cards (career scope: where we place you / online admission: the two steps) ---------------------- */
.iihm-page-career-scope .ip-content .elementor-inner-section > .elementor-container,
.iihm-page-online-admission .ip-content .elementor-inner-section > .elementor-container { gap: 22px; align-items: stretch; flex-wrap: nowrap; }
.iihm-page-career-scope .ip-content .elementor-inner-section > .elementor-container > .elementor-column,
.iihm-page-online-admission .ip-content .elementor-inner-section > .elementor-container > .elementor-column { flex: 1 1 0; width: auto !important; min-width: 0; }
.iihm-page-career-scope .ip-content .elementor-inner-column > .elementor-widget-wrap,
.iihm-page-online-admission .ip-content .elementor-inner-column > .elementor-widget-wrap { padding: 0 !important; height: 100%; }
.iihm-page-career-scope .ip-content .elementor-widget-icon-box,
.iihm-page-online-admission .ip-content .elementor-widget-icon-box { height: 100%; margin: 0 !important; position: relative; background: #fff; border: 1px solid #e0e8f4; border-radius: 16px; box-shadow: 0 10px 30px rgba(10,52,112,.08); overflow: hidden; transition: transform .3s, box-shadow .3s, border-color .3s; }
.iihm-page-career-scope .ip-content .elementor-widget-icon-box::before,
.iihm-page-online-admission .ip-content .elementor-widget-icon-box::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--red), #ff6b75); }
.iihm-page-career-scope .ip-content .elementor-widget-icon-box::after,
.iihm-page-online-admission .ip-content .elementor-widget-icon-box::after { content: ''; position: absolute; right: -40px; bottom: -40px; width: 130px; height: 130px; border-radius: 50%; background: radial-gradient(circle, rgba(10,52,112,.07), rgba(10,52,112,0) 70%); pointer-events: none; }
.iihm-page-career-scope .ip-content .elementor-widget-icon-box:hover,
.iihm-page-online-admission .ip-content .elementor-widget-icon-box:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(10,52,112,.18); border-color: #c8d6ec; }
.iihm-page-career-scope .ip-content .elementor-widget-icon-box > .elementor-widget-container,
.iihm-page-online-admission .ip-content .elementor-widget-icon-box > .elementor-widget-container { height: 100%; }
.iihm-page-career-scope .ip-content .elementor-icon-box-wrapper,
.iihm-page-online-admission .ip-content .elementor-icon-box-wrapper { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; text-align: center; padding: 34px 20px 30px; box-sizing: border-box; }
.iihm-page-career-scope .ip-content .elementor-icon-box-icon,
.iihm-page-online-admission .ip-content .elementor-icon-box-icon { margin: 0 !important; display: block !important; }
.iihm-page-career-scope .ip-content .elementor-icon-box-wrapper .elementor-icon,
.iihm-page-online-admission .ip-content .elementor-icon-box-wrapper .elementor-icon { display: inline-flex !important; align-items: center; justify-content: center; width: 78px !important; height: 78px !important; padding: 0 !important; font-size: 30px !important; border-radius: 50% !important; color: #fff !important; background: linear-gradient(145deg, #0a4a9e, #082a5d) !important; box-shadow: 0 10px 22px rgba(10,52,112,.3), 0 0 0 7px #eef4fc !important; transition: background .3s, box-shadow .3s, transform .3s; }
.iihm-page-career-scope .ip-content .elementor-icon-box-wrapper .elementor-icon i,
.iihm-page-online-admission .ip-content .elementor-icon-box-wrapper .elementor-icon i { font-size: 30px !important; color: #fff !important; }
.iihm-page-career-scope .ip-content .elementor-widget-icon-box:hover .elementor-icon,
.iihm-page-online-admission .ip-content .elementor-widget-icon-box:hover .elementor-icon { background: linear-gradient(145deg, #f23a48, #c91623) !important; box-shadow: 0 12px 26px rgba(229,32,47,.38), 0 0 0 7px #fdecee !important; transform: scale(1.06); }
.iihm-page-career-scope .ip-content .elementor-icon-box-content,
.iihm-page-online-admission .ip-content .elementor-icon-box-content { width: 100%; }
.iihm-page-career-scope .ip-content .elementor-icon-box-title,
.iihm-page-online-admission .ip-content .elementor-icon-box-title { margin: 0 !important; font-family: var(--serif) !important; font-size: 19px !important; line-height: 1.3 !important; font-weight: 700 !important; color: var(--navy) !important; }
.iihm-page-career-scope .ip-content .elementor-icon-box-title a,
.iihm-page-online-admission .ip-content .elementor-icon-box-title a { color: var(--navy) !important; text-decoration: none; }
.iihm-page-online-admission .ip-content .elementor-icon-box-description { margin: 10px 0 0 !important; color: var(--muted); font-size: 14.5px; line-height: 1.65; }
/* online admission: "Step 1 / Step 2" ribbons */
.iihm-page-online-admission .ip-content .elementor-widget-icon-box .elementor-icon-box-wrapper::before { position: absolute; top: 16px; left: 18px; padding: 4px 12px; border-radius: 999px; background: #fdecee; color: var(--red); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.iihm-page-online-admission .ip-content .elementor-inner-column:nth-child(1) .elementor-icon-box-wrapper::before { content: 'Step 1'; }
.iihm-page-online-admission .ip-content .elementor-inner-column:nth-child(2) .elementor-icon-box-wrapper::before { content: 'Step 2'; }
.iihm-page-online-admission .ip-content .elementor-icon-box-wrapper { padding-top: 52px; }
.iihm-page-online-admission .ip-content .elementor-inner-section > .elementor-container { max-width: 880px; margin: 14px auto 0; }
@media (max-width: 767px) {
  .iihm-page-career-scope .ip-content .elementor-inner-section > .elementor-container { flex-wrap: wrap; }
  .iihm-page-career-scope .ip-content .elementor-inner-section > .elementor-container > .elementor-column { flex: 1 1 calc(50% - 22px); }
  .iihm-page-online-admission .ip-content .elementor-inner-section > .elementor-container { flex-direction: column; }
}
/* career scope: picture matches the height of the copy beside it */
.iihm-page-career-scope .ip-content .elementor-container:has(> .elementor-column:nth-child(2):last-child) { align-items: center; }
.iihm-page-career-scope .ip-content .ip-framed img { max-height: 380px; width: 100%; object-fit: cover; object-position: top center; }

/* ---- Infrastructure facility cards -------------------------------------------------------------------------- */
.iihm-page-infrasructure .ip-content { counter-reset: fac; }
.iihm-page-infrasructure .ip-content .elementor-top-section:has(.elementor-widget-image-box) > .elementor-container { column-gap: 0; max-width: 1362px !important; align-items: stretch; }
.iihm-page-infrasructure .ip-content .elementor-top-section:has(.elementor-widget-image-box) { padding-top: 0 !important; padding-bottom: 0 !important; }
.iihm-page-infrasructure .ip-content .elementor-top-section:has(.elementor-widget-image-box) .elementor-column > .elementor-widget-wrap { padding: 12px 14px 20px !important; height: 100%; }
.iihm-page-infrasructure .ip-content .elementor-widget-image-box { counter-increment: fac; position: relative; height: 100%; margin: 0 !important; background: #fff; border: 1px solid #e0e8f4; border-radius: 16px; overflow: hidden; box-shadow: 0 10px 30px rgba(10,52,112,.09); transition: transform .35s, box-shadow .35s; }
.iihm-page-infrasructure .ip-content .elementor-widget-image-box:hover { transform: translateY(-8px); box-shadow: 0 26px 50px rgba(10,52,112,.2); }
.iihm-page-infrasructure .ip-content .elementor-widget-image-box > .elementor-widget-container { height: 100%; }
.iihm-page-infrasructure .ip-content .elementor-image-box-wrapper { display: flex; flex-direction: column; height: 100%; text-align: left !important; }
.iihm-page-infrasructure .ip-content .elementor-image-box-img { position: relative; display: block !important; width: 100% !important; margin: 0 !important; overflow: hidden; aspect-ratio: 16 / 10; }
.iihm-page-infrasructure .ip-content .elementor-image-box-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,42,93,0) 45%, rgba(8,42,93,.55)); }
.iihm-page-infrasructure .ip-content .elementor-image-box-img img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; transition: transform .7s; }
.iihm-page-infrasructure .ip-content .elementor-widget-image-box:hover .elementor-image-box-img img { transform: scale(1.08); }
.iihm-page-infrasructure .ip-content .elementor-widget-image-box::before { content: counter(fac, decimal-leading-zero); position: absolute; z-index: 3; top: 14px; left: 14px; min-width: 42px; height: 30px; padding: 0 12px; box-sizing: border-box; display: grid; place-items: center; border-radius: 999px; background: var(--red); color: #fff; font: 700 13px var(--sans); letter-spacing: .06em; box-shadow: 0 6px 14px rgba(229,32,47,.4); }
.iihm-page-infrasructure .ip-content .elementor-image-box-content { position: relative; flex: 1; padding: 22px 24px 26px; }
.iihm-page-infrasructure .ip-content .elementor-image-box-content::before { content: ''; position: absolute; left: 24px; top: -17px; width: 54px; height: 54px; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px rgba(10,52,112,.16); z-index: 2; }
.iihm-page-infrasructure .ip-content .elementor-image-box-content::after { content: ''; position: absolute; left: 24px; right: 24px; bottom: 0; height: 3px; background: linear-gradient(90deg, var(--red), var(--navy)); transform: scaleX(.18); transform-origin: left; transition: transform .5s; border-radius: 3px 3px 0 0; }
.iihm-page-infrasructure .ip-content .elementor-widget-image-box:hover .elementor-image-box-content::after { transform: scaleX(1); }
.iihm-page-infrasructure .ip-content .elementor-image-box-title { position: relative; z-index: 3; margin: 30px 0 8px !important; padding-top: 0; font-family: var(--serif) !important; font-size: 21px !important; line-height: 1.25 !important; font-weight: 700 !important; color: var(--navy) !important; }
.iihm-page-infrasructure .ip-content .elementor-image-box-description { margin: 0 !important; color: var(--muted); font-size: 14.5px; line-height: 1.7; }
@media (max-width: 767px) { .iihm-page-infrasructure .ip-content .elementor-top-section:has(.elementor-widget-image-box) .elementor-column > .elementor-widget-wrap { padding: 10px 6px !important; } }

/* ---- Achievements ----------------------------------------------------------------------------------------------- */
.iihm-inner .ip-awards { padding-top: 20px; }
.iihm-inner .ip-awards__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.iihm-inner .ip-award { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid #e0e8f4; border-radius: 16px; overflow: hidden; box-shadow: 0 10px 30px rgba(10,52,112,.09); transition: transform .35s, box-shadow .35s; }
.iihm-inner .ip-award:hover { transform: translateY(-6px); box-shadow: 0 24px 48px rgba(10,52,112,.18); }
.iihm-inner .ip-award__media { position: relative; aspect-ratio: 4 / 3; background: #dbe4f0; overflow: hidden; }
.iihm-inner .ip-award__media a.ip-lb { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.iihm-inner .ip-award__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.iihm-inner .ip-award:hover .ip-award__media img { transform: scale(1.07); }
.iihm-inner .ip-award__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,42,93,0) 55%, rgba(8,42,93,.5)); pointer-events: none; }
.iihm-inner .ip-award__zoom { position: absolute; z-index: 2; top: 12px; right: 12px; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.95) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3470' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='M21 21l-5-5M11 8v6M8 11h6'/%3E%3C/svg%3E") center / 20px no-repeat; box-shadow: 0 6px 14px rgba(0,0,0,.2); opacity: 0; transform: scale(.8); transition: all .3s; pointer-events: none; }
.iihm-inner .ip-award:hover .ip-award__zoom { opacity: 1; transform: none; }
.iihm-inner .ip-award__count { position: absolute; z-index: 2; left: 12px; bottom: 12px; padding: 4px 11px; border-radius: 999px; background: rgba(8,42,93,.85); color: #fff; font-size: 12px; font-weight: 600; pointer-events: none; }
.iihm-inner .ip-award__body { position: relative; flex: 1; padding: 22px 24px 26px; }
.iihm-inner .ip-award__body::before { content: ''; display: block; width: 44px; height: 3px; margin-bottom: 14px; background: var(--red); border-radius: 2px; }
.iihm-inner .ip-award__no { position: absolute; top: 14px; right: 20px; font-family: var(--serif); font-weight: 700; font-size: 44px; line-height: 1; color: #eef2f9; }
.iihm-inner .ip-content .ip-award__body h3 { margin: 0 0 10px !important; padding-right: 50px; font-family: var(--serif) !important; font-size: 21px !important; line-height: 1.25 !important; color: var(--navy) !important; }
.iihm-inner .ip-content .ip-award__body p { position: relative; margin: 0; color: #4a5a74; font-size: 14.5px; line-height: 1.7; }
.iihm-inner .ip-proud { padding-top: 0; }
.iihm-inner .ip-proud__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; margin-top: 20px; }
.iihm-inner .ip-proud__grid a { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; background: #dbe4f0; box-shadow: 0 10px 24px rgba(10,52,112,.12); cursor: zoom-in; border-bottom: 4px solid var(--red); }
.iihm-inner .ip-proud__grid img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; transition: transform .6s; }
.iihm-inner .ip-proud__grid a:hover img { transform: scale(1.08); }
@media (max-width: 1024px) { .iihm-inner .ip-awards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .iihm-inner .ip-proud__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .iihm-inner .ip-awards__grid { grid-template-columns: 1fr; } .iihm-inner .ip-proud__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

/* ---- Lightbox / video modal ------------------------------------------------------------------------------------------ */
html.ip-lbx-open { overflow: hidden; }
.ip-lbx { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; background: rgba(6,20,46,.94); animation: ipLbIn .25s ease; }
@keyframes ipLbIn { from { opacity: 0; } to { opacity: 1; } }
.ip-lbx__stage { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 64px 76px 70px; box-sizing: border-box; }
.ip-lbx__img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 6px; box-shadow: 0 20px 60px rgba(0,0,0,.5); background: #fff; }
.ip-lbx__video { width: min(100%, 1040px); aspect-ratio: 16 / 9; height: auto; max-height: 100%; border: 0; border-radius: 8px; background: #000; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.ip-lbx__x, .ip-lbx__nav { position: absolute; z-index: 2; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; cursor: pointer; transition: background .2s; font-family: Arial, sans-serif; }
.ip-lbx__x:hover, .ip-lbx__nav:hover { background: var(--red); }
.ip-lbx__x { top: 16px; right: 18px; width: 44px; height: 44px; font-size: 30px; line-height: 1; }
.ip-lbx__nav { top: 50%; width: 48px; height: 48px; margin-top: -24px; font-size: 34px; line-height: 1; padding-bottom: 4px; }
.ip-lbx__nav--prev { left: 16px; } .ip-lbx__nav--next { right: 16px; }
.ip-lbx.is-single .ip-lbx__nav { display: none; }
.ip-lbx__bar { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; align-items: center; gap: 16px; padding: 16px 20px; color: #fff; font: 600 15px var(--sans, Inter, sans-serif); background: linear-gradient(0deg, rgba(6,20,46,.85), rgba(6,20,46,0)); pointer-events: none; }
.ip-lbx__count { opacity: .75; font-weight: 500; font-size: 13px; }
@media (max-width: 700px) { .ip-lbx__stage { padding: 60px 12px 64px; } .ip-lbx__nav { width: 40px; height: 40px; font-size: 28px; margin-top: -20px; } .ip-lbx__nav--prev { left: 6px; } .ip-lbx__nav--next { right: 6px; } }

/* Events gallery: clickable tiles, CSS play button (the plugin's remote icon is not used) */
.iihm-inner .ip-content .eael-filterable-gallery-item-wrap { cursor: zoom-in; }
.iihm-inner .ip-content .eael-fg-video-play-icon, .iihm-inner .ip-content .eael-magnific-video-link .eael-fg-video-play-icon { display: none !important; }
.iihm-inner .ip-content .gallery-item-thumbnail-wrap.video_gallery_switch_on::after { content: ''; position: absolute; z-index: 3; top: 50%; left: 50%; width: 58px; height: 58px; margin: -29px 0 0 -29px; border-radius: 50%; background: var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") 55% 50% / 30px no-repeat; box-shadow: 0 6px 18px rgba(0,0,0,.4); transition: transform .3s; pointer-events: none; }
.iihm-inner .ip-content .eael-gallery-grid-item:hover .video_gallery_switch_on::after { transform: scale(1.12); }

/* ---- News ---------------------------------------------------------------------------------------------------------------- */
.iihm-inner .ip-newsintro { padding-bottom: 0; }
.iihm-inner .ip-news { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 28px; align-items: stretch; }
.iihm-inner .ip-news__feature { display: flex; flex-direction: column; background: #fff; border: 1px solid #e0e8f4; border-radius: 18px; overflow: hidden; box-shadow: 0 14px 36px rgba(10,52,112,.12); }
.iihm-inner .ip-news__photo { position: relative; aspect-ratio: 16 / 9; background: #dbe4f0; overflow: hidden; }
.iihm-inner .ip-news__photo a { display: block; height: 100%; cursor: zoom-in; }
.iihm-inner .ip-news__photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s; }
.iihm-inner .ip-news__feature:hover .ip-news__photo img { transform: scale(1.05); }
.iihm-inner .ip-news__tag { position: absolute; top: 16px; left: 16px; padding: 5px 14px; border-radius: 999px; background: var(--red); color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 6px 14px rgba(229,32,47,.35); }
.iihm-inner .ip-news__tag--inline { position: static; display: inline-block; margin-bottom: 10px; background: #fdecee; color: var(--red); box-shadow: none; }
.iihm-inner .ip-news__body { padding: 26px 30px 30px; }
.iihm-inner .ip-content .ip-news__body h3 { margin: 0 0 14px !important; font-family: var(--serif) !important; font-size: clamp(22px, 2vw, 28px) !important; line-height: 1.25 !important; color: var(--navy) !important; }
.iihm-inner .ip-content .ip-news__body p { margin: 0 0 12px; color: #4a5a74; font-size: 15px; line-height: 1.75; }
.iihm-inner .ip-content a.ip-news__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; font-weight: 700; font-size: 14px; color: var(--red); text-decoration: none; }
.iihm-inner .ip-content a.ip-news__more:hover { color: var(--navy); gap: 12px; }
.iihm-inner .ip-news__side { display: grid; grid-template-rows: 1fr 1fr; gap: 28px; }
.iihm-inner .ip-news__card { position: relative; display: flex; gap: 20px; padding: 26px 26px 26px 28px; background: #fff; border: 1px solid #e0e8f4; border-left: 5px solid var(--navy); border-radius: 16px; box-shadow: 0 10px 28px rgba(10,52,112,.09); transition: transform .3s, box-shadow .3s; }
.iihm-inner .ip-news__card:nth-child(2) { border-left-color: var(--red); }
.iihm-inner .ip-news__card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(10,52,112,.16); }
.iihm-inner .ip-news__ico { flex: 0 0 auto; width: 58px; height: 58px; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(145deg, #0a4a9e, #082a5d); color: #fff; box-shadow: 0 8px 18px rgba(10,52,112,.28); }
.iihm-inner .ip-news__ico--red { background: linear-gradient(145deg, #f23a48, #c91623); box-shadow: 0 8px 18px rgba(229,32,47,.3); }
.iihm-inner .ip-content .ip-news__card h3 { margin: 0 0 8px !important; font-family: var(--serif) !important; font-size: 20px !important; line-height: 1.3 !important; color: var(--navy) !important; }
.iihm-inner .ip-content .ip-news__card p { margin: 0; color: #4a5a74; font-size: 14.5px; line-height: 1.7; }
.iihm-inner .ip-newsmore { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding-top: 0; }
.iihm-inner .ip-content a.ip-newsmore__tile { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 22px 56px 22px 24px; border-radius: 14px; background: linear-gradient(100deg, #0a3c82, #082a5d); color: #fff; text-decoration: none; box-shadow: 0 10px 26px rgba(10,52,112,.2); transition: transform .3s, box-shadow .3s; }
.iihm-inner .ip-content a.ip-newsmore__tile:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(10,52,112,.3); color: #fff; }
.iihm-inner .ip-newsmore__tile strong { font-family: var(--serif); font-size: 19px; color: #fff; }
.iihm-inner .ip-newsmore__tile span { font-size: 13.5px; color: rgba(255,255,255,.82); }
.iihm-inner .ip-newsmore__tile svg { position: absolute; right: 22px; top: 50%; margin-top: -8px; color: #fff; transition: transform .3s; }
.iihm-inner .ip-newsmore__tile:hover svg { transform: translateX(5px); }
@media (max-width: 900px) { .iihm-inner .ip-news { grid-template-columns: 1fr; } .iihm-inner .ip-news__side { grid-template-rows: none; } .iihm-inner .ip-newsmore { grid-template-columns: 1fr; } }

/* ---- Blog cards: Read More lines up on every card ----------------------------------------------------------------------- */
.iihm-inner .ip-content .eael-entry-content { display: flex; flex-direction: column; }
.iihm-inner .ip-content .eael-grid-post-excerpt { flex: 1; display: flex; flex-direction: column; }
.iihm-inner .ip-content .eael-grid-post-excerpt p { flex: 1 1 auto; }
.iihm-inner .ip-content a.eael-post-elements-readmore-btn { align-self: flex-start; margin-top: auto; }
.iihm-inner .ip-content .eael-entry-header { min-height: 0; }

/* ---- Privacy policy / long text pages: even rhythm ---------------------------------------------------------------------------- */
.iihm-page-privacy-policy .ip-content .elementor-top-section > .elementor-container { max-width: 1080px !important; }
.iihm-page-privacy-policy .ip-content .elementor-widget-heading { margin: 34px 0 0 !important; }
.iihm-page-privacy-policy .ip-content .elementor-widget-heading h5.elementor-heading-title { margin: 0 0 8px !important; font-size: 21px !important; line-height: 1.3 !important; }
.iihm-page-privacy-policy .ip-content .elementor-widget-text-editor { margin: 0 !important; }
.iihm-page-privacy-policy .ip-content .elementor-widget-text-editor p, .iihm-page-privacy-policy .ip-content .elementor-widget-text-editor ol { margin: 0 0 10px; }
.iihm-page-privacy-policy .ip-content .elementor-widget-text-editor > .elementor-widget-container > :last-child { margin-bottom: 0; }
.iihm-page-privacy-policy .ip-content .elementor-widget-divider { display: none; }

/* Divider widgets only ever drew a stray red bar (the section headings already carry their own rule) */
.iihm-kind-page .ip-content .elementor-widget-divider { display: none !important; }
.iihm-inner .ip-proud__grid a { aspect-ratio: 1 / 1; }

.iihm-page-career-scope .ip-content .elementor-widget-icon-box > .elementor-widget-container,
.iihm-page-online-admission .ip-content .elementor-widget-icon-box > .elementor-widget-container { background: transparent !important; }
.iihm-page-career-scope .ip-content .ip-framed > .elementor-widget-container { width: fit-content; max-width: 100%; margin-left: auto !important; margin-right: auto !important; }
.iihm-page-career-scope .ip-content .ip-framed img { width: auto !important; max-width: 100%; max-height: 330px; object-fit: contain; }

/* facility icons */
.iihm-page-infrasructure .ip-content .ip-fac .elementor-image-box-content::before { background-repeat: no-repeat; background-position: center; background-size: 28px; background-color: #fff; }
.iihm-page-infrasructure .ip-content .ip-fac-1 .elementor-image-box-content::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 13.87A4 4 0 0 1 7.41 6a5.11 5.11 0 0 1 1.05-1.54 5 5 0 0 1 7.08 0A5.11 5.11 0 0 1 16.59 6 4 4 0 0 1 18 13.87V21H6Z'/%3E%3Cpath d='M6 17h12'/%3E%3C/svg%3E"); }
.iihm-page-infrasructure .ip-content .ip-fac-2 .elementor-image-box-content::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2M7 2v20M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7'/%3E%3C/svg%3E"); }
.iihm-page-infrasructure .ip-content .ip-fac-3 .elementor-image-box-content::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1M2 21h20M7 8v3M12 8v3M17 8v3M7 4h.01M12 4h.01M17 4h.01'/%3E%3C/svg%3E"); }
.iihm-page-infrasructure .ip-content .ip-fac-4 .elementor-image-box-content::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h20M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3M7 21l5-5 5 5'/%3E%3C/svg%3E"); }
.iihm-page-infrasructure .ip-content .ip-fac-5 .elementor-image-box-content::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1ZM20 16a8 8 0 1 0-16 0M12 4v4M10 4h4'/%3E%3C/svg%3E"); }
.iihm-page-infrasructure .ip-content .ip-fac-6 .elementor-image-box-content::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4v16M2 8h18a2 2 0 0 1 2 2v10M2 17h20M6 8v9'/%3E%3C/svg%3E"); }
.iihm-page-infrasructure .ip-content .ip-fac-7 .elementor-image-box-content::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12h20M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8M4 8l16-4M8.86 6.78l-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8'/%3E%3C/svg%3E"); }
.iihm-page-infrasructure .ip-content .ip-fac-8 .elementor-image-box-content::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='3' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E"); }
.iihm-page-infrasructure .ip-content .ip-fac-9 .elementor-image-box-content::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 6 4 14M12 6v14M8 8v12M4 4v16'/%3E%3C/svg%3E"); }

.iihm-page-infrasructure .ip-content .ip-fac:hover .elementor-image-box-content::before { background-color: #fdecee; }
/* heading-only sections hug the next block (higher specificity than the 60px rule) */
.iihm-kind-page .ip-content .elementor-top-section.elementor-element:not(.ip-stats):not(.elementor-section-stretched):has(.elementor-widget-heading):not(:has(.elementor-widget:not(.elementor-widget-heading):not(.elementor-widget-divider), .elementor-inner-section)) { padding-bottom: 0 !important; }
.iihm-kind-page .ip-content .elementor-top-section.elementor-element:not(.ip-stats):not(.elementor-section-stretched):has(.elementor-widget-heading):not(:has(.elementor-widget:not(.elementor-widget-heading):not(.elementor-widget-divider), .elementor-inner-section)) + .elementor-top-section.elementor-element { padding-top: 0 !important; }
.iihm-inner .ip-content a[href^="tel:"] { white-space: nowrap; }
.iihm-page-privacy-policy .ip-content .elementor-widget-text-editor p { text-align: left !important; }
/* Sections whose only widgets are hidden (leftover SEO copy) take no space */
.iihm-kind-page .ip-content .elementor-top-section.elementor-element:has(.elementor-widget):not(:has(.elementor-widget:not(.elementor-hidden-desktop))) { display: none !important; }
.iihm-kind-page .ip-content .elementor-top-section.elementor-element { margin-top: 0 !important; margin-bottom: 0 !important; }
.iihm-kind-page.iihm-page-infrasructure .ip-content .elementor-top-section.elementor-element:has(.elementor-widget-image-box) { padding-top: 0 !important; padding-bottom: 0 !important; }
.iihm-kind-page.iihm-page-infrasructure .ip-content .elementor-top-section.elementor-element:has(.elementor-widget-image-box):last-child { padding-bottom: 60px !important; }
.iihm-kind-page.iihm-page-infrasructure .ip-content .elementor-top-section.elementor-element:has(.elementor-widget-image-box) { margin-top: 0 !important; }
.iihm-kind-page .ip-content .elementor-top-section.elementor-element:not(.ip-stats):not(.elementor-section-stretched):has(.elementor-widget-heading):not(:has(.elementor-widget:not(.elementor-widget-heading):not(.elementor-widget-divider), .elementor-inner-section)) { margin-bottom: -30px !important; }
.iihm-kind-page .ip-content .elementor-top-section.elementor-element:not(.ip-stats):has(.elementor-widget-heading):not(:has(.elementor-widget:not(.elementor-widget-heading):not(.elementor-widget-divider), .elementor-inner-section)) .elementor-widget-heading { margin-bottom: 0 !important; }
.iihm-inner .ip-stepform .elementor-field-type-html { margin-top: 10px; padding-top: 10px; border-top: 1px dashed #dbe4f0; }
.iihm-inner .ip-stepform .elementor-field-type-html :is(h1, h2, h3, h4, h5, h6) { margin: 0 0 4px !important; font-family: var(--serif) !important; font-size: 18px !important; font-weight: 700 !important; color: var(--navy) !important; }
@media (max-width: 767px) {
  .iihm-page-online-admission .ip-content .elementor-inner-section > .elementor-container > .elementor-column { flex: 0 0 auto; width: 100% !important; }
  .iihm-page-online-admission .ip-content .elementor-widget-icon-box { height: auto; }
}
@media (max-width: 600px) { .iihm-inner .ip-news__card { flex-direction: column; gap: 14px; } .iihm-inner .ip-news__body { padding: 22px 20px 24px; } }

/* =====================================================================================================
   Course pages: tab cards, alumni cards, B.Sc. Maritime Hospitality Studies
   ===================================================================================================== */
/* Elementor tabs content shown as a card */
.iihm-inner .ip-tabcard { max-width: 980px; margin: 0 auto; padding: 30px 34px 26px; background: linear-gradient(180deg, #fff, #f6f9fe); border: 1px solid #dbe4f0; border-left: 5px solid var(--red); border-radius: 14px; box-shadow: 0 12px 32px rgba(10,52,112,.09); }
.iihm-inner .ip-content .ip-tabcard h3 { margin: 0 0 16px !important; padding-bottom: 12px; border-bottom: 1px solid #e5ecf6; font-family: var(--serif) !important; font-size: 24px !important; color: var(--navy) !important; }
.iihm-inner .ip-content .ip-tabcard ul, .iihm-inner .ip-content .ip-acc__body ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 28px; }
.iihm-inner .ip-content .ip-tabcard li, .iihm-inner .ip-content .ip-acc__body li { position: relative; margin: 0; padding-left: 30px; color: #2b3a55; font-size: 15px; line-height: 1.6; }
.iihm-inner .ip-content .ip-tabcard li::before, .iihm-inner .ip-content .ip-acc__body li::before { content: ''; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fdecee url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5202f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat; }
@media (max-width: 700px) { .iihm-inner .ip-content .ip-tabcard ul, .iihm-inner .ip-content .ip-acc__body ul { grid-template-columns: 1fr; } .iihm-inner .ip-tabcard { padding: 22px 20px; } }
.iihm-inner .ip-acc__body ul { margin-top: 4px; }

/* Placement alumni cards (replace the sliding strip) */
.iihm-inner .ip-alumni { list-style: none; margin: 0 auto; padding: 0; max-width: 1200px; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 22px; }
.iihm-inner .ip-content .ip-alumni li.ip-alum { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; padding: 26px 16px 22px; text-align: center; background: #fff; border: 1px solid #e0e8f4; border-radius: 16px; box-shadow: 0 10px 26px rgba(10,52,112,.08); transition: transform .3s, box-shadow .3s; overflow: hidden; }
.iihm-inner .ip-alum::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--red), var(--navy)); }
.iihm-inner .ip-alum:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(10,52,112,.16); }
.iihm-inner .ip-alum__ph { width: 96px; height: 96px; margin-bottom: 8px; border-radius: 50%; overflow: hidden; background: #eef4fc; box-shadow: 0 0 0 4px #fff, 0 0 0 6px #dbe4f0; }
.iihm-inner .ip-alum__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.iihm-inner .ip-alum strong { font-family: var(--serif); font-size: 17px; line-height: 1.25; color: var(--navy); }
.iihm-inner .ip-alum span:last-child { font-size: 13.5px; line-height: 1.45; color: var(--muted); }
.iihm-inner .ip-content .elementor-widget-testimonial-carousel .elementor-swiper-button { display: none; }
@media (max-width: 600px) { .iihm-inner .ip-alumni { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }

/* Course page top: duration chip + tighter copy */
.iihm-inner .ip-content h6.elementor-heading-title { display: inline-block; margin: 0 0 14px !important; padding: 6px 14px; border-radius: 999px; background: #eef4fc; color: var(--navy) !important; font-family: var(--sans) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; line-height: 1.3 !important; }
.iihm-inner .ip-content .elementor-inner-section { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.iihm-inner .ip-content .elementor-inner-section .elementor-widget-heading { margin-bottom: 0 !important; }
.iihm-inner .ip-content .elementor-inner-section .elementor-column > .elementor-widget-wrap { padding-top: 0; padding-bottom: 0; }

/* ---- B.Sc. Maritime Hospitality Studies ------------------------------------------------------------------------ */
.iihm-inner .ip-mar h2.ip-mar__h, .iihm-inner .ip-content .ip-mar__cta h2 { font-family: var(--serif) !important; }
.iihm-inner .ip-mar__hero { background: radial-gradient(900px 420px at 100% 0, #eaf2ff, rgba(234,242,255,0) 70%); max-width: none; padding-left: 0; padding-right: 0; }
.iihm-inner .ip-mar__heroin { max-width: 1362px; margin: 0 auto; padding: 0 clamp(20px, 4.7vw, 72px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.iihm-inner .ip-mar__pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.iihm-inner .ip-mar__pills span { padding: 6px 14px; border-radius: 999px; background: #fff; border: 1px solid #cfd9e8; color: var(--navy); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.iihm-inner .ip-mar__pills span:first-child { background: var(--red); border-color: var(--red); color: #fff; }
.iihm-inner .ip-content h2.ip-mar__h { margin: 0 0 12px !important; font-size: clamp(30px, 3.2vw, 46px) !important; line-height: 1.15 !important; color: var(--navy) !important; }
.iihm-inner .ip-mar__h em { font-style: normal; color: var(--red); }
.iihm-inner .ip-content p.ip-mar__sub { margin: 0 0 14px; font-size: 18px; font-weight: 600; color: var(--navy); }
.iihm-inner .ip-mar__copy p { max-width: 560px; color: #3b4a66; font-size: 16px; line-height: 1.75; }
.iihm-inner .ip-mar__btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; }
.iihm-inner .ip-content .ip-mar__btns a.ip-btn--red, .iihm-inner .ip-content .ip-mar__btns a.ip-btn--light { color: #fff; }
.iihm-inner .ip-content .ip-mar__btns a.ip-btn--ghost { color: var(--navy); }
.iihm-inner .ip-btn--light { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.55); }
.iihm-inner .ip-btn--light:hover { background: #fff; color: var(--navy) !important; }
.iihm-inner .ip-mar__media { position: relative; padding: 0 0 34px 30px; }
.iihm-inner .ip-mar__photo { position: relative; border-radius: 22px 22px 22px 90px; overflow: hidden; box-shadow: 0 26px 60px rgba(10,52,112,.28); aspect-ratio: 10 / 7.4; }
.iihm-inner .ip-mar__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.iihm-inner .ip-mar__photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,52,112,0) 55%, rgba(8,42,93,.35)); }
.iihm-inner .ip-mar__media::before { content: ''; position: absolute; right: -18px; top: 26px; width: 100%; height: 100%; border: 3px solid var(--red); border-radius: 22px 22px 22px 90px; opacity: .28; z-index: -1; }
.iihm-inner .ip-mar__chip { position: absolute; display: flex; flex-direction: column; gap: 2px; padding: 12px 18px; background: #fff; border-radius: 12px; box-shadow: 0 14px 30px rgba(10,52,112,.22); animation: ipFloat 5s ease-in-out infinite; }
.iihm-inner .ip-mar__chip strong { font-family: var(--serif); font-size: 24px; line-height: 1.1; color: var(--red); }
.iihm-inner .ip-mar__chip span { font-size: 12px; font-weight: 600; color: var(--navy); }
.iihm-inner .ip-mar__chip--a { top: 22px; left: 0; }
.iihm-inner .ip-mar__chip--b { bottom: 0; right: 22px; animation-delay: -2.5s; max-width: 200px; }
@keyframes ipFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@media (prefers-reduced-motion: reduce) { .iihm-inner .ip-mar__chip { animation: none; } }

.iihm-inner .ip-mar__facts { background: linear-gradient(100deg, #0a3c82 0%, #0a3470 50%, #082a5d 100%); color: #fff; position: relative; overflow: hidden; }
.iihm-inner .ip-mar__facts::after { content: ''; position: absolute; right: -80px; top: -140px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(229,32,47,.3), rgba(229,32,47,0) 70%); }
.iihm-inner .ip-mar__facts ul { position: relative; z-index: 1; max-width: 1362px; margin: 0 auto; padding: 34px clamp(20px, 4.7vw, 72px); list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.iihm-inner .ip-content .ip-mar__facts li { display: flex; align-items: center; gap: 16px; margin: 0; padding: 4px 24px; border-left: 1px solid rgba(255,255,255,.2); }
.iihm-inner .ip-content .ip-mar__facts li:first-child { border-left: 0; padding-left: 0; }
.iihm-inner .ip-mar__fi { flex: 0 0 auto; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.3); color: #fff; }
.iihm-inner .ip-mar__facts em { display: block; font-style: normal; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.iihm-inner .ip-mar__facts strong { display: block; margin-top: 2px; font-family: var(--serif); font-size: 19px; line-height: 1.3; color: #fff; }

.iihm-inner .ip-mar__welcome { text-align: center; }
.iihm-inner .ip-content p.ip-mar__quote { position: relative; max-width: 900px; margin: 0 auto; padding: 0 0 0; font-family: var(--serif); font-size: clamp(20px, 2vw, 26px); line-height: 1.6; color: var(--navy); }
.iihm-inner .ip-mar__quote::before { content: '\201C'; display: block; height: 40px; font-size: 80px; line-height: 1; color: var(--red); opacity: .35; }

.iihm-inner .ip-mar__why { background: #f4f8fe; max-width: none; }
.iihm-inner .ip-mar__why > * { max-width: 1362px; margin-left: auto; margin-right: auto; }
.iihm-inner .ip-mar__cards { list-style: none; margin: 40px auto 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.iihm-inner .ip-content .ip-mar__cards li { position: relative; margin: 0; padding: 30px 22px 26px; background: #fff; border-radius: 16px; border: 1px solid #e0e8f4; box-shadow: 0 10px 28px rgba(10,52,112,.07); overflow: hidden; transition: transform .3s, box-shadow .3s; }
.iihm-inner .ip-mar__cards li::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--red), var(--navy)); transform: scaleX(0); transform-origin: left; transition: transform .4s; }
.iihm-inner .ip-mar__cards li:hover { transform: translateY(-8px); box-shadow: 0 22px 44px rgba(10,52,112,.16); }
.iihm-inner .ip-mar__cards li:hover::after { transform: scaleX(1); }
.iihm-inner .ip-mar__no { position: absolute; top: 14px; right: 18px; font-family: var(--serif); font-weight: 700; font-size: 40px; line-height: 1; color: #eef2f9; }
.iihm-inner .ip-mar__ico { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 18px; background: linear-gradient(145deg, #0a4a9e, #082a5d); color: #fff; box-shadow: 0 10px 22px rgba(10,52,112,.28); transition: background .3s; }
.iihm-inner .ip-mar__cards li:hover .ip-mar__ico { background: linear-gradient(145deg, #f23a48, #c91623); }
.iihm-inner .ip-content .ip-mar__cards h3 { margin: 0 0 8px !important; font-family: var(--serif) !important; font-size: 19px !important; line-height: 1.25 !important; color: var(--navy) !important; }
.iihm-inner .ip-content .ip-mar__cards p { margin: 0; font-size: 14.5px; line-height: 1.65; color: #4a5a74; }

.iihm-inner .ip-mar__cgrid { max-width: 1200px; margin: 40px auto 0; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 28px; }
.iihm-inner .ip-mar__route, .iihm-inner .ip-mar__fields { padding: 32px 34px; border-radius: 18px; }
.iihm-inner .ip-mar__route { background: #fff; border: 1px solid #e0e8f4; box-shadow: 0 12px 32px rgba(10,52,112,.09); }
.iihm-inner .ip-content .ip-mar__route h3, .iihm-inner .ip-content .ip-mar__fields h3 { margin: 0 0 22px !important; font-family: var(--serif) !important; font-size: 21px !important; line-height: 1.3 !important; }
.iihm-inner .ip-content .ip-mar__route h3 { color: var(--navy) !important; }
.iihm-inner .ip-content .ip-mar__route ol { position: relative; list-style: none; margin: 0; padding: 0 0 0 38px; counter-reset: stop; }
.iihm-inner .ip-mar__route ol::before { content: ''; position: absolute; left: 13px; top: 8px; bottom: 8px; width: 2px; background: repeating-linear-gradient(180deg, #b9c9e2 0 6px, transparent 6px 11px); }
.iihm-inner .ip-content .ip-mar__route li { position: relative; margin: 0 0 16px; padding: 4px 0; counter-increment: stop; font-size: 16px; font-weight: 600; color: #1d3557; }
.iihm-inner .ip-content .ip-mar__route li:last-child { margin-bottom: 0; }
.iihm-inner .ip-mar__route li::before { content: counter(stop); position: absolute; left: -38px; top: 0; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--red); color: #fff; font-size: 13px; font-weight: 700; box-shadow: 0 0 0 4px #fdecee; }
.iihm-inner .ip-mar__fields { background: linear-gradient(150deg, #0a3c82, #082a5d); color: #fff; position: relative; overflow: hidden; }
.iihm-inner .ip-mar__fields::after { content: ''; position: absolute; right: -60px; bottom: -80px; width: 240px; height: 240px; border-radius: 50%; border: 36px solid rgba(255,255,255,.06); }
.iihm-inner .ip-content .ip-mar__fields h3 { color: #fff !important; }
.iihm-inner .ip-content .ip-mar__fields ul { position: relative; z-index: 1; list-style: none; margin: 0; padding: 0; }
.iihm-inner .ip-content .ip-mar__fields li { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 14px; font-size: 15.5px; line-height: 1.5; color: rgba(255,255,255,.94); }
.iihm-inner .ip-mar__ck { flex: 0 0 auto; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--red); color: #fff; }

.iihm-inner .ip-mar__cta { position: relative; overflow: hidden; background: linear-gradient(100deg, #0a3c82 0%, #0a3470 50%, #082a5d 100%); text-align: center; }
.iihm-inner .ip-mar__cta::before { content: ''; position: absolute; left: -120px; bottom: -200px; width: 420px; height: 420px; border-radius: 50%; border: 50px solid rgba(255,255,255,.05); }
.iihm-inner .ip-mar__ctain { position: relative; max-width: 900px; margin: 0 auto; padding: clamp(40px, 5vw, 64px) 24px; }
.iihm-inner .ip-content .ip-mar__cta h2 { margin: 0 !important; font-size: clamp(22px, 2.4vw, 32px) !important; line-height: 1.35 !important; color: #fff !important; }
.iihm-inner .ip-mar__cta .ip-mar__btns { justify-content: center; }
@media (max-width: 1100px) { .iihm-inner .ip-mar__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .iihm-inner .ip-mar__heroin, .iihm-inner .ip-mar__cgrid { grid-template-columns: 1fr; }
  .iihm-inner .ip-mar__facts ul { grid-template-columns: 1fr; gap: 16px; }
  .iihm-inner .ip-content .ip-mar__facts li { border-left: 0; padding: 0; }
  .iihm-inner .ip-mar__media { padding-left: 14px; }
}
@media (max-width: 600px) { .iihm-inner .ip-mar__cards { grid-template-columns: 1fr; } .iihm-inner .ip-mar__route, .iihm-inner .ip-mar__fields { padding: 24px 22px; } .iihm-inner .ip-mar__chip--b { right: 8px; } }
.iihm-page-b-sc-maritime-hospitality-studies .ip-content .elementor-top-section.placement { padding-top: 60px !important; }

/* ---- Lightbox close / arrows: SVG icons, perfectly centred -------------------------------------------------------- */
.ip-lbx__x, .ip-lbx__nav { padding: 0 !important; line-height: 0 !important; font-size: 0 !important; }
.ip-lbx__x svg, .ip-lbx__nav svg { display: block; }
.iihm-inner .ip-content .ip-mar__cards h3, .iihm-inner .ip-content .ip-mar__route h3, .iihm-inner .ip-content .ip-mar__fields h3, .iihm-inner .ip-content h2.ip-mar__h, .iihm-inner .ip-content .ip-mar__cta h2 { font-weight: 700 !important; }
.iihm-inner .ip-content .ip-alum strong, .iihm-inner .ip-mar__facts strong { font-weight: 700; }
/* Enquire / Brochure buttons sit side by side instead of in two wide columns */
.iihm-inner .ip-content .elementor-inner-section:has(.eael-creative-button) > .elementor-container { justify-content: flex-start; gap: 14px; }
.iihm-inner .ip-content .elementor-inner-section:has(.eael-creative-button) > .elementor-container > .elementor-column { width: auto !important; flex: 0 0 auto; }
.iihm-inner .ip-content .elementor-inner-section:has(.eael-creative-button) .elementor-widget-wrap { padding: 0 !important; }
.iihm-inner .ip-content .elementor-inner-section:has(.eael-creative-button) .eael-creative-button { padding: 12px 22px !important; }
.iihm-page-b-sc-in-sports-management .ip-content .elementor-inner-section .elementor-column > .elementor-widget-wrap,
.iihm-page-bachelor-of-science-in-data-science .ip-content .elementor-inner-section .elementor-column > .elementor-widget-wrap { padding-left: 0 !important; padding-right: 0 !important; }
.iihm-kind-page.iihm-page-b-sc-in-sports-management .ip-content .elementor-inner-section .elementor-container:not(#x):not(#y) > .elementor-column > .elementor-widget-wrap:not(#x):not(#y),
.iihm-kind-page.iihm-page-bachelor-of-science-in-data-science .ip-content .elementor-inner-section .elementor-container:not(#x):not(#y) > .elementor-column > .elementor-widget-wrap:not(#x):not(#y) { padding-left: 0 !important; padding-right: 0 !important; }

/* ---- HTML sitemap page ---- */
.iihm-inner .ip-sitemap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px 40px; padding-top: 50px; padding-bottom: 60px; }
.iihm-inner .ip-sitemap h2 { font-family: var(--serif); font-size: 21px; color: var(--navy); margin: 0 0 14px; padding-bottom: 10px; border-bottom: 2px solid var(--red); display: inline-block; }
.iihm-inner .ip-sitemap ul { list-style: none; margin: 0; padding: 0; }
.iihm-inner .ip-sitemap li { padding: 5px 0; font-size: 14px; line-height: 1.45; }
.iihm-inner .ip-sitemap a { color: var(--navy-ink); } .iihm-inner .ip-sitemap a:hover { color: var(--red); text-decoration: underline; }
@media (max-width: 900px) { .iihm-inner .ip-sitemap { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .iihm-inner .ip-sitemap { grid-template-columns: 1fr; padding-top: 36px; padding-bottom: 40px; } }

/* Contact details rows: Elementor pulls text widgets up by 15px, which made the address overlap the phone numbers */
.iihm-page-contact-us .ip-content .elementor-inner-section .elementor-widget-text-editor > .elementor-widget-container,
.iihm-page-fees .ip-content .elementor-inner-section .elementor-widget-text-editor > .elementor-widget-container { margin-bottom: 0 !important; }
.iihm-page-contact-us .ip-content .elementor-inner-section + .elementor-inner-section,
.iihm-page-fees .ip-content .elementor-inner-section + .elementor-inner-section { margin-top: 12px; }

/* ---- SEO landing pages: enquiry form below the content ----------------------------- */
.iihm-inner .ip-seo-form { background: #f3f7fc; padding: 72px 0 88px; margin-top: 0; }
.iihm-inner .ip-seo-form__card { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 18px 48px rgba(10, 52, 112, .14); }
.iihm-inner .ip-seo-form__aside { background: linear-gradient(150deg, #0a3470 0%, #062a5c 100%); color: #fff; padding: 44px 40px; position: relative; overflow: hidden; }
.iihm-inner .ip-seo-form__aside::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 220px; height: 220px; border-radius: 50%; background: rgba(229, 32, 47, .22); }
.iihm-inner .ip-seo-form__aside h2 { font-family: var(--serif); font-size: clamp(26px, 2.6vw, 34px); line-height: 1.2; margin: 6px 0 16px; color: #fff; text-transform: none; }
.iihm-inner .ip-seo-form__aside p { font-size: 15px; line-height: 1.7; color: rgba(255, 255, 255, .9); margin: 0 0 18px; }
.iihm-inner .ip-seo-form__aside ul { list-style: none; margin: 0; padding: 0; position: relative; z-index: 1; }
.iihm-inner .ip-seo-form__aside li { position: relative; padding: 0 0 10px 26px; font-size: 14px; line-height: 1.5; color: #fff; }
.iihm-inner .ip-seo-form__aside li::before { content: ""; position: absolute; left: 0; top: 4px; width: 14px; height: 8px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); }
.iihm-inner .ip-seo-form__form { padding: 40px 40px 34px; }
.iihm-inner .ip-seo-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.iihm-inner .ip-seo-form__grid p { margin: 0 0 16px; }
.iihm-inner .ip-seo-form__grid .ip-seo-form__wide { grid-column: 1 / -1; }
.iihm-inner .ip-seo-form label { display: block; font-size: 13px; font-weight: 600; color: var(--navy); margin-bottom: 6px; }
.iihm-inner .ip-seo-form label i { color: var(--red); font-style: normal; }
.iihm-inner .ip-seo-form input[type="text"],
.iihm-inner .ip-seo-form input[type="email"],
.iihm-inner .ip-seo-form input[type="tel"],
.iihm-inner .ip-seo-form select,
.iihm-inner .ip-seo-form textarea { width: 100%; box-sizing: border-box; height: 46px; padding: 0 14px; border: 1px solid #cfd9e8; border-radius: 5px; background: #fff; font: 400 14px/1.4 var(--sans); color: #0a1a33; }
.iihm-inner .ip-seo-form textarea { height: auto; min-height: 84px; padding: 11px 14px; resize: vertical; }
.iihm-inner .ip-seo-form input:focus,
.iihm-inner .ip-seo-form select:focus,
.iihm-inner .ip-seo-form textarea:focus { outline: 2px solid rgba(10, 52, 112, .35); outline-offset: 1px; border-color: var(--navy); }
.iihm-inner .ip-seo-form .ip-captcha { margin: 2px 0 16px; }
.iihm-inner .ip-seo-form__submit { margin: 0; }
.iihm-inner .ip-seo-form__submit .hm-btn { min-width: 190px; height: 48px; border: 0; cursor: pointer; font-size: 14px; }
.iihm-inner .ip-seo-form__submit .hm-btn:disabled { opacity: .7; cursor: not-allowed; }
.iihm-inner .ip-seo-form .ip-form-msg { margin: 14px 0 0; }
@media (max-width: 900px) {
  .iihm-inner .ip-seo-form { padding: 48px 0 56px; }
  .iihm-inner .ip-seo-form__card { grid-template-columns: 1fr; }
  .iihm-inner .ip-seo-form__aside { padding: 32px 24px; }
  .iihm-inner .ip-seo-form__form { padding: 28px 22px 26px; }
}
@media (max-width: 560px) { .iihm-inner .ip-seo-form__grid { grid-template-columns: 1fr; } }
