/* Exhibit & Sponsor (page-exhibit-sponsor.php), rebuilt on the WPS 2026 design system.
   Colours: site tokens only (theme.css). Radii: --r-sm / --r-md / --r-lg / --r-xl / pill.
   Type: never raw sizes; typography.css sets the roles, this file only borrows its --t-* tokens.
   Fixed-dark panels (Meet the makers, closing CTA) re-declare the dark-theme text tokens locally,
   the same pattern as the homepage stats panel. */

.ex26{color:var(--w)}
.ex26 h2,.ex26 h3{color:var(--w);margin:0}

/* ---- Hero: standard inner-page hero (.pagehero in inner.css); only the bottom gap is tuned
   so the event bar overlaps it ---- */
.pagehero--ex26{padding-bottom:170px}
.pagehero--ex26 .pagehero__bg img{object-position:center 45%}

/* ---- Event bar overlapping the hero ---- */
.ex26-event{position:relative;z-index:5;width:min(var(--shell),calc(100% - 56px));margin:-78px auto 0;
  background:var(--glass-hi);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  border:1px solid var(--brd);border-radius:var(--r-lg);box-shadow:var(--glow);
  display:grid;grid-template-columns:1fr 2.2fr auto;align-items:center;gap:28px;padding:26px 32px}
.ex26-event>div{display:grid;gap:8px}
.ex26-event span{font-size:var(--t-eyebrow-size);font-weight:var(--t-eyebrow-weight);letter-spacing:var(--t-eyebrow-ls);text-transform:uppercase;color:var(--w55)}
.ex26-event strong{font-size:var(--t-h5-size);font-weight:var(--t-h5-weight);line-height:var(--t-h5-lh);color:var(--w)}
.ex26-event .btn{white-space:nowrap}

/* ---- Section headings ---- */
.ex26-heading{max-width:980px;margin-bottom:44px}
.ex26-heading p{color:var(--w55);max-width:760px;margin:16px 0 0}
.ex26-section h3{margin:44px 0 22px}

/* ---- Who attends / Sectors: icon cards ---- */
.ex26-icon-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ex26-icon-card{min-height:170px;padding:24px 18px;border:1px solid var(--brd);border-radius:var(--r-md);background:var(--glass);
  display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:24px;
  transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.ex26-icon-card:hover{border-color:var(--card-brd-hi);box-shadow:var(--glow);transform:translateY(-3px)}
.ex26-icon-card img{width:48px;height:48px;object-fit:contain}
.ex26-icon-card span{font-size:var(--t-h5-size);font-weight:var(--t-h5-weight);line-height:var(--t-h5-lh);color:var(--w)}

/* ---- Fixed-dark panels: gradient glow (DESIGN-SPECS §4.3) on the brand blues ---- */
.ex26-makers,.ex26-closing{
  --w:#ffffff;--w55:rgba(255,255,255,.72);--brd:rgba(255,255,255,.18);
  background:
    radial-gradient(560px 340px at 92% -6%,rgba(0,206,175,.28),transparent 60%),
    radial-gradient(520px 360px at 4% 108%,rgba(0,157,217,.34),transparent 62%),
    linear-gradient(155deg,var(--wps-deep),var(--wps-dark));
  color:var(--w)}
.ex26-makers .ex26-heading{margin-bottom:32px}

/* ---- Meet the makers: video carousel ---- */
.ex26-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px 2px 18px}
.ex26-carousel::-webkit-scrollbar{display:none}
.ex26-video{flex:0 0 calc((100% - 48px)/4);min-width:0;scroll-snap-align:start}
.ex26-video__play{position:relative;display:block;border:0;padding:0;width:100%;aspect-ratio:1.25;border-radius:var(--r-md);overflow:hidden;cursor:pointer;background:var(--wps-deep)}
.ex26-video__play img{width:100%;height:100%;object-fit:cover}
.ex26-video__play span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#fff;color:var(--wps-dark);font-size:1.4em;opacity:0;transition:opacity .2s}
.ex26-video__play:hover span,.ex26-video__play:focus-visible span{opacity:1}
.ex26-video h3{margin:16px 0 4px}
.ex26-video p{color:var(--w55);margin:0}
.ex26-controls{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.ex26-controls button{width:44px;height:44px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;font-size:1.15em;line-height:1}
.ex26-controls button:hover{background:var(--wps-teal);color:var(--wps-deep);border-color:var(--wps-teal)}

/* ---- Exhibitor survey ---- */
.ex26-survey,.ex26-directory{background:var(--bg-deep)}
.ex26-survey h2{margin-bottom:34px}
.ex26-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ex26-stats>div{padding:28px;border:1px solid var(--brd);background:var(--glass);border-radius:var(--r-md)}
.ex26-stats strong{display:block;color:var(--wps-dark);font-size:var(--t-stat-size);font-weight:var(--t-stat-weight);letter-spacing:var(--t-stat-ls);line-height:1;font-variant-numeric:tabular-nums}
html[data-theme="dark"] .ex26-stats strong{color:var(--wps-light)}
.ex26-stats p{margin:16px 0 0;color:var(--w55)}
.ex26-source{color:var(--w55);margin:16px 0 0;font-size:var(--t-eyebrow-size)!important;font-weight:var(--t-eyebrow-weight);letter-spacing:var(--t-eyebrow-ls);text-transform:uppercase;line-height:1.6!important}
.ex26-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:34px}
.ex26-survey .ex26-actions{justify-content:space-between}
.ex26-actions .btn{cursor:pointer}
.ex26-actions>a:not(.btn){color:var(--wps-dark);text-decoration:underline;text-underline-offset:4px;font-size:var(--t-body-size)}
html[data-theme="dark"] .ex26-actions>a:not(.btn){color:var(--wps-light)}

