/* 5GEDGE4HEALTH event page — sits inside the DIGIHUB V2 header/footer.
   Fonts and colours follow the site: Ubuntu (headings), Open Sans (text),
   #34558b / #24345c (blue), #d13b40 (red), #fbf4e9 (cream).
   Project blue #0030ff is used only for the 5GEDGE4HEALTH brand panel. */

.g5{
  --g5-blue:#34558b; --g5-navy:#24345c; --g5-red:#d13b40; --g5-cream:#fbf4e9;
  --g5-ink:#1c1c1c; --g5-text:#4a4f5c; --g5-mute:#7a7f8c; --g5-line:#e8e1d4; --g5-line2:#eceef3;
  --g5-project:#0030ff;
  font-family:"Open Sans",sans-serif; font-size:17px; line-height:1.65; color:var(--g5-text);
  background:#fff;
}
.g5 *,.g5 *::before,.g5 *::after{box-sizing:border-box}
.g5 :where(h1,h2,h3,h4,p,ul,ol,dl,dd,address){margin:0;padding:0}
.g5 :where(ul,ol){list-style:none}
.g5 :where(img){max-width:100%;height:auto;display:block}
.g5 :where(h1,h2,h3,h4){font-family:"Ubuntu",sans-serif;color:var(--g5-navy);font-weight:700;letter-spacing:0}
.g5 strong{color:var(--g5-ink);font-weight:700}
.g5 a{color:var(--g5-blue)}
.g5-wrap{max-width:1170px;margin:0 auto;padding:0 20px}

