body {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  -webkit-font-smoothing: antialiased;
  font-family: 'Falafel Grotesque';
  overflow-x: hidden;
  max-width: 100%;
}

@font-face {
  font-family: 'Falafel Grotesque';
  src: url('FalafelGrotesque.eot');
  src: url('FalafelGrotesque.eot?#iefix') format('embedded-opentype'),
       url('FalafelGrotesque.woff2') format('woff2'),
       url('FalafelGrotesque.woff') format('woff'),
       url('FalafelGrotesque.ttf') format('truetype'),
       url('FalafelGrotesque.svg#FalafelGrotesque') format('svg');
  font-weight: 100 900;
  font-style: normal;
}

.honeypot {
  position: absolute;
  left: -9999px;
}
img {
  max-width: 100%;
  height: auto;
}
video {
  max-width: 100%;
  height: auto;
}
#work-list { 
  display: none;
}

/* ─── TYPEFACE ─────────────────────────────────────────────────── */
h1 {
  font-size: 5.5em;
  letter-spacing: -0.06em;
  line-height: 0.96;
  font-weight: bolder;
  margin:0;
}
h2 {
  font-size: 3.7em;
  letter-spacing: -0.06em;
  line-height: 1;
  font-weight: normal;
  margin: 0;
}
h3 {
  font-size: 2.7em;
  letter-spacing: -0.05em;
  line-height: 1;
  font-weight: normal;
  margin: 0;
}
h4 {
  font-size: 1.6em;
  letter-spacing: -0.04em;
  line-height: 1.2;
  font-weight: bolder;
  margin: 0;
}
h5 {
  font-size: 1em;
  letter-spacing: -0.03em;
  line-height: 1.1;
  font-weight: bolder;
  text-transform: uppercase;
  margin: 0;
}
h6 {
  font-size: 1.2em;
  letter-spacing: -0.03em;
  line-height: 1.1;
  font-weight: normal;
  text-transform: uppercase;
  margin: 0;
}
small {
  font-size: 0.8em;
  letter-spacing: -0.02em;
  line-height: 1.1;
  font-weight: normal;
  text-transform: uppercase;
}
p {
  font-size: 1.5em;
  letter-spacing: -0.04em;
  line-height: 1.3;
  font-weight: normal;
  margin: 0;
}
.psmall {
  font-size: 1.2em;
  line-height: 1.2;
}
.button1 {
  font-size: 0.8em;
  letter-spacing: -0.03em;
  background: #000;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
  border-radius: 100px;
  border: 1px solid #000;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 6px;
  padding-bottom: 4px;
}
.button2 {
  font-size: 1.5em;
  letter-spacing: -0.03em;
  background: #000;
  font-weight: bolder;
  text-transform: lowercase;
  color: #fff;
  text-align: center;
  border-radius: 100px;
  border: 1px solid #000;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 6px;
  padding-bottom: 5px;
}
.button3 {
  font-size: 1.8em;
  letter-spacing: -0.03em;
  background: #f5f5f5;
  font-weight: normal;
  text-transform: uppercase;
  color: #000;
  text-align: center;
  border-radius: 100px;
  border: 1px solid #000;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 10px;
  padding-bottom: 4px;
}
.button4 {
  font-size: 1em;
  letter-spacing: -0.03em;
  background: #f5f5f5;
  font-weight: normal;
  text-transform: uppercase;
  color: #000;
  text-align: center;
  border-radius: 100px;
  border: 1px solid #000;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 6px;
  padding-bottom: 4px;
}
.buttons1 {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}
.buttons2 {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.buttons3 {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.rounded-img {
  border-radius: 34px;
  overflow: hidden;
  display: block;
}

/* ─── TAG CONTAINER ─────────────────────────────────────────────────── */

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.tagcontainer {
  font-family: 'Falafel Grotesque';
  z-index: 9999;
  margin: 0;
  padding: 0;
  list-style-type: none;
  width: 100%;
  word-break: keep-all;
}
.tagcontainer ul {
  list-style-type: none;
  padding: 0;
  padding-top: 6.2vh;
}
.tagcontainer li {
  display: inline-block;
  text-decoration: none;
  border: none;
}
.tagcontainer a {
  color: #fff;
  background: #000;
  font-weight: normal;
  letter-spacing: -0.8px;
  margin-left: -2px;
  border-radius: 35px;
  font-size: 3.8vh;
  text-decoration: none;
  line-height: 5vh;
  padding: 8px 12px 6px 12px;
  border: 1px solid #000;
  transition: background 0.3s ease, color 0.3s ease;
  opacity: 0;
  animation: fadeIn 0.6s ease forwards;
}
.tagcontainer a:hover {
  color: #000;
  background: #fff;
}

/* ─── TAGLIST ─────────────────────────────────────────────────── */

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.taglist {
  font-family: 'Falafel Grotesque';
  z-index: 9999;
  margin: 0;
  padding: 0;
  list-style-type: none;
  width: 100%;
  word-break: keep-all;
}
.taglist ul {
  list-style-type: none;
  padding: 0;
  padding-top: 4.5vh;
}
.taglist li {
  display: inline-block;
  text-decoration: none;
  border: none;
}
.taglist a {
  color: #fff;
  background: #000;
  font-weight: normal;
  letter-spacing: -0.8px;
  margin-left: -2px;
  border-radius: 35px;
  font-size: 3.8vh;
  text-decoration: none;
  line-height: 5vh;
  padding: 8px 12px 6px 12px;
  border: 1px solid #000;
  transition: background 0.3s ease, color 0.3s ease;
  opacity: 0;
  animation: fadeIn 0.6s ease forwards;
}
.taglist a:hover {
  color: #000;
  background: #fff;
}

/* ─── MENU ─────────────────────────────────────────────────── */

.menu {
  font-family: 'Falafel Grotesque';
  display: grid;
  grid-template-columns: 3fr 1fr 1fr 1fr 1fr ;
  z-index: 999;
  position: fixed;
  width: 100%;
  gap: 0px;
  font-size: 2.2em;;
  a {
    color: #fff;
    letter-spacing: -0.4px;
    text-decoration: none;
  }
  .menu-item {
    background: #000;
    color: #fff;
    text-align: center;
    border-radius: 100px;
    border: 1px solid #000;
    padding-top: 7px;
    padding-bottom: 3px;
    transition: background 0.3s ease, color 0.3s ease;
  }
  .menu-item:hover {
    background: #fff;
    color: #000;
  }
  .selected {
    background: #fff;
    color: #000;
    border: 1px solid #000;
  }
  .selected:hover {
    background: #000;
    color: #fff;
  }
}
.styleguide {
  padding: 1%;
}
/* ─── CONTENT ─────────────────────────────────────────────────── */
.content {
  gap: 0px;
  .content_home_presentation {
    width: 100%;
    img {
      width: 100%;
      height: auto;
    }
    video {
      width: 100%;
      height: auto;
      display: block;
      object-fit: cover;
    }
  }
  .content_home_p {
    width: 77%;
    margin: auto;
    margin-top: 4%;
    display: grid;
    gap: 3%;
    align-content: center;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    p {
      font-size: 1.6em;
      line-height: 1.2em;
      font-weight: bold;
    }
    img {
      width: 100%;
      height: auto;
    }
  }
  .content_home_schedule {
    width: 98%;
    margin: auto;
    margin-top: 1%;
    display: grid;
    gap: 3%;
    align-content: center;
    grid-template-columns: minmax(0, 2fr) minmax(0, 4fr);
    .schedule_left {
      h1 {
        font-size: 3.9em;
      }
    }
    .schedule_right {
      ul {
        padding-left: 0;
        margin-left: 0;
        margin:0;
      }
      li {
        font-size: 1.2em;
        border-bottom: 2px solid #000;
        padding-top: 10px;
        padding-bottom: 5px;
        box-sizing: border-box;
        display: grid;
        grid-template-columns: 2fr 8fr 2fr 2fr;
        &.listitem {
          flex-wrap: wrap;
          justify-content: space-between;
          align-items: baseline;
          letter-spacing: -0.03em;
          text-align: left;
          row-gap: 4px;
          a {
            text-decoration: none;
            color: inherit;
            flex: 1 1 auto;
            min-width: 0; 
            overflow-wrap: break-word;
            padding-left: 2%;
          }
        }
        small {
          text-align: right;
        }
        .listyear {
          flex-shrink: 0;
          text-align: right;
          white-space: nowrap;
        }
      }
    }
  }
  .content_home_blog {
    h1 {
      font-size: 3.9em;
    }
  }
  .content_work {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    h1 {
      font-size: 3.9em;
    }
    .work_carousel {
      padding-top: 2%;
      padding-bottom: 3%;
      h1 {
        font-size: 3.9em;
      }
      .track {
        display: flex;
        gap: 28px;
        vertical-align: middle;
      }
      .card {
        flex: 0 0 auto;
        width: auto;
        height: 170px;
      }
      .track-viewport {
        overflow: hidden;
        padding: 0 64px;
      }
      .card img {
        width: auto;
        height: 100%;
        object-fit: cover;
      }
      .card video {
        width: auto;
        height: 100%;
        object-fit: cover;
      }
    }
    .view-toggle {
      padding-left: 10px;
    }
    .content_works_cover {
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 1%;
    }
    .button3 {
      width: 25%;
      margin: auto;
      vertical-align: top;
      padding-bottom: 0.8%;
      font-size: 1.1em;
    }
    .button3:hover {
      background: #000;
    }
    a {
      text-decoration: none;
    }
    a:hover {
      color: #fff;
    }
    .work_container {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      width: 98%;
      margin: 0 auto;
      padding-bottom: 41px;
      row-gap: 6px;
      column-gap: 14px;
      font-family: 'Falafel Grotesque';
      .work-item {
        padding: 0;
        margin: 0 auto;
        transition: opacity 0.6s ease;
        img {
          margin: 0;
          width: 100%;
          height: auto;
          display: block;
        }
        video {
          margin: 0;
          width: 100%;
          height: auto;
          display: block;
        }
      }
      .work-item:nth-child(3n+1) {
        grid-column: auto / span 2;
        margin: 0;
      }
      .work-item-main {
        a {
          text-decoration: none;
          color: #000;
        }
        h2 {
          margin-top: 11px;
        }
        .img-wrap {
          width: 100%;
          aspect-ratio: 7.6 / 4.1;
          overflow: hidden;
          vertical-align: middle;
        }
      }
      .work-item-main:nth-child(5n) {
        grid-column: auto / span 2;
        margin: 0;
        gap:0px;
        a {
          text-decoration: none;
          color: #000;
        }
        h2 {
          margin-top: 11px;
        }
        .img-wrap {
          width: 100%;
          aspect-ratio: 7.6 / 4.1;
          overflow: hidden;
          vertical-align: middle;
        }
      }
    }
    .work_info {
      width: 98%;
      margin: 0 auto;
      top: 0;
      margin-bottom: 3%;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      .work_info_left {
        padding-left: 1%;
        padding-right: 10%;
        top: 0;
        h1 {
          line-height: 1em;
          margin: 0;
        }
        .psmall {
          font-weight: normal;
          letter-spacing: -0.03em;
          font-size: 1em;
        }

      }
      .work_info_right {
        padding-right: 1%;
        p {
          font-size: 1.7em;
          font-weight: normal;
          line-height: 1.3em;
          letter-spacing: -0.04em;
          margin-bottom: 4%;
          font-weight: bold;
        }
      }
    }
  }
  .content_schedule {
    width: 98%;
    margin: 0 auto;
    margin-bottom: 3%;
    display: grid;
    align-content: center;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    padding-top: 9vh;
      .content_schedule_left {
      }
      .content_schedule_right {
        p {
          font-size: 1.4em;
          padding-bottom: 4%;
        }
      }
  }
  .content_blog {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 4%;
    padding-top: 6vh;
    display: grid;
    align-content: center;
    grid-template-columns: minmax(0, 1fr);
    .content_blog_mainpost {
      display: grid;
      width: 98%;
      height: auto;
      gap: 10px;
      margin: auto;
      margin-bottom: 2%;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      .mainpost_left {
        .img-wrap {
          aspect-ratio: 3 / 2;
          overflow: hidden;
        }
        .img-wrap img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
        }
        .img-wrap video {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
        }
        img {
          border-radius: 27px;
          width: auto;
        }
        video {
          border-radius: 27px;
          width: auto;
        }
      }
      .mainpost_right {
        h3 {
          font-size: 3em;
          a {
            color: #000;
            text-decoration: none;
          }
        }
        p {
          font-size: 1.3em;
          line-height: 1.2em;
          margin: 0;
          margin-top: 3%;
          width: 100%;
          font-weight: normal;
        }
      }
    }
    .button3 {
      width: 25%;
      margin: auto;
      vertical-align: top;
      padding-bottom: 0.8%;
      font-size: 1.1em;
    }
    .button3:hover {
      background: #000;
    }
    a {
      text-decoration: none;
    }
    a:hover {
      color: #fff;
    }
    .content_blog_posts {
      width: 98%;
      gap: 1%;
      margin: auto;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
      h3 {
        font-size: 2em!important;
        padding-top: 1%;
        padding-left: 2%;
        padding-bottom: 2%;
      }
      .button4 {
        margin-left: 1%;
      }
      .post {
        .img-wrap {
          aspect-ratio: 3 / 2;
          overflow: hidden;
        }
        .img-wrap img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
        }
        .img-wrap video {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
        }
        img {
          border-radius: 27px;
          width: auto;
        }
        video {
          border-radius: 27px;
          width: auto;
        }
        h3 {
          padding-left: 2%;
          padding-right: 4%;
          width: 96%;
        }
        p {
          font-size: 1em;
          line-height: 1.1em;
          margin: 0;
          padding-left: 2%;
          padding-right: 4%;
          width: 96%;
          font-weight: normal;
        }
      }
    }
    h1 {
      padding-top: 10vh;
      padding-bottom: 2%;
      font-size: 4em;
      width: 70%;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      overflow-wrap: break-word;
    }
    h4 {
      margin-left: auto;
      margin-right: auto;
    }
    .imgcover {
      width: 70%;
      margin-left: auto;
      margin-right: auto;
    }
    .imgcontent {
      display: block;
      width: 50%;
      margin-left: auto;
      margin-right: auto;
    }
    .imgwide {
      display: block;
      width: 98%;
      margin-left: auto;
      margin-right: auto;
    }
    .caption {
      margin-left: auto;
      margin-right: auto;
      padding-top: 0.8%;
      padding-bottom: 2%;
    }
    .quote {
      width: 60%;
      font-size: 2.4em;
      letter-spacing: -0.05em;
      line-height: 1;
      font-weight: normal;
      margin: 0;
      margin-left: auto;
      margin-right: auto;
      overflow-wrap: break-word;
      padding-bottom: 2%;
    }
    p {
      width: 50%;
      margin-left: auto;
      margin-right: auto;
      padding-bottom: 2%;
      font-weight: bold;
      line-height: 1.3em;
      font-size: 1.4em;
      overflow-wrap: break-word;
    }
    .pteam {
      text-align: center;
      font-weight: normal;
      margin-top: 3%;
      font-size: 1.1em;
      a {
        color: #000;
      }
    }
    .navigation {
      a {
        color: #000;
      }
      text-align: center;
      padding-bottom: 2%;
    }
  }
}

