@layer reset{*, *::before, *::after {
    box-sizing: border-box;
  }
  * {
    margin: 0;
  }
  @media (prefers-reduced-motion: no-preference) {
    html {
      interpolate-size: allow-keywords;
    }
  }
  body {
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
  }
  img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
    height: auto;
  }
  input, button, textarea, select {
    font: inherit;
  }
  p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
  }
  p {
    text-wrap: pretty;
  }
  h1, h2, h3, h4, h5, h6 {
    text-wrap: balance;
  }
  #root, #__next {
    isolation: isolate;
  }
  @font-face {
    font-family: "Figtree";
    src: url("/fonts/Figtree-VariableFont_wght.woff2") format("woff2");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: "Figtree";
    src: url("/fonts/Figtree-Italic-VariableFont_wght.woff2") format("woff2");
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
  }
}@layer base{a {
    color: hsl(var(--color-900));
    text-decoration: none;
    border-bottom: 2px dotted;
  }
  a:hover, a:focus {
    filter: brightness(1.15);
    border-bottom-style: solid;
  }
  a:has(.logo) {
    border: none;
  }
  a[href*=mailto]::before {
    background: currentColor;
    content: "";
    display: inline-block;
    height: 1lh;
    width: 1lh;
    margin-inline-end: 4px;
    opacity: 0.75;
    mask: url("/images/mail.svg") center calc(50% + 4px)/contain no-repeat;
  }
  body {
    color: hsl(var(--color-900));
  }
  details {
    border: 1px solid;
    border-radius: 1em;
    margin-bottom: 1em;
  }
  details[open] {
    background: hsl(var(--color-300)/15%);
    padding: 1rem;
  }
  details[open] > summary {
    padding: 1rem;
    margin: -1rem -1rem 0;
  }
  details[open] > summary::after {
    transform: rotate(135deg);
  }
  details:not([open]):hover {
    background: hsl(var(--color-300)/50%);
  }
  details > summary {
    display: flex;
    gap: 0.5rem;
    font-size: var(--font-size-h6);
    font-weight: 550;
    padding: 1rem;
  }
  details > summary::after {
    content: "＋";
    transition: 0.2s transform;
    display: block;
    transform-origin: center;
    margin-inline-start: auto;
    place-self: flex-start;
  }
  figure {
    margin: 1rem;
    width: fit-content;
  }
  figure figcaption {
    text-align: center;
    font-size: var(--font-size--1);
    margin-block-end: 0.5rem;
  }
  figure:has(figcaption) {
    background: #fff;
    border: 2px solid hsl(var(--color-900));
    border-radius: 1rem;
    box-shadow: var(--shadow-elevation-medium);
  }
  figure:has(figcaption) img {
    border: none;
    box-shadow: none;
  }
  footer {
    background-color: hsl(var(--color-blue-900));
    color: hsl(var(--color-blue-100));
    margin-block-start: 6rem;
    padding: 1rem 0;
    position: relative;
    font-family: var(--font-family-brand);
    font-size: var(--font-size--1);
    row-gap: 4rem;
  }
  footer .button {
    box-shadow: none !important;
  }
  footer::before {
    background-color: hsl(var(--color-blue-900));
    mask: url("/images/wave.svg") no-repeat;
    mask-size: 100% 100%;
    content: "";
    position: absolute;
    height: 6rem;
    top: -6rem;
    left: 0;
    width: 100%;
  }
  footer .row {
    display: flex;
    flex-wrap: wrap;
    padding-inline: 1rem;
    gap: 4rem;
    justify-content: center;
  }
  footer .row > * {
    min-width: 200px;
  }
  @media screen and (min-width: 768px) {
    footer .row > * {
      width: calc(33.3333% - 4rem);
    }
  }
  footer .row.first {
    justify-items: center;
    text-align: center;
  }
  footer .row.second {
    align-items: flex-end;
  }
  footer .row.second div:has(.logo) {
    text-align: center;
  }
  footer .row.second div:has(.logo) .logo {
    margin-inline: auto;
  }
  @media screen and (max-width: 889px) {
    footer .row.second div:has(.logo) {
      order: 2;
    }
  }
  footer .row.second .socials {
    text-align: right;
  }
  footer dl {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  footer dl dt {
    font-size: var(--font-size-0);
    font-weight: 550;
    filter: brightness(1.2);
  }
  footer a {
    color: hsl(var(--color-blue-100));
  }
  footer .socials a {
    border-bottom: none;
  }
  footer .socials a + a {
    margin-inline-start: 1rem;
  }
  footer .socials svg {
    width: 2rem;
    border-radius: 0;
    display: inline-block;
    fill: hsl(var(--color-blue-100));
  }
  footer .socials svg.dbta-logo {
    width: 4rem;
    margin-block-start: 0.5rem;
  }
  form {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  form .full {
    grid-column: 1/-1;
  }
  form label {
    display: block;
    color: hsl(var(--color-700));
    font-size: 0.85em;
  }
  form label:has(input[type=checkbox]) {
    color: hsl(var(--color-900));
  }
  form input:not([type=checkbox]),
  form textarea,
  form select {
    padding: 0.25rem;
    width: 100%;
  }
  form[data-submitting] button {
    opacity: 0.5;
  }
  form .flex:has(input[type=checkbox]) {
    gap: 1rem;
  }
  form .flex:has(input[type=checkbox]) > * {
    width: 50%;
  }
  .result:not(.success, .error, .submitting) {
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1;
    margin-top: 2rem;
    margin-bottom: 1rem;
    font-family: var(--font-family-brand);
  }
  h1 {
    font-size: var(--font-size-5);
  }
  h2 {
    font-size: var(--font-size-4);
  }
  h3 {
    font-size: var(--font-size-3);
  }
  h4 {
    font-size: var(--font-size-2);
  }
  h5 {
    font-size: var(--font-size-1);
  }
  h6 {
    font-size: var(--font-size-0);
  }
  h2 {
    border-bottom: 1px solid;
    box-shadow: 0 6px 4px -4px hsl(var(--color-100));
  }
  html {
    background-color: #f2f2f2;
    color: hsl(var(--color-blue-900));
    font-family: var(--font-family-default);
    scroll-behavior: smooth;
    font-size: var(--font-size-0);
  }
  @view-transition {
    navigation: auto;
  }
  img {
    border: 2px solid hsl(var(--color-900));
    border-radius: 1em;
    box-shadow: var(--shadow-elevation-medium), inset 0 0 0 0.5rem #fff;
    padding: 0.5rem;
  }
  .hero img {
    border: none;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    padding: 0;
  }
  ul {
    margin-bottom: 1em;
  }
  li {
    margin-bottom: 0.5em;
    margin-bottom: 0.5lh;
  }
  li:has(p) p {
    margin-bottom: 0.5em;
    margin-bottom: 0.5lh;
  }
  nav ul {
    list-style: none;
    padding: 0;
  }
  main,
  div:has(.menu-slide) {
    padding-block-end: 1rem;
  }
  main::after,
  div:has(.menu-slide)::after {
    grid-column: 3;
    background: hsl(var(--color-900)/30%);
    display: block;
    width: 50px;
    height: 50px;
    content: "";
    margin-block: 1lh;
    mask: url("/images/swirls.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center bottom;
    place-self: center;
  }
  p {
    margin-bottom: 1.25rem;
    margin-bottom: 1lh;
  }
  :root {
    --color-blue-h: 223;
    --color-blue-s: 52%;
    --color-blue-l: 44%;
    --color-blue-100: var(--color-blue-h) var(--color-blue-s) calc(var(--color-blue-l) + 45%);
    --color-blue-300: var(--color-blue-h) var(--color-blue-s) calc(var(--color-blue-l) + 25%);
    --color-blue-500: var(--color-blue-h) var(--color-blue-s) var(--color-blue-l);
    --color-blue-700: var(--color-blue-h) var(--color-blue-s) calc(var(--color-blue-l) - 10%);
    --color-blue-900: var(--color-blue-h) var(--color-blue-s) calc(var(--color-blue-l) - 20%);
    --color-red-h: 357;
    --color-red-s: 56%;
    --color-red-l: 58%;
    --color-red-100: var(--color-red-h) calc(var(--color-red-s) - 25%) calc(var(--color-red-l) + 30%);
    --color-red-300: var(--color-red-h) var(--color-red-s) calc(var(--color-red-l) + 10%);
    --color-red-500: var(--color-red-h) var(--color-red-s) var(--color-red-l);
    --color-red-700: var(--color-red-h) var(--color-red-s) calc(var(--color-red-l) - 15%);
    --color-red-900: var(--color-red-h) calc(var(--color-red-s) - 20%) calc(var(--color-red-l) - 45%);
    --color-green-h: 141;
    --color-green-s: 63%;
    --color-green-l: 25%;
    --color-green-100: var(--color-green-h) calc(var(--color-green-s) - 25%) calc(var(--color-green-l) + 60%);
    --color-green-300: var(--color-green-h) var(--color-green-s) calc(var(--color-green-l) + 25%);
    --color-green-500: var(--color-green-h) var(--color-green-s) var(--color-green-l);
    --color-green-700: var(--color-green-h) var(--color-green-s) calc(var(--color-green-l) - 10%);
    --color-green-900: var(--color-green-h) calc(var(--color-green-s) + 10%) calc(var(--color-green-l) - 15%);
    --color-gold-h: 47;
    --color-gold-s: 80%;
    --color-gold-l: 50%;
    --color-gold-100: var(--color-gold-h) calc(var(--color-gold-s) - 50%) calc(var(--color-gold-l) + 35%);
    --color-gold-300: var(--color-gold-h) var(--color-gold-s) calc(var(--color-gold-l) + 25%);
    --color-gold-500: var(--color-gold-h) var(--color-gold-s) var(--color-gold-l);
    --color-gold-700: var(--color-gold-h) calc(var(--color-gold-s) - 15%) calc(var(--color-gold-l) - 20%);
    --color-gold-900: var(--color-gold-h) calc(var(--color-gold-s) - 25%) calc(var(--color-gold-l) - 40%);
    --color-purple-h: 286;
    --color-purple-s: 33%;
    --color-purple-l: 47%;
    --color-purple-100: var(--color-purple-h) var(--color-purple-s) calc(var(--color-purple-l) + 35%);
    --color-purple-300: var(--color-purple-h) var(--color-purple-s) calc(var(--color-purple-l) + 25%);
    --color-purple-500: var(--color-purple-h) var(--color-purple-s) var(--color-purple-l);
    --color-purple-700: var(--color-purple-h) var(--color-purple-s) calc(var(--color-purple-l) - 15%);
    --color-purple-900: var(--color-purple-h) var(--color-purple-s) calc(var(--color-purple-l) - 30%);
    --color-slate-h: 215;
    --color-slate-s: 18%;
    --color-slate-l: 47%;
    --color-slate-100: var(--color-slate-h) calc(var(--color-slate-s) + 15%) calc(var(--color-slate-l) + 35%);
    --color-slate-300: var(--color-slate-h) var(--color-slate-s) calc(var(--color-slate-l) + 25%);
    --color-slate-500: var(--color-slate-h) var(--color-slate-s) var(--color-slate-l);
    --color-slate-700: var(--color-slate-h) var(--color-slate-s) calc(var(--color-slate-l) - 10%);
    --color-slate-900: var(--color-slate-h) var(--color-slate-s) calc(var(--color-slate-l) - 30%);
    --color-100: var(--color-blue-100);
    --color-300: var(--color-blue-300);
    --color-500: var(--color-blue-500);
    --color-700: var(--color-blue-700);
    --color-900: var(--color-blue-900);
    --font-family-default: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
    --font-family-brand: Figtree, Avenir, Montserrat, Corbel, "URW Gothic", source-sans-pro, sans-serif;
    
    --font-size--2: clamp(0.6944rem, 0.6856rem + 0.0444vw, 0.72rem);
    --font-size--1: clamp(0.8333rem, 0.8101rem + 0.1159vw, 0.9rem);
    --font-size-0: clamp(1rem, 0.9565rem + 0.2174vw, 1.125rem);
    --font-size-1: clamp(1.2rem, 1.1283rem + 0.3587vw, 1.4063rem);
    --font-size-2: clamp(1.44rem, 1.3295rem + 0.5527vw, 1.7578rem);
    --font-size-3: clamp(1.728rem, 1.5648rem + 0.8161vw, 2.1973rem);
    --font-size-4: clamp(2.0736rem, 1.8395rem + 1.1704vw, 2.7466rem);
    --font-size-5: clamp(2.4883rem, 2.1597rem + 1.6433vw, 3.4332rem);
    --shadow-color: 0deg 0% 59%;
    --shadow-elevation-low:
        0.3px 0.5px 0.7px hsl(var(--shadow-color) / 0.34),
        0.4px 0.8px 1px -1.2px hsl(var(--shadow-color) / 0.34),
        1px 2px 2.5px -2.5px hsl(var(--shadow-color) / 0.34);
    --shadow-elevation-medium:
        0.3px 0.5px 0.7px hsl(var(--shadow-color) / 0.36),
        0.8px 1.6px 2px -0.8px hsl(var(--shadow-color) / 0.36),
        2.1px 4.1px 5.2px -1.7px hsl(var(--shadow-color) / 0.36),
        5px 10px 12.6px -2.5px hsl(var(--shadow-color) / 0.36);
    --shadow-elevation-high:
        0.3px 0.5px 0.7px hsl(var(--shadow-color) / 0.34),
        1.5px 2.9px 3.7px -0.4px hsl(var(--shadow-color) / 0.34),
        2.7px 5.4px 6.8px -0.7px hsl(var(--shadow-color) / 0.34),
        4.5px 8.9px 11.2px -1.1px hsl(var(--shadow-color) / 0.34),
        7.1px 14.3px 18px -1.4px hsl(var(--shadow-color) / 0.34),
        11.2px 22.3px 28.1px -1.8px hsl(var(--shadow-color) / 0.34),
        17px 33.9px 42.7px -2.1px hsl(var(--shadow-color) / 0.34),
        25px 50px 62.9px -2.5px hsl(var(--shadow-color) / 0.34);
  }
  table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    border-spacing: 0;
    width: 100%;
    border: 0;
    margin-block-end: 1lh;
  }
  table tbody {
    display: table;
    min-width: calc(100% - 2px);
  }
  table tr:nth-child(even) {
    background: hsl(var(--color-100)/50%);
  }
  table td {
    padding: 0.25lh 0.5lh;
  }
  table p {
    margin-bottom: 0;
  }
}@layer layout{.flex {
    display: flex;
  }
  .grid {
    display: grid;
    grid-template-columns: 1fr 1fr min(40rem, 100%) 1fr 1fr;
    padding-inline: 1rem;
  }
  .grid > * {
    grid-column: 3;
  }
  .grid .pullout {
    grid-column: 2/-2;
  }
  .grid .full-bleed {
    grid-column: 1/-1;
    margin-inline: -1rem;
  }
}@layer components{.banner {
    --menu-color: var(--color-900);
    --color-100: var(--color-blue-100);
    --color-500: var(--color-blue-500);
    --color-900: var(--color-blue-900);
    margin-block-end: 5rem;
    padding-block-start: 1rem;
    position: relative;
    text-align: right;
    background: #f2f2f2;
    z-index: 10;
  }
  .banner::before {
    position: absolute;
    border-bottom: 1px solid hsl(var(--color-blue-900));
    box-shadow: inset 0 -5px 5px -5px hsl(var(--color-blue-900));
    width: 100%;
    height: 100%;
    background: hsl(var(--color-blue-100)/75%);
    content: "";
    display: block;
    z-index: -1;
    top: 0;
    mask: linear-gradient(to right, #000, transparent calc(50% - 50px), transparent calc(50% + 50px), #000);
  }
  .banner > div {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: 1rem;
    justify-content: flex-end;
    gap: 2rem;
  }
  .banner #menu-button {
    place-self: flex-end;
    display: inline-block;
  }
  .banner #home-link {
    position: absolute;
    left: calc(50vw - 58px);
    z-index: 1;
  }
  body:has(.hero) .banner {
    --menu-color: var(--color-100);
    z-index: 2;
    background: transparent;
    border: none;
    box-shadow: none;
  }
  body:has(.hero) .banner .logo > * {
    fill: hsl(var(--color-100));
  }
  body:has(.hero) .banner::before {
    background: transparent;
    box-shadow: none;
    border: none;
  }
  body:has(.hero) .banner .button {
    background: hsl(var(--color-blue-100));
    color: hsl(var(--color-blue-900));
    box-shadow: none;
    text-shadow: none;
  }
  .breadcrumbs {
    margin: 0;
    color: hsl(var(--color-700));
    font-size: 0.85em;
    font-style: italic;
  }
  .breadcrumbs ol {
    list-style: none;
    display: flex;
    gap: 1ch;
    padding: 0;
    flex-wrap: wrap;
  }
  .breadcrumbs li:has(a)::after {
    content: "/";
    position: relative;
    left: 0.5ch;
    padding-right: 0.5ch;
  }
  .breadcrumbs a {
    color: hsl(var(--color-700));
    position: relative;
  }
  .breadcrumbs a:hover {
    filter: brightness(0.9);
  }
  .breadcrumbs + h1 {
    margin-top: 1rem;
  }
  .button {
    background-color: hsl(var(--color-700));
    background-image: linear-gradient(to top left, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 30%, rgba(0, 0, 0, 0));
    border-bottom: none;
    border-radius: 1em;
    box-shadow: var(--shadow-elevation-medium), inset 1px 1px 1px rgba(255, 255, 255, 0.6), inset -1px -1px 1px rgba(0, 0, 0, 0.6);
    color: hsl(var(--color-100));
    text-shadow: 1px 1px 1px hsl(var(--color-900));
    display: flex;
    margin-bottom: 1.5rem;
    max-width: fit-content;
    padding: 0.5em 1em;
    text-decoration: none;
    font-weight: 625;
    font-family: var(--font-family-brand);
    border: none;
    outline: inherit;
    cursor: pointer;
  }
  .button:hover, .button:focus {
    background-color: hsl(var(--color-100));
    color: hsl(var(--color-900));
    text-shadow: none;
  }
  .button:hover::after, .button:focus::after {
    transform: translateX(3px);
  }
  .button:active {
    transform: translateY(2px);
  }
  .button::after {
    content: "→";
    display: inline-block;
    margin-inline-start: 1ch;
    position: relative;
    top: 0;
    transition: 0.1s ease-in transform;
  }
  .button.down::after {
    transform: rotate(90deg);
    text-shadow: 1px 0 1px hsl(var(--color-900));
  }
  .button.down:hover::after {
    transform: rotate(90deg) translateX(3px);
  }
  .button.external::after, .button.other::after {
    margin-inline-start: 0.5ch;
    transform: rotate(-45deg);
  }
  .button.external:hover::after, .button.other:hover::after {
    transform: rotate(-45deg) translateX(3px);
  }
  .button.close::after {
    content: "＋";
    transform: rotate(45deg);
  }
  .button#menu-button::after {
    display: none;
  }
  .banner .button {
    background-color: hsl(var(--color-blue-700));
  }
  .banner .button:hover, .banner .button:focus {
    background-color: hsl(var(--color-blue-300));
    color: hsl(var(--color-900));
  }
  footer .button {
    background-color: hsl(var(--color-blue-100));
    box-shadow: var(--shadow-elevation-medium);
    color: hsl(var(--color-blue-900));
    margin-inline: auto;
    text-shadow: none;
  }
  footer .button:hover, footer .button:focus {
    background-color: hsl(var(--color-blue-100)/95%);
  }
  .coming-up {
    letter-spacing: initial;
    height: fit-content;
    animation: slideUp 0.33s ease-in forwards;
    animation-delay: 3s;
    opacity: 0;
    transform: translateY(10px);
    place-self: flex-end;
  }
  .coming-up .close {
    justify-self: end;
  }
  .donate-cta {
    margin-block-start: 0.5rem;
    text-align: center;
  }
  .donate-cta p:not(:has(a)) {
    font-size: var(--font-size-0);
    font-weight: 550;
    margin-block-end: 0.25lh;
  }
  .donate-cta .button {
    margin-inline: auto;
    --color-100: var(--color-blue-100);
    --color-300: var(--color-blue-300);
    --color-500: var(--color-blue-500);
    --color-700: var(--color-blue-700);
    --color-900: var(--color-blue-900);
  }
  .gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;
    width: 100%;
    max-width: calc(900px + 2rem);
    margin-inline: auto;
  }
  .gallery a {
    border: none;
    transition: 0.15s cubic-bezier(0, 0, 0, 1) transform;
  }
  .gallery a:hover {
    transform: translateY(-2px);
  }
  html:has(.hero) {
    height: 100%;
  }
  .hero {
    display: grid;
    grid-template-columns: 1fr min(1200px, 100%) 1fr;
    align-items: end;
    letter-spacing: -0.1em;
    height: 100vh;
    position: absolute;
    inset-block-start: 0;
    background-image: linear-gradient(hsl(var(--color-blue-900)/70%), hsl(var(--color-blue-900)/70%)), var(--background-image);
    background-size: cover;
    background-position: 75%;
    width: 100%;
  }
  .hero div.flex {
    grid-column: 2;
    flex-wrap: wrap;
    padding: 2rem;
    gap: 1rem;
  }
  .hero h1 {
    color: hsl(var(--color-blue-100));
    min-width: min-content;
    max-width: 12ch;
    padding: 0;
    margin: 0;
    z-index: 1;
    font-size: calc(var(--font-size-5) * 1.35);
  }
  .hero h1 strong {
    background: linear-gradient(to right, hsl(var(--color-red-500)), hsl(var(--color-gold-500)), hsl(var(--color-red-500))) -100%/200%;
    background-clip: text;
    color: hsla(0, 0%, 100%, 0.4);
    font-weight: 700;
    text-shadow: 0 0 1em hsl(var(--color-blue-100)/75%);
    animation: cycleGradient 10s 2s linear infinite;
  }
  .hero h1 p {
    margin-bottom: 0;
  }
  .hero .word {
    animation: slideUp 0.33s ease-in forwards;
    display: inline-block;
    opacity: 0;
    transform: translateY(10px);
  }
  @keyframes slideUp {
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes cycleGradient {
    to {
      background-position: 100%;
    }
  }
  .info {
    --shadow-elevation-low:
        0.3px 0.5px 0.7px hsl(var(--shadow-color) / 0.34),
        0.4px 0.8px 1px -1.2px hsl(var(--shadow-color) / 0.34),
        1px 2px 2.5px -2.5px hsl(var(--shadow-color) / 0.34);
    --shadow-elevation-medium:
        0.3px 0.5px 0.7px hsl(var(--shadow-color) / 0.36),
        0.8px 1.6px 2px -0.8px hsl(var(--shadow-color) / 0.36),
        2.1px 4.1px 5.2px -1.7px hsl(var(--shadow-color) / 0.36),
        5px 10px 12.6px -2.5px hsl(var(--shadow-color) / 0.36);
    --shadow-elevation-high:
        0.3px 0.5px 0.7px hsl(var(--shadow-color) / 0.34),
        1.5px 2.9px 3.7px -0.4px hsl(var(--shadow-color) / 0.34),
        2.7px 5.4px 6.8px -0.7px hsl(var(--shadow-color) / 0.34),
        4.5px 8.9px 11.2px -1.1px hsl(var(--shadow-color) / 0.34),
        7.1px 14.3px 18px -1.4px hsl(var(--shadow-color) / 0.34),
        11.2px 22.3px 28.1px -1.8px hsl(var(--shadow-color) / 0.34),
        17px 33.9px 42.7px -2.1px hsl(var(--shadow-color) / 0.34),
        25px 50px 62.9px -2.5px hsl(var(--shadow-color) / 0.34);
    padding: 1em;
    margin: 0 auto 1rem;
    background: hsl(var(--color-100)/25%);
    border: 1px solid hsl(var(--color-100)/50%);
    border-radius: 1em;
    box-shadow: var(--shadow-elevation-low);
    width: 100%;
  }
  .info:is(aside) {
    max-width: 75%;
  }
  .info:is(.coming-up) {
    width: calc(100% - 2rem);
    max-width: 450px;
    margin: 0;
    background: hsl(var(--color-blue-100)/75%);
  }
  .info header {
    font-family: var(--font-family-brand);
    font-size: 0.85em;
    font-weight: 650;
    font-style: italic;
    margin-bottom: 0.5rem;
    display: block;
    width: 100%;
    border-bottom: 1px solid;
    box-shadow: 0 6px 4px -4px hsl(var(--color-100));
  }
  .info .button {
    margin-block-end: 0;
  }
  .purple .info {
    --shadow-color: 283deg 6% 57%;
  }
  .green .info {
    --shadow-color: 138deg 6% 58%;
  }
  .job-listing {
    list-style: none;
    margin: 0;
  }
  .job-listing + .job-listing {
    margin-top: 1em;
    margin-top: 1lh;
  }
  .job-listing p:last-child {
    margin: 0;
  }
  .job-listing a {
    border: 1px solid;
    border-radius: 0.5em;
    display: flex;
    column-gap: 1em;
    padding: 1rem;
  }
  .job-listing a div:has(.tag) {
    font-weight: bold;
    margin-left: auto;
    min-width: 100px;
  }
  .job-listing a:hover {
    background: hsl(var(--color-300)/50%);
  }
  ul:has(.job-listing) {
    margin: 0 0 1rem;
    margin: 0 0 1lh;
    padding: 0;
  }
  .logo {
    width: 116px;
    max-height: 7rem;
    margin-bottom: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .logo > * {
    fill: hsl(var(--color-blue-500));
  }
  footer .logo > * {
    fill: hsl(var(--color-blue-100));
  }
  .menu.open section {
    animation: slideIn 0.15s cubic-bezier(0, 0, 0, 1) forwards;
  }
  .menu {
    width: 100%;
    max-width: calc(900px + 4rem);
    padding-block: 1rem;
    margin: 0 auto;
    position: relative;
    justify-content: space-between;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
    align-content: start;
  }
  .menu section {
    animation: slideIn 0.15s cubic-bezier(0, 0, 0, 1) forwards;
    background: none;
    opacity: 0;
    padding: 0;
    transform: translateY(-1lh);
  }
  .menu section:nth-child(1) {
    animation-delay: 0.05s;
  }
  .menu section:nth-child(2) {
    animation-delay: 0.1s;
  }
  .menu section:nth-child(3) {
    animation-delay: 0.15s;
  }
  .menu section:nth-child(4) {
    animation-delay: 0.2s;
  }
  .menu section:nth-child(5) {
    animation-delay: 0.25s;
  }
  .menu section:nth-child(6) {
    animation-delay: 0.3s;
  }
  .menu section:has(.convention-dates) h2 {
    margin-block-end: 0.25lh;
  }
  .menu section:has(.convention-dates) .convention-dates {
    display: block;
    text-align: center;
    margin-block-end: 0.25lh;
  }
  .menu h2 {
    font-size: var(--font-size-1);
    padding: 0 0.5rem;
  }
  .menu a {
    color: hsl(var(--color-900));
    display: inline-block;
  }
  .menu p:has(.logo) {
    position: relative;
    text-align: center;
  }
  .menu p:has(.logo) a {
    display: inline-block;
  }
  .menu p:has(.logo)::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    background: linear-gradient(to right, hsl(var(--menu-color)), hsl(var(--menu-color)));
    mask: linear-gradient(to right, #000, transparent calc(50% - 100px), transparent calc(50% + 100px), #000);
    width: 100%;
    height: 1px;
    z-index: 1;
  }
  .menu p:has(.logo)::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    background: linear-gradient(to bottom, hsl(var(--color-100)), transparent);
    mask: linear-gradient(to right, #000, transparent calc(50% - 100px), transparent calc(50% + 100px), #000);
    width: 100%;
    height: 10px;
    z-index: 1;
  }
  .menu a {
    border: none;
    display: block;
    padding: 0.5rem;
  }
  .menu a:hover, .menu a:focus {
    border-radius: 0.5rem;
    background: hsl(var(--color-100)/50%);
    outline: 2px solid hsl(var(--color-900));
  }
  .menu .description {
    color: hsl(var(--color-700));
    font-size: 0.85em;
    font-style: italic;
  }
  @keyframes slideIn {
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  body:has(.menu.open) .banner::before {
    position: absolute;
    border-bottom: 1px solid hsl(var(--color-blue-900));
    box-shadow: inset 0 -5px 5px -5px hsl(var(--color-blue-900));
    width: 100%;
    height: 100%;
    background: hsl(var(--color-blue-100)/75%);
    content: "";
    display: block;
    z-index: -1;
    top: 0;
    mask: linear-gradient(to right, #000, transparent calc(50% - 50px), transparent calc(50% + 50px), #000);
  }
  body:has(.menu.open) .logo > * {
    fill: hsl(var(--color-blue-500));
  }
  div:has(.menu-slide:not(.open)) {
    display: none;
    transform: translateY(-10px);
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease-in allow-discrete;
  }
  div:has(.menu-slide.open) {
    display: grid;
    transform: translateY(0);
    opacity: 1;
  }
  div:has(.menu-slide.open) ~ *:not(.banner) {
    display: none;
  }
  .sponsors {
    text-align: center;
  }
  .sponsors .flex {
    gap: 1rem;
    align-items: center;
  }
  .sponsors figure {
    background: #fff;
    border-radius: 1rem;
  }
  .tag {
    background: hsl(var(--color-100));
    color: hsl(var(--color-700));
    border: 1px solid;
    border-radius: 0.25em;
    font-weight: 550;
    font-size: 0.85rem;
    padding: 0.25em;
    padding: 0.25lh;
  }
  .tinymce {
    border: 1px solid #999;
    border-radius: 10px;
  }
  .tinymce:focus {
    outline: 2px solid blue;
  }
  .toc {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    padding: 1em 0 0;
  }
}@layer utilities{.green, .success {
    --color-h: var(--color-green-h);
    --color-s: var(--color-green-s);
    --color-l: var(--color-green-l);
    --color-100: var(--color-green-100);
    --color-300: var(--color-green-300);
    --color-500: var(--color-green-500);
    --color-700: var(--color-green-700);
    --color-900: var(--color-green-900);
  }
  .red, .error {
    --color-h: var(--color-red-h);
    --color-s: var(--color-red-s);
    --color-l: var(--color-red-l);
    --color-100: var(--color-red-100);
    --color-300: var(--color-red-300);
    --color-500: var(--color-red-500);
    --color-700: var(--color-red-700);
    --color-900: var(--color-red-900);
  }
  .blue {
    --color-h: var(--color-blue-h);
    --color-s: var(--color-blue-s);
    --color-l: var(--color-blue-l);
    --color-100: var(--color-blue-100);
    --color-300: var(--color-blue-300);
    --color-500: var(--color-blue-500);
    --color-700: var(--color-blue-700);
    --color-900: var(--color-blue-900);
  }
  .gold {
    --color-h: var(--color-gold-h);
    --color-s: var(--color-gold-s);
    --color-l: var(--color-gold-l);
    --color-100: var(--color-gold-100);
    --color-300: var(--color-gold-300);
    --color-500: var(--color-gold-500);
    --color-700: var(--color-gold-700);
    --color-900: var(--color-gold-900);
  }
  .slate {
    --color-h: var(--color-slate-h);
    --color-s: var(--color-slate-s);
    --color-l: var(--color-slate-l);
    --color-100: var(--color-slate-100);
    --color-300: var(--color-slate-300);
    --color-500: var(--color-slate-500);
    --color-700: var(--color-slate-700);
    --color-900: var(--color-slate-900);
  }
  .purple {
    --color-h: var(--color-purple-h);
    --color-s: var(--color-purple-s);
    --color-l: var(--color-purple-l);
    --color-100: var(--color-purple-100);
    --color-300: var(--color-purple-300);
    --color-500: var(--color-purple-500);
    --color-700: var(--color-purple-700);
    --color-900: var(--color-purple-900);
  }
  #colors {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    text-align: center;
    margin-top: 2lh;
  }
  #colors p {
    margin-bottom: 0;
    background: rgba(242, 242, 242, 0.8);
    padding: 0.25rem 0.5rem;
    border-radius: 0.5rem;
    place-self: center;
    text-align: center;
    user-select: none;
  }
  #colors div {
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    display: grid;
    text-align: center;
  }
  #colors div.color-100 {
    background: hsl(var(--color-100));
  }
  #colors div.color-300 {
    background: hsl(var(--color-300));
  }
  #colors div.color-500 {
    background: hsl(var(--color-500));
  }
  #colors div.color-700 {
    background: hsl(var(--color-700));
  }
  #colors div.color-900 {
    background: hsl(var(--color-900));
  }
  #colors div span {
    place-self: center;
    background: rgba(242, 242, 242, 0.8);
    padding: 0.25rem 0.5rem;
    border-radius: 0.5rem;
    user-select: all;
  }
  @media screen and (min-width: 768px) {
    .mobile-only {
      display: none;
      visibility: hidden;
    }
  }
  .visually-hidden {
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
}@layer vendor{#search form {
    border: 1px solid hsl(var(--color-700));
    box-shadow: var(--shadow-elevation-low);
  }
}@media(prefers-reduced-motion){*{animation-duration:.01s}}#search input{border:1px solid hsl(var(--color-700));box-shadow:var(--shadow-elevation-medium)}#search input:focus-visible{border:none}