/* 23 zenithmeetco.com — Forum Amphitheatre. Page-scoped under .fa */
:root{
  --fa-sky:#EDF5FC; --fa-midnight:#223E62; --fa-white:#FFFFFF; --fa-dusty:#759BC2;
  --fa-gold:#8A6828;
  /* Asap is not installed on the build host. */
  --fa-face:"Lucida Sans Unicode","Lucida Sans",Verdana,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
.fa{margin:0;background:var(--fa-white);color:var(--fa-midnight);font-family:var(--fa-face);
  font-size:16px;line-height:1.7;-webkit-text-size-adjust:100%}
.fa h1,.fa h2,.fa h3{margin:0;line-height:1.15;font-weight:700}
.fa p{margin:0 0 1em}
.fa a{color:var(--fa-midnight)}
.fa :focus-visible{outline:3px solid var(--fa-gold);outline-offset:3px}
.fa .fa-skip{position:absolute;left:-9999px;background:var(--fa-midnight);color:#fff;padding:14px}
.fa .fa-skip:focus{left:0;top:0;z-index:30}

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

/* stepped semicircular bands ---------------------------------------------- */
.fa-open{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(18px,3vw,48px);
  max-width:1320px;margin:0 auto;padding:clamp(26px,4.5vw,68px) clamp(16px,4vw,48px)}
.fa-kick{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:var(--fa-gold)}
.fa-open h1{font-size:clamp(34px,4.4vw,64px);margin-bottom:.4em}
.fa-dates{font-size:19px;font-weight:700}
.fa-acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.fa .fa-btn{display:inline-flex;align-items:center;min-height:52px;padding:0 26px;
  background:var(--fa-midnight);color:#fff;text-decoration:none;font-weight:700}
.fa .fa-btn:hover{background:#1a3050}
.fa .fa-btn--line{background:transparent;color:var(--fa-midnight);
  box-shadow:inset 0 0 0 2px var(--fa-midnight)}
.fa-plate{background:var(--fa-midnight);color:#fff;padding:22px;align-self:start}
.fa-plate img{width:220px;height:auto;object-fit:contain;display:block;background:#000;
  padding:8px}
.fa-plate p{margin:16px 0 0;font-size:14px;color:#c4d6ea}
.fa-bands{grid-column:1/-1;list-style:none;margin:clamp(20px,3vw,44px) 0 0;padding:0}
.fa-band{position:relative;display:flex;align-items:center;gap:clamp(14px,2.5vw,34px);
  padding:6px 0}
.fa-arc{display:block;flex:0 0 auto;height:var(--fa-h);background:var(--fa-fill);
  width:var(--fa-w);border-radius:var(--fa-w) var(--fa-w) 0 0}
.fa-band--1{--fa-w:520px;--fa-h:76px;--fa-fill:var(--fa-midnight)}
.fa-band--2{--fa-w:460px;--fa-h:66px;--fa-fill:#2f5480}
.fa-band--3{--fa-w:400px;--fa-h:58px;--fa-fill:#4a729b}
.fa-band--4{--fa-w:340px;--fa-h:50px;--fa-fill:var(--fa-dusty)}
.fa-band--5{--fa-w:280px;--fa-h:42px;--fa-fill:#a8c3dc}
.fa-band a{text-decoration:none;display:block;min-height:44px}
.fa-band a:hover .fa-bandname{text-decoration:underline}
.fa-bandday{display:block;font-size:12px;letter-spacing:.11em;text-transform:uppercase;
  font-weight:700;color:var(--fa-gold)}
.fa-bandname{display:block;font-size:clamp(18px,2.1vw,26px);font-weight:700;line-height:1.2}
.fa-daylist{grid-column:1/-1;margin:24px 0 0;padding-left:24px;max-width:90ch}
.fa-daylist li{margin-bottom:7px}

/* sections ----------------------------------------------------------------- */
.fa-discussions,.fa-speakers,.fa-details,.fa-attend,.fa-orgs,.fa-travel,.fa-organiser{
  max-width:1320px;margin:0 auto;padding:clamp(32px,5vw,80px) clamp(16px,4vw,48px)}
.fa-discussions h2,.fa-speakers h2,.fa-details h2,.fa-attend h2,.fa-orgs h2,.fa-travel h2,
.fa-organiser h2{font-size:clamp(26px,3.3vw,42px);margin-bottom:.6em}
.fa-wide{max-width:78ch;font-size:17px}
.fa-discussions{background:var(--fa-sky);max-width:none}
.fa-discussions>*{max-width:1320px;margin-left:auto;margin-right:auto}
.fa-disc{border-top:3px solid var(--fa-dusty);padding:24px 0;max-width:82ch}
.fa-disckick{font-size:13px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;
  color:var(--fa-gold)}
.fa-disc h3{font-size:clamp(21px,2.4vw,30px);margin-bottom:.5em}
.fa-discdesc{font-size:18px}
.fa-discmeta{font-size:15px;margin:0}
.fa-strips{list-style:none;margin:22px 0;padding:0}
.fa-strip{display:grid;grid-template-columns:104px 1fr auto;gap:clamp(14px,2.5vw,32px);
  align-items:center;padding:14px 0;border-bottom:1px solid var(--fa-sky)}
.fa-strip img{display:block;width:104px;height:auto;object-fit:cover}
.fa-init{display:grid;place-items:center;width:104px;height:104px;background:var(--fa-midnight);
  color:#fff;font-size:32px;font-weight:700}
.fa-strip h3{font-size:20px;margin-bottom:.25em}
.fa-stripmain p{margin:0 0 .2em;font-size:15px}
.fa-striporg{font-weight:700}
.fa-striptrack{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.07em;
  color:#fff;background:var(--fa-midnight);padding:7px 12px;white-space:nowrap}
.fa-link{font-weight:700}
.fa-details{background:var(--fa-sky);max-width:none}
.fa-details>*{max-width:1320px;margin-left:auto;margin-right:auto}
.fa-detail{background:var(--fa-white);padding:22px;margin-bottom:12px}
.fa-detail h3{font-size:clamp(19px,2.1vw,26px);margin-bottom:.5em}
.fa-detail ul{margin:0;padding-left:22px;columns:2;column-gap:clamp(24px,4vw,56px)}
.fa-detail li{margin-bottom:6px;font-size:15px;break-inside:avoid}
.fa-panel{background:var(--fa-midnight);color:#fff;padding:clamp(20px,3vw,38px)}
.fa-panel a{color:#bcd3ea}
.fa-panel dl{margin:0}
.fa-panel dl>div{display:grid;grid-template-columns:minmax(200px,26%) 1fr;
  gap:clamp(14px,3vw,40px);padding:16px 0;border-bottom:1px solid #3a5779}
.fa-panel dt{font-weight:700;font-size:17px}
.fa-panel dd{margin:0}
.fa-logos{list-style:none;margin:22px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.fa-logos li{display:flex;align-items:center;gap:12px;background:var(--fa-sky);padding:14px;
  min-height:74px}
.fa-logos img{width:46px;height:auto;object-fit:contain}
.fa-logos span{font-size:13px;font-weight:700}
.fa-tgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,54px);align-items:start}
.fa-dl{margin:0;background:var(--fa-sky);padding:6px 22px}
.fa-dl>div{display:grid;grid-template-columns:minmax(130px,32%) 1fr;gap:12px;padding:11px 0;
  border-bottom:1px solid var(--fa-white)}
.fa-dl dt{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--fa-gold)}
.fa-dl dd{margin:0}
.fa-map{margin:0 0 20px}
.fa-map img{width:100%;height:auto;display:block}
.fa-map figcaption{font-size:14px;padding-top:10px}
.fa-travel details{border-top:1px solid var(--fa-sky)}
.fa-travel summary{cursor:pointer;padding:15px 0;font-weight:700;min-height:44px;
  display:flex;align-items:center}
.fa-travel details p,.fa-travel details ul{margin:0 0 14px}
.fa-organiser{background:var(--fa-midnight);color:#fff;max-width:none}
.fa-organiser h2,.fa-organiser h3{color:#fff}
.fa-organiser a{color:#bcd3ea}
.fa-organiser .fa-fine{color:#c4d6ea}
.fa-organiser>*{max-width:1320px;margin-left:auto;margin-right:auto}
.fa-ogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:clamp(20px,4vw,54px);margin-bottom:20px}
.fa-organiser h3{font-size:14px;text-transform:uppercase;letter-spacing:.09em;
  margin-bottom:.9em;color:#a8c3dc}
.fa-links{list-style:none;margin:0;padding:0}
.fa-links li{padding:3px 0}
.fa-links a{display:inline-flex;min-height:34px;align-items:center}
.fa-fine{font-size:15px;max-width:88ch}
.fa-foot{background:#1a3050;color:#c4d6ea;font-size:14px;padding:20px clamp(16px,4vw,48px)}
.fa-foot a{color:#bcd3ea}
.fa-foot p{margin:0}

@media (max-width:1000px){
  /* mobile: five shallow curved edges with ordinary labels beneath */
  .fa-open{grid-template-columns:1fr}
  .fa-plate{order:3}
  .fa-band{flex-direction:column;align-items:flex-start;gap:8px}
  .fa-arc{width:100%!important;height:22px;border-radius:60px 60px 0 0}
  .fa-strip{grid-template-columns:80px 1fr;row-gap:10px}
  .fa-strip img,.fa-init{width:80px}
  .fa-init{height:80px;font-size:24px}
  .fa-striptrack{grid-column:1/-1;justify-self:start}
  .fa-detail ul{columns:1}
  .fa-tgrid{grid-template-columns:1fr}
  .fa-panel dl>div{grid-template-columns:1fr;gap:6px}
}
@media (prefers-reduced-motion:reduce){.fa *{transition:none!important;animation:none!important}}
