/* 05 zenith-meetings.com — Soft Architecture. Page-scoped under .sa */
:root{
  --sa-rose:#F9E9ED; --sa-blackberry:#412A3D; --sa-white:#FFFFFF;
  --sa-muted:#A4466C; --sa-gray:#EEEAF0;
  /* Epilogue / Cabin are not installed; nearest humanist system pair. */
  --sa-head:Candara,Optima,"Segoe UI",sans-serif;
  --sa-body:"Lucida Grande","Lucida Sans Unicode",Tahoma,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
.sa{margin:0;background:var(--sa-white);color:var(--sa-blackberry);
  font-family:var(--sa-body);font-size:17px;line-height:1.72;letter-spacing:.005em;
  -webkit-text-size-adjust:100%}
.sa h1,.sa h2,.sa h3,.sa h4{font-family:var(--sa-head);margin:0;line-height:1.15;
  font-weight:700;letter-spacing:.01em}
.sa p{margin:0 0 1em}
.sa a{color:var(--sa-muted)}
.sa :focus-visible{outline:3px solid var(--sa-blackberry);outline-offset:3px}
.sa .sa-skip{position:absolute;left:-9999px;background:var(--sa-blackberry);color:#fff;padding:14px}
.sa .sa-skip:focus{left:0;top:0;z-index:30}

.sa-head{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;
  justify-content:space-between;max-width:1240px;margin:0 auto;
  padding:16px clamp(16px,4vw,48px)}
.sa-head img{width:148px;height:58px;object-fit:contain;background:#000;padding:5px 9px}
.sa-head nav{display:flex;flex-wrap:wrap;align-items:center;gap:2px}
.sa-head nav a{min-height:44px;display:inline-flex;align-items:center;padding:0 14px;
  font-family:var(--sa-head);font-weight:700;text-decoration:none;color:var(--sa-blackberry)}
.sa-head nav a:hover{text-decoration:underline}
.sa-headreg{background:var(--sa-muted);color:#fff!important;border-radius:24px;
  margin-left:8px}
.sa-headreg:hover{background:#87365a}

/* the L ------------------------------------------------------------------ */
.sa-welcome{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,48px)
  clamp(30px,5vw,70px)}
.sa-ell{display:grid;grid-template-columns:minmax(320px,1.45fr) 1fr;
  grid-template-rows:auto auto;gap:0}
.sa-tall{grid-column:1;grid-row:1;background:var(--sa-rose);
  border-radius:60px 0 0 0;padding:clamp(28px,4.5vw,72px)}
.sa-notch{grid-column:2;grid-row:1;background:var(--sa-white);padding:clamp(24px,3.5vw,56px);
  align-self:start}
.sa-lower{grid-column:1/-1;grid-row:2;background:var(--sa-rose);
  border-radius:0 0 60px 60px;padding:clamp(24px,3.5vw,56px)}
.sa-eyebrow{font-family:var(--sa-head);font-weight:700;text-transform:uppercase;
  letter-spacing:.12em;font-size:14px;color:var(--sa-muted)}
.sa-welcome h1{font-size:clamp(36px,4.6vw,68px);margin-bottom:.45em}
.sa-lede{font-size:19px;max-width:52ch}
.sa-notchdate{font-family:var(--sa-head);font-size:clamp(22px,2.4vw,30px);font-weight:700;
  margin-bottom:.2em}
.sa-notchplace{font-size:18px;margin-bottom:1.4em}
.sa .sa-primary{display:inline-flex;align-items:center;min-height:54px;padding:0 28px;
  background:var(--sa-blackberry);color:#fff;text-decoration:none;font-family:var(--sa-head);
  font-weight:700;border-radius:27px}
.sa .sa-primary:hover{background:#2c1b29}
.sa-secondary{display:inline-flex;align-items:center;min-height:50px;padding:0 24px;
  border:2px solid var(--sa-blackberry);color:var(--sa-blackberry);text-decoration:none;
  font-family:var(--sa-head);font-weight:700;border-radius:25px}
.sa-lowerlab{font-family:var(--sa-head);text-transform:uppercase;letter-spacing:.12em;
  font-size:13px;font-weight:700;color:var(--sa-muted)}
.sa-band{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(5,1fr);gap:2px}
.sa-band li{background:var(--sa-white);padding:18px 16px;display:grid;gap:4px;
  border-radius:18px}
.sa-band span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--sa-muted);font-weight:700}
.sa-band b{font-family:var(--sa-head);font-size:17px;line-height:1.25}
.sa-band i{font-style:normal;font-size:14px}

/* generous surfaces ------------------------------------------------------ */
.sa-incl,.sa-programme,.sa-speakers,.sa-venue,.sa-orgs,.sa-faq,.sa-contact{
  max-width:1240px;margin:0 auto;padding:clamp(36px,5.5vw,86px) clamp(16px,4vw,48px)}
.sa-incl h2,.sa-programme h2,.sa-speakers h2,.sa-venue h2,.sa-orgs h2,.sa-faq h2,
.sa-contact h2{font-size:clamp(28px,3.6vw,46px);margin-bottom:.55em}
.sa-incl{background:var(--sa-gray);max-width:none}
.sa-inclgrid{max-width:1240px;margin:0 auto;display:grid;
  grid-template-columns:1.5fr 1fr;gap:clamp(22px,4vw,60px);align-items:start}
.sa-incllist{list-style:none;margin:0;padding:0}
.sa-incllist li{padding:16px 0;border-bottom:1px solid #ddd6e2;font-size:18px}
.sa-regpanel{background:var(--sa-white);border-radius:32px;padding:clamp(22px,3vw,38px)}
.sa-regpanel h3{font-size:24px;margin-bottom:.6em}
.sa-rp{display:flex;justify-content:space-between;gap:16px;align-items:baseline;
  border-bottom:1px solid var(--sa-gray);padding-bottom:10px}
.sa-rp b{font-family:var(--sa-head);font-size:26px}
.sa-rpnote{font-size:14px;color:#5b3f56}
.sa-rpsmall{font-size:14px;margin:0;color:#5b3f56}

.sa-pintro{max-width:74ch;font-size:18px}
.sa-block{background:var(--sa-rose);border-radius:40px;padding:clamp(22px,3vw,44px);
  margin-bottom:22px}
.sa-block:nth-child(even){background:var(--sa-gray);border-radius:40px 40px 40px 4px}
.sa-blockhead{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:baseline;
  margin-bottom:.6em}
.sa-blockdate{font-family:var(--sa-head);font-weight:700;color:var(--sa-muted);margin:0;
  font-size:16px}
.sa-block h3{font-size:clamp(23px,2.6vw,34px)}
.sa-blockdesc{font-size:18px;max-width:68ch}
.sa-blocktimes{font-size:15px;color:#5b3f56}
.sa-block h4{font-size:13px;text-transform:uppercase;letter-spacing:.09em;
  margin:20px 0 12px;color:var(--sa-muted)}
.sa-entries{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.sa-entries li{background:var(--sa-white);border-radius:14px;padding:12px 16px;
  display:grid;gap:2px}
.sa-entries b{font-family:var(--sa-head);font-size:17px}
.sa-entries span{font-size:15px}
.sa-entries i{font-style:normal;font-size:14px;color:#5b3f56}
.sa-plink{font-family:var(--sa-head);font-weight:700;margin-top:20px}

.sa-speakers{background:var(--sa-white)}
.sa-profile{display:grid;gap:clamp(18px,3vw,44px);align-items:center;
  padding:26px 0;border-bottom:1px solid var(--sa-gray)}
.sa-profile--a{grid-template-columns:200px 1fr}
.sa-profile--b{grid-template-columns:1fr 200px}
.sa-profile--b .sa-portrait{order:2}
.sa-portrait img{display:block;width:160px;height:auto;object-fit:cover;border-radius:22px}
.sa-mono{display:grid;place-items:center;width:160px;height:160px;border-radius:22px;
  background:var(--sa-blackberry);color:#fff;font-family:var(--sa-head);font-size:48px;
  font-weight:700}
.sa-bio h3{font-size:clamp(21px,2.3vw,29px);margin-bottom:.3em}
.sa-prole{margin:0 0 .25em;font-size:17px}
.sa-porg{margin:0 0 .25em;font-weight:700}
.sa-pmeta{margin:0;font-size:14px;color:#5b3f56}

.sa-venue{background:var(--sa-rose);max-width:none}
.sa-venuegrid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(22px,4vw,58px);align-items:start}
.sa-venuefacts h3{font-size:26px;margin-bottom:.3em}
.sa-vaddr{font-weight:700}
.sa-venuefacts dl{margin:0 0 22px;background:var(--sa-white);border-radius:26px;padding:8px 24px}
.sa-venuefacts dl>div{display:grid;grid-template-columns:minmax(140px,36%) 1fr;gap:14px;
  padding:12px 0;border-bottom:1px solid var(--sa-gray)}
.sa-venuefacts dt{font-family:var(--sa-head);font-weight:700;font-size:14px;
  text-transform:uppercase;letter-spacing:.05em;color:var(--sa-muted)}
.sa-venuefacts dd{margin:0}
.sa-map{margin:0}
.sa-map img{width:100%;height:auto;display:block;border-radius:26px}
.sa-map figcaption{font-size:14px;padding-top:12px;color:#5b3f56}

.sa-orgs>p{max-width:78ch}
.sa-logos{list-style:none;margin:24px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.sa-logos li{display:flex;align-items:center;gap:12px;background:var(--sa-gray);
  border-radius:20px;padding:14px 16px;min-height:76px}
.sa-logos img{width:48px;height:auto;object-fit:contain}
.sa-logos span{font-size:14px;font-weight:700}

.sa-faq{background:var(--sa-gray);max-width:none}
.sa-faqwrap{max-width:900px;margin:0 auto}
.sa-faq details{background:var(--sa-white);border-radius:22px;margin-bottom:10px;
  padding:0 24px}
.sa-faq summary{cursor:pointer;padding:18px 0;font-family:var(--sa-head);font-weight:700;
  font-size:18px;min-height:44px;display:flex;align-items:center}
.sa-faq details p,.sa-faq details ul{margin:0 0 18px}
.sa-times{padding-left:20px}

.sa-contact{background:var(--sa-blackberry);color:#fff;max-width:none}
.sa-contact h2,.sa-contact h3{color:#fff}
.sa-contact a{color:#f2c9dc}
.sa-contactgrid{max-width:1240px;margin:0 auto;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(20px,4vw,56px)}
.sa-cbox h3{font-size:15px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:.9em;
  color:#e2b9cd}
.sa-cmail{font-size:19px;font-weight:700}
.sa-links{list-style:none;margin:0;padding:0}
.sa-links li{padding:3px 0}
.sa-links a{display:inline-flex;min-height:34px;align-items:center}
.sa-disclaimer{max-width:1240px;margin:32px auto 0;font-size:15px;color:#e7d6e2}
.sa-foot{background:#2c1b29;color:#e7d6e2;font-size:14px;padding:20px clamp(16px,4vw,48px)}
.sa-foot a{color:#f2c9dc}
.sa-foot p{margin:0}

@media (max-width:980px){
  /* mobile: the L becomes a rounded top-and-side edge round the title */
  .sa-ell{grid-template-columns:1fr}
  .sa-tall{grid-column:1;border-radius:44px 44px 0 0}
  .sa-notch{grid-column:1;border-radius:0}
  .sa-lower{border-radius:0 0 44px 44px}
  .sa-band{grid-template-columns:1fr}
  .sa-inclgrid,.sa-venuegrid{grid-template-columns:1fr}
  .sa-profile--a,.sa-profile--b{grid-template-columns:1fr}
  .sa-profile--b .sa-portrait{order:0}
}
@media (prefers-reduced-motion:reduce){.sa *{transition:none!important;animation:none!important}}
