/* =========================================================================
   World Entrepreneur & Investor Summit 2026 — design system
   Premium corporate: deep navy + warm gold, generous whitespace, wide layout.
   Mobile-first. No external dependencies.
   ========================================================================= */

:root {
  /* LinkedIn-blue palette. Names kept (navy/gold) so all rules remap at once:
     "navy" = the blue family, "gold" = the bright-blue accent used on dark. */
  --navy-900: #002850;   /* deepest blue (hero/footer base) */
  --navy-800: #003a70;   /* dark blue surfaces */
  --navy-700: #004182;   /* LinkedIn dark blue */
  --navy-600: #0a66c2;   /* LinkedIn primary blue (links, actions) */
  --gold-500: #0a66c2;   /* primary accent on light backgrounds */
  --gold-400: #378fe9;   /* hover / bright accent */
  --gold-300: #70b5f9;   /* accent on dark backgrounds */
  --ink: #0f1b2d;
  --slate: #45566d;
  --muted: #667891;
  --line: #dbe4f0;
  --bg: #ffffff;
  --bg-soft: #f3f7fc;
  --bg-tint: #e8f1fb;
  --white: #ffffff;
  --success: #057642;
  --error: #c0392b;

  --maxw: 1320px;
  --radius: 14px;
  --radius-sm: 9px;
  --shadow-sm: 0 1px 3px rgba(11,31,58,.08), 0 1px 2px rgba(11,31,58,.06);
  --shadow-md: 0 12px 34px rgba(11,31,58,.12);
  --shadow-lg: 0 24px 60px rgba(7,20,38,.22);
  --ff-head: "Georgia", "Times New Roman", serif;
  --ff-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --t: .2s ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--ff-body);
  color: var(--ink);
  background: var(--bg);
  line-height: 1.65;
  font-size: 17px;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--navy-600); text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3, h4 { font-family: var(--ff-head); line-height: 1.18; color: var(--navy-800); font-weight: 700; }
h1 { font-size: clamp(2rem, 4.6vw, 3.4rem); letter-spacing: -.01em; }
h2 { font-size: clamp(1.55rem, 3vw, 2.4rem); margin-top: 0; }
h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); }
p { margin: 0 0 1.1rem; }

.container { width: min(94%, var(--maxw)); margin-inline: auto; }
.section { padding: clamp(3rem, 7vw, 6rem) 0; }
.section--soft { background: var(--bg-soft); }
.section--tint { background: var(--bg-tint); }
.section--navy { background: var(--navy-800); color: #e8eefb; }
.section--navy h2, .section--navy h3 { color: #fff; }
.lede { font-size: 1.2rem; color: var(--slate); max-width: 62ch; }
.eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .8rem; font-weight: 700; color: var(--gold-500); margin: 0 0 .6rem; font-family: var(--ff-body); }
.visually-hidden, .hp { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---- Accessibility helpers ---- */
.skip-link {
  position: absolute; left: 1rem; top: -60px; z-index: 200;
  background: var(--navy-800); color: #fff; padding: .7rem 1.1rem; border-radius: 0 0 8px 8px;
  transition: top var(--t);
}
.skip-link:focus { top: 0; }
:focus-visible { outline: 3px solid var(--gold-500); outline-offset: 2px; border-radius: 4px; }

/* ---- Buttons ---- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  font: 600 1rem/1 var(--ff-body); padding: .95rem 1.6rem; border-radius: 999px;
  border: 2px solid transparent; cursor: pointer; transition: var(--t); text-align: center;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }
.btn--primary { background: var(--gold-500); color: #fff; border-color: var(--gold-500); }
.btn--primary:hover { background: var(--gold-400); border-color: var(--gold-400); color: #fff; }
.btn--ghost { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.5); }
.btn--ghost:hover { background: rgba(255,255,255,.22); }
.btn--outline { background: transparent; color: var(--navy-700); border-color: var(--navy-700); }
.btn--outline:hover { background: var(--navy-800); color: #fff; border-color: var(--navy-800); }
.btn--block { display: flex; width: 100%; }
.btn--sm { padding: .55rem 1rem; font-size: .9rem; }
.btn--book { box-shadow: var(--shadow-sm); }

/* ---- Header ---- */
.site-header {
  position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96);
  backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--line);
}
.site-header__inner { display: flex; align-items: center; gap: 1.2rem; min-height: 76px; }
.brand { display: flex; align-items: center; gap: .6rem; color: var(--navy-800); }
.brand:hover { text-decoration: none; }
.brand__mark { color: var(--gold-500); display: grid; place-items: center; }
.brand__name { font-family: var(--ff-head); font-weight: 700; font-size: 1.02rem; line-height: 1.05; display: block; }
.brand__amp { color: var(--gold-500); }
.brand__meta { display: block; font-family: var(--ff-body); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin-top: 2px; }

