/* ==========================================================================
   EBNI modern UI layer
   Loaded last from header.php. Only visual overrides: no content or logic.
   To roll back, remove the <link> to this file in header.php.
   Rules are prefixed with "body" so they win over the inline <style>
   blocks that pages print after the theme CSS.
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Tajawal:wght@400;500;700&display=swap");

:root {
  --ebni-red: #cd3333;
  --ebni-red-dark: #a92828;
  --ebni-blue: #53b6d4;
  --ebni-blue-dark: #2f8fae;
  --ebni-orange: #e6a029;
  --ebni-orange-dark: #c9851a;
  --ebni-ink: #1f2933;
  --ebni-muted: #5b6672;
  --ebni-line: #e6e9ee;
  --ebni-soft: #f6f7f9;
  --ebni-navy: #18212c;
  --ebni-radius: 14px;
  --ebni-shadow: 0 6px 24px rgba(24, 33, 44, 0.08);
  --ebni-shadow-hover: 0 14px 34px rgba(24, 33, 44, 0.14);
  --ebni-font: "Barlow", "Tajawal", "Segoe UI", Roboto, Arial, sans-serif;
}

/* ---------- Typography ---------- */
html body {
  font-family: var(--ebni-font) !important;
  color: var(--ebni-ink);
  -webkit-font-smoothing: antialiased;
}
body h1, body h2, body h3, body h4, body h5, body h6,
body p, body a, body li, body label, body td, body th,
body button, body input, body select, body textarea,
body span:not(.glyphicon):not([class*="fa"]):not(.caret),
body .navbar-default .navbar-nav > li > a,
body h4.panel-title {
  font-family: var(--ebni-font) !important;
}
body p { line-height: 1.65; }
body a { transition: color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease; }
body a:hover, body a:focus { text-decoration: none; }

/* Section titles: "Our <span>Services</span>", "Statistics", ... */
body h2.text {
  font-size: 34px;
  font-weight: 700;
  color: var(--ebni-ink);
  letter-spacing: -0.3px;
  margin: 0 0 12px;
  position: relative;
}
body h2.text span { color: var(--ebni-red); }
body h2.text::before { display: none; }
body h2.text::after {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  margin: 14px auto 0;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--ebni-red), var(--ebni-orange));
}

/* ---------- Buttons ---------- */
body .btn {
  border-radius: 10px;
  font-weight: 600;
  padding: 8px 18px;
  transition: all .2s ease;
}
body .btn-primary, body .btn-danger {
  background: var(--ebni-red);
  border-color: var(--ebni-red);
}
body .btn-primary:hover, body .btn-danger:hover {
  background: var(--ebni-red-dark);
  border-color: var(--ebni-red-dark);
}

/* ---------- Navigation bar ---------- */
body .navbar-default.navbar-fixed-top {
  top: 0;
  margin: 0;
  padding: 6px 0 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: saturate(160%) blur(8px);
  box-shadow: 0 2px 16px rgba(24, 33, 44, 0.07);
  border: 0;
}
/* Logo: trimmed image (no transparent margins), vertically centred in the bar. */
body .navbar-default .navbar-brand {
  display: flex;
  align-items: center;
  height: 72px;
  margin: 0 !important;
  padding: 0 15px !important;
}
body .navbar-default .navbar-brand img {
  width: auto;
  height: 44px;
  margin: 0;
  padding: 0;
  border-radius: 0;
}
@media (min-width: 768px) {
  /* Brand and menu on one centred row */
  body .navbar-default > .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  body .navbar-default > .container::before,
  body .navbar-default > .container::after { display: none; }
  body .navbar-default .navbar-header { float: none; flex: 0 0 auto; }
  body .navbar-default .navbar-collapse { flex: 1 1 auto; }
}
/* Medium screens: tighter menu so it stays on one line */
@media (min-width: 768px) and (max-width: 1199px) {
  body .navbar-default .navbar-brand img { height: 36px; }
  body .navbar-default .navbar-nav.navbar-right > li > a { padding: 8px 7px; font-size: 13.5px; }
  body .navbar-default .navbar-nav.navbar-right > li > a.buttAplly { padding: 7px 12px; margin: 0 3px; }
}
/* Tablets: logo on its own row, the whole menu centred on a second row */
@media (min-width: 768px) and (max-width: 991px) {
  body .navbar-default > .container { flex-wrap: wrap; justify-content: center; }
  body .navbar-default .navbar-brand { height: 56px; }
  body .navbar-default .navbar-collapse { flex-basis: 100%; }
  body .navbar-default .navbar-nav.navbar-right {
    float: none !important;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 0 8px;
    margin: 0;
  }
  body .navbar-default .navbar-nav.navbar-right > li { flex: 0 0 auto; }
  body .navbar-default .navbar-nav.navbar-right > li > a { padding: 6px 7px; font-size: 13px; white-space: nowrap; }
}
@media (max-width: 767px) {
  body .navbar-default .navbar-brand { height: 60px; }
  body .navbar-default .navbar-brand img { height: 36px; }
  body .navbar-default .navbar-toggle { margin-top: 13px; }
}
body .navbar-default .navbar-nav.navbar-right { padding: 14px 0; }
body .navbar-default .navbar-nav > li > a {
  border-right: 0 !important;
  color: var(--ebni-ink) !important;
  font-size: 15px;
  font-weight: 500;
  padding: 8px 12px;
  border-radius: 8px;
}
body .navbar-default .navbar-nav > li > a:hover,
body .navbar-default .navbar-nav > .open > a,
body .navbar-default .navbar-nav > .open > a:hover,
body .navbar-default .navbar-nav > .open > a:focus {
  color: var(--ebni-red) !important;
  background: #fdf1f1 !important;
}
body .navbar-default .navbar-nav > li > a::before { display: none; }
body .navbar-default .navbar-nav > li > a.buttAplly,
body .buttAplly {
  background: var(--ebni-orange) !important;
  color: #fff !important;
  border-radius: 999px;
  padding: 8px 18px;
  margin: 0 6px;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(230, 160, 41, 0.35);
}
body .navbar-default .navbar-nav > li > a.buttAplly:hover,
body .buttAplly:hover {
  background: var(--ebni-orange-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
body .dropdown-menu {
  border: 0;
  border-radius: 12px;
  padding: 8px;
  box-shadow: var(--ebni-shadow-hover);
  margin-top: 8px;
}
body .dropdown-menu > li > a {
  font-size: 14px;
  border-radius: 8px;
  padding: 9px 12px;
  border-bottom: 0;
  color: var(--ebni-ink);
}
body .dropdown-menu > li > a:hover,
body .dropdown-menu > li > a:focus {
  font-weight: 500;
  background: #fdf1f1;
  color: var(--ebni-red);
  border-bottom: 0;
}

/* ---------- Home: hero ("Who we are") ---------- */
body .header {
  background: linear-gradient(120deg, var(--ebni-blue) 0%, var(--ebni-blue-dark) 100%);
  overflow: hidden;
}
body .header .box-text {
  padding-top: 36px;
  padding-bottom: 36px;
}
body .header .box-text h2 {
  margin-top: 0;
  font-size: 44px;
  font-weight: 700;
  letter-spacing: -0.5px;
}
body .header .box-text p {
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.92);
  max-width: 560px;
  margin-bottom: 20px;
}
body .header .box-text a {
  display: inline-block;
  width: auto;
  height: auto;
  padding: 12px 34px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--ebni-blue-dark);
  font-weight: 700;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.15);
}
body .header .box-text a:hover {
  border: 0;
  background: var(--ebni-orange);
  color: #fff;
  transform: translateY(-2px);
}

