@charset "UTF-8";
/*!
Theme Name: NHS Circles 2024
Text Domain: circles
Domain Path: /languages
Author: Max Kohler
Author URI: http://maxkohler.com/
Description: Custom Wordpress theme for NHS Circles. Required plugins: Advanced Custom Fields Pro. Design and development by Max Kohler, identity by Brighten the Corners. See README.md for developer information and changelog.
Version: 0.0.72
License: All rights reserved
*/
@font-face {
  font-family: "Trocchi";
  src: url("./assets/Trocchi-Regular.subset.woff") format("woff"), url("./assets/Trocchi-Regular.subset.woff2") format("woff2");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
:root {
  --white: #f4f2ed;
  --beige: #eae3d0;
  --black: #28282b;
  --gray: #6d6d72;
  --salmon: #f2d8d5;
  --ochre: #dc8234;
  --ochre-light: #f4e7dc;
  --red: #cd303d;
  --coral: #fa6554;
  --coral-light: #fdc9c1;
  --orange: #d56032;
  --orange-light: #eac5b7;
  --teal: #639fa0;
  --teal-light: #73aaaa;
  --pink: #f6548d;
  --ratio: 1.3;
  --measure: 44rem;
  --ms-0: clamp(1rem, calc(1.35vw + 0.3rem), 1.3rem);
  --ms--2: calc(var(--ms--1) / var(--ratio));
  --ms--1: calc(var(--ms-0) / var(--ratio));
  --ms-1: calc(var(--ms-0) * var(--ratio));
  --ms-2: calc(var(--ms-1) * var(--ratio));
  --ms-3: calc(var(--ms-2) * var(--ratio));
  --ms-4: calc(var(--ms-3) * var(--ratio));
  --ms-5: calc(var(--ms-4) * var(--ratio));
  --ms-6: calc(var(--ms-5) * var(--ratio));
  --serif: Trocchi, serif;
  --sans: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue",
  	Helvetica, Arial, "Lucida Grande", sans-serif;
  --text-margin: calc((100vw - var(--measure)) / 2 + var(--padding-x));
  --baseline: calc(var(--ms-0) * 1.45);
  --padding-x: Max(1.25rem, 4vw);
  --padding-y: 1rem;
  --fast: 150ms;
  --slow: 450ms;
  --br: 1.5rem;
  --bw: 0.75rem;
  --header-height: 3rem;
}
@media (min-width: 800px) {
  :root {
    --baseline: calc(var(--ms-0) * 1.55);
    --header-height: 3.75rem;
    --measure-wide: calc(var(--measure) + 4em);
    --measure-full: calc(var(--measure) * 1.5);
    --br: 3rem;
  }
}

.books__authors, .wp-block-file, body {
  font-family: var(--serif);
  font-size: var(--ms-0);
  line-height: var(--baseline);
  text-rendering: optimizeLegibility;
  letter-spacing: 0.012em;
  font-weight: 300;
  font-feature-settings: "liga" 1;
}
@media (min-width: 800px) {
  .books__authors, .wp-block-file, body {
    letter-spacing: 0.015em;
  }
}
.books__note__container, .audio__caption, .site__footer, .menu__yah, .site__nav, .site__skip {
  font-family: var(--sans);
  font-size: var(--ms--1);
  line-height: calc(var(--baseline) * 0.75);
  word-spacing: -0.01em;
  letter-spacing: 0.02em;
}
@media (min-width: 800px) {
  .books__note__container, .audio__caption, .site__footer, .menu__yah, .site__nav, .site__skip {
    letter-spacing: 0.004em;
  }
}

.home__subtitle, .audio__transcript, .wp-block-quote cite, .wp-block-quote, .audio__time {
  font-family: var(--sans);
  font-size: var(--ms-0);
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: var(--baseline);
}

.audio__time {
  letter-spacing: 0;
  font-weight: 600;
}

.wp-block-quote {
  font-weight: 500;
  font-size: var(--ms-1);
  line-height: calc(var(--baseline) * 1.15);
}
@media (min-width: 800px) {
  .wp-block-quote {
    letter-spacing: -0.0075em;
    font-size: var(--ms-2);
    line-height: calc(var(--baseline) * 1.333);
    word-spacing: -0.025em;
  }
}

.home__title, .single__title {
  font-family: var(--serif);
  font-size: var(--ms-3);
  letter-spacing: 0;
  text-wrap: balance;
  line-height: calc(var(--baseline) * 2);
}
@media (min-width: 500px) {
  .home__title, .single__title {
    line-height: calc(var(--baseline) * 2.333);
    font-size: var(--ms-4);
  }
}
@media (min-width: 800px) {
  .home__title, .single__title {
    font-size: var(--ms-5);
    letter-spacing: -0.01em;
    line-height: calc(var(--baseline) * 3);
  }
}

.single__body h2 {
  font-family: var(--sans);
  font-size: var(--ms-1);
  font-weight: 700;
  letter-spacing: -0.005em;
  line-height: calc(var(--baseline) * 1.125);
}

.single__body h3 {
  font-family: var(--sans);
  font-size: calc(var(--ms-0) * 1.035);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.single__body .wp-block-details summary, .books__authors a, .wp-block-file a, body a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-style: dotted;
}
.single__body .wp-block-details summary:hover, .books__authors a:hover, .wp-block-file a:hover, body a:hover, .single__body .wp-block-details summary:focus-visible, .books__authors a:focus-visible, .wp-block-file a:focus-visible, body a:focus-visible {
  text-decoration-style: solid;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
  font-weight: inherit;
  font-size: inherit;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

textarea:not([rows]) {
  min-height: 10em;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

:target {
  scroll-margin-block: 5ex;
}

button {
  -webkit-tap-highlight-color: transparent;
  font-family: inherit;
  text-transform: inherit;
  word-spacing: inherit;
  letter-spacing: inherit;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) * 0.5);
}

body {
  font-size: var(--ms-0);
  background: var(--white);
}

a {
  color: inherit;
}

.screen-reader-text {
  font-size: 0 !important;
  position: absolute;
  left: -9999px;
}

::-moz-selection {
  background-color: var(--black);
  color: var(--beige);
  text-shadow: none;
}

::selection {
  background-color: var(--black);
  color: var(--beige);
  text-shadow: none;
}

:focus-visible {
  outline: 3px solid var(--black);
  outline-offset: 1px;
  border-radius: 2px;
}

.has-white-background-color {
  background: var(--white);
}

.has-beige-background-color {
  background: var(--beige);
}

.has-black-background-color {
  background: var(--black);
}

.has-gray-background-color {
  background: var(--gray);
}

.has-salmon-background-color {
  background: var(--salmon);
}

.has-ochre-background-color {
  background: var(--ochre);
}

.has-ochre-light-background-color {
  background: var(--ochre-light);
}

.has-red-background-color {
  background: var(--red);
}

.has-coral-background-color {
  background: var(--coral);
}

.has-coral-light-background-color {
  background: var(--coral-light);
}

.has-orange-background-color {
  background: var(--orange);
}

.has-orange-ligh-background-color {
  background: var(--orange-light);
}

.has-teal-background-color {
  background: var(--teal);
}

.has-pink-background-color {
  background: var(--pink);
}

.site__skip {
  position: fixed;
  z-index: 5000;
  top: 0.75em;
  left: calc(var(--padding-x) + 10em);
  border: 1px solid var(--black);
  opacity: 0;
  pointer-events: none;
  background: var(--white);
  text-decoration: none;
  padding: 0.2em 0.75em;
  border-radius: var(--br);
  outline-offset: 2px;
}
.admin-bar .site__skip {
  top: calc(var(--wp-admin--admin-bar--height) + 0.75em);
}
.site__skip:focus-visible {
  opacity: 1;
  pointer-events: all;
}

.site__header {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding: 0 var(--padding-x);
  height: var(--header-height);
  z-index: 1000;
  align-items: center;
  background: var(--white);
  justify-content: space-between;
  border-bottom: 1px solid var(--black);
}
.admin-bar .site__header {
  top: var(--wp-admin--admin-bar--height);
}

.site__title {
  display: flex;
  gap: 0.35em;
  text-decoration: none;
  align-items: center;
  font-size: 1.4rem;
  outline-offset: 3px;
  border-radius: 10px;
  padding: 0.15em 0.2em;
  margin-left: -0.2em;
  transition: var(--fast);
}
.site__title:hover, .site__title:focus-visible {
  background: rgba(0, 0, 0, 0.025);
}
@media (min-width: 800px) {
  .site__title {
    font-size: 1.65rem;
  }
}
.site__title svg {
  width: 1.25em;
  display: block;
}

.site__nav {
  display: flex;
  gap: 1em;
  position: fixed;
  top: var(--header-height);
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--padding-x);
  padding-top: 0.25em;
  background: var(--white);
  font-size: var(--ms-3);
  font-weight: 600;
  visibility: hidden;
  opacity: 0;
  transition: var(--fast);
}
.site__nav a {
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
  display: block;
  padding: 0.1em 0;
  padding-top: 0.25em;
  padding-right: 1em;
  line-height: 1.1;
  text-wrap: balance;
  outline-offset: 2px;
  letter-spacing: -0.0125em;
}
.site__nav.is-active {
  visibility: visible;
  opacity: 1;
}
@media (min-width: 800px) {
  .site__nav {
    visibility: visible;
    opacity: 1;
    font-weight: 400;
    font-size: var(--ms--1);
    position: static;
    padding: 0;
    align-items: baseline;
    background: transparent;
    padding-top: 0.2em;
  }
  .site__nav .is-cta a {
    background: var(--black);
    color: var(--white);
    padding: 0.5em 0.85em;
    padding-bottom: 0.35em;
    border-radius: 1em;
    text-decoration: none;
  }
  .site__nav .is-cta a:hover, .site__nav .is-cta a:focus-visible {
    text-decoration: underline;
  }
  .site__nav a {
    border-bottom: 0;
    display: inline-block;
    text-decoration: underline;
    text-decoration-style: dotted;
    letter-spacing: 0;
    padding: 0;
  }
  .site__nav ul {
    display: contents;
  }
}
.site__nav ul {
  list-style: none;
}

