/* ==============================================================
   1v.lt — premium-minimal landing system
   Palette: warm paper + ink, engraved-brass accent, coal showroom
   Type: Fraunces (display) + Instrument Sans (body)
   ============================================================== */

.onev {
    --paper: oklch(97.6% 0.005 85);
    --paper-deep: oklch(95.2% 0.007 85);
    --ink: oklch(22% 0.012 75);
    --ink-soft: oklch(44% 0.014 75);
    --ink-faint: oklch(62% 0.012 80);
    --hairline: oklch(87% 0.008 85);
    --brass: oklch(58% 0.085 70);
    --brass-soft: oklch(90% 0.035 80);
    --coal: oklch(18% 0.01 70);
    --coal-2: oklch(24% 0.012 70);
    --paper-on-coal: oklch(94% 0.008 85);
    --free: oklch(52% 0.13 150);
    --taken: oklch(55% 0.17 25);

    --font-display: 'Fraunces', Georgia, serif;
    --font-body: 'Instrument Sans', -apple-system, sans-serif;

    font-family: var(--font-body);
    background: var(--paper);
    color: var(--ink);
    overflow-x: clip;
    margin-top: -1rem;
}

/* Page canvas behind the theme wrapper */
body.index {
    background: oklch(97.6% 0.005 85);
}

.onev ::selection {
    background: var(--brass-soft);
}

/* ============================ Primitives ============================ */

.onev-eyebrow {
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--brass);
    margin-bottom: 1.1rem;
}

.onev-eyebrow-light {
    color: oklch(72% 0.07 75);
}

.onev-display {
    font-family: var(--font-display);
    font-weight: 560;
    font-size: clamp(2.15rem, 6.2vw, 4.6rem);
    line-height: 1.04;
    letter-spacing: -.015em;
    margin: 0 0 1.4rem 0;
    overflow-wrap: break-word;
}

.onev-display-small {
    font-size: clamp(2.1rem, 4.4vw, 3.4rem);
}

.onev-display em {
    font-style: italic;
    font-weight: 430;
}

.onev-heading {
    font-family: var(--font-display);
    font-weight: 560;
    font-size: clamp(1.7rem, 3.4vw, 2.5rem);
    line-height: 1.12;
    letter-spacing: -.01em;
    margin-bottom: 1rem;
}

.onev-lede {
    font-size: clamp(1.02rem, 1.4vw, 1.15rem);
    line-height: 1.65;
    color: var(--ink-soft);
    max-width: 33rem;
    margin-bottom: 2.4rem;
}

.onev-sub {
    font-size: 1.02rem;
    line-height: 1.65;
    color: var(--ink-soft);
    max-width: 34rem;
    margin: 0;
}

.onev-button {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-weight: 600;
    font-size: .98rem;
    padding: .95rem 1.9rem;
    border-radius: 3px;
    text-decoration: none !important;
    transition: background .2s ease, color .2s ease, transform .16s ease;
}

.onev-button-ink {
    background: var(--ink);
    color: var(--paper) !important;
}

.onev-button-ink:hover {
    background: var(--brass);
    transform: translateY(-1px);
}

.onev-button-paper {
    background: var(--paper);
    color: var(--ink) !important;
}

.onev-button-paper:hover {
    background: var(--brass-soft);
}

.onev-button-wide {
    width: 100%;
    justify-content: center;
}

section.onev-section {
    padding: clamp(4.5rem, 9vw, 7.5rem) 0;
}

.onev-section-rule {
    border-top: 1px solid var(--hairline);
}

.onev-section-intro {
    max-width: 40rem;
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

/* ============================ Hero ============================ */

.onev-hero {
    padding: clamp(3rem, 7vw, 6.5rem) 0 clamp(3rem, 6vw, 5rem) 0;
}

.onev-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
}

@media (max-width: 991.98px) {
    .onev-hero-grid {
        grid-template-columns: 1fr;
    }
}