/* ---------- Home: services cards ---------- */
body .services {
  padding: 70px 0 60px;
  background: #fff;
}
body .services .picec {
  width: calc(20% - 24px);
  margin: 40px 12px 10px;
}
body .services .picec h2 {
  height: auto;
  min-height: 150px;
  margin: 0;
  padding: 58px 16px 24px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--ebni-ink);
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: var(--ebni-radius);
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body .services .picec:hover h2 {
  transform: translateY(-6px);
  box-shadow: var(--ebni-shadow-hover);
  border-color: rgba(205, 51, 51, 0.25);
  color: var(--ebni-red);
}
body .services .picec .img-ser {
  top: -34px;
  right: auto;
  left: 50%;
  margin-left: -36px;
  z-index: 2;
  width: 72px;
  height: 72px;
  padding: 10px;
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(83, 182, 212, 0.35);
  border: 3px solid #fff;
}

/* ---------- Home: "Where we operate" ---------- */
body .locations {
  background: linear-gradient(135deg, var(--ebni-orange) 0%, #f0b54a 100%);
  padding: 70px 0 40px;
}
body .locations::before { display: none; }
body .locations .content-text .tit h3 {
  position: static;
  color: rgba(255, 255, 255, 0.85);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin: 40px 0 6px;
}
body .locations .content-text .tit p {
  position: static;
  color: #fff;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.05;
  margin: 0;
}
body .locations .content-text .picec ul { padding-top: 40px; }
body .locations .content-text .picec ul li {
  text-align: left;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
}
body .locations .content .map .pin span {
  font-weight: 600;
  background: rgba(255, 255, 255, 0.9);
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 13px;
}

/* ---------- Home: statistics ---------- */
body .statistics {
  background: var(--ebni-soft);
  padding: 70px 0 20px;
}
body .statistics .parent .item {
  box-shadow: var(--ebni-shadow);
}
body .statistics .parent .item span { font-weight: 700; }
body .statistics .parent .item p { font-weight: 500; font-size: 15px; }

/* ---------- Home: testimonials, academy, partners ---------- */
body #Testmonials, body .academy, body #partners { padding: 70px 0; }
body #partners { background: #fff; }
body #partners .item img {
  filter: grayscale(100%);
  opacity: .75;
  transition: filter .25s ease, opacity .25s ease;
}
body #partners .item:hover img { filter: none; opacity: 1; }

/* ---------- MakerSpace: "How to access?" ---------- */
/* The fixed background had no size, so tall screens showed white behind white text. */
body .HowAccess {
  background-color: #1d232b;
  background-size: cover;
  padding: 60px 0 50px;
}

/* ==========================================================================
   Phase 2: inner pages
   ========================================================================== */

/* ---------- Page title band (was hidden by style2.css) ----------
   Shown on inner pages only. The Apply Now page has its own profile cover
   (.coverApp), so the band stays hidden there. */
body:not(:has(.coverApp)) .title_main {
  display: block !important;
  height: auto !important;
  background: linear-gradient(120deg, var(--ebni-navy) 0%, #24405a 55%, var(--ebni-blue-dark) 100%) !important;
  text-align: left;
}
body .title_main .overlayy {
  background: transparent;
  padding: 120px 0 44px;
  text-transform: none;
}
body .title_main .h1 {
  margin: 0;
  color: #fff;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.4px;
}
body .title_main .h1::after {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  margin-top: 14px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--ebni-red), var(--ebni-orange));
}
body .title_main .h3 {
  margin: 14px 0 0 !important;
  max-width: 760px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.6 !important;
}
body .title_main .h3:empty { display: none; }
body .title_main { overflow: hidden; }
@media (max-width: 767px) {
  body .title_main .container { width: auto; max-width: 100%; }
}
body .title_main .h3 {
  max-width: min(760px, 100%);
  white-space: normal !important;
  overflow-wrap: break-word;
}
body #in-page { background: var(--ebni-soft) !important; }