/* buttons: reuse .dh2-btn from the site, adjust variants */
.g5 .g5-btn{padding:15px 28px;border:2px solid var(--g5-blue);font-size:13px}
.g5 .dh2-btn--primary.g5-btn{color:#fff}
.g5 .dh2-btn--primary.g5-btn:hover{background:var(--g5-navy);border-color:var(--g5-navy);color:#fff}
.g5 .g5-btn--outline{background:transparent;color:var(--g5-blue)}
.g5 .g5-btn--outline:hover{background:var(--g5-blue);color:#fff}
.g5 .g5-btn--block{width:100%;padding:17px 28px;font-size:14px}

/* hero — full project blue with a fragment of the 5GEDGE4HEALTH logo */
.g5-hero{position:relative;overflow:hidden;isolation:isolate;background:var(--g5-project);color:#fff;padding:84px 0 140px}
.g5-hero__bg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
/* one-time entrance: the logo fragment arrives slightly larger and turned, brighter, then settles into place and fades back to texture level */
.g5-drift{transform-box:view-box;transform-origin:80% 38%;animation:g5in 4.2s cubic-bezier(.16,1,.3,1) .35s both}
@keyframes g5in{from{transform:scale(1.22) rotate(-7deg)}to{transform:none}}
.g5 .g5-base{animation:g5lit 4.2s ease-out .35s both}
/* event.js holds the entrance (texture hidden) until the page has fully loaded, so it is not missed while images and fonts load */
.g5.g5-wait .g5-drift,.g5.g5-wait .g5-base{animation-play-state:paused}
@keyframes g5lit{0%{opacity:0}28%{opacity:.26}100%{opacity:.10}}

.g5-hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:56px;align-items:center}
.g5-hero__eyebrow{font:700 13px/1.4 "Open Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:.9;margin-bottom:20px !important}
.g5 .g5-hero__title{color:#fff;font-size:clamp(32px,4vw,52px);line-height:1.12;margin-bottom:22px}
.g5-hero__lead{font-size:18px;max-width:620px;color:rgba(255,255,255,.88);margin-bottom:32px !important}
.g5-hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.g5 .g5-btn--light{background:#fff;border-color:#fff;color:var(--g5-project)}
.g5 .g5-btn--light:hover{background:#e7ecff;border-color:#e7ecff;color:var(--g5-project)}
.g5 .g5-btn--line{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.g5 .g5-btn--line:hover{background:#fff;border-color:#fff;color:var(--g5-project)}

.g5-hero__side{display:flex;flex-direction:column;align-items:center;gap:44px}
.g5-mark{position:relative;width:min(160px,50%);aspect-ratio:141.56/227.09;display:grid;place-items:center}
.g5-mark img{position:relative;width:100%}
.g5-countcard{width:100%;max-width:320px;background:#fff;color:var(--g5-text);border-radius:6px;box-shadow:0 26px 48px -12px rgba(0,10,80,.45);padding:20px 22px}
.g5-countcard__label{font:700 11px/1.4 "Open Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--g5-red);margin-bottom:10px !important}
.g5-countcard__nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.g5-countcard__nums div{text-align:center;background:var(--g5-cream);border-radius:6px;padding:8px 4px}
.g5-countcard__nums b{display:block;font:700 26px/1.1 "Ubuntu",sans-serif;color:var(--g5-navy);font-variant-numeric:tabular-nums}
.g5-countcard__nums span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--g5-mute)}
.g5-countcard__note{font-size:13px;color:var(--g5-mute);margin-top:10px !important}

/* key facts */
.g5-facts{display:grid;grid-template-columns:repeat(4,1fr);margin:-56px 0 0 !important;background:#fff;border-radius:6px;box-shadow:0 15px 38px 10px rgba(0,0,0,.06);position:relative}
.g5-facts>div{padding:24px 26px}
.g5-facts>div+div{border-left:1px solid var(--g5-line2)}
.g5-facts dt{font:700 11px/1.4 "Open Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--g5-red);margin-bottom:6px}
.g5-facts dd{font:700 16px/1.45 "Ubuntu",sans-serif;color:var(--g5-navy)}

/* sections */
.g5-sec{padding:88px 0}
.g5-sec--cream{background:var(--g5-cream)}
.g5-row2{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px}
.g5-row2+.g5-row2{margin-top:64px}
.g5 .g5-label{font:700 20px/1.35 "Ubuntu",sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--g5-navy);padding-top:4px}
.g5-side-note{font-size:15px;color:var(--g5-mute);margin-top:12px !important}
.g5-text p+p{margin-top:16px}
.g5-text{font-size:18px;max-width:760px}

/* what you'll see — editorial rows */
.g5-see{border-top:1px solid var(--g5-line2)}
.g5-see li{display:grid;grid-template-columns:64px minmax(0,1fr) 190px;gap:28px;align-items:center;padding:26px 0;border-bottom:1px solid var(--g5-line2)}
.g5-see__n{font:700 34px/1 "Ubuntu",sans-serif;color:transparent;-webkit-text-stroke:1.5px var(--g5-blue)}
.g5 .g5-see h4{font-size:20px;line-height:1.3;margin-bottom:6px}
.g5-see p{font-size:15.5px;line-height:1.6}
.g5-see__by{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-left:24px;border-left:1px solid var(--g5-line2)}
.g5-see__by small{font:700 10px/1.4 "Open Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--g5-mute)}
.g5-see__by img{width:auto;max-width:100%}
.g5-see__logos{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.g5-see__by .g5-see__hosp{width:166px;max-width:100%;height:auto}
.g5-see__uni{display:flex;align-items:center;gap:8px;font:700 11.5px/1.25 "Ubuntu",sans-serif;color:var(--g5-navy)}
.g5-see__by .g5-see__uni img{height:36px;width:auto;flex:none}
.g5-see__by b{font:700 14px/1.35 "Ubuntu",sans-serif;color:var(--g5-navy)}
.g5-see__tag{display:inline-block;font:700 10px/1.4 "Open Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--g5-red);border-radius:999px;padding:3px 10px;margin-bottom:8px}

/* audience — icon list in one panel */
.g5-audience{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--g5-line2);border-radius:6px;background:#fff}
.g5-audience li{display:flex;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--g5-line2);font:700 16px/1.35 "Ubuntu",sans-serif;color:var(--g5-navy)}
.g5-audience li:nth-child(odd){border-right:1px solid var(--g5-line2)}
.g5-audience li:nth-last-child(-n+2){border-bottom:0}
.g5-ico{flex:none;width:44px;height:44px;border-radius:8px;background:#eef2fb;display:grid;place-items:center;color:var(--g5-blue)}
.g5-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* seats */
.g5-seats{margin-top:14px}
.g5-seats__row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--g5-mute);margin-bottom:6px}
.g5-seats__row b{font:700 15px/1 "Ubuntu",sans-serif;color:var(--g5-navy)}
.g5-seats__bar{height:6px;border-radius:99px;background:var(--g5-cream);overflow:hidden}
.g5-seats__bar i{display:block;height:100%;border-radius:inherit;background:var(--g5-project);transition:width .6s ease}

/* project */
.g5-sec--flush{padding-top:0}
.g5-project__lead{font-size:18px;max-width:760px;margin-bottom:28px !important}
.g5-pillars{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--g5-line2)}
.g5-pillars li{padding:20px 24px 20px 0;border-bottom:1px solid var(--g5-line2)}
.g5-pillars li:nth-child(even){padding:20px 0 20px 24px;border-left:1px solid var(--g5-line2)}
.g5 .g5-pillars h4{font-size:17px;margin-bottom:6px;color:var(--g5-project)}
.g5-pillars p{font-size:15px;line-height:1.6}
.g5-pfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0 22px !important}
.g5-pfacts div{background:var(--g5-cream);border-radius:6px;padding:14px 16px}
.g5-pfacts dt{font:700 10px/1.4 "Open Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--g5-mute);margin-bottom:4px}
.g5-pfacts dd{font:700 15px/1.35 "Ubuntu",sans-serif;color:var(--g5-navy)}

/* programme — timeline */
.g5-tl{position:relative;background:#fff;border-radius:6px;box-shadow:0 15px 38px 10px rgba(0,0,0,.05);padding:14px 0}
.g5-tl::before{content:"";position:absolute;left:var(--rl,154px);top:var(--rt,43px);bottom:var(--rb,43px);width:2px;margin-left:-1px;background:#e3e7f0}
.g5 .g5-tl>li{display:grid;grid-template-columns:112px 28px minmax(0,1fr);column-gap:0;align-items:start;padding:18px 32px 18px 28px;position:relative}
.g5-tl__time b{display:block;font:700 18px/24px "Ubuntu",sans-serif;color:var(--g5-navy);font-variant-numeric:tabular-nums}
.g5-tl__time span{display:block;font-size:12px;line-height:16px;color:var(--g5-mute);margin-top:2px}
.g5-tl__dot{justify-self:center;width:12px;height:12px;margin-top:6px;border-radius:50%;background:#fff;border:2px solid var(--g5-blue);position:relative;z-index:1;box-sizing:border-box}
.g5-tl__body{padding-left:18px}
.g5 .g5-tl h4{font-size:17px;line-height:24px;margin:0}
.g5 .g5-tl .g5-tl__who{font-size:14px;line-height:1.5;color:var(--g5-mute);margin:4px 0 0 !important;padding:0}
.g5-tl__tag{display:inline-block;vertical-align:2px;font:700 10px/16px "Open Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--g5-blue);background:#eef2fb;border-radius:999px;padding:1px 10px;margin-right:10px}
.g5 .g5-tl__chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0 !important}
.g5 .g5-tl__chips li{list-style:none !important;margin:0;padding:4px 10px;border-radius:4px;background:var(--g5-cream);font:700 12px/1.4 "Open Sans",sans-serif;color:var(--g5-navy)}
.g5 .g5-tl__chips li::before{content:none !important;display:none !important}
.g5-tl--soft .g5-tl__dot{border-color:#c9d0de}
.g5 .g5-tl--break{padding-top:12px;padding-bottom:12px}
.g5-tl--break .g5-tl__time b{color:var(--g5-mute)}
.g5-tl--break .g5-tl__dot{border-color:#c9d0de;background:#c9d0de}
.g5 .g5-tl--break h4{font:700 14px/24px "Ubuntu",sans-serif;color:var(--g5-mute);letter-spacing:.08em;text-transform:uppercase}
.g5 .g5-tl,.g5 .g5-tl>li{list-style:none !important;margin-left:0}
.g5 .g5-tl>li::before{content:none !important;display:none !important}

/* partners */
.g5-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.g5-logo{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--g5-line2);border-radius:6px;background:#fff;text-decoration:none;transition:box-shadow .2s,border-color .2s}
.g5-logo:hover{border-color:#d5dbe8;box-shadow:0 12px 30px -16px rgba(36,52,92,.35)}
.g5-logo__role{font:700 10px/1.4 "Open Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--g5-red)}
.g5-logo__img{min-height:64px;display:flex;align-items:center}
.g5-logo__img img{width:auto;max-width:100%}
.g5-lockup{gap:10px}
.g5-lockup span{font:700 13px/1.3 "Ubuntu",sans-serif;color:var(--g5-navy)}
.g5-host{display:flex;gap:18px;align-items:baseline;margin-top:16px;padding:18px 20px;border-radius:6px;background:var(--g5-cream)}
.g5-host p{font-size:15px}

/* venue */
.g5-address{font-style:normal;font-size:16px;line-height:1.7;margin:14px 0 16px !important}
.g5-link{font-weight:700;text-decoration:none}
.g5-link:hover{text-decoration:underline}
.g5-map{border-radius:6px;overflow:hidden;aspect-ratio:16/9;background:#e9e4da}
.g5-map iframe{display:block;width:100%;height:100%;border:0}

/* registration */
.g5-ticks{margin-top:18px !important}
.g5-ticks li{position:relative;padding-left:26px;font-size:15px;margin-bottom:8px}
.g5-ticks li::before{content:"";position:absolute;left:2px;top:6px;width:12px;height:7px;border-left:2px solid var(--g5-red);border-bottom:2px solid var(--g5-red);transform:rotate(-45deg)}
.g5-formcard{background:#fff;border:1px solid var(--g5-line2);border-top:4px solid var(--g5-blue);border-radius:6px;padding:34px;box-shadow:0 15px 38px 10px rgba(0,0,0,.05)}
.g5-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-bottom:22px}
.g5-f--full{grid-column:1/-1}
.g5-f label{display:block;font:700 13px/1.4 "Open Sans",sans-serif;color:var(--g5-navy);margin-bottom:6px}
.g5-f label i{font-style:normal;color:var(--g5-red)}
.g5-f label span{font-weight:400;color:var(--g5-mute)}
.g5 .g5-f input,.g5 .g5-f select,.g5 .g5-f textarea{width:100%;margin:0;height:auto;font:400 16px/1.4 "Open Sans",sans-serif;color:var(--g5-ink);background:#fff;border:1px solid #d5d9e2;border-radius:4px;padding:12px 14px;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.g5 .g5-f select{appearance:auto}
.g5 .g5-f textarea{min-height:92px;resize:vertical}
.g5 .g5-f input:focus,.g5 .g5-f select:focus,.g5 .g5-f textarea:focus{outline:0;border-color:var(--g5-blue);box-shadow:0 0 0 3px rgba(52,85,139,.15)}
.g5 .g5-f.is-bad input,.g5 .g5-f.is-bad select{border-color:var(--g5-red)}
.g5-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;cursor:pointer;margin-bottom:14px}
.g5 .g5-check input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--g5-blue)}
.g5-check.is-bad span{color:var(--g5-red)}
.g5 .g5-more{background:none;border:0;padding:0;margin:0;color:var(--g5-blue);font:inherit;text-decoration:underline;cursor:pointer}
.g5 .g5-more:hover{background:none;color:var(--g5-navy)}
.g5-privacy{font-size:13px;line-height:1.6;color:var(--g5-mute);background:#f7f8fb;border-radius:4px;padding:14px 16px;margin-bottom:18px}
.g5-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.g5-form__msg{min-height:1.4em;margin-top:12px !important;font-size:14px;color:var(--g5-red);text-align:center}
.g5-form.is-busy button[type=submit]{opacity:.6;pointer-events:none}
.g5-done,.g5-closed{text-align:center;padding:20px 0}
.g5-done__icon{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--g5-blue);display:grid;place-items:center}
.g5-done__icon svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.g5 .g5-done h3,.g5 .g5-closed h3{font-size:24px;margin-bottom:10px}
.g5-done p,.g5-closed p{margin-bottom:20px !important}
.g5-closed{display:none}
.g5[data-state=closed] .g5-form,.g5[data-state=full] .g5-form{display:none}
.g5[data-state=closed] .g5-closed,.g5[data-state=full] .g5-closed{display:block}

/* EU */
.g5-eu{display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;align-items:center;padding:28px 0 64px;border-top:1px solid var(--g5-line2)}
.g5-eu p{font-size:12.5px;line-height:1.6;color:var(--g5-mute)}

/* responsive */
@media (max-width:1024px){
  .g5-hero__grid{grid-template-columns:1fr;gap:40px}
  .g5-hero__side{flex-direction:row;justify-content:flex-start;gap:32px}
  .g5-mark{width:120px}
  .g5-facts{grid-template-columns:1fr 1fr}
  .g5-facts>div:nth-child(3){border-left:0}
  .g5-facts>div:nth-child(n+3){border-top:1px solid var(--g5-line2)}
  .g5-row2{grid-template-columns:1fr;gap:20px}
  .g5-see li{grid-template-columns:56px minmax(0,1fr)}
  .g5-see__by{grid-column:2;padding-left:0;border-left:0;flex-direction:row;align-items:center}
  .g5-see__logos{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 24px}
  .g5-see__by .g5-see__hosp{width:170px}
  .g5-logos{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .g5{font-size:16px}
  .g5-wrap{padding:0 16px}
  .g5-hero{padding:48px 0 110px}
  .g5-hero__side{flex-direction:column;align-items:stretch}
  .g5-mark{display:none}
  .g5-countcard{max-width:none}
  .g5-hero__actions .g5-btn{flex:1 1 100%}
  .g5-facts{grid-template-columns:1fr}
  .g5-facts>div+div{border-left:0;border-top:1px solid var(--g5-line2)}
  .g5-sec{padding:60px 0}
  .g5-logos,.g5-fields,.g5-audience,.g5-pillars,.g5-pfacts{grid-template-columns:1fr}
  .g5-pillars li,.g5-pillars li:nth-child(even){padding:18px 0;border-left:0}
  .g5-audience li:nth-child(odd){border-right:0}
  .g5-audience li:nth-last-child(2){border-bottom:1px solid var(--g5-line2)}
  .g5-see li{grid-template-columns:1fr;gap:10px}
  .g5-see__by{grid-column:1}
  .g5 .g5-tl>li{grid-template-columns:28px minmax(0,1fr);padding:14px 18px 14px 14px}
  .g5-tl__dot{grid-column:1;grid-row:1}
  .g5-tl__time{grid-column:2;grid-row:1;display:flex;gap:8px;align-items:baseline;padding-left:10px}
  .g5-tl__time span{margin:0}
  .g5-tl__body{grid-column:2;padding-left:10px;margin-top:4px}
  .g5-formcard{padding:24px 18px}
  .g5-host{flex-direction:column;gap:6px}
  .g5-eu{grid-template-columns:1fr;gap:16px}
  .g5-eu img{max-width:280px}
}

/* neutralise theme list decorations inside the event page */
.g5 .g5-prog li::before,.g5 .g5-prog li::after{content:none !important;display:none !important}
.g5 .g5-prog,.g5 .g5-prog li,.g5 .g5-audience li,.g5 .g5-ticks li{list-style:none !important;margin-left:0}
.g5 .g5-audience li::before,.g5 .g5-see li::before,.g5 .g5-pillars li::before{content:none !important;display:none !important}
.g5 .g5-see,.g5 .g5-see li,.g5 .g5-pillars,.g5 .g5-pillars li{list-style:none !important;margin-left:0}
.g5 .g5-ticks li::before{background:none !important;border-radius:0 !important;width:12px !important;height:7px !important;border:0 !important;border-left:2px solid var(--g5-red) !important;border-bottom:2px solid var(--g5-red) !important}

@media (prefers-reduced-motion:reduce){
  .g5-drift{animation:none !important}
  .g5 .g5-base{animation:none !important;opacity:.10}
}
/* the theme removes the bottom padding of the last list item */
.g5 .g5-see li:last-child{padding-bottom:26px !important}
.g5 .g5-audience li:last-child{padding-bottom:18px !important}
/* the site-wide footer strip shows the logos of a different programme; this project has its own EU notice above */
.dh2-eu-strip{display:none !important}
