/* DUT Research Institutes — faculty-aligned production shell */
:root{
  --dut-primary:#4b6ca4;
  --dut-navy:#163058;
  --dut-gold:#d6b580;
  --dut-complement:#7e9acd;
  --dut-body:#333333;
  --dut-muted:#6b7280;
  --dut-content:1140px;
  --dut-gutter:20px;
  --dut-header-h:155px;
  /* Bottom padding of .dut-ri-header-row. The nav's hover/active accent bar is
     the bottom border of a stretched link, and it cancels exactly this much
     margin so the bar lands ON the header band's bottom edge instead of
     floating above it (a floating bar reads as a second border next to the
     band's boundary line). The header widget republishes this from its
     "Padding" control, so the two never drift apart. */
  --dut-header-row-pad-b:8px;
  /* Height of the institute-logo band inside a mega-menu card. The institute
     marks are landscape (≈2:1), so the band is landscape too: the logo scales
     to this height and renders about twice as wide. The header widget's
     "Institute logo size" control (setting key `mega_logo_size`) overrides this
     per breakpoint by declaring the property on the widget wrapper, so leave
     the fallback here (a nearer declaration on .dut-ri-shell would shadow it). */
  --dut-mega-logo-h:104px;
}
html{scroll-behavior:smooth}
body.elementor-page,
.elementor-page,
.elementor-kit-*,
.dut-ri-shell,
.dut-ri-shell *{
  font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif !important;
}
/* Sticky chrome */
.dut-ri-shell{position:relative;z-index:50}
.dut-ri-sticky{
  position:sticky;top:0;z-index:1000;background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
}
.dut-ri-utility{
  background:#111;color:#fff;display:flex;flex-wrap:wrap;align-items:center;
  gap:2px 4px;padding:4px 16px 0;justify-content:flex-start;
}
.dut-ri-utility a{
  display:inline-block;
  color:#fff;text-decoration:none;font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.02em;opacity:.92;white-space:nowrap;
  /* Hover is an accent bar, not a colour change or a text underline. The band's
     own bottom padding moved into the link so the bar is the last thing in the
     band and sits ON its bottom edge — with padding below it, the bar plus the
     band's boundary line read as a double border. inline-block matters: as a
     plain inline box the padding would paint but never size the band. The
     4px/4px split plus the 3px bar keeps the band's 34px height. */
  padding:4px 7px;
  border-bottom:3px solid transparent;
  transition:border-color .18s ease,opacity .18s ease;
}
.dut-ri-utility a:hover,
.dut-ri-utility a:focus-visible{
  opacity:1;color:#fff;text-decoration:none;
  border-bottom-color:var(--e-global-color-accent,#fff);
}
.dut-ri-header-row{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  max-width:var(--dut-content);margin:0 auto;padding:8px 20px;min-height:99px;background:#fff;
}
.dut-ri-logo{display:flex;align-items:center;flex:0 0 auto}
.dut-ri-logo img{display:block;width:135px;height:auto;max-height:81px;object-fit:contain}
.dut-ri-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 8px;flex:1 1 auto}
/* Nav link styling lives in the scoped Widget 01 block further down (Elementor
   global Primary + medium weight). The unscoped rules that used to sit here
   hard-coded --dut-primary and font-weight 400 and have been removed. */
