.cpts-home {
  overflow-x: clip;
}


:root .cpts-home-about {
  margin: 100px auto 67px;
  padding: 0;
}

.cpts-home-about > *:not(.cpts-editorial-kicker) {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  width: 100%;
}

:root .cpts-home-about__columns {
  gap: 64px;
  margin-top: 64px;
}

.cpts-home-about__columns > .wp-block-column:first-child {
  flex: 0 0 570px !important;
}

.cpts-home-about__kicker::before {
  background: url("images/icon-location-pin-xd.webp") center / contain no-repeat;
  content: "";
  flex: 0 0 24px;
  height: 24px;
  margin-right: var(--cpts-chip-gap);
  width: 24px;
}

.cpts-home-about__title {
  color: var(--wp--preset--color--black);
  font-size: 60px;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 75px;
  margin: 20px 0 0;
}

.cpts-home-about__subtitle {
  color: var(--wp--custom--color--muted);
  font-size: 25px;
  font-weight: 600;
  line-height: 30px;
  margin: 21px 0 0;
}

.cpts-home-video {
  align-content: center;
  aspect-ratio: auto;
  border-radius: 40px;
  box-sizing: border-box;
  flex-basis: 570px;
  height: 478px;
  min-height: 478px;
  overflow: clip;
  padding: 0;
  position: relative;
  width: 570px;
}

.cpts-home-video::before {
  background: var(--wp--custom--color--teal-medium);
  border-radius: 999px;
  content: "";
  height: 157px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 157px;
}

/* The consent button draws the same disc itself, so the decor steps aside. */
.cpts-home-video:has(iframe)::before,
.cpts-home-video:has(.cpts-youtube-trigger)::before,
.cpts-home-video__play {
  display: none;
}

.cpts-home-video .wp-block-embed,
.cpts-home-video .wp-block-embed__wrapper {
  height: 100%;
  margin: 0;
}

.cpts-home-video iframe {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
}

.cpts-home-about__copy {
  align-self: flex-start !important;
  flex-basis: 566px !important;
  gap: 28px;
  margin-top: 48px !important;
}

.cpts-home-about__copy p {
  color: var(--wp--preset--color--subtitle);
  font-size: 20px;
  line-height: 27px;
}

.cpts-home-about__copy p + p {
  margin-top: 28px;
}

.cpts-home-territory {
  margin-bottom: 0;
}

.cpts-home-missions {
  background: transparent !important;
  border-radius: 0;
  box-sizing: border-box;
  height: auto;
  margin: -61.5px 0 0;
  min-height: 678px;
  padding: 0;
  position: relative;
}

.cpts-home-missions::before {
  background: var(--wp--preset--color--teal);
  border-radius: 0 340px 340px 0;
  content: "";
  height: 678px;
  left: 0;
  position: absolute;
  top: 0;
  width: calc(var(--cpts-layout-canvas-offset) + 1030px);
  z-index: -1;
}

/* Couac 6259: the artboard shows only a corner of this slab, 290px further
   right than the viewport edge origin, with 50px of air before the last pill.
   Couac 6870: the pills sit on the centred container while the slab hangs from
   the viewport edge, so under 1840px the slab retreats by half the missing
   width and never reaches the pills; it is out of view from about 1250px. */
.cpts-home-missions::after {
  background: var(--wp--preset--color--yellow);
  border-radius: 20px;
  content: "";
  height: 427.73px;
  left: calc(100% + max(290px, 1210px - 50vw));
  position: absolute;
  top: 440px;
  transform: rotate(-208deg);
  transform-origin: 0 0;
  width: 407.761px;
  z-index: -1;
}

.cpts-home-missions > .wp-block-columns {
  gap: 96px;
  height: auto;
  margin: 0 auto !important;
  max-width: var(--cpts-layout-container);
  width: min(var(--cpts-layout-container), calc(100% - (2 * var(--wp--custom--grid-padding))));
}

.cpts-home-missions__copy {
  align-self: start !important;
  box-sizing: border-box;
  flex-basis: 450px !important;
  gap: 27px;
  padding-top: 153px;
}

.cpts-home-missions__copy .cpts-editorial-kicker {
  white-space: nowrap;
}

.cpts-home-missions__copy h2 {
  color: var(--wp--preset--color--white);
  font-size: 60px;
  font-weight: 600;
  line-height: 75px;
  margin-top: 30px;
}

.cpts-home-missions__copy p:not(.cpts-editorial-kicker) {
  color: var(--wp--preset--color--blue-text);
  max-width: 31rem;
}

.cpts-home-missions__copy h2 + p {
  margin-top: 41px;
}

.cpts-home-missions__copy .wp-block-buttons {
  margin-top: 42px;
}

.cpts-home-missions__copy .wp-block-button__link {
  box-sizing: border-box;
  justify-content: center;
  width: 293px;
}

.cpts-home-missions__links .wp-block-term-template {
  display: grid;
  gap: 50px;
  margin: 0;
  padding: 0;
}

:root .cpts-home-missions__links {
  align-self: start !important;
  box-sizing: border-box;
  flex-basis: 723px !important;
  padding-top: 71px;
}

.cpts-home-missions__links .wp-block-term-name {
  margin: 0;
}

.cpts-home-missions__links .wp-block-term-name a {
  align-items: center;
  background: var(--wp--preset--color--yellow);
  border-radius: 999px;
  box-sizing: border-box;
  color: var(--wp--preset--color--teal);
  display: flex;
  font-size: 30px;
  font-weight: 500;
  gap: 0;
  height: auto;
  /* Metrics in em: at 30px they are the artboard's 36/64/8/28/83px, and the
     fluid font of the 1200-1918 regime scales the whole pill with them. */
  line-height: 1.2;
  min-height: 2.1333em;
  padding: 0.2667em 0.9333em 0.2667em 2.7667em;
  position: relative;
  transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1);
  width: fit-content;
  white-space: nowrap;
}

/* The marker is drawn in CSS, sized in em with the pill and centred on it. */
.cpts-home-missions__links .wp-block-term-name a::before {
  background: var(--cpts-axis-marker-right);
  border-radius: 50%;
  content: "";
  height: 2.1333em;
  left: -0.0333em;
  position: absolute;
  top: calc(50% - 1.0667em);
  width: 2.1333em;
}

.cpts-home-missions__links .wp-block-term-name a:focus-visible {
  box-shadow: 0 0 0 6px var(--wp--preset--color--teal);
  outline-color: var(--wp--preset--color--white);
  transform: translateX(4px);
}

.cpts-home-missions__links .wp-block-term-name a:focus-visible::before {
  transform: none;
}

