@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

        *,
        :before,
        :after,
        ::backdrop {
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-border-style: solid;
            --tw-font-weight: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-outline-style: solid
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-white: #fff;
        --spacing: .25rem;
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25 / .875);
        --font-weight-medium: 500;
        --radius-md: .375rem;
        --ease-out: cubic-bezier(0, 0, .2, 1);
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono)
    }
}

@layer base {

    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html,
    :host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: inherit;
        font-weight: inherit
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,
    strong {
        font-weight: bolder
    }

    code,
    kbd,
    samp,
    pre {
        font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub,
    sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,
    ul,
    menu {
        list-style: none
    }

    img,
    svg,
    video,
    canvas,
    audio,
    iframe,
    embed,
    object {
        vertical-align: middle;
        display: block
    }

    img,
    video {
        max-width: 100%;
        height: auto
    }

    button,
    input,
    select,
    optgroup,
    textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button,
    input:where([type=button], [type=reset], [type=submit]) {
        appearance: button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }
}

@layer components;

@layer utilities {
    .visible {
        visibility: visible
    }

    .static {
        position: static
    }

    .start {
        inset-inline-start: var(--spacing)
    }

    .hidden {
        display: none
    }

    .inline-flex {
        display: inline-flex
    }

    .size-8 {
        width: calc(var(--spacing) * 8);
        height: calc(var(--spacing) * 8)
    }

    .size-9 {
        width: calc(var(--spacing) * 9);
        height: calc(var(--spacing) * 9)
    }

    .size-10 {
        width: calc(var(--spacing) * 10);
        height: calc(var(--spacing) * 10)
    }

    .h-8 {
        height: calc(var(--spacing) * 8)
    }

    .h-9 {
        height: calc(var(--spacing) * 9)
    }

    .h-10 {
        height: calc(var(--spacing) * 10)
    }

    .flex-shrink {
        flex-shrink: 1
    }

    .shrink-0 {
        flex-shrink: 0
    }

    .transform {
        transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )
    }

    .items-center {
        align-items: center
    }

    .justify-center {
        justify-content: center
    }

    .gap-1\.5 {
        gap: calc(var(--spacing) * 1.5)
    }

    .gap-2 {
        gap: calc(var(--spacing) * 2)
    }

    .rounded-md {
        border-radius: var(--radius-md)
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .px-3 {
        padding-inline: calc(var(--spacing) * 3)
    }

    .px-4 {
        padding-inline: calc(var(--spacing) * 4)
    }

    .px-6 {
        padding-inline: calc(var(--spacing) * 6)
    }

    .py-2 {
        padding-block: calc(var(--spacing) * 2)
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .whitespace-nowrap {
        white-space: nowrap
    }

    .text-white {
        color: var(--color-white)
    }

    .italic {
        font-style: italic
    }

    .underline-offset-4 {
        text-underline-offset: 4px
    }

    .shadow {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-xs {
        --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .outline {
        outline-style: var(--tw-outline-style);
        outline-width: 1px
    }

    .transition-all {
        transition-property: all;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .outline-none {
        --tw-outline-style: none;
        outline-style: none
    }

    @media(hover:hover) {
        .hover\:underline:hover {
            text-decoration-line: underline
        }
    }

    .focus-visible\:ring-\[3px\]:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .disabled\:pointer-events-none:disabled {
        pointer-events: none
    }

    .disabled\:opacity-50:disabled {
        opacity: .5
    }

    .has-\[\>svg\]\:px-2\.5:has(>svg) {
        padding-inline: calc(var(--spacing) * 2.5)
    }

    .has-\[\>svg\]\:px-3:has(>svg) {
        padding-inline: calc(var(--spacing) * 3)
    }

    .has-\[\>svg\]\:px-4:has(>svg) {
        padding-inline: calc(var(--spacing) * 4)
    }

    .\[\&_svg\]\:pointer-events-none svg {
        pointer-events: none
    }

    .\[\&_svg\]\:shrink-0 svg {
        flex-shrink: 0
    }

    .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]) {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }
}

:root {
    --paper: #f6f1e7;
    --paper-2: #efe8d9;
    --paper-3: #e4dcc9;
    --title: #800080;
    --title-2: #5c005c;
    --green: #17141a;
    --green-deep: #4d004d;
    --green-mid: #2e2a33;
    --sage: #dbb8db;
    --hair: #17141a26;
    --hair-soft: #17141a14;
    --ease-out: cubic-bezier(.22, 1, .36, 1);
    --ease-fade: cubic-bezier(.4, 0, .2, 1);
    --display: "Bodoni Moda", "Times New Roman", serif;
    --script: "Italianno", "Bodoni Moda", cursive;
    --sans: "Archivo", ui-sans-serif, system-ui, sans-serif;
    --chrome: var(--paper);
    --chrome-shade: 1
}

* {
    box-sizing: border-box
}

html,
body {
    margin: 0;
    padding: 0
}

html {
    background: var(--paper);
    -webkit-text-size-adjust: 100%
}

body {
    background: var(--paper);
    color: var(--green);
    font-family: var(--sans);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizelegibility;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.75;
    overflow-x: hidden
}

html.is-loading,
html.is-loading body {
    overflow: hidden
}

::selection {
    background: var(--green);
    color: var(--paper)
}

a {
    color: inherit;
    text-decoration: none
}

.u-micro {
    font-family: var(--sans);
    font-variation-settings: "wdth" 118;
    letter-spacing: .34em;
    text-transform: uppercase;
    font-size: .625rem;
    font-weight: 500;
    line-height: 1.4
}

.u-num {
    font-family: var(--sans);
    font-variant-numeric: lining-nums tabular-nums
}

.stagger {
    opacity: 0;
    transition: opacity .9s var(--ease-out) var(--d, 0s), transform 1.1s var(--ease-out) var(--d, 0s);
    transform: translateY(14px)
}

.is-in .stagger {
    opacity: 1;
    transform: none
}

.loader {
    z-index: 90;
    background: var(--paper);
    transition: opacity 1s var(--ease-fade);
    place-items: center;
    display: grid;
    position: fixed;
    inset: 0
}

.loader--out {
    opacity: 0;
    pointer-events: none
}

.loader__mark {
    flex-direction: column;
    align-items: center;
    gap: .35rem;
    display: flex
}

.loader__word {
    font-family: var(--display);
    letter-spacing: -.02em;
    color: var(--title);
    font-size: clamp(2.6rem, 7vw, 5rem);
    font-weight: 400;
    line-height: 1
}

.loader__sub {
    font-family: var(--script);
    color: var(--green-mid);
    margin-top: -.35em;
    font-size: clamp(3.4rem, 9vw, 6.4rem);
    line-height: .7
}

.loader__track {
    background: var(--hair);
    width: 132px;
    height: 1px;
    margin-top: 1.9rem;
    display: block;
    position: relative;
    overflow: hidden
}

.loader__fill {
    background: var(--title);
    transform-origin: 0;
    animation: load-fill 2.1s var(--ease-out) infinite;
    position: absolute;
    inset: 0
}

@keyframes load-fill {
    0% {
        transform: scaleX(0)
    }

    60% {
        transform: scaleX(1)
    }

    to {
        opacity: .15;
        transform: scaleX(1)
    }
}

.site {
    background: var(--paper);
    position: relative
}

.film-wrap {
    position: relative
}

.film-stage {
    background: var(--green-deep);
    height: 100svh;
    position: sticky;
    top: 0;
    overflow: hidden
}

.film-deck {
    position: absolute;
    inset: 0
}

.film-shell {
    will-change: opacity;
    position: absolute;
    inset: 0
}

.film-shell video {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    inset: 0
}

.film-vignette {
    pointer-events: none;
    background: linear-gradient(#14111766, #14111700 10%, #0000 24%), radial-gradient(124% 92% at 50% 46%, #0000 44%, #14111724 78%, #1411174d);
    position: absolute;
    inset: 0
}

.curtain {
    background: var(--paper);
    will-change: transform;
    pointer-events: none;
    z-index: 2;
    border-radius: 50%/18%;
    width: 128vw;
    height: 148svh;
    position: absolute;
    top: 0;
    left: 50%
}

.curtain__rule {
    border-radius: inherit;
    position: absolute;
    inset: 0;
    box-shadow: inset 0 1px #17141a21
}

.chapters {
    z-index: 3;
    pointer-events: none;
    position: absolute;
    inset: 0
}

.chapter {
    text-align: center;
    color: var(--green);
    will-change: opacity, transform;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 8svh clamp(1.5rem, 7vw, 6rem);
    display: flex;
    position: absolute;
    inset: 0
}

.chapter__kicker {
    font-family: var(--sans);
    font-variation-settings: "wdth" 118;
    letter-spacing: .36em;
    text-transform: uppercase;
    color: var(--green-mid);
    margin-bottom: clamp(1.4rem, 3.4vh, 2.6rem);
    padding-left: .36em;
    font-size: clamp(.5625rem, .9vw, .6875rem);
    font-weight: 500
}

.chapter__title {
    font-family: var(--display);
    letter-spacing: -.022em;
    color: var(--title);
    margin: 0;
    font-size: clamp(2.7rem, 8.2vw, 8rem);
    font-weight: 400;
    line-height: .9;
    position: relative
}

.chapter__title>span {
    display: block
}

.chapter__script {
    font-family: var(--script);
    letter-spacing: 0;
    color: var(--green-mid);
    margin-top: -.02em;
    padding-bottom: .12em;
    font-size: 1.34em;
    font-style: normal;
    line-height: .74;
    display: block
}

.chapter__rule {
    background: var(--green);
    opacity: .42;
    width: clamp(46px, 6vw, 74px);
    height: 1px;
    margin: clamp(1.5rem, 4vh, 2.9rem) 0 clamp(1.1rem, 2.6vh, 1.9rem);
    display: block
}

.chapter__quote {
    max-width: 32ch;
    font-family: var(--display);
    letter-spacing: -.01em;
    color: var(--title-2);
    margin: 0 0 1.6rem;
    font-size: clamp(1.05rem, 2vw, 1.6rem);
    font-style: italic;
    font-weight: 400;
    line-height: 1.45;
    position: relative
}

.chapter__body {
    max-width: 46ch;
    color: var(--green-mid);
    margin: 0;
    font-size: clamp(.875rem, 1.05vw, 1rem);
    font-weight: 300;
    line-height: 1.8
}

.chapter__meta {
    font-family: var(--sans);
    font-variation-settings: "wdth" 118;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--green);
    opacity: .62;
    justify-content: center;
    align-items: center;
    gap: .85rem;
    margin-top: clamp(1.6rem, 4.2vh, 3rem);
    padding-left: .3em;
    font-size: .5625rem;
    font-weight: 500;
    display: flex
}

.chapter__meta i {
    opacity: .5;
    background: currentColor;
    flex: none;
    width: 18px;
    height: 1px
}

.chapter--open .chapter__title {
    font-size: clamp(3.1rem, 11vw, 10.5rem)
}

.chapter--open .chapter__body {
    max-width: 40ch
}

.chrome {
    z-index: 5;
    color: var(--chrome);
    filter: drop-shadow(0 1px 2px rgba(13, 43, 21, calc(.6 * var(--chrome-shade, 0)))) drop-shadow(0 2px 16px rgba(13, 43, 21, calc(.45 * var(--chrome-shade, 0))));
    justify-content: space-between;
    align-items: flex-start;
    padding: clamp(1.1rem, 2.6vw, 2.1rem) clamp(1.1rem, 3vw, 2.6rem);
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.chrome__badge {
    pointer-events: auto;
    width: clamp(58px, 5.4vw, 78px);
    height: clamp(58px, 5.4vw, 78px);
    display: block
}

.badge {
    width: 100%;
    height: 100%;
    overflow: visible
}

.badge__edge {
    fill: none;
    stroke: currentColor;
    stroke-width: .8px;
    opacity: calc(.4 + .42 * var(--chrome-shade, 0))
}

.badge__type {
    font-family: var(--sans);
    font-variation-settings: "wdth" 118;
    letter-spacing: 1.3px;
    fill: currentColor;
    font-size: 6.9px;
    font-weight: 600
}

.badge__spin {
    transform-origin: 50px 50px;
    animation: 36s linear infinite badge-spin
}

@keyframes badge-spin {
    to {
        transform: rotate(360deg)
    }
}

.badge__mark path,
.badge__mark circle {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.2px;
    opacity: 1
}

.chrome__nav {
    text-align: right;
    pointer-events: auto;
    flex-direction: column;
    align-items: flex-end;
    gap: .5rem;
    display: flex
}

.chrome__cta {
    font-family: var(--display);
    letter-spacing: .02em;
    text-transform: uppercase;
    font-size: clamp(.9rem, 1.35vw, 1.18rem);
    font-weight: 400;
    line-height: 1.06
}

.chrome__cta span {
    border-bottom: 1px solid;
    padding-bottom: .12em;
    display: block
}

.chrome__link {
    font-family: var(--sans);
    font-variation-settings: "wdth" 118;
    letter-spacing: .3em;
    text-transform: uppercase;
    opacity: calc(.78 + .22 * var(--chrome-shade, 0));
    transition: opacity .4s var(--ease-fade);
    font-size: .5625rem;
    font-weight: 500
}

.chrome__link:first-of-type {
    margin-top: .55rem
}

.chrome__link:hover {
    opacity: 1
}

.rail {
    z-index: 5;
    color: var(--chrome);
    pointer-events: none;
    filter: drop-shadow(0 1px 2px rgba(13, 43, 21, calc(.6 * var(--chrome-shade, 0)))) drop-shadow(0 2px 14px rgba(13, 43, 21, calc(.4 * var(--chrome-shade, 0))));
    flex-direction: column;
    align-items: center;
    gap: .9rem;
    display: flex;
    position: absolute;
    top: 50%;
    left: clamp(1.1rem, 3vw, 2.6rem);
    transform: translateY(-50%)
}

.rail__count {
    font-family: var(--sans);
    font-variation-settings: "wdth" 118;
    font-variant-numeric: lining-nums tabular-nums;
    letter-spacing: .16em;
    font-size: .625rem;
    font-weight: 500
}

.rail__line {
    width: 1px;
    height: clamp(52px, 13vh, 104px);
    opacity: calc(.4 + .4 * var(--chrome-shade, 0));
    background: currentColor
}

.rail__word {
    font-family: var(--sans);
    font-variation-settings: "wdth" 118;
    letter-spacing: .34em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    opacity: calc(.72 + .28 * var(--chrome-shade, 0));
    font-size: .5rem;
    font-weight: 500;
    transform: rotate(180deg)
}

.rail__arrow {
    opacity: .5;
    width: 1px;
    height: 30px;
    animation: rail-drop 2.6s var(--ease-out) infinite;
    background: currentColor;
    position: relative
}

.rail__arrow:after {
    content: "";
    border-bottom: 1px solid;
    border-right: 1px solid;
    width: 6px;
    height: 6px;
    position: absolute;
    bottom: 0;
    left: -2.5px;
    transform: rotate(45deg)
}

@keyframes rail-drop {

    0%,
    to {
        transform: translateY(0)
    }

    50% {
        transform: translateY(7px)
    }
}

.amen {
    z-index: 4;
    background: var(--paper);
    padding: clamp(4.5rem, 13vh, 9rem) clamp(1.25rem, 6vw, 5.5rem) clamp(4rem, 11vh, 8rem);
    position: relative
}

.amen__head {
    text-align: center;
    flex-direction: column;
    align-items: center;
    margin-bottom: clamp(3rem, 8vh, 5.5rem);
    display: flex
}

.amen__kicker {
    font-family: var(--sans);
    font-variation-settings: "wdth" 118;
    letter-spacing: .36em;
    text-transform: uppercase;
    color: var(--green-mid);
    margin-bottom: 1.3rem;
    padding-left: .36em;
    font-size: .625rem;
    font-weight: 500
}

.amen__title {
    font-family: var(--display);
    letter-spacing: -.022em;
    color: var(--title);
    margin: 0;
    font-size: clamp(2.2rem, 6vw, 5.2rem);
    font-weight: 400;
    line-height: .94
}

.amen__title em {
    font-family: var(--script);
    color: var(--green-mid);
    margin-top: -.01em;
    padding-bottom: .12em;
    font-size: 1.34em;
    font-style: normal;
    line-height: .78;
    display: block
}

.amen__grid {
    border-top: 1px solid var(--hair);
    grid-template-columns: repeat(4, 1fr);
    max-width: 1280px;
    margin: 0 auto;
    display: grid
}

.amen__item {
    border-bottom: 1px solid var(--hair);
    border-right: 1px solid var(--hair-soft);
    padding: clamp(2rem, 4.4vh, 3.2rem) clamp(1.1rem, 2.2vw, 2rem);
    position: relative
}

.amen__item:last-child {
    border-right: 0
}

.amen__n {
    font-family: var(--sans);
    font-variation-settings: "wdth" 118;
    font-variant-numeric: lining-nums tabular-nums;
    letter-spacing: .22em;
    color: var(--green-mid);
    opacity: .7;
    font-size: .625rem;
    font-weight: 500;
    display: block
}

.amen__icon {
    width: 40px;
    height: 40px;
    color: var(--green);
    margin: 1.6rem 0 1.4rem;
    display: block
}

.amen__icon svg {
    width: 100%;
    height: 100%;
    display: block
}

.amen__name {
    font-family: var(--display);
    letter-spacing: -.012em;
    color: var(--title);
    margin: 0 0 .6rem;
    font-size: clamp(1.1rem, 1.7vw, 1.45rem);
    font-weight: 400;
    line-height: 1.14
}

.amen__body {
    color: var(--green-mid);
    margin: 0;
    font-size: .8125rem;
    font-weight: 300;
    line-height: 1.72
}

.foot {
    z-index: 4;
    background: var(--green-deep);
    color: var(--paper);
    padding: clamp(4rem, 11vh, 7.5rem) clamp(1.25rem, 6vw, 5.5rem) clamp(1.8rem, 4vh, 2.6rem);
    position: relative
}

.foot__top {
    border-bottom: 1px solid #f6f1e726;
    grid-template-columns: 1.25fr 1fr;
    gap: clamp(2.4rem, 6vw, 5rem);
    max-width: 1280px;
    margin: 0 auto;
    padding-bottom: clamp(2.6rem, 7vh, 4.4rem);
    display: grid
}

.foot__kicker {
    font-family: var(--sans);
    font-variation-settings: "wdth" 118;
    letter-spacing: .34em;
    text-transform: uppercase;
    color: var(--sage);
    margin-bottom: 1.2rem;
    font-size: .625rem;
    font-weight: 500;
    display: block
}

.foot__title {
    font-family: var(--display);
    letter-spacing: -.022em;
    margin: 0;
    font-size: clamp(1.9rem, 4.6vw, 3.9rem);
    font-weight: 400;
    line-height: .98
}

.foot__title em {
    font-family: var(--script);
    color: var(--sage);
    margin-top: -.01em;
    padding-bottom: .12em;
    font-size: 1.34em;
    font-style: normal;
    line-height: .78;
    display: block
}

.foot__lede {
    color: #f6f1e7b8;
    max-width: 40ch;
    margin: 1.7rem 0 0;
    font-size: .875rem;
    font-weight: 300;
    line-height: 1.8
}

.foot__rows {
    flex-direction: column;
    align-self: end;
    gap: 1.5rem;
    display: flex
}

.foot__row {
    flex-direction: column;
    gap: .35rem;
    display: flex
}

.foot__label {
    font-family: var(--sans);
    font-variation-settings: "wdth" 118;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--sage);
    font-size: .5625rem;
    font-weight: 500
}

.foot__value {
    font-family: var(--display);
    font-variant-numeric: lining-nums tabular-nums;
    letter-spacing: .01em;
    color: var(--paper);
    transition: opacity .4s var(--ease-fade);
    font-size: clamp(1rem, 1.7vw, 1.35rem);
    line-height: 1.3
}

.foot__value--num {
    font-family: var(--sans);
    letter-spacing: .02em;
    font-size: clamp(.95rem, 1.5vw, 1.2rem);
    font-weight: 300
}

a.foot__value:hover {
    opacity: .68
}

.foot__base {
    max-width: 1280px;
    font-family: var(--sans);
    font-variation-settings: "wdth" 118;
    letter-spacing: .26em;
    text-transform: uppercase;
    color: #f6f1e780;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin: 0 auto;
    padding-top: clamp(1.4rem, 3vh, 2.1rem);
    font-size: .5625rem;
    font-weight: 400;
    display: flex
}

@media(max-height:560px)and (orientation:landscape) {
    .chapter {
        padding: 6svh clamp(4.2rem, 11vw, 7rem)
    }

    .chapter__kicker {
        letter-spacing: .3em;
        margin-bottom: .7rem;
        font-size: .5rem
    }

    .chapter__title,
    .chapter--open .chapter__title {
        font-size: clamp(1.75rem, 6.4vw, 2.6rem)
    }

    .chapter__rule {
        width: 38px;
        margin: .85rem 0 .7rem
    }

    .chapter__quote {
        max-width: 40ch;
        margin-bottom: .7rem;
        font-size: .8125rem;
        line-height: 1.42
    }

    .chapter__body {
        -webkit-line-clamp: 3;
        line-clamp: 3;
        -webkit-box-orient: vertical;
        max-width: 62ch;
        font-size: .75rem;
        line-height: 1.6;
        display: -webkit-box;
        overflow: hidden
    }

    .chapter__meta {
        letter-spacing: .24em;
        margin-top: .85rem;
        font-size: .5rem
    }

    .chrome {
        padding: .7rem .9rem
    }

    .chrome__badge {
        width: 44px;
        height: 44px
    }

    .chrome__cta {
        font-size: .75rem
    }

    .chrome__link {
        letter-spacing: .22em;
        font-size: .5rem
    }

    .chrome__link:first-of-type {
        margin-top: .3rem
    }

    .rail {
        gap: .5rem;
        left: .7rem
    }

    .rail__line {
        height: 34px
    }

    .rail__word,
    .rail__arrow {
        display: none
    }

    .curtain {
        border-radius: 50%/14%;
        width: 150vw;
        height: 200svh
    }

    .amen {
        padding: 3rem 1.4rem 2.6rem
    }

    .amen__head {
        margin-bottom: 2rem
    }

    .amen__grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .amen__item {
        padding: 1.3rem 1rem
    }

    .amen__item:nth-child(2n) {
        border-right: 0
    }

    .amen__icon {
        width: 28px;
        height: 28px;
        margin: .9rem 0 .8rem
    }

    .foot {
        padding: 2.6rem 1.4rem 1.4rem
    }

    .foot__top {
        grid-template-columns: 1fr 1fr;
        gap: 1.6rem;
        padding-bottom: 1.8rem
    }
}

@media(max-width:900px)and (min-height:561px) {
    .foot__top {
        grid-template-columns: 1fr
    }
}

@media(max-width:768px) {
    .chapter {
        padding: 9svh 1.5rem
    }

    .chapter__body {
        font-size: .8125rem
    }

    .amen__grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .amen__item:nth-child(2n) {
        border-right: 0
    }

    .rail__word {
        display: none
    }

    .foot__base {
        flex-direction: column;
        align-items: flex-start;
        gap: .6rem
    }
}

@media(max-width:520px) {
    .amen__grid {
        grid-template-columns: 1fr
    }

    .amen__item {
        border-right: 0
    }
}

@media(prefers-reduced-motion:reduce) {

    .badge__spin,
    .rail__arrow,
    .loader__fill {
        animation: none
    }

    .stagger {
        opacity: 1;
        transition: none;
        transform: none
    }
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-ring-inset {
    syntax: "*";
    inherits: false
}

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-outline-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}