.menu__yah {
  display: none;
  align-items: center;
  gap: 0.25em;
  position: relative;
  padding: 0.1em 0.6em;
  padding-top: 0.25em;
  border-radius: 10px;
  top: -0.2em;
  text-transform: uppercase;
  font-weight: normal;
  color: var(--red);
}
.menu__yah svg {
  width: 1.2em;
  height: auto;
  transform: rotate(180deg) translateY(0.1em);
}
.menu__yah path {
  stroke: currentColor;
  stroke-width: 10;
}

.toggle-menu {
  font-family: var(--sans);
  position: absolute;
  right: var(--padding-x);
  font-size: 0.9rem;
  padding: 0.1em 0.65em;
  padding-top: 0;
  z-index: 1000;
  background: transparent;
  border: 1px solid var(--black);
  border-radius: 1em;
  cursor: pointer;
}
@media (min-width: 800px) {
  .toggle-menu {
    display: none;
  }
}

.current-menu-item .menu__yah {
  display: inline-flex;
}
@media (min-width: 800px) {
  .current-menu-item .menu__yah {
    display: none;
  }
}
.current-menu-item a {
  font-weight: bold;
  text-decoration: none;
}

.site__footer {
  color: var(--black);
  padding: 1em var(--padding-x);
  padding-top: 2em;
  clear: both;
}