.nav { margin-left: auto; }
.nav__list { display: flex; align-items: center; gap: .3rem; list-style: none; margin: 0; padding: 0; }
.nav__link {
  display: inline-flex; align-items: center; gap: .25rem; padding: .55rem .7rem; border-radius: 8px;
  color: var(--ink); font-weight: 600; font-size: .95rem; background: none; border: 0; cursor: pointer; font-family: var(--ff-body);
}
.nav__link:hover { background: var(--bg-tint); text-decoration: none; }
.nav__link[aria-current="page"] { color: var(--navy-600); }
.nav__caret { transition: transform var(--t); }
.nav__item--mega { position: relative; }
.nav__mega-toggle[aria-expanded="true"] .nav__caret { transform: rotate(180deg); }

.site-header__actions { display: flex; align-items: center; gap: .6rem; }

/* ---- Mega menu ---- */
.mega {
  position: absolute; top: calc(100% + 12px); right: 0; width: min(720px, 90vw);
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow-lg); padding: 1.3rem; z-index: 120;
}
/* Invisible bridge across the 12px gap so hover doesn't drop when moving to the menu */
.mega::before { content: ""; position: absolute; top: -14px; left: 0; right: 0; height: 14px; }
.mega__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.mega__card {
  display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto auto; gap: .1rem .8rem;
  padding: 1rem; border-radius: var(--radius-sm); border: 1px solid var(--line); background: var(--bg-soft);
  color: var(--ink); transition: var(--t);
}
.mega__card:hover { border-color: var(--gold-400); box-shadow: var(--shadow-sm); text-decoration: none; transform: translateY(-2px); }
.mega__icon { grid-row: 1 / 4; color: var(--navy-600); align-self: start; }
.mega__card-title { font-weight: 700; color: var(--navy-800); font-family: var(--ff-head); }
.mega__card-desc { font-size: .86rem; color: var(--slate); }
.mega__card-cta { font-size: .85rem; font-weight: 700; color: var(--navy-600); margin-top: .3rem; }
.mega__note { margin: 1rem 0 0; font-size: .82rem; color: var(--muted); text-align: center; border-top: 1px solid var(--line); padding-top: .8rem; }

