/* NTHA reusable service-page blocks */
.ntha-service-page-content { width: 100%; }
.ntha-service-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 1.05fr) minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  background: #f8f7fb;
  overflow: hidden;
}
.ntha-service-hero .ntha-hero-image { min-height: 280px; }
.ntha-service-hero .ntha-hero-image img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; display: block; }
.ntha-service-hero .ntha-hero-copy { display:flex; flex-direction:column; justify-content:center; text-align:center; padding:48px 36px; }
.ntha-service-hero h1 { margin:0 0 14px; color:#e51b36; font-size:clamp(2rem, 3.1vw, 3.4rem); line-height:1.08; font-weight:750; }
.ntha-service-hero .ntha-hero-text { font-size:1.05rem; line-height:1.6; }

.ntha-content-object {
  max-width: 1120px;
  margin: 54px auto;
  padding: 0 24px;
  display:grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: 48px;
  align-items:center;
}
.ntha-content-object.ntha-image-right {
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
}
.ntha-content-object .ntha-object-image img { width:100%; height:auto; max-height:440px; object-fit:cover; border-radius:0; display:block; mix-blend-mode:multiply; }
.ntha-content-object .ntha-object-copy h2 { font-size:clamp(1.55rem,2.2vw,2.15rem); line-height:1.2; margin:0 0 16px; color:#151b2d; }
.ntha-content-object .ntha-object-intro { margin-bottom:15px; line-height:1.65; }
.ntha-content-object .ntha-object-bullets { padding-left:1.25rem; margin:0; }
.ntha-content-object .ntha-object-bullets li { margin:.45rem 0; line-height:1.55; }
.ntha-content-object .ntha-object-outro { margin-top:15px; line-height:1.65; }

.ntha-subpage-tiles { --ntha-tile-width:306px; --ntha-tile-height:175px; --ntha-tile-gap:16px; width:fit-content; max-width:100%; margin:64px auto; padding:0 24px; }
.ntha-subpage-tiles > h2 { text-align:center; margin:0 0 32px; color:#151b2d; font-size:clamp(1.7rem,2.5vw,2.35rem); }
.ntha-tile-grid { display:grid; gap:var(--ntha-tile-gap); grid-auto-flow:row; grid-auto-rows:var(--ntha-tile-height); justify-content:center; }
.ntha-tile-grid.ntha-tile-cols-1 { grid-template-columns:repeat(1,var(--ntha-tile-width)); }
.ntha-tile-grid.ntha-tile-cols-2 { grid-template-columns:repeat(2,var(--ntha-tile-width)); }
.ntha-tile-grid.ntha-tile-cols-3 { grid-template-columns:repeat(3,var(--ntha-tile-width)); }
.ntha-tile-grid.ntha-tile-cols-4 { grid-template-columns:repeat(4,var(--ntha-tile-width)); }
.ntha-tile-grid.ntha-tile-cols-5 { grid-template-columns:repeat(5,var(--ntha-tile-width)); }
.ntha-tile-grid.ntha-tile-cols-6 { grid-template-columns:repeat(6,var(--ntha-tile-width)); }
.ntha-tile-grid.ntha-tile-rows-1 { grid-template-rows:repeat(1,var(--ntha-tile-height)); }
.ntha-tile-grid.ntha-tile-rows-2 { grid-template-rows:repeat(2,var(--ntha-tile-height)); }
.ntha-tile-grid.ntha-tile-rows-3 { grid-template-rows:repeat(3,var(--ntha-tile-height)); }
.ntha-tile-grid.ntha-tile-rows-4 { grid-template-rows:repeat(4,var(--ntha-tile-height)); }
.ntha-tile-grid.ntha-tile-rows-5 { grid-template-rows:repeat(5,var(--ntha-tile-height)); }
.ntha-tile-grid.ntha-tile-rows-6 { grid-template-rows:repeat(6,var(--ntha-tile-height)); }
.ntha-subpage-tile { position:relative; width:var(--ntha-tile-width); height:var(--ntha-tile-height); min-height:0; border-radius:12px; overflow:hidden; background:#eef0f3; flex:none; }
.ntha-subpage-tile > a { position:absolute; inset:0; display:block; color:inherit; text-decoration:none; }
.ntha-subpage-tile img { width:var(--ntha-tile-width); height:var(--ntha-tile-height); min-height:0; object-fit:cover; display:block; opacity:1; transition:transform .4s; }
.ntha-subpage-tile:hover img { transform:scale(1.04); }
.ntha-subpage-tile .ntha-tile-title { display:none !important; }

@media (max-width: 900px) {
  .ntha-service-hero { grid-template-columns: 1fr 1fr; }
  .ntha-service-hero .ntha-hero-copy { grid-column:1 / -1; grid-row:1; padding:34px 24px; }
  .ntha-service-hero .ntha-hero-image-left { grid-column:1; grid-row:2; }
  .ntha-service-hero .ntha-hero-image-right { grid-column:2; grid-row:2; }
  .ntha-service-hero .ntha-hero-image,
  .ntha-service-hero .ntha-hero-image img { min-height:220px; }
  .ntha-content-object { gap:30px; margin:42px auto; }
  .ntha-subpage-tiles { --ntha-tile-width:306px; --ntha-tile-height:175px; }
  .ntha-tile-grid { justify-content:center; }
  .ntha-subpage-tile, .ntha-subpage-tile img { width:var(--ntha-tile-width); height:var(--ntha-tile-height); }
}
@media (max-width: 640px) {
  .ntha-service-hero { display:flex; flex-direction:column; }
  .ntha-service-hero .ntha-hero-copy { order:1; padding:30px 20px; }
  .ntha-service-hero .ntha-hero-image-left { order:2; }
  .ntha-service-hero .ntha-hero-image-right { order:3; }
  .ntha-service-hero .ntha-hero-image,
  .ntha-service-hero .ntha-hero-image img { min-height:190px; max-height:240px; }
  .ntha-content-object { display:flex; flex-direction:column; gap:22px; margin:34px auto; padding:0 18px; }
  .ntha-content-object.ntha-image-right .ntha-object-copy { order:2; }
  .ntha-content-object.ntha-image-right .ntha-object-image { order:1; }
  .ntha-tile-grid { grid-template-columns:repeat(1,var(--ntha-tile-width)) !important; grid-template-rows:none !important; grid-auto-rows:var(--ntha-tile-height); }
  .ntha-subpage-tile { width:var(--ntha-tile-width); height:var(--ntha-tile-height); }
  .ntha-subpage-tile img { width:var(--ntha-tile-width); height:var(--ntha-tile-height); aspect-ratio:auto; }
  .ntha-subpage-tiles { margin:44px auto; padding:0 18px; }
}


/* Full-width text-only object */
.ntha-fulltext-object {
  max-width: 1120px;
  margin: 54px auto;
  padding: 0 24px;
}
.ntha-fulltext-object h2 {
  font-size: clamp(1.55rem,2.2vw,2.15rem);
  line-height: 1.2;
  margin: 0 0 16px;
  color: #151b2d;
}
.ntha-fulltext-object .ntha-fulltext-intro {
  margin-bottom: 15px;
  line-height: 1.65;
}
.ntha-fulltext-object .ntha-fulltext-bullets {
  padding-left: 1.25rem;
  margin: 0;
}
.ntha-fulltext-object .ntha-fulltext-bullets li {
  margin: .45rem 0;
  line-height: 1.55;
}
.ntha-fulltext-object .ntha-fulltext-outro {
  margin-top: 15px;
  line-height: 1.65;
}
@media (max-width: 640px) {
  .ntha-fulltext-object {
    margin: 34px auto;
    padding: 0 18px;
  }
}


/* Download object: consistent treatment for PDF, DOCX, XLSX and CSV resources. */
.ntha-download-object {
  max-width: 1120px;
  margin: 42px auto;
  padding: 26px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  border: 1px solid rgba(21,27,45,.12);
  border-radius: 12px;
  background: #fff;
}
.ntha-download-copy { min-width: 0; flex: 1 1 auto; }
.ntha-download-heading {
  margin: 0 0 8px;
  color: #151b2d;
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  line-height: 1.2;
}
.ntha-download-description { margin: 0 0 12px; line-height: 1.6; }
.ntha-download-file-meta { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ntha-download-filetype {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  padding: 5px 8px;
  border-radius: 6px;
  background: #f1f2f5;
  color: #151b2d;
  font-size: .76rem;
  font-weight: 750;
  letter-spacing: .04em;
}
.ntha-download-filename { overflow-wrap: anywhere; color: #555; font-size: .92rem; }
.ntha-download-action { flex: 0 0 auto; }
.ntha-download-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 6px;
  background: #e51b36;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 650;
}
.ntha-download-button:hover,
.ntha-download-button:focus { background: #c9162e; color: #fff !important; }
@media (max-width: 640px) {
  .ntha-download-object {
    margin: 30px 18px;
    padding: 22px 20px;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }
  .ntha-download-action { width: 100%; }
  .ntha-download-button { width: 100%; }
}


/* Standard WordPress rich-body content inside NTHA objects. */
.ntha-object-body > :first-child,
.ntha-fulltext-body > :first-child,
.ntha-download-description-body > :first-child { margin-top: 0; }
.ntha-object-body > :last-child,
.ntha-fulltext-body > :last-child,
.ntha-download-description-body > :last-child { margin-bottom: 0; }
.ntha-object-body p,
.ntha-fulltext-body p { margin: 0 0 15px; line-height: 1.65; }
.ntha-object-body ul,
.ntha-object-body ol,
.ntha-fulltext-body ul,
.ntha-fulltext-body ol { margin: 0 0 15px; padding-left: 1.25rem; }
.ntha-object-body li,
.ntha-fulltext-body li { margin: .45rem 0; line-height: 1.55; }
.ntha-download-description-body { margin: 0 0 12px; line-height: 1.6; }
.ntha-download-description-body p { margin: 0 0 10px; }
.ntha-download-description-body ul,
.ntha-download-description-body ol { margin: 0 0 10px; padding-left: 1.25rem; }

/* v3.38: Tile Group is image-only. Rows x Columns controls the slot count. */
.ntha-subpage-tiles > h2 { display:none !important; }


/* v3.48.0 versioned Tile Group: fixed-size home-page tiles with editable overlay labels. */
.ntha-subpage-tiles-v3480 { --ntha-tile-width:306px; --ntha-tile-height:175px; --ntha-tile-gap:16px; width:fit-content; max-width:100%; margin:64px auto; padding:0 24px; }
.ntha-tile-grid-v3480 { display:grid; gap:var(--ntha-tile-gap); grid-auto-flow:row; grid-auto-rows:var(--ntha-tile-height); justify-content:center; }
.ntha-tile-grid-v3480.ntha-tile-cols-1 { grid-template-columns:repeat(1,var(--ntha-tile-width)); }
.ntha-tile-grid-v3480.ntha-tile-cols-2 { grid-template-columns:repeat(2,var(--ntha-tile-width)); }
.ntha-tile-grid-v3480.ntha-tile-cols-3 { grid-template-columns:repeat(3,var(--ntha-tile-width)); }
.ntha-subpage-tile-v3480 { position:relative; width:var(--ntha-tile-width); height:var(--ntha-tile-height); min-width:var(--ntha-tile-width); max-width:var(--ntha-tile-width); min-height:var(--ntha-tile-height); max-height:var(--ntha-tile-height); border-radius:12px; overflow:hidden; background:#eef0f3; }
.ntha-subpage-tile-v3480 > a { position:absolute; inset:0; display:block; color:inherit; text-decoration:none; }
.ntha-subpage-tile-v3480 img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.ntha-subpage-tile-v3480:hover img { transform:scale(1.04); }
.ntha-subpage-tile-v3480::after,
.ntha-subpage-tile-v3480 > a::after { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(8,12,20,.62) 0%, rgba(8,12,20,.20) 38%, rgba(8,12,20,0) 66%); pointer-events:none; }
.ntha-subpage-tile-v3480 .ntha-tile-overlay { position:absolute; left:18px; right:18px; bottom:16px; z-index:2; color:#fff; pointer-events:none; }
.ntha-subpage-tile-v3480 .ntha-tile-title { display:block !important; margin:0; color:#fff; font-size:18px; line-height:1.15; font-weight:700; white-space:pre-line; text-shadow:0 1px 2px rgba(0,0,0,.35); }
.ntha-subpage-tile-v3480 .ntha-tile-underline { display:block; width:42px; height:3px; margin-top:8px; background:#e51b33; border-radius:2px; }
@media (max-width:640px) {
  .ntha-subpage-tiles-v3480 { padding:0 18px; }
  .ntha-tile-grid-v3480 { grid-template-columns:repeat(1,var(--ntha-tile-width)) !important; }
}


/* v3.54.18 Structured Event Details object. */
.ntha-event-object {
  width: calc(100% - 40px);
  max-width: 1140px;
  margin: 42px auto;
  background: #fff;
  box-shadow: 0 4px 18px rgba(17, 24, 39, .08);
  overflow: hidden;
}
.ntha-event-header {
  min-height: 56px;
  padding: 14px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  background: #ef002f;
  color: #fff;
}
.ntha-event-title {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 750;
}
.ntha-event-date-range {
  flex: 0 0 auto;
  color: #fff;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 650;
  white-space: nowrap;
}
.ntha-event-body { padding: 30px; }
.ntha-event-description {
  margin: 0 0 14px;
  color: #303846;
  font-size: 16px;
  line-height: 1.55;
}
.ntha-event-description > :first-child { margin-top: 0; }
.ntha-event-description > :last-child { margin-bottom: 0; }
.ntha-event-content-grid {
  display: grid;
  grid-template-columns: 230px minmax(320px, 1fr) minmax(290px, 330px);
  gap: 42px;
  align-items: start;
}
.ntha-event-media { padding-top: 2px; }
.ntha-event-media img {
  display: block;
  width: 100%;
  max-width: 230px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.ntha-event-details {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.ntha-event-detail-row {
  display: grid;
  grid-template-columns: 122px minmax(0, 1fr);
  column-gap: 18px;
  align-items: start;
  min-height: 22px;
}
.ntha-event-detail-label {
  color: #151b2d;
  font-weight: 700;
  text-align: right;
}
.ntha-event-detail-value {
  min-width: 0;
  color: #303846;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.ntha-event-detail-value a { color: inherit; text-decoration: none; }
.ntha-event-detail-value a:hover,
.ntha-event-detail-value a:focus { text-decoration: underline; }
.ntha-event-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  padding-top: 10px;
}
.ntha-event-registration {
  width: 100%;
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}
.ntha-event-registration-label {
  color: #151b2d;
  font-weight: 700;
  text-align: right;
}
.ntha-event-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 11px 20px;
  border-radius: 0;
  text-decoration: none !important;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 750;
  letter-spacing: .01em;
}
.ntha-event-register-button {
  min-width: 196px;
  background: #ef002f;
  color: #fff !important;
}
.ntha-event-register-button:hover,
.ntha-event-register-button:focus { background: #cb0028; color: #fff !important; }
.ntha-event-readmore-button {
  min-width: 111px;
  background: #555c60;
  color: #fff !important;
}
.ntha-event-readmore-button:hover,
.ntha-event-readmore-button:focus { background: #3d4347; color: #fff !important; }
@media (max-width: 980px) {
  .ntha-event-content-grid { grid-template-columns: 190px minmax(0, 1fr); gap: 30px; }
  .ntha-event-media img { max-width: 190px; }
  .ntha-event-actions { grid-column: 1 / -1; flex-direction: row; justify-content: flex-end; align-items: center; padding-top: 0; }
  .ntha-event-registration { width: auto; }
}
@media (max-width: 700px) {
  .ntha-event-object { width: calc(100% - 24px); margin: 28px auto; }
  .ntha-event-header { padding: 14px 18px; flex-direction: column; align-items: flex-start; gap: 5px; }
  .ntha-event-date-range { white-space: normal; }
  .ntha-event-body { padding: 20px 18px 24px; }
  .ntha-event-content-grid { display: flex; flex-direction: column; gap: 22px; }
  .ntha-event-media { width: 100%; }
  .ntha-event-media img { width: 100%; max-width: 360px; }
  .ntha-event-details { width: 100%; }
  .ntha-event-detail-row { grid-template-columns: 110px minmax(0, 1fr); gap: 14px; }
  .ntha-event-actions { width: 100%; flex-direction: column; align-items: stretch; gap: 14px; }
  .ntha-event-registration { width: 100%; grid-template-columns: 110px minmax(0, 1fr); gap: 14px; }
  .ntha-event-button { width: 100%; }
}
@media (max-width: 460px) {
  .ntha-event-detail-row,
  .ntha-event-registration { grid-template-columns: 1fr; gap: 3px; }
  .ntha-event-detail-label,
  .ntha-event-registration-label { text-align: left; }
}

/* v3.54.20 NTHA Event Details v2 - redesigned event card. */
.ntha-event-v2 {
  width: calc(100% - 40px);
  max-width: 1140px;
  margin: 42px auto;
}
.ntha-event-v2-card {
  display: grid;
  grid-template-columns: minmax(300px, 36%) minmax(0, 1fr);
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .08);
  overflow: hidden;
}
.ntha-event-v2-media {
  position: relative;
  min-height: 100%;
  background: #eef0f3;
  overflow: hidden;
}
.ntha-event-v2-media.is-empty {
  min-height: 330px;
  background: linear-gradient(145deg, #f0f2f5 0%, #e2e6eb 100%);
}
.ntha-event-v2-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}
.ntha-event-v2-date-badge {
  position: absolute;
  left: 22px;
  top: 22px;
  z-index: 2;
  max-width: calc(100% - 44px);
  padding: 9px 14px;
  border-radius: 999px;
  background: #ef002f;
  color: #fff;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 750;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .14);
}
.ntha-event-v2-main {
  min-width: 0;
  padding: 34px 38px 36px;
}
.ntha-event-v2-kicker {
  margin: 0 0 7px;
  color: #ef002f;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.ntha-event-v2-title {
  margin: 0;
  color: #111827;
  font-size: clamp(25px, 2.5vw, 34px);
  line-height: 1.15;
  font-weight: 780;
}
.ntha-event-v2-description {
  margin: 14px 0 0;
  color: #4b5563;
  font-size: 16px;
  line-height: 1.6;
}
.ntha-event-v2-description > :first-child { margin-top: 0; }
.ntha-event-v2-description > :last-child { margin-bottom: 0; }
.ntha-event-v2-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 25px;
}
.ntha-event-v2-info-card {
  min-width: 0;
  padding: 15px 17px 16px;
  border: 1px solid #e6e8ec;
  border-radius: 10px;
  background: #f8f9fb;
}
.ntha-event-v2-info-card-wide { grid-column: 1 / -1; }
.ntha-event-v2-info-heading {
  margin: 0 0 8px;
  color: #111827;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
}
.ntha-event-v2-meta-row {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 10px;
  padding: 3px 0;
  font-size: 14px;
  line-height: 1.45;
}
.ntha-event-v2-meta-label {
  color: #6b7280;
  font-weight: 650;
}
.ntha-event-v2-meta-value,
.ntha-event-v2-venue {
  min-width: 0;
  color: #303846;
  overflow-wrap: anywhere;
}
.ntha-event-v2-venue {
  font-size: 14px;
  line-height: 1.55;
}
.ntha-event-v2-meta-value a {
  color: #303846;
  text-decoration: none;
}
.ntha-event-v2-meta-value a:hover,
.ntha-event-v2-meta-value a:focus { text-decoration: underline; }
.ntha-event-v2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 25px;
}
.ntha-event-v2-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 11px 20px;
  border-radius: 7px;
  text-decoration: none !important;
  font-size: 13px;
  line-height: 1.15;
  font-weight: 750;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.ntha-event-v2-button-primary {
  background: #ef002f;
  border: 1px solid #ef002f;
  color: #fff !important;
}
.ntha-event-v2-button-primary:hover,
.ntha-event-v2-button-primary:focus {
  background: #cb0028;
  border-color: #cb0028;
  color: #fff !important;
}
.ntha-event-v2-button-secondary {
  background: #fff;
  border: 1px solid #cfd4da;
  color: #252b33 !important;
}
.ntha-event-v2-button-secondary:hover,
.ntha-event-v2-button-secondary:focus {
  background: #f4f5f6;
  border-color: #aeb4bc;
  color: #111827 !important;
}
@media (max-width: 860px) {
  .ntha-event-v2-card { grid-template-columns: 1fr; }
  .ntha-event-v2-media { min-height: 0; aspect-ratio: 16 / 7; }
  .ntha-event-v2-media.is-empty { min-height: 210px; aspect-ratio: auto; }
  .ntha-event-v2-main { padding: 28px 30px 32px; }
}
@media (max-width: 600px) {
  .ntha-event-v2 { width: calc(100% - 24px); margin: 28px auto; }
  .ntha-event-v2-media { aspect-ratio: 16 / 9; }
  .ntha-event-v2-date-badge { left: 16px; top: 16px; max-width: calc(100% - 32px); }
  .ntha-event-v2-main { padding: 23px 19px 25px; }
  .ntha-event-v2-info-grid { grid-template-columns: 1fr; }
  .ntha-event-v2-info-card-wide { grid-column: auto; }
  .ntha-event-v2-actions { flex-direction: column; }
  .ntha-event-v2-button { width: 100%; }
}

/* v3.54.21 Event records, Event Details v3, and automatic event pages. */
.ntha-event-v3-card .ntha-event-v2-description p {
  margin: 0 0 .75em;
}
.ntha-event-v3-card .ntha-event-v2-description p:last-child {
  margin-bottom: 0;
}
.ntha-event-single-page,
.ntha-events-archive-page {
  background: #f7f8fa;
  padding: 1px 0 56px;
}
.ntha-event-single-card-wrap {
  margin-top: 46px;
}
.ntha-event-single-content-wrap {
  width: calc(100% - 40px);
  max-width: 1140px;
  margin: -12px auto 42px;
}
.ntha-event-single-content {
  padding: 34px 38px 38px;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17,24,39,.06);
  color: #303846;
  font-size: 16px;
  line-height: 1.7;
}
.ntha-event-single-content h2 {
  margin: 0 0 20px;
  color: #111827;
  font-size: clamp(24px,2.2vw,32px);
  line-height: 1.2;
  font-weight: 780;
}
.ntha-event-single-content h2::after {
  display: block;
  width: 58px;
  height: 3px;
  margin-top: 11px;
  background: #ef002f;
  content: "";
}
.ntha-events-archive-header {
  width: calc(100% - 40px);
  max-width: 1140px;
  margin: 42px auto -5px;
  text-align: center;
}
.ntha-events-archive-header h1 {
  margin: 0;
  color: #111827;
  font-size: clamp(30px,3vw,42px);
  font-weight: 800;
}
.ntha-events-archive-header > span {
  display: block;
  width: 60px;
  height: 3px;
  margin: 14px auto 0;
  background: #ef002f;
}
.ntha-events-pagination {
  width: calc(100% - 40px);
  max-width: 1140px;
  margin: 0 auto;
}
.ntha-events-pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 8px;
}
.ntha-events-pagination .page-numbers {
  padding: 7px 11px;
  border: 1px solid #d7dbe0;
  border-radius: 6px;
  background: #fff;
  color: #303846;
  text-decoration: none;
}
.ntha-events-pagination .page-numbers.current {
  border-color: #ef002f;
  background: #ef002f;
  color: #fff;
}
.ntha-events-empty {
  width: calc(100% - 40px);
  max-width: 1140px;
  margin: 46px auto;
  padding: 28px;
  border-radius: 12px;
  background: #fff;
  text-align: center;
}
@media (max-width:600px) {
  .ntha-event-single-content-wrap,
  .ntha-events-archive-header,
  .ntha-events-pagination,
  .ntha-events-empty { width: calc(100% - 24px); }
  .ntha-event-single-content { padding: 24px 20px 28px; }
}


/* v3.54.23 - full Event Read More page. */
.ntha-event-readmore-page {
  background: #f7f8fa;
  padding: 1px 0 64px;
}
.ntha-event-readmore-shell {
  width: calc(100% - 40px);
  max-width: 1140px;
  margin: 44px auto 0;
}
.ntha-event-readmore-header {
  margin: 0 0 24px;
}
.ntha-event-readmore-kicker {
  margin: 0 0 7px;
  color: #ef002f;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.ntha-event-readmore-header h1 {
  max-width: 980px;
  margin: 0;
  color: #111827;
  font-size: clamp(31px, 3.4vw, 48px);
  line-height: 1.12;
  font-weight: 800;
}
.ntha-event-readmore-header > span {
  display: block;
  width: 64px;
  height: 4px;
  margin-top: 16px;
  border-radius: 2px;
  background: #ef002f;
}
.ntha-event-readmore-summary {
  display: grid;
  grid-template-columns: minmax(320px, 46%) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17,24,39,.07);
}
.ntha-event-readmore-summary.no-image {
  grid-template-columns: 1fr;
}
.ntha-event-readmore-image {
  min-height: 430px;
  background: #eef0f3;
}
.ntha-event-readmore-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
}
.ntha-event-readmore-facts {
  align-self: stretch;
  padding: 18px 30px;
}
.ntha-event-readmore-fact {
  display: grid;
  grid-template-columns: 146px minmax(0,1fr);
  gap: 18px;
  padding: 13px 0;
  border-bottom: 1px solid #e8eaee;
  font-size: 15px;
  line-height: 1.5;
}
.ntha-event-readmore-fact:last-child {
  border-bottom: 0;
}
.ntha-event-readmore-fact > div:first-child {
  color: #6b7280;
  font-weight: 750;
}
.ntha-event-readmore-fact > div:last-child {
  min-width: 0;
  color: #202938;
  font-weight: 550;
  overflow-wrap: anywhere;
}
.ntha-event-readmore-fact a {
  color: #202938;
  text-decoration: none;
}
.ntha-event-readmore-fact a:hover,
.ntha-event-readmore-fact a:focus {
  color: #ef002f;
  text-decoration: underline;
}
.ntha-event-readmore-intro {
  margin: 28px 0 0;
  padding: 28px 32px 30px;
  border-top: 3px solid #ef002f;
  border-radius: 0 0 12px 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(17,24,39,.05);
}
.ntha-event-readmore-intro-copy {
  max-width: 900px;
  color: #303846;
  font-size: 18px;
  line-height: 1.65;
}
.ntha-event-readmore-intro-copy > :first-child { margin-top: 0; }
.ntha-event-readmore-intro-copy > :last-child { margin-bottom: 0; }
.ntha-event-readmore-register {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
  padding: 12px 24px;
  border: 1px solid #ef002f;
  border-radius: 7px;
  background: #ef002f;
  color: #fff !important;
  font-size: 14px;
  line-height: 1.15;
  font-weight: 800;
  text-decoration: none !important;
}
.ntha-event-readmore-register:hover,
.ntha-event-readmore-register:focus {
  border-color: #cb0028;
  background: #cb0028;
  color: #fff !important;
}
.ntha-event-readmore-content {
  margin-top: 28px;
  padding: 34px 38px 40px;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17,24,39,.06);
  color: #303846;
  font-size: 16px;
  line-height: 1.7;
}
.ntha-event-readmore-content > :first-child { margin-top: 0; }
.ntha-event-readmore-content > :last-child { margin-bottom: 0; }
.ntha-event-readmore-content h2,
.ntha-event-readmore-content h3,
.ntha-event-readmore-content h4 {
  color: #111827;
  line-height: 1.25;
  font-weight: 800;
}
.ntha-event-readmore-content h2 {
  margin: 34px 0 15px;
  font-size: clamp(24px,2.2vw,32px);
}
.ntha-event-readmore-content h2:first-child { margin-top: 0; }
.ntha-event-readmore-content h2::after {
  display: block;
  width: 54px;
  height: 3px;
  margin-top: 10px;
  background: #ef002f;
  content: "";
}
.ntha-event-readmore-content h3 {
  margin: 28px 0 11px;
  font-size: 22px;
}
.ntha-event-readmore-content h4 {
  margin: 24px 0 9px;
  font-size: 18px;
}
.ntha-event-readmore-content p {
  margin: 0 0 1em;
}
.ntha-event-readmore-content ul,
.ntha-event-readmore-content ol {
  margin: 0 0 1.25em;
  padding-left: 1.4em;
}
.ntha-event-readmore-content li {
  margin: .28em 0;
}
.ntha-event-readmore-content a {
  color: #d6002a;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ntha-event-readmore-content hr {
  height: 1px;
  margin: 30px 0;
  border: 0;
  background: #e4e7ec;
}
@media (max-width: 900px) {
  .ntha-event-readmore-summary {
    grid-template-columns: 1fr;
  }
  .ntha-event-readmore-image,
  .ntha-event-readmore-image img {
    min-height: 0;
  }
  .ntha-event-readmore-image {
    aspect-ratio: 16 / 8;
  }
  .ntha-event-readmore-image img {
    height: 100%;
  }
}
@media (max-width: 600px) {
  .ntha-event-readmore-page { padding-bottom: 42px; }
  .ntha-event-readmore-shell {
    width: calc(100% - 24px);
    margin-top: 28px;
  }
  .ntha-event-readmore-header { margin-bottom: 18px; }
  .ntha-event-readmore-header h1 { font-size: 30px; }
  .ntha-event-readmore-image { aspect-ratio: 16 / 9; }
  .ntha-event-readmore-facts { padding: 12px 19px; }
  .ntha-event-readmore-fact {
    grid-template-columns: 1fr;
    gap: 3px;
    padding: 11px 0;
  }
  .ntha-event-readmore-intro {
    margin-top: 20px;
    padding: 23px 20px 25px;
  }
  .ntha-event-readmore-intro-copy { font-size: 16px; }
  .ntha-event-readmore-register { width: 100%; }
  .ntha-event-readmore-content {
    margin-top: 20px;
    padding: 26px 20px 30px;
  }
}


/* v3.54.30 - NTHA Events page: full Ticket Tailor landscape artwork reduced without cropping. */
.ntha-events-archive-v35430 .ntha-events-archive-header {
  margin-bottom: 34px;
}
.ntha-events-card-grid {
  width: calc(100% - 40px);
  max-width: 1140px;
  margin: 0 auto 42px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.ntha-events-list-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e4e7ec;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(17,24,39,.06);
}
.ntha-events-list-image {
  height: 170px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 12px;
  background: #fff;
}
.ntha-events-list-image img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.ntha-events-list-copy {
  display: flex;
  min-height: 180px;
  flex-direction: column;
  padding: 19px 20px 22px;
}
.ntha-events-list-date {
  margin: 0 0 9px;
  color: #e51b36;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 750;
}
.ntha-events-list-copy h2 {
  margin: 0;
  color: #111827;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 750;
}
.ntha-events-list-action {
  margin-top: auto;
  padding-top: 20px;
}
.ntha-events-more-info {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid #e51b36;
  border-radius: 6px;
  background: #e51b36;
  color: #fff !important;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .02em;
  text-decoration: none !important;
}
.ntha-events-more-info:hover,
.ntha-events-more-info:focus {
  border-color: #c9142b;
  background: #c9142b;
  color: #fff !important;
}
@media (max-width: 900px) {
  .ntha-events-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .ntha-events-card-grid { width: calc(100% - 24px); grid-template-columns: 1fr; gap: 18px; }
  .ntha-events-list-image { height: 150px; padding: 10px; }
  .ntha-events-list-copy { min-height: 0; padding: 17px 17px 20px; }
  .ntha-events-list-action { padding-top: 18px; }
}


/* v3.54.32 - Editable Events Page: standard NTHA Hero plus automatic cards. */
.ntha-events-page {
  background: #f7f8fa;
  padding: 0 0 56px;
}
.ntha-events-page .ntha-events-page-content {
  width: 100%;
}
.ntha-events-page .ntha-events-card-grid {
  margin-top: 36px;
}
.ntha-events-page .ntha-events-empty {
  margin-top: 36px;
}
