:root{
  --color-white:#FFFFFF;
  --color-neutral-100:#FBF9FD;
  --color-neutral-250:#F4F1F8;
  --color-neutral-500:#C7C8CF;
  --color-neutral-750:#5B5B67;
  --color-neutral-1000:#222222;
  --color-brand:#6022A6;
  --color-brand-hover:#512286;
  --color-brand-pressed:#472271;

  --surface-page:var(--color-white);
  --text-primary:var(--color-neutral-1000);
  --text-secondary:var(--color-neutral-750);
  --text-link:var(--color-brand);
  --text-link-hover:var(--color-brand-hover);
  --border-subtle:var(--color-neutral-250);

  --font-display:"Source Sans Pro",Calibri,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-body:"Source Sans Pro",Calibri,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  --title-m-desktop-size:36px;--title-m-desktop-lh:48px;--title-m-desktop-ls:-1.25px;
  --title-s-size:26px;--title-s-lh:32px;--title-s-ls:-0.75px;

  --body-m-size:18px;--body-m-lh:28px;
  --body-s-size:16px;--body-s-lh:24px;

  --shadow-low:0 0 2px rgba(34,34,34,.16),0 4px 8px rgba(34,34,34,.16),0 10px 15px rgba(34,34,34,.15);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface-page);font-family:var(--font-body);color:var(--text-primary)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);margin:0;color:var(--text-primary)}
img,video{max-width:100%}
a{color:var(--text-link);text-decoration:none}

.link-nav{font-size:14px;font-weight:600;color:var(--text-secondary);text-decoration:none;transition:color .2s ease}
.link-nav:hover{color:var(--color-brand)}