/* ─── LATEST ─────────────────────────────────────────────────── */

ul {
  padding-left: 0;
  margin-left: 0;
  margin:0;
}
li {
  font-size: 2.3em;
  border-bottom: 2px solid #000;
  padding-top: 10px;
  box-sizing: border-box;
  &.listitem {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    letter-spacing: -0.03em;
    text-align: left;
    row-gap: 4px;
    a {
      text-decoration: none;
      color: inherit;
      flex: 1 1 auto;
      min-width: 0; 
      overflow-wrap: break-word;
    }
  }
  .listyear {
    flex-shrink: 0;
    text-align: right;
    white-space: nowrap;
    font-size: 0.9em;
  }
}

/* ─── FOOTERTAG ─────────────────────────────────────────────────── */
.footertag {
  background: #e8e8e8;
  padding: 20px;
  .taglist {
    a {
    line-height: 6.4vh;
    }
  }
}

/* ─── FOOTER ─────────────────────────────────────────────────── */
footer {
  background: #d1d1d1;
  font-family: 'Falafel Grotesque';
  font-size: 0.6em;
  line-height: 1.7em;
  letter-spacing: -0.04em;
  bottom: 0;
  .footer-info {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    padding: 2%;
  }
  img {
    width: 100%;
    bottom: 0;
    margin: auto;
  }
  input {
    font-size: 0.8em;
    border-radius: 40px;
    border: 1px solid #000;  
    padding: 8px;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }
  .footer-info-newsletter {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
  }
  .footer-info {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    padding: 2%;
    ul {
      list-style-type: none;
      margin: 0;
      gap: 0;
      padding: 0;
    }
    li {
      margin: 0;
      border: none;
      border: 0;
    }
    a {
      text-decoration: none;
      color: #000;
    }
    a:hover {
      text-decoration: underline;
      color: #000;
    }
  }
}