.onev-claim-label {
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-faint);
    margin-bottom: .7rem;
}

.onev-hero-facts {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 1.75rem;
    padding: 0;
    margin: 1.9rem 0 0 0;
    font-size: .875rem;
    color: var(--ink-soft);
}

.onev-hero-facts li::before {
    content: '\2713';
    color: var(--brass);
    font-weight: 700;
    margin-right: .5rem;
}

.onev-hero-photo {
    margin: 0;
    position: relative;
}

.onev-hero-photo::before {
    content: '';
    position: absolute;
    inset: 8% -6% -4% -6%;
    background: radial-gradient(75% 70% at 50% 45%, var(--paper-deep) 0%, transparent 72%);
    z-index: 0;
}

.onev-hero-photo img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 480px;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 34px 50px oklch(20% 0.01 70 / .18));
}

@media (max-width: 991.98px) {
    .onev-hero-photo {
        order: -1;
    }

    .onev-hero-photo img {
        max-width: 330px;
    }
}

/* ============================ Claim bar ============================ */

.onev-claim {
    max-width: 33rem;
}

.onev-claim-bar {
    display: flex;
    align-items: stretch;
    background: #fff;
    border: 1.5px solid var(--ink);
    border-radius: 4px;
    padding: .28rem .28rem .28rem 1.1rem;
    transition: box-shadow .2s ease;
}

.onev-claim-bar:focus-within {
    box-shadow: 0 0 0 4px var(--brass-soft);
}

.onev-claim-prefix {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: .98rem;
    color: var(--ink);
    white-space: nowrap;
}

.onev-claim-input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    font-family: var(--font-body);
    font-weight: 500;
    font-size: .98rem;
    color: var(--ink);
    padding: .7rem .2rem;
}

.onev-claim-input::placeholder {
    color: var(--ink-faint);
    font-weight: 400;
}

.onev-claim-button {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    background: var(--ink);
    color: var(--paper) !important;
    font-weight: 600;
    font-size: .92rem;
    border-radius: 3px;
    padding: .68rem 1.35rem;
    white-space: nowrap;
    text-decoration: none !important;
    transition: background .2s ease;
}

.onev-claim-button:hover {
    background: var(--brass);
}

.onev-claim-arrow {
    transition: transform .2s ease;
}

.onev-claim-button:hover .onev-claim-arrow {
    transform: translateX(3px);
}

.onev-claim-status {
    min-height: 1.5rem;
    font-size: .865rem;
    margin-top: .55rem;
    color: var(--ink-faint);
}

.onev-claim-status.is-free { color: var(--free); }
.onev-claim-status.is-taken { color: var(--taken); }
.onev-claim-status.is-muted { color: var(--ink-faint); }

@media (max-width: 575.98px) {
    .onev-claim-bar {
        flex-wrap: wrap;
        padding: .65rem;
    }

    .onev-claim-prefix {
        padding-left: .3rem;
    }

    .onev-claim-button {
        width: 100%;
        justify-content: center;
        margin-top: .5rem;
        padding: .85rem 1rem;
    }
}

/* ============================ Proof strip ============================ */

.onev-proof {
    border-top: 1px solid var(--hairline);
    border-bottom: 1px solid var(--hairline);
    padding: 1.4rem 0;
    background: color-mix(in oklch, var(--paper-deep) 55%, var(--paper));
}

.onev-proof-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.2rem, 4vw, 3rem);
    flex-wrap: wrap;
}

.onev-proof-item {
    display: flex;
    align-items: baseline;
    gap: .55rem;
    font-size: .9rem;
    color: var(--ink-soft);
    white-space: nowrap;
}

.onev-proof-item strong {
    font-family: var(--font-display);
    font-weight: 560;
    font-size: 1.55rem;
    color: var(--ink);
    letter-spacing: -.01em;
}

