/* 24 zenithmeetgroup.com — Global Meridian. Page-scoped under .gm */
:root{
  --gm-plum:#35283D; --gm-pink:#F5EDF3; --gm-white:#FFFFFF; --gm-rose:#B58DA5;
  --gm-steel:#D4DCE8;
  /* Readex Pro is not installed on the build host. */
  --gm-face:"Readex Pro","Noto Sans",Verdana,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
.gm{margin:0;background:var(--gm-white);color:var(--gm-plum);font-family:var(--gm-face);
  font-size:17px;line-height:1.7;-webkit-text-size-adjust:100%}
.gm h1,.gm h2,.gm h3{margin:0;line-height:1.14;font-weight:700}
.gm p{margin:0 0 1em}
.gm a{color:var(--gm-plum)}
.gm :focus-visible{outline:3px solid var(--gm-rose);outline-offset:3px}
.gm .gm-skip{position:absolute;left:-9999px;background:var(--gm-plum);color:#fff;padding:14px}
.gm .gm-skip:focus{left:0;top:0;z-index:30}

.gm-top{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;
  justify-content:space-between;padding:12px clamp(16px,4vw,48px);background:var(--gm-plum)}
.gm-top img{width:124px;height:48px;object-fit:contain;background:#000;padding:4px 8px}
.gm-top nav{display:flex;flex-wrap:wrap}
.gm-top nav a{min-height:44px;display:inline-flex;align-items:center;padding:0 13px;
  color:var(--gm-pink);text-decoration:none;font-weight:600;font-size:15px}
.gm-top nav a:hover{color:#fff;text-decoration:underline}

/* dark opening + meridian --------------------------------------------------- */
.gm-open{position:relative;background:var(--gm-plum);color:var(--gm-pink);overflow:hidden;
  padding:clamp(28px,5vw,80px) clamp(16px,4vw,48px) 0}
.gm-quad{position:relative;z-index:2;max-width:58ch}
.gm-kick{font-size:13px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;
  color:var(--gm-rose)}
.gm-open h1{color:#fff;font-size:clamp(32px,4.2vw,60px);margin-bottom:.4em}
.gm-lede{font-size:18px}
.gm-globe{position:absolute;right:-90px;bottom:-140px;width:min(560px,70vw);
  height:min(560px,70vw);border-radius:50%;border:2px solid rgba(181,141,165,.55);z-index:1}
.gm-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(212,220,232,.35)}
.gm-ring--1{transform:scaleX(.28)}
.gm-ring--2{transform:scaleX(.6)}
.gm-ring--3{transform:scaleY(.32)}
.gm-axisline{position:absolute;left:50%;top:-6%;bottom:-6%;width:1px;
  background:rgba(212,220,232,.4)}
.gm-pin{position:relative;z-index:2;margin:clamp(24px,4vw,56px) 0 0;
  background:rgba(245,237,243,.12);display:inline-block;padding:12px 18px;font-size:16px}
.gm-strip{position:relative;z-index:2;margin:clamp(24px,4vw,60px) calc(clamp(16px,4vw,48px) * -1) 0;
  background:var(--gm-pink);color:var(--gm-plum);display:flex;flex-wrap:wrap;
  gap:14px clamp(20px,4vw,56px);align-items:center;padding:20px clamp(16px,4vw,48px)}
.gm-strip p{margin:0}
.gm-slab{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;
  color:#6a5573;margin-bottom:.3em!important}
.gm-strip>div p:last-child{font-size:18px;font-weight:700}
.gm-scta{display:flex;gap:12px;flex-wrap:wrap;margin-left:auto!important}
.gm .gm-btn{display:inline-flex;align-items:center;min-height:52px;padding:0 26px;
  background:var(--gm-plum);color:#fff;text-decoration:none;font-weight:700}
.gm .gm-btn:hover{background:#251b2c}
.gm .gm-btn--line{background:transparent;color:var(--gm-plum);
  box-shadow:inset 0 0 0 2px var(--gm-plum)}

/* pale sections -------------------------------------------------------------- */
.gm-context,.gm-perspectives,.gm-agenda,.gm-part,.gm-venue,.gm-orgs,.gm-organiser{
  max-width:1300px;margin:0 auto;padding:clamp(32px,5vw,80px) clamp(16px,4vw,48px)}
.gm-context h2,.gm-perspectives h2,.gm-agenda h2,.gm-part h2,.gm-venue h2,.gm-orgs h2,
.gm-organiser h2{font-size:clamp(26px,3.3vw,44px);margin-bottom:.5em}
.gm-wide{max-width:78ch;font-size:17px}
.gm-countries{list-style:none;margin:22px 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px}
.gm-countries li{display:flex;justify-content:space-between;gap:14px;
  background:var(--gm-pink);padding:11px 14px}
.gm-cname{font-weight:600}
.gm-ccount{font-weight:700;color:#6a5573}
.gm-note{font-size:15px;color:#6a5573}

.gm-perspectives{background:var(--gm-pink);max-width:none}
.gm-perspectives>*{max-width:1300px;margin-left:auto;margin-right:auto}
.gm-persp{display:grid;grid-template-columns:minmax(260px,32%) 1fr;
  gap:clamp(18px,3vw,50px);padding:26px 0;border-top:2px solid var(--gm-rose)}
.gm-perpdate{font-size:14px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;
  color:#6a5573;margin-bottom:.4em}
.gm-persp h3{font-size:clamp(20px,2.3vw,29px);margin-bottom:.5em}
.gm-perplist{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.gm-perplist li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;
  background:var(--gm-white);padding:10px 12px}
.gm-perplist img{display:block;width:80px;height:auto;object-fit:cover}
.gm-mini{display:grid;place-items:center;width:80px;height:80px;background:var(--gm-plum);
  color:#fff;font-size:24px;font-weight:700}
.gm-perplist b{display:block;font-size:16px}
.gm-perplist span{display:block;font-size:13px;line-height:1.4}
.gm-ctry{font-weight:700;color:#6a5573}
.gm-link{font-weight:700;margin-top:20px}

.gm-agendalist{margin:0 0 20px;padding-left:24px}
.gm-agendalist li{margin-bottom:12px}
.gm-agendalist b{display:block;font-size:19px}
.gm-agendalist span{display:block;font-size:15px;color:#6a5573}

.gm-part{background:var(--gm-steel);max-width:none}
.gm-part>*{max-width:1300px;margin-left:auto;margin-right:auto}
.gm-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px}
.gm-partbox{background:var(--gm-white);padding:26px;border-top:6px solid var(--gm-plum)}
.gm-partbox--online{border-top-color:var(--gm-rose)}
.gm-partbox h3{font-size:24px;margin-bottom:.3em}
.gm-price{font-size:36px;font-weight:700;margin:.1em 0 .5em}
.gm-fine{font-size:15px;max-width:88ch;margin-top:18px}

.gm-vgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,54px);align-items:start}
.gm-dl{margin:0;background:var(--gm-pink);padding:6px 22px}
.gm-dl>div{display:grid;grid-template-columns:minmax(130px,32%) 1fr;gap:12px;padding:11px 0;
  border-bottom:1px solid var(--gm-white)}
.gm-dl dt{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;
  color:#6a5573}
.gm-dl dd{margin:0}
.gm-map{margin:0}
.gm-map img{width:100%;height:auto;display:block}
.gm-map figcaption{font-size:14px;padding-top:10px}

.gm-orgs{background:var(--gm-pink);max-width:none}
.gm-orgs>*{max-width:1300px;margin-left:auto;margin-right:auto}
.gm-logos{list-style:none;margin:22px auto;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px}
.gm-logos li{display:flex;align-items:center;gap:12px;background:var(--gm-white);padding:13px;
  min-height:72px}
.gm-logos img{width:46px;height:auto;object-fit:contain}
.gm-logos span{font-size:13px;font-weight:700}
.gm-faq details{border-top:1px solid var(--gm-rose)}
.gm-faq summary{cursor:pointer;padding:15px 0;font-weight:700;min-height:44px;display:flex;
  align-items:center}
.gm-faq details p,.gm-faq details ul{margin:0 0 14px;max-width:74ch}

.gm-organiser{background:var(--gm-plum);color:var(--gm-pink);max-width:none}
.gm-organiser h2,.gm-organiser h3{color:#fff}
.gm-organiser a{color:#e0c3d5}
.gm-organiser>*{max-width:1300px;margin-left:auto;margin-right:auto}
.gm-ogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:clamp(20px,4vw,54px);margin-bottom:20px}
.gm-organiser h3{font-size:14px;text-transform:uppercase;letter-spacing:.09em;
  margin-bottom:.9em;color:var(--gm-rose)}
.gm-links{list-style:none;margin:0;padding:0}
.gm-links li{padding:3px 0}
.gm-links a{display:inline-flex;min-height:34px;align-items:center}
.gm-foot{background:#251b2c;color:#e6dbe6;font-size:14px;padding:20px clamp(16px,4vw,48px)}
.gm-foot a{color:#e0c3d5}
.gm-foot p{margin:0}

@media (max-width:1000px){
  /* mobile: the globe becomes a shallow background detail under a solid block */
  .gm-globe{right:-40%;bottom:auto;top:0;width:120vw;height:120vw;opacity:.5}
  .gm-quad{background:var(--gm-plum);padding:0}
  .gm-scta{margin-left:0!important}
  .gm-persp{grid-template-columns:1fr}
  .gm-vgrid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.gm *{transition:none!important;animation:none!important}}