/* ---------- News & events cards ---------- */
body .grid-items .row { display: flex; flex-wrap: wrap; }
body .grid-items .row > [class*="col-"] { float: none; margin-bottom: 30px; }
body .grid-item.events {
  height: 100%;
  padding: 0;
  background: #fff;
  border: 1px solid var(--ebni-line) !important;
  border-radius: var(--ebni-radius);
  overflow: hidden;
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
body .grid-item.events:hover {
  transform: translateY(-6px);
  box-shadow: var(--ebni-shadow-hover);
}
body .grid-item.events .image {
  margin: 0;
  border-radius: 0;
  overflow: hidden;
}
body .grid-item.events .image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 0;
  transition: transform .4s ease;
}
body .grid-item.events:hover .image img { transform: scale(1.04); }
body .grid-item.events .info-block { padding: 18px 20px 20px; }
body .grid-item.events .info-block h4,
body .grid-item.events .info-block h3,
body .grid-item.events .info-block .title {
  color: var(--ebni-ink);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.3;
}
body .grid-item.events .info-block h5 {
  color: var(--ebni-muted);
  font-size: 14px;
}
body .grid-item.events .info-block h5 .fa { color: var(--ebni-blue-dark); margin-right: 4px; }
body .grid-item.events .moreBtn {
  background: var(--ebni-red) !important;
  border: 0;
  color: #fff !important;
  border-radius: 999px;
  padding: 6px 18px;
  font-size: 13px;
  font-weight: 700;
}
body .grid-item.events .moreBtn:hover {
  background: var(--ebni-red-dark) !important;
  color: #fff !important;
}

/* ---------- Advisors / mentors cards ---------- */
body #testimonial-slider { display: flex; flex-wrap: wrap; }
body #testimonial-slider > [class*="col-"] { float: none; margin-bottom: 28px; }
body .testimonial {
  height: 100%;
  margin: 0;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
  text-align: left;
}
body .testimonial:hover { transform: translateY(-4px); box-shadow: var(--ebni-shadow-hover); }
body .testimonial .testimonial-profile,
body .testimonial_black .testimonial .testimonial-profile {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  border-radius: 0;
}
body .testimonial .pic {
  float: none;
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border: 3px solid #f1f3f5;
}
body .testimonial .pic img { width: 100%; height: 100%; object-fit: cover; }
body .testimonial .title,
body .testimonial_black .testimonial .title {
  top: 0;
  margin: 0;
  max-width: none !important;
  color: var(--ebni-ink);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}
body .testimonial .title::before { display: none; }
body .testimonial .post,
body .testimonial_black .testimonial .post {
  margin-top: 4px;
  color: var(--ebni-muted);
  font-size: 13px;
  font-weight: 500;
}
/* The "More" button lives inside the clipped bio text; anchor it to the
   content box instead so it sits below the text, not on top of it. */
