/* NMCF Digital Justice Experience v1.2.0 */
.djsx{--djs-wine:#9b1740;--djs-wine-dark:#650f2b;--djs-gold:#d49a35;--djs-green:#08705f;--djs-navy:#14283a;--djs-cream:#fbf8f3;--djs-ink:#161719;--djs-muted:#64666b;--djs-border:#e8e2db;box-sizing:border-box;font-family:inherit}.djsx *{box-sizing:border-box}.djsx img{display:block;max-width:100%;height:auto}.djsx button,.djsx a{font:inherit}.djsx-section{padding:54px 0}.djsx-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--djs-wine);margin-bottom:8px}.djsx h1,.djsx h2,.djsx h3{margin:0;color:var(--djs-ink);line-height:.98;letter-spacing:-.035em}.djsx h2{font-size:clamp(32px,4vw,54px)}.djsx h3{font-size:clamp(26px,3vw,38px)}.djsx-lead{max-width:780px;color:var(--djs-muted);font-size:17px;line-height:1.6;margin:12px 0 0}.djsx-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;text-decoration:none;font-weight:800;transition:.2s ease}.djsx-btn--solid{background:#fff;color:var(--djs-wine-dark)}.djsx-btn--ghost{border:1px solid rgba(255,255,255,.5);color:#fff}.djsx-empty{border:1px dashed var(--djs-border);padding:24px;border-radius:18px;background:#fff;color:var(--djs-muted)}

.djsx-hero{min-height:590px;display:grid;grid-template-columns:1.05fr .95fr;background:linear-gradient(135deg,#0c1420 0%,#101c2a 38%,#6a1530 100%);overflow:hidden;border-radius:0 0 34px 34px}.djsx-hero__copy{padding:78px 5vw 54px 6vw;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.djsx-hero .djsx-kicker{color:#ef3b72}.djsx-hero h1{color:#fff;font-size:clamp(52px,6.8vw,92px);line-height:.88;max-width:720px}.djsx-hero p{color:rgba(255,255,255,.83);font-size:19px;line-height:1.55;max-width:640px;margin:24px 0 0}.djsx-meta{display:flex;gap:20px;flex-wrap:wrap;color:#fff;font-size:15px;font-weight:700;margin-top:24px}.djsx-meta span{display:flex;align-items:center;gap:8px}.djsx-meta span:before{content:'•';color:#e11b57}.djsx-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.djsx-countdown{display:flex;gap:22px;margin-top:36px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);max-width:500px}.djsx-countdown span{color:rgba(255,255,255,.68);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.djsx-countdown strong{display:block;color:#fff;font-size:28px;line-height:1.1;letter-spacing:-.04em}.djsx-hero__media{position:relative;min-height:590px;overflow:hidden;align-self:stretch}.djsx-hero__media:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#101c2a 0%,rgba(16,28,42,.38) 17%,rgba(16,28,42,0) 42%)}.djsx-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.djsx-hero__scribble{position:absolute;z-index:2;top:56px;right:42px;color:#fff;font-size:clamp(22px,2vw,32px);font-style:italic;font-weight:700;line-height:1.08;transform:rotate(-5deg);text-shadow:0 2px 10px rgba(0,0,0,.25)}

.djsx-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}.djsx-pillar{min-height:260px;border:0;border-radius:18px;padding:28px 24px;text-align:left;color:#fff;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.djsx-pillar:hover,.djsx-pillar:focus-visible{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.14)}.djsx-pillar--wine{background:linear-gradient(160deg,#b01448,#7f1034)}.djsx-pillar--gold{background:linear-gradient(160deg,#d7a52f,#b67a0b)}.djsx-pillar--green{background:linear-gradient(160deg,#0a7d6d,#055345)}.djsx-pillar--navy{background:linear-gradient(160deg,#183249,#0f2030)}.djsx-pillar__icon{font-size:38px;line-height:1;margin-bottom:28px}.djsx-pillar strong{font-size:21px;letter-spacing:-.02em}.djsx-pillar span:not(.djsx-pillar__icon){font-size:14px;line-height:1.55;margin-top:12px;color:rgba(255,255,255,.9)}.djsx-pillar em{font-style:normal;font-size:13px;font-weight:800;margin-top:auto;padding-top:22px}.djsx-expand{margin-top:14px;padding:16px 18px;border:1px solid var(--djs-border);border-radius:14px;background:var(--djs-cream);color:var(--djs-muted)}

.djsx-section-head{display:flex;justify-content:space-between;gap:24px}.djsx-orbit{position:relative;min-height:640px;max-width:1040px;margin:20px auto 0}.djsx-orbit:before,.djsx-orbit:after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #e4d7dc;border-radius:50%}.djsx-orbit:before{width:440px;height:440px}.djsx-orbit:after{width:560px;height:560px}.djsx-orbit__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:290px;height:290px;border-radius:50%;overflow:hidden;z-index:3;border:10px solid #fff;box-shadow:0 10px 36px rgba(0,0,0,.12)}.djsx-orbit__center img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:28% center}.djsx-orbit__center:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.68))}.djsx-orbit__center strong{position:absolute;z-index:2;bottom:35px;left:0;right:0;text-align:center;color:#fff;font-size:24px;line-height:1.05}.djsx-orbit__node{position:absolute;width:210px;background:transparent;border:0;text-align:left;z-index:4;cursor:pointer;padding:0}.djsx-orbit__node span{display:block;width:70px;height:70px;border-radius:50%;background:var(--djs-wine);margin-bottom:10px;box-shadow:0 6px 18px rgba(0,0,0,.12)}.djsx-orbit__node b{display:block;font-size:18px;color:var(--djs-ink)}.djsx-orbit__node small{display:block;color:var(--djs-muted);line-height:1.45;font-size:13px;margin-top:4px}.djsx-orbit__node--1{left:4%;top:7%;text-align:right}.djsx-orbit__node--1 span,.djsx-orbit__node--6 span{margin-left:auto}.djsx-orbit__node--2{right:3%;top:7%}.djsx-orbit__node--2 span{background:#9251b5}.djsx-orbit__node--3{right:0;top:42%}.djsx-orbit__node--3 span{background:#1a83c1}.djsx-orbit__node--4{right:5%;bottom:4%}.djsx-orbit__node--4 span{background:#dd4b1a}.djsx-orbit__node--5{left:5%;bottom:4%;text-align:right}.djsx-orbit__node--5 span{margin-left:auto;background:#f1751a}.djsx-orbit__node--6{left:0;top:42%;text-align:right}.djsx-orbit__node--6 span{background:#08705f}.djsx-orbit__detail{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(560px,80%);padding:14px 18px;background:#fff;border:1px solid var(--djs-border);border-radius:14px;z-index:7;text-align:center;color:var(--djs-muted);opacity:0;transition:.2s}.djsx-orbit__detail.is-active{opacity:1}.djsx-orbit-mobile{display:none}

.djsx-participants{display:grid;grid-template-columns:.95fr 1.05fr;background:#0a443f;color:#fff;overflow:hidden;min-height:420px}.djsx-participants__image{position:relative;min-height:420px;overflow:hidden}.djsx-participants__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.djsx-participants__content{padding:54px 5vw;display:flex;flex-direction:column;justify-content:center}.djsx-participants .djsx-kicker{color:#e8b53d}.djsx-participants h2{color:#fff;font-size:clamp(34px,4vw,58px)}.djsx-participants p{max-width:620px;color:rgba(255,255,255,.78);font-size:16px;line-height:1.6}.djsx-cohorts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.djsx-cohorts div{border-left:1px solid rgba(255,255,255,.25);padding-left:18px}.djsx-cohorts strong{display:block;font-size:38px;color:#fff}.djsx-cohorts span{font-size:13px;color:rgba(255,255,255,.72)}

.djsx-programme{background:var(--djs-cream);padding-left:0;padding-right:0}.djsx-programme__tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:28px 0 16px}.djsx-programme__tabs button{border:1px solid var(--djs-border);background:#fff;border-radius:12px;padding:16px;cursor:pointer;font-weight:800;color:var(--djs-ink)}.djsx-programme__tabs button span{display:block;font-size:12px;color:var(--djs-muted);margin-top:3px}.djsx-programme__tabs button[aria-selected=true]{background:var(--djs-wine);border-color:var(--djs-wine);color:#fff}.djsx-programme__tabs button[aria-selected=true] span{color:rgba(255,255,255,.75)}.djsx-programme__panel{display:grid;grid-template-columns:.78fr 1.22fr;background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--djs-border);min-height:460px}.djsx-programme__photo{position:relative;min-height:460px;overflow:hidden}.djsx-programme__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.djsx-programme__schedule{padding:34px}.djsx-session-list{margin-top:18px}.djsx-session{display:grid;grid-template-columns:74px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid #eee}.djsx-session:last-child{border-bottom:0}.djsx-session time{font-weight:900;color:var(--djs-ink)}.djsx-session strong{display:block}.djsx-session p{margin:4px 0 0;color:var(--djs-muted);font-size:13px;line-height:1.45}

.djsx-people__track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);overflow:auto;gap:14px;padding:4px 2px 10px;scroll-snap-type:x mandatory}.djsx-person{scroll-snap-align:start}.djsx-person img,.djsx-person__placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 32%;border-radius:14px;background:linear-gradient(135deg,#eee,#ddd)}.djsx-person strong{display:block;margin-top:10px;font-size:15px}.djsx-person span{font-size:12px;color:var(--djs-muted)}

.djsx-outcomes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.djsx-outcomes article{border:1px solid var(--djs-border);background:#fff;border-radius:16px;padding:22px;text-align:center}.djsx-outcome-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#f8edf1;color:var(--djs-wine);font-weight:900;margin:0 auto 14px}.djsx-outcomes strong{display:block}.djsx-outcomes p{font-size:13px;color:var(--djs-muted);line-height:1.45}.djsx-news{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.djsx-news article{border:1px solid var(--djs-border);border-radius:16px;overflow:hidden;background:#fff}.djsx-news img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center center}.djsx-news article>div{padding:14px}.djsx-news strong{display:block}.djsx-news a{color:var(--djs-ink);text-decoration:none}.djsx-news time{font-size:12px;color:var(--djs-muted);display:block;margin-top:6px}

.djsx-cta{display:grid;grid-template-columns:1.05fr .95fr;background:linear-gradient(135deg,#6c102d,#a81343);color:#fff;overflow:hidden;min-height:360px}.djsx-cta>div:first-child{padding:56px 5vw;display:flex;flex-direction:column;justify-content:center}.djsx-cta .djsx-kicker{color:#f4b53b}.djsx-cta h2{color:#fff;font-size:clamp(38px,5vw,64px)}.djsx-cta p{max-width:580px;color:rgba(255,255,255,.8);line-height:1.55;font-size:17px}.djsx-cta__image{position:relative;min-height:360px;overflow:hidden}.djsx-cta__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}

@media(max-width:1024px){.djsx-section{padding:42px 20px}.djsx-hero{grid-template-columns:1fr;min-height:0}.djsx-hero__copy{padding:56px 28px 34px}.djsx-hero__media{min-height:440px}.djsx-pillars{grid-template-columns:repeat(2,1fr)}.djsx-orbit{display:none}.djsx-orbit-mobile{display:grid;gap:10px;margin-top:24px}.djsx-orbit-mobile details{border:1px solid var(--djs-border);border-radius:14px;padding:14px 16px;background:#fff}.djsx-orbit-mobile summary{font-weight:800;cursor:pointer}.djsx-orbit-mobile p{color:var(--djs-muted);margin:8px 0 0}.djsx-participants{grid-template-columns:1fr}.djsx-participants__image{min-height:360px;max-height:none}.djsx-outcomes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.djsx-section{padding:34px 18px}.djsx-hero h1{font-size:clamp(46px,14vw,72px)}.djsx-hero__media{min-height:320px}.djsx-hero__scribble{font-size:22px;top:22px;right:18px}.djsx-countdown{gap:14px;justify-content:space-between}.djsx-countdown strong{font-size:22px}.djsx-pillars{grid-template-columns:1fr}.djsx-pillar{min-height:220px}.djsx-cohorts{grid-template-columns:1fr}.djsx-programme__tabs{grid-template-columns:1fr}.djsx-programme__panel{grid-template-columns:1fr}.djsx-programme__photo{min-height:280px;max-height:none}.djsx-programme__schedule{padding:22px}.djsx-session{grid-template-columns:58px 1fr}.djsx-outcomes,.djsx-news{grid-template-columns:1fr}.djsx-cta{grid-template-columns:1fr}.djsx-cta__image{min-height:280px;max-height:none}}
@media(prefers-reduced-motion:reduce){.djsx *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* v1.1.0 media-fit hardening */
.djsx-hero__media,.djsx-participants__image,.djsx-programme__photo,.djsx-cta__image{background:#efe9e2}
.djsx-hero__media img,.djsx-participants__image img,.djsx-programme__photo img,.djsx-cta__image img,.djsx-orbit__center img,.djsx-person img,.djsx-news img{display:block}
@media(max-width:1024px){.djsx-hero__media img,.djsx-participants__image img,.djsx-programme__photo img,.djsx-cta__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}}

/* =========================================================
   v1.2.0 — Approved reference-UX fidelity + media hardening
   ========================================================= */

/* Make every image-led module behave like an art-directed frame, not an intrinsic image. */
.djsx-hero__media,
.djsx-participants__image,
.djsx-programme__photo,
.djsx-cta__image{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:#ece7e0;
}
.djsx-hero__media>img,
.djsx-participants__image>img,
.djsx-programme__photo>img,
.djsx-cta__image>img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  margin:0 !important;
  padding:0 !important;
}

/* Hero: clean 50/50 editorial split, complete image fill. */
.djsx-hero{
  grid-template-columns:1.02fr .98fr;
  min-height:600px;
  border-radius:0 0 28px 28px;
}
.djsx-hero__copy{padding:72px clamp(30px,5vw,78px) 46px clamp(30px,5.5vw,84px)}
.djsx-hero__media{min-height:600px;height:auto !important;align-self:stretch !important}
.djsx-hero__media:before{background:linear-gradient(90deg,#101c2a 0%,rgba(16,28,42,.26) 14%,rgba(16,28,42,0) 36%)}
.djsx-hero__media>img{object-position:center center}

/* Approved pillar-card proportions from the reference design. */
.djsx-section{padding:48px 0}
.djsx-pillars{gap:18px;margin-top:30px}
.djsx-pillar{min-height:240px;border-radius:14px;padding:26px 22px}
.djsx-pillar__icon{font-size:34px;margin-bottom:24px}
.djsx-pillar strong{font-size:20px}
.djsx-expand{border-radius:10px;background:#fbf8f3;padding:13px 16px}

/* Theme Orbit — compact three-column composition matching the selected UX. */
.djsx-orbit-section{overflow:visible}
.djsx-orbit{
  position:relative;
  display:grid;
  grid-template-columns:minmax(230px,1fr) 430px minmax(230px,1fr);
  grid-template-rows:repeat(3,minmax(120px,auto)) auto;
  column-gap:32px;
  row-gap:12px;
  align-items:center;
  max-width:1120px;
  min-height:0;
  margin:34px auto 0;
}
.djsx-orbit:before,.djsx-orbit:after{content:none !important;display:none !important}
.djsx-orbit__core{
  grid-column:2;
  grid-row:1 / span 3;
  position:relative;
  width:430px;
  height:430px;
  display:grid;
  place-items:center;
  justify-self:center;
  align-self:center;
}
.djsx-orbit__ring{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border:1px solid #eadde2;
  border-radius:50%;
  pointer-events:none;
}
.djsx-orbit__ring--outer{width:420px;height:420px}
.djsx-orbit__ring--middle{width:338px;height:338px}
.djsx-orbit__ring--inner{width:272px;height:272px}
.djsx-orbit__center{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  width:230px;
  height:230px;
  border:8px solid #fff;
  border-radius:50%;
  overflow:hidden;
  z-index:3;
  box-shadow:0 12px 34px rgba(0,0,0,.16);
}
.djsx-orbit__center>img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:29% center;
}
.djsx-orbit__center:after{background:linear-gradient(180deg,transparent 46%,rgba(0,0,0,.72))}
.djsx-orbit__center strong{bottom:28px;font-size:23px;line-height:1.02;letter-spacing:-.025em}
.djsx-orbit__node{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  width:100% !important;
  min-height:104px;
  display:flex;
  align-items:center;
  gap:15px;
  border:0;
  background:transparent;
  padding:6px 0;
  cursor:pointer;
  text-align:left;
}
.djsx-orbit__node--1{grid-column:1;grid-row:1;flex-direction:row-reverse;text-align:right}
.djsx-orbit__node--6{grid-column:1;grid-row:2;flex-direction:row-reverse;text-align:right}
.djsx-orbit__node--5{grid-column:1;grid-row:3;flex-direction:row-reverse;text-align:right}
.djsx-orbit__node--2{grid-column:3;grid-row:1}
.djsx-orbit__node--3{grid-column:3;grid-row:2}
.djsx-orbit__node--4{grid-column:3;grid-row:3}
.djsx-orbit__icon{
  width:64px !important;
  height:64px !important;
  min-width:64px;
  flex:0 0 64px;
  display:grid !important;
  place-items:center;
  border-radius:50%;
  margin:0 !important;
  color:#fff;
  background:var(--djs-wine);
  box-shadow:0 8px 20px rgba(0,0,0,.12);
  transition:transform .18s ease,box-shadow .18s ease;
}
.djsx-orbit__icon svg{width:30px;height:30px;display:block}
.djsx-orbit__node--2 .djsx-orbit__icon{background:#9251b5}
.djsx-orbit__node--3 .djsx-orbit__icon{background:#1a83c1}
.djsx-orbit__node--4 .djsx-orbit__icon{background:#e34a13}
.djsx-orbit__node--5 .djsx-orbit__icon{background:#f27619}
.djsx-orbit__node--6 .djsx-orbit__icon{background:#08705f}
.djsx-orbit__node:hover .djsx-orbit__icon,.djsx-orbit__node:focus-visible .djsx-orbit__icon{transform:scale(1.07);box-shadow:0 10px 26px rgba(0,0,0,.18)}
.djsx-orbit__copy{display:block;min-width:0}
.djsx-orbit__copy b{display:block;color:var(--djs-ink);font-size:18px;line-height:1.18;letter-spacing:-.02em}
.djsx-orbit__copy small{display:block;color:var(--djs-muted);font-size:13px;line-height:1.4;margin-top:5px}
.djsx-orbit__detail{
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
  grid-column:1 / -1;
  grid-row:4;
  justify-self:center;
  width:min(620px,92%);
  margin-top:8px;
  padding:13px 18px;
  border-radius:12px;
  opacity:0;
}
.djsx-orbit__detail.is-active{opacity:1}

/* Participant feature: photo must cover the entire left panel. */
.djsx-participants{grid-template-columns:.96fr 1.04fr;min-height:420px}
.djsx-participants__image{min-height:420px;height:100% !important}
.djsx-participants__image>img{object-position:center center}
.djsx-participants__content{padding:48px clamp(30px,5vw,72px)}
.djsx-participants h2{font-size:clamp(36px,4vw,56px)}

/* Programme: image panel fills the card from top to bottom, no blank field. */
.djsx-programme{padding-top:48px;padding-bottom:48px}
.djsx-programme__tabs{margin:26px 0 14px;gap:4px}
.djsx-programme__tabs button{border-radius:9px;padding:14px}
.djsx-programme__panel{grid-template-columns:.72fr 1.28fr;min-height:465px;border-radius:16px}
.djsx-programme__photo{min-height:465px;height:100% !important}
.djsx-programme__photo>img{object-position:center center}
.djsx-programme__schedule{padding:30px 32px}
.djsx-session{padding:13px 0}

/* People cards: cleaner reference-style carousel. */
.djsx-people__track{grid-auto-columns:minmax(205px,1fr);gap:16px;padding-top:10px}
.djsx-person img,.djsx-person__placeholder{border-radius:12px;aspect-ratio:4/3;object-fit:cover !important}
.djsx-person strong{font-size:16px;line-height:1.2}

/* Outcomes: real line icons, not numbered pills. */
.djsx-outcomes{gap:14px;margin-top:26px}
.djsx-outcomes article{border-radius:12px;padding:20px 16px;min-height:178px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.djsx-outcome-icon{width:48px;height:48px;border-radius:0;background:transparent;color:var(--djs-wine);margin:0 auto 12px}
.djsx-outcome-icon svg{width:42px;height:42px;display:block}
.djsx-outcomes article:nth-child(2) .djsx-outcome-icon{color:#08705f}
.djsx-outcomes article:nth-child(3) .djsx-outcome-icon{color:#d49a35}
.djsx-outcomes article:nth-child(4) .djsx-outcome-icon{color:#08705f}

/* News: same compact editorial-card rhythm as the approved reference. */
.djsx-news{gap:14px;margin-top:22px}
.djsx-news article{border-radius:12px}
.djsx-news img{display:block !important;width:100% !important;height:auto !important;aspect-ratio:16/9;object-fit:cover !important;max-width:none !important}
.djsx-news article>div{padding:12px 13px 14px}

/* CTA: complete half-panel image fill. */
.djsx-cta{grid-template-columns:1.05fr .95fr;min-height:340px}
.djsx-cta>div:first-child{padding:50px clamp(30px,5vw,70px)}
.djsx-cta__image{min-height:340px;height:100% !important}
.djsx-cta__image>img{object-position:center center}

/* Theme safety: NMCF theme/global img rules must never collapse DJS media frames. */
.elementor-widget-container .djsx-hero__media>img,
.elementor-widget-container .djsx-participants__image>img,
.elementor-widget-container .djsx-programme__photo>img,
.elementor-widget-container .djsx-cta__image>img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
}

@media(max-width:1180px) and (min-width:1025px){
  .djsx-orbit{grid-template-columns:minmax(205px,1fr) 380px minmax(205px,1fr);column-gap:20px}
  .djsx-orbit__core{width:380px;height:380px}
  .djsx-orbit__ring--outer{width:370px;height:370px}
  .djsx-orbit__ring--middle{width:310px;height:310px}
  .djsx-orbit__ring--inner{width:255px;height:255px}
  .djsx-orbit__center{width:215px;height:215px}
  .djsx-orbit__icon{width:58px !important;height:58px !important;min-width:58px;flex-basis:58px}
  .djsx-orbit__copy b{font-size:16px}.djsx-orbit__copy small{font-size:12px}
}

@media(max-width:1024px){
  .djsx-hero{grid-template-columns:1fr}.djsx-hero__media{min-height:440px}
  .djsx-orbit{display:none}.djsx-orbit-mobile{display:grid;gap:10px;margin-top:24px}
  .djsx-orbit-mobile details{border:1px solid var(--djs-border);border-radius:14px;padding:14px 16px;background:#fff}
  .djsx-orbit-mobile summary{display:flex;align-items:center;gap:12px;font-weight:800;cursor:pointer;list-style:none}
  .djsx-orbit-mobile summary::-webkit-details-marker{display:none}
  .djsx-orbit-mobile__icon{width:38px;height:38px;min-width:38px;border-radius:50%;display:grid;place-items:center;background:var(--djs-wine);color:#fff}
  .djsx-orbit-mobile__icon svg{width:21px;height:21px}
  .djsx-participants{grid-template-columns:1fr}.djsx-participants__image{min-height:390px}
  .djsx-programme__panel{grid-template-columns:1fr}.djsx-programme__photo{min-height:360px}
  .djsx-cta{grid-template-columns:1fr}.djsx-cta__image{min-height:340px}
}

@media(max-width:700px){
  .djsx-section{padding:34px 18px}
  .djsx-hero__media{min-height:340px}
  .djsx-participants__image{min-height:300px}
  .djsx-programme__photo{min-height:300px}
  .djsx-cta__image{min-height:300px}
}

/* Neutralise legacy orbit span rules for the new v1.2 copy wrapper. */
.djsx-orbit__node .djsx-orbit__copy{
  display:block !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  margin:0 !important;
  box-shadow:none !important;
}

/* v1.2.1 — Pillar typography hardening against parent-theme strong/em/button rules. */
.djsx .djsx-pillar,
.djsx .djsx-pillar strong,
.djsx .djsx-pillar em,
.djsx .djsx-pillar .djsx-pillar__icon,
.djsx .djsx-pillar span:not(.djsx-pillar__icon){color:#fff !important}