.footer__logos {
  display: flex;
  gap: 1em;
  margin-bottom: 1em;
}
@media (min-width: 800px) {
  .footer__logos {
    gap: 1.5em;
  }
}
.footer__logos img {
  height: 3.5em;
  display: block;
}
.footer__logos a:hover, .footer__logos a:focus-visible {
  opacity: 0.9;
}

.footer__copy {
  display: flex;
  gap: 0.5em;
  flex-flow: column;
  justify-content: flex-start;
}
@media (min-width: 500px) {
  .footer__copy {
    gap: 0;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
  }
}

.footer__nav {
  display: flex;
  line-height: 1.6;
  flex-wrap: wrap;
  -moz-column-gap: 0.65em;
       column-gap: 0.65em;
  max-width: 35em;
}
@media (min-width: 800px) {
  .footer__nav {
    flex-wrap: nowrap;
    max-width: none;
  }
  .footer__nav a {
    justify-content: flex-start;
  }
}
.footer__nav ul {
  list-style: none;
  display: contents;
}

.footer__copyright {
  font-size: var(--ms--2);
  font-family: var(--sans);
}

.single__content {
  padding-top: calc(var(--header-height));
  margin: 0 auto;
  background: var(--white);
}
@media (min-width: 800px) {
  .single__content {
    padding-bottom: 4em;
  }
}