@media (min-width: 1118px) and (hover: hover) and (pointer: fine) {
  .cpts-home-missions__links .wp-block-term-name a:hover {
    transform: translateX(4px);
  }

  .cpts-home-missions__links .wp-block-term-name a:hover::before {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cpts-home-missions__links .wp-block-term-name a,
  .cpts-home-missions__links .wp-block-term-name a::before {
    transition: none;
  }

  .cpts-home-missions__links .wp-block-term-name a:focus-visible,
  .cpts-home-missions__links .wp-block-term-name a:focus-visible::before {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) and (min-width: 1118px) and (hover: hover) and (pointer: fine) {
  .cpts-home-missions__links .wp-block-term-name a:hover,
  .cpts-home-missions__links .wp-block-term-name a:hover::before {
    transform: none;
  }
}

/* The artboard fixed a width per position, calibrated on the mission that sat
   there; the single editorial order moves missions between positions, so the
   width follows the label (fit-content above) and only the left edge, which
   hugs the teal curve, stays with the position. */
.cpts-home-missions__links .wp-block-term:nth-child(2),
.cpts-home-missions__links .wp-block-term:nth-child(4) {
  margin-left: 69px;
}

.cpts-home-missions__links .wp-block-term:nth-child(3) {
  margin-left: 119px;
}

.cpts-home-events {
  border-radius: 30px;
  box-sizing: border-box;
  height: 978px;
  margin: 175px auto 0;
  max-width: var(--cpts-layout-container);
  overflow: visible;
  padding: 104px 70px;
  position: relative;
  width: min(var(--cpts-layout-container), calc(100% - (2 * var(--wp--custom--grid-padding))));
  z-index: 1;
}

.cpts-home-events::before {
  background: var(--wp--preset--color--yellow);
  border-radius: 20px;
  content: "";
  height: 150px;
  /* Couac 4204: the artboard keeps 28px between the cube and the Agenda kicker;
     128.684px put the cube 87px too far right, over the kicker. */
  left: 41.684px;
  position: absolute;
  top: 81.579px;
  transform: rotate(-208deg);
  transform-origin: 0 0;
  width: 150px;
}

.cpts-home-events::after {
  background: var(--wp--preset--color--teal-light);
  bottom: 0;
  content: "";
  left: calc(100% - 30px);
  pointer-events: none;
  position: absolute;
  right: calc(50% - 50vw);
  top: 0;
  z-index: -1;
}

.cpts-home-events > .cpts-home-events__next {
  appearance: none;
  background: url("images/icon-home-events-arrow-xd.webp") center / contain no-repeat;
  border: 0;
  cursor: pointer;
  height: 50px;
  left: auto;
  margin: 0;
  max-width: none;
  padding: 0;
  position: absolute;
  right: -28px;
  top: 599px;
  width: 50px !important;
  z-index: 2;
}

.cpts-home-events > .cpts-home-events__prev {
  appearance: none;
  background: url("images/icon-home-events-arrow-xd.webp") center / contain no-repeat;
  border: 0;
  cursor: pointer;
  height: 50px;
  left: -28px;
  margin: 0;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 599px;
  transform: rotate(180deg);
  width: 50px !important;
  z-index: 2;
}

.cpts-home-events > .cpts-home-events__next:focus-visible,
.cpts-home-events > .cpts-home-events__prev:focus-visible {
  outline: 2px solid var(--wp--preset--color--teal);
  outline-offset: 4px;
}

.cpts-home-events > .cpts-home-events__next:disabled,
.cpts-home-events > .cpts-home-events__prev:disabled {
  cursor: default;
  opacity: 0.35;
}

.cpts-home-events > .cpts-home-events__prev:disabled {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.cpts-home-events:has(.cpts-empty-state) > .cpts-home-events__next,
.cpts-home-events:has(.cpts-empty-state) > .cpts-home-events__prev {
  display: none !important;
}

.cpts-home-events .cpts-empty-state {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0;
	justify-content: center;
	min-height: 462px;
}

.cpts-home-events .cpts-empty-state h3,
.cpts-home-events .cpts-empty-state p {
  margin: 0;
}

.cpts-home-events .cpts-empty-state .wp-block-buttons {
	justify-content: center;
	margin: var(--cpts-empty-state-action-gap) 0 0;
}

.cpts-home-events > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none;
  width: 1060px;
}

.cpts-home-section-heading {
  align-items: flex-end;
  flex-wrap: nowrap;
  gap: 2rem;
  margin-bottom: 3rem;
  position: relative;
}

.cpts-home-section-heading .cpts-editorial-kicker {
  background: var(--wp--preset--color--white) !important;
  margin-bottom: 1.25rem;
}

.cpts-home-section-heading .cpts-editorial-kicker::before {
  background: currentColor;
  content: "";
  flex: 0 0 24px;
  height: 24px;
  margin-right: var(--cpts-chip-gap);
  mask: url("images/icon-event-calendar-xd.webp") center / contain no-repeat;
  -webkit-mask: url("images/icon-event-calendar-xd.webp") center / contain no-repeat;
  width: 24px;
}

.cpts-home-section-heading h2 {
  font-size: 40px;
  font-weight: 700;
  line-height: 75px;
}

.cpts-home-section-heading h2 {
  position: relative;
  top: -7px;
}

.cpts-home-section-heading h2 + p {
  font-size: 25px;
  font-weight: 600;
  line-height: 32px;
}

.cpts-home-section-heading__link {
  flex: 0 0 312px;
  font-weight: 700;
  margin: 0;
  position: relative;
  top: 48px;
}

.cpts-home-events-query .wp-block-post-template {
  gap: 50px;
  grid-auto-columns: 320px;
  grid-auto-flow: column;
  grid-template-columns: none;
  grid-template-rows: 462px;
  width: max-content;
}

.cpts-home-events-query {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  position: relative;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  top: 37px;
}

.cpts-home-events-query.is-sliding {
  scroll-snap-type: none;
}

.cpts-home-events-query::-webkit-scrollbar {
  display: none;
}

.cpts-home-events-query .wp-block-post {
  scroll-snap-align: start;
}

.cpts-home-event-card {
  background: var(--wp--preset--color--white);
  border: 1px solid rgb(1 114 126 / 20%);
  border-radius: 28px;
  display: grid;
  gap: 0;
  grid-template-rows: 233px minmax(0, 1fr);
  height: 462px;
  overflow: clip;
  position: relative;
  width: 320px;
}

.wp-block-group.cpts-home-event-card {
  gap: 0;
}

.cpts-home-event-card__media,
.cpts-home-event-card__media img {
  aspect-ratio: auto !important;
  border-radius: 0;
  grid-row: 1;
  height: 233px;
  margin: 0;
  object-fit: cover;
  width: 100%;
}

.cpts-home-event-card__media:not(:has(img)) {
  background: var(--wp--preset--color--teal-light) url("images/logo-cpts-brie-teal.webp") center / 180px auto no-repeat;
  background-blend-mode: multiply;
}

.cpts-home-event-card__body {
  box-sizing: border-box;
  display: grid;
  gap: 0;
  grid-row: 2;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  min-height: 0;
  padding: 22px 29px 28px;
  position: static;
  row-gap: 8px;
}

.cpts-home-event-card__body > :not(.cpts-event-card-date) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none;
  width: 100%;
}

.cpts-home-event-card__body h3 {
  align-self: start;
  color: var(--wp--preset--color--text);
  display: -webkit-box;
  font-size: 20px !important;
  font-weight: 700;
  grid-row: 3;
  hyphens: none;
  line-height: 27px;
  margin: 0;
  max-height: 54px;
  min-height: 0;
  overflow: hidden;
  overflow-wrap: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.cpts-home-event-card__body h3 a {
  color: inherit;
}

.cpts-home-event-card .cpts-event-card-meta__organizer {
  display: none;
}

.cpts-home-event-card .cpts-event-card-date {
  align-items: center;
  background: var(--wp--preset--color--teal);
  border-radius: 0 30px 0 0;
  box-sizing: border-box;
  display: flex;
  height: 82px;
  left: 0;
  margin: 0;
  padding: 0 30px 0 29px;
  position: absolute;
  top: 151px;
  max-width: 100%;
  min-width: 255px;
  width: fit-content;
}

.cpts-home-event-card .cpts-event-month {
  background: transparent;
  color: var(--wp--preset--color--blue-text);
  flex: 0 1 auto;
  font-size: 25px;
  font-weight: 600;
  line-height: 30px;
  margin: 0 0 0 14.6px;
  min-width: 0;
  order: 2;
  padding: 0;
  position: static;
  text-wrap: balance;
  white-space: nowrap;
}

.cpts-home-event-card .cpts-event-card-meta__date {
  display: contents;
}

.cpts-home-event-card .cpts-event-card-meta__date strong {
  color: var(--wp--preset--color--white);
  font-size: 35px;
  line-height: 42px;
  order: 1;
}

.cpts-home-event-card .cpts-event-card-meta__date span {
  display: none;
}

.cpts-home-event-card .cpts-event-tags {
  align-self: start;
  box-sizing: border-box;
  color: var(--wp--preset--color--coral);
  font-size: 18px;
  gap: 0 8px;
  grid-row: 2;
  hyphens: none;
  line-height: 23px;
  margin: 0;
  max-height: 54px;
  overflow: hidden;
  overflow-wrap: normal;
  padding-top: 0;
  text-transform: uppercase;
}

.cpts-home-event-card .cpts-event-tags > span {
  background: transparent;
  border-radius: 0;
  color: inherit;
  font: inherit;
  hyphens: inherit;
  overflow-wrap: inherit;
  padding: 0;
}

.cpts-home-event-card .cpts-event-tags > span > span {
  font: inherit;
  line-height: inherit;
  padding: 0;
}

.cpts-home-event-card .cpts-event-card-details,
.cpts-home-event-card .cpts-event-card-details > div {
  display: contents;
}

.cpts-home-event-card .cpts-event-card-meta__time,
.cpts-home-event-card .cpts-event-card-meta__venue {
  align-items: center;
  box-sizing: border-box;
  font-size: 20px;
  gap: 16px;
  line-height: 27px;
  min-width: 0;
  padding-left: 0;
  position: static;
}

.cpts-home-event-card .cpts-event-card-meta__time {
  color: var(--wp--preset--color--teal);
  font-weight: 700;
  grid-row: 1;
}

.cpts-home-event-card .cpts-event-card-meta__venue {
  align-items: center;
  align-self: end;
  color: var(--wp--preset--color--subtitle);
  font-weight: 400;
  gap: 8px;
  grid-row: 4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cpts-home-event-card .cpts-event-card-meta__venue-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cpts-home-resources {
  background: transparent !important;
  box-sizing: border-box;
  clip-path: inset(-400px 0 -400px 0);
  display: flow-root;
  height: auto;
  isolation: isolate;
  overflow: visible;
  padding: 0;
  position: relative;
}

@media (min-width: 1920px) {
  .cpts-home-resources {
    min-height: 1345px;
  }
}

.cpts-home-resources::before {
  background: var(--wp--preset--color--yellow);
  border-radius: 0 0 30px 30px;
  content: "";
  height: 1454.49px;
  left: calc(var(--cpts-layout-canvas-offset) + 983px);
  position: absolute;
  top: -224px;
  transform: rotate(10deg);
  transform-origin: 0 0;
  width: 742.404px;
  z-index: -1;
  opacity: 0.8;
}

.cpts-home-resources::after {
  background: var(--wp--preset--color--teal);
  border-radius: 20px;
  content: "";
  height: 150px;
  left: calc(var(--cpts-layout-canvas-offset) + 1557px);
  position: absolute;
  top: 1322.442px;
  transform: rotate(-208deg);
  transform-origin: 0 0;
  width: 150px;
  z-index: 1;
}

.cpts-home-resources > .wp-block-columns {
  gap: 27px;
  margin: 136px auto 0 !important;
  max-width: var(--cpts-layout-container);
  width: min(var(--cpts-layout-container), calc(100% - (2 * var(--wp--custom--grid-padding))));
}

.cpts-home-resources__links {
  display: grid;
  flex: 0 0 743px !important;
  gap: 40px;
  width: 743px;
}

.cpts-home-resource-card {
  align-items: center;
  background: var(--wp--preset--color--cream);
  border-radius: 30px;
  box-shadow: 0 4px 18px rgb(45 45 45 / 12%);
  box-sizing: border-box;
  gap: 27px;
  height: 166px;
  min-height: 166px;
  padding: 27px 20px 27px 36px;
  width: 607px;
}

.cpts-home-resource-card.cpts-resource-hub-card--newsletters { margin-left: 136px; }
.cpts-home-resource-card.cpts-resource-hub-card--tools { margin-left: 106px; }
.cpts-home-resource-card.cpts-resource-hub-card--practical { margin-left: 73px; }
.cpts-home-resource-card.cpts-resource-hub-card--listings { margin-left: 37px; }
.cpts-home-resource-card.cpts-resource-hub-card--news { margin-left: 0; }

.cpts-home-resource-card .cpts-resource-hub-card__icon {
  flex: 0 0 112px;
  height: 112px;
  margin: 0;
  width: 112px;
}

.cpts-home-resource-card h3,
.cpts-home-resource-card p {
  margin: 0;
}

.cpts-home-resource-card h3 {
  font-size: 30px;
  line-height: 27px;
}

.cpts-home-resource-card p {
  font-size: 20px;
  line-height: 27px;
}

.cpts-home-resource-card .cpts-resource-hub-card__link {
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
  margin-top: 0.35rem !important;
}

.cpts-home-resources__copy .cpts-editorial-kicker::before {
  background: url("images/icon-home-resources-xd.webp") center / contain no-repeat;
  content: "";
  flex: 0 0 24px;
  height: 24px;
  margin-right: var(--cpts-chip-gap);
  width: 24px;
}

.cpts-home-resources__copy {
  align-self: flex-start !important;
  flex: 0 0 533px !important;
  gap: 2rem;
  margin-top: 253px !important;
  width: 533px;
}

.cpts-home-resources__copy h2 {
  font-size: 40px;
  font-weight: 600;
  line-height: 50px;
  margin-top: 40px;
}

.cpts-home-resources__copy > p:not(.cpts-editorial-kicker) {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 32px;
  margin-top: 41px;
}

.cpts-home-resources__copy .wp-block-buttons {
  margin-top: 95px;
}

.cpts-home-resources__copy .wp-block-button__link {
  box-sizing: border-box;
  justify-content: center;
  width: 314px;
}

.cpts-home > .wp-block-template-part:has(.cpts-editorial-idea) {
  margin: 128px 0 145px !important;
}

.cpts-home > .wp-block-template-part:has(.cpts-editorial-idea) .cpts-editorial-idea {
  justify-self: auto;
  margin-inline: auto !important;
  max-width: var(--cpts-layout-band) !important;
  transform: none;
}

.cpts-home > .wp-block-template-part:has(.cpts-editorial-idea),
.cpts-institutional-page > .wp-block-template-part:has(.cpts-editorial-idea) {
  display: block;
  margin-block: 8rem;
}

body:has(.cpts-home) .cpts-footer {
  box-sizing: border-box;
  overflow-x: clip;
}

.cpts-institutional-page,
.cpts-legal-page {
  clip-path: inset(-1000px 0 -1000px 0);
  min-height: 70vh;
  overflow: visible;
  padding-bottom: 7rem;
}

.cpts-institutional-hero,
.cpts-legal-page__content {
  margin-top: var(--cpts-chrome-stack-gap);
}

.cpts-institutional-hero .wp-block-post-content,
.cpts-legal-page__content .wp-block-post-content {
  margin-top: 2.5rem;
  max-width: 900px;
}

.cpts-institutional-hero .wp-block-post-content > * + *,
.cpts-legal-page__content .wp-block-post-content > * + * {
  margin-top: 1.5rem;
}

/* Échelle des titres des pages légales.
   L'artboard XD « Politique de confidentialité » (1920 x 8321) ne porte qu'un
   titre, à 55 px, et un corps à 20 px : ses sous-titres sont du corps en gras.
   L'échelle globale, calibrée pour les pages composées, monte les h2 à 60 px,
   soit plus que le h1. Écart assumé : la maquette n'ayant qu'un seul niveau de
   sous-titre, le h2 est posé à 25 px pour que le contenu réel, qui en compte
   deux, reste navigable ; le h3 reprend le 20 px gras de la source. */
.cpts-legal-page__content .wp-block-post-content h2 {
  font-size: var(--wp--preset--font-size--subtitle);
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.3;
  margin-top: 3rem;
}

.cpts-legal-page__content .wp-block-post-content h3 {
  font-size: var(--wp--preset--font-size--body);
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.4;
  margin-top: 2rem;
}

.cpts-legal-page__content .wp-block-post-content h2 + h3 {
  margin-top: 1.5rem;
}

.cpts-institutional-milestones {
  border-radius: 30px;
  gap: 1px;
  margin-top: 5rem;
  overflow: clip;
}

.cpts-institutional-milestones > .wp-block-group {
  background: var(--wp--preset--color--white);
  box-sizing: border-box;
  min-height: 220px;
  padding: 2rem;
}

.cpts-institutional-milestones h2 {
  color: var(--wp--preset--color--teal);
  font-weight: 700;
}

.cpts-legal-gate {
  background: var(--wp--preset--color--teal-light);
  border-radius: 20px;
  padding: 1.5rem;
}

@media (max-width: 979px) {
  :root .cpts-home-about,
  .cpts-home-events,
  .cpts-home-resources > .wp-block-columns,
  .cpts-institutional-hero,
  .cpts-institutional-milestones,
  .cpts-legal-page__content {
    width: min(100% - 2.5rem, 760px);
  }

  .cpts-home-events,
  .cpts-home > .wp-block-template-part:has(.cpts-editorial-idea),
  .cpts-institutional-page > .wp-block-template-part:has(.cpts-editorial-idea) {
    margin-block: 5rem;
  }

  :root .cpts-home-about {
    box-sizing: border-box;
    margin: 50px auto !important;
    padding: 0;
  }

  .cpts-home-about > *:not(.cpts-editorial-kicker) {
    width: 100%;
  }

  .cpts-home-about > .cpts-editorial-kicker {
    display: flex;
    justify-self: center;
    margin-inline: auto;
  }

  .cpts-home-about__title {
    font-size: 60px;
    line-height: 60px;
    margin-top: 31px !important;
    text-align: center;
  }

  .cpts-home-about__subtitle {
    font-size: 25px;
    line-height: 32px;
    margin-top: 33px !important;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    width: 330px;
  }

  :root .cpts-home-about__columns {
    gap: 14px;
    margin-top: 48px !important;
  }

  .cpts-home-about__columns > .wp-block-column:first-child {
    flex: 0 0 auto !important;
  }

  .cpts-home-video {
    border-radius: 40px;
    flex-basis: auto;
    height: 303px;
    margin-inline: auto;
    min-height: 303px;
    padding: 0;
    width: 361px;
  }

  .cpts-home-video::before {
    height: 98px;
    top: 50%;
    width: 98px;
  }

  .cpts-home-video__play {
    display: none;
  }

  .cpts-home-about__copy {
    flex-basis: auto;
    gap: 28px;
    margin: 50px auto 0 !important;
    width: 350px !important;
  }

  .cpts-home-about__copy p + p {
    margin-top: 42px !important;
  }

  :root .cpts-home-about__columns,
  .cpts-home-missions > .wp-block-columns,
  .cpts-home-resources > .wp-block-columns {
    flex-direction: column;
  }

  .cpts-home-about__columns > .wp-block-column,
  .cpts-home-missions > .wp-block-columns > .wp-block-column,
  .cpts-home-resources > .wp-block-columns > .wp-block-column {
    flex-basis: auto !important;
    width: 100%;
  }

  .cpts-home-events-query .wp-block-post-template {
    grid-auto-columns: 320px;
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-template-rows: 462px;
  }

  .cpts-home-resources::before {
    height: 872.446px;
    left: 46.18px;
    top: -95.9px;
    transform: rotate(8deg);
    width: 382.868px;
  }

  .cpts-home-resources::after {
    display: none;
  }

  .cpts-institutional-milestones {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 599px) {
  .cpts-home-video {
    aspect-ratio: auto;
  }

  .cpts-home-missions {
    background: transparent;
    border-radius: 0;
    height: auto;
    isolation: isolate;
    margin: 50.5px 0 0 !important;
    padding: 0;
    width: 100%;
  }

  .cpts-home-missions::before {
    border-radius: 40px 40px 197px 197px;
    bottom: -2px;
    height: auto;
    left: -2px;
    right: -2px;
    top: -2px;
    width: auto;
  }

  .cpts-home-missions::after {
    display: none;
  }

  .cpts-home-missions > .wp-block-columns {
    display: block;
    height: auto;
    margin: 0 !important;
    position: relative;
    width: 100%;
  }

  .cpts-home-missions__copy {
    box-sizing: border-box;
    height: auto;
    margin-inline: auto !important;
    padding: 61px 0 0;
    position: static;
    width: min(340px, calc(100% - 30px)) !important;
  }

  .cpts-home-missions__copy .cpts-editorial-kicker {
    white-space: normal;
  }

  .cpts-home-missions__copy > .cpts-editorial-kicker {
    display: flex;
    justify-self: center;
    margin-inline: auto;
  }

  .cpts-home-missions__copy h2 {
    font-size: 50px;
    line-height: 62px;
    margin-top: 12px !important;
    text-align: center;
  }

  .cpts-home-missions__copy p:not(.cpts-editorial-kicker) {
    font-size: 20px;
    line-height: 27px;
    text-align: center;
  }

  .cpts-home-missions__copy h2 + p {
    margin-top: 42px !important;
  }

  .cpts-home-missions__copy .wp-block-buttons {
    justify-content: center;
    margin-top: 37px !important;
  }

  :root .cpts-home-missions__links {
    box-sizing: border-box;
    height: auto;
    margin-inline: auto !important;
    margin-top: 72px !important;
    padding: 0 0 130px;
    position: static;
    width: min(332px, calc(100% - 30px)) !important;
  }

  .cpts-home-missions__links .wp-block-term-template {
    gap: 71px;
  }

  .cpts-home-missions__links .wp-block-term {
    margin-left: 0 !important;
    width: 100%;
  }

  .cpts-home-missions__links .wp-block-term-name a {
    border-radius: 30px;
    box-sizing: border-box;
    font-size: 25px;
    gap: 0;
    height: auto;
    justify-content: center;
    line-height: 32px;
    min-height: 114px;
    /* The artboard's three pill heights (114, 127, 157) follow the line count,
       not the position: 32px lines plus 31.5px above and below give 127 for two
       lines and 159 for three, a single line rests on the 114 floor. */
    padding: 31.5px 20px;
    position: relative;
    text-align: center;
    width: 100%;
    white-space: normal;
  }

  .cpts-home-missions__links .wp-block-term-name a::before {
    background: var(--cpts-axis-marker-down);
    content: "";
    height: 64px;
    left: 134px;
    position: absolute;
    top: -32px;
    transform: none;
    width: 64px;
  }

  .cpts-home-missions__links .wp-block-term:nth-child(1) .wp-block-term-name a {
    width: 100%;
  }

  .cpts-home-missions__links .wp-block-term:nth-child(2) .wp-block-term-name a {
    left: 0;
    width: 100%;
  }

  .cpts-home-missions__links .wp-block-term:nth-child(2) .wp-block-term-name a::before {
    left: 135px;
  }

  .cpts-home-missions__links .wp-block-term:nth-child(n + 3) .wp-block-term-name a {
    width: 100%;
  }

  .cpts-home-missions__links .wp-block-term:nth-child(4) .wp-block-term-name a {
    top: 1px;
  }

  .cpts-home-missions__links .wp-block-term:nth-child(5) .wp-block-term-name a {
    top: 2px;
  }

  .cpts-home-missions__links .wp-block-term:nth-child(5) .wp-block-term-name a::before {
    left: 134px;
    top: -32px;
  }

  .cpts-home-events {
    border-radius: 0;
    margin: 109px 0 0 !important;
    padding: 72px 0 0 16px;
    position: relative;
    width: 100%;
  }

  .cpts-home-events:has(.cpts-empty-state) {
    height: auto;
    min-height: 0;
    padding-bottom: 72px;
  }

  .cpts-home-events::before {
    background: var(--wp--preset--color--yellow);
    border-radius: 10px;
    content: "";
    height: 87.603px;
    left: 118.474px;
    position: absolute;
    top: 20.418px;
    transform: rotate(-208deg);
    transform-origin: 0 0;
    width: 87.603px;
  }

  .cpts-home-events > .cpts-home-events__next,
  .cpts-home-events > .cpts-home-events__prev {
    background-color: var(--wp--preset--color--white);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 16px 16px;
    border: 1px solid rgb(1 114 126 / 15%);
    border-radius: 50%;
    box-shadow: 0 4px 14px rgb(1 114 126 / 16%), 0 1px 3px rgb(0 0 0 / 6%);
    height: 44px;
    top: var(--cpts-home-events-arrow-top, 702px);
    transition: opacity 200ms ease, visibility 200ms, transform 180ms cubic-bezier(0.23, 1, 0.32, 1);
    width: 44px !important;
  }

  .cpts-home-events > .cpts-home-events__next {
    left: min(340px, calc(100% - 48px));
    transform: translateY(-50%);
  }

  .cpts-home-events > .cpts-home-events__prev {
    left: 0;
    transform: translateY(-50%) rotate(180deg);
  }

  .cpts-home-events > .cpts-home-events__next:disabled,
  .cpts-home-events > .cpts-home-events__prev:disabled {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }

  .cpts-home-events > * {
    width: 358px !important;
  }

  .cpts-home-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
    margin-bottom: 31px;
  }

  .cpts-home-section-heading .cpts-editorial-kicker {
    margin-bottom: 16px;
  }

  .cpts-home-section-heading h2 {
    font-size: 40px;
    line-height: 47px;
    top: 10px;
    left: -2px;
    width: 340px;
  }

  .cpts-home-section-heading h2 + p {
    font-size: 25px;
    font-weight: 600;
    line-height: 32px;
    margin-top: 20px;
    position: relative;
    top: 10px;
    width: 350px;
  }

  .cpts-home-section-heading__link {
    align-self: flex-end;
    flex: 0 0 auto;
    font-size: 20px;
    line-height: 27px;
    margin-top: 27px !important;
    position: relative;
    top: 11px;
  }

  /* Peek carousel: the scroller spans the viewport, the track keeps 24px on
     both ends and cards snap to the center, so the previous and next cards
     show 28px each side once a previous card exists. The first card stays at
     24px, its neighbour showing 48px. The teaser replaces the arrows here. */
  .cpts-home-events-query {
    margin-left: -16px !important;
    margin-top: 11px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    top: 7px;
    width: 100vw !important;
  }

  .cpts-home-events-query .wp-block-post-template {
    display: grid;
    gap: 16px;
    grid-auto-columns: max-content;
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-template-rows: 462px;
    max-width: none;
    padding-inline: 24px;
    width: max-content;
  }

  .cpts-home-events-query .wp-block-post {
    scroll-snap-align: center;
  }

  .cpts-home-event-card {
    width: clamp(260px, 100vw - 88px, 320px);
  }

  /* Narrower card, narrower body padding: "Brie-Comte-Robert" keeps one line
     from 360px up instead of an ellipsis. */
  .cpts-home-event-card__body {
    padding-inline: 22px;
  }

  .cpts-home-events > .cpts-home-events__next,
  .cpts-home-events > .cpts-home-events__prev {
    display: none;
  }

  /* "05 SEPTEMBRE 2026" must fit the 260-320px card: 20px padding, 38px day,
     10px gap, month glyphs at 8.8 times the font size, 20px padding. */
  .cpts-home-event-card .cpts-event-card-date {
    min-width: 0;
    padding: 0 20px;
  }

  .cpts-home-event-card .cpts-event-card-meta__date strong {
    font-size: 30px;
    line-height: 36px;
  }

  .cpts-home-event-card .cpts-event-month {
    font-size: clamp(19px, (100vw - 176px) / 8.8, 22px);
    line-height: 26px;
    margin-left: 10px;
  }

  .cpts-home-event-card .cpts-event-card-meta__venue { gap: 16px; }

  .cpts-institutional-milestones {
    grid-template-columns: 1fr !important;
  }

  .cpts-home-resources {
    height: 2268px;
  }

  .cpts-home-resources > .wp-block-columns {
    display: block;
    height: 2268px;
    margin: 0 !important;
    position: relative;
    width: 390px;
  }

  .cpts-home-resources__copy {
    left: 26px;
    margin: 0 !important;
    position: absolute;
    top: 56px;
    width: 338px !important;
  }

  .cpts-home-resources__copy h2 {
    font-size: 40px;
    line-height: 50px;
    margin-top: 24px !important;
  }

  .cpts-home-resources__copy > p:not(.cpts-editorial-kicker) {
    font-size: 25px;
    line-height: 32px;
    margin-top: 19px !important;
  }

  .cpts-home-resources__copy .wp-block-buttons {
    margin-top: 28px !important;
  }

  .cpts-home-resources__links {
    display: flex;
    flex-direction: column;
    gap: 0;
    left: 0;
    position: absolute;
    top: 543px;
    width: 390px;
  }

  .cpts-home-resource-card {
    align-items: center;
    flex-direction: column;
    gap: 16px;
    justify-content: flex-start;
    padding: 30px 20px 20px;
    text-align: center;
  }

  .cpts-home-resource-card .cpts-resource-hub-card__icon {
    background-size: auto 61.25px;
    flex-basis: 98px;
    height: 98px;
    width: 98px;
  }

  .cpts-home-resource-card > .wp-block-group:last-child {
    width: 100%;
  }

  .cpts-home-resource-card.cpts-resource-hub-card--newsletters {
    height: 322px;
    margin-left: 14px !important;
    width: 362px;
  }

  .cpts-home-resource-card.cpts-resource-hub-card--tools {
    height: 286px;
    margin: 40px 0 0 17px !important;
    width: 359px;
  }

  .cpts-home-resource-card.cpts-resource-hub-card--practical {
    height: 287px;
    margin: 41px 0 0 15px !important;
    width: 361px;
  }

  .cpts-home-resource-card.cpts-resource-hub-card--listings {
    height: 314px;
    margin: 43px 0 0 16px !important;
    width: 360px;
  }

  .cpts-home-resource-card.cpts-resource-hub-card--news {
    height: 353px;
    margin: 40px 0 0 15px !important;
    width: 360px;
  }

  .cpts-home > .wp-block-template-part:has(.cpts-editorial-idea) {
    margin: 50px 0 157px !important;
  }

  .cpts-home > .wp-block-template-part:has(.cpts-editorial-idea) .cpts-editorial-idea {
    box-sizing: border-box;
    height: auto;
    margin-inline: 15px !important;
    min-height: 353px;
    padding: 40px 25px;
    width: auto;
  }

  .cpts-home .cpts-editorial-idea h2 {
    font-size: 25px !important;
    line-height: 42px;
  }

  .cpts-home .cpts-editorial-idea .wp-block-button__link {
    box-sizing: border-box;
    position: relative;
    top: 6px;
    width: 252px;
  }

  .cpts-home-resource-card {
    align-items: center;
    padding: 30px 20px 20px;
  }

  .cpts-home-resource-card .cpts-resource-hub-card__icon {
    background-size: auto 61.25px;
    flex-basis: 98px;
    height: 98px;
    width: 98px;
  }

  body:has(.cpts-home) .cpts-footer {
    box-sizing: border-box;
    min-height: 0;
    overflow-x: clip;
    position: relative;
  }

  body:has(.cpts-home) .cpts-footer__social-title,
  body:has(.cpts-home) .cpts-footer__socials,
  body:has(.cpts-home) .cpts-footer__identity,
  body:has(.cpts-home) .cpts-footer__about > :not(.cpts-footer__social-title, .cpts-footer__socials),
  body:has(.cpts-home) .cpts-footer__missions > *,
  body:has(.cpts-home) .cpts-footer__useful > * {
    left: auto;
    position: static;
    top: auto;
    width: auto;
  }

  body:has(.cpts-home) .cpts-footer__legal {
    bottom: auto;
    left: auto;
    min-height: 93px;
    position: static;
    transform: none;
    width: 100vw;
  }

}

/* Viewports inferred between the two XD references: keep Gutenberg content
   readable and fluid without altering the calibrated 390px and 1920px frames. */
@media (min-width: 600px) and (max-width: 1199px) {
  :root .cpts-home-about {
    height: auto;
    margin: 64px auto !important;
    padding: 0;
    max-width: var(--cpts-layout-prose) !important;
    width: min(var(--cpts-layout-prose), calc(100% - (2 * var(--wp--custom--grid-padding)))) !important;
  }

  main.cpts-home > .cpts-home-about:is(.alignwide, .wp-block) {
    margin-inline: auto !important;
    max-width: var(--cpts-layout-prose) !important;
    width: min(var(--cpts-layout-prose), calc(100% - (2 * var(--wp--custom--grid-padding)))) !important;
  }

  :root .cpts-home-about__columns {
    align-items: stretch !important;
    flex-direction: column;
  }

  .cpts-home-about__columns > .wp-block-column:first-child,
  .cpts-home-about__copy {
    flex-basis: auto !important;
    width: 100% !important;
  }

  .cpts-home-video {
    margin-inline: auto;
    max-width: 570px;
    width: 100%;
  }

  .cpts-home-events {
    height: auto;
    margin: 80px auto 0 !important;
    padding: 80px 48px;
    width: min(var(--cpts-layout-container), calc(100% - (2 * var(--wp--custom--grid-padding))));
  }

  .cpts-home-events > * {
    width: 100% !important;
  }

  .cpts-home-events > .cpts-home-events__next,
  .cpts-home-events > .cpts-home-events__prev {
    background-color: var(--wp--preset--color--white);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 18px 18px;
    border: 1px solid rgb(1 114 126 / 15%);
    border-radius: 50%;
    box-shadow: 0 4px 14px rgb(1 114 126 / 16%), 0 1px 3px rgb(0 0 0 / 6%);
    height: 48px;
    top: var(--cpts-home-events-arrow-top, 695px);
    transition: opacity 200ms ease, visibility 200ms, transform 180ms cubic-bezier(0.23, 1, 0.32, 1);
    width: 48px !important;
  }

  .cpts-home-events > .cpts-home-events__next {
    left: auto;
    right: 0;
    transform: translateY(-50%);
  }

  .cpts-home-events > .cpts-home-events__prev {
    left: 0;
    transform: translateY(-50%) rotate(180deg);
  }

  .cpts-home-events > .cpts-home-events__next:disabled,
  .cpts-home-events > .cpts-home-events__prev:disabled {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }

  .cpts-home-events-query {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  .cpts-home-events-query .wp-block-post-template {
    grid-auto-columns: 320px;
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-template-rows: 462px;
    width: max-content;
  }

  .cpts-home-resources {
    background: var(--wp--preset--color--yellow) !important;
    height: auto;
    margin-top: 80px;
    padding: 80px 32px;
  }

  .cpts-home-resources::before,
  .cpts-home-resources::after {
    display: none;
  }

  .cpts-home-resources > .wp-block-columns {
    display: flex;
    flex-direction: column;
    gap: 64px;
    height: auto;
    margin: 0 auto !important;
    width: min(760px, 100%);
  }

  .cpts-home-resources__copy {
    margin: 0 !important;
    order: -1;
    width: 100%;
  }

  .cpts-home-resources__links {
    gap: 32px;
    width: 100%;
  }

  .cpts-home-resources .cpts-home-resource-card {
    margin-left: 0 !important;
    max-width: 607px;
    width: 100%;
  }

  .cpts-home > .wp-block-template-part:has(.cpts-editorial-idea) .cpts-editorial-idea {
    margin-inline: auto !important;
    width: calc(100% - 64px) !important;
  }

  .cpts-home .cpts-editorial-idea > .wp-block-columns {
    flex-direction: column;
  }

  .cpts-home .cpts-editorial-idea .wp-block-column {
    flex-basis: auto !important;
    width: 100%;
  }

  .cpts-home-missions {
    background: var(--wp--preset--color--teal) !important;
    border-radius: 0 80px 80px 0;
    height: auto;
    isolation: isolate;
    margin: 64px 0 0 !important;
    padding: 72px 32px 88px;
    width: 100%;
  }

  .cpts-home-missions::before,
  .cpts-home-missions::after {
    display: none;
  }

  .cpts-home-missions > .wp-block-columns {
    display: flex !important;
    flex-direction: column;
    gap: 64px;
    height: auto;
    margin: 0 auto !important;
    width: min(760px, 100%);
  }

  .cpts-home-missions__copy,
  :root .cpts-home-missions__links {
    flex-basis: auto !important;
    height: auto;
    left: auto;
    padding: 0;
    position: static;
    top: auto;
    width: 100% !important;
  }

  .cpts-home-missions__copy > .cpts-editorial-kicker {
    display: flex;
    justify-self: center;
    margin-inline: auto;
  }

  .cpts-home-missions__copy h2 {
    font-size: clamp(2.5rem, 5vw, 3.125rem);
    line-height: 1.2;
    margin-top: 12px !important;
    text-align: center;
  }

  .cpts-home-missions__copy p:not(.cpts-editorial-kicker) {
    margin-inline: auto;
    max-width: 36rem;
    text-align: center;
  }

  .cpts-home-missions__copy .wp-block-buttons {
    justify-content: center;
  }

  .cpts-home-missions__links .wp-block-term-template {
    gap: 48px;
  }

  .cpts-home-missions__links .wp-block-term {
    margin-left: 0 !important;
    width: 100%;
  }

  .cpts-home-missions__links .wp-block-term-name a {
    border-radius: 30px;
    font-size: 25px;
    justify-content: center;
    line-height: 32px;
    min-height: 96px;
    padding: 36px 24px 20px;
    text-align: center;
    width: 100% !important;
    white-space: normal;
  }

  .cpts-home-missions__links .wp-block-term-name a::before,
  .cpts-home-missions__links .wp-block-term:nth-child(n) .wp-block-term-name a::before {
    background: var(--cpts-axis-marker-down);
    left: 50%;
    top: -32px;
    transform: translateX(-50%);
  }

  .cpts-home-missions__links .wp-block-term:nth-child(n) .wp-block-term-name a {
    left: auto;
    min-height: 96px;
    padding-left: 24px;
    padding-right: 24px;
    top: auto;
    width: 100% !important;
  }

  .cpts-home-missions__links .wp-block-term-name a:focus-visible::before {
    transform: translateX(-50%);
  }

  .cpts-home-missions__links .wp-block-term-name a:focus-visible {
    transform: none;
  }

  .cpts-home-event-card .cpts-event-card-date {
    min-width: 0;
    padding: 0 16px 0 20px;
  }

  .cpts-home-event-card .cpts-event-card-meta__date strong {
    font-size: 30px;
    line-height: 36px;
  }

  .cpts-home-event-card .cpts-event-month {
    font-size: 20px;
    line-height: 24px;
    margin-left: 10px;
  }
}

@media (max-width: 599px) {
  main.cpts-home > .cpts-home-about:is(.alignwide, .wp-block) {
    margin-inline: auto !important;
    max-width: var(--cpts-layout-prose) !important;
    width: calc(100% - (2 * var(--wp--custom--grid-padding))) !important;
  }
}

@media (min-width: 1200px) and (max-width: 1918px) {
  .cpts-home-event-card .cpts-event-card-date {
    min-width: 0;
    padding: 0 16px 0 20px;
  }

  .cpts-home-event-card .cpts-event-card-meta__date strong {
    font-size: 30px;
    line-height: 36px;
  }

  .cpts-home-event-card .cpts-event-month {
    font-size: 20px;
    line-height: 24px;
    margin-left: 10px;
  }

  .cpts-home-about__columns > .wp-block-column:first-child {
    flex: 0 1 48% !important;
  }

  .cpts-home-video {
    width: 100%;
  }

  .cpts-home-about__copy {
    flex: 1 1 48% !important;
  }

  .cpts-home-missions > .wp-block-columns {
    gap: clamp(24px, 3vw, 48px);
  }

  .cpts-home-missions__copy {
    flex: 0 1 42%;
  }

  :root .cpts-home-missions__links {
    flex: 1 1 58%;
    min-width: 0;
  }

  /* Couac 6870: a wrapped pill breaks the disc against its rounded end, so
     the pill keeps one line and its font runs from 22px at 1200 to 30px at
     1920; every metric follows in em, and the artboard widths give way. */
  .cpts-home-missions__links .wp-block-term-name a,
  .cpts-home-missions__links .wp-block-term:nth-child(n) .wp-block-term-name a {
    font-size: clamp(22px, calc(8.667px + 1.1111vw), 30px);
    max-width: none;
    white-space: nowrap;
    width: fit-content;
  }

  .cpts-home-missions__links .wp-block-term-template {
    grid-template-columns: minmax(0, 1fr);
  }

  .cpts-home-missions__links .wp-block-term,
  .cpts-home-missions__links .wp-block-term-name {
    min-width: 0;
    width: 100%;
  }

  .cpts-home-missions__links .wp-block-term:nth-child(2),
  .cpts-home-missions__links .wp-block-term:nth-child(4) {
    margin-left: clamp(0px, 3vw, 69px);
    width: calc(100% - clamp(0px, 3vw, 69px));
  }

  .cpts-home-missions__links .wp-block-term:nth-child(3) {
    margin-left: clamp(0px, 5vw, 119px);
    width: calc(100% - clamp(0px, 5vw, 119px));
  }

  .cpts-home-events {
    padding-left: clamp(64px, 6vw, 70px);
    padding-right: clamp(64px, 6vw, 70px);
  }

  .cpts-home-events > * {
    width: 100% !important;
  }

  .cpts-home-events-query {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  .cpts-home-events-query .wp-block-post-template {
    width: max-content;
  }

  .cpts-home-resources > .wp-block-columns {
    align-items: start;
    gap: clamp(64px, 5vw, 96px);
  }

  /* The slab is 58% wide, starts 8% above the section and leans 10deg from
     its top-left corner: this height puts its lowest corner 8px inside the
     section bottom whatever the section height (1.0967H - 0.1022W - 8), so
     it never runs into the idea block below. */
  .cpts-home-resources::before {
    height: calc(109.67% - 10.22vw - 8px);
    left: 48%;
    top: -8%;
    width: 58%;
  }

  /* The teal square straddles the slab's bottom edge at 1920 (rotation
     origin at 1557px, i.e. 81.1% of the section, 22.6px above its bottom):
     the same proportions here instead of the artboard's 1322px top and pixel
     left, which the shorter section and narrower canvas no longer contain. A
     viewport-right anchor would walk the square onto the last card. */
  .cpts-home-resources::after {
    bottom: -127.4px;
    left: 81.1%;
    top: auto;
  }

  .cpts-home-resources__links {
    flex: 1 1 56% !important;
    gap: 24px;
    min-width: 0;
    width: auto;
  }

  .cpts-home-resources .cpts-home-resource-card,
  .cpts-home-resources .cpts-home-resource-card.cpts-resource-hub-card--newsletters,
  .cpts-home-resources .cpts-home-resource-card.cpts-resource-hub-card--tools,
  .cpts-home-resources .cpts-home-resource-card.cpts-resource-hub-card--practical,
  .cpts-home-resources .cpts-home-resource-card.cpts-resource-hub-card--listings,
  .cpts-home-resources .cpts-home-resource-card.cpts-resource-hub-card--news {
    margin-left: 0 !important;
    max-width: none;
    width: 100%;
  }

  .cpts-home-resources__copy {
    align-self: start !important;
    flex: 1 1 44% !important;
    margin-top: 0 !important;
    min-width: 0;
    width: auto;
  }

  .cpts-home > .wp-block-template-part:has(.cpts-editorial-idea) .cpts-editorial-idea {
    margin-inline: auto !important;
    max-width: var(--cpts-layout-band) !important;
    padding-inline: clamp(2rem, 4vw, 5.625rem);
    width: calc(100% - (2 * var(--wp--custom--grid-padding))) !important;
  }

  .cpts-home .cpts-editorial-idea .cpts-cta__copy {
    flex: 1 1 auto !important;
    max-width: 584px;
    min-width: 0;
  }

  .cpts-home .cpts-editorial-idea .cpts-cta__copy p {
    max-width: 100%;
  }

  .cpts-home .cpts-editorial-idea .cpts-cta__action {
    flex: 0 0 auto !important;
    min-width: min-content;
    width: auto;
  }

  .cpts-home .cpts-editorial-idea .wp-block-button,
  .cpts-home .cpts-editorial-idea .wp-block-button__link {
    max-width: none;
    white-space: nowrap;
    width: auto;
  }
}

@media (min-width: 1400px) and (max-width: 1918px) {
  .cpts-home-missions__copy {
    flex: 1 1 auto !important;
  }

  :root .cpts-home-missions__links {
    flex: 0 0 723px !important;
    min-width: 723px;
  }

  .cpts-home-missions__links .wp-block-term-name a {
    max-width: none;
    white-space: nowrap;
  }

  .cpts-home-missions__links .wp-block-term,
  .cpts-home-missions__links .wp-block-term-name {
    width: auto;
  }

  .cpts-home-missions__links .wp-block-term:nth-child(2),
  .cpts-home-missions__links .wp-block-term:nth-child(4) {
    margin-left: 69px;
    width: auto;
  }

  .cpts-home-missions__links .wp-block-term:nth-child(3) {
    margin-left: 119px;
    width: auto;
  }
}

@media (min-width: 1919px) {
  .cpts-home-missions > .wp-block-columns {
    gap: 27px;
  }

  .cpts-home-events {
    padding-inline: 70px;
  }

  .cpts-home-resources > .wp-block-columns {
    gap: 27px;
  }

  .cpts-home-resources__links {
    flex: 0 0 743px !important;
    min-width: 0;
    width: 743px;
  }

  .cpts-home-resources .cpts-home-resource-card {
    max-width: 607px;
    width: 607px;
  }

  .cpts-home-resources__copy {
    box-sizing: border-box;
    flex: 0 0 533px !important;
    min-width: 0;
    padding-right: 120px;
    width: 533px;
  }

}

@media (max-width: 389px) {
  .cpts-home-about__kicker,
  .cpts-home-about__subtitle,
  .cpts-home-video,
  .cpts-home-about__copy {
    max-width: 100%;
  }

  .cpts-home-about__subtitle {
    width: calc(100vw - 30px);
  }

  .cpts-home-missions::before {
    width: calc(100% + 4px);
  }

  .cpts-home-missions__copy {
    left: 20px;
    width: calc(100% - 40px) !important;
  }

  :root .cpts-home-missions__links,
  .cpts-home-missions__links .wp-block-term-name a {
    width: 100% !important;
  }

  .cpts-home-missions__links .wp-block-term,
  .cpts-home-missions__links .wp-block-term-name {
    min-width: 0;
    width: 100%;
  }

  :root .cpts-home-missions__links {
    left: 24px;
    width: calc(100% - 48px) !important;
  }

  .cpts-home-missions__links .wp-block-term-name a::before {
    left: calc(50% - 32px) !important;
  }

  .cpts-home-events > * {
    width: calc(100% - 16px) !important;
  }

  .cpts-home-events-query {
    overflow-x: auto;
    width: 100vw !important;
  }

  .cpts-home-section-heading h2,
  .cpts-home-section-heading h2 + p {
    max-width: 100%;
  }

  .cpts-home-section-heading > .wp-block-group {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  .cpts-home-resources > .wp-block-columns,
  .cpts-home-resources__links {
    width: 100% !important;
  }

  .cpts-home-resources__copy {
    left: 20px;
    width: calc(100% - 40px) !important;
  }

  .cpts-home-resources .cpts-home-resource-card {
    margin-left: 14px !important;
    width: calc(100% - 28px);
  }

  .cpts-home-resources__copy .wp-block-button__link,
  .cpts-home .cpts-editorial-idea .wp-block-button__link {
    max-width: 100%;
    width: 100%;
  }

  .cpts-home > .wp-block-template-part:has(.cpts-editorial-idea) .cpts-editorial-idea {
    width: calc(100% - 30px);
  }

  body:has(.cpts-home) .cpts-footer__social-title,
  body:has(.cpts-home) .cpts-footer__socials {
    width: calc(100% - 30px) !important;
  }
}

@media (min-width: 600px) and (max-width: 781px) {
  .cpts-home .cpts-editorial-idea .wp-block-columns {
    flex-direction: column;
    gap: 32px;
    height: auto;
  }

  .cpts-home .cpts-editorial-idea .cpts-cta__copy,
  .cpts-home .cpts-editorial-idea .cpts-cta__action {
    flex: 1 1 auto !important;
    width: 100%;
  }

  .cpts-home .cpts-editorial-idea .cpts-cta__action {
    align-items: center;
    display: flex;
    justify-content: center;
  }

  .cpts-home-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .cpts-home-section-heading__link {
    align-self: flex-end;
    flex-basis: auto;
    top: 0;
  }

  .editor-styles-wrapper .cpts-home-missions__links {
    width: calc(100% - 28px) !important;
  }

  .editor-styles-wrapper .cpts-home-missions__copy {
    width: calc(100% - 28px) !important;
  }
}

@media (max-width: 1199px) {
  .editor-styles-wrapper .cpts-home-events-query {
    overflow-x: auto !important;
  }
}

/* Cartes du carrousel evenements et cartes ressources de l'accueil :
   entierement cliquables, hover zoom pour celles qui portent une image. */
.cpts-home-event-card .wp-block-group-is-layout-constrained {
  position: static;
}

.cpts-home-event-card .wp-block-post-title a::after {
  content: "";
  inset: 0;
  position: absolute;
}

.cpts-home-event-card__media {
  overflow: clip;
}

/* Sous la maquette mobile 390 px, le texte du CTA gagne une ligne : sa
   hauteur suit alors le contenu pour garder le bouton dans la zone cliquable. */
@media (max-width: 359px) {
  .cpts-home > .wp-block-template-part:has(.cpts-editorial-idea) .cpts-editorial-idea,
  .cpts-home .cpts-editorial-idea > .wp-block-columns {
    height: auto;
  }
}

.cpts-home-event-card__media img {
  transition: transform 220ms cubic-bezier(0.23, 1, 0.32, 1);
}

.cpts-home-resource-card {
  position: relative;
}

.cpts-home-resource-card .wp-block-group-is-layout-constrained {
  position: static;
}

/* ::before : le ::after de ce lien porte deja la fleche decorative. */
.cpts-home-resource-card .cpts-resource-hub-card__link a::before {
  content: "";
  inset: 0;
  position: absolute;
}

.cpts-home-events__prev,
.cpts-home-events__next {
  transition: opacity 200ms ease, transform 180ms cubic-bezier(0.23, 1, 0.32, 1);
}

.cpts-home-section-heading__link a::after {
  transition: transform 220ms cubic-bezier(0.23, 1, 0.32, 1);
}

@media (min-width: 1118px) and (hover: hover) and (pointer: fine) {
  .cpts-home-event-card:hover .cpts-home-event-card__media img {
    transform: scale(1.04);
  }

  .cpts-home-resource-card:hover .cpts-resource-hub-card__link a::after {
    transform: translateX(4px);
  }

  .cpts-home-events > .cpts-home-events__prev,
  .cpts-home-events > .cpts-home-events__next {
    opacity: 0;
    pointer-events: none;
  }

  .cpts-home-events:hover > .cpts-home-events__prev:not(:disabled),
  .cpts-home-events:hover > .cpts-home-events__next:not(:disabled),
  .cpts-home-events > .cpts-home-events__prev:focus-visible,
  .cpts-home-events > .cpts-home-events__next:focus-visible {
    opacity: 1;
    pointer-events: auto;
  }

  .cpts-home-events:hover > .cpts-home-events__next:disabled {
    opacity: 0.35;
  }

  .cpts-home-events__prev:hover:not(:disabled) {
    transform: rotate(180deg) scale(1.08);
  }

  .cpts-home-events__next:hover:not(:disabled) {
    transform: scale(1.08);
  }

  .cpts-home-section-heading__link a:hover::after {
    transform: translateX(4px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cpts-home-event-card__media img,
  .cpts-home-events__prev,
  .cpts-home-events__next,
  .cpts-home-section-heading__link a::after {
    transition: none;
  }
}
