/* HILDON.CA - CASSIOPEIA USER.CSS
   Paste this entire file into user.css without HTML style tags.
   Existing selectors, declarations and rule order are preserved.

   CONTENTS
   01. NAVIGATION / EVENTS AND RESOURCES
   02. WEDNESDAY / SATURDAY AUDIO TELECONFERENCES
   03. EVENING BREATHING - SCHEDULE TABLE
   04. MORNING BREATHING - SCHEDULE TABLE
   05. MORNING BREATHING - INTRODUCTION CARDS
   06. EVENING BREATHING - INTRODUCTION CARDS
   07. BREATHING RECORDINGS
   08. ADVANCED BREATHING RECORDINGS
   09. PRE-BREATHING CLASS REVIEWS
   10. SPARK EXPRESSION PRESENTATIONS
   11. TERMS OF USE / ACCESS SECURITY
   12. KEY CONCEPTS OF SENIOR PHILOSOPHY
   13. BREATHING PATTERNS EXPLAINED
   14. USEFUL LINKS
   15. VIDEO AND AUDIO REPLAYS INDEX
   16. QUESTIONS INDEX / DOCK TALK QUESTIONS
   17. MESSAGE INDEX
*/

/* NAVIGATION / EVENTS AND RESOURCES GUIDE */
/* ==========================================================================
   01. NAVIGATION / EVENTS AND RESOURCES
   Main page class: .library-guide
   ========================================================================== */

.library-guide, .library-guide *  {
  box-sizing: border-box;
}

.library-guide  {
  width: min(1180px, calc(100% - 2rem));
  margin-left: 0;
  margin-right: auto;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #153E50;
  line-height: 1.55;
}

.library-grid  {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 20px;
  align-items: stretch;
}

.library-card  {
  padding: 24px;
  border-radius: 18px;
  color: #153E50;
  min-width: 0;
}