.onev-proof-rule {
    width: 1px;
    height: 2rem;
    background: var(--hairline);
}

@media (max-width: 575.98px) {
    .onev-proof-rule { display: none; }

    .onev-proof-row {
        flex-direction: column;
        gap: .5rem;
    }
}

/* ============================ Gallery ============================ */

.onev-gallery {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}

.onev-gallery::-webkit-scrollbar { display: none; }

.onev-gallery-track {
    display: flex;
    gap: clamp(1.25rem, 3vw, 2.5rem);
    padding: 1.5rem max(calc((100vw - 1140px) / 2 + 15px), 2rem) 1rem;
    width: max-content;
}

.onev-shot {
    scroll-snap-align: center;
    margin: 0;
    width: clamp(215px, 24vw, 262px);
    flex-shrink: 0;
}

.onev-shot:nth-child(odd) .onev-shot-frame { transform: rotate(-.7deg); }
.onev-shot:nth-child(even) .onev-shot-frame { transform: rotate(.6deg) translateY(10px); }

.onev-shot-frame {
    border-radius: 22px;
    padding: 9px;
    background: var(--coal);
    box-shadow:
        0 24px 44px -18px oklch(20% 0.01 70 / .38),
        inset 0 0 0 1px oklch(35% 0.01 70);
    transition: transform .35s cubic-bezier(.22, .8, .3, 1);
}

.onev-shot:hover .onev-shot-frame {
    transform: rotate(0deg) translateY(-6px);
}

.onev-shot-frame img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 15px;
}

.onev-shot figcaption {
    margin-top: .95rem;
    padding-left: .35rem;
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.onev-shot figcaption strong {
    font-size: .92rem;
    font-weight: 600;
}

.onev-shot figcaption span {
    font-size: .82rem;
    color: var(--ink-faint);
}

.onev-gallery-note {
    margin: 1.75rem 0 0 0;
    font-size: .875rem;
    color: var(--ink-faint);
}

/* ============================ How it works ============================ */

.onev-how-grid {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: clamp(2rem, 6vw, 5.5rem);
    align-items: start;
}

@media (max-width: 991.98px) {
    .onev-how-grid {
        grid-template-columns: 1fr;
    }
}

.onev-steps {
    list-style: none;
    margin: 0;
    padding: 0;
}

.onev-step {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.6rem;
    padding: 1.6rem 0;
}

.onev-step + .onev-step {
    border-top: 1px solid var(--hairline);
}

.onev-step-numeral {
    font-family: var(--font-display);
    font-weight: 430;
    font-style: italic;
    font-size: 2.6rem;
    line-height: 1;
    color: var(--brass);
    min-width: 2.4rem;
}

.onev-step h3 {
    font-family: var(--font-body);
    font-size: 1.08rem;
    font-weight: 600;
    margin-bottom: .45rem;
}

.onev-step p {
    font-size: .95rem;
    line-height: 1.65;
    color: var(--ink-soft);
    margin: 0;
    max-width: 30rem;
}

/* ============================ Showroom (physical card) ============================ */

.onev-showroom {
    background:
        radial-gradient(120% 90% at 80% 0%, var(--coal-2) 0%, transparent 60%),
        var(--coal);
    color: var(--paper-on-coal);
    padding: clamp(4.5rem, 9vw, 7.5rem) 0;
}

.onev-showroom .onev-heading {
    color: var(--paper-on-coal);
}

.onev-showroom .onev-sub {
    color: oklch(70% 0.012 80);
}

.onev-showroom-grid {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    gap: clamp(2.5rem, 6vw, 5.5rem);
    align-items: center;
}

@media (max-width: 991.98px) {
    .onev-showroom-grid {
        grid-template-columns: 1fr;
    }
}

/* The black card — shared with the card-order generator */
.onev-blackcard {
    position: relative;
    aspect-ratio: 85.6 / 54;
    max-width: 460px;
    border-radius: 14px;
    background:
        radial-gradient(130% 160% at 18% 0%, oklch(28% 0.008 70) 0%, oklch(19% 0.008 70) 48%, oklch(15% 0.006 70) 100%);
    box-shadow:
        0 40px 70px -25px oklch(10% 0.01 70 / .8),
        inset 0 1px 0 oklch(38% 0.01 70 / .5),
        inset 0 -1px 0 oklch(8% 0.005 70);
    margin: 0 auto;
    transform: rotate(-3deg);
}

.onev-blackcard::after {
    /* brushed sheen */
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(115deg, transparent 30%, oklch(100% 0 0 / .045) 45%, transparent 60%);
    pointer-events: none;
}

.onev-blackcard-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--font-display);
    font-weight: 560;
    font-size: clamp(3.4rem, 9vw, 5.2rem);
    letter-spacing: .02em;
    color: oklch(13% 0.006 70);
    text-shadow:
        0 1px 1px oklch(34% 0.01 70 / .9),
        0 -1px 1px oklch(6% 0.005 70);
}