body .testimonial .testimonial-content {
  position: relative;
  margin: 0;
}
body .testimonial .testimonial-content:has(.but-more) { padding-bottom: 48px; }
body .testimonial .testimonial-content::before,
body .testimonial .testimonial-content::after { display: none; }
body .testimonial .description,
body .testimonial_black .testimonial .description {
  position: static;
  background: transparent !important;
  padding: 0 !important;
  max-height: 8em; /* 5 lines */
  color: var(--ebni-muted);
  font-size: 15px;
  line-height: 1.6;
}
body .testimonial .but-more {
  top: auto;
  bottom: 0;
  right: auto;
  left: 0;
  padding: 5px 16px;
  border: 2px solid var(--ebni-red);
  border-radius: 999px;
  background: transparent;
  color: var(--ebni-red);
  font-size: 13px;
  font-weight: 700;
}
body .testimonial .but-more:hover { background: var(--ebni-red); color: #fff; }
body .what_support { padding: 30px 0 40px; }
body .what_support h1 strong { color: #fff; }

/* ---------- Startups page ---------- */
body .startupN .side_box {
  background: linear-gradient(135deg, var(--ebni-orange) 0%, #f0b54a 100%) !important;
  border-radius: var(--ebni-radius);
  box-shadow: 0 10px 28px rgba(230, 160, 41, 0.3);
  padding: 28px;
  font-size: 17px;
  line-height: 1.55;
}
/* Markup is <a><button>Apply Now</button></a>: style the button, not the link. */
body .startupN .side_box a { display: inline-block; margin-top: 16px; }
body .startupN .side_box button {
  padding: 10px 30px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--ebni-orange-dark);
  font-weight: 700;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  transition: transform .2s ease;
}
body .startupN .side_box button:hover { transform: translateY(-2px); }
body .startupN .ajax_link img { transition: transform .25s ease; }
body .startupN .ajax_link:hover img { transform: translateY(-4px) scale(1.04); }

/* ---------- Footer ---------- */
body footer {
  background: var(--ebni-navy);
  padding: 60px 0 30px;
  color: #c3cbd4;
}
body footer .centered .footer-contact h3 a,
body footer .centered .footer-navigation h3 {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .3px;
}
body footer .centered .footer-contact p,
body footer .centered .footer-contact li,
body footer .centered .footer-contact a,
body footer .centered .footer-navigation ul li a {
  color: #c3cbd4 !important;
  font-weight: 400;
  letter-spacing: 0;
}
body footer .centered .footer-navigation ul li a:hover,
body footer .centered .footer-contact a:hover { color: #fff !important; }
body footer .centered .footer-contact p i,
body footer .centered .footer-contact li i {
  background: rgba(255, 255, 255, 0.08);
  color: var(--ebni-blue);
}
body .rights {
  background: #111820;
  color: #8c96a1;
  padding: 10px 0;
  text-align: center;
  font-size: 12px;
}
body .rights a { color: #8c96a1; }

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  body .services .picec { width: calc(50% - 24px); }
  body .locations .content-text .tit p { font-size: 44px; }
}
@media (max-width: 767px) {
  body h2.text { font-size: 28px; }
  body .navbar-default .navbar-nav.navbar-right { padding: 6px 0; }
  body .header .box-text h2 { font-size: 32px; }
  body .services .picec {
    width: calc(100% - 24px);
    float: none;
    display: block;
    margin: 46px 12px 0;
  }
  body .services .picec h2 { min-height: 0; }
  body .locations { padding: 40px 0 20px; }
  body .locations .content-text .tit p { font-size: 38px; }
  body .locations .content-text .picec ul { padding-top: 16px; }
  body .locations .content-text .picec ul li { font-size: 20px; }
  body .title_main .overlayy { padding: 96px 0 32px; }
  body .title_main .h1 { font-size: 30px; }
  body .grid-item.events .image img { height: 200px; }
}

/* ==========================================================================
   Phase 3: new home layout
   Goes with the rearranged home.php (stats strip, location cards, gallery
   mosaic, testimonial cards, partner logo row). Later rules here override
   the Phase 1 home rules above.
   ========================================================================== */

/* ---------- Hero: full-width photo with text on top ---------- */
body .header {
  position: relative;
  height: auto;
  min-height: 560px;
  background: var(--ebni-navy);
}
body .header > div > .row { margin: 0; position: relative; min-height: 560px; }
body .header .col-md-7 {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  width: 100%;
  padding: 0;
  z-index: 0;
}
body .header .image-header { float: none; height: 100%; clip-path: none; }
body .header .image-header .befor { width: 100%; height: 100% !important; object-fit: cover; }
body .header::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(24, 33, 44, 0.94) 0%, rgba(24, 33, 44, 0.78) 45%, rgba(24, 33, 44, 0.25) 100%);
}
body .header .col-md-5 {
  position: relative;
  z-index: 2;
  float: none;
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px;
}
body .header .box-text {
  height: auto;
  max-width: 600px;
  padding: 120px 0 170px;
}
body .header .box-text h2 { font-size: 52px; letter-spacing: -1px; }
body .header .box-text h2::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin-top: 16px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--ebni-red), var(--ebni-orange));
}
body .header .box-text a {
  background: var(--ebni-orange);
  color: #fff;
  padding: 14px 38px;
}
body .header .box-text a:hover { background: #fff; color: var(--ebni-ink); }

/* ---------- Numbers strip overlapping the hero ---------- */
body .statistics.stats-strip {
  position: relative;
  z-index: 5;
  height: auto;
  margin-top: -100px;
  padding: 0;
  background: transparent;
}
body .stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(24, 33, 44, 0.16);
  overflow: hidden;
}
body .stat-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 24px;
  border-right: 1px solid var(--ebni-line);
  border-bottom: 1px solid var(--ebni-line);
  position: relative;
}
body .stat-card:nth-child(4n) { border-right: 0; }
body .stat-card:nth-last-child(-n+4) { border-bottom: 0; }
body .stat-icon {
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ebni-blue-dark);
}
body .stat-card:nth-child(4n+2) .stat-icon { background: var(--ebni-red); }
body .stat-card:nth-child(4n+3) .stat-icon { background: var(--ebni-orange); }
body .stat-card:nth-child(4n+4) .stat-icon { background: var(--ebni-navy); }
body .stat-icon img { width: 30px; height: 30px; object-fit: contain; }
body .stat-body .counter {
  display: block;
  color: var(--ebni-ink);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
}
body .stat-body p {
  margin: 2px 0 0;
  color: var(--ebni-muted);
  font-size: 14px;
  line-height: 1.35;
}

/* ---------- Services: arrow appears on hover ---------- */
body .services { padding-top: 90px; }
body .services .picec h2::after {
  content: "\f178";
  display: block;
  margin-top: 10px;
  font-family: FontAwesome !important;
  font-size: 18px;
  color: var(--ebni-red);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity .25s ease, transform .25s ease;
}
body .services .picec:hover h2::after { opacity: 1; transform: none; }

/* ---------- Where we operate: location cards ---------- */
body .locations .content-text .picec ul { padding: 18px 0 0; margin: 0; }
body .locations .content-text .picec ul li { font-size: 20px; }
body .location-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 26px 0 30px;
}
body .location-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  color: var(--ebni-ink);
  font-size: 16px;
  font-weight: 600;
}
body .location-card .fa { font-size: 20px; color: var(--ebni-blue-dark); }
body .location-card.is-main .fa { color: var(--ebni-red); }

/* ---------- Photo mosaic (was a sliding strip) ---------- */
body .section-images { padding: 70px 0; background: #fff; }
body .gallery-mosaic {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 170px;
  grid-auto-flow: dense;
  gap: 12px;
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px;
}
body .gallery-mosaic .item { border-radius: 14px; overflow: hidden; }
body .gallery-mosaic .item:nth-child(1),
body .gallery-mosaic .item:nth-child(6) { grid-column: span 2; grid-row: span 2; }
body .gallery-mosaic .item img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  transition: transform .5s ease;
}
body .gallery-mosaic .item:hover img { transform: scale(1.05); }