.single__header {
  padding: calc(var(--baseline) * 5) 0;
  padding-bottom: calc(var(--baseline) * 3);
  margin-bottom: var(--ms-0);
  text-align: center;
  color: var(--black);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
}
@media (min-width: 800px) {
  .single__header {
    min-height: 24em;
    padding: calc(var(--baseline) * 2) 0;
    padding-bottom: calc(var(--baseline) * 3);
  }
}
.single__header canvas {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.single__header:after {
  content: "";
  height: 10rem;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  background: linear-gradient(to bottom, transparent 0%, var(--white) 100%);
}

.single__header__inner {
  position: relative;
  z-index: 100;
}

.single__title {
  max-width: 14em;
  padding: 0 var(--padding-x);
  text-shadow: 0 0 2px var(--salmon);
}

.single__body {
  padding: 0 var(--padding-x);
  padding-top: 3rem;
}
.single__body a {
  color: var(--red);
}
.single__body p,
.single__body ul:not([class]),
.single__body ol,
.single__body dl {
  margin-bottom: 1em;
  max-width: var(--measure);
  margin-left: auto;
  margin-right: auto;
}
.single__body h2,
.single__body h3,
.single__body h4,
.single__body h5,
.single__body h6,
.single__body .wp-block-details {
  max-width: var(--measure);
  margin-left: auto;
  margin-right: auto;
}
.single__body .wp-block-details[open] {
  padding-bottom: 0.5em;
}
.single__body .wp-block-details[open] summary {
  margin-bottom: 0.5em;
}
.single__body .wp-block-details .biglist {
  margin-top: 0;
}
.single__body ol:not([class]) li,
.single__body ul:not([class]) li {
  padding-left: 1.65em;
  margin-bottom: calc(var(--baseline) * 0.25);
}
.single__body ul:not([class]) li {
  list-style: none;
  position: relative;
  padding-left: 1.25em;
}
.single__body ul:not([class]) li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 0.75em;
  height: 0.75em;
  border-radius: 100px;
  background: var(--fc);
}
.single__body ol:not([class]) {
  counter-reset: ol_li;
  list-style: none;
}
.single__body ol:not([class]) li {
  counter-increment: ol_li;
  position: relative;
}
.single__body ol:not([class]) li:before {
  position: absolute;
  left: 0;
  top: 0.3rem;
  background: var(--ochre);
  aspect-ratio: 1/1;
  display: flex;
  color: var(--white);
  font-size: 0.85em;
  border-radius: 100px;
  height: 1.3em;
  width: 1.3em;
  align-items: center;
  justify-content: center;
  font-family: var(--sans);
  content: counter(ol_li);
}
.single__body h2,
.single__body h3 {
  position: relative;
}
.single__body h2:before,
.single__body h3:before {
  content: "";
  background: var(--fc);
  position: absolute;
  border-radius: 1000px;
  left: 0.25em;
  top: 50%;
  pointer-events: none;
  transform: translateX(-50%) translateY(-55%) translateX(var(--dot-offset-x));
  opacity: 0.25;
  mix-blend-mode: darken;
}
.single__body h2 {
  text-wrap: balance;
  -webkit-hyphens: none;
          hyphens: none;
  margin-top: calc(var(--baseline) * 1.25);
  margin-bottom: calc(var(--baseline) * 0.25);
}
.single__body h2:before {
  width: 4em;
  height: 4em;
}
@media (min-width: 800px) {
  .single__body h2 {
    margin-top: calc(var(--baseline) * 2);
    margin-bottom: calc(var(--baseline) * 0.5);
  }
}
.single__body h3 {
  -webkit-hyphens: none;
          hyphens: none;
  text-wrap: balance;
  margin-top: calc(var(--baseline) * 0.5);
}
.single__body h3:before {
  width: 3em;
  height: 3em;
}
@media (min-width: 800px) {
  .single__body h3 {
    margin-top: calc(var(--baseline) * 1);
  }
}
.single__body .wp-block-columns {
  margin: 0 auto;
  margin-bottom: calc(var(--baseline) * 2);
  max-width: var(--measure);
}
@media (min-width: 800px) {
  .single__body .wp-block-columns {
    max-width: var(--measure-full);
    gap: var(--padding-x);
  }
}
.single__body .wp-block-column {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}
.single__body .wp-block-media-text {
  max-width: var(--measure-full);
  margin: 0 auto;
}
@media (min-width: 800px) {
  .single__body .wp-block-media-text {
    gap: 4em;
  }
}
.single__body .wp-block-media-text__content {
  padding: 0;
}