.btn-primary{display:inline-block;background:var(--color-brand);color:#fff;font-weight:600;font-size:16px;padding:14px 28px;border-radius:8px;text-decoration:none;transition:background .2s ease}
.btn-primary:hover{background:var(--color-brand-hover)}

.btn-primary-sm{background:var(--color-brand);color:#fff;font-weight:600;font-size:14px;padding:11px 20px;border-radius:8px;text-decoration:none;display:inline-block;transition:background .2s ease}
.btn-primary-sm:hover{background:var(--color-brand-hover)}

.btn-white{display:inline-block;background:#fff;color:var(--color-brand);font-weight:600;font-size:16px;padding:14px 28px;border-radius:8px;text-decoration:none;transition:background .2s ease}
.btn-white:hover{background:var(--color-neutral-100)}

.link-brand{color:var(--color-brand);font-weight:600;font-size:17px;text-decoration:none;transition:color .2s ease}
.link-brand:hover{color:var(--color-brand-hover)}

.link-footer{font-size:13px;color:var(--text-secondary);text-decoration:none;transition:color .2s ease}
.link-footer:hover{color:var(--color-brand)}

[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}

/* Nav */
.nav-bar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:14px 40px}
.nav-logo-wrap{display:flex;align-items:center;gap:12px}
.nav-links{display:flex;align-items:center;gap:24px}
#nav-logo-img{height:28px;width:auto}

/* Hero */
#hero{position:relative;overflow:hidden;}
.hero-video{width:100%;object-fit:cover;object-position:left top}
#hero-img-mobile{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}

/* Intro */
.intro-section{max-width:760px;margin:0 auto;padding:72px 32px 80px;text-align:center}
#intro-copy{font-size:var(--body-m-size);line-height:var(--body-m-lh);color:var(--text-secondary);margin:0 0 32px}

/* Eyebrow label */
.eyebrow{font-size:18px;letter-spacing:.04em;color:var(--color-brand);font-weight:400;text-transform:uppercase;}
.eyebrow--white{color:#fff}

/* Product media hero (Omni 128 / StarGuide GX) */
.media-hero{position:relative;height:480px;overflow:hidden}
.media-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-hero-video--flip{transform:scaleX(-1)}
.media-hero-fade{position:absolute;inset:0}
.media-hero-fade--ltr{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.9) 38%,rgba(255,255,255,0) 68%)}
.media-hero-fade--rtl{background:linear-gradient(270deg,#fff 0%,rgba(255,255,255,.9) 38%,rgba(255,255,255,0) 68%)}
.media-hero-content{position:relative;z-index:2;height:100%;max-width:1240px;margin:0 auto;padding:0 40px;display:flex;align-items:center}
.media-hero-content--end{justify-content:flex-end}
.media-hero-text{max-width:440px}
.media-hero-text--right{text-align:right}
.product-heading{font-family:var(--font-display);font-size:var(--title-m-desktop-size);line-height:var(--title-m-desktop-lh);letter-spacing:var(--title-m-desktop-ls);color:var(--text-primary);margin:12px 0 16px;font-weight:600}
.product-copy{font-size:var(--body-m-size);line-height:var(--body-m-lh);color:var(--text-secondary);margin:0 0 20px}

/* Section backgrounds */
.bg-tint{background:var(--color-neutral-250)}
.bg-subtle{background:var(--color-neutral-100)}
.bg-brand{background:var(--color-brand)}

/* Split (text + media) rows */
.split-row{max-width:1240px;margin:0 auto;display:flex;flex-wrap:nowrap;align-items:stretch}
.symposium-row{min-height:560px}
#jifflenow{min-height:380px}
.ai-row{min-height:460px}
.designdept-row{min-height:460px}

.split-col-text{flex:1 1 50%;min-width:260px;padding:40px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}
.split-col-text-stretch{flex:1 1 50%;min-width:260px;padding:40px;display:flex;flex-direction:column;justify-content:center}
.split-col-video{flex:1 1 50%;min-width:0;position:relative;overflow:hidden;align-self:stretch}
.vidwrap-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

#symposium,#meetus{scroll-margin-top:64px}

/* Satellite Symposium */
#symposium-heading{font-family:var(--font-display);font-size:var(--title-m-desktop-size);line-height:var(--title-m-desktop-lh);letter-spacing:var(--title-m-desktop-ls);color:var(--text-primary);margin:12px 0 6px;font-weight:600}
#symposium-datetime{font-size:var(--body-s-size);color:var(--text-secondary);font-weight:600;margin:0 0 16px}
#symposium-copy{font-size:var(--body-m-size);line-height:var(--body-m-lh);color:var(--text-secondary);margin:0 0 24px}


.speaker-name{font-size:var(--body-s-size);color:var(--text-primary);font-weight:600}
.speaker-role{font-size:var(--body-s-size);color:var(--text-secondary)}

/* Jifflenow CTA */
#jifflenow-heading{font-family:var(--font-display);font-size:var(--title-s-size);line-height:var(--title-s-lh);letter-spacing:var(--title-s-ls);color:#fff;margin:0 0 12px;font-weight:600}
#jifflenow-copy{font-size:var(--body-m-size);line-height:var(--body-m-lh);color:rgba(255,255,255,.85);max-width:420px;margin:0 0 24px}
.reserve-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
#jifflenow-btn-reserve{background:#fff;color:var(--color-brand);font-weight:600;font-size:16px;padding:14px 30px;border-radius:8px;border:none;cursor:pointer;font-family:inherit}
#jifflenow-poweredby{font-size:12px;color:rgba(255,255,255,.7)}

.btn-calendar{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:var(--color-brand);color:#fff;font-weight:600;font-size:15px;padding:10px 22px;border-radius:8px;text-decoration:none;margin-bottom:20px}
/* Activities */
#activities {
  max-width: 760px;
  margin: 0 auto;
  padding: 72px 32px 40px;
  text-align: center;
}
#activities-heading {
  font-family: var(--font-display);
  font-size: var(--title-m-desktop-size);
  line-height: var(--title-m-desktop-lh);
  letter-spacing: var(--title-m-desktop-ls);
  color: var(--text-primary);
  margin: 12px 0 0;
  font-weight: 600;
}
#activities-copy {
  font-size: var(--body-m-size);
  line-height: var(--body-m-lh);
  color: var(--text-secondary);
  margin: 14px 0 0;
}

.activities-grid {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 40px 80px;
  display: grid;
  /* On ajuste le minimum à 250px pour que les 4 cartes tiennent parfaitement dans 1240px */
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 28px;
}

.activity-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: var(--shadow-low);
  overflow: hidden;
}
.activity-card > div {
  width: 100%;
}
.activity-card-media {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
}
.activity-card-body {
  padding: 24px;
}
.activity-card-heading {
  font-family: var(--font-display);
  font-size: 22px;
  color: var(--text-primary);
  margin: 0 0 10px;
  font-weight: 600;
}
.activity-card-meta {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-brand);
}
.activity-card-copy {
  font-size: var(--body-s-size);
  line-height: var(--body-s-lh);
  color: var(--text-secondary);
  margin: 0;
}