/* ---------- Testimonials: 3 cards side by side ---------- */
body #Testmonials { background: var(--ebni-soft); }
body #Testmonials .overlay { background: transparent; }
body .testimonial-section .test { color: var(--ebni-muted); font-size: 17px; }
body .testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 34px;
  text-align: left;
}
body .testimonial-grid .item { position: relative; }
body .t-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: 26px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
}
/* Quote comes second in the markup: show it first, keep the person at the bottom. */
body .t-quote { order: 1; }
body .t-person { order: 2; margin-top: auto; }
body .t-quote::before {
  content: "\201C";
  display: block;
  height: 34px;
  color: var(--ebni-red);
  font-family: Georgia, serif !important;
  font-size: 60px;
  line-height: 1;
}
body .t-quote p {
  margin: 0 0 20px;
  color: var(--ebni-ink);
  font-size: 15.5px;
  line-height: 1.7;
}
body .t-person .cli {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--ebni-line);
}
body .t-person .img-test {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
}
body .t-person .img-test img { width: 100%; height: 100%; object-fit: cover; }
body .t-person .des-test h3 { margin: 0; color: var(--ebni-ink); font-size: 16px; font-weight: 700; }
body .t-person .des-test span { color: var(--ebni-muted); font-size: 13px; }

/* ---------- Academy: one split card ---------- */
body .academy {
  background: #fff !important;
  padding: 70px 0 !important;
}
body .academy .row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 34px 20px;
  background: var(--ebni-soft);
  border-radius: 18px;
}
body .academy .box { background: transparent; box-shadow: none; border: 0; }
body .academy .box p { color: var(--ebni-ink); font-size: 16px; line-height: 1.7; }
body .academy .logo { margin-top: 0; }
body .academy .box a {
  width: auto;
  height: auto;
  margin-top: 18px;
  padding: 11px 28px;
  border-radius: 999px;
  font-weight: 700;
}

/* ---------- Partners: logo row (was a slider) ---------- */
body #partners { background: var(--ebni-soft); margin: 0; }
body #partners .he {
  margin: 0 0 10px;
  color: var(--ebni-muted);
  font-size: 17px;
  font-weight: 500;
  filter: none;
}
body .partner-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}
body #partners .partner-logos .item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 170px;
  height: 96px;
  margin: 0;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 14px;
}
body #partners .partner-logos .item img {
  width: auto !important;
  max-width: 100%;
  max-height: 60px;
  object-fit: contain;
}

/* ---------- Phase 3 responsive ---------- */
@media (max-width: 991px) {
  body .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .stat-card:nth-child(n) { border-right: 1px solid var(--ebni-line); border-bottom: 1px solid var(--ebni-line); }
  body .stat-card:nth-child(2n) { border-right: 0; }
  body .stat-card:nth-last-child(-n+2) { border-bottom: 0; }
  body .testimonial-grid { grid-template-columns: minmax(0, 1fr); }
  body .gallery-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 140px; }
}
@media (max-width: 767px) {
  body .header, body .header > div > .row { min-height: 0; }
  body .header .box-text { padding: 60px 0 130px; }
  body .header .box-text h2 { font-size: 36px; }
  body .statistics.stats-strip { margin-top: -80px; }
  body .stat-card { padding: 16px; gap: 10px; }
  body .stat-icon { flex-basis: 40px; width: 40px; height: 40px; border-radius: 10px; }
  body .stat-icon img { width: 24px; height: 24px; }
  body .stat-body .counter { font-size: 24px; }
  body .stat-body p { font-size: 12.5px; }
  body .services { padding-top: 60px; }
  body #partners .partner-logos .item { flex-basis: calc(50% - 10px); }
}

/* ==========================================================================
   Phase 4: inner page layouts
   ========================================================================== */

/* ---------- News & events: the latest story is featured (wide card) ---------- */
@media (min-width: 992px) {
  body .grid-items .row > [class*="col-"]:first-child { width: 100%; }
  body .grid-items .row > [class*="col-"]:first-child .grid-item.events {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  }
  body .grid-items .row > [class*="col-"]:first-child .grid-item.events .image img {
    height: 100%;
    min-height: 400px;
  }
  body .grid-items .row > [class*="col-"]:first-child .grid-item.events .info-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 44px;
  }
  body .grid-items .row > [class*="col-"]:first-child .grid-item.events .info-block h3 {
    font-size: 34px;
    letter-spacing: -0.5px;
  }
  body .grid-items .row > [class*="col-"]:first-child .grid-item.events .moreBtn {
    float: none !important;
    display: inline-block;
    margin-top: 18px;
    padding: 10px 26px;
    font-size: 14px;
  }
}

/* ---------- Advisors: tabs ---------- */
body .adv-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
  margin: 46px auto 26px;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 999px;
  box-shadow: var(--ebni-shadow);
}
body .adv-tabs button {
  padding: 10px 24px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ebni-muted);
  font-size: 15px;
  font-weight: 600;
  transition: background-color .2s ease, color .2s ease;
}
body .adv-tabs button:hover { color: var(--ebni-red); }
body .adv-tabs button.active { background: var(--ebni-red); color: #fff; }
/* The tab already names the group, so the big group heading is hidden. */
body [data-adv-group] h1 { display: none; }
/* Cards in a group that was hidden never get their scroll animation; show them directly. */
body [data-adv-group] .wow { visibility: visible !important; animation: none !important; }
body .what_support[data-adv-group] { background: none !important; color: inherit; padding: 0 0 40px; }
body [data-adv-group="3"] { padding: 0 0 40px !important; }

/* ---------- Startups: banner + sector cards ---------- */
body .startupN .side_box {
  display: block;
  max-width: none !important;
  width: 100%;
  margin: 40px 0 26px !important;
  padding: 30px 34px;
}
body .startupN .side_box .SideTitle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  text-align: left !important;
  font-size: 20px;
  font-weight: 500;
}
body .startupN .side_box .SideTitle br { display: none; }
body .startupN .side_box a { flex: 0 0 auto; margin-top: 0; }
body .startupN .side_box button { margin-top: 0; }
body .sector-grid { display: flex; flex-wrap: wrap; margin: 0 -10px 40px; }
body .sector-item { float: none; padding: 10px; }
body .sector-card {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 100%;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body .sector-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ebni-shadow-hover);
  border-color: rgba(205, 51, 51, 0.25);
}
body .sector-card br { display: none; }
body .startupN .sector-card img {
  flex: 0 0 60px;
  width: 60px;
  height: 60px;
  margin: 0;
}
body .startupN .sector-card .startup_title {
  flex: 1;
  margin: 0;
  color: var(--ebni-ink);
  font-size: 18px;
  font-weight: 700;
}
body .sector-card::after {
  content: "\f178";
  font-family: FontAwesome !important;
  color: var(--ebni-red);
  opacity: .45;
  transition: opacity .2s ease, transform .2s ease;
}
body .sector-card:hover::after { opacity: 1; transform: translateX(3px); }

