/* Buttons, after uk-button and its variants */
.button { display: inline-block; box-sizing: border-box; padding: 0 30px; font-family: var(--font-display); font-weight: 600; font-size: var(--text-button); line-height: 40px; text-align: center; text-decoration: none; vertical-align: middle; color: #fff; background: var(--color-sand); border: 4px solid transparent; border-radius: 0; box-shadow: var(--button-shadow); transition: .2s ease-in-out; transition-property: color, background-color, border-color, box-shadow; }
.button:hover { color: #fff; background: var(--color-sand-hover); box-shadow: var(--button-shadow-hover); text-decoration: none; }
.button--default { color: var(--color-night); background: #fff; border-color: var(--color-button-border); box-shadow: none; }
.button--default:hover { color: var(--color-sand); background: #fff; border-color: transparent; box-shadow: -2px -2px 5px rgba(255,255,255,.9), 2px 2px 4px rgba(57,65,124,.2); }
.button--secondary { color: #fff; background: var(--color-night); border-color: var(--color-night); box-shadow: inset 3px 3px 10px rgba(146,136,104,.1), 3px 3px 10px rgba(146,136,104,.1); }
.button--large { padding: 0 40px; line-height: 48px; font-size: 16px; }
/* Inside sand and dark sections */
:is([data-tone="primary"], [data-tone="secondary"]) .button { color: var(--color-ink); background: #fff; box-shadow: var(--button-light-shadow); border-color: transparent; }
:is([data-tone="primary"], [data-tone="secondary"]) .button:hover { color: var(--color-sand); background: #fff; }
:is([data-tone="primary"], [data-tone="secondary"]) .button--secondary { color: #fff; background: transparent; border-color: #fff; box-shadow: none; }
:is([data-tone="primary"], [data-tone="secondary"]) .button--secondary:hover { color: var(--color-ink); background: #fff; }
.slide .button--default, .hero .button { color: var(--color-ink); background: #fff; border-color: transparent; box-shadow: var(--button-light-shadow); }
.buttons { display: flex; flex-wrap: wrap; gap: 15px; }

/* Text styles, after uk-text-lead, uk-text-meta, uk-heading-bullet */
.lead { font-family: var(--font-display); font-weight: 400; font-size: var(--text-lead); line-height: 1.5; color: var(--color-ink); }
.meta { font-family: var(--font-display); font-weight: 400; font-size: var(--text-meta); line-height: 1.4; color: var(--color-meta); text-transform: uppercase; }
.display { font-size: var(--h1); line-height: 1.2; }
.lead-heading { font-family: var(--font-display); font-weight: 400; font-size: var(--text-lead); line-height: 1.5; text-transform: uppercase; color: var(--color-ink); margin-bottom: 40px; }
.bullet::before { content: ""; display: inline-block; position: relative; top: calc(-.1 * 1em); vertical-align: middle; height: calc(4px + .7em); margin-right: calc(5px + .2em); border-left: 4.1px solid var(--color-sand); }
[data-tone="primary"] .bullet::before, [data-tone="secondary"] .bullet::before { border-left-color: rgba(255,255,255,.1); }
[data-tone="primary"] .meta { color: #fff; }
.kicker { font-family: var(--font-display); font-size: var(--text-meta); line-height: 1.4; color: var(--color-meta); text-transform: uppercase; }
.center { text-align: center; }
.intro { max-width: 600px; margin: 0 auto 40px; }
.columns-2 { column-count: 2; column-gap: 40px; }
@media (max-width: 639px) { .columns-2 { column-count: 1; } }
.pull { max-width: 760px; margin-inline: auto; margin-bottom: 60px; text-align: center; }
.prose > * + * { margin-top: var(--margin); }
.prose img { margin-block: 30px; }
.icon { width: 64px; height: 64px; margin-bottom: 20px; }
.icon--lg { width: 160px; height: auto; justify-self: center; }
.divider-vertical { width: max-content; height: 100px; margin: 0 auto 40px; border: 0; border-left: 1px solid var(--color-sand); }

/* Header and navigation, after uk-navbar */
.nav-list { display: flex; align-items: center; gap: var(--nav-gap); margin: 0; padding: 0; list-style: none; }
.nav-list > li { position: relative; }
.nav-list > li > a { display: flex; align-items: center; min-height: var(--header-h); padding: 0 14px; font-family: var(--font-display); font-size: var(--text-button); font-weight: 600; color: var(--color-ink); text-decoration: none; }
.nav-list > li > a:hover, .nav-list > li:hover > a, .nav-list > li:focus-within > a, .nav-list > li.is-current > a { color: var(--color-sand); text-decoration: none; }
.nav-list li ul { position: absolute; top: calc(100% - 15px); left: -12px; z-index: 990; width: 260px; margin: 0; padding: 26px; list-style: none; background: #fff; border-radius: var(--dropdown-radius); box-shadow: var(--dropdown-shadow); opacity: 0; visibility: hidden; transition: opacity .15s ease-out, visibility .15s; }
.nav-list li:hover > ul, .nav-list li:focus-within > ul { opacity: 1; visibility: visible; }
.nav-list li ul a { display: block; padding: 4px 0; font-size: var(--text-base); color: var(--color-ink); text-decoration: none; }
.nav-list li ul a:hover { color: var(--color-sand); }
.nav-label { padding: 4px 0; color: var(--color-ink); }
.nav-list li ul .nav-label ~ li a { padding-left: 15px; font-size: 14px; }
.nav--wide { display: none; margin-left: auto; }
.nav-register { display: none; margin-left: 20px; }

@media (min-width: 1200px) {
  .nav--wide, .nav-register { display: block; }
  .nav-toggle { display: none; }
}
@media (max-width: 1199px) {
  .site-header__inner { position: relative; justify-content: center; min-height: 80px; }
  .nav-toggle { position: absolute; left: var(--gutter); top: 50%; transform: translateY(-50%); }
  .brand img { width: 80px; height: 80px; }
}

.nav-toggle { display: grid; gap: 5px; padding: 10px; background: none; border: 0; cursor: pointer; }
.nav-toggle span { display: block; width: 20px; height: 2px; background: var(--color-ink); }
.nav--panel { position: fixed; inset: 0 auto 0 0; width: min(100%, 300px); height: 100dvh; max-height: none; margin: 0; padding: 70px 40px 40px; border: 0; background: #fff; box-shadow: var(--dropdown-shadow); overflow-y: auto; }
.nav--panel::backdrop { background: rgba(0, 0, 0, .1); }
.nav--panel .nav-list { flex-direction: column; align-items: stretch; gap: 0; }
.nav--panel .nav-list > li > a { min-height: 0; padding: 6px 0; font-size: 20px; font-weight: 400; }
.nav--panel .nav-list li ul { position: static; width: auto; padding: 0 0 10px 15px; background: none; box-shadow: none; opacity: 1; visibility: visible; }
.nav-close { position: absolute; top: 15px; right: 20px; font-size: 32px; line-height: 1; background: none; border: 0; color: var(--color-ink); cursor: pointer; }

/* Home slideshow, after the YOOtheme slideshow element. Radio buttons switch slides without script. */
.slideshow { position: relative; height: 471px; overflow: hidden; background: var(--color-night); }
.slideshow > input { position: absolute; opacity: 0; pointer-events: none; }
.slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility .6s; }
#hs-1:checked ~ .slideshow__slides .slide--1, #hs-2:checked ~ .slideshow__slides .slide--2 { opacity: 1; visibility: visible; }
.slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.slide__body { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; height: 100%; max-width: 960px; margin-inline: auto; padding-inline: var(--gutter); text-align: center; }
.slide__text { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: var(--h2); line-height: 1.3; color: #fff; }
.slidenav { position: absolute; top: 50%; z-index: 2; display: none; width: 40px; height: 40px; margin-top: -20px; border-radius: 500px; background: #fff center / 14px no-repeat; cursor: pointer; }
.slidenav--prev { left: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'%3E%3Cpath fill='none' stroke='%230d0a46' stroke-width='1.2' d='M6 1 1 6l5 5M1 6h13'/%3E%3C/svg%3E"); }
.slidenav--next { right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'%3E%3Cpath fill='none' stroke='%230d0a46' stroke-width='1.2' d='m8 1 5 5-5 5m5-5H0'/%3E%3C/svg%3E"); }
#hs-1:checked ~ .hs-to-2a, #hs-1:checked ~ .hs-to-2b, #hs-2:checked ~ .hs-to-1a, #hs-2:checked ~ .hs-to-1b { display: block; }
@media (max-width: 639px) { .slidenav { display: none !important; } .slideshow { height: 420px; } }

/* Interior page hero, after the cover-image sections */
.hero { position: relative; display: grid; isolation: isolate; overflow: hidden; background: var(--color-night); }
.hero__bg { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; }
.hero::after, .slide::after { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0, 0, 0, .52); }
.slide { isolation: isolate; }
.slide img { z-index: -2; }
.hero__body { padding-block: var(--section-xlarge); text-align: center; color: #fff; }
.hero__body h1 { color: #fff; max-width: 960px; margin-inline: auto; }

/* Sections with the pattern background */
.band--pattern { background: #fff url(/img/2022-05-event-bg.webp) center / cover no-repeat; }
.band--flush-top { padding-top: 0; }
.band--member { padding-block: 40px; }
.band--member .display { margin: 0; }

/* Cards, after uk-card-default */
.card { background: #fff; color: var(--color-night); padding: 40px; box-shadow: var(--card-shadow); }
.card h3 { margin: 0; }
.card h3 a { color: var(--color-ink); text-decoration: none; }
.card h3 a:hover { color: var(--color-sand); }
.card--icon { text-align: center; }
.card--icon img { width: 70px; height: 70px; margin: 0 auto 20px; }
.card--icon h3 { font-size: var(--h4); }
.card-slider { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 80px) / 3); gap: 40px; margin: -90px 0 var(--section) ; padding: 15px 15px 25px; margin-inline: -15px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; position: relative; z-index: 1; }
.card-slider::-webkit-scrollbar { display: none; }
.card-slider > li { scroll-snap-align: start; }
@media (max-width: 959px) { .card-slider { grid-auto-columns: calc((100% - 40px) / 2); } }
@media (max-width: 639px) { .card-slider { grid-auto-columns: 85%; } }

/* Home grids */
.grid { display: grid; gap: 40px; }
.grid--vision { gap: 40px; }
@media (min-width: 960px) { .grid--vision { grid-template-columns: minmax(0, 438fr) minmax(0, 692fr); gap: 70px; } }
.grid--vision .lead { margin-bottom: 20px; }
.statue { margin-top: 30px; width: 100%; }
.stack-ruled > div { padding-block: 40px; border-top: 1px solid var(--color-sand); }
.stack-ruled > div:first-child { border-top: 0; padding-top: 0; }
.stack-ruled h3 { margin-bottom: 20px; }
.grid--3 { margin: 0 0 40px; padding: 0; list-style: none; }
@media (min-width: 640px) { .grid--3 { grid-template-columns: repeat(3, 1fr); } }
.tiles img { width: 100%; aspect-ratio: 373 / 280; object-fit: cover; margin-bottom: 20px; }
.tiles h3 { margin: 0; }
.grid--flagday { align-items: start; }
.grid--flagday img { width: 100%; margin-block: 40px; }
.grid--flagday > div:last-child img { margin-top: 0; }
@media (min-width: 960px) { .grid--flagday { grid-template-columns: minmax(0, 450fr) minmax(0, 580fr); gap: 105px; padding-left: 65px; } }

/* Tilted photo carousel, after the YOOtheme slider with a 3D effect */
.tilt-slider { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 80px) / 3); gap: 40px; margin: 40px -15px 0; padding: 20px 15px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; perspective: 1200px; }
.tilt-slider::-webkit-scrollbar { display: none; }
.tilt-slider > li { scroll-snap-align: start; }
.tilt-slider img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transform: rotateY(-12deg); box-shadow: 0 15px 40px rgba(0,0,0,.15); }
.tilt-slider > li:nth-child(3n+1) img { transform: rotateY(12deg); }
.tilt-slider > li:nth-child(3n+2) img { transform: none; }
@media (max-width: 959px) { .tilt-slider { grid-auto-columns: calc((100% - 40px) / 2); } }
@media (max-width: 639px) { .tilt-slider { grid-auto-columns: 85%; } }

/* Interior page grids */
.cards { display: grid; gap: 40px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin: 0 0 40px; padding: 0; list-style: none; }
.cards > li { background: #fff; padding: 40px; box-shadow: var(--card-shadow); }
.cards h3 { margin-top: 0; }
.cards h3 a { color: inherit; }
.cards--photo > li { padding: 0; overflow: hidden; }
.cards--photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cards--photo h3 { padding: 20px 30px 30px; margin: 0; font-size: var(--h4); }
.cards--figures > li h3 { color: var(--color-sand); }
.cards--figures > li.is-total { background: var(--color-sand); }
.cards--figures > li.is-total, .cards--figures > li.is-total h3 { color: #fff; }
.gallery { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); margin: 0 0 40px; padding: 0; list-style: none; }
.gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.gallery--captioned figcaption { margin-top: 10px; font-family: var(--font-display); font-weight: 600; color: var(--color-ink); }
.schedule { display: grid; gap: 40px; }
.schedule article { display: grid; gap: 40px; align-items: center; }
.schedule img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (min-width: 960px) { .schedule article { grid-template-columns: 1fr 2fr; } }

/* Lists */
.ticks { list-style: none; padding: 0; }
.ticks > li { position: relative; padding-left: 30px; }
.ticks > li + li { margin-top: 10px; }
.ticks > li::before { content: ""; position: absolute; left: 0; top: .45em; width: 14px; height: 11px; background: url("data:image/svg+xml,%3Csvg width='14' height='11' viewBox='0 0 14 11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon fill='%23A8A085' points='12 1 5 7.5 2 5 1 5.5 5 10 13 1.5'/%3E%3C/svg%3E") no-repeat; }
.plain { list-style: none; padding: 0; }
.plain li + li { margin-top: 10px; }
.values { display: grid; gap: 40px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.values dt { font-family: var(--font-display); font-weight: 600; font-size: var(--h4); color: var(--color-ink); margin-bottom: 10px; }
.values dd { margin: 0; }

/* Sponsor tiers */
.tiers { display: grid; gap: 40px; }
@media (min-width: 960px) { .tiers { grid-template-columns: repeat(3, 1fr); align-items: start; } }
.tier { background: #fff; padding: 40px; box-shadow: var(--card-shadow); }
.tier h3 { margin-top: 0; }
.tier .price { display: block; margin-top: 10px; font-size: var(--h2); color: var(--color-sand); }
.tier .button { margin-top: 30px; }

/* Footer pieces */
.icon-button { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 500px; background: #fff; color: var(--color-ink) !important; box-shadow: -5px -5px 15px rgba(255,255,255,.03), 4px 4px 12px rgba(0,0,0,.2); }
.icon-button svg { width: 20px; height: 20px; fill: currentColor; }
.icon-button:hover { color: var(--color-sand) !important; }
.social { display: flex; gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.contact-list li { display: flex; gap: 12px; align-items: flex-start; }
.contact-list svg { flex: none; width: 20px; height: 20px; margin-top: 2px; color: #fff; }

/* Misc */
.year-card figcaption { margin-top: 20px; font-family: var(--font-display); font-weight: 700; font-size: var(--heading-hero); color: var(--color-sand); }
.contact-card dt { font-family: var(--font-display); font-weight: 600; color: var(--color-ink); }
.contact-card dd { margin: 0 0 20px; }
.post-list { list-style: none; padding: 0; }
.post-list > li + li { margin-top: 60px; }
.post-list time { font-family: var(--font-display); font-size: var(--text-meta); color: var(--color-meta); }
.post-list h2 { margin-top: 5px; }
.post-list h2 a { color: var(--color-ink); }
.more { font-family: var(--font-display); font-weight: 600; }
.video { margin-top: 60px; aspect-ratio: 16 / 9; }
.video iframe { width: 100%; height: 100%; border: 0; }
.embed-form { width: 640px; max-width: 100%; height: 1400px; margin-inline: auto; border: 0; }

/* Pages that open with a cover image: the header sits over the image, then turns
   solid as the page scrolls (scroll-driven, no script). Browsers without scroll
   timelines keep the ordinary solid sticky header. */
@property --nav-ink { syntax: "<color>"; inherits: true; initial-value: #0d0a46; }
@property --reg-bg { syntax: "<color>"; inherits: true; initial-value: #a8a085; }
@property --reg-fg { syntax: "<color>"; inherits: true; initial-value: #ffffff; }
.nav--wide .nav-list > li > a { color: var(--nav-ink); }
.nav--wide .nav-list > li > a:hover, .nav--wide .nav-list > li:hover > a, .nav--wide .nav-list > li.is-current > a { color: var(--color-sand); }
.nav-register { background: var(--reg-bg); color: var(--reg-fg); }
@supports (animation-timeline: scroll()) {
  @media (min-width: 1200px) {
    .header-overlay .site-header { position: fixed; inset: 0 0 auto; margin: 0; --nav-ink: #fff; --reg-bg: #fff; --reg-fg: #0d0a46; background: transparent; border-bottom-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; animation: header-solid linear both; animation-timeline: scroll(root); animation-range: 300px 420px; }
    .header-overlay--dark .site-header { --nav-ink: #0d0a46; --reg-bg: #a8a085; --reg-fg: #fff; }
    .header-overlay .hero__body { padding-top: calc(var(--section-xlarge) + 50px); }
  }
}
@keyframes header-solid {
  from { opacity: .0; transform: translateY(-100%); }
  1% { --nav-ink: #0d0a46; --reg-bg: #a8a085; --reg-fg: #fff; background: var(--color-header); border-bottom-color: #e5e9ed; -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
  to { opacity: 1; transform: none; --nav-ink: #0d0a46; --reg-bg: #a8a085; --reg-fg: #fff; background: var(--color-header); border-bottom-color: #e5e9ed; -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
}

/* Interior hero title, after uk-heading-medium */
.hero__body { text-align: left; }
.hero__body h1 { margin: 0; max-width: none; font-size: 44.75px; font-weight: 700; line-height: 1.2; }
@media (min-width: 960px) { .hero__body h1 { font-size: 54.25px; } }
@media (min-width: 1200px) { .hero__body h1 { font-size: 62px; } }
@media (max-width: 959px) { .hero__body { text-align: center; } }
.hero__body .kicker { color: #fff; }

/* Dark feature cards, after uk-card-secondary */
.card--dark { color: rgba(255,255,255,.7); background: linear-gradient(40deg, #1b1d21 0, #31343b 100%); box-shadow: 1px 1px 0 0 rgba(255,255,255,.9); text-align: center; }
.card--dark h3 { color: #fff; font-size: var(--h2); margin: 20px 0 0; }
.card--dark .lead { color: #fff; margin-top: 20px; }
.card--dark img { width: 60px; height: 60px; margin: 0 auto; }
.pair { display: grid; gap: 40px; max-width: 894px; margin-inline: auto; }
@media (min-width: 640px) { .pair { grid-template-columns: 1fr 1fr; } }
.narrow { max-width: 600px; margin-inline: auto; }
.cards--values { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.cards--values > li { text-align: center; color: var(--color-night); }
.cards--values h3 { color: var(--color-night); margin-bottom: 20px; }

/* Our Story */
.wrap--small { max-width: var(--wrap-small); }
.band--large-top { padding-top: var(--section-large); }
.heading-small { font-size: 43.2px; font-weight: 700; color: var(--color-night); line-height: 1.2; }
@media (min-width: 960px) { .heading-small { font-size: 54px; } }
.timeline { display: grid; gap: 20px 40px; max-width: 750px; margin-inline: auto; padding-inline: var(--gutter); }
.timeline img { width: 100%; margin-bottom: 40px; }
@media (min-width: 640px) { .timeline { grid-template-columns: 223px minmax(0, 487px); } }

/* Events */
.hero--plain .hero__body { padding-block: 0; min-height: 460px; }
.award { max-width: 500px; }
@media (min-width: 960px) { .award { margin-left: 40px; } }
.award img { margin: 40px auto 0; width: 400px; }
.schedule-item { margin-top: 70px; align-items: center; }
.schedule-item img { aspect-ratio: 580 / 464; }
.wrap--expand { max-width: 1360px; padding-inline: 40px; }
.row-slider { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 80px) / 3); gap: 40px; margin: 0 0 40px; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.row-slider::-webkit-scrollbar { display: none; }
.row-slider > li { scroll-snap-align: start; }
.row-slider img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 959px) { .row-slider { grid-auto-columns: calc((100% - 40px) / 2); } }
@media (max-width: 639px) { .row-slider { grid-auto-columns: 85%; } }
.overlay-figure { position: relative; margin: 0; }
.overlay-figure figcaption { position: absolute; inset: auto 0 0; padding: 15px 20px; font-family: var(--font-display); font-weight: 600; font-size: 17px; text-align: center; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.6)); }
.band--flush-bottom { padding-bottom: 0; }
.strip { display: grid; grid-auto-flow: column; grid-auto-columns: 360px; margin: 40px 0 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.strip::-webkit-scrollbar { display: none; }
.strip img { width: 360px; height: 246px; object-fit: cover; }

/* Curricula */
.band--title { padding-block: 70px; }
.band--title h1 { font-size: var(--h1); }
.placeholder { width: 100%; aspect-ratio: 580 / 386; object-fit: none; background: #f7f8fc; }
.bullets { list-style: none; padding-left: 0; }
.bullets > li { position: relative; padding-left: 30px; }
.bullets > li + li { margin-top: 10px; }
.bullets > li::before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 1.5em; background: url("data:image/svg+xml,%3Csvg width='4' height='4' viewBox='0 0 4 4' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle fill='%23A8A085' cx='2' cy='2' r='2'/%3E%3C/svg%3E") 0 50% no-repeat; }
.titled h3 { margin: 20px 0 0; font-size: var(--h3); }
.titled h3 a { color: var(--color-ink); }

/* Accordion, after uk-accordion, using native details elements */
.accordion details { border-top: 1px solid #e5e9ed; padding-block: 20px; }
.accordion details:last-child { border-bottom: 1px solid #e5e9ed; }
.accordion summary { display: flex; justify-content: space-between; align-items: center; list-style: none; cursor: pointer; font-family: var(--font-display); font-weight: 600; font-size: var(--h4); color: var(--color-ink); }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary::after { content: ""; flex: none; width: 13px; height: 13px; margin-left: 20px; background: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='13' height='1.5' fill='%23A8A085' y='6'/%3E%3Crect width='1.5' height='13' fill='%23A8A085' x='6'/%3E%3C/svg%3E") no-repeat; }
.accordion details[open] summary::after { background-image: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='13' height='1.5' fill='%23A8A085' y='6'/%3E%3C/svg%3E"); }
.accordion details > :not(summary) { margin-top: 20px; }
.pair--narrow { max-width: 760px; }
.card--left { text-align: left; }
.card--left h3 { margin-top: 0; }

/* Sponsor */
.striped { list-style: none; padding: 0; margin-left: 30px; }
.striped > li { padding: 10px; }
.striped > li:nth-child(odd) { background: rgba(168, 160, 133, .98); }
.tier { max-width: 443px; justify-self: center; color: var(--color-night); }
.tier h3 { font-size: var(--h1); line-height: 1.2; color: var(--color-ink); }
.tier .price { margin-top: 0; font-size: inherit; color: inherit; display: inline; }
.button--block { display: block; width: 100%; }
.tier .ticks { margin-top: 30px; }

/* Donate */
@media (min-width: 960px) { .hero-right .hero__body { padding-left: calc(50% + 20px); } }
.hero-right .hero__body h1 { font-size: var(--h1); font-weight: 700; }
.hero-right .hero__body p { margin-top: 20px; }
.cards--figures > li { color: var(--color-night); }
.cards--figures > li h3 { color: var(--color-ink); font-size: var(--h3); }
.divided > li + li { margin-top: 0; border-top: 1px solid #e5e9ed; padding-top: 10px; margin-top: 10px; }

/* Shop */
.hero-light .hero::after { display: none; }
.hero-light .hero__body h1 { color: var(--color-ink); }
.media-row { display: flex; gap: 40px; align-items: center; }
.media-row > img { flex: none; width: 150px; border-radius: 50%; }
@media (max-width: 639px) { .media-row { flex-direction: column; text-align: center; } }
.brand-logo { margin: 0 auto 30px; }
.contact-col .social { justify-content: center; }

/* Blog */
.blog-layout { display: grid; gap: 40px; }
@media (min-width: 960px) { .blog-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; } .blog-layout > * { padding-inline: 40px; } .blog-layout > :first-child { padding-left: 0; border-right: 1px solid var(--color-sand); } .blog-layout > :last-child { padding-right: 0; } }
.post-cards { list-style: none; padding: 0; margin: 0; display: grid; gap: 40px; }
.post-cards .card { padding: 40px; }
.post-cards .meta { text-transform: none; display: block; margin-bottom: 15px; }
.post-cards h2 { margin: 0 0 20px; }
.post-cards h2 a { color: var(--color-ink); }
.read-more { font-family: var(--font-display); font-size: 14px; color: var(--color-sand); }
.blog-aside .video { margin-top: 0; position: sticky; top: 120px; }
.meta-date { font-family: var(--font-display); font-size: 14px; color: var(--color-meta); }
.post-title { font-size: 44.75px; line-height: 1.2; max-width: 760px; }
@media (min-width: 960px) { .post-title { font-size: 54.25px; } }
.post-body { max-width: 760px; margin-top: 40px; }
.hero { display: block; }