.wp-block-group.has-background {
  padding: 2em var(--padding-x);
  margin-left: calc(var(--padding-x) * -1);
  margin-right: calc(var(--padding-x) * -1);
  margin-top: calc(var(--baseline) * 2);
  margin-bottom: calc(var(--baseline) * 2);
}
.wp-block-group > :first-child {
  margin-top: 0;
}

.wp-block-media-text__media img {
  max-height: 80vh;
  -o-object-fit: contain;
     object-fit: contain;
}

.is-layout-flex {
  display: flex;
  flex-flow: column;
  justify-content: center;
  gap: 1em;
}
@media (min-width: 800px) {
  .is-layout-flex {
    flex-flow: row;
    align-items: center;
  }
  .is-layout-flex.wp-block-group {
    gap: 3em;
  }
}

.wp-block-buttons .wp-block-button {
  flex-basis: 0;
  flex-grow: 1;
}

.wp-block-quote {
  max-width: var(--measure);
  margin-left: auto;
  margin-right: auto;
  background: var(--fc);
  border-radius: var(--br);
  color: var(--black);
  border: 10px solid rgba(255, 255, 255, 0.25);
  padding: 1em;
  position: relative;
  margin-bottom: calc(var(--baseline) * 1);
  margin-top: calc(var(--baseline) * 1);
}
@media (min-width: 800px) {
  .wp-block-quote {
    margin-top: calc(var(--baseline) * 0.5);
    margin-bottom: calc(var(--baseline) * 1);
    -webkit-hyphens: none;
            hyphens: none;
  }
}
.wp-block-quote:before {
  content: "“";
  font-family: var(--serif);
  color: var(--beige);
  position: absolute;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  top: 0;
  left: 0.4em;
  pointer-events: none;
  opacity: 0.3;
  font-weight: 300;
  transform: translateY(270%) translateX(-80%);
  font-size: 9em;
}
@media (min-width: 800px) {
  .wp-block-quote:before {
    transform: translateY(350%) translateX(-80%);
    font-size: 10em;
  }
}
.wp-block-quote p {
  margin-bottom: 0.5em;
  position: relative;
  margin-top: 0;
}
.wp-block-quote p:first-of-type {
  text-indent: 1em;
}
@media (min-width: 800px) {
  .wp-block-quote p:first-of-type {
    text-indent: 1.25em;
  }
}
.wp-block-quote p:last-of-type {
  margin-bottom: 0;
}
@media (min-width: 800px) {
  .wp-block-quote {
    padding: 1.2em 1.5em;
    max-width: var(--measure-wide);
    padding-top: 1.4em;
  }
  .wp-block-quote p {
    max-width: none;
  }
}
@media (min-width: 800px) {
  .wp-block-quote.has-text-align-right, .wp-block-quote.has-text-align-left {
    padding-right: 0;
    text-wrap: balance;
    width: calc(var(--measure) + var(--text-margin) - var(--padding-x));
    max-width: none;
  }
}
@media (min-width: 800px) {
  .wp-block-quote.has-text-align-left {
    float: left;
    margin-left: calc(var(--padding-x) * -1);
    margin-right: 1em;
    padding-right: 1.7em;
    padding-left: var(--padding-x);
    border-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}
.wp-block-quote.has-text-align-right {
  text-align: left;
}
@media (min-width: 800px) {
  .wp-block-quote.has-text-align-right {
    float: right;
    clear: both;
    border-right: 0;
    padding-right: 1em;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    margin-right: calc(var(--padding-x) * -1);
  }
}
.wp-block-quote cite {
  color: var(--black);
  font-style: normal;
  text-align: left;
  margin-top: 0.25em;
}
@media (min-width: 800px) {
  .wp-block-quote cite {
    margin-top: 0.5em;
  }
}
.wp-block-quote cite:before {
  content: "– ";
}

.block-audio {
  position: relative;
  margin: 0 auto;
  margin-top: 2em;
  margin-bottom: 1.5em;
  border-radius: var(--br);
  overflow: hidden;
  padding: 1.5em;
  max-width: var(--measure);
}
@media (min-width: 800px) {
  .block-audio {
    padding: 2em;
    max-width: var(--measure-wide);
  }
}
.block-audio:before {
  content: "";
  background: var(--orange);
  display: block;
  position: absolute;
  pointer-events: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  opacity: 0.1;
}
.block-audio .icon--pause {
  display: none;
}
.block-audio.is-playing .icon--pause {
  display: block;
}
.block-audio.is-playing .icon--play {
  display: none;
}

h3.audio__title {
  font-size: var(--ms-1);
  position: relative;
  z-index: 100;
  margin-top: 0;
  margin-bottom: 0.85em;
}
h3.audio__title:before {
  display: none;
}
@media (min-width: 800px) {
  h3.audio__title {
    padding-right: 3em;
  }
}

.audio__transcript {
  position: relative;
  z-index: 1000;
}
.audio__transcript p:last-child {
  margin-bottom: 0;
}

.audio__controls {
  display: flex;
  gap: 0.75em;
  align-items: baseline;
  margin-bottom: 1em;
}

.audio__caption {
  position: relative;
  z-index: 10;
  margin-top: 1.5em;
  opacity: 0.75;
}

.audio__wave {
  height: auto;
  opacity: 0.75;
  aspect-ratio: 3.5/1;
  margin-bottom: 0.25em;
  width: 8em;
}
@media (min-width: 800px) {
  .audio__wave {
    right: 2em;
    top: 1em;
    width: 60%;
    position: absolute;
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 90%);
            mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 90%);
  }
}

