/* ===========================================================
   Programme supplement — built strictly on G&K design tokens.
   Co-delivery: Galal & Karawi  ×  Gloria
   =========================================================== */

/* ---- Co-brand lockup in the header / footer ---- */
.brand-lockup { display:flex; align-items:center; gap:14px; }
.brand-lockup img.gk { height:30px; width:auto; }
.brand-lockup img.gloria { height:38px; width:auto; }
.brand-lockup .x { color:var(--platinum-2); font-weight:300; font-size:18px; line-height:1; }
@media (max-width:520px){ .brand-lockup img.gk{height:24px;} .brand-lockup img.gloria{height:30px;} }

/* Joint-delivery ribbon under the hero */
.codeliver { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:18px 26px; }
.codeliver .cd-label { font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--slate-2); }
.codeliver .cd-mark { display:inline-flex; align-items:center; gap:12px; padding:10px 20px; background:#fff; border:1px solid var(--line); border-radius:100px; }
.codeliver .cd-mark img.gk{ height:24px; }
.codeliver .cd-mark img.gloria{ height:30px; }

/* ---- Programme meta row (under programme title) ---- */
.prog-meta { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:clamp(34px,4vw,52px); padding-top:30px; border-top:1px solid var(--line); }
.prog-meta .k { font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--slate-2); margin-bottom:9px; }
.prog-meta .v { font-family:var(--font-display); font-weight:500; font-size:clamp(1.4rem,2vw,1.85rem); color:var(--ink); line-height:1.05; }
@media (max-width:680px){ .prog-meta{ grid-template-columns:repeat(2,1fr); gap:24px 18px; } }

/* ---- Audience: two columns (public / private) ---- */
.audience { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,64px); }
.audience h3 { font-size:1.5rem; display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.audience h3 .pin { font-family:var(--font-sans); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; padding:5px 12px; border-radius:100px; }
.pin.pub { color:var(--blue-700); background:rgba(46,116,181,.1); }
.pin.priv { color:var(--crimson); background:rgba(200,16,46,.08); }
.audience li { padding:13px 0; border-top:1px solid var(--line); font-size:15.5px; color:var(--slate); display:flex; gap:12px; }
.audience li::before { content:""; flex:0 0 6px; width:6px; height:6px; margin-top:9px; border-radius:50%; background:var(--blue-500); }
@media (max-width:760px){ .audience{ grid-template-columns:1fr; gap:38px; } }

/* ---- Agenda timeline ---- */
.day-switch { display:inline-flex; border:1px solid var(--line); border-radius:100px; overflow:hidden; background:#fff; margin-bottom:clamp(34px,4vw,48px); }
.day-switch button { font-family:var(--font-sans); font-size:13.5px; font-weight:600; letter-spacing:.02em; padding:13px 28px; border:0; background:transparent; color:var(--slate-2); cursor:pointer; transition:.25s; }
.day-switch button.active { background:var(--ink); color:#fff; }
@media (max-width:620px){
  .day-switch { display:flex; width:100%; }
  .day-switch button { flex:1; padding:14px 10px; text-align:center; }
  .dlong { display:none; }
}
.day-panel { display:none; }
.day-panel.active { display:block; }
.day-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 20px; margin-bottom:8px; }
.day-head h3 { font-size:clamp(1.7rem,2.6vw,2.3rem); }
.day-head .theme { font-family:var(--font-display); font-style:italic; font-weight:400; color:var(--blue-700); font-size:1.15rem; }
.day-desc { color:var(--slate); max-width:64ch; margin-bottom:36px; }
.slot { display:grid; grid-template-columns:120px 1fr; gap:28px; padding:24px 0; border-top:1px solid var(--line); }
.slot .t { font-family:var(--font-display); font-weight:500; font-size:1.15rem; color:var(--blue-700); }
.slot h4 { font-family:var(--font-sans); font-weight:600; font-size:1.08rem; color:var(--ink); margin-bottom:6px; }
.slot p { font-size:15px; color:var(--slate); margin:0; }
.slot .mode { display:inline-block; margin-top:11px; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--slate-2); border:1px solid var(--line); border-radius:100px; padding:4px 12px; }
@media (max-width:620px){ .slot{ grid-template-columns:1fr; gap:6px; } }

/* ---- Partner (faculty) cards ---- */
.partners { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.partner { background:#fff; border:1px solid var(--line); border-radius:8px; padding:38px 36px; display:flex; flex-direction:column; box-shadow:0 30px 60px -46px rgba(20,26,46,.45); }
.partner .plogo { display:flex; align-items:center; height:54px; margin-bottom:24px; }
.partner .plogo img { max-height:48px; width:auto; }
.partner .role { font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--blue-700); font-weight:600; margin:0 0 16px; }
.partner h3 { font-size:1.5rem; margin-bottom:10px; }
.partner > p { color:var(--slate); font-size:15.5px; }
.partner ul { margin-top:8px; }
.partner li { font-size:14.5px; color:var(--slate); padding:9px 0; border-top:1px solid var(--line); display:flex; gap:10px; }
.partner li::before { content:"—"; color:var(--blue-500); }
.partner .seal-row { display:flex; align-items:center; gap:14px; margin-top:auto; padding-top:24px; }
.partner .seal-row img { height:60px; border-radius:6px; }
.partner .seal-row span { font-size:12.5px; color:var(--slate-2); line-height:1.5; }
@media (max-width:820px){ .partners{ grid-template-columns:1fr; } }

/* ---- Full-width skyline band ---- */
.skyline-band {
  height:clamp(200px,30vw,360px);
  background:linear-gradient(180deg, rgba(20,26,46,.12), rgba(20,26,46,.30)), url("../img/dubai-skyline.jpg") center 38% / cover no-repeat;
  border-block:1px solid var(--line);
}

/* ---- Logistics + Investment ---- */
.logi-split { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(36px,5vw,64px); align-items:start; }
.invest { background:#fff; border:1px solid var(--blue-500); border-radius:12px; padding:38px 36px; box-shadow:0 40px 80px -50px rgba(46,116,181,.6); }
.invest .price { font-family:var(--font-display); font-weight:600; font-size:3rem; color:var(--ink); line-height:1; margin:10px 0 4px; }
.invest .price .cur { font-size:1.3rem; color:var(--blue-700); vertical-align:super; margin-right:4px; }
.invest .per { color:var(--slate-2); font-size:14px; }
.invest ul { margin:24px 0 28px; }
.invest li { font-size:14.5px; color:var(--slate); padding:9px 0; border-top:1px solid var(--line); display:flex; gap:10px; }
.invest li::before { content:"✓"; color:var(--blue-500); font-weight:700; }
.invest .btn { width:100%; justify-content:center; }
@media (max-width:820px){ .logi-split{ grid-template-columns:1fr; gap:34px; } }
