/* 17 zenitheventsco.com — Modular Lattice. Page-scoped under .ml */
:root{
  --ml-ice:#F0F4F5; --ml-teal:#21444A; --ml-white:#FFFFFF; --ml-cyan:#25768A;
  --ml-steel:#BFD0D6;
  /* K2D is not installed on the build host. */
  --ml-face:"Trebuchet MS",Tahoma,Verdana,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
.ml{margin:0;background:var(--ml-ice);color:var(--ml-teal);font-family:var(--ml-face);
  font-size:17px;line-height:1.65;-webkit-text-size-adjust:100%}
.ml h1,.ml h2,.ml h3{margin:0;line-height:1.12;font-weight:700}
.ml p{margin:0 0 1em}
.ml a{color:var(--ml-cyan)}
.ml :focus-visible{outline:3px solid var(--ml-teal);outline-offset:3px}
.ml .ml-skip{position:absolute;left:-9999px;background:var(--ml-teal);color:#fff;padding:14px}
.ml .ml-skip:focus{left:0;top:0;z-index:30}

.ml-top{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;
  justify-content:space-between;padding:10px clamp(16px,3vw,40px);background:var(--ml-white);
  border-bottom:1px solid var(--ml-steel)}
.ml-top img{width:124px;height:48px;object-fit:contain;background:#000;padding:4px 8px}
.ml-top nav{display:flex;flex-wrap:wrap}
.ml-top nav a{min-height:44px;display:inline-flex;align-items:center;padding:0 13px;
  text-decoration:none;font-weight:700;font-size:15px;color:var(--ml-teal)}
.ml-top nav a:hover{color:var(--ml-cyan);text-decoration:underline}

/* the lattice ------------------------------------------------------------- */
.ml-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:var(--ml-steel);
  max-width:1340px;margin:0 auto;border:1px solid var(--ml-steel)}
.ml-grid>*{background:var(--ml-white);padding:clamp(16px,2.2vw,30px);margin:0}
.ml-s2{grid-column:span 2}.ml-s3{grid-column:span 3}.ml-s4{grid-column:span 4}
.ml-s5{grid-column:span 5}.ml-s6{grid-column:span 6}.ml-s7{grid-column:span 7}
.ml-s8{grid-column:span 8}.ml-s12{grid-column:span 12}
.ml-empty{background:var(--ml-ice);min-height:80px}
.ml-open .ml-grid{border-top:0}
.ml-kick{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:var(--ml-cyan)}
.ml-open h1{font-size:clamp(38px,5.2vw,76px);margin-bottom:.35em}
.ml-lede{max-width:56ch;font-size:18px;margin:0}
.ml-actions{background:var(--ml-teal);color:#fff}
.ml-actdate{font-size:21px;font-weight:700;margin-bottom:.3em}
.ml-actvenue{font-size:15px;color:#c5dbe1}
.ml .ml-btn{display:inline-flex;align-items:center;min-height:50px;padding:0 22px;
  background:var(--ml-cyan);color:#fff;text-decoration:none;font-weight:700;width:100%;
  justify-content:center}
.ml .ml-btn:hover{background:#1f6b7d}
.ml .ml-btn--line{background:transparent;box-shadow:inset 0 0 0 2px #fff}
.ml-plane{background:var(--ml-teal);color:#fff}
.ml-planelab{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#8fc0cc;
  font-weight:700}
.ml-planelist{margin:0;padding-left:24px}
.ml-planelist li{padding:8px 0;border-bottom:1px solid #38636b}
.ml-planelist b{display:block;font-size:20px}
.ml-planelist span{font-size:14px;color:#c5dbe1}
.ml-modes{background:var(--ml-steel)}
.ml-modes p{margin:0 0 .4em;font-size:19px}
.ml-modesnote{font-size:14px!important}

/* varied spans ------------------------------------------------------------- */
.ml-themes,.ml-speakers,.ml-programme,.ml-attend,.ml-orgs,.ml-venue{
  padding:clamp(28px,4vw,64px) clamp(16px,3vw,40px)}
.ml-themes h2,.ml-speakers h2,.ml-programme h2,.ml-attend h2,.ml-orgs h2,.ml-venue h2{
  font-size:clamp(24px,3vw,40px);background:var(--ml-teal);color:#fff}
.ml-tdate{font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;
  color:var(--ml-cyan);margin-bottom:.4em}
.ml-theme h3{font-size:clamp(19px,2.1vw,26px);margin-bottom:.5em}
.ml-tmeta{font-size:14px;margin:0;color:#41616a}
.ml-lead{font-size:18px;max-width:70ch}
.ml-feat{display:grid;gap:16px;align-items:start}
.ml-feat.ml-s6{grid-template-columns:220px 1fr}
.ml-feat.ml-s3{grid-template-columns:1fr}
.ml-feat img{display:block;object-fit:cover}
.ml-none{display:grid;place-items:center;width:104px;height:104px;background:var(--ml-teal);
  color:#fff;font-size:32px;font-weight:700}
.ml-none--big{width:220px;height:220px;font-size:66px}
.ml-feat h3{font-size:20px;margin-bottom:.3em}
.ml-feat p{margin:0 0 .25em;font-size:15px}
.ml-forg{font-weight:700}
.ml-ftrack{font-size:13px!important;color:#41616a;text-transform:uppercase;
  letter-spacing:.06em}
.ml-link{font-weight:700;background:var(--ml-ice)!important}
.ml-pday h3{font-size:clamp(19px,2.1vw,26px);margin-bottom:.35em}
.ml-pmeta{font-size:14px;color:#41616a}
.ml-plist{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.ml-plist li{display:grid;gap:1px;padding:9px 0;border-top:1px solid var(--ml-steel)}
.ml-plist b{font-size:16px}
.ml-plist span{font-size:13px}
.ml-matrix{border-collapse:collapse;font-size:16px;width:100%}
.ml-matrix caption{text-align:left;font-size:14px;color:#41616a;padding-bottom:10px}
.ml-matrix th,.ml-matrix td{text-align:left;padding:12px 14px;
  border-bottom:1px solid var(--ml-steel);vertical-align:top}
.ml-matrix thead th{background:var(--ml-teal);color:#fff;font-size:13px;
  text-transform:uppercase;letter-spacing:.06em}
.ml-matrix tbody th{background:var(--ml-ice);width:20%;font-weight:700}
.ml-fine{font-size:15px;color:#41616a;margin:0}
.ml-logos{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));
  gap:10px;padding:clamp(16px,2.2vw,30px)!important;margin:0}
.ml-logos li{display:flex;align-items:center;gap:12px;background:var(--ml-ice);padding:12px;
  min-height:70px}
.ml-logos img{width:44px;height:auto;object-fit:contain}
.ml-logos span{font-size:13px;font-weight:700}
.ml-dl{margin:0}
.ml-dl>div{display:grid;grid-template-columns:minmax(130px,32%) 1fr;gap:12px;padding:10px 0;
  border-bottom:1px solid var(--ml-steel)}
.ml-dl dt{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--ml-cyan)}
.ml-dl dd{margin:0}
.ml-map img{width:100%;height:auto;display:block}
.ml-map figcaption{font-size:14px;padding-top:10px}
.ml-faq details{border-top:1px solid var(--ml-steel)}
.ml-faq summary{cursor:pointer;padding:14px 0;font-weight:700;min-height:44px;display:flex;
  align-items:center}
.ml-faq details p,.ml-faq details ul{margin:0 0 14px}
.ml-org{background:var(--ml-teal)!important;color:#fff}
.ml-org h3{font-size:14px;text-transform:uppercase;letter-spacing:.09em;color:#8fc0cc;
  margin-bottom:.9em}
.ml-org a{color:#a8d3dd}
.ml-links{list-style:none;margin:12px 0 0;padding:0}
.ml-links li{padding:3px 0}
.ml-links a{display:inline-flex;min-height:34px;align-items:center}
.ml-foot{background:var(--ml-teal);color:#c5dbe1;font-size:14px;
  padding:20px clamp(16px,3vw,40px)}
.ml-foot a{color:#a8d3dd}
.ml-foot p{margin:0}

@media (max-width:1000px){
  /* mobile: a four-column lattice with one intentional offset kept */
  .ml-grid{grid-template-columns:repeat(4,1fr)}
  .ml-s2,.ml-s3,.ml-s5,.ml-s6,.ml-s7,.ml-s8,.ml-s12{grid-column:span 4}
  .ml-empty{display:none}
  .ml-actions{grid-column:2/span 3}
  .ml-feat.ml-s6{grid-template-columns:1fr}
  .ml-none--big{width:104px;height:104px;font-size:32px}
  .ml-feat.ml-s6 img{width:160px}
  .ml-matrix,.ml-matrix thead,.ml-matrix tbody,.ml-matrix tr,.ml-matrix th,.ml-matrix td{
    display:block;width:auto}
  .ml-matrix thead{position:absolute;left:-9999px}
  .ml-matrix tr{border-bottom:2px solid var(--ml-steel);padding:10px 0}
  .ml-matrix th,.ml-matrix td{border:0;padding:3px 0}
  .ml-matrix tbody th{width:auto;background:transparent}
}
@media (prefers-reduced-motion:reduce){.ml *{transition:none!important;animation:none!important}}