@media (max-width: 767px) {
  body .adv-tabs { border-radius: 16px; }
  body .adv-tabs button { padding: 8px 14px; font-size: 14px; }
  body .startupN .side_box .SideTitle { flex-direction: column; align-items: flex-start; font-size: 17px; }
  body .sector-item { width: 100%; }
}

/* ==========================================================================
   Phase 5: remaining public pages
   ========================================================================== */

/* ---------- Equipment cards: MakerSpace "Our lab", Co-working "What we offer" ---------- */
body .We_offers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 18px;
  margin: 10px 0 30px;
}
body .We_offers::before,
body .We_offers::after { display: none; }
body .We_offers > [class*="col-"] {
  float: none;
  width: auto;
  padding: 26px 16px 22px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
body .We_offers > [class*="col-"]:hover { transform: translateY(-5px); box-shadow: var(--ebni-shadow-hover); }
body .We_offers img { max-width: 84px !important; margin-bottom: 14px; }
body .We_offers ._title {
  margin: 0 !important;
  color: var(--ebni-ink);
  font-size: 16px;
  font-weight: 600;
}

/* ---------- Price list on the dark "How to access?" band ---------- */
body .HowAccess .col-lg-8 {
  margin-top: 10px;
  padding: 22px 28px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  backdrop-filter: blur(6px);
}
body .HowAccess hr { margin: 12px 0; border-color: rgba(255, 255, 255, 0.16); }
body .HowAccess .col-xs-4.text-right { color: #ffd38a; font-weight: 700; }

/* ---------- Membership plans: equal-height cards, price at the bottom ---------- */
body .content > .row { display: flex; flex-wrap: wrap; }
body .auto-resize { display: flex; padding: 10px; }
body .pricing {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ebni-line) !important;
  border-radius: 18px;
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
body .pricing:hover { transform: translateY(-6px); box-shadow: var(--ebni-shadow-hover); }
body .pricing-head { padding: 22px 16px 6px; }
body .pricing-head h3 {
  padding-bottom: 14px;
  font-size: 22px;
  font-weight: 700;
}
body .pricing .pricing-content { margin: 0; }
body .pricing .pricing-content li {
  padding: 9px 14px;
  border-bottom: 1px dashed var(--ebni-line);
  color: var(--ebni-ink);
  font-size: 14px;
}
body .pricing .price {
  margin-top: auto !important;
  padding-top: 22px;
  font-size: 32px !important;
  font-weight: 700;
}
body .pricing .month { margin-bottom: 22px; color: var(--ebni-muted); }
/* Gold: the top plan gets a dark card */
body .c5 .pricing { background: var(--ebni-navy); border-color: var(--ebni-navy) !important; }
body .c5 .pricing .pricing-content li { color: #d6dde5; border-bottom-color: rgba(255, 255, 255, 0.12); }
body .content > .buttAplly { display: inline-block; margin: 26px 10px 0 !important; }

/* ---------- Incubation program ---------- */
body #ListMore.in,
body #ListMore1 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 10px;
  margin: 16px 0;
  padding: 0;
  list-style: none;
}
body #ListMore li,
body #ListMore1 li {
  position: relative;
  padding: 12px 14px 12px 42px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 12px;
  color: var(--ebni-ink);
  font-size: 15px;
}
body #ListMore li::before,
body #ListMore1 li::before {
  content: "\f00c";
  position: absolute;
  left: 15px;
  top: 12px;
  color: var(--ebni-red);
  font-family: FontAwesome !important;
}
body .what_support #ListMore1 li {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.18);
  color: #fff;
}
body .what_support #ListMore1 li::before { color: #ffd38a; }
body [data-target="#ListMore"] {
  display: inline-block;
  padding: 8px 20px;
  border: 2px solid var(--ebni-red);
  border-radius: 999px;
  color: var(--ebni-red);
  font-weight: 700;
  cursor: pointer;
}
body [data-target="#ListMore"]:hover { background: var(--ebni-red); color: #fff; }
body .what_expect .side_box {
  max-width: 380px;
  padding: 30px;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(205, 51, 51, 0.3);
  font-size: 16px;
  line-height: 1.6;
}
body .what_expect .side_box button {
  padding: 10px 28px;
  border: 0 !important;
  border-radius: 999px;
  background: #fff !important;
  color: var(--ebni-red) !important;
  font-weight: 700;
}

/* ---------- Who we are ---------- */
body .about-text {
  max-width: 860px;
  margin: 50px auto;
  padding: 40px 44px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 18px;
  box-shadow: var(--ebni-shadow);
}
body .about-text p { margin: 0 0 18px; color: var(--ebni-ink); font-size: 18px; line-height: 1.8; }
body .about-text p:first-child { font-size: 20px; font-weight: 500; }
body .about-text p:last-child { margin-bottom: 0; }

/* ---------- Single news / event: article layout ---------- */
body .maqal {
  max-width: 860px;
  margin: 40px auto 50px;
  overflow: hidden;
  background: #fff;
  border-radius: 18px;
  box-shadow: var(--ebni-shadow);
}
body .maqal > img {
  width: 100% !important;
  max-height: 480px;
  margin: 0;
  border-radius: 0 !important;
  object-fit: cover;
}
body .maqal .tex-c { margin: 0; padding: 30px 40px 40px; }
body .maqal p {
  width: auto !important;
  color: var(--ebni-ink);
  font-size: 17px !important;
  line-height: 1.8;
}
body .maqal .tex-c img { width: auto !important; max-width: 100%; height: auto; }
body .news-article .tex-c h3 { margin-top: 0; font-size: 30px; font-weight: 700; }
/* Event location as a small chip */
body .maqal:not(.news-article) .tex-c > p:first-child strong {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  background: #fdf1f1;
  color: var(--ebni-red);
  font-size: 14px;
}

@media (max-width: 767px) {
  body .about-text { margin: 24px 0; padding: 24px 20px; }
  body .about-text p, body .about-text p:first-child { font-size: 16px; }
  body .maqal { margin: 20px 0 30px; }
  body .maqal .tex-c { padding: 22px 20px 28px; }
  body .news-article .tex-c h3 { font-size: 24px; }
  body .auto-resize { width: 100%; }
  body .We_offers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body .We_offers > [class*="col-"] { padding: 18px 10px 16px; }
  body .We_offers img { max-width: 60px !important; margin-bottom: 10px; }
  body .We_offers ._title { font-size: 14px; }
}

/* ==========================================================================
   Phase 6: forms (sign in, sign up, Apply Now)
   ========================================================================== */

/* ---------- Sign in / sign up card ---------- */
body .new_account { padding: 40px 0 60px; }
body .new_account > .container > h3 {
  margin: 0 0 6px;
  color: var(--ebni-muted) !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
}
body .new_account .row { display: flex; justify-content: center; }
body .new_account .row > [class*="col-"] { float: none; width: 100%; max-width: 480px; }
body .new_account .cardd {
  margin: 14px 0;
  padding: 36px 32px 30px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 20px;
  box-shadow: var(--ebni-shadow-hover);
}
body .new_account .cardd h4 {
  margin: 0 0 26px;
  color: var(--ebni-ink);
  font-size: 24px;
  font-weight: 700;
}

/* Fields: label above, tall rounded input, icon inside on the right */
body .input-holder {
  margin-bottom: 18px;
  padding: 0;
  border: 0;
  border-radius: 0;
}
body .input-holder label {
  position: static;
  display: block;
  margin: 0 0 6px;
  padding: 0;
  background: none;
  color: var(--ebni-ink);
  font-size: 14px;
  font-weight: 600;
}
body .input-holder input {
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 0 52px 0 16px;
  background: #fff;
  border: 1.5px solid var(--ebni-line) !important;
  border-radius: 12px;
  color: var(--ebni-ink);
  font-size: 15px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .input-holder input:focus,
body .input-holder input:focus-visible {
  border-color: var(--ebni-red) !important;
  box-shadow: 0 0 0 4px rgba(205, 51, 51, 0.12);
  outline: none;
}
body .input-holder .icon {
  top: auto;
  right: 9px;
  bottom: 9px;
  width: 30px;
  height: 30px;
  background: #fdf1f1;
  color: var(--ebni-red);
  line-height: 30px;
}
body .new_account .save { margin: 4px 0 0; color: var(--ebni-muted); font-size: 14px; }
body .new_account .save input { width: 16px; height: 16px; margin-right: 8px; accent-color: var(--ebni-red); }
body .new_account .cardd button {
  height: 48px;
  margin: 22px 0 14px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: var(--ebni-red);
  box-shadow: 0 8px 20px rgba(205, 51, 51, 0.25);
  font-size: 16px;
  font-weight: 700;
  transition: background-color .2s ease, transform .2s ease;
}
body .new_account .cardd button:hover { background: var(--ebni-red-dark); transform: translateY(-1px); }
body .new_account .cardd a { margin: 8px 0; color: var(--ebni-muted); font-size: 14px; }
body .new_account .cardd a b { color: var(--ebni-red); }
/* 4-digit verification code boxes */
body .verify input {
  width: 52px;
  height: 56px;
  margin: 14px 4px;
  border: 1.5px solid var(--ebni-line);
  border-radius: 12px;
  font-size: 22px;
  font-weight: 700;
}
body .verify input:focus { border-color: var(--ebni-red); outline: none; box-shadow: 0 0 0 4px rgba(205, 51, 51, 0.12); }

/* ---------- Apply Now login (shown when logged out) ---------- */
body .loginForm {
  max-width: 480px;
  margin: 50px auto 60px;
  padding: 36px 32px 30px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 20px;
  box-shadow: var(--ebni-shadow-hover);
}
body .loginForm .form-box { width: 100%; margin: 0; }
body .loginForm .login_header { margin-bottom: 22px; padding-bottom: 0; border: 0; }
body .loginForm .login_header h3 { color: var(--ebni-ink); font-size: 24px; font-weight: 700; }
body .loginForm .body { background: none !important; padding: 0; }
body .loginForm .input-group { width: 100%; }
body .loginForm input[type="text"],
body .loginForm input[type="password"] {
  height: 48px;
  padding: 0 16px;
  border: 1.5px solid var(--ebni-line) !important;
  border-right: 0 !important;
  border-radius: 12px 0 0 12px !important;
  font-weight: 500;
}
body .loginForm input[type="text"]:focus,
body .loginForm input[type="password"]:focus { border-color: var(--ebni-red) !important; box-shadow: none; }
body .loginForm .input-group-addon:last-child {
  width: 50px;
  border: 1.5px solid var(--ebni-line) !important;
  border-left: 0 !important;
  border-radius: 0 12px 12px 0 !important;
  background: #fdf1f1 !important;
  color: var(--ebni-red) !important;
}
body .loginForm .form-group label { color: var(--ebni-muted); font-weight: 500; }
body .loginForm button {
  height: 48px;
  padding: 0;
  border-radius: 12px !important;
  font-size: 16px;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(205, 51, 51, 0.25);
}
body .loginForm a { color: var(--ebni-muted); font-weight: 500; }
body .loginForm .grp { margin-top: -6px; }
body .loginForm .grp h4 {
  width: 100% !important;
  margin: 6px 0 14px;
  color: var(--ebni-muted);
  font-size: 13px;
  letter-spacing: 2px;
}
body .loginForm .buttonToReg a.btn {
  width: 100% !important;
  height: 48px;
  padding: 13px 0;
  border: 1.5px solid var(--ebni-ink);
  border-radius: 12px;
  background: #fff !important;
  color: var(--ebni-ink) !important;
  font-weight: 700;
}
body .loginForm .buttonToReg a.btn:hover { background: var(--ebni-ink) !important; color: #fff !important; }

/* ---------- Apply Now (logged in): choose location + application form ---------- */
body .cardOfApp {
  margin-bottom: 24px;
  padding: 32px 36px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 20px;
  box-shadow: var(--ebni-shadow);
}
body .cardOfApp .cardTitle {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px;
  color: var(--ebni-ink);
  font-size: 22px;
  font-weight: 700;
}
body .cardOfApp .cardTitle .fa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #fdf1f1;
  color: var(--ebni-red);
  font-size: 14px;
}
/* Intake locations as selectable cards */
body .cardOfApp > .row:has(.intake) {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 16px;
  margin: 0;
}
body .cardOfApp > .row:has(.intake)::before,
body .cardOfApp > .row:has(.intake)::after { display: none; }
body .cardOfApp .intake {
  position: relative;
  float: none;
  width: auto;
  padding: 0;
  border-radius: 16px;
  background: none;
  font-size: 15px;
}
body .cardOfApp .intake > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  height: 100%;
  padding: 20px 14px 18px;
  background: #fff;
  border: 1.5px solid var(--ebni-line);
  border-radius: 16px;
  color: var(--ebni-ink);
  font-weight: 600;
  line-height: 1.35;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body .cardOfApp .intake > a:hover {
  border-color: rgba(205, 51, 51, 0.4);
  transform: translateY(-3px);
  box-shadow: var(--ebni-shadow);
}
body .cardOfApp .active-intake { background: none; }
body .cardOfApp .active-intake > a { border-color: var(--ebni-red); background: #fdf1f1; }
body .cardOfApp .intake-photo {
  width: auto;
  max-width: 100%;
  height: 80px !important;
  margin: 0 !important;
  object-fit: contain;
}
/* Questions: label above a boxed field (replaces the floating label + underline) */
body .question label { margin: 0 0 22px; }
body .question .label-txt,
body .question .label-active {
  position: static;
  top: auto;
  margin: 0 0 8px;
  padding: 0;
  color: var(--ebni-ink);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.45;
}
body .question .input {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  background: #fff;
  border: 1.5px solid var(--ebni-line);
  border-radius: 12px;
  color: var(--ebni-ink);
  font-size: 15px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .question textarea.input { min-height: 110px; resize: vertical; }
body .question select.input { height: 48px; }
body .question .input:focus { border-color: var(--ebni-red); box-shadow: 0 0 0 4px rgba(205, 51, 51, 0.12); }
body .question .line-box { display: none; }
body .question .error-message { padding: 6px 0 0; font-size: 13px; }
/* Save = secondary, Submit = primary */
body .cardOfApp button[data-action] {
  height: 48px;
  margin: 6px 10px 0 0;
  padding: 0 34px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
}
body .cardOfApp button[data-action="save"] { background: #fff; border: 1.5px solid var(--ebni-ink); color: var(--ebni-ink); }
body .cardOfApp button[data-action="save"]:hover { background: var(--ebni-ink); color: #fff; }
body .cardOfApp button[data-action="submit"] {
  background: var(--ebni-red);
  color: #fff;
  box-shadow: 0 8px 20px rgba(205, 51, 51, 0.25);
}
body .cardOfApp button[data-action="submit"]:hover { background: var(--ebni-red-dark); }
/* Submitted application: info sidebar */
body .founders .info {
  padding: 10px 0;
  border-bottom: 1px dashed var(--ebni-line);
  color: var(--ebni-ink);
}
body .founders .info .fa { width: 22px; color: var(--ebni-red); }

/* ---------- Menu with a logged-in user name: keep it on one line ---------- */
@media (min-width: 992px) {
  body .navbar-default .navbar-nav.navbar-right { display: flex; flex-wrap: nowrap; align-items: center; }
  body .navbar-default .navbar-nav.navbar-right > li > a { white-space: nowrap; }
  /* Only the user-name menu (just before the cart) is shortened with "…" */
  body .navbar-default .navbar-nav.navbar-right > li.cart-li { flex: 0 0 auto; }
  body .navbar-default .navbar-nav.navbar-right > li:nth-last-child(2) > a.dropdown-toggle {
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (min-width: 1200px) and (max-width: 1499px) {
  body .navbar-default .navbar-nav.navbar-right > li > a { padding: 8px 9px; font-size: 14.5px; }
}
@media (max-width: 767px) {
  body .new_account .cardd, body .loginForm { padding: 26px 20px; }
  body .loginForm { margin: 24px 0 40px; }
  body .cardOfApp { padding: 22px 18px; }
  body .cardOfApp > .row:has(.intake) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body .cardOfApp button[data-action] { width: 100%; margin: 6px 0 0; }
}