/* ─── MOBILE ─────────────────────────────────────────────────── */

@media screen and (min-width: 100px) and (max-width: 700px) {

  /* ─── MOBILE MENU ─────────────────────────────────────────────────── */
  html, body {
      overflow-x: hidden;
      max-width: 100%;
  }
  .menu {
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 1.5em;
    gap: 0px;
    white-space: nowrap;
  }
  .menu-item {
    flex: 0 0 auto;
    padding: 8px 16px;
  }
  /* optional: hide scrollbar */
  .menu::-webkit-scrollbar { display: none; }
  .menu { scrollbar-width: none; }
  .content {
    .taglist {
      display: none;
    }
    .content_home_boilerplate {
      font-size: 0.5em!important;
      width: 100%;
      p {
        line-height: 1.2em;
      }
    }
  .content_work {
    .button3 {
      width: 70%;
    }
    .view-toggle {
        display: none;
    }
    .work_container {
      display: block;
      .work-item-main {
        margin-bottom: 2%;
        h2 {
          margin-top: 11px;
        }
      }
      .work-item-main:nth-child(5n) {
        margin: 0;
        gap:0px;
        margin-bottom: 2%;
      }
      .work-item {
        padding-bottom: 2%;
      }
      .work-item:nth-child(5n) {
        margin: 0;
        padding-bottom: 2%;
      }
    }
    .work_info {
      padding-top: 1%;
      width: 98%;
      margin: auto;
      display: grid;
      align-content: center;
      grid-template-columns: minmax(0, 1fr);
      .work_info_left {
        h1 {
          font-size: 3em;
          margin-top: 1%;
        }
      }
      .work_info_right {
        margin-top: 6%;
        padding: 1%;
        p {
          font-size: 1.4em;
          line-height: 1.2em;
        }
      }
    }
  }
  .content_home_schedule {
      padding-top: 1%;
      width: 98%;
      margin: auto;
      display: block;
      align-content: center;
      h1 {
        font-size: 2.3em;
      }
      .schedule_right {
        .listitem {
            margin: auto;
            display: block;
            font-size: 0.9em;
        }
        p {
          padding-top: 2%;
          font-size: 1.5em;
        }
        small {
          padding-left: 2%;
        }
      }
  }
  .content_blog {
    width: 100%;
    .content_blog_mainpost {
      display: grid;
      width: 98%;
      height: auto;
      gap: 10px;
      margin: auto;
      margin-bottom: 2%;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      .mainpost_left {
        .img-wrap {
          aspect-ratio: 3 / 2;
          overflow: hidden;
        }
        .img-wrap img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
        }
        .img-wrap video {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
        }
        img {
          border-radius: 27px;
          width: auto;
        }
        video {
          border-radius: 27px;
          width: auto;
        }
      }
      .mainpost_right {
        h3 {
          font-size: 3em;
          a {
            color: #000;
            text-decoration: none;
          }
        }
        p {
          font-size: 1.3em;
          line-height: 1.2em;
          margin: 0;
          margin-top: 3%;
          width: 100%;
          font-weight: normal;
        }
      }
    }
    .button3 {
      width: 25%;
      margin: auto;
      vertical-align: top;
      padding-bottom: 0.8%;
      font-size: 1.1em;
    }
    .button3:hover {
      background: #000;
    }
    a {
      text-decoration: none;
    }
    a:hover {
      color: #fff;
    }
    .content_blog_mainpost {
      width: 96%;
      gap: 1%;
      margin: auto;
      margin-bottom: 6%;
      display: block;
      h3 {
        font-size: 2em!important;
        padding-top: 4%;
        padding-left: 2%;
        padding-bottom: 2%;
      }
      p {
        padding-left: 2%;
        padding-right: 2%;
      }
    }
    .content_blog_posts {
      width: 96%;
      gap: 1%;
      margin: auto;
      margin-bottom: 2%;
      display: block;
      h3 {
        font-size: 2em!important;
        padding-top: 1%;
        padding-left: 2%;
        padding-bottom: 2%;
      }
      .post {
        margin-bottom: 6%;
      }
    }
    h1 {
      padding-top: 10vh;
      padding-bottom: 2%;
      font-size: 4em;
      width: 96%;
      text-align: left;
    }
    h4 {
    }
    .imgcover {
      width: 96%;
    }
    .imgcontent {
      display: block;
      width: 96%;
    }
    .imgwide {
      display: block;
      width: 96%;
    }
    .caption {
      padding-bottom: 5%;
    }
    .quote {
      width: 96%;
      padding-bottom: 5%;
    }
    p {
      width: 96%;      
      padding-bottom: 5%;
    }
    .navigation {
      padding-bottom: 5%;
    }
  }
  .styleguide {
    .button3 {
      font-size: 1.8em;
    }
  }
  .list {
    li {
      font-size: 1.3em;
      border-bottom: 2px solid #000;
      padding-top: 4px;
      padding-bottom: 4px;
      box-sizing: border-box;
      &.listitem {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: baseline;
        letter-spacing: -0.04em;
      }
    }
    .schedule {
      .scheduleitem {}
    }
  }
  .footertag {
    background: #F5F5F5;
    .taglist {
      a {
        font-size: 1.2em;
        line-height: 2.1em!important;
      }
    }
  }
  footer {
    .footer-info {
      width: 98%;
      margin: auto;
      display: grid;
      align-content: center;
      grid-template-columns: minmax(0, 1fr);
      padding: 3%;
    }
  }
}
}
/* ─── CMS body-content classes (images, captions, quotes) reused outside
   .content_blog — Works and Studio Activities share the same rich-text
   editor, so imgcontent/imgwide/caption/quote need to work in their body
   containers too, scaled to each context's own paragraph size. ─── */