.library-card h2, .library-card h3  {
  margin: 0 0 14px;
  color: #153E50;
  font-size: 1.65rem;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.library-card h3  {
  margin-top: 24px;
}

.library-card p  {
  margin: 1em 0;
}

.library-card ol  {
  margin: 14px 0 0;
  padding-left: 1.5rem;
  font-size: 0.95rem;
}

.library-card li  {
  margin-bottom: 12px;
}

.library-card li::marker  {
  color: #153E50;
  font-weight: 700;
}

.library-card a  {
  color: #153E50;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.library-card a:hover  {
  text-decoration-thickness: 2px;
}

.library-card a:focus-visible  {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

/* Final Caribbean card colours */
.class-events  {
  background: #DAF5F0;
}

.breathing-events  {
  background: #C9F0F5;
}

.audio-video-replays  {
  background: #DFF1FF;
}

.study-resources  {
  background: #F7E8CD;
}

.all-indexes  {
  background: #FFE3DE;
}

.featured-pages  {
  background: #FFF0B8;
}

/* Tablet */
@media (max-width: 820px)  {
  .library-grid  {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

/* Phone */
@media (max-width: 580px)  {
  .library-guide  {
    width: 100%;
  }

  .library-grid  {
    grid-template-columns: 1fr;
  }

  .library-card  {
    padding: 20px;
  }

}

/* Printing */
@media print  {
  .library-guide  {
    width: 100%;
  }

  .library-grid  {
    display: block;
  }

  .library-card  {
    background: #FFFFFF !important;
    border: 1px solid #DDD7CD;
    margin-bottom: 18px;
    break-inside: avoid;
  }

}

/* Self-contained Joomla article styles; no external fonts or scripts. */
/* ==========================================================================
   02. WEDNESDAY / SATURDAY AUDIO TELECONFERENCES
   Main page class: .audio-telecasts
   ========================================================================== */

.audio-telecasts, .audio-telecasts *  {
  box-sizing: border-box;
}

.audio-telecasts  {
  width: min(1180px, 100%);
  margin: 2rem auto 4rem 0;
  text-align: left;
  color: #153e50;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  overflow-wrap: break-word;
}

.audio-telecasts h2, .audio-telecasts h3, .audio-telecasts h4  {
  color: #153e50;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
  margin: 0 0 1rem;
}

.audio-telecasts h2  {
  font-size: clamp(1.65rem, 3vw, 2.25rem);
}

.audio-telecasts h3  {
  font-size: 1.5rem;
}

.audio-telecasts h4  {
  font-size: 1.15rem;
}

.audio-telecasts p  {
  margin: 0 0 1rem;
}

.audio-telecasts p:last-child  {
  margin-bottom: 0;
}

.audio-telecasts ul, .audio-telecasts ol  {
  margin: 0;
  padding-left: 1.4rem;
}

.audio-telecasts li + li  {
  margin-top: .6rem;
}

.audio-telecasts a, .audio-telecasts a:visited  {
  color: #153e50;
  text-decoration: underline;
  text-underline-offset: .18em;
}

.audio-telecasts a:hover  {
  text-decoration-thickness: 2px;
}

.audio-telecasts a:focus-visible  {
  outline: 3px solid #153e50;
  outline-offset: 4px;
}

.audio-telecasts .at-heading  {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.audio-telecasts .at-heading h2  {
  margin: 0;
  min-width: 0;
}

.audio-telecasts .at-crest  {
  display: block;
  width: 60px;
  height: auto;
  margin: 0;
  flex: 0 0 60px;
}

.audio-telecasts .at-card  {
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 22px;
  margin-bottom: 1.25rem;
  min-width: 0;
}

.audio-telecasts .at-sand  {
  background: #f7e8cd;
}

.audio-telecasts .at-yellow  {
  background: #FFF0B8;
}

.audio-telecasts .at-peach  {
  background: #FFE3DE;
}

.audio-telecasts .at-seafoam  {
  background: #daf5f0;
}

.audio-telecasts .at-lagoon  {
  background: #c9f0f5;
}

.audio-telecasts .at-sky  {
  background: #dff1ff;
}

.audio-telecasts .at-intro  {
  font-size: 1.075rem;
}

.audio-telecasts .at-steps  {
  margin-bottom: 1.5rem;
}

.audio-telecasts .at-code  {
  display: inline-block;
  margin-top: .35rem;
  padding: .25rem .75rem;
  border: 1px solid #153e50;
  border-radius: 8px;
  background: rgba(255,255,255,.55);
  font-size: 1.4rem;
  letter-spacing: .06em;
}

/* Paired cards share equal columns and stretch to the same height. */
.audio-telecasts .at-card-row  {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  gap: 1.25rem;
  margin-bottom: 1.25rem;
  align-items: stretch;
}

.audio-telecasts .at-card-row > .at-card  {
  margin-bottom: 0;
}

.audio-telecasts .at-intro  {
  font-weight: 400;
}

.audio-telecasts .at-table-wrap  {
  max-width: 760px;
  margin: 0 0 1.25rem;
  overflow-x: auto;
  border: 1px solid rgba(21,62,80,.22);
  border-radius: 12px;
  background: #fff;
}

.audio-telecasts .at-numbers  {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  color: #153e50;
  font-size: 1rem;
  line-height: 1.5;
}

.audio-telecasts .at-numbers th, .audio-telecasts .at-numbers td  {
  text-align: left;
  vertical-align: top;
  padding: .8rem 1rem;
  border: 0;
  border-bottom: 1px solid rgba(21,62,80,.12);
  background: transparent;
}

.audio-telecasts .at-numbers thead th  {
  background: #153e50;
  color: #fff;
  font-weight: 600;
}

.audio-telecasts .at-numbers th:first-child  {
  width: 40%;
}

.audio-telecasts .at-numbers tbody th  {
  font-weight: 600;
}

.audio-telecasts .at-numbers tbody tr:nth-child(even)  {
  background: #eef8f5;
}

.audio-telecasts .at-numbers tbody tr:last-child > *  {
  border-bottom: 0;
}

.audio-telecasts .at-number  {
  display: inline-block;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.audio-telecasts .at-number-alt  {
  display: block;
  margin-top: .25rem;
}

.audio-telecasts .at-note  {
  border-left: 3px solid #153e50;
  padding: .8rem 1rem;
  background: rgba(255,255,255,.45);
  border-radius: 0 10px 10px 0;
}

.audio-telecasts .at-section-title  {
  margin: 2rem 0 1rem;
}

.audio-telecasts .at-event-link  {
  display: inline-block;
  padding: .65rem 1rem;
  margin-bottom: .5rem;
  border: 1px solid #153e50;
  border-radius: 12px;
  background: rgba(255,255,255,.6);
}

.audio-telecasts .at-event-link:hover  {
  background: #fff;
}

.audio-telecasts .at-event-link img  {
  display: block;
  width: 150px;
  max-width: 100%;
  height: auto;
  margin: 0;
}

.audio-telecasts .at-help  {
  font-size: .9rem;
}

.audio-telecasts .at-format  {
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .035em;
}

.audio-telecasts .at-date  {
  font-size: 1.1rem;
  padding-bottom: 1.25rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid rgba(21,62,80,.2);
}

.audio-telecasts .at-questions  {
  max-width: 90ch;
}

.audio-telecasts .at-questions li + li  {
  margin-top: 1rem;
}

.audio-telecasts .at-breathing  {
  font-size: 1.2rem;
  font-weight: 600;
}

.audio-telecasts figure  {
  width: 1000px;
  max-width: 100%;
  margin: 2rem 0 0;
  text-align: left;
}

.audio-telecasts figure img  {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: 16px;
}

.audio-telecasts figcaption  {
  margin-top: .65rem;
  font-size: .9rem;
  text-align: left;
}

@media (max-width: 580px)  {
  .audio-telecasts  {
    margin-top: 1.25rem;
  }

  .audio-telecasts .at-card  {
    border-radius: 16px;
  }

  .audio-telecasts .at-numbers th, .audio-telecasts .at-numbers td  {
    padding: .7rem .6rem;
    font-size: .9rem;
  }

}

@media print  {
  .audio-telecasts  {
    width: 100%;
    margin: 0;
  }

  .audio-telecasts .at-card  {
    background: #fff;
    border: 1px solid #ccc;
  }

}

/* Breathing schedule: append to user.css. Do not include style tags. */
/* ==========================================================================
   03. EVENING BREATHING - SCHEDULE TABLE
   Main page class: .hildon-breathing-schedule
   ========================================================================== */

.hildon-breathing-schedule, .hildon-breathing-schedule *  {
  box-sizing: border-box;
}

.hildon-breathing-schedule  {
  width: min(1180px, 100%);
  margin: 24px auto 24px 0;
  color: #153E50;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}

.hildon-breathing-schedule h2  {
  color: #153E50;
  font-size: 1.6rem;
  margin: 0 0 16px;
}

.hildon-breathing-schedule p  {
  margin: 0 0 16px;
}

.hildon-breathing-schedule table  {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #D8CBAF;
  border-radius: 16px;
  overflow: hidden;
  color: #153E50;
}

.hildon-breathing-schedule caption  {
  caption-side: top;
  text-align: left;
  color: #153E50;
  padding: 0 0 12px;
}

.hildon-breathing-schedule th, .hildon-breathing-schedule td  {
  padding: 16px;
  text-align: left;
  vertical-align: middle;
  overflow-wrap: break-word;
}

.hildon-breathing-schedule th  {
  background: #F7E8CD;
  font-weight: 700;
}

.hildon-breathing-schedule th:first-child  {
  width: 46%;
}

.hildon-breathing-schedule th:nth-child(2)  {
  width: 25%;
}

.hildon-breathing-schedule th:last-child  {
  width: 29%;
}

.hildon-breathing-schedule tbody td  {
  border-top: 1px solid #E2D9C6;
}

.hildon-breathing-schedule tbody tr:nth-child(odd)  {
  background: #FFFFFF;
}

.hildon-breathing-schedule tbody tr:nth-child(even)  {
  background: #FFF0B8;
}

.hildon-breathing-schedule a, .hildon-breathing-schedule a:visited  {
  display: inline-block;
  padding: 6px 0;
  color: #153E50;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.hildon-breathing-schedule a:hover  {
  text-decoration-thickness: 2px;
}

.hildon-breathing-schedule a:focus-visible  {
  outline: 2px solid #153E50;
  outline-offset: 3px;
}

.hildon-breathing-schedule .hbs-note  {
  margin-top: 12px;
  font-size: .9rem;
}

@media (max-width: 580px)  {
  .hildon-breathing-schedule th, .hildon-breathing-schedule td  {
    padding: 12px 8px;
  }

  .hildon-breathing-schedule table  {
    font-size: .9rem;
  }

  .hildon-breathing-schedule th:first-child  {
    width: 43%;
  }

  .hildon-breathing-schedule th:nth-child(2)  {
    width: 27%;
  }

  .hildon-breathing-schedule th:last-child  {
    width: 30%;
  }

}

/* Morning breathing schedule: append to user.css. Do not include style tags. */
/* ==========================================================================
   04. MORNING BREATHING - SCHEDULE TABLE
   Main page class: .hildon-morning-schedule
   ========================================================================== */

.hildon-morning-schedule, .hildon-morning-schedule *  {
  box-sizing: border-box;
}

.hildon-morning-schedule  {
  width: min(1180px, 100%);
  margin: 24px auto 24px 0;
  color: #153E50;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}

.hildon-morning-schedule h2  {
  color: #153E50;
  font-size: 1.6rem;
  margin: 0 0 16px;
}

.hildon-morning-schedule p  {
  margin: 0 0 16px;
}

.hildon-morning-schedule table  {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #D8CBAF;
  border-radius: 16px;
  overflow: hidden;
  color: #153E50;
}

.hildon-morning-schedule caption  {
  caption-side: top;
  text-align: left;
  color: #153E50;
  padding: 0 0 12px;
}

.hildon-morning-schedule th, .hildon-morning-schedule td  {
  padding: 16px;
  text-align: left;
  vertical-align: middle;
  overflow-wrap: break-word;
}

.hildon-morning-schedule th  {
  background: #F7E8CD;
  font-weight: 700;
}

.hildon-morning-schedule th:first-child  {
  width: 46%;
}

.hildon-morning-schedule th:nth-child(2)  {
  width: 25%;
}

.hildon-morning-schedule th:last-child  {
  width: 29%;
}

.hildon-morning-schedule tbody td  {
  border-top: 1px solid #E2D9C6;
}

.hildon-morning-schedule tbody tr:nth-child(odd)  {
  background: #FFFFFF;
}

.hildon-morning-schedule tbody tr:nth-child(even)  {
  background: #FFF0B8;
}

.hildon-morning-schedule a, .hildon-morning-schedule a:visited  {
  display: inline-block;
  padding: 6px 0;
  color: #153E50;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.hildon-morning-schedule a:hover  {
  text-decoration-thickness: 2px;
}

.hildon-morning-schedule a:focus-visible  {
  outline: 2px solid #153E50;
  outline-offset: 3px;
}

.hildon-morning-schedule .hbs-note  {
  margin-top: 12px;
  font-size: .9rem;
}

@media (max-width: 580px)  {
  .hildon-morning-schedule th, .hildon-morning-schedule td  {
    padding: 12px 8px;
  }

  .hildon-morning-schedule table  {
    font-size: .9rem;
  }

  .hildon-morning-schedule th:first-child  {
    width: 43%;
  }

  .hildon-morning-schedule th:nth-child(2)  {
    width: 27%;
  }

  .hildon-morning-schedule th:last-child  {
    width: 30%;
  }

}

/* Morning Breathing introduction: scoped to this block. */
/* ==========================================================================
   05. MORNING BREATHING - INTRODUCTION CARDS
   Main page class: .hildon-morning-intro
   ========================================================================== */

.hildon-morning-intro, .hildon-morning-intro *  {
  box-sizing: border-box;
}

.hildon-morning-intro  {
  width: min(1180px, 100%);
  margin: 0 auto 24px 0;
  color: #153E50;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.55;
}

.hildon-morning-intro .hmi-grid  {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.hildon-morning-intro .hmi-card  {
  min-width: 0;
  padding: 24px;
  border-radius: 22px;
  background: #F7E8CD;
  overflow-wrap: break-word;
}

.hildon-morning-intro .hmi-top  {
  grid-column: 1 / -1;
}

.hildon-morning-intro .hmi-yellow  {
  background: #FFF0B8;
}

.hildon-morning-intro .hmi-coral  {
  background: #FFE3DE;
}

.hildon-morning-intro h2  {
  margin: 0 0 16px;
  color: #153E50;
  font-size: 1.6rem;
  line-height: 1.2;
  font-weight: 700;
}

.hildon-morning-intro p  {
  margin: 0 0 16px;
}

.hildon-morning-intro p:last-child  {
  margin-bottom: 0;
}

.hildon-morning-intro a, .hildon-morning-intro a:visited  {
  color: #153E50;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.hildon-morning-intro a:hover  {
  text-decoration-thickness: 2px;
}

.hildon-morning-intro a:focus-visible  {
  outline: 2px solid #153E50;
  outline-offset: 4px;
}

@media (max-width: 820px)  {
  .hildon-morning-intro .hmi-grid  {
    grid-template-columns: 1fr;
  }

}

/* Evening Breathing introduction: scoped to this block. */
/* ==========================================================================
   06. EVENING BREATHING - INTRODUCTION CARDS
   Main page class: .hildon-evening-intro
   ========================================================================== */

.hildon-evening-intro, .hildon-evening-intro *  {
  box-sizing: border-box;
}

.hildon-evening-intro  {
  width: min(1180px, 100%);
  margin: 0 auto 24px 0;
  color: #153E50;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.55;
}

.hildon-evening-intro .hei-grid  {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.hildon-evening-intro .hei-card  {
  min-width: 0;
  padding: 24px;
  border-radius: 22px;
  background: #F7E8CD;
  overflow-wrap: break-word;
}

.hildon-evening-intro .hei-top  {
  grid-column: 1 / -1;
}

.hildon-evening-intro .hei-yellow  {
  background: #FFF0B8;
}

.hildon-evening-intro .hei-coral  {
  background: #FFE3DE;
}

.hildon-evening-intro h2  {
  margin: 0 0 16px;
  color: #153E50;
  font-size: 1.6rem;
  line-height: 1.2;
  font-weight: 700;
}

.hildon-evening-intro p  {
  margin: 0 0 16px;
}

.hildon-evening-intro p:last-child  {
  margin-bottom: 0;
}

.hildon-evening-intro a, .hildon-evening-intro a:visited  {
  color: #153E50;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.hildon-evening-intro a:hover  {
  text-decoration-thickness: 2px;
}

.hildon-evening-intro a:focus-visible  {
  outline: 2px solid #153E50;
  outline-offset: 4px;
}

@media (max-width: 820px)  {
  .hildon-evening-intro .hei-grid  {
    grid-template-columns: 1fr;
  }

}

/* ==========================================================================
   07. BREATHING RECORDINGS
   Main page class: .breathing-recordings
   ========================================================================== */

.breathing-recordings, .breathing-recordings *  {
  box-sizing: border-box;
}

.breathing-recordings  {
  width: min(1180px, 100%);
  margin: 2rem 0 3rem;
  color: #153e50;
  font-family: "Avenir Next", Avenir, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.55;
  text-align: left;
}

.breathing-recordings .br-grid  {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.breathing-recordings .br-card  {
  min-width: 0;
  padding: 1.3rem;
  border-radius: 22px;
  background: var(--br-category-colour, #f7e8cd);
  overflow-wrap: break-word;
}

.breathing-recordings h2  {
  margin: 0 0 1rem;
  color: #153e50;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.035em;
}

.breathing-recordings p  {
  margin: 0 0 1rem;
}

.breathing-recordings p:last-child  {
  margin-bottom: 0;
}

.breathing-recordings a, .breathing-recordings a:visited  {
  color: #153e50;
  text-decoration: underline;
  text-underline-offset: .15em;
}

.breathing-recordings a:focus-visible  {
  outline: 2px solid #153e50;
  outline-offset: 3px;
}

.breathing-recordings .br-password  {
  font-size: 1.15rem;
}

.breathing-recordings .br-password span  {
  font-size: 1.45rem;
  letter-spacing: .06em;
}

@media (max-width: 820px)  {
  .breathing-recordings .br-grid  {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 580px)  {
  .breathing-recordings .br-grid  {
    grid-template-columns: 1fr;
  }

}

.breathing-recordings .br-intro  {
  margin-bottom: 1rem;
}

.breathing-recordings .br-section  {
  margin-top: 2rem;
}

.breathing-recordings .br-image  {
  display: block;
  width: 150px;
  max-width: 100%;
  height: auto;
  margin: 0 0 1rem;
}

.breathing-recordings .br-url  {
  display: block;
  overflow-wrap: anywhere;
}

.breathing-recordings .br-video  {
  margin: 1rem 0;
  padding: 1.3rem;
  border-radius: 22px;
  background: var(--br-category-colour, #f7e8cd);
}

.breathing-recordings .br-player  {
  position: relative;
  padding-top: 56.25%;
}

.breathing-recordings .br-player iframe  {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.breathing-recordings figcaption  {
  margin-top: 1rem;
  text-align: left;
}

.breathing-recordings figcaption h2  {
  margin-bottom: 0;
}

.breathing-recordings .br-seafoam  {
  --br-category-colour: #daf5f0;
}

.breathing-recordings .br-lagoon  {
  --br-category-colour: #c9f0f5;
}

.breathing-recordings .br-sky  {
  --br-category-colour: #dff1ff;
}

.breathing-recordings .br-coral  {
  --br-category-colour: #ffe3de;
}

.breathing-recordings .br-sunlight  {
  --br-category-colour: #fff0b8;
}

/* Four primary recordings: two columns on larger screens, one on mobile. */
.breathing-recordings .br-primary-grid  {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 580px)  {
  .breathing-recordings .br-primary-grid  {
    grid-template-columns: 1fr;
  }

}

/* ==========================================================================
   08. ADVANCED BREATHING RECORDINGS
   Main page class: .advanced-breathing-recordings
   ========================================================================== */

.advanced-breathing-recordings, .advanced-breathing-recordings *  {
  box-sizing: border-box;
}

.advanced-breathing-recordings  {
  width: min(1180px, 100%);
  margin: 2rem 0 3rem;
  color: #153e50;
  font-family: "Avenir Next", Avenir, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.55;
  text-align: left;
}

.advanced-breathing-recordings .br-grid  {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.advanced-breathing-recordings .br-card  {
  min-width: 0;
  padding: 1.3rem;
  border-radius: 22px;
  background: var(--br-category-colour, #f7e8cd);
  overflow-wrap: break-word;
}

.advanced-breathing-recordings h2  {
  margin: 0 0 1rem;
  color: #153e50;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.035em;
}

.advanced-breathing-recordings p  {
  margin: 0 0 1rem;
}

.advanced-breathing-recordings p:last-child  {
  margin-bottom: 0;
}

.advanced-breathing-recordings a, .advanced-breathing-recordings a:visited  {
  color: #153e50;
  text-decoration: underline;
  text-underline-offset: .15em;
}

.advanced-breathing-recordings a:focus-visible  {
  outline: 2px solid #153e50;
  outline-offset: 3px;
}

.advanced-breathing-recordings .br-password  {
  font-size: 1.15rem;
}

.advanced-breathing-recordings .br-password span  {
  font-size: 1.45rem;
  letter-spacing: .06em;
}

@media (max-width: 820px)  {
  .advanced-breathing-recordings .br-grid  {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 580px)  {
  .advanced-breathing-recordings .br-grid  {
    grid-template-columns: 1fr;
  }

}

.advanced-breathing-recordings .br-intro  {
  margin-bottom: 1rem;
}

.advanced-breathing-recordings .br-section  {
  margin-top: 2rem;
}

.advanced-breathing-recordings .br-image  {
  display: block;
  width: 150px;
  max-width: 100%;
  height: auto;
  margin: 0 0 1rem;
}

.advanced-breathing-recordings .br-url  {
  display: block;
  overflow-wrap: anywhere;
}

.advanced-breathing-recordings .br-video  {
  margin: 1rem 0;
  padding: 1.3rem;
  border-radius: 22px;
  background: var(--br-category-colour, #f7e8cd);
}

.advanced-breathing-recordings .br-player  {
  position: relative;
  padding-top: 56.25%;
}

.advanced-breathing-recordings .br-player iframe  {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.advanced-breathing-recordings figcaption  {
  margin-top: 1rem;
  text-align: left;
}

.advanced-breathing-recordings figcaption h2  {
  margin-bottom: 0;
}

.advanced-breathing-recordings .br-seafoam  {
  --br-category-colour: #daf5f0;
}

.advanced-breathing-recordings .br-lagoon  {
  --br-category-colour: #c9f0f5;
}

.advanced-breathing-recordings .br-sky  {
  --br-category-colour: #dff1ff;
}

.advanced-breathing-recordings .br-coral  {
  --br-category-colour: #ffe3de;
}

.advanced-breathing-recordings .br-sunlight  {
  --br-category-colour: #fff0b8;
}

/* Four primary recordings: two columns on larger screens, one on mobile. */
.advanced-breathing-recordings .br-primary-grid  {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 580px)  {
  .advanced-breathing-recordings .br-primary-grid  {
    grid-template-columns: 1fr;
  }

}

.advanced-breathing-recordings .br-photo  {
  width: 700px;
  max-width: 100%;
  margin: 2rem 0 0;
  text-align: left;
}

.advanced-breathing-recordings .br-photo img  {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

.advanced-breathing-recordings .br-photo figcaption  {
  margin-top: .5rem;
}

/* ==========================================================================
   09. PRE-BREATHING CLASS REVIEWS
   Main page class: .pre-breathing-reviews
   ========================================================================== */

.pre-breathing-reviews, .pre-breathing-reviews *  {
  box-sizing: border-box;
}

.pre-breathing-reviews  {
  width: min(1180px, 100%);
  margin: 2rem 0 3rem;
  color: #153e50;
  font-family: "Avenir Next", Avenir, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.55;
  text-align: left;
}

.pre-breathing-reviews .br-grid  {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.pre-breathing-reviews .br-card  {
  min-width: 0;
  padding: 1.3rem;
  border-radius: 22px;
  background: var(--br-category-colour, #f7e8cd);
  overflow-wrap: break-word;
}

.pre-breathing-reviews h2  {
  margin: 0 0 1rem;
  color: #153e50;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.035em;
}

.pre-breathing-reviews p  {
  margin: 0 0 1rem;
}

.pre-breathing-reviews p:last-child  {
  margin-bottom: 0;
}

.pre-breathing-reviews a, .pre-breathing-reviews a:visited  {
  color: #153e50;
  text-decoration: underline;
  text-underline-offset: .15em;
}

.pre-breathing-reviews a:focus-visible  {
  outline: 2px solid #153e50;
  outline-offset: 3px;
}

.pre-breathing-reviews .br-password  {
  font-size: 1.15rem;
}

.pre-breathing-reviews .br-password span  {
  font-size: 1.45rem;
  letter-spacing: .06em;
}

@media (max-width: 820px)  {
  .pre-breathing-reviews .br-grid  {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 580px)  {
  .pre-breathing-reviews .br-grid  {
    grid-template-columns: 1fr;
  }

}

.pre-breathing-reviews .br-intro  {
  margin-bottom: 1rem;
}

.pre-breathing-reviews .br-section  {
  margin-top: 2rem;
}

.pre-breathing-reviews .br-image  {
  display: block;
  width: 150px;
  max-width: 100%;
  height: auto;
  margin: 0 0 1rem;
}

.pre-breathing-reviews .br-url  {
  display: block;
  overflow-wrap: anywhere;
}

.pre-breathing-reviews .br-video  {
  margin: 1rem 0;
  padding: 1.3rem;
  border-radius: 22px;
  background: var(--br-category-colour, #f7e8cd);
}

.pre-breathing-reviews .br-player  {
  position: relative;
  padding-top: 56.25%;
}

.pre-breathing-reviews .br-player iframe  {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.pre-breathing-reviews figcaption  {
  margin-top: 1rem;
  text-align: left;
}

.pre-breathing-reviews figcaption h2  {
  margin-bottom: 0;
}

.pre-breathing-reviews .br-seafoam  {
  --br-category-colour: #daf5f0;
}

.pre-breathing-reviews .br-lagoon  {
  --br-category-colour: #c9f0f5;
}

.pre-breathing-reviews .br-sky  {
  --br-category-colour: #dff1ff;
}

.pre-breathing-reviews .br-coral  {
  --br-category-colour: #ffe3de;
}

.pre-breathing-reviews .br-sunlight  {
  --br-category-colour: #fff0b8;
}

/* Four primary recordings: two columns on larger screens, one on mobile. */
.pre-breathing-reviews .br-primary-grid  {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 580px)  {
  .pre-breathing-reviews .br-primary-grid  {
    grid-template-columns: 1fr;
  }

}

.pre-breathing-reviews .br-photo  {
  width: 700px;
  max-width: 100%;
  margin: 2rem 0 0;
  text-align: left;
}

.pre-breathing-reviews .br-photo img  {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

.pre-breathing-reviews .br-photo figcaption  {
  margin-top: .5rem;
}

.pre-breathing-reviews .review-list  {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pre-breathing-reviews .review-list li + li  {
  border-top: 1px solid rgba(21,62,80,.18);
  margin-top: .85rem;
  padding-top: .85rem;
}

.pre-breathing-reviews .review-list a  {
  display: block;
  padding: .25rem 0;
  font-weight: 600;
}

.pre-breathing-reviews .host-table  {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(21,62,80,.2);
  border-radius: 12px;
  overflow: hidden;
  text-align: left;
}

.pre-breathing-reviews .host-table th, .pre-breathing-reviews .host-table td  {
  padding: .85rem 1rem;
  vertical-align: top;
  border: 0;
  border-bottom: 1px solid rgba(21,62,80,.15);
}

.pre-breathing-reviews .host-table thead th  {
  background: #153e50;
  color: #fff;
}

.pre-breathing-reviews .host-table tbody tr:nth-child(odd)  {
  background: rgba(255,255,255,.5);
}

.pre-breathing-reviews .host-table tbody tr:last-child > *  {
  border-bottom: 0;
}

.pre-breathing-reviews .host-table .mobile-label  {
  display: none;
}

@media (max-width: 580px)  {
  .pre-breathing-reviews .host-table, .pre-breathing-reviews .host-table tbody, .pre-breathing-reviews .host-table tr, .pre-breathing-reviews .host-table td, .pre-breathing-reviews .host-table tbody th  {
    display: block;
    width: 100%;
  }

  .pre-breathing-reviews .host-table thead  {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .pre-breathing-reviews .host-table tbody tr  {
    padding: .6rem 0;
    border-bottom: 1px solid rgba(21,62,80,.2);
  }

  .pre-breathing-reviews .host-table tbody tr:last-child  {
    border-bottom: 0;
  }

  .pre-breathing-reviews .host-table tbody th, .pre-breathing-reviews .host-table tbody td  {
    padding: .3rem .85rem;
    border: 0;
  }

  .pre-breathing-reviews .host-table .mobile-label  {
    display: inline;
    font-weight: 700;
  }

}

/* ==========================================================================
   10. SPARK EXPRESSION PRESENTATIONS
   Main page class: .spark-expression
   ========================================================================== */

.spark-expression, .spark-expression *  {
  box-sizing: border-box;
}

.spark-expression  {
  width: min(1180px, 100%);
  margin: 2rem 0 3rem;
  color: #153e50;
  font-family: "Avenir Next", Avenir, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.55;
  text-align: left;
}

.spark-expression .br-grid  {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.spark-expression .br-card  {
  min-width: 0;
  padding: 1.3rem;
  border-radius: 22px;
  background: var(--br-category-colour, #f7e8cd);
  overflow-wrap: break-word;
}

.spark-expression h2  {
  margin: 0 0 1rem;
  color: #153e50;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.035em;
}

.spark-expression p  {
  margin: 0 0 1rem;
}

.spark-expression p:last-child  {
  margin-bottom: 0;
}

.spark-expression a, .spark-expression a:visited  {
  color: #153e50;
  text-decoration: underline;
  text-underline-offset: .15em;
}

.spark-expression a:focus-visible  {
  outline: 2px solid #153e50;
  outline-offset: 3px;
}

.spark-expression .br-password  {
  font-size: 1.15rem;
}

.spark-expression .br-password span  {
  font-size: 1.45rem;
  letter-spacing: .06em;
}

@media (max-width: 820px)  {
  .spark-expression .br-grid  {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 580px)  {
  .spark-expression .br-grid  {
    grid-template-columns: 1fr;
  }

}

.spark-expression .br-intro  {
  margin-bottom: 1rem;
}

.spark-expression .br-section  {
  margin-top: 2rem;
}

.spark-expression .br-image  {
  display: block;
  width: 150px;
  max-width: 100%;
  height: auto;
  margin: 0 0 1rem;
}

.spark-expression .br-url  {
  display: block;
  overflow-wrap: anywhere;
}

.spark-expression .br-video  {
  margin: 1rem 0;
  padding: 1.3rem;
  border-radius: 22px;
  background: var(--br-category-colour, #f7e8cd);
}

.spark-expression .br-player  {
  position: relative;
  padding-top: 56.25%;
}

.spark-expression .br-player iframe  {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.spark-expression figcaption  {
  margin-top: 1rem;
  text-align: left;
}

.spark-expression figcaption h2  {
  margin-bottom: 0;
}

.spark-expression .br-seafoam  {
  --br-category-colour: #daf5f0;
}

.spark-expression .br-lagoon  {
  --br-category-colour: #c9f0f5;
}

.spark-expression .br-sky  {
  --br-category-colour: #dff1ff;
}

.spark-expression .br-coral  {
  --br-category-colour: #ffe3de;
}

.spark-expression .br-sunlight  {
  --br-category-colour: #fff0b8;
}

/* Four primary recordings: two columns on larger screens, one on mobile. */
.spark-expression .br-primary-grid  {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 580px)  {
  .spark-expression .br-primary-grid  {
    grid-template-columns: 1fr;
  }

}

.spark-expression .br-photo  {
  width: 700px;
  max-width: 100%;
  margin: 2rem 0 0;
  text-align: left;
}

.spark-expression .br-photo img  {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

.spark-expression .br-photo figcaption  {
  margin-top: .5rem;
}

.spark-expression .review-list  {
  margin: 0;
  padding: 0;
  list-style: none;
}

.spark-expression .review-list li + li  {
  border-top: 1px solid rgba(21,62,80,.18);
  margin-top: .85rem;
  padding-top: .85rem;
}

.spark-expression .review-list a  {
  display: block;
  padding: .25rem 0;
  font-weight: 600;
}

.spark-expression .host-table  {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(21,62,80,.2);
  border-radius: 12px;
  overflow: hidden;
  text-align: left;
}

.spark-expression .host-table th, .spark-expression .host-table td  {
  padding: .85rem 1rem;
  vertical-align: top;
  border: 0;
  border-bottom: 1px solid rgba(21,62,80,.15);
}

.spark-expression .host-table thead th  {
  background: #153e50;
  color: #fff;
}

.spark-expression .host-table tbody tr:nth-child(odd)  {
  background: rgba(255,255,255,.5);
}

.spark-expression .host-table tbody tr:last-child > *  {
  border-bottom: 0;
}

.spark-expression .host-table .mobile-label  {
  display: none;
}

@media (max-width: 580px)  {
  .spark-expression .host-table, .spark-expression .host-table tbody, .spark-expression .host-table tr, .spark-expression .host-table td, .spark-expression .host-table tbody th  {
    display: block;
    width: 100%;
  }

  .spark-expression .host-table thead  {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .spark-expression .host-table tbody tr  {
    padding: .6rem 0;
    border-bottom: 1px solid rgba(21,62,80,.2);
  }

  .spark-expression .host-table tbody tr:last-child  {
    border-bottom: 0;
  }

  .spark-expression .host-table tbody th, .spark-expression .host-table tbody td  {
    padding: .3rem .85rem;
    border: 0;
  }

  .spark-expression .host-table .mobile-label  {
    display: inline;
    font-weight: 700;
  }

}

.spark-expression .spark-week h2  {
  font-size: 1.35rem;
  line-height: 1.2;
}

.spark-expression .host-table th, .spark-expression .host-table td  {
  padding: .75rem .65rem;
  overflow-wrap: anywhere;
}

.spark-expression .host-table  {
  table-layout: fixed;
}

.spark-expression .host-table thead th:first-child  {
  width: 34%;
}

.spark-expression .spark-day  {
  display: block;
  font-weight: 400;
}

@media (min-width: 581px) and (max-width: 900px)  {
  .spark-expression .br-primary-grid  {
    grid-template-columns: 1fr;
  }

}

/* Scoped Joomla article styles; no external fonts or stylesheets. */
/* ==========================================================================
   11. TERMS OF USE / ACCESS SECURITY
   Main page class: .terms-guide
   ========================================================================== */

.terms-guide, .terms-guide *  {
  box-sizing: border-box;
}

.terms-guide  {
  width: min(1180px, calc(100% - 2rem));
  margin: 2rem auto 2rem 0;
  color: #153e50;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.55;
  text-align: left;
}

.terms-guide .terms-crest  {
  display: block;
  width: 60px;
  max-width: 100%;
  height: auto;
  margin: 0 0 1.5rem;
}

.terms-guide .terms-grid  {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}

.terms-guide .terms-card  {
  min-width: 0;
  padding: clamp(1.3rem, 3vw, 2rem);
  border: 1px solid transparent;
  border-radius: 22px;
  overflow-wrap: break-word;
}

.terms-guide .terms-sand  {
  background: #F7E8CD;
}

.terms-guide .terms-yellow  {
  background: #FFF0B8;
}

.terms-guide .terms-peach  {
  background: #FFE3DE;
}

.terms-guide .terms-mint  {
  background: #DAF5F0;
}

.terms-guide h2  {
  margin: 0 0 1rem;
  color: #153e50;
  font-size: 1.65rem;
  line-height: 1.1;
  letter-spacing: -.035em;
  font-weight: 700;
  text-wrap: balance;
}

.terms-guide p  {
  margin: 0 0 1rem;
}

.terms-guide p:last-child  {
  margin-bottom: 0;
}

.terms-guide a, .terms-guide a:visited  {
  color: #153e50;
  text-decoration: underline;
  text-underline-offset: .15em;
}

.terms-guide a:hover  {
  text-decoration-thickness: 2px;
}

.terms-guide a:focus-visible  {
  outline: 2px solid #153e50;
  outline-offset: 3px;
  border-radius: 2px;
}

@media (max-width: 820px)  {
  .terms-guide .terms-grid  {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 580px)  {
  .terms-guide  {
    width: 100%;
    margin: 1.5rem auto 1.5rem 0;
  }

  .terms-guide .terms-card  {
    border-radius: 16px;
  }

}

@media print  {
  .terms-guide  {
    width: 100%;
    margin: 0;
  }

  .terms-guide .terms-grid  {
    display: block;
  }

  .terms-guide .terms-card  {
    background: #fff;
    border: 1px solid #DDD7CD;
    margin-bottom: 1rem;
    break-inside: avoid;
  }

}

/* ==========================================================================
   12. KEY CONCEPTS OF SENIOR PHILOSOPHY
   Main page class: .key-concepts
   ========================================================================== */

.key-concepts, .key-concepts *  {
  box-sizing: border-box;
}

.key-concepts  {
  width: min(1180px, 100%);
  margin: 0 auto 4rem 0;
  color: #153E50;
  text-align: left;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  overflow-wrap: break-word;
}

.key-concepts .kc-header  {
  padding: 1.4rem;
  border-radius: 22px;
  background: #F7E8CD;
  margin-bottom: 1.25rem;
}

.key-concepts .kc-heading  {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.key-concepts .kc-crest  {
  display: block;
  width: 60px;
  height: auto;
  flex: 0 0 60px;
  margin: 0;
}

.key-concepts h1  {
  margin: 0;
  color: #153E50;
  font-size: clamp(1.65rem, 4vw, 2.3rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.key-concepts p  {
  margin: 0;
}

.key-concepts .kc-grid  {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.key-concepts .kc-link, .key-concepts .kc-link:visited  {
  display: flex;
  align-items: center;
  min-height: 110px;
  min-width: 0;
  padding: 1.4rem;
  border-radius: 22px;
  background: #fffdf9;
  color: #153E50;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.key-concepts .kc-link:hover  {
  box-shadow: inset 0 0 0 2px currentColor;
  text-decoration-thickness: 2px;
}

.key-concepts .kc-link:focus-visible  {
  outline: 3px solid #153E50;
  outline-offset: 4px;
}

@media (max-width: 820px)  {
  .key-concepts .kc-grid  {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 540px)  {
  .key-concepts .kc-grid  {
    grid-template-columns: 1fr;
  }

  .key-concepts .kc-header, .key-concepts .kc-link  {
    padding: 1.15rem;
    border-radius: 16px;
  }

  .key-concepts .kc-link  {
    min-height: 80px;
  }

}

.key-concepts .kc-link  {
  border: 1px solid transparent;
}

/* Card background colours from the supplied Navigation Tips HTML. */
.key-concepts .kc-link:nth-child(18n+1), .key-concepts .kc-link:nth-child(18n+2), .key-concepts .kc-link:nth-child(18n+3)  {
  background: #DAF5F0;
  color: #153E50;
}

.key-concepts .kc-link:nth-child(18n+4), .key-concepts .kc-link:nth-child(18n+5), .key-concepts .kc-link:nth-child(18n+6)  {
  background: #C9F0F5;
  color: #153E50;
}

.key-concepts .kc-link:nth-child(18n+7), .key-concepts .kc-link:nth-child(18n+8), .key-concepts .kc-link:nth-child(18n+9)  {
  background: #DFF1FF;
  color: #153E50;
}

.key-concepts .kc-link:nth-child(18n+10), .key-concepts .kc-link:nth-child(18n+11), .key-concepts .kc-link:nth-child(18n+12)  {
  background: #F7E8CD;
  color: #153E50;
}

.key-concepts .kc-link:nth-child(18n+13), .key-concepts .kc-link:nth-child(18n+14), .key-concepts .kc-link:nth-child(18n+15)  {
  background: #FFE3DE;
  color: #153E50;
}

.key-concepts .kc-link:nth-child(18n+16), .key-concepts .kc-link:nth-child(18n+17), .key-concepts .kc-link:nth-child(18n+18)  {
  background: #FFF0B8;
  color: #153E50;
}

@media (max-width: 820px)  {
  .key-concepts .kc-link:nth-child(12n+1), .key-concepts .kc-link:nth-child(12n+2)  {
    background: #DAF5F0;
    color: #153E50;
  }

  .key-concepts .kc-link:nth-child(12n+3), .key-concepts .kc-link:nth-child(12n+4)  {
    background: #C9F0F5;
    color: #153E50;
  }

  .key-concepts .kc-link:nth-child(12n+5), .key-concepts .kc-link:nth-child(12n+6)  {
    background: #DFF1FF;
    color: #153E50;
  }

  .key-concepts .kc-link:nth-child(12n+7), .key-concepts .kc-link:nth-child(12n+8)  {
    background: #F7E8CD;
    color: #153E50;
  }

  .key-concepts .kc-link:nth-child(12n+9), .key-concepts .kc-link:nth-child(12n+10)  {
    background: #FFE3DE;
    color: #153E50;
  }

  .key-concepts .kc-link:nth-child(12n+11), .key-concepts .kc-link:nth-child(12n+12)  {
    background: #FFF0B8;
    color: #153E50;
  }

}

@media (max-width: 540px)  {
  .key-concepts .kc-link:nth-child(6n+1)  {
    background: #DAF5F0;
    color: #153E50;
  }

  .key-concepts .kc-link:nth-child(6n+2)  {
    background: #C9F0F5;
    color: #153E50;
  }

  .key-concepts .kc-link:nth-child(6n+3)  {
    background: #DFF1FF;
    color: #153E50;
  }

  .key-concepts .kc-link:nth-child(6n+4)  {
    background: #F7E8CD;
    color: #153E50;
  }

  .key-concepts .kc-link:nth-child(6n+5)  {
    background: #FFE3DE;
    color: #153E50;
  }

  .key-concepts .kc-link:nth-child(6n+6)  {
    background: #FFF0B8;
    color: #153E50;
  }

}

@media print  {
  .key-concepts  {
    width: 100%;
    margin: 0;
  }

  .key-concepts .kc-header, .key-concepts .kc-link  {
    background: #fff;
    border: 1px solid #ccc;
    break-inside: avoid;
  }

}

.key-concepts .kc-section  {
  margin-top: 2rem;
}

.key-concepts .kc-section h2  {
  font-size: 1.6rem;
  margin-bottom: .75rem;
}

.key-concepts .kc-section > p  {
  margin-bottom: 1.25rem;
}

.key-concepts figure  {
  width: 700px;
  max-width: 100%;
  margin: 2rem 0 0;
  text-align: left;
}

.key-concepts figure img  {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: 16px;
}

.key-concepts figcaption  {
  margin-top: .65rem;
  font-size: .9rem;
  text-align: left;
}

/* ==========================================================================
   13. BREATHING PATTERNS EXPLAINED
   Main page class: .breathing-patterns
   ========================================================================== */

.breathing-patterns, .breathing-patterns *  {
  box-sizing: border-box;
}

.breathing-patterns  {
  width: min(1180px, 100%);
  margin: 0 auto 4rem 0;
  color: #153E50;
  text-align: left;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  overflow-wrap: break-word;
}

.breathing-patterns .bp-header  {
  padding: 1.4rem;
  border-radius: 22px;
  background: #F7E8CD;
  margin-bottom: 1.25rem;
}

.breathing-patterns .bp-heading  {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.breathing-patterns .bp-crest  {
  display: block;
  width: 60px;
  height: auto;
  flex: 0 0 60px;
  margin: 0;
}

.breathing-patterns h1  {
  margin: 0;
  color: #153E50;
  font-size: clamp(1.65rem, 4vw, 2.3rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.breathing-patterns p  {
  margin: 0;
}

.breathing-patterns .bp-grid  {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.breathing-patterns .bp-link, .breathing-patterns .bp-link:visited  {
  display: flex;
  align-items: center;
  min-height: 110px;
  min-width: 0;
  padding: 1.4rem;
  border-radius: 22px;
  background: #fffdf9;
  color: #153E50;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.breathing-patterns .bp-link:hover  {
  box-shadow: inset 0 0 0 2px currentColor;
  text-decoration-thickness: 2px;
}

.breathing-patterns .bp-link:focus-visible  {
  outline: 3px solid #153E50;
  outline-offset: 4px;
}

@media (max-width: 820px)  {
  .breathing-patterns .bp-grid  {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 540px)  {
  .breathing-patterns .bp-grid  {
    grid-template-columns: 1fr;
  }

  .breathing-patterns .bp-header, .breathing-patterns .bp-link  {
    padding: 1.15rem;
    border-radius: 16px;
  }

  .breathing-patterns .bp-link  {
    min-height: 80px;
  }

}

.breathing-patterns .bp-link  {
  border: 1px solid transparent;
}

/* Card background colours from the supplied Navigation Tips HTML. */
.breathing-patterns .bp-link:nth-child(18n+1), .breathing-patterns .bp-link:nth-child(18n+2), .breathing-patterns .bp-link:nth-child(18n+3)  {
  background: #DAF5F0;
  color: #153E50;
}

.breathing-patterns .bp-link:nth-child(18n+4), .breathing-patterns .bp-link:nth-child(18n+5), .breathing-patterns .bp-link:nth-child(18n+6)  {
  background: #C9F0F5;
  color: #153E50;
}

.breathing-patterns .bp-link:nth-child(18n+7), .breathing-patterns .bp-link:nth-child(18n+8), .breathing-patterns .bp-link:nth-child(18n+9)  {
  background: #DFF1FF;
  color: #153E50;
}

.breathing-patterns .bp-link:nth-child(18n+10), .breathing-patterns .bp-link:nth-child(18n+11), .breathing-patterns .bp-link:nth-child(18n+12)  {
  background: #F7E8CD;
  color: #153E50;
}

.breathing-patterns .bp-link:nth-child(18n+13), .breathing-patterns .bp-link:nth-child(18n+14), .breathing-patterns .bp-link:nth-child(18n+15)  {
  background: #FFE3DE;
  color: #153E50;
}

.breathing-patterns .bp-link:nth-child(18n+16), .breathing-patterns .bp-link:nth-child(18n+17), .breathing-patterns .bp-link:nth-child(18n+18)  {
  background: #FFF0B8;
  color: #153E50;
}

@media (max-width: 820px)  {
  .breathing-patterns .bp-link:nth-child(12n+1), .breathing-patterns .bp-link:nth-child(12n+2)  {
    background: #DAF5F0;
    color: #153E50;
  }

  .breathing-patterns .bp-link:nth-child(12n+3), .breathing-patterns .bp-link:nth-child(12n+4)  {
    background: #C9F0F5;
    color: #153E50;
  }

  .breathing-patterns .bp-link:nth-child(12n+5), .breathing-patterns .bp-link:nth-child(12n+6)  {
    background: #DFF1FF;
    color: #153E50;
  }

  .breathing-patterns .bp-link:nth-child(12n+7), .breathing-patterns .bp-link:nth-child(12n+8)  {
    background: #F7E8CD;
    color: #153E50;
  }

  .breathing-patterns .bp-link:nth-child(12n+9), .breathing-patterns .bp-link:nth-child(12n+10)  {
    background: #FFE3DE;
    color: #153E50;
  }

  .breathing-patterns .bp-link:nth-child(12n+11), .breathing-patterns .bp-link:nth-child(12n+12)  {
    background: #FFF0B8;
    color: #153E50;
  }

}

@media (max-width: 540px)  {
  .breathing-patterns .bp-link:nth-child(6n+1)  {
    background: #DAF5F0;
    color: #153E50;
  }

  .breathing-patterns .bp-link:nth-child(6n+2)  {
    background: #C9F0F5;
    color: #153E50;
  }

  .breathing-patterns .bp-link:nth-child(6n+3)  {
    background: #DFF1FF;
    color: #153E50;
  }

  .breathing-patterns .bp-link:nth-child(6n+4)  {
    background: #F7E8CD;
    color: #153E50;
  }

  .breathing-patterns .bp-link:nth-child(6n+5)  {
    background: #FFE3DE;
    color: #153E50;
  }

  .breathing-patterns .bp-link:nth-child(6n+6)  {
    background: #FFF0B8;
    color: #153E50;
  }

}

@media print  {
  .breathing-patterns  {
    width: 100%;
    margin: 0;
  }

  .breathing-patterns .bp-header, .breathing-patterns .bp-link  {
    background: #fff;
    border: 1px solid #ccc;
    break-inside: avoid;
  }

}

.breathing-patterns .bp-section  {
  margin-top: 2rem;
}

.breathing-patterns .bp-section h2  {
  font-size: 1.6rem;
  margin-bottom: .75rem;
}

.breathing-patterns .bp-section > p  {
  margin-bottom: 1.25rem;
}

.breathing-patterns figure  {
  width: 700px;
  max-width: 100%;
  margin: 2rem 0 0;
  text-align: left;
}

.breathing-patterns figure img  {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: 16px;
}

.breathing-patterns figcaption  {
  margin-top: .65rem;
  font-size: .9rem;
  text-align: left;
}

/* Joomla article fragment: self-contained styles, no external fonts or scripts. */
/* ==========================================================================
   14. USEFUL LINKS
   Main page class: .useful-links
   ========================================================================== */

.useful-links, .useful-links *  {
  box-sizing: border-box;
}

.useful-links  {
  width: min(1180px, 100%);
  margin: 0 auto 4rem 0;
  color: #153e50;
  text-align: left;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  overflow-wrap: break-word;
}

.useful-links h1, .useful-links h2, .useful-links h3  {
  color: #153e50;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.useful-links h1  {
  margin: 0;
  font-size: clamp(1.75rem, 4vw, 2.3rem);
}

.useful-links h2  {
  margin: 0 0 1rem;
  font-size: 1.6rem;
}

.useful-links h3  {
  margin: 0 0 .5rem;
  font-size: 1.15rem;
}

.useful-links p  {
  margin: 0;
}

.useful-links .ul-header  {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.4rem;
  background: #f7e8cd;
  border-radius: 22px;
  margin-bottom: 2rem;
}

.useful-links .ul-crest  {
  display: block;
  width: 60px;
  height: auto;
  margin: 0;
  flex: 0 0 60px;
}

.useful-links .ul-section  {
  margin: 0 0 2rem;
}

.useful-links .ul-grid  {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.useful-links .ul-card  {
  min-width: 0;
  padding: 1.4rem;
  border-radius: 22px;
  background: #daf5f0;
}

.useful-links .ul-downloads .ul-card  {
  background: #c9f0f5;
}

.useful-links .ul-resort .ul-card  {
  background: #dff1ff;
}

.useful-links a, .useful-links a:visited  {
  color: #153e50;
  text-decoration: underline;
  text-underline-offset: .18em;
  text-decoration-thickness: 1px;
}

.useful-links a:hover  {
  text-decoration-thickness: 2px;
}

.useful-links a:focus-visible  {
  outline: 3px solid #153e50;
  outline-offset: 4px;
  border-radius: 2px;
}

.useful-links .ul-link-note  {
  font-size: .9rem;
  margin: -.5rem 0 1.5rem;
}

@media (max-width: 640px)  {
  .useful-links  {
    margin-top: 0;
  }

  .useful-links .ul-grid  {
    grid-template-columns: 1fr;
  }

  .useful-links .ul-header, .useful-links .ul-card  {
    padding: 1.15rem;
    border-radius: 16px;
  }

}

@media print  {
  .useful-links  {
    width: 100%;
    margin: 0;
  }

  .useful-links .ul-grid  {
    display: block;
  }

  .useful-links .ul-card, .useful-links .ul-header  {
    background: #fff;
    border: 1px solid #ccc;
    margin-bottom: 1rem;
    break-inside: avoid;
  }

}

/* ==========================================================================
   15. VIDEO AND AUDIO REPLAYS INDEX
   Main page class: .replays-index
   ========================================================================== */

.replays-index, .replays-index *  {
  box-sizing: border-box;
}

.replays-index  {
  width: min(1180px, 100%);
  margin: 0 auto 4rem 0;
  color: #153E50;
  text-align: left;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  overflow-wrap: break-word;
}

.replays-index .ri-header  {
  padding: 1.4rem;
  border-radius: 22px;
  background: #F7E8CD;
  margin-bottom: 1.25rem;
}

.replays-index .ri-heading  {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.replays-index .ri-crest  {
  display: block;
  width: 60px;
  height: auto;
  flex: 0 0 60px;
  margin: 0;
}

.replays-index h1, .replays-index h2  {
  margin: 0;
  color: #153E50;
  font-size: clamp(1.65rem, 4vw, 2.3rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.replays-index p  {
  margin: 0;
}

.replays-index .ri-grid  {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.replays-index .ri-link, .replays-index .ri-link:visited  {
  display: flex;
  align-items: center;
  min-height: 110px;
  min-width: 0;
  padding: 1.4rem;
  border-radius: 22px;
  background: #fffdf9;
  color: #153E50;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.replays-index .ri-link:hover  {
  box-shadow: inset 0 0 0 2px currentColor;
  text-decoration-thickness: 2px;
}

.replays-index .ri-link:focus-visible  {
  outline: 3px solid #153E50;
  outline-offset: 4px;
}

@media (max-width: 820px)  {
  .replays-index .ri-grid  {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 540px)  {
  .replays-index .ri-grid  {
    grid-template-columns: 1fr;
  }

  .replays-index .ri-header, .replays-index .ri-link  {
    padding: 1.15rem;
    border-radius: 16px;
  }

  .replays-index .ri-link  {
    min-height: 80px;
  }

}

.replays-index .ri-link  {
  border: 1px solid transparent;
}

/* Card background colours from the supplied Navigation Tips HTML. */
.replays-index .ri-link:nth-child(18n+1), .replays-index .ri-link:nth-child(18n+2), .replays-index .ri-link:nth-child(18n+3)  {
  background: #DAF5F0;
  color: #153E50;
}

.replays-index .ri-link:nth-child(18n+4), .replays-index .ri-link:nth-child(18n+5), .replays-index .ri-link:nth-child(18n+6)  {
  background: #C9F0F5;
  color: #153E50;
}

.replays-index .ri-link:nth-child(18n+7), .replays-index .ri-link:nth-child(18n+8), .replays-index .ri-link:nth-child(18n+9)  {
  background: #DFF1FF;
  color: #153E50;
}

.replays-index .ri-link:nth-child(18n+10), .replays-index .ri-link:nth-child(18n+11), .replays-index .ri-link:nth-child(18n+12)  {
  background: #F7E8CD;
  color: #153E50;
}

.replays-index .ri-link:nth-child(18n+13), .replays-index .ri-link:nth-child(18n+14), .replays-index .ri-link:nth-child(18n+15)  {
  background: #FFE3DE;
  color: #153E50;
}

.replays-index .ri-link:nth-child(18n+16), .replays-index .ri-link:nth-child(18n+17), .replays-index .ri-link:nth-child(18n+18)  {
  background: #FFF0B8;
  color: #153E50;
}

@media (max-width: 820px)  {
  .replays-index .ri-link:nth-child(12n+1), .replays-index .ri-link:nth-child(12n+2)  {
    background: #DAF5F0;
    color: #153E50;
  }

  .replays-index .ri-link:nth-child(12n+3), .replays-index .ri-link:nth-child(12n+4)  {
    background: #C9F0F5;
    color: #153E50;
  }

  .replays-index .ri-link:nth-child(12n+5), .replays-index .ri-link:nth-child(12n+6)  {
    background: #DFF1FF;
    color: #153E50;
  }

  .replays-index .ri-link:nth-child(12n+7), .replays-index .ri-link:nth-child(12n+8)  {
    background: #F7E8CD;
    color: #153E50;
  }

  .replays-index .ri-link:nth-child(12n+9), .replays-index .ri-link:nth-child(12n+10)  {
    background: #FFE3DE;
    color: #153E50;
  }

  .replays-index .ri-link:nth-child(12n+11), .replays-index .ri-link:nth-child(12n+12)  {
    background: #FFF0B8;
    color: #153E50;
  }

}

@media (max-width: 540px)  {
  .replays-index .ri-link:nth-child(6n+1)  {
    background: #DAF5F0;
    color: #153E50;
  }

  .replays-index .ri-link:nth-child(6n+2)  {
    background: #C9F0F5;
    color: #153E50;
  }

  .replays-index .ri-link:nth-child(6n+3)  {
    background: #DFF1FF;
    color: #153E50;
  }

  .replays-index .ri-link:nth-child(6n+4)  {
    background: #F7E8CD;
    color: #153E50;
  }

  .replays-index .ri-link:nth-child(6n+5)  {
    background: #FFE3DE;
    color: #153E50;
  }

  .replays-index .ri-link:nth-child(6n+6)  {
    background: #FFF0B8;
    color: #153E50;
  }

}

@media print  {
  .replays-index  {
    width: 100%;
    margin: 0;
  }

  .replays-index .ri-header, .replays-index .ri-link  {
    background: #fff;
    border: 1px solid #ccc;
    break-inside: avoid;
  }

}

.replays-index .ri-section  {
  margin-top: 2rem;
}

.replays-index .ri-section h2  {
  font-size: 1.6rem;
  margin-bottom: .75rem;
}

.replays-index .ri-section > p  {
  margin-bottom: 1.25rem;
}

.replays-index figure  {
  width: 700px;
  max-width: 100%;
  margin: 2rem 0 0;
  text-align: left;
}

.replays-index figure img  {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: 16px;
}

.replays-index figcaption  {
  margin-top: .65rem;
  font-size: .9rem;
  text-align: left;
}

/* ==========================================================================
   16. QUESTIONS INDEX / DOCK TALK QUESTIONS
   Main page class: .questions-index
   ========================================================================== */

.questions-index, .questions-index *  {
  box-sizing: border-box;
}

.questions-index  {
  width: min(1180px, 100%);
  margin: 0 auto 4rem 0;
  color: #153E50;
  text-align: left;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  overflow-wrap: break-word;
}

.questions-index .qi-header  {
  padding: 1.4rem;
  border-radius: 22px;
  background: #F7E8CD;
  margin-bottom: 1.25rem;
}

.questions-index .qi-heading  {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.questions-index .qi-crest  {
  display: block;
  width: 60px;
  height: auto;
  flex: 0 0 60px;
  margin: 0;
}

.questions-index h2  {
  margin: 0;
  color: #153E50;
  font-size: clamp(1.65rem, 4vw, 2.3rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.questions-index p  {
  margin: 0;
}

.questions-index .qi-grid  {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.questions-index .qi-link, .questions-index .qi-link:visited  {
  display: flex;
  align-items: center;
  min-height: 110px;
  min-width: 0;
  padding: 1.4rem;
  border-radius: 22px;
  background: #fffdf9;
  color: #153E50;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.questions-index .qi-link:hover  {
  box-shadow: inset 0 0 0 2px currentColor;
  text-decoration-thickness: 2px;
}

.questions-index .qi-link:focus-visible  {
  outline: 3px solid #153E50;
  outline-offset: 4px;
}

@media (max-width: 820px)  {
  .questions-index .qi-grid  {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 540px)  {
  .questions-index .qi-grid  {
    grid-template-columns: 1fr;
  }

  .questions-index .qi-header, .questions-index .qi-link  {
    padding: 1.15rem;
    border-radius: 16px;
  }

  .questions-index .qi-link  {
    min-height: 80px;
  }

}

.questions-index .qi-link  {
  border: 1px solid transparent;
}

/* Card background colours from the supplied Navigation Tips HTML. */
.questions-index .qi-link:nth-child(18n+1), .questions-index .qi-link:nth-child(18n+2), .questions-index .qi-link:nth-child(18n+3)  {
  background: #DAF5F0;
  color: #153E50;
}

.questions-index .qi-link:nth-child(18n+4), .questions-index .qi-link:nth-child(18n+5), .questions-index .qi-link:nth-child(18n+6)  {
  background: #C9F0F5;
  color: #153E50;
}

.questions-index .qi-link:nth-child(18n+7), .questions-index .qi-link:nth-child(18n+8), .questions-index .qi-link:nth-child(18n+9)  {
  background: #DFF1FF;
  color: #153E50;
}

.questions-index .qi-link:nth-child(18n+10), .questions-index .qi-link:nth-child(18n+11), .questions-index .qi-link:nth-child(18n+12)  {
  background: #F7E8CD;
  color: #153E50;
}

.questions-index .qi-link:nth-child(18n+13), .questions-index .qi-link:nth-child(18n+14), .questions-index .qi-link:nth-child(18n+15)  {
  background: #FFE3DE;
  color: #153E50;
}

.questions-index .qi-link:nth-child(18n+16), .questions-index .qi-link:nth-child(18n+17), .questions-index .qi-link:nth-child(18n+18)  {
  background: #FFF0B8;
  color: #153E50;
}

@media (max-width: 820px)  {
  .questions-index .qi-link:nth-child(12n+1), .questions-index .qi-link:nth-child(12n+2)  {
    background: #DAF5F0;
    color: #153E50;
  }

  .questions-index .qi-link:nth-child(12n+3), .questions-index .qi-link:nth-child(12n+4)  {
    background: #C9F0F5;
    color: #153E50;
  }

  .questions-index .qi-link:nth-child(12n+5), .questions-index .qi-link:nth-child(12n+6)  {
    background: #DFF1FF;
    color: #153E50;
  }

  .questions-index .qi-link:nth-child(12n+7), .questions-index .qi-link:nth-child(12n+8)  {
    background: #F7E8CD;
    color: #153E50;
  }

  .questions-index .qi-link:nth-child(12n+9), .questions-index .qi-link:nth-child(12n+10)  {
    background: #FFE3DE;
    color: #153E50;
  }

  .questions-index .qi-link:nth-child(12n+11), .questions-index .qi-link:nth-child(12n+12)  {
    background: #FFF0B8;
    color: #153E50;
  }

}

@media (max-width: 540px)  {
  .questions-index .qi-link:nth-child(6n+1)  {
    background: #DAF5F0;
    color: #153E50;
  }

  .questions-index .qi-link:nth-child(6n+2)  {
    background: #C9F0F5;
    color: #153E50;
  }

  .questions-index .qi-link:nth-child(6n+3)  {
    background: #DFF1FF;
    color: #153E50;
  }

  .questions-index .qi-link:nth-child(6n+4)  {
    background: #F7E8CD;
    color: #153E50;
  }

  .questions-index .qi-link:nth-child(6n+5)  {
    background: #FFE3DE;
    color: #153E50;
  }

  .questions-index .qi-link:nth-child(6n+6)  {
    background: #FFF0B8;
    color: #153E50;
  }

}

@media print  {
  .questions-index  {
    width: 100%;
    margin: 0;
  }

  .questions-index .qi-header, .questions-index .qi-link  {
    background: #fff;
    border: 1px solid #ccc;
    break-inside: avoid;
  }

}

.questions-index .qi-section  {
  margin-top: 2rem;
}

.questions-index .qi-section h2  {
  font-size: 1.6rem;
  margin-bottom: .75rem;
}

.questions-index .qi-section > p  {
  margin-bottom: 1.25rem;
}

.questions-index figure  {
  width: 700px;
  max-width: 100%;
  margin: 2rem 0 0;
  text-align: left;
}

.questions-index figure img  {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: 16px;
}

.questions-index figcaption  {
  margin-top: .65rem;
  font-size: .9rem;
  text-align: left;
}

/* ==========================================================================
   17. MESSAGE INDEX
   Main page class: .message-index
   ========================================================================== */

.message-index, .message-index *  {
  box-sizing: border-box;
}

.message-index  {
  width: min(1180px, 100%);
  margin: 0 auto 4rem 0;
  color: #153e50;
  text-align: left;
  font-family: "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  overflow-wrap: break-word;
}

.message-index .mi-header  {
  padding: 1.4rem;
  border-radius: 22px;
  background: #f7e8cd;
  margin-bottom: 1.25rem;
}

.message-index .mi-heading  {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.message-index .mi-crest  {
  display: block;
  width: 60px;
  height: auto;
  flex: 0 0 60px;
  margin: 0;
}

.message-index h2  {
  margin: 0;
  color: #153e50;
  font-size: clamp(1.65rem, 4vw, 2.3rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.message-index p  {
  margin: 0;
}

.message-index .mi-grid  {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.message-index .mi-link, .message-index .mi-link:visited  {
  display: flex;
  align-items: center;
  min-height: 110px;
  min-width: 0;
  padding: 1.4rem;
  border-radius: 22px;
  background: #daf5f0;
  color: #153e50;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.message-index .mi-link:nth-child(n+4)  {
  background: #c9f0f5;
}

.message-index .mi-link:nth-child(n+7)  {
  background: #dff1ff;
}

.message-index .mi-link:hover  {
  box-shadow: inset 0 0 0 2px #153e50;
  text-decoration-thickness: 2px;
}

.message-index .mi-link:focus-visible  {
  outline: 3px solid #153e50;
  outline-offset: 4px;
}

@media (max-width: 820px)  {
  .message-index .mi-grid  {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 540px)  {
  .message-index .mi-grid  {
    grid-template-columns: 1fr;
  }

  .message-index .mi-header, .message-index .mi-link  {
    padding: 1.15rem;
    border-radius: 16px;
  }

  .message-index .mi-link  {
    min-height: 80px;
  }

}

@media print  {
  .message-index  {
    width: 100%;
    margin: 0;
  }

  .message-index .mi-header, .message-index .mi-link  {
    background: #fff;
    border: 1px solid #ccc;
    break-inside: avoid;
  }

}
