@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
    --bg: #111210;
    --panel: #1b1d19;
    --text: #f4f5ef;
    --muted: #999e94;
    --green: #c7f36b;
    --line: #34372f
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: 'DM Sans', sans-serif
}

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

.wrap {
    width: min(1320px, calc(100% - 96px));
    margin: auto
}

.notice {
    text-align: center;
    background: #c7f36b;
    color: #202718;
    font-size: 11px;
    letter-spacing: .09em;
    font-weight: 700;
    padding: 9px
}

.notice span {
    padding: 0 8px
}

.header {
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line)
}

.logo {
    font: 700 36px 'Space Grotesk', sans-serif;
    letter-spacing: -3px
}

.logo span {
    color: var(--green);
    font-size: 21px;
    vertical-align: top;
    margin-left: 3px
}

.header nav {
    display: flex;
    gap: 36px;
    color: #c1c4bb;
    font-size: 13px
}

.header nav a:hover,
.text-link:hover {
    color: var(--green)
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 44px;
    background: var(--green);
    color: #171d10;
    border-radius: 5px;
    padding: 18px 21px;
    font-weight: 700;
    font-size: 13px
}

.button span {
    font-size: 17px
}

.button:hover {
    background: #ddff9c
}

.button-small {
    padding: 13px 17px;
    gap: 24px
}

.hero {
    min-height: 640px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 40px
}

.hero-copy {
    padding: 90px 0
}

.eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
    color: #c4cabe;
    display: flex;
    align-items: center;
    gap: 9px
}

.dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--green);
    display: inline-block;
    box-shadow: 0 0 12px #c7f36b
}

.hero h1,
h2 {
    font-family: 'Space Grotesk', sans-serif;
    letter-spacing: -.065em;
    line-height: 1.02;
    font-weight: 600
}

.hero h1 {
    font-size: clamp(55px, 6vw, 88px);
    margin: 29px 0
}

.hero h1 em,
h2 em {
    font-style: normal;
    color: var(--green)
}

.hero-copy>p,
.section-head>p,
.section-intro {
    color: #a9aea3;
    font-size: 16px;
    line-height: 1.7;
    max-width: 470px
}

.actions {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 35px
}

.text-link {
    font-size: 13px;
    font-weight: 700
}

.text-link span {
    margin-left: 10px
}

.hero-note {
    border-top: 1px solid var(--line);
    margin-top: 75px;
    padding-top: 20px;
    color: #93998d;
    font-size: 12px
}

.hero-note span {
    color: var(--green);
    font-size: 20px;
    vertical-align: middle;
    margin-right: 8px
}

.hero-art {
    height: 500px;
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: radial-gradient(ellipse, #343e23 0%, #1a1e17 35%, transparent 70%)
}

.orbit {
    position: absolute;
    border: 1px solid #596c3a;
    border-radius: 50%;
    transform: rotate(-24deg)
}

.orbit-one {
    width: 430px;
    height: 270px
}

.orbit-two {
    width: 510px;
    height: 330px
}

.orbit-three {
    width: 590px;
    height: 390px
}

.coin {
    height: 245px;
    width: 245px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #e2ffaf, #93bf43 53%, #d3f78b);
    box-shadow: 0 0 80px #a5d65039, 12px 15px 0 #6e8f37, 16px 20px 40px #0008;
    transform: rotate(-15deg)
}

.coin-inner {
    width: 205px;
    height: 205px;
    border: 1px solid #6a8c3a;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #263719;
    font: 700 145px 'Space Grotesk';
    letter-spacing: -15px;
    padding-bottom: 18px
}

.coin-inner span {
    font-size: 45px;
    align-self: center;
    margin: 0 0 50px 2px
}

.art-label {
    position: absolute;
    font-size: 9px;
    letter-spacing: .12em;
    color: #b8c6a7
}

.label-one {
    top: 70px;
    right: 30px
}

.label-one span {
    color: var(--green);
    padding-left: 15px
}

.label-two {
    bottom: 70px;
    left: 25px
}

.label-two .dot {
    margin-right: 8px
}

.cross {
    position: absolute;
    color: #b5de79;
    font-size: 25px
}

.cross-one {
    top: 110px;
    left: 65px
}

.cross-two {
    bottom: 90px;
    right: 65px
}

.ticker {
    border-block: 1px solid var(--line);
    background: #171a14
}

.ticker-inner {
    min-height: 65px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #a7afa0;
    font-size: 10px;
    letter-spacing: .16em;
    font-weight: 700
}

.ticker-inner span:nth-child(even) {
    font-size: 18px;
    color: var(--green)
}

.section {
    padding-top: 130px;
    padding-bottom: 130px
}

.section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 40px;
    margin-bottom: 55px
}