/* ---- Sponsors and partners / company tiles (white logo cards in both themes) ---- */
.ex26-logo-row{margin-top:40px}
.ex26-logo-row h3{margin:0 0 20px}
.ex26-carousel--logos .ex26-company{flex:0 0 220px;scroll-snap-align:start}
.ex26-logo-row .ex26-controls{color:var(--wps-dark)}
html[data-theme="dark"] .ex26-logo-row .ex26-controls{color:var(--wps-light)}
.ex26-company{min-width:0;border:1px solid var(--card-brd);border-radius:var(--r-sm);background:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .25s var(--ease)}
.ex26-company:hover{border-color:var(--card-brd-hi)}
.ex26-company__art{height:132px;padding:16px 12px;display:flex;align-items:center;justify-content:center;gap:8px}
.ex26-company__art img{max-width:100%;max-height:90px;min-width:0;width:auto;height:auto;object-fit:contain}
.ex26-company--dark .ex26-company__art{background:var(--wps-deep)}
.ex26-company p{margin:0;padding:11px 13px 15px;text-align:center;color:var(--ink-soft);border-top:1px solid var(--line);min-height:54px;display:grid;place-items:center}

/* ---- Startup Zone / Academic Zone ---- */
.ex26-zone{border-top:1px solid var(--brd)}
.ex26-zone__grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(36px,5vw,80px)}
.ex26-zone__grid>img{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:var(--r-lg)}
#academic-zone .ex26-zone__grid>img{order:2} /* Startup: image left; Academic: image right (Exhibit p.148-149) */
.ex26-zone__grid p{color:var(--w55);margin:16px 0}
.ex26-zone__grid ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.ex26-zone__grid li{display:flex;align-items:flex-start;gap:10px;color:var(--w);font-size:var(--t-body-size);line-height:var(--t-body-lh)}
.ex26-zone__grid li::before{content:'✓';color:var(--teal-ink);font-weight:700}
html[data-theme="dark"] .ex26-zone__grid li::before{color:var(--wps-teal)}
.ex26-zone .btn{margin-top:30px;cursor:pointer}

/* ---- Exhibitors directory ---- */
.ex26-directory__group{margin-top:52px}
.ex26-directory__head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.ex26-directory__head h3{margin:0}
.ex26-directory__head button{background:none;border:0;color:var(--wps-dark);font-size:var(--t-btn-size);font-weight:var(--t-btn-weight);cursor:pointer}
html[data-theme="dark"] .ex26-directory__head button{color:var(--wps-light)}
.ex26-company-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.ex26-company-grid .ex26-company:nth-child(n+7){display:none}
.ex26-company-grid[data-company-group="exhibitor"] .ex26-company:nth-child(-n+12){display:flex}
.ex26-company-grid.is-expanded .ex26-company{display:flex!important}