/* ---- Mobile nav ---- */
.nav-toggle { display: none; flex-direction: column; gap: 5px; width: 44px; height: 44px; align-items: center; justify-content: center; background: none; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.nav-toggle__bar { width: 22px; height: 2px; background: var(--navy-800); transition: var(--t); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mobile-nav { display: none; padding: 1.2rem 3%; border-top: 1px solid var(--line); background: #fff; }
.mobile-nav__list { list-style: none; margin: 0 0 .5rem; padding: 0; }
.mobile-nav__list a, .mobile-nav__group a { display: block; padding: .7rem .2rem; border-bottom: 1px solid var(--line); color: var(--ink); font-weight: 600; }
.mobile-nav__group summary { padding: .7rem .2rem; font-weight: 700; cursor: pointer; color: var(--navy-800); }
.mobile-nav__group ul { list-style: none; margin: 0; padding: 0 0 0 .8rem; }
.mobile-nav__note { font-size: .8rem; color: var(--muted); margin-top: .8rem; }

/* ---- Breadcrumb ---- */
.breadcrumb { padding: 1rem 0 0; }
.breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0; font-size: .85rem; color: var(--muted); }
.breadcrumb a { color: var(--muted); }
.breadcrumb [aria-current="page"] { color: var(--navy-700); font-weight: 600; }

/* ---- Hero ---- */
.hero { position: relative; background: linear-gradient(160deg, var(--navy-900), var(--navy-700)); color: #eaf1ff; overflow: hidden; }
.hero::after { content: ""; position: absolute; inset: 0; background: radial-gradient(1200px 400px at 80% -10%, rgba(200,162,74,.22), transparent 60%); pointer-events: none; }
.hero__inner { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 2.5rem; align-items: center; padding: clamp(3rem, 7vw, 6rem) 0; }
.hero h1 { color: #fff; }
.hero__eyebrow { color: var(--gold-300); }
.hero__meta { display: flex; flex-wrap: wrap; gap: 1.2rem; margin: 1.2rem 0 1.6rem; font-weight: 600; }
.hero__meta span { display: inline-flex; align-items: center; gap: .45rem; color: var(--gold-300); }
.hero__lede { color: #cdd8ee; font-size: 1.15rem; max-width: 54ch; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.6rem; }
.hero__note { margin-top: 1.3rem; font-size: .85rem; color: #9fb0d0; }
.hero__card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius); padding: 1.6rem; backdrop-filter: blur(4px); }
.hero__stat { display: flex; gap: 1rem; align-items: baseline; }
.hero__stat b { font-family: var(--ff-head); font-size: 2.4rem; color: var(--gold-400); }
.hero__statlist { list-style: none; margin: 0; padding: 0; }
.hero__statlist li { display: flex; gap: .7rem; padding: .7rem 0; border-top: 1px solid rgba(255,255,255,.12); color: #dbe4f6; }
.hero__statlist li:first-child { border-top: 0; }

/* ---- Generic content ---- */
.prose { max-width: 74ch; }
.prose h2 { margin-top: 2.4rem; }
.prose h3 { margin-top: 1.8rem; }
.prose ul, .prose ol { padding-left: 1.3rem; }
.prose li { margin-bottom: .4rem; }
.grid { display: grid; gap: 1.4rem; }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 1.5rem; box-shadow: var(--shadow-sm); transition: var(--t);
}
.card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.card__icon { color: var(--navy-600); margin-bottom: .8rem; }
.card h3 { margin: 0 0 .5rem; }
.card p { color: var(--slate); margin: 0; font-size: .98rem; }

.section-head { text-align: center; max-width: 60ch; margin: 0 auto 2.6rem; }
.section-head .lede { margin-inline: auto; }

/* Callout */
.callout { border-left: 4px solid var(--gold-500); background: var(--bg-soft); padding: 1.1rem 1.3rem; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin: 1.6rem 0; }
.callout strong { color: var(--navy-800); }

/* Pills / tags */
.pills { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 1rem 0; }
.pills li { background: var(--bg-tint); color: var(--navy-700); border-radius: 999px; padding: .4rem .9rem; font-size: .88rem; font-weight: 600; }

/* Table */
.table-wrap { overflow-x: auto; margin: 1.4rem 0; border: 1px solid var(--line); border-radius: var(--radius); }
table { border-collapse: collapse; width: 100%; min-width: 520px; }
th, td { text-align: left; padding: .85rem 1rem; border-bottom: 1px solid var(--line); font-size: .95rem; }
thead th { background: var(--navy-800); color: #fff; font-family: var(--ff-body); }
tbody tr:nth-child(even) { background: var(--bg-soft); }

/* ---- Agenda ---- */
.agenda-legend { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.2rem 0 2rem; font-size: .9rem; }
.agenda-legend span { display: inline-flex; align-items: center; gap: .4rem; }
.dot { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.dot--entrepreneur { background: var(--navy-600); }
.dot--investor { background: var(--gold-500); }
.dot--networking { background: #4c9a7c; }
.dot--plenary { background: var(--slate); }
.agenda-item { display: grid; grid-template-columns: 190px 1fr; gap: 1rem; padding: 1.1rem 1.2rem; border: 1px solid var(--line); border-radius: var(--radius-sm); margin-bottom: .8rem; background: #fff; border-left: 5px solid var(--slate); }
.agenda-item--entrepreneur { border-left-color: var(--navy-600); }
.agenda-item--investor { border-left-color: var(--gold-500); }
.agenda-item--networking { border-left-color: #4c9a7c; }
.agenda-item--plenary { border-left-color: var(--slate); }
.agenda-item__time { font-weight: 700; color: var(--navy-700); font-size: .92rem; }
.agenda-item__title { font-weight: 600; }
.agenda-item__title p { margin: .3rem 0 0; color: var(--slate); font-size: .9rem; }

/* ---- CTA bars ---- */
.cta-bar { color: #fff; position: relative; }
.cta-bar--image { background: linear-gradient(120deg, var(--navy-900), var(--navy-600)); }
.cta-bar--image .cta-bar__overlay { position: absolute; inset: 0; background: url("/assets/img/cta-networking.jpg") center/cover no-repeat; opacity: .22; }
.cta-bar--split { background: linear-gradient(120deg, var(--navy-800), var(--navy-700)); }
.cta-bar__inner { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding: clamp(2.4rem, 5vw, 3.6rem) 0; }
.cta-bar h2 { color: #fff; margin: 0 0 .5rem; }
.cta-bar p { color: #d7e0f2; margin: 0 0 .4rem; max-width: 52ch; }
.cta-bar__meta { display: flex; flex-wrap: wrap; gap: 1.2rem; font-size: .9rem; color: var(--gold-300) !important; margin-top: .6rem; }
.cta-bar__meta span { display: inline-flex; align-items: center; gap: .4rem; }
.cta-bar__actions { display: flex; flex-wrap: wrap; gap: .8rem; }

/* ---- Forms ---- */
.lead-form { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.6rem; box-shadow: var(--shadow-sm); }
.lead-form__heading { margin: 0 0 1rem; }
.lead-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.field { display: flex; flex-direction: column; }
.field--full, .field--consent, .field--phone { grid-column: 1 / -1; }
.field label { font-weight: 600; font-size: .9rem; margin-bottom: .35rem; color: var(--navy-800); }
.field input, .field select, .field textarea {
  font: inherit; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: #fff; color: var(--ink); width: 100%; transition: var(--t);
}
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--navy-600); outline: none; box-shadow: 0 0 0 3px rgba(28,68,124,.15); }
.field textarea { resize: vertical; }
.req { color: var(--error); }
.field__error { color: var(--error); font-size: .8rem; margin: .3rem 0 0; min-height: 0; }
.field--invalid input, .field--invalid select, .field--invalid textarea { border-color: var(--error); }
.field--invalid .field__error { min-height: 1em; }
.checkbox { flex-direction: row; display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; font-size: .9rem; color: var(--slate); }
.checkbox input { width: auto; margin-top: .2rem; }
.lead-form__submit { margin-top: 1.1rem; }
.lead-form__note { font-size: .85rem; color: var(--slate); margin-top: .7rem; }
.lead-form__student { font-size: .8rem; color: var(--muted); margin-top: .5rem; border-top: 1px dashed var(--line); padding-top: .6rem; }
.lead-form__success { margin-top: 1rem; padding: 1rem; background: #eaf6ef; border: 1px solid #bfe2cd; border-radius: var(--radius-sm); color: var(--success); }
.recaptcha-slot:empty { display: none; }

.lead-form--compact .lead-form__grid, .lead-form--widget .lead-form__grid { grid-template-columns: 1fr; gap: .7rem; }
.lead-form--compact, .lead-form--widget { padding: 0; border: 0; box-shadow: none; }

/* Phone input */
.phone-input { position: relative; display: flex; gap: .5rem; }
.phone-input__country { display: inline-flex; align-items: center; gap: .35rem; padding: .7rem .7rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; cursor: pointer; font: inherit; white-space: nowrap; }
.phone-input__number { flex: 1; }
.phone-input__dropdown { position: absolute; top: calc(100% + 4px); left: 0; z-index: 30; width: min(320px, 88vw); background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm); box-shadow: var(--shadow-md); padding: .5rem; }
.phone-input__search { width: 100%; margin-bottom: .4rem; }
.phone-input__list { list-style: none; margin: 0; padding: 0; max-height: 220px; overflow-y: auto; }
.phone-input__list li { display: flex; align-items: center; gap: .6rem; padding: .5rem .6rem; border-radius: 6px; cursor: pointer; font-size: .92rem; }
.phone-input__list li:hover, .phone-input__list li[aria-selected="true"] { background: var(--bg-tint); }
.phone-input__list .dial { margin-left: auto; color: var(--muted); }

/* ---- Two-column ticket layout ---- */
.split { display: grid; grid-template-columns: 1.15fr .85fr; gap: 2.4rem; align-items: start; }
.split__aside { position: sticky; top: 96px; }

/* ---- Blog ---- */
.article-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 2.6rem; align-items: start; }
.blog-aside { align-self: stretch; }
.blog-widget { position: sticky; top: 92px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.4rem; box-shadow: var(--shadow-sm); }
.blog-widget__head { display: flex; align-items: center; gap: .7rem; margin-bottom: .8rem; }
.blog-widget__logo { background: var(--navy-800); color: var(--gold-400); font-weight: 700; padding: .4rem .55rem; border-radius: 8px; font-size: .85rem; }
.blog-widget__title { font-weight: 700; color: var(--navy-800); font-family: var(--ff-head); margin: 0; font-size: 1rem; }
.blog-widget__facts { list-style: none; padding: 0; margin: 0 0 .7rem; font-size: .88rem; color: var(--slate); }
.blog-widget__statement { font-size: .9rem; color: var(--slate); }
.blog-widget__benefits { padding-left: 1.1rem; margin: .5rem 0 1rem; font-size: .88rem; color: var(--slate); }
.blog-widget__student { font-size: .78rem; color: var(--muted); margin-top: .7rem; }
.blog-widget-inline { display: none; }
.toc { background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 1.1rem 1.3rem; margin: 1.6rem 0; }
.toc strong { display: block; margin-bottom: .5rem; }
.toc ol { margin: 0; padding-left: 1.2rem; }
.article-meta { color: var(--muted); font-size: .9rem; margin-bottom: 1rem; }
.related-list { list-style: none; padding: 0; display: grid; gap: .8rem; grid-template-columns: repeat(3,1fr); }

/* FAQ */
.faq details { border: 1px solid var(--line); border-radius: var(--radius-sm); margin-bottom: .7rem; background: #fff; }
.faq summary { cursor: pointer; padding: 1rem 1.2rem; font-weight: 700; color: var(--navy-800); list-style: none; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 1.2rem; font-size: 1.4rem; color: var(--gold-500); line-height: 1; }
.faq details[open] summary::after { content: "\2212"; }
.faq details > div { padding: 0 1.2rem 1.1rem; color: var(--slate); }

/* Cookie notice */
.cookie-notice { position: fixed; bottom: 1rem; left: 1rem; right: 1rem; max-width: 720px; margin-inline: auto; background: var(--navy-800); color: #eaf1ff; padding: 1rem 1.2rem; border-radius: var(--radius); box-shadow: var(--shadow-lg); display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; z-index: 150; }
.cookie-notice p { margin: 0; font-size: .9rem; flex: 1 1 260px; }
.cookie-notice a { color: var(--gold-300); }
.cookie-notice__actions { display: flex; gap: .6rem; }

/* ---- Footer ---- */
.site-footer { background: var(--navy-900); color: #c3cfe6; margin-top: 0; }
.site-footer__top { display: grid; grid-template-columns: 1.4fr 2.2fr 1.4fr; gap: 2.4rem; padding: clamp(2.6rem,5vw,4rem) 0 2rem; }
.brand--footer .brand__name { color: #fff; font-size: 1.05rem; }
.site-footer__desc { font-size: .92rem; margin: 1rem 0; }
.site-footer__facts { list-style: none; padding: 0; margin: 0; font-size: .9rem; }
.site-footer__facts li { display: flex; gap: .5rem; align-items: center; margin-bottom: .5rem; color: var(--gold-300); }
.site-footer__nav { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.2rem; }
.site-footer__col h3 { color: #fff; font-size: .95rem; font-family: var(--ff-body); margin: 0 0 .7rem; }
.site-footer__col ul { list-style: none; padding: 0; margin: 0; }
.site-footer__col a { color: #b5c2dc; font-size: .88rem; display: block; padding: .28rem 0; }
.site-footer__col a:hover { color: #fff; }
.site-footer__signup h3 { color: #fff; font-family: var(--ff-body); margin: 0 0 .5rem; }
.site-footer__signup p { font-size: .88rem; }
.site-footer__notes { padding: 1.4rem 0; border-top: 1px solid rgba(255,255,255,.1); font-size: .82rem; color: #93a2c1; }
.site-footer__student { color: var(--gold-300); }
.site-footer__bottom { background: #050f1d; padding: 1rem 0; }
.site-footer__bottom-inner { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; font-size: .82rem; }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: 1rem; list-style: none; padding: 0; margin: 0; }
.site-footer__legal a { color: #93a2c1; }

/* ---- Responsive ---- */
@media (max-width: 1024px) {
  .nav { display: none; }
  .nav-toggle { display: flex; }
  .site-header__inner { justify-content: space-between; }
  .hero__inner, .split, .article-layout { grid-template-columns: 1fr; }
  .split__aside, .blog-widget { position: static; }
  .site-footer__top { grid-template-columns: 1fr 1fr; }
  .related-list { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  body { font-size: 16px; }
  .grid--2, .grid--3, .grid--4, .mega__grid { grid-template-columns: 1fr; }
  .lead-form__grid { grid-template-columns: 1fr; }
  .site-footer__top, .site-footer__nav { grid-template-columns: 1fr; }
  .agenda-item { grid-template-columns: 1fr; }
  .cta-bar__inner { flex-direction: column; align-items: flex-start; }
  .cta-bar__actions .btn { flex: 1; }
  /* Blog widget: inline on mobile, hide sticky sidebar copy handled by JS clones */
  .blog-widget-inline { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* ---- Dark mode ---- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0c1118; --bg-soft: #121a26; --bg-tint: #16202f; --white: #0c1118;
    --ink: #e7edf7; --slate: #b3c0d6; --muted: #8595b0; --line: #26313f;
  }
  :root:not([data-theme="light"]) body { background: var(--bg); color: var(--ink); }
  :root:not([data-theme="light"]) h1, :root:not([data-theme="light"]) h2,
  :root:not([data-theme="light"]) h3, :root:not([data-theme="light"]) h4 { color: #f2f6fd; }
  :root:not([data-theme="light"]) .site-header { background: rgba(12,17,24,.94); }
  :root:not([data-theme="light"]) .card, :root:not([data-theme="light"]) .lead-form,
  :root:not([data-theme="light"]) .agenda-item, :root:not([data-theme="light"]) .faq details,
  :root:not([data-theme="light"]) .mega, :root:not([data-theme="light"]) .field input,
  :root:not([data-theme="light"]) .field select, :root:not([data-theme="light"]) .field textarea,
  :root:not([data-theme="light"]) .phone-input__country, :root:not([data-theme="light"]) .phone-input__dropdown { background: var(--bg-soft); }
  :root:not([data-theme="light"]) .nav__link, :root:not([data-theme="light"]) .brand { color: var(--ink); }
}

/* =========================================================================
   PREMIUM SECTIONS — media slots, counters, image+text, CTA photo,
   boxed panels, logo strip, media cards. Added for the corporate redesign.
   ========================================================================= */

/* ---- Media slots & placeholders ---- */
.media { margin: 0; border-radius: var(--radius); overflow: hidden; position: relative; background: var(--bg-tint); }
.media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.media--16x9 { aspect-ratio: 16 / 9; }
.media--4x3  { aspect-ratio: 4 / 3; }
.media--3x2  { aspect-ratio: 3 / 2; }
.media--1x1  { aspect-ratio: 1 / 1; }
.media--3x4  { aspect-ratio: 3 / 4; }
.media--21x9 { aspect-ratio: 21 / 9; }
.media--cover { aspect-ratio: 16 / 9; }
.media--framed { box-shadow: var(--shadow-md); border: 1px solid var(--line); }
.media--ph {
  display: grid; place-items: center;
  background:
    linear-gradient(135deg, rgba(28,68,124,.06), rgba(200,162,74,.08)),
    repeating-linear-gradient(45deg, var(--bg-tint) 0 14px, var(--bg-soft) 14px 28px);
  border: 1px dashed color-mix(in srgb, var(--navy-600) 32%, transparent);
  color: var(--muted);
}
.media__ph { display: flex; flex-direction: column; align-items: center; gap: .35rem; text-align: center; padding: 1rem; }
.media__ico { color: var(--navy-600); opacity: .55; }
.media__name { font-weight: 700; font-size: .9rem; color: var(--navy-700); letter-spacing: .01em; }
.media__hint { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.media--logo { background: #fff; border-style: solid; }
.media--logo .media__ico { display: none; }

/* ---- Counters ---- */
.counters--navy { background: linear-gradient(160deg, var(--navy-900), var(--navy-700)); color: #eaf1ff; }
.counters--soft { background: var(--bg-soft); }
.counters__head { margin-bottom: 2rem; }
.counters--navy .eyebrow { color: var(--gold-300); }
.counters--navy h2 { color: #fff; }
.counters--navy .lede { color: #cdd8ee; }
.counters__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; }
.counter { text-align: center; padding: 1.4rem 1rem; border-radius: var(--radius); position: relative; }
.counters--navy .counter { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); }
.counters--soft .counter { background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.counter__num { display: inline-flex; align-items: baseline; font-family: var(--ff-head); font-weight: 700; line-height: 1; font-size: clamp(2.2rem, 5vw, 3.2rem); color: var(--gold-400); }
.counters--soft .counter__num { color: var(--navy-700); }
.counter__suffix { font-size: .7em; margin-left: .05em; color: var(--gold-500); }
.counter__label { margin-top: .5rem; font-size: .95rem; font-weight: 600; color: inherit; }
.counters--soft .counter__label { color: var(--slate); }

/* ---- Button row + tick list (shared by new sections) ---- */
.btn-row { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.6rem; }
.ticklist { list-style: none; padding: 0; margin: 1.2rem 0 0; display: grid; gap: .6rem; }
.ticklist li { display: grid; grid-template-columns: auto 1fr; gap: .6rem; align-items: start; color: var(--slate); }
.ticklist li > svg { color: var(--success); margin-top: .15rem; }

/* ---- Image + text ---- */
.imgtext__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.imgtext--flip .imgtext__media { order: 2; }
.imgtext__body h2 { margin-bottom: 1rem; }

/* ---- CTA photo section ---- */
.cta-photo { position: relative; color: #fff; background: linear-gradient(120deg, var(--navy-900), var(--navy-600)); overflow: hidden; }
.cta-photo--has-img { background-image: var(--bg-image); background-size: cover; background-position: center; }
.cta-photo__overlay { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(7,20,38,.86), rgba(18,48,90,.72)); }
.cta-photo--has-img .cta-photo__overlay { background: linear-gradient(120deg, rgba(7,20,38,.82), rgba(7,20,38,.55)); }
.cta-photo__inner { position: relative; text-align: center; max-width: 760px; margin-inline: auto; padding: clamp(3rem, 7vw, 5.5rem) 0; }
.cta-photo h2 { color: #fff; margin: 0 0 1rem; }
.cta-photo__eyebrow { color: var(--gold-300); }
.cta-photo__text { color: #dbe4f6; font-size: 1.15rem; margin: 0 auto 1rem; max-width: 60ch; }
.cta-photo__meta { display: flex; flex-wrap: wrap; gap: 1.2rem; justify-content: center; color: var(--gold-300); font-size: .92rem; margin: 0 0 .4rem; }
.cta-photo .btn-row { justify-content: center; }

/* ---- Boxed premium panel ---- */
.boxed-band { background: linear-gradient(180deg, var(--bg-soft), var(--bg-tint)); }
.boxed {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: stretch;
  background: #fff; border: 1px solid var(--line); border-radius: calc(var(--radius) + 6px);
  box-shadow: var(--shadow-lg); overflow: hidden;
}
.boxed--flip .boxed__media { order: 2; }
.boxed__media .media { border-radius: 0; height: 100%; min-height: 320px; }
.boxed__body { padding: clamp(1.8rem, 4vw, 3rem); align-self: center; }
.boxed__body h2 { margin-bottom: 1rem; }

/* ---- Logo strip ---- */
.logostrip { text-align: center; }
.logostrip__eyebrow { color: var(--muted); }
.logostrip__title { margin: 0 0 2rem; }
.logostrip__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1.2rem; align-items: center; }
.logostrip .media--logo { aspect-ratio: 3 / 2; }

/* ---- Media cards (thumbnail cards) ---- */
.mcard { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); transition: var(--t); display: flex; flex-direction: column; }
.mcard:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.mcard__media { display: block; }
.mcard__media .media { border-radius: 0; }
.mcard__body { padding: 1.3rem 1.4rem 1.5rem; display: flex; flex-direction: column; flex: 1; }
.mcard__body .eyebrow { margin-bottom: .35rem; }
.mcard__body h3 { margin: 0 0 .5rem; font-size: 1.2rem; }
.mcard__body h3 a { color: var(--navy-800); }
.mcard__body p { color: var(--slate); font-size: .96rem; margin: 0; }
.mcard__cta { margin-top: auto; padding-top: .9rem; font-weight: 700; font-size: .9rem; }
.mcard__cta a { display: inline-flex; align-items: center; gap: .35rem; }

/* ---- Hero visual (interior pages) ---- */
.hero__visual { position: relative; }
.hero__visual .media { background: rgba(255,255,255,.05); }
.hero__visual .media--ph { border-color: rgba(255,255,255,.28); color: #cdd8ee; background:
  linear-gradient(135deg, rgba(255,255,255,.06), rgba(200,162,74,.12)),
  repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 14px, rgba(255,255,255,.06) 14px 28px); }
.hero__visual .media__name { color: #eaf1ff; }
.hero__visual .media__ico { color: var(--gold-300); }
.hero__inner--solo { grid-template-columns: 1fr; max-width: 900px; }
.hero--photo { background-image: var(--bg-image); background-size: cover; background-position: center; }
.hero--photo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(7,20,38,.92), rgba(18,48,90,.72)); pointer-events: none; }
.hero--photo .hero__inner { position: relative; z-index: 1; }
/* Dubai night skyline: silhouette fallback at the bottom of every hero. When a
   real `dubai-night` image is added it renders above this via hero--photo. */
.hero--night { background: linear-gradient(165deg, #001327 0%, #002850 45%, #003a70 100%); }
.hero--night::after {
  content: ""; position: absolute; inset: auto 0 0 0; height: 240px; z-index: 0;
  background: url("/assets/img/skyline.svg") repeat-x bottom center / auto 100%;
  opacity: .9; pointer-events: none;
}
.hero--night .hero__inner { position: relative; z-index: 1; }
.hero--night.hero--photo::after { opacity: .35; } /* soften skyline when a photo is present */
.article-hero { margin: 1.6rem 0 2.2rem; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-md); }

/* ---- Short lead-generation hero ---- */
.hero--lead .container { position: relative; z-index: 1; }
.hero--lead__inner { max-width: 800px; padding: clamp(2.2rem, 5vw, 3.6rem) 0; }
.hero--lead__inner h1 { color: #fff; }
.hero--lead .hero__lede { margin-top: .7rem; }
.hero--lead.hero--night::after { height: 120px; }

/* ---- Eye-catching accent lead form ---- */
.lead-form--accent {
  background: linear-gradient(165deg, #0a66c2 0%, #004182 100%);
  border: 0; color: #fff; box-shadow: var(--shadow-lg); position: relative; overflow: hidden;
}
.lead-form--accent::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: linear-gradient(90deg, var(--gold-300), #ffffff); }
.lead-form--accent .lead-form__heading { color: #fff; margin-top: .2rem; }
.lead-form--accent .field label { color: #eaf1ff; }
.lead-form--accent .lead-form__note, .lead-form--accent .lead-form__student { color: #c7d6ee; }
.lead-form--accent .lead-form__student { border-top-color: rgba(255,255,255,.22); }
.lead-form--accent .checkbox { color: #dbe4f6; }
.lead-form--accent .checkbox a { color: #fff; text-decoration: underline; }
.lead-form--accent .lead-form__submit { background: #fff; color: var(--navy-700); border-color: #fff; }
.lead-form--accent .lead-form__submit:hover { background: var(--gold-300); color: var(--navy-900); border-color: var(--gold-300); }
.lead-form--accent .lead-form__success { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.32); color: #fff; }

/* ---- Media Presence: animated logo wall ---- */
.mwall { background: var(--bg-soft); overflow: hidden; }
.mwall__rows { display: flex; flex-direction: column; gap: 1rem; }
.mwall__row { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.mwall__track { display: flex; gap: 1rem; width: max-content; animation: mwall-scroll var(--mwall-dur, 40s) linear infinite; }
.mwall__track--rev { animation-direction: reverse; }
.mwall__row:hover .mwall__track { animation-play-state: paused; }
.mwall__tile { flex: 0 0 clamp(120px, 14vw, 168px); }
.mwall__tile .media { aspect-ratio: 3 / 2; }
@keyframes mwall-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---- Thumbnail gallery ---- */
.thumbgal__grid { display: grid; gap: 1.2rem; }
.thumbgal__grid--3 { grid-template-columns: repeat(3, 1fr); }
.thumbgal__grid--4 { grid-template-columns: repeat(4, 1fr); }
.thumb { position: relative; margin: 0; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); transition: var(--t); }
.thumb:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.thumb .media { border-radius: 0; }
.thumb__cap { position: absolute; inset: auto 0 0 0; padding: 1.6rem 1.1rem .95rem; display: flex; flex-direction: column; gap: .3rem;
  background: linear-gradient(to top, rgba(0,40,80,.9), rgba(0,40,80,.45) 55%, transparent); color: #fff; }
.thumb__tag { align-self: flex-start; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; background: var(--gold-500); color: #fff; padding: .2rem .55rem; border-radius: 999px; }
.thumb__title { font-family: var(--ff-head); font-weight: 700; font-size: 1.05rem; line-height: 1.2; }

@media (max-width: 1024px) { .thumbgal__grid--3, .thumbgal__grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { .thumbgal__grid--3, .thumbgal__grid--4 { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .mwall__track { animation: none; } }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .thumb { box-shadow: var(--shadow-sm); }
}

/* ---- Responsive (premium sections) ---- */
@media (max-width: 1024px) {
  .counters__grid { grid-template-columns: repeat(2, 1fr); }
  .logostrip__grid { grid-template-columns: repeat(3, 1fr); }
  .imgtext__inner, .boxed { grid-template-columns: 1fr; }
  .imgtext--flip .imgtext__media, .boxed--flip .boxed__media { order: 0; }
  .boxed__media .media { min-height: 240px; }
}
@media (max-width: 720px) {
  .counters__grid { grid-template-columns: 1fr 1fr; gap: .8rem; }
  .logostrip__grid { grid-template-columns: repeat(2, 1fr); }
  .cta-photo .btn-row .btn { flex: 1; }
}

/* ---- Dark mode (premium sections) ---- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .counters--soft .counter,
  :root:not([data-theme="light"]) .boxed,
  :root:not([data-theme="light"]) .mcard { background: var(--bg-soft); }
  :root:not([data-theme="light"]) .media--logo { background: var(--bg-soft); }
  :root:not([data-theme="light"]) .mcard__body h3 a { color: #f2f6fd; }
}