.work_info_right .imgcontent {
  display: block;
  width: 50%;
  margin: 0 auto 4%;
}
.work_info_right .imgwide {
  display: block;
  width: 98%;
  margin: 0 auto 4%;
}
.work_info_right .caption {
  display: block;
  text-align: center;
  margin: -2% auto 4%;
  padding-top: 0.8%;
}
.work_info_right .quote {
  display: block;
  width: 60%;
  font-size: 1.8em;
  letter-spacing: -0.03em;
  line-height: 1.15;
  font-weight: normal;
  margin: 0 auto 4%;
  overflow-wrap: break-word;
}

.content_schedule_right .imgcontent {
  display: block;
  width: 50%;
  margin: 0 auto 4%;
}
.content_schedule_right .imgwide {
  display: block;
  width: 98%;
  margin: 0 auto 4%;
}
.content_schedule_right .caption {
  display: block;
  text-align: center;
  margin: -2% auto 4%;
  padding-top: 0.8%;
}
.content_schedule_right .quote {
  display: block;
  width: 60%;
  font-size: 1.6em;
  letter-spacing: -0.03em;
  line-height: 1.15;
  font-weight: normal;
  margin: 0 auto 4%;
  overflow-wrap: break-word;
}

/* Works without a gallery go straight from the cover image into
   work_info, with only the cover's own small margin-bottom (correctly
   tight for works that DO have a gallery) separating them — not enough
   space on its own. This adds extra room only for that specific case
   (cover image directly followed by work_info, no gallery in between),
   leaving works with a gallery untouched. */
.content_works_cover + .work_info {
  margin-top: 41px;
}

/* The Blog article body wraps every inserted image in a <p> tag (from
   how the rich-text editor inserts them), and the article's plain
   paragraph rule (p { width: 50%; }) was applying to those wrapper
   paragraphs too — so .imgcontent/.imgwide's own width percentage was
   being computed against an already-halved 50% box instead of the full
   article column, making both "normal" and "wide" images render smaller
   than intended. Reset width on any paragraph that's just holding an
   image, so it doesn't compound with the image's own sizing. */
.content_blog p:has(img) {
  width: 100%;
}

/* Same fix, scoped to the mobile breakpoint — it has its own separate
   p { width: 96%; } rule with the identical compounding problem. */
@media screen and (min-width: 100px) and (max-width: 700px) {
  .content_blog p:has(img) {
    width: 100%;
    padding-bottom: 0;
  }
}