.wp-block-file {
  max-width: var(--measure);
  margin: 1em auto;
  background: var(--fc);
  border-radius: 1em;
  display: flex;
  justify-content: space-between;
  flex-flow: column;
  gap: 0.5em;
  padding: 1em;
  align-items: stretch;
  text-align: center;
}
@media (min-width: 800px) {
  .wp-block-file {
    text-align: left;
    align-items: baseline;
    flex-flow: row;
    padding: 1em 1.5em;
  }
}
.wp-block-file .wp-element-button {
  margin-left: 0;
}
.wp-block-file a:first-child {
  font-size: var(--ms-0);
  color: var(--black);
  text-decoration: none;
}
.wp-block-file a:first-child:after {
  border: 1px solid rgba(0, 0, 0, 0.5);
  color: currentColor;
  font-family: var(--sans);
  font-size: var(--ms--2);
  padding: 0.3em;
  padding-bottom: 0.1em;
  border-radius: 2px;
  margin-left: 0.5em;
}
.wp-block-file a:first-child[href$=".png"]:after {
  content: "PNG";
}
.wp-block-file a:first-child[href$=".pdf"]:after {
  content: "PDF";
}
.wp-block-file a:first-child[href$=".jpg"]:after {
  content: "JPG";
}
.wp-block-file a:first-child[href$=".mp3"]:after {
  content: "MP3";
}
.wp-block-file a.wp-element-button {
  background: var(--white);
  color: var(--black);
  padding: 0.3em 1em;
}
.wp-block-file a.wp-element-button:hover, .wp-block-file a.wp-element-button:focus-visible {
  text-decoration: underline;
  background: var(--white);
  opacity: 1;
}

.block-books {
  margin: 0 auto;
  margin-top: calc(var(--baseline) * 2);
}
@media (min-width: 800px) {
  .block-books {
    width: var(--measure-full);
  }
}

.books__list {
  max-width: var(--measure);
  margin: 0 auto;
}

.books__line {
  display: block;
  position: absolute;
  top: 0;
}
.books__line path {
  stroke: var(--black);
  stroke-width: 1;
  stroke-dasharray: 1 1;
}

.books__item {
  list-style: none;
  position: relative;
  margin: 0 auto;
  width: calc(var(--width) * 0.9%);
  left: calc(var(--offset) * 0.25%);
}
@media (min-width: 800px) {
  .books__item {
    left: calc(var(--offset) * 0.5%);
    width: calc(var(--width) * 0.85%);
  }
}

.books__inner {
  list-style: none;
  background: var(--background);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1em;
  border: 1px solid var(--black);
  border-radius: 4px;
  font-size: 2rem;
  margin: 0 auto;
  margin-bottom: -1px;
  min-height: calc(var(--page-count) * 0.007em);
}
@media (min-width: 500px) {
  .books__inner {
    min-height: calc(var(--page-count) * 0.008em);
  }
}
@media (min-width: 800px) {
  .books__inner {
    min-height: calc(var(--page-count) * 0.01em);
  }
}

.books__title {
  white-space: nowrap;
  font-family: var(--title-font);
  font-weight: var(--title-weight);
  padding-left: 0.65em;
  font-size: calc(var(--title-size) * 0.85);
}
@media (min-width: 800px) {
  .books__title {
    font-size: var(--title-size);
  }
}