h2 {
    font-size: clamp(44px, 5vw, 68px);
    margin: 24px 0 0
}

.section-head>p {
    max-width: 370px;
    margin-bottom: 4px;
    font-size: 14px
}

.cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px
}

.card {
    background: var(--panel);
    border: 1px solid #2c3028;
    padding: 26px;
    min-height: 315px;
    display: flex;
    flex-direction: column
}

.card-top {
    display: flex;
    justify-content: space-between;
    color: #899083;
    letter-spacing: .13em;
    font-size: 10px
}

.card-top span:last-child {
    font-size: 17px;
    color: var(--green)
}

.card-icon {
    font-size: 48px;
    color: var(--green);
    margin: 30px 0 20px
}

.card h3,
.steps h3 {
    font-family: 'Space Grotesk';
    font-size: 21px;
    letter-spacing: -.03em;
    margin: 0
}

.card p,
.steps p {
    color: #9fa59a;
    font-size: 13px;
    line-height: 1.7
}

.card-status {
    font-size: 9px;
    letter-spacing: .12em;
    color: #c7f36b;
    margin-top: auto;
    padding-top: 20px
}

.steps-section {
    background: #1b1e18;
    padding: 130px 0
}

.steps-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px
}

.section-intro {
    font-size: 14px;
    margin: 25px 0
}

.date-box {
    border: 1px solid #40483a;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 340px;
    margin-top: 40px
}

.date-box span,
.date-box small {
    color: #a4ad9b;
    font-size: 10px;
    letter-spacing: .08em
}

.date-box strong {
    font-family: 'Space Grotesk';
    font-size: 20px
}

.steps article {
    border-bottom: 1px solid #3a3e35;
    padding: 29px 0;
    display: grid;
    grid-template-columns: 48px 1fr 20px;
    gap: 15px
}

.steps article:first-child {
    border-top: 1px solid #3a3e35
}

.steps article>span {
    color: var(--green);
    font-size: 12px
}

.steps article b {
    color: var(--green)
}

.steps p {
    margin-bottom: 0
}

.faq-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px
}

.faqs details {
    border-bottom: 1px solid var(--line);
    padding: 22px 0
}

.faqs details:first-child {
    border-top: 1px solid var(--line)
}

.faqs summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    font-weight: 600;
    font-size: 15px
}

.faqs summary::-webkit-details-marker {
    display: none
}

.faqs summary span {
    color: var(--green);
    font-size: 20px
}

.faqs p {
    color: #a9aea3;
    font-size: 13px;
    line-height: 1.7
}

.cta {
    position: relative;
    overflow: hidden;
    background: var(--green);
    color: #1b2514;
    padding: 65px
}

.cta .eyebrow {
    color: #3f542d
}

.dark-dot {
    background: #344e20;
    box-shadow: none
}

.cta h2 {
    font-size: clamp(44px, 5vw, 68px)
}

.cta p {
    color: #4b5b3c;
    font-size: 14px;
    margin: 25px 0
}

.dark-button {
    background: #1b2117;
    color: white
}

.dark-button:hover {
    background: #35442b
}

.cta-star {
    position: absolute;
    right: 8%;
    top: 0;
    color: #b5e75a;
    font-size: 300px;
    line-height: 1
}

.footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 50px;
    padding-bottom: 50px;
    color: #858d80;
    font-size: 11px
}

.footer .logo {
    color: white
}

