/* 09 zenithconferencegroup.com — City Coordinates. Page-scoped under .cc */
:root{
  --cc-white:#FFFFFF; --cc-emerald:#157051; --cc-dark:#14362D; --cc-lime:#E8F1D7;
  --cc-gray:#E5EAE8;
  /* Chivo is not installed on the build host. */
  --cc-face:"Franklin Gothic Medium","Arial Narrow",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
.cc{margin:0;background:var(--cc-white);color:var(--cc-dark);font-family:var(--cc-face);
  font-size:17px;line-height:1.65;-webkit-text-size-adjust:100%}
.cc h1,.cc h2,.cc h3,.cc h4{margin:0;line-height:1.12;font-weight:600}
.cc p{margin:0 0 1em}
.cc a{color:var(--cc-emerald)}
.cc :focus-visible{outline:3px solid var(--cc-emerald);outline-offset:3px}
.cc .cc-skip{position:absolute;left:-9999px;background:var(--cc-dark);color:#fff;padding:14px}
.cc .cc-skip:focus{left:0;top:0;z-index:30}

.cc-head{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;
  justify-content:space-between;background:var(--cc-dark);padding:10px clamp(16px,4vw,48px)}
.cc-head img{width:132px;height:52px;object-fit:contain;background:#000;padding:4px 8px}
.cc-head nav{display:flex;flex-wrap:wrap}
.cc-head nav a{min-height:44px;display:inline-flex;align-items:center;padding:0 14px;
  color:#fff;text-decoration:none;font-weight:600;text-transform:uppercase;
  letter-spacing:.06em;font-size:14px}
.cc-head nav a:hover{background:var(--cc-emerald)}

/* wayfinding opening ----------------------------------------------------- */
.cc-block{background:var(--cc-lime);padding:clamp(24px,4vw,60px) clamp(16px,4vw,48px)}
.cc-kick{font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:var(--cc-emerald)}
.cc-open h1{font-size:clamp(34px,4.4vw,62px);max-width:24ch;margin-bottom:.4em}
.cc-dates{font-size:22px;font-weight:700;margin-bottom:.3em}
.cc-where{font-size:18px}
.cc-acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.cc .cc-btn{display:inline-flex;align-items:center;min-height:52px;padding:0 24px;
  background:var(--cc-emerald);color:#fff;text-decoration:none;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;font-size:15px}
.cc .cc-btn:hover{background:#0f5b41}
.cc .cc-btn--line{background:transparent;color:var(--cc-dark);
  box-shadow:inset 0 0 0 2px var(--cc-dark)}
.cc-mapwrap{display:grid;grid-template-columns:1fr 300px;gap:0}
.cc-map{margin:0;position:relative;background:var(--cc-gray)}
.cc-map img{width:100%;height:auto;display:block}
.cc-map figcaption{padding:14px clamp(16px,3vw,32px);font-size:14px;background:var(--cc-gray)}
.cc-column{background:var(--cc-dark);color:#fff;padding:26px 24px}
.cc-coltitle{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:#a8d8bf;margin-bottom:1em}
.cc-column dl{margin:0}
.cc-column dl>div{padding:10px 0;border-bottom:1px solid #2b5647}
.cc-column dt{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#a8d8bf;
  font-weight:700}
.cc-column dd{margin:2px 0 0;font-size:15px}

/* sections ---------------------------------------------------------------- */
.cc-travel,.cc-programme,.cc-speakers,.cc-attend,.cc-orgs,.cc-faq,.cc-legal{
  padding:clamp(34px,5vw,84px) clamp(16px,4vw,48px)}
.cc-travel h2,.cc-programme h2,.cc-speakers h2,.cc-attend h2,.cc-orgs h2,.cc-faq h2,
.cc-legal h2{font-size:clamp(26px,3.3vw,44px);margin-bottom:.5em;text-transform:uppercase;
  letter-spacing:-.01em}
.cc-wide{max-width:78ch;font-size:18px}
.cc-route{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:2px}
.cc-route li{display:grid;grid-template-columns:76px 1fr;gap:20px;align-items:start;
  background:var(--cc-gray);padding:22px}
.cc-route li:nth-child(even){background:var(--cc-lime)}
.cc-step{display:grid;place-items:center;width:56px;height:56px;background:var(--cc-emerald);
  color:#fff;font-size:26px;font-weight:700}
.cc-route h3{font-size:21px;margin-bottom:.4em}
.cc-route p{margin:0;max-width:70ch}

.cc-programme{background:var(--cc-lime)}
.cc-days{list-style:none;margin:26px 0 0;padding:0}
.cc-day{display:grid;grid-template-columns:150px 1fr;gap:clamp(16px,3vw,40px);
  background:var(--cc-white);padding:clamp(20px,2.6vw,34px);margin-bottom:10px}
.cc-daymark{border-right:3px solid var(--cc-emerald);padding-right:16px}
.cc-daynum{display:block;font-size:52px;font-weight:700;line-height:1;color:var(--cc-emerald)}
.cc-daydate{display:block;font-size:15px;font-weight:700;margin-top:6px}
.cc-daybody h3{font-size:clamp(20px,2.3vw,29px);margin-bottom:.45em}
.cc-dayhours{font-size:15px;color:#37564b}
.cc-daybody h4{font-size:13px;text-transform:uppercase;letter-spacing:.09em;margin:16px 0 10px;
  color:var(--cc-emerald)}
.cc-daylist{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:8px}
.cc-daylist li{display:grid;gap:1px;padding:9px 0;border-top:1px solid var(--cc-gray)}
.cc-daylist b{font-size:16px}
.cc-daylist span{font-size:14px}
.cc-link{font-weight:700;margin-top:18px}

.cc-pairs{list-style:none;margin:24px 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.cc-pair{display:grid;grid-template-columns:auto 1fr;gap:16px;background:var(--cc-gray);
  padding:16px}
.cc-pair img{display:block;width:104px;height:auto;object-fit:cover}
.cc-init{display:grid;place-items:center;width:104px;height:104px;background:var(--cc-dark);
  color:#fff;font-size:32px;font-weight:700}
.cc-pn{margin:0 0 .2em;font-weight:700;font-size:19px}
.cc-pr{margin:0 0 .2em;font-size:15px}
.cc-po{margin:0 0 .25em;font-weight:700;font-size:15px}
.cc-pc{margin:0;font-size:13px;color:#37564b}

.cc-attend{background:var(--cc-dark);color:#fff}
.cc-attend h2{color:#fff}
.cc-attend a{color:#a8d8bf}
.cc-table{width:100%;border-collapse:collapse;font-size:16px;margin-top:20px}
.cc-table caption{text-align:left;font-size:14px;color:#c5ded3;padding-bottom:10px}
.cc-table th,.cc-table td{text-align:left;padding:16px;border-bottom:1px solid #2b5647;
  vertical-align:top}
.cc-table thead th{font-size:13px;text-transform:uppercase;letter-spacing:.07em;
  color:#a8d8bf}
.cc-table tbody th{font-weight:700;width:24%}
.cc-fine{font-size:15px;max-width:86ch;margin-top:20px}
.cc-attend .cc-fine{color:#c5ded3}

.cc-orgs{background:var(--cc-lime)}
.cc-logos{list-style:none;margin:22px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.cc-logos li{display:flex;align-items:center;gap:12px;background:var(--cc-white);padding:14px;
  min-height:74px}
.cc-logos img{width:46px;height:auto;object-fit:contain}
.cc-logos span{font-size:13px;font-weight:700}

.cc-faqgrid{max-width:100ch}
.cc-faq details{border-top:2px solid var(--cc-gray)}
.cc-faq summary{cursor:pointer;padding:16px 0;font-weight:700;font-size:18px;min-height:44px;
  display:flex;align-items:center}
.cc-faq details p,.cc-faq details ul{margin:0 0 16px;max-width:74ch}

.cc-legal{background:var(--cc-gray)}
.cc-lgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:clamp(20px,4vw,54px);margin-bottom:22px}
.cc-legal h3{font-size:14px;text-transform:uppercase;letter-spacing:.09em;
  color:var(--cc-emerald);margin-bottom:.9em}
.cc-links{list-style:none;margin:0;padding:0}
.cc-links li{padding:3px 0}
.cc-links a{display:inline-flex;min-height:34px;align-items:center}
.cc-foot{background:var(--cc-dark);color:#c5ded3;font-size:14px;
  padding:20px clamp(16px,4vw,48px)}
.cc-foot a{color:#a8d8bf}
.cc-foot p{margin:0}

@media (max-width:980px){
  /* mobile: identity, actions and address first, then a static map preview */
  .cc-mapwrap{grid-template-columns:1fr}
  .cc-column{order:-1}
  .cc-day{grid-template-columns:1fr}
  .cc-daymark{border-right:0;border-bottom:3px solid var(--cc-emerald);padding:0 0 10px;
    display:flex;align-items:baseline;gap:14px}
  .cc-daynum{font-size:38px}
  .cc-route li{grid-template-columns:1fr}
  .cc-table,.cc-table thead,.cc-table tbody,.cc-table tr,.cc-table th,.cc-table td{
    display:block;width:auto}
  .cc-table thead{position:absolute;left:-9999px}
  .cc-table tr{border-bottom:2px solid #2b5647;padding:12px 0}
  .cc-table th,.cc-table td{border:0;padding:3px 0}
  .cc-table tbody th{width:auto}
  .cc-pair{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.cc *{transition:none!important;animation:none!important}}