.books__authors {
  line-height: 1.2;
  font-family: var(--authors-font);
  font-size: var(--authors-size);
}

.books__note__container {
  --margin: 3rem;
  color: var(--gray);
  -webkit-hyphens: none;
          hyphens: none;
  letter-spacing: 0;
  font-style: italic;
  text-wrap: balance;
  display: none;
}
@media (min-width: 800px) {
  .books__note__container {
    left: 0;
    display: inline-block;
    text-align: right;
    max-width: 12em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) translateX(-100%) translateX(calc(var(--margin) * -1));
  }
}
li:nth-child(2n) .books__note__container {
  text-align: left;
  left: auto;
  right: 0;
}
@media (min-width: 800px) {
  li:nth-child(2n) .books__note__container {
    transform: translateY(-50%) translateX(100%) translateX(var(--margin));
  }
}

.biglist {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  gap: 1em;
  margin: 0 auto;
  margin-top: calc(var(--baseline) * 1);
}
@media (min-width: 500px) {
  .biglist {
    max-width: 90%;
  }
}
@media (min-width: 800px) {
  .biglist {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: var(--measure);
  }
  .biglist.has-many {
    max-width: var(--measure-full);
  }
}

.biglist__item {
  display: block;
  flex-basis: 0;
  flex-grow: 1;
  grid-column: span 2;
}
@media (min-width: 500px) {
  .biglist__item {
    grid-column: span 1;
  }
}
@media (min-width: 800px) {
  .biglist__item {
    transform: translateY(calc(var(--yOffset) * 1%));
  }
}

.biglist__content {
  padding: 1em;
  border-radius: 3em;
  text-wrap: balance;
  display: flex;
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  border: 10px solid rgba(255, 255, 255, 0.25);
  background: var(--bg);
  color: var(--black) !important;
  font-size: 1.1em;
  aspect-ratio: 2/1;
}
.has-many .biglist__content {
  font-size: 0.9em;
  line-height: 1.35;
}
@media (min-width: 500px) {
  .biglist__content {
    aspect-ratio: 1/1;
  }
}
@media (min-width: 800px) {
  .biglist__content {
    padding: 2em 1em;
    border: 0.75em solid rgba(255, 255, 255, 0.1);
    border-radius: var(--br);
  }
}

.wp-block-buttons {
  margin: 0 auto;
  max-width: var(--measure);
  margin-top: var(--baseline);
  margin-bottom: var(--baseline);
  display: flex;
}

.wp-block-button a, .password__submit, .home__cta, .audio__toggle {
  background: var(--fc);
  border-radius: var(--br);
  color: var(--tc);
  font-family: var(--sans);
  display: inline-flex;
  gap: 0.35em;
  line-height: 1.25;
  align-items: center;
  cursor: pointer;
  border: 0.3em solid rgba(255, 255, 255, 0.35);
  padding: 0.4em 1.15em;
  padding-bottom: 0.45em;
  transition: var(--fast);
  outline-offset: 3px;
  text-decoration: none;
}
.wp-block-button a:focus-visible, .password__submit:focus-visible, .home__cta:focus-visible, .audio__toggle:focus-visible, .wp-block-button a:hover, .password__submit:hover, .home__cta:hover, .audio__toggle:hover {
  filter: brightness(1.05);
}
.wp-block-button a svg, .password__submit svg, .home__cta svg, .audio__toggle svg,
.wp-block-button a img,
.password__submit img,
.home__cta img,
.audio__toggle img {
  display: block;
  height: 0.85em;
  position: relative;
  top: 0.05em;
  width: auto !important;
}
.wp-block-button a path, .password__submit path, .home__cta path, .audio__toggle path,
.wp-block-button a rect,
.password__submit rect,
.home__cta rect,
.audio__toggle rect {
  fill: currentColor;
}
@media (min-width: 800px) {
  .wp-block-button a, .password__submit, .home__cta, .audio__toggle {
    padding: 0.45em 1.15em;
    gap: 0.45em;
  }
}

.password__submit, .home__cta {
  color: var(--black);
}

.icon--arrow path {
  stroke-width: 10;
  stroke: currentColor;
}