.onev-blackcard-chip {
    position: absolute;
    right: 7%;
    bottom: 9%;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1.5px solid oklch(36% 0.01 70);
    opacity: .75;
}

.onev-blackcard-chip::before,
.onev-blackcard-chip::after {
    content: '';
    position: absolute;
    inset: 5px;
    border-radius: 50%;
    border: 1.5px solid oklch(36% 0.01 70);
}

.onev-blackcard-chip::after {
    inset: 10px;
}

.onev-blackcard-caption {
    text-align: center;
    font-size: .82rem;
    color: oklch(58% 0.012 80);
    margin: 1.9rem 0 0 0;
}

.onev-specs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem 2rem;
    margin: 2.2rem 0 0 0;
}

@media (max-width: 575.98px) {
    .onev-specs {
        grid-template-columns: 1fr;
    }
}

.onev-specs dt {
    font-size: .95rem;
    font-weight: 600;
    color: var(--paper-on-coal);
    margin-bottom: .3rem;
}

.onev-specs dd {
    font-size: .875rem;
    line-height: 1.6;
    color: oklch(66% 0.012 80);
    margin: 0;
}

/* ============================ Wallet + self-service ============================ */

.onev-wallet-grid {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: clamp(2rem, 6vw, 5.5rem);
    align-items: start;
}

@media (max-width: 991.98px) {
    .onev-wallet-grid {
        grid-template-columns: 1fr;
    }
}

.onev-wallet-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.5rem 0;
}

.onev-wallet-item + .onev-wallet-item {
    border-top: 1px solid var(--hairline);
}

@media (max-width: 575.98px) {
    .onev-wallet-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
}

.onev-wallet-item-copy h3 {
    font-family: var(--font-body);
    font-size: 1.08rem;
    font-weight: 600;
    margin-bottom: .45rem;
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}

.onev-wallet-item-copy p {
    font-size: .95rem;
    line-height: 1.65;
    color: var(--ink-soft);
    margin: 0;
    max-width: 26rem;
}

.onev-soon {
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--brass);
    border: 1px solid var(--brass);
    border-radius: 100px;
    padding: .18rem .6rem;
}

/* "Add to wallet" pill (illustrative) */
.onev-wallet-pill {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    background: var(--coal);
    color: var(--paper-on-coal);
    font-size: .85rem;
    font-weight: 500;
    border-radius: 100px;
    padding: .6rem 1.15rem;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 12px 24px -14px oklch(20% 0.01 70 / .5);
}

.onev-wallet-pill-muted {
    opacity: .45;
    filter: grayscale(1);
}

.onev-wallet-glyph {
    position: relative;
    width: 22px;
    height: 17px;
    flex-shrink: 0;
}

.onev-wallet-glyph i {
    position: absolute;
    left: 0;
    right: 0;
    height: 8px;
    border-radius: 4px 4px 3px 3px;
}