@media(max-width:800px) {
    .wrap {
        width: calc(100% - 40px)
    }

    .header {
        height: 75px
    }

    .header nav {
        display: none
    }

    .hero {
        grid-template-columns: 1fr;
        gap: 0
    }

    .hero-copy {
        padding: 70px 0 10px
    }

    .hero-art {
        height: 370px
    }

    .hero-note {
        margin-top: 45px
    }

    .orbit-one {
        width: 330px;
        height: 210px
    }

    .orbit-two {
        width: 400px;
        height: 270px
    }

    .orbit-three {
        width: 470px;
        height: 320px
    }

    .coin {
        width: 190px;
        height: 190px
    }

    .coin-inner {
        width: 160px;
        height: 160px;
        font-size: 110px
    }

    .coin-inner span {
        font-size: 35px
    }

    .ticker-inner span:last-child,
    .ticker-inner span:nth-last-child(2) {
        display: none
    }

    .section,
    .steps-section {
        padding-top: 80px;
        padding-bottom: 80px
    }

    .section-head {
        display: block
    }

    .section-head>p {
        margin-top: 25px
    }

    .cards {
        grid-template-columns: 1fr
    }

    .card {
        min-height: 260px
    }

    .steps-layout,
    .faq-section {
        grid-template-columns: 1fr;
        gap: 50px
    }

    .cta {
        padding: 45px 25px
    }

    .cta-star {
        font-size: 180px;
        right: -30px;
        top: 20px;
        opacity: .5
    }

    .cta>*:not(.cta-star) {
        position: relative;
        z-index: 1
    }

    .footer {
        gap: 20px;
        flex-wrap: wrap
    }

    .footer p {
        width: 100%;
        order: 3
    }

    .actions {
        gap: 18px
    }

    .button {
        gap: 20px
    }
}

/* Landing-page styling based on PROPR's public site. */
:root {
    --bg: #09090b;
    --panel: #18181b;
    --text: #fafafa;
    --muted: #a1a1aa;
    --green: #34d399;
    --line: #27272a
}

body {
    font-family: Arial, sans-serif;
    background: #09090b
}

.notice {
    background: #18181b;
    color: #a1a1aa;
    border-bottom: 1px solid #27272a
}

.header {
    height: 64px;
    border: 0
}

.logo img {
    display: block;
    width: auto;
    height: 28px;
    letter-spacing: 0
}

.header nav {
    font-size: 15px;
    color: #fafafa
}

.button {
    background: #fafafa;
    color: #09090b;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    justify-content: center;
    min-width: 200px;
    padding: 14px 24px
}

.button:hover {
    background: #e4e4e7
}

.button-small {
    min-width: auto;
    padding: 10px 20px
}

.hero {
    min-height: 650px;
    display: flex;
    justify-content: center;
    text-align: center;
    background: radial-gradient(ellipse at 50% 100%, #143c32 0%, #09090b 55%)
}

.hero-copy {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 75px 0 85px
}

.hero-copy>.eyebrow {
    border: 1px solid #ffffff25;
    border-radius: 100px;
    padding: 10px 16px;
    letter-spacing: .06em;
    color: #d4d4d8
}

.hero h1,
h2 {
    font-family: 'Instrument Serif', Georgia, serif;
    letter-spacing: -.025em;
    font-weight: 400
}

.hero h1 {
    font-size: clamp(54px, 7vw, 92px);
    line-height: 1.02;
    margin: 30px 0 20px
}

.hero h1 em,
h2 em {
    color: inherit
}

.hero-copy>p {
    max-width: 600px;
    color: #bcbcc2;
    font-size: 18px
}

.hero-art,
.hero-note {
    display: none
}

.actions {
    justify-content: center;
    margin-top: 28px;
    gap: 18px
}

.actions .button span {
    display: none
}

.text-link {
    border: 1px solid #ffffff3d;
    border-radius: 8px;
    padding: 14px 24px;
    min-width: 200px;
    font-size: 15px
}

.text-link span {
    display: none
}

.partners {
    margin-top: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 32px;
    color: #85858c;
    font-size: 14px
}

.partners div {
    display: flex;
    align-items: center;
    gap: 12px
}

.partners img {
    height: 24px;
    max-width: 125px;
    object-fit: contain
}

.ticker {
    background: #101012
}

.ticker-inner {
    color: #a1a1aa
}

.card,
.date-box {
    border-radius: 12px
}

.card-icon {
    color: #34d399
}

.card h3,
.steps h3 {
    font-family: Arial, sans-serif;
    letter-spacing: -.02em
}

.steps-section {
    background: #111113
}

.cta {
    background: #e4e4e7;
    color: #09090b;
    border-radius: 16px
}

.cta .eyebrow,
.cta p {
    color: #52525b
}

.cta-star {
    color: #d4d4d8
}

.dark-button {
    background: #09090b;
    color: white
}

.footer .logo img {
    height: 25px
}

.section-head>p,
.section-intro {
    color: #a1a1aa
}

@media(max-width:800px) {
    .hero {
        min-height: 580px
    }

    .hero-copy {
        padding: 75px 0
    }

    .hero h1 {
        font-size: 55px
    }

    .partners {
        gap: 18px
    }

    .partners img {
        max-width: 100px
    }

    .actions {
        flex-wrap: wrap
    }

    .cta-star {
        color: #d4d4d8
    }
}