.wp-block-button {
  text-align: center;
}
.home__bubbles {
  overflow: hidden;
  position: relative;
  width: 100%;
  display: flex;
  flex-flow: column;
  align-items: center;
  min-height: 100svh;
}
.home__bubbles canvas {
  width: 100%;
  z-index: -100;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.logo {
  position: static;
  background: var(--coral);
  opacity: 1;
  aspect-ratio: 1/1;
  height: 18vh;
  border: 2.5rem solid var(--coral-light);
}
@media (min-width: 800px) {
  .logo {
    border: 3rem solid var(--coral-light);
    height: 20vh;
  }
}

.home__splash {
  height: 100svh;
  padding: var(--padding-x);
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: space-between;
  text-shadow: 0 0 4px var(--white);
  padding-top: 2.5em;
  padding-bottom: 2.5em;
}
@media (min-width: 500px) {
  .home__splash {
    padding-top: 3.5em;
    padding-bottom: 4em;
  }
}
@media (min-width: 800px) {
  .home__splash {
    padding-top: 4em;
  }
}

.home__title {
  font-size: var(--ms-5);
}
@media (min-width: 800px) {
  .home__title {
    font-size: var(--ms-6);
  }
}

.home__copy {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  z-index: 100;
  text-align: center;
  text-wrap: balance;
}

.home__tagline {
  line-height: 1.3;
  max-width: 20em;
  position: relative;
  z-index: 1000;
  letter-spacing: -0.01em;
  font-size: var(--ms-1);
  margin-bottom: 0.5em;
}
@media (min-width: 500px) {
  .home__tagline {
    font-size: var(--ms-2);
  }
}

.home__subtitle {
  margin-bottom: 1.25em;
  max-width: 30em;
}

.home__cta {
  background: var(--teal-light);
  text-shadow: none;
  box-shadow: 0 0 10px -1px var(--white);
}

.single__password {
  background: var(--teal);
  border-radius: var(--br);
  display: flex;
  flex-flow: column;
  color: var(--white);
  border: var(--bw) solid rgba(255, 255, 255, 0.2);
  align-items: flex-start;
  gap: 1em;
  margin: 0 auto;
  margin-bottom: 3em;
  max-width: 30em;
  padding: 1.5em;
  margin-top: -4em;
  position: relative;
  z-index: 1000;
}
@media (min-width: 800px) {
  .single__password {
    margin-bottom: 0;
    padding: 2em 2.25em;
    margin-top: -5em;
  }
}
@media (min-width: 1400px) {
  .single__password {
    max-width: var(--measure);
  }
}

.password__form {
  display: inline-flex;
  gap: 0.5em;
  flex-flow: column;
  max-width: 100%;
  align-items: stretch;
}
@media (min-width: 500px) {
  .password__form {
    flex-flow: row;
  }
}

.password__input {
  color: var(--white);
  border-radius: 8px;
  border: 1px solid var(--beige);
  background: transparent;
  padding: 0.35em 0.75em;
  max-width: 100%;
}
.password__input::-moz-placeholder {
  opacity: 1;
  color: rgba(255, 255, 255, 0.5);
}
.password__input::placeholder {
  opacity: 1;
  color: rgba(255, 255, 255, 0.5);
}

.password__submit {
  background: var(--white);
  border: 0;
}

.site__debug {
  color: rgb(255, 255, 255);
  font-family: "MD IO", "Courier New", Courier, monospace;
}

.site__debug {
  position: fixed;
  bottom: 0;
  right: 0;
  display: none;
  line-height: 1.1;
  font-size: 0.75rem;
  width: 16rem;
  overflow: hidden;
  z-index: 20000;
  text-transform: none;
  background: rgba(0, 0, 0, 0.95);
  padding: 1em;
}
.site__debug pre {
  font-family: inherit;
}
.site__debug pre:first-child {
  margin-top: 0;
}
.debug .site__debug {
  display: block;
}
.site__debug p + p {
  margin-top: 0;
}
.site__debug button {
  font-family: inherit;
  border-radius: 0;
  border: 1px solid white;
  background: transparent;
  color: white;
  padding: 0.1em 0.35em;
  cursor: pointer;
}
.site__debug button:hover, .site__debug button:focus-visible {
  background: white;
  color: black;
}

.debug .debug {
  display: block;
}

.debug .block-books {
  border: 1px solid red;
}
.debug .books__line {
  border: 1px solid green;
}
.debug .books__note {
  border: 1px solid red;
}

.debug__actions {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35em;
}