.onev-wallet-glyph i:nth-child(1) { top: 0; background: #78848e; }
.onev-wallet-glyph i:nth-child(2) { top: 3px; background: #ea4335; }
.onev-wallet-glyph i:nth-child(3) { top: 6px; background: #fbbc04; }
.onev-wallet-glyph i:nth-child(4) { top: 9px; height: 8px; border-radius: 4px; background: #4285f4; }

.onev-wallet-glyph-mono i:nth-child(1) { background: oklch(55% 0.01 80); }
.onev-wallet-glyph-mono i:nth-child(2) { background: oklch(65% 0.01 80); }
.onev-wallet-glyph-mono i:nth-child(3) { background: oklch(75% 0.01 80); }
.onev-wallet-glyph-mono i:nth-child(4) { background: oklch(85% 0.01 80); }

.onev-wallet-stats {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .onev-wallet-stats { align-items: flex-start; }
}

.onev-wallet-stats strong {
    font-family: var(--font-display);
    font-weight: 560;
    font-size: 1.7rem;
    letter-spacing: -.01em;
}

.onev-wallet-stats span {
    font-size: .82rem;
    color: var(--ink-faint);
}

/* ============================ Included list ============================ */

.onev-included-grid {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: clamp(2rem, 6vw, 5.5rem);
    align-items: start;
}

@media (max-width: 991.98px) {
    .onev-included-grid {
        grid-template-columns: 1fr;
    }
}

.onev-included-list {
    list-style: none;
    margin: 0;
    padding: 0;
    columns: 2;
    column-gap: 2.5rem;
}

@media (max-width: 767.98px) {
    .onev-included-list {
        columns: 1;
    }
}

.onev-included-list li {
    break-inside: avoid;
    padding: 1.05rem 0;
    border-bottom: 1px solid var(--hairline);
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.onev-included-list strong {
    font-size: .98rem;
    font-weight: 600;
}

.onev-included-list strong::before {
    content: '\2713\0020';
    color: var(--brass);
}

.onev-included-list span {
    font-size: .875rem;
    line-height: 1.6;
    color: var(--ink-soft);
}

/* ============================ Testimonials ============================ */

.onev-quotes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1.5rem, 3vw, 3rem);
}

@media (max-width: 991.98px) {
    .onev-quotes {
        grid-template-columns: 1fr;
    }
}

.onev-quote {
    margin: 0;
    border-left: 2px solid var(--brass);
    padding-left: 1.4rem;
}

.onev-quote p {
    font-family: var(--font-display);
    font-weight: 430;
    font-size: 1.1rem;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.onev-quote footer {
    font-size: .875rem;
    display: flex;
    flex-direction: column;
}

.onev-quote footer span {
    color: var(--ink-faint);
}

/* ============================ Pricing ============================ */

.onev-pricing-grid {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(2.5rem, 6vw, 5.5rem);
    align-items: center;
}

@media (max-width: 991.98px) {
    .onev-pricing-grid {
        grid-template-columns: 1fr;
    }
}

.onev-pricing-includes {
    list-style: none;
    margin: 1.9rem 0 0 0;
    padding: 0;
}

.onev-pricing-includes li {
    padding: .55rem 0;
    font-size: .95rem;
    color: var(--ink-soft);
}

.onev-pricing-includes li::before {
    content: '\2713';
    color: var(--brass);
    font-weight: 700;
    margin-right: .7rem;
}

.onev-price-card {
    background: #fff;
    border: 1.5px solid var(--ink);
    border-radius: 6px;
    padding: clamp(1.9rem, 3.5vw, 2.75rem);
    box-shadow: 10px 10px 0 var(--paper-deep);
}

.onev-price-plan {
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--brass);
    margin-bottom: 1.4rem;
}

.onev-price-figure {
    display: flex;
    align-items: baseline;
    gap: .7rem;
    margin-bottom: .35rem;
}

.onev-price-number {
    font-family: var(--font-display);
    font-weight: 560;
    font-size: clamp(3rem, 6vw, 4.2rem);
    line-height: 1;
    letter-spacing: -.02em;
}

.onev-price-period {
    font-size: 1rem;
    color: var(--ink-soft);
}

.onev-price-alt {
    font-size: .92rem;
    color: var(--ink-soft);
    margin-bottom: 1.9rem;
}

.onev-price-note {
    font-size: .82rem;
    color: var(--ink-faint);
    margin: 1rem 0 0 0;
    text-align: center;
}

/* ============================ FAQ ============================ */

.onev-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
}

@media (max-width: 991.98px) {
    .onev-faq-grid {
        grid-template-columns: 1fr;
    }
}

.onev-faq-item {
    border-bottom: 1px solid var(--hairline);
}

.onev-faq-item:first-child {
    border-top: 1px solid var(--hairline);
}

.onev-faq-question {
    margin: 0;
}

.onev-faq-question button {
    font-family: var(--font-body);
    font-size: 1.02rem;
    font-weight: 600;
    color: var(--ink);
    padding: 1.15rem 0;
    box-shadow: none !important;
}

.onev-faq-marker {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 430;
    color: var(--brass);
    line-height: 1;
    transition: transform .25s ease;
}

.onev-faq-marker.is-open {
    transform: rotate(45deg);
}

.onev-faq-answer {
    color: var(--ink-soft);
    font-size: .95rem;
    line-height: 1.7;
    padding-bottom: 1.3rem;
    max-width: 42rem;
}

/* ============================ Final CTA ============================ */

.onev-final {
    background: var(--coal);
    color: var(--paper-on-coal);
    padding: clamp(4.5rem, 9vw, 7rem) 0;
}

.onev-final-inner {
    max-width: 40rem;
}

.onev-final .onev-display {
    color: var(--paper-on-coal);
}

.onev-final-sub {
    font-size: 1.05rem;
    color: oklch(68% 0.012 80);
    margin-bottom: 2.2rem;
    max-width: 30rem;
}

.onev-final-claim .onev-claim-bar {
    border-color: transparent;
}

.onev-final-claim .onev-claim-status.is-muted {
    color: oklch(62% 0.012 80);
}

.onev-final-claim .onev-claim-status.is-free {
    color: oklch(72% 0.13 150);
}

.onev-final-claim .onev-claim-status.is-taken {
    color: oklch(70% 0.15 25);
}

/* ============================ Reveal ============================ */

.onev-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .65s cubic-bezier(.22, .8, .3, 1), transform .65s cubic-bezier(.22, .8, .3, 1);
}

.onev-reveal-in {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .onev-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ============================ Dark theme adjustments ============================ */

[data-theme-style='dark'] .onev {
    --paper: oklch(21% 0.008 75);
    --paper-deep: oklch(26% 0.009 75);
    --ink: oklch(93% 0.008 85);
    --ink-soft: oklch(72% 0.01 85);
    --ink-faint: oklch(56% 0.01 85);
    --hairline: oklch(32% 0.008 75);
    --brass-soft: oklch(34% 0.04 75);
}

[data-theme-style='dark'] body.index {
    background: oklch(21% 0.008 75);
}

[data-theme-style='dark'] .onev-claim-bar,
[data-theme-style='dark'] .onev-price-card {
    background: oklch(25% 0.009 75);
}

[data-theme-style='dark'] .onev-claim-button,
[data-theme-style='dark'] .onev-button-ink {
    background: oklch(93% 0.008 85);
    color: oklch(21% 0.008 75) !important;
}

[data-theme-style='dark'] .onev-claim-button:hover,
[data-theme-style='dark'] .onev-button-ink:hover {
    background: var(--brass);
    color: oklch(97% 0.005 85) !important;
}