/* AI experience hero */
#ai-heading{font-family:var(--font-display);font-size:var(--title-s-size);line-height:var(--title-s-lh);color:#fff;margin:12px 0 12px;font-weight:600}
#ai-copy{font-size:var(--body-m-size);line-height:var(--body-m-lh);color:rgba(255,255,255,.85);margin:0}

/* Design your department hero */
#designdept-heading{font-family:var(--font-display);font-size:var(--title-s-size);line-height:var(--title-s-lh);color:var(--text-primary);margin:12px 0 12px;font-weight:600}
#designdept-copy{font-size:var(--body-m-size);line-height:var(--body-m-lh);color:var(--text-secondary);margin:0}

/* Meet us */
.meetus-grid{max-width:1240px;margin:0 auto;padding:72px 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:56px;align-items:center}
#meetus-img-map{width:100%;height:380px;object-fit:contain}
#meetus-heading{font-family:var(--font-display);font-size:var(--title-m-desktop-size);line-height:var(--title-m-desktop-lh);letter-spacing:var(--title-m-desktop-ls);color:#fff;margin:0 0 12px;font-weight:600}
#meetus-copy{font-size:var(--body-m-size);line-height:var(--body-m-lh);color:rgba(255,255,255,.85);margin:0 0 24px}

@media (min-width:769px){
  .meetus-grid{grid-template-columns:2fr 1fr}
  #meetus-img-map{height:480px}
}

/* Footer */
.site-footer{border-top:1px solid var(--border-subtle);padding:28px 40px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
#footer-logo-img{height:22px;width:auto}
#footer-copyright{font-size:13px;color:var(--text-secondary)}
.footer-links{display:flex;gap:20px}

@media (max-width:768px){
  body{overflow-x:hidden}
  .sm-hidden{display:none !important}
  #hero{height:auto !important;min-height:0 !important;aspect-ratio:4/5 !important}
  #hero video{display:none !important}
  #hero img[data-hero-mobile]{display:block !important}
  [data-screen-label="Satellite Symposium"] > div,
  [data-screen-label="Design your department hero"] > div{
    flex-direction:column-reverse !important;
  }
  [data-screen-label="Jifflenow CTA"] > div,
  [data-screen-label="AI experience hero"] > div{
    flex-direction:column !important;
  }
  [data-screen-label="Satellite Symposium"] > div,
  [data-screen-label="Jifflenow CTA"] > div,
  [data-screen-label="AI experience hero"] > div,
  [data-screen-label="Design your department hero"] > div{
    min-height:0 !important;
  }
  [data-speakerlist] > div{align-items:flex-start !important;text-align:left !important}
  [data-screen-label="Satellite Symposium"] h2{font-size:30px !important}
  [data-vidwrap]{
    width:100% !important;
    height:320px !important;
    flex:none !important;
  }
  [data-screen-label="Satellite Symposium"] > div > div:nth-child(1),
  [data-screen-label="Jifflenow CTA"] > div > div:nth-child(2),
  [data-screen-label="AI experience hero"] > div > div:nth-child(2),
  [data-screen-label="Design your department hero"] > div > div:nth-child(1){
    flex:none !important;
    width:100% !important;
    max-width:100% !important;
    padding:24px !important;
  }
  [data-screen-label="Omni 128"], [data-screen-label="StarGuide GX"]{
    height:auto !important;
  }
  [data-screen-label="Omni 128"] > video, [data-screen-label="StarGuide GX"] > video{
    position:relative !important;height:220px !important;width:100% !important;
  }
  [data-screen-label="Omni 128"] > div:nth-child(2), [data-screen-label="StarGuide GX"] > div:nth-child(2){
    display:none !important;
  }
  [data-screen-label="Omni 128"] > div:nth-child(3), [data-screen-label="StarGuide GX"] > div:nth-child(3){
    position:relative !important;height:auto !important;padding:28px 24px !important;
  }
  [data-screen-label="Omni 128"] > div:nth-child(3) > div, [data-screen-label="StarGuide GX"] > div:nth-child(3) > div{
    max-width:100% !important;text-align:left !important;
  }
  [data-screen-label="Meet us"] > div{
    padding:40px 24px !important;
    gap:24px !important;
  }
  [data-screen-label="Meet us"] img{
    height:220px !important;
  }
  #nav-link-activities{
    margin-left:16px !important;
  }
  [data-learnmore]{
    font-size:16px !important;
  }
}

