/* 03 zenith-connect.com — Continuous Ribbon. Page-scoped under .rb */
:root{
  --rb-apricot:#FFF2E9; --rb-aubergine:#3C2449; --rb-coral:#BE4A43;
  --rb-white:#FFFFFF; --rb-lilac:#D9D1E1;
  /* Red Hat Display / Red Hat Text are not installed on the build host. */
  --rb-head:"Trebuchet MS",Candara,"Segoe UI",sans-serif;
  --rb-body:Verdana,Geneva,"DejaVu Sans",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
.rb{margin:0;background:var(--rb-apricot);color:var(--rb-aubergine);
  font-family:var(--rb-body);font-size:16px;line-height:1.75;-webkit-text-size-adjust:100%}
.rb h1,.rb h2,.rb h3,.rb h4{font-family:var(--rb-head);margin:0;line-height:1.15;
  font-weight:700;color:var(--rb-aubergine)}
.rb p{margin:0 0 1em}
.rb a{color:var(--rb-coral)}
.rb :focus-visible{outline:3px solid var(--rb-aubergine);outline-offset:3px}
.rb .rb-skip{position:absolute;left:-9999px;background:var(--rb-aubergine);color:#fff;padding:14px}
.rb .rb-skip:focus{left:0;top:0;z-index:30}

.rb-top{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;
  align-items:center;padding:16px clamp(16px,5vw,68px)}
.rb-mark{margin:0}
.rb-mark img{width:150px;height:59px;object-fit:contain;background:#000;padding:5px 9px;display:block}
.rb-nav{display:flex;flex-wrap:wrap;gap:2px}
.rb-nav a{min-height:44px;display:inline-flex;align-items:center;padding:0 13px;
  font-family:var(--rb-head);font-weight:700;font-size:15px;text-decoration:none;
  color:var(--rb-aubergine)}
.rb-nav a:hover{color:var(--rb-coral);text-decoration:underline}

/* the ribbon: one static S, never animated, never pointer-following ---- */
.rb-hero{position:relative;overflow:hidden;padding:clamp(30px,6vw,86px) clamp(16px,5vw,68px)
  clamp(40px,7vw,110px);isolation:isolate}
.rb-band{position:absolute;inset:-10% -6%;z-index:-1;
  background:
    radial-gradient(120% 62% at 8% 12%,var(--rb-coral) 0 26%,transparent 27%),
    radial-gradient(120% 62% at 96% 78%,var(--rb-aubergine) 0 24%,transparent 25%),
    radial-gradient(150% 70% at 50% 46%,var(--rb-lilac) 0 30%,transparent 31%)}
.rb-heart{position:relative;background:var(--rb-apricot);max-width:60ch;
  margin:0 auto;padding:clamp(20px,3vw,44px)}
.rb-dates{font-family:var(--rb-head);font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;font-size:14px;color:var(--rb-coral)}
.rb-hero h1{font-size:clamp(38px,5vw,72px);letter-spacing:-.02em;margin-bottom:.4em}
.rb-lede{font-size:18px}
.rb-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.rb .rb-go{display:inline-flex;align-items:center;min-height:52px;padding:0 26px;
  background:var(--rb-coral);color:#fff;text-decoration:none;font-family:var(--rb-head);
  font-weight:700;border-radius:26px}
.rb .rb-go:hover{background:#9d3b35}
.rb .rb-go--quiet{background:var(--rb-aubergine)}
.rb .rb-go--quiet:hover{background:#2a1834}
.rb-recess{position:relative;margin:clamp(24px,4vw,54px) 0 0 auto;width:min(420px,90%);
  background:var(--rb-white);padding:26px 28px;border-left:8px solid var(--rb-coral)}
.rb-recesstag{font-family:var(--rb-head);font-size:13px;text-transform:uppercase;
  letter-spacing:.08em;color:#5c4468;margin-bottom:.5em}
.rb-recessbig{font-family:var(--rb-head);font-weight:700;font-size:21px;margin-bottom:.4em}
.rb-recess p{margin-bottom:.35em;font-size:15px}

.rb-contents{display:flex;flex-wrap:wrap;gap:0 6px;padding:0 clamp(16px,5vw,68px) 8px;
  border-bottom:2px solid var(--rb-lilac)}
.rb-contents a{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;
  font-size:14px;font-family:var(--rb-head);font-weight:700}

/* intervals ------------------------------------------------------------ */
.rb-why{padding:clamp(36px,6vw,86px) clamp(16px,5vw,68px)}
.rb-why h2,.rb-exchanges h2,.rb-agenda h2,.rb-attend h2,.rb-orgs h2,.rb-travel h2,
.rb-organiser h2{font-size:clamp(28px,3.6vw,46px);margin-bottom:.5em}
.rb-whytext{columns:2;column-gap:clamp(24px,4vw,60px);max-width:100ch}
.rb-whytext p{break-inside:avoid}
.rb-themelist{margin:30px 0 0;padding-left:22px;max-width:92ch}
.rb-themelist li{margin-bottom:12px}
.rb-tl-date{color:#5c4468}

.rb-exchanges{padding:clamp(36px,6vw,86px) clamp(16px,5vw,68px);background:var(--rb-white)}
.rb-exintro{max-width:74ch}
.rb-interval{display:grid;gap:clamp(18px,3vw,44px);margin:34px 0;padding:26px 0;
  border-top:3px solid var(--rb-lilac)}
.rb-interval--left{grid-template-columns:minmax(280px,38%) 1fr}
.rb-interval--right{grid-template-columns:1fr minmax(280px,38%)}
.rb-interval--right .rb-intervaltext{order:2}
.rb-interval--right .rb-exlist{order:1}
.rb-tag{font-family:var(--rb-head);font-size:13px;text-transform:uppercase;
  letter-spacing:.08em;color:var(--rb-coral);margin-bottom:.4em}
.rb-interval h3{font-size:clamp(21px,2.4vw,30px);margin-bottom:.5em}
.rb-count{font-size:15px;color:#5c4468}
.rb-exlist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.rb-ex{display:grid;grid-template-columns:auto 1fr;gap:16px;background:var(--rb-apricot);
  padding:14px 16px}
.rb-face{width:104px;height:auto;display:block;object-fit:cover;border-radius:4px}
.rb-face--none{width:104px;height:104px;display:grid;place-items:center;border-radius:4px;
  background:var(--rb-aubergine);color:#fff;font-family:var(--rb-head);font-size:32px;
  font-weight:700}
.rb-exname{margin:0 0 .2em;font-family:var(--rb-head);font-weight:700;font-size:19px}
.rb-exrole{margin:0 0 .2em;font-size:15px}
.rb-exorg{margin:0 0 .25em;font-weight:700;font-size:15px}
.rb-exwhere{margin:0;font-size:13px;color:#5c4468}
.rb-allspk{font-family:var(--rb-head);font-weight:700;margin-top:26px}

.rb-agenda{padding:clamp(36px,6vw,86px) clamp(16px,5vw,68px)}
.rb-agintro{max-width:76ch}
.rb-day{max-width:88ch;margin:0 0 26px;padding:22px 24px;background:var(--rb-white);
  border-left:8px solid var(--rb-aubergine)}
.rb-day:nth-child(even){margin-left:auto;border-left:0;border-right:8px solid var(--rb-coral)}
.rb-day h3{font-size:clamp(20px,2.2vw,27px);margin-bottom:.5em}
.rb-daypara{font-size:16px}
.rb-day details{border-top:1px solid var(--rb-lilac);margin-top:10px}
.rb-day summary{cursor:pointer;padding:14px 0;font-family:var(--rb-head);font-weight:700;
  min-height:44px;display:flex;align-items:center}
.rb-daylist{margin:0 0 14px;padding-left:22px}
.rb-daylist li{margin-bottom:6px;font-size:15px}

.rb-attend{padding:clamp(36px,6vw,86px) clamp(16px,5vw,68px);background:var(--rb-lilac)}
.rb-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.rb-mode{background:var(--rb-white);padding:26px}
.rb-mode--online{background:var(--rb-aubergine);color:#fff}
.rb-mode--online h3{color:#fff}
.rb-mode--online a.rb-go{background:var(--rb-coral)}
.rb-mode h3{font-size:24px;margin-bottom:.3em}
.rb-money{font-family:var(--rb-head);font-size:36px;font-weight:700;margin:.1em 0 .5em}
.rb-pricenote{margin-top:22px;font-size:15px;max-width:84ch}

.rb-orgs{padding:clamp(36px,6vw,86px) clamp(16px,5vw,68px);background:var(--rb-white)}
.rb-orgs>p{max-width:78ch}
.rb-logos{list-style:none;margin:24px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.rb-logos li{display:flex;align-items:center;gap:12px;background:var(--rb-apricot);
  padding:14px;min-height:74px}
.rb-logos img{width:48px;height:auto;object-fit:contain}
.rb-logos span{font-size:13px;font-weight:700}

.rb-travel{padding:clamp(36px,6vw,86px) clamp(16px,5vw,68px)}
.rb-travelgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,54px);
  align-items:start}
.rb-map{margin:0}
.rb-map img{width:100%;height:auto;display:block;border-radius:6px}
.rb-map figcaption{font-size:14px;padding-top:10px;color:#5c4468}
.rb-travelfacts dl{margin:0 0 22px}
.rb-travelfacts>dl>div{display:grid;grid-template-columns:minmax(130px,32%) 1fr;gap:12px;
  padding:9px 0;border-bottom:1px solid var(--rb-lilac)}
.rb-travelfacts dt{font-family:var(--rb-head);font-weight:700;font-size:14px}
.rb-travelfacts dd{margin:0}
.rb-faq details{border-top:1px solid var(--rb-lilac)}
.rb-faq summary{cursor:pointer;padding:14px 0;font-family:var(--rb-head);font-weight:700;
  min-height:44px;display:flex;align-items:center}
.rb-faq details p,.rb-faq details ul{margin:0 0 14px}

.rb-organiser{padding:clamp(36px,6vw,86px) clamp(16px,5vw,68px);background:var(--rb-aubergine);
  color:#fff}
.rb-organiser h2,.rb-organiser h3{color:#fff}
.rb-organiser a{color:#f0c9c5}
.rb-ogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:clamp(20px,4vw,54px)}
.rb-organiser h3{font-size:16px;text-transform:uppercase;letter-spacing:.07em;
  margin-bottom:.8em;color:#e2cfe0}
.rb-links{list-style:none;margin:0;padding:0}
.rb-links li{padding:3px 0}
.rb-links a{display:inline-flex;min-height:34px;align-items:center}
.rb-disclaim{margin-top:26px;font-size:15px;color:#e6dcea;max-width:86ch}
.rb-foot{background:#2a1834;color:#e6dcea;padding:20px clamp(16px,5vw,68px);font-size:14px}
.rb-foot a{color:#f0c9c5}
.rb-foot p{margin:0}

@media (max-width:900px){
  .rb-whytext{columns:1}
  .rb-interval--left,.rb-interval--right{grid-template-columns:1fr}
  .rb-interval--right .rb-intervaltext,.rb-interval--right .rb-exlist{order:0}
  .rb-travelgrid{grid-template-columns:1fr}
  .rb-day:nth-child(even){margin-left:0;border-right:0;border-left:8px solid var(--rb-coral)}
}
@media (max-width:640px){
  /* mobile: the S collapses to a slim curved edge beside the first sections */
  .rb-band{inset:-4% -40% auto -4%;height:52vh;
    background:radial-gradient(120% 80% at 0% 0%,var(--rb-coral) 0 34%,transparent 35%),
      radial-gradient(120% 80% at 100% 100%,var(--rb-lilac) 0 30%,transparent 31%)}
  .rb-heart{padding:16px 0;background:transparent}
  .rb-hero h1{font-size:clamp(34px,9vw,44px)}
  .rb-recess{width:100%;margin-left:0}
  .rb-ex{grid-template-columns:1fr}
  .rb-face,.rb-face--none{width:120px}
}
@media (prefers-reduced-motion:reduce){.rb *{animation:none!important;transition:none!important}}