.dut-ri-socials{display:flex;gap:10px;align-items:center;flex:0 0 auto}
.dut-ri-socials a{
  width:34px;height:34px;border-radius:50%;background:#4b6ca4;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
}
.dut-ri-socials a svg{width:16px;height:16px;fill:currentColor}
.dut-ri-socials a.is-empty{opacity:1;pointer-events:none;background:#4b6ca4!important;color:#fff!important}
/* Content width */
.elementor-section.elementor-section-boxed > .elementor-container,
.e-con.e-con-boxed.e-parent > .e-con-inner,
.dut-ri-wrap{
  max-width:var(--dut-content);margin-left:auto;margin-right:auto;
  padding-left:var(--dut-gutter);padding-right:var(--dut-gutter);box-sizing:border-box;
}
/* Section titles */
.elementor-widget-heading .elementor-heading-title,
.dut-ri-h2{
  color:var(--dut-primary)!important;font-size:32px!important;font-weight:700!important;
  line-height:1.15!important;margin:0 0 16px!important;
}
.elementor-widget-heading{margin-bottom:8px}
body .elementor-element.e-con.e-parent{padding-top:36px;padding-bottom:36px}
body .elementor-element.e-con.e-parent[data-element_type="container"] > .e-con-inner{max-width:var(--dut-content)}
/* Banner — light grey base so image load doesn't flash navy */
.dut-banner, .animated-container#dutBannerSkeleton_placeholder,
[id^="dutBannerContainer_"],
.elementor-widget-dut_banner .dut-banner{
  min-height:520px!important;height:auto!important;
  background-color:#e8eaed!important;
  background-size:cover;background-position:center;position:relative;
  display:flex!important;align-items:center;justify-content:flex-start;
}
.elementor-widget-dut_banner .dut-banner.dut-banner--navy-fallback{
  background-image:
    linear-gradient(115deg, rgba(22,48,88,.96) 0%, rgba(22,48,88,.88) 42%, rgba(75,108,164,.75) 100%),
    repeating-linear-gradient(-35deg, transparent, transparent 18px, rgba(255,255,255,.03) 18px, rgba(255,255,255,.03) 36px)!important;
}
.elementor-widget-dut_banner .dut-banner-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background-color:transparent!important;
  background-image:linear-gradient(90deg,
    color-mix(in srgb, var(--dut-primary,#4b6ca4) 92%, transparent) 0%,
    color-mix(in srgb, var(--dut-primary,#4b6ca4) 72%, transparent) 42%,
    transparent 100%)!important;
  opacity:1!important;
}
.elementor-widget-dut_banner .dut-banner-content{
  position:relative;z-index:3;
  text-align:left!important;max-width:var(--dut-content);margin:0 auto;padding:48px var(--dut-gutter)!important;width:100%;box-sizing:border-box;
}
.elementor-widget-dut_banner .dut-banner-kicker{
  display:inline-block;color:#fff;font-size:13px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;border-left:3px solid var(--dut-gold);padding-left:12px;margin-bottom:14px;
}
.elementor-widget-dut_banner .dut-banner-title{
  color:#fff!important;font-size:38px!important;font-weight:700!important;line-height:1.2!important;margin:0 0 10px!important;
  max-width:50%;
}
.elementor-widget-dut_banner .dut-banner-heading{
  color:#fff!important;font-size:22px!important;font-weight:400!important;line-height:1.35!important;max-width:720px;margin:0 0 22px!important;
}
.elementor-widget-dut_banner .dut-banner-cta-row{display:flex!important;flex-wrap:nowrap;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}
.elementor-widget-dut_banner .dut-banner-apply-button,
.dut-ri-btn-gold{
  background:var(--dut-gold)!important;color:#111!important;border:none;padding:12px 18px;font-weight:700;
  text-decoration:none;display:inline-block;border-radius:2px;font-size:15px;
  text-shadow:none!important;box-shadow:none!important;
}
.elementor-widget-dut_banner .dut-banner-cta-row .dut-ri-btn-ghost,
.dut-ri-btn-ghost{
  background:rgba(0,0,0,.2)!important;color:#fff!important;border:2px solid #fff!important;padding:10px 16px;
  font-weight:700;text-decoration:none;display:inline-block;border-radius:2px;font-size:15px;
  text-shadow:none!important;box-shadow:none!important;
}
/* Banner pattern — hidden until the photo has loaded, then a slow fade.
   Colours stay in each institute's SVG; this only changes opacity. */
.elementor-widget-dut_banner .dut-banner{
  overflow:hidden;
}
.elementor-widget-dut_banner .dut-banner-svg-overlay{
  position:absolute;top:0!important;right:0!important;bottom:0!important;left:0!important;
  width:100%!important;height:100%!important;z-index:2;pointer-events:none;
  background-repeat:no-repeat;
  background-position:bottom center;
  background-size:100% auto;
  transform-origin:center bottom;
  opacity:0;
  transition:opacity 1.8s ease;
}
.elementor-widget-dut_banner .dut-banner-svg-overlay.is-pattern-visible{
  opacity:1;
}
/* Home banner: tile pattern along the bottom edge (repeat-x), not a shrunk overlay box.
   Elementor's responsive overlay width/height controls must not clip the layer on tablet. */
body.elementor-page-80 .elementor-element.elementor-widget-dut_banner .dut-banner-svg-overlay{
  background-repeat:repeat-x!important;
  background-position:bottom center!important;
  background-size:auto 60%!important;
  transition:opacity 4.5s ease-in-out!important;
}
@media (max-width:1024px){
  body.elementor-page-80 .elementor-element.elementor-widget-dut_banner .dut-banner-svg-overlay{
    background-repeat:repeat-x!important;
    background-position:bottom center!important;
    background-size:auto 50%!important;
  }
}
.dut-banner-empty-slot,.dut-ri-empty-slot{
  min-height:120px;display:flex;align-items:center;justify-content:center;
  color:var(--dut-muted);font-size:15px;padding:24px;text-align:center;
}
.dut-ri-empty-slot{border:1px dashed #cfd6e4;border-radius:6px;background:#f8fafc}
/* Kill persistent skeletons once hydrated */
html[data-dut-bootstrap="ready"] .dut-loading-skeleton,
html[data-dut-bootstrap="ready"] .handbook-skeleton,
html[data-dut-bootstrap="ready"] [id^="dutBannerSkeleton_"]{
  display:none!important;
}
/* Welcome / faculty detail — Widget 03 Institute Overview (MD §4)
   Row 1: introduction (heading + message) left, logo tiles right.
   Row 2: .dut-ri-vm (placed under the grid by the widget). */
.dut-faculty-detail-default{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;
  gap:28px 48px!important;align-items:start!important;
}
.dut-faculty-left-column{display:flex;flex-direction:column;gap:14px;min-width:0}
.dut-faculty-right-column{min-width:0}
.dut-faculty-title,.dut-faculty-welcome{color:var(--dut-primary)!important}
.dut-faculty-title{
  position:relative;margin:0!important;font-size:30px!important;font-weight:700!important;
  line-height:1.25!important;padding-bottom:12px!important;
}
.dut-faculty-title::after{
  content:"";display:block;width:42px;height:3px;background:var(--dut-gold);margin-top:10px;
}
.dut-faculty-content,.dut-faculty-content p{color:var(--dut-body)!important;font-size:15px;line-height:1.55}
.dut-faculty-content p{margin:0 0 12px}
.dut-faculty-content p:last-child{margin-bottom:0}
.dut-faculty-content ul,
.dut-faculty-content ol{
  margin:18px 0;padding:14px 16px 14px 2.15em;list-style:disc outside;
  border-radius:8px;
  background-color:color-mix(in srgb, var(--e-global-color-dut_neutral, var(--e-global-color-b4f7ced)) 10%, transparent);
}
.dut-faculty-content ol{list-style:decimal outside}
.dut-faculty-content ul li,
.dut-faculty-content ol li{
  display:list-item;font-weight:500;margin:0.45em 0;line-height:1.5;
}
.dut-faculty-content ul li::marker,
.dut-faculty-content ol li::marker{
  color:var(--e-global-color-primary, var(--dut-primary));
}
/* Logo tiles — mockup order: institute mark, optional DUT / faculty marks.
   Institute tile is 2× the base tile size (DUT mark lives in the header). */
.dut-faculty-images{display:flex;gap:16px;flex-wrap:wrap;min-height:0;align-items:stretch}
.dut-ri-overview-logo{
  flex:1 1 150px;min-height:135px;display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid #e8edf5;border-radius:5px;padding:12px;box-sizing:border-box;overflow:hidden;
}
.dut-ri-overview-logo--institute{
  flex:1 1 300px!important;min-height:270px!important;max-width:320px;padding:20px;
}
.dut-ri-overview-logo img{
  max-width:100%;width:auto;height:auto;object-fit:contain!important;display:block;
}
.dut-ri-overview-logo--institute img{
  max-height:230px!important;width:auto;
}
.dut-ri-overview-logo--empty{background:#f8fafc;border-style:dashed}
.dut-faculty-images .dut-ri-logo-slot{
  display:block;width:100%;height:100%;border:0;border-radius:0;background:transparent;
}
/* Stats — hide when empty via JS class */
.elementor-widget-dut_institute_data.is-empty-stats,
.dut-faculty-data-empty{display:none!important}
.elementor-widget-dut_institute_data .dut-faculty-data,
.dut-faculty-data-container{
  background:var(--dut-primary)!important;color:#fff!important;padding:48px 20px!important;
}
/* Director message navy */
.elementor-widget-dut_institute_message .dut-faculty-message,
[id^="facultyMessageContainer_"],
.dut-faculty-message-widget{
  background:linear-gradient(105deg,var(--e-global-color-primary) 0%,var(--e-global-color-secondary) 100%)!important;color:#fff!important;padding:36px 28px!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
.elementor-widget-dut_institute_message h2,
.elementor-widget-dut_institute_message .message-title{color:#fff!important;border-bottom:2px solid var(--dut-gold);display:inline-block;padding-bottom:6px}
.elementor-widget-dut_institute_message img{width:180px;height:180px;object-fit:cover;border-radius:4px;background:#0f2342}
.dut-ri-portrait-slot{width:180px;height:180px;background:#0f2342;border-radius:4px}
/* Theme / dept cards — faculty chrome (flow layout, not absolute) */
.elementor-widget-dut_theme_grid .department-grid,
.dut-department-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px!important;
}
.elementor-widget-dut_theme_grid .department-card,
.elementor-widget-dut_theme_grid .dut-department-card,
.elementor-widget-dut_theme_grid .department-item,
.dut-department-card{
  background:#fff!important;border-radius:8px;overflow:hidden;border:1px solid #e8edf5;
  box-shadow:0 1px 2px rgba(22,48,88,.06);display:flex!important;flex-direction:column;
  border-bottom:3px solid var(--dut-gold)!important;min-height:260px;text-decoration:none;color:inherit;
  position:relative!important;height:auto!important;
}
.elementor-widget-dut_theme_grid .department-card .card-image,
.dut-department-card .card-image,
.dut-ri-card-media,
.elementor-widget-dut_theme_grid .department-item-image-container{
  aspect-ratio:16/10;background:linear-gradient(135deg,#e8eef8,#d5dfef);display:block;
  position:relative!important;top:auto!important;left:auto!important;width:100%!important;height:auto!important;
}
.elementor-widget-dut_theme_grid .dut-ri-card-media:empty,
.elementor-widget-dut_theme_grid .department-item-image-container:empty,
.dut-department-card .dut-ri-card-media:empty{
  display:none!important;aspect-ratio:auto;height:0!important;min-height:0!important;
}
.elementor-widget-dut_theme_grid .department-card h3,
.elementor-widget-dut_theme_grid .department-card .title,
.elementor-widget-dut_theme_grid .departmentgrid-item-title,
.elementor-widget-dut_theme_grid .dut-department-card .title{
  color:var(--dut-primary)!important;font-size:18px;font-weight:700;padding:32px 16px 18px;margin:0;
  position:static!important;background:var(--e-global-color-dut_highlight,var(--e-global-color-dc866cd))!important;min-height:0!important;display:block!important;
}
.elementor-widget-dut_theme_grid .department-card p,
.elementor-widget-dut_theme_grid .dut-department-card-excerpt{
  padding:0 16px 16px;margin:0;color:var(--dut-body);font-size:15px;line-height:22px;background:var(--e-global-color-dut_highlight,var(--e-global-color-dc866cd));flex:1;
}
.elementor-widget-dut_theme_grid .dut-theme-card-explore{
  background:var(--e-global-color-dut_highlight,var(--e-global-color-dc866cd))!important;
  color:var(--e-global-color-secondary)!important;
}
/* Hide orphan bullet lists under theme grids when cards present */
.elementor-widget-dut_theme_list{display:none!important}
/* Faculty list hub cards */
.elementor-widget-dut_institute_list .faculty-card,
.dut-faculty-list .faculty-item,
.dut-faculty-card{
  border:1px solid #e8edf5;border-radius:8px;overflow:hidden;border-bottom:3px solid var(--dut-gold)!important;
  background:#fff;display:flex;flex-direction:column;
}
.dut-faculty-card .faculty-link{
  display:flex;flex:1;flex-direction:column;height:100%;
}
.dut-faculty-list .faculty-image,
.dut-faculty-card .faculty-image,
.dut-faculty-card .dut-ri-card-media{
  width:100%;aspect-ratio:16/10;object-fit:contain;object-position:center;display:block;
  box-sizing:border-box;padding:20px 18px;background:#fff!important;min-height:140px;height:auto!important;
}
.dut-faculty-list .faculty-content,
.dut-faculty-card-base{
  background:#f0e7d9;padding:14px 16px 16px;flex:0 0 100px;height:100px;box-sizing:border-box;overflow:hidden;
}
.dut-faculty-list .faculty-content h3,
.dut-faculty-card-base h3{
  color:var(--dut-primary)!important;font-size:18px;font-weight:700;margin:0 0 6px;
}
.dut-faculty-list .faculty-excerpt{color:var(--dut-body);font-size:15px;line-height:22px;margin:0}
/* Staff photo grid (research mockup preference) */
.elementor-widget-dut_institute_member .faculty-members-grid,
.dut-faculty-members-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 51px!important;
}
.elementor-widget-dut_institute_member .member-card,
.elementor-widget-dut_institute_member .dut-faculty-member-item{
  background:#fff;border:1px solid #e8edf5;border-radius:6px;overflow:hidden;padding:0;
}
.elementor-widget-dut_institute_member .member-card--placeholder{opacity:.35;pointer-events:none;min-height:220px}
.elementor-widget-dut_institute_member .member-card-body{padding:12px 12px 16px}
.elementor-widget-dut_institute_member .dut-faculty-member-grid,
.dut-faculty-members-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 51px!important;
  min-height:240px;
}
.elementor-widget-dut_institute_member .elementor-widget-container{min-height:0}
/* Reduce dead white under sparse staff grids */
.elementor-widget-dut_institute_member{margin-bottom:8px}
.elementor-widget-dut_institute_member .member-card img,
.dut-ri-staff-photo{
  width:100%;aspect-ratio:1;object-fit:cover;background:#dbe3f0;display:block;
}
.elementor-widget-dut_institute_member .member-name{color:var(--dut-primary)!important;font-weight:700}
/* Featured director 2-col on staff */
.dut-ri-featured-director{
  display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:start;
  background:var(--dut-navy);color:#fff;padding:32px;margin-bottom:28px;
}
/* Contacts — default (non–Widget-11 / legacy card layouts elsewhere) */
.elementor-widget-dut_institute_contacts .contacts-container,
.dut-contacts-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:left!important;
}
.elementor-widget-dut_institute_contacts{text-align:left!important}
.dut-ri-map-slot{
  min-height:260px;background:#e8eef6;border:1px solid #d5deec;border-radius:8px;
  display:flex;align-items:center;justify-content:center;color:var(--dut-muted);
}

/* =====================================================================
   Widget 11 — Institute Contact & Location (dut_institute_contacts)
   MD §12: white band, 50% contact / 50% map. Left has two equal
   subcolumns (emails | location) with ~32px Primary icons and a subtle
   vertical divider. Map ≈ 180px. No cards.
   ===================================================================== */
.dut-ri-icl{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:28px 40px;
  align-items:start;
  width:100%;
  background:#fff;
}
.dut-ri-icl__contact{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) auto minmax(0,.9fr);
  gap:0 28px;
  align-items:stretch;
  min-width:0;
}
.dut-ri-icl__col{min-width:0}
.dut-ri-icl__divider{
  width:1px;
  align-self:stretch;
  min-height:100%;
  background:#E2E7EE;
}
.dut-ri-icl__row{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin:0 0 22px;
}
.dut-ri-icl__row:last-child{margin-bottom:0}
.dut-ri-icl__icon{
  width:32px;height:32px;flex:0 0 32px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--e-global-color-primary,var(--dut-primary));
  color:#fff;
  border-radius:4px;
}
.dut-ri-icl__icon svg{display:block;width:18px;height:18px}
.dut-ri-icl__text{min-width:0;padding-top:1px}
.dut-ri-icl__label{
  color:#6B7280;
  font-size:13px;
  font-weight:600;
  line-height:1.3;
  margin:0 0 4px;
}
.dut-ri-icl__value{
  color:var(--e-global-color-primary,var(--dut-primary));
  font-size:15px;
  font-weight:700;
  line-height:1.45;
  word-break:normal;
  overflow-wrap:anywhere;
}
.dut-ri-icl__emails .dut-ri-icl__value,
.dut-ri-icl__emails .dut-ri-icl__value a{
  white-space:nowrap;
}
.dut-ri-icl__location .dut-ri-icl__value{
  color:#4B5563;
  font-weight:400;
  font-size:14px;
  line-height:1.55;
}
.dut-ri-icl__value a{
  color:var(--e-global-color-primary,var(--dut-primary))!important;
  font-weight:700;
  text-decoration:none;
}
.dut-ri-icl__value a:hover{text-decoration:underline}
.dut-ri-icl__map{min-width:0}
.dut-ri-icl__map-canvas{
  width:100%;
  height:180px;
  min-height:180px;
  background:#F3F5F8;
  border:1px solid #E2E7EE;
  border-radius:4px;
  overflow:hidden;
}
.dut-ri-icl__map-frame{
  display:block;width:100%;height:100%;border:0;
}
.dut-ri-icl__map-placeholder{
  display:flex;align-items:center;justify-content:center;
  color:var(--dut-muted);font-size:13px;line-height:1.45;text-align:center;padding:16px;
}
.dut-ri-icl__empty{margin:0;color:#6B7280;font-size:14px;line-height:1.5}
@media (max-width:960px){
  .dut-ri-icl{grid-template-columns:1fr!important;gap:24px}
  .dut-ri-icl__contact{grid-template-columns:1fr!important;gap:18px}
  .dut-ri-icl__divider{width:100%;height:1px;min-height:0}
  .dut-ri-icl__emails .dut-ri-icl__value,
  .dut-ri-icl__emails .dut-ri-icl__value a{white-space:normal}
}

/* Home section chrome: heading + Widget 11; hide legacy campus sibling */
.elementor-page-80 .dut-ri-section--institute-contact{
  background:#fff!important;
  padding-top:28px!important;
  padding-bottom:40px!important;
}
.elementor-page-80 .dut-ri-section--institute-contact > .e-con-inner{
  display:flex!important;
  flex-direction:column!important;
  gap:20px!important;
  align-items:stretch!important;
  max-width:var(--dut-content);
  margin:0 auto;
  padding-left:var(--dut-gutter)!important;
  padding-right:var(--dut-gutter)!important;
  box-sizing:border-box!important;
}
.elementor-page-80 .dut-ri-section--institute-contact > .e-con-inner > .elementor-widget-heading{margin:0}
.elementor-page-80 .dut-ri-section--institute-contact > .e-con-inner > .elementor-widget-dut_institute_contacts{
  width:100%;min-width:0;margin:0;
}
.elementor-page-80 .dut-ri-section--institute-contact > .e-con-inner > .elementor-widget-dut_campus_widget,
.elementor-page-80 .dut-ri-section--institute-contact > .e-con-inner > .elementor-widget-dut_social_media{
  display:none!important;
}
.elementor-page-80 .dut-ri-section--institute-contact .elementor-heading-title{
  color:var(--e-global-color-primary,var(--dut-primary))!important;
  font-size:30px!important;
  font-weight:700!important;
  line-height:1.25!important;
  margin:0!important;
}
@media (max-width:800px){
  .elementor-page-80 .dut-ri-section--institute-contact .elementor-heading-title{font-size:25px!important}
}
/* Handbook blue band */
.elementor-widget-dut_institute_handbook .dut-faculty-handbook-container,
[id^="dutFacultyHandbookContainer_"]{
  background:var(--dut-primary)!important;padding:40px 28px!important;display:block!important;
}
.elementor-widget-dut_institute_handbook .dut-faculty-handbook-title{color:#fff!important}
.elementor-widget-dut_institute_handbook .dut-handbook-list-item a,
.elementor-widget-dut_institute_handbook .dut-faculty-handbook-button{
  background:#fff!important;color:var(--dut-primary)!important;border-radius:6px!important;
  padding:12px 18px!important;font-weight:700!important;display:inline-block;
}
/* Opportunities panels */
.dut-ri-opp-panel{
  background:linear-gradient(105deg,var(--e-global-color-secondary) 0%,var(--e-global-color-dut_complementary,var(--e-global-color-d367be2)) 100%);color:#fff;border-radius:8px;padding:28px;min-height:180px;
  display:flex;flex-direction:column;justify-content:flex-end;
}
.dut-ri-opp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:16px}
.dut-ri-opp-panel h3{color:#fff;margin:0 0 8px;font-size:22px}
.dut-ri-opp-panel p{color:#e5eaf3;margin:0 0 14px;line-height:1.5}
/* Join CTA — full-bleed subscription banner; boxed copy via .dut-ri-join-inner */
.dut-ri-join{
  position:relative;width:100%;min-height:210px;margin:0!important;padding:0!important;
  display:flex;align-items:center;justify-content:center;
  color:#fff;border-radius:0!important;overflow:hidden;
  background-color:var(--dut-navy,#163058);
}
.dut-ri-join__photo{
  position:absolute;inset:0;
  background-color:var(--dut-navy,#163058);
  background-position:center center;background-size:cover;background-repeat:no-repeat;
}
.dut-ri-join__overlay{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,
    color-mix(in srgb,var(--dut-navy,#163058) 92%,transparent) 0%,
    color-mix(in srgb,var(--dut-navy,#163058) 78%,transparent) 42%,
    color-mix(in srgb,var(--dut-navy,#163058) 45%,transparent) 100%);
}
.dut-ri-join-inner{
  position:relative;z-index:1;width:100%;max-width:var(--dut-content);
  margin:0 auto;padding:36px 20px;box-sizing:border-box;text-align:left;
}
.dut-ri-join h2{color:#fff!important;font-size:28px;margin:0 0 10px;max-width:720px;line-height:1.2}
.dut-ri-join-inner > p{color:#e5eaf3;max-width:720px;margin:0;line-height:1.55;font-size:16px}
.dut-ri-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.dut-ri-btn-outline{border:2px solid var(--dut-primary);color:var(--dut-primary);background:transparent;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-block}
.dut-ri-join .dut-ri-btn-outline{border-color:#fff;color:#fff}
/* Footer — Widget 12 (dut_institutional_footer), MD §13
   Main band #303030, bottom strip #252525. Page-agnostic: applies wherever the
   widget is placed (the legacy rule was an HTML widget on every page). */
.dut-ri-footer{background:#303030;color:#fff}
.dut-ri-footer-inner{
  max-width:var(--dut-content);margin:0 auto;padding:32px 20px;
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;
}
.dut-ri-footer h4{color:#fff;font-size:14px;font-weight:600;margin:0 0 12px}
.dut-ri-footer a{color:#D1D5DB;text-decoration:none}
.dut-ri-footer a:hover{color:#fff}
.dut-ri-footer-logo{max-width:140px;height:auto;margin-bottom:14px;display:block}
/* Address uses the supporting/secondary scale — smaller than the 13px links. */
.dut-ri-footer-address{margin:0 0 10px;color:#D1D5DB;font-size:12px;line-height:1.55}
.dut-ri-footer-contact{margin:0;color:#D1D5DB;font-size:12.5px;line-height:1.6}
.dut-ri-footer-links{display:flex;flex-direction:column;align-items:flex-start}
.dut-ri-footer-links a{
  color:#D1D5DB;text-decoration:none;font-size:13px;display:block;padding:4px 0;
}
.dut-ri-footer-links a:hover{color:#fff}
.dut-ri-footer-legal{border-top:1px solid #3a3a3a;background:#252525}
.dut-ri-footer-legal-inner{
  padding:12px 20px;display:flex;flex-wrap:wrap;gap:10px 24px;
  align-items:center;justify-content:space-between;
  max-width:var(--dut-content);margin:0 auto;font-size:12px;color:#D1D5DB;
}
.dut-ri-footer-legal a{color:#D1D5DB;text-decoration:none}
.dut-ri-footer-legal a:hover{color:#fff}
.dut-ri-footer-legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px}
.dut-ri-footer-copyright{color:#D1D5DB}
.dut-ri-footer .dut-ri-socials a,
.dut-ri-footer .dut-ri-socials a.is-empty{
  background-color:var(--e-global-color-primary,var(--dut-primary))!important;
  color:#fff!important;opacity:1;pointer-events:auto;
}
.dut-ri-footer .dut-ri-socials a .ph{font-size:16px;line-height:1}
/* Footer hugs the page bottom — no gap above it. */
.e-con.e-parent:has(.dut-ri-footer),
.elementor-widget-dut_institutional_footer{
  padding-top:0!important;padding-bottom:0!important;margin-bottom:0!important;
}
.elementor-widget-dut_institutional_footer > .elementor-widget-container{
  margin:0!important;padding:0!important;
}
/* Sticky footer. A page shorter than the viewport (the institutes hub is 772px
   in a 900px window) would otherwise leave the footer floating with raw page
   background beneath it. On Elementor Canvas the body wraps a single
   `.elementor` document root, so making that a column flex container and giving
   the footer's section `margin-top:auto` pushes it to the bottom edge — and
   costs nothing when the page is already taller than the viewport (free space
   is 0, so the auto margin resolves to 0). */
body.elementor-template-canvas:has(.dut-ri-footer){
  min-height:100vh;display:flex;flex-direction:column;
}
body.elementor-template-canvas:has(.dut-ri-footer) > .elementor{
  flex:1 1 auto;display:flex;flex-direction:column;
}
body.elementor-template-canvas:has(.dut-ri-footer) > .elementor > .e-con.e-parent:has(.dut-ri-footer){
  margin-top:auto;
}
/* The institute-palette widget (`faculty_widget`) is a pure colour-remap
   helper: render() emits only hidden data inputs plus a script that injects
   the institute palette <style>. It must not contribute a box at all.
   Zeroing its height is NOT enough — a 0-height flex item still claims one
   `gap` in the parent column container (Elementor's 20px widget spacing), which
   pushed the black utility band 20px down the page whenever the element sat
   inside the header container (page 83). Taking it out of layout is the
   page-agnostic fix and works whether it sits above the header or inside it. */
.elementor-widget-faculty_widget,
.elementor-widget-faculty_widget > .elementor-widget-container{
  display:none!important;
  margin:0!important;padding:0!important;min-height:0!important;height:0!important;
}
/* Belt and braces: nothing may add space above the black bar / white band. */
.elementor-widget-dut_institute_header,
.elementor-widget-dut_institute_header > .elementor-widget-container,
body .elementor .e-con.e-parent:has(.dut-ri-shell){
  margin-top:0!important;
}
@media (max-width:960px){
  .dut-ri-header-row{flex-wrap:wrap;min-height:auto}
  .dut-faculty-detail-default,
  .elementor-widget-dut_theme_grid .department-grid,
  .elementor-widget-dut_institute_member .faculty-members-grid,
  .elementor-widget-dut_institute_contacts .contacts-container,
  .dut-ri-footer-inner,
  .dut-ri-opp-grid{grid-template-columns:1fr!important}
  .dut-ri-utility{display:none}
  .dut-ri-overview-logo--institute{
    flex:1 1 100%!important;min-height:220px!important;max-width:280px;
  }
  .dut-ri-overview-logo--institute img{max-height:180px!important}
}
/* Hide legacy standalone Apply when CTA row rebuilt */
.elementor-widget-dut_banner .dut-banner-content > .dut-banner-apply-button{display:none!important}
.elementor-widget-dut_banner .dut-banner-cta-row{display:flex!important;flex-wrap:wrap;align-items:center;gap:12px}
.elementor-widget-dut_banner .dut-banner-cta-row > a{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;line-height:1.2;margin:0!important;vertical-align:middle}
/* Handbook empty-state stays on solid blue band */
.dut-ri-handbook-empty{
  color:#fff;text-align:center;padding:28px 16px;width:100%;
}
.dut-ri-handbook-empty p{margin:0;font-size:18px;font-weight:600;color:#fff!important}
.elementor-widget-dut_institute_handbook .dut-faculty-handbook-container,
[id^="dutFacultyHandbookContainer_"]{
  min-height:160px!important;opacity:1!important;
}
/* Map slot inside Visit us / campus widget */
.dut-campus-data-container .dut-ri-map-slot,
.dut-campus-data-grid .dut-ri-map-slot{width:100%;min-height:260px}
/* Orphan post-footer map HTML widgets — hide; campus widget owns placeholder */
.elementor-widget-html .dut-ri-map-slot{/* kept when in content */}
body .elementor-location-footer ~ .elementor-element .dut-ri-map-slot{display:none}

/* header social force — slate blue, not muted grey */
.dut-ri-header-row .dut-ri-socials a,
.dut-ri-shell .dut-ri-socials a,
.elementor-widget-dut_social_media a,
.elementor-widget-dut_social_media .dut-social-icon{
  background:#4b6ca4!important;color:#fff!important;opacity:1!important;
}

/* Round-3b: force staff 4-col chrome even when Elementor columns=3 */
.elementor-widget-dut_institute_member .dut-faculty-member-grid,
.elementor-widget-dut_institute_member .dut-faculty-members-grid,
.dut-faculty-members-grid,
[id^="dutFacultyMemberContainer_"]{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px 40px!important;
}
@media (max-width:1024px){
  .elementor-widget-dut_institute_member .dut-faculty-member-grid,
  [id^="dutFacultyMemberContainer_"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* Contact cards left-aligned in grid, not centered lone card */
.elementor-widget-dut_institute_contacts .contacts-container,
.elementor-widget-dut_institute_contacts [id^="dutFacultyContactsContainer_"]:not(.dut-ri-icl),
.dut-contacts-grid{
  justify-items:stretch!important; justify-content:start!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.elementor-widget-dut_institute_contacts .elementor-widget-container{text-align:left!important}
/* Banner CTA single baseline */
.elementor-widget-dut_banner .dut-banner-cta-row > a{
  height:44px!important; box-sizing:border-box; padding:0 18px!important;
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  font-size:15px!important; text-shadow:none!important; box-shadow:none!important;
}
@media (max-width:768px){
  .elementor-widget-dut_banner .dut-banner-title{max-width:100%}
}

/* ===== Round-4 visual blockers ===== */
/* Empty stats: hide parent navy band when widget marked empty or display:none */
.elementor-element.dut-ri-stats-band:has(.elementor-widget-dut_institute_data.is-empty-stats),
.elementor-element.dut-ri-stats-band:has(.dut-faculty-data-empty),
.elementor-element:has(> .elementor-widget-wrap > .elementor-widget-dut_institute_data.is-empty-stats),
.elementor-element:has(.elementor-widget-dut_institute_data.is-empty-stats){
  display:none!important;min-height:0!important;padding:0!important;margin:0!important;
  background:transparent!important;
}
.elementor-widget-dut_institute_data.is-empty-stats{display:none!important}

/* Staff card portraits — prefer <img> so CSS bg longhands cannot wipe CMS photo */
.elementor-widget-dut_institute_member .dut-faculty-member-image,
.elementor-widget-dut_institute_member .dut-ri-staff-photo,
.member-card .dut-faculty-member-image{
  width:100%!important;aspect-ratio:1/1!important;min-height:160px!important;
  background-color:#dbe3f0;display:block!important;overflow:hidden;position:relative;
}
.elementor-widget-dut_institute_member .dut-faculty-member-image img,
.elementor-widget-dut_institute_member .dut-ri-staff-photo img{
  width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;
  display:block!important;position:absolute;inset:0;
}
.elementor-widget-dut_institute_member .member-card .dut-faculty-member-link{
  display:contents!important;
}

/* Cut dead space after Featured Director band */
.dut-ri-featured-band{padding-top:12px!important;padding-bottom:8px!important;margin-bottom:0!important}
.dut-ri-featured-band .elementor-widget-dut_institute_message .dut-faculty-message,
.dut-ri-featured-band [id^="facultyMessageContainer_"],
.dut-ri-featured-band .dut-faculty-message-widget{
  padding:24px 22px!important;margin-bottom:0!important;
}
.dut-ri-featured-band + .elementor-element,
.elementor-element.dut-ri-featured-band ~ .elementor-element{
  padding-top:16px!important;
}

/* Contact Visit us | Contacts two-column */
.dut-ri-contact-cols,
.elementor-element.dut-ri-contact-cols{
  display:flex!important;flex-wrap:wrap!important;gap:28px 24px!important;align-items:flex-start!important;
}
.dut-ri-contact-cols > .e-con,
.dut-ri-contact-col{
  flex:1 1 420px!important;min-width:min(100%,320px)!important;max-width:100%!important;
}
.dut-ri-contact-col--visit .dut-ri-map-slot,
.dut-ri-contact-col--visit .dut-campus-data-container,
.dut-ri-contact-col--visit [id^="dutCampus"]{
  min-height:280px!important;
}
.dut-ri-contact-col--cards .elementor-widget-dut_institute_contacts .contacts-container,
.dut-ri-contact-col--cards .elementor-widget-dut_institute_contacts [id^="dutFacultyContactsContainer_"]:not(.dut-ri-icl){
  grid-template-columns:1fr!important;
}

/* Welcome row stacks on narrow screens (grid columns live with the widget
   block above: introduction left, logo tiles right). */
@media (max-width:800px){
  .dut-faculty-detail-default{grid-template-columns:1fr!important}
  .dut-ri-contact-cols{flex-direction:column!important}
}
/* Staff photo height override — kill widget height:0 padding-bottom trick on cards */
.elementor-widget-dut_institute_member .member-card .dut-faculty-member-image,
.elementor-widget-dut_institute_member .member-card .dut-ri-staff-photo{
  height:auto!important;padding-bottom:0!important;min-height:0!important;
  aspect-ratio:1/1!important;
}
.elementor-widget-dut_institute_member .member-card .dut-faculty-member-image img{
  position:static!important;width:100%!important;height:auto!important;aspect-ratio:1/1!important;
  object-fit:cover!important;display:block!important;
}

/* Vision & Mission — own row under the introduction (Widget 03 §4) */
.dut-ri-vm{
  display:grid;grid-template-columns:1fr 1fr;gap:28px 40px;
  max-width:var(--dut-content);margin:28px auto 8px;padding:8px 0 12px;
}
.dut-ri-vm__col{background:#fff;border:1px solid rgba(22,48,88,.08);border-radius:10px;padding:22px 24px 20px;box-shadow:0 1px 2px rgba(22,48,88,.04)}
.dut-ri-vm__icon{
  width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(75,108,164,.12);color:var(--dut-primary);margin-bottom:12px;
}
.dut-ri-vm__title{margin:0 0 10px!important;color:var(--dut-navy)!important;font-size:22px!important;font-weight:700!important;line-height:1.25!important}
.dut-ri-vm__body{color:var(--dut-body);font-size:16px;line-height:1.6}
.dut-ri-vm__body p{margin:0 0 .75em}
.dut-ri-vm__body p:last-child{margin-bottom:0}
@media (max-width:768px){.dut-ri-vm{grid-template-columns:1fr;gap:16px}}

/* ===== HOME-MD align (2026-09-29) ===== */
.dut-ri-section-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;
  max-width:var(--dut-content);margin:0 auto 12px;padding:0 var(--dut-gutter);box-sizing:border-box;
}
.dut-ri-section-link{color:var(--dut-primary)!important;font-weight:600;font-size:14px;text-decoration:none}
.dut-ri-section-link:hover{text-decoration:underline}
.dut-ri-h2,.elementor-widget-heading .elementor-heading-title{
  position:relative;padding-bottom:10px!important;
}
.dut-ri-h2::after,.elementor-widget-heading .elementor-heading-title::after{
  content:"";display:block;width:42px;height:3px;background:var(--dut-gold);margin-top:8px;
}
/* Vision/Mission — horizontal icon + text per MD */
.dut-ri-vm__col{
  display:grid;grid-template-columns:66px 1fr;grid-template-rows:auto auto;column-gap:16px;row-gap:6px;
  align-items:start;padding:22px!important;
}
.dut-ri-vm__icon{
  grid-row:1 / span 2;width:66px!important;height:66px!important;background:#f2e8d7!important;color:var(--dut-primary);
}
.dut-ri-vm__title{grid-column:2;margin:0!important;font-size:18px!important;color:var(--dut-primary)!important}
.dut-ri-vm__body{grid-column:2;font-size:14px;line-height:1.55}
/* Stats band compact */
.elementor-widget-dut_institute_data .dut-faculty-data,
.dut-faculty-data-container{
  padding:28px 20px!important;background:var(--dut-primary)!important;
}
.dut-faculty-data-grid{
  max-width:var(--dut-content)!important;width:100%!important;margin:0 auto;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;justify-content:stretch!important;
}
.dut-faculty-data-item{position:relative;padding:8px 16px}
.dut-faculty-data-item:not(:last-child)::after{
  content:"";position:absolute;right:0;top:15%;bottom:15%;width:1px;background:rgba(255,255,255,.28);
}
.dut-faculty-data-number{font-size:52px!important;line-height:1.05;color:#fff!important;font-weight:700;font-variant-numeric:tabular-nums}
.dut-faculty-data-title{font-size:14px!important;color:#fff!important;font-weight:500!important}
.dut-faculty-data-icon svg,.dut-faculty-data-icon img{width:36px!important;height:36px!important}
@media (max-width:767px){
  .dut-faculty-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dut-faculty-data-item:nth-child(2n)::after{display:none}
  .dut-faculty-data-number{font-size:36px!important}
}
/* Theme cards — tan body, icon circle */
.elementor-widget-dut_theme_grid .department-card,
.elementor-widget-dut_theme_grid .dut-department-card{
  background:var(--e-global-color-dut_highlight,var(--e-global-color-dc866cd))!important;border:1px solid #e2e7ee!important;border-radius:5px!important;
  border-bottom:1px solid #e2e7ee!important;min-height:190px!important;box-shadow:none;
}
.elementor-widget-dut_theme_grid .department-card h3,
.elementor-widget-dut_theme_grid .departmentgrid-item-title,
.elementor-widget-dut_theme_grid .department-card .title{
  background:transparent!important;color:var(--dut-primary)!important;font-size:17px!important;
}
.elementor-widget-dut_theme_grid .department-card p,
.elementor-widget-dut_theme_grid .dut-department-card-excerpt{
  background:transparent!important;font-size:13px!important;line-height:1.45;
}
/* Opportunities */
.dut-ri-opp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:8px}
.dut-ri-opp-panel{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;
  min-height:190px;padding:22px 20px 18px;border-radius:5px;text-decoration:none!important;
  color:#fff!important;
  background:linear-gradient(105deg,var(--e-global-color-secondary) 0%,var(--e-global-color-dut_complementary,var(--e-global-color-d367be2)) 100%)!important;
}
.dut-ri-opp-panel h3{color:#fff!important;margin:0;font-size:18px;font-weight:700}
.dut-ri-opp-panel p{color:#e8eef8!important;margin:0;font-size:13px;line-height:1.45}
.dut-ri-opp-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;background:rgba(255,255,255,.96);padding:8px 10px;border-radius:4px}
.dut-ri-opp-chip{font-size:11px;color:var(--dut-primary);font-weight:600}
.dut-ri-opp-arrow{
  position:absolute;right:14px;bottom:14px;width:36px;height:36px;border-radius:50%;
  background:#fff;color:var(--dut-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;
}
/* Partner faculties — fixed 6-column grid (tile size stays modest when fewer partners) */
.dut-ri-partner-grid{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;
  max-width:var(--dut-content);margin:0 auto;align-items:start;
}
.dut-ri-partner-grid .dut-ri-partner-card{
  display:block!important;
  width:100%!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden;
  text-decoration:none!important;
  color:#fff!important;
}
.dut-ri-partner-grid .dut-ri-partner-media{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-sizing:border-box;
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
}
.dut-ri-partner-grid .dut-ri-partner-body{display:none!important}
.dut-ri-partner-media:is(img){display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.dut-ri-partner-card:hover{filter:brightness(.96)}
@media (max-width:900px){
  .dut-ri-partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .dut-ri-opp-grid{grid-template-columns:1fr!important}
}
@media (max-width:520px){
  .dut-ri-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* Featured staff — Widget 10 mockup: horizontal cards, portrait left, copy + CTA right */
.elementor-widget-dut_institute_member .dut-faculty-member-grid,
.elementor-widget-dut_institute_member .dut-faculty-members-grid,
.dut-faculty-members-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  min-height:0!important;
}
.elementor-widget-dut_institute_member .member-card,
.elementor-widget-dut_institute_member .member-card--featured,
.elementor-widget-dut_institute_member .dut-faculty-member-item{
  display:grid!important;
  grid-template-columns:110px 1fr;
  align-items:stretch;
  gap:12px;
  min-height:145px;
  height:100%;
  padding:10px!important;
  background:#f3f5f8!important;
  border:1px solid #e2e7ee!important;
  border-radius:4px!important;
  overflow:hidden;
  box-shadow:none!important;
}
.elementor-widget-dut_institute_member .member-card--placeholder{display:none!important}
.elementor-widget-dut_institute_member .member-card-media,
.elementor-widget-dut_institute_member .member-card .dut-faculty-member-image,
.elementor-widget-dut_institute_member .member-card .dut-ri-staff-photo{
  width:110px!important;
  min-width:110px!important;
  max-width:110px!important;
  height:125px!important;
  min-height:125px!important;
  aspect-ratio:auto!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden;
  background-color:#dbe3f0;
  align-self:center;
}
.elementor-widget-dut_institute_member .member-card .dut-faculty-member-image img,
.elementor-widget-dut_institute_member .member-card .dut-ri-staff-photo img{
  position:static!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
  display:block!important;
  aspect-ratio:auto!important;
}
.elementor-widget-dut_institute_member .member-card-body{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:6px;
  padding:2px 4px 2px 0!important;
  min-width:0;
}
.elementor-widget-dut_institute_member .member-card .dut-faculty-member-name,
.elementor-widget-dut_institute_member .member-card .member-name{
  margin:0!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:var(--e-global-color-primary,var(--dut-primary))!important;
}
.elementor-widget-dut_institute_member .member-card .dut-faculty-member-position,
.elementor-widget-dut_institute_member .member-card .dut-faculty-member-department{
  margin:0!important;
  font-size:12px!important;
  line-height:1.4!important;
  color:var(--dut-body,#333)!important;
  font-weight:400!important;
}
.elementor-widget-dut_institute_member .member-card .view-profile-btn{
  display:inline-flex!important;
  align-items:center;
  align-self:flex-start;
  margin-top:8px!important;
  min-height:30px;
  padding:4px 12px!important;
  border:1px solid var(--e-global-color-primary,var(--dut-primary))!important;
  border-radius:3px!important;
  background:transparent!important;
  color:var(--e-global-color-primary,var(--dut-primary))!important;
  font-size:12px!important;
  font-weight:600!important;
  text-decoration:none!important;
  line-height:1.2!important;
}
.elementor-widget-dut_institute_member .member-card .view-profile-btn:hover{
  background:color-mix(in srgb, var(--e-global-color-primary,var(--dut-primary)) 10%, #fff)!important;
}
.elementor-widget-dut_institute_member .member-card .dut-faculty-member-link{display:contents}
.elementor-page-80 .dut-ri-section--featured-staff > .e-con-inner{
  max-width:var(--dut-content);margin-left:auto;margin-right:auto;width:100%;
}
.elementor-page-80 .dut-ri-section--featured-staff .dut-ri-section-head{
  width:100%;max-width:none;margin:0 0 14px;padding:0;
}
.elementor-page-80 .dut-ri-section--featured-staff .elementor-widget-heading{display:none!important}
@media (max-width:900px){
  .elementor-widget-dut_institute_member .dut-faculty-member-grid,
  .elementor-widget-dut_institute_member .dut-faculty-members-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:600px){
  .elementor-widget-dut_institute_member .dut-faculty-member-grid,
  .elementor-widget-dut_institute_member .dut-faculty-members-grid{grid-template-columns:1fr!important}
}
/* Director band */
.elementor-widget-dut_institute_message .dut-faculty-message,
[id^="facultyMessageContainer_"]{
  background:linear-gradient(105deg, var(--e-global-color-primary) 0%, var(--e-global-color-secondary) 100%)!important;
  padding:24px 28px!important;
}

/* === FE-STYLE-MD-ALIGN (2026-09-29) === */
.dut-theme-grid--detail .dut-theme-card { background:#fff; }
.dut-ri-section-rule {
  width:42px; height:3px; background:var(--dut-gold); border:0; margin:0 0 10px; display:block;
}
.dut-ri-people-intro {
  display:grid; grid-template-columns:minmax(180px,.9fr) 1.6fr; gap:20px; align-items:start;
  margin: 8px 0 18px;
}
.dut-ri-people-intro h2 { margin:0; }
.dut-ri-people-intro p { margin:0; color:var(--dut-muted); font-size:15px; line-height:1.5; }
.dut-ri-staff-filters {
  display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px;
}
.dut-ri-staff-filter {
  border:0; border-radius:5px; min-height:44px; padding:10px 14px; font-size:13px; font-weight:600;
  background:#F3F5F8; color:var(--dut-primary); cursor:default;
}
.dut-ri-staff-filter.is-active { background:var(--dut-primary); color:#fff; }
.dut-ri-staff-filter:not(.is-active):hover,
.dut-ri-staff-filter:not(.is-active):focus-visible{
  background:var(--e-global-color-accent,var(--dut-gold));
  color:var(--e-global-color-primary,var(--dut-primary))!important;
}
.dut-ri-staff-filter.is-disabled { opacity:.55; }
.elementor-widget-dut_institute_member .dut-faculty-member-card,
.elementor-widget-dut_institute_member .faculty-member-item,
.dut-faculty-member-grid .dut-faculty-member-container {
  background:#fff; border:1px solid #E2E7EE; border-radius:5px; overflow:hidden;
  box-shadow:0 1px 2px rgba(22,48,88,.04);
}
.elementor-widget-dut_institute_member .dut-faculty-member-name,
.elementor-widget-dut_institute_member h3,
.elementor-widget-dut_institute_member .member-name {
  color:var(--dut-primary)!important; font-weight:700;
}
.elementor-widget-dut_institute_message .dut-faculty-message,
.elementor-widget-dut_institute_message .message-container,
.dut-ri-featured-director {
  background:#fff; border:1px solid #E2E7EE; border-radius:6px; overflow:hidden;
  box-shadow:0 2px 10px rgba(22,48,88,.06);
}
.dut-ri-cta-partner {
  position:relative; overflow:hidden; margin:0;
  background-color:var(--e-global-color-primary, var(--dut-primary, #4b6ca4));
  color:#fff; padding:0; border-radius:0;
}
.dut-ri-contact-cta__photo{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-position:center center; background-size:cover; background-repeat:no-repeat;
}
.dut-ri-contact-cta__overlay{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg,
    color-mix(in srgb, var(--e-global-color-primary, var(--dut-primary, #4b6ca4)) 92%, transparent) 0%,
    color-mix(in srgb, var(--e-global-color-primary, var(--dut-primary, #4b6ca4)) 72%, transparent) 42%,
    color-mix(in srgb, var(--e-global-color-primary, var(--dut-primary, #4b6ca4)) 22%, transparent) 100%);
}
.dut-ri-cta-partner .dut-ri-wrap{ position:relative; z-index:2; padding:42px 20px; }
.dut-ri-cta-partner h2 { color:#fff!important; margin:0 0 10px; font-size:26px; }
.dut-ri-cta-partner p { color:#e8eef8; margin:0 0 16px; max-width:640px; line-height:1.55; font-size:15px!important; font-weight:400; }
.dut-ri-opp-page-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px;
}
.dut-ri-opp-card {
  background:#fff; border:1px solid #DCE7F6; border-radius:8px; padding:22px 18px;
  box-shadow:0 1px 3px rgba(22,48,88,.05);
}
.dut-ri-opp-card h3 { color:var(--dut-primary); margin:0 0 8px; font-size:20px; }
.dut-ri-opp-card p { color:#4B5563; margin:0 0 12px; line-height:1.5; font-size:15px; }
.dut-ri-opp-meta { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px; }
.dut-ri-opp-meta span {
  background:#F3F5F8; color:var(--dut-navy); border-radius:999px; padding:4px 10px; font-size:12px;
}
.dut-ri-visit-note {
  background:#E5EFFD; color:var(--dut-navy); border-radius:6px; padding:12px 14px; margin-top:12px;
  font-size:14px; line-height:1.45;
}
.dut-ri-contact-hero-note { color:#4B5563; max-width:720px; line-height:1.5; }
.dut-ri-opp-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0;border-bottom:1px solid #DCE7F6}
.dut-ri-opp-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--dut-primary);cursor:pointer;font:inherit;font-size:13px;font-weight:700;padding:8px 10px}
.dut-ri-opp-tabs button.is-active{border-bottom-color:var(--e-global-color-accent,var(--dut-gold));color:var(--dut-primary)}
.dut-ri-opp-tab-panel{display:none;padding:14px 0 4px;color:#4B5563;font-size:14px;line-height:1.5}
.dut-ri-opp-tab-panel.is-active{display:block}
.dut-ri-opp-tab-panel p{margin:0 0 12px}
.dut-ri-opp-tab-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0}
.dut-ri-opp-field dt{color:var(--dut-primary);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.dut-ri-opp-field dd{margin:2px 0 0;color:#4B5563}
.dut-ri-opp-copy h4{color:var(--dut-primary);font-size:14px;margin:0 0 4px}
.dut-ri-opp-copy h4:not(:first-child){margin-top:14px}
@media(max-width:520px){.dut-ri-opp-tab-panel dl{grid-template-columns:1fr}}
.elementor-widget-dut_dynamic_intro_banner .dut-intro-banner {
  background: linear-gradient(115deg, rgba(22,48,88,.94) 0%, rgba(22,48,88,.78) 45%, rgba(75,108,164,.55) 100%);
  color:#fff; padding:42px 24px; min-height:240px; border-radius:0;
}
.elementor-widget-dut_dynamic_intro_banner .dut-intro-title,
.elementor-widget-dut_dynamic_intro_banner .dut-intro-title-container h2,
.elementor-widget-dut_dynamic_intro_banner .dut-intro-content,
.elementor-widget-dut_dynamic_intro_banner .dut-intro-text,
.elementor-widget-dut_dynamic_intro_banner .dut-intro-text p {
  color:#fff!important;
}
.elementor-widget-dut_dynamic_intro_banner .dut-intro-title { font-size:34px!important; font-weight:700!important; }
.elementor-widget-html .dut-ri-chrome { display:none!important; } /* legacy theme-detail chrome */
.dut-theme-detail .dut-theme-detail-hero { margin-top:8px; }
@media (max-width:960px){
  .dut-ri-people-intro,
  .dut-ri-opp-page-grid { grid-template-columns:1fr!important; }
}

/* === FE-STYLE Contact MD align === */
.dut-ri-contact-hero{
  background-color:var(--e-global-color-primary, var(--dut-primary, #4b6ca4));
  background-image:
    linear-gradient(90deg,
      color-mix(in srgb, var(--e-global-color-primary, var(--dut-primary, #4b6ca4)) 94%, transparent) 0%,
      color-mix(in srgb, var(--e-global-color-primary, var(--dut-primary, #4b6ca4)) 78%, transparent) 42%,
      color-mix(in srgb, var(--e-global-color-primary, var(--dut-primary, #4b6ca4)) 22%, transparent) 100%),
    var(--dut-contact-hero-image, none);
  background-size:cover, cover;
  background-position:center center, center center;
  background-repeat:no-repeat, no-repeat;
  color:#fff; min-height:520px!important; width:100%; max-width:none;
  display:flex; align-items:center;
  padding:64px 0; position:relative; overflow:hidden;
  box-sizing:border-box; margin:0;
}
.dut-ri-contact-hero__pattern{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background-repeat:no-repeat;
  /* Paint on the left, then flip around center so the mirrored pattern sits right-bottom. */
  background-position:left bottom;
  background-size:auto 100%;
  transform:scaleX(-1);
  transform-origin:center center;
}
/* Contact hero refinement: scale the pattern down and nudge the flipped layer
   past the lower-right edge so it sits flush against the clipped banner. */
body.elementor-page-84 .dut-ri-contact-hero__pattern{
  background-size:auto 60%;
  transform:translate(1px,1px) scaleX(-1);
}
.dut-ri-contact-hero-inner{
  position:relative; z-index:2;
  max-width:var(--dut-content); margin:0 auto; width:100%;
  padding-left:20px; padding-right:20px; box-sizing:border-box;
}
.dut-ri-contact-hero-copy{ position:relative; z-index:2; }
.dut-ri-contact-hero-title{
  color:#fff!important; font-size:38px!important; font-weight:700!important;
  line-height:1.15!important; margin:0 0 12px!important; max-width:560px;
}
.dut-ri-contact-hero-tag{
  color:#e8eef8; font-size:18px; line-height:1.45; margin:0 0 22px; max-width:420px;
}
.dut-ri-contact-intro{ padding:36px 0 8px; background:#fff; }
.dut-ri-contact-intro-grid{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:48px; align-items:center;
}
.dut-ri-contact-intro-text h2{
  color:var(--dut-primary)!important; font-size:30px!important; font-weight:700!important;
  line-height:1.2!important; margin:0 0 16px!important; max-width:32ch;
}
.dut-ri-contact-intro-text p{
  color:#4B5563; font-size:15px; line-height:1.55; margin:0 0 12px; max-width:54ch;
}
.dut-ri-contact-logos{
  display:flex; gap:22px; align-items:center; justify-content:flex-end; flex-wrap:wrap;
}
.dut-ri-logo-tile{
  width:200px; height:200px; background:#F3F5F8; border-radius:4px;
  display:flex; align-items:center; justify-content:center; padding:24px; box-sizing:border-box;
}
.dut-ri-logo-tile--institute{
  background:transparent; border-radius:0; padding:0;
  width:422px; height:240px; max-width:100%;
}
.dut-ri-logo-tile img{ max-width:100%; max-height:100%; object-fit:contain; }
.dut-ri-logo-tbd{
  color:var(--dut-primary); font-size:14px; font-weight:700; text-align:center; line-height:1.35;
}
.dut-ri-contact-visit{ padding:8px 0 40px; background:#fff; }
.dut-ri-visit-grid{
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:28px; align-items:start; margin-top:8px;
}
.dut-ri-location-card{
  display:flex; gap:14px; align-items:flex-start;
  background:#F3F5F8; border-radius:6px; padding:18px 20px; margin-top:14px;
}
.dut-ri-location-pin{ color:var(--dut-primary); flex:0 0 auto; margin-top:2px; }
.dut-ri-location-text h3{
  color:var(--dut-primary)!important; font-size:17px!important; font-weight:700!important;
  margin:0 0 6px!important;
}
.dut-ri-location-text p{ color:#4B5563; font-size:14px; line-height:1.5; margin:0; }
.dut-ri-visit-map{ min-height:340px; }
.dut-ri-map-frame{
  width:100%; height:360px; border:0; background:#F3F5F8; display:block;
}
.dut-ri-map-fallback{ margin:8px 0 0; font-size:13px; }
.dut-ri-map-fallback a{ color:var(--dut-primary); font-weight:600; }
.dut-ri-map-slot{
  min-height:340px; background:#F3F5F8; color:var(--dut-muted);
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:24px; font-size:14px; line-height:1.45;
}
.dut-ri-contact-details{ padding:28px 0 40px; background:#fff; border-top:0; }
.dut-ri-contact-blocks{
  display:grid; grid-template-columns:1fr auto 1fr; gap:18px 28px; align-items:center;
  padding:8px 8px 28px;
}
.dut-ri-contact-block{ display:flex; gap:18px; align-items:flex-start; padding:8px 12px; }
.dut-ri-contact-icon{
  width:96px; height:96px; border-radius:50%; background:#F3F5F8; color:var(--dut-primary);
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
}
.dut-ri-contact-block h3{
  color:var(--dut-primary)!important; font-size:22px!important; font-weight:700!important; margin:0 0 6px!important;
}
.dut-ri-contact-name{ color:#4B5563; font-size:17px; font-weight:600; margin:0 0 4px; }
.dut-ri-contact-email{ margin:0; }
.dut-ri-contact-email a{ color:var(--dut-primary)!important; font-size:17px; font-weight:600; text-decoration:underline; }
.dut-ri-contact-divider{
  width:1px; align-self:stretch; background:#E2E7EE; min-height:96px;
}
.dut-ri-contact-rule{ display:none; }
.dut-ri-contact-social{ text-align:center; }
.dut-ri-contact-social[hidden]{ display:none!important; }
.dut-ri-contact-social-label{ color:var(--dut-primary); font-size:15px; font-weight:600; margin:0 0 14px; }
.dut-ri-socials--lg{ justify-content:center; gap:14px; }
.dut-ri-socials--lg a{ width:44px; height:44px; }
.dut-ri-socials--lg a svg{ width:18px; height:18px; }
.dut-ri-socials--lg a .ph{ font-size:20px; line-height:1; }
.dut-ri-contact-cta{ padding:0; margin:0; }
.dut-ri-muted{ color:#6b7280; }
@media (max-width:960px){
  .dut-ri-contact-intro-grid,
  .dut-ri-visit-grid{ grid-template-columns:1fr!important; }
  .dut-ri-contact-logos{ justify-content:flex-start; }
  .dut-ri-contact-blocks{ grid-template-columns:1fr!important; }
  .dut-ri-contact-divider{ width:100%; height:1px; min-height:0; }
  .dut-ri-contact-hero-title{ font-size:30px!important; }
  .dut-ri-logo-tile{ width:160px; height:160px; }
  .dut-ri-logo-tile--institute{ width:100%; height:200px; max-width:360px; }
}

/* Contact MD: collapse Elementor parent padding around full-bleed sections.
   Selectors use the rendered classes — the widgets do not emit #dut-ri-contact-hero. */
.e-con.e-parent:has(.dut-ri-contact-hero),
.e-con.e-parent:has(.elementor-widget-dut_contact_hero),
.e-con.e-parent:has(.dut-ri-contact-cta),
.e-con.e-parent:has(.dut-ri-cta-partner),
.elementor-page-84 .e-con.e-parent:has(.dut-ri-footer),
.elementor-page-84 .e-con.e-parent:has(.dut-ri-shell),
.elementor-page-84 #dut-ri-contact-hero-wrap,
.elementor-page-84 #dut-ri-contact-cta-wrap,
.elementor-page-84 #dut-ri-contact-header,
.elementor-page-84 #dut-ri-contact-footer{
  --padding-top:0px!important;
  --padding-bottom:0px!important;
  --padding-left:0px!important;
  --padding-right:0px!important;
  --padding-inline-start:0px!important;
  --padding-inline-end:0px!important;
  padding:0!important; margin:0!important;
  max-width:none!important; width:100%!important;
}
.elementor-widget-dut_contact_hero,
.elementor-widget-dut_contact_hero > .elementor-widget-container,
.elementor-element:has(.dut-ri-contact-cta) > .elementor-widget-container,
.elementor-element:has(.dut-ri-cta-partner) > .elementor-widget-container{
  padding:0!important; margin:0!important;
}
.dut-ri-contact-hero{
  width:100%!important; max-width:none!important; margin-left:0!important; margin-right:0!important;
}
.elementor-page-84 .e-con.e-parent:has(.dut-ri-contact-intro),
.elementor-page-84 .e-con.e-parent:has(.dut-ri-contact-visit),
.elementor-page-84 .e-con.e-parent:has(#dut-ri-contact-intro),
.elementor-page-84 .e-con.e-parent:has(#dut-ri-contact-visit),
.elementor-page-84 .e-con.e-parent:has(#dut-ri-contact-details),
.elementor-page-84 #dut-ri-contact-intro-wrap,
.elementor-page-84 #dut-ri-contact-visit-wrap,
.elementor-page-84 #dut-ri-contact-details-wrap{
  --padding-top:0px!important;
  --padding-bottom:0px!important;
  --padding-left:0px!important;
  --padding-right:0px!important;
  --padding-inline-start:0px!important;
  --padding-inline-end:0px!important;
  padding-top:0!important; padding-bottom:0!important;
  padding-left:0!important; padding-right:0!important;
}
/* Institute template pages (80–84): boxed body shares banner gutters (1140px + 20px).
   Widgets that ship their own .dut-ri-wrap sit in zero-gutter containers below. */
.elementor-page-80 .e-con.e-parent:not(:has(.dut-banner)):not(:has(.dut-ri-shell)):not(:has(.dut-ri-footer)):not(:has(.dut-ri-join)):not(:has(#dut-ri-join-cta)):not(:has(.dut-faculty-data-container)):not(:has(.elementor-widget-dut_institute_data)):not(:has(.dut-theme-grid__box)):not(:has(.dut-ri-partners)):not(:has(.dut-ri-opportunities--page)),
.elementor-page-81 .e-con.e-parent:not(:has(.dut-ri-shell)):not(:has(.dut-ri-footer)):not(:has(.elementor-widget-dut_banner)):not(:has(.dut-themes-cta)):not(:has(#dut-ri-themes-cta)):not(:has(.dut-theme-grid__box)):not(:has(.research-theme__inner)),
.elementor-page-82 .e-con.e-parent:not(:has(.dut-ri-shell)):not(:has(.dut-ri-footer)):not(:has(.dut-opp-hero)):not(:has(.dut-opp-cta)):not(:has(.dut-ri-opportunities--page)),
.elementor-page-83 .e-con.e-parent:not(:has(.dut-staff-hero)):not(:has(.dut-staff-cta)):not(:has(#dut-ri-staff-cta)):not(:has(.dut-ri-shell)):not(:has(.dut-ri-footer)):not(:has(.dut-staff-directory__box)),
.elementor-page-84 .e-con.e-parent:not(:has(.dut-ri-contact-hero)):not(:has(.dut-ri-cta-partner)):not(:has(.dut-ri-contact-cta)):not(:has(.dut-ri-shell)):not(:has(.dut-ri-footer)):not(:has(.dut-ri-contact-intro)):not(:has(.dut-ri-contact-visit)):not(:has(.dut-ri-contact-details)){
  --padding-left:0px!important;
  --padding-right:0px!important;
  --padding-inline-start:0px!important;
  --padding-inline-end:0px!important;
  padding-left:0!important;padding-right:0!important;
}
.elementor-page-80 .e-con.e-parent:not(:has(.dut-banner)):not(:has(.dut-ri-shell)):not(:has(.dut-ri-footer)):not(:has(.dut-ri-join)):not(:has(#dut-ri-join-cta)):not(:has(.dut-faculty-data-container)):not(:has(.elementor-widget-dut_institute_data)):not(:has(.dut-theme-grid__box)):not(:has(.dut-ri-partners)):not(:has(.dut-ri-opportunities--page)) > .e-con-inner,
.elementor-page-81 .e-con.e-parent:not(:has(.dut-ri-shell)):not(:has(.dut-ri-footer)):not(:has(.elementor-widget-dut_banner)):not(:has(.dut-themes-cta)):not(:has(#dut-ri-themes-cta)):not(:has(.dut-theme-grid__box)):not(:has(.research-theme__inner)) > .e-con-inner,
.elementor-page-82 .e-con.e-parent:not(:has(.dut-ri-shell)):not(:has(.dut-ri-footer)):not(:has(.dut-opp-hero)):not(:has(.dut-opp-cta)):not(:has(.dut-ri-opportunities--page)) > .e-con-inner,
.elementor-page-83 .e-con.e-parent:not(:has(.dut-staff-hero)):not(:has(.dut-staff-cta)):not(:has(#dut-ri-staff-cta)):not(:has(.dut-ri-shell)):not(:has(.dut-ri-footer)):not(:has(.dut-staff-directory__box)) > .e-con-inner{
  max-width:var(--dut-content)!important;
  margin-left:auto!important;margin-right:auto!important;
  padding-left:var(--dut-gutter)!important;padding-right:var(--dut-gutter)!important;
  box-sizing:border-box!important;
}

/* === FIX 2026-09-29: logos are never cropped (welcome slot + intro banner) === */
.dut-ri-overview-logo img,
.dut-faculty-detail-default .dut-faculty-image,
.dut-faculty-detail-default .dut-prefix-image{object-fit:contain!important;background:#fff}
.elementor-widget-dut_dynamic_intro_banner .dut-intro-images img{object-fit:contain!important}

/* =====================================================================
   Widget 01 — Institute Header (dut_institute_header)
   MD ref: assets/page-md/DS-AIRI_Home_Elementor_Widget_Style_Reference.md §2
   Two bands: near-black DUT utility band (~32px) + white logo/menu/social
   band (~86px). All rules are scoped to .dut-ri-shell so nothing here can
   leak into other widgets or the legacy page chrome.
   ===================================================================== */
.dut-ri-shell{position:relative;z-index:50;margin:0;padding:0}

/* Utility band: real WordPress menu (ul.menu) or CMS navigation API list.
   Links are centre-aligned in the band (MD §2: compact uppercase institutional
   navigation). The list must be full width or `justify-content:center` would
   centre it inside its own shrink-to-fit box instead of the band. */
.dut-ri-utility > ul,
ul.dut-ri-utility-list,
ul.dut-ri-nav-list{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
  align-items:center;justify-content:center;gap:2px 4px;
}
.dut-ri-utility > ul,
ul.dut-ri-utility-list{width:100%;justify-content:center}
.dut-ri-utility > ul > li,
ul.dut-ri-utility-list > li{list-style:none;margin:0;padding:0}

/* Header band: logo left, institute navigation centred. */
.dut-ri-shell .dut-ri-sticky{
  /* Containing block for the mega panels. Sticky is already a positioned
     value, so this keeps the sticky header AND gives the panels a full-width
     containing block (anchoring them to .dut-ri-header-row would clamp them to
     its 1140px max-width). */
  position:sticky;top:0;z-index:1000;background:#fff;
}
.dut-ri-shell .dut-ri-header-row{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin:0 auto;padding:8px 20px;min-height:86px;background:#fff;
}
.dut-ri-shell .dut-ri-logo{display:flex;align-items:center;flex:0 0 auto}
.dut-ri-shell .dut-ri-logo img{
  display:block;width:135px;height:auto;max-width:100%;object-fit:contain;
}
.dut-ri-shell .dut-ri-mobile-toggle{
  display:none;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;
  width:42px;height:42px;margin:0;padding:8px;border:1px solid #dbe3ef;
  position:relative;overflow:hidden;border-radius:4px;background:#fff;color:var(--e-global-color-primary,var(--dut-primary));
  cursor:pointer;
}
.dut-ri-shell .dut-ri-mobile-toggle span{
  display:block;position:absolute;left:50%;width:22px;height:2px;margin:0;
  background:currentColor;transform:translateX(-50%);
  transition:top .2s ease,transform .2s ease,opacity .2s ease;
}
.dut-ri-shell .dut-ri-mobile-toggle span:nth-child(1){top:12px}
.dut-ri-shell .dut-ri-mobile-toggle span:nth-child(2){top:19px}
.dut-ri-shell .dut-ri-mobile-toggle span:nth-child(3){top:26px}
/* Institute navigation: centred in the remaining band beside the logo. */
.dut-ri-shell .dut-ri-nav{
  display:flex;align-items:center;justify-content:center;
  gap:4px 8px;flex:1 1 auto;min-width:0;
}
.dut-ri-shell .dut-ri-nav > ul{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:4px 8px;list-style:none;margin:0;padding:0;
  width:100%;
}
.dut-ri-shell .dut-ri-header-row > .dut-ri-socials{display:none!important}
.dut-ri-shell .dut-ri-nav > ul > li{list-style:none;margin:0;padding:0;position:relative}
.dut-ri-shell .dut-ri-nav a{
  /* Elementor global Primary, not a hardcoded hex: the institute palette widget
     rewrites --e-global-color-primary on load, so the nav follows the institute
     colour. The fallback is the live shell slate for when no kit is present. */
  color:var(--e-global-color-primary, var(--dut-primary));
  text-decoration:none;font-size:18px;font-weight:600;
  padding:18px 5px;line-height:1.2;display:inline-block;
  border-bottom:2px solid transparent;
}
/* Top-level items: hover and the current page are marked by a thick accent bar
   in the Elementor Accent colour. The label keeps its own colour — no recolour,
   no text-decoration underline. The transparent bar is always reserved so
   nothing shifts when the pointer arrives. */
.dut-ri-shell .dut-ri-nav > ul > li > a{
  border-bottom:4px solid transparent;
  transition:border-color .18s ease;
}
/* Desktop: the bar IS the bottom edge of the header band.
   The links stretch to the band's full height and carry the accent bar as their
   bottom border, so the bar lands on the band's boundary. Left centred inside a
   shorter box (as before) it hovered ~18px above the edge, with a white strip
   and then the band's boundary line underneath — which reads as a double
   border. The negative margin cancels the band's own bottom padding, which is
   published by the widget's "Padding" control as --dut-header-row-pad-b.
   Scoped to the non-compact layout: below 900px the mega panels become inline
   accordions inside the <li>, where stretching the rows would be wrong. */
@media (min-width:901px){
  .dut-ri-shell .dut-ri-nav{
    align-self:stretch;align-items:stretch;
    margin-bottom:calc(-1 * var(--dut-header-row-pad-b,8px));
  }
  .dut-ri-shell .dut-ri-nav > ul{
    align-items:stretch;flex-wrap:nowrap;
  }
  .dut-ri-shell .dut-ri-nav > ul > li > a{
    display:flex;align-items:center;height:100%;
  }
}
@media (min-width:901px) and (max-width:1200px){
  .dut-ri-shell .dut-ri-nav a{
    font-size:16px;padding-left:4px;padding-right:4px;
  }
  .dut-ri-shell .dut-ri-nav > ul{gap:2px 6px}
}
.dut-ri-shell .dut-ri-nav > ul > li > a:hover,
.dut-ri-shell .dut-ri-nav > ul > li > a:focus-visible,
.dut-ri-shell .dut-ri-nav > ul > li > a.is-active{
  border-bottom-color:var(--e-global-color-accent, var(--dut-gold));
}
/* Utility (black) band stays light — it sits on #111, so the institute primary
   would be unreadable there. Hover marks itself with the accent *bar* only:
   the label colour is deliberately left untouched. */
.dut-ri-shell .dut-ri-utility a{
  color:#fff;
  font-weight:600;
}
.dut-ri-shell .dut-ri-utility > ul > li{position:relative}
.dut-ri-shell .dut-ri-utility ul.sub-menu{
  display:none;position:absolute;top:100%;left:0;z-index:1002;
  min-width:240px;max-width:340px;margin:0;padding:6px 0 0;list-style:none;
  background:#1a1a1a;text-align:left;
  box-shadow:0 10px 24px rgba(0,0,0,.35);
}
.dut-ri-shell .dut-ri-utility li:hover > ul.sub-menu,
.dut-ri-shell .dut-ri-utility li:focus-within > ul.sub-menu{display:block}
.dut-ri-shell .dut-ri-utility ul.sub-menu li{position:relative;list-style:none;margin:0;padding:0}
.dut-ri-shell .dut-ri-utility ul.sub-menu ul.sub-menu{top:0;left:100%}
.dut-ri-shell .dut-ri-utility > ul > li:nth-last-child(-n+3) > ul.sub-menu{left:auto;right:0}
.dut-ri-shell .dut-ri-utility > ul > li:nth-last-child(-n+3) ul.sub-menu ul.sub-menu{left:auto;right:100%}
.dut-ri-shell .dut-ri-utility ul.sub-menu a{
  display:block;text-transform:none;letter-spacing:0;font-size:12px;
  font-weight:600;white-space:normal;line-height:1.35;opacity:1;
  /* 4px + the 3px accent bar = the original 7px, so the flyout rows keep
     their height while hovering still shows the bar. */
  padding:7px 14px 4px;
}
.dut-ri-shell .dut-ri-utility .menu-item-has-children > a::after{
  content:"";display:inline-block;width:5px;height:5px;margin-left:5px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);opacity:.7;
}
.dut-ri-shell .dut-ri-utility ul.sub-menu .menu-item-has-children > a::after{
  float:right;margin-top:4px;margin-left:12px;transform:rotate(-45deg);
}
/* Sub-menus (depth 2) — kept simple and readable inside the band */
.dut-ri-shell .dut-ri-nav > ul > li > ul.sub-menu{
  position:absolute;top:100%;left:0;min-width:220px;z-index:1001;
  list-style:none;margin:0;padding:6px 0;background:#fff;
  border:1px solid #e5eaf3;border-radius:4px;
  box-shadow:0 8px 22px rgba(22,48,88,.12);display:none;
}
.dut-ri-shell .dut-ri-nav > ul > li:hover > ul.sub-menu,
.dut-ri-shell .dut-ri-nav > ul > li:focus-within > ul.sub-menu{display:block}
.dut-ri-shell .dut-ri-nav > ul > li > ul.sub-menu a{padding:8px 14px;font-size:15px;display:block}

/* =====================================================================
   Mega menu (full-width panel) — mirrors the reference faculty_navigation
   mega menu: full-bleed panel under the header, centred container, columns.
   Panels are children of .dut-ri-header-row (NOT of <li>), so hovering a panel
   can never fall through to a sibling nav item and swap panels.
   Two layouts, both CMS-driven:
     - .dut-ri-mega-item → research themes, inline horizontal text items
     - .dut-ri-mega-card → faculties/institutes, logo with the name underneath
   ===================================================================== */
.dut-ri-shell .dut-ri-nav > ul > li.menu-item-has-children{position:static}
.dut-ri-shell .dut-ri-nav > ul > li.menu-item-has-children > a::after{
  content:"";display:inline-block;width:6px;height:6px;margin-left:7px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);opacity:.65;
}
.dut-ri-shell .dut-ri-mega{
  display:none;position:absolute;top:100%;left:0;width:100%;
  background:#fff;z-index:1000;
  border-top:1px solid #e5eaf3;
  box-shadow:0 14px 26px rgba(22,48,88,.12);
}
/* Panel visibility is driven by `.dut-ri-nav.is-mega-open` + the active item's
   data-nav-mega, which .dut-ri-mega--* panels read. The widget JS owns the state
   explicitly instead of relying on a hover chain across the panel/li DOM
   boundary: the pointer entering the panel keeps it open, and it can never fall
   through to a sibling nav item. */
.dut-ri-shell .dut-ri-nav.is-mega-open[data-mega-active="themes"] ~ .dut-ri-mega--themes,
.dut-ri-shell .dut-ri-nav.is-mega-open[data-mega-active="institutes"] ~ .dut-ri-mega--institutes{
  display:block;
}
/* JS sets .is-open on panels when a trigger is active — always honour it on
   desktop so panel placement (sibling of nav vs inside header row) cannot
   intermittently hide the mega menu. */
@media (min-width:901px){
  .dut-ri-shell .dut-ri-mega.is-open{display:block;}
}
/* Trigger items (the ones that own a mega panel) need the accent bar while the
   panel is open too, not only while the pointer is over the label itself.
   Colour is intentionally left alone, as everywhere else in the nav. */
.dut-ri-shell .dut-ri-nav > ul > li.menu-item-has-children:focus-within > a,
.dut-ri-shell .dut-ri-nav > ul > li.menu-item-has-children:hover > a,
.dut-ri-shell .dut-ri-nav > ul > li.menu-item-has-children.is-open > a,
.dut-ri-shell .dut-ri-nav > ul > li.menu-item-has-children.is-active > a{
  border-bottom-color:var(--e-global-color-accent, var(--dut-gold));
}
.dut-ri-shell .dut-ri-mega__inner{
  max-width:var(--dut-content);margin:0 auto;padding:18px 20px 20px;
}
.dut-ri-shell .dut-ri-mega__grid{display:grid;gap:16px;align-items:stretch}
.dut-ri-shell .dut-ri-mega__loading{
  grid-column:1/-1;display:block;height:72px;border-radius:6px;
  background:linear-gradient(to right,#eef1f5 20%,#e6e9f0 40%,#e6e9f0 60%,#eef1f5 80%);
  background-size:200% 100%;animation:dut-skeleton-wave 1.6s linear infinite;
}
.dut-ri-shell .dut-ri-mega__grid.is-filled .dut-ri-mega__loading{display:none}
.dut-ri-shell .dut-ri-mega__empty{
  grid-column:1/-1;margin:0;color:var(--dut-muted);font-size:14px;line-height:1.5;
}

/* --- Research themes: inline horizontal text items (no icons, no boxes) --- */
.dut-ri-shell .dut-ri-mega__grid[data-mega-grid="themes"]{
  grid-auto-rows:1fr;gap:14px 40px;
}
.dut-ri-shell .dut-ri-mega-item{
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  padding:6px 0 2px;border:0;background:none;border-radius:0;text-decoration:none;
}
.dut-ri-shell .dut-ri-mega-item__title{
  display:block;color:var(--dut-primary);font-size:16px;font-weight:700;line-height:1.35;
  padding-bottom:5px;border-bottom:2px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
.dut-ri-shell .dut-ri-mega-item__desc{
  display:block;margin:0;color:#4B5563;font-size:13px;line-height:1.55;
}
.dut-ri-shell .dut-ri-mega-item:hover .dut-ri-mega-item__title,
.dut-ri-shell .dut-ri-mega-item:focus .dut-ri-mega-item__title{
  color:var(--dut-navy);border-bottom-color:var(--dut-gold);
}
.dut-ri-shell .dut-ri-mega-item__media{display:none!important}

/* --- Faculties & Institutes: logo card, name underneath, centre aligned ---
   The institute marks are landscape (≈2:1), so each card's logo band is
   landscape as well: full card width, only as tall as the mark itself
   (--dut-mega-logo-h). A square slot letterboxed every mark and left roughly
   half of the card empty, which is what made the panel so tall. */
.dut-ri-shell .dut-ri-mega__grid[data-mega-grid="institutes"]{
  justify-items:center;gap:8px 24px;
}
.dut-ri-shell .dut-ri-mega-card{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  gap:8px;padding:8px 10px;border-radius:6px;text-decoration:none;
  border:1px solid transparent;background:none;text-align:center;
  width:100%;max-width:320px;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.dut-ri-shell .dut-ri-mega-card:hover,
.dut-ri-shell .dut-ri-mega-card:focus{
  background:#f8fafc;border-color:#e5eaf3;
  box-shadow:0 6px 16px rgba(22,48,88,.09);transform:translateY(-2px);
}
.dut-ri-shell .dut-ri-mega-card__logo{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:var(--dut-mega-logo-h,104px);flex:0 0 auto;
}
.dut-ri-shell .dut-ri-mega-card__logo img{
  max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;display:block;
}
.dut-ri-shell .dut-ri-mega-card__fallback{
  width:var(--dut-mega-logo-h,104px);height:var(--dut-mega-logo-h,104px);
  border-radius:50%;background:var(--dut-neutral);
  color:var(--dut-primary);font-size:36px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.dut-ri-shell .dut-ri-mega-card__name{
  color:var(--dut-navy);font-size:13.5px;font-weight:600;line-height:1.4;
  text-align:center;margin:0 auto;
}
.dut-ri-shell .dut-ri-band-placeholder{color:#6b7280;font-size:13px;padding:4px 0}

/* Social column — hidden (not empty) until the API supplies URLs */
.dut-ri-shell .dut-ri-socials{display:flex;gap:10px;align-items:center;flex:0 0 auto}
.dut-ri-shell .dut-ri-socials:empty{display:none}
.dut-ri-shell .dut-ri-socials a{
  width:34px;height:34px;border-radius:50%;background:var(--dut-primary);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
}
.dut-ri-shell .dut-ri-socials a svg{width:16px;height:16px;fill:currentColor}
.dut-ri-shell .dut-ri-socials a.is-empty{pointer-events:none;opacity:.55}

/* --- Theme section anchors -------------------------------------------------
   The header mega menu links to #theme-{slug} on the Research Themes page
   (that page renders each theme in full), so those sections need a scroll
   offset to clear the sticky header. */
html{scroll-behavior:smooth}
[data-theme-anchor]{
  scroll-margin-top:calc(var(--dut-header-h, 155px) + 16px);
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
}

/* --- Site-wide inertia smooth scrolling (assets/js/dut-smooth-scroll.js) ---
   Lenis adds `lenis` to <html> once it is running. `scroll-behavior:smooth` on
   the scrolling element makes the *browser* re-smooth every programmatic
   scroll, which fights the engine's per-frame stepping, so it must be switched
   off exactly while the engine owns the scroll. When the engine is absent
   (reduced motion, editor, JS off) the rule above stays in charge and native
   anchor scrolling still animates. */
html.lenis{
  scroll-behavior:auto !important;
}
html.lenis,
html.lenis body{
  height:auto;
}
/* Nested scrollables keep their own native scrolling. */
.lenis [data-lenis-prevent]{
  overscroll-behavior:contain;
}

/* --- Header + Banner hug the top of the page (no top/bottom margins) ---
   Applies on EVERY page carrying the header widget, not just the home page:
   the global `body .elementor-element.e-con.e-parent{padding:36px 0}` rule in
   this sheet would otherwise push the header away from the top of the page. */
.e-con.e-parent:has(.dut-ri-shell),
.e-con.e-parent:has(.elementor-widget-dut_institute_header),
.e-con.e-parent:has(.dut-ri-section--header),
.e-con.e-parent:has(.elementor-widget-dut_banner){
  padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;
}
.elementor-widget-dut_institute_header,
.elementor-widget-dut_banner,
.elementor-widget-dut_banner .dut-banner,
.e-con.e-parent > .e-con-inner:has(> .elementor-widget-dut_institute_header),
.e-con.e-parent > .e-con-inner:has(> .elementor-widget-dut_banner){
  margin-top:0!important;margin-bottom:0!important;
}
/* Elementor wrapper default spacing must not push the header away from the top */
.elementor-widget-dut_institute_header > .elementor-widget-container,
.elementor-widget-dut_banner > .elementor-widget-container{
  margin:0!important;padding:0!important;
}

@media (max-width:900px){
  .dut-ri-shell .dut-ri-utility{display:none}
  .dut-ri-shell .dut-ri-header-row{min-height:72px;padding:8px 16px}
  .dut-ri-shell .dut-ri-nav a{font-size:15px;padding:12px 4px}
  .dut-ri-shell .dut-ri-logo img{width:110px}

  /* Mega menus become inline accordions; a panel can only show inside the nav
     item it belongs to, so syncPanelPlacement() moves it under that <li>. */
  .dut-ri-shell .dut-ri-mega{
    position:static;width:auto;box-shadow:none;border-top:0;
    border-left:2px solid var(--dut-neutral);margin:4px 0 10px 6px;
  }
  /* Desktop (JS state) triggers must not fire here — only the tapped accordion */
  .dut-ri-shell .dut-ri-nav.is-mega-open[data-mega-active="themes"] ~ .dut-ri-mega--themes,
  .dut-ri-shell .dut-ri-nav.is-mega-open[data-mega-active="institutes"] ~ .dut-ri-mega--institutes,
  .dut-ri-shell .dut-ri-mega.is-open{display:none}
  .dut-ri-shell .dut-ri-nav > ul > li.menu-item-has-children.is-open > .dut-ri-mega{display:block}
  .dut-ri-shell .dut-ri-mega__inner{padding:10px 0 10px 10px;max-width:none}
  .dut-ri-shell .dut-ri-mega__grid{grid-template-columns:1fr!important;gap:12px}
  .dut-ri-shell .dut-ri-mega__grid[data-mega-grid="themes"]{gap:6px}
  /* Cards are <a> inside the nav, so the nav-link rule (`.dut-ri-nav a`, 0,2,1)
     also matches them and outranks `.dut-ri-mega-card` (0,2,0) — it forced
     display:inline-block and its own padding, which stacked the logo above the
     name instead of the intended landscape row. Scoping through `.dut-ri-nav`
     wins that comparison; the panel only lives inside the <li> on compact
     screens (syncPanelPlacement), so desktop is untouched. */
  .dut-ri-shell .dut-ri-nav .dut-ri-mega-card{
    display:flex;flex-direction:row;align-items:center;justify-content:flex-start;
    gap:12px;text-align:left;padding:8px 4px;max-width:none;
  }
  .dut-ri-shell .dut-ri-nav .dut-ri-mega-card__name{text-align:left;margin:0}
  /* Row layout: the logo becomes a landscape chip beside the name. Its width
     tracks the mark's ≈2:1 ratio, so the band adds no dead space either side. */
  .dut-ri-shell .dut-ri-mega-card__logo{
    width:calc(var(--dut-mega-logo-h,104px) * 2);max-width:100%;
    height:var(--dut-mega-logo-h,104px);
  }
  .dut-ri-shell .dut-ri-mega-card__fallback{
    width:var(--dut-mega-logo-h,104px);height:var(--dut-mega-logo-h,104px);
  }
}
@media (max-width:600px){
  .dut-ri-shell .dut-ri-header-row{flex-wrap:wrap;gap:8px 12px}
  .dut-ri-shell .dut-ri-nav{order:3;flex:1 1 100%;justify-content:flex-start}
  .dut-ri-shell .dut-ri-nav > ul{justify-content:flex-start}
  .dut-ri-shell .dut-ri-socials{margin-left:auto}
}

/* Mobile institute navigation: compact header + full-height overlay panel.
   Main navigation links remain direct links on mobile; the desktop mega panels
   and nested submenus are intentionally hidden because those destinations have
   dedicated pages. */
@media (max-width:900px){
  html.dut-ri-mobile-menu-open,
  body.dut-ri-mobile-menu-open{overflow:hidden}
  .dut-ri-shell .dut-ri-header-row{
    position:relative;flex-wrap:nowrap;gap:12px;min-height:72px;padding:8px 16px;
  }
  .dut-ri-shell .dut-ri-logo{min-width:0}
  .dut-ri-shell .dut-ri-logo img{width:110px}
  .dut-ri-shell .dut-ri-mobile-toggle{display:inline-flex;margin-left:auto}
  .dut-ri-shell .dut-ri-nav{
    display:none;position:absolute;top:100%;left:0;right:0;z-index:1001;
    width:100%;height:calc(100vh - 72px);height:calc(100dvh - 72px);
    max-width:none;overflow-y:auto;overscroll-behavior:contain;
    margin:0;padding:8px 20px 32px;background:#fff;
    border-top:1px solid #e5eaf3;box-shadow:0 14px 28px rgba(22,48,88,.16);
    order:initial;flex:none;align-items:initial;justify-content:initial;
  }
  .dut-ri-shell.is-mobile-menu-open .dut-ri-nav{display:block}
  .dut-ri-shell.is-mobile-menu-open .dut-ri-mobile-toggle span:nth-child(1){top:19px;transform:translateX(-50%) rotate(45deg)}
  .dut-ri-shell.is-mobile-menu-open .dut-ri-mobile-toggle span:nth-child(2){opacity:0}
  .dut-ri-shell.is-mobile-menu-open .dut-ri-mobile-toggle span:nth-child(3){top:19px;transform:translateX(-50%) rotate(-45deg)}
  .dut-ri-shell .dut-ri-nav > ul{
    display:block;width:100%;margin:0;padding:0;list-style:none;
  }
  .dut-ri-shell .dut-ri-nav > ul > li{
    display:block;margin:0;border-bottom:1px solid #e5eaf3;
  }
  .dut-ri-shell .dut-ri-nav > ul > li > a,
  .dut-ri-shell .dut-ri-nav > ul > li > a.is-active{
    display:flex;align-items:center;width:100%;min-height:54px;padding:15px 0;
    border:0!important;color:var(--e-global-color-primary,var(--dut-primary));
    font-size:18px;line-height:1.3;
  }
  .dut-ri-shell .dut-ri-nav > ul > li.menu-item-has-children > a::after{display:none}
  .dut-ri-shell .dut-ri-nav > ul > li > ul.sub-menu,
  .dut-ri-shell .dut-ri-mega{display:none!important}
  .dut-ri-shell .dut-ri-socials{display:none}
}

/* =====================================================================
   Staff page — Widgets 02–06 (DS-AIRI Staff Elementor Style Reference)
   Full-width section backgrounds; boxed content aligned to header logo edge.
   ===================================================================== */
.elementor-page-83 .e-con.e-parent:has(.dut-staff-hero),
.elementor-page-83 .e-con.e-parent:has(.dut-staff-director),
.elementor-page-83 .e-con.e-parent:has(.dut-staff-directory),
.elementor-page-83 .e-con.e-parent:has(#dut-ri-staff-cta),
.elementor-page-83 .e-con.e-parent:has(.dut-staff-cta),
.elementor-page-83 .e-con.e-parent:has(.dut-ri-shell),
.elementor-page-83 .e-con.e-parent:has(.dut-ri-footer){
  padding-top:0!important;padding-bottom:0!important;margin:0!important;
}
.elementor-page-83 .e-con.e-parent:has(#dut-ri-staff-cta),
.elementor-page-83 .e-con.e-parent:has(.dut-staff-cta){
  margin-bottom:0!important;
}
/* (.elementor-page-83 .dut-ri-footer margin reset is now handled by the general
   footer block + the widget's "Space above footer" control.) */
.elementor-page-83 .elementor-widget-dut_staff_hero .elementor-widget-container,
.elementor-page-83 .elementor-widget-dut_staff_featured_director .elementor-widget-container,
.elementor-page-83 .elementor-widget-dut_staff_directory .elementor-widget-container,
.elementor-page-83 .elementor-element:has(#dut-ri-staff-cta) .elementor-widget-container,
.elementor-page-83 .elementor-element:has(.dut-staff-cta) .elementor-widget-container{
  padding:0!important;margin:0!important;
}
/* Shared staff page box — matches .dut-ri-header-row (1140px + 20px gutters) */
.elementor-page-83 .dut-ri-wrap{
  width:100%;max-width:var(--dut-content);margin-left:auto;margin-right:auto;
  padding-left:20px;padding-right:20px;box-sizing:border-box;
}

/* Widget 02 — Staff hero (full bleed bg, boxed left-aligned copy) */
.dut-staff-hero{
  position:relative;width:100%;min-height:520px;display:flex;align-items:center;justify-content:center;
  color:#fff;background-color:var(--dut-staff-primary,var(--dut-secondary,#203D66));
  background-image:linear-gradient(105deg,
      color-mix(in srgb,var(--dut-staff-primary,var(--dut-secondary,#203D66)) 96%,#000 4%) 0%,
      color-mix(in srgb,var(--dut-staff-primary,var(--dut-secondary,#203D66)) 76%,transparent) 42%,
      color-mix(in srgb,var(--dut-staff-accent,var(--dut-primary,#4b6ca4)) 42%,transparent) 100%),
    var(--dut-staff-hero-image, none);
  background-size:cover,cover;background-position:center right,center center;
  overflow:hidden;
}
.dut-staff-hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,
    color-mix(in srgb,var(--dut-staff-primary,var(--dut-secondary,#203D66)) 88%,transparent) 0%,
    color-mix(in srgb,var(--dut-staff-primary,var(--dut-secondary,#203D66)) 56%,transparent) 48%,
    transparent 100%);
  pointer-events:none;
}
.dut-staff-hero__pattern{
  position:absolute;left:0;right:0;bottom:0;height:110px;opacity:.9;pointer-events:none;z-index:2;
  background-image:var(--dut-staff-strap-pattern, none);
  background-repeat:repeat-x;
  background-position:left bottom;
  background-size:auto 100%;
}
.dut-staff-hero__inner{
  position:relative;z-index:3;width:100%;padding-top:64px;padding-bottom:78px;text-align:left;
}
.dut-staff-hero__breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.dut-staff-hero__crumb{color:#fff;text-decoration:none;opacity:.92}
.dut-staff-hero__crumb.is-current{opacity:.72;pointer-events:none}
.dut-staff-hero__member-crumb[hidden]{display:none!important}
.dut-staff-hero.is-member-profile .dut-staff-hero__title{max-width:820px}
/* Individual staff profile (e.g. /hdii/staff/member-slug/): shorter hero so the profile card is the focus */
body.dut-staff-member-profile .dut-staff-hero,
.dut-staff-hero.is-member-profile{
  min-height:260px;align-items:center;
}
body.dut-staff-member-profile .dut-staff-hero .dut-staff-hero__inner,
.dut-staff-hero.is-member-profile .dut-staff-hero__inner{
  padding-top:32px;padding-bottom:36px;
}
body.dut-staff-member-profile .dut-staff-hero .dut-staff-hero__pattern,
.dut-staff-hero.is-member-profile .dut-staff-hero__pattern{
  height:55px;
}
body.dut-staff-member-profile .dut-staff-hero .dut-staff-hero__title,
.dut-staff-hero.is-member-profile .dut-staff-hero__title{
  font-size:32px;margin-bottom:8px;
}
body.dut-staff-member-profile .dut-staff-hero .dut-staff-hero__intro,
.dut-staff-hero.is-member-profile .dut-staff-hero__intro{
  font-size:15px;
}
.dut-staff-hero__sep{opacity:.65}
.dut-staff-hero__rule{width:38px;height:3px;border:0;background:var(--dut-gold,#E5C58B);margin:0 0 14px}
.dut-staff-hero__title{margin:0 0 12px;font-size:40px;line-height:1.15;font-weight:700;color:#fff!important;max-width:560px}
.dut-staff-hero__intro{margin:0;font-size:17px;line-height:1.45;color:#f3f5f8;max-width:520px}

/* Widget 03 — Featured director (boxed card aligned to hero text) */
.dut-staff-director{width:100%;padding:56px 0 56px;background:var(--dut-neutral,#F3F5F8)}
.dut-staff-director__box{width:100%}
.dut-staff-director__card{
  width:100%;margin:0;background:#fff;border:1px solid #E2E7EE;
  border-radius:6px;box-shadow:0 2px 10px rgba(22,48,88,.06);overflow:hidden;
  display:grid;grid-template-columns:minmax(240px,.37fr) minmax(0,.63fr);grid-template-rows:auto auto;
}
.dut-staff-director__portrait-wrap{grid-row:1 / span 2;background:#eef2f8;min-height:360px}
.dut-staff-director__portrait{
  width:100%;height:100%;min-height:360px;background:#dbe3f0 center/cover no-repeat;
}
.dut-staff-director__body{padding:28px 32px 18px}
.dut-staff-director__eyebrow{
  margin:0 0 8px;display:flex;align-items:center;gap:10px;
  font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dut-primary);
}
.dut-staff-director__eyebrow-rule{width:30px;height:3px;background:var(--dut-gold);border:0;margin:0}
.dut-staff-director__name{margin:0 0 6px;font-size:30px;line-height:1.2;font-weight:700;color:var(--dut-primary)!important}
.dut-staff-director__role,.dut-staff-director__affiliation{margin:0 0 4px;font-size:15px;line-height:1.45;color:#4B5563}
.dut-staff-director__email{margin:8px 0 14px;font-size:14px}
.dut-staff-director__email a{color:var(--dut-primary)!important;font-weight:600;text-decoration:none}
.dut-staff-director__bio{margin:0 0 16px;font-size:14px;line-height:1.5;color:#4B5563;white-space:pre-wrap}
.dut-staff-director__research-title{margin:0 0 8px;font-size:15px;font-weight:700;color:var(--dut-primary)!important}
.dut-staff-director__pills{display:flex;flex-wrap:wrap;gap:8px}
.dut-staff-director__pill{
  background:#F3F5F8;color:var(--dut-primary);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;
}
.dut-staff-director__stats{
  grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  background:#F3F5F8;border-top:1px solid #E2E7EE;min-height:98px;
}
.dut-staff-director__stat{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:14px 10px;
  position:relative;text-align:center;
}
.dut-staff-director__stat:not(:last-child)::after{
  content:"";position:absolute;right:0;top:18%;bottom:18%;width:1px;background:#D8DEE8;
}
.dut-staff-director__stat-icon{color:var(--dut-primary);display:flex;align-items:center;justify-content:center}
.dut-staff-director__stat-value{font-size:28px;font-weight:700;line-height:1;color:var(--dut-primary)}
.dut-staff-director__stat-label{font-size:13px;color:#4B5563}
.dut-staff-director__empty[hidden],.dut-staff-directory__empty[hidden]{display:none!important}
.dut-staff-profile__back-wrap{margin:0 0 16px}
.dut-staff-profile__back-wrap[hidden]{display:none!important}
.dut-staff-profile__back{color:var(--dut-primary,#203D66);font-size:14px;font-weight:600;text-decoration:none}
.dut-staff-profile__back:hover{text-decoration:underline}
.dut-staff-directory.is-member-profile,
.dut-staff-directory[hidden]{display:none!important}
.elementor-widget-dut_staff_directory:has(.is-member-profile),
.elementor-widget-dut_staff_directory:has(.dut-staff-directory[hidden]){display:none!important}
body.dut-staff-member-profile .dut-staff-directory,
body.dut-staff-member-profile .elementor-widget-dut_staff_directory{display:none!important}

/* Widget 04/05 — Directory (boxed, left-aligned with director card) */
.dut-staff-directory{width:100%;padding:24px 0 32px;background:#fff}
.dut-staff-directory__box{width:100%;text-align:left}
.dut-staff-directory__intro{margin-bottom:18px;text-align:left}
.dut-staff-directory__intro-text{margin:0;color:#4B5563;font-size:15px;line-height:1.5;text-align:left}
.dut-staff-directory .dut-ri-people-intro{text-align:left}
.dut-staff-directory .dut-staff-directory__filters[hidden]{display:none!important}
.dut-staff-directory .dut-ri-staff-filter[hidden]{display:none!important}
.dut-staff-directory .dut-ri-staff-filters{margin-bottom:18px;justify-content:flex-start}
.dut-staff-directory .dut-ri-staff-filter{cursor:pointer;transition:background .2s,color .2s}
.dut-staff-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
}
.dut-staff-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid #E2E7EE;border-radius:5px;
  overflow:hidden;box-shadow:0 1px 2px rgba(22,48,88,.04);min-height:100%;
}
.dut-staff-card__photo{
  width:100%;height:150px;object-fit:cover;display:block;background:#eef2f8;
}
.dut-staff-card__photo--placeholder{
  display:flex;align-items:center;justify-content:center;color:var(--dut-primary);background:#eef2f8;
}
.dut-staff-card__body{
  display:flex;flex-direction:column;flex:1;padding:12px 12px 14px;gap:4px;
}
.dut-staff-card__name{margin:0;font-size:17px;font-weight:700;color:var(--dut-primary)!important;line-height:1.25}
.dut-staff-card__rule{display:block;width:28px;height:2px;background:var(--dut-gold);margin:2px 0 4px}
.dut-staff-card__role,.dut-staff-card__affiliation{margin:0;font-size:13px;line-height:1.4;color:#4B5563}
.dut-staff-card__affiliation{color:#6b7280;font-size:12px}
.dut-staff-card__btn{
  margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:34px;padding:6px 12px;border:1px solid var(--dut-primary);border-radius:4px;
  color:var(--dut-primary)!important;font-size:12px;font-weight:600;text-decoration:none!important;
  transition:border-color .2s,transform .2s,box-shadow .2s;
}
.dut-staff-card__btn:hover{border-color:var(--dut-navy);box-shadow:0 1px 3px rgba(22,48,88,.08);transform:translateX(2px)}
.dut-staff-card__btn--disabled{
  border-color:#D8DEE8;color:#6b7280!important;cursor:default;transform:none!important;box-shadow:none!important;
}
.dut-staff-directory__intro-text[hidden]{display:none!important}
.dut-staff-card--placeholder .dut-staff-card__name{font-size:14px;line-height:1.35}

/* Widget 06 — Staff CTA band (full width, subscription banner image, left copy) */
.dut-staff-cta{
  position:relative;width:100%;min-height:210px;margin:0!important;
  display:flex;align-items:center;justify-content:center;
  background:var(--e-global-color-dut_secondary);overflow:hidden;
}
.dut-staff-cta__photo{
  position:absolute;inset:0;
  background-color:var(--e-global-color-dut_secondary);background-position:center center;background-size:cover;background-repeat:no-repeat;
}
.dut-staff-cta__overlay{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,
    color-mix(in srgb,var(--e-global-color-dut_primary) 92%,transparent) 0%,
    color-mix(in srgb,var(--e-global-color-dut_primary) 78%,transparent) 42%,
    color-mix(in srgb,var(--e-global-color-dut_secondary) 45%,transparent) 100%);
}
.dut-staff-cta__inner{
  position:relative;z-index:1;width:100%;padding-top:36px;padding-bottom:36px;text-align:left;
}
.dut-staff-cta__rule{width:38px;height:3px;border:0;background:var(--dut-gold,#E5C58B);margin:0 0 14px}
.dut-staff-cta__title{margin:0 0 10px;font-size:27px;line-height:1.2;font-weight:700;color:#fff!important;max-width:640px}
.dut-staff-cta__copy{margin:0 0 18px;font-size:15px;line-height:1.45;color:#e8eef8;max-width:560px}
.dut-staff-cta__btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 22px;
  background:#fff!important;color:var(--dut-navy,#163058)!important;font-size:14px;font-weight:700;
  text-decoration:none!important;border-radius:4px;
}
.dut-staff-cta__btn:hover{filter:brightness(.96)}

@media (max-width:960px){
  .dut-staff-director__card{grid-template-columns:1fr}
  .dut-staff-director__portrait-wrap,.dut-staff-director__portrait{min-height:280px}
  .dut-staff-director__stats{grid-template-columns:1fr}
  .dut-staff-director__stat:not(:last-child)::after{display:none}
  .dut-staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dut-staff-hero__title{font-size:32px}
}
@media (max-width:600px){
  .dut-staff-grid{grid-template-columns:1fr!important}
  .dut-staff-directory .dut-ri-staff-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .dut-staff-directory .dut-ri-staff-filter{flex:0 0 auto;white-space:nowrap}
}

/* =====================================================================
   Research Themes page — full-width sections, boxed content (page 81)
   ===================================================================== */
.elementor-page-81 .e-con.e-parent:has(.dut-ri-shell),
.elementor-page-81 .e-con.e-parent:has(.elementor-widget-dut_institute_header),
.elementor-page-81 .e-con.e-parent:has(.elementor-widget-dut_banner),
.elementor-page-81 .e-con.e-parent:has(.elementor-widget-dut_theme_grid),
.elementor-page-81 .e-con.e-parent:has(.elementor-widget-dut_research_theme_layout),
.elementor-page-81 .e-con.e-parent:has(#dut-ri-themes-cta),
.elementor-page-81 .e-con.e-parent:has(.dut-themes-cta),
.elementor-page-81 .e-con.e-parent:has(.dut-ri-footer){
  padding-top:0!important;padding-bottom:0!important;margin:0!important;
}
.elementor-page-81 .e-con.e-parent:has(#dut-ri-themes-cta),
.elementor-page-81 .e-con.e-parent:has(.dut-themes-cta){
  margin-bottom:0!important;
}
.elementor-page-81 .elementor-widget-dut_theme_grid .elementor-widget-container,
.elementor-page-81 .elementor-widget-dut_research_theme_layout .elementor-widget-container,
.elementor-page-81 .elementor-widget-dut_banner .elementor-widget-container,
.elementor-page-81 .elementor-element:has(#dut-ri-themes-cta) .elementor-widget-container{
  padding:0!important;margin:0!important;
}
.elementor-page-81 .dut-ri-wrap{
  width:100%;max-width:var(--dut-content);margin-left:auto;margin-right:auto;
  padding-left:20px;padding-right:20px;box-sizing:border-box;
}
.elementor-page-81 .dut-theme-grid-section{
  width:100%;padding:56px 0 64px;background:#fff;
}
.elementor-page-81 .dut-theme-grid__box{width:100%}
/* The page-81 footer margin reset now lives in the general footer block — the
   widget's own "Space above footer" control owns that value. */

/* Research theme focus badges: use a 5% tint of Elementor's secondary colour
   for the badge surface and the full secondary colour for its text. */
.elementor-page-81 .dut-department-grid.dut-theme-grid--detail .dut-theme-focus-pill{
  background:color-mix(in srgb,var(--e-global-color-secondary) 5%,white)!important;
  color:var(--e-global-color-primary)!important;
}
.elementor-page-81 .dut-department-grid.dut-theme-grid--detail .dut-theme-card-label{
  color:var(--e-global-color-secondary)!important;
}

/* Themes CTA — full-width institute banner image, left-aligned copy.
   Overlay uses institute complementary colour (Active Institute Spec / CMS). */
.dut-themes-cta{
  position:relative;width:100%;min-height:210px;margin:0!important;
  display:flex;align-items:center;justify-content:center;
  background:var(--e-global-color-dut_complementary,var(--e-global-color-d367be2,#659fab));overflow:hidden;
}
.dut-themes-cta__photo{
  position:absolute;inset:0;
  background-color:var(--e-global-color-dut_complementary,var(--e-global-color-d367be2,#659fab));
  background-position:center center;background-size:cover;background-repeat:no-repeat;
}
.dut-themes-cta__overlay{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,
    color-mix(in srgb, var(--e-global-color-dut_complementary, var(--e-global-color-d367be2, #659fab)) 92%, transparent) 0%,
    color-mix(in srgb, var(--e-global-color-dut_complementary, var(--e-global-color-d367be2, #659fab)) 78%, transparent) 42%,
    color-mix(in srgb, var(--e-global-color-dut_complementary, var(--e-global-color-d367be2, #659fab)) 45%, transparent) 100%);
}
.dut-themes-cta__inner{
  position:relative;z-index:1;width:100%;padding-top:36px;padding-bottom:36px;text-align:left;
}
.dut-themes-cta__rule{width:38px;height:3px;border:0;background:var(--dut-gold,#E5C58B);margin:0 0 14px}
.dut-themes-cta__title{margin:0 0 10px;font-size:29px;line-height:1.2;font-weight:700;color:#fff!important;max-width:640px}
.dut-themes-cta__copy{margin:0 0 18px;font-size:17px;line-height:1.45;color:#e8eef8;max-width:560px}
.dut-themes-cta__actions{display:flex;flex-wrap:wrap;gap:12px}
.dut-themes-cta__btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 22px;
  font-size:14px;font-weight:700;text-decoration:none!important;border-radius:4px;
}
.dut-themes-cta__btn--gold{background:var(--dut-gold,#E5C58B)!important;color:var(--dut-navy,#163058)!important}
.dut-themes-cta__btn--ghost{background:transparent!important;color:#fff!important;border:1px solid #fff}
.dut-themes-cta__btn:hover{filter:brightness(.96)}

/* DS-AIRI home refinement: compact overview-to-stats-to-message flow. */
.elementor-page-80 .dut-faculty-detail-default{row-gap:18px!important}
.elementor-page-80 .dut-faculty-data-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important}
.elementor-page-80 .dut-faculty-data-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0;padding:8px 18px!important}
.elementor-page-80 .dut-faculty-data-item:not(:last-child)::after{top:12%;bottom:12%}
.elementor-page-80 .dut-ri-stats-band{margin-bottom:0!important;padding-bottom:0!important}
.elementor-page-80 .dut-ri-stats-band + .elementor-element{margin-top:0!important;padding-top:0!important}
.elementor-page-80 .dut-ri-section--statistics{padding-bottom:0!important;margin-bottom:0!important}
.elementor-page-80 .dut-ri-section--director-message{padding-top:0!important;margin-top:0!important}
.elementor-page-80 .dut-ri-featured-band{padding-top:0!important;margin-top:0!important}
.elementor-page-80 .dut-ri-featured-band > .e-con-inner{padding-top:0!important;margin-top:0!important}
.elementor-page-80 .dut-ri-featured-band .elementor-widget-container{margin-top:0!important;padding-top:0!important}
.elementor-page-80 .dut-faculty-message__inner{position:relative;z-index:1}
.elementor-page-80 .dut-faculty-message{padding:0!important;align-items:flex-start!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.elementor-page-80 .elementor-widget-dut_theme_grid .department-card,
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-department-card,
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-theme-card,
.elementor-page-80 .elementor-widget-dut_theme_grid .departmentgrid-item-title,
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-department-card-excerpt,
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-theme-card-body,
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-theme-card-title,
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-theme-card-intro,
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-theme-card-explore{
  background:color-mix(in srgb,var(--e-global-color-dut_neutral) 10%,white)!important;
}
.elementor-page-80 .elementor-widget-dut_theme_grid .department-card,
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-department-card,
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-theme-card{
  border:0!important;
  border-bottom:5px solid var(--e-global-color-dut_complementary)!important;
  box-shadow:none!important;
}
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-department-card{
  position:relative!important;
}
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-department-card-excerpt{
  padding-bottom:58px!important;
}
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-theme-card-explore{
  position:absolute;right:14px;bottom:14px;width:36px;height:36px;
  padding:0!important;border-radius:50%;
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:var(--e-global-color-accent)!important;
  color:#fff!important;
  font-size:0!important;line-height:1;
}
.elementor-page-80 .elementor-widget-dut_theme_grid .dut-theme-card-explore svg{
  width:18px!important;height:18px!important;display:block!important;
  flex:0 0 18px;margin:0!important;padding:0!important;
  position:static!important;transform:none!important;fill:none;
}
.elementor-page-80 .elementor-widget-dut_theme_grid{
  margin-bottom:24px!important;
}
.elementor-page-80 .elementor-widget-dut_opportunities_grid .dut-ri-opp-arrow{
  position:absolute!important;right:14px;bottom:14px;
  width:36px;height:36px;margin:0!important;padding:0!important;
  border-radius:50%;
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:var(--e-global-color-accent)!important;
  color:#fff!important;font-size:18px;line-height:1;
}
.elementor-page-80 #dut-ri-research-opportunities,
.elementor-page-80 #dut-ri-partner-faculties{background:#f3f5f8!important}
.elementor-page-80 #dut-ri-institute-cta,
.elementor-page-80 .dut-ri-section--institute-cta,
.elementor-page-80 .e-con.e-parent:has(#dut-ri-join-cta){
  width:100%!important;max-width:none!important;
  padding-top:0!important;padding-bottom:0!important;padding-left:0!important;padding-right:0!important;
  margin-top:0!important;margin-bottom:0!important;
  --padding-top:0px!important;--padding-bottom:0px!important;
  --margin-top:0px!important;--margin-bottom:0px!important;
}
.elementor-page-80 #dut-ri-institute-cta > .e-con-inner,
.elementor-page-80 .e-con.e-parent:has(#dut-ri-join-cta) > .e-con-inner{
  max-width:none!important;width:100%!important;padding:0!important;margin:0!important;
}
.elementor-page-80 .elementor-element:has(#dut-ri-join-cta) .elementor-widget-container{
  padding:0!important;margin:0!important;
}
.elementor-page-80 #dut-ri-join-cta{
  width:100%;max-width:none;border-radius:0;margin-top:0!important;
  background-color:var(--dut-secondary,#203d66);
}
.elementor-page-80 #dut-ri-join-cta .dut-ri-join-inner{
  max-width:var(--dut-content);padding-left:20px;padding-right:20px;
}
.elementor-page-80 #dut-ri-partner-grid,
.elementor-page-80 .dut-ri-partner-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:12px!important;
}
.elementor-page-80 #dut-ri-partners .dut-ri-section-link,
.elementor-page-80 .dut-ri-partners .dut-ri-section-link{display:none!important}
.elementor-page-80 #dut-ri-partner-grid .dut-ri-partner-media,
.elementor-page-80 .dut-ri-partner-grid .dut-ri-partner-media{
  aspect-ratio:1/1!important;
  background-size:cover!important;
  background-position:center center!important;
}
/* Active institute spec colours — opportunities */
.dut-ri-opp-panel{
  background:linear-gradient(105deg,var(--e-global-color-secondary) 0%,var(--e-global-color-dut_complementary,var(--e-global-color-d367be2)) 100%)!important;
}
.dut-ri-opp-arrow{
  margin-top:12px;
  background:var(--e-global-color-accent,var(--dut-gold))!important;
  color:var(--e-global-color-primary,var(--dut-primary))!important;
}
@media (max-width:900px){
  .elementor-page-80 #dut-ri-partner-grid,
  .elementor-page-80 .dut-ri-partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:520px){
  .elementor-page-80 #dut-ri-partner-grid,
  .elementor-page-80 .dut-ri-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
.elementor-page-80 .dut-ri-featured-band .elementor-widget-dut_institute_message .dut-faculty-message,
.elementor-page-80 .dut-ri-featured-band [id^="facultyMessageContainer_"]{position:relative;overflow:hidden}
.elementor-page-80 .dut-ri-featured-band .elementor-widget-dut_institute_message .dut-faculty-message::after,
.elementor-page-80 .dut-ri-featured-band [id^="facultyMessageContainer_"]::after{content:"";position:absolute;right:0;top:0;bottom:0;width:38%;pointer-events:none;opacity:.28;background:repeating-linear-gradient(135deg,transparent 0 18px,rgba(117,149,195,.55) 18px 20px,transparent 20px 38px),linear-gradient(135deg,transparent 0 45%,rgba(117,149,195,.35) 45% 55%,transparent 55%);mask-image:linear-gradient(to left,#000,transparent)}
.elementor-page-80 .dut-faculty-message-image{width:180px!important;height:180px!important;aspect-ratio:1/1!important;min-height:0!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
.elementor-page-80 .dut-faculty-message-content{font-size:15px!important;line-height:1.55!important;position:relative;z-index:1}
.elementor-page-80 .dut-faculty-message-continuation[hidden]{display:none!important}
.elementor-page-80 .dut-faculty-message-content.is-expanded{max-height:none}
.elementor-page-80 .dut-faculty-message-content p{font-size:inherit!important;line-height:inherit!important}
.elementor-page-80 .dut-faculty-message-expand{position:relative;z-index:2;margin-top:12px;padding:7px 14px;border:1px solid rgba(255,255,255,.8);background:transparent;color:#fff;cursor:pointer;font:600 13px/1.2 inherit}
.elementor-page-80 .dut-faculty-message-expand:hover{background:rgba(255,255,255,.12)}
@media (max-width:767px){
  .elementor-page-80 .dut-faculty-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .elementor-page-80 .dut-faculty-message-image{width:100%!important;height:auto!important;aspect-ratio:1/1!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
}
/* Beat Elementor's unloaded-container `background-image: none` without baking hex colours. */
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) .dut-faculty-message,
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) [id^="facultyMessageContainer_"]{
  background-image:linear-gradient(105deg,var(--e-global-color-primary) 0%,var(--e-global-color-secondary) 100%)!important;
}
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) .dut-ri-opp-panel{
  background-image:linear-gradient(105deg,var(--e-global-color-secondary) 0%,var(--e-global-color-dut_complementary,var(--e-global-color-d367be2)) 100%)!important;
}

/* Opportunities page — hero, welcome, cards, closing banner.
   Colours stay on Elementor globals so each institute palette can replace them. */
.e-con.e-parent:has(.dut-opp-hero),
.e-con.e-parent:has(.elementor-widget-dut_opportunities_hero),
.e-con.e-parent:has(.dut-opp-intro),
.e-con.e-parent:has(.elementor-widget-dut_opportunities_intro),
.e-con.e-parent:has(.dut-ri-opportunities--page),
.e-con.e-parent:has(.dut-opp-cta),
.e-con.e-parent:has(.elementor-widget-dut_opportunities_cta),
.elementor-page-82 .e-con.e-parent:has(.dut-ri-footer),
.elementor-page-82 .e-con.e-parent:has(.dut-ri-shell),
.elementor-page-82 #dut-ri-opportunities-hero,
.elementor-page-82 #dut-ri-opportunities-welcome,
.elementor-page-82 #dut-ri-opportunities-cta,
.elementor-page-82 #dut-ri-institute-header,
.elementor-page-82 #dut-ri-institutional-footer{
  --padding-top:0px!important;
  --padding-bottom:0px!important;
  --padding-left:0px!important;
  --padding-right:0px!important;
  --padding-inline-start:0px!important;
  --padding-inline-end:0px!important;
  padding:0!important;margin:0!important;
  max-width:none!important;width:100%!important;
  background-color:transparent;
}
.elementor-page-82 .elementor-widget-dut_opportunities_hero > .elementor-widget-container,
.elementor-page-82 .elementor-widget-dut_opportunities_intro > .elementor-widget-container,
.elementor-page-82 .elementor-widget-dut_opportunities_grid > .elementor-widget-container,
.elementor-page-82 .elementor-widget-dut_opportunities_cta > .elementor-widget-container{
  padding:0!important;margin:0!important;
}
.dut-opp-heading{
  color:var(--e-global-color-secondary,var(--dut-navy))!important;
  font-size:36px!important;font-weight:700!important;line-height:1.2!important;
  margin:0 0 28px!important;padding:0!important;max-width:none;text-align:center;
}
.dut-opp-heading::after{content:none!important;display:none!important}
.dut-opp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--e-global-color-accent);color:var(--e-global-color-secondary)!important;
  border:2px solid var(--e-global-color-accent);
  padding:12px 22px;font-weight:600;font-size:15px;line-height:1.2;
  text-decoration:none;border-radius:4px;box-sizing:border-box;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.dut-opp-btn:hover{
  background:color-mix(in srgb, var(--e-global-color-accent) 78%, var(--e-global-color-secondary));
  color:var(--e-global-color-secondary)!important;
}
.dut-opp-btn--ghost{
  background:transparent;color:#fff!important;border-color:#fff;
}
.dut-opp-btn--ghost:hover{
  background:#fff;color:var(--e-global-color-primary)!important;border-color:#fff;
}
.dut-opp-btn--block{width:100%;min-height:50px;margin-top:auto}
.dut-opp-btn .ph{font-size:16px;line-height:1}

.dut-opp-hero{
  position:relative;width:100%;min-height:520px;display:flex;align-items:center;
  color:#fff;overflow:hidden;box-sizing:border-box;
  background-color:var(--e-global-color-secondary);
  background-image:
    linear-gradient(90deg,
      color-mix(in srgb, var(--e-global-color-secondary) 82%, transparent) 0%,
      color-mix(in srgb, var(--e-global-color-secondary) 52%, transparent) 46%,
      color-mix(in srgb, var(--e-global-color-secondary) 18%, transparent) 100%),
    var(--dut-opp-hero-image, none);
  background-size:cover, cover;
  background-position:center center, center center;
  background-repeat:no-repeat, no-repeat;
}
.dut-opp-hero__pattern{
  position:absolute;left:0;right:0;bottom:0;height:110px;pointer-events:none;z-index:2;
  background-image:var(--dut-opp-pattern, none);
  background-repeat:repeat-x;background-position:left bottom;background-size:auto 100%;
}
.dut-opp-hero__inner{
  position:relative;z-index:3;width:100%;
  padding:64px 20px 78px;box-sizing:border-box;text-align:left;
}
.dut-opp-hero__title{
  margin:0 0 12px;max-width:560px;
  font-size:40px;line-height:1.15;font-weight:700;color:#fff!important;
}
.dut-opp-hero__sub{
  margin:0 0 12px;max-width:560px;
  font-size:22px;line-height:1.35;font-weight:600;color:#fff;
}
.dut-opp-hero__lead{
  margin:0 0 22px;max-width:560px;
  font-size:17px;line-height:1.5;color:color-mix(in srgb, #fff 90%, transparent);
}
.dut-opp-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}

.dut-opp-intro{background:#fff;padding:68px 0 52px}
.dut-opp-intro__inner{padding-left:20px;padding-right:20px;box-sizing:border-box}
.dut-opp-intro .dut-opp-heading{margin-bottom:20px!important;font-size:36px!important}
.dut-opp-intro__body p{
  margin:0 0 12px;max-width:880px;
  font-size:17px;line-height:1.65;font-weight:400;
  color:var(--e-global-color-secondary);
}

#dut-ri-available-opportunities{scroll-margin-top:calc(var(--dut-header-h, 155px) + 16px)}
.dut-ri-opportunities--page{
  --dut-opp-surface:var(--e-global-color-dut_surface,#fff);
  --dut-opp-text:var(--dut-body,var(--e-global-color-text,#333));
  --dut-opp-primary:var(--e-global-color-primary,var(--dut-primary));
  --dut-opp-secondary:var(--e-global-color-secondary,var(--dut-navy));
  --dut-opp-accent:var(--e-global-color-accent,var(--dut-gold));
  --dut-opp-complement:var(--e-global-color-dut_complementary,var(--e-global-color-d367be2,var(--dut-complement)));
  --dut-opp-neutral:var(--e-global-color-dut_neutral,var(--e-global-color-b4f7ced,#e2e7ee));
  --dut-opp-highlight:var(--e-global-color-dut_highlight,var(--e-global-color-dc866cd));
  padding:56px var(--dut-gutter) 64px!important;margin:0 auto!important;max-width:var(--dut-content,1140px);
  background:var(--dut-opp-surface);box-sizing:border-box;scroll-margin-top:120px;color:var(--dut-opp-text);
}
.dut-opp-note{margin:-12px 0 24px;max-width:880px;font-size:16px;line-height:1.5;color:var(--dut-opp-text)}
.dut-opp-layout{display:flex;flex-direction:column;gap:24px}
.dut-opp-cards-row{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch;margin:0;
}
.dut-opp-permanent-stack{display:flex;flex-direction:column;gap:24px}
.dut-opp-permanent-stack[hidden]{display:none!important}
.dut-opp-card{
  display:flex;flex-direction:column;min-height:100%;box-sizing:border-box;
  padding:30px 32px;border-radius:12px;
  background:var(--dut-opp-surface);
  border:1px solid color-mix(in srgb,var(--dut-opp-neutral) 55%,transparent);
  box-shadow:none;
}
.dut-opp-card[data-opportunity-anchor],
.dut-opp-panel[data-opportunity-anchor],
#dut-opp-permanent-academic-positions{
  scroll-margin-top:calc(var(--dut-header-h, 155px) + 16px);
}
.dut-opp-card__head{display:flex;gap:16px;align-items:flex-start}
.dut-opp-card__icon{
  width:56px;height:56px;flex:0 0 56px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-size:28px;line-height:1;
}
.dut-opp-card__icon--postgrad{
  background:color-mix(in srgb,var(--dut-opp-accent) 10%,var(--dut-opp-surface));
  color:color-mix(in srgb,var(--dut-opp-accent) 72%,var(--dut-opp-secondary));
}
.dut-opp-card__icon--postdoc{
  background:color-mix(in srgb,var(--dut-opp-neutral) 20%,var(--dut-opp-surface));
  color:var(--dut-opp-primary);
}
.dut-opp-card h3{
  margin:0;font-size:24px;line-height:1.3;font-weight:700;
  color:var(--dut-opp-secondary)!important;
}
.dut-opp-card__intro{margin:6px 0 0;font-size:16px;line-height:1.5;font-weight:400;color:var(--dut-opp-text)}
.dut-opp-card__rows{display:flex;flex-direction:column;margin-top:24px;flex:1 1 auto}
.dut-opp-card__foot{margin-top:26px;padding-top:4px}
.dut-opp-card__apply{align-self:flex-start}
.dut-opp-panel__foot{margin-top:26px}
.dut-opp-panel__foot .dut-opp-btn{align-self:flex-start}
.dut-opp-row{
  display:grid;grid-template-columns:20px 140px minmax(0,1fr);gap:12px;align-items:start;
  padding:14px 0;
  border-bottom:1px solid color-mix(in srgb,var(--dut-opp-neutral) 45%,transparent);
  text-decoration:none;
}
.dut-opp-row .ph{font-size:19px;line-height:1.3;color:var(--dut-opp-primary)}
.dut-opp-row[data-icon-tone="accent"] .ph{color:var(--dut-opp-accent)}
.dut-opp-row[data-icon-tone="complement"] .ph{color:var(--dut-opp-complement)}
.dut-opp-row[data-icon-tone="primary"] .ph{color:var(--dut-opp-primary)}
.dut-opp-row__label{font-size:15px;font-weight:600;line-height:1.4;color:var(--dut-opp-text)}
.dut-opp-row__value{font-size:16px;font-weight:400;line-height:1.5;color:var(--dut-opp-text)}

.dut-opp-panel{
  box-sizing:border-box;padding:30px 32px;border-radius:12px;
  background:color-mix(in srgb,var(--dut-opp-primary) 5%,var(--dut-opp-surface));
  border:1px solid color-mix(in srgb,var(--dut-opp-primary) 12%,transparent);
}
.dut-opp-panel__head{display:flex;gap:16px;align-items:flex-start}
.dut-opp-panel__icon{
  width:56px;height:56px;flex:0 0 56px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-size:28px;line-height:1;
  background:color-mix(in srgb,var(--dut-opp-accent) 12%,var(--dut-opp-surface));
  color:color-mix(in srgb,var(--dut-opp-accent) 72%,var(--dut-opp-secondary));
}
.dut-opp-panel h3{margin:0;font-size:24px;line-height:1.3;font-weight:700;color:var(--dut-opp-secondary)!important}
.dut-opp-panel__intro{margin:6px 0 0;font-size:16px;line-height:1.5;color:var(--dut-opp-text)}
.dut-opp-panel__meta{
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px;
  margin:22px 0 0 72px;padding-top:4px;
}
.dut-opp-panel__meta-group{
  display:flex;align-items:flex-start;gap:14px;flex:1 1 160px;min-width:0;
  padding-right:24px;border-right:1px solid color-mix(in srgb,var(--dut-opp-neutral) 45%,transparent);
}
.dut-opp-panel__meta-group:last-child{border-right:0;padding-right:0}
.dut-opp-panel__meta-group--level{flex:1.35 1 200px}
.dut-opp-panel__meta-group .ph{font-size:24px;line-height:1.2;flex:0 0 24px;color:var(--dut-opp-primary)}
.dut-opp-panel__meta-group[data-icon-tone="accent"] .ph{color:var(--dut-opp-accent)}
.dut-opp-panel__meta-group[data-icon-tone="complement"] .ph{color:var(--dut-opp-complement)}
.dut-opp-panel__meta-label{font-size:15px;font-weight:600;line-height:1.4;color:var(--dut-opp-text)}
.dut-opp-panel__meta-value{margin-top:4px;font-size:16px;font-weight:400;line-height:1.5;color:var(--dut-opp-text)}
.dut-opp-careers-btn{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  width:100%;min-height:56px;margin-top:26px;padding:16px 24px;box-sizing:border-box;
  border-radius:6px;text-decoration:none;
  background:var(--dut-opp-accent);color:var(--dut-opp-secondary)!important;
  font-size:16px;font-weight:600;line-height:1.4;
  transition:background-color .2s ease;
}
.dut-opp-careers-btn .ph{font-size:20px;line-height:1;color:var(--dut-opp-secondary);flex:0 0 auto}
.dut-opp-careers-btn:hover{background:var(--dut-opp-highlight);color:var(--dut-opp-secondary)!important}
.dut-opp-careers-btn:focus-visible{outline:2px solid var(--dut-opp-primary);outline-offset:2px}
.dut-opp-careers-btn span{flex:1 1 auto;text-align:left}

.dut-opp-cta{
  position:relative;min-height:240px;display:flex;align-items:center;overflow:hidden;color:#fff;
  background:linear-gradient(105deg, var(--e-global-color-secondary) 0%, var(--e-global-color-primary) 78%);
}
.dut-opp-cta__photo{
  position:absolute;top:0;right:0;bottom:0;width:min(42%,560px);
  background:var(--dut-opp-cta-image, none) center/cover no-repeat;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 32%);
  mask-image:linear-gradient(90deg, transparent, #000 32%);
}
.dut-opp-cta__pattern{
  position:absolute;left:0;right:0;bottom:0;height:90px;z-index:2;pointer-events:none;
  background-image:var(--dut-opp-pattern, none);
  background-repeat:repeat-x;background-position:left bottom;background-size:auto 100%;
}
.dut-opp-cta__inner{position:relative;z-index:3;padding:48px 20px 56px;box-sizing:border-box}
.dut-opp-cta__inner.dut-ri-wrap{
  width:auto;
  max-width:min(640px, calc(100% - min(42%, 560px) - 24px));
  margin-left:max(20px, calc((100% - var(--dut-content)) / 2));
  margin-right:auto;
}
.dut-opp-cta__title{
  margin:0 0 12px;max-width:560px;
  font-size:36px;line-height:1.15;font-weight:700;color:#fff!important;
}
.dut-opp-cta__name{white-space:nowrap}
.dut-opp-cta__text{
  margin:0 0 20px;max-width:520px;
  font-size:17px;line-height:1.55;color:color-mix(in srgb, #fff 90%, transparent);
}
.dut-opp-cta__actions{display:flex;flex-wrap:wrap;gap:12px}

.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) .dut-opp-hero{
  background-image:
    linear-gradient(90deg,
      color-mix(in srgb, var(--e-global-color-secondary) 82%, transparent) 0%,
      color-mix(in srgb, var(--e-global-color-secondary) 52%, transparent) 46%,
      color-mix(in srgb, var(--e-global-color-secondary) 18%, transparent) 100%),
    var(--dut-opp-hero-image, none)!important;
}
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) .dut-opp-cta{
  background-image:linear-gradient(105deg, var(--e-global-color-secondary) 0%, var(--e-global-color-primary) 78%)!important;
}
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) .dut-opp-hero__pattern,
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) .dut-opp-cta__pattern{
  background-image:var(--dut-opp-pattern, none)!important;
}
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) .dut-opp-cta__photo{
  background-image:var(--dut-opp-cta-image, none)!important;
}

@media (max-width:900px){
  .dut-opp-hero{min-height:360px}
  .dut-opp-hero__title{font-size:32px}
  .dut-opp-hero__sub{font-size:18px}
  .dut-opp-heading,.dut-opp-cta__title,.dut-opp-intro .dut-opp-heading{font-size:30px!important}
  .dut-opp-cards-row{grid-template-columns:1fr!important}
  .dut-opp-card h3,.dut-opp-panel h3{font-size:22px}
  .dut-opp-cta{flex-direction:column;align-items:stretch}
  .dut-opp-cta__photo{
    position:relative;order:2;width:100%;height:180px;
    -webkit-mask-image:none;mask-image:none;
  }
  .dut-opp-cta__inner{order:1}
  .dut-opp-cta__inner.dut-ri-wrap{max-width:var(--dut-content);margin-left:auto;margin-right:auto}
}
@media (max-width:700px){
  .dut-opp-hero__inner,.dut-opp-intro__inner,.dut-ri-opportunities--page,.dut-opp-cta__inner{padding-left:18px;padding-right:18px}
  .dut-opp-card,.dut-opp-panel{padding:20px}
  .dut-opp-card__icon,.dut-opp-panel__icon{width:48px;height:48px;flex-basis:48px;font-size:24px}
  .dut-opp-heading{font-size:28px!important}
  .dut-opp-card h3,.dut-opp-panel h3{font-size:21px}
  .dut-opp-panel__meta{margin-left:0;flex-direction:column;gap:18px}
  .dut-opp-panel__meta-group{border-right:0;padding-right:0;flex:1 1 auto}
  .dut-opp-hero__actions,.dut-opp-cta__actions{flex-direction:column;align-items:stretch}
  .dut-opp-hero__actions .dut-opp-btn,.dut-opp-cta__actions .dut-opp-btn{width:100%}
  .dut-opp-row{grid-template-columns:20px minmax(0,1fr)}
  .dut-opp-row .ph{grid-row:1 / span 2}
  .dut-opp-row__label,.dut-opp-row__value{grid-column:2}
}

/* Standalone site-root research institutes landing page. */
.dut-ri-landing{
  --dut-landing-primary:var(--e-global-color-primary,var(--dut-primary));
  --dut-landing-secondary:var(--e-global-color-secondary,var(--dut-secondary));
  --dut-landing-accent:var(--e-global-color-accent,var(--dut-gold));
  --dut-landing-neutral:var(--e-global-color-dut_neutral,var(--dut-neutral));
  margin-top:0!important;padding-top:0!important;
  color:var(--dut-landing-secondary);background:#fff;
  font-family:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
}
.dut-ri-landing *{font-family:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important}
body:has(.dut-ri-landing) .elementor-element.e-con.e-parent:has(.dut-ri-landing){padding-top:0!important;padding-bottom:0!important}
.dut-ri-landing__utility{position:relative;z-index:20;background:#111;color:#fff}
.dut-ri-landing__utility-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0;margin:0 auto;padding:0;list-style:none}
.dut-ri-landing__utility-list li{position:relative;margin:0;padding:0;list-style:none}
.dut-ri-landing__utility-list li:not(:last-child)::after{content:"|";position:absolute;right:0;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.75);font-size:10px;pointer-events:none}
.dut-ri-landing__utility-list a{display:block;padding:9px 13px;color:#fff!important;font-size:11px;font-weight:600;line-height:1.2;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.dut-ri-landing__utility-list a:hover,.dut-ri-landing__utility-list a:focus{color:var(--dut-landing-accent)!important}
.dut-ri-landing__utility-list ul{display:none;position:absolute;top:100%;left:0;min-width:210px;margin:0;padding:5px 0;background:#111;box-shadow:0 8px 18px rgba(0,0,0,.25);list-style:none}
.dut-ri-landing__utility-list li:hover>ul,.dut-ri-landing__utility-list li:focus-within>ul{display:block}
.dut-ri-landing__utility-list ul li::after{display:none}
.dut-ri-landing__utility-list ul a{padding:8px 13px;font-size:11px;white-space:normal;text-transform:none}
.dut-ri-landing__wrap{width:min(var(--dut-content,1140px),calc(100% - 40px));margin:0 auto}
.dut-ri-landing__hero{position:relative;min-height:460px;display:flex;align-items:center;overflow:hidden;color:#fff;background-image:linear-gradient(90deg,color-mix(in srgb,var(--dut-landing-secondary) 90%,transparent),color-mix(in srgb,var(--dut-landing-secondary) 52%,transparent),color-mix(in srgb,var(--dut-landing-secondary) 18%,transparent)),var(--dut-landing-hero-image);background-position:center;background-size:cover}
.dut-ri-landing__hero-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:48px;padding:80px 0 105px}
.dut-ri-landing__hero-copy{max-width:700px}
.dut-ri-landing__hero h1{margin:0 0 18px;color:#fff;font-size:clamp(34px,4vw,58px);line-height:1.08;font-weight:700}
.dut-ri-landing__hero p{max-width:650px;margin:0 0 28px;color:#fff;font-size:19px;line-height:1.6}
.dut-ri-landing__hero-logo{width:min(190px,24vw);height:auto;object-fit:contain;align-self:flex-start;margin-top:-36px}
.dut-ri-landing__pattern{position:absolute;left:0;right:0;bottom:0;height:88px;background:var(--dut-landing-pattern,none) center bottom/auto 100% repeat-x;z-index:1;pointer-events:none}
.dut-ri-landing__button{display:inline-flex;align-items:center;gap:12px;padding:13px 22px;border:2px solid var(--dut-landing-accent);border-radius:4px;background:var(--dut-landing-accent);color:var(--dut-landing-secondary)!important;font-weight:700;text-decoration:none;transition:filter .2s ease,transform .2s ease}
.dut-ri-landing__button:hover,.dut-ri-landing__button:focus{filter:brightness(.94);transform:translateY(-1px)}
.dut-ri-landing__welcome{display:grid;grid-template-columns:250px minmax(0,1fr);gap:50px;align-items:start;padding-top:48px;padding-bottom:42px}
.dut-ri-landing__portrait{width:250px;max-width:100%;margin:0}
.dut-ri-landing__portrait img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top center;border-radius:6px;background:var(--dut-landing-neutral);margin:0 0 14px}
.dut-ri-landing__portrait strong{display:block;color:var(--dut-landing-primary);font-size:18px;line-height:1.3}
.dut-ri-landing__portrait span{display:block;margin-top:4px;font-size:14px;line-height:1.45}
.dut-ri-landing__welcome-copy{width:auto;text-align:left}
.dut-ri-landing__welcome-copy h2,.dut-ri-landing__directory h2,.dut-ri-landing__video-copy h2{margin:0 0 18px;color:var(--dut-landing-primary);font-size:34px;line-height:1.15;font-weight:700}
.dut-ri-landing__lead{margin:0 0 18px;font-size:18px;line-height:1.6}
.dut-ri-landing__message{font-size:16px;line-height:1.7}
.dut-ri-landing__message p{margin:0 0 16px}
.dut-ri-landing__directory{padding:42px 0 38px;background:color-mix(in srgb,var(--dut-landing-neutral) 18%,#fff)}
.dut-ri-landing__section-intro{max-width:760px;margin:0 0 28px;font-size:17px;line-height:1.6}
.dut-ri-landing__directory-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.dut-ri-landing__institute{display:flex;min-width:0;flex-direction:column;align-items:center;gap:10px;padding:16px 12px 18px;border:1px solid color-mix(in srgb,var(--dut-landing-neutral) 35%,transparent);border-radius:6px;background:#fff;color:var(--dut-landing-secondary);text-align:center;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.dut-ri-landing__institute:hover,.dut-ri-landing__institute:focus{transform:translateY(-3px);box-shadow:0 8px 20px rgba(22,48,88,.12)}
.dut-ri-landing__institute-logo{display:flex;width:100%;height:100px;align-items:center;justify-content:center}
.dut-ri-landing__institute-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.dut-ri-landing__fallback{display:flex;width:72px;height:72px;align-items:center;justify-content:center;border-radius:50%;background:var(--dut-landing-neutral);color:var(--dut-landing-primary);font-size:32px;font-weight:700}
.dut-ri-landing__institute-name{font-size:14px;font-weight:700;line-height:1.35}
.dut-ri-landing__institute-code{color:var(--dut-landing-primary);font-size:12px;font-weight:600}
.dut-ri-landing__loading{grid-column:1/-1;margin:0;padding:22px;background:#fff;text-align:center}
.dut-ri-landing__video{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:46px;align-items:center;padding-top:44px;padding-bottom:58px}
.dut-ri-landing__video-frame{aspect-ratio:16/9;background:#0c1825;border-radius:4px;overflow:hidden;box-shadow:0 8px 22px rgba(22,48,88,.14)}
.dut-ri-landing__video-frame iframe{display:block;width:100%;height:100%;border:0}
.dut-ri-landing__video-copy p{margin:0 0 24px;font-size:17px;line-height:1.6}
@media (max-width:1000px){
  .dut-ri-landing__directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:700px){
  .dut-ri-landing__wrap{width:calc(100% - 36px)}
  .dut-ri-landing__utility{overflow-x:auto}
  .dut-ri-landing__utility-list{justify-content:flex-start;flex-wrap:nowrap;width:max-content;min-width:100%}
  .dut-ri-landing__hero{min-height:520px}
  .dut-ri-landing__hero-inner{display:block;padding:64px 0 120px}
  .dut-ri-landing__hero-logo{width:145px;margin:38px 0 0}
  .dut-ri-landing__hero p{font-size:17px}
  .dut-ri-landing__welcome,.dut-ri-landing__video{grid-template-columns:1fr;gap:28px;padding-top:50px;padding-bottom:56px}
  .dut-ri-landing__portrait{max-width:260px;margin:0 auto}
  .dut-ri-landing__welcome-copy h2,.dut-ri-landing__directory h2,.dut-ri-landing__video-copy h2{font-size:30px}
  .dut-ri-landing__directory{padding:52px 0 58px}
  .dut-ri-landing__directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .dut-ri-landing__institute-logo{height:82px}
}