/* Container principal des intervenants */
.speaker-list {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Élément individuel d'intervenant */
.speaker-item {
  padding: 12px 0;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Retrait de la bordure inférieure pour le dernier élément principal */
.speaker-item--last {
  border-bottom: none;
}

/* Avatar / Image de profil */
.speaker-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}

/* Bloc d'informations textuelles */
.speaker-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 2px;
}

/* Nom de la personne */
.speaker-name {
  font-size: var(--body-s-size);
  color: var(--text-primary);
  font-weight: 600;
}

/* Rôle / Établissement */
.speaker-role {
  font-size: var(--body-s-size);
  color: var(--text-secondary);
}

/* Section inférieure (Modérateurs Q&A) */
.moderators-section {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 16px 40px;
}

/* Titre de la section modérateurs */
.moderators-title {
  flex: 0 0 100%;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: var(--color-brand);
  font-weight: 600;
  text-transform: uppercase;
}

/* Élément individuel modérateur */
.moderator-item {
  display: flex;
  align-items: center;
  gap: 12px;
}
/* Bloc principal des disclaimers */
.disclaimers-block {
  padding: 20px 40px;
  border-top: 1px solid var(--border-subtle);
}

/* Style commun pour chaque paragraphe de disclaimer */
.disclaimer-text {
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
  margin: 0 0 6px 0;
}

/* Suppression de la marge inférieure sur le dernier paragraphe */
.disclaimer-text:last-child {
  margin-bottom: 0;
}

/* Section MIM Workshops */
.workshops-banner {
  display: flex;
  gap: 16px;
  overflow: hidden;
}

.workshops-banner > div{
  flex: 1;
  height: 160px;
}

.workshop-banner-img{
  height: 160px;
  width: 100%;
  object-fit: cover;
  display: block;
}

.workshops-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 72px 40px;
}

.workshops-header {
  text-align: center;
  margin-bottom: 40px;
}

.workshops-title {
  font-family: var(--font-display);
  font-size: var(--title-m-desktop-size);
  line-height: var(--title-m-desktop-lh);
  letter-spacing: var(--title-m-desktop-ls);
  color: var(--text-primary);
  margin: 12px 0 0;
  font-weight: 600;
}

.workshops-subtitle {
  font-size: var(--body-m-size);
  line-height: var(--body-m-lh);
  color: var(--text-secondary);
  margin: 14px 0 0;
}

/* Grille : Impose 4 colonnes sur desktop pour avoir 4 cartes en haut et 2 en bas */
.workshops-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: stretch;
}

/* Cartes individuelles */
.workshop-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: var(--shadow-low);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.workshop-card-header {
  background: #000;
  padding: 14px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.workshop-date {
  color: #fff;
  font-weight: 600;
  font-size: 14px;
}

.workshop-time {
  color: rgba(255, 255, 255, 0.75);
  font-size: 13px;
}

.workshop-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
  position: relative;
}

.workshop-heading {
  font-family: var(--font-display);
  font-size: 20px;
  line-height: 1.25;
  color: var(--text-primary);
  margin: 0 0 10px;
  font-weight: 600;
}

.workshop-copy {
  font-size: var(--body-s-size);
  line-height: var(--body-s-lh);
  color: var(--text-secondary);
  margin: 0 0 16px;
}

.workshop-speakers {
  margin: 0 0 16px;
  font-size: 13px;
  color: var(--text-secondary);
}

.btn-workshop {
  display: block;
  text-decoration: none;
  margin-top: auto;
  background: var(--color-brand);
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  padding: 10px 20px;
  border-radius: 8px;
  text-align: center;
  transition: background 0.2s ease;
}

.btn-workshop:hover {
  background: var(--color-brand-hover);
}

/* Adaptation pour écrans moyens et mobiles */
@media (max-width: 1200px) {
  .workshops-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .workshops-banner {
    flex-direction: column;
  }
  .workshop-banner-img {
    height: 120px;
  }
  .workshops-container {
    padding: 40px 24px;
  }
  .workshops-grid {
    grid-template-columns: 1fr;
  }
}