/* 20 zenithfrontier.com — Commercial Spotlight. Page-scoped under .cf */
:root{
  --cf-white:#FFFFFF; --cf-petrol:#215469; --cf-turq:#DEF0EE; --cf-coral:#B84848;
  --cf-ink:#233D49;
  /* Wix Madefor Display / Text are not installed on the build host. */
  --cf-head:Corbel,Candara,"Segoe UI",sans-serif;
  --cf-body:Arial,"Helvetica Neue",Helvetica,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
.cf{margin:0;background:var(--cf-white);color:var(--cf-ink);font-family:var(--cf-body);
  font-size:17px;line-height:1.68;-webkit-text-size-adjust:100%}
.cf h1,.cf h2,.cf h3{font-family:var(--cf-head);margin:0;line-height:1.12;font-weight:700}
.cf p{margin:0 0 1em}
.cf a{color:var(--cf-petrol)}
.cf :focus-visible{outline:3px solid var(--cf-coral);outline-offset:3px}
.cf .cf-skip{position:absolute;left:-9999px;background:var(--cf-ink);color:#fff;padding:14px}
.cf .cf-skip:focus{left:0;top:0;z-index:30}

.cf-top{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;
  justify-content:space-between;padding:10px clamp(16px,4vw,48px);
  border-bottom:1px solid var(--cf-turq)}
.cf-top img{width:124px;height:48px;object-fit:contain;background:#000;padding:4px 8px}
.cf-top nav{display:flex;flex-wrap:wrap}
.cf-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(--cf-ink)}
.cf-top nav a:hover{color:var(--cf-petrol);text-decoration:underline}

/* narrow identity + spotlight strip --------------------------------------- */
.cf-narrow{max-width:74ch;margin:0 auto;padding:clamp(26px,4vw,64px) clamp(16px,4vw,48px)
  clamp(20px,3vw,40px);text-align:center}
.cf-kick{font-size:13px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;
  color:var(--cf-coral)}
.cf-spot h1{font-size:clamp(34px,4.4vw,64px);margin-bottom:.35em}
.cf-dates{font-size:19px;font-weight:700}
.cf-delegatefirst{margin:22px 0 0}
.cf .cf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;
  padding:0 28px;background:var(--cf-coral);color:#fff;text-decoration:none;
  font-family:var(--cf-head);font-weight:700}
.cf .cf-btn:hover{background:#9c3a3a}
.cf .cf-btn--white{background:var(--cf-white);color:var(--cf-petrol)}
.cf-strip{display:grid;grid-template-columns:minmax(220px,1fr) 2.3fr minmax(240px,1fr);
  align-items:stretch}
.cf-stripleft{background:var(--cf-turq);padding:clamp(20px,2.6vw,34px)}
.cf-striplab{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;
  color:var(--cf-petrol);margin-bottom:.8em}
.cf-striplab--light{color:#cfe4e1}
.cf-stripdays{list-style:none;margin:0 0 16px;padding:0}
.cf-stripdays li{padding:9px 0;border-bottom:1px solid rgba(35,61,73,.2)}
.cf-stripdays b{display:block;font-size:14px}
.cf-stripdays span{display:block;font-size:15px;font-weight:700;line-height:1.3}
.cf-stripmid{background:var(--cf-ink);color:#fff;padding:clamp(24px,3.4vw,52px);
  display:flex;flex-direction:column;justify-content:center}
.cf-midbig{font-family:var(--cf-head);font-size:clamp(70px,10vw,150px);line-height:1;
  font-weight:700;margin:0 0 .1em}
.cf-midtext{font-size:20px;max-width:34ch;color:#dbe9ed}
.cf-midnote{font-size:14px;color:#b9cdd4;margin:0;max-width:52ch}
.cf-stripright{background:var(--cf-petrol);color:#fff;padding:clamp(20px,2.6vw,34px);
  display:flex;flex-direction:column;justify-content:center}
.cf-stripright p{color:#e2eff2}
.cf-stripsmall{font-size:13px;color:#c0d8de!important;margin:0}

/* sections ------------------------------------------------------------------ */
.cf-audience,.cf-partner,.cf-delegate,.cf-speakers,.cf-agenda,.cf-venue,.cf-organiser{
  max-width:1280px;margin:0 auto;padding:clamp(32px,5vw,80px) clamp(16px,4vw,48px)}
.cf-audience h2,.cf-partner h2,.cf-delegate h2,.cf-speakers h2,.cf-agenda h2,.cf-venue h2,
.cf-organiser h2{font-size:clamp(26px,3.3vw,44px);margin-bottom:.5em}
.cf-wide{max-width:80ch;font-size:18px}
.cf-themes{margin:22px 0 0;padding-left:22px;max-width:92ch}
.cf-themes li{margin-bottom:10px}
.cf-partner{background:var(--cf-turq);max-width:none}
.cf-partner>*{max-width:1280px;margin-left:auto;margin-right:auto}
.cf-specrows{margin:0;border-top:3px solid var(--cf-petrol)}
.cf-specrows>div{display:grid;grid-template-columns:minmax(230px,26%) 1fr;
  gap:clamp(14px,3vw,44px);padding:22px 0;border-bottom:1px solid rgba(33,84,105,.25)}
.cf-specrows dt{font-family:var(--cf-head);font-weight:700;font-size:18px}
.cf-specrows dd{margin:0;max-width:76ch}
.cf-dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.cf-dbox{border:2px solid var(--cf-petrol);padding:26px}
.cf-dbox--alt{background:var(--cf-turq)}
.cf-dbox h3{font-size:24px;margin-bottom:.3em}
.cf-dprice{font-family:var(--cf-head);font-size:38px;font-weight:700;margin:.1em 0 .5em}
.cf-fine{font-size:15px;max-width:88ch;margin-top:18px}
.cf-speakers{background:#f6fbfa;max-width:none}
.cf-speakers>*{max-width:1280px;margin-left:auto;margin-right:auto}
.cf-people{list-style:none;margin:22px auto;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.cf-person{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;
  background:var(--cf-white);padding:14px}
.cf-person img{display:block;width:92px;height:auto;object-fit:cover}
.cf-init{display:grid;place-items:center;width:92px;height:92px;background:var(--cf-ink);
  color:#fff;font-family:var(--cf-head);font-size:28px;font-weight:700}
.cf-person b{display:block;font-size:18px;font-family:var(--cf-head)}
.cf-person span{display:block;font-size:14px;line-height:1.45}
.cf-link{font-weight:700}
.cf-orgh{font-size:clamp(20px,2.2vw,28px);margin:38px auto .6em}
.cf-logos{list-style:none;margin:18px auto 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px}
.cf-logos li{display:flex;align-items:center;gap:12px;background:var(--cf-white);padding:13px;
  min-height:72px}
.cf-logos img{width:46px;height:auto;object-fit:contain}
.cf-logos span{font-size:13px;font-weight:700}
.cf-aday{border-top:2px solid var(--cf-turq);padding:22px 0}
.cf-aday h3{font-size:clamp(20px,2.2vw,28px);margin-bottom:.35em}
.cf-ameta{font-size:15px;color:#42606c}
.cf-alist{margin:0;padding-left:22px;columns:2;column-gap:clamp(24px,4vw,58px)}
.cf-alist li{margin-bottom:6px;font-size:16px;break-inside:avoid}
.cf-vgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,54px);align-items:start}
.cf-dl{margin:0;background:var(--cf-turq);padding:6px 22px}
.cf-dl>div{display:grid;grid-template-columns:minmax(130px,32%) 1fr;gap:12px;padding:11px 0;
  border-bottom:1px solid rgba(33,84,105,.2)}
.cf-dl dt{font-family:var(--cf-head);font-weight:700;font-size:14px;text-transform:uppercase;
  letter-spacing:.05em;color:var(--cf-petrol)}
.cf-dl dd{margin:0}
.cf-map{margin:0 0 20px}
.cf-map img{width:100%;height:auto;display:block}
.cf-map figcaption{font-size:14px;padding-top:10px}
.cf-venue details{border-top:1px solid var(--cf-turq)}
.cf-venue summary{cursor:pointer;padding:15px 0;font-family:var(--cf-head);font-weight:700;
  min-height:44px;display:flex;align-items:center}
.cf-venue details p,.cf-venue details ul{margin:0 0 14px}
.cf-organiser{background:var(--cf-ink);color:#fff;max-width:none}
.cf-organiser h2,.cf-organiser h3{color:#fff}
.cf-organiser a{color:#a7ccd6}
.cf-organiser .cf-fine{color:#c0d3da}
.cf-organiser>*{max-width:1280px;margin-left:auto;margin-right:auto}
.cf-ogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:clamp(20px,4vw,54px);margin-bottom:20px}
.cf-organiser h3{font-size:14px;text-transform:uppercase;letter-spacing:.09em;
  margin-bottom:.9em;color:#a7ccd6}
.cf-links{list-style:none;margin:0;padding:0}
.cf-links li{padding:3px 0}
.cf-links a{display:inline-flex;min-height:34px;align-items:center}
.cf-foot{background:#1a2e37;color:#c0d3da;font-size:14px;padding:20px clamp(16px,4vw,48px)}
.cf-foot a{color:#a7ccd6}
.cf-foot p{margin:0}

@media (max-width:1000px){
  /* mobile: event facts and delegate registration first, then the strip */
  .cf-strip{grid-template-columns:1fr}
  .cf-stripmid{order:-1}
  .cf-narrow{text-align:left}
  .cf-alist{columns:1}
  .cf-vgrid{grid-template-columns:1fr}
  .cf-specrows>div{grid-template-columns:1fr;gap:6px}
  .cf-person{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.cf *{transition:none!important;animation:none!important}}
