/*! 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: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
        --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
        --spacing: .25rem;
        --container-sm: 24rem;
        --container-xl: 36rem;
        --container-2xl: 42rem;
        --container-3xl: 48rem;
        --container-4xl: 56rem;
        --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);
        --font-weight-normal: 400;
        --font-weight-semibold: 600;
        --tracking-tight: -.025em;
        --leading-tight: 1.25;
        --leading-relaxed: 1.625;
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
        --color-paper: #faf7f0;
        --color-paper-2: #f2eee4;
        --color-paper-3: #edeae1;
        --color-surface: #fff;
        --color-ink: #1a1917;
        --color-ink-2: #3a3833;
        --color-muted: #55524a;
        --color-muted-2: #6b675d;
        --color-rule: #ddd8cc;
        --color-rule-2: #c4beaf;
        --color-input-line: #7a766a;
        --color-credit: #14653b;
        --color-credit-bg: #e4ede5;
        --color-debit: #9b2c2c;
        --color-debit-bg: #f6eae7;
        --color-mark: #8a5314;
        --color-mark-bg: #f5eddf;
        --text-display: clamp(2.15rem, 1.35rem + 3.2vw, 4rem);
        --text-head: clamp(1.6rem, 1.25rem + 1.4vw, 2.4rem);
        --text-lead: clamp(1.05rem, 1rem + .3vw, 1.25rem);
        --spacing-section: clamp(4.5rem, 3rem + 5vw, 7.5rem)
    }
}

@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
    }

    html {
        scroll-behavior: smooth;
        -webkit-text-size-adjust: 100%;
        scroll-padding-top: 5.5rem
    }

    @media (prefers-reduced-motion:reduce) {
        html {
            scroll-behavior: auto
        }

        *,
        :before,
        :after {
            transition-duration: .01ms !important;
            animation-duration: .01ms !important;
            animation-iteration-count: 1 !important
        }
    }

    body {
        font-family: var(--font-sans);
        background-color: var(--color-paper);
        color: var(--color-ink-2);
        -webkit-font-smoothing: antialiased;
        font-size: 1rem;
        line-height: 1.62;
        overflow-x: hidden
    }

    h1,
    h2,
    h3,
    h4 {
        font-family: var(--font-sans);
        color: var(--color-ink);
        letter-spacing: -.019em;
        font-weight: 600;
        line-height: 1.15
    }

    p {
        text-wrap: pretty
    }

    :focus-visible {
        outline: 2px solid var(--color-ink);
        outline-offset: 2px
    }

    .on-ink :focus-visible {
        outline-color: var(--color-paper)
    }

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

    .wrap-anywhere {
        overflow-wrap: anywhere;
        min-width: 0
    }
}

@layer components {
    .sheet {
        width: 100%;
        max-width: 72rem;
        margin-inline: auto;
        padding-inline: clamp(1.15rem, .6rem + 2.2vw, 2.25rem)
    }

    .section {
        padding-block: var(--spacing-section)
    }

    .marker {
        font-family: var(--font-mono);
        letter-spacing: .14em;
        text-transform: uppercase;
        color: var(--color-muted-2);
        border-bottom: 1px solid var(--color-ink);
        align-items: baseline;
        gap: .85rem;
        padding-bottom: .7rem;
        font-size: .6875rem;
        font-weight: 500;
        display: flex
    }

    .marker-no {
        color: var(--color-ink)
    }

    .on-ink .marker {
        color: #a8a296;
        border-bottom-color: #55524a
    }

    .on-ink .marker-no {
        color: var(--color-paper)
    }

    .label {
        font-family: var(--font-mono);
        letter-spacing: .13em;
        text-transform: uppercase;
        color: var(--color-muted-2);
        font-size: .6875rem;
        font-weight: 500
    }

    .fig {
        font-family: var(--font-mono);
        font-variant-numeric: tabular-nums;
        font-feature-settings: "tnum" 1, "zero" 1;
        letter-spacing: -.01em
    }

    .btn {
        font-family: var(--font-mono);
        letter-spacing: .09em;
        text-transform: uppercase;
        border: 1px solid var(--color-ink);
        cursor: pointer;
        border-radius: 0;
        justify-content: center;
        align-items: center;
        gap: .6rem;
        min-height: 3rem;
        padding: .9rem 1.5rem;
        font-size: .8125rem;
        font-weight: 500;
        text-decoration: none;
        transition: background-color .16s linear, color .16s linear, border-color .16s linear;
        display: inline-flex
    }

    .btn-solid {
        background: var(--color-ink);
        color: var(--color-paper)
    }

    .btn-solid:hover {
        background: var(--color-credit);
        border-color: var(--color-credit)
    }

    .btn-line {
        color: var(--color-ink);
        background: 0 0
    }

    .btn-line:hover {
        background: var(--color-ink);
        color: var(--color-paper)
    }

    .on-ink .btn-solid {
        background: var(--color-paper);
        color: var(--color-ink);
        border-color: var(--color-paper)
    }

    .on-ink .btn-solid:hover {
        background: #fff;
        border-color: #fff
    }

    .on-ink .btn-line {
        color: var(--color-paper);
        border-color: #6b675d
    }

    .on-ink .btn-line:hover {
        background: var(--color-paper);
        color: var(--color-ink);
        border-color: var(--color-paper)
    }

    .btn:disabled,
    .btn[aria-disabled=true] {
        opacity: .45;
        cursor: not-allowed
    }

    .panel {
        border: 1px solid var(--color-ink);
        background: var(--color-surface)
    }

    .panel-quiet {
        border: 1px solid var(--color-rule-2);
        background: var(--color-surface)
    }

    .panel-inset {
        background: var(--color-paper-2);
        border: 1px solid var(--color-rule)
    }

    .exhibit {
        border: 1px solid var(--color-ink);
        background: var(--color-surface);
        min-width: 0
    }

    .exhibit-cap {
        border-bottom: 1px solid var(--color-ink);
        background: var(--color-paper-2);
        font-family: var(--font-mono);
        letter-spacing: .13em;
        text-transform: uppercase;
        color: var(--color-ink);
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
        padding: .6rem 1rem;
        font-size: .6875rem;
        font-weight: 500;
        display: flex
    }

    .exhibit-body {
        min-width: 0;
        padding: clamp(1rem, .5rem + 2vw, 2rem)
    }

    .ledger {
        border-collapse: collapse;
        width: 100%
    }

    .ledger caption {
        text-align: left
    }

    .ledger th,
    .ledger td {
        border-bottom: 1px solid var(--color-rule);
        text-align: left;
        vertical-align: baseline;
        padding: .85rem 0
    }

    .ledger thead th {
        font-family: var(--font-mono);
        letter-spacing: .13em;
        text-transform: uppercase;
        color: var(--color-muted-2);
        border-bottom-color: var(--color-ink);
        padding-bottom: .6rem;
        font-size: .6875rem;
        font-weight: 500
    }

    .ledger td.num,
    .ledger th.num {
        text-align: right;
        font-family: var(--font-mono);
        font-variant-numeric: tabular-nums;
        font-feature-settings: "tnum" 1;
        white-space: nowrap
    }

    .ledger tbody tr:last-child td,
    .ledger tbody tr:last-child th {
        border-bottom: 0
    }

    .ledger .total td,
    .ledger .total th {
        border-top: 2px solid var(--color-ink);
        color: var(--color-ink);
        border-bottom: 0;
        padding-top: .9rem;
        font-weight: 600
    }

    .leader {
        align-items: baseline;
        gap: .7rem;
        width: 100%;
        display: flex
    }

    .leader-fill {
        border-bottom: 1px dotted var(--color-rule-2);
        flex: auto;
        min-width: 1.5rem;
        transform: translateY(-.3em)
    }

    .stamp {
        font-family: var(--font-mono);
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--color-muted);
        border: 1px solid;
        align-items: center;
        gap: .5rem;
        padding: .4rem .7rem;
        font-size: .6875rem;
        font-weight: 500;
        display: inline-flex
    }

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

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

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

    .bill {
        font-family: var(--font-mono);
        font-variant-numeric: tabular-nums;
        color: var(--color-ink);
        font-size: .8125rem
    }

    .bill-head {
        border-bottom: 2px solid var(--color-ink);
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 1rem;
        padding-bottom: .75rem;
        display: flex
    }

    .bill-sec {
        border-top: 1px solid var(--color-rule);
        margin-top: 1.15rem;
        padding-top: .5rem
    }

    .bill-sec-t {
        letter-spacing: .16em;
        text-transform: uppercase;
        color: var(--color-muted-2);
        font-size: .625rem;
        font-weight: 500
    }

    .bill-row {
        align-items: baseline;
        gap: .75rem;
        padding-block: .4rem;
        display: flex
    }

    .bill-row+.bill-row {
        border-top: 1px dotted var(--color-rule)
    }

    .bill-row .k {
        flex: auto;
        min-width: 0
    }

    .bill-row .v {
        text-align: right;
        white-space: nowrap;
        flex: none
    }

    .bill-total {
        border-top: 2px solid var(--color-ink);
        justify-content: space-between;
        gap: 1rem;
        margin-top: .9rem;
        padding-top: .7rem;
        font-size: .9375rem;
        font-weight: 600;
        display: flex
    }

    .bill-row.flagged {
        background: var(--color-mark-bg);
        box-shadow: 0 0 0 2px var(--color-mark-bg)
    }

    .pin {
        width: 1.25rem;
        height: 1.25rem;
        font-family: var(--font-mono);
        font-variant-numeric: tabular-nums;
        background: var(--color-mark);
        color: #fff;
        border-radius: 0;
        flex: none;
        justify-content: center;
        align-items: center;
        font-size: .6875rem;
        font-weight: 600;
        display: inline-flex
    }

    .pin-lg {
        width: 1.5rem;
        height: 1.5rem;
        font-size: .75rem
    }

    .legend {
        border-top: 1px solid var(--color-ink)
    }

    .legend li {
        border-bottom: 1px solid var(--color-rule);
        gap: .85rem;
        padding-block: .85rem;
        display: flex
    }

    .legend li:last-child {
        border-bottom: 0
    }

    .tilemap-scroll {
        -webkit-overflow-scrolling: touch;
        min-width: 0;
        max-width: 100%;
        overflow-x: auto
    }

    .tilemap {
        grid-template-columns: repeat(11, minmax(0, 1fr));
        gap: 3px;
        min-width: 30rem;
        display: grid
    }

    .tile {
        aspect-ratio: 1;
        font-family: var(--font-mono);
        background: var(--color-paper-3);
        color: var(--color-muted-2);
        border: 1px solid #0000;
        justify-content: center;
        align-items: center;
        font-size: .6875rem;
        font-weight: 500;
        display: flex
    }

    .tile-both {
        background: var(--color-credit);
        color: #fff
    }

    .tile-elec {
        background: var(--color-credit-bg);
        color: var(--color-credit);
        border-color: var(--color-credit)
    }

    .tile-gas {
        background: var(--color-paper-3);
        color: var(--color-ink);
        border-color: var(--color-rule-2)
    }

    .tile-hq {
        background: var(--color-mark);
        color: #fff
    }

    .tile-none {
        color: #0000;
        background: 0 0;
        border-color: #0000
    }

    .key {
        align-items: center;
        gap: .5rem;
        display: flex
    }

    .key-swatch {
        border: 1px solid #0000;
        flex: none;
        width: .85rem;
        height: .85rem
    }

    .flow {
        gap: 0;
        display: grid
    }

    .flow-step {
        border: 1px solid var(--color-rule-2);
        background: var(--color-surface);
        padding: 1.1rem 1rem
    }

    .flow-step.is-changed {
        border: 2px solid var(--color-mark);
        background: var(--color-mark-bg)
    }

    .flow-arrow {
        color: var(--color-rule-2);
        justify-content: center;
        align-items: center;
        padding: .4rem 0;
        display: flex
    }

    @media (min-width:900px) {
        .flow {
            grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
            align-items: stretch
        }

        .flow-arrow {
            padding: 0 .4rem
        }
    }

    .photo {
        border: 1px solid var(--color-rule-2);
        background-color: var(--color-paper-2);
        background-image: repeating-linear-gradient(-45deg, transparent 0 9px, var(--color-rule) 9px 10px);
        position: relative;
        overflow: hidden
    }

    .photo>img {
        object-fit: cover;
        filter: grayscale()contrast(1.06);
        width: 100%;
        height: 100%;
        position: absolute;
        inset: 0
    }

    .photo:has(img) {
        background-image: none
    }

    .photo-note {
        background: var(--color-ink);
        color: var(--color-paper);
        font-family: var(--font-mono);
        letter-spacing: .1em;
        text-transform: uppercase;
        padding: .4rem .6rem;
        font-size: .625rem;
        position: absolute;
        bottom: 0;
        left: 0
    }

    .photo:has(img) .photo-note {
        display: none
    }

    .navlink {
        min-height: 2.75rem;
        font-family: var(--font-mono);
        letter-spacing: .05em;
        color: var(--color-muted);
        border-bottom: 2px solid #0000;
        align-items: center;
        padding-inline: .65rem;
        font-size: .75rem;
        font-weight: 400;
        text-decoration: none;
        transition: color .16s linear, border-color .16s linear;
        display: inline-flex
    }

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

    .navlink[aria-current=true] {
        color: var(--color-ink);
        border-bottom-color: var(--color-mark)
    }

    .mobilelink {
        min-height: 3.25rem;
        font-family: var(--font-mono);
        letter-spacing: .05em;
        color: var(--color-ink);
        border-bottom: 1px solid var(--color-rule);
        justify-content: space-between;
        align-items: center;
        font-size: .875rem;
        text-decoration: none;
        display: flex
    }

    .mobilelink:hover {
        color: var(--color-credit)
    }

    .footlink {
        font-family: var(--font-mono);
        color: #a8a296;
        padding-block: .3rem;
        font-size: .8125rem;
        text-decoration: none;
        transition: color .16s linear;
        display: inline-block
    }

    .footlink:hover {
        color: var(--color-paper);
        text-underline-offset: 3px;
        text-decoration: underline
    }

    .field {
        width: 100%;
        min-height: 3rem;
        font-family: var(--font-sans);
        color: var(--color-ink);
        background: var(--color-surface);
        border: 1px solid var(--color-input-line);
        border-radius: 0;
        padding: .75rem .85rem;
        font-size: 1rem;
        transition: border-color .16s linear, box-shadow .16s linear
    }

    .field::placeholder {
        color: #8a867a
    }

    .field:hover {
        border-color: var(--color-ink-2)
    }

    .field:focus {
        border-color: var(--color-ink);
        box-shadow: inset 0 0 0 1px var(--color-ink);
        outline: none
    }

    .field:focus-visible {
        outline: 2px solid var(--color-ink);
        outline-offset: 2px
    }

    .field[aria-invalid=true] {
        border-color: var(--color-debit);
        background: var(--color-debit-bg)
    }

    .field-label {
        font-family: var(--font-mono);
        letter-spacing: .11em;
        text-transform: uppercase;
        color: var(--color-muted);
        margin-bottom: .35rem;
        font-size: .6875rem;
        font-weight: 500;
        display: block
    }

    .field-error {
        font-family: var(--font-mono);
        color: var(--color-debit);
        margin-top: .35rem;
        font-size: .75rem;
        display: none
    }

    .field-error.is-visible {
        display: block
    }

    .faq-trigger {
        width: 100%;
        min-height: 3.5rem;
        font-family: var(--font-sans);
        text-align: left;
        color: var(--color-ink);
        cursor: pointer;
        background: 0 0;
        border: none;
        justify-content: space-between;
        align-items: baseline;
        gap: 1.5rem;
        padding-block: 1.15rem;
        font-size: 1.0625rem;
        font-weight: 600;
        line-height: 1.4;
        transition: color .16s linear;
        display: flex
    }

    .faq-trigger:hover {
        color: var(--color-credit)
    }

    .faq-sign {
        font-family: var(--font-mono);
        color: var(--color-muted-2);
        flex: none;
        font-size: 1.05rem
    }

    .faq-trigger[aria-expanded=true] .faq-sign {
        color: var(--color-credit)
    }

    .faq-panel {
        overflow: hidden
    }

    .faq-panel p {
        color: var(--color-muted);
        max-width: 66ch;
        padding-bottom: 1.4rem;
        padding-right: 2rem;
        font-size: .9688rem;
        line-height: 1.72
    }

    .rangex {
        appearance: none;
        cursor: pointer;
        background: 0 0;
        width: 100%;
        height: 2.75rem
    }

    .rangex::-webkit-slider-runnable-track {
        background: var(--color-rule-2);
        height: 2px
    }

    .rangex::-moz-range-track {
        background: var(--color-rule-2);
        height: 2px
    }

    .rangex::-moz-range-progress {
        background: var(--color-ink);
        height: 2px
    }

    .rangex::-webkit-slider-thumb {
        appearance: none;
        background: var(--color-ink);
        border: 0;
        border-radius: 0;
        width: 14px;
        height: 26px;
        margin-top: -12px
    }

    .rangex::-moz-range-thumb {
        background: var(--color-ink);
        border: 0;
        border-radius: 0;
        width: 14px;
        height: 26px
    }

    .rangex:focus-visible::-webkit-slider-thumb {
        outline: 2px solid var(--color-mark);
        outline-offset: 2px
    }

    .rangex:focus-visible::-moz-range-thumb {
        outline: 2px solid var(--color-mark);
        outline-offset: 2px
    }

    .prose-legal {
        max-width: 66ch
    }

    .prose-legal h2 {
        margin-top: 2.5rem;
        margin-bottom: .75rem;
        font-size: 1.2rem
    }

    .prose-legal h3 {
        margin-top: 1.6rem;
        margin-bottom: .45rem;
        font-size: 1rem
    }

    .prose-legal p {
        margin-bottom: 1rem;
        line-height: 1.72
    }

    .prose-legal ul {
        margin: 0 0 1.3rem;
        padding-left: 1.25rem;
        list-style: square
    }

    .prose-legal li {
        margin-bottom: .5rem;
        line-height: 1.68
    }

    .prose-legal strong {
        color: var(--color-ink);
        font-weight: 600
    }

    .prose-legal a {
        color: var(--color-credit);
        text-underline-offset: 3px;
        text-decoration: underline
    }
}

@layer utilities {
    .visible {
        visibility: visible
    }

    .absolute {
        position: absolute
    }

    .sticky {
        position: sticky
    }

    .top-0 {
        top: 0
    }

    .z-50 {
        z-index: 50
    }

    .mx-auto {
        margin-inline: auto
    }

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

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

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

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

    .mt-1\.5 {
        margin-top: calc(var(--spacing) * 1.5)
    }

    .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-10 {
        margin-top: calc(var(--spacing) * 10)
    }

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

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

    .\!mb-0 {
        margin-bottom: 0 !important
    }

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

    .block {
        display: block
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .table {
        display: table
    }

    .h-0 {
        height: 0
    }

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

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

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

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

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

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

    .\!min-h-\[2\.6rem\] {
        min-height: 2.6rem !important
    }

    .w-0 {
        width: 0
    }

    .w-5 {
        width: calc(var(--spacing) * 5)
    }

    .w-6 {
        width: calc(var(--spacing) * 6)
    }

    .w-8 {
        width: calc(var(--spacing) * 8)
    }

    .w-9 {
        width: calc(var(--spacing) * 9)
    }

    .w-10 {
        width: calc(var(--spacing) * 10)
    }

    .w-11 {
        width: calc(var(--spacing) * 11)
    }

    .w-full {
        width: 100%
    }

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

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

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

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

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

    .flex-none {
        flex: none
    }

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

    .cursor-pointer {
        cursor: pointer
    }

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

    .flex-col {
        flex-direction: column
    }

    .items-baseline {
        align-items: baseline
    }

    .items-center {
        align-items: center
    }

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

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

    .justify-center {
        justify-content: center
    }

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

    .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-8 {
        gap: calc(var(--spacing) * 8)
    }

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

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

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

    .gap-px {
        gap: 1px
    }

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

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

    .self-start {
        align-self: flex-start
    }

    .overflow-hidden {
        overflow: hidden
    }

    .rounded {
        border-radius: .25rem
    }

    .rounded-none {
        border-radius: 0
    }

    .border {
        border-style: var(--tw-border-style);
        border-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-\[\#3A3833\] {
        border-color: #3a3833
    }

    .border-\[\#55524A\] {
        border-color: #55524a
    }

    .border-debit {
        border-color: var(--color-debit)
    }

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

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

    .border-rule {
        border-color: var(--color-rule)
    }

    .border-rule-2 {
        border-color: var(--color-rule-2)
    }

    .bg-debit-bg {
        background-color: var(--color-debit-bg)
    }

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

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

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

    .bg-rule-2 {
        background-color: var(--color-rule-2)
    }

    .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)
    }

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

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

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

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

    .py-3\.5 {
        padding-block: calc(var(--spacing) * 3.5)
    }

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

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

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

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

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

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

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

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

    .pr-6 {
        padding-right: calc(var(--spacing) * 6)
    }

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

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

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

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

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

    .text-center {
        text-align: center
    }

    .text-right {
        text-align: right
    }

    .text-2xl {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--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-\[0\.72rem\] {
        font-size: .72rem !important
    }

    .text-\[0\.6rem\] {
        font-size: .6rem
    }

    .text-\[0\.7rem\] {
        font-size: .7rem
    }

    .text-\[0\.8rem\] {
        font-size: .8rem
    }

    .text-\[0\.95rem\] {
        font-size: .95rem
    }

    .text-\[0\.98rem\] {
        font-size: .98rem
    }

    .text-\[0\.6875rem\] {
        font-size: .6875rem
    }

    .text-lead {
        font-size: var(--text-lead)
    }

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

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

    .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-tight {
        --tw-tracking: var(--tracking-tight);
        letter-spacing: var(--tracking-tight)
    }

    .wrap-anywhere {
        overflow-wrap: anywhere
    }

    .\!text-credit {
        color: var(--color-credit) !important
    }

    .\!text-debit {
        color: var(--color-debit) !important
    }

    .\!text-ink {
        color: var(--color-ink) !important
    }

    .\!text-mark {
        color: var(--color-mark) !important
    }

    .\!text-muted-2 {
        color: var(--color-muted-2) !important
    }

    .text-\[\#8A867A\] {
        color: #8a867a
    }

    .text-\[\#A8A296\] {
        color: #a8a296
    }

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

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

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

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

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

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

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

    .no-underline {
        text-decoration-line: none
    }

    .underline {
        text-decoration-line: underline
    }

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

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

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

    .ring {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + 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)
    }

    .blur {
        --tw-blur: blur(8px);
        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, )
    }

    .grayscale {
        --tw-grayscale: grayscale(100%);
        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\:text-ink:hover {
            color: var(--color-ink)
        }
    }

    @media not all and (min-width:48rem) {
        .max-md\:rotate-90 {
            rotate: 90deg
        }
    }

    @media not all and (min-width:40rem) {
        .max-sm\:hidden {
            display: none
        }
    }

    @media (min-width:40rem) {
        .sm\:hidden {
            display: none
        }

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

        .sm\:flex-row {
            flex-direction: row
        }

        .sm\:items-center {
            align-items: center
        }

        .sm\:items-end {
            align-items: flex-end
        }

        .sm\:items-start {
            align-items: flex-start
        }

        .sm\:justify-between {
            justify-content: space-between
        }

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

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

    @media (min-width:64rem) {
        .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-\[0\.8fr_1\.2fr\] {
            grid-template-columns: .8fr 1.2fr
        }

        .lg\:grid-cols-\[0\.85fr_1\.15fr\] {
            grid-template-columns: .85fr 1.15fr
        }

        .lg\:grid-cols-\[1\.05fr_0\.95fr\] {
            grid-template-columns: 1.05fr .95fr
        }

        .lg\:grid-cols-\[1\.15fr_1fr\] {
            grid-template-columns: 1.15fr 1fr
        }

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

        .lg\:gap-14 {
            gap: calc(var(--spacing) * 14)
        }

        .lg\:gap-16 {
            gap: calc(var(--spacing) * 16)
        }

        .lg\:pt-24 {
            padding-top: calc(var(--spacing) * 24)
        }

        .lg\:pb-28 {
            padding-bottom: calc(var(--spacing) * 28)
        }
    }

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

        .xl\:hidden {
            display: none
        }
    }

    .text-display {
        font-size: var(--text-display)
    }

    .text-head {
        font-size: var(--text-head)
    }

    .text-lead {
        font-size: var(--text-lead);
        line-height: 1.6
    }

    .rule-t {
        border-top: 1px solid var(--color-rule)
    }

    .rule-b {
        border-bottom: 1px solid var(--color-rule)
    }

    .rule-ink-t {
        border-top: 1px solid var(--color-ink)
    }

    .rule-ink-b {
        border-bottom: 1px solid var(--color-ink)
    }

    .list-sq {
        list-style: square
    }

    .sr-only-focusable:not(:focus):not(:focus-within) {
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        position: absolute;
        overflow: hidden
    }
}

@font-face {
    font-family: IBM Plex Sans;
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url(../fonts/ibm-plex-sans-var.woff2)format("woff2-variations");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: IBM Plex Mono;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../fonts/ibm-plex-mono-400.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: IBM Plex Mono;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../fonts/ibm-plex-mono-500.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@media print {
    @page {
        margin: 16mm
    }

    body {
        color: #000;
        background: #fff;
        font-size: 11pt
    }

    header,
    footer,
    nav,
    form,
    .rangex,
    #menuBtn,
    .no-print {
        display: none !important
    }

    .section {
        padding-block: 1.25rem
    }

    .panel,
    .panel-quiet,
    .exhibit {
        break-inside: avoid;
        border-color: #000
    }

    .photo {
        display: none
    }

    .faq-panel,
    .faq-panel[hidden] {
        height: auto !important;
        display: block !important
    }

    a[href^=http]:after {
        content: " (" attr(href) ")";
        color: #444;
        font-size: 9pt
    }

    [data-fill] {
        background: 0 0;
        border: 0
    }
}

@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
}