/* ---- Closing call to action ---- */
.ex26-closing{text-align:center}
.ex26-closing .h2 em,.ex26-makers .h2 em{color:var(--wps-teal)} /* fixed-dark panels: teal accent in both themes */
.ex26-closing p{color:var(--w55);margin:22px auto}
.ex26-closing .ex26-actions{justify-content:center}
.ex26-closing .btn--ghost{color:#fff;border-color:rgba(255,255,255,.5)}

/* ---- Enquiry pop-up and video lightbox ---- */
.ex26-modal,.ex26-video-modal{border:1px solid var(--brd);border-radius:var(--r-lg);background:var(--bg);color:var(--w);box-shadow:0 21px 50px rgba(0,0,0,.175);max-width:min(92vw,680px);max-height:90vh;padding:32px 36px;overflow:auto}
.ex26-modal::backdrop,.ex26-video-modal::backdrop{background:rgba(7,6,26,.78)}
.ex26-modal__head{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}
.ex26-modal h2{margin:0 0 8px}
.ex26-modal p{color:var(--w55);margin:0}
.ex26-modal__close,.ex26-video-modal__close{flex:none;border:0;background:none;font-size:2em;line-height:1;cursor:pointer;color:var(--w)}
.ex26-modal .gfield{margin:0}
.ex26-modal .gfield_label{font-size:var(--t-btn-size);font-weight:var(--t-btn-weight);color:var(--w)}
.ex26-modal input,.ex26-modal select,.ex26-modal textarea{width:100%;border:1px solid var(--brd-hi);border-radius:var(--r-sm);padding:12px 14px;background:var(--glass-hi);color:var(--w)}
.ex26-modal input:focus,.ex26-modal select:focus,.ex26-modal textarea:focus{outline:2px solid var(--wps-light);outline-offset:1px;border-color:var(--wps-light)}
.ex26-modal textarea{min-height:100px}
.ex26-modal .gform_button{background:var(--wps-dark);border:0;border-radius:var(--r-pill);color:#fff;padding:16px 30px;font-size:var(--t-btn-size);font-weight:var(--t-btn-weight);cursor:pointer;margin-top:20px}
.ex26-video-modal{max-width:min(94vw,1000px);padding:16px;background:#07061a;--w:#ffffff}
.ex26-video-modal__close{display:block;margin-left:auto}
.ex26-video-modal video{width:100%;max-height:75vh;display:block;border-radius:var(--r-sm)}
[data-theme="light"] .ex26-modal,[data-theme="dark"] .ex26-modal,.ex26-modal{position:fixed;inset:0;margin:auto;width:min(92vw,680px)}
.ex26-modal .gform_fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px;row-gap:18px}
.ex26-modal .gfield{grid-column:auto!important}
.ex26-modal .gfield.wps-full{grid-column:1/-1!important}

/* ---- Responsive (site breakpoints) ---- */
@media(max-width:1080px){
  .ex26-icon-grid{grid-template-columns:repeat(3,1fr)}
  .ex26-company-grid{grid-template-columns:repeat(4,1fr)}
  .ex26-video{flex-basis:calc((100% - 32px)/3)}
}
@media(max-width:840px){
  .ex26-event{width:calc(100% - 48px);grid-template-columns:1fr;margin-top:-60px;padding:24px;gap:18px}
  .ex26-stats{grid-template-columns:repeat(2,1fr)}
  .ex26-zone__grid{grid-template-columns:1fr}
  .ex26-zone:nth-of-type(even) .ex26-zone__grid>img{order:0}
}
@media(max-width:760px){
  .pagehero--ex26{padding-bottom:140px}
  .ex26-icon-grid{grid-template-columns:repeat(2,1fr)}
  .ex26-icon-card{min-height:145px;padding:18px}
  .ex26-video{flex-basis:calc((100% - 16px)/2)}
  .ex26-company-grid{grid-template-columns:repeat(2,1fr)}
  .ex26-modal .gform_fields{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  .ex26-event{width:calc(100% - 36px)}
  .ex26-video{flex-basis:85%}
  .ex26-icon-grid,.ex26-stats{gap:10px}
  .ex26-stats>div{padding:20px}
  .ex26-modal{padding:24px 20px}
}
@media(prefers-reduced-motion:reduce){
  .ex26-carousel{scroll-behavior:auto}
  .ex26-icon-card,.ex26-video__play span{transition:none}
}
.ex26-controls .ex26-dots{margin:0 6px;align-items:center}
[data-carousel].is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}

/* Carousel dots: the homepage dot (8px, active = 28px light-blue pill), not the 44px control button */
.ex26-controls .ex26-dots{display:flex;gap:9px;margin:0 10px;flex-wrap:wrap;max-width:100%}
.ex26-controls .ex26-dots .dot{width:8px;height:8px;min-width:0;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.35);font-size:0;transition:width .3s var(--ease),background .3s var(--ease)}
.ex26-controls .ex26-dots .dot:hover{background:rgba(255,255,255,.7);color:inherit}
.ex26-controls .ex26-dots .dot[aria-current="true"]{width:28px;background:var(--wps-light);box-shadow:0 0 7px rgba(54,164,221,.3)}
.ex26-logo-row .ex26-controls .ex26-dots .dot{background:#C9D6E6}
.ex26-logo-row .ex26-controls .ex26-dots .dot[aria-current="true"]{background:var(--wps-light)}
.ex26-controls .ex26-dots .dot:focus-visible{outline:3px solid var(--wps-light);outline-offset:3px}

/* Closing CTA: the homepage dark-panel treatment (rounded navy panel inside the page, brand glow),
   white primary button, white-outline secondary button */
.ex26-closing{background:none;padding-block:88px}
.ex26-closing > .wrap{position:relative;max-width:1400px;margin:0 auto;padding:88px 72px;border-radius:var(--r-xl,32px);overflow:hidden;color:#fff;
  background:
    radial-gradient(560px 340px at 92% -6%,rgba(0,206,175,.26),transparent 60%),
    radial-gradient(520px 360px at 4% 108%,rgba(0,157,217,.32),transparent 62%),
    linear-gradient(155deg,var(--wps-deep),var(--wps-dark))}
.ex26-closing .h2{margin:0;color:#fff}
.ex26-closing p{margin:20px auto 32px;color:rgba(255,255,255,.78);line-height:1.7}
.ex26-closing .ex26-actions{gap:14px;flex-wrap:wrap}
.ex26-closing .btn--primary{background:#fff;border-color:#fff;color:var(--wps-dark,#023689);box-shadow:0 10px 26px rgba(0,0,0,.18)}
.ex26-closing .btn--primary:hover{background:#EAF4FC;border-color:#EAF4FC;color:var(--wps-dark,#023689)}
.ex26-closing .btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff}
.ex26-closing .btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
@media (max-width:760px){.ex26-closing{padding-block:56px}.ex26-closing > .wrap{padding:56px 22px;border-radius:var(--r-lg,24px)}}
html body .ex26-closing .btn--primary{background:#fff!important;border-color:#fff!important;color:var(--wps-dark,#023689)!important;box-shadow:0 10px 26px rgba(0,0,0,.18)!important}
html body .ex26-closing .btn--primary:hover{background:#EAF4FC!important;border-color:#EAF4FC!important}
html body .ex26-closing .btn--ghost{background:transparent!important;border:1px solid rgba(255,255,255,.55)!important;color:#fff!important;box-shadow:none!important}
html body .ex26-closing .btn--ghost:hover{background:rgba(255,255,255,.1)!important;border-color:#fff!important}

/* Sponsor tiers (client, 2 Oct 2026): H4 tier label, left aligned, same logo card as before. */
.ex26-tier{margin-top:40px;text-align:start}
.ex26-tier+.ex26-tier{margin-top:36px;padding-top:36px;border-top:1px solid var(--brd,#E0E9F4)}
.ex26-tier__t{margin:0 0 16px}
.ex26-tier__logos{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:16px}
.ex26-tier__logos .ex26-company{flex:0 0 220px;text-align:start}
@media (max-width:760px){.ex26-tier__logos{gap:12px}.ex26-tier__logos .ex26-company{flex:0 0 calc(50% - 6px)}}

/* Client round 2 (2 Oct 2026): hero is 80% of the screen height and the date/venue card is gone. */
.pagehero--ex26{min-height:80vh!important;min-height:80svh!important;height:auto;padding-bottom:clamp(56px,8vh,96px)!important;display:flex;align-items:flex-end}
@media (max-width:760px){.pagehero--ex26{padding-bottom:48px!important}}
/* Exhibitors / Startup Zone / Academic Zone labels: same H4 style as the sponsor tier labels. */
.ex26-directory__head .ex26-tier__t{margin:0}
/* Portrait/square logos (tagged in exhibit-sponsor-2026.js) use the full art box so they match the visual weight of wide logos. */
.ex26-company__art:has(img.is-tall){padding-top:6px;padding-bottom:6px}
.ex26-company__art img.is-tall{max-height:120px}
/* QC 19 Oct 2026 #20: carousel controls under the cards — left arrow at the start, dots (and pause) in the
   centre, right arrow at the end. Flex order follows the reading direction, so Arabic mirrors itself. */
.ex26-controls{justify-content:space-between;align-items:center;gap:8px}
.ex26-controls [data-carousel-prev]{order:1}
.ex26-controls .ex26-dots{order:2;margin-inline-start:auto;margin-inline-end:6px;justify-content:center}
.ex26-controls [data-carousel-pause]{order:3;margin-inline-end:auto}
.ex26-controls [data-carousel-next]{order:4}
