/* ! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-space-y-reverse: 0;
            --tw-border-style: solid;
            --tw-leading: initial;
            --tw-font-weight: initial;
            --tw-tracking: 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-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial;
        }
    }
}

@layer theme{
    :root,
    :host {
        --font-sans: "Asap", ui-sans-serif, system-ui, sans-serif;
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-white: #fff;
        --spacing: .25rem;
        --container-sm: 24rem;
        --container-md: 28rem;
        --container-xl: 36rem;
        --container-2xl: 42rem;
        --container-3xl: 48rem;
        --container-5xl: 64rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1 / .75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25 / .875);
        --text-base: 1rem;
        --text-base--line-height: calc(1.5 / 1);
        --text-lg: 1.125rem;
        --text-lg--line-height: calc(1.75 / 1.125);
        --text-xl: 1.25rem;
        --text-xl--line-height: calc(1.75 / 1.25);
        --text-2xl: 1.5rem;
        --text-2xl--line-height: calc(2 / 1.5);
        --text-3xl: 1.875rem;
        --text-3xl--line-height: calc(2.25 / 1.875);
        --text-4xl: 2.25rem;
        --text-4xl--line-height: calc(2.5 / 2.25);
        --text-5xl: 3rem;
        --text-5xl--line-height: 1;
        --text-6xl: 3.75rem;
        --text-6xl--line-height: 1;
        --text-7xl: 4.5rem;
        --text-7xl--line-height: 1;
        --font-weight-normal: 400;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --tracking-tight: -.025em;
        --leading-relaxed: 1.625;
        --radius-lg: .5rem;
        --radius-xl: .75rem;
        --radius-2xl: 1rem;
        --radius-3xl: 1.5rem;
        --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);
        --font-display: "Lora", Georgia, serif;
        --color-paper: #fffdf7;
        --color-ink: #30213f;
        --color-muted: #6a5b6f;
        --color-vermillion: #b73e26;
        --color-celadon: #dce9ce;
        --color-lilac: #e8def0;
        --color-line: #d9d1d8;
        --color-butter: #f5d77c;
    }
}

@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;
        -webkit-text-decoration: 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:where(:not(iframe)) {
        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;
    }

    body {
        background-color: var(--color-paper);
        font-family: var(--font-sans);
        color: var(--color-ink);
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 17px;
    }

    h1,
    h2,
    h3 {
        text-wrap: balance;
    }

    p {
        text-wrap: pretty;
    }

    button,
    summary {
        cursor: pointer;
    }

    [hidden] {
        display: none!important;
    }

    :focus-visible {
        outline-offset: 4px;
        outline: 3px solid #b73e26;
    }

    ::selection {
        color: #30213f;
        background: #f5d77c;
    }
}

@layer components{
    .wrap {
        width: 100%;
        max-width: 1280px;
        padding-inline: calc(var(--spacing) * 5);
        margin-inline: auto;
    }

    @media (min-width:40rem){
        .wrap {
            padding-inline: calc(var(--spacing) * 8);
        }
    }

    @media (min-width:64rem){
        .wrap {
            padding-inline: calc(var(--spacing) * 12);
        }
    }

    .section {
        padding-block: calc(var(--spacing) * 14);
    }

    @media (min-width:40rem){
        .section {
            padding-block: calc(var(--spacing) * 20);
            margin-top: -71px;
        }
    }

    .eyebrow {
        font-size: var(--text-xs);
        line-height: var(--tw-leading,var(--text-xs--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        --tw-tracking: .18em;
        letter-spacing: .18em;
        text-transform: uppercase;
    }

    .display {
        font-family: var(--font-display);
        --tw-leading: 1.06;
        --tw-tracking: -.045em;
        letter-spacing: -.045em;
        line-height: 1.06;
    }

    .btn {
        min-height: calc(var(--spacing) * 12);
        justify-content: center;
        align-items: center;
        gap: calc(var(--spacing) * 3);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-ink);
        background-color: var(--color-ink);
        padding-inline: calc(var(--spacing) * 6);
        padding-block: calc(var(--spacing) * 3);
        font-size: var(--text-base);
        line-height: var(--tw-leading,var(--text-base--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-paper);
        transition-property: color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration));
        border-radius: 3.40282e38px;
        display: inline-flex;
    }

    @media (hover:hover){
        .btn:hover {
            border-color: var(--color-vermillion);
            background-color: var(--color-vermillion);
        }
    }

    .btn:disabled {
        cursor: not-allowed;
        opacity: .5;
    }

    .btn-line {
        min-height: calc(var(--spacing) * 12);
        justify-content: center;
        align-items: center;
        gap: calc(var(--spacing) * 2);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-ink);
        padding-inline: calc(var(--spacing) * 5);
        padding-block: calc(var(--spacing) * 3);
        font-size: var(--text-base);
        line-height: var(--tw-leading,var(--text-base--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-ink);
        transition-property: color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration));
        background-color: #0000;
        border-radius: 3.40282e38px;
        display: inline-flex;
    }

    @media (hover:hover){
        .btn-line:hover {
            background-color: var(--color-celadon);
        }
    }

    .link {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        text-decoration-line: underline;
        text-decoration-color: #b73e2680;
    }

    @supports (color:color-mix(in lab, red, red)){
        .link {
            -webkit-text-decoration-color: color-mix(in oklab, var(--color-vermillion) 50%, transparent);
            -webkit-text-decoration-color: color-mix(in oklab, var(--color-vermillion) 50%, transparent);
            text-decoration-color: color-mix(in oklab, var(--color-vermillion) 50%, transparent);
        }
    }

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

    @media (hover:hover){
        .link:hover {
            -webkit-text-decoration-color: var(--color-vermillion);
            -webkit-text-decoration-color: var(--color-vermillion);
            text-decoration-color: var(--color-vermillion);
        }
    }

    .field {
        margin-top: calc(var(--spacing) * 2);
        min-height: calc(var(--spacing) * 12);
        border-radius: var(--radius-lg);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: #30213f66;
        width: 100%;
        display: block;
        grid-area: auto / 1 / auto / auto;
    }

    @supports (color:color-mix(in lab, red, red)){
        .field {
            border-color: color-mix(in oklab, var(--color-ink) 40%, transparent);
        }
    }

    .field {
        background-color: var(--color-white);
        padding-inline: calc(var(--spacing) * 4);
        padding-block: calc(var(--spacing) * 3);
        font-size: var(--text-base);
        line-height: var(--tw-leading,var(--text-base--line-height));
        color: var(--color-ink);
    }

    .label {
        font-size: var(--text-sm);
        line-height: var(--tw-leading,var(--text-sm--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        display: block;
    }

    .error {
        margin-top: calc(var(--spacing) * 2);
        font-size: var(--text-sm);
        line-height: var(--tw-leading,var(--text-sm--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-vermillion);
    }

    .field[aria-invalid=true] {
        border-color: var(--color-vermillion);
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + 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);
        --tw-ring-color: #b73e264d;
    }

    @supports (color:color-mix(in lab, red, red)){
        .field[aria-invalid=true] {
            --tw-ring-color: color-mix(in oklab, var(--color-vermillion) 30%, transparent);
        }
    }

    .pill {
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: #30213f33;
        border-radius: 3.40282e38px;
        align-items: center;
        display: inline-flex;
    }

    @supports (color:color-mix(in lab, red, red)){
        .pill {
            border-color: color-mix(in oklab, var(--color-ink) 20%, transparent);
        }
    }

    .pill {
        padding-inline: calc(var(--spacing) * 3);
        padding-block: var(--spacing);
        font-size: var(--text-xs);
        line-height: var(--tw-leading,var(--text-xs--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
    }

    .nav-link {
        padding-inline: calc(var(--spacing) * 3);
        padding-block: calc(var(--spacing) * 2);
        font-size: var(--text-sm);
        line-height: var(--tw-leading,var(--text-sm--line-height));
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
        border-radius: 3.40282e38px;
    }

    @media (hover:hover){
        .nav-link:hover {
            background-color: var(--color-celadon);
        }
    }

    .nav-link[aria-current=page] {
        background-color: var(--color-celadon);
    }

    .card {
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-line);
        background-color: var(--color-white);
        border-radius: 1.3rem;
        overflow: hidden;
    }

    .staff {
        background-image: repeating-linear-gradient(#0000 0 25px,#30213f18 25px 26px,#0000 26px 40px);
    }

    .course-art {
        aspect-ratio: 4/3;
        object-fit: cover;
        width: 100%;
    }

    .faq summary {
        min-height: calc(var(--spacing) * 14);
        justify-content: space-between;
        align-items: center;
        gap: calc(var(--spacing) * 4);
        padding-block: calc(var(--spacing) * 4);
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        display: flex;
    }

    .faq summary:after {
        content: "+";
        font-size: 1.5rem;
    }

    .faq[open] summary:after {
        content: "−";
    }

    .faq {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
        border-color: var(--color-line);
    }

    .faq p {
        max-width: var(--container-3xl);
        padding-bottom: calc(var(--spacing) * 5);
        --tw-leading: var(--leading-relaxed);
        line-height: var(--leading-relaxed);
        color: var(--color-muted);
    }

    .step-dot {
        width: calc(var(--spacing) * 8);
        height: calc(var(--spacing) * 8);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-line);
        font-size: var(--text-sm);
        line-height: var(--tw-leading,var(--text-sm--line-height));
        border-radius: 3.40282e38px;
        justify-content: center;
        align-items: center;
        display: flex;
    }

    .step-dot[aria-current=step] {
        border-color: var(--color-ink);
        background-color: var(--color-ink);
        color: var(--color-white);
    }

    .reveal {
        opacity: 1;
    }

    .js.motion .reveal {
        opacity: 0;
        transition: opacity .55s,transform .55s;
        transform: translateY(18px);
    }

    .js.motion .reveal.is-visible {
        opacity: 1;
        transform: none;
    }
}

@layer utilities{
    .sr-only {
        clip-path: inset(50%);
        white-space: nowrap;
        border-width: 0;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        position: absolute;
        overflow: hidden;
    }

    .fixed {
        position: fixed;
    }

    .right-5 {
        right: calc(var(--spacing) * 5);
    }

    .bottom-5 {
        bottom: calc(var(--spacing) * 5);
    }

    .left-5 {
        left: calc(var(--spacing) * 5);
    }

    .z-50 {
        z-index: 50;
    }

    .col-span-2 {
        grid-column: span 2/span 2;
    }

    .mx-auto {
        margin-inline: auto;
    }

    .my-6 {
        margin-block: calc(var(--spacing) * 6);
    }

    .mt-1 {
        margin-top: var(--spacing);
    }

    .mt-2 {
        margin-top: calc(var(--spacing) * 2);
    }

    .mt-3 {
        margin-top: calc(var(--spacing) * 3);
    }

    .mt-4 {
        margin-top: calc(var(--spacing) * 4);
    }

    .mt-5 {
        margin-top: calc(var(--spacing) * 5);
    }

    .mt-6 {
        margin-top: calc(var(--spacing) * 6);
    }

    .mt-7 {
        margin-top: calc(var(--spacing) * 7);
    }

    .mt-8 {
        margin-top: calc(var(--spacing) * 8);
    }

    .mt-9 {
        margin-top: calc(var(--spacing) * 9);
    }

    .mt-10 {
        margin-top: calc(var(--spacing) * 10);
    }

    .mt-12 {
        margin-top: calc(var(--spacing) * 12);
    }

    .mt-14 {
        margin-top: calc(var(--spacing) * 14);
    }

    .mt-16 {
        margin-top: calc(var(--spacing) * 16);
    }

    .mt-auto {
        margin-top: auto;
    }

    .mb-8 {
        margin-bottom: calc(var(--spacing) * 8);
    }

    .mb-9 {
        margin-bottom: calc(var(--spacing) * 9);
    }

    .mb-10 {
        margin-bottom: calc(var(--spacing) * 10);
    }

    .ml-auto {
        margin-left: auto;
    }

    .block {
        display: block;
    }

    .flex {
        display: flex;
    }

    .grid {
        display: grid;
    }

    .hidden {
        display: none;
    }

    .inline-flex {
        display: inline-flex;
    }

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

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

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

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

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

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

    .h-full {
        height: 100%;
    }

    .min-h-12 {
        min-height: calc(var(--spacing) * 12);
    }

    .min-h-24 {
        min-height: calc(var(--spacing) * 24);
    }

    .min-h-48 {
        min-height: calc(var(--spacing) * 48);
    }

    .min-h-56 {
        min-height: calc(var(--spacing) * 56);
    }

    .min-h-screen {
        min-height: 100vh;
    }

    .w-full {
        width: 100%;
    }

    .max-w-2xl {
        max-width: var(--container-2xl);
    }

    .max-w-3xl {
        max-width: var(--container-3xl);
    }

    .max-w-5xl {
        max-width: var(--container-5xl);
    }

    .max-w-md {
        max-width: var(--container-md);
    }

    .max-w-sm {
        max-width: var(--container-sm);
    }

    .max-w-xl {
        max-width: var(--container-xl);
    }

    .flex-1 {
        flex: 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,);
    }

    .list-inside {
        list-style-position: inside;
    }

    .list-decimal {
        list-style-type: decimal;
    }

    .grid-cols-2 {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .grid-cols-4 {
        grid-template-columns: repeat(4,minmax(0,1fr));
    }

    .flex-col {
        flex-direction: column;
    }

    .flex-wrap {
        flex-wrap: wrap;
    }

    .items-baseline {
        align-items: baseline;
    }

    .items-center {
        align-items: center;
    }

    .items-end {
        align-items: flex-end;
    }

    .items-start {
        align-items: flex-start;
    }

    .justify-between {
        justify-content: space-between;
    }

    .justify-center {
        justify-content: center;
    }

    .gap-1 {
        gap: var(--spacing);
    }

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

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

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

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

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

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

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

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

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

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

    :where(.space-y-2>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }

    :where(.space-y-3>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }

    :where(.space-y-4>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }

    :where(.space-y-5>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
    }

    :where(.space-y-6>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }

    :where(.space-y-9>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 9) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 9) * calc(1 - var(--tw-space-y-reverse)));
    }

    .overflow-hidden {
        overflow: hidden;
    }

    .rounded-2xl {
        border-radius: var(--radius-2xl);
    }

    .rounded-3xl {
        border-radius: var(--radius-3xl);
    }

    .rounded-\[1\.5rem\] {
        border-radius: 1.5rem;
    }

    .rounded-\[1\.6rem\] {
        border-radius: 1.6rem;
    }

    .rounded-full {
        border-radius: 3.40282e38px;
    }

    .rounded-lg {
        border-radius: var(--radius-lg);
    }

    .rounded-xl {
        border-radius: var(--radius-xl);
    }

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

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

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

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

    .border-l-2 {
        border-left-style: var(--tw-border-style);
        border-left-width: 2px;
    }

    .border-ink {
        border-color: var(--color-ink);
    }

    .border-ink\/15 {
        border-color: #30213f26;
    }

    @supports (color:color-mix(in lab, red, red)){
        .border-ink\/15 {
            border-color: color-mix(in oklab, var(--color-ink) 15%, transparent);
        }
    }

    .border-ink\/20 {
        border-color: #30213f33;
    }

    @supports (color:color-mix(in lab, red, red)){
        .border-ink\/20 {
            border-color: color-mix(in oklab, var(--color-ink) 20%, transparent);
        }
    }

    .border-ink\/25 {
        border-color: #30213f40;
    }

    @supports (color:color-mix(in lab, red, red)){
        .border-ink\/25 {
            border-color: color-mix(in oklab, var(--color-ink) 25%, transparent);
        }
    }

    .border-ink\/30 {
        border-color: #30213f4d;
    }

    @supports (color:color-mix(in lab, red, red)){
        .border-ink\/30 {
            border-color: color-mix(in oklab, var(--color-ink) 30%, transparent);
        }
    }

    .border-line {
        border-color: var(--color-line);
    }

    .border-paper {
        border-color: var(--color-paper);
    }

    .border-paper\/20 {
        border-color: #fffdf733;
    }

    @supports (color:color-mix(in lab, red, red)){
        .border-paper\/20 {
            border-color: color-mix(in oklab, var(--color-paper) 20%, transparent);
        }
    }

    .border-vermillion {
        border-color: var(--color-vermillion);
    }

    .bg-butter {
        background-color: var(--color-butter);
    }

    .bg-celadon {
        background-color: var(--color-celadon);
    }

    .bg-ink {
        background-color: var(--color-ink);
    }

    .bg-lilac {
        background-color: var(--color-lilac);
    }

    .bg-paper {
        background-color: var(--color-paper);
    }

    .bg-paper\/60 {
        background-color: #fffdf799;
    }

    @supports (color:color-mix(in lab, red, red)){
        .bg-paper\/60 {
            background-color: color-mix(in oklab, var(--color-paper) 60%, transparent);
        }
    }

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

    .object-cover {
        object-fit: cover;
    }

    .p-4 {
        padding: calc(var(--spacing) * 4);
    }

    .p-5 {
        padding: calc(var(--spacing) * 5);
    }

    .p-6 {
        padding: calc(var(--spacing) * 6);
    }

    .p-7 {
        padding: calc(var(--spacing) * 7);
    }

    .p-8 {
        padding: calc(var(--spacing) * 8);
    }

    .p-9 {
        padding: calc(var(--spacing) * 9);
    }

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

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

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

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

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

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

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

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

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

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

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

    .pt-4 {
        padding-top: calc(var(--spacing) * 4);
    }

    .pt-5 {
        padding-top: calc(var(--spacing) * 5);
    }

    .pt-6 {
        padding-top: calc(var(--spacing) * 6);
    }

    .pt-12 {
        padding-top: calc(var(--spacing) * 12);
    }

    .pb-2 {
        padding-bottom: calc(var(--spacing) * 2);
    }

    .pb-4 {
        padding-bottom: calc(var(--spacing) * 4);
    }

    .pb-10 {
        padding-bottom: calc(var(--spacing) * 10);
    }

    .pl-4 {
        padding-left: calc(var(--spacing) * 4);
    }

    .text-center {
        text-align: center;
    }

    .text-left {
        text-align: left;
    }

    .font-display {
        font-family: var(--font-display);
    }

    .font-sans {
        font-family: var(--font-sans);
    }

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

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

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

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

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

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

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

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

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

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

    .text-\[10px\] {
        font-size: 10px;
    }

    .text-\[clamp\(3\.6rem\,6\.4vw\,6\.4rem\)\] {
        font-size: clamp(3.6rem,6.4vw,6.4rem);
    }

    .leading-relaxed {
        --tw-leading: var(--leading-relaxed);
        line-height: var(--leading-relaxed);
    }

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

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

    .tracking-\[\.2em\] {
        --tw-tracking: .2em;
        letter-spacing: .2em;
    }

    .tracking-tight {
        --tw-tracking: var(--tracking-tight);
        letter-spacing: var(--tracking-tight);
    }

    .break-words {
        overflow-wrap: break-word;
    }

    .break-all {
        word-break: break-all;
    }

    .whitespace-pre-wrap {
        white-space: pre-wrap;
    }

    .text-butter {
        color: var(--color-butter);
    }

    .text-ink {
        color: var(--color-ink);
    }

    .text-muted {
        color: var(--color-muted);
    }

    .text-paper {
        color: var(--color-paper);
    }

    .text-paper\/70 {
        color: #fffdf7b3;
    }

    @supports (color:color-mix(in lab, red, red)){
        .text-paper\/70 {
            color: color-mix(in oklab, var(--color-paper) 70%, transparent);
        }
    }

    .text-paper\/80 {
        color: #fffdf7cc;
    }

    @supports (color:color-mix(in lab, red, red)){
        .text-paper\/80 {
            color: color-mix(in oklab, var(--color-paper) 80%, transparent);
        }
    }

    .text-vermillion {
        color: var(--color-vermillion);
    }

    .uppercase {
        text-transform: uppercase;
        font-size: 12px;
    }

    .italic {
        font-style: italic;
    }

    .underline {
        text-decoration-line: underline;
    }

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

    .accent-ink {
        accent-color: var(--color-ink);
    }

    .shadow-lg {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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);
    }

    .filter {
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
    }

    @media (hover:hover){
        .hover\:bg-celadon:hover {
            background-color: var(--color-celadon);
        }

        .hover\:bg-vermillion:hover {
            background-color: var(--color-vermillion);
        }

        .hover\:underline:hover {
            text-decoration-line: underline;
        }
    }

    .focus\:not-sr-only:focus {
        clip-path: none;
        white-space: normal;
        width: auto;
        height: auto;
        margin: 0;
        padding: 0;
        position: static;
        overflow: visible;
    }

    .focus\:fixed:focus {
        position: fixed;
    }

    .focus\:top-4:focus {
        top: calc(var(--spacing) * 4);
    }

    .focus\:left-4:focus {
        left: calc(var(--spacing) * 4);
    }

    @media not all and (min-width:64rem){
        .max-lg\:mt-3 {
            margin-top: calc(var(--spacing) * 3);
        }

        .max-lg\:hidden {
            display: none;
        }
    }

    @media (min-width:40rem){
        .sm\:inline-flex {
            display: inline-flex;
        }

        .sm\:grid-cols-2 {
            grid-template-columns: repeat(2,minmax(0,1fr));
        }

        .sm\:grid-cols-\[\.8fr_1fr\] {
            grid-template-columns: .8fr 1fr;
        }

        .sm\:grid-cols-\[5rem_1fr\] {
            grid-template-columns: 5rem 1fr;
        }

        .sm\:grid-cols-\[10rem_1fr\] {
            grid-template-columns: 10rem 1fr;
        }

        .sm\:p-8 {
            padding: calc(var(--spacing) * 8);
        }

        .sm\:p-9 {
            padding: calc(var(--spacing) * 9);
        }

        .sm\:p-10 {
            padding: calc(var(--spacing) * 10);
        }

        .sm\:py-16 {
            padding-block: calc(var(--spacing) * 16);
        }

        .sm\:pt-16 {
            padding-top: calc(var(--spacing) * 16);
        }

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

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

    @media (min-width:48rem){
        .md\:grid-cols-2 {
            grid-template-columns: repeat(2,minmax(0,1fr));
        }

        .md\:grid-cols-3 {
            grid-template-columns: repeat(3,minmax(0,1fr));
        }

        .md\:grid-cols-4 {
            grid-template-columns: repeat(4,minmax(0,1fr));
        }

        .md\:grid-cols-\[1\.3fr_1fr_1fr\] {
            grid-template-columns: 1.3fr 1fr 1fr;
        }

        .md\:grid-cols-\[1fr_1\.5fr\] {
            grid-template-columns: 1fr 1.5fr;
        }
    }

    @media (min-width:64rem){
        .lg\:hidden {
            display: none;
        }

        .lg\:grid-cols-2 {
            grid-template-columns: repeat(2,minmax(0,1fr));
        }

        .lg\:grid-cols-3 {
            grid-template-columns: repeat(3,minmax(0,1fr));
        }

        .lg\:grid-cols-4 {
            grid-template-columns: repeat(4,minmax(0,1fr));
        }

        .lg\:grid-cols-5 {
            grid-template-columns: repeat(5,minmax(0,1fr));
        }

        .lg\:grid-cols-\[1\.3fr_1fr\] {
            grid-template-columns: 1.3fr 1fr;
        }

        .lg\:grid-cols-\[1\.5fr_1fr\] {
            grid-template-columns: 1.5fr 1fr;
        }

        .lg\:grid-cols-\[1\.7fr_1fr\] {
            grid-template-columns: 1.7fr 1fr;
        }

        .lg\:grid-cols-\[1fr_1\.4fr\] {
            grid-template-columns: 1fr 1.4fr;
        }

        .lg\:grid-cols-\[1fr_2fr\] {
            grid-template-columns: 1fr 2fr;
        }

        .lg\:items-center {
            align-items: center;
        }

        .lg\:items-end {
            align-items: flex-end;
        }

        .lg\:text-7xl {
            font-size: var(--text-7xl);
            line-height: var(--tw-leading,var(--text-7xl--line-height));
        }
    }

    @media (min-width:80rem){
        .xl\:flex {
            display: flex;
        }

        .xl\:hidden {
            display: none;
        }
    }
}

@media (prefers-reduced-motion:no-preference){
    html:focus-within {
        scroll-behavior: smooth;
    }
}

@media print{
    header,
    footer,
    [data-print-hide] {
        display: none!important;
    }

    main {
        color: #000;
    }
}

@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-space-y-reverse{
    syntax: "*";
    inherits: false;
    initial-value: 0;
}

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

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

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

@property --tw-tracking{
    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-blur{
    syntax: "*";
    inherits: false;
}

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

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

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

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

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

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

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

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

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

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

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

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